summaryrefslogtreecommitdiff
path: root/asm/code_800D090.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/code_800D090.s')
-rw-r--r--asm/code_800D090.s317695
1 files changed, 0 insertions, 317695 deletions
diff --git a/asm/code_800D090.s b/asm/code_800D090.s
index 113a779..583fe83 100644
--- a/asm/code_800D090.s
+++ b/asm/code_800D090.s
@@ -10046,317699 +10046,4 @@ _08011C14: .4byte gUnknown_80D42C0
_08011C18: .4byte gUnknown_80D42D4
thumb_func_end FatalError
- thumb_func_start sub_8011C1C
-sub_8011C1C:
- ldr r0, _08011C24
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08011C24: .4byte gUnknown_203B17C
- thumb_func_end sub_8011C1C
-
- thumb_func_start sub_8011C28
-sub_8011C28:
- ldr r1, _08011C30
- str r0, [r1]
- bx lr
- .align 2, 0
-_08011C30: .4byte gUnknown_203B17C
- thumb_func_end sub_8011C28
-
- thumb_func_start sub_8011C34
-sub_8011C34:
- ldr r0, _08011C3C
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08011C3C: .4byte gUnknown_202DE28
- thumb_func_end sub_8011C34
-
- thumb_func_start sub_8011C40
-sub_8011C40:
- ldr r1, _08011C48
- str r0, [r1]
- bx lr
- .align 2, 0
-_08011C48: .4byte gUnknown_202DE28
- thumb_func_end sub_8011C40
-
- thumb_func_start sub_8011C4C
-sub_8011C4C:
- ldr r0, _08011C54
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08011C54: .4byte gUnknown_203B180
- thumb_func_end sub_8011C4C
-
- thumb_func_start sub_8011C58
-sub_8011C58:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- lsrs r1, 2
- cmp r1, 0x1
- ble _08011C72
- adds r3, r4, 0x4
- subs r1, 0x1
-_08011C68:
- ldm r3!, {r0}
- adds r2, r0
- subs r1, 0x1
- cmp r1, 0
- bne _08011C68
-_08011C72:
- str r2, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8011C58
-
- thumb_func_start sub_8011C7C
-sub_8011C7C:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- lsrs r1, 2
- cmp r1, 0x1
- ble _08011C96
- adds r3, r4, 0x4
- subs r1, 0x1
-_08011C8C:
- ldm r3!, {r0}
- adds r2, r0
- subs r1, 0x1
- cmp r1, 0
- bne _08011C8C
-_08011C96:
- ldr r0, [r4]
- cmp r0, r2
- bne _08011CA0
- movs r0, 0
- b _08011CA2
-_08011CA0:
- movs r0, 0x1
-_08011CA2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8011C7C
-
- thumb_func_start sub_8011CA8
-sub_8011CA8:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _08011CCC
- ldr r0, [r0]
- ldr r0, _08011CD0
- adds r1, r2, r0
- cmp r1, 0
- bge _08011CBE
- ldr r0, _08011CD4
- adds r1, r2, r0
-_08011CBE:
- asrs r1, 12
- ldr r0, [r3]
- adds r0, r1
- str r0, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_08011CCC: .4byte gUnknown_203B184
-_08011CD0: .4byte 0x00000fff
-_08011CD4: .4byte 0x00001ffe
- thumb_func_end sub_8011CA8
-
- thumb_func_start sub_8011CD8
-sub_8011CD8:
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r6, [r0]
- adds r1, r4, 0
- bl sub_8011CA8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8011C58
- ldr r0, _08011D04
- ldr r0, [r0]
- cmp r0, 0
- bne _08011D08
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl WriteFlashData
- adds r1, r0, 0
- b _08011D28
- .align 2, 0
-_08011D04: .4byte gUnknown_203B184
-_08011D08:
- bl sub_800DAB8
- lsls r0, 24
- cmp r0, 0
- beq _08011D38
- lsls r0, r6, 16
- lsrs r0, 16
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_800DAB4
- lsls r0, 24
- movs r1, 0
- cmp r0, 0
- bne _08011D28
- movs r1, 0x3
-_08011D28:
- cmp r1, 0x4
- bne _08011D30
- movs r0, 0x1
- b _08011D3A
-_08011D30:
- cmp r1, 0
- bne _08011D38
- movs r0, 0
- b _08011D3A
-_08011D38:
- movs r0, 0x2
-_08011D3A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8011CD8
-
- thumb_func_start sub_8011D40
-sub_8011D40:
- push {r4-r6,lr}
- adds r5, r1, 0
- adds r4, r2, 0
- ldr r6, [r0]
- adds r1, r4, 0
- bl sub_8011CA8
- ldr r0, _08011D64
- ldr r0, [r0]
- cmp r0, 0
- bne _08011D68
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl ReadFlashData
- adds r1, r0, 0
- b _08011D86
- .align 2, 0
-_08011D64: .4byte gUnknown_203B184
-_08011D68:
- bl sub_800DAB8
- lsls r0, 24
- cmp r0, 0
- beq _08011D8A
- lsls r0, r6, 16
- lsrs r0, 16
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_800DAB0
- lsls r0, 24
- movs r1, 0
- cmp r0, 0
- beq _08011D8A
-_08011D86:
- cmp r1, 0
- beq _08011D8E
-_08011D8A:
- movs r0, 0x1
- b _08011DA2
-_08011D8E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8011C7C
- lsls r0, 24
- cmp r0, 0
- bne _08011DA0
- movs r0, 0
- b _08011DA2
-_08011DA0:
- movs r0, 0x2
-_08011DA2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8011D40
-
- thumb_func_start sub_8011DA8
-sub_8011DA8:
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8011DA8
-
- thumb_func_start sub_8011DAC
-sub_8011DAC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, _08011DE4
- mov r8, r0
- movs r1, 0x5
- bl MemoryAlloc
- adds r5, r0, 0
- movs r1, 0x89
- lsls r1, 3
- adds r4, r5, r1
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_8011D40
- adds r7, r0, 0
- cmp r7, 0
- beq _08011DE8
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_8011D40
- adds r7, r0, 0
- b _08011DF0
- .align 2, 0
-_08011DE4: .4byte 0x000057d4
-_08011DE8:
- adds r0, r6, 0
- mov r1, r8
- bl sub_8011CA8
-_08011DF0:
- cmp r7, 0
- beq _08011DF6
- b _08011F6E
-_08011DF6:
- ldr r2, _08011E38
- adds r0, r5, r2
- ldr r1, [r0]
- ldr r0, _08011E3C
- cmp r1, r0
- beq _08011E04
- movs r7, 0x4
-_08011E04:
- cmp r7, 0
- beq _08011E0A
- b _08011F6E
-_08011E0A:
- ldr r0, _08011E40
- ldr r1, [r0]
- cmp r1, 0
- bne _08011E48
- ldr r1, _08011E44
- adds r0, r5, r1
- ldr r0, [r0]
- bl sub_8011C28
- movs r2, 0x83
- lsls r2, 3
- adds r0, r5, r2
- ldr r0, [r0]
- bl sub_8011C40
- movs r1, 0x84
- lsls r1, 3
- adds r0, r5, r1
- ldr r0, [r0]
- bl SetRngState
- b _08011E60
- .align 2, 0
-_08011E38: .4byte 0x00000414
-_08011E3C: .4byte 0x05071412
-_08011E40: .4byte gUnknown_203B184
-_08011E44: .4byte 0x0000041c
-_08011E48:
- ldr r2, _08011E80
- adds r0, r5, r2
- ldr r0, [r0]
- str r0, [r1, 0x54]
- subs r2, 0x4
- adds r0, r5, r2
- ldr r0, [r0]
- str r0, [r1, 0x50]
- adds r2, 0x8
- adds r0, r5, r2
- ldr r0, [r0]
- str r0, [r1, 0x58]
-_08011E60:
- cmp r7, 0
- beq _08011E66
- b _08011F6E
-_08011E66:
- ldr r0, _08011E84
- ldr r0, [r0]
- cmp r0, 0
- bne _08011E88
- adds r0, r5, 0x4
- bl sub_8002718
- lsls r0, 24
- cmp r0, 0
- bne _08011E94
- movs r7, 0x4
- b _08011F6E
- .align 2, 0
-_08011E80: .4byte 0x0000041c
-_08011E84: .4byte gUnknown_203B184
-_08011E88:
- ldr r0, [r0, 0x4C]
- adds r1, r5, 0x4
- movs r2, 0x80
- lsls r2, 3
- bl MemoryCopy8
-_08011E94:
- cmp r7, 0
- bne _08011F6E
- ldr r6, _08011F80
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_808EE9C
- adds r1, r0, 0
- ldr r2, _08011F84
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011EB0
- movs r7, 0x3
-_08011EB0:
- adds r4, r6
- movs r6, 0x96
- lsls r6, 2
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_808F2B0
- adds r1, r0, 0
- movs r2, 0x85
- lsls r2, 3
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011ECE
- movs r7, 0x3
-_08011ECE:
- adds r4, r6
- movs r6, 0xEC
- lsls r6, 1
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8091D14
- adds r1, r0, 0
- movs r2, 0x86
- lsls r2, 3
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011EEC
- movs r7, 0x3
-_08011EEC:
- adds r4, r6
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_809222C
- adds r1, r0, 0
- ldr r2, _08011F88
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011F04
- movs r7, 0x3
-_08011F04:
- adds r4, 0x10
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_80927F4
- adds r1, r0, 0
- movs r2, 0x87
- lsls r2, 3
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011F1E
- movs r7, 0x3
-_08011F1E:
- adds r4, 0x8
- movs r6, 0x80
- lsls r6, 1
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8097D98
- adds r1, r0, 0
- ldr r2, _08011F8C
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011F3A
- movs r7, 0x3
-_08011F3A:
- adds r4, r6
- ldr r6, _08011F90
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80954CC
- adds r1, r0, 0
- movs r2, 0x88
- lsls r2, 3
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011F56
- movs r7, 0x3
-_08011F56:
- adds r4, r6
- ldr r1, _08011F94
- adds r0, r4, 0
- bl sub_8096FA0
- adds r1, r0, 0
- ldr r2, _08011F98
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r1, r0
- beq _08011F6E
- movs r7, 0x3
-_08011F6E:
- adds r0, r5, 0
- bl MemoryFree
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08011F80: .4byte 0x00004650
-_08011F84: .4byte 0x00000424
-_08011F88: .4byte 0x00000434
-_08011F8C: .4byte 0x0000043c
-_08011F90: .4byte 0x00000594
-_08011F94: .4byte 0x00000221
-_08011F98: .4byte 0x00000444
- thumb_func_end sub_8011DAC
-
- thumb_func_start sub_8011F9C
-sub_8011F9C:
- push {lr}
- bl sub_8011D40
- pop {r1}
- bx r1
- thumb_func_end sub_8011F9C
-
- thumb_func_start sub_8011FA8
-sub_8011FA8:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- movs r1, 0x5
- bl MemoryAlloc
- adds r5, r0, 0
- movs r0, 0x1F
- str r0, [sp]
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8011D40
- adds r2, r0, 0
- cmp r2, 0
- bne _08011FD8
- ldr r1, [r5, 0x14]
- ldr r0, _08011FF0
- cmp r1, r0
- beq _08011FD8
- movs r2, 0x4
-_08011FD8:
- ldr r4, _08011FF4
- cmp r2, 0
- bne _08011FE0
- ldr r4, [r5, 0x18]
-_08011FE0:
- adds r0, r5, 0
- bl MemoryFree
- adds r0, r4, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08011FF0: .4byte 0x05071412
-_08011FF4: .4byte 0x000f1209
- thumb_func_end sub_8011FA8
-
- thumb_func_start sub_8011FF8
-sub_8011FF8:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- movs r1, 0x5
- bl MemoryAlloc
- adds r5, r0, 0
- movs r0, 0x1F
- str r0, [sp]
- movs r6, 0
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8011D40
- cmp r0, 0
- bne _08012028
- ldr r1, [r5, 0x14]
- ldr r0, _08012038
- cmp r1, r0
- bne _08012028
- movs r6, 0x1
-_08012028:
- adds r0, r5, 0
- bl MemoryFree
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08012038: .4byte 0x05071412
- thumb_func_end sub_8011FF8
-
- thumb_func_start sub_801203C
-sub_801203C:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- ldr r0, _08012078
- movs r1, 0x5
- bl MemoryAlloc
- adds r6, r0, 0
- movs r0, 0x89
- lsls r0, 3
- adds r5, r6, r0
- ldr r0, _0801207C
- ldr r2, [r0]
- cmp r2, 0
- bne _08012084
- ldr r1, _08012080
- adds r0, r6, r1
- str r4, [r0]
- bl sub_8011C34
- movs r2, 0x83
- lsls r2, 3
- adds r1, r6, r2
- str r0, [r1]
- bl GetRngState
- movs r2, 0x84
- lsls r2, 3
- adds r1, r6, r2
- b _0801209E
- .align 2, 0
-_08012078: .4byte 0x000057d4
-_0801207C: .4byte gUnknown_203B184
-_08012080: .4byte 0x0000041c
-_08012084:
- ldr r0, _080120C8
- adds r1, r6, r0
- ldr r0, [r2, 0x54]
- str r0, [r1]
- movs r0, 0x83
- lsls r0, 3
- adds r1, r6, r0
- ldr r0, [r2, 0x50]
- str r0, [r1]
- movs r0, 0x84
- lsls r0, 3
- adds r1, r6, r0
- ldr r0, [r2, 0x58]
-_0801209E:
- str r0, [r1]
- ldr r2, _080120CC
- adds r1, r6, r2
- ldr r0, _080120D0
- str r0, [r1]
- bl sub_8011C4C
- adds r1, r0, 0
- ldr r2, _080120D4
- adds r0, r6, r2
- movs r2, 0x10
- bl strncpy
- ldr r0, _080120D8
- ldr r1, [r0]
- cmp r1, 0
- bne _080120DC
- adds r0, r6, 0x4
- bl sub_8002700
- b _080120E8
- .align 2, 0
-_080120C8: .4byte 0x0000041c
-_080120CC: .4byte 0x00000414
-_080120D0: .4byte 0x05071412
-_080120D4: .4byte 0x00000404
-_080120D8: .4byte gUnknown_203B184
-_080120DC:
- adds r0, r6, 0x4
- ldr r1, [r1, 0x4C]
- movs r2, 0x80
- lsls r2, 3
- bl MemoryCopy8
-_080120E8:
- ldr r4, _080121A4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808ED78
- ldr r2, _080121A8
- adds r1, r6, r2
- str r0, [r1]
- adds r5, r4
- movs r4, 0x96
- lsls r4, 2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808F154
- movs r2, 0x85
- lsls r2, 3
- adds r1, r6, r2
- str r0, [r1]
- adds r5, r4
- subs r4, 0x80
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8091C68
- movs r2, 0x86
- lsls r2, 3
- adds r1, r6, r2
- str r0, [r1]
- adds r5, r4
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80921C4
- ldr r2, _080121AC
- adds r1, r6, r2
- str r0, [r1]
- adds r5, 0x10
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_80927A8
- movs r2, 0x87
- lsls r2, 3
- adds r1, r6, r2
- str r0, [r1]
- adds r5, 0x8
- subs r4, 0xD8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8097D60
- ldr r2, _080121B0
- adds r1, r6, r2
- str r0, [r1]
- adds r5, r4
- ldr r4, _080121B4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8095624
- movs r2, 0x88
- lsls r2, 3
- adds r1, r6, r2
- str r0, [r1]
- adds r5, r4
- ldr r1, _080121B8
- adds r0, r5, 0
- bl sub_80970D8
- ldr r2, _080121BC
- adds r1, r6, r2
- str r0, [r1]
- ldr r4, _080121C0
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_8011CD8
- adds r5, r0, 0
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_8011CD8
- adds r4, r0, 0
- adds r0, r6, 0
- bl MemoryFree
- cmp r5, 0
- beq _080121C4
- adds r0, r5, 0
- b _080121CE
- .align 2, 0
-_080121A4: .4byte 0x00004650
-_080121A8: .4byte 0x00000424
-_080121AC: .4byte 0x00000434
-_080121B0: .4byte 0x0000043c
-_080121B4: .4byte 0x00000594
-_080121B8: .4byte 0x00000221
-_080121BC: .4byte 0x00000444
-_080121C0: .4byte 0x000057d4
-_080121C4:
- cmp r4, 0
- bne _080121CC
- movs r0, 0
- b _080121CE
-_080121CC:
- adds r0, r4, 0
-_080121CE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801203C
-
- thumb_func_start sub_80121D4
-sub_80121D4:
- push {lr}
- bl sub_8011CD8
- pop {r1}
- bx r1
- thumb_func_end sub_80121D4
-
- thumb_func_start sub_80121E0
-sub_80121E0:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0x80
- lsls r6, 4
- adds r0, r6, 0
- movs r1, 0x5
- bl MemoryAlloc
- adds r4, r0, 0
- movs r0, 0x1F
- str r0, [sp]
- str r5, [r4, 0x18]
- bl sub_809769C
- ldr r0, [r0]
- str r0, [r4, 0x1C]
- ldr r0, _0801223C
- str r0, [r4, 0x14]
- bl sub_8011C4C
- adds r1, r0, 0
- adds r0, r4, 0x4
- movs r2, 0x10
- bl strncpy
- adds r0, r4, 0
- adds r0, 0x20
- movs r1, 0
- bl sub_80958E4
- mov r0, sp
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_8011CD8
- adds r5, r0, 0
- adds r0, r4, 0
- bl MemoryFree
- adds r0, r5, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801223C: .4byte 0x05071412
- thumb_func_end sub_80121E0
-
- thumb_func_start sub_8012240
-sub_8012240:
- push {r4,r5,lr}
- movs r4, 0x80
- lsls r4, 4
- adds r0, r4, 0
- movs r1, 0x5
- bl MemoryAlloc
- adds r5, r0, 0
- movs r1, 0xFF
- movs r2, 0x4
- bl MemoryFill8
- bl sub_8011830
- movs r0, 0x1F
- adds r1, r5, 0
- adds r2, r4, 0
- bl WriteFlashData
- adds r4, r0, 0
- bl sub_8011854
- adds r0, r5, 0
- bl MemoryFree
- cmp r4, 0
- bne _0801227A
- movs r0, 0
- b _0801227C
-_0801227A:
- movs r0, 0x2
-_0801227C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8012240
-
- thumb_func_start sub_8012284
-sub_8012284:
- push {lr}
- bl sub_80122D0
- bl sub_80122F4
- bl sub_8012300
- pop {r0}
- bx r0
- thumb_func_end sub_8012284
-
- thumb_func_start sub_8012298
-sub_8012298:
- push {lr}
- bl sub_80976A8
- bl sub_80122A8
- pop {r0}
- bx r0
- thumb_func_end sub_8012298
-
- thumb_func_start sub_80122A8
-sub_80122A8:
- push {lr}
- bl sub_80122D0
- bl sub_80122F4
- bl sub_8012300
- bl sub_8012240
- pop {r0}
- bx r0
- thumb_func_end sub_80122A8
-
- thumb_func_start nullsub_33
-nullsub_33:
- bx lr
- thumb_func_end nullsub_33
-
- thumb_func_start sub_80122C4
-sub_80122C4:
- push {lr}
- bl sub_80122A8
- pop {r0}
- bx r0
- thumb_func_end sub_80122C4
-
- thumb_func_start sub_80122D0
-sub_80122D0:
- push {lr}
- movs r0, 0
- bl sub_8011C28
- movs r0, 0x1
- negs r0, r0
- bl sub_8011C40
- bl sub_8097748
- ldr r0, _080122F0
- ldr r0, [r0]
- bl sub_8094FA8
- pop {r0}
- bx r0
- .align 2, 0
-_080122F0: .4byte gUnknown_203B47C
- thumb_func_end sub_80122D0
-
- thumb_func_start sub_80122F4
-sub_80122F4:
- push {lr}
- bl sub_800135C
- pop {r0}
- bx r0
- thumb_func_end sub_80122F4
-
- thumb_func_start sub_8012300
-sub_8012300:
- push {lr}
- bl sub_80923B8
- bl sub_808CE08
- bl sub_80909D8
- bl sub_8092094
- bl sub_80972F4
- bl sub_8095118
- bl sub_8095900
- bl sub_80974E8
- movs r0, 0x1
- bl sub_8094998
- bl sub_8097F74
- pop {r0}
- bx r0
- thumb_func_end sub_8012300
-
- thumb_func_start nullsub_200
-nullsub_200:
- bx lr
- thumb_func_end nullsub_200
-
- thumb_func_start sub_8012334
-sub_8012334:
- push {lr}
- adds r2, r0, 0
- ldr r0, _08012390
- str r2, [r0]
- cmp r2, 0
- beq _080123C8
- ldr r1, _08012394
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _08012398
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, _0801239C
- ldr r0, [r2, 0x8]
- str r0, [r1]
- ldr r1, _080123A0
- ldr r0, [r2, 0xC]
- str r0, [r1]
- ldr r1, _080123A4
- ldr r0, [r2, 0x10]
- str r0, [r1]
- ldr r1, _080123A8
- ldr r0, [r2, 0x14]
- str r0, [r1]
- ldr r1, _080123AC
- ldr r0, [r2, 0x18]
- str r0, [r1]
- ldr r1, _080123B0
- ldr r0, [r2, 0x1C]
- str r0, [r1]
- ldr r1, _080123B4
- ldr r0, [r2, 0x20]
- str r0, [r1]
- ldr r1, _080123B8
- ldr r0, [r2, 0x24]
- str r0, [r1]
- ldr r1, _080123BC
- ldr r0, [r2, 0x28]
- str r0, [r1]
- ldr r1, _080123C0
- ldr r0, [r2, 0x2C]
- str r0, [r1]
- ldr r1, _080123C4
- ldr r0, [r2, 0x30]
- b _0801242E
- .align 2, 0
-_08012390: .4byte gUnknown_203B184
-_08012394: .4byte gUnknown_203B460
-_08012398: .4byte gUnknown_203B45C
-_0801239C: .4byte gUnknown_203B480
-_080123A0: .4byte gUnknown_203B484
-_080123A4: .4byte gUnknown_203B488
-_080123A8: .4byte gUnknown_203B48C
-_080123AC: .4byte gUnknown_203B490
-_080123B0: .4byte gUnknown_203B464
-_080123B4: .4byte gUnknown_203B494
-_080123B8: .4byte gUnknown_203B498
-_080123BC: .4byte gUnknown_203B468
-_080123C0: .4byte gUnknown_203B46C
-_080123C4: .4byte gUnknown_203B47C
-_080123C8:
- bl sub_80909D0
- ldr r1, _08012434
- str r0, [r1]
- bl sub_808CE00
- ldr r1, _08012438
- str r0, [r1]
- bl sub_80950F8
- ldr r1, _0801243C
- str r0, [r1]
- bl sub_8095100
- ldr r1, _08012440
- str r0, [r1]
- bl sub_8095108
- ldr r1, _08012444
- str r0, [r1]
- bl sub_8095110
- ldr r1, _08012448
- str r0, [r1]
- bl sub_80958F8
- ldr r1, _0801244C
- str r0, [r1]
- bl sub_809208C
- ldr r1, _08012450
- str r0, [r1]
- bl sub_8097680
- ldr r1, _08012454
- str r0, [r1]
- bl sub_8097F6C
- ldr r1, _08012458
- str r0, [r1]
- bl sub_80923B0
- ldr r1, _0801245C
- str r0, [r1]
- bl sub_8094990
- ldr r1, _08012460
- str r0, [r1]
- bl sub_8094FA0
- ldr r1, _08012464
-_0801242E:
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08012434: .4byte gUnknown_203B460
-_08012438: .4byte gUnknown_203B45C
-_0801243C: .4byte gUnknown_203B480
-_08012440: .4byte gUnknown_203B484
-_08012444: .4byte gUnknown_203B488
-_08012448: .4byte gUnknown_203B48C
-_0801244C: .4byte gUnknown_203B490
-_08012450: .4byte gUnknown_203B464
-_08012454: .4byte gUnknown_203B494
-_08012458: .4byte gUnknown_203B498
-_0801245C: .4byte gUnknown_203B468
-_08012460: .4byte gUnknown_203B46C
-_08012464: .4byte gUnknown_203B47C
- thumb_func_end sub_8012334
-
- thumb_func_start sub_8012468
-sub_8012468:
- push {r4,lr}
- ldr r4, _08012480
- movs r0, 0x8
- movs r1, 0x5
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x1
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08012480: .4byte gUnknown_203B188
- thumb_func_end sub_8012468
-
- thumb_func_start sub_8012484
-sub_8012484:
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r1, _080124A0
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bhi _0801254C
- lsls r0, 2
- ldr r1, _080124A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080124A0: .4byte gUnknown_203B188
-_080124A4: .4byte _080124A8
- .align 2, 0
-_080124A8:
- .4byte _080124C4
- .4byte _080124CC
- .4byte _080124E8
- .4byte _0801251C
- .4byte _08012534
- .4byte _0801254C
- .4byte _08012548
-_080124C4:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
- b _0801254C
-_080124CC:
- movs r0, 0
- str r0, [sp]
- mov r0, sp
- bl sub_8011DAC
- ldr r1, _080124E4
- ldr r1, [r1]
- str r0, [r1, 0x4]
- movs r0, 0x2
- str r0, [r1]
- b _0801254C
- .align 2, 0
-_080124E4: .4byte gUnknown_203B188
-_080124E8:
- adds r5, r4, 0
- ldr r1, [r5]
- ldr r0, [r1, 0x4]
- cmp r0, 0
- beq _0801253C
- bl sub_8011FF8
- lsls r0, 24
- cmp r0, 0
- beq _08012518
- ldr r0, _08012510
- ldr r3, _08012514
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1]
- b _0801254C
- .align 2, 0
-_08012510: .4byte gUnknown_80D4354
-_08012514: .4byte 0x00000301
-_08012518:
- ldr r1, [r4]
- b _0801252A
-_0801251C:
- add r0, sp, 0x4
- bl sub_80144A4
- cmp r0, 0
- bne _0801254C
- ldr r0, _08012530
- ldr r1, [r0]
-_0801252A:
- movs r0, 0x4
- str r0, [r1]
- b _0801254C
- .align 2, 0
-_08012530: .4byte gUnknown_203B188
-_08012534:
- bl sub_8012298
- ldr r0, _08012544
- ldr r1, [r0]
-_0801253C:
- movs r0, 0x6
- str r0, [r1]
- b _0801254C
- .align 2, 0
-_08012544: .4byte gUnknown_203B188
-_08012548:
- movs r0, 0
- b _0801254E
-_0801254C:
- movs r0, 0x1
-_0801254E:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8012484
-
- thumb_func_start sub_8012558
-sub_8012558:
- push {r4,lr}
- ldr r4, _08012570
- ldr r0, [r4]
- cmp r0, 0
- beq _0801256A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801256A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08012570: .4byte gUnknown_203B188
- thumb_func_end sub_8012558
-
- thumb_func_start sub_8012574
-sub_8012574:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r4, r0, 16
- bl sub_80993D8
- ldr r5, _080125D4
- movs r0, 0x20
- movs r1, 0x5
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- movs r1, 0
- strh r4, [r0, 0x1C]
- str r1, [r0, 0xC]
- str r1, [r0, 0x10]
- cmp r4, 0
- beq _080125BA
- adds r0, r4, 0
- bl sub_808DDD0
- ldr r1, [r5]
- str r0, [r1, 0xC]
- ldr r0, [r0, 0x4]
- str r0, [r1, 0x10]
- strb r6, [r1, 0x18]
- ldr r0, [r5]
- strb r6, [r0, 0x19]
- ldr r0, [r5]
- strb r6, [r0, 0x1A]
- ldr r1, [r5]
- movs r0, 0x2
- strh r0, [r1, 0x14]
- movs r0, 0x8
- strh r0, [r1, 0x16]
-_080125BA:
- ldr r1, [r5]
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _080125DC
- adds r2, r1, 0
- adds r2, 0xC
- ldr r0, _080125D8
- movs r1, 0
- movs r3, 0x20
- bl sub_80141B4
- b _080125E8
- .align 2, 0
-_080125D4: .4byte gUnknown_203B18C
-_080125D8: .4byte gUnknown_80D4398
-_080125DC:
- ldr r0, _080125F8
- movs r1, 0
- movs r2, 0
- movs r3, 0x20
- bl sub_80141B4
-_080125E8:
- ldr r0, _080125FC
- ldr r1, [r0]
- movs r0, 0x3
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080125F8: .4byte gUnknown_80D4398
-_080125FC: .4byte gUnknown_203B18C
- thumb_func_end sub_8012574
-
- thumb_func_start sub_8012600
-sub_8012600:
- push {r4,r5,lr}
- sub sp, 0x8
- movs r5, 0
- ldr r0, _08012628
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r4, r0, 0
- cmp r1, 0
- beq _08012616
- adds r5, r2, 0
- adds r5, 0xC
-_08012616:
- ldr r0, [r2]
- cmp r0, 0x7
- bls _0801261E
- b _08012738
-_0801261E:
- lsls r0, 2
- ldr r1, _0801262C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08012628: .4byte gUnknown_203B18C
-_0801262C: .4byte _08012630
- .align 2, 0
-_08012630:
- .4byte _08012650
- .4byte _08012654
- .4byte _08012738
- .4byte _08012678
- .4byte _08012680
- .4byte _0801271C
- .4byte _08012738
- .4byte _08012734
-_08012650:
- ldr r1, [r4]
- b _0801272A
-_08012654:
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- adds r0, 0x1
- str r0, [r1, 0x4]
- cmp r0, 0x8
- ble _08012738
- ldr r0, _08012674
- movs r1, 0
- movs r2, 0
- movs r3, 0x20
- bl sub_80141B4
- ldr r1, [r4]
- movs r0, 0x3
- str r0, [r1]
- b _08012738
- .align 2, 0
-_08012674: .4byte gUnknown_80D43D8
-_08012678:
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1]
- b _08012738
-_08012680:
- movs r0, 0
- str r0, [sp]
- bl sub_80140DC
- bl sub_8011C1C
- adds r1, r0, 0
- mov r0, sp
- bl sub_801203C
- ldr r4, _080126B8
- ldr r1, [r4]
- str r0, [r1, 0x8]
- cmp r0, 0
- beq _080126C4
- cmp r0, 0x1
- beq _080126DC
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _080126F4
- ldr r0, _080126BC
-_080126AA:
- ldr r3, _080126C0
- movs r1, 0
- adds r2, r5, 0
- bl sub_80141B4
- b _08012700
- .align 2, 0
-_080126B8: .4byte gUnknown_203B18C
-_080126BC: .4byte gUnknown_80D44B0
-_080126C0: .4byte 0x00000101
-_080126C4:
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _080126D4
- ldr r0, _080126D0
- b _080126AA
- .align 2, 0
-_080126D0: .4byte gUnknown_80D4438
-_080126D4:
- ldr r0, _080126D8
- b _080126F6
- .align 2, 0
-_080126D8: .4byte gUnknown_80D4438
-_080126DC:
- ldr r0, _080126F0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- ldr r1, [r4]
- movs r0, 0x6
- b _08012706
- .align 2, 0
-_080126F0: .4byte gUnknown_80D444C
-_080126F4:
- ldr r0, _08012710
-_080126F6:
- ldr r3, _08012714
- movs r1, 0
- adds r2, r5, 0
- bl sub_80141B4
-_08012700:
- ldr r0, _08012718
- ldr r1, [r0]
- movs r0, 0x5
-_08012706:
- str r0, [r1]
- bl sub_8014114
- b _08012738
- .align 2, 0
-_08012710: .4byte gUnknown_80D44B0
-_08012714: .4byte 0x00000101
-_08012718: .4byte gUnknown_203B18C
-_0801271C:
- add r0, sp, 0x4
- bl sub_80144A4
- cmp r0, 0
- bne _08012738
- ldr r0, _08012730
- ldr r1, [r0]
-_0801272A:
- movs r0, 0x7
- str r0, [r1]
- b _08012738
- .align 2, 0
-_08012730: .4byte gUnknown_203B18C
-_08012734:
- movs r0, 0
- b _0801273A
-_08012738:
- movs r0, 0x1
-_0801273A:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8012600
-
- thumb_func_start sub_8012744
-sub_8012744:
- ldr r0, _0801274C
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_0801274C: .4byte gUnknown_203B18C
- thumb_func_end sub_8012744
-
- thumb_func_start sub_8012750
-sub_8012750:
- push {r4,lr}
- ldr r4, _08012778
- ldr r0, [r4]
- cmp r0, 0
- beq _0801276E
- ldr r0, [r0, 0xC]
- cmp r0, 0
- beq _08012764
- bl CloseFile
-_08012764:
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801276E:
- bl sub_80993E4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08012778: .4byte gUnknown_203B18C
- thumb_func_end sub_8012750
-
- thumb_func_start sub_801277C
-sub_801277C:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _080127A4
- movs r0, 0x10
- movs r1, 0x5
- bl MemoryAlloc
- str r0, [r4]
- str r5, [r0, 0x4]
- str r6, [r0, 0x8]
- movs r1, 0
- strb r1, [r0, 0xC]
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080127A4: .4byte gUnknown_203B190
- thumb_func_end sub_801277C
-
- thumb_func_start sub_80127A8
-sub_80127A8:
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r5, _080127C0
- ldr r2, [r5]
- ldr r4, [r2]
- cmp r4, 0x1
- beq _080127D4
- cmp r4, 0x1
- bgt _080127C4
- cmp r4, 0
- beq _080127CE
- b _0801281E
- .align 2, 0
-_080127C0: .4byte gUnknown_203B190
-_080127C4:
- cmp r4, 0x2
- beq _08012808
- cmp r4, 0x3
- beq _0801281A
- b _0801281E
-_080127CE:
- movs r0, 0x1
- str r0, [r2]
- b _0801281E
-_080127D4:
- movs r0, 0x10
- str r0, [sp]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- mov r0, sp
- bl sub_8011F9C
- cmp r0, 0
- bne _080127EC
- ldr r0, [r5]
- strb r4, [r0, 0xC]
- b _08012812
-_080127EC:
- ldr r0, _08012800
- ldr r3, _08012804
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1]
- b _0801281E
- .align 2, 0
-_08012800: .4byte gUnknown_80D44C8
-_08012804: .4byte 0x00000301
-_08012808:
- add r0, sp, 0x4
- bl sub_80144A4
- cmp r0, 0
- bne _0801281E
-_08012812:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1]
- b _0801281E
-_0801281A:
- movs r0, 0
- b _08012820
-_0801281E:
- movs r0, 0x1
-_08012820:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80127A8
-
- thumb_func_start sub_8012828
-sub_8012828:
- ldr r0, _08012830
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08012830: .4byte gUnknown_203B190
- thumb_func_end sub_8012828
-
- thumb_func_start sub_8012834
-sub_8012834:
- push {r4,lr}
- ldr r4, _0801284C
- ldr r0, [r4]
- cmp r0, 0
- beq _08012846
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08012846:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801284C: .4byte gUnknown_203B190
- thumb_func_end sub_8012834
-
- thumb_func_start sub_8012850
-sub_8012850:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- mov r8, r1
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r5, _0801288C
- movs r0, 0x14
- movs r1, 0x5
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x4]
- mov r1, r8
- str r1, [r0, 0x8]
- movs r1, 0
- strb r4, [r0, 0xC]
- ldr r0, [r5]
- str r1, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- beq _08012894
- ldr r0, _08012890
- movs r2, 0
- movs r3, 0x20
- bl sub_80141B4
- b _080128A0
- .align 2, 0
-_0801288C: .4byte gUnknown_203B194
-_08012890: .4byte gUnknown_80D45AC
-_08012894:
- ldr r0, _080128AC
- movs r1, 0
- movs r2, 0
- movs r3, 0x20
- bl sub_80141B4
-_080128A0:
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080128AC: .4byte gUnknown_80D45AC
- thumb_func_end sub_8012850
-
- thumb_func_start sub_80128B0
-sub_80128B0:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _080128CC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x5
- bls _080128C2
- b _080129F0
-_080128C2:
- lsls r0, 2
- ldr r1, _080128D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080128CC: .4byte gUnknown_203B194
-_080128D0: .4byte _080128D4
- .align 2, 0
-_080128D4:
- .4byte _080128EC
- .4byte _080128F4
- .4byte _0801291C
- .4byte _080129C8
- .4byte _080129F0
- .4byte _080129E0
-_080128EC:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
- b _080129F0
-_080128F4:
- bl sub_80140DC
- movs r0, 0x10
- str r0, [sp]
- ldr r4, _08012918
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- ldr r2, [r0, 0x8]
- mov r0, sp
- bl sub_80121D4
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0x2
- str r0, [r1]
- movs r0, 0x1
- b _080129F2
- .align 2, 0
-_08012918: .4byte gUnknown_203B194
-_0801291C:
- movs r0, 0
- str r0, [sp]
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- bne _08012934
- mov r0, sp
- movs r1, 0x2
- bl sub_801203C
- ldr r1, [r4]
- str r0, [r1, 0x10]
-_08012934:
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- beq _08012964
- cmp r0, 0x1
- beq _080129AC
- ldr r0, _08012958
- bl sub_80121E0
- ldr r0, _0801295C
- ldr r3, _08012960
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- ldr r1, [r4]
- movs r0, 0x3
- b _080129BC
- .align 2, 0
-_08012958: .4byte 0x000f1209
-_0801295C: .4byte gUnknown_80D47A0
-_08012960: .4byte 0x00000301
-_08012964:
- ldr r0, _08012980
- bl sub_80121E0
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- beq _0801298C
- ldr r0, _08012984
- ldr r3, _08012988
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08012998
- .align 2, 0
-_08012980: .4byte 0x000f1207
-_08012984: .4byte gUnknown_80D45F4
-_08012988: .4byte 0x00000301
-_0801298C:
- ldr r0, _080129A0
- ldr r3, _080129A4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_08012998:
- ldr r0, _080129A8
- ldr r1, [r0]
- movs r0, 0x3
- b _080129BC
- .align 2, 0
-_080129A0: .4byte gUnknown_80D4668
-_080129A4: .4byte 0x00000301
-_080129A8: .4byte gUnknown_203B194
-_080129AC:
- ldr r0, _080129C4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- ldr r1, [r4]
- movs r0, 0x4
-_080129BC:
- str r0, [r1]
- bl sub_8014114
- b _080129F0
- .align 2, 0
-_080129C4: .4byte gUnknown_80D473C
-_080129C8:
- add r0, sp, 0x4
- bl sub_80144A4
- cmp r0, 0
- bne _080129F0
- ldr r0, _080129DC
- ldr r1, [r0]
- movs r0, 0x5
- str r0, [r1]
- b _080129F0
- .align 2, 0
-_080129DC: .4byte gUnknown_203B194
-_080129E0:
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- bne _080129EC
- movs r0, 0x2
- b _080129F2
-_080129EC:
- movs r0, 0x3
- b _080129F2
-_080129F0:
- movs r0, 0
-_080129F2:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80128B0
-
- thumb_func_start sub_80129FC
-sub_80129FC:
- push {r4,lr}
- ldr r4, _08012A14
- ldr r0, [r4]
- cmp r0, 0
- beq _08012A0E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08012A0E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08012A14: .4byte gUnknown_203B194
- thumb_func_end sub_80129FC
-
- thumb_func_start sub_8012A18
-sub_8012A18:
- push {lr}
- bl sub_8011860
- bl xxx_draw_string_80144C4
- ldr r0, _08012A60
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl nullsub_8
- bl sub_8005180
- bl sub_80060EC
- bl sub_800CB20
- bl sub_800485C
- bl CopySpritesToOam
- bl sub_8005304
- bl TransferBGPaletteBuffer
- bl xxx_call_update_bg_vram
- bl sub_8009908
- bl xxx_call_update_bg_sound_input
- movs r0, 0
- bl sub_8004D8C
- pop {r0}
- bx r0
- .align 2, 0
-_08012A60: .4byte gUnknown_203B46C
- thumb_func_end sub_8012A18
-
- thumb_func_start sub_8012A64
-sub_8012A64:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08012A94
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08012A7A
- adds r0, r4, 0
- bl nullsub_34
-_08012A7A:
- ldrb r1, [r4, 0x1]
- cmp r1, 0
- beq _08012A88
- movs r0, 0
- strb r0, [r4, 0x1]
- movs r0, 0x1
- b _08012A98
-_08012A88:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _08012A94
- strb r1, [r4, 0x2]
- movs r0, 0x2
- b _08012A98
-_08012A94:
- bl sub_8012AE8
-_08012A98:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8012A64
-
- thumb_func_start GetKeyPress
-GetKeyPress:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- beq _08012ADE
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012AB4
- movs r0, 0x1
- b _08012AE2
-_08012AB4:
- adds r0, r1, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012AC2
- movs r0, 0x2
- b _08012AE2
-_08012AC2:
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012AD0
- movs r0, 0x9
- b _08012AE2
-_08012AD0:
- adds r0, r1, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012ADE
- movs r0, 0xA
- b _08012AE2
-_08012ADE:
- bl sub_8012AE8
-_08012AE2:
- pop {r1}
- bx r1
- thumb_func_end GetKeyPress
-
- thumb_func_start sub_8012AE8
-sub_8012AE8:
- push {lr}
- ldr r2, _08012B08
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08012B4A
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08012B0C
- movs r0, 0xB
- b _08012BBE
- .align 2, 0
-_08012B08: .4byte gUnknown_20255F0
-_08012B0C:
- ldrh r1, [r2, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08012B1A
- movs r0, 0xC
- b _08012BBE
-_08012B1A:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08012B26
- movs r0, 0xD
- b _08012BBE
-_08012B26:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08012B32
- movs r0, 0xE
- b _08012BBE
-_08012B32:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08012B3E
- movs r0, 0xF
- b _08012BBE
-_08012B3E:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08012BBC
- movs r0, 0x6
- b _08012BBE
-_08012B4A:
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08012B58
- movs r0, 0x1
- b _08012BBE
-_08012B58:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08012B64
- movs r0, 0x2
- b _08012BBE
-_08012B64:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08012B70
- movs r0, 0x3
- b _08012BBE
-_08012B70:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08012B7C
- movs r0, 0x4
- b _08012BBE
-_08012B7C:
- ldrh r1, [r2, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08012B8A
- movs r0, 0x7
- b _08012BBE
-_08012B8A:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08012B96
- movs r0, 0x8
- b _08012BBE
-_08012B96:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08012BA2
- movs r0, 0x9
- b _08012BBE
-_08012BA2:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08012BAE
- movs r0, 0xA
- b _08012BBE
-_08012BAE:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08012BBC
- movs r0, 0x5
- b _08012BBE
-_08012BBC:
- movs r0, 0
-_08012BBE:
- pop {r1}
- bx r1
- thumb_func_end sub_8012AE8
-
- thumb_func_start sub_8012BC4
-sub_8012BC4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- mov r10, r0
- mov r9, r1
- adds r1, r2, 0
- adds r7, r3, 0
- movs r0, 0
- mov r8, r0
- add r0, sp, 0x4
- adds r2, r7, 0
- bl ConvertToDecimal
- subs r5, r7, 0x1
- cmp r5, 0
- ble _08012C0A
- lsls r0, r5, 2
- mov r1, sp
- adds r1, r0
- adds r1, 0x4
- ldr r0, [r1]
- cmp r0, 0
- bne _08012C0A
- movs r2, 0xFF
-_08012BFA:
- str r2, [r1]
- subs r1, 0x4
- subs r5, 0x1
- cmp r5, 0
- ble _08012C0A
- ldr r0, [r1]
- cmp r0, 0
- beq _08012BFA
-_08012C0A:
- movs r5, 0
- cmp r5, r7
- bge _08012C50
- ldr r0, [sp, 0x4]
- cmp r0, 0xFF
- beq _08012C50
- add r6, sp, 0x4
-_08012C18:
- ldm r6!, {r0}
- adds r0, 0x30
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092288
- adds r4, r0, 0
- bl sub_8008584
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- add r8, r0
- mov r2, r10
- mov r1, r8
- subs r0, r2, r1
- ldr r2, [sp, 0x48]
- str r2, [sp]
- mov r1, r9
- adds r2, r4, 0
- ldr r3, [sp, 0x44]
- bl xxx_call_draw_char
- adds r5, 0x1
- cmp r5, r7
- bge _08012C50
- ldr r0, [r6]
- cmp r0, 0xFF
- bne _08012C18
-_08012C50:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8012BC4
-
- thumb_func_start sub_8012C60
-sub_8012C60:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r0, r2, 0
- adds r7, r3, 0
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092288
- adds r4, r0, 0
- bl sub_8008584
- adds r1, r0, 0
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0xB
- bgt _08012C90
- movs r1, 0xC
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r0, r1, 1
- b _08012C92
-_08012C90:
- movs r0, 0
-_08012C92:
- adds r0, r5, r0
- ldr r1, [sp, 0x18]
- str r1, [sp]
- adds r1, r6, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl xxx_call_draw_char
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8012C60
-
- thumb_func_start sub_8012CAC
-sub_8012CAC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- movs r7, 0
- movs r6, 0
- ldr r0, [r4]
- cmp r0, 0
- beq _08012CE6
- movs r5, 0x80
- lsls r5, 9
-_08012CC4:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r7, r0, 16
- ldr r0, [r4]
- bl sub_8008ED0
- lsls r0, 16
- asrs r0, 16
- cmp r0, r6
- ble _08012CDE
- adds r6, r0, 0
-_08012CDE:
- adds r4, 0x8
- ldr r0, [r4]
- cmp r0, 0
- bne _08012CC4
-_08012CE6:
- adds r0, r6, 0
- cmp r0, 0
- bge _08012CEE
- adds r0, 0x7
-_08012CEE:
- asrs r0, 3
- adds r0, 0x2
- mov r1, r8
- strh r0, [r1, 0xC]
- mov r0, r8
- adds r1, r7, 0
- bl sub_8012D08
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8012CAC
-
- thumb_func_start sub_8012D08
-sub_8012D08:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- movs r1, 0xC
- bl sub_80095E4
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, [r4, 0x4]
- cmp r0, 0x6
- bne _08012D24
- adds r0, r1, 0x2
- lsls r0, 16
- asrs r1, r0, 16
-_08012D24:
- lsls r0, r1, 16
- lsrs r0, 16
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8012D08
-
- thumb_func_start sub_8012D34
-sub_8012D34:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- movs r1, 0x18
- bl sub_8009614
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, [r4, 0x4]
- cmp r0, 0x6
- bne _08012D50
- adds r0, r1, 0x2
- lsls r0, 16
- asrs r1, r0, 16
-_08012D50:
- lsls r0, r1, 16
- lsrs r0, 16
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8012D34
-
- thumb_func_start sub_8012D60
-sub_8012D60:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- adds r5, r3, 0
- ldr r7, [sp, 0x20]
- movs r3, 0
- movs r6, 0x1
- negs r6, r6
- mov r12, r3
- ldr r0, [sp, 0x24]
- str r0, [r4, 0x10]
- str r1, [r4, 0x4]
- str r2, [r4, 0x8]
- cmp r2, 0
- bne _08012D88
- ldr r0, _08012E00
- str r0, [r4, 0x8]
-_08012D88:
- str r5, [r4, 0xC]
- ldr r0, [r1]
- adds r5, r4, 0
- adds r5, 0x14
- movs r2, 0x4C
- adds r2, r4
- mov r8, r2
- movs r2, 0x4D
- adds r2, r4
- mov r9, r2
- movs r2, 0x4E
- adds r2, r4
- mov r10, r2
- cmp r0, 0
- beq _08012DC6
-_08012DA6:
- cmp r7, 0
- blt _08012DB2
- ldr r0, [r1, 0x4]
- cmp r7, r0
- bne _08012DB2
- adds r6, r3, 0
-_08012DB2:
- ldr r0, [r1]
- ldrb r0, [r0]
- cmp r0, 0x2A
- bne _08012DBC
- mov r12, r3
-_08012DBC:
- adds r1, 0x8
- adds r3, 0x1
- ldr r0, [r1]
- cmp r0, 0
- bne _08012DA6
-_08012DC6:
- cmp r6, 0
- bge _08012DCC
- mov r6, r12
-_08012DCC:
- adds r0, r5, 0
- adds r1, r3, 0
- ldr r2, [sp, 0x24]
- bl sub_8013134
- strh r6, [r4, 0x2C]
- adds r0, r5, 0
- movs r1, 0
- bl sub_80137B0
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- mov r2, r9
- strb r0, [r2]
- mov r1, r10
- strb r0, [r1]
- subs r0, 0x2
- str r0, [r4, 0x48]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08012E00: .4byte gUnknown_80D47B8
- thumb_func_end sub_8012D60
-
- thumb_func_start sub_8012E04
-sub_8012E04:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- mov r9, r3
- ldr r3, [sp, 0x1C]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r4, 0
- ldr r0, [r7]
- cmp r0, 0
- beq _08012E46
- adds r2, r7, 0
-_08012E26:
- cmp r3, 0
- blt _08012E32
- ldr r0, [r2, 0x4]
- cmp r3, r0
- bne _08012E32
- adds r6, r1, 0
-_08012E32:
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0x2A
- bne _08012E3C
- adds r4, r1, 0
-_08012E3C:
- adds r2, 0x8
- adds r1, 0x1
- ldr r0, [r2]
- cmp r0, 0
- bne _08012E26
-_08012E46:
- cmp r6, 0
- bge _08012E4C
- adds r6, r4, 0
-_08012E4C:
- adds r4, r5, 0
- adds r4, 0x14
- adds r0, r4, 0
- ldr r2, [sp, 0x20]
- bl sub_8013134
- strh r6, [r5, 0x2C]
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- ldr r0, [sp, 0x20]
- str r0, [r5, 0x10]
- mov r0, r8
- str r0, [r5, 0x8]
- cmp r0, 0
- bne _08012E72
- ldr r0, _08012EA0
- str r0, [r5, 0x8]
-_08012E72:
- mov r0, r9
- str r0, [r5, 0xC]
- str r7, [r5, 0x4]
- adds r1, r5, 0
- adds r1, 0x4E
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x4C
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x48]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08012EA0: .4byte gUnknown_80D47B8
- thumb_func_end sub_8012E04
-
- thumb_func_start sub_8012EA4
-sub_8012EA4:
- push {lr}
- adds r2, r0, 0
- adds r2, 0x4C
- strb r1, [r2]
- adds r2, 0x1
- movs r1, 0x1
- strb r1, [r2]
- bl sub_8012EBC
- pop {r0}
- bx r0
- thumb_func_end sub_8012EA4
-
- thumb_func_start sub_8012EBC
-sub_8012EBC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x164
- adds r5, r0, 0
- movs r0, 0x4D
- adds r0, r5
- mov r8, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012F9E
- ldr r0, [r5, 0x10]
- bl sub_80073B8
- ldr r2, [r5, 0x10]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- ldr r1, _08012F54
- adds r0, r1
- ldr r0, [r0, 0xC]
- cmp r0, 0x6
- bne _08012F24
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- mov r4, sp
- adds r4, r0
- adds r4, 0x4
- add r0, sp, 0x4
- bl sub_8006518
- ldr r0, [r5]
- bl sub_8008ED0
- adds r1, r0, 0
- ldr r0, [r4, 0x14]
- ldrb r0, [r0, 0x2]
- lsls r0, 3
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0x8
- ldr r2, [r5]
- ldr r3, [r5, 0x10]
- movs r1, 0
- str r1, [sp]
- bl sub_8014FF0
-_08012F24:
- ldr r7, [r5, 0x8]
- ldr r4, [r5, 0x4]
- ldr r6, [r5, 0xC]
- movs r1, 0
- mov r9, r1
- ldr r0, [r4]
- mov r10, r8
- cmp r0, 0
- beq _08012F92
- add r0, sp, 0x64
- mov r8, r0
-_08012F3A:
- ldr r3, [r4]
- ldrb r0, [r3]
- cmp r0, 0x2A
- bne _08012F44
- adds r3, 0x1
-_08012F44:
- cmp r6, 0
- beq _08012F58
- ldrh r0, [r6]
- lsls r0, 2
- adds r0, r7
- ldr r2, [r0]
- adds r6, 0x2
- b _08012F64
- .align 2, 0
-_08012F54: .4byte gUnknown_2027370
-_08012F58:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- bge _08012F62
- ldr r2, [r7, 0x4]
- b _08012F64
-_08012F62:
- ldr r2, [r7]
-_08012F64:
- mov r0, r8
- ldr r1, _08012FBC
- bl sub_800D158
- adds r0, r5, 0
- adds r0, 0x14
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- ldr r3, [r5, 0x10]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- mov r2, r8
- bl sub_8014FF0
- adds r4, 0x8
- movs r1, 0x1
- add r9, r1
- ldr r0, [r4]
- cmp r0, 0
- bne _08012F3A
-_08012F92:
- ldr r0, [r5, 0x10]
- bl sub_80073E0
- movs r0, 0
- mov r1, r10
- strb r0, [r1]
-_08012F9E:
- adds r0, r5, 0
- adds r0, 0x4E
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012FC8
- adds r0, r5, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08012FC0
- adds r0, r5, 0
- adds r0, 0x14
- bl AddMenuCursorSprite
- b _08012FC8
- .align 2, 0
-_08012FBC: .4byte gUnknown_80D4828
-_08012FC0:
- adds r0, r5, 0
- adds r0, 0x14
- bl sub_8013660
-_08012FC8:
- add sp, 0x164
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8012EBC
-
- thumb_func_start sub_8012FD8
-sub_8012FD8:
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r0, 0x2C
- ldrsh r7, [r4, r0]
- adds r6, r4, 0
- adds r6, 0x4C
- ldrb r0, [r6]
- cmp r0, 0
- beq _08013094
- adds r5, r4, 0
- adds r5, 0x14
- adds r0, r5, 0
- bl GetKeyPress
- cmp r0, 0x2
- beq _08013078
- cmp r0, 0x2
- bgt _08013002
- cmp r0, 0x1
- beq _08013028
- b _08013094
-_08013002:
- cmp r0, 0x7
- beq _08013012
- cmp r0, 0x8
- bne _08013094
- adds r0, r5, 0
- bl MoveMenuCursorDown
- b _08013018
-_08013012:
- adds r0, r5, 0
- bl MoveMenuCursorUp
-_08013018:
- movs r1, 0x2C
- ldrsh r0, [r4, r1]
- cmp r7, r0
- beq _08013094
- movs r0, 0x3
- bl sub_80119D4
- b _08013094
-_08013028:
- adds r0, r5, 0
- bl sub_80137A8
- adds r2, r0, 0
- lsls r1, r2, 3
- ldr r0, [r4, 0x4]
- adds r0, r1
- ldr r3, [r0, 0x4]
- cmp r3, 0
- blt _08013068
- ldr r1, [r4, 0xC]
- cmp r1, 0
- beq _0801304C
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _08013068
-_0801304C:
- str r3, [r4, 0x48]
- adds r1, r4, 0
- adds r1, 0x4C
- movs r0, 0
- strb r0, [r1]
- strh r0, [r4, 0x38]
- ldr r1, [r4, 0xC]
- cmp r1, 0
- beq _08013070
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x2
- bne _08013070
-_08013068:
- movs r0, 0x2
- bl sub_80119D4
- b _08013094
-_08013070:
- movs r0, 0
- bl sub_80119D4
- b _08013094
-_08013078:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldr r1, [r4, 0x4]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- cmp r0, 0
- blt _08013094
- str r0, [r4, 0x48]
- movs r0, 0
- strb r0, [r6]
- movs r0, 0x1
- bl sub_80119D4
-_08013094:
- adds r0, r4, 0
- bl sub_8012EBC
- adds r0, r4, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8012FD8
-
- thumb_func_start sub_80130A8
-sub_80130A8:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r4, 0
- adds r6, 0x4C
- ldrb r0, [r6]
- cmp r0, 0
- beq _08013100
- adds r5, r4, 0
- adds r5, 0x14
- adds r0, r5, 0
- bl GetKeyPress
- cmp r0, 0x1
- beq _080130CA
- cmp r0, 0x2
- beq _080130E6
- b _08013100
-_080130CA:
- adds r0, r5, 0
- bl sub_80137A8
- lsls r0, 3
- ldr r1, [r4, 0x4]
- adds r1, r0
- ldr r0, [r1, 0x4]
- str r0, [r4, 0x48]
- movs r0, 0
- strb r0, [r6]
- strh r0, [r4, 0x38]
- bl sub_80119D4
- b _08013100
-_080130E6:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldr r1, [r4, 0x4]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- cmp r0, 0
- blt _08013100
- str r0, [r4, 0x48]
- movs r0, 0
- strb r0, [r6]
- bl sub_80119D4
-_08013100:
- adds r0, r4, 0
- bl sub_8012EBC
- adds r0, r4, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80130A8
-
- thumb_func_start sub_8013114
-sub_8013114:
- push {lr}
- adds r2, r0, 0
- adds r0, 0x4C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08013124
- movs r0, 0x1
- b _0801312E
-_08013124:
- cmp r1, 0
- beq _0801312C
- ldr r0, [r2, 0x48]
- str r0, [r1]
-_0801312C:
- movs r0, 0
-_0801312E:
- pop {r1}
- bx r1
- thumb_func_end sub_8013114
-
- thumb_func_start sub_8013134
-sub_8013134:
- push {r4,lr}
- adds r4, r0, 0
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- ldr r3, _0801315C
- adds r0, r3
- str r2, [r4]
- movs r2, 0
- strh r2, [r4, 0x18]
- strh r1, [r4, 0x1A]
- strh r1, [r4, 0x1C]
- strh r2, [r4, 0x1E]
- strh r2, [r4, 0x4]
- ldr r0, [r0, 0xC]
- cmp r0, 0x6
- bne _08013160
- movs r0, 0x10
- b _08013162
- .align 2, 0
-_0801315C: .4byte gUnknown_2027370
-_08013160:
- movs r0, 0x2
-_08013162:
- strh r0, [r4, 0x6]
- movs r0, 0
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x24]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8013134
-
- thumb_func_start sub_801317C
-sub_801317C:
- push {lr}
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x4]
- strb r1, [r0, 0x3]
- ldr r1, _080131A4
- strh r1, [r0, 0x8]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0xA]
- adds r0, 0x8
- bl nullsub_7
- bl sub_8004914
- pop {r0}
- bx r0
- .align 2, 0
-_080131A4: .4byte 0x0000ffff
- thumb_func_end sub_801317C
-
- thumb_func_start AddMenuCursorSprite
-AddMenuCursorSprite:
- push {lr}
- movs r1, 0
- bl AddMenuCursorSprite_
- pop {r0}
- bx r0
- thumb_func_end AddMenuCursorSprite
-
- thumb_func_start AddMenuCursorSprite_
-AddMenuCursorSprite_:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x1A
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bgt _080131CC
- b _080132D6
-_080131CC:
- adds r0, r6, 0
- bl UpdateMenuCursorSpriteCoords
- ldrh r1, [r6, 0x24]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080132D6
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _080132FC
- ands r1, r0
- ldr r3, _08013300
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013304
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r4, _08013308
- adds r0, r4, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _0801330C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013310
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013314
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- ands r3, r1
- orrs r3, r0
- str r3, [sp]
- mov r3, sp
- movs r2, 0xFD
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r5, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _08013318
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x6]
- ldr r1, _0801331C
- ands r1, r0
- ldr r0, _08013320
- ands r1, r0
- movs r2, 0x8
- ldrsh r0, [r6, r2]
- ldr r2, _08013324
- ands r0, r2
- strh r0, [r3, 0x2]
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- adds r0, 0x1
- ands r0, r4
- lsls r0, 4
- ands r1, r5
- orrs r1, r0
- strh r1, [r3, 0x6]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080132D6:
- adds r0, r6, 0
- bl sub_8013470
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080132EC
- adds r0, r6, 0
- adds r0, 0x14
- bl sub_801332C
-_080132EC:
- ldrh r0, [r6, 0x24]
- adds r0, 0x1
- strh r0, [r6, 0x24]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080132FC: .4byte 0x0000feff
-_08013300: .4byte 0xffff0000
-_08013304: .4byte 0x0000fdff
-_08013308: .4byte 0x0000f3ff
-_0801330C: .4byte 0x0000efff
-_08013310: .4byte 0x0000dfff
-_08013314: .4byte 0x00003fff
-_08013318: .4byte 0x00000fff
-_0801331C: .4byte 0x0000fffe
-_08013320: .4byte 0x0000fffd
-_08013324: .4byte 0x000001ff
- thumb_func_end AddMenuCursorSprite_
-
- thumb_func_start nullsub_34
-nullsub_34:
- bx lr
- thumb_func_end nullsub_34
-
- thumb_func_start sub_801332C
-sub_801332C:
- push {r4-r6,lr}
- sub sp, 0x8
- movs r1, 0
- movs r2, 0
- str r1, [sp]
- str r2, [sp, 0x4]
- mov r1, sp
- ldrh r1, [r1]
- ldr r2, _08013440
- ands r2, r1
- ldr r4, _08013444
- ldr r1, [sp]
- ands r1, r4
- orrs r1, r2
- str r1, [sp]
- mov r2, sp
- ldrh r2, [r2]
- adds r3, r4, 0
- ands r3, r1
- orrs r3, r2
- str r3, [sp]
- mov r1, sp
- ldrh r2, [r1]
- ldr r1, _08013448
- ands r1, r2
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r1
- str r2, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r3, r4, 0
- ands r3, r2
- orrs r3, r1
- str r3, [sp]
- movs r5, 0x80
- lsls r5, 3
- mov r1, sp
- ldrh r2, [r1]
- ldr r6, _0801344C
- adds r1, r6, 0
- ands r1, r2
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r1
- str r2, [sp]
- mov r1, sp
- ldrh r1, [r1]
- orrs r5, r1
- adds r3, r4, 0
- ands r3, r2
- orrs r3, r5
- str r3, [sp]
- mov r1, sp
- ldrh r2, [r1]
- ldr r1, _08013450
- ands r1, r2
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r1
- str r2, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r3, r4, 0
- ands r3, r2
- orrs r3, r1
- str r3, [sp]
- mov r1, sp
- ldrh r2, [r1]
- ldr r1, _08013454
- ands r1, r2
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r1
- str r2, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r3, r4, 0
- ands r3, r2
- orrs r3, r1
- str r3, [sp]
- mov r1, sp
- ldrh r2, [r1]
- ldr r1, _08013458
- ands r1, r2
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r1
- str r2, [sp]
- mov r1, sp
- ldrh r1, [r1]
- ands r4, r2
- orrs r4, r1
- str r4, [sp]
- mov r4, sp
- ldr r3, _0801345C
- ldrh r2, [r4, 0x4]
- movs r1, 0xFC
- lsls r1, 8
- ands r1, r2
- orrs r1, r3
- ands r1, r6
- movs r6, 0xF
- movs r2, 0xF0
- lsls r2, 8
- ldr r5, _08013460
- ands r1, r5
- orrs r1, r2
- strh r1, [r4, 0x4]
- ldrh r1, [r4, 0x6]
- ldr r2, _08013464
- ands r2, r1
- ldr r1, _08013468
- ands r2, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, _0801346C
- ands r1, r3
- strh r1, [r4, 0x2]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- adds r0, 0x1
- ands r0, r5
- lsls r0, 4
- ands r2, r6
- orrs r2, r0
- strh r2, [r4, 0x6]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- movs r3, 0
- bl AddSprite
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08013440: .4byte 0x0000feff
-_08013444: .4byte 0xffff0000
-_08013448: .4byte 0x0000fdff
-_0801344C: .4byte 0x0000f3ff
-_08013450: .4byte 0x0000efff
-_08013454: .4byte 0x0000dfff
-_08013458: .4byte 0x00003fff
-_0801345C: .4byte 0x000003f5
-_08013460: .4byte 0x00000fff
-_08013464: .4byte 0x0000fffe
-_08013468: .4byte 0x0000fffd
-_0801346C: .4byte 0x000001ff
- thumb_func_end sub_801332C
-
- thumb_func_start sub_8013470
-sub_8013470:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08013488
- b _08013624
-_08013488:
- movs r2, 0x1E
- ldrsh r0, [r6, r2]
- cmp r0, 0
- beq _08013586
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _0801362C
- ands r1, r0
- ldr r3, _08013630
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013634
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r4, _08013638
- adds r0, r4, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _0801363C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013640
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013644
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- ands r3, r1
- orrs r3, r0
- str r3, [sp]
- mov r3, sp
- ldr r2, _08013648
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r5, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _0801364C
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x6]
- ldr r1, _08013650
- ands r1, r0
- ldr r0, _08013654
- ands r1, r0
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- ldr r2, _08013658
- ands r0, r2
- strh r0, [r3, 0x2]
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- ands r0, r4
- lsls r0, 4
- ands r1, r5
- orrs r1, r0
- strh r1, [r3, 0x6]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08013586:
- movs r1, 0x20
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _08013624
- adds r1, r0, 0
- movs r2, 0x1E
- ldrsh r0, [r6, r2]
- adds r0, 0x1
- cmp r1, r0
- beq _08013624
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _0801362C
- ands r1, r0
- mov r0, sp
- strh r1, [r0]
- strh r1, [r0]
- ldr r0, _08013634
- ands r0, r1
- mov r1, sp
- strh r0, [r1]
- strh r0, [r1]
- ldr r4, _08013638
- ands r0, r4
- strh r0, [r1]
- strh r0, [r1]
- ldr r1, _0801363C
- ands r1, r0
- mov r0, sp
- strh r1, [r0]
- strh r1, [r0]
- ldr r2, _08013640
- ands r2, r1
- strh r2, [r0]
- strh r2, [r0]
- ldr r0, _08013644
- ands r0, r2
- mov r1, sp
- strh r0, [r1]
- strh r0, [r1]
- mov r3, sp
- ldr r2, _0801365C
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r5, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _0801364C
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x6]
- ldr r1, _08013650
- ands r1, r0
- ldr r0, _08013654
- ands r1, r0
- movs r2, 0xC
- ldrsh r0, [r6, r2]
- adds r0, 0xA
- ldr r2, _08013658
- ands r0, r2
- strh r0, [r3, 0x2]
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- ands r0, r4
- lsls r0, 4
- ands r1, r5
- orrs r1, r0
- strh r1, [r3, 0x6]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08013624:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801362C: .4byte 0x0000feff
-_08013630: .4byte 0xffff0000
-_08013634: .4byte 0x0000fdff
-_08013638: .4byte 0x0000f3ff
-_0801363C: .4byte 0x0000efff
-_08013640: .4byte 0x0000dfff
-_08013644: .4byte 0x00003fff
-_08013648: .4byte 0x000003f2
-_0801364C: .4byte 0x00000fff
-_08013650: .4byte 0x0000fffe
-_08013654: .4byte 0x0000fffd
-_08013658: .4byte 0x000001ff
-_0801365C: .4byte 0x000003f3
- thumb_func_end sub_8013470
-
- thumb_func_start sub_8013660
-sub_8013660:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _0801367A
- adds r0, r4, 0
- bl UpdateMenuCursorSpriteCoords
- adds r0, r4, 0
- adds r0, 0x8
- bl sub_801332C
-_0801367A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8013660
-
- thumb_func_start UpdateMenuCursorSpriteCoords
-UpdateMenuCursorSpriteCoords:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 3
- ldr r0, _080136B8
- adds r4, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- lsls r0, 3
- ldrh r2, [r5, 0x4]
- adds r0, r2
- strh r0, [r5, 0x8]
- movs r0, 0x18
- ldrsh r1, [r5, r0]
- adds r0, r5, 0
- bl sub_8013800
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r1, 3
- adds r1, r0
- strh r1, [r5, 0xA]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080136B8: .4byte gUnknown_2027370
- thumb_func_end UpdateMenuCursorSpriteCoords
-
- thumb_func_start MoveMenuCursorDown
-MoveMenuCursorDown:
- push {lr}
- adds r1, r0, 0
- movs r3, 0
- strh r3, [r1, 0x24]
- movs r0, 0x1A
- ldrsh r2, [r1, r0]
- cmp r2, 0
- ble _080136DA
- ldrh r0, [r1, 0x18]
- adds r0, 0x1
- strh r0, [r1, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r2
- blt _080136DC
-_080136DA:
- strh r3, [r1, 0x18]
-_080136DC:
- pop {r0}
- bx r0
- thumb_func_end MoveMenuCursorDown
-
- thumb_func_start sub_80136E0
-sub_80136E0:
- push {r4,r5,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r1, 0
- strh r1, [r2, 0x24]
- ldrh r4, [r2, 0x1A]
- movs r0, 0x1A
- ldrsh r3, [r2, r0]
- cmp r3, 0
- ble _08013708
- ldrh r0, [r2, 0x18]
- adds r0, 0x1
- strh r0, [r2, 0x18]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r3
- blt _08013710
- cmp r5, 0
- beq _0801370C
-_08013708:
- strh r1, [r2, 0x18]
- b _08013710
-_0801370C:
- subs r0, r4, 0x1
- strh r0, [r2, 0x18]
-_08013710:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80136E0
-
- thumb_func_start MoveMenuCursorUp
-MoveMenuCursorUp:
- push {r4,lr}
- adds r1, r0, 0
- movs r2, 0
- strh r2, [r1, 0x24]
- ldrh r3, [r1, 0x1A]
- movs r4, 0x1A
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bgt _0801372E
- strh r2, [r1, 0x18]
- b _0801373E
-_0801372E:
- ldrh r0, [r1, 0x18]
- subs r0, 0x1
- strh r0, [r1, 0x18]
- lsls r0, 16
- cmp r0, 0
- bge _0801373E
- subs r0, r3, 0x1
- strh r0, [r1, 0x18]
-_0801373E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end MoveMenuCursorUp
-
- thumb_func_start sub_8013744
-sub_8013744:
- push {r4-r6,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- movs r3, 0
- strh r3, [r2, 0x24]
- ldrh r4, [r2, 0x1A]
- movs r6, 0x1A
- ldrsh r0, [r2, r6]
- cmp r0, 0
- bgt _08013760
- strh r3, [r2, 0x18]
- b _08013778
-_08013760:
- ldrh r0, [r2, 0x18]
- subs r0, 0x1
- strh r0, [r2, 0x18]
- lsls r0, 16
- cmp r0, 0
- bge _08013778
- cmp r1, 0
- beq _08013776
- subs r0, r4, 0x1
- strh r0, [r2, 0x18]
- b _08013778
-_08013776:
- strh r5, [r2, 0x18]
-_08013778:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8013744
-
- thumb_func_start sub_8013780
-sub_8013780:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- bge _0801378E
- movs r0, 0
- strh r0, [r2, 0x18]
- b _080137A0
-_0801378E:
- movs r3, 0x1A
- ldrsh r0, [r2, r3]
- cmp r1, r0
- blt _0801379E
- ldrh r0, [r2, 0x1A]
- subs r0, 0x1
- strh r0, [r2, 0x18]
- b _080137A0
-_0801379E:
- strh r1, [r2, 0x18]
-_080137A0:
- movs r0, 0
- strh r0, [r2, 0x24]
- pop {r0}
- bx r0
- thumb_func_end sub_8013780
-
- thumb_func_start sub_80137A8
-sub_80137A8:
- movs r1, 0x18
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_80137A8
-
- thumb_func_start sub_80137B0
-sub_80137B0:
- push {r4,lr}
- adds r4, r0, 0
- cmp r1, 0
- ble _080137BC
- lsls r0, r1, 8
- b _080137E2
-_080137BC:
- ldr r3, _080137F4
- ldr r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r1, r0, 3
- adds r0, r3, 0
- adds r0, 0xC
- adds r0, r1, r0
- ldr r0, [r0]
- movs r2, 0
- cmp r0, 0x6
- bne _080137D6
- movs r2, 0x10
-_080137D6:
- adds r0, r1, r3
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- lsls r0, 3
- subs r0, r2
- lsls r0, 8
-_080137E2:
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- bl __divsi3
- str r0, [r4, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080137F4: .4byte gUnknown_2027370
- thumb_func_end sub_80137B0
-
- thumb_func_start sub_80137F8
-sub_80137F8:
- lsls r1, 8
- str r1, [r0, 0x10]
- bx lr
- thumb_func_end sub_80137F8
-
- thumb_func_start sub_8013800
-sub_8013800:
- push {lr}
- movs r3, 0x6
- ldrsh r2, [r0, r3]
- ldr r0, [r0, 0x10]
- muls r0, r1
- cmp r0, 0
- bge _08013810
- adds r0, 0xFF
-_08013810:
- asrs r0, 8
- adds r0, r2, r0
- pop {r1}
- bx r1
- thumb_func_end sub_8013800
-
- thumb_func_start sub_8013818
-sub_8013818:
- push {r4,lr}
- adds r4, r0, 0
- str r3, [r4]
- movs r0, 0
- strh r1, [r4, 0x22]
- strh r2, [r4, 0x1C]
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x18]
- strh r0, [r4, 0x1E]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- bl sub_8013984
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_80137F8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8013818
-
- thumb_func_start sub_8013848
-sub_8013848:
- push {r4,lr}
- adds r4, r0, 0
- str r3, [r4]
- movs r0, 0
- strh r1, [r4, 0x22]
- strh r2, [r4, 0x1C]
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x18]
- strh r0, [r4, 0x1E]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- bl sub_8013984
- adds r0, r4, 0
- movs r1, 0x18
- bl sub_80137F8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8013848
-
- thumb_func_start sub_8013878
-sub_8013878:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- cmp r6, 0
- bge _08013886
- movs r6, 0
- b _08013890
-_08013886:
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- cmp r6, r0
- blt _08013890
- subs r6, r0, 0x1
-_08013890:
- movs r0, 0x1C
- ldrsh r1, [r5, r0]
- adds r0, r6, 0
- bl __divsi3
- movs r4, 0
- strh r0, [r5, 0x1E]
- movs r0, 0x1C
- ldrsh r1, [r5, r0]
- adds r0, r6, 0
- bl __modsi3
- strh r0, [r5, 0x18]
- strh r4, [r5, 0x24]
- adds r0, r5, 0
- bl sub_8013984
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8013878
-
- thumb_func_start sub_80138B8
-sub_80138B8:
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- movs r0, 0x1E
- ldrsh r7, [r5, r0]
- movs r1, 0x18
- ldrsh r6, [r5, r1]
- adds r0, r5, 0
- bl AddMenuCursorSprite
- cmp r4, 0
- beq _0801391C
- adds r0, r5, 0
- bl GetKeyPress
- cmp r0, 0x8
- beq _080138F8
- cmp r0, 0x8
- bgt _080138E6
- cmp r0, 0x7
- beq _080138F0
- b _0801391C
-_080138E6:
- cmp r0, 0x9
- beq _0801390E
- cmp r0, 0xA
- beq _08013916
- b _0801391C
-_080138F0:
- adds r0, r5, 0
- bl MoveMenuCursorUp
- b _080138FE
-_080138F8:
- adds r0, r5, 0
- bl MoveMenuCursorDown
-_080138FE:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- cmp r6, r0
- beq _0801391C
- movs r0, 0x3
- bl sub_80119D4
- b _0801391C
-_0801390E:
- adds r0, r5, 0
- bl sub_8013A7C
- b _0801391C
-_08013916:
- adds r0, r5, 0
- bl sub_8013A54
-_0801391C:
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- cmp r7, r0
- bne _08013928
- movs r0, 0
- b _08013930
-_08013928:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x1
-_08013930:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80138B8
-
- thumb_func_start sub_8013938
-sub_8013938:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x1E
- ldrsh r5, [r4, r0]
- movs r0, 0
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x14]
- adds r0, r4, 0
- bl AddMenuCursorSprite
- adds r0, r4, 0
- bl GetKeyPress
- cmp r0, 0x9
- beq _0801395C
- cmp r0, 0xA
- beq _08013964
- b _0801396A
-_0801395C:
- adds r0, r4, 0
- bl sub_8013A7C
- b _0801396A
-_08013964:
- adds r0, r4, 0
- bl sub_8013A54
-_0801396A:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bne _08013976
- movs r0, 0
- b _0801397E
-_08013976:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x1
-_0801397E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8013938
-
- thumb_func_start sub_8013984
-sub_8013984:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 3
- ldr r1, _08013A20
- adds r6, r0, r1
- ldrh r1, [r4, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080139A2
- adds r0, r1, 0x1
- strh r0, [r4, 0x1C]
-_080139A2:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- bl __divsi3
- adds r5, r0, 0
- strh r5, [r4, 0x20]
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- beq _080139C6
- adds r0, r5, 0x1
- strh r0, [r4, 0x20]
-_080139C6:
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- subs r0, 0x1
- ldrh r5, [r4, 0x20]
- cmp r1, r0
- ble _080139DA
- subs r0, r5, 0x1
- strh r0, [r4, 0x1E]
-_080139DA:
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- subs r0, 0x1
- cmp r1, r0
- bne _080139F8
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _080139FA
-_080139F8:
- ldrh r0, [r4, 0x1C]
-_080139FA:
- strh r0, [r4, 0x1A]
- movs r0, 0x18
- ldrsh r1, [r4, r0]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- subs r0, 0x1
- cmp r1, r0
- ble _08013A10
- ldrh r0, [r4, 0x1A]
- subs r0, 0x1
- strh r0, [r4, 0x18]
-_08013A10:
- movs r1, 0
- strh r1, [r4, 0x4]
- ldr r0, [r6, 0xC]
- cmp r0, 0x6
- bne _08013A24
- movs r0, 0x10
- strh r0, [r4, 0x6]
- b _08013A26
- .align 2, 0
-_08013A20: .4byte gUnknown_2027370
-_08013A24:
- strh r1, [r4, 0x6]
-_08013A26:
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _08013A32
- movs r0, 0
- b _08013A40
-_08013A32:
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- adds r0, r1
- subs r0, 0x2
- lsls r0, 3
-_08013A40:
- strh r0, [r4, 0xC]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r4, 0xE]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8013984
-
- thumb_func_start sub_8013A54
-sub_8013A54:
- push {lr}
- adds r2, r0, 0
- movs r0, 0x1E
- ldrsh r1, [r2, r0]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- subs r0, 0x1
- cmp r1, r0
- bge _08013A6C
- ldrh r0, [r2, 0x1E]
- adds r0, 0x1
- b _08013A6E
-_08013A6C:
- movs r0, 0
-_08013A6E:
- strh r0, [r2, 0x1E]
- adds r0, r2, 0
- bl sub_8013984
- pop {r0}
- bx r0
- thumb_func_end sub_8013A54
-
- thumb_func_start sub_8013A7C
-sub_8013A7C:
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x1E]
- movs r3, 0x1E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bgt _08013A90
- ldrh r0, [r1, 0x20]
- subs r0, 0x1
- b _08013A92
-_08013A90:
- subs r0, r2, 0x1
-_08013A92:
- strh r0, [r1, 0x1E]
- adds r0, r1, 0
- bl sub_8013984
- pop {r0}
- bx r0
- thumb_func_end sub_8013A7C
-
- thumb_func_start sub_8013AA0
-sub_8013AA0:
- push {r4,r5,lr}
- sub sp, 0x28
- adds r5, r0, 0
- ldrh r1, [r5, 0x28]
- ldr r0, _08013B9C
- ands r0, r1
- ldr r1, _08013BA0
- ands r0, r1
- ldr r4, _08013BA4
- ands r0, r4
- ldr r1, _08013BA8
- ands r0, r1
- ldr r1, _08013BAC
- ands r0, r1
- movs r1, 0x80
- lsls r1, 7
- ldr r3, _08013BB0
- ands r0, r3
- orrs r0, r1
- strh r0, [r5, 0x28]
- movs r1, 0x80
- lsls r1, 6
- ldrh r0, [r5, 0x2A]
- ldr r2, _08013BB4
- ands r2, r0
- orrs r2, r1
- ands r2, r3
- movs r3, 0xFC
- lsls r3, 2
- ldrh r1, [r5, 0x2C]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r3
- ands r0, r4
- movs r3, 0xF
- movs r4, 0xF0
- lsls r4, 8
- ldr r1, _08013BB8
- ands r0, r1
- orrs r0, r4
- strh r0, [r5, 0x2C]
- movs r0, 0xFE
- lsls r0, 8
- ands r2, r0
- movs r0, 0xF0
- orrs r2, r0
- strh r2, [r5, 0x2A]
- subs r1, 0xFF
- ldrh r0, [r5, 0x2E]
- ands r3, r0
- movs r0, 0
- orrs r3, r1
- strh r3, [r5, 0x2E]
- adds r1, r5, 0
- adds r1, 0x26
- strb r0, [r1]
- ldr r1, [r5, 0xC]
- ldr r2, [r5, 0x10]
- mov r0, sp
- bl ConvertToDecimal
- ldr r0, [r5, 0x10]
- adds r1, r5, 0
- adds r1, 0x25
- strb r0, [r1]
- ldrb r2, [r1]
- subs r0, r2, 0x1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bne _08013B50
- cmp r2, 0x1
- bls _08013B50
- adds r2, r1, 0
-_08013B38:
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
- ldrb r1, [r2]
- subs r0, r1, 0x1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bne _08013B50
- cmp r1, 0x1
- bhi _08013B38
-_08013B50:
- ldr r1, [r5, 0x4]
- str r1, [r5]
- ldr r2, [r5, 0x10]
- mov r0, sp
- bl ConvertToDecimal
- adds r0, r5, 0
- adds r0, 0x25
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r5, 0
- adds r1, 0x24
- strb r0, [r1]
- ldrb r2, [r1]
- lsls r0, r2, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bne _08013B92
- cmp r2, 0
- beq _08013B92
- adds r2, r1, 0
-_08013B7C:
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
- ldrb r1, [r2]
- lsls r0, r1, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bne _08013B92
- cmp r1, 0
- bne _08013B7C
-_08013B92:
- add sp, 0x28
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08013B9C: .4byte 0x0000feff
-_08013BA0: .4byte 0x0000fdff
-_08013BA4: .4byte 0x0000f3ff
-_08013BA8: .4byte 0x0000efff
-_08013BAC: .4byte 0x0000dfff
-_08013BB0: .4byte 0x00003fff
-_08013BB4: .4byte 0x0000c1ff
-_08013BB8: .4byte 0x00000fff
- thumb_func_end sub_8013AA0
-
- thumb_func_start sub_8013BBC
-sub_8013BBC:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r7, 0
- adds r4, 0x26
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- adds r0, r7, 0
- bl sub_8013D10
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08013C26
- movs r2, 0x80
- lsls r2, 6
- ldrh r1, [r7, 0x2A]
- ldr r4, _08013C38
- adds r0, r4, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r7, 0x2A]
- adds r5, r7, 0
- adds r5, 0x28
- movs r6, 0x80
- lsls r6, 1
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
- ldrh r0, [r7, 0x2A]
- ands r4, r0
- strh r4, [r7, 0x2A]
- ldrh r1, [r7, 0x2E]
- ldr r0, _08013C3C
- lsrs r1, 4
- adds r1, 0x10
- ands r1, r0
- lsls r1, 4
- ldrh r2, [r7, 0x2E]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r7, 0x2E]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08013C26:
- adds r0, r7, 0
- bl sub_8013DD0
- lsls r0, 24
- cmp r0, 0
- beq _08013C40
- movs r0, 0x1
- b _08013C62
- .align 2, 0
-_08013C38: .4byte 0x0000c1ff
-_08013C3C: .4byte 0x00000fff
-_08013C40:
- bl sub_8012AE8
- cmp r0, 0x1
- beq _08013C56
- cmp r0, 0x2
- bne _08013C60
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08013C62
-_08013C56:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08013C62
-_08013C60:
- movs r0, 0
-_08013C62:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8013BBC
-
- thumb_func_start sub_8013C68
-sub_8013C68:
- push {r4-r6,lr}
- sub sp, 0x2C
- adds r5, r0, 0
- ldr r1, [r5]
- ldr r2, [r5, 0x10]
- add r0, sp, 0x4
- bl ConvertToDecimal
- ldr r0, [r5, 0x10]
- subs r4, r0, 0x1
- cmp r4, 0
- ble _08013CA0
- lsls r0, r4, 2
- mov r1, sp
- adds r1, r0
- adds r1, 0x4
- ldr r0, [r1]
- cmp r0, 0
- bne _08013CA0
- movs r2, 0xFF
-_08013C90:
- str r2, [r1]
- subs r1, 0x4
- subs r4, 0x1
- cmp r4, 0
- ble _08013CA0
- ldr r0, [r1]
- cmp r0, 0
- beq _08013C90
-_08013CA0:
- movs r4, 0
- adds r0, r5, 0
- adds r0, 0x25
- adds r6, r0, 0
- b _08013CDA
-_08013CAA:
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0x4
- ldr r0, [r0]
- cmp r0, 0xFF
- bne _08013CBA
- movs r3, 0x2A
- b _08013CC0
-_08013CBA:
- adds r0, 0x30
- lsls r0, 24
- lsrs r3, r0, 24
-_08013CC0:
- adds r4, 0x1
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- ldr r0, [r5, 0x1C]
- subs r0, r1
- ldr r1, [r5, 0x20]
- ldr r2, [r5, 0x14]
- str r2, [sp]
- adds r2, r3, 0
- movs r3, 0x7
- bl sub_8012C60
-_08013CDA:
- ldrb r0, [r6]
- cmp r4, r0
- blt _08013CAA
- movs r4, 0
- b _08013D02
-_08013CE4:
- ldr r0, [r5, 0x14]
- adds r4, 0x1
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- ldr r1, [r5, 0x1C]
- subs r1, r2
- subs r1, 0x1
- ldr r2, [r5, 0x20]
- adds r2, 0xA
- movs r3, 0x5
- str r3, [sp]
- movs r3, 0xB
- bl sub_800792C
-_08013D02:
- ldr r0, [r5, 0x10]
- cmp r4, r0
- blt _08013CE4
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8013C68
-
- thumb_func_start sub_8013D10
-sub_8013D10:
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0x14]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- ldr r0, _08013D34
- adds r7, r1, r0
- adds r4, r6, 0
- adds r4, 0x24
- ldrb r5, [r4]
- bl sub_8012AE8
- cmp r0, 0x9
- beq _08013D38
- cmp r0, 0xA
- beq _08013D4E
- b _08013D62
- .align 2, 0
-_08013D34: .4byte gUnknown_2027370
-_08013D38:
- ldrb r1, [r4]
- adds r0, r6, 0
- adds r0, 0x25
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bge _08013D4A
- adds r0, r1, 0x1
- b _08013D5C
-_08013D4A:
- movs r0, 0
- b _08013D60
-_08013D4E:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08013D5A
- adds r0, r6, 0
- adds r0, 0x25
- ldrb r0, [r0]
-_08013D5A:
- subs r0, 0x1
-_08013D5C:
- lsls r0, 24
- lsrs r0, 24
-_08013D60:
- adds r5, r0, 0
-_08013D62:
- adds r4, r6, 0
- adds r4, 0x24
- ldrb r0, [r4]
- cmp r5, r0
- beq _08013D7C
- strb r5, [r4]
- movs r0, 0x3
- bl sub_80119D4
- adds r1, r6, 0
- adds r1, 0x26
- movs r0, 0x8
- strb r0, [r1]
-_08013D7C:
- ldrb r0, [r4]
- adds r0, 0x1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- ldr r2, [r6, 0x1C]
- subs r2, r1
- movs r1, 0
- ldrsh r0, [r7, r1]
- lsls r0, 3
- adds r2, r0
- subs r2, 0x3
- ldr r0, _08013DC8
- ands r2, r0
- ldrh r1, [r6, 0x2A]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- strh r0, [r6, 0x2A]
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- lsls r0, 3
- ldr r1, [r6, 0x20]
- adds r1, r0
- subs r1, 0x7
- ldr r0, _08013DCC
- ands r1, r0
- lsls r1, 4
- ldrh r2, [r6, 0x2E]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r6, 0x2E]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08013DC8: .4byte 0x000001ff
-_08013DCC: .4byte 0x00000fff
- thumb_func_end sub_8013D10
-
- thumb_func_start sub_8013DD0
-sub_8013DD0:
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_8012AE8
- cmp r0, 0x7
- beq _08013DE4
- cmp r0, 0x8
- beq _08013E10
- movs r0, 0
- b _08013E4C
-_08013DE4:
- ldr r2, [r4]
- ldr r0, [r4, 0xC]
- cmp r2, r0
- beq _08013E18
- ldr r1, _08013E0C
- adds r0, r4, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- adds r5, r2, r0
- movs r0, 0x3
- bl sub_80119D4
- ldr r0, [r4, 0xC]
- cmp r5, r0
- bgt _08013E3E
- b _08013E48
- .align 2, 0
-_08013E0C: .4byte gUnknown_80D4830
-_08013E10:
- ldr r2, [r4]
- ldr r0, [r4, 0x8]
- cmp r2, r0
- bne _08013E22
-_08013E18:
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0
- b _08013E4C
-_08013E22:
- ldr r1, _08013E44
- adds r0, r4, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- subs r5, r2, r0
- movs r0, 0x3
- bl sub_80119D4
- ldr r0, [r4, 0x8]
- cmp r5, r0
- bge _08013E48
-_08013E3E:
- str r0, [r4]
- b _08013E4A
- .align 2, 0
-_08013E44: .4byte gUnknown_80D4830
-_08013E48:
- str r5, [r4]
-_08013E4A:
- movs r0, 0x1
-_08013E4C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8013DD0
-
- thumb_func_start sub_8013E54
-sub_8013E54:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _08013F60
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _08013F64
- ands r1, r0
- ldr r3, _08013F68
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013F6C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r5, _08013F70
- adds r0, r5, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013F74
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013F78
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08013F7C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- mov r3, sp
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r5
- movs r2, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _08013F80
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x80
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r3, 0x6]
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x6]
- movs r0, 0x70
- strh r0, [r3, 0x2]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08013F60: .4byte gUnknown_2027370
-_08013F64: .4byte 0x0000feff
-_08013F68: .4byte 0xffff0000
-_08013F6C: .4byte 0x0000fdff
-_08013F70: .4byte 0x0000f3ff
-_08013F74: .4byte 0x0000efff
-_08013F78: .4byte 0x0000dfff
-_08013F7C: .4byte 0x00003fff
-_08013F80: .4byte 0x00000fff
- thumb_func_end sub_8013E54
-
- thumb_func_start sub_8013F84
-sub_8013F84:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _08014090
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _08014094
- ands r1, r0
- ldr r3, _08014098
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _0801409C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r5, _080140A0
- adds r0, r5, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080140A4
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080140A8
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080140AC
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- mov r3, sp
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r5
- movs r2, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _080140B0
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x60
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r3, 0x6]
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x6]
- movs r0, 0x70
- strh r0, [r3, 0x2]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08014090: .4byte gUnknown_2027370
-_08014094: .4byte 0x0000feff
-_08014098: .4byte 0xffff0000
-_0801409C: .4byte 0x0000fdff
-_080140A0: .4byte 0x0000f3ff
-_080140A4: .4byte 0x0000efff
-_080140A8: .4byte 0x0000dfff
-_080140AC: .4byte 0x00003fff
-_080140B0: .4byte 0x00000fff
- thumb_func_end sub_8013F84
-
- thumb_func_start sub_80140B4
-sub_80140B4:
- push {r4-r7,lr}
- ldr r4, _080140D8
- adds r2, r0, 0
- movs r3, 0x3
-_080140BC:
- adds r1, r2, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r4, 0x18
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _080140BC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080140D8: .4byte gUnknown_80D47C8
- thumb_func_end sub_80140B4
-
- thumb_func_start sub_80140DC
-sub_80140DC:
- push {lr}
- sub sp, 0x4
- ldr r0, _080140F4
- str r0, [sp]
- mov r0, sp
- bl SetSavingIconCoords
- bl sub_8011830
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080140F4: .4byte 0x008000c8
- thumb_func_end sub_80140DC
-
- thumb_func_start sub_80140F8
-sub_80140F8:
- push {lr}
- sub sp, 0x4
- ldr r0, _08014110
- str r0, [sp]
- mov r0, sp
- bl SetSavingIconCoords
- bl sub_8011830
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08014110: .4byte 0x004000bc
- thumb_func_end sub_80140F8
-
- thumb_func_start sub_8014114
-sub_8014114:
- push {lr}
- bl sub_8011854
- movs r0, 0
- bl SetSavingIconCoords
- pop {r0}
- bx r0
- thumb_func_end sub_8014114
-
- thumb_func_start nullsub_201
-nullsub_201:
- bx lr
- thumb_func_end nullsub_201
-
- thumb_func_start sub_8014128
-sub_8014128:
- push {lr}
- bl sub_8012AE8
- cmp r0, 0x2
- beq _08014136
- movs r0, 0x1
- b _08014138
-_08014136:
- movs r0, 0
-_08014138:
- pop {r1}
- bx r1
- thumb_func_end sub_8014128
-
- thumb_func_start sub_801413C
-sub_801413C:
- movs r0, 0
- bx lr
- thumb_func_end sub_801413C
-
- thumb_func_start sub_8014140
-sub_8014140:
- movs r0, 0
- bx lr
- thumb_func_end sub_8014140
-
- thumb_func_start sub_8014144
-sub_8014144:
- ldr r0, _0801415C
- movs r2, 0
- str r2, [r0]
- ldr r0, _08014160
- movs r1, 0x3C
- str r1, [r0]
- ldr r0, _08014164
- str r1, [r0]
- ldr r0, _08014168
- str r2, [r0]
- bx lr
- .align 2, 0
-_0801415C: .4byte gUnknown_202E744
-_08014160: .4byte gUnknown_202E738
-_08014164: .4byte gUnknown_202E73C
-_08014168: .4byte gUnknown_202E740
- thumb_func_end sub_8014144
-
- thumb_func_start sub_801416C
-sub_801416C:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bge _0801418C
- ldr r0, _08014184
- str r3, [r0]
- ldr r1, _08014188
- negs r0, r2
- b _08014194
- .align 2, 0
-_08014184: .4byte gUnknown_202E738
-_08014188: .4byte gUnknown_202E740
-_0801418C:
- ldr r0, _080141A8
- str r2, [r0]
- ldr r1, _080141AC
- movs r0, 0
-_08014194:
- str r0, [r1]
- ldr r0, _080141B0
- adds r1, r3, 0
- cmp r1, 0
- bge _080141A0
- movs r1, 0
-_080141A0:
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080141A8: .4byte gUnknown_202E738
-_080141AC: .4byte gUnknown_202E740
-_080141B0: .4byte gUnknown_202E73C
- thumb_func_end sub_801416C
-
- thumb_func_start sub_80141B4
-sub_80141B4:
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r3, 16
- lsrs r3, 16
- movs r6, 0x1
- negs r6, r6
- movs r5, 0
- str r5, [sp]
- movs r4, 0x3
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- str r2, [sp, 0xC]
- str r3, [sp, 0x10]
- adds r2, r6, 0
- movs r3, 0
- bl sub_8014248
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80141B4
-
- thumb_func_start sub_80141E0
-sub_80141E0:
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r6, r2, 16
- movs r2, 0x1
- negs r2, r2
- ldr r3, _08014210
- movs r5, 0
- str r5, [sp]
- movs r4, 0x3
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0xC0
- lsls r1, 18
- orrs r1, r6
- lsrs r1, 16
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08014210: .4byte gUnknown_80D485C
- thumb_func_end sub_80141E0
-
- thumb_func_start sub_8014214
-sub_8014214:
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r6, r2, 16
- movs r2, 0x1
- negs r2, r2
- ldr r3, _08014244
- movs r5, 0
- str r5, [sp]
- movs r4, 0x3
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0xC0
- lsls r1, 18
- orrs r1, r6
- lsrs r1, 16
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08014244: .4byte gUnknown_80D4880
- thumb_func_end sub_8014214
-
- thumb_func_start sub_8014248
-sub_8014248:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r1, 0
- mov r9, r2
- mov r8, r3
- ldr r5, [sp, 0x28]
- ldr r7, [sp, 0x30]
- ldr r1, [sp, 0x34]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- movs r1, 0
- str r1, [sp]
- ldr r4, _080142B8
- ldr r3, _080142BC
- adds r2, r4, r3
- adds r1, r4, 0
- mov r3, r10
- bl xxx_format_string
- ldr r0, _080142C0
- str r4, [r0]
- ldr r0, _080142C4
- str r6, [r0, 0x24]
- ldr r0, _080142C8
- str r5, [r0]
- ldr r0, _080142CC
- mov r4, r8
- str r4, [r0]
- ldr r0, _080142D0
- ldr r5, [sp, 0x24]
- str r5, [r0]
- ldr r0, _080142D4
- mov r6, r9
- str r6, [r0]
- ldr r0, _080142D8
- bl sub_801317C
- movs r0, 0x10
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- beq _080142E4
- ldr r2, _080142DC
- adds r1, r2, 0
- ldr r0, _080142E0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r1!, {r3,r4,r6}
- b _080142F2
- .align 2, 0
-_080142B8: .4byte gUnknown_202E798
-_080142BC: .4byte 0x000003e7
-_080142C0: .4byte gUnknown_202E794
-_080142C4: .4byte gUnknown_202E748
-_080142C8: .4byte gUnknown_202EC10
-_080142CC: .4byte gUnknown_202EC14
-_080142D0: .4byte gUnknown_202EC18
-_080142D4: .4byte gUnknown_202EC1C
-_080142D8: .4byte gUnknown_202EC28
-_080142DC: .4byte gUnknown_203B198
-_080142E0: .4byte gUnknown_80D48DC
-_080142E4:
- ldr r2, _08014358
- adds r1, r2, 0
- ldr r0, _0801435C
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
-_080142F2:
- adds r4, r2, 0
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x28]
- movs r0, 0x40
- strb r0, [r4, 0x18]
- cmp r7, 0
- beq _08014368
- ldr r1, [r7, 0x4]
- cmp r1, 0
- beq _08014368
- ldrb r0, [r7, 0xC]
- lsls r0, 3
- adds r1, 0x4
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _08014368
- ldrh r0, [r7, 0x8]
- strh r0, [r4, 0x20]
- ldrh r0, [r7, 0xA]
- strh r0, [r4, 0x22]
- movs r0, 0x5
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x28]
- movs r4, 0
-_0801432A:
- adds r0, r4, 0
- adds r0, 0xE0
- ldr r2, [r7, 0x4]
- ldrb r1, [r7, 0xC]
- lsls r1, 3
- adds r2, r1
- lsls r3, r4, 2
- ldr r1, [r2]
- adds r1, r3
- bl SetBGPaletteBufferColorArray
- adds r4, 0x1
- cmp r4, 0xF
- ble _0801432A
- movs r0, 0x1
- str r0, [sp]
- ldrb r0, [r7, 0xE]
- cmp r0, 0
- beq _08014360
- ldr r1, _08014358
- movs r0, 0x7
- b _08014364
- .align 2, 0
-_08014358: .4byte gUnknown_203B198
-_0801435C: .4byte gUnknown_80D48C4
-_08014360:
- ldr r1, _080143E8
- movs r0, 0x5
-_08014364:
- str r0, [r1, 0x1C]
- adds r4, r1, 0
-_08014368:
- ldr r2, _080143EC
- adds r1, r4, 0
- adds r1, 0x30
- adds r0, r2, 0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- adds r0, r4, 0
- adds r0, 0x48
- ldm r2!, {r1,r3,r5}
- stm r0!, {r1,r3,r5}
- ldm r2!, {r1,r3,r6}
- stm r0!, {r1,r3,r6}
- bl sub_8004914
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, _080143F0
- movs r4, 0
- movs r2, 0
- movs r0, 0x4
- strh r0, [r1]
- strh r0, [r1, 0x2]
- movs r0, 0x70
- strh r0, [r1, 0x8]
- ldr r0, _080143F4
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- lsls r0, 3
- adds r0, 0x22
- strh r0, [r1, 0xA]
- movs r0, 0x7
- str r0, [r1, 0x10]
- str r2, [r1, 0x1C]
- adds r1, 0x20
- strb r4, [r1]
- movs r0, 0x10
- mov r6, r10
- ands r0, r6
- movs r1, 0x3
- cmp r0, 0
- beq _080143C6
- movs r1, 0x8
-_080143C6:
- adds r0, r1, 0
- bl sub_80063D8
- ldr r0, _080143F8
- movs r1, 0x1
- str r1, [r0]
- ldr r0, _080143FC
- mov r2, r10
- strh r2, [r0]
- movs r0, 0x20
- mov r3, r10
- ands r0, r3
- cmp r0, 0
- beq _08014404
- ldr r0, _08014400
- strb r1, [r0]
- b _08014408
- .align 2, 0
-_080143E8: .4byte gUnknown_203B198
-_080143EC: .4byte gUnknown_80D48AC
-_080143F0: .4byte gUnknown_202E748
-_080143F4: .4byte gUnknown_2027370
-_080143F8: .4byte gUnknown_202E744
-_080143FC: .4byte gUnknown_202E77C
-_08014400: .4byte gUnknown_202E790
-_08014404:
- ldr r0, _0801445C
- strb r4, [r0]
-_08014408:
- movs r0, 0x80
- lsls r0, 3
- mov r4, r10
- ands r0, r4
- cmp r0, 0
- beq _08014418
- bl sub_8094C14
-_08014418:
- ldr r0, _08014460
- movs r1, 0x1
- str r1, [r0]
- ldr r0, _08014464
- str r1, [r0]
- bl sub_80048F8
- ldr r1, _08014468
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0801446C
- movs r0, 0
- str r0, [r1]
- ldr r5, [sp]
- cmp r5, 0
- beq _08014480
- ldr r0, [r7, 0x4]
- ldrb r1, [r7, 0xC]
- lsls r1, 3
- adds r0, 0x4
- adds r0, r1
- ldr r4, [r0]
- movs r0, 0x1
- bl sub_80073B8
- ldrb r0, [r7, 0xD]
- cmp r0, 0
- bne _08014470
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xE
- bl sub_8008274
- b _0801447A
- .align 2, 0
-_0801445C: .4byte gUnknown_202E790
-_08014460: .4byte gUnknown_202E788
-_08014464: .4byte gUnknown_202E78C
-_08014468: .4byte gUnknown_202E791
-_0801446C: .4byte gUnknown_202E784
-_08014470:
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xE
- bl sub_800836C
-_0801447A:
- movs r0, 0x1
- bl sub_80073E0
-_08014480:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8014248
-
- thumb_func_start sub_8014490
-sub_8014490:
- ldr r0, _0801449C
- movs r1, 0
- str r1, [r0]
- ldr r0, _080144A0
- str r1, [r0]
- bx lr
- .align 2, 0
-_0801449C: .4byte gUnknown_202E744
-_080144A0: .4byte gUnknown_202EC1C
- thumb_func_end sub_8014490
-
- thumb_func_start sub_80144A4
-sub_80144A4:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- beq _080144B2
- ldr r0, _080144BC
- ldr r0, [r0]
- str r0, [r1]
-_080144B2:
- ldr r0, _080144C0
- ldr r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_080144BC: .4byte gUnknown_202EC1C
-_080144C0: .4byte gUnknown_202E744
- thumb_func_end sub_80144A4
-
- thumb_func_start xxx_draw_string_80144C4
-xxx_draw_string_80144C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0x1
- mov r10, r0
- ldr r1, _080144F4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_080144DC:
- ldr r0, _080144F8
- ldr r1, [r0]
- adds r3, r0, 0
- cmp r1, 0xB
- bls _080144E8
- b _08014A6A
-_080144E8:
- lsls r0, r1, 2
- ldr r1, _080144FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080144F4: .4byte gUnknown_202E784
-_080144F8: .4byte gUnknown_202E744
-_080144FC: .4byte _08014500
- .align 2, 0
-_08014500:
- .4byte _08014A72
- .4byte _08014530
- .4byte _08014708
- .4byte _08014A38
- .4byte _08014A48
- .4byte _08014A60
- .4byte _08014778
- .4byte _080147E2
- .4byte _080147E2
- .4byte _080147E2
- .4byte _080149D8
- .4byte _08014A04
-_08014530:
- ldr r0, _08014540
- ldr r6, [r0]
- ldr r0, _08014544
- ldrb r0, [r0]
- cmp r0, 0
- beq _0801457C
- ldr r7, _08014548
- b _08014580
- .align 2, 0
-_08014540: .4byte gUnknown_202E794
-_08014544: .4byte gUnknown_202E790
-_08014548: .4byte 0x0001869f
-_0801454C:
- str r2, [r3, 0x1C]
- adds r1, r3, 0
- adds r1, 0x20
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0801456C
- movs r0, 0x8
- str r0, [r1]
- ldr r0, _08014570
- strb r2, [r0]
- ldr r1, _08014574
- ldr r0, _08014578
- ldr r0, [r0]
- str r0, [r1]
- b _0801466C
- .align 2, 0
-_0801456C: .4byte gUnknown_202E744
-_08014570: .4byte gUnknown_202E791
-_08014574: .4byte gUnknown_202E780
-_08014578: .4byte gUnknown_202E738
-_0801457C:
- ldr r0, _08014594
- ldr r7, [r0]
-_08014580:
- ldr r1, _08014598
- movs r0, 0
- str r0, [r1, 0x2C]
- bl sub_80073B8
- ldr r1, _0801459C
- mov r8, r1
- ldr r2, _080145A0
- mov r9, r2
- b _08014652
- .align 2, 0
-_08014594: .4byte gUnknown_202E788
-_08014598: .4byte gUnknown_202E748
-_0801459C: .4byte gUnknown_202E744
-_080145A0: .4byte gUnknown_202E780
-_080145A4:
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r5, [r0]
- cmp r5, 0
- beq _080145EC
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- cmp r0, 0x22
- ble _080145CC
- movs r0, 0x8
- mov r4, r8
- str r0, [r4]
- ldr r0, _080145C8
- ldr r0, [r0]
- mov r1, r9
- str r0, [r1]
- b _080145DA
- .align 2, 0
-_080145C8: .4byte gUnknown_202E738
-_080145CC:
- movs r0, 0x7
- mov r2, r8
- str r0, [r2]
- ldr r0, _080145E4
- ldr r0, [r0]
- mov r3, r9
- str r0, [r3]
-_080145DA:
- ldr r1, _080145E8
- movs r0, 0
- strb r0, [r1]
- b _0801466C
- .align 2, 0
-_080145E4: .4byte gUnknown_202E73C
-_080145E8: .4byte gUnknown_202E791
-_080145EC:
- ldrb r0, [r6]
- cmp r0, 0
- beq _0801466C
- cmp r0, 0xD
- beq _080145FA
- cmp r0, 0xA
- bne _08014608
-_080145FA:
- movs r0, 0x4
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0xB
- strh r0, [r4, 0x2]
- adds r6, 0x1
- b _08014630
-_08014608:
- adds r0, r6, 0
- add r1, sp, 0x4
- bl xxx_get_next_char_from_string
- adds r6, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- ldr r2, [sp, 0x4]
- ldr r3, [r4, 0x10]
- str r5, [sp]
- bl xxx_call_draw_char
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- ldr r0, _08014694
- ldr r0, [r0]
- str r0, [r4, 0x2C]
-_08014630:
- ldr r3, _08014698
- movs r4, 0x2
- ldrsh r0, [r3, r4]
- cmp r0, 0x22
- ble _08014650
- ldr r0, _0801469C
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- bne _0801464C
- b _0801454C
-_0801464C:
- movs r0, 0x4
- strh r0, [r3, 0x2]
-_08014650:
- subs r7, 0x1
-_08014652:
- cmp r7, 0
- ble _0801466C
- ldr r4, _08014698
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8009190
- adds r6, r0, 0
- adds r0, r4, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0
- beq _080145A4
-_0801466C:
- movs r0, 0
- bl sub_80073E0
- ldr r4, _080146A0
- str r6, [r4]
- ldr r0, _080146A4
- bl sub_801317C
- ldr r0, [r4]
- ldrb r0, [r0]
- cmp r0, 0
- bne _080146BC
- ldr r0, _080146A8
- ldr r0, [r0]
- cmp r0, 0
- beq _080146B0
- ldr r1, _080146AC
- movs r0, 0x3
- str r0, [r1]
- b _08014A72
- .align 2, 0
-_08014694: .4byte gUnknown_202E78C
-_08014698: .4byte gUnknown_202E748
-_0801469C: .4byte gUnknown_202E77C
-_080146A0: .4byte gUnknown_202E794
-_080146A4: .4byte gUnknown_202EC28
-_080146A8: .4byte gUnknown_202EC14
-_080146AC: .4byte gUnknown_202E744
-_080146B0:
- ldr r1, _080146B8
- movs r0, 0x6
- str r0, [r1]
- b _08014A72
- .align 2, 0
-_080146B8: .4byte gUnknown_202E744
-_080146BC:
- ldr r0, _080146E8
- movs r2, 0
- str r2, [r0, 0x30]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080146FC
- ldr r1, _080146EC
- ldr r0, [r1]
- cmp r0, 0x1
- beq _080146D4
- b _08014A72
-_080146D4:
- movs r0, 0x7
- str r0, [r1]
- ldr r0, _080146F0
- strb r2, [r0]
- ldr r1, _080146F4
- ldr r0, _080146F8
- ldr r0, [r0]
- str r0, [r1]
- b _08014A72
- .align 2, 0
-_080146E8: .4byte gUnknown_202E748
-_080146EC: .4byte gUnknown_202E744
-_080146F0: .4byte gUnknown_202E791
-_080146F4: .4byte gUnknown_202E780
-_080146F8: .4byte gUnknown_202E738
-_080146FC:
- ldr r1, _08014704
- movs r0, 0x2
- b _08014A68
- .align 2, 0
-_08014704: .4byte gUnknown_202E744
-_08014708:
- ldr r4, _08014760
- ldrh r1, [r4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08014718
- bl sub_8011A04
-_08014718:
- ldrh r1, [r4]
- movs r0, 0x2
- ands r0, r1
- ldr r2, _08014764
- cmp r0, 0
- bne _08014742
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08014742
- ldr r0, _08014768
- ldrh r1, [r0, 0x2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08014742
- ldr r0, _0801476C
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08014770
- str r0, [r2, 0x30]
-_08014742:
- ldr r1, [r2, 0x30]
- adds r1, 0x1
- str r1, [r2, 0x30]
- ldr r0, [r2, 0x2C]
- cmp r1, r0
- bgt _08014750
- b _08014A72
-_08014750:
- ldr r1, _08014774
- movs r0, 0x1
- str r0, [r1]
- adds r1, r2, 0
- adds r1, 0x21
- movs r0, 0
- strb r0, [r1]
- b _08014A6A
- .align 2, 0
-_08014760: .4byte gUnknown_202E77C
-_08014764: .4byte gUnknown_202E748
-_08014768: .4byte gUnknown_20255F0
-_0801476C: .4byte gUnknown_202E790
-_08014770: .4byte 0x0001869f
-_08014774: .4byte gUnknown_202E744
-_08014778:
- ldr r0, _080147B4
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080147DC
- movs r0, 0x9
- str r0, [r3]
- ldr r1, _080147B8
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080147BC
- ldr r1, [r0]
- cmp r1, 0
- ble _080147C8
- ldr r2, _080147C0
- ldr r0, _080147C4
- ldr r0, [r0]
- subs r0, r1, r0
- str r0, [r2]
- cmp r0, 0
- blt _080147A8
- b _08014A6A
-_080147A8:
- movs r0, 0xB
- str r0, [r3]
- movs r0, 0
- str r0, [r2]
- b _08014A6A
- .align 2, 0
-_080147B4: .4byte gUnknown_202E77C
-_080147B8: .4byte gUnknown_202E791
-_080147BC: .4byte gUnknown_202E740
-_080147C0: .4byte gUnknown_202E780
-_080147C4: .4byte gUnknown_202E784
-_080147C8:
- ldr r0, _080147D4
- ldr r1, _080147D8
- ldr r1, [r1]
- str r1, [r0]
- b _08014A6A
- .align 2, 0
-_080147D4: .4byte gUnknown_202E780
-_080147D8: .4byte gUnknown_202E738
-_080147DC:
- movs r0, 0xB
- str r0, [r3]
- b _08014A6A
-_080147E2:
- movs r5, 0
- ldr r0, _0801481C
- adds r0, 0x20
- strb r5, [r0]
- ldr r4, _08014820
- adds r0, r4, 0
- movs r1, 0
- bl nullsub_34
- ldr r0, _08014824
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08014802
- b _0801494C
-_08014802:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0801482C
- ldr r1, _08014828
- ldr r0, [r1]
- cmp r0, 0
- bgt _08014814
- b _0801494C
-_08014814:
- subs r0, 0x1
- str r0, [r1]
- b _08014856
- .align 2, 0
-_0801481C: .4byte gUnknown_202E748
-_08014820: .4byte gUnknown_202EC28
-_08014824: .4byte gUnknown_202E77C
-_08014828: .4byte gUnknown_202E780
-_0801482C:
- ldr r2, _080148E4
- ldrh r1, [r2, 0x2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0801483A
- b _0801494C
-_0801483A:
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08014842
- b _0801494C
-_08014842:
- ldrh r1, [r2]
- movs r0, 0xF2
- ands r0, r1
- cmp r0, 0x2
- bne _0801484E
- b _0801494C
-_0801484E:
- ldrb r0, [r4, 0x5]
- cmp r0, 0
- beq _08014856
- movs r5, 0x1
-_08014856:
- cmp r5, 0
- bne _0801494C
- ldr r1, _080148E8
- ldrb r0, [r1]
- adds r2, r0, 0x1
- strb r2, [r1]
- ldr r0, _080148EC
- ldrh r7, [r0]
- movs r0, 0x2
- ands r0, r7
- cmp r0, 0
- beq _08014870
- b _08014A72
-_08014870:
- movs r0, 0x8
- ands r2, r0
- cmp r2, 0
- bne _0801487A
- b _08014A72
-_0801487A:
- ldr r3, _080148F0
- ldrh r1, [r3]
- ldr r0, _080148F4
- ands r0, r1
- ldr r1, _080148F8
- ands r0, r1
- ldr r4, _080148FC
- ands r0, r4
- ldr r1, _08014900
- ands r0, r1
- ldr r1, _08014904
- ands r0, r1
- movs r1, 0x80
- lsls r1, 7
- ldr r2, _08014908
- ands r0, r2
- orrs r0, r1
- strh r0, [r3]
- ldrh r0, [r3, 0x2]
- ldr r5, _0801490C
- ands r5, r0
- ands r5, r2
- strh r5, [r3, 0x2]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r6, 0xF
- lsls r1, r6, 12
- ldr r2, _08014910
- ands r0, r2
- movs r4, 0
- mov r8, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- movs r0, 0x10
- ands r0, r7
- adds r4, r3, 0
- cmp r0, 0
- beq _08014914
- movs r2, 0xF0
- lsls r2, 3
- ldrh r1, [r4, 0x6]
- adds r0, r6, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r4, 0x6]
- movs r0, 0x70
- b _08014932
- .align 2, 0
-_080148E4: .4byte gUnknown_20255F0
-_080148E8: .4byte gUnknown_202E791
-_080148EC: .4byte gUnknown_202E77C
-_080148F0: .4byte gUnknown_202E6E0
-_080148F4: .4byte 0x0000feff
-_080148F8: .4byte 0x0000fdff
-_080148FC: .4byte 0x0000f3ff
-_08014900: .4byte 0x0000efff
-_08014904: .4byte 0x0000dfff
-_08014908: .4byte 0x00003fff
-_0801490C: .4byte 0x0000c1ff
-_08014910: .4byte 0x00000fff
-_08014914:
- ldr r3, _08014944
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- adds r1, 0x1
- ands r1, r2
- lsls r1, 4
- ldrh r2, [r4, 0x6]
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x6]
- movs r1, 0x8
- ldrsh r0, [r3, r1]
- ldr r1, _08014948
- ands r0, r1
-_08014932:
- strh r0, [r4, 0x2]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
- b _08014A72
- .align 2, 0
-_08014944: .4byte gUnknown_202E748
-_08014948: .4byte 0x000001ff
-_0801494C:
- ldr r0, _08014960
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- bne _08014968
- ldr r1, _08014964
- movs r0, 0xB
- str r0, [r1]
- b _080149BA
- .align 2, 0
-_08014960: .4byte gUnknown_202E794
-_08014964: .4byte gUnknown_202E744
-_08014968:
- ldr r4, _08014974
- ldr r0, [r4]
- cmp r0, 0x9
- bne _08014978
- movs r0, 0xB
- b _080149B8
- .align 2, 0
-_08014974: .4byte gUnknown_202E744
-_08014978:
- cmp r0, 0x8
- bne _080149B6
- ldr r2, _080149A0
- movs r1, 0x4
- strh r1, [r2]
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0x22
- ble _080149B6
- strh r1, [r2, 0x2]
- ldr r0, _080149A4
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080149A8
-_08014998:
- movs r0, 0
- bl sub_8008C54
- b _080149B6
- .align 2, 0
-_080149A0: .4byte gUnknown_202E748
-_080149A4: .4byte gUnknown_202E77C
-_080149A8:
- ldr r1, [r2, 0x1C]
- cmp r1, 0
- bne _08014998
- movs r0, 0xA
- str r0, [r4]
- str r1, [r2, 0x28]
- b _080149BA
-_080149B6:
- movs r0, 0x1
-_080149B8:
- str r0, [r4]
-_080149BA:
- ldr r1, _080149D0
- movs r0, 0x70
- strh r0, [r1, 0x8]
- ldr r0, _080149D4
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- lsls r0, 3
- adds r0, 0x22
- strh r0, [r1, 0xA]
- b _08014A72
- .align 2, 0
-_080149D0: .4byte gUnknown_202E748
-_080149D4: .4byte gUnknown_2027370
-_080149D8:
- ldr r4, _080149F8
- ldr r0, [r4, 0x28]
- adds r0, 0x1
- str r0, [r4, 0x28]
- ldr r0, _080149FC
- ldr r1, [r0]
- movs r0, 0
- bl _call_via_r1
- ldr r0, [r4, 0x28]
- cmp r0, 0x11
- ble _08014A72
- ldr r1, _08014A00
- movs r0, 0x1
- str r0, [r1]
- b _08014A72
- .align 2, 0
-_080149F8: .4byte gUnknown_202E748
-_080149FC: .4byte gUnknown_203B088
-_08014A00: .4byte gUnknown_202E744
-_08014A04:
- ldr r0, _08014A2C
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _08014A34
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, _08014A30
- movs r0, 0
- str r0, [r1]
- b _08014A72
- .align 2, 0
-_08014A2C: .4byte gUnknown_202E77C
-_08014A30: .4byte gUnknown_202E744
-_08014A34:
- str r0, [r3]
- b _08014A72
-_08014A38:
- bl sub_8014A88
- ldr r1, _08014A44
- movs r0, 0x4
- str r0, [r1]
- b _08014A72
- .align 2, 0
-_08014A44: .4byte gUnknown_202E744
-_08014A48:
- bl sub_8014B94
- lsls r0, 24
- cmp r0, 0
- beq _08014A72
- ldr r1, _08014A5C
- movs r0, 0x5
- str r0, [r1]
- b _08014A72
- .align 2, 0
-_08014A5C: .4byte gUnknown_202E744
-_08014A60:
- bl nullsub_35
- ldr r1, _08014A84
- movs r0, 0xB
-_08014A68:
- str r0, [r1]
-_08014A6A:
- mov r0, r10
- cmp r0, 0
- beq _08014A72
- b _080144DC
-_08014A72:
- 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
-_08014A84: .4byte gUnknown_202E744
- thumb_func_end xxx_draw_string_80144C4
-
- thumb_func_start sub_8014A88
-sub_8014A88:
- push {r4-r7,lr}
- sub sp, 0x88
- ldr r0, _08014A98
- ldr r4, [r0]
- movs r5, 0
- movs r7, 0
- movs r6, 0
- b _08014ABE
- .align 2, 0
-_08014A98: .4byte gUnknown_202EC14
-_08014A9C:
- adds r5, 0xC
- ldr r0, [r4]
- add r1, sp, 0x8
- add r2, sp, 0x88
- movs r3, 0
- bl xxx_format_string
- add r0, sp, 0x8
- bl sub_8008ED0
- cmp r7, r0
- bge _08014AB6
- adds r7, r0, 0
-_08014AB6:
- adds r4, 0x8
- adds r6, 0x1
- cmp r6, 0x9
- bgt _08014AC4
-_08014ABE:
- ldr r0, [r4]
- cmp r0, 0
- bne _08014A9C
-_08014AC4:
- adds r0, r5, 0
- cmp r5, 0
- bge _08014ACC
- adds r0, r5, 0x7
-_08014ACC:
- asrs r2, r0, 3
- movs r0, 0x7
- ands r5, r0
- cmp r5, 0
- beq _08014AD8
- adds r2, 0x1
-_08014AD8:
- ldr r4, _08014B74
- ldr r0, _08014B78
- ldr r0, [r0]
- str r0, [r4, 0x34]
- adds r1, r7, 0
- cmp r1, 0
- bge _08014AE8
- adds r1, 0x7
-_08014AE8:
- asrs r1, 3
- adds r1, 0x2
- strh r1, [r4, 0x3C]
- adds r0, r4, 0
- adds r0, 0x40
- strh r2, [r0]
- strh r2, [r4, 0x3E]
- movs r0, 0x1C
- subs r0, r1
- strh r0, [r4, 0x38]
- movs r0, 0xE
- subs r0, r2
- strh r0, [r4, 0x3A]
- movs r0, 0x80
- strb r0, [r4]
- movs r0, 0xC0
- strb r0, [r4, 0x18]
- ldr r5, _08014B7C
- ldr r0, [r5]
- cmp r0, 0
- beq _08014B1E
- adds r1, r4, 0
- adds r1, 0x48
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
-_08014B1E:
- bl sub_8004914
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_800641C
- ldr r0, _08014B80
- ldr r1, _08014B84
- ldr r1, [r1]
- ldr r2, _08014B88
- ldr r3, _08014B8C
- ldr r3, [r3]
- ldr r4, _08014B90
- ldr r4, [r4]
- str r4, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- bl sub_8012D60
- ldr r0, [r5]
- cmp r0, 0
- beq _08014B6A
- movs r0, 0x3
- bl sub_80073B8
- ldr r0, [r5]
- ldr r2, [r0, 0x18]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0x2
- movs r3, 0x3
- bl xxx_call_draw_string
- movs r0, 0x3
- bl sub_80073E0
-_08014B6A:
- add sp, 0x88
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08014B74: .4byte gUnknown_203B198
-_08014B78: .4byte gUnknown_202EC10
-_08014B7C: .4byte gUnknown_202EC20
-_08014B80: .4byte gUnknown_202EBC0
-_08014B84: .4byte gUnknown_202EC14
-_08014B88: .4byte gUnknown_80D48A0
-_08014B8C: .4byte gUnknown_202EC18
-_08014B90: .4byte gUnknown_202EC1C
- thumb_func_end sub_8014A88
-
- thumb_func_start sub_8014B94
-sub_8014B94:
- push {r4,lr}
- ldr r4, _08014BA8
- adds r0, r4, 0
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- beq _08014BAC
- movs r0, 0
- b _08014BB6
- .align 2, 0
-_08014BA8: .4byte gUnknown_202EBC0
-_08014BAC:
- ldr r1, _08014BBC
- adds r0, r4, 0
- bl sub_8013114
- movs r0, 0x1
-_08014BB6:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08014BBC: .4byte gUnknown_202EC1C
- thumb_func_end sub_8014B94
-
- thumb_func_start nullsub_35
-nullsub_35:
- bx lr
- thumb_func_end nullsub_35
-
- thumb_func_start xxx_format_string
-xxx_format_string:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r5, r0, 0
- str r1, [sp, 0x3C]
- adds r7, r2, 0
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- movs r0, 0x1
- mov r10, r0
- mov r9, r0
- subs r7, 0x1
- b _08014F62
-_08014BE6:
- movs r1, 0x1
- b _08014C2C
-_08014BEA:
- mov r0, r10
- cmp r0, 0
- beq _08014C24
- movs r1, 0
- mov r10, r1
- mov r9, r1
- movs r0, 0x8
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _08014C2E
- ldr r0, _08014C1C
- add r4, sp, 0x3C
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8014FA8
- ldr r0, _08014C20
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8014FA8
- b _08014C2E
- .align 2, 0
-_08014C1C: .4byte gUnknown_202E5D8
-_08014C20: .4byte gUnknown_80D48F4
-_08014C24:
- mov r0, r9
- cmp r0, 0
- beq _08014C2E
- movs r1, 0
-_08014C2C:
- mov r9, r1
-_08014C2E:
- cmp r6, 0x23
- bne _08014C5A
- ldrb r3, [r5, 0x1]
- cmp r3, 0x50
- beq _08014C3C
- cmp r3, 0x70
- bne _08014C42
-_08014C3C:
- movs r0, 0x1
- mov r10, r0
- mov r9, r0
-_08014C42:
- ldr r1, [sp, 0x3C]
- adds r2, r1, 0x1
- cmp r2, r7
- bcs _08014C56
- movs r0, 0x23
- strb r0, [r1]
- str r2, [sp, 0x3C]
- strb r3, [r1, 0x1]
- adds r0, r2, 0x1
- str r0, [sp, 0x3C]
-_08014C56:
- adds r5, 0x2
- b _08014F62
-_08014C5A:
- cmp r6, 0x24
- beq _08014C60
- b _08014F26
-_08014C60:
- movs r4, 0
- adds r5, 0x1
- ldrb r0, [r5]
- subs r0, 0x24
- cmp r0, 0x52
- bls _08014C6E
- b _08014F0E
-_08014C6E:
- lsls r0, 2
- ldr r1, _08014C78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08014C78: .4byte _08014C7C
- .align 2, 0
-_08014C7C:
- .4byte _08014F04
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0C
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014EC4
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014E60
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014E54
- .4byte _08014DC8
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014DDC
- .4byte _08014E10
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014F0E
- .4byte _08014E24
- .4byte _08014F0E
- .4byte _08014E84
-_08014DC8:
- adds r5, 0x1
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 4
- ldr r0, _08014DD8
- adds r4, r1, r0
- b _08014F0C
- .align 2, 0
-_08014DD8: .4byte gUnknown_202CF58
-_08014DDC:
- adds r5, 0x1
- ldrb r0, [r5]
- cmp r0, 0x6D
- bne _08014DFC
- bl sub_808D3BC
- adds r1, r0, 0
- ldr r4, _08014DF8
- adds r0, r4, 0
- movs r2, 0
- bl sub_808D9AC
- b _08014F0E
- .align 2, 0
-_08014DF8: .4byte gUnknown_202EB80
-_08014DFC:
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 4
- ldr r0, _08014E0C
- adds r4, r1, r0
- b _08014F0C
- .align 2, 0
-_08014E0C: .4byte gUnknown_202D098
-_08014E10:
- adds r5, 0x1
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 4
- ldr r0, _08014E20
- adds r4, r1, r0
- b _08014F0C
- .align 2, 0
-_08014E20: .4byte gUnknown_202D3B8
-_08014E24:
- adds r5, 0x1
- movs r0, 0
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08014E40
- ldr r0, _08014E3C
- bl sub_80920D8
- b _08014E48
- .align 2, 0
-_08014E3C: .4byte gUnknown_202E6E8
-_08014E40:
- ldr r0, _08014E4C
- ldr r1, _08014E50
- bl strcpy
-_08014E48:
- ldr r4, _08014E4C
- b _08014F0E
- .align 2, 0
-_08014E4C: .4byte gUnknown_202E6E8
-_08014E50: .4byte gUnknown_80D48F8
-_08014E54:
- adds r5, 0x1
- ldr r4, _08014E5C
- b _08014F0E
- .align 2, 0
-_08014E5C: .4byte gUnknown_202E628
-_08014E60:
- adds r5, 0x1
- ldr r1, _08014E7C
- ldr r2, _08014E80
- ldrb r0, [r5]
- subs r0, 0x30
- lsls r0, 2
- adds r0, r2
- adds r5, 0x1
- ldr r2, [r0]
- mov r0, sp
- bl sub_800D158
-_08014E78:
- mov r4, sp
- b _08014F0E
- .align 2, 0
-_08014E7C: .4byte gUnknown_80D4900
-_08014E80: .4byte gUnknown_202DE30
-_08014E84:
- adds r5, 0x1
- ldr r1, _08014EBC
- ldrb r0, [r5]
- subs r0, 0x30
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r5, 0x1
- ldr r1, _08014EC0
- ldrb r2, [r5]
- subs r2, 0x30
- adds r5, 0x1
- mov r0, sp
- bl sub_800D158
- mov r0, sp
- ldrb r1, [r0]
- cmp r1, 0
- beq _08014E78
- movs r2, 0x60
-_08014EAC:
- cmp r1, 0x20
- bne _08014EB2
- strb r2, [r0]
-_08014EB2:
- adds r0, 0x1
- ldrb r1, [r0]
- cmp r1, 0
- bne _08014EAC
- b _08014E78
- .align 2, 0
-_08014EBC: .4byte gUnknown_202DE30
-_08014EC0: .4byte gUnknown_80D4904
-_08014EC4:
- adds r5, 0x1
- ldr r1, _08014EFC
- ldrb r0, [r5]
- subs r0, 0x30
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- adds r5, 0x1
- ldr r1, _08014F00
- ldrb r2, [r5]
- subs r2, 0x30
- adds r5, 0x1
- mov r0, sp
- bl sub_800D158
- mov r0, sp
- ldrb r1, [r0]
- cmp r1, 0
- beq _08014E78
- movs r2, 0x60
-_08014EEC:
- cmp r1, 0x20
- bne _08014EF2
- strb r2, [r0]
-_08014EF2:
- adds r0, 0x1
- ldrb r1, [r0]
- cmp r1, 0
- bne _08014EEC
- b _08014E78
- .align 2, 0
-_08014EFC: .4byte gUnknown_202DE30
-_08014F00: .4byte gUnknown_80D4908
-_08014F04:
- ldr r4, _08014F08
- b _08014F0E
- .align 2, 0
-_08014F08: .4byte gUnknown_80D4910
-_08014F0C:
- adds r5, 0x1
-_08014F0E:
- cmp r4, 0
- beq _08014F62
- add r1, sp, 0x3C
- adds r0, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8014FA8
- lsls r0, 24
- cmp r0, 0
- bne _08014F7E
- b _08014F62
-_08014F26:
- adds r0, r6, 0
- adds r0, 0x7F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08014F36
- cmp r6, 0x87
- bne _08014F54
-_08014F36:
- ldr r0, [sp, 0x3C]
- cmp r0, r7
- bcs _08014F42
- strb r6, [r0]
- adds r0, 0x1
- str r0, [sp, 0x3C]
-_08014F42:
- adds r5, 0x1
- ldrb r1, [r5]
- cmp r1, 0
- beq _08014F7E
- ldr r0, [sp, 0x3C]
- cmp r0, r7
- bcs _08014F60
- strb r1, [r0]
- b _08014F5C
-_08014F54:
- ldr r0, [sp, 0x3C]
- cmp r0, r7
- bcs _08014F60
- strb r6, [r0]
-_08014F5C:
- adds r0, 0x1
- str r0, [sp, 0x3C]
-_08014F60:
- adds r5, 0x1
-_08014F62:
- ldrb r6, [r5]
- cmp r6, 0
- beq _08014F7E
- cmp r6, 0xD
- beq _08014F72
- cmp r6, 0xA
- beq _08014F72
- b _08014BEA
-_08014F72:
- movs r0, 0x80
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _08014F7E
- b _08014BE6
-_08014F7E:
- ldr r0, [sp, 0x3C]
- movs r1, 0
- strb r1, [r0]
- ldrb r0, [r5]
- cmp r0, 0xD
- bne _08014F8C
- adds r5, 0x1
-_08014F8C:
- ldrb r0, [r5]
- cmp r0, 0xA
- bne _08014F94
- adds r5, 0x1
-_08014F94:
- adds r0, r5, 0
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end xxx_format_string
-
- thumb_func_start sub_8014FA8
-sub_8014FA8:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r3, 16
- lsrs r3, 16
- ldr r2, [r5]
- ldrb r1, [r4]
- cmp r1, 0
- beq _08014FE4
- movs r0, 0x80
- ands r0, r3
- lsls r0, 16
- lsrs r3, r0, 16
-_08014FC4:
- cmp r3, 0
- beq _08014FD2
- cmp r1, 0xD
- bne _08014FD2
- str r2, [r5]
- movs r0, 0x1
- b _08014FE8
-_08014FD2:
- cmp r2, r6
- bcs _08014FDC
- ldrb r0, [r4]
- strb r0, [r2]
- adds r2, 0x1
-_08014FDC:
- adds r4, 0x1
- ldrb r1, [r4]
- cmp r1, 0
- bne _08014FC4
-_08014FE4:
- str r2, [r5]
- movs r0, 0
-_08014FE8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8014FA8
-
- thumb_func_start sub_8014FF0
-sub_8014FF0:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x1F8
- adds r5, r0, 0
- adds r6, r1, 0
- adds r0, r2, 0
- mov r8, r3
- ldr r4, [sp, 0x20C]
- add r2, sp, 0x1F8
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- ldr r1, _08015030
- add r1, sp
- movs r0, 0
- strb r0, [r1]
- str r4, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- add r2, sp, 0x4
- mov r3, r8
- bl xxx_call_draw_string
- add sp, 0x1F8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08015030: .4byte 0x000001f7
- thumb_func_end sub_8014FF0
-
- thumb_func_start sub_8015034
-sub_8015034:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x1FC
- adds r6, r0, 0
- mov r8, r1
- adds r0, r2, 0
- mov r9, r3
- ldr r4, [sp, 0x214]
- ldr r5, [sp, 0x218]
- add r2, sp, 0x1FC
- add r1, sp, 0x8
- movs r3, 0
- bl xxx_format_string
- ldr r1, _0801507C
- add r1, sp
- movs r0, 0
- strb r0, [r1]
- str r4, [sp]
- str r5, [sp, 0x4]
- adds r0, r6, 0
- mov r1, r8
- add r2, sp, 0x8
- mov r3, r9
- bl sub_8008F8C
- add sp, 0x1FC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801507C: .4byte 0x000001fb
- thumb_func_end sub_8015034
-
- thumb_func_start sub_8015080
-sub_8015080:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- mov r9, r1
- ldr r4, _08015158
- ldr r0, _0801515C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0]
- mov r12, r4
- ldr r0, _08015160
- mov r10, r0
- mov r5, r12
- movs r3, 0
- movs r2, 0x3
-_080150AC:
- mov r4, r12
- ldr r1, [r4]
- adds r1, r3
- adds r1, 0x54
- mov r0, r10
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080150AC
- movs r4, 0
- ldr r1, [r5]
- adds r1, 0x54
- ldr r0, _08015164
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldr r1, [r5]
- adds r1, 0x84
- ldr r0, _08015168
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r0, [r5]
- adds r0, 0x84
- mov r1, r9
- bl sub_8012CAC
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x54
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl sub_80073B8
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0xB4
- ldr r6, _0801515C
- adds r2, r6
- mov r0, r8
- movs r3, 0
- bl xxx_format_string
- ldr r2, [r5]
- adds r2, 0xB4
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x4
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- ldr r0, [r5]
- adds r0, 0x4
- movs r1, 0x1
- negs r1, r1
- str r1, [sp]
- movs r1, 0x2
- str r1, [sp, 0x4]
- mov r1, r9
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- movs r0, 0x1
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08015158: .4byte gUnknown_203B1F8
-_0801515C: .4byte 0x000004b4
-_08015160: .4byte gUnknown_80DAF70
-_08015164: .4byte gUnknown_80DAF88
-_08015168: .4byte gUnknown_80DAFA0
- thumb_func_end sub_8015080
-
- thumb_func_start sub_801516C
-sub_801516C:
- push {r4,lr}
- ldr r4, _08015184
- ldr r0, [r4]
- adds r0, 0x4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- beq _08015188
- movs r0, 0
- b _08015192
- .align 2, 0
-_08015184: .4byte gUnknown_203B1F8
-_08015188:
- ldr r1, [r4]
- adds r0, r1, 0x4
- bl sub_8013114
- movs r0, 0x3
-_08015192:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801516C
-
- thumb_func_start sub_8015198
-sub_8015198:
- ldr r0, _080151A0
- ldr r0, [r0]
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080151A0: .4byte gUnknown_203B1F8
- thumb_func_end sub_8015198
-
- thumb_func_start sub_80151A4
-sub_80151A4:
- push {r4,lr}
- ldr r4, _080151BC
- ldr r0, [r4]
- cmp r0, 0
- beq _080151B6
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080151B6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080151BC: .4byte gUnknown_203B1F8
- thumb_func_end sub_80151A4
-
- thumb_func_start sub_80151C0
-sub_80151C0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _080151FC
- movs r0, 0xCC
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- str r5, [r0]
- movs r1, 0
- strb r1, [r0, 0x19]
- ldr r0, [r4]
- strb r1, [r0, 0x18]
- ldr r0, [r4]
- strb r1, [r0, 0x4]
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x5
- bhi _0801524C
- lsls r0, 2
- ldr r1, _08015200
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080151FC: .4byte gUnknown_203B1FC
-_08015200: .4byte _08015204
- .align 2, 0
-_08015204:
- .4byte _0801524C
- .4byte _0801524C
- .4byte _0801524C
- .4byte _0801524C
- .4byte _0801521C
- .4byte _08015234
-_0801521C:
- ldr r1, _08015230
- ldr r2, [r1]
- movs r0, 0x9
- strb r0, [r2, 0x1A]
- ldr r2, [r1]
- movs r0, 0x1
- strb r0, [r2, 0x4]
- ldr r2, [r1]
- movs r0, 0x36
- b _08015258
- .align 2, 0
-_08015230: .4byte gUnknown_203B1FC
-_08015234:
- ldr r1, _08015248
- ldr r2, [r1]
- movs r0, 0x9
- strb r0, [r2, 0x1A]
- ldr r2, [r1]
- movs r0, 0x1
- strb r0, [r2, 0x4]
- ldr r2, [r1]
- movs r0, 0x18
- b _08015258
- .align 2, 0
-_08015248: .4byte gUnknown_203B1FC
-_0801524C:
- ldr r1, _08015374
- ldr r2, [r1]
- movs r0, 0x6
- strb r0, [r2, 0x1A]
- ldr r2, [r1]
- movs r0, 0xA
-_08015258:
- strb r0, [r2, 0x1B]
- mov r8, r1
- mov r0, r8
- ldr r2, [r0]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r2, r1
- str r6, [r0]
- adds r1, r2, 0
- adds r1, 0xF8
- adds r0, r2, 0
- adds r0, 0xFC
- str r0, [r1]
- movs r2, 0
- mov r1, r8
- movs r3, 0
-_08015278:
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r2
- strb r3, [r0]
- adds r2, 0x1
- cmp r2, 0x35
- ble _08015278
- ldr r5, _08015374
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0xF8
- ldr r0, [r0]
- movs r3, 0x9A
- lsls r3, 1
- adds r1, r2, r3
- ldr r1, [r1]
- ldrb r2, [r2, 0x1B]
- bl MemoryCopy8
- movs r2, 0
- ldr r0, [r5]
- ldrb r3, [r0, 0x1B]
- cmp r2, r3
- bge _080152EA
- adds r1, r0, 0
- adds r1, 0xF8
- ldr r0, [r1]
- ldrb r0, [r0]
- mov r8, r5
- cmp r0, 0
- beq _080152C8
-_080152B8:
- adds r2, 0x1
- cmp r2, r3
- bge _080152EA
- ldr r0, [r1]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080152B8
-_080152C8:
- mov r4, r8
- ldr r0, [r4]
- ldrb r0, [r0, 0x1B]
- cmp r2, r0
- bge _080152EA
- mov r1, r8
- movs r3, 0
-_080152D6:
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r2
- strb r3, [r0]
- adds r2, 0x1
- ldr r0, [r1]
- ldrb r0, [r0, 0x1B]
- cmp r2, r0
- blt _080152D6
-_080152EA:
- bl sub_8015F44
- ldr r2, _08015374
- ldr r1, [r2]
- strb r0, [r1, 0x1C]
- ldr r1, [r2]
- ldrb r0, [r1, 0x1C]
- ldrb r5, [r1, 0x1B]
- cmp r0, r5
- bne _08015302
- subs r0, 0x1
- strb r0, [r1, 0x1C]
-_08015302:
- movs r6, 0x1
- mov r12, r6
- ldr r6, [r2]
- adds r5, r6, 0x6
- ldrh r1, [r6, 0x6]
- ldr r0, _08015378
- ands r0, r1
- ldr r1, _0801537C
- ands r0, r1
- ldr r2, _08015380
- ands r0, r2
- ldr r1, _08015384
- ands r0, r1
- ldr r1, _08015388
- ands r0, r1
- strh r0, [r6, 0x6]
- ldrh r0, [r5, 0x4]
- adds r3, r2, 0
- ands r3, r0
- movs r1, 0xF
- movs r2, 0xF0
- lsls r2, 8
- ldr r0, _0801538C
- ands r3, r0
- orrs r3, r2
- strh r3, [r5, 0x4]
- ldrh r0, [r5, 0x2]
- movs r4, 0xFE
- lsls r4, 8
- ands r4, r0
- movs r0, 0xF0
- orrs r4, r0
- strh r4, [r5, 0x2]
- movs r2, 0xF0
- lsls r2, 4
- ldrh r0, [r5, 0x6]
- ands r1, r0
- movs r7, 0
- orrs r1, r2
- strh r1, [r5, 0x6]
- ldrb r0, [r6, 0x4]
- cmp r0, 0
- beq _0801539C
- ldr r0, _08015390
- ands r4, r0
- ldr r1, _08015394
- movs r0, 0xFC
- lsls r0, 8
- ands r3, r0
- orrs r3, r1
- strh r3, [r5, 0x4]
- ldr r0, _08015398
- ands r4, r0
- strh r4, [r5, 0x2]
- mov r7, r12
- b _080153BE
- .align 2, 0
-_08015374: .4byte gUnknown_203B1FC
-_08015378: .4byte 0x0000feff
-_0801537C: .4byte 0x0000fdff
-_08015380: .4byte 0x0000f3ff
-_08015384: .4byte 0x0000efff
-_08015388: .4byte 0x0000dfff
-_0801538C: .4byte 0x00000fff
-_08015390: .4byte 0x0000c1ff
-_08015394: .4byte 0x000003f6
-_08015398: .4byte 0x00003fff
-_0801539C:
- movs r1, 0x80
- lsls r1, 6
- ldr r0, _08015468
- ands r4, r0
- orrs r4, r1
- orrs r4, r7
- movs r1, 0xFC
- lsls r1, 2
- movs r0, 0xFC
- lsls r0, 8
- ands r3, r0
- orrs r3, r1
- strh r3, [r5, 0x4]
- ldr r0, _0801546C
- ands r4, r0
- strh r4, [r5, 0x2]
- mov r1, r12
-_080153BE:
- movs r2, 0x80
- lsls r2, 7
- ldrh r1, [r6, 0x6]
- ands r0, r1
- orrs r0, r2
- strh r0, [r6, 0x6]
- ldr r5, _08015470
- ldr r1, [r5]
- movs r0, 0x4
- strb r0, [r1, 0x16]
- ldr r4, [r5]
- adds r6, r4, 0
- adds r6, 0xE
- ldrh r1, [r4, 0xE]
- ldr r0, _08015474
- ands r0, r1
- ldr r1, _08015478
- ands r0, r1
- ldr r3, _0801547C
- ands r0, r3
- ldr r1, _08015480
- ands r0, r1
- ldr r1, _08015484
- ands r0, r1
- ldr r1, _0801546C
- ands r0, r1
- strh r0, [r4, 0xE]
- movs r2, 0xFD
- lsls r2, 2
- ldrh r1, [r6, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r3
- movs r2, 0xF
- movs r3, 0xF0
- lsls r3, 8
- ldr r1, _08015488
- ands r0, r1
- orrs r0, r3
- strh r0, [r6, 0x4]
- movs r0, 0xF0
- strh r0, [r6, 0x2]
- subs r1, 0xFF
- ldrh r0, [r6, 0x6]
- ands r2, r0
- movs r0, 0
- orrs r2, r1
- strh r2, [r6, 0x6]
- strb r0, [r4, 0x17]
- mov r8, r5
- ldr r2, _0801548C
- mov r10, r2
- mov r12, r8
- movs r3, 0x9C
- lsls r3, 1
- mov r9, r3
- ldr r4, _08015490
- movs r3, 0
- movs r2, 0x3
-_08015438:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08015438
- mov r6, r8
- ldr r1, [r6]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _08015498
- movs r7, 0xA8
- lsls r7, 1
- adds r1, r7
- ldr r0, _08015494
- b _080154A0
- .align 2, 0
-_08015468: .4byte 0x0000c1ff
-_0801546C: .4byte 0x00003fff
-_08015470: .4byte gUnknown_203B1FC
-_08015474: .4byte 0x0000feff
-_08015478: .4byte 0x0000fdff
-_0801547C: .4byte 0x0000f3ff
-_08015480: .4byte 0x0000efff
-_08015484: .4byte 0x0000dfff
-_08015488: .4byte 0x00000fff
-_0801548C: .4byte gUnknown_80DB550
-_08015490: .4byte gUnknown_80DB538
-_08015494: .4byte gUnknown_80DB580
-_08015498:
- movs r0, 0xA8
- lsls r0, 1
- adds r1, r0
- ldr r0, _080154EC
-_080154A0:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- mov r0, r8
- ldr r1, [r0]
- movs r4, 0x9C
- lsls r4, 1
- adds r1, r4
- mov r0, r10
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- bl sub_8004914
- mov r3, r8
- ldr r0, [r3]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_8015A08
- bl sub_8015C1C
- bl sub_8015F84
- movs r0, 0x1
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080154EC: .4byte gUnknown_80DB568
- thumb_func_end sub_80151C0
-
- thumb_func_start sub_80154F0
-sub_80154F0:
- push {r4,r5,lr}
- ldr r4, _08015558
- ldr r1, [r4]
- ldrb r0, [r1, 0x16]
- adds r0, 0x1
- strb r0, [r1, 0x16]
- bl sub_80157D8
- ldr r2, [r4]
- ldrb r1, [r2, 0x16]
- movs r5, 0x8
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0801551C
- adds r0, r2, 0x6
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_0801551C:
- ldr r1, [r4]
- ldrb r0, [r1, 0x17]
- adds r0, 0x1
- strb r0, [r1, 0x17]
- bl sub_80158BC
- ldr r2, [r4]
- ldrb r1, [r2, 0x17]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08015544
- adds r0, r2, 0
- adds r0, 0xE
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08015544:
- bl sub_8012AE8
- subs r0, 0x1
- cmp r0, 0x5
- bhi _080155E2
- lsls r0, 2
- ldr r1, _0801555C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08015558: .4byte gUnknown_203B1FC
-_0801555C: .4byte _08015560
- .align 2, 0
-_08015560:
- .4byte _080155C0
- .4byte _080155C6
- .4byte _080155E2
- .4byte _080155D4
- .4byte _08015578
- .4byte _0801558C
-_08015578:
- ldr r0, _08015588
- ldr r1, [r0]
- ldrb r0, [r1, 0x1C]
- cmp r0, 0
- beq _080155B8
- subs r0, 0x1
- b _080155A8
- .align 2, 0
-_08015588: .4byte gUnknown_203B1FC
-_0801558C:
- ldr r5, _080155B4
- ldr r0, [r5]
- ldrb r4, [r0, 0x1C]
- ldrb r0, [r0, 0x1B]
- subs r0, 0x1
- cmp r4, r0
- beq _080155B8
- bl sub_8015F44
- cmp r4, r0
- bge _080155B8
- ldr r1, [r5]
- ldrb r0, [r1, 0x1C]
- adds r0, 0x1
-_080155A8:
- strb r0, [r1, 0x1C]
- movs r0, 0x3
- bl sub_80119D4
- b _080155E2
- .align 2, 0
-_080155B4: .4byte gUnknown_203B1FC
-_080155B8:
- movs r0, 0x2
- bl sub_80119D4
- b _080155E2
-_080155C0:
- bl sub_801560C
- b _080155E4
-_080155C6:
- bl sub_8015748
- lsls r0, 24
- cmp r0, 0
- beq _080155E2
- movs r0, 0x2
- b _080155E4
-_080155D4:
- movs r0, 0x3
- bl sub_80119D4
- ldr r0, _080155EC
- ldr r1, [r0]
- movs r0, 0x5
- strb r0, [r1, 0x1A]
-_080155E2:
- movs r0, 0
-_080155E4:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080155EC: .4byte gUnknown_203B1FC
- thumb_func_end sub_80154F0
-
- thumb_func_start sub_80155F0
-sub_80155F0:
- push {r4,lr}
- ldr r4, _08015608
- ldr r0, [r4]
- cmp r0, 0
- beq _08015602
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08015602:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08015608: .4byte gUnknown_203B1FC
- thumb_func_end sub_80155F0
-
- thumb_func_start sub_801560C
-sub_801560C:
- push {r4-r6,lr}
- ldr r3, _08015640
- ldr r4, _08015644
- ldr r5, [r4]
- ldrb r0, [r5, 0x1A]
- lsls r1, r0, 1
- adds r1, r0
- ldrb r2, [r5, 0x19]
- lsls r0, r2, 8
- subs r0, r2
- adds r0, r1
- lsls r0, 2
- adds r3, 0x8
- adds r0, r3
- ldr r6, [r0]
- movs r0, 0x83
- lsls r0, 1
- cmp r6, r0
- beq _0801567A
- cmp r6, r0
- bgt _08015648
- subs r0, 0x1
- cmp r6, r0
- beq _0801566C
- b _080156BC
- .align 2, 0
-_08015640: .4byte gUnknown_80DB0F8
-_08015644: .4byte gUnknown_203B1FC
-_08015648:
- ldr r0, _08015668
- cmp r6, r0
- bne _080156BC
- movs r1, 0
- ldrb r0, [r5, 0x18]
- cmp r0, 0
- bne _08015658
- movs r1, 0x1
-_08015658:
- strb r1, [r5, 0x18]
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0
- bl sub_8015A08
- b _0801573E
- .align 2, 0
-_08015668: .4byte 0x00000107
-_0801566C:
- bl sub_8015748
- lsls r0, 24
- cmp r0, 0
- beq _0801573E
- movs r0, 0x2
- b _08015740
-_0801567A:
- bl sub_8015F44
- cmp r0, 0
- beq _080156D4
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08015696
- bl sub_8015F44
- ldr r1, [r4]
- ldrb r1, [r1, 0x1B]
- cmp r0, r1
- bne _080156D4
-_08015696:
- movs r0, 0
- bl sub_80119D4
- ldr r0, _080156B8
- ldr r2, [r0]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r1, [r1]
- ldrb r2, [r2, 0x1B]
- bl MemoryCopy8
- movs r0, 0x3
- b _08015740
- .align 2, 0
-_080156B8: .4byte gUnknown_203B1FC
-_080156BC:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080156DC
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_803D0F0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080156DC
-_080156D4:
- movs r0, 0x2
- bl sub_80119D4
- b _0801573E
-_080156DC:
- ldr r0, _08015728
- ldr r3, [r0]
- ldrb r1, [r3, 0x18]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _0801570A
- ldrb r0, [r3, 0x1B]
- subs r2, r0, 0x2
- ldrb r3, [r3, 0x1C]
- cmp r2, r3
- blt _0801570A
- adds r3, r4, 0
-_080156F4:
- ldr r0, [r3]
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r2
- ldrb r1, [r0]
- strb r1, [r0, 0x1]
- subs r2, 0x1
- ldr r0, [r3]
- ldrb r0, [r0, 0x1C]
- cmp r2, r0
- bge _080156F4
-_0801570A:
- ldr r0, [r4]
- ldrb r1, [r0, 0x1C]
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r1
- strb r6, [r0]
- ldr r1, [r4]
- ldrb r2, [r1, 0x1C]
- ldrb r0, [r1, 0x1B]
- subs r0, 0x1
- cmp r2, r0
- bge _0801572C
- adds r0, r2, 0x1
- strb r0, [r1, 0x1C]
- b _08015730
- .align 2, 0
-_08015728: .4byte gUnknown_203B1FC
-_0801572C:
- movs r0, 0x5
- strb r0, [r1, 0x1A]
-_08015730:
- movs r0, 0
- bl sub_80119D4
- bl sub_8015C1C
- bl sub_8015F84
-_0801573E:
- movs r0, 0
-_08015740:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801560C
-
- thumb_func_start sub_8015748
-sub_8015748:
- push {r4,lr}
- ldr r4, _0801576C
- ldr r2, [r4]
- ldrb r1, [r2, 0x1C]
- adds r0, r2, 0
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r1
- ldrb r3, [r0]
- cmp r3, 0
- bne _08015790
- cmp r1, 0
- bne _08015770
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x1
- b _080157CE
- .align 2, 0
-_0801576C: .4byte gUnknown_203B1FC
-_08015770:
- subs r0, r1, 0x1
- strb r0, [r2, 0x1C]
- ldr r0, [r4]
- ldrb r1, [r0, 0x1C]
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r1
- strb r3, [r0]
- movs r0, 0x1
- bl sub_80119D4
- bl sub_8015C1C
- bl sub_8015F84
- b _080157CC
-_08015790:
- bl sub_8015F44
- subs r3, r0, 0x1
- ldr r0, [r4]
- ldrb r2, [r0, 0x1C]
- cmp r2, r3
- bge _080157B0
-_0801579E:
- ldr r0, [r4]
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r2
- ldrb r1, [r0, 0x1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r3
- blt _0801579E
-_080157B0:
- ldr r0, _080157D4
- ldr r0, [r0]
- adds r0, 0xF8
- ldr r0, [r0]
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- bl sub_80119D4
- bl sub_8015C1C
- bl sub_8015F84
-_080157CC:
- movs r0, 0
-_080157CE:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080157D4: .4byte gUnknown_203B1FC
- thumb_func_end sub_8015748
-
- thumb_func_start sub_80157D8
-sub_80157D8:
- push {r4,r5,lr}
- ldr r5, _080157EC
- ldr r0, _080157F0
- ldr r0, [r0]
- mov r12, r0
- ldr r0, [r0]
- cmp r0, 0x4
- bne _080157F8
- ldr r3, _080157F4
- b _080157FE
- .align 2, 0
-_080157EC: .4byte gUnknown_20273B8
-_080157F0: .4byte gUnknown_203B1FC
-_080157F4: .4byte gUnknown_80DAFC0
-_080157F8:
- cmp r0, 0x5
- bne _0801585C
- ldr r3, _08015850
-_080157FE:
- mov r1, r12
- ldrb r0, [r1, 0x1C]
- lsls r0, 2
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r0, 3
- adds r1, r0
- ldr r0, _08015854
- ands r1, r0
- mov r4, r12
- adds r4, 0x6
- ldrh r2, [r4, 0x2]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x2]
- mov r1, r12
- ldrb r0, [r1, 0x1C]
- lsls r0, 2
- adds r0, r3
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- lsls r0, 3
- adds r1, r0
- adds r1, 0x5
- ldr r0, _08015858
- ands r1, r0
- lsls r1, 4
- ldrh r2, [r4, 0x6]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x6]
- b _080158B0
- .align 2, 0
-_08015850: .4byte gUnknown_80DB098
-_08015854: .4byte 0x000001ff
-_08015858: .4byte 0x00000fff
-_0801585C:
- mov r0, r12
- ldrb r1, [r0, 0x1C]
- lsls r1, 1
- mov r2, r12
- adds r2, 0x1E
- adds r2, r1
- adds r0, 0x8A
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r2, [r2]
- adds r1, r2
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r0, 3
- adds r0, 0x1E
- adds r1, r0
- lsls r1, 23
- lsrs r1, 23
- mov r3, r12
- adds r3, 0x6
- ldrh r2, [r3, 0x2]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x2]
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r1, 3
- adds r1, 0x22
- ldr r0, _080158B8
- ands r1, r0
- lsls r1, 4
- ldrh r2, [r3, 0x6]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x6]
-_080158B0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080158B8: .4byte 0x00000fff
- thumb_func_end sub_80157D8
-
- thumb_func_start sub_80158BC
-sub_80158BC:
- push {r4-r6,lr}
- ldr r6, _080158D4
- bl sub_8012AE8
- cmp r0, 0x8
- beq _08015908
- cmp r0, 0x8
- bgt _080158D8
- cmp r0, 0x7
- beq _080158E2
- b _08015980
- .align 2, 0
-_080158D4: .4byte gUnknown_2027370
-_080158D8:
- cmp r0, 0x9
- beq _08015930
- cmp r0, 0xA
- beq _08015958
- b _08015980
-_080158E2:
- ldr r4, _08015900
- ldr r3, _08015904
- ldr r2, [r3]
- ldrb r0, [r2, 0x1A]
- lsls r1, r0, 1
- adds r1, r0
- ldrb r2, [r2, 0x19]
- lsls r0, r2, 8
- subs r0, r2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0]
- adds r5, r3, 0
- b _08015988
- .align 2, 0
-_08015900: .4byte gUnknown_80DB0F8
-_08015904: .4byte gUnknown_203B1FC
-_08015908:
- ldr r4, _08015928
- ldr r3, _0801592C
- ldr r2, [r3]
- ldrb r0, [r2, 0x1A]
- lsls r1, r0, 1
- adds r1, r0
- ldrb r2, [r2, 0x19]
- lsls r0, r2, 8
- subs r0, r2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x1]
- adds r5, r3, 0
- b _08015988
- .align 2, 0
-_08015928: .4byte gUnknown_80DB0F8
-_0801592C: .4byte gUnknown_203B1FC
-_08015930:
- ldr r4, _08015950
- ldr r3, _08015954
- ldr r2, [r3]
- ldrb r0, [r2, 0x1A]
- lsls r1, r0, 1
- adds r1, r0
- ldrb r2, [r2, 0x19]
- lsls r0, r2, 8
- subs r0, r2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x2]
- adds r5, r3, 0
- b _08015988
- .align 2, 0
-_08015950: .4byte gUnknown_80DB0F8
-_08015954: .4byte gUnknown_203B1FC
-_08015958:
- ldr r4, _08015978
- ldr r3, _0801597C
- ldr r2, [r3]
- ldrb r0, [r2, 0x1A]
- lsls r1, r0, 1
- adds r1, r0
- ldrb r2, [r2, 0x19]
- lsls r0, r2, 8
- subs r0, r2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- adds r5, r3, 0
- b _08015988
- .align 2, 0
-_08015978: .4byte gUnknown_80DB0F8
-_0801597C: .4byte gUnknown_203B1FC
-_08015980:
- ldr r1, _080159F8
- ldr r0, [r1]
- ldrb r0, [r0, 0x1A]
- adds r5, r1, 0
-_08015988:
- adds r4, r5, 0
- ldr r1, [r4]
- ldrb r2, [r1, 0x1A]
- cmp r0, r2
- beq _080159A0
- strb r0, [r1, 0x1A]
- movs r0, 0x3
- bl sub_80119D4
- ldr r1, [r4]
- movs r0, 0x8
- strb r0, [r1, 0x17]
-_080159A0:
- ldr r3, _080159FC
- ldr r4, [r5]
- ldrb r0, [r4, 0x1A]
- lsls r1, r0, 1
- adds r1, r0
- ldrb r2, [r4, 0x19]
- lsls r0, r2, 8
- subs r0, r2
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r3, 0
- ldrsh r1, [r6, r3]
- lsls r1, 3
- ldrb r2, [r0, 0x4]
- adds r1, r2
- subs r1, 0x5
- movs r3, 0x2
- ldrsh r2, [r6, r3]
- lsls r2, 3
- ldrb r0, [r0, 0x5]
- adds r2, r0
- adds r2, 0x1
- ldr r0, _08015A00
- ands r1, r0
- adds r4, 0xE
- ldrh r3, [r4, 0x2]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r3
- orrs r0, r1
- strh r0, [r4, 0x2]
- ldr r0, _08015A04
- ands r2, r0
- lsls r2, 4
- ldrh r1, [r4, 0x6]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strh r0, [r4, 0x6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080159F8: .4byte gUnknown_203B1FC
-_080159FC: .4byte gUnknown_80DB0F8
-_08015A00: .4byte 0x000001ff
-_08015A04: .4byte 0x00000fff
- thumb_func_end sub_80158BC
-
- thumb_func_start sub_8015A08
-sub_8015A08:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- movs r0, 0
- bl sub_8008C54
- movs r0, 0
- bl sub_80073B8
- ldr r3, _08015A68
- ldr r2, _08015A6C
- ldr r0, [r2]
- ldrb r1, [r0, 0x19]
- lsls r0, r1, 8
- subs r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x8
- adds r0, r1
- ldr r4, [r0]
- ldr r0, _08015A70
- cmp r4, r0
- bne _08015A3E
- b _08015BC0
-_08015A3E:
- mov r8, r2
- adds r7, r3, 0
- add r0, sp, 0x14
- mov r10, r0
- movs r6, 0
- mov r9, r6
-_08015A4A:
- ldr r0, [r2]
- ldrb r1, [r0, 0x19]
- lsls r0, r1, 8
- subs r0, r1
- lsls r0, 2
- adds r0, r6, r0
- adds r0, r3
- ldrb r0, [r0, 0x6]
- cmp r0, 0x2
- beq _08015AAA
- cmp r0, 0x2
- bgt _08015A74
- cmp r0, 0x1
- beq _08015A7A
- b _08015A82
- .align 2, 0
-_08015A68: .4byte gUnknown_80DB0F8
-_08015A6C: .4byte gUnknown_203B1FC
-_08015A70: .4byte 0x00000109
-_08015A74:
- cmp r0, 0x3
- beq _08015A7E
- b _08015A82
-_08015A7A:
- movs r5, 0x5
- b _08015AAC
-_08015A7E:
- movs r5, 0x7
- b _08015AAC
-_08015A82:
- movs r5, 0x7
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08015AAC
- cmp r4, 0xFF
- bgt _08015AA4
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_803D0F0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _08015AAC
- b _08015AAA
-_08015AA4:
- ldr r0, _08015ADC
- cmp r4, r0
- bgt _08015AAC
-_08015AAA:
- movs r5, 0x2
-_08015AAC:
- movs r0, 0x84
- lsls r0, 1
- cmp r4, r0
- beq _08015B9E
- subs r0, 0x1
- cmp r4, r0
- bne _08015B04
- mov r2, r8
- ldr r0, [r2]
- ldrb r2, [r0, 0x18]
- cmp r2, 0
- bne _08015AE4
- ldrb r0, [r0, 0x19]
- lsls r1, r0, 8
- subs r1, r0
- lsls r1, 2
- adds r1, r6, r1
- adds r1, r7
- ldrb r0, [r1, 0x4]
- adds r0, 0x3
- ldrb r1, [r1, 0x5]
- str r2, [sp]
- ldr r2, _08015AE0
- b _08015B6A
- .align 2, 0
-_08015ADC: .4byte 0x00000101
-_08015AE0: .4byte gUnknown_80DB598
-_08015AE4:
- ldrb r0, [r0, 0x19]
- lsls r1, r0, 8
- subs r1, r0
- lsls r1, 2
- adds r1, r6, r1
- adds r1, r7
- ldrb r0, [r1, 0x4]
- adds r0, 0x3
- ldrb r1, [r1, 0x5]
- mov r3, r9
- str r3, [sp]
- ldr r2, _08015B00
- b _08015B6A
- .align 2, 0
-_08015B00: .4byte gUnknown_80DB5A4
-_08015B04:
- cmp r4, 0x20
- bne _08015B34
- add r0, sp, 0x4
- ldr r1, _08015B30
- adds r2, r5, 0
- bl sub_800D158
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x19]
- lsls r1, r0, 8
- subs r1, r0
- lsls r1, 2
- adds r1, r6, r1
- adds r1, r7
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- ldrb r1, [r1, 0x5]
- mov r2, r9
- str r2, [sp]
- add r2, sp, 0x4
- b _08015B6A
- .align 2, 0
-_08015B30: .4byte gUnknown_80DB5B0
-_08015B34:
- cmp r4, 0xFF
- ble _08015B7C
- ldr r1, _08015B74
- movs r0, 0xFF
- ands r4, r0
- lsls r0, r4, 2
- adds r0, r1
- ldr r3, [r0]
- mov r0, r10
- ldr r1, _08015B78
- adds r2, r5, 0
- bl sub_800D158
- mov r3, r8
- ldr r0, [r3]
- ldrb r0, [r0, 0x19]
- lsls r1, r0, 8
- subs r1, r0
- lsls r1, 2
- adds r1, r6, r1
- adds r1, r7
- ldrb r0, [r1, 0x4]
- adds r0, 0x3
- ldrb r1, [r1, 0x5]
- mov r2, r9
- str r2, [sp]
- mov r2, r10
-_08015B6A:
- movs r3, 0
- bl xxx_call_draw_string
- b _08015B9E
- .align 2, 0
-_08015B74: .4byte gUnknown_80DB4F4
-_08015B78: .4byte gUnknown_80DB5B8
-_08015B7C:
- mov r3, r8
- ldr r0, [r3]
- ldrb r0, [r0, 0x19]
- lsls r1, r0, 8
- subs r1, r0
- lsls r1, 2
- adds r1, r6, r1
- adds r1, r7
- ldrb r0, [r1, 0x4]
- ldrb r1, [r1, 0x5]
- lsls r2, r4, 24
- lsrs r2, 24
- mov r3, r9
- str r3, [sp]
- adds r3, r5, 0
- bl sub_8012C60
-_08015B9E:
- adds r6, 0xC
- ldr r3, _08015C10
- ldr r2, _08015C14
- ldr r0, [r2]
- ldrb r1, [r0, 0x19]
- lsls r0, r1, 8
- subs r0, r1
- lsls r0, 2
- adds r0, r6, r0
- adds r1, r3, 0
- adds r1, 0x8
- adds r0, r1
- ldr r4, [r0]
- ldr r0, _08015C18
- cmp r4, r0
- beq _08015BC0
- b _08015A4A
-_08015BC0:
- movs r4, 0xE
- str r4, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xE0
- bl sub_800792C
- str r4, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x47
- movs r3, 0xE0
- bl sub_800792C
- str r4, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x48
- bl sub_8007A78
- str r4, [sp]
- movs r0, 0
- movs r1, 0xDF
- movs r2, 0
- movs r3, 0x48
- bl sub_8007A78
- movs r0, 0
- bl sub_80073E0
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08015C10: .4byte gUnknown_80DB0F8
-_08015C14: .4byte gUnknown_203B1FC
-_08015C18: .4byte 0x00000109
- thumb_func_end sub_8015A08
-
- thumb_func_start sub_8015C1C
-sub_8015C1C:
- push {r4,r5,lr}
- sub sp, 0x54
- movs r0, 0x1
- bl sub_8008C54
- movs r0, 0x1
- bl sub_80073B8
- ldr r0, _08015C74
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08015C78
- movs r4, 0xE
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xE0
- bl sub_800792C
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x37
- movs r3, 0xE0
- bl sub_800792C
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x38
- bl sub_8007A78
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0xDF
- movs r2, 0
- movs r3, 0x38
- bl sub_8007A78
- b _08015CB2
- .align 2, 0
-_08015C74: .4byte gUnknown_203B1FC
-_08015C78:
- movs r4, 0xE
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xB0
- bl sub_800792C
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x27
- movs r3, 0xB0
- bl sub_800792C
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x28
- bl sub_8007A78
- str r4, [sp]
- movs r0, 0x1
- movs r1, 0xAF
- movs r2, 0
- movs r3, 0x28
- bl sub_8007A78
-_08015CB2:
- ldr r0, _08015CC8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x5
- bhi _08015D50
- lsls r0, 2
- ldr r1, _08015CCC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08015CC8: .4byte gUnknown_203B1FC
-_08015CCC: .4byte _08015CD0
- .align 2, 0
-_08015CD0:
- .4byte _08015CE8
- .4byte _08015D18
- .4byte _08015CF8
- .4byte _08015D08
- .4byte _08015D28
- .4byte _08015D40
-_08015CE8:
- ldr r2, _08015CF4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x5
- b _08015D32
- .align 2, 0
-_08015CF4: .4byte gUnknown_80DB5C0
-_08015CF8:
- ldr r2, _08015D04
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x5
- b _08015D32
- .align 2, 0
-_08015D04: .4byte gUnknown_80DB5D4
-_08015D08:
- ldr r2, _08015D14
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x5
- b _08015D32
- .align 2, 0
-_08015D14: .4byte gUnknown_80DB5F8
-_08015D18:
- ldr r2, _08015D24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x5
- b _08015D32
- .align 2, 0
-_08015D24: .4byte gUnknown_80DB61C
-_08015D28:
- ldr r2, _08015D3C
- movs r0, 0
- str r0, [sp]
- movs r0, 0x36
- movs r1, 0x2
-_08015D32:
- movs r3, 0x1
- bl xxx_call_draw_string
- b _08015D50
- .align 2, 0
-_08015D3C: .4byte gUnknown_80DB638
-_08015D40:
- ldr r2, _08015D64
- movs r0, 0
- str r0, [sp]
- movs r0, 0x30
- movs r1, 0x4
- movs r3, 0x1
- bl xxx_call_draw_string
-_08015D50:
- ldr r5, _08015D68
- ldr r0, [r5]
- ldr r1, [r0]
- cmp r1, 0x4
- beq _08015D6C
- cmp r1, 0x4
- bcc _08015D88
- cmp r1, 0x5
- beq _08015D7A
- b _08015DFE
- .align 2, 0
-_08015D64: .4byte gUnknown_80DB638
-_08015D68: .4byte gUnknown_203B1FC
-_08015D6C:
- adds r0, 0xF8
- ldr r0, [r0]
- movs r1, 0x1
- movs r2, 0
- bl sub_8015E10
- b _08015DFE
-_08015D7A:
- adds r0, 0xF8
- ldr r0, [r0]
- movs r1, 0x1
- movs r2, 0
- bl sub_8015EB4
- b _08015DFE
-_08015D88:
- bl sub_8016028
- adds r3, r0, 0
- movs r0, 0x4
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x26
- movs r2, 0x21
- bl sub_80078A4
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0xF8
- ldr r0, [r0]
- ldrb r1, [r1, 0x1B]
- bl sub_8015FEC
- adds r4, r0, 0
- bl sub_8016028
- cmp r4, r0
- ble _08015DC0
- ldr r1, _08015DBC
- ldr r0, [r5]
- b _08015DD0
- .align 2, 0
-_08015DBC: .4byte gUnknown_80DB654
-_08015DC0:
- bl sub_8015F44
- ldr r2, [r5]
- ldrb r1, [r2, 0x1B]
- cmp r0, r1
- bne _08015DE0
- ldr r1, _08015DDC
- adds r0, r2, 0
-_08015DD0:
- adds r0, 0xF8
- ldr r2, [r0]
- add r0, sp, 0x4
- bl sub_800D158
- b _08015DEE
- .align 2, 0
-_08015DDC: .4byte gUnknown_80DB65C
-_08015DE0:
- ldr r1, _08015E0C
- adds r0, r2, 0
- adds r0, 0xF8
- ldr r2, [r0]
- add r0, sp, 0x4
- bl sub_800D158
-_08015DEE:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x26
- movs r1, 0x16
- add r2, sp, 0x4
- movs r3, 0x1
- bl xxx_call_draw_string
-_08015DFE:
- movs r0, 0x1
- bl sub_80073E0
- add sp, 0x54
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08015E0C: .4byte gUnknown_80DB664
- thumb_func_end sub_8015C1C
-
- thumb_func_start sub_8015E10
-sub_8015E10:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 16
- asrs r6, r2, 16
- ldr r5, _08015EB0
- movs r4, 0x35
-_08015E24:
- movs r0, 0
- ldrsh r1, [r5, r0]
- movs r0, 0x2
- ldrsh r2, [r5, r0]
- adds r0, r6, 0
- adds r0, 0xB
- adds r2, r0
- movs r0, 0x5
- str r0, [sp]
- adds r0, r7, 0
- movs r3, 0xB
- bl sub_80078A4
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08015E24
- movs r4, 0
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08015EA4
- mov r5, r8
-_08015E52:
- movs r3, 0x7
- cmp r4, 0x4
- ble _08015E7E
- movs r3, 0x6
- cmp r4, 0xC
- ble _08015E7E
- movs r3, 0x7
- cmp r4, 0x11
- ble _08015E7E
- cmp r4, 0x16
- ble _08015E7E
- movs r3, 0x6
- cmp r4, 0x1E
- ble _08015E7E
- movs r3, 0x7
- cmp r4, 0x23
- ble _08015E7E
- cmp r4, 0x28
- ble _08015E7E
- cmp r4, 0x30
- bgt _08015E7E
- movs r3, 0x6
-_08015E7E:
- ldr r0, _08015EB0
- lsls r1, r4, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- adds r1, r6
- ldrb r2, [r5]
- str r7, [sp]
- bl sub_8012C60
- adds r5, 0x1
- adds r4, 0x1
- cmp r4, 0x35
- bgt _08015EA4
- ldrb r0, [r5]
- cmp r0, 0
- bne _08015E52
-_08015EA4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08015EB0: .4byte gUnknown_80DAFC0
- thumb_func_end sub_8015E10
-
- thumb_func_start sub_8015EB4
-sub_8015EB4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 16
- asrs r6, r2, 16
- ldr r5, _08015F40
- movs r4, 0x17
-_08015EC8:
- movs r0, 0
- ldrsh r1, [r5, r0]
- movs r0, 0x2
- ldrsh r2, [r5, r0]
- adds r0, r6, 0
- adds r0, 0xB
- adds r2, r0
- movs r0, 0x5
- str r0, [sp]
- adds r0, r7, 0
- movs r3, 0xC
- bl sub_80078A4
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08015EC8
- movs r4, 0
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08015F34
- mov r5, r8
-_08015EF6:
- movs r3, 0x7
- cmp r4, 0x3
- ble _08015F0E
- movs r3, 0x6
- cmp r4, 0x7
- ble _08015F0E
- movs r3, 0x7
- cmp r4, 0xF
- ble _08015F0E
- cmp r4, 0x13
- bgt _08015F0E
- movs r3, 0x6
-_08015F0E:
- ldr r0, _08015F40
- lsls r1, r4, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- adds r1, r6
- ldrb r2, [r5]
- str r7, [sp]
- bl sub_8012C60
- adds r5, 0x1
- adds r4, 0x1
- cmp r4, 0x17
- bgt _08015F34
- ldrb r0, [r5]
- cmp r0, 0
- bne _08015EF6
-_08015F34:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08015F40: .4byte gUnknown_80DB098
- thumb_func_end sub_8015EB4
-
- thumb_func_start sub_8015F44
-sub_8015F44:
- push {r4,lr}
- movs r2, 0
- ldr r0, _08015F78
- ldr r0, [r0]
- ldrb r4, [r0, 0x1B]
- cmp r2, r4
- bge _08015F7C
- adds r3, r0, 0
- adds r3, 0xF8
- ldr r0, [r3]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08015F7C
- movs r2, 0x1
- movs r1, 0x1
-_08015F62:
- cmp r1, r4
- bge _08015F7C
- ldr r0, [r3]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08015F7C
- adds r2, r1, 0x1
- adds r1, r2, 0
- b _08015F62
- .align 2, 0
-_08015F78: .4byte gUnknown_203B1FC
-_08015F7C:
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8015F44
-
- thumb_func_start sub_8015F84
-sub_8015F84:
- push {r4-r7,lr}
- movs r6, 0
- movs r5, 0
- ldr r3, _08015FBC
- ldr r0, [r3]
- ldrb r0, [r0, 0x1B]
- cmp r5, r0
- bge _08015FE4
- adds r7, r3, 0
-_08015F96:
- ldr r1, [r7]
- lsls r4, r5, 1
- adds r0, r1, 0
- adds r0, 0x1E
- adds r0, r4
- strh r6, [r0]
- adds r0, r1, 0
- adds r0, 0xF8
- ldr r0, [r0]
- adds r2, r0, r5
- ldrb r0, [r2]
- cmp r0, 0
- bne _08015FC0
- adds r0, r1, 0
- adds r0, 0x8A
- adds r0, r4
- movs r1, 0x8
- strh r1, [r0]
- b _08015FE4
- .align 2, 0
-_08015FBC: .4byte gUnknown_203B1FC
-_08015FC0:
- ldrb r0, [r2]
- bl sub_8092288
- bl sub_8008584
- ldr r3, [r7]
- adds r1, r3, 0
- adds r1, 0x8A
- adds r1, r4
- ldrh r2, [r0, 0x6]
- strh r2, [r1]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- adds r6, r0
- adds r5, 0x1
- ldrb r3, [r3, 0x1B]
- cmp r5, r3
- blt _08015F96
-_08015FE4:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8015F84
-
- thumb_func_start sub_8015FEC
-sub_8015FEC:
- push {r4-r7,lr}
- adds r2, r0, 0
- adds r5, r1, 0
- movs r7, 0
- movs r6, 0
- cmp r7, r5
- bge _08016020
- ldrb r0, [r2]
- cmp r0, 0
- beq _08016020
- adds r4, r2, 0
-_08016002:
- ldrb r0, [r4]
- bl sub_8092288
- bl sub_8008584
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- adds r7, r0
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, r5
- bge _08016020
- ldrb r0, [r4]
- cmp r0, 0
- bne _08016002
-_08016020:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8015FEC
-
- thumb_func_start sub_8016028
-sub_8016028:
- movs r0, 0x3C
- bx lr
- thumb_func_end sub_8016028
-
- thumb_func_start sub_801602C
-sub_801602C:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08016064
- movs r0, 0x50
- movs r1, 0x8
- bl MemoryAlloc
- adds r1, r0, 0
- str r1, [r4]
- str r6, [r1]
- str r5, [r1, 0x8]
- cmp r6, 0x1
- beq _0801606E
- cmp r6, 0x1
- bcc _08016068
- cmp r6, 0x2
- beq _0801606E
- cmp r6, 0x3
- beq _0801606E
- b _08016070
- .align 2, 0
-_08016064: .4byte gUnknown_203B200
-_08016068:
- movs r0, 0
- str r0, [r1, 0x4]
- b _08016070
-_0801606E:
- str r6, [r1, 0x4]
-_08016070:
- movs r0, 0
- bl sub_80160F4
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801602C
-
- thumb_func_start sub_8016080
-sub_8016080:
- push {lr}
- ldr r0, _08016098
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- cmp r0, 0x4
- bhi _080160D0
- lsls r0, 2
- ldr r1, _0801609C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016098: .4byte gUnknown_203B200
-_0801609C: .4byte _080160A0
- .align 2, 0
-_080160A0:
- .4byte _080160B4
- .4byte _080160BA
- .4byte _080160C0
- .4byte _080160C6
- .4byte _080160CC
-_080160B4:
- bl sub_80161F8
- b _080160D0
-_080160BA:
- bl sub_8016248
- b _080160D0
-_080160C0:
- bl sub_8016280
- b _080160D0
-_080160C6:
- bl sub_801629C
- b _080160D0
-_080160CC:
- movs r0, 0x3
- b _080160D2
-_080160D0:
- movs r0, 0
-_080160D2:
- pop {r1}
- bx r1
- thumb_func_end sub_8016080
-
- thumb_func_start sub_80160D8
-sub_80160D8:
- push {r4,lr}
- ldr r4, _080160F0
- ldr r0, [r4]
- cmp r0, 0
- beq _080160EA
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080160EA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080160F0: .4byte gUnknown_203B200
- thumb_func_end sub_80160D8
-
- thumb_func_start sub_80160F4
-sub_80160F4:
- push {lr}
- ldr r1, _08016108
- ldr r1, [r1]
- str r0, [r1, 0xC]
- bl nullsub_36
- bl sub_8016110
- pop {r0}
- bx r0
- .align 2, 0
-_08016108: .4byte gUnknown_203B200
- thumb_func_end sub_80160F4
-
- thumb_func_start nullsub_36
-nullsub_36:
- bx lr
- thumb_func_end nullsub_36
-
- thumb_func_start sub_8016110
-sub_8016110:
- push {r4,lr}
- sub sp, 0x14
- ldr r4, _08016128
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0x1
- beq _08016140
- cmp r0, 0x1
- bgt _0801612C
- cmp r0, 0
- beq _08016136
- b _080161B8
- .align 2, 0
-_08016128: .4byte gUnknown_203B200
-_0801612C:
- cmp r0, 0x2
- beq _08016194
- cmp r0, 0x3
- beq _080161AC
- b _080161B8
-_08016136:
- ldr r0, [r1, 0x4]
- ldr r1, [r1, 0x8]
- bl sub_80151C0
- b _080161B8
-_08016140:
- bl sub_80161C8
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x1
- bne _0801615C
- ldr r0, _08016158
- ldr r1, [r1, 0x8]
- movs r2, 0xA
- bl sub_80922B4
- b _08016166
- .align 2, 0
-_08016158: .4byte gUnknown_202DF98
-_0801615C:
- ldr r0, _08016188
- ldr r1, [r1, 0x8]
- movs r2, 0xA
- bl sub_80922B4
-_08016166:
- ldr r0, _0801618C
- ldr r1, _08016190
- ldr r3, [r1]
- adds r3, 0x10
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _080161B8
- .align 2, 0
-_08016188: .4byte gUnknown_202DF98
-_0801618C: .4byte gUnknown_80DB688
-_08016190: .4byte gUnknown_203B200
-_08016194:
- ldr r0, _080161A4
- ldr r3, _080161A8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080161B8
- .align 2, 0
-_080161A4: .4byte gUnknown_80DB6A4
-_080161A8: .4byte 0x00000121
-_080161AC:
- ldr r0, _080161C0
- ldr r3, _080161C4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080161B8:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080161C0: .4byte gUnknown_80DB6BC
-_080161C4: .4byte 0x00000121
- thumb_func_end sub_8016110
-
- thumb_func_start sub_80161C8
-sub_80161C8:
- ldr r0, _080161EC
- ldr r1, [r0]
- ldr r0, _080161F0
- ldr r0, [r0]
- str r0, [r1, 0x10]
- movs r0, 0x2
- str r0, [r1, 0x14]
- ldr r0, _080161F4
- ldr r0, [r0]
- str r0, [r1, 0x18]
- movs r0, 0x3
- str r0, [r1, 0x1C]
- movs r0, 0
- str r0, [r1, 0x20]
- movs r0, 0x1
- str r0, [r1, 0x24]
- bx lr
- .align 2, 0
-_080161EC: .4byte gUnknown_203B200
-_080161F0: .4byte gUnknown_80D4920
-_080161F4: .4byte gUnknown_80D4928
- thumb_func_end sub_80161C8
-
- thumb_func_start sub_80161F8
-sub_80161F8:
- push {r4,lr}
- bl sub_80154F0
- cmp r0, 0x3
- bne _08016242
- bl sub_80155F0
- bl sub_80162B8
- lsls r0, 24
- cmp r0, 0
- beq _08016218
- movs r0, 0x3
- bl sub_80160F4
- b _08016242
-_08016218:
- ldr r0, _08016238
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- movs r1, 0xA
- bl sub_8015FEC
- adds r4, r0, 0
- bl sub_8016028
- cmp r4, r0
- ble _0801623C
- movs r0, 0x2
- bl sub_80160F4
- b _08016242
- .align 2, 0
-_08016238: .4byte gUnknown_203B200
-_0801623C:
- movs r0, 0x1
- bl sub_80160F4
-_08016242:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80161F8
-
- thumb_func_start sub_8016248
-sub_8016248:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801627A
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801626C
- cmp r0, 0x2
- bgt _08016266
- cmp r0, 0x1
- beq _08016274
- b _0801627A
-_08016266:
- cmp r0, 0x3
- beq _08016274
- b _0801627A
-_0801626C:
- movs r0, 0x4
- bl sub_80160F4
- b _0801627A
-_08016274:
- movs r0, 0
- bl sub_80160F4
-_0801627A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8016248
-
- thumb_func_start sub_8016280
-sub_8016280:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08016294
- movs r0, 0
- bl sub_80160F4
-_08016294:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8016280
-
- thumb_func_start sub_801629C
-sub_801629C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080162B0
- movs r0, 0
- bl sub_80160F4
-_080162B0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801629C
-
- thumb_func_start sub_80162B8
-sub_80162B8:
- push {lr}
- movs r3, 0xA
- movs r1, 0
- ldr r0, _080162D4
- ldr r0, [r0]
- ldr r2, [r0, 0x8]
-_080162C4:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080162DE
- cmp r0, 0x20
- beq _080162D8
- movs r0, 0
- b _080162E0
- .align 2, 0
-_080162D4: .4byte gUnknown_203B200
-_080162D8:
- adds r1, 0x1
- cmp r1, r3
- blt _080162C4
-_080162DE:
- movs r0, 0x1
-_080162E0:
- pop {r1}
- bx r1
- thumb_func_end sub_80162B8
-
- thumb_func_start sub_80162E4
-sub_80162E4:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _0801633C
- movs r0, 0x84
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- str r6, [r0, 0x10]
- str r4, [r0]
- ldr r0, _08016340
- movs r1, 0x35
- bl sub_808D8E0
- ldr r4, _08016344
- adds r0, r4, 0
- movs r1, 0x35
- bl sub_808D8E0
- movs r0, 0x35
- bl sub_808D994
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r5, [r5]
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08016348
- adds r0, r5, 0
- adds r0, 0xA4
- str r6, [r0]
- b _08016352
- .align 2, 0
-_0801633C: .4byte gUnknown_203B204
-_08016340: .4byte gUnknown_202E5D8
-_08016344: .4byte gUnknown_202E1C8
-_08016348:
- adds r1, r5, 0
- adds r1, 0xA4
- adds r0, r5, 0
- adds r0, 0x94
- str r0, [r1]
-_08016352:
- movs r0, 0x35
- bl sub_808DDD0
- ldr r2, _0801639C
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0x94
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xA0
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA1
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA2
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0x9C
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0x9E
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8016444
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801639C: .4byte gUnknown_203B204
- thumb_func_end sub_80162E4
-
- thumb_func_start sub_80163A0
-sub_80163A0:
- push {lr}
- ldr r0, _080163B8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0xC
- bhi _08016410
- lsls r0, 2
- ldr r1, _080163BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080163B8: .4byte gUnknown_203B204
-_080163BC: .4byte _080163C0
- .align 2, 0
-_080163C0:
- .4byte _08016410
- .4byte _080163F4
- .4byte _080163FA
- .4byte _08016410
- .4byte _08016410
- .4byte _08016410
- .4byte _0801640C
- .4byte _08016410
- .4byte _08016400
- .4byte _08016410
- .4byte _08016410
- .4byte _08016406
- .4byte _08016410
-_080163F4:
- bl sub_8016B24
- b _08016414
-_080163FA:
- bl sub_80169BC
- b _08016414
-_08016400:
- bl sub_8016A18
- b _08016414
-_08016406:
- bl sub_8016A8C
- b _08016414
-_0801640C:
- movs r0, 0x3
- b _08016416
-_08016410:
- bl sub_8016B00
-_08016414:
- movs r0, 0
-_08016416:
- pop {r1}
- bx r1
- thumb_func_end sub_80163A0
-
- thumb_func_start sub_801641C
-sub_801641C:
- push {r4,lr}
- ldr r4, _08016440
- ldr r0, [r4]
- cmp r0, 0
- beq _08016438
- adds r0, 0x94
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08016438:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08016440: .4byte gUnknown_203B204
- thumb_func_end sub_801641C
-
- thumb_func_start sub_8016444
-sub_8016444:
- push {lr}
- ldr r1, _08016458
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801645C
- bl sub_801653C
- pop {r0}
- bx r0
- .align 2, 0
-_08016458: .4byte gUnknown_203B204
- thumb_func_end sub_8016444
-
- thumb_func_start sub_801645C
-sub_801645C:
- push {r4-r7,lr}
- ldr r4, _0801647C
- ldr r0, [r4]
- adds r0, 0xA8
- bl sub_8006518
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- cmp r1, 0x8
- beq _080164AC
- cmp r1, 0x8
- bgt _08016480
- cmp r1, 0x2
- beq _08016486
- b _080164F8
- .align 2, 0
-_0801647C: .4byte gUnknown_203B204
-_08016480:
- cmp r1, 0xB
- beq _080164AC
- b _080164F8
-_08016486:
- adds r0, 0xA8
- movs r1, 0x80
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xD8
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0xF0
- ldr r0, _080164A8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- b _080164D8
- .align 2, 0
-_080164A8: .4byte gUnknown_80DB6F4
-_080164AC:
- ldr r4, _080164EC
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x80
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC0
- strb r1, [r0]
- ldr r1, [r4]
- adds r1, 0xF0
- ldr r0, _080164F0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r1, [r4]
- adds r1, 0xD8
- ldr r0, _080164F4
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_080164D8:
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x1
- movs r2, 0
- bl sub_800641C
- b _0801652E
- .align 2, 0
-_080164EC: .4byte gUnknown_203B204
-_080164F0: .4byte gUnknown_80DB6F4
-_080164F4: .4byte gUnknown_80DB70C
-_080164F8:
- ldr r6, _08016534
- mov r12, r6
- ldr r4, _08016538
- movs r3, 0
- movs r2, 0x3
-_08016502:
- mov r7, r12
- ldr r1, [r7]
- adds r1, r3
- adds r1, 0xA8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08016502
- bl sub_8004914
- ldr r0, _08016534
- ldr r0, [r0]
- adds r0, 0xA8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801652E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08016534: .4byte gUnknown_203B204
-_08016538: .4byte gUnknown_80DB6DC
- thumb_func_end sub_801645C
-
- thumb_func_start sub_801653C
-sub_801653C:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _08016558
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r2, r1, 0
- cmp r0, 0xC
- bls _0801654E
- b _080168EC
-_0801654E:
- lsls r0, 2
- ldr r1, _0801655C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016558: .4byte gUnknown_203B204
-_0801655C: .4byte _08016560
- .align 2, 0
-_08016560:
- .4byte _08016594
- .4byte _080165B4
- .4byte _080168B2
- .4byte _08016650
- .4byte _08016668
- .4byte _080166C4
- .4byte _080168EC
- .4byte _080166DC
- .4byte _0801674C
- .4byte _080167A8
- .4byte _080167CC
- .4byte _0801685C
- .4byte _080168C4
-_08016594:
- ldr r2, [r2]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r3, _080165B0
- ldr r1, [r2]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- adds r2, 0xA4
- ldr r2, [r2]
- b _08016844
- .align 2, 0
-_080165B0: .4byte gUnknown_80D49E0
-_080165B4:
- bl sub_8016900
- ldr r0, _080165FC
- ldr r0, [r0]
- mov r12, r0
- movs r0, 0x2
- mov r1, r12
- str r0, [r1, 0x8]
- ldr r0, _08016600
- ldr r0, [r0]
- movs r3, 0x99
- lsls r3, 2
- adds r0, r3
- ldr r4, [r0]
- cmp r4, 0
- bne _08016608
- ldr r2, _08016604
- ldr r1, [r1]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r0, r2
- ldr r0, [r0]
- mov r5, r12
- ldr r2, [r5, 0x10]
- mov r3, r12
- adds r3, 0x14
- mov r1, r12
- adds r1, 0x54
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- b _08016632
- .align 2, 0
-_080165FC: .4byte gUnknown_203B204
-_08016600: .4byte gUnknown_203B460
-_08016604: .4byte gUnknown_80D49E0
-_08016608:
- ldr r0, _08016648
- str r4, [r0]
- ldr r2, _0801664C
- mov r0, r12
- ldr r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- mov r1, r12
- ldr r2, [r1, 0x10]
- mov r3, r12
- adds r3, 0x14
- adds r1, 0x54
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
-_08016632:
- mov r1, r12
- adds r1, 0xA4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080168EC
- .align 2, 0
-_08016648: .4byte gUnknown_202DE30
-_0801664C: .4byte gUnknown_80D49E0
-_08016650:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016664
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x38
- b _0801683C
- .align 2, 0
-_08016664: .4byte gUnknown_80D49E0
-_08016668:
- ldr r3, [r2]
- movs r0, 0x6
- str r0, [r3, 0x8]
- ldr r0, _08016698
- ldr r0, [r0]
- movs r5, 0x99
- lsls r5, 2
- adds r0, r5
- ldr r1, [r0]
- cmp r1, 0
- bne _080166A0
- ldr r2, _0801669C
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x10
- adds r0, r2
- ldr r0, [r0]
- adds r1, r3, 0
- adds r1, 0xA4
- ldr r2, [r1]
- b _08016844
- .align 2, 0
-_08016698: .4byte gUnknown_203B460
-_0801669C: .4byte gUnknown_80D49E0
-_080166A0:
- ldr r0, _080166BC
- str r1, [r0]
- ldr r2, _080166C0
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- adds r1, r3, 0
- adds r1, 0xA4
- ldr r2, [r1]
- b _08016844
- .align 2, 0
-_080166BC: .4byte gUnknown_202DE30
-_080166C0: .4byte gUnknown_80D49E0
-_080166C4:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _080166D8
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0xC
- b _0801683C
- .align 2, 0
-_080166D8: .4byte gUnknown_80D49E0
-_080166DC:
- ldr r0, _08016700
- ldr r1, [r0]
- movs r3, 0x98
- lsls r3, 2
- adds r0, r1, r3
- ldr r0, [r0]
- cmp r0, 0
- bne _08016708
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016704
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x1C
- b _0801683C
- .align 2, 0
-_08016700: .4byte gUnknown_203B460
-_08016704: .4byte gUnknown_80D49E0
-_08016708:
- movs r5, 0x99
- lsls r5, 2
- adds r0, r1, r5
- ldr r1, [r0]
- ldr r0, _0801672C
- cmp r1, r0
- ble _08016734
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016730
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x20
- b _0801683C
- .align 2, 0
-_0801672C: .4byte 0x0098967e
-_08016730: .4byte gUnknown_80D49E0
-_08016734:
- ldr r3, [r2]
- movs r0, 0x8
- str r0, [r3, 0x8]
- ldr r2, _08016748
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x18
- b _0801683C
- .align 2, 0
-_08016748: .4byte gUnknown_80D49E0
-_0801674C:
- ldr r4, [r2]
- ldr r0, _080167A0
- ldr r3, [r0]
- movs r1, 0x99
- lsls r1, 2
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, _080167A4
- subs r0, r1
- str r0, [r4, 0x70]
- movs r5, 0x98
- lsls r5, 2
- adds r1, r3, r5
- ldr r1, [r1]
- cmp r0, r1
- ble _0801676E
- str r1, [r4, 0x70]
-_0801676E:
- ldr r2, [r2]
- ldr r0, [r2, 0x70]
- str r0, [r2, 0x68]
- movs r0, 0x1
- str r0, [r2, 0x6C]
- movs r0, 0x5
- str r0, [r2, 0x74]
- movs r0, 0x2
- str r0, [r2, 0x78]
- adds r0, r2, 0
- adds r0, 0xD8
- str r0, [r2, 0x7C]
- adds r1, r2, 0
- adds r1, 0x80
- movs r0, 0x50
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x64
- bl sub_8013AA0
- movs r0, 0x1
- b _080168AE
- .align 2, 0
-_080167A0: .4byte gUnknown_203B460
-_080167A4: .4byte 0x0098967f
-_080167A8:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r1, _080167C4
- ldr r0, [r3, 0xC]
- str r0, [r1]
- ldr r2, _080167C8
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x24
- b _0801683C
- .align 2, 0
-_080167C4: .4byte gUnknown_202DE30
-_080167C8: .4byte gUnknown_80D49E0
-_080167CC:
- ldr r0, _080167F4
- ldr r3, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, _080167F8
- cmp r1, r0
- ble _08016800
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _080167FC
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x30
- b _0801683C
- .align 2, 0
-_080167F4: .4byte gUnknown_203B460
-_080167F8: .4byte 0x0001869e
-_080167FC: .4byte gUnknown_80D49E0
-_08016800:
- movs r5, 0x99
- lsls r5, 2
- adds r4, r3, r5
- ldr r0, [r4]
- cmp r0, 0
- bne _08016824
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08016820
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x2C
- b _0801683C
- .align 2, 0
-_08016820: .4byte gUnknown_80D49E0
-_08016824:
- ldr r3, [r2]
- movs r0, 0xB
- str r0, [r3, 0x8]
- ldr r1, _08016850
- ldr r0, [r4]
- str r0, [r1]
- ldr r2, _08016854
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x28
-_0801683C:
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xA4
- ldr r2, [r3]
-_08016844:
- ldr r3, _08016858
- movs r1, 0
- bl sub_80141B4
- b _080168EC
- .align 2, 0
-_08016850: .4byte gUnknown_202DE30
-_08016854: .4byte gUnknown_80D49E0
-_08016858: .4byte 0x0000010d
-_0801685C:
- ldr r4, [r2]
- ldr r0, _080168BC
- ldr r3, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, _080168C0
- subs r0, r1
- str r0, [r4, 0x70]
- movs r5, 0x99
- lsls r5, 2
- adds r1, r3, r5
- ldr r1, [r1]
- cmp r0, r1
- ble _0801687E
- str r1, [r4, 0x70]
-_0801687E:
- ldr r2, [r2]
- ldr r0, [r2, 0x70]
- str r0, [r2, 0x68]
- movs r0, 0x1
- str r0, [r2, 0x6C]
- movs r0, 0x5
- str r0, [r2, 0x74]
- movs r0, 0x2
- str r0, [r2, 0x78]
- adds r0, r2, 0
- adds r0, 0xD8
- str r0, [r2, 0x7C]
- adds r1, r2, 0
- adds r1, 0x80
- movs r0, 0x50
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x64
- bl sub_8013AA0
- movs r0, 0
-_080168AE:
- bl sub_8016B48
-_080168B2:
- movs r0, 0x3
- bl sub_8016BB8
- b _080168EC
- .align 2, 0
-_080168BC: .4byte gUnknown_203B460
-_080168C0: .4byte 0x0001869f
-_080168C4:
- ldr r3, [r2]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r1, _080168F4
- ldr r0, [r3, 0xC]
- str r0, [r1]
- ldr r2, _080168F8
- ldr r1, [r3]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r2, 0x34
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xA4
- ldr r2, [r3]
- ldr r3, _080168FC
- movs r1, 0
- bl sub_80141B4
-_080168EC:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080168F4: .4byte gUnknown_202DE30
-_080168F8: .4byte gUnknown_80D49E0
-_080168FC: .4byte 0x0000010d
- thumb_func_end sub_801653C
-
- thumb_func_start sub_8016900
-sub_8016900:
- push {r4-r7,lr}
- ldr r4, _08016980
- ldr r0, [r4]
- adds r0, 0x54
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08016984
- ldr r0, [r0]
- str r0, [r3, 0x14]
- movs r0, 0x2
- str r0, [r3, 0x18]
- movs r1, 0x1
- ldr r0, _08016988
- ldr r0, [r0]
- str r0, [r3, 0x1C]
- movs r0, 0x3
- str r0, [r3, 0x20]
- ldr r0, _0801698C
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x4
- str r0, [r3, 0x28]
- ldr r0, _08016990
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- str r1, [r3, 0x30]
- movs r6, 0x4
- str r2, [r3, 0x34]
- str r1, [r3, 0x38]
- movs r5, 0
- mov r12, r3
- adds r3, 0x18
- mov r2, r12
- adds r2, 0x54
-_0801694C:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0801695C
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x10]
- cmp r1, r0
- beq _080169B6
-_0801695C:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0801694C
- movs r5, 0
- cmp r5, r6
- bge _080169B6
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0
- bne _08016994
- ldr r0, [r1, 0x18]
- str r0, [r1, 0x10]
- b _080169B6
- .align 2, 0
-_08016980: .4byte gUnknown_203B204
-_08016984: .4byte gUnknown_80D4958
-_08016988: .4byte gUnknown_80D4964
-_0801698C: .4byte gUnknown_80D4970
-_08016990: .4byte gUnknown_80D4934
-_08016994:
- adds r5, 0x1
- cmp r5, r6
- bge _080169B6
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x54
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08016994
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x18
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x10]
-_080169B6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8016900
-
- thumb_func_start sub_80169BC
-sub_80169BC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08016A10
- ldr r0, _080169E4
- ldr r1, [r0]
- ldr r0, [sp]
- str r0, [r1, 0x10]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080169F2
- cmp r0, 0x2
- bgt _080169E8
- cmp r0, 0x1
- beq _08016A0A
- b _08016A10
- .align 2, 0
-_080169E4: .4byte gUnknown_203B204
-_080169E8:
- cmp r0, 0x3
- beq _080169FA
- cmp r0, 0x4
- beq _08016A02
- b _08016A10
-_080169F2:
- movs r0, 0x7
- bl sub_8016444
- b _08016A10
-_080169FA:
- movs r0, 0xA
- bl sub_8016444
- b _08016A10
-_08016A02:
- movs r0, 0x3
- bl sub_8016444
- b _08016A10
-_08016A0A:
- movs r0, 0x4
- bl sub_8016444
-_08016A10:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80169BC
-
- thumb_func_start sub_8016A18
-sub_8016A18:
- push {r4,lr}
- ldr r4, _08016A38
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_8013BBC
- cmp r0, 0x1
- beq _08016A3C
- cmp r0, 0x1
- bcc _08016A86
- cmp r0, 0x2
- beq _08016A80
- cmp r0, 0x3
- beq _08016A44
- b _08016A86
- .align 2, 0
-_08016A38: .4byte gUnknown_203B204
-_08016A3C:
- movs r0, 0x1
- bl sub_8016B48
- b _08016A86
-_08016A44:
- ldr r3, [r4]
- ldr r2, [r3, 0x64]
- str r2, [r3, 0xC]
- ldr r0, _08016A7C
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0x99
- lsls r1, 2
- add r1, r12
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x98
- lsls r2, 2
- add r2, r12
- ldr r0, [r2]
- ldr r1, [r3, 0xC]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x9
- bl sub_8016444
- b _08016A86
- .align 2, 0
-_08016A7C: .4byte gUnknown_203B460
-_08016A80:
- movs r0, 0x5
- bl sub_8016444
-_08016A86:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8016A18
-
- thumb_func_start sub_8016A8C
-sub_8016A8C:
- push {r4,lr}
- ldr r4, _08016AAC
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_8013BBC
- cmp r0, 0x1
- beq _08016AB0
- cmp r0, 0x1
- bcc _08016AFA
- cmp r0, 0x2
- beq _08016AF4
- cmp r0, 0x3
- beq _08016AB8
- b _08016AFA
- .align 2, 0
-_08016AAC: .4byte gUnknown_203B204
-_08016AB0:
- movs r0, 0
- bl sub_8016B48
- b _08016AFA
-_08016AB8:
- ldr r3, [r4]
- ldr r2, [r3, 0x64]
- str r2, [r3, 0xC]
- ldr r0, _08016AF0
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0x98
- lsls r1, 2
- add r1, r12
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x99
- lsls r2, 2
- add r2, r12
- ldr r0, [r2]
- ldr r1, [r3, 0xC]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0xC
- bl sub_8016444
- b _08016AFA
- .align 2, 0
-_08016AF0: .4byte gUnknown_203B460
-_08016AF4:
- movs r0, 0x5
- bl sub_8016444
-_08016AFA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8016A8C
-
- thumb_func_start sub_8016B00
-sub_8016B00:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08016B18
- ldr r0, _08016B20
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8016444
-_08016B18:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08016B20: .4byte gUnknown_203B204
- thumb_func_end sub_8016B00
-
- thumb_func_start sub_8016B24
-sub_8016B24:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0x4
- bne _08016B3C
- ldr r0, _08016B44
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8016444
-_08016B3C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08016B44: .4byte gUnknown_203B204
- thumb_func_end sub_8016B24
-
- thumb_func_start sub_8016B48
-sub_8016B48:
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _08016B7C
- ldr r0, [r4]
- ldr r0, [r0, 0x78]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x78]
- bl sub_80073B8
- cmp r5, 0
- beq _08016B84
- ldr r0, _08016B80
- ldr r2, [r0]
- ldr r0, [r4]
- ldr r3, [r0, 0x78]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- bl xxx_call_draw_string
- b _08016B96
- .align 2, 0
-_08016B7C: .4byte gUnknown_203B204
-_08016B80: .4byte gUnknown_80D49CC
-_08016B84:
- ldr r0, _08016BB0
- ldr r2, [r0]
- ldr r0, [r4]
- ldr r3, [r0, 0x78]
- str r5, [sp]
- movs r0, 0xC
- movs r1, 0
- bl xxx_call_draw_string
-_08016B96:
- ldr r4, _08016BB4
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_8013C68
- ldr r0, [r4]
- ldr r0, [r0, 0x78]
- bl sub_80073E0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08016BB0: .4byte gUnknown_80D49DC
-_08016BB4: .4byte gUnknown_203B204
- thumb_func_end sub_8016B48
-
- thumb_func_start sub_8016BB8
-sub_8016BB8:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _08016C34
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0x4
- adds r3, r4, 0
- bl xxx_call_draw_string
- ldr r6, _08016C38
- ldr r0, [r6]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
- movs r5, 0x5
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x60
- movs r1, 0x4
- movs r3, 0x5
- bl sub_8012BC4
- ldr r2, _08016C3C
- mov r0, r8
- str r0, [sp]
- movs r0, 0x70
- movs r1, 0x4
- adds r3, r4, 0
- bl xxx_call_draw_string
- ldr r0, [r6]
- movs r1, 0x99
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0xC8
- movs r1, 0x4
- movs r3, 0x7
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08016C34: .4byte gUnknown_80DB724
-_08016C38: .4byte gUnknown_203B460
-_08016C3C: .4byte gUnknown_80DB72C
- thumb_func_end sub_8016BB8
-
- thumb_func_start sub_8016C40
-sub_8016C40:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _08016C8C
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- movs r1, 0
- adds r3, r4, 0
- bl xxx_call_draw_string
- ldr r0, _08016C90
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x5
- str r0, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2A
- movs r1, 0xC
- movs r3, 0x5
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08016C8C: .4byte gUnknown_80DB738
-_08016C90: .4byte gUnknown_203B460
- thumb_func_end sub_8016C40
-
- thumb_func_start sub_8016C94
-sub_8016C94:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08016CF0
- movs r0, 0xA6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- str r6, [r0, 0x18]
- str r6, [r0, 0x1C]
- str r6, [r0, 0x20]
- str r4, [r0]
- ldr r0, _08016CF4
- movs r1, 0x73
- bl sub_808D8E0
- ldr r4, _08016CF8
- adds r0, r4, 0
- movs r1, 0x73
- bl sub_808D8E0
- movs r0, 0x73
- bl sub_808D994
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r5, [r5]
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08016CFC
- adds r0, r5, 0
- adds r0, 0xE8
- str r6, [r0]
- b _08016D06
- .align 2, 0
-_08016CF0: .4byte gUnknown_203B208
-_08016CF4: .4byte gUnknown_202E5D8
-_08016CF8: .4byte gUnknown_202E1C8
-_08016CFC:
- adds r1, r5, 0
- adds r1, 0xE8
- adds r0, r5, 0
- adds r0, 0xD8
- str r0, [r1]
-_08016D06:
- movs r0, 0x73
- bl sub_808DDD0
- ldr r2, _08016D50
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xD8
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE5
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE6
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0xE0
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0xE2
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8016E68
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08016D50: .4byte gUnknown_203B208
- thumb_func_end sub_8016C94
-
- thumb_func_start sub_8016D54
-sub_8016D54:
- push {lr}
- ldr r0, _08016D6C
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x1C
- bhi _08016E34
- lsls r0, 2
- ldr r1, _08016D70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016D6C: .4byte gUnknown_203B208
-_08016D70: .4byte _08016D74
- .align 2, 0
-_08016D74:
- .4byte _08016DE8
- .4byte _08016DE8
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E30
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016DEE
- .4byte _08016DEE
- .4byte _08016DF4
- .4byte _08016DFA
- .4byte _08016E00
- .4byte _08016E06
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E34
- .4byte _08016E0C
- .4byte _08016E0C
- .4byte _08016E12
- .4byte _08016E18
- .4byte _08016E1E
- .4byte _08016E24
- .4byte _08016E2A
-_08016DE8:
- bl sub_8017828
- b _08016E38
-_08016DEE:
- bl sub_8017AF8
- b _08016E38
-_08016DF4:
- bl sub_8017C7C
- b _08016E38
-_08016DFA:
- bl sub_8017DC0
- b _08016E38
-_08016E00:
- bl sub_80178D0
- b _08016E38
-_08016E06:
- bl sub_80179A8
- b _08016E38
-_08016E0C:
- bl sub_8017B88
- b _08016E38
-_08016E12:
- bl sub_8017C28
- b _08016E38
-_08016E18:
- bl sub_8017D24
- b _08016E38
-_08016E1E:
- bl sub_8017DDC
- b _08016E38
-_08016E24:
- bl sub_8017928
- b _08016E38
-_08016E2A:
- bl sub_8017A1C
- b _08016E38
-_08016E30:
- movs r0, 0x3
- b _08016E3A
-_08016E34:
- bl sub_8017DF8
-_08016E38:
- movs r0, 0
-_08016E3A:
- pop {r1}
- bx r1
- thumb_func_end sub_8016D54
-
- thumb_func_start sub_8016E40
-sub_8016E40:
- push {r4,lr}
- ldr r4, _08016E64
- ldr r0, [r4]
- cmp r0, 0
- beq _08016E5C
- adds r0, 0xD8
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08016E5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08016E64: .4byte gUnknown_203B208
- thumb_func_end sub_8016E40
-
- thumb_func_start sub_8016E68
-sub_8016E68:
- push {lr}
- ldr r1, _08016E7C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_8016E80
- bl sub_8016FF8
- pop {r0}
- bx r0
- .align 2, 0
-_08016E7C: .4byte gUnknown_203B208
- thumb_func_end sub_8016E68
-
- thumb_func_start sub_8016E80
-sub_8016E80:
- push {r4-r7,lr}
- ldr r4, _08016EA4
- ldr r0, [r4]
- adds r0, 0xEC
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- subs r0, 0xD
- cmp r0, 0xC
- bls _08016E98
- b _08016FB4
-_08016E98:
- lsls r0, 2
- ldr r1, _08016EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08016EA4: .4byte gUnknown_203B208
-_08016EA8: .4byte _08016EAC
- .align 2, 0
-_08016EAC:
- .4byte _08016EE0
- .4byte _08016EE0
- .4byte _08016F94
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016FB4
- .4byte _08016F2C
- .4byte _08016F2C
- .4byte _08016F7C
- .4byte _08016F94
-_08016EE0:
- ldr r3, _08016F24
- ldr r1, [r3]
- ldr r2, _08016F28
- adds r1, 0xEC
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r1, [r3]
- movs r6, 0x82
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r1, [r3]
- movs r5, 0x8E
- lsls r5, 1
- adds r1, r5
- adds r0, r2, 0
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r3]
- adds r0, 0xEC
- ldm r2!, {r1,r3,r4}
- stm r0!, {r1,r3,r4}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- b _08016FD8
- .align 2, 0
-_08016F24: .4byte gUnknown_203B208
-_08016F28: .4byte gUnknown_80DB748
-_08016F2C:
- ldr r3, _08016F70
- ldr r1, [r3]
- ldr r2, _08016F74
- adds r1, 0xEC
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r1, [r3]
- movs r6, 0x82
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r0, [r3]
- movs r5, 0x8E
- lsls r5, 1
- adds r0, r5
- ldm r2!, {r1,r6,r7}
- stm r0!, {r1,r6,r7}
- ldm r2!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xEC
- ldr r0, _08016F78
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- b _08016FD8
- .align 2, 0
-_08016F70: .4byte gUnknown_203B208
-_08016F74: .4byte gUnknown_80DB748
-_08016F78: .4byte gUnknown_80DB778
-_08016F7C:
- ldr r0, _08016F8C
- ldr r1, [r0]
- movs r7, 0x82
- lsls r7, 1
- adds r1, r7
- ldr r0, _08016F90
- b _08016FA0
- .align 2, 0
-_08016F8C: .4byte gUnknown_203B208
-_08016F90: .4byte gUnknown_80DB790
-_08016F94:
- ldr r0, _08016FAC
- ldr r1, [r0]
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r0
- ldr r0, _08016FB0
-_08016FA0:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _08016FD8
- .align 2, 0
-_08016FAC: .4byte gUnknown_203B208
-_08016FB0: .4byte gUnknown_80DB760
-_08016FB4:
- ldr r0, _08016FF0
- mov r12, r0
- ldr r4, _08016FF4
- movs r3, 0
- movs r2, 0x3
-_08016FBE:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xEC
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08016FBE
-_08016FD8:
- bl sub_8004914
- ldr r0, _08016FF0
- ldr r0, [r0]
- adds r0, 0xEC
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08016FF0: .4byte gUnknown_203B208
-_08016FF4: .4byte gUnknown_80DB748
- thumb_func_end sub_8016E80
-
- thumb_func_start sub_8016FF8
-sub_8016FF8:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _08017014
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x1D
- bls _0801700A
- b _08017584
-_0801700A:
- lsls r0, 2
- ldr r1, _08017018
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08017014: .4byte gUnknown_203B208
-_08017018: .4byte _0801701C
- .align 2, 0
-_0801701C:
- .4byte _08017094
- .4byte _080170BC
- .4byte _0801710C
- .4byte _0801713C
- .4byte _08017584
- .4byte _0801715C
- .4byte _0801718C
- .4byte _080171BC
- .4byte _080171EC
- .4byte _0801721C
- .4byte _0801724C
- .4byte _0801726C
- .4byte _0801728C
- .4byte _080172AC
- .4byte _080172BA
- .4byte _080172C2
- .4byte _080174A8
- .4byte _080172E4
- .4byte _0801731C
- .4byte _08017344
- .4byte _08017394
- .4byte _080173B4
- .4byte _080173E8
- .4byte _080173F6
- .4byte _08017404
- .4byte _08017474
- .4byte _080174A8
- .4byte _080174B2
- .4byte _080174E8
- .4byte _08017530
-_08017094:
- bl sub_80175FC
- ldr r2, _080170B4
- ldr r0, [r2]
- adds r0, 0xE4
- movs r4, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r3, _080170B8
- ldr r5, [r2]
- ldr r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r0, r3
- b _080170DA
- .align 2, 0
-_080170B4: .4byte gUnknown_203B208
-_080170B8: .4byte gUnknown_80D5404
-_080170BC:
- bl sub_80175FC
- ldr r1, _08017104
- ldr r0, [r1]
- adds r0, 0xE4
- movs r4, 0
- strb r4, [r0]
- ldr r2, _08017108
- ldr r5, [r1]
- ldr r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4
- adds r0, r2
-_080170DA:
- ldr r0, [r0]
- ldr r2, [r5, 0x18]
- adds r3, r5, 0
- adds r3, 0x24
- adds r1, r5, 0
- adds r1, 0x4C
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r1, r5, 0
- adds r1, 0xE8
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08017584
- .align 2, 0
-_08017104: .4byte gUnknown_203B208
-_08017108: .4byte gUnknown_80D5404
-_0801710C:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017134
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4C
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017138
- b _080173D8
- .align 2, 0
-_08017134: .4byte gUnknown_80D5404
-_08017138: .4byte 0x0000010d
-_0801713C:
- ldr r0, [r4]
- movs r1, 0x4
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _08017158
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x8
- b _080173CE
- .align 2, 0
-_08017158: .4byte gUnknown_80D5404
-_0801715C:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017184
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x34
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017188
- b _080173D8
- .align 2, 0
-_08017184: .4byte gUnknown_80D5404
-_08017188: .4byte 0x0000010d
-_0801718C:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080171B4
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x38
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _080171B8
- b _080173D8
- .align 2, 0
-_080171B4: .4byte gUnknown_80D5404
-_080171B8: .4byte 0x0000010d
-_080171BC:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080171E4
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x3C
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _080171E8
- b _080173D8
- .align 2, 0
-_080171E4: .4byte gUnknown_80D5404
-_080171E8: .4byte 0x0000010d
-_080171EC:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017214
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x48
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017218
- b _080173D8
- .align 2, 0
-_08017214: .4byte gUnknown_80D5404
-_08017218: .4byte 0x0000010d
-_0801721C:
- ldr r0, _08017244
- ldr r1, [r4]
- adds r1, 0xC
- movs r2, 0
- bl sub_8090E14
- ldr r0, [r4]
- movs r1, 0xE
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017248
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x40
- b _080173CE
- .align 2, 0
-_08017244: .4byte gUnknown_202DE58
-_08017248: .4byte gUnknown_80D5404
-_0801724C:
- ldr r0, [r4]
- movs r1, 0xE
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017268
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x44
- b _080173CE
- .align 2, 0
-_08017268: .4byte gUnknown_80D5404
-_0801726C:
- ldr r0, [r4]
- movs r1, 0xD
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08017288
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0xC
- b _080173CE
- .align 2, 0
-_08017288: .4byte gUnknown_80D5404
-_0801728C:
- ldr r0, [r4]
- movs r1, 0xE
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080172A8
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x10
- b _080173CE
- .align 2, 0
-_080172A8: .4byte gUnknown_80D5404
-_080172AC:
- movs r0, 0x3
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08017584
-_080172BA:
- movs r0, 0x1
- bl sub_801A8D0
- b _08017584
-_080172C2:
- bl sub_801A9E0
- bl sub_80176B8
- ldr r0, _080172E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- adds r1, r2, 0
- adds r1, 0x24
- adds r3, r2, 0
- adds r3, 0x4C
- ldr r2, [r2, 0x1C]
- b _08017494
- .align 2, 0
-_080172E0: .4byte gUnknown_203B208
-_080172E4:
- bl sub_80177F8
- ldr r0, _08017310
- ldr r4, _08017314
- ldr r1, [r4]
- adds r1, 0xC
- movs r2, 0
- bl sub_8090E14
- ldr r0, [r4]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _08017318
- ldr r4, [r4]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x14
- b _08017504
- .align 2, 0
-_08017310: .4byte gUnknown_202DE58
-_08017314: .4byte gUnknown_203B208
-_08017318: .4byte gUnknown_80D5404
-_0801731C:
- bl sub_80177F8
- ldr r1, _0801733C
- ldr r0, [r1]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _08017340
- ldr r4, [r1]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x18
- b _08017504
- .align 2, 0
-_0801733C: .4byte gUnknown_203B208
-_08017340: .4byte gUnknown_80D5404
-_08017344:
- bl sub_8090A34
- cmp r0, 0
- bne _0801735C
- bl sub_801A928
- ldr r0, _08017358
- ldr r1, [r0]
- movs r0, 0x1
- b _08017362
- .align 2, 0
-_08017358: .4byte gUnknown_203B208
-_0801735C:
- ldr r0, _08017388
- ldr r1, [r0]
- movs r0, 0xC
-_08017362:
- str r0, [r1, 0x8]
- ldr r3, _08017388
- ldr r0, [r3]
- adds r0, 0xE4
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _0801738C
- ldr r3, [r3]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x1C
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017390
- b _080173D8
- .align 2, 0
-_08017388: .4byte gUnknown_203B208
-_0801738C: .4byte gUnknown_80D5404
-_08017390: .4byte 0x0000010d
-_08017394:
- ldr r0, [r4]
- movs r1, 0x16
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080173B0
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x20
- b _080173CE
- .align 2, 0
-_080173B0: .4byte gUnknown_80D5404
-_080173B4:
- ldr r0, [r4]
- movs r1, 0x17
- str r1, [r0, 0x8]
- adds r0, 0xE4
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080173E0
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x24
-_080173CE:
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _080173E4
-_080173D8:
- movs r1, 0
- bl sub_80141B4
- b _08017584
- .align 2, 0
-_080173E0: .4byte gUnknown_80D5404
-_080173E4: .4byte 0x0000030d
-_080173E8:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801C8C4
- b _080173FC
-_080173F6:
- movs r0, 0x1
- bl sub_801CB5C
-_080173FC:
- movs r0, 0
- bl sub_801AD34
- b _08017584
-_08017404:
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xB8
- movs r0, 0x2
- str r0, [r1]
- subs r1, 0x8
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08017430
- ldr r1, [r0]
- ldrb r0, [r2, 0xE]
- lsls r0, 1
- adds r1, 0x50
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0x63
- bls _08017434
- adds r1, r2, 0
- adds r1, 0xB4
- movs r0, 0x63
- b _0801743A
- .align 2, 0
-_08017430: .4byte gUnknown_203B460
-_08017434:
- adds r1, r2, 0
- adds r1, 0xB4
- ldrh r0, [r3]
-_0801743A:
- str r0, [r1]
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xAC
- adds r0, r2, 0
- adds r0, 0xB4
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x10
- movs r0, 0x1
- str r0, [r1]
- adds r1, 0x4
- movs r3, 0x82
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x28
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0xA8
- bl sub_8013AA0
- bl sub_8017598
- b _08017584
-_08017474:
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- bl sub_8017758
- ldr r0, _080174A4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- adds r1, r2, 0
- adds r1, 0x24
- adds r3, r2, 0
- adds r3, 0x4C
- ldr r2, [r2, 0x20]
-_08017494:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08017584
- .align 2, 0
-_080174A4: .4byte gUnknown_203B208
-_080174A8:
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_801B3C0
- b _08017584
-_080174B2:
- bl sub_80177F8
- ldr r0, _080174DC
- ldr r4, _080174E0
- ldr r1, [r4]
- adds r1, 0xC
- movs r2, 0
- bl sub_8090E14
- ldr r0, [r4]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _080174E4
- ldr r4, [r4]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x28
- b _08017504
- .align 2, 0
-_080174DC: .4byte gUnknown_202DE58
-_080174E0: .4byte gUnknown_203B208
-_080174E4: .4byte gUnknown_80D5404
-_080174E8:
- bl sub_80177F8
- ldr r1, _08017528
- ldr r0, [r1]
- adds r0, 0xE4
- movs r5, 0
- strb r5, [r0]
- ldr r2, _0801752C
- ldr r4, [r1]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x2C
-_08017504:
- adds r0, r2
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x24
- str r5, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- adds r4, 0xE8
- ldr r1, [r4]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
- b _08017584
- .align 2, 0
-_08017528: .4byte gUnknown_203B208
-_0801752C: .4byte gUnknown_80D5404
-_08017530:
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08017544
- bl sub_8090A34
- cmp r0, 0x13
- ble _08017554
-_08017544:
- bl sub_801CBB8
- ldr r0, _08017550
- ldr r1, [r0]
- movs r0, 0x1
- b _0801755A
- .align 2, 0
-_08017550: .4byte gUnknown_203B208
-_08017554:
- ldr r0, _0801758C
- ldr r1, [r0]
- movs r0, 0x15
-_0801755A:
- str r0, [r1, 0x8]
- ldr r3, _0801758C
- ldr r0, [r3]
- adds r0, 0xE4
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _08017590
- ldr r3, [r3]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x30
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xE8
- ldr r2, [r3]
- ldr r3, _08017594
- movs r1, 0
- bl sub_80141B4
-_08017584:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801758C: .4byte gUnknown_203B208
-_08017590: .4byte gUnknown_80D5404
-_08017594: .4byte 0x0000010d
- thumb_func_end sub_8016FF8
-
- thumb_func_start sub_8017598
-sub_8017598:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080175F4
- ldr r0, [r4]
- adds r0, 0xBC
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0xBC
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _080175F8
- ldr r0, [r4]
- adds r0, 0xBC
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r4]
- adds r0, 0xA8
- bl sub_8013C68
- ldr r0, [r4]
- adds r0, 0xBC
- ldr r0, [r0]
- bl sub_80073E0
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080175F4: .4byte gUnknown_203B208
-_080175F8: .4byte gUnknown_80DB7A8
- thumb_func_end sub_8017598
-
- thumb_func_start sub_80175FC
-sub_80175FC:
- push {r4-r7,lr}
- ldr r4, _0801767C
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- movs r2, 0xA
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08017680
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x2
- str r0, [r3, 0x28]
- movs r1, 0x1
- ldr r0, _08017684
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- movs r0, 0x3
- str r0, [r3, 0x30]
- ldr r0, _08017688
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x6
- str r0, [r3, 0x38]
- ldr r0, _0801768C
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- str r1, [r3, 0x40]
- movs r6, 0x4
- str r2, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r5, 0
- mov r12, r3
- adds r3, 0x28
- mov r2, r12
- adds r2, 0x4C
-_08017648:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08017658
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x18]
- cmp r1, r0
- beq _080176B2
-_08017658:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08017648
- movs r5, 0
- cmp r5, r6
- bge _080176B2
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08017690
- ldr r0, [r1, 0x28]
- str r0, [r1, 0x18]
- b _080176B2
- .align 2, 0
-_0801767C: .4byte gUnknown_203B208
-_08017680: .4byte gUnknown_80D4958
-_08017684: .4byte gUnknown_80D4964
-_08017688: .4byte gUnknown_80D4970
-_0801768C: .4byte gUnknown_80D4934
-_08017690:
- adds r5, 0x1
- cmp r5, r6
- bge _080176B2
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08017690
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x28
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_080176B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80175FC
-
- thumb_func_start sub_80176B8
-sub_80176B8:
- push {r4-r7,lr}
- ldr r4, _08017724
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- movs r2, 0xA
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08017728
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x2
- str r0, [r3, 0x28]
- movs r1, 0x1
- ldr r0, _0801772C
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- movs r0, 0x6
- str r0, [r3, 0x30]
- movs r6, 0x2
- str r2, [r3, 0x34]
- str r1, [r3, 0x38]
- movs r5, 0
- mov r12, r3
- adds r3, 0x28
- mov r2, r12
- adds r2, 0x4C
-_080176F2:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08017702
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x1C]
- cmp r1, r0
- beq _08017752
-_08017702:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080176F2
- movs r5, 0
- cmp r5, r6
- bge _08017752
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08017730
- ldr r0, [r1, 0x28]
- str r0, [r1, 0x1C]
- b _08017752
- .align 2, 0
-_08017724: .4byte gUnknown_203B208
-_08017728: .4byte gUnknown_80D4958
-_0801772C: .4byte gUnknown_80D4970
-_08017730:
- adds r5, 0x1
- cmp r5, r6
- bge _08017752
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08017730
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x28
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
-_08017752:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80176B8
-
- thumb_func_start sub_8017758
-sub_8017758:
- push {r4-r7,lr}
- ldr r4, _080177C4
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- movs r2, 0xA
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _080177C8
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x3
- str r0, [r3, 0x28]
- movs r1, 0x1
- ldr r0, _080177CC
- ldr r0, [r0]
- str r0, [r3, 0x2C]
- movs r0, 0x6
- str r0, [r3, 0x30]
- movs r6, 0x2
- str r2, [r3, 0x34]
- str r1, [r3, 0x38]
- movs r5, 0
- mov r12, r3
- adds r3, 0x28
- mov r2, r12
- adds r2, 0x4C
-_08017792:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080177A2
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x20]
- cmp r1, r0
- beq _080177F2
-_080177A2:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08017792
- movs r5, 0
- cmp r5, r6
- bge _080177F2
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x4C
- ldrh r0, [r0]
- cmp r0, 0
- bne _080177D0
- ldr r0, [r1, 0x28]
- str r0, [r1, 0x20]
- b _080177F2
- .align 2, 0
-_080177C4: .4byte gUnknown_203B208
-_080177C8: .4byte gUnknown_80D4964
-_080177CC: .4byte gUnknown_80D4970
-_080177D0:
- adds r5, 0x1
- cmp r5, r6
- bge _080177F2
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080177D0
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x28
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
-_080177F2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8017758
-
- thumb_func_start sub_80177F8
-sub_80177F8:
- ldr r0, _0801781C
- ldr r1, [r0]
- movs r3, 0
- ldr r0, _08017820
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x4
- str r0, [r1, 0x28]
- movs r2, 0x1
- ldr r0, _08017824
- ldr r0, [r0]
- str r0, [r1, 0x2C]
- movs r0, 0x5
- str r0, [r1, 0x30]
- str r3, [r1, 0x34]
- str r2, [r1, 0x38]
- bx lr
- .align 2, 0
-_0801781C: .4byte gUnknown_203B208
-_08017820: .4byte gUnknown_80D4920
-_08017824: .4byte gUnknown_80D4928
- thumb_func_end sub_80177F8
-
- thumb_func_start sub_8017828
-sub_8017828:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080178C8
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08017842
- ldr r0, _08017854
- ldr r0, [r0]
- str r1, [r0, 0x18]
-_08017842:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08017862
- cmp r0, 0x2
- bgt _08017858
- cmp r0, 0x1
- beq _080178C2
- b _080178C8
- .align 2, 0
-_08017854: .4byte gUnknown_203B208
-_08017858:
- cmp r0, 0x3
- beq _0801788E
- cmp r0, 0x6
- beq _080178BA
- b _080178C8
-_08017862:
- bl sub_8090A34
- cmp r0, 0
- bne _08017872
- movs r0, 0x5
- bl sub_8016E68
- b _080178C8
-_08017872:
- movs r0, 0
- bl sub_801CF50
- lsls r0, 24
- cmp r0, 0
- beq _08017886
- movs r0, 0x8
- bl sub_8016E68
- b _080178C8
-_08017886:
- movs r0, 0xB
- bl sub_8016E68
- b _080178C8
-_0801788E:
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _080178A2
- movs r0, 0x7
- bl sub_8016E68
- b _080178C8
-_080178A2:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080178B2
- movs r0, 0x6
- bl sub_8016E68
- b _080178C8
-_080178B2:
- movs r0, 0x14
- bl sub_8016E68
- b _080178C8
-_080178BA:
- movs r0, 0x2
- bl sub_8016E68
- b _080178C8
-_080178C2:
- movs r0, 0x3
- bl sub_8016E68
-_080178C8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8017828
-
- thumb_func_start sub_80178D0
-sub_80178D0:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801791E
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080178F4
- cmp r0, 0x4
- bgt _080178EE
- cmp r0, 0x1
- beq _08017918
- b _0801791E
-_080178EE:
- cmp r0, 0x5
- beq _08017918
- b _0801791E
-_080178F4:
- ldr r4, _08017914
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_80917B8
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_80911F8
- bl sub_80910B4
- movs r0, 0x13
- bl sub_8016E68
- b _0801791E
- .align 2, 0
-_08017914: .4byte gUnknown_203B208
-_08017918:
- movs r0, 0xE
- bl sub_8016E68
-_0801791E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80178D0
-
- thumb_func_start sub_8017928
-sub_8017928:
- push {lr}
- sub sp, 0x8
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080179A2
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801794C
- cmp r0, 0x4
- bgt _08017946
- cmp r0, 0x1
- beq _0801799C
- b _080179A2
-_08017946:
- cmp r0, 0x5
- beq _0801799C
- b _080179A2
-_0801794C:
- ldr r0, _0801798C
- ldr r1, [r0]
- ldr r0, _08017990
- ldr r3, [r0]
- ldrb r0, [r3, 0xE]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0xD]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xE]
- ldr r1, _08017994
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- ldrb r1, [r3, 0xD]
- lsls r1, 8
- ldr r2, _08017998
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- bl sub_8091274
- movs r0, 0x1D
- bl sub_8016E68
- b _080179A2
- .align 2, 0
-_0801798C: .4byte gUnknown_203B460
-_08017990: .4byte gUnknown_203B208
-_08017994: .4byte 0xffffff00
-_08017998: .4byte 0xffff00ff
-_0801799C:
- movs r0, 0x17
- bl sub_8016E68
-_080179A2:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8017928
-
- thumb_func_start sub_80179A8
-sub_80179A8:
- push {r4-r7,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08017A12
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080179CC
- cmp r0, 0x4
- bgt _080179C6
- cmp r0, 0x1
- beq _08017A0C
- b _08017A12
-_080179C6:
- cmp r0, 0x5
- beq _08017A0C
- b _08017A12
-_080179CC:
- movs r5, 0
- ldr r6, _08017A08
- movs r7, 0
-_080179D2:
- adds r0, r5, 0
- bl sub_801AED0
- cmp r0, 0
- beq _080179F2
- lsls r4, r5, 2
- ldr r0, [r6]
- adds r0, r4
- bl sub_80917B8
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0, 0x2]
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0]
-_080179F2:
- adds r5, 0x1
- cmp r5, 0x13
- ble _080179D2
- bl sub_80910B4
- bl sub_801AE84
- movs r0, 0x13
- bl sub_8016E68
- b _08017A12
- .align 2, 0
-_08017A08: .4byte gUnknown_203B460
-_08017A0C:
- movs r0, 0xE
- bl sub_8016E68
-_08017A12:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80179A8
-
- thumb_func_start sub_8017A1C
-sub_8017A1C:
- push {r4-r6,lr}
- sub sp, 0x8
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08017AEE
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08017A40
- cmp r0, 0x4
- bgt _08017A3A
- cmp r0, 0x1
- beq _08017AE8
- b _08017AEE
-_08017A3A:
- cmp r0, 0x5
- beq _08017AE8
- b _08017AEE
-_08017A40:
- movs r5, 0
- ldr r6, _08017A88
-_08017A44:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_801CFE0
- cmp r0, 0
- beq _08017ACE
- ldr r1, _08017A8C
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r4
- str r0, [sp, 0x4]
- add r4, sp, 0x4
- ldrb r0, [r4]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08017AA2
- ldr r2, _08017A90
- ldr r1, [r2]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- cmp r1, 0x63
- bls _08017A94
- ldr r0, [sp, 0x4]
- ands r0, r6
- movs r1, 0xC6
- lsls r1, 7
- b _08017A9C
- .align 2, 0
-_08017A88: .4byte 0xffff00ff
-_08017A8C: .4byte 0xffffff00
-_08017A90: .4byte gUnknown_203B460
-_08017A94:
- lsls r1, 24
- lsrs r1, 16
- ldr r0, [sp, 0x4]
- ands r0, r6
-_08017A9C:
- orrs r0, r1
- str r0, [sp, 0x4]
- b _08017AB0
-_08017AA2:
- ldr r0, [sp, 0x4]
- ands r0, r6
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r2, _08017AE4
-_08017AB0:
- ldr r3, [r2]
- add r0, sp, 0x4
- ldrb r1, [r4]
- lsls r1, 1
- adds r3, 0x50
- adds r3, r1
- ldr r1, [sp, 0x4]
- lsrs r1, 8
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r3]
- subs r2, r1
- strh r2, [r3]
- bl sub_8091274
-_08017ACE:
- adds r5, 0x1
- cmp r5, 0xEF
- ble _08017A44
- bl sub_80910B4
- bl sub_801CF94
- movs r0, 0x1D
- bl sub_8016E68
- b _08017AEE
- .align 2, 0
-_08017AE4: .4byte gUnknown_203B460
-_08017AE8:
- movs r0, 0x17
- bl sub_8016E68
-_08017AEE:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8017A1C
-
- thumb_func_start sub_8017AF8
-sub_8017AF8:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08017B14
- cmp r0, 0x3
- bhi _08017B0E
- cmp r0, 0x2
- beq _08017B78
- b _08017B82
-_08017B0E:
- cmp r0, 0x4
- beq _08017B50
- b _08017B82
-_08017B14:
- bl sub_801AEA8
- cmp r0, 0
- beq _08017B2A
- movs r0, 0
- bl sub_8099690
- movs r0, 0x12
- bl sub_8016E68
- b _08017B82
-_08017B2A:
- bl sub_801A8AC
- ldr r1, _08017B48
- ldr r2, [r1]
- str r0, [r2, 0x10]
- ldr r1, _08017B4C
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0xC]
- movs r0, 0xF
- bl sub_8016E68
- b _08017B82
- .align 2, 0
-_08017B48: .4byte gUnknown_203B208
-_08017B4C: .4byte gUnknown_203B460
-_08017B50:
- bl sub_801A8AC
- ldr r1, _08017B70
- ldr r2, [r1]
- str r0, [r2, 0x10]
- ldr r1, _08017B74
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0xC]
- movs r0, 0x10
- bl sub_8016E68
- b _08017B82
- .align 2, 0
-_08017B70: .4byte gUnknown_203B208
-_08017B74: .4byte gUnknown_203B460
-_08017B78:
- bl sub_801A928
- movs r0, 0x1
- bl sub_8016E68
-_08017B82:
- pop {r0}
- bx r0
- thumb_func_end sub_8017AF8
-
- thumb_func_start sub_8017B88
-sub_8017B88:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x2
- beq _08017C10
- cmp r0, 0x2
- bhi _08017B9E
- cmp r0, 0x1
- beq _08017C1C
- b _08017C22
-_08017B9E:
- cmp r0, 0x3
- beq _08017BA8
- cmp r0, 0x4
- beq _08017BE4
- b _08017C22
-_08017BA8:
- bl sub_801CFB8
- cmp r0, 0
- beq _08017BB8
- movs r0, 0x1C
- bl sub_8016E68
- b _08017C22
-_08017BB8:
- bl sub_801CB24
- ldr r4, _08017BE0
- ldr r1, [r4]
- strb r0, [r1, 0x14]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC
- ldrb r1, [r1, 0x14]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- movs r0, 0x19
- bl sub_8016E68
- b _08017C22
- .align 2, 0
-_08017BE0: .4byte gUnknown_203B208
-_08017BE4:
- bl sub_801CB24
- ldr r4, _08017C0C
- ldr r1, [r4]
- strb r0, [r1, 0x14]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC
- ldrb r1, [r1, 0x14]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- movs r0, 0x1A
- bl sub_8016E68
- b _08017C22
- .align 2, 0
-_08017C0C: .4byte gUnknown_203B208
-_08017C10:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8016E68
- b _08017C22
-_08017C1C:
- movs r0, 0
- bl sub_801AD34
-_08017C22:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017B88
-
- thumb_func_start sub_8017C28
-sub_8017C28:
- push {r4,lr}
- movs r0, 0
- bl sub_801CA08
- ldr r4, _08017C54
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xA8
- bl sub_8013BBC
- cmp r0, 0x1
- beq _08017C58
- cmp r0, 0x1
- bcc _08017C76
- cmp r0, 0x2
- beq _08017C70
- cmp r0, 0x3
- beq _08017C5E
- b _08017C76
- .align 2, 0
-_08017C54: .4byte gUnknown_203B208
-_08017C58:
- bl sub_8017598
- b _08017C76
-_08017C5E:
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xA8
- ldr r1, [r1]
- strb r1, [r0, 0xD]
- movs r0, 0x1B
- bl sub_8016E68
- b _08017C76
-_08017C70:
- movs r0, 0x17
- bl sub_8016E68
-_08017C76:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017C28
-
- thumb_func_start sub_8017C7C
-sub_8017C7C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08017CBC
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08017CAC
- ldr r0, [r4]
- adds r0, 0x58
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08017CAC
- ldr r0, [r4]
- str r1, [r0, 0x1C]
-_08017CAC:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08017CC6
- cmp r0, 0x2
- bgt _08017CC0
- cmp r0, 0x1
- beq _08017D14
- b _08017D1A
- .align 2, 0
-_08017CBC: .4byte gUnknown_203B208
-_08017CC0:
- cmp r0, 0x6
- beq _08017D06
- b _08017D1A
-_08017CC6:
- movs r0, 0
- bl sub_8099690
- ldr r4, _08017CE4
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _08017CE8
- movs r0, 0x9
- bl sub_8016E68
- b _08017D1A
- .align 2, 0
-_08017CE4: .4byte gUnknown_203B208
-_08017CE8:
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _08017CFE
- movs r0, 0xA
- bl sub_8016E68
- b _08017D1A
-_08017CFE:
- movs r0, 0x11
- bl sub_8016E68
- b _08017D1A
-_08017D06:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x10
- bl sub_8016E68
- b _08017D1A
-_08017D14:
- movs r0, 0xE
- bl sub_8016E68
-_08017D1A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017C7C
-
- thumb_func_start sub_8017D24
-sub_8017D24:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801CA08
- ldr r4, _08017D64
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08017D54
- ldr r0, [r4]
- adds r0, 0x58
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08017D54
- ldr r0, [r4]
- str r1, [r0, 0x20]
-_08017D54:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08017D6E
- cmp r0, 0x3
- bgt _08017D68
- cmp r0, 0x1
- beq _08017DB0
- b _08017DB6
- .align 2, 0
-_08017D64: .4byte gUnknown_203B208
-_08017D68:
- cmp r0, 0x6
- beq _08017DA8
- b _08017DB6
-_08017D6E:
- bl sub_8090A34
- cmp r0, 0x13
- ble _08017D82
- bl sub_801CBB8
- movs r0, 0x6
- bl sub_8016E68
- b _08017DB6
-_08017D82:
- ldr r0, _08017D9C
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08017DA0
- movs r0, 0x18
- bl sub_8016E68
- b _08017DB6
- .align 2, 0
-_08017D9C: .4byte gUnknown_203B208
-_08017DA0:
- movs r0, 0x1B
- bl sub_8016E68
- b _08017DB6
-_08017DA8:
- movs r0, 0x1A
- bl sub_8016E68
- b _08017DB6
-_08017DB0:
- movs r0, 0x17
- bl sub_8016E68
-_08017DB6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8017D24
-
- thumb_func_start sub_8017DC0
-sub_8017DC0:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08017DD8
- cmp r0, 0x3
- bhi _08017DD8
- bl sub_801B450
- movs r0, 0xE
- bl sub_8016E68
-_08017DD8:
- pop {r0}
- bx r0
- thumb_func_end sub_8017DC0
-
- thumb_func_start sub_8017DDC
-sub_8017DDC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08017DF4
- cmp r0, 0x3
- bhi _08017DF4
- bl sub_801B450
- movs r0, 0x17
- bl sub_8016E68
-_08017DF4:
- pop {r0}
- bx r0
- thumb_func_end sub_8017DDC
-
- thumb_func_start sub_8017DF8
-sub_8017DF8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08017E10
- ldr r0, _08017E18
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8016E68
-_08017E10:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08017E18: .4byte gUnknown_203B208
- thumb_func_end sub_8017DF8
-
- thumb_func_start sub_8017E1C
-sub_8017E1C:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08017E50
- movs r0, 0xA8
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x14]
- str r1, [r0, 0x18]
- str r1, [r0, 0x1C]
- movs r0, 0
- bl sub_8017F10
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08017E50: .4byte gUnknown_203B20C
- thumb_func_end sub_8017E1C
-
- thumb_func_start sub_8017E54
-sub_8017E54:
- push {lr}
- ldr r0, _08017E6C
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0xE
- bhi _08017EEC
- lsls r0, 2
- ldr r1, _08017E70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08017E6C: .4byte gUnknown_203B20C
-_08017E70: .4byte _08017E74
- .align 2, 0
-_08017E74:
- .4byte _08017EB0
- .4byte _08017EB8
- .4byte _08017EEC
- .4byte _08017EE8
- .4byte _08017EBE
- .4byte _08017EBE
- .4byte _08017EC4
- .4byte _08017ECA
- .4byte _08017EEC
- .4byte _08017EEC
- .4byte _08017ED0
- .4byte _08017ED0
- .4byte _08017ED6
- .4byte _08017EDC
- .4byte _08017EE2
-_08017EB0:
- movs r0, 0x1
- bl sub_8017F10
- b _08017EEC
-_08017EB8:
- bl sub_8018588
- b _08017EEC
-_08017EBE:
- bl sub_8018620
- b _08017EEC
-_08017EC4:
- bl sub_8018904
- b _08017EEC
-_08017ECA:
- bl sub_8018AC8
- b _08017EEC
-_08017ED0:
- bl sub_80186F8
- b _08017EEC
-_08017ED6:
- bl sub_8018854
- b _08017EEC
-_08017EDC:
- bl sub_80189C8
- b _08017EEC
-_08017EE2:
- bl sub_8018AE4
- b _08017EEC
-_08017EE8:
- movs r0, 0x3
- b _08017EEE
-_08017EEC:
- movs r0, 0
-_08017EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8017E54
-
- thumb_func_start sub_8017EF4
-sub_8017EF4:
- push {r4,lr}
- ldr r4, _08017F0C
- ldr r0, [r4]
- cmp r0, 0
- beq _08017F06
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08017F06:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08017F0C: .4byte gUnknown_203B20C
- thumb_func_end sub_8017EF4
-
- thumb_func_start sub_8017F10
-sub_8017F10:
- push {lr}
- ldr r1, _08017F24
- ldr r1, [r1]
- str r0, [r1]
- bl sub_8017F28
- bl sub_8018100
- pop {r0}
- bx r0
- .align 2, 0
-_08017F24: .4byte gUnknown_203B20C
- thumb_func_end sub_8017F10
-
- thumb_func_start sub_8017F28
-sub_8017F28:
- push {r4-r7,lr}
- ldr r4, _08017F48
- ldr r0, [r4]
- adds r0, 0xF0
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0xD
- bls _08017F3E
- b _080180BC
-_08017F3E:
- lsls r0, 2
- ldr r1, _08017F4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08017F48: .4byte gUnknown_203B20C
-_08017F4C: .4byte _08017F50
- .align 2, 0
-_08017F50:
- .4byte _080180BC
- .4byte _08017F88
- .4byte _080180BC
- .4byte _080180BC
- .4byte _08017FE8
- .4byte _08017FE8
- .4byte _0801809C
- .4byte _080180BC
- .4byte _080180BC
- .4byte _080180BC
- .4byte _08018034
- .4byte _08018034
- .4byte _08018084
- .4byte _0801809C
-_08017F88:
- ldr r4, _08017FDC
- ldr r1, [r4]
- ldr r2, _08017FE0
- adds r1, 0xF0
- adds r0, r2, 0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldr r1, [r4]
- movs r6, 0x84
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldr r0, [r4]
- adds r0, 0xF0
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r2!, {r1,r3,r5}
- stm r0!, {r1,r3,r5}
- bl sub_80182E4
- ldr r2, [r4]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r0
- ldr r1, _08017FE4
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x20
- bl sub_8012CAC
- b _080180E0
- .align 2, 0
-_08017FDC: .4byte gUnknown_203B20C
-_08017FE0: .4byte gUnknown_80DB7B8
-_08017FE4: .4byte gUnknown_80DB7D0
-_08017FE8:
- ldr r3, _0801802C
- ldr r1, [r3]
- ldr r2, _08018030
- adds r1, 0xF0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r1, [r3]
- movs r6, 0x84
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r1, [r3]
- movs r5, 0x90
- lsls r5, 1
- adds r1, r5
- adds r0, r2, 0
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r3,r4}
- stm r0!, {r1,r3,r4}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- b _080180E0
- .align 2, 0
-_0801802C: .4byte gUnknown_203B20C
-_08018030: .4byte gUnknown_80DB7B8
-_08018034:
- ldr r3, _08018078
- ldr r1, [r3]
- ldr r2, _0801807C
- adds r1, 0xF0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r1, [r3]
- movs r6, 0x84
- lsls r6, 1
- adds r1, r6
- adds r0, r2, 0
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r0, [r3]
- movs r5, 0x90
- lsls r5, 1
- adds r0, r5
- ldm r2!, {r1,r6,r7}
- stm r0!, {r1,r6,r7}
- ldm r2!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xF0
- ldr r0, _08018080
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- b _080180E0
- .align 2, 0
-_08018078: .4byte gUnknown_203B20C
-_0801807C: .4byte gUnknown_80DB7B8
-_08018080: .4byte gUnknown_80DB800
-_08018084:
- ldr r0, _08018094
- ldr r1, [r0]
- movs r7, 0x84
- lsls r7, 1
- adds r1, r7
- ldr r0, _08018098
- b _080180A8
- .align 2, 0
-_08018094: .4byte gUnknown_203B20C
-_08018098: .4byte gUnknown_80DB818
-_0801809C:
- ldr r0, _080180B4
- ldr r1, [r0]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r0
- ldr r0, _080180B8
-_080180A8:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _080180E0
- .align 2, 0
-_080180B4: .4byte gUnknown_203B20C
-_080180B8: .4byte gUnknown_80DB7E8
-_080180BC:
- ldr r0, _080180F8
- mov r12, r0
- ldr r4, _080180FC
- movs r3, 0
- movs r2, 0x3
-_080180C6:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xF0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080180C6
-_080180E0:
- bl sub_8004914
- ldr r0, _080180F8
- ldr r0, [r0]
- adds r0, 0xF0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080180F8: .4byte gUnknown_203B20C
-_080180FC: .4byte gUnknown_80DB7B8
- thumb_func_end sub_8017F28
-
- thumb_func_start sub_8018100
-sub_8018100:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _0801811C
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xE
- bls _08018112
- b _08018278
-_08018112:
- lsls r0, 2
- ldr r1, _08018120
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801811C: .4byte gUnknown_203B20C
-_08018120: .4byte _08018124
- .align 2, 0
-_08018124:
- .4byte _08018278
- .4byte _08018160
- .4byte _08018278
- .4byte _08018278
- .4byte _08018172
- .4byte _08018180
- .4byte _08018188
- .4byte _080181A8
- .4byte _08018278
- .4byte _08018278
- .4byte _080181B2
- .4byte _080181C0
- .4byte _080181CE
- .4byte _0801823C
- .4byte _08018270
-_08018160:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x70
- adds r1, r2, 0
- adds r1, 0x20
- adds r3, r2, 0
- adds r3, 0x60
- ldr r2, [r2, 0x14]
- b _0801825C
-_08018172:
- movs r0, 0x3
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08018278
-_08018180:
- movs r0, 0x1
- bl sub_801A8D0
- b _08018278
-_08018188:
- bl sub_801A9E0
- bl sub_801841C
- ldr r0, _080181A4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x70
- adds r1, r2, 0
- adds r1, 0x20
- adds r3, r2, 0
- adds r3, 0x60
- ldr r2, [r2, 0x18]
- b _0801825C
- .align 2, 0
-_080181A4: .4byte gUnknown_203B20C
-_080181A8:
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_801B3C0
- b _08018278
-_080181B2:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801C8C4
- b _080181C6
-_080181C0:
- movs r0, 0x1
- bl sub_801CB5C
-_080181C6:
- movs r0, 0
- bl sub_801AD34
- b _08018278
-_080181CE:
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xD0
- movs r0, 0x2
- str r0, [r1]
- subs r1, 0x8
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _080181F8
- ldr r1, [r0]
- ldrb r0, [r2, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0x63
- bls _080181FC
- adds r1, r2, 0
- adds r1, 0xCC
- movs r0, 0x63
- b _08018202
- .align 2, 0
-_080181F8: .4byte gUnknown_203B460
-_080181FC:
- adds r1, r2, 0
- adds r1, 0xCC
- ldrh r0, [r3]
-_08018202:
- str r0, [r1]
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xC4
- adds r0, r2, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x10
- movs r0, 0x1
- str r0, [r1]
- adds r1, 0x4
- movs r3, 0x84
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x28
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0xC0
- bl sub_8013AA0
- bl sub_8018280
- b _08018278
-_0801823C:
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- bl sub_80184D4
- ldr r0, _0801826C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x70
- adds r1, r2, 0
- adds r1, 0x20
- adds r3, r2, 0
- adds r3, 0x60
- ldr r2, [r2, 0x1C]
-_0801825C:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08018278
- .align 2, 0
-_0801826C: .4byte gUnknown_203B20C
-_08018270:
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_801B3C0
-_08018278:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018100
-
- thumb_func_start sub_8018280
-sub_8018280:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080182DC
- ldr r0, [r4]
- adds r0, 0xD4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0xD4
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _080182E0
- ldr r0, [r4]
- adds r0, 0xD4
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r4]
- adds r0, 0xC0
- bl sub_8013C68
- ldr r0, [r4]
- adds r0, 0xD4
- ldr r0, [r0]
- bl sub_80073E0
- bl sub_801CCD8
- movs r0, 0
- bl sub_801AD34
- ldr r0, [r4]
- adds r0, 0x70
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080182DC: .4byte gUnknown_203B20C
-_080182E0: .4byte gUnknown_80DB830
- thumb_func_end sub_8018280
-
- thumb_func_start sub_80182E4
-sub_80182E4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- mov r8, r0
- ldr r4, _080183DC
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _080183E0
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x2
- str r0, [r1, 0x24]
- bl sub_8090A34
- cmp r0, 0
- beq _0801831C
- movs r0, 0
- bl sub_801CF50
- lsls r0, 24
- cmp r0, 0
- beq _08018324
-_0801831C:
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- strh r1, [r0]
-_08018324:
- movs r1, 0x1
- add r8, r1
- ldr r4, _080183DC
- ldr r2, [r4]
- mov r0, r8
- lsls r3, r0, 3
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r3
- ldr r1, _080183E4
- ldr r1, [r1]
- str r1, [r0]
- adds r2, 0x24
- adds r2, r3
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018358
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018366
-_08018358:
- ldr r0, [r4]
- mov r2, r8
- lsls r1, r2, 1
- adds r0, 0x60
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08018366:
- movs r0, 0x1
- add r8, r0
- ldr r4, _080183DC
- ldr r7, [r4]
- mov r2, r8
- lsls r1, r2, 3
- adds r2, r7, 0
- adds r2, 0x20
- adds r3, r2, r1
- ldr r0, _080183E8
- ldr r0, [r0]
- str r0, [r3]
- adds r6, r7, 0
- adds r6, 0x24
- adds r1, r6, r1
- movs r3, 0x1
- str r3, [r1]
- add r8, r3
- mov r1, r8
- lsls r0, r1, 3
- adds r2, r0
- movs r1, 0
- str r1, [r2]
- adds r0, r6, r0
- str r3, [r0]
- movs r5, 0
- mov r12, r4
- cmp r5, r8
- bge _080183C0
- adds r4, r7, 0
- adds r2, r4, 0
- adds r2, 0x60
- adds r3, r6, 0
-_080183A8:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080183B6
- ldr r1, [r3]
- ldr r0, [r4, 0x14]
- cmp r1, r0
- beq _08018410
-_080183B6:
- adds r2, 0x2
- adds r3, 0x8
- adds r5, 0x1
- cmp r5, r8
- blt _080183A8
-_080183C0:
- movs r5, 0
- cmp r5, r8
- bge _08018410
- mov r2, r12
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x60
- ldrh r0, [r0]
- cmp r0, 0
- bne _080183EC
- ldr r0, [r1, 0x24]
- str r0, [r1, 0x14]
- b _08018410
- .align 2, 0
-_080183DC: .4byte gUnknown_203B20C
-_080183E0: .4byte gUnknown_80D4958
-_080183E4: .4byte gUnknown_80D4964
-_080183E8: .4byte gUnknown_80D4934
-_080183EC:
- adds r5, 0x1
- cmp r5, r8
- bge _08018410
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x60
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080183EC
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x24
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x14]
-_08018410:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80182E4
-
- thumb_func_start sub_801841C
-sub_801841C:
- push {r4-r7,lr}
- ldr r4, _080184A0
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _080184A4
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x2
- str r0, [r1, 0x24]
- ldr r0, [r1, 0xC]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801844C
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- strh r1, [r0]
-_0801844C:
- ldr r2, [r4]
- movs r1, 0x1
- ldr r0, _080184A8
- ldr r0, [r0]
- str r0, [r2, 0x28]
- movs r0, 0x4
- str r0, [r2, 0x2C]
- movs r5, 0x2
- movs r0, 0
- str r0, [r2, 0x30]
- str r1, [r2, 0x34]
- movs r3, 0
- adds r6, r4, 0
- mov r12, r2
- mov r4, r12
- adds r4, 0x60
- adds r2, 0x24
-_0801846E:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0801847E
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x18]
- cmp r1, r0
- beq _080184CE
-_0801847E:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0801846E
- movs r3, 0
- cmp r3, r5
- bge _080184CE
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x60
- ldrh r0, [r0]
- cmp r0, 0
- bne _080184AC
- ldr r0, [r1, 0x24]
- str r0, [r1, 0x18]
- b _080184CE
- .align 2, 0
-_080184A0: .4byte gUnknown_203B20C
-_080184A4: .4byte gUnknown_80D4958
-_080184A8: .4byte gUnknown_80D4970
-_080184AC:
- adds r3, 0x1
- cmp r3, r5
- bge _080184CE
- ldr r2, [r6]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x60
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080184AC
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x24
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_080184CE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801841C
-
- thumb_func_start sub_80184D4
-sub_80184D4:
- push {r4-r7,lr}
- ldr r4, _08018554
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _08018558
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x3
- str r0, [r1, 0x24]
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018500
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- strh r1, [r0]
-_08018500:
- ldr r2, [r4]
- movs r1, 0x1
- ldr r0, _0801855C
- ldr r0, [r0]
- str r0, [r2, 0x28]
- movs r0, 0x4
- str r0, [r2, 0x2C]
- movs r5, 0x2
- movs r0, 0
- str r0, [r2, 0x30]
- str r1, [r2, 0x34]
- movs r3, 0
- adds r6, r4, 0
- mov r12, r2
- mov r4, r12
- adds r4, 0x60
- adds r2, 0x24
-_08018522:
- ldrh r0, [r4]
- cmp r0, 0
- bne _08018532
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x1C]
- cmp r1, r0
- beq _08018582
-_08018532:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _08018522
- movs r3, 0
- cmp r3, r5
- bge _08018582
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x60
- ldrh r0, [r0]
- cmp r0, 0
- bne _08018560
- ldr r0, [r1, 0x24]
- str r0, [r1, 0x1C]
- b _08018582
- .align 2, 0
-_08018554: .4byte gUnknown_203B20C
-_08018558: .4byte gUnknown_80D4964
-_0801855C: .4byte gUnknown_80D4970
-_08018560:
- adds r3, 0x1
- cmp r3, r5
- bge _08018582
- ldr r2, [r6]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x60
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08018560
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x24
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
-_08018582:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80184D4
-
- thumb_func_start sub_8018588
-sub_8018588:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _080185C4
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080185B4
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080185B4
- ldr r0, [r4]
- str r1, [r0, 0x14]
-_080185B4:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080185CE
- cmp r0, 0x2
- bgt _080185C8
- cmp r0, 0x1
- beq _08018610
- b _08018616
- .align 2, 0
-_080185C4: .4byte gUnknown_203B20C
-_080185C8:
- cmp r0, 0x3
- beq _080185EA
- b _08018616
-_080185CE:
- bl sub_8090A34
- cmp r0, 0
- beq _080185F6
- movs r0, 0
- bl sub_801CF50
- lsls r0, 24
- cmp r0, 0
- bne _080185F6
- movs r0, 0x4
- bl sub_8017F10
- b _08018616
-_080185EA:
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _08018608
-_080185F6:
- ldr r0, _08018604
- ldr r0, [r0]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _08018616
- .align 2, 0
-_08018604: .4byte gUnknown_203B20C
-_08018608:
- movs r0, 0xA
- bl sub_8017F10
- b _08018616
-_08018610:
- movs r0, 0x3
- bl sub_8017F10
-_08018616:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018588
-
- thumb_func_start sub_8018620
-sub_8018620:
- push {r4-r7,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _0801863C
- cmp r0, 0x3
- bhi _08018636
- cmp r0, 0x2
- beq _080186E8
- b _080186F2
-_08018636:
- cmp r0, 0x4
- beq _080186C0
- b _080186F2
-_0801863C:
- bl sub_801AEA8
- cmp r0, 0
- beq _08018698
- movs r5, 0
- ldr r6, _0801868C
- movs r7, 0
-_0801864A:
- adds r0, r5, 0
- bl sub_801AED0
- cmp r0, 0
- beq _0801866A
- lsls r4, r5, 2
- ldr r0, [r6]
- adds r0, r4
- bl sub_80917B8
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0, 0x2]
- ldr r0, [r6]
- adds r0, r4
- strb r7, [r0]
-_0801866A:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0801864A
- bl sub_80910B4
- bl sub_801AE84
- bl sub_8090A34
- cmp r0, 0
- bne _08018690
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_0801868C: .4byte gUnknown_203B460
-_08018690:
- movs r0, 0x5
- bl sub_8017F10
- b _080186F2
-_08018698:
- bl sub_801A8AC
- ldr r1, _080186B8
- ldr r2, [r1]
- str r0, [r2, 0xC]
- ldr r1, _080186BC
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x8]
- movs r0, 0x6
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_080186B8: .4byte gUnknown_203B20C
-_080186BC: .4byte gUnknown_203B460
-_080186C0:
- bl sub_801A8AC
- ldr r1, _080186E0
- ldr r2, [r1]
- str r0, [r2, 0xC]
- ldr r1, _080186E4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x8]
- movs r0, 0x7
- bl sub_8017F10
- b _080186F2
- .align 2, 0
-_080186E0: .4byte gUnknown_203B20C
-_080186E4: .4byte gUnknown_203B460
-_080186E8:
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
-_080186F2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8018620
-
- thumb_func_start sub_80186F8
-sub_80186F8:
- push {r4-r7,lr}
- sub sp, 0x4
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x2
- bne _08018708
- b _08018838
-_08018708:
- cmp r0, 0x2
- bhi _08018714
- cmp r0, 0x1
- bne _08018712
- b _08018844
-_08018712:
- b _0801884A
-_08018714:
- cmp r0, 0x3
- beq _0801871E
- cmp r0, 0x4
- beq _0801880C
- b _0801884A
-_0801871E:
- bl sub_801CFB8
- cmp r0, 0
- beq _080187E0
- movs r6, 0
- mov r5, sp
- ldr r7, _0801876C
-_0801872C:
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_801CFE0
- cmp r0, 0
- beq _080187B2
- ldr r1, _08018770
- ldr r0, [sp]
- ands r0, r1
- orrs r0, r4
- str r0, [sp]
- ldrb r0, [r5]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08018786
- ldr r2, _08018774
- ldr r1, [r2]
- ldrb r0, [r5]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- cmp r1, 0x63
- bls _08018778
- ldr r0, [sp]
- ands r0, r7
- movs r1, 0xC6
- lsls r1, 7
- b _08018780
- .align 2, 0
-_0801876C: .4byte 0xffff00ff
-_08018770: .4byte 0xffffff00
-_08018774: .4byte gUnknown_203B460
-_08018778:
- lsls r1, 24
- lsrs r1, 16
- ldr r0, [sp]
- ands r0, r7
-_08018780:
- orrs r0, r1
- str r0, [sp]
- b _08018794
-_08018786:
- ldr r0, [sp]
- ands r0, r7
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp]
- ldr r2, _080187DC
-_08018794:
- ldr r2, [r2]
- ldrb r0, [r5]
- lsls r0, 1
- adds r2, 0x50
- adds r2, r0
- ldr r0, [sp]
- lsrs r0, 8
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r2]
- subs r1, r0
- strh r1, [r2]
- mov r0, sp
- bl sub_8091274
-_080187B2:
- adds r6, 0x1
- cmp r6, 0xEF
- ble _0801872C
- bl sub_80910B4
- bl sub_801CF94
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018838
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08018838
- movs r0, 0xB
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_080187DC: .4byte gUnknown_203B460
-_080187E0:
- bl sub_801CB24
- ldr r4, _08018808
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0xD
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_08018808: .4byte gUnknown_203B20C
-_0801880C:
- bl sub_801CB24
- ldr r4, _08018834
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0xE
- bl sub_8017F10
- b _0801884A
- .align 2, 0
-_08018834: .4byte gUnknown_203B20C
-_08018838:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _0801884A
-_08018844:
- movs r0, 0
- bl sub_801AD34
-_0801884A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80186F8
-
- thumb_func_start sub_8018854
-sub_8018854:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- bl sub_801CA08
- ldr r4, _080188E0
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xC0
- bl sub_8013BBC
- cmp r0, 0x1
- beq _080188F8
- cmp r0, 0x1
- bcc _080188FC
- cmp r0, 0x2
- beq _080188F0
- cmp r0, 0x3
- bne _080188FC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC0
- ldr r0, [r0]
- strb r0, [r1, 0x9]
- ldr r0, _080188E4
- ldr r1, [r0]
- ldr r3, [r4]
- ldrb r0, [r3, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0x9]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xA]
- ldr r1, _080188E8
- ldr r0, [sp]
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- ldrb r1, [r3, 0x9]
- lsls r1, 8
- ldr r2, _080188EC
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_8091274
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _080188D2
- bl sub_8090A34
- cmp r0, 0x13
- ble _080188F0
-_080188D2:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _080188FC
- .align 2, 0
-_080188E0: .4byte gUnknown_203B20C
-_080188E4: .4byte gUnknown_203B460
-_080188E8: .4byte 0xffffff00
-_080188EC: .4byte 0xffff00ff
-_080188F0:
- movs r0, 0xB
- bl sub_8017F10
- b _080188FC
-_080188F8:
- bl sub_8018280
-_080188FC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018854
-
- thumb_func_start sub_8018904
-sub_8018904:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08018944
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08018934
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08018934
- ldr r0, [r4]
- str r1, [r0, 0x18]
-_08018934:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801894E
- cmp r0, 0x2
- bgt _08018948
- cmp r0, 0x1
- beq _080189BA
- b _080189C0
- .align 2, 0
-_08018944: .4byte gUnknown_203B20C
-_08018948:
- cmp r0, 0x4
- beq _080189AC
- b _080189C0
-_0801894E:
- ldr r4, _08018978
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801896C
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801897C
-_0801896C:
- ldr r0, [r4]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _080189C0
- .align 2, 0
-_08018978: .4byte gUnknown_203B20C
-_0801897C:
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_80917B8
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- bl sub_8090A34
- cmp r0, 0
- bne _080189A4
- bl sub_801A928
- movs r0, 0x1
- bl sub_8017F10
- b _080189C0
-_080189A4:
- movs r0, 0x5
- bl sub_8017F10
- b _080189C0
-_080189AC:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x7
- bl sub_8017F10
- b _080189C0
-_080189BA:
- movs r0, 0x5
- bl sub_8017F10
-_080189C0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8018904
-
- thumb_func_start sub_80189C8
-sub_80189C8:
- push {r4,lr}
- sub sp, 0x8
- movs r0, 0
- str r0, [sp]
- bl sub_801CA08
- ldr r4, _08018A08
- ldr r0, [r4]
- adds r0, 0x70
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080189F8
- ldr r0, [r4]
- adds r0, 0x70
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080189F8
- ldr r0, [r4]
- str r1, [r0, 0x1C]
-_080189F8:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08018A12
- cmp r0, 0x3
- bgt _08018A0C
- cmp r0, 0x1
- beq _08018AB8
- b _08018ABE
- .align 2, 0
-_08018A08: .4byte gUnknown_203B20C
-_08018A0C:
- cmp r0, 0x4
- beq _08018AB0
- b _08018ABE
-_08018A12:
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018A2C
- ldr r0, _08018A28
- ldr r0, [r0]
- adds r0, 0x70
- movs r1, 0x1
- bl sub_8012EA4
- b _08018ABE
- .align 2, 0
-_08018A28: .4byte gUnknown_203B20C
-_08018A2C:
- ldr r4, _08018A44
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08018A48
- movs r0, 0xC
- bl sub_8017F10
- b _08018ABE
- .align 2, 0
-_08018A44: .4byte gUnknown_203B20C
-_08018A48:
- ldr r0, _08018A9C
- ldr r1, [r0]
- ldr r3, [r4]
- ldrb r0, [r3, 0xA]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrb r2, [r3, 0x9]
- ldrh r0, [r1]
- subs r0, r2
- strh r0, [r1]
- ldrb r2, [r3, 0xA]
- ldr r1, _08018AA0
- ldr r0, [sp, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x4]
- ldrb r1, [r3, 0x9]
- lsls r1, 8
- ldr r2, _08018AA4
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- bl sub_8091274
- movs r0, 0x1
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- bne _08018A90
- bl sub_8090A34
- cmp r0, 0x13
- ble _08018AA8
-_08018A90:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_8017F10
- b _08018ABE
- .align 2, 0
-_08018A9C: .4byte gUnknown_203B460
-_08018AA0: .4byte 0xffffff00
-_08018AA4: .4byte 0xffff00ff
-_08018AA8:
- movs r0, 0xB
- bl sub_8017F10
- b _08018ABE
-_08018AB0:
- movs r0, 0xE
- bl sub_8017F10
- b _08018ABE
-_08018AB8:
- movs r0, 0xB
- bl sub_8017F10
-_08018ABE:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80189C8
-
- thumb_func_start sub_8018AC8
-sub_8018AC8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08018AE0
- cmp r0, 0x3
- bhi _08018AE0
- bl sub_801B450
- movs r0, 0x5
- bl sub_8017F10
-_08018AE0:
- pop {r0}
- bx r0
- thumb_func_end sub_8018AC8
-
- thumb_func_start sub_8018AE4
-sub_8018AE4:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08018AFC
- cmp r0, 0x3
- bhi _08018AFC
- bl sub_801B450
- movs r0, 0xB
- bl sub_8017F10
-_08018AFC:
- pop {r0}
- bx r0
- thumb_func_end sub_8018AE4
-
- thumb_func_start sub_8018B00
-sub_8018B00:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08018B30
- movs r0, 0xA4
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- adds r1, r0, 0
- str r1, [r5]
- movs r2, 0
- str r2, [r1, 0x28]
- str r2, [r1, 0x2C]
- str r2, [r1, 0x30]
- str r4, [r1]
- cmp r4, 0x1
- beq _08018B3A
- cmp r4, 0x1
- bcc _08018B34
- cmp r4, 0x2
- beq _08018B44
- cmp r4, 0x3
- beq _08018B80
- b _08018BAE
- .align 2, 0
-_08018B30: .4byte gUnknown_203B210
-_08018B34:
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08018B46
-_08018B3A:
- strb r4, [r1, 0x4]
- ldr r0, [r5]
- adds r0, 0xE4
- str r2, [r0]
- b _08018B50
-_08018B44:
- strb r2, [r1, 0x4]
-_08018B46:
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0xE4
- adds r0, 0xD4
- str r0, [r1]
-_08018B50:
- ldr r0, _08018B78
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r5, 0
- bl sub_808D8E0
- ldr r4, _08018B7C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl sub_808D994
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- b _08018BAE
- .align 2, 0
-_08018B78: .4byte gUnknown_202E5D8
-_08018B7C: .4byte gUnknown_202E1C8
-_08018B80:
- strb r2, [r1, 0x4]
- ldr r0, [r5]
- adds r0, 0xE4
- str r2, [r0]
- ldr r0, _08018BF8
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r5, 0
- bl sub_808D8E0
- ldr r4, _08018BFC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl sub_808D994
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
-_08018BAE:
- movs r0, 0xBE
- lsls r0, 1
- bl sub_808DDD0
- ldr r2, _08018C00
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xD4
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xE0
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE1
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xE2
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0xDC
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0xDE
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8018D18
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08018BF8: .4byte gUnknown_202E5D8
-_08018BFC: .4byte gUnknown_202E1C8
-_08018C00: .4byte gUnknown_203B210
- thumb_func_end sub_8018B00
-
- thumb_func_start sub_8018C04
-sub_8018C04:
- push {lr}
- ldr r0, _08018C1C
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- cmp r0, 0x1F
- bhi _08018CE4
- lsls r0, 2
- ldr r1, _08018C20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08018C1C: .4byte gUnknown_203B210
-_08018C20: .4byte _08018C24
- .align 2, 0
-_08018C24:
- .4byte _08018CA4
- .4byte _08018CA4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE0
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CAA
- .4byte _08018CAA
- .4byte _08018CB6
- .4byte _08018CD4
- .4byte _08018CC2
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CE4
- .4byte _08018CB0
- .4byte _08018CB0
- .4byte _08018CBC
- .4byte _08018CDA
- .4byte _08018CC8
- .4byte _08018CCE
-_08018CA4:
- bl sub_8019730
- b _08018CE8
-_08018CAA:
- bl sub_80199CC
- b _08018CE8
-_08018CB0:
- bl sub_8019B08
- b _08018CE8
-_08018CB6:
- bl sub_8019BBC
- b _08018CE8
-_08018CBC:
- bl sub_8019C78
- b _08018CE8
-_08018CC2:
- bl sub_8019850
- b _08018CE8
-_08018CC8:
- bl sub_80198E8
- b _08018CE8
-_08018CCE:
- bl sub_8019944
- b _08018CE8
-_08018CD4:
- bl sub_8019D30
- b _08018CE8
-_08018CDA:
- bl sub_8019D4C
- b _08018CE8
-_08018CE0:
- movs r0, 0x3
- b _08018CEA
-_08018CE4:
- bl sub_8019D68
-_08018CE8:
- movs r0, 0
-_08018CEA:
- pop {r1}
- bx r1
- thumb_func_end sub_8018C04
-
- thumb_func_start sub_8018CF0
-sub_8018CF0:
- push {r4,lr}
- ldr r4, _08018D14
- ldr r0, [r4]
- cmp r0, 0
- beq _08018D0C
- adds r0, 0xD4
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08018D0C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08018D14: .4byte gUnknown_203B210
- thumb_func_end sub_8018CF0
-
- thumb_func_start sub_8018D18
-sub_8018D18:
- push {lr}
- ldr r1, _08018D2C
- ldr r1, [r1]
- str r0, [r1, 0x8]
- bl sub_8018D30
- bl sub_8018E88
- pop {r0}
- bx r0
- .align 2, 0
-_08018D2C: .4byte gUnknown_203B210
- thumb_func_end sub_8018D18
-
- thumb_func_start sub_8018D30
-sub_8018D30:
- push {r4-r7,lr}
- ldr r4, _08018D54
- ldr r0, [r4]
- adds r0, 0xE8
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- subs r0, 0x12
- cmp r0, 0xA
- bls _08018D48
- b _08018E44
-_08018D48:
- lsls r0, 2
- ldr r1, _08018D58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08018D54: .4byte gUnknown_203B210
-_08018D58: .4byte _08018D5C
- .align 2, 0
-_08018D5C:
- .4byte _08018D88
- .4byte _08018D88
- .4byte _08018E24
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018E44
- .4byte _08018DDC
- .4byte _08018DDC
- .4byte _08018E24
-_08018D88:
- ldr r3, _08018DCC
- ldr r1, [r3]
- ldr r2, _08018DD0
- adds r1, 0xE8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r0, [r3]
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- ldm r2!, {r1,r4,r7}
- stm r0!, {r1,r4,r7}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r3]
- adds r1, 0xE8
- ldr r0, _08018DD4
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r1, [r3]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3
- ldr r0, _08018DD8
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- b _08018E68
- .align 2, 0
-_08018DCC: .4byte gUnknown_203B210
-_08018DD0: .4byte gUnknown_80DB840
-_08018DD4: .4byte gUnknown_80DB870
-_08018DD8: .4byte gUnknown_80DB888
-_08018DDC:
- ldr r3, _08018E18
- ldr r1, [r3]
- ldr r2, _08018E1C
- adds r1, 0xE8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldr r1, [r3]
- movs r4, 0x80
- lsls r4, 1
- adds r1, r4
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r3]
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- ldm r2!, {r1,r5,r7}
- stm r0!, {r1,r5,r7}
- ldm r2!, {r1,r6,r7}
- stm r0!, {r1,r6,r7}
- ldr r1, [r3]
- adds r1, r4
- ldr r0, _08018E20
- b _08018E30
- .align 2, 0
-_08018E18: .4byte gUnknown_203B210
-_08018E1C: .4byte gUnknown_80DB840
-_08018E20: .4byte gUnknown_80DB888
-_08018E24:
- ldr r0, _08018E3C
- ldr r1, [r0]
- movs r0, 0x8C
- lsls r0, 1
- adds r1, r0
- ldr r0, _08018E40
-_08018E30:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _08018E68
- .align 2, 0
-_08018E3C: .4byte gUnknown_203B210
-_08018E40: .4byte gUnknown_80DB858
-_08018E44:
- ldr r0, _08018E80
- mov r12, r0
- ldr r4, _08018E84
- movs r3, 0
- movs r2, 0x3
-_08018E4E:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xE8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08018E4E
-_08018E68:
- bl sub_8004914
- ldr r0, _08018E80
- ldr r0, [r0]
- adds r0, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08018E80: .4byte gUnknown_203B210
-_08018E84: .4byte gUnknown_80DB840
- thumb_func_end sub_8018D30
-
- thumb_func_start sub_8018E88
-sub_8018E88:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _08018EA4
- ldr r0, [r1]
- ldr r0, [r0, 0x8]
- adds r4, r1, 0
- cmp r0, 0x20
- bls _08018E9A
- b _080194E8
-_08018E9A:
- lsls r0, 2
- ldr r1, _08018EA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08018EA4: .4byte gUnknown_203B210
-_08018EA8: .4byte _08018EAC
- .align 2, 0
-_08018EAC:
- .4byte _08018F30
- .4byte _08018F58
- .4byte _08018FA8
- .4byte _08018FD0
- .4byte _080194E8
- .4byte _08018FFC
- .4byte _08019024
- .4byte _0801904C
- .4byte _08019070
- .4byte _08019094
- .4byte _080190B8
- .4byte _080190DC
- .4byte _08019104
- .4byte _0801912C
- .4byte _08019164
- .4byte _0801918C
- .4byte _080191B4
- .4byte _08019294
- .4byte _080191DC
- .4byte _080191FA
- .4byte _08019218
- .4byte _080193F4
- .4byte _08019254
- .4byte _08019314
- .4byte _0801933C
- .4byte _080193FE
- .4byte _08019364
- .4byte _08019372
- .4byte _08019380
- .4byte _080193F4
- .4byte _080193B4
- .4byte _0801946C
- .4byte _080194C0
-_08018F30:
- bl sub_8019DAC
- bl sub_80194F8
- movs r0, 0
- bl sub_8019E04
- ldr r2, _08018F50
- ldr r0, _08018F54
- ldr r4, [r0]
- ldr r1, [r4]
- movs r0, 0x5C
- muls r0, r1
- adds r0, r2
- b _08018F76
- .align 2, 0
-_08018F50: .4byte gUnknown_80D5EC8
-_08018F54: .4byte gUnknown_203B210
-_08018F58:
- bl sub_8019DAC
- bl sub_80194F8
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08018FA0
- ldr r0, _08018FA4
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x4
- adds r0, r1
-_08018F76:
- ldr r0, [r0]
- ldr r2, [r4, 0x28]
- adds r3, r4, 0
- adds r3, 0x34
- adds r1, r4, 0
- adds r1, 0x74
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r1, r4, 0
- adds r1, 0xE4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080194E8
- .align 2, 0
-_08018FA0: .4byte gUnknown_80D5EC8
-_08018FA4: .4byte gUnknown_203B210
-_08018FA8:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08018FCC
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x58
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08018FCC: .4byte gUnknown_80D5EC8
-_08018FD0:
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08018FF4
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- ldr r3, _08018FF8
- b _08019456
- .align 2, 0
-_08018FF4: .4byte gUnknown_80D5EC8
-_08018FF8: .4byte 0x0000030d
-_08018FFC:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019020
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x30
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019020: .4byte gUnknown_80D5EC8
-_08019024:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019048
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x34
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019048: .4byte gUnknown_80D5EC8
-_0801904C:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _0801906C
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x38
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_0801906C: .4byte gUnknown_80D5EC8
-_08019070:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _08019090
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x3C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019090: .4byte gUnknown_80D5EC8
-_08019094:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _080190B4
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x40
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080190B4: .4byte gUnknown_80D5EC8
-_080190B8:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- bl sub_8019E04
- ldr r1, _080190D8
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x44
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080190D8: .4byte gUnknown_80D5EC8
-_080190DC:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019100
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019100: .4byte gUnknown_80D5EC8
-_08019104:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019128
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019128: .4byte gUnknown_80D5EC8
-_0801912C:
- ldr r0, _0801915C
- ldr r1, [r4]
- adds r1, 0x1C
- movs r2, 0
- bl sub_8090E14
- ldr r1, [r4]
- movs r0, 0x18
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019160
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_0801915C: .4byte gUnknown_202DE58
-_08019160: .4byte gUnknown_80D5EC8
-_08019164:
- ldr r1, [r4]
- movs r0, 0x18
- str r0, [r1, 0xC]
- movs r0, 0x1
- bl sub_8019E04
- ldr r1, _08019188
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x54
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019188: .4byte gUnknown_80D5EC8
-_0801918C:
- ldr r1, [r4]
- movs r0, 0x12
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080191B0
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080191B0: .4byte gUnknown_80D5EC8
-_080191B4:
- ldr r1, [r4]
- movs r0, 0x13
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080191D8
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x10
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_080191D8: .4byte gUnknown_80D5EC8
-_080191DC:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080191EC
- movs r0, 0x3
- bl sub_8019E40
- b _080191F2
-_080191EC:
- movs r0, 0x3
- bl sub_801A20C
-_080191F2:
- movs r0, 0
- bl sub_801AD34
- b _08019378
-_080191FA:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0801920A
- movs r0, 0x1
- bl sub_8019FCC
- b _08019210
-_0801920A:
- movs r0, 0x1
- bl sub_801A398
-_08019210:
- movs r0, 0
- bl sub_801AD34
- b _08019378
-_08019218:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019226
- bl sub_801A0D8
- b _0801922A
-_08019226:
- bl sub_801A4A4
-_0801922A:
- movs r0, 0
- bl sub_801AD34
- movs r0, 0x1
- bl sub_8016C40
- bl sub_80195C0
- ldr r0, _08019250
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- adds r1, r2, 0
- adds r1, 0x34
- adds r3, r2, 0
- adds r3, 0x74
- ldr r2, [r2, 0x30]
- b _080193A0
- .align 2, 0
-_08019250: .4byte gUnknown_203B210
-_08019254:
- bl sub_8019700
- ldr r0, _08019284
- ldr r4, _08019288
- ldr r1, [r4]
- adds r1, 0x1C
- movs r2, 0
- bl sub_8090E14
- ldr r1, _0801928C
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- str r0, [r1]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019290
- ldr r4, [r4]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x14
- b _0801948C
- .align 2, 0
-_08019284: .4byte gUnknown_202DE58
-_08019288: .4byte gUnknown_203B210
-_0801928C: .4byte gUnknown_202DE30
-_08019290: .4byte gUnknown_80D5EC8
-_08019294:
- bl sub_8019D8C
- cmp r0, 0
- bne _080192C0
- ldr r0, _080192AC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080192B0
- bl sub_801A010
- b _080192B4
- .align 2, 0
-_080192AC: .4byte gUnknown_203B210
-_080192B0:
- bl sub_801A3DC
-_080192B4:
- ldr r0, _080192BC
- ldr r1, [r0]
- movs r0, 0xB
- b _080192F2
- .align 2, 0
-_080192BC: .4byte gUnknown_203B210
-_080192C0:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080192EC
- ldr r0, _080192D8
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080192DC
- bl sub_801A010
- b _080192E0
- .align 2, 0
-_080192D8: .4byte gUnknown_203B210
-_080192DC:
- bl sub_801A3DC
-_080192E0:
- ldr r0, _080192E8
- ldr r1, [r0]
- movs r0, 0x1
- b _080192F2
- .align 2, 0
-_080192E8: .4byte gUnknown_203B210
-_080192EC:
- ldr r0, _0801930C
- ldr r1, [r0]
- movs r0, 0x10
-_080192F2:
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r2, _08019310
- ldr r0, _0801930C
- ldr r1, [r0]
- ldr r3, [r1]
- movs r0, 0x5C
- muls r0, r3
- adds r2, 0x18
- b _0801944C
- .align 2, 0
-_0801930C: .4byte gUnknown_203B210
-_08019310: .4byte gUnknown_80D5EC8
-_08019314:
- ldr r1, [r4]
- movs r0, 0x1A
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019338
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x1C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019338: .4byte gUnknown_80D5EC8
-_0801933C:
- ldr r1, [r4]
- movs r0, 0x1B
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _08019360
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x20
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- b _08019454
- .align 2, 0
-_08019360: .4byte gUnknown_80D5EC8
-_08019364:
- movs r0, 0x4
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08019378
-_08019372:
- movs r0, 0x1
- bl sub_801A8D0
-_08019378:
- movs r0, 0x1
- bl sub_8016C40
- b _080194E8
-_08019380:
- bl sub_801A9E0
- movs r0, 0x1
- bl sub_8016C40
- bl sub_8019660
- ldr r0, _080193B0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- adds r1, r2, 0
- adds r1, 0x34
- adds r3, r2, 0
- adds r3, 0x74
- ldr r2, [r2, 0x2C]
-_080193A0:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080194E8
- .align 2, 0
-_080193B0: .4byte gUnknown_203B210
-_080193B4:
- bl sub_8019700
- ldr r0, _080193E4
- ldr r4, _080193E8
- ldr r1, [r4]
- adds r1, 0x1C
- movs r2, 0
- bl sub_8090E14
- ldr r1, _080193EC
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- str r0, [r1]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080193F0
- ldr r4, [r4]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x24
- b _0801948C
- .align 2, 0
-_080193E4: .4byte gUnknown_202DE58
-_080193E8: .4byte gUnknown_203B210
-_080193EC: .4byte gUnknown_202DE30
-_080193F0: .4byte gUnknown_80D5EC8
-_080193F4:
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_801B3C0
- b _080194E8
-_080193FE:
- bl sub_8090A34
- cmp r0, 0
- beq _08019418
- ldr r0, _08019424
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _08019428
- cmp r1, r0
- ble _08019430
-_08019418:
- bl sub_801A928
- ldr r0, _0801942C
- ldr r1, [r0]
- movs r0, 0x1
- b _08019436
- .align 2, 0
-_08019424: .4byte gUnknown_203B460
-_08019428: .4byte 0x0001869e
-_0801942C: .4byte gUnknown_203B210
-_08019430:
- ldr r0, _08019460
- ldr r1, [r0]
- movs r0, 0x18
-_08019436:
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r2, _08019464
- ldr r0, _08019460
- ldr r1, [r0]
- ldr r3, [r1]
- movs r0, 0x5C
- muls r0, r3
- adds r2, 0x2C
-_0801944C:
- adds r0, r2
- ldr r0, [r0]
- adds r1, 0xE4
- ldr r2, [r1]
-_08019454:
- ldr r3, _08019468
-_08019456:
- movs r1, 0
- bl sub_80141B4
- b _080194E8
- .align 2, 0
-_08019460: .4byte gUnknown_203B210
-_08019464: .4byte gUnknown_80D5EC8
-_08019468: .4byte 0x0000010d
-_0801946C:
- bl sub_8019700
- ldr r1, _080194B4
- ldr r4, _080194B8
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- str r0, [r1]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080194BC
- ldr r4, [r4]
- ldr r2, [r4]
- movs r0, 0x5C
- muls r0, r2
- adds r1, 0x28
-_0801948C:
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x34
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- adds r4, 0xE4
- ldr r1, [r4]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _080194E8
- .align 2, 0
-_080194B4: .4byte gUnknown_202DE30
-_080194B8: .4byte gUnknown_203B210
-_080194BC: .4byte gUnknown_80D5EC8
-_080194C0:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0xC]
- movs r0, 0
- bl sub_8019E04
- ldr r1, _080194F0
- ldr r2, [r4]
- ldr r3, [r2]
- movs r0, 0x5C
- muls r0, r3
- adds r1, 0x2C
- adds r0, r1
- ldr r0, [r0]
- adds r2, 0xE4
- ldr r2, [r2]
- ldr r3, _080194F4
- movs r1, 0
- bl sub_80141B4
-_080194E8:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080194F0: .4byte gUnknown_80D5EC8
-_080194F4: .4byte 0x0000010d
- thumb_func_end sub_8018E88
-
- thumb_func_start sub_80194F8
-sub_80194F8:
- push {r4-r7,lr}
- ldr r4, _08019580
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08019584
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x2
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08019588
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x3
- str r0, [r3, 0x40]
- ldr r0, _0801958C
- str r0, [r3, 0x44]
- movs r0, 0x4
- str r0, [r3, 0x48]
- ldr r0, _08019590
- ldr r0, [r0]
- str r0, [r3, 0x4C]
- movs r0, 0x7
- str r0, [r3, 0x50]
- ldr r0, _08019594
- ldr r0, [r0]
- str r0, [r3, 0x54]
- str r1, [r3, 0x58]
- movs r6, 0x5
- str r2, [r3, 0x5C]
- str r1, [r3, 0x60]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_0801954C:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0801955C
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x28]
- cmp r1, r0
- beq _080195BA
-_0801955C:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0801954C
- movs r5, 0
- cmp r5, r6
- bge _080195BA
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0
- bne _08019598
- ldr r0, [r1, 0x38]
- str r0, [r1, 0x28]
- b _080195BA
- .align 2, 0
-_08019580: .4byte gUnknown_203B210
-_08019584: .4byte gUnknown_80D4978
-_08019588: .4byte gUnknown_80D4984
-_0801958C: .4byte gUnknown_80DB8A0
-_08019590: .4byte gUnknown_80D4970
-_08019594: .4byte gUnknown_80D4934
-_08019598:
- adds r5, 0x1
- cmp r5, r6
- bge _080195BA
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08019598
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x38
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x28]
-_080195BA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80194F8
-
- thumb_func_start sub_80195C0
-sub_80195C0:
- push {r4-r7,lr}
- ldr r4, _0801962C
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08019630
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x2
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08019634
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x7
- str r0, [r3, 0x40]
- movs r6, 0x2
- str r2, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_080195FA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0801960A
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x30]
- cmp r1, r0
- beq _0801965A
-_0801960A:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080195FA
- movs r5, 0
- cmp r5, r6
- bge _0801965A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0
- bne _08019638
- ldr r0, [r1, 0x38]
- str r0, [r1, 0x30]
- b _0801965A
- .align 2, 0
-_0801962C: .4byte gUnknown_203B210
-_08019630: .4byte gUnknown_80D4978
-_08019634: .4byte gUnknown_80D4970
-_08019638:
- adds r5, 0x1
- cmp r5, r6
- bge _0801965A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08019638
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x38
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x30]
-_0801965A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80195C0
-
- thumb_func_start sub_8019660
-sub_8019660:
- push {r4-r7,lr}
- ldr r4, _080196CC
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _080196D0
- ldr r0, [r0]
- str r0, [r3, 0x34]
- movs r0, 0x3
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _080196D4
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x7
- str r0, [r3, 0x40]
- movs r6, 0x2
- str r2, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_0801969A:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080196AA
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _080196FA
-_080196AA:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0801969A
- movs r5, 0
- cmp r5, r6
- bge _080196FA
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r0, [r0]
- cmp r0, 0
- bne _080196D8
- ldr r0, [r1, 0x38]
- str r0, [r1, 0x2C]
- b _080196FA
- .align 2, 0
-_080196CC: .4byte gUnknown_203B210
-_080196D0: .4byte gUnknown_80D4984
-_080196D4: .4byte gUnknown_80D4970
-_080196D8:
- adds r5, 0x1
- cmp r5, r6
- bge _080196FA
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080196D8
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x38
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x2C]
-_080196FA:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8019660
-
- thumb_func_start sub_8019700
-sub_8019700:
- ldr r0, _08019724
- ldr r1, [r0]
- movs r3, 0
- ldr r0, _08019728
- ldr r0, [r0]
- str r0, [r1, 0x34]
- movs r0, 0x5
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _0801972C
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x6
- str r0, [r1, 0x40]
- str r3, [r1, 0x44]
- str r2, [r1, 0x48]
- bx lr
- .align 2, 0
-_08019724: .4byte gUnknown_203B210
-_08019728: .4byte gUnknown_80D4920
-_0801972C: .4byte gUnknown_80D4928
- thumb_func_end sub_8019700
-
- thumb_func_start sub_8019730
-sub_8019730:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- beq _08019740
- b _0801984A
-_08019740:
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801974C
- ldr r0, _08019760
- ldr r0, [r0]
- str r1, [r0, 0x28]
-_0801974C:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x6
- bls _08019756
- b _0801984A
-_08019756:
- lsls r0, 2
- ldr r1, _08019764
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08019760: .4byte gUnknown_203B210
-_08019764: .4byte _08019768
- .align 2, 0
-_08019768:
- .4byte _08019844
- .4byte _08019784
- .4byte _080197AC
- .4byte _080197E4
- .4byte _0801984A
- .4byte _0801984A
- .4byte _0801983C
-_08019784:
- bl sub_8019D8C
- cmp r0, 0
- bne _08019794
- movs r0, 0x5
- bl sub_8018D18
- b _0801984A
-_08019794:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080197A4
- movs r0, 0xA
- bl sub_8018D18
- b _0801984A
-_080197A4:
- movs r0, 0xF
- bl sub_8018D18
- b _0801984A
-_080197AC:
- bl sub_8090A34
- cmp r0, 0
- beq _080197EC
- ldr r0, _080197D8
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _080197FE
- ldr r0, _080197DC
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _080197E0
- cmp r1, r0
- bgt _08019822
- movs r0, 0x17
- bl sub_8018D18
- b _0801984A
- .align 2, 0
-_080197D8: .4byte gUnknown_203B210
-_080197DC: .4byte gUnknown_203B460
-_080197E0: .4byte 0x0001869e
-_080197E4:
- bl sub_8090A34
- cmp r0, 0
- bne _080197F4
-_080197EC:
- movs r0, 0x9
- bl sub_8018D18
- b _0801984A
-_080197F4:
- ldr r0, _08019808
- ldr r1, [r0]
- ldr r0, [r1, 0x14]
- cmp r0, 0
- bne _0801980C
-_080197FE:
- movs r0, 0x8
- bl sub_8018D18
- b _0801984A
- .align 2, 0
-_08019808: .4byte gUnknown_203B210
-_0801980C:
- ldr r0, _0801982C
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1, 0x18]
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _08019830
- cmp r1, r0
- ble _08019834
-_08019822:
- movs r0, 0x7
- bl sub_8018D18
- b _0801984A
- .align 2, 0
-_0801982C: .4byte gUnknown_203B460
-_08019830: .4byte 0x0001869f
-_08019834:
- movs r0, 0x1F
- bl sub_8018D18
- b _0801984A
-_0801983C:
- movs r0, 0x2
- bl sub_8018D18
- b _0801984A
-_08019844:
- movs r0, 0x3
- bl sub_8018D18
-_0801984A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8019730
-
- thumb_func_start sub_8019850
-sub_8019850:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080198DE
- ldr r0, [sp]
- cmp r0, 0x5
- beq _08019874
- cmp r0, 0x5
- bgt _0801986E
- cmp r0, 0x1
- beq _080198D8
- b _080198DE
-_0801986E:
- cmp r0, 0x6
- beq _080198D8
- b _080198DE
-_08019874:
- ldr r4, _080198A8
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- negs r0, r0
- bl sub_80913A0
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080198AC
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_809185C
- bl sub_8091274
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_8091840
- bl sub_8091874
- b _080198C8
- .align 2, 0
-_080198A8: .4byte gUnknown_203B210
-_080198AC:
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A90
- bl sub_8091274
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A74
- bl sub_8091AA8
-_080198C8:
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x11
- bl sub_8018D18
- b _080198DE
-_080198D8:
- movs r0, 0x10
- bl sub_8018D18
-_080198DE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019850
-
- thumb_func_start sub_80198E8
-sub_80198E8:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801993A
- ldr r0, [sp]
- cmp r0, 0x5
- beq _0801990C
- cmp r0, 0x5
- bgt _08019906
- cmp r0, 0x1
- beq _08019934
- b _0801993A
-_08019906:
- cmp r0, 0x6
- beq _08019934
- b _0801993A
-_0801990C:
- ldr r4, _08019930
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_80913A0
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x19
- bl sub_8018D18
- b _0801993A
- .align 2, 0
-_08019930: .4byte gUnknown_203B210
-_08019934:
- movs r0, 0x18
- bl sub_8018D18
-_0801993A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80198E8
-
- thumb_func_start sub_8019944
-sub_8019944:
- push {r4,r5,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080199C2
- ldr r0, [sp]
- cmp r0, 0x5
- beq _08019968
- cmp r0, 0x5
- bgt _08019962
- cmp r0, 0x1
- beq _080199BC
- b _080199C2
-_08019962:
- cmp r0, 0x6
- beq _080199BC
- b _080199C2
-_08019968:
- movs r4, 0
- ldr r5, _080199B4
-_0801996C:
- lsls r1, r4, 2
- ldr r0, [r5]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801998E
- ldrb r0, [r2, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0801998E
- adds r0, r4, 0
- bl sub_8091234
-_0801998E:
- adds r4, 0x1
- cmp r4, 0x13
- ble _0801996C
- bl sub_80910B4
- ldr r0, _080199B8
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_80913A0
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0x20
- bl sub_8018D18
- b _080199C2
- .align 2, 0
-_080199B4: .4byte gUnknown_203B460
-_080199B8: .4byte gUnknown_203B210
-_080199BC:
- movs r0, 0x1
- bl sub_8018D18
-_080199C2:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8019944
-
- thumb_func_start sub_80199CC
-sub_80199CC:
- push {r4,r5,lr}
- ldr r0, _080199E0
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080199E4
- movs r0, 0x1
- bl sub_8019EDC
- b _080199EA
- .align 2, 0
-_080199E0: .4byte gUnknown_203B210
-_080199E4:
- movs r0, 0x1
- bl sub_801A2A8
-_080199EA:
- cmp r0, 0x2
- beq _08019AD4
- cmp r0, 0x2
- bhi _080199FA
- cmp r0, 0x1
- bne _080199F8
- b _08019AF4
-_080199F8:
- b _08019B00
-_080199FA:
- cmp r0, 0x3
- beq _08019A04
- cmp r0, 0x4
- beq _08019A6C
- b _08019B00
-_08019A04:
- ldr r4, _08019A24
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019A28
- bl sub_8019FB0
- ldr r1, [r4]
- adds r1, 0x20
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_809185C
- b _08019A3C
- .align 2, 0
-_08019A24: .4byte gUnknown_203B210
-_08019A28:
- bl sub_801A37C
- ldr r1, [r4]
- adds r1, 0x21
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A90
-_08019A3C:
- adds r5, r0, 0
- ldr r4, _08019A68
- ldr r0, [r4]
- adds r0, 0x1C
- ldrb r1, [r5]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- ldrb r0, [r5, 0x1]
- strb r0, [r1, 0x1D]
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_8090C7C
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0x14
- bl sub_8018D18
- b _08019B00
- .align 2, 0
-_08019A68: .4byte gUnknown_203B210
-_08019A6C:
- ldr r4, _08019A8C
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019A90
- bl sub_8019FB0
- ldr r1, [r4]
- adds r1, 0x20
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_809185C
- b _08019AA4
- .align 2, 0
-_08019A8C: .4byte gUnknown_203B210
-_08019A90:
- bl sub_801A37C
- ldr r1, [r4]
- adds r1, 0x21
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, 0x21
- ldrb r0, [r0]
- bl sub_8091A90
-_08019AA4:
- adds r5, r0, 0
- ldr r4, _08019AD0
- ldr r0, [r4]
- adds r0, 0x1C
- ldrb r1, [r5]
- movs r2, 0
- bl sub_8090A8C
- ldr r1, [r4]
- ldrb r0, [r5, 0x1]
- strb r0, [r1, 0x1D]
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_8090C7C
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0x15
- bl sub_8018D18
- b _08019B00
- .align 2, 0
-_08019AD0: .4byte gUnknown_203B210
-_08019AD4:
- ldr r0, _08019AE4
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019AE8
- bl sub_801A010
- b _08019AEC
- .align 2, 0
-_08019AE4: .4byte gUnknown_203B210
-_08019AE8:
- bl sub_801A3DC
-_08019AEC:
- movs r0, 0x1
- bl sub_8018D18
- b _08019B00
-_08019AF4:
- movs r0, 0
- bl sub_801AD34
- movs r0, 0x1
- bl sub_8016C40
-_08019B00:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80199CC
-
- thumb_func_start sub_8019B08
-sub_8019B08:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08019BB0
- lsls r0, 2
- ldr r1, _08019B20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08019B20: .4byte _08019B24
- .align 2, 0
-_08019B24:
- .4byte _08019BB6
- .4byte _08019BB0
- .4byte _08019BA4
- .4byte _08019B38
- .4byte _08019B6C
-_08019B38:
- bl sub_801A8AC
- ldr r4, _08019B64
- ldr r2, [r4]
- str r0, [r2, 0x24]
- ldr r1, _08019B68
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- adds r2, 0x1C
- adds r0, r2, 0
- bl sub_8090CCC
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0x1C
- bl sub_8018D18
- b _08019BB6
- .align 2, 0
-_08019B64: .4byte gUnknown_203B210
-_08019B68: .4byte gUnknown_203B460
-_08019B6C:
- bl sub_801A8AC
- ldr r4, _08019B9C
- ldr r2, [r4]
- str r0, [r2, 0x24]
- ldr r1, _08019BA0
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- adds r2, 0x1C
- adds r0, r2, 0
- bl sub_8090CCC
- ldr r1, [r4]
- str r0, [r1, 0x10]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x1D
- bl sub_8018D18
- b _08019BB6
- .align 2, 0
-_08019B9C: .4byte gUnknown_203B210
-_08019BA0: .4byte gUnknown_203B460
-_08019BA4:
- bl sub_801A928
- movs r0, 0x1
- bl sub_8018D18
- b _08019BB6
-_08019BB0:
- movs r0, 0x1
- bl sub_8016C40
-_08019BB6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019B08
-
- thumb_func_start sub_8019BBC
-sub_8019BBC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r0, _08019BD8
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08019BDC
- movs r0, 0
- bl sub_8019EDC
- b _08019BE2
- .align 2, 0
-_08019BD8: .4byte gUnknown_203B210
-_08019BDC:
- movs r0, 0
- bl sub_801A2A8
-_08019BE2:
- ldr r4, _08019C18
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08019C06
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08019C06
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_08019C06:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08019C22
- cmp r0, 0x2
- bgt _08019C1C
- cmp r0, 0x1
- beq _08019C68
- b _08019C6E
- .align 2, 0
-_08019C18: .4byte gUnknown_203B210
-_08019C1C:
- cmp r0, 0x7
- beq _08019C60
- b _08019C6E
-_08019C22:
- ldr r0, _08019C3C
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- cmp r1, 0
- bne _08019C40
- movs r0, 0x6
- bl sub_8018D18
- b _08019C6E
- .align 2, 0
-_08019C3C: .4byte gUnknown_203B460
-_08019C40:
- ldr r0, _08019C54
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- cmp r0, r1
- ble _08019C58
- movs r0, 0xC
- bl sub_8018D18
- b _08019C6E
- .align 2, 0
-_08019C54: .4byte gUnknown_203B210
-_08019C58:
- movs r0, 0x16
- bl sub_8018D18
- b _08019C6E
-_08019C60:
- movs r0, 0x15
- bl sub_8018D18
- b _08019C6E
-_08019C68:
- movs r0, 0x13
- bl sub_8018D18
-_08019C6E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019BBC
-
- thumb_func_start sub_8019C78
-sub_8019C78:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08019CB8
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08019CA8
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08019CA8
- ldr r0, [r4]
- str r1, [r0, 0x2C]
-_08019CA8:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08019CC2
- cmp r0, 0x3
- bgt _08019CBC
- cmp r0, 0x1
- beq _08019D22
- b _08019D28
- .align 2, 0
-_08019CB8: .4byte gUnknown_203B210
-_08019CBC:
- cmp r0, 0x7
- beq _08019D14
- b _08019D28
-_08019CC2:
- movs r0, 0
- bl sub_8099690
- ldr r4, _08019CE0
- ldr r0, [r4]
- ldrb r0, [r0, 0x1E]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08019CE4
- movs r0, 0xD
- bl sub_8018D18
- b _08019D28
- .align 2, 0
-_08019CE0: .4byte gUnknown_203B210
-_08019CE4:
- ldr r1, [r4]
- ldr r0, _08019D04
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1, 0x10]
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _08019D08
- cmp r1, r0
- ble _08019D0C
- movs r0, 0xE
- bl sub_8018D18
- b _08019D28
- .align 2, 0
-_08019D04: .4byte gUnknown_203B460
-_08019D08: .4byte 0x0001869f
-_08019D0C:
- movs r0, 0x1E
- bl sub_8018D18
- b _08019D28
-_08019D14:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x1D
- bl sub_8018D18
- b _08019D28
-_08019D22:
- movs r0, 0x1B
- bl sub_8018D18
-_08019D28:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8019C78
-
- thumb_func_start sub_8019D30
-sub_8019D30:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08019D48
- cmp r0, 0x3
- bhi _08019D48
- bl sub_801B450
- movs r0, 0x13
- bl sub_8018D18
-_08019D48:
- pop {r0}
- bx r0
- thumb_func_end sub_8019D30
-
- thumb_func_start sub_8019D4C
-sub_8019D4C:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08019D64
- cmp r0, 0x3
- bhi _08019D64
- bl sub_801B450
- movs r0, 0x1B
- bl sub_8018D18
-_08019D64:
- pop {r0}
- bx r0
- thumb_func_end sub_8019D4C
-
- thumb_func_start sub_8019D68
-sub_8019D68:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08019D80
- ldr r0, _08019D88
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bl sub_8018D18
-_08019D80:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08019D88: .4byte gUnknown_203B210
- thumb_func_end sub_8019D68
-
- thumb_func_start sub_8019D8C
-sub_8019D8C:
- push {lr}
- ldr r0, _08019DA0
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08019DA4
- bl sub_8091A48
- b _08019DA8
- .align 2, 0
-_08019DA0: .4byte gUnknown_203B210
-_08019DA4:
- bl sub_8091814
-_08019DA8:
- pop {r1}
- bx r1
- thumb_func_end sub_8019D8C
-
- thumb_func_start sub_8019DAC
-sub_8019DAC:
- push {r4,r5,lr}
- ldr r0, _08019DFC
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x14]
- str r0, [r1, 0x18]
- movs r5, 0
-_08019DBA:
- ldr r0, _08019E00
- lsls r1, r5, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08019DEE
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _08019DEE
- adds r0, r4, 0
- bl sub_8090CCC
- ldr r1, _08019DFC
- ldr r2, [r1]
- ldr r1, [r2, 0x18]
- adds r1, r0
- str r1, [r2, 0x18]
- ldr r0, [r2, 0x14]
- adds r0, 0x1
- str r0, [r2, 0x14]
-_08019DEE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08019DBA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08019DFC: .4byte gUnknown_203B210
-_08019E00: .4byte gUnknown_203B460
- thumb_func_end sub_8019DAC
-
- thumb_func_start sub_8019E04
-sub_8019E04:
- push {lr}
- adds r2, r0, 0
- ldr r0, _08019E20
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _08019E2A
- cmp r2, 0x1
- bne _08019E24
- adds r0, r1, 0
- adds r0, 0xE0
- strb r2, [r0]
- b _08019E3A
- .align 2, 0
-_08019E20: .4byte gUnknown_203B210
-_08019E24:
- adds r1, 0xE0
- movs r0, 0
- b _08019E38
-_08019E2A:
- cmp r2, 0x1
- bne _08019E34
- adds r1, 0xE0
- movs r0, 0x7
- b _08019E38
-_08019E34:
- adds r1, 0xE0
- movs r0, 0x6
-_08019E38:
- strb r0, [r1]
-_08019E3A:
- pop {r0}
- bx r0
- thumb_func_end sub_8019E04
-
- thumb_func_start sub_8019E40
-sub_8019E40:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8091814
- cmp r0, 0
- beq _08019ED4
- ldr r5, _08019EC8
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x34]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _08019ECC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r5]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- bl sub_8091814
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, [r5]
- ldr r1, _08019ED0
- ldrh r1, [r1]
- strh r1, [r0, 0x18]
- bl sub_8013984
- bl sub_801A064
- bl sub_801A0D8
- movs r0, 0x1
- b _08019ED6
- .align 2, 0
-_08019EC8: .4byte gUnknown_203B214
-_08019ECC: .4byte gUnknown_80DB8CC
-_08019ED0: .4byte gUnknown_203B218
-_08019ED4:
- movs r0, 0
-_08019ED6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8019E40
-
- thumb_func_start sub_8019EDC
-sub_8019EDC:
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _08019EF8
- ldr r0, _08019EF4
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _08019FAA
- .align 2, 0
-_08019EF4: .4byte gUnknown_203B214
-_08019EF8:
- ldr r0, _08019F10
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _08019F1A
- cmp r0, 0x2
- bgt _08019F14
- cmp r0, 0x1
- beq _08019F24
- b _08019F88
- .align 2, 0
-_08019F10: .4byte gUnknown_203B214
-_08019F14:
- cmp r0, 0x4
- beq _08019F7E
- b _08019F88
-_08019F1A:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08019FAA
-_08019F24:
- bl sub_8019FB0
- lsls r0, 24
- lsrs r0, 24
- bl sub_809185C
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _08019F68
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r0, [r0, 0x1]
- lsls r0, 8
- ldr r2, _08019F6C
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl sub_8090C7C
- ldr r1, _08019F70
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- ble _08019F74
- movs r0, 0x2
- bl sub_80119D4
- b _08019F7A
- .align 2, 0
-_08019F68: .4byte 0xff00ffff
-_08019F6C: .4byte 0xffff00ff
-_08019F70: .4byte gUnknown_203B460
-_08019F74:
- movs r0, 0
- bl sub_80119D4
-_08019F7A:
- movs r0, 0x3
- b _08019FAA
-_08019F7E:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _08019FAA
-_08019F88:
- ldr r0, _08019F9C
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _08019FA0
- movs r0, 0
- b _08019FAA
- .align 2, 0
-_08019F9C: .4byte gUnknown_203B214
-_08019FA0:
- bl sub_801A064
- bl sub_801A0D8
- movs r0, 0x1
-_08019FAA:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8019EDC
-
- thumb_func_start sub_8019FB0
-sub_8019FB0:
- ldr r0, _08019FC8
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- ldrb r1, [r1, 0x18]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_08019FC8: .4byte gUnknown_203B214
- thumb_func_end sub_8019FB0
-
- thumb_func_start sub_8019FCC
-sub_8019FCC:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801A00C
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8091814
- adds r1, r0, 0
- ldr r0, [r5]
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_801A064
- bl sub_801A0D8
- cmp r4, 0
- beq _0801A006
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801A006:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A00C: .4byte gUnknown_203B214
- thumb_func_end sub_8019FCC
-
- thumb_func_start sub_801A010
-sub_801A010:
- push {r4,r5,lr}
- ldr r4, _0801A058
- ldr r2, [r4]
- cmp r2, 0
- beq _0801A050
- ldr r1, _0801A05C
- ldrh r0, [r2, 0x18]
- strh r0, [r1]
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801A060
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801A050:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A058: .4byte gUnknown_203B214
-_0801A05C: .4byte gUnknown_203B218
-_0801A060: .4byte gUnknown_80DB8B4
- thumb_func_end sub_801A010
-
- thumb_func_start sub_801A064
-sub_801A064:
- push {r4,lr}
- ldr r4, _0801A0D4
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xA
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A0D4: .4byte gUnknown_203B214
- thumb_func_end sub_801A064
-
- thumb_func_start sub_801A0D8
-sub_801A0D8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xB4
- ldr r4, _0801A1A4
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r1, [r4]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r0, 0xA
- ldr r2, _0801A1A8
- ldr r3, [r1, 0x34]
- movs r1, 0
- str r1, [sp]
- bl xxx_call_draw_string
- movs r6, 0
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _0801A1EC
- adds r7, r4, 0
- add r4, sp, 0xB0
- mov r9, r6
- add r5, sp, 0x54
- add r2, sp, 0x60
- mov r8, r2
-_0801A122:
- ldr r0, [r7]
- movs r2, 0x1E
- ldrsh r1, [r0, r2]
- movs r2, 0x1C
- ldrsh r0, [r0, r2]
- muls r0, r1
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
- bl sub_809185C
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _0801A1AC
- ldr r1, [r4]
- ands r1, r3
- orrs r1, r2
- str r1, [r4]
- ldrb r2, [r0, 0x1]
- lsls r2, 8
- ldr r0, _0801A1B0
- ands r1, r0
- orrs r1, r2
- ldr r0, _0801A1B4
- ands r1, r0
- movs r0, 0x3
- orrs r1, r0
- str r1, [r4]
- movs r1, 0x1
- str r1, [sp, 0x54]
- mov r0, r9
- strb r0, [r5, 0x4]
- movs r0, 0x58
- strh r0, [r5, 0x6]
- strb r1, [r5, 0x8]
- add r0, sp, 0x4
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8090E14
- adds r0, r4, 0
- bl sub_8090C7C
- ldr r1, _0801A1B8
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- bgt _0801A1BC
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0801A1E0
- .align 2, 0
-_0801A1A4: .4byte gUnknown_203B214
-_0801A1A8: .4byte gUnknown_80DB8E4
-_0801A1AC: .4byte 0xff00ffff
-_0801A1B0: .4byte 0xffff00ff
-_0801A1B4: .4byte 0xffffff00
-_0801A1B8: .4byte gUnknown_203B460
-_0801A1BC:
- mov r0, r8
- ldr r1, _0801A204
- add r2, sp, 0x4
- bl sub_800D158
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r2, r9
- str r2, [sp]
- movs r0, 0x8
- mov r2, r8
- bl xxx_call_draw_string
-_0801A1E0:
- adds r6, 0x1
- ldr r0, [r7]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0801A122
-_0801A1EC:
- ldr r0, _0801A208
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0xB4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A204: .4byte gUnknown_80DB8EC
-_0801A208: .4byte gUnknown_203B214
- thumb_func_end sub_801A0D8
-
- thumb_func_start sub_801A20C
-sub_801A20C:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8091A48
- cmp r0, 0
- beq _0801A2A0
- ldr r5, _0801A294
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x34]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801A298
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r5]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- bl sub_8091A48
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, [r5]
- ldr r1, _0801A29C
- ldrh r1, [r1]
- strh r1, [r0, 0x18]
- bl sub_8013984
- bl sub_801A430
- bl sub_801A4A4
- movs r0, 0x1
- b _0801A2A2
- .align 2, 0
-_0801A294: .4byte gUnknown_203B21C
-_0801A298: .4byte gUnknown_80DB914
-_0801A29C: .4byte gUnknown_203B220
-_0801A2A0:
- movs r0, 0
-_0801A2A2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801A20C
-
- thumb_func_start sub_801A2A8
-sub_801A2A8:
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _0801A2C4
- ldr r0, _0801A2C0
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _0801A376
- .align 2, 0
-_0801A2C0: .4byte gUnknown_203B21C
-_0801A2C4:
- ldr r0, _0801A2DC
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801A2E6
- cmp r0, 0x2
- bgt _0801A2E0
- cmp r0, 0x1
- beq _0801A2F0
- b _0801A354
- .align 2, 0
-_0801A2DC: .4byte gUnknown_203B21C
-_0801A2E0:
- cmp r0, 0x4
- beq _0801A34A
- b _0801A354
-_0801A2E6:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801A376
-_0801A2F0:
- bl sub_801A37C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091A90
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _0801A334
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r2
- str r1, [sp]
- ldrb r0, [r0, 0x1]
- lsls r0, 8
- ldr r2, _0801A338
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl sub_8090C7C
- ldr r1, _0801A33C
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- ble _0801A340
- movs r0, 0x2
- bl sub_80119D4
- b _0801A346
- .align 2, 0
-_0801A334: .4byte 0xff00ffff
-_0801A338: .4byte 0xffff00ff
-_0801A33C: .4byte gUnknown_203B460
-_0801A340:
- movs r0, 0
- bl sub_80119D4
-_0801A346:
- movs r0, 0x3
- b _0801A376
-_0801A34A:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801A376
-_0801A354:
- ldr r0, _0801A368
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801A36C
- movs r0, 0
- b _0801A376
- .align 2, 0
-_0801A368: .4byte gUnknown_203B21C
-_0801A36C:
- bl sub_801A430
- bl sub_801A4A4
- movs r0, 0x1
-_0801A376:
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_801A2A8
-
- thumb_func_start sub_801A37C
-sub_801A37C:
- ldr r0, _0801A394
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- ldrb r1, [r1, 0x18]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_0801A394: .4byte gUnknown_203B21C
- thumb_func_end sub_801A37C
-
- thumb_func_start sub_801A398
-sub_801A398:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801A3D8
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8091A48
- adds r1, r0, 0
- ldr r0, [r5]
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_801A430
- bl sub_801A4A4
- cmp r4, 0
- beq _0801A3D2
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801A3D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A3D8: .4byte gUnknown_203B21C
- thumb_func_end sub_801A398
-
- thumb_func_start sub_801A3DC
-sub_801A3DC:
- push {r4,r5,lr}
- ldr r4, _0801A424
- ldr r2, [r4]
- cmp r2, 0
- beq _0801A41C
- ldr r1, _0801A428
- ldrh r0, [r2, 0x18]
- strh r0, [r1]
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801A42C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801A41C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A424: .4byte gUnknown_203B21C
-_0801A428: .4byte gUnknown_203B220
-_0801A42C: .4byte gUnknown_80DB8FC
- thumb_func_end sub_801A3DC
-
- thumb_func_start sub_801A430
-sub_801A430:
- push {r4,lr}
- ldr r4, _0801A4A0
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xA
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A4A0: .4byte gUnknown_203B21C
- thumb_func_end sub_801A430
-
- thumb_func_start sub_801A4A4
-sub_801A4A4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xB4
- ldr r4, _0801A570
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r1, [r4]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r0, 0xA
- ldr r2, _0801A574
- ldr r3, [r1, 0x34]
- movs r1, 0
- str r1, [sp]
- bl xxx_call_draw_string
- movs r6, 0
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _0801A5B8
- adds r7, r4, 0
- add r4, sp, 0xB0
- mov r9, r6
- add r5, sp, 0x54
- add r2, sp, 0x60
- mov r8, r2
-_0801A4EE:
- ldr r0, [r7]
- movs r2, 0x1E
- ldrsh r1, [r0, r2]
- movs r2, 0x1C
- ldrsh r0, [r0, r2]
- muls r0, r1
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091A90
- ldrb r2, [r0]
- lsls r2, 16
- ldr r3, _0801A578
- ldr r1, [r4]
- ands r1, r3
- orrs r1, r2
- str r1, [r4]
- ldrb r2, [r0, 0x1]
- lsls r2, 8
- ldr r0, _0801A57C
- ands r1, r0
- orrs r1, r2
- ldr r0, _0801A580
- ands r1, r0
- movs r0, 0x3
- orrs r1, r0
- str r1, [r4]
- movs r1, 0x1
- str r1, [sp, 0x54]
- mov r0, r9
- strb r0, [r5, 0x4]
- movs r0, 0x58
- strh r0, [r5, 0x6]
- strb r1, [r5, 0x8]
- add r0, sp, 0x4
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8090E14
- adds r0, r4, 0
- bl sub_8090C7C
- ldr r1, _0801A584
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- bgt _0801A588
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0801A5AC
- .align 2, 0
-_0801A570: .4byte gUnknown_203B21C
-_0801A574: .4byte gUnknown_80DB92C
-_0801A578: .4byte 0xff00ffff
-_0801A57C: .4byte 0xffff00ff
-_0801A580: .4byte 0xffffff00
-_0801A584: .4byte gUnknown_203B460
-_0801A588:
- mov r0, r8
- ldr r1, _0801A5D0
- add r2, sp, 0x4
- bl sub_800D158
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r2, r9
- str r2, [sp]
- movs r0, 0x8
- mov r2, r8
- bl xxx_call_draw_string
-_0801A5AC:
- adds r6, 0x1
- ldr r0, [r7]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0801A4EE
-_0801A5B8:
- ldr r0, _0801A5D4
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0xB4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A5D0: .4byte gUnknown_80DB934
-_0801A5D4: .4byte gUnknown_203B21C
- thumb_func_end sub_801A4A4
-
- thumb_func_start sub_801A5D8
-sub_801A5D8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- mov r8, r3
- bl sub_8090A34
- cmp r0, 0
- bne _0801A5F2
- movs r0, 0
- b _0801A6CC
-_0801A5F2:
- ldr r5, _0801A6D8
- ldr r0, [r5]
- cmp r0, 0
- bne _0801A604
- movs r0, 0xF4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0801A604:
- ldr r0, [r5]
- str r4, [r0]
- bl sub_80910B4
- bl sub_801AE84
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x88
- str r6, [r1]
- adds r2, r0, 0
- adds r2, 0x8C
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x90
- adds r1, r0, r1
- str r1, [r2]
- adds r0, 0x90
- bl sub_8006518
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x90
- ldr r0, _0801A6DC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x8C
- ldr r1, [r0]
- adds r0, 0x64
- str r0, [r1, 0x14]
- cmp r7, 0
- beq _0801A66E
- subs r0, 0x68
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x98
- adds r1, r0
- ldr r0, [r7]
- str r0, [r1]
-_0801A66E:
- ldr r0, [r5]
- adds r0, 0x8C
- ldr r0, [r0]
- mov r1, r8
- bl sub_8012D08
- movs r0, 0x1
- bl sub_8099690
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x90
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x54
- bl sub_8090A34
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_8013818
- ldr r2, [r5]
- ldr r0, _0801A6E0
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- strh r1, [r0]
- ldr r0, _0801A6E4
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x72
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x54
- bl sub_8013984
- bl sub_801A998
- bl sub_801A9E0
- movs r0, 0x1
-_0801A6CC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801A6D8: .4byte gUnknown_203B224
-_0801A6DC: .4byte gUnknown_80DB95C
-_0801A6E0: .4byte gUnknown_203B228
-_0801A6E4: .4byte gUnknown_203B22A
- thumb_func_end sub_801A5D8
-
- thumb_func_start sub_801A6E8
-sub_801A6E8:
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- bne _0801A704
- ldr r0, _0801A700
- ldr r0, [r0]
- adds r0, 0x54
- bl sub_8013660
- movs r0, 0
- b _0801A8A2
- .align 2, 0
-_0801A700: .4byte gUnknown_203B224
-_0801A704:
- ldr r0, _0801A720
- ldr r0, [r0]
- adds r0, 0x54
- bl GetKeyPress
- subs r0, 0x1
- cmp r0, 0x5
- bls _0801A716
- b _0801A87C
-_0801A716:
- lsls r0, 2
- ldr r1, _0801A724
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801A720: .4byte gUnknown_203B224
-_0801A724: .4byte _0801A728
- .align 2, 0
-_0801A728:
- .4byte _0801A74A
- .4byte _0801A740
- .4byte _0801A864
- .4byte _0801A806
- .4byte _0801A810
- .4byte _0801A810
-_0801A740:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801A8A2
-_0801A74A:
- ldr r1, _0801A760
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _0801A802
- lsls r0, 2
- ldr r1, _0801A764
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801A760: .4byte gUnknown_203B224
-_0801A764: .4byte _0801A768
- .align 2, 0
-_0801A768:
- .4byte _0801A780
- .4byte _0801A780
- .4byte _0801A780
- .4byte _0801A794
- .4byte _0801A7AC
- .4byte _0801A7FC
-_0801A780:
- ldr r4, [r4]
- bl sub_801A8AC
- lsls r0, 2
- adds r4, 0x4
- adds r4, r0
- ldr r0, [r4]
- cmp r0, 0
- bne _0801A7F4
- b _0801A7E2
-_0801A794:
- bl sub_801AEA8
- cmp r0, 0
- bne _0801A7E2
- bl sub_801A8AC
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801A7E2
- b _0801A7F4
-_0801A7AC:
- ldr r5, _0801A7EC
- ldr r4, [r5]
- bl sub_801A8AC
- lsls r0, 2
- adds r4, r0
- ldr r0, [r4]
- str r0, [sp]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0801A7F4
- mov r0, sp
- bl sub_8090CCC
- ldr r1, [r5]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- adds r0, r1
- ldr r1, _0801A7F0
- cmp r0, r1
- bgt _0801A7F4
-_0801A7E2:
- movs r0, 0
- bl sub_80119D4
- b _0801A802
- .align 2, 0
-_0801A7EC: .4byte gUnknown_203B460
-_0801A7F0: .4byte 0x0001869f
-_0801A7F4:
- movs r0, 0x2
- bl sub_80119D4
- b _0801A802
-_0801A7FC:
- movs r0, 0
- bl sub_80119D4
-_0801A802:
- movs r0, 0x3
- b _0801A8A2
-_0801A806:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801A8A2
-_0801A810:
- ldr r4, _0801A858
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0801A87C
- bl sub_801A8AC
- adds r1, r0, 0
- ldr r0, [r4]
- lsls r5, r1, 2
- adds r0, 0x4
- adds r0, r5
- ldr r0, [r0]
- cmp r0, 0
- bne _0801A83A
- adds r0, r1, 0
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- beq _0801A85C
-_0801A83A:
- movs r0, 0x6
- bl sub_80119D4
- ldr r0, [r4]
- adds r2, r0, 0x4
- adds r2, r5
- ldr r1, [r2]
- movs r3, 0x1
- eors r1, r3
- str r1, [r2]
- adds r0, 0x54
- movs r1, 0
- bl sub_80138B8
- b _0801A89C
- .align 2, 0
-_0801A858: .4byte gUnknown_203B224
-_0801A85C:
- movs r0, 0x2
- bl sub_80119D4
- b _0801A87C
-_0801A864:
- ldr r0, _0801A894
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x2
- beq _0801A87C
- movs r0, 0x5
- bl sub_80119D4
- bl sub_801AEF8
- bl sub_801A9E0
-_0801A87C:
- ldr r0, _0801A894
- ldr r0, [r0]
- adds r0, 0x54
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801A898
- movs r0, 0
- b _0801A8A2
- .align 2, 0
-_0801A894: .4byte gUnknown_203B224
-_0801A898:
- bl sub_801A998
-_0801A89C:
- bl sub_801A9E0
- movs r0, 0x1
-_0801A8A2:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801A6E8
-
- thumb_func_start sub_801A8AC
-sub_801A8AC:
- ldr r0, _0801A8CC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x72
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x6C
- movs r2, 0
- ldrsh r1, [r1, r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801A8CC: .4byte gUnknown_203B224
- thumb_func_end sub_801A8AC
-
- thumb_func_start sub_801A8D0
-sub_801A8D0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_8099690
- bl sub_8004914
- ldr r5, _0801A924
- ldr r0, [r5]
- adds r0, 0x90
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_80910B4
- bl sub_8090A34
- adds r1, r0, 0
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x76
- strh r1, [r2]
- adds r0, 0x54
- bl sub_8013984
- bl sub_801A998
- bl sub_801A9E0
- cmp r4, 0
- beq _0801A91C
- ldr r0, [r5]
- adds r0, 0x54
- bl AddMenuCursorSprite
-_0801A91C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A924: .4byte gUnknown_203B224
- thumb_func_end sub_801A8D0
-
- thumb_func_start sub_801A928
-sub_801A928:
- push {r4,r5,lr}
- ldr r4, _0801A988
- ldr r2, [r4]
- cmp r2, 0
- beq _0801A980
- ldr r1, _0801A98C
- adds r0, r2, 0
- adds r0, 0x6C
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _0801A990
- adds r0, r2, 0
- adds r0, 0x72
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x88
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x90
- ldr r0, _0801A994
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- movs r0, 0
- bl sub_8099690
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x90
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801A980:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A988: .4byte gUnknown_203B224
-_0801A98C: .4byte gUnknown_203B228
-_0801A990: .4byte gUnknown_203B22A
-_0801A994: .4byte gUnknown_80DB944
- thumb_func_end sub_801A928
-
- thumb_func_start sub_801A998
-sub_801A998:
- push {r4,lr}
- ldr r4, _0801A9DC
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x74
- ldrh r1, [r1]
- adds r0, 0xF0
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x72
- ldrh r1, [r1]
- adds r0, 0xF1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xF2
- movs r1, 0xB
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xF3
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x90
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801A9DC: .4byte gUnknown_203B224
- thumb_func_end sub_801A998
-
- thumb_func_start sub_801A9E0
-sub_801A9E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xCC
- ldr r4, _0801AA2C
- ldr r0, [r4]
- adds r0, 0x88
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0x88
- ldr r0, [r0]
- bl sub_80073B8
- ldr r4, [r4]
- adds r1, r4, 0
- adds r1, 0x72
- movs r2, 0
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r5, r0, 0
- adds r5, 0xA
- movs r3, 0
- ldrsh r1, [r1, r3]
- cmp r1, 0
- bne _0801AA34
- ldr r2, _0801AA30
- adds r0, r4, 0
- adds r0, 0x88
- ldr r3, [r0]
- str r1, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- b _0801AA48
- .align 2, 0
-_0801AA2C: .4byte gUnknown_203B224
-_0801AA30: .4byte gUnknown_80DB974
-_0801AA34:
- ldr r2, _0801AA58
- adds r0, r4, 0
- adds r0, 0x88
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
-_0801AA48:
- movs r7, 0
- ldr r1, _0801AA5C
- ldr r0, [r1]
- adds r0, 0x6E
- movs r4, 0
- ldrsh r0, [r0, r4]
- b _0801AD0A
- .align 2, 0
-_0801AA58: .4byte gUnknown_80DB984
-_0801AA5C: .4byte gUnknown_203B224
-_0801AA60:
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0x72
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r4, 0
- ldrsh r0, [r0, r4]
- muls r0, r1
- adds r0, r7
- mov r8, r0
- ldr r0, _0801AA9C
- ldr r0, [r0]
- mov r3, r8
- lsls r1, r3, 2
- adds r0, r1
- ldr r0, [r0]
- add r1, sp, 0xC8
- str r0, [r1]
- ldr r0, [r2]
- adds r4, r1, 0
- cmp r0, 0x5
- bls _0801AA90
- b _0801ACC4
-_0801AA90:
- lsls r0, 2
- ldr r1, _0801AAA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801AA9C: .4byte gUnknown_203B460
-_0801AAA0: .4byte _0801AAA4
- .align 2, 0
-_0801AAA4:
- .4byte _0801AABC
- .4byte _0801AAE4
- .4byte _0801AAE4
- .4byte _0801AB18
- .4byte _0801AB90
- .4byte _0801AC50
-_0801AABC:
- add r0, sp, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- ldr r4, _0801AAE0
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- b _0801AC8C
- .align 2, 0
-_0801AAE0: .4byte gUnknown_203B224
-_0801AAE4:
- add r2, sp, 0x54
- movs r5, 0
- str r5, [sp, 0x54]
- strb r5, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r4]
- add r1, sp, 0xC8
- add r0, sp, 0x4
- bl sub_8090E14
- ldr r4, _0801AB14
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r5, [sp]
- b _0801AC8C
- .align 2, 0
-_0801AB14: .4byte gUnknown_203B224
-_0801AB18:
- add r2, sp, 0x60
- movs r6, 0
- str r6, [sp, 0x60]
- strb r6, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r4]
- add r1, sp, 0xC8
- add r0, sp, 0x4
- bl sub_8090E14
- ldr r5, _0801AB60
- ldr r0, [r5]
- mov r4, r8
- lsls r1, r4, 2
- adds r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0801AB4E
- mov r0, r8
- bl sub_801ADA0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0801AB64
-_0801AB4E:
- ldr r0, [r5]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r5]
- b _0801AC86
- .align 2, 0
-_0801AB60: .4byte gUnknown_203B224
-_0801AB64:
- ldr r0, _0801AB88
- add r1, sp, 0x4
- movs r2, 0x50
- bl strncpy
- ldr r0, [r5]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, _0801AB8C
- ldr r0, [r5]
- adds r0, 0x88
- ldr r3, [r0]
- str r4, [sp]
- b _0801AC3C
- .align 2, 0
-_0801AB88: .4byte gUnknown_202DE58
-_0801AB8C: .4byte gUnknown_80DB994
-_0801AB90:
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0801AC10
- add r2, sp, 0x6C
- movs r1, 0x3
- str r1, [sp, 0x6C]
- movs r6, 0
- strb r6, [r2, 0x4]
- movs r0, 0x58
- strh r0, [r2, 0x6]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r1, [r4]
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_8090E14
- adds r0, r4, 0
- bl sub_8090CCC
- ldr r1, _0801AC00
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- adds r0, r1
- ldr r1, _0801AC04
- cmp r0, r1
- ble _0801AC76
- add r5, sp, 0x78
- ldr r1, _0801AC08
- adds r0, r5, 0
- add r2, sp, 0x4
- bl sub_800D158
- ldr r4, _0801AC0C
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r6, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- bl xxx_call_draw_string
- b _0801ACC4
- .align 2, 0
-_0801AC00: .4byte gUnknown_203B460
-_0801AC04: .4byte 0x0001869f
-_0801AC08: .4byte gUnknown_80DB9A0
-_0801AC0C: .4byte gUnknown_203B224
-_0801AC10:
- add r0, sp, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- ldr r0, _0801AC44
- add r1, sp, 0x4
- movs r2, 0x50
- bl strncpy
- ldr r4, _0801AC48
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, _0801AC4C
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r5, [sp]
-_0801AC3C:
- movs r0, 0x8
- bl sub_8014FF0
- b _0801ACC4
- .align 2, 0
-_0801AC44: .4byte gUnknown_202DE58
-_0801AC48: .4byte gUnknown_203B224
-_0801AC4C: .4byte gUnknown_80DB994
-_0801AC50:
- add r2, sp, 0x78
- movs r6, 0
- str r6, [sp, 0x78]
- strb r6, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0x8]
- strb r0, [r4]
- add r4, sp, 0xC8
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_8090E14
- ldrb r0, [r4, 0x2]
- bl sub_8091764
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0801AC9C
-_0801AC76:
- ldr r4, _0801AC98
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r4]
-_0801AC86:
- adds r0, 0x88
- ldr r3, [r0]
- str r6, [sp]
-_0801AC8C:
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0801ACC4
- .align 2, 0
-_0801AC98: .4byte gUnknown_203B224
-_0801AC9C:
- ldr r0, _0801AD28
- add r1, sp, 0x4
- movs r2, 0x50
- bl strncpy
- ldr r4, _0801AD2C
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, _0801AD30
- ldr r0, [r4]
- adds r0, 0x88
- ldr r3, [r0]
- str r5, [sp]
- movs r0, 0x8
- bl sub_8014FF0
-_0801ACC4:
- mov r0, r8
- bl sub_801AED0
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0801ACFE
- ldr r4, _0801AD2C
- ldr r0, [r4]
- adds r0, 0x54
- adds r1, r7, 0
- bl sub_8013800
- adds r2, r0, 0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r0, [r0]
- adds r1, 0x8C
- ldr r1, [r1]
- movs r4, 0xC
- ldrsh r3, [r1, r4]
- subs r3, 0x2
- lsls r3, 3
- movs r1, 0xA
- str r1, [sp]
- movs r1, 0x8
- bl sub_8007B7C
-_0801ACFE:
- adds r7, 0x1
- ldr r1, _0801AD2C
- ldr r0, [r1]
- adds r0, 0x6E
- movs r2, 0
- ldrsh r0, [r0, r2]
-_0801AD0A:
- adds r2, r1, 0
- cmp r7, r0
- bge _0801AD12
- b _0801AA60
-_0801AD12:
- ldr r0, [r2]
- adds r0, 0x88
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0xCC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AD28: .4byte gUnknown_202DE58
-_0801AD2C: .4byte gUnknown_203B224
-_0801AD30: .4byte gUnknown_80DB994
- thumb_func_end sub_801A9E0
-
- thumb_func_start sub_801AD34
-sub_801AD34:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _0801AD98
- movs r6, 0
- str r6, [sp]
- movs r0, 0x6
- movs r1, 0
- adds r3, r4, 0
- bl xxx_call_draw_string
- bl sub_8090A34
- adds r2, r0, 0
- movs r5, 0x7
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x12
- movs r1, 0xD
- movs r3, 0x2
- bl sub_8012BC4
- ldr r2, _0801AD9C
- str r6, [sp]
- movs r0, 0x16
- movs r1, 0xD
- adds r3, r4, 0
- bl xxx_call_draw_string
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x2B
- movs r1, 0xD
- movs r2, 0x14
- movs r3, 0x2
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AD98: .4byte gUnknown_80DB9A8
-_0801AD9C: .4byte gUnknown_80DB9B0
- thumb_func_end sub_801AD34
-
- thumb_func_start sub_801ADA0
-sub_801ADA0:
- push {r4-r6,lr}
- ldr r5, _0801ADEC
- ldr r1, [r5]
- lsls r0, 2
- adds r1, r0
- ldr r6, [r1]
- lsls r4, r6, 8
- lsrs r0, r4, 24
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801AE12
- lsrs r0, r4, 24
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0801ADF4
- lsrs r0, r4, 24
- bl sub_801AE24
- ldr r2, [r5]
- lsrs r1, r4, 24
- lsls r1, 1
- adds r2, 0x50
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r2]
- adds r0, r2
- lsrs r1, r6, 8
- lsls r1, 24
- lsrs r1, 24
- adds r0, r1
- ldr r1, _0801ADF0
- b _0801AE0E
- .align 2, 0
-_0801ADEC: .4byte gUnknown_203B460
-_0801ADF0: .4byte 0x000003e7
-_0801ADF4:
- lsrs r0, r4, 24
- bl sub_801AE24
- ldr r2, [r5]
- lsrs r1, r4, 24
- lsls r1, 1
- adds r2, 0x50
- adds r2, r1
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r2]
- adds r0, r2
- ldr r1, _0801AE18
-_0801AE0E:
- cmp r0, r1
- ble _0801AE1C
-_0801AE12:
- movs r0, 0
- b _0801AE1E
- .align 2, 0
-_0801AE18: .4byte 0x000003e6
-_0801AE1C:
- movs r0, 0x1
-_0801AE1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801ADA0
-
- thumb_func_start sub_801AE24
-sub_801AE24:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- movs r6, 0
- b _0801AE74
-_0801AE2E:
- ldr r0, _0801AE64
- ldr r0, [r0]
- lsls r1, r6, 2
- adds r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0801AE72
- ldr r0, _0801AE68
- ldr r0, [r0]
- adds r0, r1
- ldr r4, [r0]
- lsls r1, r4, 8
- lsrs r0, r1, 24
- cmp r0, r7
- bne _0801AE72
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0801AE6C
- lsrs r0, r4, 8
- lsls r0, 24
- lsrs r0, 24
- adds r0, r5, r0
- b _0801AE6E
- .align 2, 0
-_0801AE64: .4byte gUnknown_203B224
-_0801AE68: .4byte gUnknown_203B460
-_0801AE6C:
- adds r0, r5, 0x1
-_0801AE6E:
- lsls r0, 16
- lsrs r5, r0, 16
-_0801AE72:
- adds r6, 0x1
-_0801AE74:
- bl sub_8090A34
- cmp r6, r0
- blt _0801AE2E
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801AE24
-
- thumb_func_start sub_801AE84
-sub_801AE84:
- push {r4,lr}
- movs r2, 0
- ldr r4, _0801AEA4
- movs r3, 0
-_0801AE8C:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x4
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0x13
- ble _0801AE8C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AEA4: .4byte gUnknown_203B224
- thumb_func_end sub_801AE84
-
- thumb_func_start sub_801AEA8
-sub_801AEA8:
- push {lr}
- movs r3, 0
- ldr r0, _0801AECC
- ldr r0, [r0]
- adds r1, r0, 0x4
- movs r2, 0x13
-_0801AEB4:
- ldr r0, [r1]
- cmp r0, 0
- beq _0801AEBC
- adds r3, 0x1
-_0801AEBC:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _0801AEB4
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0801AECC: .4byte gUnknown_203B224
- thumb_func_end sub_801AEA8
-
- thumb_func_start sub_801AED0
-sub_801AED0:
- ldr r1, _0801AEE0
- ldr r1, [r1]
- lsls r0, 2
- adds r1, 0x4
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_0801AEE0: .4byte gUnknown_203B224
- thumb_func_end sub_801AED0
-
- thumb_func_start sub_801AEE4
-sub_801AEE4:
- ldr r2, _0801AEF4
- ldr r2, [r2]
- lsls r0, 2
- adds r2, 0x4
- adds r2, r0
- str r1, [r2]
- bx lr
- .align 2, 0
-_0801AEF4: .4byte gUnknown_203B224
- thumb_func_end sub_801AEE4
-
- thumb_func_start sub_801AEF8
-sub_801AEF8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r0, 0
- mov r9, r0
- b _0801AF78
-_0801AF08:
- movs r1, 0x1
- add r1, r9
- mov r8, r1
- mov r7, r8
- b _0801AF6E
-_0801AF12:
- ldr r2, _0801AF90
- ldr r0, [r2]
- mov r1, r9
- lsls r6, r1, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- str r2, [sp]
- bl sub_8090D44
- adds r4, r0, 0
- ldr r2, [sp]
- ldr r0, [r2]
- lsls r5, r7, 2
- adds r0, r5
- ldrb r0, [r0, 0x2]
- bl sub_8090D44
- ldr r2, [sp]
- cmp r4, r0
- bgt _0801AF4C
- cmp r4, r0
- bne _0801AF6C
- ldr r0, [r2]
- adds r1, r0, r6
- adds r0, r5
- ldrb r1, [r1, 0x1]
- ldrb r0, [r0, 0x1]
- cmp r1, r0
- bcs _0801AF6C
-_0801AF4C:
- ldr r0, [r2]
- adds r2, r0, r6
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
- ldr r0, _0801AF94
- ldr r0, [r0]
- adds r0, 0x4
- adds r2, r0, r6
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_0801AF6C:
- adds r7, 0x1
-_0801AF6E:
- bl sub_8090A34
- cmp r7, r0
- blt _0801AF12
- mov r9, r8
-_0801AF78:
- bl sub_8090A34
- subs r0, 0x1
- cmp r9, r0
- blt _0801AF08
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801AF90: .4byte gUnknown_203B460
-_0801AF94: .4byte gUnknown_203B224
- thumb_func_end sub_801AEF8
-
- thumb_func_start sub_801AF98
-sub_801AF98:
- ldr r0, _0801AFA0
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0801AFA0: .4byte gUnknown_203B224
- thumb_func_end sub_801AF98
-
- thumb_func_start sub_801AFA4
-sub_801AFA4:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _0801AFEC
- movs r0, 0xA4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r4, [r0, 0x4]
- ldr r1, _0801AFF0
- ldr r1, [r1]
- lsls r4, 2
- adds r1, r4
- ldrb r1, [r1, 0x2]
- strb r1, [r0, 0x8]
- ldr r0, [r5]
- ldrb r0, [r0, 0x8]
- bl sub_80913CC
- ldr r1, [r5]
- strh r0, [r1, 0xA]
- ldr r0, _0801AFF4
- ldrh r1, [r1, 0xA]
- bl sub_8092C84
- movs r0, 0
- bl sub_8099690
- bl sub_801B2F4
- cmp r0, 0
- bne _0801AFF8
- movs r0, 0x3
- bl sub_801B064
- b _0801B004
- .align 2, 0
-_0801AFEC: .4byte gUnknown_203B22C
-_0801AFF0: .4byte gUnknown_203B460
-_0801AFF4: .4byte gUnknown_202E1C8
-_0801AFF8:
- ldr r1, [r5]
- movs r0, 0x4
- str r0, [r1, 0x60]
- movs r0, 0
- bl sub_801B064
-_0801B004:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801AFA4
-
- thumb_func_start sub_801B00C
-sub_801B00C:
- push {lr}
- ldr r0, _0801B024
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801B036
- cmp r0, 0x1
- bgt _0801B028
- cmp r0, 0
- beq _0801B030
- b _0801B03C
- .align 2, 0
-_0801B024: .4byte gUnknown_203B22C
-_0801B028:
- cmp r0, 0x4
- bne _0801B03C
- movs r0, 0x3
- b _0801B042
-_0801B030:
- bl sub_801B200
- b _0801B040
-_0801B036:
- bl sub_801B2AC
- b _0801B040
-_0801B03C:
- bl sub_801B2D8
-_0801B040:
- movs r0, 0
-_0801B042:
- pop {r1}
- bx r1
- thumb_func_end sub_801B00C
-
- thumb_func_start sub_801B048
-sub_801B048:
- push {r4,lr}
- ldr r4, _0801B060
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B05A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B05A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B060: .4byte gUnknown_203B22C
- thumb_func_end sub_801B048
-
- thumb_func_start sub_801B064
-sub_801B064:
- push {lr}
- ldr r1, _0801B078
- ldr r1, [r1]
- str r0, [r1]
- bl nullsub_37
- bl sub_801B080
- pop {r0}
- bx r0
- .align 2, 0
-_0801B078: .4byte gUnknown_203B22C
- thumb_func_end sub_801B064
-
- thumb_func_start nullsub_37
-nullsub_37:
- bx lr
- thumb_func_end nullsub_37
-
- thumb_func_start sub_801B080
-sub_801B080:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _0801B09C
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _0801B168
- lsls r0, 2
- ldr r1, _0801B0A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B09C: .4byte gUnknown_203B22C
-_0801B0A0: .4byte _0801B0A4
- .align 2, 0
-_0801B0A4:
- .4byte _0801B0B8
- .4byte _0801B0E8
- .4byte _0801B0FC
- .4byte _0801B15C
- .4byte _0801B168
-_0801B0B8:
- bl sub_801B178
- ldr r0, _0801B0E0
- ldr r1, _0801B0E4
- ldr r3, [r1]
- ldr r2, [r3, 0x60]
- adds r3, 0x64
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _0801B168
- .align 2, 0
-_0801B0E0: .4byte gUnknown_80DB9BC
-_0801B0E4: .4byte gUnknown_203B22C
-_0801B0E8:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x58
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r2, 0xC
- movs r0, 0x2
- bl sub_801E80C
- b _0801B168
-_0801B0FC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC
- ldr r1, [r1, 0x5C]
- adds r1, 0x2C
- bl sub_8094060
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_80915A0
- lsls r0, 24
- cmp r0, 0
- bne _0801B138
- ldr r3, _0801B150
- ldr r1, [r3]
- ldr r2, [r4]
- ldr r0, [r2, 0x4]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r2, 0x8]
- subs r0, 0x7D
- strb r0, [r1, 0x1]
- ldr r1, [r3]
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- lsls r0, 2
- adds r1, r0
- movs r0, 0x7C
- strb r0, [r1, 0x2]
-_0801B138:
- movs r0, 0x9C
- lsls r0, 1
- bl sub_8011988
- ldr r0, _0801B154
- ldr r3, _0801B158
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0801B168
- .align 2, 0
-_0801B150: .4byte gUnknown_203B460
-_0801B154: .4byte gUnknown_80DB9E4
-_0801B158: .4byte 0x00000121
-_0801B15C:
- ldr r0, _0801B170
- ldr r3, _0801B174
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0801B168:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B170: .4byte gUnknown_80DBA0C
-_0801B174: .4byte 0x00000121
- thumb_func_end sub_801B080
-
- thumb_func_start sub_801B178
-sub_801B178:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
- ldr r1, _0801B1F4
- ldr r0, [r1]
- ldr r0, [r0, 0x4C]
- cmp r5, r0
- bge _0801B1D2
- ldr r0, _0801B1F8
- mov r8, r0
- adds r7, r1, 0
- movs r6, 0
-_0801B192:
- ldr r4, _0801B1FC
- adds r4, r6, r4
- ldr r0, [r7]
- lsls r1, r5, 1
- adds r0, 0x50
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r0, r1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- adds r0, r4, 0
- bl sub_808DA34
- ldr r2, [r7]
- lsls r1, r5, 3
- adds r0, r2, 0
- adds r0, 0x64
- adds r0, r1
- str r4, [r0]
- adds r0, r2, 0
- adds r0, 0x68
- adds r0, r1
- adds r1, r5, 0x4
- str r1, [r0]
- adds r6, 0x50
- adds r5, 0x1
- ldr r0, [r2, 0x4C]
- cmp r5, r0
- blt _0801B192
-_0801B1D2:
- ldr r0, _0801B1F4
- ldr r2, [r0]
- lsls r3, r5, 3
- adds r0, r2, 0
- adds r0, 0x64
- adds r0, r3
- movs r1, 0
- str r1, [r0]
- adds r2, 0x68
- adds r2, r3
- movs r0, 0x1
- str r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B1F4: .4byte gUnknown_203B22C
-_0801B1F8: .4byte gUnknown_203B45C
-_0801B1FC: .4byte gUnknown_202DF98
- thumb_func_end sub_801B178
-
- thumb_func_start sub_801B200
-sub_801B200:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801B2A4
- ldr r5, _0801B228
- ldr r3, [r5]
- ldr r0, [sp]
- str r0, [r3, 0x60]
- ldr r1, [sp]
- cmp r1, 0
- beq _0801B2A4
- cmp r1, 0x1
- bne _0801B22C
- movs r0, 0x4
- bl sub_801B064
- b _0801B2A4
- .align 2, 0
-_0801B228: .4byte gUnknown_203B22C
-_0801B22C:
- subs r1, 0x4
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x58
- strh r0, [r1]
- ldr r2, _0801B26C
- movs r0, 0
- ldrsh r1, [r1, r0]
- movs r0, 0x58
- muls r0, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r3, 0x5C]
- ldr r0, _0801B270
- bl sub_808DA34
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0xC
- ldr r1, [r1, 0x5C]
- adds r1, 0x2C
- bl sub_809401C
- movs r4, 0
- adds r6, r5, 0
- movs r5, 0xC
- b _0801B278
- .align 2, 0
-_0801B26C: .4byte gUnknown_203B45C
-_0801B270: .4byte gUnknown_202E218
-_0801B274:
- adds r5, 0x8
- adds r4, 0x1
-_0801B278:
- cmp r4, 0x7
- bgt _0801B292
- ldr r3, [r6]
- adds r2, r3, r5
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801B274
- ldrh r1, [r3, 0xA]
- adds r0, r2, 0
- bl sub_8092AD4
-_0801B292:
- cmp r4, 0x3
- ble _0801B29E
- movs r0, 0x1
- bl sub_801B064
- b _0801B2A4
-_0801B29E:
- movs r0, 0x2
- bl sub_801B064
-_0801B2A4:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_801B200
-
- thumb_func_start sub_801B2AC
-sub_801B2AC:
- push {lr}
- bl sub_801E8C0
- cmp r0, 0x2
- beq _0801B2CA
- cmp r0, 0x2
- bcc _0801B2D4
- cmp r0, 0x3
- bne _0801B2D4
- bl sub_801E93C
- movs r0, 0x2
- bl sub_801B064
- b _0801B2D4
-_0801B2CA:
- bl sub_801E93C
- movs r0, 0
- bl sub_801B064
-_0801B2D4:
- pop {r0}
- bx r0
- thumb_func_end sub_801B2AC
-
- thumb_func_start sub_801B2D8
-sub_801B2D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801B2EC
- movs r0, 0x4
- bl sub_801B064
-_0801B2EC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801B2D8
-
- thumb_func_start sub_801B2F4
-sub_801B2F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r0, sp
- bl sub_808D580
- adds r6, r0, 0
- ldr r2, _0801B36C
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x4C]
- movs r5, 0
- cmp r5, r6
- bge _0801B35A
- ldr r0, _0801B370
- mov r8, r0
- adds r7, r2, 0
- mov r4, sp
-_0801B31A:
- ldr r1, [r4]
- movs r0, 0x58
- muls r0, r1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, [r7]
- ldrh r0, [r0, 0xA]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- bl sub_808E190
- lsls r0, 24
- cmp r0, 0
- beq _0801B352
- ldr r2, [r7]
- ldr r0, [r2, 0x4C]
- lsls r0, 1
- adds r1, r2, 0
- adds r1, 0x50
- adds r1, r0
- ldr r0, [r4]
- strh r0, [r1]
- ldr r0, [r2, 0x4C]
- cmp r0, 0x3
- bgt _0801B35A
- adds r0, 0x1
- str r0, [r2, 0x4C]
-_0801B352:
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r6
- blt _0801B31A
-_0801B35A:
- ldr r0, _0801B36C
- ldr r0, [r0]
- ldr r0, [r0, 0x4C]
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B36C: .4byte gUnknown_203B22C
-_0801B370: .4byte gUnknown_203B45C
- thumb_func_end sub_801B2F4
-
- thumb_func_start sub_801B374
-sub_801B374:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0801B3A8
- ldr r4, [r1]
- bl sub_80913CC
- lsls r0, 16
- lsrs r6, r0, 16
- movs r5, 0
-_0801B388:
- ldrh r0, [r4]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0801B3AC
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- adds r0, r6, 0
- bl sub_808E190
- lsls r0, 24
- cmp r0, 0
- beq _0801B3AC
- movs r0, 0
- b _0801B3BA
- .align 2, 0
-_0801B3A8: .4byte gUnknown_203B45C
-_0801B3AC:
- adds r5, 0x1
- adds r4, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0801B388
- movs r0, 0x1
-_0801B3BA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801B374
-
- thumb_func_start sub_801B3C0
-sub_801B3C0:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x1
- bl sub_8004D8C
- ldr r4, _0801B40C
- movs r0, 0x94
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, [r5]
- str r1, [r0, 0x4]
- adds r0, 0x88
- bl sub_801317C
- ldr r0, [r4]
- movs r1, 0
- str r1, [r0, 0x24]
- adds r0, 0x28
- bl sub_80140B4
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl sub_801B46C
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B40C: .4byte gUnknown_203B230
- thumb_func_end sub_801B3C0
-
- thumb_func_start sub_801B410
-sub_801B410:
- push {lr}
- ldr r0, _0801B428
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801B43C
- cmp r0, 0x1
- bgt _0801B42C
- cmp r0, 0
- beq _0801B436
- b _0801B446
- .align 2, 0
-_0801B428: .4byte gUnknown_203B230
-_0801B42C:
- cmp r0, 0x2
- beq _0801B446
- cmp r0, 0x3
- beq _0801B442
- b _0801B446
-_0801B436:
- bl sub_801B51C
- b _0801B44A
-_0801B43C:
- bl sub_801B590
- b _0801B44A
-_0801B442:
- movs r0, 0x3
- b _0801B44C
-_0801B446:
- movs r0, 0x2
- b _0801B44C
-_0801B44A:
- movs r0, 0
-_0801B44C:
- pop {r1}
- bx r1
- thumb_func_end sub_801B410
-
- thumb_func_start sub_801B450
-sub_801B450:
- push {r4,lr}
- ldr r4, _0801B468
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B462
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B462:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B468: .4byte gUnknown_203B230
- thumb_func_end sub_801B450
-
- thumb_func_start sub_801B46C
-sub_801B46C:
- push {lr}
- ldr r1, _0801B47C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801B480
- pop {r0}
- bx r0
- .align 2, 0
-_0801B47C: .4byte gUnknown_203B230
- thumb_func_end sub_801B46C
-
- thumb_func_start sub_801B480
-sub_801B480:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801B4B0
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801B4B4
- cmp r4, 0x1
- bgt _0801B50C
- cmp r4, 0
- bne _0801B50C
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r2, [r5]
- adds r0, r2, 0x4
- ldr r1, [r2, 0x24]
- adds r2, 0x10
- bl sub_80913E0
- ldr r1, [r5]
- str r0, [r1, 0xC]
- str r4, [r1, 0x20]
- b _0801B50C
- .align 2, 0
-_0801B4B0: .4byte gUnknown_203B230
-_0801B4B4:
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073B8
- ldr r0, [r5]
- ldr r1, [r0, 0x8]
- lsls r1, 2
- adds r0, 0x10
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0801B514
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801B518
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0x8]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x10
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- ldr r3, [r3, 0x24]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073E0
-_0801B50C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B514: .4byte gUnknown_202DF98
-_0801B518: .4byte gUnknown_80DBA4C
- thumb_func_end sub_801B480
-
- thumb_func_start sub_801B51C
-sub_801B51C:
- push {r4,lr}
- ldr r0, _0801B558
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801B540
- ldr r0, [r2, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801B538
- bl sub_8013F84
-_0801B538:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801B540:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801B55C
- cmp r0, 0x2
- beq _0801B57E
- b _0801B58A
- .align 2, 0
-_0801B558: .4byte gUnknown_203B230
-_0801B55C:
- movs r0, 0
- bl sub_80119D4
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _0801B576
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x1
- bl sub_801B46C
- b _0801B58A
-_0801B576:
- movs r0, 0x3
- bl sub_801B46C
- b _0801B58A
-_0801B57E:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_801B46C
-_0801B58A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801B51C
-
- thumb_func_start sub_801B590
-sub_801B590:
- push {r4,lr}
- ldr r0, _0801B5D0
- ldr r3, [r0]
- ldr r1, [r3, 0xC]
- subs r1, 0x1
- ldr r2, [r3, 0x8]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801B5B8
- ldr r0, [r3, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801B5B0
- bl sub_8013F84
-_0801B5B0:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801B5B8:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801B5D4
- cmp r0, 0x2
- beq _0801B5F8
- b _0801B604
- .align 2, 0
-_0801B5D0: .4byte gUnknown_203B230
-_0801B5D4:
- movs r0, 0
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldr r0, [r0, 0xC]
- cmp r1, r0
- bge _0801B5F0
- movs r0, 0x1
- bl sub_801B46C
- b _0801B604
-_0801B5F0:
- movs r0, 0
- bl sub_801B46C
- b _0801B604
-_0801B5F8:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_801B46C
-_0801B604:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801B590
-
- thumb_func_start sub_801B60C
-sub_801B60C:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r6, _0801B650
- movs r0, 0xAA
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- adds r2, r0, 0
- adds r2, 0xC8
- movs r1, 0
- str r1, [r2]
- str r5, [r0]
- strb r4, [r0, 0x12]
- ldr r0, [r6]
- ldrb r0, [r0, 0x12]
- bl sub_8090A60
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0801B654
- ldr r0, [r6]
- strb r7, [r0, 0x11]
- ldr r0, [r6]
- strb r7, [r0, 0xC]
- b _0801B65E
- .align 2, 0
-_0801B650: .4byte gUnknown_203B234
-_0801B654:
- ldr r0, [r6]
- strb r1, [r0, 0x11]
- ldr r1, [r6]
- movs r0, 0x1
- strb r0, [r1, 0xC]
-_0801B65E:
- ldr r5, _0801B6A0
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0x1
- strb r2, [r0, 0x10]
- ldr r0, [r5]
- str r1, [r0, 0x14]
- strb r1, [r0, 0x18]
- ldr r0, [r5]
- strb r2, [r0, 0x1C]
- ldr r4, _0801B6A4
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, _0801B6A8
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x10
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0
- bl sub_801B748
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801B6A0: .4byte gUnknown_203B234
-_0801B6A4: .4byte gUnknown_202DF98
-_0801B6A8: .4byte gUnknown_202DE58
- thumb_func_end sub_801B60C
-
- thumb_func_start sub_801B6AC
-sub_801B6AC:
- push {lr}
- ldr r0, _0801B6C4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x6
- cmp r0, 0xA
- bhi _0801B720
- lsls r0, 2
- ldr r1, _0801B6C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B6C4: .4byte gUnknown_203B234
-_0801B6C8: .4byte _0801B6CC
- .align 2, 0
-_0801B6CC:
- .4byte _0801B6FC
- .4byte _0801B702
- .4byte _0801B708
- .4byte _0801B708
- .4byte _0801B70E
- .4byte _0801B714
- .4byte _0801B71A
- .4byte _0801B720
- .4byte _0801B720
- .4byte _0801B720
- .4byte _0801B6F8
-_0801B6F8:
- movs r0, 0x3
- b _0801B726
-_0801B6FC:
- bl sub_801BC64
- b _0801B724
-_0801B702:
- bl sub_801BC94
- b _0801B724
-_0801B708:
- bl sub_801BCCC
- b _0801B724
-_0801B70E:
- bl sub_801BD80
- b _0801B724
-_0801B714:
- bl sub_801BEAC
- b _0801B724
-_0801B71A:
- bl sub_801BE30
- b _0801B724
-_0801B720:
- bl sub_801BEC8
-_0801B724:
- movs r0, 0
-_0801B726:
- pop {r1}
- bx r1
- thumb_func_end sub_801B6AC
-
- thumb_func_start sub_801B72C
-sub_801B72C:
- push {r4,lr}
- ldr r4, _0801B744
- ldr r0, [r4]
- cmp r0, 0
- beq _0801B73E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801B73E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B744: .4byte gUnknown_203B234
- thumb_func_end sub_801B72C
-
- thumb_func_start sub_801B748
-sub_801B748:
- push {lr}
- ldr r1, _0801B75C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801B760
- bl sub_801B874
- pop {r0}
- bx r0
- .align 2, 0
-_0801B75C: .4byte gUnknown_203B234
- thumb_func_end sub_801B748
-
- thumb_func_start sub_801B760
-sub_801B760:
- push {r4-r7,lr}
- ldr r0, _0801B77C
- ldr r1, [r0]
- ldr r1, [r1, 0x4]
- subs r1, 0x1
- adds r4, r0, 0
- cmp r1, 0xE
- bls _0801B772
- b _0801B86A
-_0801B772:
- lsls r0, r1, 2
- ldr r1, _0801B780
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B77C: .4byte gUnknown_203B234
-_0801B780: .4byte _0801B784
- .align 2, 0
-_0801B784:
- .4byte _0801B7C0
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B86A
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B800
- .4byte _0801B7C0
- .4byte _0801B840
- .4byte _0801B7C0
- .4byte _0801B7C0
- .4byte _0801B7C0
-_0801B7C0:
- ldr r4, _0801B7F8
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- mov r12, r4
- ldr r4, _0801B7FC
- movs r3, 0
- movs r2, 0x3
-_0801B7D2:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xF4
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801B7D2
- bl sub_8004914
- ldr r0, _0801B7F8
- ldr r0, [r0]
- b _0801B82E
- .align 2, 0
-_0801B7F8: .4byte gUnknown_203B234
-_0801B7FC: .4byte gUnknown_80DBA58
-_0801B800:
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- bl sub_801BB5C
- ldr r2, [r4]
- movs r0, 0x92
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801B83C
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xCC
- bl sub_8012CAC
- bl sub_8004914
- ldr r0, [r4]
-_0801B82E:
- adds r0, 0xF4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801B86A
- .align 2, 0
-_0801B83C: .4byte gUnknown_80DBA70
-_0801B840:
- ldr r0, [r4]
- adds r0, 0xF4
- bl sub_8006518
- ldr r1, [r4]
- movs r6, 0x86
- lsls r6, 1
- adds r1, r6
- ldr r0, _0801B870
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xF4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801B86A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801B870: .4byte gUnknown_80DBA88
- thumb_func_end sub_801B760
-
- thumb_func_start sub_801B874
-sub_801B874:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _0801B890
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _0801B886
- b _0801BB0E
-_0801B886:
- lsls r0, 2
- ldr r1, _0801B894
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801B890: .4byte gUnknown_203B234
-_0801B894: .4byte _0801B898
- .align 2, 0
-_0801B898:
- .4byte _0801B8DC
- .4byte _0801B9BC
- .4byte _0801B9D8
- .4byte _0801B9E0
- .4byte _0801B9F0
- .4byte _0801B9F8
- .4byte _0801BA08
- .4byte _0801BA34
- .4byte _0801BA60
- .4byte _0801BA6E
- .4byte _0801BA76
- .4byte _0801BA94
- .4byte _0801BA9E
- .4byte _0801BAD0
- .4byte _0801BAE0
- .4byte _0801BAFC
- .4byte _0801BB0E
-_0801B8DC:
- ldr r1, [r4]
- ldrb r0, [r1, 0x12]
- cmp r0, 0xEA
- bne _0801B8FE
- movs r0, 0x10
- str r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x47
- movs r2, 0x1
- bl sub_8001784
- cmp r0, 0
- bne _0801B914
- movs r0, 0
- movs r1, 0x47
- movs r2, 0x1
- b _0801B92A
-_0801B8FE:
- cmp r0, 0xEB
- bne _0801B938
- movs r0, 0x10
- str r0, [r1, 0x8]
- movs r0, 0
- movs r1, 0x47
- movs r2, 0
- bl sub_8001784
- cmp r0, 0
- beq _0801B924
-_0801B914:
- movs r0, 0xFA
- lsls r0, 2
- bl sub_80913A0
- movs r0, 0x4
- bl sub_801B748
- b _0801BB0E
-_0801B924:
- movs r0, 0
- movs r1, 0x47
- movs r2, 0
-_0801B92A:
- movs r3, 0x1
- bl sub_800199C
- movs r0, 0x3
- bl sub_801B748
- b _0801BB0E
-_0801B938:
- bl sub_8090A34
- cmp r0, 0x13
- ble _0801B986
- ldr r0, [r4]
- ldrb r0, [r0, 0x12]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801B968
- ldr r0, _0801B970
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x12]
- lsls r0, 1
- adds r1, 0x50
- adds r3, r1, r0
- ldrh r1, [r3]
- ldrb r0, [r2, 0xC]
- adds r1, r0
- ldr r0, _0801B974
- cmp r1, r0
- ble _0801B978
-_0801B968:
- ldr r1, [r4]
- movs r0, 0x6
- b _0801B99C
- .align 2, 0
-_0801B970: .4byte gUnknown_203B460
-_0801B974: .4byte 0x000003e7
-_0801B978:
- strh r1, [r3]
- movs r0, 0xCB
- bl sub_8011988
- ldr r1, [r4]
- movs r0, 0x5
- b _0801B99C
-_0801B986:
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl sub_8011988
- ldr r1, [r4]
- movs r0, 0x10
-_0801B99C:
- str r0, [r1, 0x8]
- ldr r0, _0801B9B0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0801B9B4
- movs r0, 0x2
- bl sub_801B748
- b _0801BB0E
- .align 2, 0
-_0801B9B0: .4byte gUnknown_203B234
-_0801B9B4:
- movs r0, 0x1
- bl sub_801B748
- b _0801BB0E
-_0801B9BC:
- movs r0, 0
- bl sub_808D544
- cmp r0, 0x1
- bgt _0801B9D0
- ldr r0, _0801B9CC
- b _0801BAE8
- .align 2, 0
-_0801B9CC: .4byte gUnknown_80DBAA0
-_0801B9D0:
- ldr r0, _0801B9D4
- b _0801BAE8
- .align 2, 0
-_0801B9D4: .4byte gUnknown_80DBAD0
-_0801B9D8:
- ldr r0, _0801B9DC
- b _0801BAE8
- .align 2, 0
-_0801B9DC: .4byte gUnknown_80DBB08
-_0801B9E0:
- movs r0, 0xD4
- bl sub_8011988
- ldr r0, _0801B9EC
- b _0801BAE8
- .align 2, 0
-_0801B9EC: .4byte gUnknown_80DBB38
-_0801B9F0:
- ldr r0, _0801B9F4
- b _0801BAE8
- .align 2, 0
-_0801B9F4: .4byte gUnknown_80DBB9C
-_0801B9F8:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BA04
- b _0801BAE8
- .align 2, 0
-_0801BA04: .4byte gUnknown_80DBC28
-_0801BA08:
- bl sub_801BB20
- ldr r0, _0801BA2C
- ldr r1, _0801BA30
- ldr r3, [r1]
- adds r3, 0xCC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
- b _0801BB0E
- .align 2, 0
-_0801BA2C: .4byte gUnknown_80DBC60
-_0801BA30: .4byte gUnknown_203B234
-_0801BA34:
- bl sub_801BC24
- ldr r0, _0801BA58
- ldr r1, _0801BA5C
- ldr r3, [r1]
- adds r3, 0xCC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0801BB0E
- .align 2, 0
-_0801BA58: .4byte gUnknown_80DBC98
-_0801BA5C: .4byte gUnknown_203B234
-_0801BA60:
- movs r0, 0x1
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _0801BB0E
-_0801BA6E:
- movs r0, 0x1
- bl sub_801A8D0
- b _0801BB0E
-_0801BA76:
- bl sub_801A9E0
- ldr r0, _0801BA90
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- adds r1, r2, 0
- adds r1, 0xCC
- adds r2, 0xC8
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0x2
- b _0801BAC0
- .align 2, 0
-_0801BA90: .4byte gUnknown_203B234
-_0801BA94:
- ldr r0, [r4]
- adds r0, 0x20
- bl sub_801B3C0
- b _0801BB0E
-_0801BA9E:
- bl sub_801A9E0
- ldr r4, _0801BACC
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0
- bl sub_8012EA4
- bl sub_801BC24
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x78
- adds r1, 0xCC
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
-_0801BAC0:
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0801BB0E
- .align 2, 0
-_0801BACC: .4byte gUnknown_203B234
-_0801BAD0:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BADC
- b _0801BAE8
- .align 2, 0
-_0801BADC: .4byte gUnknown_80DBCC4
-_0801BAE0:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BAF4
-_0801BAE8:
- ldr r3, _0801BAF8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0801BB0E
- .align 2, 0
-_0801BAF4: .4byte gUnknown_80DBCE8
-_0801BAF8: .4byte 0x00000101
-_0801BAFC:
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0801BB18
- ldr r3, _0801BB1C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0801BB0E:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801BB18: .4byte gUnknown_80DBD24
-_0801BB1C: .4byte 0x00000101
- thumb_func_end sub_801B874
-
- thumb_func_start sub_801BB20
-sub_801BB20:
- ldr r0, _0801BB50
- ldr r3, [r0]
- movs r2, 0
- adds r1, r3, 0
- adds r1, 0xCC
- ldr r0, _0801BB54
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x4
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0801BB58
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xDC
- str r2, [r0]
- adds r1, 0x8
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- bx lr
- .align 2, 0
-_0801BB50: .4byte gUnknown_203B234
-_0801BB54: .4byte gUnknown_80DBD58
-_0801BB58: .4byte gUnknown_80DBD6C
- thumb_func_end sub_801BB20
-
- thumb_func_start sub_801BB5C
-sub_801BB5C:
- push {r4-r7,lr}
- ldr r4, _0801BBEC
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xCC
- ldr r0, _0801BBF0
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x6
- str r0, [r1]
- ldr r0, [r2, 0x24]
- bl sub_801ADA0
- lsls r0, 24
- cmp r0, 0
- bne _0801BB86
- ldr r0, [r4]
- adds r0, 0xD0
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0801BB86:
- ldr r0, [r4]
- mov r12, r0
- movs r3, 0x1
- movs r2, 0x8
- mov r1, r12
- adds r1, 0xD4
- ldr r0, _0801BBF4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x7
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0801BBF8
- ldr r0, [r0]
- str r0, [r1]
- mov r0, r12
- adds r0, 0xE0
- str r2, [r0]
- movs r5, 0x3
- adds r1, 0x8
- movs r0, 0
- str r0, [r1]
- mov r0, r12
- adds r0, 0xE8
- str r3, [r0]
- movs r3, 0
- adds r6, r4, 0
- movs r7, 0x1
- negs r7, r7
- mov r4, r12
- adds r4, 0xC8
- subs r1, 0x14
-_0801BBC6:
- ldr r2, [r1]
- cmp r2, r7
- beq _0801BBD2
- ldr r0, [r4]
- cmp r2, r0
- beq _0801BC1C
-_0801BBD2:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0801BBC6
- movs r3, 0
- cmp r3, r5
- bge _0801BC1C
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xD0
- ldr r1, [r0]
- b _0801BC0E
- .align 2, 0
-_0801BBEC: .4byte gUnknown_203B234
-_0801BBF0: .4byte gUnknown_80DBD80
-_0801BBF4: .4byte gUnknown_80DBD88
-_0801BBF8: .4byte gUnknown_80D4970
-_0801BBFC:
- adds r3, 0x1
- cmp r3, r5
- bge _0801BC1C
- ldr r2, [r6]
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xD0
- adds r1, r0
- ldr r1, [r1]
-_0801BC0E:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0801BBFC
- adds r0, r2, 0
- adds r0, 0xC8
- str r1, [r0]
-_0801BC1C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801BB5C
-
- thumb_func_start sub_801BC24
-sub_801BC24:
- ldr r0, _0801BC58
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- mov r1, r12
- adds r1, 0xCC
- ldr r0, _0801BC5C
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _0801BC60
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x3
- str r0, [r1]
- mov r0, r12
- adds r0, 0xDC
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- bx lr
- .align 2, 0
-_0801BC58: .4byte gUnknown_203B234
-_0801BC5C: .4byte gUnknown_80D4920
-_0801BC60: .4byte gUnknown_80D4928
- thumb_func_end sub_801BC24
-
- thumb_func_start sub_801BC64
-sub_801BC64:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BC8C
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801BC7E
- cmp r0, 0x5
- beq _0801BC86
- b _0801BC8C
-_0801BC7E:
- movs r0, 0x8
- bl sub_801B748
- b _0801BC8C
-_0801BC86:
- movs r0, 0x7
- bl sub_801B748
-_0801BC8C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801BC64
-
- thumb_func_start sub_801BC94
-sub_801BC94:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BCC6
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801BCB8
- cmp r0, 0x2
- bgt _0801BCB2
- cmp r0, 0x1
- beq _0801BCC0
- b _0801BCC6
-_0801BCB2:
- cmp r0, 0x3
- beq _0801BCC0
- b _0801BCC6
-_0801BCB8:
- movs r0, 0xD
- bl sub_801B748
- b _0801BCC6
-_0801BCC0:
- movs r0, 0x6
- bl sub_801B748
-_0801BCC6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_801BC94
-
- thumb_func_start sub_801BCCC
-sub_801BCCC:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _0801BD7A
- lsls r0, 2
- ldr r1, _0801BCE4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801BCE4: .4byte _0801BCE8
- .align 2, 0
-_0801BCE8:
- .4byte _0801BD7A
- .4byte _0801BD7A
- .4byte _0801BD70
- .4byte _0801BCFC
- .4byte _0801BD34
-_0801BCFC:
- bl sub_801A8AC
- ldr r1, _0801BD28
- ldr r2, [r1]
- str r0, [r2, 0x24]
- ldr r1, _0801BD2C
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
- ldr r0, _0801BD30
- adds r1, r2, 0
- adds r1, 0x20
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0xA
- bl sub_801B748
- b _0801BD7A
- .align 2, 0
-_0801BD28: .4byte gUnknown_203B234
-_0801BD2C: .4byte gUnknown_203B460
-_0801BD30: .4byte gUnknown_202DEA8
-_0801BD34:
- bl sub_801A8AC
- ldr r1, _0801BD64
- ldr r2, [r1]
- str r0, [r2, 0x24]
- ldr r1, _0801BD68
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x20]
- ldr r0, _0801BD6C
- adds r1, r2, 0
- adds r1, 0x20
- adds r2, 0x14
- bl sub_8090E14
- movs r0, 0
- bl sub_8099690
- movs r0, 0xB
- bl sub_801B748
- b _0801BD7A
- .align 2, 0
-_0801BD64: .4byte gUnknown_203B234
-_0801BD68: .4byte gUnknown_203B460
-_0801BD6C: .4byte gUnknown_202DEA8
-_0801BD70:
- bl sub_801A928
- movs r0, 0x6
- bl sub_801B748
-_0801BD7A:
- pop {r0}
- bx r0
- thumb_func_end sub_801BCCC
-
- thumb_func_start sub_801BD80
-sub_801BD80:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0801BDC4
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801BDB2
- ldr r0, [r4]
- adds r0, 0x28
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801BDB2
- ldr r0, [r4]
- adds r0, 0xC8
- str r1, [r0]
-_0801BDB2:
- ldr r0, [sp]
- cmp r0, 0x6
- beq _0801BDD2
- cmp r0, 0x6
- bgt _0801BDC8
- cmp r0, 0x1
- beq _0801BE22
- b _0801BE28
- .align 2, 0
-_0801BDC4: .4byte gUnknown_203B234
-_0801BDC8:
- cmp r0, 0x7
- beq _0801BE0C
- cmp r0, 0x8
- beq _0801BE14
- b _0801BE28
-_0801BDD2:
- ldr r4, _0801BE08
- ldr r0, [r4]
- adds r0, 0x20
- bl sub_80917B8
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl sub_8011988
- movs r0, 0
- bl sub_8099690
- bl sub_801A928
- movs r0, 0xE
- bl sub_801B748
- b _0801BE28
- .align 2, 0
-_0801BE08: .4byte gUnknown_203B234
-_0801BE0C:
- movs r0, 0xC
- bl sub_801B748
- b _0801BE28
-_0801BE14:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xB
- bl sub_801B748
- b _0801BE28
-_0801BE22:
- movs r0, 0x9
- bl sub_801B748
-_0801BE28:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BD80
-
- thumb_func_start sub_801BE30
-sub_801BE30:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0801BE70
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801BE5E
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
-_0801BE5E:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801BE80
- cmp r0, 0x2
- bgt _0801BE74
- cmp r0, 0x1
- beq _0801BE78
- b _0801BEA4
- .align 2, 0
-_0801BE70: .4byte gUnknown_203B234
-_0801BE74:
- cmp r0, 0x3
- bne _0801BEA4
-_0801BE78:
- movs r0, 0x9
- bl sub_801B748
- b _0801BEA4
-_0801BE80:
- ldr r0, [r4]
- ldr r0, [r0, 0x24]
- bl sub_80911F8
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8091290
- bl sub_80910B4
- movs r0, 0xCB
- bl sub_8011988
- bl sub_801A928
- movs r0, 0xF
- bl sub_801B748
-_0801BEA4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801BE30
-
- thumb_func_start sub_801BEAC
-sub_801BEAC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _0801BEC4
- cmp r0, 0x3
- bhi _0801BEC4
- bl sub_801B450
- movs r0, 0x9
- bl sub_801B748
-_0801BEC4:
- pop {r0}
- bx r0
- thumb_func_end sub_801BEAC
-
- thumb_func_start sub_801BEC8
-sub_801BEC8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801BEE0
- ldr r0, _0801BEE8
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801B748
-_0801BEE0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0801BEE8: .4byte gUnknown_203B234
- thumb_func_end sub_801BEC8
-
- thumb_func_start sub_801BEEC
-sub_801BEEC:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- bl sub_801C5F0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _0801BF40
- ldr r4, _0801BF38
- movs r0, 0x92
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- str r6, [r0, 0x30]
- strh r5, [r0, 0x4]
- ldr r3, _0801BF3C
- movs r1, 0x58
- adds r2, r5, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0, 0x8]
- adds r0, 0xC
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r1, [r4]
- str r0, [r1, 0x2C]
- movs r0, 0
- bl sub_801BFB4
- movs r0, 0x1
- b _0801BF42
- .align 2, 0
-_0801BF38: .4byte gUnknown_203B238
-_0801BF3C: .4byte gUnknown_203B45C
-_0801BF40:
- movs r0, 0
-_0801BF42:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801BEEC
-
- thumb_func_start sub_801BF48
-sub_801BF48:
- push {lr}
- ldr r0, _0801BF60
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0801BF90
- lsls r0, 2
- ldr r1, _0801BF64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801BF60: .4byte gUnknown_203B238
-_0801BF64: .4byte _0801BF68
- .align 2, 0
-_0801BF68:
- .4byte _0801BF80
- .4byte _0801BF80
- .4byte _0801BF86
- .4byte _0801BF8C
- .4byte _0801BF7C
-_0801BF7C:
- movs r0, 0x3
- b _0801BF92
-_0801BF80:
- bl sub_801C118
- b _0801BF90
-_0801BF86:
- bl sub_801C1A0
- b _0801BF90
-_0801BF8C:
- bl sub_801C228
-_0801BF90:
- movs r0, 0
-_0801BF92:
- pop {r1}
- bx r1
- thumb_func_end sub_801BF48
-
- thumb_func_start sub_801BF98
-sub_801BF98:
- push {r4,lr}
- ldr r4, _0801BFB0
- ldr r0, [r4]
- cmp r0, 0
- beq _0801BFAA
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801BFAA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801BFB0: .4byte gUnknown_203B238
- thumb_func_end sub_801BF98
-
- thumb_func_start sub_801BFB4
-sub_801BFB4:
- push {lr}
- ldr r1, _0801BFC8
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801BFCC
- bl sub_801C03C
- pop {r0}
- bx r0
- .align 2, 0
-_0801BFC8: .4byte gUnknown_203B238
- thumb_func_end sub_801BFB4
-
- thumb_func_start sub_801BFCC
-sub_801BFCC:
- push {r4-r7,lr}
- ldr r4, _0801BFF0
- ldr r0, [r4]
- adds r0, 0xC4
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2
- bne _0801BFF8
- adds r1, 0xF4
- ldr r0, _0801BFF4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0801C01A
- .align 2, 0
-_0801BFF0: .4byte gUnknown_203B238
-_0801BFF4: .4byte gUnknown_80DBDB0
-_0801BFF8:
- mov r12, r4
- ldr r4, _0801C034
- movs r3, 0
- movs r2, 0x3
-_0801C000:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xC4
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801C000
-_0801C01A:
- bl sub_8004914
- ldr r0, _0801C038
- ldr r0, [r0]
- adds r0, 0xC4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C034: .4byte gUnknown_80DBD98
-_0801C038: .4byte gUnknown_203B238
- thumb_func_end sub_801BFCC
-
- thumb_func_start sub_801C03C
-sub_801C03C:
- push {lr}
- sub sp, 0x8
- ldr r1, _0801C058
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0801C0C2
- lsls r0, 2
- ldr r1, _0801C05C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801C058: .4byte gUnknown_203B238
-_0801C05C: .4byte _0801C060
- .align 2, 0
-_0801C060:
- .4byte _0801C074
- .4byte _0801C084
- .4byte _0801C08C
- .4byte _0801C0B8
- .4byte _0801C0C2
-_0801C074:
- ldr r0, [r2]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0
- movs r2, 0x8
- bl sub_801C244
- b _0801C0C2
-_0801C084:
- movs r0, 0x1
- bl sub_801C3B0
- b _0801C0C2
-_0801C08C:
- bl sub_801C4C8
- bl sub_801C0C8
- ldr r0, _0801C0B4
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x74
- adds r1, r2, 0
- adds r1, 0x34
- ldr r2, [r2, 0x30]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0801C0C2
- .align 2, 0
-_0801C0B4: .4byte gUnknown_203B238
-_0801C0B8:
- ldr r0, [r2]
- adds r0, 0x28
- ldrb r0, [r0]
- bl sub_801C620
-_0801C0C2:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_801C03C
-
- thumb_func_start sub_801C0C8
-sub_801C0C8:
- push {r4,r5,lr}
- ldr r3, _0801C10C
- ldr r1, [r3]
- movs r4, 0
- ldr r0, _0801C110
- str r0, [r1, 0x34]
- movs r0, 0x2
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _0801C114
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x3
- str r0, [r1, 0x40]
- movs r5, 0x2
- str r4, [r1, 0x44]
- str r2, [r1, 0x48]
- movs r2, 0
- ldr r4, [r1, 0x30]
- adds r1, 0x38
-_0801C0F0:
- ldr r0, [r1]
- cmp r0, r4
- beq _0801C104
- adds r1, 0x8
- adds r2, 0x1
- cmp r2, r5
- blt _0801C0F0
- ldr r1, [r3]
- movs r0, 0x2
- str r0, [r1, 0x30]
-_0801C104:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C10C: .4byte gUnknown_203B238
-_0801C110: .4byte gUnknown_80DBDC8
-_0801C114: .4byte gUnknown_80D4970
- thumb_func_end sub_801C0C8
-
- thumb_func_start sub_801C118
-sub_801C118:
- push {lr}
- movs r0, 0x1
- bl sub_801C308
- cmp r0, 0x4
- bhi _0801C19A
- lsls r0, 2
- ldr r1, _0801C130
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801C130: .4byte _0801C134
- .align 2, 0
-_0801C134:
- .4byte _0801C19A
- .4byte _0801C19A
- .4byte _0801C190
- .4byte _0801C148
- .4byte _0801C16C
-_0801C148:
- bl sub_801C390
- ldr r1, _0801C168
- ldr r2, [r1]
- str r0, [r2, 0x24]
- adds r1, r2, 0
- adds r1, 0xC
- adds r1, r0
- ldrb r0, [r1]
- adds r2, 0x28
- strb r0, [r2]
- movs r0, 0x2
- bl sub_801BFB4
- b _0801C19A
- .align 2, 0
-_0801C168: .4byte gUnknown_203B238
-_0801C16C:
- bl sub_801C390
- ldr r1, _0801C18C
- ldr r2, [r1]
- str r0, [r2, 0x24]
- adds r1, r2, 0
- adds r1, 0xC
- adds r1, r0
- ldrb r0, [r1]
- adds r2, 0x28
- strb r0, [r2]
- movs r0, 0x3
- bl sub_801BFB4
- b _0801C19A
- .align 2, 0
-_0801C18C: .4byte gUnknown_203B238
-_0801C190:
- bl sub_801C3F8
- movs r0, 0x4
- bl sub_801BFB4
-_0801C19A:
- pop {r0}
- bx r0
- thumb_func_end sub_801C118
-
- thumb_func_start sub_801C1A0
-sub_801C1A0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801C308
- ldr r4, _0801C1E0
- ldr r0, [r4]
- adds r0, 0x74
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801C1D0
- ldr r0, [r4]
- adds r0, 0x74
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801C1D0
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0801C1D0:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801C1EA
- cmp r0, 0x2
- bgt _0801C1E4
- cmp r0, 0x1
- beq _0801C218
- b _0801C21E
- .align 2, 0
-_0801C1E0: .4byte gUnknown_203B238
-_0801C1E4:
- cmp r0, 0x3
- beq _0801C210
- b _0801C21E
-_0801C1EA:
- ldr r0, _0801C208
- bl sub_8011988
- ldr r0, _0801C20C
- ldr r1, [r0]
- ldr r0, [r1, 0x8]
- adds r0, 0x20
- adds r1, 0x28
- ldrb r1, [r1]
- bl sub_808EBF4
- movs r0, 0x1
- bl sub_801BFB4
- b _0801C21E
- .align 2, 0
-_0801C208: .4byte 0x00000133
-_0801C20C: .4byte gUnknown_203B238
-_0801C210:
- movs r0, 0x3
- bl sub_801BFB4
- b _0801C21E
-_0801C218:
- movs r0, 0x1
- bl sub_801BFB4
-_0801C21E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801C1A0
-
- thumb_func_start sub_801C228
-sub_801C228:
- push {lr}
- bl sub_801C674
- cmp r0, 0x1
- bls _0801C240
- cmp r0, 0x3
- bhi _0801C240
- bl sub_801C6B4
- movs r0, 0x1
- bl sub_801BFB4
-_0801C240:
- pop {r0}
- bx r0
- thumb_func_end sub_801C228
-
- thumb_func_start sub_801C244
-sub_801C244:
- push {r4-r7,lr}
- adds r6, r1, 0
- adds r7, r2, 0
- lsls r0, 16
- asrs r0, 16
- adds r4, r0, 0
- bl sub_801C5F0
- lsls r0, 24
- cmp r0, 0
- beq _0801C25E
- movs r0, 0
- b _0801C2F6
-_0801C25E:
- ldr r5, _0801C2FC
- ldr r0, [r5]
- cmp r0, 0
- bne _0801C270
- movs r0, 0xC4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0801C270:
- ldr r0, [r5]
- strh r4, [r0]
- ldr r3, _0801C300
- movs r1, 0x58
- adds r2, r4, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0, 0x4]
- adds r0, 0x8
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- adds r1, r0, 0
- ldr r0, [r5]
- str r1, [r0, 0x20]
- str r6, [r0, 0x58]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x60
- adds r1, r0, r1
- str r1, [r0, 0x5C]
- adds r0, 0x60
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x58]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x60
- ldr r0, _0801C304
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r1, [r5]
- ldr r0, [r1, 0x5C]
- adds r1, 0xC0
- str r1, [r0, 0x14]
- adds r1, r7, 0
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x20]
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_8013818
- bl sub_801C440
- bl sub_801C4C8
- movs r0, 0x1
-_0801C2F6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801C2FC: .4byte gUnknown_203B23C
-_0801C300: .4byte gUnknown_203B45C
-_0801C304: .4byte gUnknown_80DBDF0
- thumb_func_end sub_801C244
-
- thumb_func_start sub_801C308
-sub_801C308:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801C324
- ldr r0, _0801C320
- ldr r0, [r0]
- adds r0, 0x24
- bl sub_8013660
- movs r0, 0
- b _0801C38A
- .align 2, 0
-_0801C320: .4byte gUnknown_203B23C
-_0801C324:
- ldr r0, _0801C33C
- ldr r0, [r0]
- adds r0, 0x24
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801C346
- cmp r0, 0x2
- bgt _0801C340
- cmp r0, 0x1
- beq _0801C350
- b _0801C364
- .align 2, 0
-_0801C33C: .4byte gUnknown_203B23C
-_0801C340:
- cmp r0, 0x4
- beq _0801C35A
- b _0801C364
-_0801C346:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801C38A
-_0801C350:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801C38A
-_0801C35A:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801C38A
-_0801C364:
- ldr r0, _0801C37C
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801C380
- movs r0, 0
- b _0801C38A
- .align 2, 0
-_0801C37C: .4byte gUnknown_203B23C
-_0801C380:
- bl sub_801C440
- bl sub_801C4C8
- movs r0, 0x1
-_0801C38A:
- pop {r1}
- bx r1
- thumb_func_end sub_801C308
-
- thumb_func_start sub_801C390
-sub_801C390:
- ldr r0, _0801C3AC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- movs r3, 0x3C
- ldrsh r1, [r2, r3]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801C3AC: .4byte gUnknown_203B23C
- thumb_func_end sub_801C390
-
- thumb_func_start sub_801C3B0
-sub_801C3B0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801C3F4
- ldr r0, [r5]
- adds r0, 0x60
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- ldr r1, [r0, 0x20]
- adds r2, r0, 0
- adds r2, 0x46
- strh r1, [r2]
- adds r0, 0x24
- bl sub_8013984
- bl sub_801C440
- bl sub_801C4C8
- cmp r4, 0
- beq _0801C3EE
- ldr r0, [r5]
- adds r0, 0x24
- bl AddMenuCursorSprite
-_0801C3EE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C3F4: .4byte gUnknown_203B23C
- thumb_func_end sub_801C3B0
-
- thumb_func_start sub_801C3F8
-sub_801C3F8:
- push {r4,r5,lr}
- ldr r4, _0801C438
- ldr r2, [r4]
- cmp r2, 0
- beq _0801C432
- ldr r0, [r2, 0x58]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x60
- ldr r0, _0801C43C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801C432:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C438: .4byte gUnknown_203B23C
-_0801C43C: .4byte gUnknown_80DBDD8
- thumb_func_end sub_801C3F8
-
- thumb_func_start sub_801C440
-sub_801C440:
- push {r4,lr}
- ldr r4, _0801C4C4
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x44
- ldrh r1, [r1]
- adds r0, 0xC0
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x42
- ldrh r1, [r1]
- adds r0, 0xC1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC2
- movs r1, 0xA
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC3
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r2, [r4]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x6E
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r2, r1
- adds r2, 0x70
- strh r0, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C4C4: .4byte gUnknown_203B23C
- thumb_func_end sub_801C440
-
- thumb_func_start sub_801C4C8
-sub_801C4C8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r6, _0801C594
- ldr r0, [r6]
- ldr r0, [r0, 0x58]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x58]
- bl sub_80073B8
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x42
- movs r2, 0
- ldrsh r4, [r1, r2]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _0801C598
- ldr r3, [r0, 0x58]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xC2
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- adds r0, r1, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x58]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r5, 0
- ldr r0, [r6]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _0801C5CC
- ldr r2, _0801C59C
- mov r8, r2
-_0801C53C:
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r1, r0
- adds r1, r5
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1
- ldrb r4, [r0]
- adds r0, r2, 0
- adds r0, 0x24
- adds r1, r5, 0
- bl sub_8013800
- adds r7, r0, 0
- adds r0, r4, 0
- bl sub_808EAB0
- adds r1, r0, 0
- mov r0, r8
- movs r2, 0x50
- bl strncpy
- ldr r0, [r6]
- ldr r0, [r0, 0x4]
- adds r0, 0x20
- movs r1, 0x1
- lsls r1, r4
- bl sub_808ECD0
- lsls r0, 24
- cmp r0, 0
- beq _0801C5A4
- mov r0, r8
- subs r0, 0x50
- ldr r1, _0801C5A0
- bl strcpy
- b _0801C5AE
- .align 2, 0
-_0801C594: .4byte gUnknown_203B23C
-_0801C598: .4byte gUnknown_80DBE08
-_0801C59C: .4byte gUnknown_202DEA8
-_0801C5A0: .4byte gUnknown_80DBE14
-_0801C5A4:
- mov r0, r8
- subs r0, 0x50
- ldr r1, _0801C5E4
- bl strcpy
-_0801C5AE:
- ldr r0, [r6]
- ldr r3, [r0, 0x58]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- adds r1, r7, 0
- ldr r2, _0801C5E8
- bl sub_8014FF0
- adds r5, 0x1
- ldr r0, [r6]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0801C53C
-_0801C5CC:
- ldr r0, _0801C5EC
- ldr r0, [r0]
- ldr r0, [r0, 0x58]
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C5E4: .4byte gUnknown_80DBE18
-_0801C5E8: .4byte gUnknown_80DBE1C
-_0801C5EC: .4byte gUnknown_203B23C
- thumb_func_end sub_801C4C8
-
- thumb_func_start sub_801C5F0
-sub_801C5F0:
- push {lr}
- sub sp, 0x18
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0801C614
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r0, r2]
- mov r0, sp
- bl sub_808EBA8
- cmp r0, 0
- beq _0801C618
- movs r0, 0
- b _0801C61A
- .align 2, 0
-_0801C614: .4byte gUnknown_203B45C
-_0801C618:
- movs r0, 0x1
-_0801C61A:
- add sp, 0x18
- pop {r1}
- bx r1
- thumb_func_end sub_801C5F0
-
- thumb_func_start sub_801C620
-sub_801C620:
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl sub_8004D8C
- ldr r5, _0801C670
- movs r0, 0x94
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- adds r0, 0x88
- bl sub_801317C
- ldr r0, [r5]
- str r6, [r0, 0x24]
- adds r0, 0x28
- bl sub_80140B4
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x28
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl sub_801C6D0
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801C670: .4byte gUnknown_203B240
- thumb_func_end sub_801C620
-
- thumb_func_start sub_801C674
-sub_801C674:
- push {lr}
- ldr r0, _0801C68C
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801C6A0
- cmp r0, 0x1
- bgt _0801C690
- cmp r0, 0
- beq _0801C69A
- b _0801C6AA
- .align 2, 0
-_0801C68C: .4byte gUnknown_203B240
-_0801C690:
- cmp r0, 0x2
- beq _0801C6AA
- cmp r0, 0x3
- beq _0801C6A6
- b _0801C6AA
-_0801C69A:
- bl sub_801C7D4
- b _0801C6AE
-_0801C6A0:
- bl sub_801C848
- b _0801C6AE
-_0801C6A6:
- movs r0, 0x3
- b _0801C6B0
-_0801C6AA:
- movs r0, 0x2
- b _0801C6B0
-_0801C6AE:
- movs r0, 0
-_0801C6B0:
- pop {r1}
- bx r1
- thumb_func_end sub_801C674
-
- thumb_func_start sub_801C6B4
-sub_801C6B4:
- push {r4,lr}
- ldr r4, _0801C6CC
- ldr r0, [r4]
- cmp r0, 0
- beq _0801C6C6
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801C6C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C6CC: .4byte gUnknown_203B240
- thumb_func_end sub_801C6B4
-
- thumb_func_start sub_801C6D0
-sub_801C6D0:
- push {lr}
- ldr r1, _0801C6E0
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801C6E4
- pop {r0}
- bx r0
- .align 2, 0
-_0801C6E0: .4byte gUnknown_203B240
- thumb_func_end sub_801C6D0
-
- thumb_func_start sub_801C6E4
-sub_801C6E4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801C760
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801C76C
- cmp r4, 0x1
- bgt _0801C7C4
- cmp r4, 0
- bne _0801C7C4
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073B8
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r0, _0801C764
- bl strcpy
- ldr r2, _0801C768
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_808EADC
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x10
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073E0
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_808EADC
- ldr r1, [r5]
- adds r1, 0x10
- bl sub_8097DF0
- ldr r1, [r5]
- str r0, [r1, 0xC]
- str r4, [r1, 0x20]
- b _0801C7C4
- .align 2, 0
-_0801C760: .4byte gUnknown_203B240
-_0801C764: .4byte gUnknown_202DE58
-_0801C768: .4byte gUnknown_80DBE2C
-_0801C76C:
- ldr r0, [r0, 0x24]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073B8
- ldr r0, [r5]
- ldr r1, [r0, 0x8]
- lsls r1, 2
- adds r0, 0x10
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0801C7CC
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801C7D0
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0x8]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x10
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- ldr r3, [r3, 0x24]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073E0
-_0801C7C4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801C7CC: .4byte gUnknown_202DF98
-_0801C7D0: .4byte gUnknown_80DBE30
- thumb_func_end sub_801C6E4
-
- thumb_func_start sub_801C7D4
-sub_801C7D4:
- push {r4,lr}
- ldr r0, _0801C810
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801C7F8
- ldr r0, [r2, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801C7F0
- bl sub_8013F84
-_0801C7F0:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801C7F8:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801C814
- cmp r0, 0x2
- beq _0801C836
- b _0801C842
- .align 2, 0
-_0801C810: .4byte gUnknown_203B240
-_0801C814:
- movs r0, 0
- bl sub_80119D4
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _0801C82E
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x1
- bl sub_801C6D0
- b _0801C842
-_0801C82E:
- movs r0, 0x3
- bl sub_801C6D0
- b _0801C842
-_0801C836:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_801C6D0
-_0801C842:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801C7D4
-
- thumb_func_start sub_801C848
-sub_801C848:
- push {r4,lr}
- ldr r0, _0801C888
- ldr r3, [r0]
- ldr r1, [r3, 0xC]
- subs r1, 0x1
- ldr r2, [r3, 0x8]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801C870
- ldr r0, [r3, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801C868
- bl sub_8013F84
-_0801C868:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0801C870:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801C88C
- cmp r0, 0x2
- beq _0801C8B0
- b _0801C8BC
- .align 2, 0
-_0801C888: .4byte gUnknown_203B240
-_0801C88C:
- movs r0, 0
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- adds r1, 0x1
- str r1, [r0, 0x8]
- ldr r0, [r0, 0xC]
- cmp r1, r0
- bge _0801C8A8
- movs r0, 0x1
- bl sub_801C6D0
- b _0801C8BC
-_0801C8A8:
- movs r0, 0
- bl sub_801C6D0
- b _0801C8BC
-_0801C8B0:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_801C6D0
-_0801C8BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801C848
-
- thumb_func_start sub_801C8C4
-sub_801C8C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r9, r2
- mov r10, r3
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _0801C8E4
- movs r0, 0
- b _0801C9D0
-_0801C8E4:
- ldr r5, _0801C9E0
- ldr r0, [r5]
- cmp r0, 0
- bne _0801C8F6
- ldr r0, _0801C9E4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0801C8F6:
- ldr r0, [r5]
- str r4, [r0]
- bl sub_801CF94
- ldr r0, [r5]
- movs r4, 0x9D
- lsls r4, 3
- adds r1, r0, r4
- str r6, [r1]
- ldr r1, _0801C9E8
- mov r8, r1
- adds r2, r0, r1
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- movs r7, 0x9E
- lsls r7, 3
- adds r1, r7
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r7
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r7
- ldr r0, _0801C9EC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r5]
- mov r1, r8
- adds r0, r2, r1
- ldr r1, [r0]
- movs r3, 0xAA
- lsls r3, 3
- adds r0, r2, r3
- str r0, [r1, 0x14]
- mov r4, r9
- cmp r4, 0
- beq _0801C96C
- movs r1, 0x9D
- lsls r1, 3
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- subs r3, 0x58
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_0801C96C:
- ldr r0, [r5]
- add r0, r8
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- ldr r0, _0801C9F0
- adds r4, r0
- bl sub_801CE58
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, _0801C9F4
- ldr r4, [r5]
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- bne _0801C9C6
- ldr r0, _0801C9F8
- ldrh r1, [r0]
- ldr r2, _0801C9FC
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _0801CA00
- ldrh r1, [r0]
- ldr r3, _0801CA04
- adds r0, r4, r3
- strh r1, [r0]
- ldr r1, _0801C9F0
- adds r0, r4, r1
- bl sub_8013984
-_0801C9C6:
- bl sub_801CC38
- bl sub_801CCD8
- movs r0, 0x1
-_0801C9D0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801C9E0: .4byte gUnknown_203B244
-_0801C9E4: .4byte 0x00000554
-_0801C9E8: .4byte 0x000004ec
-_0801C9EC: .4byte gUnknown_80DBE54
-_0801C9F0: .4byte 0x000004b4
-_0801C9F4: .4byte gUnknown_203B248
-_0801C9F8: .4byte gUnknown_203B24C
-_0801C9FC: .4byte 0x000004cc
-_0801CA00: .4byte gUnknown_203B24E
-_0801CA04: .4byte 0x000004d2
- thumb_func_end sub_801C8C4
-
- thumb_func_start sub_801CA08
-sub_801CA08:
- push {r4-r6,lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801CA28
- ldr r0, _0801CA20
- ldr r0, [r0]
- ldr r1, _0801CA24
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _0801CB1E
- .align 2, 0
-_0801CA20: .4byte gUnknown_203B244
-_0801CA24: .4byte 0x000004b4
-_0801CA28:
- ldr r0, _0801CA44
- ldr r0, [r0]
- ldr r1, _0801CA48
- adds r0, r1
- bl GetKeyPress
- subs r0, 0x1
- cmp r0, 0x5
- bhi _0801CAF2
- lsls r0, 2
- ldr r1, _0801CA4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801CA44: .4byte gUnknown_203B244
-_0801CA48: .4byte 0x000004b4
-_0801CA4C: .4byte _0801CA50
- .align 2, 0
-_0801CA50:
- .4byte _0801CA72
- .4byte _0801CA68
- .4byte _0801CAF2
- .4byte _0801CAE8
- .4byte _0801CA7C
- .4byte _0801CA7C
-_0801CA68:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801CB1E
-_0801CA72:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801CB1E
-_0801CA7C:
- ldr r0, _0801CAD8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0801CAF2
- bl sub_801CB24
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_801CFE0
- movs r6, 0
- cmp r0, 0
- bne _0801CAB0
- bl sub_8090A34
- adds r4, r0, 0
- bl sub_801CFB8
- adds r4, r0
- cmp r4, 0x13
- bgt _0801CAAC
- movs r6, 0x1
-_0801CAAC:
- cmp r6, 0
- beq _0801CAE0
-_0801CAB0:
- movs r0, 0x6
- bl sub_80119D4
- ldr r0, _0801CAD8
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r2, r0, 0
- adds r2, 0xF4
- adds r2, r1
- ldr r1, [r2]
- movs r3, 0x1
- eors r1, r3
- str r1, [r2]
- ldr r1, _0801CADC
- adds r0, r1
- movs r1, 0
- bl sub_80138B8
- b _0801CB18
- .align 2, 0
-_0801CAD8: .4byte gUnknown_203B244
-_0801CADC: .4byte 0x000004b4
-_0801CAE0:
- movs r0, 0x2
- bl sub_80119D4
- b _0801CAF2
-_0801CAE8:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801CB1E
-_0801CAF2:
- ldr r0, _0801CB0C
- ldr r0, [r0]
- ldr r1, _0801CB10
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801CB14
- movs r0, 0
- b _0801CB1E
- .align 2, 0
-_0801CB0C: .4byte gUnknown_203B244
-_0801CB10: .4byte 0x000004b4
-_0801CB14:
- bl sub_801CC38
-_0801CB18:
- bl sub_801CCD8
- movs r0, 0x1
-_0801CB1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_801CA08
-
- thumb_func_start sub_801CB24
-sub_801CB24:
- ldr r0, _0801CB50
- ldr r0, [r0]
- ldr r2, _0801CB54
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0x9A
- lsls r3, 3
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r2, r1
- ldr r3, _0801CB58
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r2, r1
- adds r0, 0x4
- adds r0, r2
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0801CB50: .4byte gUnknown_203B244
-_0801CB54: .4byte 0x000004d2
-_0801CB58: .4byte 0x000004cc
- thumb_func_end sub_801CB24
-
- thumb_func_start sub_801CB5C
-sub_801CB5C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801CBAC
- ldr r0, [r5]
- movs r1, 0x9E
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_801CE58
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, _0801CBB0
- adds r1, r0, r3
- strh r2, [r1]
- ldr r1, _0801CBB4
- adds r0, r1
- bl sub_8013984
- bl sub_801CC38
- bl sub_801CCD8
- cmp r4, 0
- beq _0801CBA6
- ldr r0, [r5]
- ldr r3, _0801CBB4
- adds r0, r3
- bl AddMenuCursorSprite
-_0801CBA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CBAC: .4byte gUnknown_203B244
-_0801CBB0: .4byte 0x000004d6
-_0801CBB4: .4byte 0x000004b4
- thumb_func_end sub_801CB5C
-
- thumb_func_start sub_801CBB8
-sub_801CBB8:
- push {r4-r6,lr}
- ldr r5, _0801CC1C
- ldr r2, [r5]
- cmp r2, 0
- beq _0801CC16
- ldr r1, _0801CC20
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _0801CC24
- ldr r3, _0801CC28
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _0801CC2C
- ldr r6, _0801CC30
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0x9D
- lsls r1, 3
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0x9E
- lsls r4, 3
- adds r1, r4
- ldr r0, _0801CC34
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_0801CC16:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CC1C: .4byte gUnknown_203B244
-_0801CC20: .4byte gUnknown_203B248
-_0801CC24: .4byte gUnknown_203B24C
-_0801CC28: .4byte 0x000004cc
-_0801CC2C: .4byte gUnknown_203B24E
-_0801CC30: .4byte 0x000004d2
-_0801CC34: .4byte gUnknown_80DBE3C
- thumb_func_end sub_801CBB8
-
- thumb_func_start sub_801CC38
-sub_801CC38:
- push {r4,r5,lr}
- ldr r4, _0801CCC4
- ldr r0, [r4]
- movs r1, 0xAA
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _0801CCC8
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _0801CCCC
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- ldr r2, _0801CCD0
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r3, [r4]
- movs r2, 0x9D
- lsls r2, 3
- adds r5, r3, r2
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _0801CCD4
- adds r1, r2
- asrs r2, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0
- adds r2, 0x2
- movs r0, 0xA0
- lsls r0, 3
- adds r3, r0
- strh r2, [r3]
- bl sub_8004914
- ldr r0, [r4]
- movs r1, 0x9E
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CCC4: .4byte gUnknown_203B244
-_0801CCC8: .4byte 0x00000551
-_0801CCCC: .4byte 0x00000553
-_0801CCD0: .4byte 0x000004ce
-_0801CCD4: .4byte 0x000004fe
- thumb_func_end sub_801CC38
-
- thumb_func_start sub_801CCD8
-sub_801CCD8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r4, _0801CE38
- ldr r0, [r4]
- movs r5, 0x9D
- lsls r5, 3
- adds r0, r5
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, r5
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _0801CE3C
- ldr r0, [r4]
- adds r0, r5
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- ldr r1, _0801CE40
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- ldr r2, _0801CE44
- adds r1, r3, r2
- movs r6, 0
- ldrsh r2, [r1, r6]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- adds r3, r5
- ldr r1, [r3]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r7, 0
- ldr r0, [r4]
- ldr r1, _0801CE48
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bge _0801CE1A
- adds r6, r4, 0
- ldr r3, _0801CE4C
- mov r9, r3
- mov r8, r5
-_0801CD50:
- ldr r1, [r6]
- ldr r4, _0801CE44
- adds r0, r1, r4
- movs r3, 0
- ldrsh r2, [r0, r3]
- subs r4, 0x2
- adds r0, r1, r4
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- adds r0, r7
- adds r1, 0x4
- adds r1, r0
- ldrb r5, [r1]
- add r0, sp, 0x8
- adds r1, r5, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r0, [r6]
- add r0, r9
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r6]
- add r0, r8
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- ldr r0, [r6]
- add r0, r9
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r4, [r6]
- ldr r2, _0801CE50
- adds r0, r4, r2
- ldr r0, [r0]
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- lsls r0, 3
- subs r0, 0x2
- ldr r2, _0801CE54
- ldr r2, [r2]
- lsls r3, r5, 1
- adds r2, 0x50
- adds r2, r3
- ldrh r2, [r2]
- movs r3, 0x5
- str r3, [sp]
- add r4, r8
- ldr r3, [r4]
- str r3, [sp, 0x4]
- movs r3, 0x3
- bl sub_8012BC4
- adds r0, r5, 0
- bl sub_801CFE0
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0801CE0A
- ldr r0, [r6]
- ldr r4, _0801CE4C
- adds r0, r4
- adds r1, r7, 0
- bl sub_8013800
- adds r2, r0, 0
- ldr r1, [r6]
- movs r3, 0x9D
- lsls r3, 3
- adds r0, r1, r3
- ldr r0, [r0]
- adds r4, 0x38
- adds r1, r4
- ldr r1, [r1]
- movs r4, 0xC
- ldrsh r3, [r1, r4]
- subs r3, 0x1
- lsls r3, 3
- movs r1, 0xA
- str r1, [sp]
- movs r1, 0x8
- bl sub_8007B7C
-_0801CE0A:
- adds r7, 0x1
- ldr r0, [r6]
- ldr r1, _0801CE48
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- blt _0801CD50
-_0801CE1A:
- ldr r0, _0801CE38
- ldr r0, [r0]
- movs r3, 0x9D
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CE38: .4byte gUnknown_203B244
-_0801CE3C: .4byte gUnknown_80DBE6C
-_0801CE40: .4byte 0x00000552
-_0801CE44: .4byte 0x000004d2
-_0801CE48: .4byte 0x000004ce
-_0801CE4C: .4byte 0x000004b4
-_0801CE50: .4byte 0x000004ec
-_0801CE54: .4byte gUnknown_203B460
- thumb_func_end sub_801CCD8
-
- thumb_func_start sub_801CE58
-sub_801CE58:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r3, 0
- movs r6, 0x1
- ldr r4, _0801CF0C
-_0801CE68:
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x2
- beq _0801CE92
- ldr r0, _0801CF10
- ldr r0, [r0]
- lsls r1, r6, 1
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801CE9C
- lsls r0, r6, 24
- lsrs r0, 24
- str r3, [sp]
- bl sub_8091524
- lsls r0, 24
- ldr r3, [sp]
- cmp r0, 0
- beq _0801CE9C
-_0801CE92:
- ldr r0, [r4]
- adds r0, 0x4
- adds r0, r3
- strb r6, [r0]
- adds r3, 0x1
-_0801CE9C:
- adds r6, 0x1
- cmp r6, 0xEF
- ble _0801CE68
- movs r6, 0
- subs r0, r3, 0x1
- mov r9, r0
- cmp r6, r9
- bge _0801CEFC
-_0801CEAC:
- adds r0, r6, 0x1
- mov r8, r0
- mov r5, r8
- cmp r8, r3
- bge _0801CEF6
- ldr r7, _0801CF0C
-_0801CEB8:
- ldr r0, [r7]
- adds r0, 0x4
- adds r0, r6
- ldrb r0, [r0]
- str r3, [sp]
- bl sub_8090D44
- adds r4, r0, 0
- ldr r0, [r7]
- adds r0, 0x4
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8090D44
- ldr r3, [sp]
- cmp r4, r0
- ble _0801CEF0
- ldr r0, [r7]
- adds r0, 0x4
- adds r1, r0, r6
- ldrb r2, [r1]
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x4
- adds r0, r5
- strb r2, [r0]
-_0801CEF0:
- adds r5, 0x1
- cmp r5, r3
- blt _0801CEB8
-_0801CEF6:
- mov r6, r8
- cmp r6, r9
- blt _0801CEAC
-_0801CEFC:
- adds r0, r3, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801CF0C: .4byte gUnknown_203B244
-_0801CF10: .4byte gUnknown_203B460
- thumb_func_end sub_801CE58
-
- thumb_func_start sub_801CF14
-sub_801CF14:
- push {r4,lr}
- cmp r0, 0x2
- bne _0801CF1E
-_0801CF1A:
- movs r0, 0
- b _0801CF46
-_0801CF1E:
- movs r4, 0x1
-_0801CF20:
- ldr r0, _0801CF4C
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801CF3E
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _0801CF1A
-_0801CF3E:
- adds r4, 0x1
- cmp r4, 0xEF
- ble _0801CF20
- movs r0, 0x1
-_0801CF46:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801CF4C: .4byte gUnknown_203B460
- thumb_func_end sub_801CF14
-
- thumb_func_start sub_801CF50
-sub_801CF50:
- push {r4,r5,lr}
- cmp r0, 0x2
- bne _0801CF5A
-_0801CF56:
- movs r0, 0
- b _0801CF84
-_0801CF5A:
- movs r4, 0x1
- ldr r5, _0801CF8C
-_0801CF5E:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _0801CF7C
- ldr r0, _0801CF90
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- bls _0801CF56
-_0801CF7C:
- adds r4, 0x1
- cmp r4, 0xEF
- ble _0801CF5E
- movs r0, 0x1
-_0801CF84:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801CF8C: .4byte 0x000003e6
-_0801CF90: .4byte gUnknown_203B460
- thumb_func_end sub_801CF50
-
- thumb_func_start sub_801CF94
-sub_801CF94:
- push {r4,lr}
- movs r2, 0
- ldr r4, _0801CFB4
- movs r3, 0
-_0801CF9C:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0xF4
- adds r0, r1
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0xEF
- ble _0801CF9C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801CFB4: .4byte gUnknown_203B244
- thumb_func_end sub_801CF94
-
- thumb_func_start sub_801CFB8
-sub_801CFB8:
- push {lr}
- movs r3, 0
- ldr r0, _0801CFDC
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF4
- movs r2, 0xEF
-_0801CFC6:
- ldr r0, [r1]
- cmp r0, 0
- beq _0801CFCE
- adds r3, 0x1
-_0801CFCE:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _0801CFC6
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0801CFDC: .4byte gUnknown_203B244
- thumb_func_end sub_801CFB8
-
- thumb_func_start sub_801CFE0
-sub_801CFE0:
- lsls r0, 24
- ldr r1, _0801CFF0
- ldr r1, [r1]
- lsrs r0, 22
- adds r1, 0xF4
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_0801CFF0: .4byte gUnknown_203B244
- thumb_func_end sub_801CFE0
-
- thumb_func_start sub_801CFF4
-sub_801CFF4:
- lsls r0, 24
- ldr r2, _0801D004
- ldr r2, [r2]
- lsrs r0, 22
- adds r2, 0xF4
- adds r2, r0
- str r1, [r2]
- bx lr
- .align 2, 0
-_0801D004: .4byte gUnknown_203B244
- thumb_func_end sub_801CFF4
-
- thumb_func_start sub_801D008
-sub_801D008:
- ldr r0, _0801D010
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0801D010: .4byte gUnknown_203B244
- thumb_func_end sub_801D008
-
- thumb_func_start sub_801D014
-sub_801D014:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0801D054
- movs r0, 0x8C
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r4]
- ldr r0, _0801D058
- ldr r0, [r0]
- str r0, [r2, 0x14]
- str r5, [r2]
- cmp r5, 0
- beq _0801D088
- movs r3, 0
- ldr r0, _0801D05C
- ldr r1, [r0]
- adds r4, r0, 0
- cmp r5, r1
- bne _0801D060
- strh r3, [r2, 0x4]
- b _0801D08C
- .align 2, 0
-_0801D054: .4byte gUnknown_203B250
-_0801D058: .4byte gUnknown_203B254
-_0801D05C: .4byte gUnknown_203B45C
-_0801D060:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- bgt _0801D08C
- ldr r0, _0801D084
- ldr r2, [r0]
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r4]
- adds r0, r1
- ldr r1, [r2]
- cmp r1, r0
- bne _0801D060
- strh r3, [r2, 0x4]
- b _0801D08C
- .align 2, 0
-_0801D084: .4byte gUnknown_203B250
-_0801D088:
- ldr r0, _0801D0C4
- strh r0, [r2, 0x4]
-_0801D08C:
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r4, _0801D0C8
- ldr r1, [r4]
- movs r5, 0
- strb r0, [r1, 0x6]
- ldr r0, [r4]
- strb r5, [r0, 0x8]
- ldr r0, [r4]
- strb r5, [r0, 0x9]
- bl sub_808D33C
- ldr r1, [r4]
- str r0, [r1, 0xC]
- strb r5, [r1, 0x7]
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801D0CC
- movs r0, 0x5
- bl sub_801D208
- b _0801D0D2
- .align 2, 0
-_0801D0C4: .4byte 0x0000019d
-_0801D0C8: .4byte gUnknown_203B250
-_0801D0CC:
- movs r0, 0
- bl sub_801D208
-_0801D0D2:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_801D014
-
- thumb_func_start sub_801D0DC
-sub_801D0DC:
- push {lr}
- ldr r0, _0801D0F4
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- cmp r0, 0xC
- bhi _0801D16C
- lsls r0, 2
- ldr r1, _0801D0F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801D0F4: .4byte gUnknown_203B250
-_0801D0F8: .4byte _0801D0FC
- .align 2, 0
-_0801D0FC:
- .4byte _0801D130
- .4byte _0801D130
- .4byte _0801D16C
- .4byte _0801D136
- .4byte _0801D13C
- .4byte _0801D142
- .4byte _0801D148
- .4byte _0801D148
- .4byte _0801D14E
- .4byte _0801D154
- .4byte _0801D15A
- .4byte _0801D160
- .4byte _0801D166
-_0801D130:
- bl sub_801D680
- b _0801D170
-_0801D136:
- bl sub_801D760
- b _0801D170
-_0801D13C:
- bl sub_801D77C
- b _0801D170
-_0801D142:
- bl sub_801D798
- b _0801D170
-_0801D148:
- bl sub_801D7CC
- b _0801D170
-_0801D14E:
- bl sub_801D808
- b _0801D170
-_0801D154:
- bl sub_801D824
- b _0801D170
-_0801D15A:
- bl sub_801D840
- b _0801D170
-_0801D160:
- bl sub_801D85C
- b _0801D170
-_0801D166:
- bl sub_801D878
- b _0801D170
-_0801D16C:
- movs r0, 0x3
- b _0801D172
-_0801D170:
- movs r0, 0
-_0801D172:
- pop {r1}
- bx r1
- thumb_func_end sub_801D0DC
-
- thumb_func_start sub_801D178
-sub_801D178:
- push {r4,lr}
- ldr r0, _0801D188
- ldr r4, [r0]
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0801D18C
- movs r0, 0x2
- b _0801D1CC
- .align 2, 0
-_0801D188: .4byte gUnknown_203B250
-_0801D18C:
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _0801D196
- movs r0, 0x3
- b _0801D1CC
-_0801D196:
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _0801D1A0
- movs r0, 0x1
- b _0801D1CC
-_0801D1A0:
- bl sub_808D33C
- ldr r1, [r4, 0xC]
- cmp r1, r0
- bne _0801D1C6
- movs r0, 0x7
- bl sub_80A7AE8
- lsls r0, 16
- cmp r0, 0
- blt _0801D1CA
- bl sub_808D3F8
- ldrh r0, [r0]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0801D1CA
-_0801D1C6:
- movs r0, 0x4
- b _0801D1CC
-_0801D1CA:
- movs r0, 0
-_0801D1CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801D178
-
- thumb_func_start sub_801D1D4
-sub_801D1D4:
- ldr r0, _0801D1DC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- bx lr
- .align 2, 0
-_0801D1DC: .4byte gUnknown_203B250
- thumb_func_end sub_801D1D4
-
- thumb_func_start sub_801D1E0
-sub_801D1E0:
- push {r4,lr}
- ldr r4, _0801D200
- ldr r2, [r4]
- cmp r2, 0
- beq _0801D1FA
- ldr r0, _0801D204
- ldr r1, [r2, 0x14]
- str r1, [r0]
- adds r0, r2, 0
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801D1FA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D200: .4byte gUnknown_203B250
-_0801D204: .4byte gUnknown_203B254
- thumb_func_end sub_801D1E0
-
- thumb_func_start sub_801D208
-sub_801D208:
- push {lr}
- ldr r1, _0801D21C
- ldr r1, [r1]
- str r0, [r1, 0x10]
- bl sub_801D220
- bl sub_801D3A8
- pop {r0}
- bx r0
- .align 2, 0
-_0801D21C: .4byte gUnknown_203B250
- thumb_func_end sub_801D208
-
- thumb_func_start sub_801D220
-sub_801D220:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _0801D248
- ldr r0, [r4]
- adds r0, 0xB8
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- beq _0801D250
- cmp r0, 0x1
- beq _0801D2C0
- movs r2, 0
- adds r7, r4, 0
- ldr r3, _0801D24C
- b _0801D368
- .align 2, 0
-_0801D248: .4byte gUnknown_203B250
-_0801D24C: .4byte gUnknown_80DBE7C
-_0801D250:
- bl sub_801D4C0
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801D290
- adds r7, r4, 0
- ldr r0, _0801D288
- mov r9, r0
- mov r12, r7
- ldr r2, _0801D28C
- mov r8, r2
- movs r3, 0
- movs r2, 0x3
-_0801D26C:
- mov r4, r12
- ldr r1, [r4]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r8
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D26C
- b _0801D2F6
- .align 2, 0
-_0801D288: .4byte gUnknown_80DBE98
-_0801D28C: .4byte gUnknown_80DBE7C
-_0801D290:
- adds r7, r4, 0
- mov r8, r7
- ldr r6, _0801D2BC
- mov r9, r6
- movs r3, 0
- movs r2, 0x3
-_0801D29C:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r9
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- movs r0, 0x18
- add r9, r0
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D29C
- b _0801D34E
- .align 2, 0
-_0801D2BC: .4byte gUnknown_80DBEB0
-_0801D2C0:
- bl sub_801D4C0
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801D324
- adds r7, r4, 0
- ldr r2, _0801D31C
- mov r9, r2
- mov r8, r7
- ldr r3, _0801D320
- mov r12, r3
- movs r3, 0
- movs r2, 0x3
-_0801D2DC:
- mov r4, r8
- ldr r1, [r4]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r12
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D2DC
-_0801D2F6:
- ldr r1, [r7]
- adds r1, 0xB8
- mov r0, r9
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xB8
- adds r1, 0x68
- bl sub_8012CAC
- ldr r0, [r7]
- adds r0, 0xC4
- movs r1, 0x9
- strh r1, [r0]
- b _0801D384
- .align 2, 0
-_0801D31C: .4byte gUnknown_80DBE98
-_0801D320: .4byte gUnknown_80DBE7C
-_0801D324:
- adds r7, r4, 0
- mov r8, r7
- ldr r6, _0801D364
- mov r9, r6
- movs r3, 0
- movs r2, 0x3
-_0801D330:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xB8
- mov r0, r9
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- movs r0, 0x18
- add r9, r0
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801D330
-_0801D34E:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xB8
- adds r1, 0x68
- bl sub_8012CAC
- ldr r0, [r7]
- adds r0, 0xC4
- movs r1, 0x8
- strh r1, [r0]
- b _0801D384
- .align 2, 0
-_0801D364: .4byte gUnknown_80DBEB0
-_0801D368:
- ldr r0, [r7]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, 0xB8
- adds r1, r3, 0
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- adds r2, 0x1
- cmp r2, 0x3
- ble _0801D368
-_0801D384:
- bl sub_8004914
- ldr r0, _0801D3A4
- ldr r0, [r0]
- adds r0, 0xB8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D3A4: .4byte gUnknown_203B250
- thumb_func_end sub_801D220
-
- thumb_func_start sub_801D3A8
-sub_801D3A8:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, _0801D3C4
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- adds r6, r1, 0
- cmp r0, 0xC
- bls _0801D3BA
- b _0801D4B6
-_0801D3BA:
- lsls r0, 2
- ldr r1, _0801D3C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801D3C4: .4byte gUnknown_203B250
-_0801D3C8: .4byte _0801D3CC
- .align 2, 0
-_0801D3CC:
- .4byte _0801D400
- .4byte _0801D400
- .4byte _0801D4B6
- .4byte _0801D458
- .4byte _0801D462
- .4byte _0801D468
- .4byte _0801D472
- .4byte _0801D47A
- .4byte _0801D482
- .4byte _0801D490
- .4byte _0801D49C
- .4byte _0801D4AA
- .4byte _0801D4B2
-_0801D400:
- ldr r0, [r6]
- ldr r5, [r0]
- cmp r5, 0
- beq _0801D438
- ldr r4, _0801D434
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_808D9AC
- ldr r2, [r6]
- str r4, [r2, 0x18]
- adds r0, r2, 0
- adds r0, 0x18
- adds r1, r2, 0
- adds r1, 0x68
- adds r3, r2, 0
- adds r3, 0xA8
- ldr r2, [r2, 0x14]
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- bl sub_8012D60
- b _0801D4B6
- .align 2, 0
-_0801D434: .4byte gUnknown_202DF98
-_0801D438:
- bl sub_801D894
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x18
- adds r1, r2, 0
- adds r1, 0x68
- adds r3, r2, 0
- adds r3, 0xA8
- ldr r2, [r2, 0x14]
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0801D4B6
-_0801D458:
- ldr r0, [r6]
- ldr r0, [r0]
- bl sub_80227B8
- b _0801D4B6
-_0801D462:
- bl sub_8027074
- b _0801D4B6
-_0801D468:
- ldr r0, [r6]
- ldr r0, [r0]
- bl sub_8025EF4
- b _0801D4B6
-_0801D472:
- movs r0, 0
- bl sub_80252F0
- b _0801D4B6
-_0801D47A:
- movs r0, 0x1
- bl sub_80252F0
- b _0801D4B6
-_0801D482:
- ldr r0, [r6]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _0801D4B6
-_0801D490:
- ldr r0, [r6]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bl sub_801BEEC
- b _0801D4B6
-_0801D49C:
- ldr r0, [r6]
- ldrb r0, [r0, 0x6]
- movs r1, 0x1
- movs r2, 0x2
- bl sub_8021774
- b _0801D4B6
-_0801D4AA:
- movs r0, 0
- bl sub_802C860
- b _0801D4B6
-_0801D4B2:
- bl sub_801DCC4
-_0801D4B6:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_801D3A8
-
- thumb_func_start sub_801D4C0
-sub_801D4C0:
- push {r4-r7,lr}
- movs r6, 0
- ldr r4, _0801D554
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0801D568
- bl sub_8096E2C
- lsls r0, 24
- cmp r0, 0
- beq _0801D534
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x6C]
- ldr r0, _0801D558
- str r0, [r1, 0x68]
- bl sub_8090A34
- cmp r0, 0
- bne _0801D4FE
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x1
- strh r1, [r0]
-_0801D4FE:
- ldr r1, [r4]
- ldr r0, _0801D55C
- str r0, [r1, 0x70]
- movs r0, 0x4
- str r0, [r1, 0x74]
- movs r6, 0x2
- movs r0, 0x2
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0801D534
- ldr r1, [r4]
- ldr r0, _0801D560
- str r0, [r1, 0x78]
- movs r0, 0x9
- str r0, [r1, 0x7C]
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- beq _0801D532
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0x1
- strh r1, [r0]
-_0801D532:
- movs r6, 0x3
-_0801D534:
- ldr r4, _0801D554
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0x68
- adds r0, r3
- ldr r1, _0801D564
- str r1, [r0]
- adds r2, 0x6C
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- adds r6, 0x1
- adds r7, r4, 0
- b _0801D5E6
- .align 2, 0
-_0801D554: .4byte gUnknown_203B250
-_0801D558: .4byte gUnknown_80DBF10
-_0801D55C: .4byte gUnknown_80DBF18
-_0801D560: .4byte gUnknown_80DBF20
-_0801D564: .4byte gUnknown_80DBF2C
-_0801D568:
- ldr r0, _0801D63C
- ldr r1, _0801D640
- bl strcpy
- bl sub_8096E2C
- lsls r0, 24
- cmp r0, 0
- beq _0801D5B6
- ldr r1, [r4]
- ldr r0, _0801D644
- ldr r0, [r0]
- str r0, [r1, 0x68]
- movs r0, 0x5
- str r0, [r1, 0x6C]
- movs r0, 0x4
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _0801D59A
- ldr r0, [r4]
- adds r0, 0xA8
- movs r1, 0x1
- strh r1, [r0]
-_0801D59A:
- movs r6, 0x1
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x74]
- ldr r0, _0801D648
- str r0, [r1, 0x70]
- bl sub_8090A34
- cmp r0, 0
- bne _0801D5B4
- ldr r0, [r4]
- adds r0, 0xAA
- strh r6, [r0]
-_0801D5B4:
- movs r6, 0x2
-_0801D5B6:
- ldr r5, _0801D64C
- ldr r1, [r5]
- lsls r2, r6, 3
- adds r3, r1, 0
- adds r3, 0x68
- adds r4, r3, r2
- ldr r0, _0801D650
- ldr r0, [r0]
- str r0, [r4]
- adds r1, 0x6C
- adds r2, r1, r2
- movs r0, 0x8
- str r0, [r2]
- adds r6, 0x1
- lsls r2, r6, 3
- adds r3, r2
- ldr r0, _0801D654
- ldr r0, [r0]
- str r0, [r3]
- adds r1, r2
- movs r0, 0xA
- str r0, [r1]
- adds r6, 0x1
- adds r7, r5, 0
-_0801D5E6:
- ldr r4, [r7]
- lsls r2, r6, 3
- adds r0, r4, 0
- adds r0, 0x68
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- adds r1, r4, 0
- adds r1, 0x6C
- adds r2, r1, r2
- movs r0, 0x1
- str r0, [r2]
- movs r3, 0
- cmp r3, r6
- bge _0801D622
- adds r5, r4, 0
- adds r4, 0xA8
- adds r2, r1, 0
-_0801D60A:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0801D618
- ldr r1, [r2]
- ldr r0, [r5, 0x14]
- cmp r1, r0
- beq _0801D67A
-_0801D618:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0801D60A
-_0801D622:
- movs r3, 0
- cmp r3, r6
- bge _0801D67A
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xA8
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801D658
- ldr r0, [r1, 0x6C]
- str r0, [r1, 0x14]
- b _0801D67A
- .align 2, 0
-_0801D63C: .4byte gUnknown_202DF98
-_0801D640: .4byte gUnknown_80DBF34
-_0801D644: .4byte gUnknown_80D49A8
-_0801D648: .4byte gUnknown_80DBF10
-_0801D64C: .4byte gUnknown_203B250
-_0801D650: .4byte gUnknown_80D4970
-_0801D654: .4byte gUnknown_80D49B4
-_0801D658:
- adds r3, 0x1
- cmp r3, r6
- bge _0801D67A
- ldr r2, [r7]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xA8
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801D658
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x6C
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x14]
-_0801D67A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_801D4C0
-
- thumb_func_start sub_801D680
-sub_801D680:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0801D6C0
- ldr r0, [r4]
- adds r0, 0x18
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801D6AC
- ldr r0, [r4]
- adds r0, 0x18
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0801D6AC
- ldr r0, [r4]
- str r1, [r0, 0x14]
-_0801D6AC:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xA
- bhi _0801D756
- lsls r0, 2
- ldr r1, _0801D6C4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801D6C0: .4byte gUnknown_203B250
-_0801D6C4: .4byte _0801D6C8
- .align 2, 0
-_0801D6C8:
- .4byte _0801D750
- .4byte _0801D6F4
- .4byte _0801D704
- .4byte _0801D6FC
- .4byte _0801D70C
- .4byte _0801D714
- .4byte _0801D71C
- .4byte _0801D724
- .4byte _0801D72C
- .4byte _0801D734
- .4byte _0801D748
-_0801D6F4:
- movs r0, 0x3
- bl sub_801D208
- b _0801D756
-_0801D6FC:
- movs r0, 0x6
- bl sub_801D208
- b _0801D756
-_0801D704:
- movs r0, 0x4
- bl sub_801D208
- b _0801D756
-_0801D70C:
- movs r0, 0x7
- bl sub_801D208
- b _0801D756
-_0801D714:
- movs r0, 0x8
- bl sub_801D208
- b _0801D756
-_0801D71C:
- movs r0, 0x9
- bl sub_801D208
- b _0801D756
-_0801D724:
- movs r0, 0xA
- bl sub_801D208
- b _0801D756
-_0801D72C:
- movs r0, 0xB
- bl sub_801D208
- b _0801D756
-_0801D734:
- ldr r0, _0801D744
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- movs r0, 0x2
- bl sub_801D208
- b _0801D756
- .align 2, 0
-_0801D744: .4byte gUnknown_203B250
-_0801D748:
- movs r0, 0xC
- bl sub_801D208
- b _0801D756
-_0801D750:
- movs r0, 0x2
- bl sub_801D208
-_0801D756:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D680
-
- thumb_func_start sub_801D760
-sub_801D760:
- push {lr}
- bl sub_8022860
- cmp r0, 0x1
- bls _0801D778
- cmp r0, 0x3
- bhi _0801D778
- bl sub_8022908
- movs r0, 0x1
- bl sub_801D208
-_0801D778:
- pop {r0}
- bx r0
- thumb_func_end sub_801D760
-
- thumb_func_start sub_801D77C
-sub_801D77C:
- push {lr}
- bl sub_80270A4
- cmp r0, 0x1
- bls _0801D794
- cmp r0, 0x3
- bhi _0801D794
- bl sub_8027168
- movs r0, 0x1
- bl sub_801D208
-_0801D794:
- pop {r0}
- bx r0
- thumb_func_end sub_801D77C
-
- thumb_func_start sub_801D798
-sub_801D798:
- push {lr}
- bl sub_8025F68
- cmp r0, 0x1
- bls _0801D7C2
- cmp r0, 0x3
- bhi _0801D7C2
- bl sub_802604C
- lsls r0, 24
- cmp r0, 0
- beq _0801D7B8
- ldr r0, _0801D7C8
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- strb r0, [r1, 0x7]
-_0801D7B8:
- bl sub_8026058
- movs r0, 0x2
- bl sub_801D208
-_0801D7C2:
- pop {r0}
- bx r0
- .align 2, 0
-_0801D7C8: .4byte gUnknown_203B250
- thumb_func_end sub_801D798
-
- thumb_func_start sub_801D7CC
-sub_801D7CC:
- push {r4,lr}
- bl sub_8025354
- cmp r0, 0x1
- bls _0801D802
- cmp r0, 0x3
- bhi _0801D802
- bl sub_802540C
- ldr r4, _0801D7F8
- ldr r1, [r4]
- strb r0, [r1, 0x7]
- bl sub_8025418
- ldr r0, [r4]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0801D7FC
- movs r0, 0x2
- bl sub_801D208
- b _0801D802
- .align 2, 0
-_0801D7F8: .4byte gUnknown_203B250
-_0801D7FC:
- movs r0, 0x1
- bl sub_801D208
-_0801D802:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801D7CC
-
- thumb_func_start sub_801D808
-sub_801D808:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _0801D820
- cmp r0, 0x3
- bhi _0801D820
- bl sub_802453C
- movs r0, 0x1
- bl sub_801D208
-_0801D820:
- pop {r0}
- bx r0
- thumb_func_end sub_801D808
-
- thumb_func_start sub_801D824
-sub_801D824:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _0801D83C
- cmp r0, 0x3
- bhi _0801D83C
- bl sub_801BF98
- movs r0, 0x1
- bl sub_801D208
-_0801D83C:
- pop {r0}
- bx r0
- thumb_func_end sub_801D824
-
- thumb_func_start sub_801D840
-sub_801D840:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _0801D858
- cmp r0, 0x3
- bhi _0801D858
- bl sub_8021830
- movs r0, 0x1
- bl sub_801D208
-_0801D858:
- pop {r0}
- bx r0
- thumb_func_end sub_801D840
-
- thumb_func_start sub_801D85C
-sub_801D85C:
- push {lr}
- bl sub_802C898
- cmp r0, 0x1
- bls _0801D874
- cmp r0, 0x3
- bhi _0801D874
- bl sub_802C8F4
- movs r0, 0x1
- bl sub_801D208
-_0801D874:
- pop {r0}
- bx r0
- thumb_func_end sub_801D85C
-
- thumb_func_start sub_801D878
-sub_801D878:
- push {lr}
- bl sub_801DCE8
- cmp r0, 0x1
- bls _0801D890
- cmp r0, 0x3
- bhi _0801D890
- bl sub_801DD50
- movs r0, 0x1
- bl sub_801D208
-_0801D890:
- pop {r0}
- bx r0
- thumb_func_end sub_801D878
-
- thumb_func_start sub_801D894
-sub_801D894:
- push {r4-r6,lr}
- sub sp, 0x68
- ldr r0, _0801D8A8
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _0801D8AC
- bl sub_8098FB4
- b _0801D8B2
- .align 2, 0
-_0801D8A8: .4byte gUnknown_203B250
-_0801D8AC:
- ldrb r0, [r1, 0x6]
- bl sub_8092524
-_0801D8B2:
- add r2, sp, 0x68
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- add r0, sp, 0x4
- bl sub_8008ED0
- movs r4, 0x80
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- movs r0, 0x1
- bl sub_8008C54
- movs r0, 0x1
- bl sub_80073B8
- movs r6, 0
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0x4
- add r2, sp, 0x4
- movs r3, 0x1
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_80073E0
- movs r0, 0x2
- bl sub_8008C54
- movs r0, 0x2
- bl sub_80073B8
- movs r0, 0x2
- movs r1, 0x8
- movs r2, 0x6
- bl sub_801D970
- ldr r5, _0801D964
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 24
- bl sub_80921A8
- adds r4, r0, 0
- bl sub_8092110
- adds r3, r0, 0
- add r0, sp, 0x4
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_800D158
- str r6, [sp]
- movs r0, 0x20
- movs r1, 0x4
- add r2, sp, 0x4
- movs r3, 0x2
- bl xxx_call_draw_string
- ldr r1, _0801D968
- ldr r0, _0801D96C
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- ldr r2, [r0]
- add r0, sp, 0x4
- bl sub_800D158
- str r6, [sp]
- movs r0, 0x20
- movs r1, 0x12
- add r2, sp, 0x4
- movs r3, 0x2
- bl xxx_call_draw_string
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x68
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D964: .4byte gUnknown_80DBF3C
-_0801D968: .4byte gUnknown_80DBF4C
-_0801D96C: .4byte gUnknown_203B460
- thumb_func_end sub_801D894
-
- thumb_func_start sub_801D970
-sub_801D970:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- mov r9, r1
- mov r10, r2
- ldr r0, _0801D9DC
- ldr r1, _0801D9E0
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- ldr r0, [r7, 0x4]
- ldr r6, [r0]
- ldr r5, [r0, 0x4]
- movs r4, 0
-_0801D994:
- adds r0, r4, 0
- adds r0, 0xE0
- adds r1, r5, 0
- bl SetBGPaletteBufferColorArray
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0xF
- ble _0801D994
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 17
- adds r6, r0
- movs r0, 0x10
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0xE
- str r0, [sp, 0x8]
- mov r0, r8
- mov r1, r9
- mov r2, r10
- movs r3, 0x10
- bl sub_8007E20
- adds r0, r7, 0
- bl CloseFile
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801D9DC: .4byte gUnknown_80DBF60
-_0801D9E0: .4byte gUnknown_8380000
- thumb_func_end sub_801D970
-
- thumb_func_start sub_801D9E4
-sub_801D9E4:
- push {r4,r5,lr}
- ldr r4, _0801DA50
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x84
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801DA54
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r1, 0xE5
- movs r2, 0xA
- bl sub_8013818
- bl sub_801DB54
- bl sub_801DBD4
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801DA50: .4byte gUnknown_203B258
-_0801DA54: .4byte gUnknown_80DBF88
- thumb_func_end sub_801D9E4
-
- thumb_func_start sub_801DA58
-sub_801DA58:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0801DA74
- ldr r0, [r0]
- bl sub_8013878
- bl sub_801DB54
- bl sub_801DBD4
- pop {r0}
- bx r0
- .align 2, 0
-_0801DA74: .4byte gUnknown_203B258
- thumb_func_end sub_801DA58
-
- thumb_func_start sub_801DA78
-sub_801DA78:
- push {r4,lr}
- ldr r4, _0801DA94
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0801DA98
- cmp r0, 0x2
- bne _0801DA9C
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801DAB8
- .align 2, 0
-_0801DA94: .4byte gUnknown_203B258
-_0801DA98:
- movs r0, 0x3
- b _0801DAB8
-_0801DA9C:
- ldr r0, [r4]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801DAAE
- movs r0, 0
- b _0801DAB8
-_0801DAAE:
- bl sub_801DB54
- bl sub_801DBD4
- movs r0, 0x1
-_0801DAB8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801DA78
-
- thumb_func_start sub_801DAC0
-sub_801DAC0:
- ldr r0, _0801DAD8
- ldr r1, [r0]
- ldrh r2, [r1, 0x1E]
- ldrh r0, [r1, 0x1C]
- adds r3, r0, 0
- muls r3, r2
- adds r0, r3, 0
- ldrh r1, [r1, 0x18]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- bx lr
- .align 2, 0
-_0801DAD8: .4byte gUnknown_203B258
- thumb_func_end sub_801DAC0
-
- thumb_func_start sub_801DADC
-sub_801DADC:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0801DB08
- ldr r0, [r5]
- movs r1, 0xE5
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_801DB54
- bl sub_801DBD4
- cmp r4, 0
- beq _0801DB02
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801DB02:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DB08: .4byte gUnknown_203B258
- thumb_func_end sub_801DADC
-
- thumb_func_start sub_801DB0C
-sub_801DB0C:
- push {r4,r5,lr}
- ldr r4, _0801DB4C
- ldr r2, [r4]
- cmp r2, 0
- beq _0801DB46
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801DB50
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801DB46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DB4C: .4byte gUnknown_203B258
-_0801DB50: .4byte gUnknown_80DBF70
- thumb_func_end sub_801DB0C
-
- thumb_func_start sub_801DB54
-sub_801DB54:
- push {r4,lr}
- ldr r4, _0801DBD0
- ldr r0, [r4]
- adds r0, 0x9C
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9D
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0x8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DBD0: .4byte gUnknown_203B258
- thumb_func_end sub_801DB54
-
- thumb_func_start sub_801DBD4
-sub_801DBD4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r5, _0801DCB4
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0801DCB8
- ldr r0, [r5]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x9E
- ldrb r4, [r0]
- lsls r4, 3
- subs r4, 0x2
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x34]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r6, 0
- ldr r0, [r5]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _0801DC9C
- adds r7, r5, 0
- mov r8, r6
-_0801DC34:
- ldr r0, [r7]
- ldrh r2, [r0, 0x1E]
- ldrh r1, [r0, 0x1C]
- adds r3, r2, 0
- muls r3, r1
- adds r1, r3, 0
- adds r1, r6
- lsls r1, 16
- asrs r1, 16
- lsls r5, r1, 1
- adds r5, r1
- lsls r5, 2
- ldr r1, _0801DCBC
- adds r5, r1
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- lsls r4, r1, 3
- subs r4, r1
- lsls r4, 2
- ldr r1, _0801DCC0
- adds r4, r1
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4]
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- bl xxx_call_draw_string
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r5, 0x8]
- ldr r0, [r7]
- ldr r3, [r0, 0x34]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x3E
- bl xxx_call_draw_string
- adds r6, 0x1
- ldr r0, [r7]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0801DC34
-_0801DC9C:
- ldr r0, _0801DCB4
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DCB4: .4byte gUnknown_203B258
-_0801DCB8: .4byte gUnknown_80DBFA0
-_0801DCBC: .4byte gUnknown_811BAF4
-_0801DCC0: .4byte gUnknown_81188F0
- thumb_func_end sub_801DBD4
-
- thumb_func_start sub_801DCC4
-sub_801DCC4:
- push {r4,lr}
- ldr r4, _0801DCE4
- movs r0, 0x8E
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_801DD6C
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801DCE4: .4byte gUnknown_203B25C
- thumb_func_end sub_801DCC4
-
- thumb_func_start sub_801DCE8
-sub_801DCE8:
- push {lr}
- ldr r0, _0801DD00
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x7
- bhi _0801DD48
- lsls r0, 2
- ldr r1, _0801DD04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801DD00: .4byte gUnknown_203B25C
-_0801DD04: .4byte _0801DD08
- .align 2, 0
-_0801DD08:
- .4byte _0801DD2C
- .4byte _0801DD2C
- .4byte _0801DD28
- .4byte _0801DD32
- .4byte _0801DD32
- .4byte _0801DD38
- .4byte _0801DD3E
- .4byte _0801DD44
-_0801DD28:
- movs r0, 0x3
- b _0801DD4A
-_0801DD2C:
- bl sub_801E028
- b _0801DD48
-_0801DD32:
- bl sub_801E088
- b _0801DD48
-_0801DD38:
- bl sub_801E0E0
- b _0801DD48
-_0801DD3E:
- bl sub_801E0FC
- b _0801DD48
-_0801DD44:
- bl sub_801E138
-_0801DD48:
- movs r0, 0
-_0801DD4A:
- pop {r1}
- bx r1
- thumb_func_end sub_801DCE8
-
- thumb_func_start sub_801DD50
-sub_801DD50:
- push {r4,lr}
- ldr r4, _0801DD68
- ldr r0, [r4]
- cmp r0, 0
- beq _0801DD62
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801DD62:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DD68: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD50
-
- thumb_func_start sub_801DD6C
-sub_801DD6C:
- push {lr}
- ldr r1, _0801DD80
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801DD84
- bl sub_801DED0
- pop {r0}
- bx r0
- .align 2, 0
-_0801DD80: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD6C
-
- thumb_func_start sub_801DD84
-sub_801DD84:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _0801DDAC
- ldr r0, [r4]
- adds r0, 0xBC
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0801DDB4
- cmp r0, 0x1
- beq _0801DE38
- movs r3, 0
- adds r7, r4, 0
- ldr r2, _0801DDB0
- b _0801DE90
- .align 2, 0
-_0801DDAC: .4byte gUnknown_203B25C
-_0801DDB0: .4byte gUnknown_80DBFB0
-_0801DDB4:
- bl sub_801DFA4
- movs r3, 0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xAC
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801DDCE
- ldr r0, [r1, 0x70]
- str r0, [r1, 0x18]
- adds r7, r4, 0
- b _0801DDF2
-_0801DDCE:
- adds r3, 0x1
- ldr r7, _0801DE2C
- cmp r3, 0x7
- bgt _0801DDF2
- ldr r2, [r7]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xAC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801DDCE
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x70
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_0801DDF2:
- ldr r0, _0801DE30
- mov r9, r0
- ldr r2, _0801DE2C
- mov r12, r2
- ldr r3, _0801DE34
- mov r8, r3
- movs r2, 0
- movs r3, 0x3
-_0801DE02:
- mov r4, r12
- ldr r1, [r4]
- adds r1, r2
- adds r1, 0xBC
- mov r0, r8
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801DE02
- ldr r1, [r7]
- adds r1, 0xBC
- mov r0, r9
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- b _0801DE70
- .align 2, 0
-_0801DE2C: .4byte gUnknown_203B25C
-_0801DE30: .4byte gUnknown_80DBFCC
-_0801DE34: .4byte gUnknown_80DBFB0
-_0801DE38:
- bl sub_801DFA4
- mov r8, r4
- ldr r6, _0801DE88
- mov r12, r6
- mov r7, r8
- movs r2, 0
- movs r3, 0x3
-_0801DE48:
- mov r0, r8
- ldr r1, [r0]
- adds r1, r2
- adds r1, 0xBC
- mov r0, r12
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801DE48
- ldr r1, [r7]
- adds r1, 0xBC
- ldr r0, _0801DE8C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
-_0801DE70:
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xBC
- adds r1, 0x6C
- bl sub_8012CAC
- ldr r0, [r7]
- adds r0, 0xC8
- movs r1, 0xA
- strh r1, [r0]
- b _0801DEAC
- .align 2, 0
-_0801DE88: .4byte gUnknown_80DBFB0
-_0801DE8C: .4byte gUnknown_80DBFCC
-_0801DE90:
- ldr r0, [r7]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r0, r1
- adds r0, 0xBC
- adds r1, r2, 0
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- ldm r1!, {r4-r6}
- stm r0!, {r4-r6}
- adds r3, 0x1
- cmp r3, 0x3
- ble _0801DE90
-_0801DEAC:
- bl sub_8004914
- ldr r0, _0801DECC
- ldr r0, [r0]
- adds r0, 0xBC
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DECC: .4byte gUnknown_203B25C
- thumb_func_end sub_801DD84
-
- thumb_func_start sub_801DED0
-sub_801DED0:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801DEEC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x7
- bhi _0801DF94
- lsls r0, 2
- ldr r1, _0801DEF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801DEEC: .4byte gUnknown_203B25C
-_0801DEF0: .4byte _0801DEF4
- .align 2, 0
-_0801DEF4:
- .4byte _0801DF14
- .4byte _0801DF14
- .4byte _0801DF94
- .4byte _0801DF38
- .4byte _0801DF40
- .4byte _0801DF48
- .4byte _0801DF52
- .4byte _0801DF70
-_0801DF14:
- ldr r2, [r3]
- ldr r0, _0801DF34
- str r0, [r2, 0x1C]
- adds r0, r2, 0
- adds r0, 0x1C
- adds r1, r2, 0
- adds r1, 0x6C
- adds r3, r2, 0
- adds r3, 0xAC
- ldr r2, [r2, 0x18]
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- bl sub_8012D60
- b _0801DF94
- .align 2, 0
-_0801DF34: .4byte gUnknown_80DBFE4
-_0801DF38:
- movs r0, 0
- bl sub_801E3F0
- b _0801DF94
-_0801DF40:
- movs r0, 0x1
- bl sub_801E510
- b _0801DF94
-_0801DF48:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- bl sub_801E658
- b _0801DF94
-_0801DF52:
- ldr r1, [r3]
- ldr r0, _0801DF6C
- adds r1, 0x8
- ldr r0, [r0]
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, [r3]
- adds r0, 0x8
- bl sub_801E198
- b _0801DF94
- .align 2, 0
-_0801DF6C: .4byte gUnknown_203B46C
-_0801DF70:
- bl sub_801DFE4
- ldr r0, _0801DF9C
- ldr r1, _0801DFA0
- ldr r3, [r1]
- adds r3, 0x6C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x4
- bl sub_8014248
-_0801DF94:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DF9C: .4byte gUnknown_80DBFEC
-_0801DFA0: .4byte gUnknown_203B25C
- thumb_func_end sub_801DED0
-
- thumb_func_start sub_801DFA4
-sub_801DFA4:
- push {r4,lr}
- ldr r4, _0801DFD8
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- movs r3, 0
- ldr r1, _0801DFDC
- str r1, [r0, 0x6C]
- movs r1, 0x3
- str r1, [r0, 0x70]
- movs r2, 0x1
- ldr r1, _0801DFE0
- str r1, [r0, 0x74]
- movs r1, 0x2
- str r1, [r0, 0x78]
- str r3, [r0, 0x7C]
- adds r0, 0x80
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801DFD8: .4byte gUnknown_203B25C
-_0801DFDC: .4byte gUnknown_80DC000
-_0801DFE0: .4byte gUnknown_80DC010
- thumb_func_end sub_801DFA4
-
- thumb_func_start sub_801DFE4
-sub_801DFE4:
- push {r4,lr}
- ldr r4, _0801E01C
- ldr r0, [r4]
- adds r0, 0xAC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _0801E020
- ldr r0, [r0]
- str r0, [r1, 0x6C]
- movs r0, 0x4
- str r0, [r1, 0x70]
- movs r2, 0x1
- ldr r0, _0801E024
- ldr r0, [r0]
- str r0, [r1, 0x74]
- movs r0, 0x5
- str r0, [r1, 0x78]
- str r3, [r1, 0x7C]
- adds r1, 0x80
- str r2, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E01C: .4byte gUnknown_203B25C
-_0801E020: .4byte gUnknown_80D4920
-_0801E024: .4byte gUnknown_80D4928
- thumb_func_end sub_801DFE4
-
- thumb_func_start sub_801E028
-sub_801E028:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0801E060
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801E050
- ldr r0, [r4]
- adds r0, 0x1C
- mov r1, sp
- bl sub_8013114
- ldr r1, [r4]
- ldr r0, [sp]
- str r0, [r1, 0x18]
-_0801E050:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801E06A
- cmp r0, 0x2
- bgt _0801E064
- cmp r0, 0x1
- beq _0801E07A
- b _0801E080
- .align 2, 0
-_0801E060: .4byte gUnknown_203B25C
-_0801E064:
- cmp r0, 0x3
- beq _0801E072
- b _0801E080
-_0801E06A:
- movs r0, 0x3
- bl sub_801DD6C
- b _0801E080
-_0801E072:
- movs r0, 0x6
- bl sub_801DD6C
- b _0801E080
-_0801E07A:
- movs r0, 0x2
- bl sub_801DD6C
-_0801E080:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E028
-
- thumb_func_start sub_801E088
-sub_801E088:
- push {lr}
- movs r0, 0x1
- bl sub_801E474
- cmp r0, 0x4
- bhi _0801E0DA
- lsls r0, 2
- ldr r1, _0801E0A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801E0A0: .4byte _0801E0A4
- .align 2, 0
-_0801E0A4:
- .4byte _0801E0DA
- .4byte _0801E0DA
- .4byte _0801E0D0
- .4byte _0801E0B8
- .4byte _0801E0B8
-_0801E0B8:
- bl sub_801E4F4
- ldr r1, _0801E0CC
- ldr r1, [r1]
- str r0, [r1, 0x4]
- movs r0, 0x5
- bl sub_801DD6C
- b _0801E0DA
- .align 2, 0
-_0801E0CC: .4byte gUnknown_203B25C
-_0801E0D0:
- bl sub_801E54C
- movs r0, 0x1
- bl sub_801DD6C
-_0801E0DA:
- pop {r0}
- bx r0
- thumb_func_end sub_801E088
-
- thumb_func_start sub_801E0E0
-sub_801E0E0:
- push {lr}
- bl sub_801E6CC
- cmp r0, 0x1
- bls _0801E0F8
- cmp r0, 0x3
- bhi _0801E0F8
- bl sub_801E724
- movs r0, 0x4
- bl sub_801DD6C
-_0801E0F8:
- pop {r0}
- bx r0
- thumb_func_end sub_801E0E0
-
- thumb_func_start sub_801E0FC
-sub_801E0FC:
- push {lr}
- bl sub_801E218
- cmp r0, 0x1
- bls _0801E132
- cmp r0, 0x3
- bhi _0801E132
- bl sub_801E2C4
- ldr r0, _0801E128
- ldr r0, [r0]
- adds r0, 0x8
- bl sub_80949DC
- lsls r0, 24
- cmp r0, 0
- beq _0801E12C
- movs r0, 0x1
- bl sub_801DD6C
- b _0801E132
- .align 2, 0
-_0801E128: .4byte gUnknown_203B25C
-_0801E12C:
- movs r0, 0x7
- bl sub_801DD6C
-_0801E132:
- pop {r0}
- bx r0
- thumb_func_end sub_801E0FC
-
- thumb_func_start sub_801E138
-sub_801E138:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801E18E
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801E15C
- cmp r0, 0x4
- bgt _0801E156
- cmp r0, 0x1
- beq _0801E188
- b _0801E18E
-_0801E156:
- cmp r0, 0x5
- beq _0801E188
- b _0801E18E
-_0801E15C:
- ldr r1, _0801E180
- ldr r0, _0801E184
- ldr r0, [r0]
- ldr r1, [r1]
- adds r0, 0x8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- bl sub_8094C14
- movs r0, 0
- bl sub_8099690
- movs r0, 0x1
- bl sub_801DD6C
- b _0801E18E
- .align 2, 0
-_0801E180: .4byte gUnknown_203B46C
-_0801E184: .4byte gUnknown_203B25C
-_0801E188:
- movs r0, 0x1
- bl sub_801DD6C
-_0801E18E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801E138
-
- thumb_func_start sub_801E198
-sub_801E198:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _0801E210
- movs r0, 0xAC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- stm r0!, {r5}
- bl sub_801317C
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x44]
- adds r0, r1, 0
- adds r0, 0x4C
- str r0, [r1, 0x48]
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x44]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x4C
- ldr r0, _0801E214
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r4]
- ldr r0, [r0, 0x48]
- movs r1, 0x1
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x10
- ldr r3, [r1, 0x44]
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8013818
- bl nullsub_38
- bl sub_801E310
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E210: .4byte gUnknown_203B260
-_0801E214: .4byte gUnknown_80DC03C
- thumb_func_end sub_801E198
-
- thumb_func_start sub_801E218
-sub_801E218:
- push {r4,lr}
- movs r4, 0
- bl sub_8012AE8
- cmp r0, 0x2
- beq _0801E238
- cmp r0, 0x2
- bgt _0801E22E
- cmp r0, 0x1
- beq _0801E242
- b _0801E294
-_0801E22E:
- cmp r0, 0x9
- beq _0801E24C
- cmp r0, 0xA
- beq _0801E26C
- b _0801E294
-_0801E238:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801E2BE
-_0801E242:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801E2BE
-_0801E24C:
- ldr r0, _0801E264
- ldr r1, [r0]
- movs r2, 0x28
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0801E294
- ldr r1, [r1]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _0801E268
- movs r0, 0x2
- b _0801E28A
- .align 2, 0
-_0801E264: .4byte gUnknown_203B260
-_0801E268:
- subs r0, 0x1
- b _0801E28A
-_0801E26C:
- ldr r0, _0801E284
- ldr r1, [r0]
- movs r2, 0x28
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0801E294
- ldr r1, [r1]
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bls _0801E288
- strb r4, [r1, 0x8]
- b _0801E28C
- .align 2, 0
-_0801E284: .4byte gUnknown_203B260
-_0801E288:
- adds r0, 0x1
-_0801E28A:
- strb r0, [r1, 0x8]
-_0801E28C:
- movs r0, 0x3
- bl sub_80119D4
- movs r4, 0x1
-_0801E294:
- ldr r0, _0801E2B8
- ldr r0, [r0]
- adds r0, 0x10
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801E2AA
- cmp r4, 0x1
- bne _0801E2BC
-_0801E2AA:
- bl nullsub_38
- bl sub_801E310
- movs r0, 0x1
- b _0801E2BE
- .align 2, 0
-_0801E2B8: .4byte gUnknown_203B260
-_0801E2BC:
- movs r0, 0
-_0801E2BE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801E218
-
- thumb_func_start sub_801E2C4
-sub_801E2C4:
- push {r4,r5,lr}
- ldr r4, _0801E304
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E2FE
- ldr r0, [r2, 0x44]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4C
- ldr r0, _0801E308
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E2FE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E304: .4byte gUnknown_203B260
-_0801E308: .4byte gUnknown_80DC020
- thumb_func_end sub_801E2C4
-
- thumb_func_start nullsub_38
-nullsub_38:
- bx lr
- thumb_func_end nullsub_38
-
- thumb_func_start sub_801E310
-sub_801E310:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _0801E368
- ldr r0, [r5]
- ldr r0, [r0, 0x44]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x44]
- bl sub_80073B8
- ldr r2, _0801E36C
- ldr r0, [r5]
- ldr r3, [r0, 0x44]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- adds r0, 0x10
- movs r1, 0
- bl sub_8013800
- adds r6, r0, 0
- ldr r2, _0801E370
- ldr r0, [r5]
- ldr r3, [r0, 0x44]
- str r4, [sp]
- movs r0, 0x8
- adds r1, r6, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0801E384
- cmp r0, 0x1
- bgt _0801E374
- cmp r0, 0
- beq _0801E37A
- b _0801E3D6
- .align 2, 0
-_0801E368: .4byte gUnknown_203B260
-_0801E36C: .4byte gUnknown_80DC054
-_0801E370: .4byte gUnknown_80DC064
-_0801E374:
- cmp r0, 0x2
- beq _0801E3B0
- b _0801E3D6
-_0801E37A:
- ldr r0, _0801E380
- b _0801E386
- .align 2, 0
-_0801E380: .4byte gUnknown_80DC084
-_0801E384:
- ldr r0, _0801E3AC
-_0801E386:
- bl sub_8008ED0
- adds r4, r0, 0
- ldr r1, [r5]
- ldr r0, [r1, 0x44]
- ldr r1, [r1]
- ldrb r2, [r1, 0x8]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, 0x50
- adds r2, r6, 0
- adds r2, 0xA
- movs r3, 0x7
- str r3, [sp]
- adds r3, r4, 0
- bl sub_80078A4
- b _0801E3D6
- .align 2, 0
-_0801E3AC: .4byte gUnknown_80DC08C
-_0801E3B0:
- ldr r0, _0801E3E8
- bl sub_8008ED0
- adds r4, r0, 0
- ldr r1, [r5]
- ldr r0, [r1, 0x44]
- ldr r1, [r1]
- ldrb r2, [r1, 0x8]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, 0x50
- adds r2, r6, 0
- adds r2, 0xA
- movs r3, 0x7
- str r3, [sp]
- adds r3, r4, 0
- bl sub_80078A4
-_0801E3D6:
- ldr r0, _0801E3EC
- ldr r0, [r0]
- ldr r0, [r0, 0x44]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E3E8: .4byte gUnknown_80DC090
-_0801E3EC: .4byte gUnknown_203B260
- thumb_func_end sub_801E310
-
- thumb_func_start sub_801E3F0
-sub_801E3F0:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E46C
- ldr r0, [r4]
- cmp r0, 0
- bne _0801E406
- movs r0, 0x9C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0801E406:
- ldr r0, [r4]
- str r5, [r0, 0x34]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801E470
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r0, [r0, 0x38]
- movs r1, 0xA
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x5
- movs r2, 0xA
- adds r3, r5, 0
- bl sub_8013818
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E46C: .4byte gUnknown_203B264
-_0801E470: .4byte gUnknown_80DC0BC
- thumb_func_end sub_801E3F0
-
- thumb_func_start sub_801E474
-sub_801E474:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801E48C
- ldr r0, _0801E488
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E488: .4byte gUnknown_203B264
-_0801E48C:
- ldr r0, _0801E4A4
- ldr r0, [r0]
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801E4AE
- cmp r0, 0x2
- bgt _0801E4A8
- cmp r0, 0x1
- beq _0801E4B8
- b _0801E4CC
- .align 2, 0
-_0801E4A4: .4byte gUnknown_203B264
-_0801E4A8:
- cmp r0, 0x4
- beq _0801E4C2
- b _0801E4CC
-_0801E4AE:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801E4EE
-_0801E4B8:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801E4EE
-_0801E4C2:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801E4EE
-_0801E4CC:
- ldr r0, _0801E4E0
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801E4E4
- movs r0, 0
- b _0801E4EE
- .align 2, 0
-_0801E4E0: .4byte gUnknown_203B264
-_0801E4E4:
- bl sub_801E594
- bl sub_801E5E8
- movs r0, 0x1
-_0801E4EE:
- pop {r1}
- bx r1
- thumb_func_end sub_801E474
-
- thumb_func_start sub_801E4F4
-sub_801E4F4:
- ldr r0, _0801E50C
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- movs r2, 0x18
- ldrsh r1, [r1, r2]
- adds r0, r1
- bx lr
- .align 2, 0
-_0801E50C: .4byte gUnknown_203B264
- thumb_func_end sub_801E4F4
-
- thumb_func_start sub_801E510
-sub_801E510:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801E548
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- bl sub_8013984
- bl sub_801E594
- bl sub_801E5E8
- cmp r4, 0
- beq _0801E542
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0801E542:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E548: .4byte gUnknown_203B264
- thumb_func_end sub_801E510
-
- thumb_func_start sub_801E54C
-sub_801E54C:
- push {r4,r5,lr}
- ldr r4, _0801E58C
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E586
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E590
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E586:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E58C: .4byte gUnknown_203B264
-_0801E590: .4byte gUnknown_80DC0A0
- thumb_func_end sub_801E54C
-
- thumb_func_start sub_801E594
-sub_801E594:
- push {r4,lr}
- ldr r4, _0801E5E4
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E5E4: .4byte gUnknown_203B264
- thumb_func_end sub_801E594
-
- thumb_func_start sub_801E5E8
-sub_801E5E8:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r4, _0801E64C
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0801E650
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- bl xxx_call_draw_string
- movs r5, 0
- adds r6, r4, 0
- ldr r4, _0801E654
-_0801E616:
- ldr r0, [r6]
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4]
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- bl xxx_call_draw_string
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- ble _0801E616
- ldr r0, _0801E64C
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E64C: .4byte gUnknown_203B264
-_0801E650: .4byte gUnknown_80DC0D4
-_0801E654: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E5E8
-
- thumb_func_start sub_801E658
-sub_801E658:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0801E6C4
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x3C
- str r1, [r0, 0x38]
- adds r0, r1, 0
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0801E6C8
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r1, 0x5
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- strh r5, [r0, 0x1E]
- bl sub_801E714
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E6C4: .4byte gUnknown_203B268
-_0801E6C8: .4byte gUnknown_80DC0FC
- thumb_func_end sub_801E658
-
- thumb_func_start sub_801E6CC
-sub_801E6CC:
- push {r4,lr}
- ldr r4, _0801E6E8
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0801E6EC
- cmp r0, 0x2
- bne _0801E6F6
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801E70C
- .align 2, 0
-_0801E6E8: .4byte gUnknown_203B268
-_0801E6EC:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801E70C
-_0801E6F6:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0801E706
- movs r0, 0
- b _0801E70C
-_0801E706:
- bl sub_801E714
- movs r0, 0x1
-_0801E70C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_801E6CC
-
- thumb_func_start sub_801E714
-sub_801E714:
- push {lr}
- bl sub_801E76C
- bl sub_801E7AC
- pop {r0}
- bx r0
- thumb_func_end sub_801E714
-
- thumb_func_start sub_801E724
-sub_801E724:
- push {r4,r5,lr}
- ldr r4, _0801E764
- ldr r2, [r4]
- cmp r2, 0
- beq _0801E75E
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0801E768
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E75E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E764: .4byte gUnknown_203B268
-_0801E768: .4byte gUnknown_80DC0E4
- thumb_func_end sub_801E724
-
- thumb_func_start sub_801E76C
-sub_801E76C:
- push {r4,lr}
- ldr r4, _0801E7A8
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xF
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E7A8: .4byte gUnknown_203B268
- thumb_func_end sub_801E76C
-
- thumb_func_start sub_801E7AC
-sub_801E7AC:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r5, _0801E804
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r3, [r5]
- movs r0, 0x1E
- ldrsh r1, [r3, r0]
- lsls r1, 3
- adds r0, r1, 0
- adds r0, 0x10
- ldr r4, _0801E808
- adds r1, r4
- ldr r2, [r1]
- ldr r3, [r3, 0x34]
- movs r6, 0
- str r6, [sp]
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r5]
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r2, [r0]
- ldr r3, [r1, 0x34]
- str r6, [sp]
- movs r0, 0xA
- movs r1, 0x14
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E804: .4byte gUnknown_203B268
-_0801E808: .4byte gUnknown_80DAA98
- thumb_func_end sub_801E7AC
-
- thumb_func_start sub_801E80C
-sub_801E80C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- asrs r4, 16
- ldr r5, _0801E84C
- movs r0, 0xC6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r5]
- mov r0, r8
- str r0, [r2]
- strh r4, [r2, 0xC]
- str r6, [r2, 0x10]
- ldrh r0, [r6, 0x22]
- strh r0, [r2, 0x1C]
- mov r1, r8
- cmp r1, 0
- bne _0801E850
- movs r3, 0x94
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0x8C
- lsls r4, 1
- adds r0, r2, r4
- b _0801E858
- .align 2, 0
-_0801E84C: .4byte gUnknown_203B26C
-_0801E850:
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
-_0801E858:
- str r0, [r1]
- ldr r0, _0801E8B4
- bl sub_808DDD0
- ldr r2, _0801E8B8
- ldr r3, [r2]
- movs r4, 0x8C
- lsls r4, 1
- adds r1, r3, r4
- str r0, [r1]
- adds r4, 0x4
- adds r1, r3, r4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0x92
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0801E8BC
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r4, 0xA
- adds r0, r4
- strb r1, [r0]
- ldr r2, [r2]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x3
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_801E968
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801E8B4: .4byte 0x00000155
-_0801E8B8: .4byte gUnknown_203B26C
-_0801E8BC: .4byte 0x00000125
- thumb_func_end sub_801E80C
-
- thumb_func_start sub_801E8C0
-sub_801E8C0:
- push {lr}
- ldr r0, _0801E8D8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x6
- bhi _0801E928
- lsls r0, 2
- ldr r1, _0801E8DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801E8D8: .4byte gUnknown_203B26C
-_0801E8DC: .4byte _0801E8E0
- .align 2, 0
-_0801E8E0:
- .4byte _0801E8FC
- .4byte _0801E8FC
- .4byte _0801E902
- .4byte _0801E908
- .4byte _0801E90E
- .4byte _0801E91C
- .4byte _0801E924
-_0801E8FC:
- bl sub_801ECBC
- b _0801E928
-_0801E902:
- bl sub_801ED28
- b _0801E928
-_0801E908:
- bl sub_801EDA4
- b _0801E928
-_0801E90E:
- bl sub_801EDC0
- ldr r0, _0801E920
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x5
- bne _0801E928
-_0801E91C:
- movs r0, 0x3
- b _0801E92A
- .align 2, 0
-_0801E920: .4byte gUnknown_203B26C
-_0801E924:
- movs r0, 0x2
- b _0801E92A
-_0801E928:
- movs r0, 0
-_0801E92A:
- pop {r1}
- bx r1
- thumb_func_end sub_801E8C0
-
- thumb_func_start sub_801E930
-sub_801E930:
- ldr r0, _0801E938
- ldr r0, [r0]
- ldrb r0, [r0, 0xE]
- bx lr
- .align 2, 0
-_0801E938: .4byte gUnknown_203B26C
- thumb_func_end sub_801E930
-
- thumb_func_start sub_801E93C
-sub_801E93C:
- push {r4,lr}
- ldr r4, _0801E964
- ldr r0, [r4]
- cmp r0, 0
- beq _0801E95C
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801E95C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801E964: .4byte gUnknown_203B26C
- thumb_func_end sub_801E93C
-
- thumb_func_start sub_801E968
-sub_801E968:
- push {lr}
- ldr r1, _0801E97C
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801E980
- bl sub_801EA28
- pop {r0}
- bx r0
- .align 2, 0
-_0801E97C: .4byte gUnknown_203B26C
- thumb_func_end sub_801E968
-
- thumb_func_start sub_801E980
-sub_801E980:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0801E9D0
- ldr r0, [r4]
- movs r5, 0x96
- lsls r5, 1
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- cmp r0, 0x2
- bne _0801E9DC
- bl sub_801EBC4
- ldr r1, [r4]
- movs r0, 0xA2
- lsls r0, 1
- adds r1, r0
- ldr r0, _0801E9D4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldr r2, [r4]
- movs r0, 0xAE
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801E9D8
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x28
- bl sub_8012CAC
- b _0801EA00
- .align 2, 0
-_0801E9D0: .4byte gUnknown_203B26C
-_0801E9D4: .4byte gUnknown_80DC11C
-_0801E9D8: .4byte gUnknown_80DC134
-_0801E9DC:
- mov r12, r4
- mov r8, r5
- ldr r4, _0801EA20
- movs r2, 0
- movs r3, 0x3
-_0801E9E6:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r2
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0801E9E6
-_0801EA00:
- bl sub_8004914
- ldr r0, _0801EA24
- ldr r0, [r0]
- movs r7, 0x96
- lsls r7, 1
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801EA20: .4byte gUnknown_80DC11C
-_0801EA24: .4byte gUnknown_203B26C
- thumb_func_end sub_801E980
-
- thumb_func_start sub_801EA28
-sub_801EA28:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801EA44
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _0801EA3A
- b _0801EBB8
-_0801EA3A:
- lsls r0, 2
- ldr r1, _0801EA48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801EA44: .4byte gUnknown_203B26C
-_0801EA48: .4byte _0801EA4C
- .align 2, 0
-_0801EA4C:
- .4byte _0801EA60
- .4byte _0801EA80
- .4byte _0801EA8A
- .4byte _0801EAB4
- .4byte _0801EACA
-_0801EA60:
- ldr r0, [r4]
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- ldr r2, [r0, 0x10]
- ldr r0, _0801EA7C
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x2
- movs r3, 0
- bl sub_801EE10
- b _0801EBB8
- .align 2, 0
-_0801EA7C: .4byte gUnknown_80DC164
-_0801EA80:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _0801EBB8
-_0801EA8A:
- movs r0, 0
- bl sub_801F280
- ldr r0, _0801EAB0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0x28
- adds r3, r2, 0
- adds r3, 0x68
- ldr r2, [r2, 0x24]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0801EBB8
- .align 2, 0
-_0801EAB0: .4byte gUnknown_203B26C
-_0801EAB4:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- adds r2, 0x14
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_801F808
- b _0801EBB8
-_0801EACA:
- bl sub_801EC7C
- ldr r4, _0801EAF8
- ldr r5, _0801EAFC
- ldr r0, [r5]
- ldrh r1, [r0, 0x1C]
- adds r0, r4, 0
- bl sub_8092C84
- adds r4, 0x50
- ldr r0, [r5]
- ldrh r1, [r0, 0x1E]
- adds r0, r4, 0
- bl sub_8092C84
- ldr r2, [r5]
- ldr r3, [r2]
- cmp r3, 0x1
- bls _0801EB00
- cmp r3, 0x2
- beq _0801EB68
- b _0801EBB8
- .align 2, 0
-_0801EAF8: .4byte gUnknown_202DF98
-_0801EAFC: .4byte gUnknown_203B26C
-_0801EB00:
- ldrb r4, [r2, 0xE]
- cmp r4, 0
- beq _0801EB38
- ldr r1, _0801EB34
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x30
- adds r0, r1
- ldr r0, [r0]
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r4, 0x94
- lsls r4, 1
- adds r1, r2, r4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- b _0801EB86
- .align 2, 0
-_0801EB34: .4byte gUnknown_80D8888
-_0801EB38:
- ldr r1, _0801EB64
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x2C
- adds r0, r1
- ldr r0, [r0]
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r4, 0x94
- lsls r4, 1
- adds r1, r2, r4
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- b _0801EB86
- .align 2, 0
-_0801EB64: .4byte gUnknown_80D8888
-_0801EB68:
- ldrb r4, [r2, 0xE]
- cmp r4, 0
- beq _0801EB98
- ldr r0, _0801EB94
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0x20
-_0801EB86:
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _0801EBB8
- .align 2, 0
-_0801EB94: .4byte gUnknown_80DC1A0
-_0801EB98:
- ldr r0, _0801EBC0
- adds r3, r2, 0
- adds r3, 0x28
- adds r1, r2, 0
- adds r1, 0x68
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r1, 0x20
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
-_0801EBB8:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801EBC0: .4byte gUnknown_80DC1FC
- thumb_func_end sub_801EA28
-
- thumb_func_start sub_801EBC4
-sub_801EBC4:
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _0801EC48
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, _0801EC4C
- str r0, [r1, 0x28]
- movs r0, 0x2
- str r0, [r1, 0x2C]
- ldrh r0, [r1, 0x1E]
- ldr r1, [r1, 0x10]
- bl sub_80933A0
- lsls r0, 24
- cmp r0, 0
- beq _0801EBF6
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- cmp r0, 0x3
- ble _0801EBFE
-_0801EBF6:
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- strh r1, [r0]
-_0801EBFE:
- adds r5, 0x1
- ldr r4, _0801EC48
- ldr r0, [r4]
- mov r12, r0
- lsls r1, r5, 3
- mov r3, r12
- adds r3, 0x28
- adds r2, r3, r1
- ldr r0, _0801EC50
- ldr r0, [r0]
- str r0, [r2]
- mov r2, r12
- adds r2, 0x2C
- adds r1, r2, r1
- movs r0, 0x3
- str r0, [r1]
- adds r5, 0x1
- lsls r1, r5, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r2, r1
- movs r0, 0x1
- str r0, [r2]
- movs r3, 0
- cmp r3, r5
- bge _0801EC76
- mov r0, r12
- adds r0, 0x68
- ldrh r0, [r0]
- cmp r0, 0
- bne _0801EC54
- mov r1, r12
- ldr r0, [r1, 0x2C]
- str r0, [r1, 0x24]
- b _0801EC76
- .align 2, 0
-_0801EC48: .4byte gUnknown_203B26C
-_0801EC4C: .4byte gUnknown_80DC230
-_0801EC50: .4byte gUnknown_80D4970
-_0801EC54:
- adds r3, 0x1
- cmp r3, r5
- bge _0801EC76
- ldr r2, [r4]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0x68
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0801EC54
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x2C
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x24]
-_0801EC76:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_801EBC4
-
- thumb_func_start sub_801EC7C
-sub_801EC7C:
- push {r4,lr}
- ldr r4, _0801ECB0
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _0801ECB4
- ldr r0, [r0]
- str r0, [r1, 0x28]
- movs r0, 0x4
- str r0, [r1, 0x2C]
- movs r2, 0x1
- ldr r0, _0801ECB8
- ldr r0, [r0]
- str r0, [r1, 0x30]
- movs r0, 0x5
- str r0, [r1, 0x34]
- str r3, [r1, 0x38]
- str r2, [r1, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801ECB0: .4byte gUnknown_203B26C
-_0801ECB4: .4byte gUnknown_80D4920
-_0801ECB8: .4byte gUnknown_80D4928
- thumb_func_end sub_801EC7C
-
- thumb_func_start sub_801ECBC
-sub_801ECBC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x3
- beq _0801ECD8
- cmp r0, 0x3
- bhi _0801ECD2
- cmp r0, 0x2
- beq _0801ED18
- b _0801ED22
-_0801ECD2:
- cmp r0, 0x4
- beq _0801ECF8
- b _0801ED22
-_0801ECD8:
- bl sub_801F194
- ldr r1, _0801ECF4
- ldr r2, [r1]
- str r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x1E]
- movs r0, 0x2
- bl sub_801E968
- b _0801ED22
- .align 2, 0
-_0801ECF4: .4byte gUnknown_203B26C
-_0801ECF8:
- bl sub_801F194
- ldr r1, _0801ED14
- ldr r2, [r1]
- str r0, [r2, 0x20]
- ldr r1, [r2, 0x10]
- lsls r0, 3
- adds r1, r0
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x1E]
- movs r0, 0x3
- bl sub_801E968
- b _0801ED22
- .align 2, 0
-_0801ED14: .4byte gUnknown_203B26C
-_0801ED18:
- bl sub_801F214
- movs r0, 0x6
- bl sub_801E968
-_0801ED22:
- pop {r0}
- bx r0
- thumb_func_end sub_801ECBC
-
- thumb_func_start sub_801ED28
-sub_801ED28:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801EF38
- ldr r4, _0801ED60
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0801ED4E
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
-_0801ED4E:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0801ED74
- cmp r0, 0x2
- bgt _0801ED64
- cmp r0, 0x1
- beq _0801ED6C
- b _0801ED9A
- .align 2, 0
-_0801ED60: .4byte gUnknown_203B26C
-_0801ED64:
- cmp r0, 0x3
- beq _0801ED94
- cmp r0, 0x5
- bne _0801ED9A
-_0801ED6C:
- movs r0, 0x1
- bl sub_801E968
- b _0801ED9A
-_0801ED74:
- ldr r0, _0801ED90
- bl sub_8011988
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- ldr r1, [r1, 0x10]
- bl sub_80934B0
- ldr r1, [r4]
- strb r0, [r1, 0xE]
- movs r0, 0x4
- bl sub_801E968
- b _0801ED9A
- .align 2, 0
-_0801ED90: .4byte 0x00000133
-_0801ED94:
- movs r0, 0x3
- bl sub_801E968
-_0801ED9A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801ED28
-
- thumb_func_start sub_801EDA4
-sub_801EDA4:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _0801EDBC
- cmp r0, 0x3
- bhi _0801EDBC
- bl sub_801F8D0
- movs r0, 0x1
- bl sub_801E968
-_0801EDBC:
- pop {r0}
- bx r0
- thumb_func_end sub_801EDA4
-
- thumb_func_start sub_801EDC0
-sub_801EDC0:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0801EE06
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0801EDE4
- cmp r0, 0x4
- bgt _0801EDDE
- cmp r0, 0x1
- beq _0801EE00
- b _0801EE06
-_0801EDDE:
- cmp r0, 0x5
- beq _0801EE00
- b _0801EE06
-_0801EDE4:
- bl sub_801F214
- ldr r4, _0801EDFC
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- ldr r1, [r1, 0x20]
- bl sub_8093CF8
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x4]
- b _0801EE06
- .align 2, 0
-_0801EDFC: .4byte gUnknown_203B26C
-_0801EE00:
- movs r0, 0x1
- bl sub_801E968
-_0801EE06:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801EDC0
-
- thumb_func_start sub_801EE10
-sub_801EE10:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- mov r9, r2
- adds r4, r3, 0
- ldr r0, [sp, 0x20]
- mov r8, r0
- lsls r1, 16
- asrs r7, r1, 16
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0801EF28
- movs r0, 0xBC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r2, 0
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- movs r1, 0x1
- strb r1, [r0, 0x5]
- ldr r0, [r5]
- strb r1, [r0, 0x6]
- ldr r0, [r5]
- strb r1, [r0, 0x7]
- ldr r0, [r5]
- str r6, [r0]
- cmp r6, 0x1
- bls _0801EE5E
- cmp r6, 0x3
- bhi _0801EE5E
- strb r2, [r0, 0x5]
- ldr r0, [r5]
- strb r2, [r0, 0x6]
- ldr r0, [r5]
- strb r2, [r0, 0x7]
-_0801EE5E:
- ldr r4, _0801EF28
- ldr r3, [r4]
- ldr r2, _0801EF2C
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- str r0, [r3, 0x8]
- ldrb r0, [r0, 0x2]
- strb r0, [r3, 0xC]
- ldr r0, [r4]
- mov r1, r9
- str r1, [r0, 0x10]
- adds r0, 0xB8
- ldr r1, [sp, 0x1C]
- str r1, [r0]
- bl sub_801F3F8
- adds r5, r0, 0
- adds r6, r5, 0
- cmp r5, 0x4
- bge _0801EE8E
- movs r6, 0x4
-_0801EE8E:
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8006518
- ldr r1, [r4]
- mov r2, r8
- str r2, [r1, 0x50]
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 3
- adds r1, r0
- adds r1, 0x58
- ldr r0, _0801EF30
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r0, [r4]
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801EED8
- mov r0, r8
- bl sub_8006544
- ldr r1, [r4]
- str r0, [r1, 0x54]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r1, r2
- adds r1, 0x58
- ldr r0, _0801EF34
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
-_0801EED8:
- ldr r0, [r4]
- ldr r2, [r0, 0x50]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, 0x58
- adds r0, r1
- adds r1, r6, 0
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, 0x1C
- adds r1, r5, 0
- adds r2, r5, 0
- mov r3, r8
- bl sub_8013818
- ldr r0, [r4]
- adds r0, 0x1C
- movs r1, 0
- bl sub_8013780
- movs r0, 0x1
- bl sub_801F280
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801EF28: .4byte gUnknown_203B270
-_0801EF2C: .4byte gUnknown_203B45C
-_0801EF30: .4byte gUnknown_80DC25C
-_0801EF34: .4byte gUnknown_80DC274
- thumb_func_end sub_801EE10
-
- thumb_func_start sub_801EF38
-sub_801EF38:
- push {r4-r7,lr}
- lsls r0, 24
- movs r7, 0
- cmp r0, 0
- bne _0801EF54
- ldr r0, _0801EF50
- ldr r0, [r0]
- adds r0, 0x1C
- bl sub_8013660
- b _0801F18C
- .align 2, 0
-_0801EF50: .4byte gUnknown_203B270
-_0801EF54:
- ldr r0, _0801EF70
- ldr r0, [r0]
- adds r0, 0x1C
- bl GetKeyPress
- subs r0, 0x1
- cmp r0, 0xC
- bls _0801EF66
- b _0801F12E
-_0801EF66:
- lsls r0, 2
- ldr r1, _0801EF74
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801EF70: .4byte gUnknown_203B270
-_0801EF74: .4byte _0801EF78
- .align 2, 0
-_0801EF78:
- .4byte _0801EFB6
- .4byte _0801EFAC
- .4byte _0801F0E4
- .4byte _0801EFC0
- .4byte _0801F12E
- .4byte _0801F12E
- .4byte _0801EFE4
- .4byte _0801EFCA
- .4byte _0801F12E
- .4byte _0801F12E
- .4byte _0801F074
- .4byte _0801F04C
- .4byte _0801F018
-_0801EFAC:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801F18E
-_0801EFB6:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801F18E
-_0801EFC0:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801F18E
-_0801EFCA:
- ldr r5, _0801EFE0
- ldr r0, [r5]
- movs r1, 0x34
- ldrsh r6, [r0, r1]
- adds r4, r0, 0
- adds r4, 0x1C
- ldr r0, [r0, 0x10]
- adds r1, r6, 0
- bl sub_8092E54
- b _0801EFF8
- .align 2, 0
-_0801EFE0: .4byte gUnknown_203B270
-_0801EFE4:
- ldr r5, _0801F014
- ldr r0, [r5]
- movs r1, 0x34
- ldrsh r6, [r0, r1]
- adds r4, r0, 0
- adds r4, 0x1C
- ldr r0, [r0, 0x10]
- adds r1, r6, 0
- bl sub_8092EEC
-_0801EFF8:
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8013780
- ldr r0, [r5]
- movs r2, 0x34
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bne _0801F00C
- b _0801F12E
-_0801F00C:
- movs r0, 0x3
- bl sub_80119D4
- b _0801F12E
- .align 2, 0
-_0801F014: .4byte gUnknown_203B270
-_0801F018:
- ldr r0, _0801F048
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r5, r0, 0
- cmp r1, 0
- bne _0801F026
- b _0801F12E
-_0801F026:
- movs r0, 0x34
- ldrsh r4, [r2, r0]
- ldr r0, [r2, 0x10]
- adds r1, r4, 0
- bl sub_809309C
-_0801F032:
- ldr r1, [r5]
- strh r0, [r1, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- beq _0801F06C
- movs r0, 0x3
- bl sub_80119D4
- b _0801F182
- .align 2, 0
-_0801F048: .4byte gUnknown_203B270
-_0801F04C:
- ldr r0, _0801F068
- ldr r2, [r0]
- ldrb r1, [r2, 0x5]
- adds r5, r0, 0
- cmp r1, 0
- beq _0801F12E
- movs r1, 0x34
- ldrsh r4, [r2, r1]
- ldr r0, [r2, 0x10]
- adds r1, r4, 0
- bl sub_809324C
- b _0801F032
- .align 2, 0
-_0801F068: .4byte gUnknown_203B270
-_0801F06C:
- movs r0, 0x2
- bl sub_80119D4
- b _0801F182
-_0801F074:
- ldr r0, _0801F0C8
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- adds r5, r0, 0
- cmp r1, 0
- beq _0801F12E
- ldr r0, _0801F0CC
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x95
- ble _0801F0D0
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- ldr r1, [r2, 0x10]
- bl sub_8093318
- lsls r0, 24
- cmp r0, 0
- beq _0801F0D0
- ldr r1, [r5]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093400
- movs r0, 0x6
- bl sub_80119D4
- movs r7, 0x1
- ldr r1, [r5]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0801F12E
- strb r7, [r1, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- b _0801F12E
- .align 2, 0
-_0801F0C8: .4byte gUnknown_203B270
-_0801F0CC: .4byte gUnknown_203B460
-_0801F0D0:
- ldr r0, _0801F0E0
- ldr r1, [r0]
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093468
- b _0801F0FE
- .align 2, 0
-_0801F0E0: .4byte gUnknown_203B270
-_0801F0E4:
- ldr r0, _0801F10C
- ldr r1, [r0]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _0801F12E
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0801F110
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_80934DC
-_0801F0FE:
- lsls r0, 24
- cmp r0, 0
- bne _0801F120
- movs r0, 0x2
- bl sub_80119D4
- b _0801F12E
- .align 2, 0
-_0801F10C: .4byte gUnknown_203B270
-_0801F110:
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- ldr r1, [r1, 0x10]
- bl sub_8093544
- lsls r0, 24
- cmp r0, 0
- beq _0801F128
-_0801F120:
- movs r0, 0x6
- bl sub_80119D4
- b _0801F182
-_0801F128:
- movs r0, 0x2
- bl sub_80119D4
-_0801F12E:
- cmp r7, 0
- bne _0801F182
- movs r3, 0
- ldr r5, _0801F160
- movs r4, 0x1
-_0801F138:
- ldr r2, [r5]
- lsls r0, r3, 3
- ldr r1, [r2, 0x10]
- adds r1, r0
- ldrb r1, [r1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0801F16C
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0801F164
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r3
- strb r4, [r0]
- b _0801F16C
- .align 2, 0
-_0801F160: .4byte gUnknown_203B270
-_0801F164:
- adds r0, r2, 0
- adds r0, 0x14
- adds r0, r3
- strb r1, [r0]
-_0801F16C:
- adds r3, 0x1
- cmp r3, 0x7
- ble _0801F138
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, 0x14
- bl AddMenuCursorSprite_
- cmp r7, 0
- beq _0801F18C
-_0801F182:
- movs r0, 0x1
- bl sub_801F280
- movs r0, 0x1
- b _0801F18E
-_0801F18C:
- movs r0, 0
-_0801F18E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_801EF38
-
- thumb_func_start sub_801F194
-sub_801F194:
- ldr r0, _0801F1A0
- ldr r0, [r0]
- movs r1, 0x34
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0801F1A0: .4byte gUnknown_203B270
- thumb_func_end sub_801F194
-
- thumb_func_start sub_801F1A4
-sub_801F1A4:
- ldr r0, _0801F1AC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_0801F1AC: .4byte gUnknown_203B270
- thumb_func_end sub_801F1A4
-
- thumb_func_start sub_801F1B0
-sub_801F1B0:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _0801F210
- ldr r2, [r4]
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- bne _0801F1C6
- strb r1, [r2, 0x4]
-_0801F1C6:
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_801F3F8
- adds r1, r0, 0
- ldr r0, [r4]
- strh r1, [r0, 0x3E]
- adds r0, 0x1C
- bl sub_8013984
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- movs r2, 0x34
- ldrsh r1, [r1, r2]
- bl sub_8092F4C
- ldr r1, [r4]
- strh r0, [r1, 0x34]
- movs r0, 0x1
- bl sub_801F280
- cmp r5, 0
- beq _0801F208
- ldr r0, [r4]
- adds r0, 0x1C
- bl AddMenuCursorSprite
-_0801F208:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F210: .4byte gUnknown_203B270
- thumb_func_end sub_801F1B0
-
- thumb_func_start sub_801F214
-sub_801F214:
- push {r4-r6,lr}
- ldr r4, _0801F278
- ldr r2, [r4]
- cmp r2, 0
- beq _0801F272
- ldr r0, [r2, 0x50]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- ldr r3, _0801F27C
- adds r1, 0x58
- adds r0, r3, 0
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801F258
- ldr r0, [r2, 0x54]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x58
- adds r0, r3, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
-_0801F258:
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x58
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801F272:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F278: .4byte gUnknown_203B270
-_0801F27C: .4byte gUnknown_80DC240
- thumb_func_end sub_801F214
-
- thumb_func_start sub_801F280
-sub_801F280:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r4, _0801F30C
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- adds r1, 0x4C
- add r0, sp, 0x4
- movs r2, 0xA
- bl sub_80922B4
- ldr r0, _0801F310
- add r1, sp, 0x4
- bl strcpy
- ldr r2, _0801F314
- ldr r0, [r4]
- ldr r3, [r0, 0x50]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- bl sub_8014FF0
- movs r7, 0
- ldr r0, [r4]
- movs r1, 0x36
- ldrsh r0, [r0, r1]
- cmp r7, r0
- bge _0801F394
- add r5, sp, 0x18
- mov r8, r4
- movs r0, 0x1
- mov r9, r0
-_0801F2E0:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xC
- bl memset
- movs r0, 0x6A
- str r0, [r5, 0x4]
- mov r1, r8
- ldr r2, [r1]
- lsls r1, r7, 3
- ldr r0, [r2, 0x10]
- adds r4, r0, r1
- ldrb r1, [r4]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _0801F386
- ldrb r0, [r2, 0xC]
- cmp r0, 0
- beq _0801F318
- movs r0, 0x2
- b _0801F31A
- .align 2, 0
-_0801F30C: .4byte gUnknown_203B270
-_0801F310: .4byte gUnknown_202DF98
-_0801F314: .4byte gUnknown_80DC28C
-_0801F318:
- movs r0, 0x4
-_0801F31A:
- str r0, [sp, 0x18]
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0801F328
- mov r0, r9
-_0801F328:
- strb r0, [r5, 0x9]
- cmp r7, 0x3
- ble _0801F332
- mov r1, r9
- strb r1, [r5, 0x8]
-_0801F332:
- ldr r0, _0801F3EC
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80928A0
- ldr r2, _0801F3F0
- ldr r0, [r2]
- adds r0, 0x1C
- adds r1, r7, 0
- str r2, [sp, 0x24]
- bl sub_8013800
- adds r6, r0, 0
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- movs r4, 0xD
- ldr r2, [sp, 0x24]
- cmp r0, 0
- bne _0801F372
- movs r4, 0x8
- cmp r7, 0
- beq _0801F372
- ldr r0, [r2]
- ldr r0, [r0, 0x50]
- subs r2, r6, 0x2
- movs r1, 0x7
- str r1, [sp]
- movs r1, 0xC
- movs r3, 0x78
- bl sub_800792C
-_0801F372:
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x50]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- ldr r2, _0801F3F4
- bl sub_8014FF0
-_0801F386:
- adds r7, 0x1
- mov r1, r8
- ldr r0, [r1]
- movs r1, 0x36
- ldrsh r0, [r0, r1]
- cmp r7, r0
- blt _0801F2E0
-_0801F394:
- ldr r4, _0801F3F0
- ldr r0, [r4]
- ldr r0, [r0, 0x50]
- bl sub_80073E0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- ldr r0, [r0]
- cmp r0, 0
- beq _0801F3DC
- mov r0, r10
- cmp r0, 0
- beq _0801F3DC
- ldr r0, [r1, 0x54]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x54]
- bl sub_80073B8
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- ldr r2, [r0]
- ldr r3, [r1, 0x54]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0
- bl sub_8014FF0
- ldr r0, [r4]
- ldr r0, [r0, 0x54]
- bl sub_80073E0
-_0801F3DC:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F3EC: .4byte gUnknown_202DE58
-_0801F3F0: .4byte gUnknown_203B270
-_0801F3F4: .4byte gUnknown_80DC2A0
- thumb_func_end sub_801F280
-
- thumb_func_start sub_801F3F8
-sub_801F3F8:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _0801F424
- ldr r0, [r0]
- movs r5, 0x1
- ldr r2, [r0, 0x10]
- movs r3, 0x7
-_0801F406:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0801F412
- adds r4, 0x1
-_0801F412:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0801F406
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F424: .4byte gUnknown_203B270
- thumb_func_end sub_801F3F8
-
- thumb_func_start sub_801F428
-sub_801F428:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- lsls r4, 16
- asrs r4, 16
- ldr r5, _0801F50C
- movs r0, 0xFA
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- ldr r3, _0801F510
- movs r1, 0x58
- adds r2, r4, 0
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- str r1, [r0]
- adds r1, r0, 0
- adds r1, 0x8
- str r1, [r0, 0x4]
- movs r4, 0xDF
- lsls r4, 2
- adds r1, r0, r4
- mov r2, r9
- str r2, [r1]
- movs r6, 0xE0
- lsls r6, 2
- adds r2, r0, r6
- mov r3, r9
- lsls r1, r3, 1
- add r1, r9
- lsls r1, 3
- movs r3, 0xE1
- lsls r3, 2
- mov r8, r3
- add r1, r8
- adds r1, r0, r1
- str r1, [r2]
- add r0, r8
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- add r1, r8
- ldr r0, _0801F514
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r1, [r5]
- adds r6, r1, r6
- ldr r0, [r6]
- movs r4, 0xF9
- lsls r4, 2
- adds r1, r4
- str r1, [r0, 0x14]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _0801F518
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r5]
- ldr r3, _0801F51C
- adds r0, r3
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r5]
- adds r4, 0x3
- adds r0, r4
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r5]
- add r0, r8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- movs r0, 0xD2
- lsls r0, 2
- adds r4, r0
- bl sub_801F7E4
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x4
- mov r3, r9
- bl sub_8013818
- bl sub_801F690
- bl sub_801F700
- movs r0, 0x1
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F50C: .4byte gUnknown_203B274
-_0801F510: .4byte gUnknown_203B45C
-_0801F514: .4byte gUnknown_80DC2C4
-_0801F518: .4byte 0x000003e5
-_0801F51C: .4byte 0x000003e6
- thumb_func_end sub_801F428
-
- thumb_func_start sub_801F520
-sub_801F520:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0801F540
- ldr r0, _0801F53C
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _0801F5AE
- .align 2, 0
-_0801F53C: .4byte gUnknown_203B274
-_0801F540:
- ldr r0, _0801F55C
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _0801F566
- cmp r0, 0x2
- bgt _0801F560
- cmp r0, 0x1
- beq _0801F570
- b _0801F584
- .align 2, 0
-_0801F55C: .4byte gUnknown_203B274
-_0801F560:
- cmp r0, 0x4
- beq _0801F57A
- b _0801F584
-_0801F566:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0801F5AE
-_0801F570:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0801F5AE
-_0801F57A:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0801F5AE
-_0801F584:
- ldr r0, _0801F5A0
- ldr r0, [r0]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0801F5A4
- movs r0, 0
- b _0801F5AE
- .align 2, 0
-_0801F5A0: .4byte gUnknown_203B274
-_0801F5A4:
- bl sub_801F690
- bl sub_801F700
- movs r0, 0x1
-_0801F5AE:
- pop {r1}
- bx r1
- thumb_func_end sub_801F520
-
- thumb_func_start sub_801F5B4
-sub_801F5B4:
- push {r4,lr}
- ldr r0, _0801F5E8
- ldr r1, [r0]
- ldr r2, [r1, 0x4]
- ldr r3, _0801F5EC
- adds r0, r1, r3
- movs r4, 0
- ldrsh r3, [r0, r4]
- movs r4, 0xD9
- lsls r4, 2
- adds r0, r1, r4
- movs r4, 0
- ldrsh r0, [r0, r4]
- muls r0, r3
- movs r3, 0xD8
- lsls r3, 2
- adds r1, r3
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r0, r1
- lsls r0, 1
- adds r2, r0
- ldrh r0, [r2]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F5E8: .4byte gUnknown_203B274
-_0801F5EC: .4byte 0x00000366
- thumb_func_end sub_801F5B4
-
- thumb_func_start sub_801F5F0
-sub_801F5F0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0801F638
- ldr r0, [r5]
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_801F690
- bl sub_801F700
- cmp r4, 0
- beq _0801F632
- ldr r0, [r5]
- movs r1, 0xD2
- lsls r1, 2
- adds r0, r1
- bl AddMenuCursorSprite
-_0801F632:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F638: .4byte gUnknown_203B274
- thumb_func_end sub_801F5F0
-
- thumb_func_start sub_801F63C
-sub_801F63C:
- push {r4-r6,lr}
- ldr r5, _0801F688
- ldr r2, [r5]
- cmp r2, 0
- beq _0801F680
- movs r1, 0xDF
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE1
- lsls r4, 2
- adds r1, r4
- ldr r0, _0801F68C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_0801F680:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F688: .4byte gUnknown_203B274
-_0801F68C: .4byte gUnknown_80DC2AC
- thumb_func_end sub_801F63C
-
- thumb_func_start sub_801F690
-sub_801F690:
- push {r4,r5,lr}
- ldr r5, _0801F6F4
- ldr r0, [r5]
- ldr r1, _0801F6F8
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r3, [r5]
- movs r1, 0xDF
- lsls r1, 2
- adds r4, r3, r1
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _0801F6FC
- adds r1, r2
- asrs r2, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0
- adds r2, 0x2
- movs r0, 0xE5
- lsls r0, 2
- adds r3, r0
- strh r2, [r3]
- bl sub_8004914
- ldr r0, [r5]
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F6F4: .4byte gUnknown_203B274
-_0801F6F8: .4byte 0x00000362
-_0801F6FC: .4byte 0x00000392
- thumb_func_end sub_801F690
-
- thumb_func_start sub_801F700
-sub_801F700:
- push {r4-r7,lr}
- sub sp, 0xB4
- ldr r6, _0801F7D4
- ldr r0, [r6]
- movs r4, 0xDF
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r6]
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073B8
- add r5, sp, 0x34
- ldr r1, _0801F7D8
- ldr r0, [r6]
- ldr r3, _0801F7DC
- adds r2, r0, r3
- movs r7, 0
- ldrsh r2, [r2, r7]
- adds r2, 0x1
- adds r3, 0x2
- adds r0, r3
- movs r7, 0
- ldrsh r3, [r0, r7]
- adds r0, r5, 0
- bl sub_800D158
- ldr r0, [r6]
- adds r0, r4
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r2, r5, 0
- bl xxx_call_draw_string
- movs r4, 0
- ldr r0, [r6]
- ldr r1, _0801F7E0
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r4, r0
- bge _0801F7BC
- adds r5, r6, 0
-_0801F762:
- ldr r1, [r5]
- ldr r2, [r1, 0x4]
- ldr r3, _0801F7DC
- adds r0, r1, r3
- movs r6, 0
- ldrsh r3, [r0, r6]
- movs r7, 0xD9
- lsls r7, 2
- adds r1, r7
- movs r6, 0
- ldrsh r0, [r1, r6]
- muls r0, r3
- adds r0, r4
- lsls r0, 1
- adds r2, r0
- ldrh r1, [r2]
- add r0, sp, 0x4
- bl sub_8092C84
- ldr r0, [r5]
- subs r7, 0x1C
- adds r0, r7
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, [r5]
- movs r2, 0xDF
- lsls r2, 2
- adds r0, r2
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x4
- bl xxx_call_draw_string
- adds r4, 0x1
- ldr r0, [r5]
- ldr r3, _0801F7E0
- adds r0, r3
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r4, r0
- blt _0801F762
-_0801F7BC:
- ldr r0, _0801F7D4
- ldr r0, [r0]
- movs r7, 0xDF
- lsls r7, 2
- adds r0, r7
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0xB4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F7D4: .4byte gUnknown_203B274
-_0801F7D8: .4byte gUnknown_80DC2DC
-_0801F7DC: .4byte 0x00000366
-_0801F7E0: .4byte 0x00000362
- thumb_func_end sub_801F700
-
- thumb_func_start sub_801F7E4
-sub_801F7E4:
- push {r4,lr}
- ldr r4, _0801F804
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- ldr r1, [r1]
- bl sub_808E218
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- movs r1, 0xCF
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F804: .4byte gUnknown_203B274
- thumb_func_end sub_801F7E4
-
- thumb_func_start sub_801F808
-sub_801F808:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl sub_8004D8C
- ldr r5, _0801F88C
- movs r0, 0xD4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- str r1, [r0, 0x5C]
- adds r1, r0, 0
- adds r1, 0x64
- str r1, [r0, 0x60]
- adds r0, r1, 0
- bl sub_80140B4
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- str r4, [r0, 0x4]
- movs r2, 0x4
- ldrh r0, [r4, 0x6]
- cmp r0, 0
- bne _0801F862
- adds r3, r5, 0
-_0801F84C:
- subs r2, 0x1
- cmp r2, 0x1
- ble _0801F862
- ldr r0, [r3]
- ldr r1, [r0, 0x4]
- lsls r0, r2, 1
- adds r0, r1
- subs r0, 0x2
- ldrh r0, [r0]
- cmp r0, 0
- beq _0801F84C
-_0801F862:
- ldr r4, _0801F88C
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r3, [r1, 0x5C]
- adds r1, r2, 0
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_801317C
- movs r0, 0
- bl sub_801F918
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0801F88C: .4byte gUnknown_203B278
- thumb_func_end sub_801F808
-
- thumb_func_start sub_801F890
-sub_801F890:
- push {lr}
- ldr r0, _0801F8A8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0801F8BC
- cmp r0, 0x1
- bgt _0801F8AC
- cmp r0, 0
- beq _0801F8B6
- b _0801F8C6
- .align 2, 0
-_0801F8A8: .4byte gUnknown_203B278
-_0801F8AC:
- cmp r0, 0x2
- beq _0801F8C6
- cmp r0, 0x3
- beq _0801F8C2
- b _0801F8C6
-_0801F8B6:
- bl sub_801FA58
- b _0801F8CA
-_0801F8BC:
- bl sub_801FAD4
- b _0801F8CA
-_0801F8C2:
- movs r0, 0x3
- b _0801F8CC
-_0801F8C6:
- movs r0, 0x2
- b _0801F8CC
-_0801F8CA:
- movs r0, 0
-_0801F8CC:
- pop {r1}
- bx r1
- thumb_func_end sub_801F890
-
- thumb_func_start sub_801F8D0
-sub_801F8D0:
- push {r4,r5,lr}
- ldr r4, _0801F910
- ldr r2, [r4]
- cmp r2, 0
- beq _0801F90A
- ldr r0, [r2, 0x5C]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x64
- ldr r0, _0801F914
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801F90A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801F910: .4byte gUnknown_203B278
-_0801F914: .4byte gUnknown_80DC2F8
- thumb_func_end sub_801F8D0
-
- thumb_func_start sub_801F918
-sub_801F918:
- push {lr}
- ldr r1, _0801F92C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_801F930
- bl sub_801F9A4
- pop {r0}
- bx r0
- .align 2, 0
-_0801F92C: .4byte gUnknown_203B278
- thumb_func_end sub_801F918
-
- thumb_func_start sub_801F930
-sub_801F930:
- push {r4,lr}
- ldr r4, _0801F94C
- ldr r0, [r4]
- adds r0, 0x64
- bl sub_80140B4
- ldr r2, [r4]
- ldr r3, [r2]
- cmp r3, 0
- beq _0801F950
- cmp r3, 0x1
- beq _0801F98C
- b _0801F99C
- .align 2, 0
-_0801F94C: .4byte gUnknown_203B278
-_0801F950:
- ldr r0, [r2, 0x60]
- adds r1, r2, 0
- adds r1, 0xC4
- str r1, [r0, 0x14]
- adds r0, r2, 0
- adds r0, 0x48
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x46
- ldrh r1, [r1]
- adds r0, 0xC5
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC6
- movs r1, 0x10
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC7
- strb r3, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801F99C
-_0801F98C:
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x64
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801F99C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801F930
-
- thumb_func_start sub_801F9A4
-sub_801F9A4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0801F9EC
- ldr r0, [r5]
- ldr r4, [r0]
- cmp r4, 0x1
- beq _0801F9F0
- cmp r4, 0x1
- bgt _0801FA48
- cmp r4, 0
- bne _0801FA48
- ldr r0, [r0, 0x5C]
- bl sub_8008C54
- ldr r3, [r5]
- adds r2, r3, 0
- adds r2, 0x46
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldr r1, [r3, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x8]
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldrh r1, [r3, 0x8]
- ldr r2, [r3, 0x5C]
- adds r3, 0x14
- bl sub_8093D9C
- ldr r1, [r5]
- str r0, [r1, 0x10]
- str r4, [r1, 0x24]
- b _0801FA48
- .align 2, 0
-_0801F9EC: .4byte gUnknown_203B278
-_0801F9F0:
- ldr r0, [r0, 0x5C]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x5C]
- bl sub_80073B8
- ldr r0, [r5]
- ldr r1, [r0, 0xC]
- lsls r1, 2
- adds r0, 0x14
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _0801FA50
- ldr r1, [r1]
- bl strcpy
- ldr r2, _0801FA54
- ldr r0, [r5]
- ldr r3, [r0, 0x5C]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0xC]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x14
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r0, 0x4]
- ldr r3, [r3, 0x5C]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x5C]
- bl sub_80073E0
-_0801FA48:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FA50: .4byte gUnknown_202DF98
-_0801FA54: .4byte gUnknown_80DC310
- thumb_func_end sub_801F9A4
-
- thumb_func_start sub_801FA58
-sub_801FA58:
- push {r4,lr}
- ldr r0, _0801FAA4
- ldr r2, [r0]
- ldr r1, [r2, 0x10]
- adds r4, r0, 0
- cmp r1, 0
- beq _0801FA7C
- ldr r0, [r2, 0x24]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801FA74
- bl sub_8013F84
-_0801FA74:
- ldr r1, [r4]
- ldr r0, [r1, 0x24]
- adds r0, 0x1
- str r0, [r1, 0x24]
-_0801FA7C:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- ldr r1, [r1, 0x5C]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801FAA8
- cmp r0, 0x2
- beq _0801FAC2
- ldr r0, [r4]
- adds r0, 0x28
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- beq _0801FACE
- movs r0, 0
- b _0801FACA
- .align 2, 0
-_0801FAA4: .4byte gUnknown_203B278
-_0801FAA8:
- movs r0, 0
- bl sub_80119D4
- ldr r1, [r4]
- ldr r0, [r1, 0x10]
- cmp r0, 0
- beq _0801FABE
- movs r0, 0
- str r0, [r1, 0xC]
- movs r0, 0x1
- b _0801FACA
-_0801FABE:
- movs r0, 0x3
- b _0801FACA
-_0801FAC2:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
-_0801FACA:
- bl sub_801F918
-_0801FACE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801FA58
-
- thumb_func_start sub_801FAD4
-sub_801FAD4:
- push {r4,lr}
- ldr r0, _0801FB14
- ldr r3, [r0]
- ldr r1, [r3, 0x10]
- subs r1, 0x1
- ldr r2, [r3, 0xC]
- adds r4, r0, 0
- cmp r2, r1
- bge _0801FAFC
- ldr r0, [r3, 0x24]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0801FAF4
- bl sub_8013F84
-_0801FAF4:
- ldr r1, [r4]
- ldr r0, [r1, 0x24]
- adds r0, 0x1
- str r0, [r1, 0x24]
-_0801FAFC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- ldr r1, [r1, 0x5C]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0801FB18
- cmp r0, 0x2
- beq _0801FB3C
- b _0801FB48
- .align 2, 0
-_0801FB14: .4byte gUnknown_203B278
-_0801FB18:
- movs r0, 0
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- adds r1, 0x1
- str r1, [r0, 0xC]
- ldr r0, [r0, 0x10]
- cmp r1, r0
- bge _0801FB34
- movs r0, 0x1
- bl sub_801F918
- b _0801FB48
-_0801FB34:
- movs r0, 0
- bl sub_801F918
- b _0801FB48
-_0801FB3C:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_801F918
-_0801FB48:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_801FAD4
-
- thumb_func_start sub_801FB50
-sub_801FB50:
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r6, _0801FBC0
- movs r0, 0xF0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- movs r7, 0
- str r7, [r0, 0x70]
- str r7, [r0, 0x74]
- str r7, [r0, 0x78]
- str r4, [r0]
- strb r7, [r0, 0x15]
- ldr r0, _0801FBC4
- ldr r4, _0801FBC8
- adds r1, r4, 0
- bl sub_808D8E0
- ldr r5, _0801FBCC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r5, 0
- subs r0, 0x50
- bl strcpy
- subs r5, 0xF0
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_808DA34
- ldr r2, [r6]
- ldr r0, [r2]
- cmp r0, 0x1
- bne _0801FBD0
- movs r1, 0xBE
- lsls r1, 1
- adds r0, r2, r1
- str r7, [r0]
- b _0801FBDE
- .align 2, 0
-_0801FBC0: .4byte gUnknown_203B27C
-_0801FBC4: .4byte gUnknown_202E5D8
-_0801FBC8: .4byte 0x00000155
-_0801FBCC: .4byte gUnknown_202E1C8
-_0801FBD0:
- movs r3, 0xBE
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xB6
- lsls r4, 1
- adds r0, r2, r4
- str r0, [r1]
-_0801FBDE:
- ldr r0, _0801FC34
- bl sub_808DDD0
- ldr r2, _0801FC38
- ldr r3, [r2]
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r3, r4
- str r0, [r1]
- adds r4, 0x4
- adds r1, r3, r4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0801FC3C
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r4, 0xA
- adds r0, r4
- strb r1, [r0]
- ldr r2, [r2]
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x3
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_801FDA8
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0801FC34: .4byte 0x00000155
-_0801FC38: .4byte gUnknown_203B27C
-_0801FC3C: .4byte 0x00000179
- thumb_func_end sub_801FB50
-
- thumb_func_start sub_801FC40
-sub_801FC40:
- push {lr}
- ldr r1, _0801FC5C
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r2, r1, 0
- cmp r0, 0x22
- bls _0801FC50
- b _0801FD70
-_0801FC50:
- lsls r0, 2
- ldr r1, _0801FC60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801FC5C: .4byte gUnknown_203B27C
-_0801FC60: .4byte _0801FC64
- .align 2, 0
-_0801FC64:
- .4byte _0801FCF0
- .4byte _0801FCF0
- .4byte _0801FCF6
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FCFC
- .4byte _0801FD02
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD50
- .4byte _0801FD70
- .4byte _0801FD08
- .4byte _0801FD08
- .4byte _0801FD0E
- .4byte _0801FD14
- .4byte _0801FD1A
- .4byte _0801FD70
- .4byte _0801FD20
- .4byte _0801FD20
- .4byte _0801FD26
- .4byte _0801FD2C
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD70
- .4byte _0801FD32
- .4byte _0801FD38
- .4byte _0801FD38
- .4byte _0801FD3E
- .4byte _0801FD44
- .4byte _0801FD4A
-_0801FCF0:
- bl sub_8021154
- b _0801FD74
-_0801FCF6:
- bl sub_80209AC
- b _0801FD74
-_0801FCFC:
- bl sub_80209FC
- b _0801FD74
-_0801FD02:
- bl sub_8020A34
- b _0801FD74
-_0801FD08:
- bl sub_8020A80
- b _0801FD74
-_0801FD0E:
- bl sub_8020B38
- b _0801FD74
-_0801FD14:
- bl sub_8020C2C
- b _0801FD74
-_0801FD1A:
- bl sub_8020C48
- b _0801FD74
-_0801FD20:
- bl sub_8020C64
- b _0801FD74
-_0801FD26:
- bl sub_8020CC0
- b _0801FD74
-_0801FD2C:
- bl sub_8020D74
- b _0801FD74
-_0801FD32:
- bl sub_8020D90
- b _0801FD74
-_0801FD38:
- bl sub_8020DCC
- b _0801FD74
-_0801FD3E:
- bl sub_8020EB4
- b _0801FD74
-_0801FD44:
- bl sub_80210C8
- b _0801FD74
-_0801FD4A:
- bl sub_80210E4
- b _0801FD74
-_0801FD50:
- ldr r0, [r2]
- ldrb r0, [r0, 0x15]
- cmp r0, 0x1
- bne _0801FD68
- ldr r0, _0801FD6C
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- subs r0, 0x96
- str r0, [r1]
-_0801FD68:
- movs r0, 0x3
- b _0801FD76
- .align 2, 0
-_0801FD6C: .4byte gUnknown_203B460
-_0801FD70:
- bl sub_8021130
-_0801FD74:
- movs r0, 0
-_0801FD76:
- pop {r1}
- bx r1
- thumb_func_end sub_801FC40
-
- thumb_func_start sub_801FD7C
-sub_801FD7C:
- push {r4,lr}
- ldr r4, _0801FDA4
- ldr r0, [r4]
- cmp r0, 0
- beq _0801FD9C
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0801FD9C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FDA4: .4byte gUnknown_203B27C
- thumb_func_end sub_801FD7C
-
- thumb_func_start sub_801FDA8
-sub_801FDA8:
- push {lr}
- ldr r1, _0801FDBC
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_801FDC0
- bl sub_801FF28
- pop {r0}
- bx r0
- .align 2, 0
-_0801FDBC: .4byte gUnknown_203B27C
- thumb_func_end sub_801FDA8
-
- thumb_func_start sub_801FDC0
-sub_801FDC0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0801FDE8
- ldr r0, [r4]
- movs r5, 0xC0
- lsls r5, 1
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- cmp r1, 0x11
- beq _0801FE38
- cmp r1, 0x11
- bgt _0801FDEC
- cmp r1, 0x2
- beq _0801FDF6
- b _0801FED4
- .align 2, 0
-_0801FDE8: .4byte gUnknown_203B27C
-_0801FDEC:
- cmp r1, 0x17
- beq _0801FE6C
- cmp r1, 0x20
- beq _0801FE88
- b _0801FED4
-_0801FDF6:
- adds r0, r5
- movs r1, 0x80
- strb r1, [r0]
- ldr r0, [r4]
- movs r2, 0xCC
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- movs r3, 0xD8
- lsls r3, 1
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- movs r6, 0xE4
- lsls r6, 1
- adds r1, r6
- ldr r0, _0801FE34
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, r5
- movs r1, 0x1
- movs r2, 0
- bl sub_800641C
- b _0801FF14
- .align 2, 0
-_0801FE34: .4byte gUnknown_80DC37C
-_0801FE38:
- bl sub_80205D0
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FE68
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x7C
- bl sub_8012CAC
- bl sub_8004914
- ldr r0, [r4]
- movs r6, 0xC0
- lsls r6, 1
- adds r0, r6
- b _0801FEC2
- .align 2, 0
-_0801FE68: .4byte gUnknown_80DC334
-_0801FE6C:
- bl sub_802069C
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FE84
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- b _0801FEB0
- .align 2, 0
-_0801FE84: .4byte gUnknown_80DC334
-_0801FE88:
- bl sub_802074C
- ldr r1, [r4]
- movs r7, 0xCC
- lsls r7, 1
- adds r1, r7
- ldr r0, _0801FECC
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0801FED0
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
-_0801FEB0:
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x7C
- bl sub_8012CAC
- bl sub_8004914
- ldr r0, [r4]
- adds r0, r5
-_0801FEC2:
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0801FF14
- .align 2, 0
-_0801FECC: .4byte gUnknown_80DC31C
-_0801FED0: .4byte gUnknown_80DC34C
-_0801FED4:
- ldr r5, _0801FF20
- mov r12, r5
- movs r6, 0xC0
- lsls r6, 1
- mov r8, r6
- ldr r4, _0801FF24
- movs r3, 0
- movs r2, 0x3
-_0801FEE4:
- mov r7, r12
- ldr r1, [r7]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0801FEE4
- bl sub_8004914
- ldr r0, _0801FF20
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0801FF14:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0801FF20: .4byte gUnknown_203B27C
-_0801FF24: .4byte gUnknown_80DC31C
- thumb_func_end sub_801FDC0
-
- thumb_func_start sub_801FF28
-sub_801FF28:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0801FF44
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r5, r1, 0
- cmp r0, 0x23
- bls _0801FF3A
- b _08020562
-_0801FF3A:
- lsls r0, 2
- ldr r1, _0801FF48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0801FF44: .4byte gUnknown_203B27C
-_0801FF48: .4byte _0801FF4C
- .align 2, 0
-_0801FF4C:
- .4byte _0801FFDC
- .4byte _08020018
- .4byte _08020064
- .4byte _0802006C
- .4byte _08020090
- .4byte _080200B4
- .4byte _080200D8
- .4byte _080200FC
- .4byte _08020144
- .4byte _0802018C
- .4byte _080201B0
- .4byte _080201D4
- .4byte _080201F8
- .4byte _08020562
- .4byte _0802021C
- .4byte _08020240
- .4byte _0802024E
- .4byte _08020256
- .4byte _08020274
- .4byte _08020282
- .4byte _0802028E
- .4byte _080202B0
- .4byte _080202BE
- .4byte _080202C6
- .4byte _080202E4
- .4byte _08020304
- .4byte _08020344
- .4byte _080203B0
- .4byte _080203D4
- .4byte _0802038C
- .4byte _080203F8
- .4byte _08020428
- .4byte _08020434
- .4byte _08020460
- .4byte _08020478
- .4byte _08020500
-_0801FFDC:
- ldr r0, [r5]
- movs r4, 0x2
- str r4, [r0, 0x6C]
- bl sub_8020574
- ldr r5, [r5]
- str r4, [r5, 0x8]
- ldr r2, _08020014
- ldr r1, [r5]
- movs r0, 0x64
- muls r0, r1
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r5, 0x6C]
- adds r3, r5, 0
- adds r3, 0x7C
- adds r1, r5, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r5, r4
- b _0802004C
- .align 2, 0
-_08020014: .4byte gUnknown_80D8888
-_08020018:
- bl sub_8020574
- ldr r0, _0802005C
- ldr r4, [r0]
- movs r0, 0x2
- str r0, [r4, 0x8]
- ldr r1, _08020060
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- ldr r2, [r4, 0x6C]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
-_0802004C:
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08020562
- .align 2, 0
-_0802005C: .4byte gUnknown_203B27C
-_08020060: .4byte gUnknown_80D8888
-_08020064:
- movs r0, 0x3
- bl sub_8016C40
- b _08020562
-_0802006C:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _0802008C
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802008C: .4byte gUnknown_80D8888
-_08020090:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200B0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0xC
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200B0: .4byte gUnknown_80D8888
-_080200B4:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200D4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x10
- adds r0, r1
- ldr r0, [r0]
- movs r5, 0xBE
- lsls r5, 1
- adds r2, r5
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200D4: .4byte gUnknown_80D8888
-_080200D8:
- ldr r2, [r5]
- movs r0, 0x1F
- str r0, [r2, 0x8]
- ldr r1, _080200F8
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x14
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080200F8: .4byte gUnknown_80D8888
-_080200FC:
- bl sub_8020900
- ldr r1, _0802013C
- ldr r0, _08020140
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x18
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r4, r2
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x10
- bl sub_8014248
- b _08020562
- .align 2, 0
-_0802013C: .4byte gUnknown_80D8888
-_08020140: .4byte gUnknown_203B27C
-_08020144:
- bl sub_8020950
- ldr r1, _08020184
- ldr r0, _08020188
- ldr r4, [r0]
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x54
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xD
- bl sub_8014248
- b _08020562
- .align 2, 0
-_08020184: .4byte gUnknown_80D8888
-_08020188: .4byte gUnknown_203B27C
-_0802018C:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201AC
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x58
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201AC: .4byte gUnknown_80D8888
-_080201B0:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201D0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x5C
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201D0: .4byte gUnknown_80D8888
-_080201D4:
- ldr r2, [r5]
- movs r0, 0x1
- str r0, [r2, 0x8]
- ldr r1, _080201F4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x60
- adds r0, r1
- ldr r0, [r0]
- movs r5, 0xBE
- lsls r5, 1
- adds r2, r5
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080201F4: .4byte gUnknown_80D8888
-_080201F8:
- ldr r2, [r5]
- movs r0, 0xD
- str r0, [r2, 0x8]
- ldr r1, _08020218
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x1C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_08020218: .4byte gUnknown_80D8888
-_0802021C:
- ldr r2, [r5]
- movs r0, 0xF
- str r0, [r2, 0x8]
- ldr r1, _0802023C
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x20
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802023C: .4byte gUnknown_80D8888
-_08020240:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _08020562
-_0802024E:
- movs r0, 0x1
- bl sub_8023B7C
- b _08020562
-_08020256:
- bl sub_8023DA4
- ldr r0, _08020270
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x70]
- b _0802044C
- .align 2, 0
-_08020270: .4byte gUnknown_203B27C
-_08020274:
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- movs r1, 0x2
- bl sub_8024458
- b _08020562
-_08020282:
- ldr r0, [r5]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bl sub_801BEEC
- b _08020562
-_0802028E:
- ldr r2, [r5]
- movs r0, 0x15
- str r0, [r2, 0x8]
- ldr r1, _080202AC
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x24
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080202AC: .4byte gUnknown_80D8888
-_080202B0:
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r0, [r0, r5]
- movs r1, 0
- bl sub_801F428
- b _08020562
-_080202BE:
- movs r0, 0x1
- bl sub_801F5F0
- b _08020562
-_080202C6:
- bl sub_801F700
- ldr r0, _080202E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x74]
- b _0802044C
- .align 2, 0
-_080202E0: .4byte gUnknown_203B27C
-_080202E4:
- ldr r0, [r5]
- ldrh r1, [r0, 0x1C]
- adds r0, 0x64
- strh r1, [r0]
- movs r2, 0x1
- adds r4, r5, 0
- movs r3, 0
-_080202F2:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0x64
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080202F2
- b _0802046E
-_08020304:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- ldr r1, [r5]
- movs r0, 0x10
- str r0, [r1, 0x8]
- ldr r0, _0802033C
- ldrh r1, [r1, 0x1E]
- bl sub_8092C84
- ldr r1, _08020340
- ldr r2, [r5]
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x28
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_0802033C: .4byte gUnknown_202DF98
-_08020340: .4byte gUnknown_80D8888
-_08020344:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- ldr r3, [r5]
- movs r0, 0x10
- str r0, [r3, 0x8]
- ldrb r0, [r3, 0x14]
- cmp r0, 0
- beq _08020370
- ldr r1, _0802036C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x38
- b _08020520
- .align 2, 0
-_0802036C: .4byte gUnknown_80D8888
-_08020370:
- ldr r1, _08020388
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x34
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r3, r4
- b _0802052A
- .align 2, 0
-_08020388: .4byte gUnknown_80D8888
-_0802038C:
- ldr r2, [r5]
- ldr r0, [r2]
- cmp r0, 0
- bne _080203A2
- movs r5, 0xC
- ldrsh r1, [r2, r5]
- adds r2, 0x24
- movs r0, 0
- bl sub_801E80C
- b _08020562
-_080203A2:
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- adds r2, 0x24
- movs r0, 0x1
- bl sub_801E80C
- b _08020562
-_080203B0:
- ldr r2, [r5]
- movs r0, 0x10
- str r0, [r2, 0x8]
- ldr r1, _080203D0
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x3C
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xBE
- lsls r1, 1
- adds r2, r1
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080203D0: .4byte gUnknown_80D8888
-_080203D4:
- ldr r2, [r5]
- movs r0, 0x10
- str r0, [r2, 0x8]
- ldr r1, _080203F4
- ldr r3, [r2]
- movs r0, 0x64
- muls r0, r3
- adds r1, 0x40
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r4
- ldr r2, [r2]
- b _0802052C
- .align 2, 0
-_080203F4: .4byte gUnknown_80D8888
-_080203F8:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_809401C
- ldr r0, [r5]
- movs r5, 0xC
- ldrsh r1, [r0, r5]
- adds r2, r0, 0
- adds r2, 0x24
- ldrb r3, [r0, 0x15]
- ldr r0, _08020424
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x1
- bl sub_801EE10
- b _08020562
- .align 2, 0
-_08020424: .4byte gUnknown_80DC394
-_08020428:
- ldr r0, [r5]
- ldrb r1, [r0, 0x15]
- movs r0, 0x1
- bl sub_801F1B0
- b _08020562
-_08020434:
- movs r0, 0
- bl sub_801F280
- ldr r0, _0802045C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- adds r1, r2, 0
- adds r1, 0x7C
- adds r3, r2, 0
- adds r3, 0xBC
- ldr r2, [r2, 0x78]
-_0802044C:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08020562
- .align 2, 0
-_0802045C: .4byte gUnknown_203B27C
-_08020460:
- ldr r2, [r5]
- ldr r0, [r2, 0x18]
- adds r1, r2, 0
- adds r1, 0x24
- adds r2, 0x64
- bl sub_8093560
-_0802046E:
- ldr r0, [r5]
- adds r0, 0x64
- bl sub_801F808
- b _08020562
-_08020478:
- bl sub_80208B0
- ldr r0, _080204B8
- ldr r4, _080204BC
- ldr r1, [r4]
- ldrh r1, [r1, 0x20]
- bl sub_8092C84
- ldr r4, [r4]
- ldrb r5, [r4, 0x14]
- cmp r5, 0
- beq _080204C4
- ldr r1, _080204C0
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x48
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r4, r2
- b _080204E8
- .align 2, 0
-_080204B8: .4byte gUnknown_202DFE8
-_080204BC: .4byte gUnknown_203B27C
-_080204C0: .4byte gUnknown_80D8888
-_080204C4:
- ldr r1, _080204FC
- ldr r2, [r4]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x44
- adds r0, r1
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x7C
- adds r1, r4, 0
- adds r1, 0xBC
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r5, 0xBE
- lsls r5, 1
- adds r1, r4, r5
-_080204E8:
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x11
- bl sub_8014248
- b _08020562
- .align 2, 0
-_080204FC: .4byte gUnknown_80D8888
-_08020500:
- ldr r1, [r5]
- movs r0, 0x1F
- str r0, [r1, 0x8]
- ldr r0, _08020538
- ldrh r1, [r1, 0x20]
- bl sub_8092C84
- ldr r3, [r5]
- ldrb r0, [r3, 0x14]
- cmp r0, 0
- beq _08020544
- ldr r1, _0802053C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x50
-_08020520:
- adds r0, r1
- ldr r0, [r0]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r3, r2
-_0802052A:
- ldr r2, [r1]
-_0802052C:
- ldr r3, _08020540
- movs r1, 0
- bl sub_80141B4
- b _08020562
- .align 2, 0
-_08020538: .4byte gUnknown_202DFE8
-_0802053C: .4byte gUnknown_80D8888
-_08020540: .4byte 0x0000010d
-_08020544:
- ldr r1, _0802056C
- ldr r2, [r3]
- movs r0, 0x64
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- movs r4, 0xBE
- lsls r4, 1
- adds r1, r3, r4
- ldr r2, [r1]
- ldr r3, _08020570
- movs r1, 0
- bl sub_80141B4
-_08020562:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802056C: .4byte gUnknown_80D8888
-_08020570: .4byte 0x0000010d
- thumb_func_end sub_801FF28
-
- thumb_func_start sub_8020574
-sub_8020574:
- push {r4,lr}
- ldr r4, _080205C0
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080205C4
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080205C8
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080205CC
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x90
- str r2, [r0]
- adds r0, 0x4
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080205C0: .4byte gUnknown_203B27C
-_080205C4: .4byte gUnknown_80DC3C4
-_080205C8: .4byte gUnknown_80DC3CC
-_080205CC: .4byte gUnknown_80D4934
- thumb_func_end sub_8020574
-
- thumb_func_start sub_80205D0
-sub_80205D0:
- push {r4-r7,lr}
- ldr r4, _08020660
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- mov r12, r0
- movs r5, 0
- ldr r0, _08020664
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r2, r12
- adds r2, 0x80
- movs r0, 0x4
- str r0, [r2]
- movs r3, 0x1
- adds r1, 0x84
- ldr r0, _08020668
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0802066C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xC
- str r0, [r1]
- movs r6, 0x3
- adds r1, 0x4
- ldr r0, _08020670
- str r0, [r1]
- mov r0, r12
- adds r0, 0x98
- str r6, [r0]
- movs r6, 0x4
- adds r0, 0x4
- str r5, [r0]
- adds r0, 0x4
- str r3, [r0]
- mov r3, r12
- adds r3, 0xBC
-_0802062A:
- ldrh r0, [r3]
- cmp r0, 0
- bne _0802063A
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x70]
- cmp r1, r0
- beq _08020696
-_0802063A:
- adds r2, 0x8
- adds r3, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _0802062A
- movs r5, 0
- cmp r5, r6
- bge _08020696
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020674
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08020696
- .align 2, 0
-_08020660: .4byte gUnknown_203B27C
-_08020664: .4byte gUnknown_80DC3D8
-_08020668: .4byte gUnknown_80DC3E0
-_0802066C: .4byte gUnknown_80DC3E8
-_08020670: .4byte gUnknown_80DC3F4
-_08020674:
- adds r5, 0x1
- cmp r5, r6
- bge _08020696
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020674
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08020696:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80205D0
-
- thumb_func_start sub_802069C
-sub_802069C:
- push {r4-r7,lr}
- ldr r4, _08020718
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- mov r12, r0
- movs r5, 0
- ldr r0, _0802071C
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r3, r12
- adds r3, 0x80
- movs r0, 0x3
- str r0, [r3]
- movs r2, 0x1
- adds r1, 0x84
- ldr r0, _08020720
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xB
- str r0, [r1]
- movs r6, 0x2
- mov r0, r12
- adds r0, 0x8C
- str r5, [r0]
- adds r0, 0x4
- str r2, [r0]
- mov r2, r12
- adds r2, 0xBC
-_080206E0:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080206F0
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _08020746
-_080206F0:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080206E0
- movs r5, 0
- cmp r5, r6
- bge _08020746
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020724
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _08020746
- .align 2, 0
-_08020718: .4byte gUnknown_203B27C
-_0802071C: .4byte gUnknown_80DC3F4
-_08020720: .4byte gUnknown_80D4970
-_08020724:
- adds r5, 0x1
- cmp r5, r6
- bge _08020746
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020724
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_08020746:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802069C
-
- thumb_func_start sub_802074C
-sub_802074C:
- push {r4-r7,lr}
- movs r7, 0
- ldr r4, _08020780
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- ldrb r0, [r1, 0x16]
- cmp r0, 0
- beq _0802079C
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80932E0
- lsls r0, 24
- cmp r0, 0
- beq _08020788
- ldr r0, [r4]
- ldr r1, _08020784
- str r1, [r0, 0x7C]
- adds r0, 0x80
- movs r1, 0x6
- b _08020792
- .align 2, 0
-_08020780: .4byte gUnknown_203B27C
-_08020784: .4byte gUnknown_80DC400
-_08020788:
- ldr r0, [r4]
- ldr r1, _08020798
- str r1, [r0, 0x7C]
- adds r0, 0x80
- movs r1, 0x5
-_08020792:
- str r1, [r0]
- mov r12, r4
- b _080207CA
- .align 2, 0
-_08020798: .4byte gUnknown_80DC40C
-_0802079C:
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80932FC
- lsls r0, 24
- cmp r0, 0
- beq _080207B4
- ldr r1, [r4]
- ldr r0, _080207B0
- b _080207B8
- .align 2, 0
-_080207B0: .4byte gUnknown_80DC400
-_080207B4:
- ldr r1, [r4]
- ldr r0, _0802086C
-_080207B8:
- str r0, [r1, 0x7C]
- ldr r2, _08020870
- ldr r0, [r2]
- lsls r1, r7, 3
- adds r0, 0x80
- adds r0, r1
- movs r1, 0x7
- str r1, [r0]
- mov r12, r2
-_080207CA:
- adds r7, 0x1
- mov r0, r12
- ldr r4, [r0]
- lsls r1, r7, 3
- adds r3, r4, 0
- adds r3, 0x7C
- adds r2, r3, r1
- ldr r0, _08020874
- str r0, [r2]
- adds r6, r4, 0
- adds r6, 0x80
- adds r1, r6, r1
- movs r0, 0x8
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08020878
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0x9
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _0802087C
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xA
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08020880
- ldr r0, [r0]
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xB
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r6, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- cmp r3, r7
- bge _0802084C
- adds r5, r4, 0
- adds r4, 0xBC
- adds r2, r6, 0
-_08020834:
- ldrh r0, [r4]
- cmp r0, 0
- bne _08020842
- ldr r1, [r2]
- ldr r0, [r5, 0x78]
- cmp r1, r0
- beq _080208A8
-_08020842:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r7
- blt _08020834
-_0802084C:
- movs r3, 0
- cmp r3, r7
- bge _080208A8
- mov r0, r12
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrh r0, [r0]
- cmp r0, 0
- bne _08020884
- adds r0, r1, 0
- adds r0, 0x80
- ldr r0, [r0]
- str r0, [r1, 0x78]
- b _080208A8
- .align 2, 0
-_0802086C: .4byte gUnknown_80DC40C
-_08020870: .4byte gUnknown_203B27C
-_08020874: .4byte gUnknown_80DC410
-_08020878: .4byte gUnknown_80DC418
-_0802087C: .4byte gUnknown_80DC420
-_08020880: .4byte gUnknown_80D4970
-_08020884:
- adds r3, 0x1
- cmp r3, r7
- bge _080208A8
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xBC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08020884
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x80
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x78]
-_080208A8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802074C
-
- thumb_func_start sub_80208B0
-sub_80208B0:
- push {r4,lr}
- ldr r4, _080208F4
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080208F8
- ldr r0, [r0]
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0x10
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080208FC
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x11
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x8C
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080208F4: .4byte gUnknown_203B27C
-_080208F8: .4byte gUnknown_80D4920
-_080208FC: .4byte gUnknown_80D4928
- thumb_func_end sub_80208B0
-
- thumb_func_start sub_8020900
-sub_8020900:
- push {r4,lr}
- ldr r4, _08020944
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08020948
- ldr r0, [r0]
- str r0, [r3, 0x7C]
- adds r1, r3, 0
- adds r1, 0x80
- movs r0, 0x10
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0802094C
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x11
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x8C
- str r2, [r0]
- adds r1, 0x8
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08020944: .4byte gUnknown_203B27C
-_08020948: .4byte gUnknown_80D4920
-_0802094C: .4byte gUnknown_80D4928
- thumb_func_end sub_8020900
-
- thumb_func_start sub_8020950
-sub_8020950:
- push {r4,lr}
- ldr r4, _0802099C
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- ldr r0, _080209A0
- str r0, [r4, 0x7C]
- adds r1, r4, 0
- adds r1, 0x80
- movs r0, 0xD
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _080209A4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xE
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _080209A8
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xF
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0x94
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802099C: .4byte gUnknown_203B27C
-_080209A0: .4byte gUnknown_80DC428
-_080209A4: .4byte gUnknown_80DC438
-_080209A8: .4byte gUnknown_80DC448
- thumb_func_end sub_8020950
-
- thumb_func_start sub_80209AC
-sub_80209AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080209F4
- ldr r0, _080209D4
- ldr r1, [r0]
- ldr r0, [sp]
- str r0, [r1, 0x6C]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080209DE
- cmp r0, 0x2
- bgt _080209D8
- cmp r0, 0x1
- beq _080209EE
- b _080209F4
- .align 2, 0
-_080209D4: .4byte gUnknown_203B27C
-_080209D8:
- cmp r0, 0xB
- beq _080209E6
- b _080209F4
-_080209DE:
- movs r0, 0xE
- bl sub_801FDA8
- b _080209F4
-_080209E6:
- movs r0, 0x8
- bl sub_801FDA8
- b _080209F4
-_080209EE:
- movs r0, 0xC
- bl sub_801FDA8
-_080209F4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80209AC
-
- thumb_func_start sub_80209FC
-sub_80209FC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08020A2E
- ldr r0, [sp]
- cmp r0, 0x10
- beq _08020A20
- cmp r0, 0x10
- bgt _08020A1A
- cmp r0, 0x1
- beq _08020A28
- b _08020A2E
-_08020A1A:
- cmp r0, 0x11
- beq _08020A28
- b _08020A2E
-_08020A20:
- movs r0, 0xE
- bl sub_801FDA8
- b _08020A2E
-_08020A28:
- movs r0, 0xC
- bl sub_801FDA8
-_08020A2E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80209FC
-
- thumb_func_start sub_8020A34
-sub_8020A34:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08020A7A
- ldr r0, [sp]
- cmp r0, 0xD
- beq _08020A5C
- cmp r0, 0xD
- bgt _08020A52
- cmp r0, 0x1
- beq _08020A74
- b _08020A7A
-_08020A52:
- cmp r0, 0xE
- beq _08020A64
- cmp r0, 0xF
- beq _08020A6C
- b _08020A7A
-_08020A5C:
- movs r0, 0x9
- bl sub_801FDA8
- b _08020A7A
-_08020A64:
- movs r0, 0xA
- bl sub_801FDA8
- b _08020A7A
-_08020A6C:
- movs r0, 0xB
- bl sub_801FDA8
- b _08020A7A
-_08020A74:
- movs r0, 0x1
- bl sub_801FDA8
-_08020A7A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8020A34
-
- thumb_func_start sub_8020A80
-sub_8020A80:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x4
- bhi _08020B32
- lsls r0, 2
- ldr r1, _08020A98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020A98: .4byte _08020A9C
- .align 2, 0
-_08020A9C:
- .4byte _08020B32
- .4byte _08020B32
- .4byte _08020B28
- .4byte _08020AB0
- .4byte _08020AEC
-_08020AB0:
- bl sub_8023B44
- ldr r4, _08020AE0
- ldr r1, [r4]
- strh r0, [r1, 0xC]
- ldr r3, _08020AE4
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x10]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x16]
- ldr r0, _08020AE8
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- bl sub_808DA34
- movs r0, 0x11
- bl sub_801FDA8
- b _08020B32
- .align 2, 0
-_08020AE0: .4byte gUnknown_203B27C
-_08020AE4: .4byte gUnknown_203B45C
-_08020AE8: .4byte gUnknown_202E128
-_08020AEC:
- bl sub_8023B44
- ldr r4, _08020B1C
- ldr r1, [r4]
- strh r0, [r1, 0xC]
- ldr r3, _08020B20
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x10]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x16]
- ldr r0, _08020B24
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- bl sub_808DA34
- movs r0, 0x12
- bl sub_801FDA8
- b _08020B32
- .align 2, 0
-_08020B1C: .4byte gUnknown_203B27C
-_08020B20: .4byte gUnknown_203B45C
-_08020B24: .4byte gUnknown_202E128
-_08020B28:
- bl sub_8023C60
- movs r0, 0x7
- bl sub_801FDA8
-_08020B32:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020A80
-
- thumb_func_start sub_8020B38
-sub_8020B38:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _08020B7C
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020B68
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020B68
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_08020B68:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x10
- bhi _08020C24
- lsls r0, 2
- ldr r1, _08020B80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020B7C: .4byte gUnknown_203B27C
-_08020B80: .4byte _08020B84
- .align 2, 0
-_08020B84:
- .4byte _08020BC8
- .4byte _08020C24
- .4byte _08020BD0
- .4byte _08020C0E
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C16
- .4byte _08020C1E
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020C24
- .4byte _08020BC8
-_08020BC8:
- movs r0, 0x10
- bl sub_801FDA8
- b _08020C24
-_08020BD0:
- ldr r0, _08020BF0
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808E858
- lsls r0, 16
- movs r1, 0xCF
- lsls r1, 17
- cmp r0, r1
- bne _08020BF4
- movs r0, 0x1C
- bl sub_801FDA8
- b _08020C24
- .align 2, 0
-_08020BF0: .4byte gUnknown_203B27C
-_08020BF4:
- bl sub_8021178
- lsls r0, 24
- cmp r0, 0
- beq _08020C06
- movs r0, 0x1B
- bl sub_801FDA8
- b _08020C24
-_08020C06:
- movs r0, 0x14
- bl sub_801FDA8
- b _08020C24
-_08020C0E:
- movs r0, 0x1E
- bl sub_801FDA8
- b _08020C24
-_08020C16:
- movs r0, 0x12
- bl sub_801FDA8
- b _08020C24
-_08020C1E:
- movs r0, 0x13
- bl sub_801FDA8
-_08020C24:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020B38
-
- thumb_func_start sub_8020C2C
-sub_8020C2C:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08020C44
- cmp r0, 0x3
- bhi _08020C44
- bl sub_802453C
- movs r0, 0x10
- bl sub_801FDA8
-_08020C44:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C2C
-
- thumb_func_start sub_8020C48
-sub_8020C48:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08020C60
- cmp r0, 0x3
- bhi _08020C60
- bl sub_801BF98
- movs r0, 0x10
- bl sub_801FDA8
-_08020C60:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C48
-
- thumb_func_start sub_8020C64
-sub_8020C64:
- push {lr}
- movs r0, 0x1
- bl sub_801F520
- cmp r0, 0x3
- beq _08020C80
- cmp r0, 0x3
- bhi _08020C7A
- cmp r0, 0x2
- beq _08020CB0
- b _08020CBA
-_08020C7A:
- cmp r0, 0x4
- beq _08020C98
- b _08020CBA
-_08020C80:
- bl sub_801F5B4
- ldr r1, _08020C94
- ldr r1, [r1]
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- movs r0, 0x17
- bl sub_801FDA8
- b _08020CBA
- .align 2, 0
-_08020C94: .4byte gUnknown_203B27C
-_08020C98:
- bl sub_801F5B4
- ldr r1, _08020CAC
- ldr r1, [r1]
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- movs r0, 0x18
- bl sub_801FDA8
- b _08020CBA
- .align 2, 0
-_08020CAC: .4byte gUnknown_203B27C
-_08020CB0:
- bl sub_801F63C
- movs r0, 0x10
- bl sub_801FDA8
-_08020CBA:
- pop {r0}
- bx r0
- thumb_func_end sub_8020C64
-
- thumb_func_start sub_8020CC0
-sub_8020CC0:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801F520
- ldr r4, _08020D00
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020CF0
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020CF0
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08020CF0:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08020D14
- cmp r0, 0x3
- bgt _08020D04
- cmp r0, 0x1
- beq _08020D0C
- b _08020D6C
- .align 2, 0
-_08020D00: .4byte gUnknown_203B27C
-_08020D04:
- cmp r0, 0xB
- beq _08020D66
- cmp r0, 0x11
- bne _08020D6C
-_08020D0C:
- movs r0, 0x16
- bl sub_801FDA8
- b _08020D6C
-_08020D14:
- bl sub_801F63C
- ldr r4, _08020D30
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_809401C
- movs r5, 0
- adds r6, r4, 0
- movs r4, 0x24
- b _08020D38
- .align 2, 0
-_08020D30: .4byte gUnknown_203B27C
-_08020D34:
- adds r4, 0x8
- adds r5, 0x1
-_08020D38:
- cmp r5, 0x7
- bgt _08020D52
- ldr r3, [r6]
- adds r2, r3, r4
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08020D34
- ldrh r1, [r3, 0x1E]
- adds r0, r2, 0
- bl sub_8092AD4
-_08020D52:
- cmp r5, 0x3
- ble _08020D5E
- movs r0, 0x1D
- bl sub_801FDA8
- b _08020D6C
-_08020D5E:
- movs r0, 0x19
- bl sub_801FDA8
- b _08020D6C
-_08020D66:
- movs r0, 0x18
- bl sub_801FDA8
-_08020D6C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8020CC0
-
- thumb_func_start sub_8020D74
-sub_8020D74:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08020D8C
- cmp r0, 0x3
- bhi _08020D8C
- bl sub_801F8D0
- movs r0, 0x16
- bl sub_801FDA8
-_08020D8C:
- pop {r0}
- bx r0
- thumb_func_end sub_8020D74
-
- thumb_func_start sub_8020D90
-sub_8020D90:
- push {lr}
- bl sub_801E8C0
- cmp r0, 0x2
- beq _08020DBC
- cmp r0, 0x2
- bcc _08020DC6
- cmp r0, 0x3
- bne _08020DC6
- bl sub_801E930
- ldr r1, _08020DB8
- ldr r1, [r1]
- strb r0, [r1, 0x14]
- bl sub_801E93C
- movs r0, 0x1A
- bl sub_801FDA8
- b _08020DC6
- .align 2, 0
-_08020DB8: .4byte gUnknown_203B27C
-_08020DBC:
- bl sub_801E93C
- movs r0, 0x10
- bl sub_801FDA8
-_08020DC6:
- pop {r0}
- bx r0
- thumb_func_end sub_8020D90
-
- thumb_func_start sub_8020DCC
-sub_8020DCC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08020EAA
- lsls r0, 2
- ldr r1, _08020DE4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020DE4: .4byte _08020DE8
- .align 2, 0
-_08020DE8:
- .4byte _08020EAA
- .4byte _08020E98
- .4byte _08020E64
- .4byte _08020DFC
- .4byte _08020E30
-_08020DFC:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E0E
- ldr r0, _08020E2C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E0E:
- bl sub_801F194
- ldr r1, _08020E2C
- ldr r2, [r1]
- str r0, [r2, 0x18]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r0, 0x26]
- strh r1, [r2, 0x1C]
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x20]
- movs r0, 0x20
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E2C: .4byte gUnknown_203B27C
-_08020E30:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E42
- ldr r0, _08020E60
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E42:
- bl sub_801F194
- ldr r1, _08020E60
- ldr r2, [r1]
- str r0, [r2, 0x18]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r0, 0x26]
- strh r1, [r2, 0x1C]
- ldrh r0, [r0, 0x26]
- strh r0, [r2, 0x20]
- movs r0, 0x21
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E60: .4byte gUnknown_203B27C
-_08020E64:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020E76
- ldr r0, _08020E94
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020E76:
- bl sub_801F214
- ldr r0, _08020E94
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x10]
- adds r1, 0x2C
- bl sub_8094060
- movs r0, 0x10
- bl sub_801FDA8
- b _08020EAA
- .align 2, 0
-_08020E94: .4byte gUnknown_203B27C
-_08020E98:
- bl sub_801F1A4
- lsls r0, 24
- cmp r0, 0
- beq _08020EAA
- ldr r0, _08020EB0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x15]
-_08020EAA:
- pop {r0}
- bx r0
- .align 2, 0
-_08020EB0: .4byte gUnknown_203B27C
- thumb_func_end sub_8020DCC
-
- thumb_func_start sub_8020EB4
-sub_8020EB4:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801EF38
- ldr r4, _08020EF8
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08020EE4
- ldr r0, [r4]
- adds r0, 0xCC
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08020EE4
- ldr r0, [r4]
- str r1, [r0, 0x78]
-_08020EE4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x10
- bls _08020EEE
- b _080210BE
-_08020EEE:
- lsls r0, 2
- ldr r1, _08020EFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08020EF8: .4byte gUnknown_203B27C
-_08020EFC: .4byte _08020F00
- .align 2, 0
-_08020F00:
- .4byte _08021068
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _08020F44
- .4byte _08020F70
- .4byte _08020F8C
- .4byte _08020FB8
- .4byte _08021034
- .4byte _08021074
- .4byte _080210B8
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _080210BE
- .4byte _08021068
-_08020F44:
- ldr r0, _08020F60
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80934DC
- lsls r0, 24
- cmp r0, 0
- beq _08020F68
- ldr r0, _08020F64
- bl sub_8011988
- b _08021068
- .align 2, 0
-_08020F60: .4byte gUnknown_203B27C
-_08020F64: .4byte 0x00000133
-_08020F68:
- movs r0, 0x2
- bl sub_80119D4
- b _08021068
-_08020F70:
- ldr r0, _08020F84
- bl sub_8011988
- ldr r0, _08020F88
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_809352C
- b _08021068
- .align 2, 0
-_08020F84: .4byte 0x00000133
-_08020F88: .4byte gUnknown_203B27C
-_08020F8C:
- ldr r0, _08020FA8
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093544
- lsls r0, 24
- cmp r0, 0
- beq _08020FB0
- ldr r0, _08020FAC
- bl sub_8011988
- b _08021068
- .align 2, 0
-_08020FA8: .4byte gUnknown_203B27C
-_08020FAC: .4byte 0x00000133
-_08020FB0:
- movs r0, 0x2
- bl sub_80119D4
- b _08021068
-_08020FB8:
- ldr r0, _08020FD8
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x95
- bgt _08020FDC
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x3
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08020FD8: .4byte gUnknown_203B460
-_08020FDC:
- ldr r4, _08020FFC
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093318
- lsls r0, 24
- cmp r0, 0
- bne _08021000
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x4
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08020FFC: .4byte gUnknown_203B27C
-_08021000:
- ldr r1, [r4]
- ldrb r0, [r1, 0x15]
- cmp r0, 0
- bne _08021016
- movs r0, 0x1
- strb r0, [r1, 0x15]
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- b _0802101C
-_08021016:
- ldr r0, _0802102C
- bl sub_8011988
-_0802101C:
- ldr r0, _08021030
- ldr r1, [r0]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093400
- b _08021068
- .align 2, 0
-_0802102C: .4byte 0x00000133
-_08021030: .4byte gUnknown_203B27C
-_08021034:
- ldr r4, _08021054
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_809333C
- lsls r0, 24
- cmp r0, 0
- bne _08021058
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x5
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021054: .4byte gUnknown_203B27C
-_08021058:
- ldr r0, _08021070
- bl sub_8011988
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_8093468
-_08021068:
- movs r0, 0x1F
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021070: .4byte 0x00000133
-_08021074:
- ldr r4, _08021094
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80933A0
- lsls r0, 24
- cmp r0, 0
- bne _08021098
- movs r0, 0x2
- bl sub_80119D4
- movs r0, 0x6
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_08021094: .4byte gUnknown_203B27C
-_08021098:
- ldr r0, _080210B4
- bl sub_8011988
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- adds r1, 0x24
- bl sub_80934B0
- ldr r1, [r4]
- strb r0, [r1, 0x14]
- movs r0, 0x22
- bl sub_801FDA8
- b _080210BE
- .align 2, 0
-_080210B4: .4byte 0x00000133
-_080210B8:
- movs r0, 0x21
- bl sub_801FDA8
-_080210BE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8020EB4
-
- thumb_func_start sub_80210C8
-sub_80210C8:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _080210E0
- cmp r0, 0x3
- bhi _080210E0
- bl sub_801F8D0
- movs r0, 0x1F
- bl sub_801FDA8
-_080210E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80210C8
-
- thumb_func_start sub_80210E4
-sub_80210E4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802112A
- ldr r0, [sp]
- cmp r0, 0x10
- beq _08021108
- cmp r0, 0x10
- bgt _08021102
- cmp r0, 0x1
- beq _08021124
- b _0802112A
-_08021102:
- cmp r0, 0x11
- beq _08021124
- b _0802112A
-_08021108:
- ldr r0, _08021120
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x24
- ldr r1, [r1, 0x18]
- bl sub_8093CF8
- movs r0, 0x23
- bl sub_801FDA8
- b _0802112A
- .align 2, 0
-_08021120: .4byte gUnknown_203B27C
-_08021124:
- movs r0, 0x1F
- bl sub_801FDA8
-_0802112A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80210E4
-
- thumb_func_start sub_8021130
-sub_8021130:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08021148
- ldr r0, _08021150
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801FDA8
-_08021148:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08021150: .4byte gUnknown_203B27C
- thumb_func_end sub_8021130
-
- thumb_func_start sub_8021154
-sub_8021154:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0x4
- bne _0802116C
- ldr r0, _08021174
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_801FDA8
-_0802116C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08021174: .4byte gUnknown_203B27C
- thumb_func_end sub_8021154
-
- thumb_func_start sub_8021178
-sub_8021178:
- push {lr}
- mov r12, r4
- ldr r4, _08021198
- add sp, r4
- mov r4, r12
- ldr r0, _0802119C
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- mov r0, sp
- bl sub_808E218
- cmp r0, 0
- beq _080211A0
- movs r0, 0
- b _080211A2
- .align 2, 0
-_08021198: .4byte 0xfffffcc0
-_0802119C: .4byte gUnknown_203B27C
-_080211A0:
- movs r0, 0x1
-_080211A2:
- movs r3, 0xD0
- lsls r3, 2
- add sp, r3
- pop {r1}
- bx r1
- thumb_func_end sub_8021178
-
- thumb_func_start sub_80211AC
-sub_80211AC:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _080211C0
- movs r0, 0
- b _08021258
-_080211C0:
- ldr r5, _08021260
- movs r0, 0xE0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r4, [r0, 0x3C]
- str r6, [r0, 0x74]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x7C
- adds r1, r0, r1
- str r1, [r0, 0x78]
- adds r0, 0x7C
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x74]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x7C
- ldr r0, _08021264
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r5]
- ldr r1, [r0, 0x78]
- adds r0, 0xDC
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x40
- bl sub_8021664
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8013818
- ldr r0, _08021268
- ldr r2, [r5]
- ldr r1, [r0]
- ldr r0, [r2, 0x3C]
- cmp r1, r0
- bne _0802124E
- ldr r0, _0802126C
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x58
- strh r1, [r0]
- ldr r0, _08021270
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x5E
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x40
- bl sub_8013984
-_0802124E:
- bl sub_8021410
- bl sub_8021494
- movs r0, 0x1
-_08021258:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08021260: .4byte gUnknown_203B280
-_08021264: .4byte gUnknown_80DC47C
-_08021268: .4byte gUnknown_203B284
-_0802126C: .4byte gUnknown_203B288
-_08021270: .4byte gUnknown_203B28A
- thumb_func_end sub_80211AC
-
- thumb_func_start sub_8021274
-sub_8021274:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08021290
- ldr r0, _0802128C
- ldr r0, [r0]
- adds r0, 0x40
- bl sub_8013660
- movs r0, 0
- b _08021326
- .align 2, 0
-_0802128C: .4byte gUnknown_203B280
-_08021290:
- ldr r4, _080212A8
- ldr r0, [r4]
- adds r0, 0x40
- bl GetKeyPress
- cmp r0, 0x2
- beq _080212B2
- cmp r0, 0x2
- bgt _080212AC
- cmp r0, 0x1
- beq _080212BC
- b _08021300
- .align 2, 0
-_080212A8: .4byte gUnknown_203B280
-_080212AC:
- cmp r0, 0x4
- beq _080212F6
- b _08021300
-_080212B2:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08021326
-_080212BC:
- ldr r0, [r4]
- ldr r0, [r0, 0x3C]
- cmp r0, 0x2
- bne _080212EC
- bl sub_802132C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092544
- ldr r1, _080212E8
- ldr r1, [r1]
- movs r2, 0x98
- lsls r2, 2
- adds r1, r2
- ldr r1, [r1]
- cmp r0, r1
- ble _080212EC
- movs r0, 0x2
- bl sub_80119D4
- b _080212F2
- .align 2, 0
-_080212E8: .4byte gUnknown_203B460
-_080212EC:
- movs r0, 0
- bl sub_80119D4
-_080212F2:
- movs r0, 0x3
- b _08021326
-_080212F6:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _08021326
-_08021300:
- ldr r0, _08021318
- ldr r0, [r0]
- adds r0, 0x40
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802131C
- movs r0, 0
- b _08021326
- .align 2, 0
-_08021318: .4byte gUnknown_203B280
-_0802131C:
- bl sub_8021410
- bl sub_8021494
- movs r0, 0x1
-_08021326:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8021274
-
- thumb_func_start sub_802132C
-sub_802132C:
- ldr r0, _08021350
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x58
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08021350: .4byte gUnknown_203B280
- thumb_func_end sub_802132C
-
- thumb_func_start sub_8021354
-sub_8021354:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802139C
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8021664
- adds r1, r0, 0
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x62
- strh r1, [r2]
- adds r0, 0x40
- bl sub_8013984
- bl sub_8021410
- bl sub_8021494
- cmp r4, 0
- beq _08021396
- ldr r0, [r5]
- adds r0, 0x40
- bl AddMenuCursorSprite
-_08021396:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802139C: .4byte gUnknown_203B280
- thumb_func_end sub_8021354
-
- thumb_func_start sub_80213A0
-sub_80213A0:
- push {r4,r5,lr}
- ldr r4, _080213FC
- ldr r2, [r4]
- cmp r2, 0
- beq _080213F4
- ldr r1, _08021400
- ldr r0, [r2, 0x3C]
- str r0, [r1]
- ldr r1, _08021404
- adds r0, r2, 0
- adds r0, 0x58
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08021408
- adds r0, r2, 0
- adds r0, 0x5E
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, [r2, 0x74]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7C
- ldr r0, _0802140C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080213F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080213FC: .4byte gUnknown_203B280
-_08021400: .4byte gUnknown_203B284
-_08021404: .4byte gUnknown_203B288
-_08021408: .4byte gUnknown_203B28A
-_0802140C: .4byte gUnknown_80DC464
- thumb_func_end sub_80213A0
-
- thumb_func_start sub_8021410
-sub_8021410:
- push {r4,lr}
- ldr r4, _08021490
- ldr r0, [r4]
- adds r0, 0xDC
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xDD
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xDE
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xDF
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, 0x5A
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x74]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x8A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x74]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x8C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08021490: .4byte gUnknown_203B280
- thumb_func_end sub_8021410
-
- thumb_func_start sub_8021494
-sub_8021494:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xA8
- ldr r4, _08021568
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r2, _0802156C
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0xDE
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- adds r1, r3, 0
- adds r1, 0x5E
- movs r5, 0
- ldrsh r2, [r1, r5]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- ldr r1, [r3, 0x74]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r0, 0
- mov r9, r0
- ldr r0, [r4]
- adds r0, 0x5A
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r9, r0
- blt _080214FC
- b _08021646
-_080214FC:
- mov r8, r4
- add r2, sp, 0x58
- mov r10, r2
-_08021502:
- mov r3, r8
- ldr r2, [r3]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r5, 0
- ldrsh r1, [r0, r5]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- add r0, r9
- adds r0, r2, r0
- ldrb r5, [r0]
- adds r7, r5, 0
- ldr r6, [r2, 0x3C]
- cmp r6, 0x2
- bne _0802159C
- add r0, sp, 0x8
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8092578
- adds r0, r5, 0
- bl sub_8092544
- ldr r1, _08021570
- ldr r1, [r1]
- movs r5, 0x98
- lsls r5, 2
- adds r1, r5
- ldr r1, [r1]
- cmp r0, r1
- bgt _08021574
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r2, r8
- ldr r0, [r2]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_08021568: .4byte gUnknown_203B280
-_0802156C: .4byte gUnknown_80DC494
-_08021570: .4byte gUnknown_203B460
-_08021574:
- mov r0, r10
- ldr r1, _08021598
- add r2, sp, 0x8
- bl sub_800D158
- mov r3, r8
- ldr r0, [r3]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- b _080215FE
- .align 2, 0
-_08021598: .4byte gUnknown_80DC4A4
-_0802159C:
- cmp r6, 0
- bne _0802160C
- ldr r0, _080215D4
- ldr r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080215D8
- adds r0, r2, 0
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8092524
- adds r2, r0, 0
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x74]
- str r6, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_080215D4: .4byte gUnknown_203B468
-_080215D8:
- adds r0, r5, 0
- bl sub_8092524
- adds r2, r0, 0
- mov r0, r10
- ldr r1, _08021608
- bl sub_800D158
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r1, r0, 0
- mov r3, r8
- ldr r0, [r3]
- ldr r3, [r0, 0x74]
- str r6, [sp]
-_080215FE:
- movs r0, 0x8
- mov r2, r10
- bl xxx_call_draw_string
- b _08021632
- .align 2, 0
-_08021608: .4byte gUnknown_80DC4AC
-_0802160C:
- adds r0, r2, 0
- adds r0, 0x40
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- adds r0, r7, 0
- bl sub_8092524
- adds r2, r0, 0
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
-_08021632:
- movs r0, 0x1
- add r9, r0
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x5A
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r9, r0
- bge _08021646
- b _08021502
-_08021646:
- ldr r0, _08021660
- ldr r0, [r0]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- add sp, 0xA8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021660: .4byte gUnknown_203B280
- thumb_func_end sub_8021494
-
- thumb_func_start sub_8021664
-sub_8021664:
- push {r4-r6,lr}
- movs r5, 0
- ldr r1, _0802167C
- ldr r0, [r1]
- ldr r0, [r0, 0x3C]
- cmp r0, 0x1
- beq _08021692
- cmp r0, 0x1
- bcc _08021680
- cmp r0, 0x2
- beq _080216B4
- b _080216F2
- .align 2, 0
-_0802167C: .4byte gUnknown_203B280
-_08021680:
- movs r4, 0x1
-_08021682:
- ldr r0, [r1]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021682
- b _080216F2
-_08021692:
- movs r4, 0x1
- ldr r2, _080216B0
-_08021696:
- ldr r0, [r2]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080216A8
- ldr r0, [r1]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_080216A8:
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021696
- b _080216F2
- .align 2, 0
-_080216B0: .4byte gUnknown_203B468
-_080216B4:
- movs r4, 0x1
- adds r6, r1, 0
-_080216B8:
- ldr r0, _080216FC
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080216EC
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080216E4
- cmp r0, 0x1
- bne _080216EC
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080216EC
-_080216E4:
- ldr r0, [r6]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_080216EC:
- adds r4, 0x1
- cmp r4, 0x39
- ble _080216B8
-_080216F2:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080216FC: .4byte gUnknown_203B468
- thumb_func_end sub_8021664
-
- thumb_func_start sub_8021700
-sub_8021700:
- push {r4,lr}
- cmp r0, 0x1
- beq _08021710
- cmp r0, 0x1
- bcc _08021754
- cmp r0, 0x2
- beq _0802172C
- b _0802176A
-_08021710:
- movs r4, 0x1
- ldr r0, _08021728
- ldr r1, [r0]
-_08021716:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08021754
- adds r4, 0x1
- cmp r4, 0x39
- ble _08021716
- b _0802176A
- .align 2, 0
-_08021728: .4byte gUnknown_203B468
-_0802172C:
- movs r4, 0x1
-_0802172E:
- ldr r0, _08021750
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08021764
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08021754
- cmp r0, 0x1
- beq _08021758
- b _08021764
- .align 2, 0
-_08021750: .4byte gUnknown_203B468
-_08021754:
- movs r0, 0
- b _0802176C
-_08021758:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08021754
-_08021764:
- adds r4, 0x1
- cmp r4, 0x39
- ble _0802172E
-_0802176A:
- movs r0, 0x1
-_0802176C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8021700
-
- thumb_func_start sub_8021774
-sub_8021774:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080217E4
- movs r0, 0xE0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- strb r4, [r0, 0xC]
- ldr r0, [r6]
- strb r5, [r0, 0xD]
- ldr r0, [r6]
- bl sub_801317C
- bl sub_8021A60
- ldr r0, [r6]
- mov r1, r8
- str r1, [r0, 0x74]
- lsls r1, 1
- add r1, r8
- lsls r1, 3
- adds r1, 0x7C
- adds r1, r0, r1
- str r1, [r0, 0x78]
- adds r0, 0x7C
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x74]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x7C
- ldr r0, _080217E8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8021820
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080217E4: .4byte gUnknown_203B28C
-_080217E8: .4byte gUnknown_80DC4D8
- thumb_func_end sub_8021774
-
- thumb_func_start sub_80217EC
-sub_80217EC:
- push {lr}
- ldr r0, _0802180C
- ldr r0, [r0]
- ldr r1, [r0, 0x74]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08021810
- cmp r0, 0x2
- bne _0802181A
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802181C
- .align 2, 0
-_0802180C: .4byte gUnknown_203B28C
-_08021810:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802181C
-_0802181A:
- movs r0, 0
-_0802181C:
- pop {r1}
- bx r1
- thumb_func_end sub_80217EC
-
- thumb_func_start sub_8021820
-sub_8021820:
- push {lr}
- bl sub_8021878
- bl sub_8021894
- pop {r0}
- bx r0
- thumb_func_end sub_8021820
-
- thumb_func_start sub_8021830
-sub_8021830:
- push {r4,r5,lr}
- ldr r4, _08021870
- ldr r2, [r4]
- cmp r2, 0
- beq _0802186A
- ldr r0, [r2, 0x74]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7C
- ldr r0, _08021874
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802186A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08021870: .4byte gUnknown_203B28C
-_08021874: .4byte gUnknown_80DC4BC
- thumb_func_end sub_8021830
-
- thumb_func_start sub_8021878
-sub_8021878:
- push {lr}
- bl sub_8004914
- ldr r0, _08021890
- ldr r0, [r0]
- adds r0, 0x7C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_08021890: .4byte gUnknown_203B28C
- thumb_func_end sub_8021878
-
- thumb_func_start sub_8021894
-sub_8021894:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x168
- ldr r4, _080218F8
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r0, [r4]
- ldrb r1, [r0, 0xC]
- add r0, sp, 0x4
- movs r2, 0
- bl sub_8092578
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r5, 0
- str r5, [sp]
- movs r0, 0x14
- movs r1, 0
- add r2, sp, 0x4
- bl xxx_call_draw_string
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl sub_80925DC
- adds r2, r0, 0
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- str r5, [sp]
- movs r0, 0xA
- movs r1, 0x14
- bl xxx_call_draw_string
- ldr r4, [r4]
- ldrb r0, [r4, 0xD]
- cmp r0, 0
- beq _08021900
- ldr r2, _080218FC
- ldr r3, [r4, 0x74]
- str r5, [sp]
- movs r0, 0x20
- movs r1, 0x3C
- bl xxx_call_draw_string
- b _0802190E
- .align 2, 0
-_080218F8: .4byte gUnknown_203B28C
-_080218FC: .4byte gUnknown_80DC4F0
-_08021900:
- ldr r2, _0802193C
- ldr r3, [r4, 0x74]
- str r0, [sp]
- movs r0, 0x20
- movs r1, 0x3C
- bl xxx_call_draw_string
-_0802190E:
- ldr r4, _08021940
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- movs r5, 0x4
- str r5, [sp]
- movs r1, 0x4
- movs r2, 0x40
- movs r3, 0x14
- bl sub_800792C
- ldr r4, [r4]
- ldrb r0, [r4, 0xD]
- cmp r0, 0
- beq _08021944
- ldr r0, [r4, 0x74]
- str r5, [sp]
- movs r1, 0xB8
- movs r2, 0x40
- movs r3, 0x14
- bl sub_800792C
- b _08021952
- .align 2, 0
-_0802193C: .4byte gUnknown_80DC518
-_08021940: .4byte gUnknown_203B28C
-_08021944:
- ldr r0, [r4, 0x74]
- str r5, [sp]
- movs r1, 0x5E
- movs r2, 0x40
- movs r3, 0x6E
- bl sub_800792C
-_08021952:
- ldr r5, _080219E8
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- movs r4, 0x4
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x82
- movs r3, 0xC8
- bl sub_800792C
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- str r4, [sp]
- movs r1, 0x3
- movs r2, 0x40
- movs r3, 0x43
- bl sub_8007A78
- ldr r0, [r5]
- ldr r0, [r0, 0x74]
- str r4, [sp]
- movs r1, 0xCC
- movs r2, 0x40
- movs r3, 0x43
- bl sub_8007A78
- movs r6, 0
- ldr r0, [r5]
- ldr r0, [r0, 0x70]
- cmp r6, r0
- bge _08021A40
- add r7, sp, 0x104
- mov r8, r5
- mov r9, r6
-_08021996:
- adds r0, r6, 0
- movs r1, 0x3
- bl __modsi3
- lsls r1, r0, 6
- subs r1, r0
- adds r5, r1, 0x7
- adds r0, r6, 0
- movs r1, 0x3
- bl __divsi3
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r4, r1, 0
- adds r4, 0x47
- mov r1, r8
- ldr r0, [r1]
- lsls r1, r6, 1
- adds r0, 0xE
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_808D930
- mov r0, r8
- ldr r3, [r0]
- lsls r1, r6, 2
- adds r0, r3, 0
- adds r0, 0x30
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- beq _08021A04
- cmp r0, 0x1
- bcc _080219EC
- cmp r0, 0x2
- beq _08021A16
- b _08021A34
- .align 2, 0
-_080219E8: .4byte gUnknown_203B28C
-_080219EC:
- ldr r0, _08021A00
- ldr r2, [r0]
- ldr r3, [r3, 0x74]
- mov r1, r9
- str r1, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- bl xxx_call_draw_string
- b _08021A34
- .align 2, 0
-_08021A00: .4byte gUnknown_80D49BC
-_08021A04:
- ldr r3, [r3, 0x74]
- mov r2, r9
- str r2, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl xxx_call_draw_string
- b _08021A34
-_08021A16:
- add r0, sp, 0x4
- ldr r1, _08021A58
- adds r2, r7, 0
- bl sub_800D158
- mov r1, r8
- ldr r0, [r1]
- ldr r3, [r0, 0x74]
- mov r2, r9
- str r2, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- add r2, sp, 0x4
- bl xxx_call_draw_string
-_08021A34:
- adds r6, 0x1
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x70]
- cmp r6, r0
- blt _08021996
-_08021A40:
- ldr r0, _08021A5C
- ldr r0, [r0]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- add sp, 0x168
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021A58: .4byte gUnknown_80DC524
-_08021A5C: .4byte gUnknown_203B28C
- thumb_func_end sub_8021894
-
- thumb_func_start sub_8021A60
-sub_8021A60:
- push {r4-r7,lr}
- ldr r2, _08021B4C
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x70]
- movs r6, 0
- adds r4, r2, 0
- movs r3, 0
-_08021A70:
- ldr r1, [r4]
- lsls r2, r6, 1
- adds r0, r1, 0
- adds r0, 0xE
- adds r0, r2
- strh r3, [r0]
- lsls r0, r6, 2
- adds r1, 0x30
- adds r1, r0
- str r3, [r1]
- adds r6, 0x1
- cmp r6, 0xF
- ble _08021A70
- movs r6, 0
- ldr r7, _08021B4C
-_08021A8E:
- lsls r0, r6, 16
- asrs r5, r0, 16
- ldr r4, [r7]
- adds r0, r5, 0
- bl sub_808DBA8
- ldrb r1, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _08021AC4
- adds r0, r5, 0
- bl sub_808E858
- lsls r0, 16
- asrs r0, 16
- cmp r5, r0
- bne _08021AC4
- ldr r3, [r7]
- ldr r1, [r3, 0x70]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0xE
- adds r0, r2
- strh r5, [r0]
- adds r1, 0x1
- str r1, [r3, 0x70]
-_08021AC4:
- adds r6, 0x1
- ldr r0, _08021B50
- cmp r6, r0
- ble _08021A8E
- movs r6, 0
-_08021ACE:
- lsls r0, r6, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _08021AFC
- adds r0, r4, 0
- bl sub_8021B58
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08021AFC
- ldr r0, _08021B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, 0x30
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
-_08021AFC:
- adds r6, 0x1
- ldr r0, _08021B50
- cmp r6, r0
- ble _08021ACE
- movs r6, 0
- ldr r4, _08021B54
-_08021B08:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08021B3C
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_8021B58
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08021B3C
- ldr r0, _08021B4C
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r1, 0x30
- adds r1, r0
- movs r0, 0x2
- str r0, [r1]
-_08021B3C:
- adds r6, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- ble _08021B08
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021B4C: .4byte gUnknown_203B28C
-_08021B50: .4byte 0x000001a7
-_08021B54: .4byte gUnknown_203B45C
- thumb_func_end sub_8021A60
-
- thumb_func_start sub_8021B58
-sub_8021B58:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E858
- lsls r0, 16
- asrs r4, r0, 16
- movs r2, 0
- ldr r0, _08021B84
- ldr r0, [r0]
- ldr r1, [r0, 0x70]
- cmp r2, r1
- bge _08021B90
- adds r3, r1, 0
- adds r1, r0, 0
- adds r1, 0xE
-_08021B78:
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r4, r0
- bne _08021B88
- adds r0, r2, 0
- b _08021B94
- .align 2, 0
-_08021B84: .4byte gUnknown_203B28C
-_08021B88:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r3
- blt _08021B78
-_08021B90:
- movs r0, 0x1
- negs r0, r0
-_08021B94:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8021B58
-
- thumb_func_start sub_8021B9C
-sub_8021B9C:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08021BF8
- movs r0, 0x9C
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- str r6, [r0, 0x14]
- str r6, [r0, 0x18]
- str r4, [r0]
- ldr r0, _08021BFC
- movs r1, 0x28
- bl sub_808D8E0
- ldr r4, _08021C00
- adds r0, r4, 0
- movs r1, 0x28
- bl sub_808D8E0
- movs r0, 0x28
- bl sub_808D994
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r5, [r5]
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08021C04
- adds r0, r5, 0
- adds r0, 0xCC
- str r6, [r0]
- b _08021C0E
- .align 2, 0
-_08021BF8: .4byte gUnknown_203B290
-_08021BFC: .4byte gUnknown_202E5D8
-_08021C00: .4byte gUnknown_202E1C8
-_08021C04:
- adds r1, r5, 0
- adds r1, 0xCC
- adds r0, r5, 0
- adds r0, 0xBC
- str r0, [r1]
-_08021C0E:
- movs r0, 0x28
- bl sub_808DDD0
- ldr r2, _08021C58
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xBC
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0xC8
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xC9
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xCA
- strb r1, [r0]
- ldr r1, [r2]
- adds r2, r1, 0
- adds r2, 0xC4
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0xC6
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_8021D44
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08021C58: .4byte gUnknown_203B290
- thumb_func_end sub_8021B9C
-
- thumb_func_start sub_8021C5C
-sub_8021C5C:
- push {lr}
- ldr r0, _08021C74
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x17
- bhi _08021D10
- lsls r0, 2
- ldr r1, _08021C78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08021C74: .4byte gUnknown_203B290
-_08021C78: .4byte _08021C7C
- .align 2, 0
-_08021C7C:
- .4byte _08021CDC
- .4byte _08021CDC
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D0C
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021CE2
- .4byte _08021CE2
- .4byte _08021CE8
- .4byte _08021D10
- .4byte _08021CF4
- .4byte _08021CFA
- .4byte _08021D10
- .4byte _08021D00
- .4byte _08021CEE
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D10
- .4byte _08021D06
- .4byte _08021D06
-_08021CDC:
- bl sub_8022460
- b _08021D14
-_08021CE2:
- bl sub_8022538
- b _08021D14
-_08021CE8:
- bl sub_80225C8
- b _08021D14
-_08021CEE:
- bl sub_80224D4
- b _08021D14
-_08021CF4:
- bl sub_80226F0
- b _08021D14
-_08021CFA:
- bl sub_8022790
- b _08021D14
-_08021D00:
- bl sub_8022668
- b _08021D14
-_08021D06:
- bl sub_8022684
- b _08021D14
-_08021D0C:
- movs r0, 0x3
- b _08021D16
-_08021D10:
- bl sub_80226CC
-_08021D14:
- movs r0, 0
-_08021D16:
- pop {r1}
- bx r1
- thumb_func_end sub_8021C5C
-
- thumb_func_start sub_8021D1C
-sub_8021D1C:
- push {r4,lr}
- ldr r4, _08021D40
- ldr r0, [r4]
- cmp r0, 0
- beq _08021D38
- adds r0, 0xBC
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08021D38:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08021D40: .4byte gUnknown_203B290
- thumb_func_end sub_8021D1C
-
- thumb_func_start sub_8021D44
-sub_8021D44:
- push {lr}
- ldr r1, _08021D58
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_8021D5C
- bl sub_8021E0C
- pop {r0}
- bx r0
- .align 2, 0
-_08021D58: .4byte gUnknown_203B290
- thumb_func_end sub_8021D44
-
- thumb_func_start sub_8021D5C
-sub_8021D5C:
- push {r4-r7,lr}
- ldr r4, _08021D7C
- ldr r0, [r4]
- adds r0, 0xD0
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x9
- blt _08021DC8
- cmp r0, 0xA
- ble _08021D80
- cmp r0, 0xB
- beq _08021DB0
- b _08021DC8
- .align 2, 0
-_08021D7C: .4byte gUnknown_203B290
-_08021D80:
- ldr r2, _08021DA8
- adds r1, 0xD0
- adds r0, r2, 0
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r7}
- stm r1!, {r3,r5,r7}
- ldr r0, [r4]
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6
- ldm r2!, {r1,r3,r7}
- stm r0!, {r1,r3,r7}
- ldm r2!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r4]
- adds r1, 0xE8
- ldr r0, _08021DAC
- b _08021DB8
- .align 2, 0
-_08021DA8: .4byte gUnknown_80DC534
-_08021DAC: .4byte gUnknown_80DC564
-_08021DB0:
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
- ldr r0, _08021DC4
-_08021DB8:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _08021DEC
- .align 2, 0
-_08021DC4: .4byte gUnknown_80DC54C
-_08021DC8:
- ldr r0, _08021E04
- mov r12, r0
- ldr r4, _08021E08
- movs r3, 0
- movs r2, 0x3
-_08021DD2:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0xD0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08021DD2
-_08021DEC:
- bl sub_8004914
- ldr r0, _08021E04
- ldr r0, [r0]
- adds r0, 0xD0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08021E04: .4byte gUnknown_203B290
-_08021E08: .4byte gUnknown_80DC534
- thumb_func_end sub_8021D5C
-
- thumb_func_start sub_8021E0C
-sub_8021E0C:
- push {r4,lr}
- sub sp, 0x20
- ldr r1, _08021E28
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x1C
- bls _08021E1E
- b _080222B6
-_08021E1E:
- lsls r0, 2
- ldr r1, _08021E2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08021E28: .4byte gUnknown_203B290
-_08021E2C: .4byte _08021E30
- .align 2, 0
-_08021E30:
- .4byte _08021EA4
- .4byte _08021EC0
- .4byte _08021F38
- .4byte _08021F50
- .4byte _080222B6
- .4byte _08021F78
- .4byte _08021F90
- .4byte _08021F08
- .4byte _08021F20
- .4byte _08021FD8
- .4byte _08021FE2
- .4byte _08021FF0
- .4byte _0802208E
- .4byte _080220B8
- .4byte _080220D8
- .4byte _080220EA
- .4byte _08022080
- .4byte _08022024
- .4byte _08021FA8
- .4byte _08021FC0
- .4byte _08022138
- .4byte _08022150
- .4byte _08022168
- .4byte _08022176
- .4byte _0802217E
- .4byte _08022238
- .4byte _08022250
- .4byte _08022268
- .4byte _08022294
-_08021EA4:
- bl sub_80222C8
- ldr r2, _08021EB8
- ldr r0, _08021EBC
- ldr r4, [r0]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- b _08021ED4
- .align 2, 0
-_08021EB8: .4byte gUnknown_80D79A4
-_08021EBC: .4byte gUnknown_203B290
-_08021EC0:
- bl sub_80222C8
- ldr r2, _08021F00
- ldr r0, _08021F04
- ldr r4, [r0]
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4
-_08021ED4:
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r4, 0x14]
- adds r3, r4, 0
- adds r3, 0x1C
- adds r1, r4, 0
- adds r1, 0x5C
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r1, r4, 0
- adds r1, 0xCC
- ldr r1, [r1]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080222B6
- .align 2, 0
-_08021F00: .4byte gUnknown_80D79A4
-_08021F04: .4byte gUnknown_203B290
-_08021F08:
- ldr r3, [r4]
- movs r0, 0x9
- str r0, [r3, 0x8]
- ldr r2, _08021F1C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0xC
- b _0802227A
- .align 2, 0
-_08021F1C: .4byte gUnknown_80D79A4
-_08021F20:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021F34
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x10
- b _0802227A
- .align 2, 0
-_08021F34: .4byte gUnknown_80D79A4
-_08021F38:
- ldr r3, [r4]
- movs r0, 0x1
- str r0, [r3, 0x8]
- ldr r2, _08021F4C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x4C
- b _0802227A
- .align 2, 0
-_08021F4C: .4byte gUnknown_80D79A4
-_08021F50:
- ldr r3, [r4]
- movs r0, 0x4
- str r0, [r3, 0x8]
- ldr r2, _08021F70
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
- ldr r3, _08021F74
- b _08022284
- .align 2, 0
-_08021F70: .4byte gUnknown_80D79A4
-_08021F74: .4byte 0x0000030d
-_08021F78:
- ldr r3, [r4]
- movs r0, 0x3
- str r0, [r3, 0x8]
- ldr r2, _08021F8C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x20
- b _0802227A
- .align 2, 0
-_08021F8C: .4byte gUnknown_80D79A4
-_08021F90:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021FA4
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x24
- b _0802227A
- .align 2, 0
-_08021FA4: .4byte gUnknown_80D79A4
-_08021FA8:
- ldr r3, [r4]
- movs r0, 0x3
- str r0, [r3, 0x8]
- ldr r2, _08021FBC
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x28
- b _0802227A
- .align 2, 0
-_08021FBC: .4byte gUnknown_80D79A4
-_08021FC0:
- ldr r3, [r4]
- movs r0, 0xA
- str r0, [r3, 0x8]
- ldr r2, _08021FD4
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x2C
- b _0802227A
- .align 2, 0
-_08021FD4: .4byte gUnknown_80D79A4
-_08021FD8:
- movs r0, 0x2
- movs r1, 0x3
- bl sub_80211AC
- b _08021FE8
-_08021FE2:
- movs r0, 0x1
- bl sub_8021354
-_08021FE8:
- movs r0, 0x1
- bl sub_8016C40
- b _080222B6
-_08021FF0:
- bl sub_8021494
- movs r0, 0x1
- bl sub_8016C40
- bl sub_8022380
- ldr r0, _08022020
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- adds r1, r2, 0
- adds r1, 0x1C
- adds r3, r2, 0
- adds r3, 0x5C
- ldr r2, [r2, 0x18]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080222B6
- .align 2, 0
-_08022020: .4byte gUnknown_203B290
-_08022024:
- bl sub_8022420
- ldr r0, _08022070
- ldr r4, _08022074
- ldr r1, [r4]
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r1, _08022078
- ldr r4, [r4]
- ldr r0, [r4, 0xC]
- str r0, [r1]
- ldr r2, _0802207C
- ldr r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- adds r3, r4, 0
- adds r3, 0x1C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- adds r4, 0xCC
- ldr r1, [r4]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _080222B6
- .align 2, 0
-_08022070: .4byte gUnknown_202E628
-_08022074: .4byte gUnknown_203B290
-_08022078: .4byte gUnknown_202DE30
-_0802207C: .4byte gUnknown_80D79A4
-_08022080:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- movs r1, 0
- movs r2, 0x2
- bl sub_8021774
- b _080222B6
-_0802208E:
- ldr r1, [r4]
- movs r0, 0xD
- str r0, [r1, 0x8]
- ldr r0, _080220B0
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r2, _080220B4
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x18
- b _0802227A
- .align 2, 0
-_080220B0: .4byte gUnknown_202E628
-_080220B4: .4byte gUnknown_80D79A4
-_080220B8:
- ldr r1, [r4]
- movs r0, 0xE
- str r0, [r1, 0x8]
- ldr r0, _080220D4
- bl sub_8011988
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- b _080222B6
- .align 2, 0
-_080220D4: .4byte 0x0000025b
-_080220D8:
- ldr r0, [r4]
- movs r1, 0xF
- str r1, [r0, 0x8]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1E
- str r1, [r0]
- b _080222B6
-_080220EA:
- movs r0, 0x2
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _08022108
- bl sub_80213A0
- ldr r0, _08022104
- ldr r1, [r0]
- movs r0, 0x12
- b _0802210E
- .align 2, 0
-_08022104: .4byte gUnknown_203B290
-_08022108:
- ldr r0, _08022130
- ldr r1, [r0]
- movs r0, 0x8
-_0802210E:
- str r0, [r1, 0x8]
- movs r0, 0xCE
- bl sub_8011988
- ldr r3, _08022134
- ldr r0, _08022130
- ldr r2, [r0]
- ldr r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r3, 0x1C
- adds r0, r3
- ldr r0, [r0]
- adds r2, 0xCC
- ldr r2, [r2]
- b _08022282
- .align 2, 0
-_08022130: .4byte gUnknown_203B290
-_08022134: .4byte gUnknown_80D79A4
-_08022138:
- ldr r3, [r4]
- movs r0, 0x16
- str r0, [r3, 0x8]
- ldr r2, _0802214C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x30
- b _0802227A
- .align 2, 0
-_0802214C: .4byte gUnknown_80D79A4
-_08022150:
- ldr r3, [r4]
- movs r0, 0x17
- str r0, [r3, 0x8]
- ldr r2, _08022164
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x34
- b _0802227A
- .align 2, 0
-_08022164: .4byte gUnknown_80D79A4
-_08022168:
- movs r0, 0
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_8023144
- b _080222B6
-_08022176:
- movs r0, 0x1
- bl sub_8023354
- b _080222B6
-_0802217E:
- ldr r4, _080221A0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- add r1, sp, 0x14
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- add r0, sp, 0x14
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080221A4
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x8]
- b _080221FA
- .align 2, 0
-_080221A0: .4byte gUnknown_203B290
-_080221A4:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080221E0
- cmp r0, 0x2
- bgt _080221BE
- cmp r0, 0x1
- beq _080221C4
- b _080221F0
-_080221BE:
- cmp r0, 0x3
- beq _080221E8
- b _080221F0
-_080221C4:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080221D8
- ldr r1, [r4]
- movs r0, 0x15
- str r0, [r1, 0x8]
- b _080221FA
-_080221D8:
- ldr r1, [r4]
- movs r0, 0x1A
- str r0, [r1, 0x8]
- b _080221FA
-_080221E0:
- ldr r1, [r4]
- movs r0, 0x1B
- str r0, [r1, 0x8]
- b _080221FA
-_080221E8:
- ldr r1, [r4]
- movs r0, 0x1C
- str r0, [r1, 0x8]
- b _080221FA
-_080221F0:
- ldr r2, _08022228
- ldr r1, [r2]
- movs r0, 0x15
- str r0, [r1, 0x8]
- adds r4, r2, 0
-_080221FA:
- ldr r0, [r4]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0802222C
- bl strcpy
- ldr r0, _08022230
- ldr r1, [r4]
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8092578
- ldr r2, _08022234
- ldr r3, [r4]
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x38
- b _0802227A
- .align 2, 0
-_08022228: .4byte gUnknown_203B290
-_0802222C: .4byte gUnknown_202DF98
-_08022230: .4byte gUnknown_202E628
-_08022234: .4byte gUnknown_80D79A4
-_08022238:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _0802224C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x3C
- b _0802227A
- .align 2, 0
-_0802224C: .4byte gUnknown_80D79A4
-_08022250:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _08022264
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x40
- b _0802227A
- .align 2, 0
-_08022264: .4byte gUnknown_80D79A4
-_08022268:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _0802228C
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x44
-_0802227A:
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
-_08022282:
- ldr r3, _08022290
-_08022284:
- movs r1, 0
- bl sub_80141B4
- b _080222B6
- .align 2, 0
-_0802228C: .4byte gUnknown_80D79A4
-_08022290: .4byte 0x0000010d
-_08022294:
- ldr r3, [r4]
- movs r0, 0x15
- str r0, [r3, 0x8]
- ldr r2, _080222C0
- ldr r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r2, 0x48
- adds r0, r2
- ldr r0, [r0]
- adds r3, 0xCC
- ldr r2, [r3]
- ldr r3, _080222C4
- movs r1, 0
- bl sub_80141B4
-_080222B6:
- add sp, 0x20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080222C0: .4byte gUnknown_80D79A4
-_080222C4: .4byte 0x0000010d
- thumb_func_end sub_8021E0C
-
- thumb_func_start sub_80222C8
-sub_80222C8:
- push {r4-r7,lr}
- ldr r4, _08022344
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r5, 0
- ldr r0, _08022348
- ldr r0, [r0]
- str r0, [r1, 0x1C]
- adds r3, r1, 0
- adds r3, 0x20
- movs r0, 0x2
- str r0, [r1, 0x20]
- movs r2, 0x1
- ldr r0, _0802234C
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x3
- str r0, [r1, 0x28]
- ldr r0, _08022350
- ldr r0, [r0]
- str r0, [r1, 0x2C]
- movs r0, 0x4
- str r0, [r1, 0x30]
- ldr r0, _08022354
- ldr r0, [r0]
- str r0, [r1, 0x34]
- str r2, [r1, 0x38]
- movs r7, 0x4
- str r5, [r1, 0x3C]
- str r2, [r3, 0x20]
- adds r6, r1, 0
- adds r2, r6, 0
- adds r2, 0x5C
-_08022314:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08022322
- ldr r1, [r3]
- ldr r0, [r6, 0x14]
- cmp r1, r0
- beq _0802237A
-_08022322:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r7
- blt _08022314
- movs r5, 0
- cmp r5, r7
- bge _0802237A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrh r0, [r0]
- cmp r0, 0
- bne _08022358
- ldr r0, [r1, 0x20]
- str r0, [r1, 0x14]
- b _0802237A
- .align 2, 0
-_08022344: .4byte gUnknown_203B290
-_08022348: .4byte gUnknown_80D4978
-_0802234C: .4byte gUnknown_80D499C
-_08022350: .4byte gUnknown_80D4970
-_08022354: .4byte gUnknown_80D4934
-_08022358:
- adds r5, 0x1
- cmp r5, r7
- bge _0802237A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x5C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08022358
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x14]
-_0802237A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80222C8
-
- thumb_func_start sub_8022380
-sub_8022380:
- push {r4-r7,lr}
- ldr r4, _080223EC
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _080223F0
- ldr r0, [r0]
- str r0, [r3, 0x1C]
- movs r0, 0x2
- str r0, [r3, 0x20]
- movs r1, 0x1
- ldr r0, _080223F4
- ldr r0, [r0]
- str r0, [r3, 0x24]
- movs r0, 0x4
- str r0, [r3, 0x28]
- movs r6, 0x2
- str r2, [r3, 0x2C]
- str r1, [r3, 0x30]
- movs r5, 0
- mov r12, r3
- adds r3, 0x20
- mov r2, r12
- adds r2, 0x5C
-_080223BA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _080223CA
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x18]
- cmp r1, r0
- beq _0802241A
-_080223CA:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _080223BA
- movs r5, 0
- cmp r5, r6
- bge _0802241A
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrh r0, [r0]
- cmp r0, 0
- bne _080223F8
- ldr r0, [r1, 0x20]
- str r0, [r1, 0x18]
- b _0802241A
- .align 2, 0
-_080223EC: .4byte gUnknown_203B290
-_080223F0: .4byte gUnknown_80D4978
-_080223F4: .4byte gUnknown_80D4970
-_080223F8:
- adds r5, 0x1
- cmp r5, r6
- bge _0802241A
- ldr r2, [r4]
- lsls r0, r5, 1
- adds r1, r2, 0
- adds r1, 0x5C
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080223F8
- lsls r0, r5, 3
- adds r1, r2, 0
- adds r1, 0x20
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x18]
-_0802241A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022380
-
- thumb_func_start sub_8022420
-sub_8022420:
- push {r4,lr}
- ldr r4, _08022454
- ldr r0, [r4]
- adds r0, 0x5C
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _08022458
- ldr r0, [r0]
- str r0, [r1, 0x1C]
- movs r0, 0x5
- str r0, [r1, 0x20]
- movs r2, 0x1
- ldr r0, _0802245C
- ldr r0, [r0]
- str r0, [r1, 0x24]
- movs r0, 0x6
- str r0, [r1, 0x28]
- str r3, [r1, 0x2C]
- str r2, [r1, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08022454: .4byte gUnknown_203B290
-_08022458: .4byte gUnknown_80D4920
-_0802245C: .4byte gUnknown_80D4928
- thumb_func_end sub_8022420
-
- thumb_func_start sub_8022460
-sub_8022460:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080224CC
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802247A
- ldr r0, _0802248C
- ldr r0, [r0]
- str r1, [r0, 0x14]
-_0802247A:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0802249A
- cmp r0, 0x2
- bgt _08022490
- cmp r0, 0x1
- beq _080224C6
- b _080224CC
- .align 2, 0
-_0802248C: .4byte gUnknown_203B290
-_08022490:
- cmp r0, 0x3
- beq _080224B6
- cmp r0, 0x4
- beq _080224BE
- b _080224CC
-_0802249A:
- movs r0, 0x2
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _080224AE
- movs r0, 0x5
- bl sub_8021D44
- b _080224CC
-_080224AE:
- movs r0, 0x7
- bl sub_8021D44
- b _080224CC
-_080224B6:
- movs r0, 0x14
- bl sub_8021D44
- b _080224CC
-_080224BE:
- movs r0, 0x2
- bl sub_8021D44
- b _080224CC
-_080224C6:
- movs r0, 0x3
- bl sub_8021D44
-_080224CC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8022460
-
- thumb_func_start sub_80224D4
-sub_80224D4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08022532
- ldr r0, [sp]
- cmp r0, 0x5
- beq _080224F8
- cmp r0, 0x5
- bgt _080224F2
- cmp r0, 0x1
- beq _0802252C
- b _08022532
-_080224F2:
- cmp r0, 0x6
- beq _0802252C
- b _08022532
-_080224F8:
- ldr r0, _08022524
- ldr r2, [r0]
- movs r0, 0x98
- lsls r0, 2
- adds r2, r0
- ldr r0, _08022528
- ldr r3, [r0]
- ldr r0, [r2]
- ldr r1, [r3, 0xC]
- subs r0, r1
- str r0, [r2]
- ldrb r0, [r3, 0x10]
- bl sub_80925EC
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8011988
- movs r0, 0xC
- bl sub_8021D44
- b _08022532
- .align 2, 0
-_08022524: .4byte gUnknown_203B460
-_08022528: .4byte gUnknown_203B290
-_0802252C:
- movs r0, 0xA
- bl sub_8021D44
-_08022532:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80224D4
-
- thumb_func_start sub_8022538
-sub_8022538:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x4
- bhi _080225BC
- lsls r0, 2
- ldr r1, _08022550
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022550: .4byte _08022554
- .align 2, 0
-_08022554:
- .4byte _080225C2
- .4byte _080225BC
- .4byte _080225B0
- .4byte _08022568
- .4byte _0802258C
-_08022568:
- bl sub_802132C
- ldr r4, _08022588
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8092544
- ldr r1, [r4]
- str r0, [r1, 0xC]
- movs r0, 0xB
- bl sub_8021D44
- b _080225C2
- .align 2, 0
-_08022588: .4byte gUnknown_203B290
-_0802258C:
- bl sub_802132C
- ldr r4, _080225AC
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8092544
- ldr r1, [r4]
- str r0, [r1, 0xC]
- movs r0, 0x10
- bl sub_8021D44
- b _080225C2
- .align 2, 0
-_080225AC: .4byte gUnknown_203B290
-_080225B0:
- bl sub_80213A0
- movs r0, 0x1
- bl sub_8021D44
- b _080225C2
-_080225BC:
- movs r0, 0x1
- bl sub_8016C40
-_080225C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022538
-
- thumb_func_start sub_80225C8
-sub_80225C8:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8021274
- ldr r4, _08022608
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080225F8
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080225F8
- ldr r0, [r4]
- str r1, [r0, 0x18]
-_080225F8:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08022612
- cmp r0, 0x2
- bgt _0802260C
- cmp r0, 0x1
- beq _08022658
- b _0802265E
- .align 2, 0
-_08022608: .4byte gUnknown_203B290
-_0802260C:
- cmp r0, 0x4
- beq _08022650
- b _0802265E
-_08022612:
- ldr r0, _0802262C
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- cmp r1, 0
- bne _08022630
- movs r0, 0x6
- bl sub_8021D44
- b _0802265E
- .align 2, 0
-_0802262C: .4byte gUnknown_203B460
-_08022630:
- ldr r0, _08022644
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- cmp r0, r1
- ble _08022648
- movs r0, 0x13
- bl sub_8021D44
- b _0802265E
- .align 2, 0
-_08022644: .4byte gUnknown_203B290
-_08022648:
- movs r0, 0x11
- bl sub_8021D44
- b _0802265E
-_08022650:
- movs r0, 0x10
- bl sub_8021D44
- b _0802265E
-_08022658:
- movs r0, 0xA
- bl sub_8021D44
-_0802265E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80225C8
-
- thumb_func_start sub_8022668
-sub_8022668:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _08022680
- cmp r0, 0x3
- bhi _08022680
- bl sub_8021830
- movs r0, 0xA
- bl sub_8021D44
-_08022680:
- pop {r0}
- bx r0
- thumb_func_end sub_8022668
-
- thumb_func_start sub_8022684
-sub_8022684:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023278
- cmp r0, 0x2
- beq _080226BC
- cmp r0, 0x2
- bcc _080226C6
- cmp r0, 0x3
- bne _080226C6
- bl sub_802331C
- ldr r4, _080226B8
- ldr r1, [r4]
- strh r0, [r1, 0x12]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- bl sub_808DBA8
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- movs r0, 0x18
- bl sub_8021D44
- b _080226C6
- .align 2, 0
-_080226B8: .4byte gUnknown_203B290
-_080226BC:
- bl sub_80233A0
- movs r0, 0x1
- bl sub_8021D44
-_080226C6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8022684
-
- thumb_func_start sub_80226CC
-sub_80226CC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080226E4
- ldr r0, _080226EC
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8021D44
-_080226E4:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080226EC: .4byte gUnknown_203B290
- thumb_func_end sub_80226CC
-
- thumb_func_start sub_80226F0
-sub_80226F0:
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0
- movs r0, 0x80
- strb r0, [r1]
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- strb r2, [r1, 0x3]
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _08022782
- ldr r0, _08022728
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0802275C
- lsls r0, 2
- ldr r1, _0802272C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022728: .4byte gUnknown_203B290
-_0802272C: .4byte _08022730
- .align 2, 0
-_08022730:
- .4byte _0802275C
- .4byte _08022744
- .4byte _08022750
- .4byte _08022744
- .4byte _08022750
-_08022744:
- movs r0, 0x5
- movs r1, 0x2
- ldr r2, [sp]
- bl sub_8099AFC
- b _08022772
-_08022750:
- movs r0, 0x5
- movs r1, 0x2
- ldr r2, [sp]
- bl sub_8099A5C
- b _08022772
-_0802275C:
- ldr r4, _0802278C
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- bl sub_8021D44
- ldr r0, [r4]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_08022772:
- ldr r0, _0802278C
- ldr r1, [r0]
- movs r0, 0x98
- lsls r0, 1
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08022782:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802278C: .4byte gUnknown_203B290
- thumb_func_end sub_80226F0
-
- thumb_func_start sub_8022790
-sub_8022790:
- push {lr}
- ldr r0, _080227A8
- ldr r2, [r0]
- movs r0, 0x9A
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _080227AC
- subs r0, 0x1
- str r0, [r1]
- b _080227B2
- .align 2, 0
-_080227A8: .4byte gUnknown_203B290
-_080227AC:
- ldr r0, [r2, 0x8]
- bl sub_8021D44
-_080227B2:
- pop {r0}
- bx r0
- thumb_func_end sub_8022790
-
- thumb_func_start sub_80227B8
-sub_80227B8:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08022810
- movs r0, 0xD4
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- adds r2, r0, 0
- adds r2, 0xF4
- movs r1, 0
- str r1, [r2]
- str r5, [r0, 0x48]
- cmp r5, 0
- beq _08022820
- ldr r4, _08022814
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_808D9AC
- bl sub_809177C
- lsls r0, 24
- cmp r0, 0
- beq _08022818
- movs r0, 0
- bl sub_8022924
- b _08022856
- .align 2, 0
-_08022810: .4byte gUnknown_203B294
-_08022814: .4byte gUnknown_202DF98
-_08022818:
- movs r0, 0x11
- bl sub_8022924
- b _08022856
-_08022820:
- ldr r4, _08022848
- ldr r5, _0802284C
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- bl sub_8090A34
- cmp r0, 0
- bne _08022850
- movs r0, 0x12
- bl sub_8022924
- b _08022856
- .align 2, 0
-_08022848: .4byte gUnknown_202DF98
-_0802284C: .4byte gUnknown_80DC5EC
-_08022850:
- movs r0, 0
- bl sub_8022924
-_08022856:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80227B8
-
- thumb_func_start sub_8022860
-sub_8022860:
- push {lr}
- ldr r0, _08022878
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x16
- bhi _080228FE
- lsls r0, 2
- ldr r1, _0802287C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022878: .4byte gUnknown_203B294
-_0802287C: .4byte _08022880
- .align 2, 0
-_08022880:
- .4byte _080228DC
- .4byte _080228DC
- .4byte _080228E2
- .4byte _080228E8
- .4byte _080228EE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228FE
- .4byte _080228F4
- .4byte _080228FA
-_080228DC:
- bl sub_8022E78
- b _08022902
-_080228E2:
- bl sub_8022EF4
- b _08022902
-_080228E8:
- bl sub_8023068
- b _08022902
-_080228EE:
- bl sub_80230E8
- b _08022902
-_080228F4:
- bl sub_8023104
- b _08022902
-_080228FA:
- movs r0, 0x3
- b _08022904
-_080228FE:
- bl sub_8023120
-_08022902:
- movs r0, 0
-_08022904:
- pop {r1}
- bx r1
- thumb_func_end sub_8022860
-
- thumb_func_start sub_8022908
-sub_8022908:
- push {r4,lr}
- ldr r4, _08022920
- ldr r0, [r4]
- cmp r0, 0
- beq _0802291A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802291A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08022920: .4byte gUnknown_203B294
- thumb_func_end sub_8022908
-
- thumb_func_start sub_8022924
-sub_8022924:
- push {lr}
- ldr r1, _08022938
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802293C
- bl sub_8022A10
- pop {r0}
- bx r0
- .align 2, 0
-_08022938: .4byte gUnknown_203B294
- thumb_func_end sub_8022924
-
- thumb_func_start sub_802293C
-sub_802293C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08022964
- ldr r0, [r4]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _080229A4
- cmp r0, 0x3
- bgt _08022968
- cmp r0, 0x2
- beq _08022972
- b _080229BC
- .align 2, 0
-_08022964: .4byte gUnknown_203B294
-_08022968:
- cmp r0, 0x10
- bgt _080229BC
- cmp r0, 0xA
- blt _080229BC
- b _080229E6
-_08022972:
- bl sub_8022D2C
- ldr r2, [r4]
- movs r0, 0xBC
- lsls r0, 1
- adds r2, r0
- ldr r1, _080229A0
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xF8
- bl sub_8012CAC
- ldr r0, [r4]
- movs r6, 0xC2
- lsls r6, 1
- adds r0, r6
- movs r1, 0x6
- strh r1, [r0]
- b _080229E6
- .align 2, 0
-_080229A0: .4byte gUnknown_80DC5BC
-_080229A4:
- movs r7, 0xB0
- lsls r7, 1
- adds r1, r7
- ldr r0, _080229B8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _080229E6
- .align 2, 0
-_080229B8: .4byte gUnknown_80DC5D4
-_080229BC:
- ldr r0, _08022A08
- mov r12, r0
- movs r1, 0xA4
- lsls r1, 1
- mov r8, r1
- ldr r4, _08022A0C
- movs r3, 0
- movs r2, 0x3
-_080229CC:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080229CC
-_080229E6:
- bl sub_8004914
- ldr r0, _08022A08
- ldr r0, [r0]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08022A08: .4byte gUnknown_203B294
-_08022A0C: .4byte gUnknown_80DC5A4
- thumb_func_end sub_802293C
-
- thumb_func_start sub_8022A10
-sub_8022A10:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, _08022A2C
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x16
- bls _08022A22
- b _08022D1E
-_08022A22:
- lsls r0, 2
- ldr r1, _08022A30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022A2C: .4byte gUnknown_203B294
-_08022A30: .4byte _08022A34
- .align 2, 0
-_08022A34:
- .4byte _08022A90
- .4byte _08022AAA
- .4byte _08022AB2
- .4byte _08022AE0
- .4byte _08022B10
- .4byte _08022B1A
- .4byte _08022B24
- .4byte _08022B34
- .4byte _08022B44
- .4byte _08022B54
- .4byte _08022B64
- .4byte _08022C28
- .4byte _08022CA0
- .4byte _08022CA8
- .4byte _08022CB0
- .4byte _08022CB8
- .4byte _08022CC0
- .4byte _08022CC8
- .4byte _08022CD8
- .4byte _08022CE8
- .4byte _08022CF8
- .4byte _08022D14
- .4byte _08022D1E
-_08022A90:
- ldr r0, [r4]
- ldr r0, [r0, 0x48]
- cmp r0, 0
- beq _08022A9C
- movs r0, 0x5
- b _08022A9E
-_08022A9C:
- movs r0, 0x1
-_08022A9E:
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08022D22
-_08022AAA:
- movs r0, 0x1
- bl sub_801A8D0
- b _08022D22
-_08022AB2:
- bl sub_801A9E0
- ldr r0, _08022ADC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x54
- adds r1, r2, 0
- adds r1, 0xF8
- movs r4, 0x9C
- lsls r4, 1
- adds r3, r2, r4
- adds r2, 0xF4
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08022D22
- .align 2, 0
-_08022ADC: .4byte gUnknown_203B294
-_08022AE0:
- bl sub_801A9E0
- ldr r4, _08022B08
- ldr r0, [r4]
- adds r0, 0x54
- movs r1, 0
- bl sub_8012EA4
- ldr r0, [r4]
- adds r0, 0xA4
- ldr r1, _08022B0C
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _08022D22
- .align 2, 0
-_08022B08: .4byte gUnknown_203B294
-_08022B0C: .4byte gUnknown_80DC584
-_08022B10:
- ldr r0, [r4]
- adds r0, 0x50
- bl sub_801B3C0
- b _08022D22
-_08022B1A:
- ldr r0, _08022B20
- b _08022D00
- .align 2, 0
-_08022B20: .4byte gUnknown_80DC5F4
-_08022B24:
- ldr r0, _08022B2C
- ldr r3, _08022B30
- b _08022D02
- .align 2, 0
-_08022B2C: .4byte gUnknown_80DC618
-_08022B30: .4byte 0x00000101
-_08022B34:
- ldr r0, _08022B3C
- ldr r3, _08022B40
- b _08022D02
- .align 2, 0
-_08022B3C: .4byte gUnknown_80DC674
-_08022B40: .4byte 0x00000101
-_08022B44:
- ldr r0, _08022B4C
- ldr r3, _08022B50
- b _08022D02
- .align 2, 0
-_08022B4C: .4byte gUnknown_80DC6CC
-_08022B50: .4byte 0x00000101
-_08022B54:
- ldr r0, _08022B5C
- ldr r3, _08022B60
- b _08022D02
- .align 2, 0
-_08022B5C: .4byte gUnknown_80DC728
-_08022B60: .4byte 0x00000101
-_08022B64:
- ldr r7, _08022B68
- b _08022B78
- .align 2, 0
-_08022B68: .4byte gUnknown_203B294
-_08022B6C:
- ldr r1, [r4]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- cmp r0, 0x17
- bgt _08022C10
-_08022B78:
- movs r5, 0
- movs r6, 0
- movs r3, 0
- ldr r2, [r4]
- ldr r0, [r2, 0x38]
- cmp r5, r0
- bge _08022BA4
- ldrb r1, [r2, 0x8]
- b _08022B9C
-_08022B8A:
- adds r3, 0x1
- ldr r2, [r4]
- ldr r0, [r2, 0x38]
- cmp r3, r0
- bge _08022BA4
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r3
- ldrb r1, [r0]
-_08022B9C:
- ldr r0, [r2, 0x40]
- cmp r1, r0
- bne _08022B8A
- movs r5, 0x1
-_08022BA4:
- movs r3, 0
- ldr r2, [r4]
- ldr r0, [r2, 0x3C]
- cmp r3, r0
- bge _08022BCE
- adds r0, r2, 0
- adds r0, 0x20
- b _08022BC4
-_08022BB4:
- adds r3, 0x1
- ldr r2, [r4]
- ldr r0, [r2, 0x3C]
- cmp r3, r0
- bge _08022BCE
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r3
-_08022BC4:
- ldrb r1, [r0]
- ldr r0, [r2, 0x40]
- cmp r1, r0
- bne _08022BB4
- movs r6, 0x1
-_08022BCE:
- cmp r5, r6
- beq _08022B6C
- ldr r1, [r7]
- movs r0, 0xA
- str r0, [r1, 0x4]
- ldr r0, [r1, 0x40]
- lsls r0, 24
- lsrs r0, 24
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r0, _08022C18
- bl strcpy
- movs r0, 0xCB
- bl sub_8011988
- ldr r0, _08022C1C
- movs r1, 0
- movs r2, 0
- ldr r3, _08022C20
- bl sub_80141B4
- ldr r1, [r7]
- ldr r0, [r1, 0x40]
- adds r0, 0x1
- str r0, [r1, 0x40]
- ldr r0, _08022C24
- ldr r0, [r0]
- ldr r0, [r0, 0x40]
- cmp r0, 0x17
- bgt _08022C10
- b _08022D22
-_08022C10:
- movs r0, 0xB
- bl sub_8022924
- b _08022D22
- .align 2, 0
-_08022C18: .4byte gUnknown_202DEA8
-_08022C1C: .4byte gUnknown_80DC788
-_08022C20: .4byte 0x00000101
-_08022C24: .4byte gUnknown_203B294
-_08022C28:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- bl nullsub_104
- ldr r0, [r4]
- adds r0, 0x46
- ldrh r0, [r0]
- cmp r0, 0x8
- bhi _08022C98
- lsls r0, 2
- ldr r1, _08022C48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022C48: .4byte _08022C4C
- .align 2, 0
-_08022C4C:
- .4byte _08022C70
- .4byte _08022C78
- .4byte _08022C80
- .4byte _08022C98
- .4byte _08022C88
- .4byte _08022C98
- .4byte _08022C98
- .4byte _08022C98
- .4byte _08022C90
-_08022C70:
- movs r0, 0x16
- bl sub_8022924
- b _08022D22
-_08022C78:
- movs r0, 0xD
- bl sub_8022924
- b _08022D22
-_08022C80:
- movs r0, 0xE
- bl sub_8022924
- b _08022D22
-_08022C88:
- movs r0, 0xF
- bl sub_8022924
- b _08022D22
-_08022C90:
- movs r0, 0x10
- bl sub_8022924
- b _08022D22
-_08022C98:
- movs r0, 0xC
- bl sub_8022924
- b _08022D22
-_08022CA0:
- ldr r0, _08022CA4
- b _08022D00
- .align 2, 0
-_08022CA4: .4byte gUnknown_80DC7B4
-_08022CA8:
- ldr r0, _08022CAC
- b _08022D00
- .align 2, 0
-_08022CAC: .4byte gUnknown_80DC7FC
-_08022CB0:
- ldr r0, _08022CB4
- b _08022D00
- .align 2, 0
-_08022CB4: .4byte gUnknown_80DC81C
-_08022CB8:
- ldr r0, _08022CBC
- b _08022D00
- .align 2, 0
-_08022CBC: .4byte gUnknown_80DC844
-_08022CC0:
- ldr r0, _08022CC4
- b _08022D00
- .align 2, 0
-_08022CC4: .4byte gUnknown_80DC864
-_08022CC8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CD4
- b _08022D00
- .align 2, 0
-_08022CD4: .4byte gUnknown_80DC88C
-_08022CD8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CE4
- b _08022D00
- .align 2, 0
-_08022CE4: .4byte gUnknown_80DC8AC
-_08022CE8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022CF4
- b _08022D00
- .align 2, 0
-_08022CF4: .4byte gUnknown_80DC8C8
-_08022CF8:
- ldr r1, [r4]
- movs r0, 0x16
- str r0, [r1, 0x4]
- ldr r0, _08022D0C
-_08022D00:
- ldr r3, _08022D10
-_08022D02:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08022D22
- .align 2, 0
-_08022D0C: .4byte gUnknown_80DC8DC
-_08022D10: .4byte 0x00000301
-_08022D14:
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_801AFA4
- b _08022D22
-_08022D1E:
- bl sub_801A928
-_08022D22:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022A10
-
- thumb_func_start sub_8022D2C
-sub_8022D2C:
- push {r4-r7,lr}
- movs r6, 0
- ldr r4, _08022D78
- ldr r0, [r4]
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r2, [r4]
- ldr r0, [r2, 0x48]
- cmp r0, 0
- beq _08022D80
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, _08022D7C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x52
- ldrb r0, [r0]
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- bne _08022D74
- ldr r0, [r4]
- movs r2, 0x9C
- lsls r2, 1
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0]
-_08022D74:
- movs r6, 0x1
- b _08022DBE
- .align 2, 0
-_08022D78: .4byte gUnknown_203B294
-_08022D7C: .4byte gUnknown_80DC8F0
-_08022D80:
- adds r0, r2, 0
- adds r0, 0x52
- ldrb r0, [r0]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08022DA4
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xF8
- ldr r0, _08022E38
- str r0, [r2]
- adds r1, 0xFC
- movs r0, 0x6
- str r0, [r1]
- movs r6, 0x1
-_08022DA4:
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xF8
- adds r0, r3
- ldr r1, _08022E3C
- ldr r1, [r1]
- str r1, [r0]
- adds r2, 0xFC
- adds r2, r3
- movs r0, 0x4
- str r0, [r2]
- adds r6, 0x1
-_08022DBE:
- ldr r4, _08022E40
- ldr r0, [r4]
- mov r12, r0
- lsls r1, r6, 3
- mov r2, r12
- adds r2, 0xF8
- adds r3, r2, r1
- ldr r0, _08022E44
- ldr r0, [r0]
- str r0, [r3]
- mov r3, r12
- adds r3, 0xFC
- adds r1, r3, r1
- movs r0, 0x7
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r1
- movs r0, 0
- str r0, [r2]
- adds r1, r3, r1
- movs r0, 0x1
- str r0, [r1]
- movs r5, 0
- adds r7, r4, 0
- cmp r5, r6
- bge _08022E16
- mov r4, r12
- adds r4, 0xF4
- movs r2, 0x9C
- lsls r2, 1
- add r2, r12
-_08022DFE:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08022E0C
- ldr r1, [r3]
- ldr r0, [r4]
- cmp r1, r0
- beq _08022E70
-_08022E0C:
- adds r2, 0x2
- adds r3, 0x8
- adds r5, 0x1
- cmp r5, r6
- blt _08022DFE
-_08022E16:
- movs r5, 0
- cmp r5, r6
- bge _08022E70
- ldr r1, [r7]
- movs r2, 0x9C
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _08022E48
- adds r0, r1, 0
- adds r0, 0xF4
- adds r1, 0xFC
- ldr r1, [r1]
- str r1, [r0]
- b _08022E70
- .align 2, 0
-_08022E38: .4byte gUnknown_80DC8F8
-_08022E3C: .4byte gUnknown_80D4940
-_08022E40: .4byte gUnknown_203B294
-_08022E44: .4byte gUnknown_80D4970
-_08022E48:
- adds r5, 0x1
- cmp r5, r6
- bge _08022E70
- ldr r3, [r7]
- lsls r0, r5, 1
- movs r2, 0x9C
- lsls r2, 1
- adds r1, r3, r2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08022E48
- adds r2, r3, 0
- adds r2, 0xF4
- lsls r1, r5, 3
- adds r0, r3, 0
- adds r0, 0xFC
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
-_08022E70:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8022D2C
-
- thumb_func_start sub_8022E78
-sub_8022E78:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08022E94
- cmp r0, 0x3
- bhi _08022E8E
- cmp r0, 0x2
- beq _08022EE8
- b _08022EEE
-_08022E8E:
- cmp r0, 0x4
- beq _08022EBC
- b _08022EEE
-_08022E94:
- bl sub_801A8AC
- ldr r1, _08022EB4
- ldr r2, [r1]
- str r0, [r2, 0x4C]
- ldr r1, _08022EB8
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x50]
- movs r0, 0x2
- bl sub_8022924
- b _08022EEE
- .align 2, 0
-_08022EB4: .4byte gUnknown_203B294
-_08022EB8: .4byte gUnknown_203B460
-_08022EBC:
- bl sub_801A8AC
- ldr r1, _08022EE0
- ldr r2, [r1]
- str r0, [r2, 0x4C]
- ldr r1, _08022EE4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x50]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x4
- bl sub_8022924
- b _08022EEE
- .align 2, 0
-_08022EE0: .4byte gUnknown_203B294
-_08022EE4: .4byte gUnknown_203B460
-_08022EE8:
- movs r0, 0x16
- bl sub_8022924
-_08022EEE:
- pop {r0}
- bx r0
- thumb_func_end sub_8022E78
-
- thumb_func_start sub_8022EF4
-sub_8022EF4:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08022F3C
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08022F26
- ldr r0, [r4]
- adds r0, 0x54
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08022F26
- ldr r0, [r4]
- adds r0, 0xF4
- str r1, [r0]
-_08022F26:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x6
- bls _08022F30
- b _08023060
-_08022F30:
- lsls r0, 2
- ldr r1, _08022F40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022F3C: .4byte gUnknown_203B294
-_08022F40: .4byte _08022F44
- .align 2, 0
-_08022F44:
- .4byte _08022F60
- .4byte _08023060
- .4byte _08023060
- .4byte _0802304C
- .4byte _08022F68
- .4byte _08023044
- .4byte _08023054
-_08022F60:
- movs r0, 0x1
- bl sub_8022924
- b _08023060
-_08022F68:
- ldr r4, _08022FEC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- ldr r1, [r1, 0x48]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r3, [r4]
- str r0, [r3, 0x38]
- ldr r0, [r3, 0x48]
- adds r1, r3, 0
- adds r1, 0x52
- ldrb r1, [r1]
- adds r3, 0x44
- movs r2, 0
- bl sub_80915F4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x20
- ldr r1, [r1, 0x48]
- movs r2, 0x14
- ldrsh r1, [r1, r2]
- bl sub_808EBA8
- ldr r1, [r4]
- str r0, [r1, 0x3C]
- movs r0, 0x1
- str r0, [r1, 0x40]
- adds r0, r1, 0
- adds r0, 0x44
- movs r2, 0
- ldrsh r5, [r0, r2]
- ldr r0, _08022FF0
- ldr r3, _08022FF4
- ldr r2, [r1, 0x4C]
- lsls r2, 2
- ldr r1, [r3]
- adds r1, r2
- movs r2, 0
- bl sub_8090E14
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _08022FD0
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_80911F8
-_08022FD0:
- movs r0, 0
- bl sub_8099690
- ldr r1, [r4]
- movs r0, 0xA
- str r0, [r1, 0x4]
- adds r0, r5, 0x1
- cmp r0, 0x4
- bhi _08023030
- lsls r0, 2
- ldr r1, _08022FF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08022FEC: .4byte gUnknown_203B294
-_08022FF0: .4byte gUnknown_202DE58
-_08022FF4: .4byte gUnknown_203B460
-_08022FF8: .4byte _08022FFC
- .align 2, 0
-_08022FFC:
- .4byte _08023030
- .4byte _08023010
- .4byte _08023018
- .4byte _08023020
- .4byte _08023028
-_08023010:
- movs r0, 0x6
- bl sub_8022924
- b _08023060
-_08023018:
- movs r0, 0x7
- bl sub_8022924
- b _08023060
-_08023020:
- movs r0, 0x8
- bl sub_8022924
- b _08023060
-_08023028:
- movs r0, 0x9
- bl sub_8022924
- b _08023060
-_08023030:
- ldr r0, _08023040
- ldr r1, [r0]
- movs r0, 0x16
- str r0, [r1, 0x4]
- movs r0, 0x5
- bl sub_8022924
- b _08023060
- .align 2, 0
-_08023040: .4byte gUnknown_203B294
-_08023044:
- movs r0, 0x15
- bl sub_8022924
- b _08023060
-_0802304C:
- movs r0, 0x3
- bl sub_8022924
- b _08023060
-_08023054:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x4
- bl sub_8022924
-_08023060:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8022EF4
-
- thumb_func_start sub_8023068
-sub_8023068:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _080230A8
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08023096
- ldr r0, [r4]
- adds r0, 0xA4
- mov r1, sp
- bl sub_8013114
-_08023096:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080230B8
- cmp r0, 0x2
- bgt _080230AC
- cmp r0, 0x1
- beq _080230B0
- b _080230E0
- .align 2, 0
-_080230A8: .4byte gUnknown_203B294
-_080230AC:
- cmp r0, 0x3
- bne _080230E0
-_080230B0:
- movs r0, 0x1
- bl sub_8022924
- b _080230E0
-_080230B8:
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_80911F8
- bl sub_8090A34
- cmp r0, 0
- bne _080230DA
- movs r0, 0
- bl sub_8099690
- bl sub_801A928
- movs r0, 0x14
- bl sub_8022924
- b _080230E0
-_080230DA:
- movs r0, 0x1
- bl sub_8022924
-_080230E0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8023068
-
- thumb_func_start sub_80230E8
-sub_80230E8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08023100
- cmp r0, 0x3
- bhi _08023100
- bl sub_801B450
- movs r0, 0x1
- bl sub_8022924
-_08023100:
- pop {r0}
- bx r0
- thumb_func_end sub_80230E8
-
- thumb_func_start sub_8023104
-sub_8023104:
- push {lr}
- bl sub_801B00C
- cmp r0, 0x1
- bls _0802311C
- cmp r0, 0x3
- bhi _0802311C
- bl sub_801B048
- movs r0, 0x1
- bl sub_8022924
-_0802311C:
- pop {r0}
- bx r0
- thumb_func_end sub_8023104
-
- thumb_func_start sub_8023120
-sub_8023120:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08023138
- ldr r0, _08023140
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8022924
-_08023138:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08023140: .4byte gUnknown_203B294
- thumb_func_end sub_8023120
-
- thumb_func_start sub_8023144
-sub_8023144:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r1, 0
- mov r9, r2
- mov r10, r3
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_8023704
- lsls r0, 24
- cmp r0, 0
- beq _08023168
- movs r0, 0
- b _08023252
-_08023168:
- ldr r6, _08023260
- ldr r0, [r6]
- cmp r0, 0
- bne _0802317C
- movs r0, 0xFF
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
-_0802317C:
- ldr r0, [r6]
- strb r4, [r0]
- ldr r0, [r6]
- ldr r1, _08023264
- ldr r1, [r1]
- str r1, [r0, 0x4]
- movs r4, 0xE4
- lsls r4, 2
- adds r1, r0, r4
- str r7, [r1]
- movs r1, 0xE5
- lsls r1, 2
- mov r8, r1
- adds r2, r0, r1
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 3
- movs r5, 0xE6
- lsls r5, 2
- adds r1, r5
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r5
- bl sub_8006518
- ldr r1, [r6]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r5
- ldr r0, _08023268
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- mov r1, r8
- adds r0, r2, r1
- ldr r1, [r0]
- movs r3, 0xFE
- lsls r3, 2
- adds r0, r2, r3
- str r0, [r1, 0x14]
- mov r4, r9
- cmp r4, 0
- beq _080231F6
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- subs r3, 0x58
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_080231F6:
- ldr r0, [r6]
- add r0, r8
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r6]
- movs r5, 0xD7
- lsls r5, 2
- adds r4, r5
- bl sub_80236A4
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- adds r3, r7, 0
- bl sub_8013818
- ldr r0, [r6]
- ldr r1, _0802326C
- ldrh r2, [r1]
- movs r4, 0xDD
- lsls r4, 2
- adds r1, r0, r4
- strh r2, [r1]
- ldr r1, _08023270
- ldrh r2, [r1]
- ldr r3, _08023274
- adds r1, r0, r3
- strh r2, [r1]
- adds r0, r5
- bl sub_8013984
- bl sub_8023420
- bl sub_80234BC
- movs r0, 0x1
-_08023252:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023260: .4byte gUnknown_3001B5C
-_08023264: .4byte gUnknown_203B298
-_08023268: .4byte gUnknown_80DC91C
-_0802326C: .4byte gUnknown_203B29C
-_08023270: .4byte gUnknown_203B29E
-_08023274: .4byte 0x0000037a
- thumb_func_end sub_8023144
-
- thumb_func_start sub_8023278
-sub_8023278:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08023298
- ldr r0, _08023294
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _08023316
- .align 2, 0
-_08023294: .4byte gUnknown_3001B5C
-_08023298:
- ldr r4, _080232B4
- ldr r0, [r4]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _080232BE
- cmp r0, 0x2
- bgt _080232B8
- cmp r0, 0x1
- beq _080232C8
- b _080232EC
- .align 2, 0
-_080232B4: .4byte gUnknown_3001B5C
-_080232B8:
- cmp r0, 0x3
- beq _080232D2
- b _080232EC
-_080232BE:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08023316
-_080232C8:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08023316
-_080232D2:
- movs r0, 0x5
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- movs r2, 0x1
- cmp r1, 0x1
- bhi _080232E4
- adds r2, r1, 0x1
-_080232E4:
- str r2, [r0, 0x4]
- bl sub_80236A4
- b _0802330C
-_080232EC:
- ldr r0, _08023308
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802330C
- movs r0, 0
- b _08023316
- .align 2, 0
-_08023308: .4byte gUnknown_3001B5C
-_0802330C:
- bl sub_8023420
- bl sub_80234BC
- movs r0, 0x1
-_08023316:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023278
-
- thumb_func_start sub_802331C
-sub_802331C:
- ldr r0, _0802334C
- ldr r0, [r0]
- ldr r2, _08023350
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0xDE
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r2
- movs r3, 0xDD
- lsls r3, 2
- adds r2, r0, r3
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0xC
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0802334C: .4byte gUnknown_3001B5C
-_08023350: .4byte 0x0000037a
- thumb_func_end sub_802331C
-
- thumb_func_start sub_8023354
-sub_8023354:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802339C
- ldr r0, [r5]
- movs r1, 0xE6
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_8023420
- bl sub_80234BC
- cmp r4, 0
- beq _08023396
- ldr r0, [r5]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- bl AddMenuCursorSprite
-_08023396:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802339C: .4byte gUnknown_3001B5C
- thumb_func_end sub_8023354
-
- thumb_func_start sub_80233A0
-sub_80233A0:
- push {r4-r6,lr}
- ldr r5, _08023408
- ldr r2, [r5]
- cmp r2, 0
- beq _08023400
- ldr r1, _0802340C
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, _08023410
- movs r3, 0xDD
- lsls r3, 2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08023414
- ldr r6, _08023418
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE6
- lsls r4, 2
- adds r1, r4
- ldr r0, _0802341C
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_08023400:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08023408: .4byte gUnknown_3001B5C
-_0802340C: .4byte gUnknown_203B298
-_08023410: .4byte gUnknown_203B29C
-_08023414: .4byte gUnknown_203B29E
-_08023418: .4byte 0x0000037a
-_0802341C: .4byte gUnknown_80DC904
- thumb_func_end sub_80233A0
-
- thumb_func_start sub_8023420
-sub_8023420:
- push {r4,r5,lr}
- ldr r4, _080234A8
- ldr r0, [r4]
- movs r1, 0xFE
- lsls r1, 2
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080234AC
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r1, 0x1
- adds r0, r1
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080234B0
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- ldr r2, _080234B4
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r3, [r4]
- movs r2, 0xE4
- lsls r2, 2
- adds r5, r3, r2
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _080234B8
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r3, r1
- movs r1, 0xEA
- lsls r1, 2
- adds r3, r1
- strh r0, [r3]
- bl sub_8004914
- ldr r0, [r4]
- movs r2, 0xE6
- lsls r2, 2
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080234A8: .4byte gUnknown_3001B5C
-_080234AC: .4byte 0x000003f9
-_080234B0: .4byte 0x000003fb
-_080234B4: .4byte 0x00000376
-_080234B8: .4byte 0x000003a6
- thumb_func_end sub_8023420
-
- thumb_func_start sub_80234BC
-sub_80234BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x178
- ldr r5, _0802368C
- ldr r0, [r5]
- movs r4, 0xE4
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r5]
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _08023690
- ldr r0, [r5]
- adds r0, r4
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r5]
- ldr r1, _08023694
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- ldr r2, _08023698
- adds r1, r3, r2
- movs r6, 0
- ldrsh r2, [r1, r6]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- adds r3, r4
- ldr r1, [r3]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r0, 0
- mov r10, r0
- ldr r0, [r5]
- ldr r1, _0802369C
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r10, r0
- blt _08023532
- b _0802366C
-_08023532:
- ldr r3, _0802368C
- ldr r0, [r3]
- movs r6, 0xD7
- lsls r6, 2
- adds r0, r6
- mov r1, r10
- bl sub_8013800
- mov r8, r0
- ldr r0, _0802368C
- ldr r1, [r0]
- ldr r2, _08023698
- adds r0, r1, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- adds r6, 0x1C
- adds r0, r1, r6
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- add r0, r10
- lsls r0, 1
- adds r1, 0xC
- adds r1, r0
- movs r6, 0
- ldrsh r5, [r1, r6]
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- add r4, sp, 0x16C
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- movs r7, 0x7
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08023594
- adds r0, r5, 0
- bl sub_808E734
- lsls r0, 24
- movs r7, 0x4
- cmp r0, 0
- beq _08023594
- movs r7, 0x5
-_08023594:
- adds r0, r5, 0
- movs r1, 0
- bl sub_808DCA0
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r6, _0802368C
- ldr r0, [r6]
- movs r1, 0xE4
- lsls r1, 2
- mov r9, r1
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x14
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
- cmp r4, 0x9
- ble _08023628
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r6]
- movs r3, 0xE4
- lsls r3, 2
- adds r0, r3
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0xD
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
- cmp r4, 0x9
- ble _08023628
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- movs r1, 0xA
- bl __modsi3
- adds r2, r0, 0
- adds r2, 0x30
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r6]
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x6
- mov r1, r8
- adds r3, r7, 0
- bl sub_8012C60
-_08023628:
- add r4, sp, 0x108
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D930
- add r0, sp, 0x8
- ldr r1, _080236A0
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_800D158
- ldr r6, _0802368C
- ldr r0, [r6]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r1
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x24
- mov r1, r8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- movs r2, 0x1
- add r10, r2
- ldr r0, [r6]
- ldr r3, _0802369C
- adds r0, r3
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r10, r0
- bge _0802366C
- b _08023532
-_0802366C:
- ldr r0, _0802368C
- ldr r0, [r0]
- movs r1, 0xE4
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x178
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802368C: .4byte gUnknown_3001B5C
-_08023690: .4byte gUnknown_80DC934
-_08023694: .4byte 0x000003fa
-_08023698: .4byte 0x0000037a
-_0802369C: .4byte 0x00000376
-_080236A0: .4byte gUnknown_80DC93C
- thumb_func_end sub_80234BC
-
- thumb_func_start sub_80236A4
-sub_80236A4:
- push {r4,r5,lr}
- ldr r0, _080236FC
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r5, 0
-_080236B0:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _080236E2
- adds r0, r4, 0
- bl sub_808E858
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- bne _080236E2
- ldr r0, _080236FC
- ldr r3, [r0]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0xC
- adds r0, r2
- strh r5, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
-_080236E2:
- adds r5, 0x1
- ldr r0, _08023700
- cmp r5, r0
- ble _080236B0
- bl sub_8023730
- ldr r0, _080236FC
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080236FC: .4byte gUnknown_3001B5C
-_08023700: .4byte 0x000001a7
- thumb_func_end sub_80236A4
-
- thumb_func_start sub_8023704
-sub_8023704:
- push {r4,lr}
- movs r4, 0
-_08023708:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _0802371A
- movs r0, 0
- b _08023724
-_0802371A:
- adds r4, 0x1
- ldr r0, _0802372C
- cmp r4, r0
- ble _08023708
- movs r0, 0x1
-_08023724:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802372C: .4byte 0x000001a7
- thumb_func_end sub_8023704
-
- thumb_func_start sub_8023730
-sub_8023730:
- push {lr}
- ldr r0, _08023744
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x1
- beq _08023748
- cmp r0, 0x2
- beq _0802374E
- b _08023752
- .align 2, 0
-_08023744: .4byte gUnknown_3001B5C
-_08023748:
- bl sub_8023758
- b _08023752
-_0802374E:
- bl sub_80237E0
-_08023752:
- pop {r0}
- bx r0
- thumb_func_end sub_8023730
-
- thumb_func_start sub_8023758
-sub_8023758:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r3, _080237DC
- ldr r2, [r3]
- ldr r1, [r2, 0x8]
- lsls r0, r1, 1
- adds r0, 0xA
- adds r2, r0
- mov r9, r2
- movs r2, 0
- subs r1, 0x1
- cmp r2, r1
- bge _080237CC
-_08023778:
- mov r5, r9
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r7, r0, 0x1
- adds r0, r2, 0x1
- mov r8, r0
- cmp r7, r2
- ble _080237BE
-_08023788:
- subs r6, r5, 0x2
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0x1
- str r2, [sp]
- bl sub_808DCDC
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0x1
- bl sub_808DCDC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp]
- cmp r4, r0
- ble _080237B6
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_080237B6:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08023788
-_080237BE:
- mov r2, r8
- ldr r3, _080237DC
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r0, 0x1
- cmp r2, r0
- blt _08023778
-_080237CC:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080237DC: .4byte gUnknown_3001B5C
- thumb_func_end sub_8023758
-
- thumb_func_start sub_80237E0
-sub_80237E0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r3, _08023864
- ldr r2, [r3]
- ldr r1, [r2, 0x8]
- lsls r0, r1, 1
- adds r0, 0xA
- adds r2, r0
- mov r9, r2
- movs r2, 0
- subs r1, 0x1
- cmp r2, r1
- bge _08023854
-_08023800:
- mov r5, r9
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r7, r0, 0x1
- adds r0, r2, 0x1
- mov r8, r0
- cmp r7, r2
- ble _08023846
-_08023810:
- subs r6, r5, 0x2
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r1, 0
- str r2, [sp]
- bl sub_808DCDC
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0
- bl sub_808DCDC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp]
- cmp r4, r0
- ble _0802383E
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_0802383E:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08023810
-_08023846:
- mov r2, r8
- ldr r3, _08023864
- ldr r0, [r3]
- ldr r0, [r0, 0x8]
- subs r0, 0x1
- cmp r2, r0
- blt _08023800
-_08023854:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08023864: .4byte gUnknown_3001B5C
- thumb_func_end sub_80237E0
-
- thumb_func_start sub_8023868
-sub_8023868:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- mov r8, r1
- mov r9, r2
- mov r10, r3
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _08023888
- movs r0, 0
- b _08023A6E
-_08023888:
- ldr r4, _080238AC
- ldr r0, [r4]
- cmp r0, 0
- bne _0802389C
- movs r0, 0xFE
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0802389C:
- ldr r1, [r4]
- str r5, [r1]
- ldr r0, _080238B0
- ldr r0, [r0]
- cmp r0, r5
- beq _080238B4
- movs r0, 0x1
- b _080238B8
- .align 2, 0
-_080238AC: .4byte gUnknown_3001B60
-_080238B0: .4byte gUnknown_203B2A0
-_080238B4:
- ldr r0, _080238E4
- ldr r0, [r0]
-_080238B8:
- str r0, [r1, 0x4]
- ldr r2, _080238E8
- ldr r0, [r2]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r2]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- strb r1, [r0, 0x16]
- ldr r0, [r2]
- strb r1, [r0, 0x17]
- ldr r0, [r2]
- strb r1, [r0, 0x18]
- ldr r0, [r2]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _08023980
- lsls r0, 2
- ldr r1, _080238EC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080238E4: .4byte gUnknown_203B2A4
-_080238E8: .4byte gUnknown_3001B60
-_080238EC: .4byte _080238F0
- .align 2, 0
-_080238F0:
- .4byte _08023958
- .4byte _08023904
- .4byte _08023914
- .4byte _08023924
- .4byte _0802393C
-_08023904:
- ldr r0, _08023910
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x18]
- b _08023958
- .align 2, 0
-_08023910: .4byte gUnknown_3001B60
-_08023914:
- ldr r0, _08023920
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x14]
- b _08023958
- .align 2, 0
-_08023920: .4byte gUnknown_3001B60
-_08023924:
- ldr r2, _08023938
- ldr r0, [r2]
- movs r1, 0x1
- strb r1, [r0, 0x17]
- ldr r0, [r2]
- strb r1, [r0, 0x15]
- ldr r0, [r2]
- strb r1, [r0, 0x16]
- b _08023958
- .align 2, 0
-_08023938: .4byte gUnknown_3001B60
-_0802393C:
- ldr r5, _0802397C
- ldr r0, [r5]
- movs r4, 0x1
- strb r4, [r0, 0x18]
- ldr r0, [r5]
- strb r4, [r0, 0x15]
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08023958
- ldr r0, [r5]
- strb r4, [r0, 0x16]
-_08023958:
- ldr r4, _0802397C
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x4
- bne _08023980
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r1, [r4]
- movs r2, 0xD5
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- b _0802398E
- .align 2, 0
-_0802397C: .4byte gUnknown_3001B60
-_08023980:
- ldr r0, _08023A7C
- ldr r0, [r0]
- movs r3, 0xD5
- lsls r3, 2
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
-_0802398E:
- ldr r5, _08023A7C
- ldr r0, [r5]
- movs r4, 0xE3
- lsls r4, 2
- adds r1, r0, r4
- mov r2, r8
- str r2, [r1]
- movs r7, 0xE4
- lsls r7, 2
- adds r2, r0, r7
- mov r3, r8
- lsls r1, r3, 1
- add r1, r8
- lsls r1, 3
- movs r6, 0xE5
- lsls r6, 2
- adds r1, r6
- adds r1, r0, r1
- str r1, [r2]
- adds r0, r6
- bl sub_8006518
- ldr r1, [r5]
- adds r4, r1, r4
- ldr r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r6
- ldr r0, _08023A80
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r5]
- adds r0, r2, r7
- ldr r1, [r0]
- movs r4, 0xFD
- lsls r4, 2
- adds r0, r2, r4
- str r0, [r1, 0x14]
- mov r0, r9
- cmp r0, 0
- beq _08023A04
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- movs r3, 0xE7
- lsls r3, 2
- adds r1, r2, r3
- adds r1, r0
- mov r4, r9
- ldr r0, [r4]
- str r0, [r1]
-_08023A04:
- ldr r0, [r5]
- adds r0, r7
- ldr r0, [r0]
- mov r1, r10
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- movs r0, 0xD6
- lsls r0, 2
- adds r4, r0
- bl sub_8023F8C
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r10
- mov r3, r8
- bl sub_8013818
- ldr r0, _08023A84
- ldr r4, [r5]
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- bne _08023A64
- ldr r0, _08023A88
- ldrh r1, [r0]
- movs r2, 0xDC
- lsls r2, 2
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _08023A8C
- ldrh r1, [r0]
- ldr r3, _08023A90
- adds r0, r4, r3
- strh r1, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r4, r1
- bl sub_8013984
-_08023A64:
- bl sub_8023CF4
- bl sub_8023DA4
- movs r0, 0x1
-_08023A6E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023A7C: .4byte gUnknown_3001B60
-_08023A80: .4byte gUnknown_80DC968
-_08023A84: .4byte gUnknown_203B2A0
-_08023A88: .4byte gUnknown_203B2A8
-_08023A8C: .4byte gUnknown_203B2AA
-_08023A90: .4byte 0x00000376
- thumb_func_end sub_8023868
-
- thumb_func_start sub_8023A94
-sub_8023A94:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08023AB4
- ldr r0, _08023AB0
- ldr r0, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl sub_8013660
- movs r0, 0
- b _08023B3E
- .align 2, 0
-_08023AB0: .4byte gUnknown_3001B60
-_08023AB4:
- ldr r4, _08023AD0
- ldr r0, [r4]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl GetKeyPress
- cmp r0, 0x2
- beq _08023ADE
- cmp r0, 0x2
- bgt _08023AD4
- cmp r0, 0x1
- beq _08023AF2
- b _08023B16
- .align 2, 0
-_08023AD0: .4byte gUnknown_3001B60
-_08023AD4:
- cmp r0, 0x3
- beq _08023AFC
- cmp r0, 0x4
- beq _08023AE8
- b _08023B16
-_08023ADE:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08023B3E
-_08023AE8:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _08023B3E
-_08023AF2:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08023B3E
-_08023AFC:
- movs r0, 0x5
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0x4]
- movs r2, 0x1
- cmp r1, 0x2
- bhi _08023B0E
- adds r2, r1, 0x1
-_08023B0E:
- str r2, [r0, 0x4]
- bl sub_8023F8C
- b _08023B34
-_08023B16:
- ldr r0, _08023B30
- ldr r0, [r0]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _08023B34
- movs r0, 0
- b _08023B3E
- .align 2, 0
-_08023B30: .4byte gUnknown_3001B60
-_08023B34:
- bl sub_8023CF4
- bl sub_8023DA4
- movs r0, 0x1
-_08023B3E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8023A94
-
- thumb_func_start sub_8023B44
-sub_8023B44:
- ldr r0, _08023B74
- ldr r0, [r0]
- ldr r2, _08023B78
- adds r1, r0, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- movs r3, 0xDD
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- muls r1, r2
- movs r3, 0xDC
- lsls r3, 2
- adds r2, r0, r3
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0x1A
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08023B74: .4byte gUnknown_3001B60
-_08023B78: .4byte 0x00000376
- thumb_func_end sub_8023B44
-
- thumb_func_start sub_8023B7C
-sub_8023B7C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _08023BD0
- ldr r0, [r5]
- movs r1, 0xE5
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_8023BD8
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, _08023BD4
- adds r1, r0, r3
- strh r2, [r1]
- movs r1, 0xD6
- lsls r1, 2
- adds r0, r1
- bl sub_8013984
- bl sub_8023CF4
- bl sub_8023DA4
- cmp r4, 0
- beq _08023BCA
- ldr r0, [r5]
- movs r3, 0xD6
- lsls r3, 2
- adds r0, r3
- bl AddMenuCursorSprite
-_08023BCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08023BD0: .4byte gUnknown_3001B60
-_08023BD4: .4byte 0x0000037a
- thumb_func_end sub_8023B7C
-
- thumb_func_start sub_8023BD8
-sub_8023BD8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r3, 0
- ldr r1, _08023C58
- ldr r0, [r1]
- ldr r0, [r0, 0x8]
- adds r7, r1, 0
- cmp r3, r0
- bge _08023C4A
- ldr r0, _08023C5C
- mov r8, r0
- mov r12, r7
-_08023BF2:
- ldr r2, [r1]
- lsls r4, r3, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r0, r4
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x58
- muls r0, r1
- mov r5, r8
- ldr r1, [r5]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- adds r6, r3, 0x1
- cmp r0, 0
- bne _08023C3E
- ldr r0, [r2, 0x8]
- subs r0, 0x1
- str r0, [r2, 0x8]
- cmp r3, r0
- bge _08023C3E
- mov r5, r12
- adds r4, 0x2
-_08023C24:
- ldr r2, [r5]
- lsls r1, r3, 1
- adds r0, r2, 0
- adds r0, 0x1A
- adds r1, r0, r1
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r4, 0x2
- adds r3, 0x1
- ldr r0, [r2, 0x8]
- cmp r3, r0
- blt _08023C24
-_08023C3E:
- adds r3, r6, 0
- adds r1, r7, 0
- ldr r0, [r7]
- ldr r0, [r0, 0x8]
- cmp r3, r0
- blt _08023BF2
-_08023C4A:
- ldr r0, [r7]
- ldr r0, [r0, 0x8]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08023C58: .4byte gUnknown_3001B60
-_08023C5C: .4byte gUnknown_203B45C
- thumb_func_end sub_8023BD8
-
- thumb_func_start sub_8023C60
-sub_8023C60:
- push {r4-r6,lr}
- ldr r5, _08023CCC
- ldr r2, [r5]
- cmp r2, 0
- beq _08023CC6
- ldr r1, _08023CD0
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _08023CD4
- ldr r0, [r2, 0x4]
- str r0, [r1]
- ldr r1, _08023CD8
- movs r3, 0xDC
- lsls r3, 2
- adds r0, r2, r3
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _08023CDC
- ldr r6, _08023CE0
- adds r0, r2, r6
- ldrh r0, [r0]
- strh r0, [r1]
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- movs r4, 0xE5
- lsls r4, 2
- adds r1, r4
- ldr r0, _08023CE4
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- bl MemoryFree
- movs r0, 0
- str r0, [r5]
-_08023CC6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08023CCC: .4byte gUnknown_3001B60
-_08023CD0: .4byte gUnknown_203B2A0
-_08023CD4: .4byte gUnknown_203B2A4
-_08023CD8: .4byte gUnknown_203B2A8
-_08023CDC: .4byte gUnknown_203B2AA
-_08023CE0: .4byte 0x00000376
-_08023CE4: .4byte gUnknown_80DC950
- thumb_func_end sub_8023C60
-
- thumb_func_start sub_8023CE8
-sub_8023CE8:
- ldr r0, _08023CF0
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08023CF0: .4byte gUnknown_3001B60
- thumb_func_end sub_8023CE8
-
- thumb_func_start sub_8023CF4
-sub_8023CF4:
- push {r4,r5,lr}
- ldr r2, _08023D28
- ldr r0, [r2]
- movs r1, 0xFD
- lsls r1, 2
- adds r0, r1
- movs r3, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08023D2C
- adds r0, r1
- strb r3, [r0]
- ldr r0, [r2]
- adds r1, 0x2
- adds r0, r1
- strb r3, [r0]
- ldr r1, [r2]
- ldr r0, [r1]
- adds r5, r2, 0
- cmp r0, 0x2
- bne _08023D34
- ldr r0, _08023D30
- adds r1, r0
- b _08023D38
- .align 2, 0
-_08023D28: .4byte gUnknown_3001B60
-_08023D2C: .4byte 0x000003f5
-_08023D30: .4byte 0x000003f6
-_08023D34:
- ldr r2, _08023D98
- adds r1, r2
-_08023D38:
- movs r0, 0xC
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08023D9C
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- ldr r3, [r5]
- movs r1, 0xE3
- lsls r1, 2
- adds r4, r3, r1
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- ldr r2, _08023DA0
- adds r1, r2
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r2, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r3, r1
- movs r1, 0xE9
- lsls r1, 2
- adds r3, r1
- strh r0, [r3]
- bl sub_8004914
- ldr r0, [r5]
- movs r2, 0xE5
- lsls r2, 2
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08023D98: .4byte 0x000003f6
-_08023D9C: .4byte 0x00000372
-_08023DA0: .4byte 0x000003a2
- thumb_func_end sub_8023CF4
-
- thumb_func_start sub_8023DA4
-sub_8023DA4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r4, _08023DD8
- ldr r0, [r4]
- movs r5, 0xE3
- lsls r5, 2
- adds r0, r5
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, r5
- ldr r0, [r0]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r1, [r0]
- cmp r1, 0x2
- beq _08023DE0
- cmp r1, 0x4
- beq _08023E00
- ldr r2, _08023DDC
- b _08023E02
- .align 2, 0
-_08023DD8: .4byte gUnknown_3001B60
-_08023DDC: .4byte gUnknown_80DC988
-_08023DE0:
- add r0, sp, 0x8
- bl sub_80920D8
- ldr r0, [r4]
- movs r1, 0xE3
- lsls r1, 2
- adds r0, r1
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- add r2, sp, 0x8
- bl xxx_call_draw_string
- b _08023E3C
-_08023E00:
- ldr r2, _08023EBC
-_08023E02:
- adds r0, r5
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r4]
- ldr r2, _08023EC0
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r3, r0, 0x4
- ldr r4, _08023EC4
- adds r0, r1, r4
- movs r4, 0
- ldrsh r2, [r0, r4]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- adds r1, r5
- ldr r0, [r1]
- str r0, [sp, 0x4]
- adds r0, r3, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
-_08023E3C:
- movs r7, 0
- ldr r1, _08023EC8
- ldr r0, [r1]
- ldr r2, _08023ECC
- adds r0, r2
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r7, r0
- blt _08023E50
- b _08023F62
-_08023E50:
- mov r8, r1
- add r0, sp, 0x30
- mov r9, r0
-_08023E56:
- ldr r3, [r1]
- ldr r1, _08023EC4
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r4, 0xDD
- lsls r4, 2
- adds r0, r3, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- muls r1, r0
- adds r1, r7
- lsls r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r1
- movs r4, 0
- ldrsh r5, [r0, r4]
- ldr r2, _08023ED0
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r6, 0x7
- ldrh r0, [r4]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08023ED4
- movs r0, 0
- ldrb r1, [r4, 0x4]
- cmp r1, 0x41
- bne _08023E9E
- movs r0, 0x1
-_08023E9E:
- cmp r0, 0
- beq _08023EA4
- movs r6, 0x6
-_08023EA4:
- movs r0, 0
- cmp r1, 0x40
- bne _08023EAC
- movs r0, 0x1
-_08023EAC:
- cmp r0, 0
- beq _08023EB2
- movs r6, 0x6
-_08023EB2:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _08023EEA
- movs r6, 0x5
- b _08023EEA
- .align 2, 0
-_08023EBC: .4byte gUnknown_80DC980
-_08023EC0: .4byte 0x000003f6
-_08023EC4: .4byte 0x00000376
-_08023EC8: .4byte gUnknown_3001B60
-_08023ECC: .4byte 0x00000372
-_08023ED0: .4byte gUnknown_203B45C
-_08023ED4:
- ldrb r0, [r3, 0x18]
- cmp r0, 0
- beq _08023EEA
- adds r0, r5, 0
- bl sub_808D750
- lsls r0, 24
- movs r6, 0x2
- cmp r0, 0
- beq _08023EEA
- movs r6, 0x4
-_08023EEA:
- mov r0, r8
- ldr r1, [r0]
- ldr r0, [r1]
- cmp r0, 0x4
- bne _08023F02
- movs r2, 0xD5
- lsls r2, 2
- adds r0, r1, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8024184
-_08023F02:
- adds r1, r4, 0
- adds r1, 0x4C
- mov r0, r9
- movs r2, 0xA
- bl sub_80922B4
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- add r0, sp, 0x44
- bl sub_808D930
- add r0, sp, 0x8
- ldr r1, _08023F80
- adds r2, r6, 0
- mov r3, r9
- bl sub_800D158
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xD6
- lsls r2, 2
- adds r0, r2
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r4, r8
- ldr r0, [r4]
- movs r2, 0xE3
- lsls r2, 2
- adds r0, r2
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- add r2, sp, 0x8
- bl xxx_call_draw_string
- adds r7, 0x1
- mov r1, r8
- ldr r0, [r4]
- ldr r4, _08023F84
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bge _08023F62
- b _08023E56
-_08023F62:
- ldr r0, _08023F88
- ldr r0, [r0]
- movs r4, 0xE3
- lsls r4, 2
- adds r0, r4
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08023F80: .4byte gUnknown_80DC998
-_08023F84: .4byte 0x00000372
-_08023F88: .4byte gUnknown_3001B60
- thumb_func_end sub_8023DA4
-
- thumb_func_start sub_8023F8C
-sub_8023F8C:
- push {r4-r7,lr}
- ldr r2, _08023FD0
- ldr r1, [r2]
- movs r0, 0
- str r0, [r1, 0x8]
- ldrb r0, [r1, 0x15]
- adds r6, r2, 0
- cmp r0, 0
- bne _08023FE2
- movs r4, 0
- ldr r2, _08023FD4
-_08023FA2:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r2]
- adds r1, r0, r1
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08023FD8
- ldrb r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08023FD8
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- b _08023FE2
- .align 2, 0
-_08023FD0: .4byte gUnknown_3001B60
-_08023FD4: .4byte gUnknown_203B45C
-_08023FD8:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08023FA2
-_08023FE2:
- ldr r0, [r6]
- ldrb r0, [r0, 0x16]
- cmp r0, 0
- bne _08024042
- movs r4, 0
- ldr r3, _08024034
-_08023FEE:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r3]
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08024002
- movs r2, 0x1
-_08024002:
- cmp r2, 0
- beq _08024038
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08024038
- ldrh r1, [r1]
- lsrs r0, r1, 1
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08024038
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08024038
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- b _08024042
- .align 2, 0
-_08024034: .4byte gUnknown_203B45C
-_08024038:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08023FEE
-_08024042:
- ldr r0, [r6]
- ldr r1, [r0, 0x8]
- str r1, [r0, 0xC]
- ldrb r0, [r0, 0x17]
- cmp r0, 0
- bne _080240A4
- movs r4, 0
- ldr r7, _08024100
- movs r5, 0x1
-_08024054:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r7]
- adds r1, r0, r1
- ldrh r2, [r1]
- lsrs r0, r2, 1
- ands r0, r5
- cmp r0, 0
- beq _0802409A
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _0802409A
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _0802409A
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08024080
- movs r2, 0x1
-_08024080:
- cmp r2, 0
- bne _0802409A
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
- cmp r1, 0x3
- bgt _080240A4
-_0802409A:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08024054
-_080240A4:
- ldr r0, [r6]
- ldr r1, [r0, 0x8]
- str r1, [r0, 0x10]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080240EE
- movs r4, 0
- ldr r7, _08024100
- movs r5, 0x1
-_080240B6:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, [r7]
- adds r1, r0, r1
- ldrh r1, [r1]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080240E4
- lsrs r0, r1, 1
- ands r0, r5
- cmp r0, 0
- bne _080240E4
- ldr r3, [r6]
- ldr r1, [r3, 0x8]
- lsls r2, r1, 1
- adds r0, r3, 0
- adds r0, 0x1A
- adds r0, r2
- strh r4, [r0]
- adds r1, 0x1
- str r1, [r3, 0x8]
-_080240E4:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _080240B6
-_080240EE:
- bl sub_80241A8
- ldr r0, _08024104
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08024100: .4byte gUnknown_203B45C
-_08024104: .4byte gUnknown_3001B60
- thumb_func_end sub_8023F8C
-
- thumb_func_start sub_8024108
-sub_8024108:
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r7, 0
- movs r6, 0x1
-_08024110:
- ldr r2, _08024134
- movs r0, 0x58
- adds r1, r7, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrh r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08024172
- cmp r5, 0x2
- bne _08024138
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _08024172
- b _0802416E
- .align 2, 0
-_08024134: .4byte gUnknown_203B45C
-_08024138:
- cmp r5, 0x3
- bne _08024140
- lsrs r0, r1, 1
- b _08024168
-_08024140:
- cmp r5, 0x4
- bne _0802416E
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08024172
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _0802416E
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08024160
- movs r1, 0x1
-_08024160:
- cmp r1, 0
- beq _0802416E
- ldrh r0, [r4]
- lsrs r0, 1
-_08024168:
- ands r0, r6
- cmp r0, 0
- bne _08024172
-_0802416E:
- movs r0, 0
- b _0802417E
-_08024172:
- adds r7, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r7, r0
- ble _08024110
- movs r0, 0x1
-_0802417E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8024108
-
- thumb_func_start sub_8024184
-sub_8024184:
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _0802419E
- movs r0, 0
- b _080241A0
-_0802419E:
- movs r0, 0x1
-_080241A0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8024184
-
- thumb_func_start sub_80241A8
-sub_80241A8:
- push {r4,lr}
- ldr r4, _080241C0
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080241CA
- cmp r0, 0x2
- bhi _080241C4
- cmp r0, 0x1
- beq _08024206
- b _08024222
- .align 2, 0
-_080241C0: .4byte gUnknown_3001B60
-_080241C4:
- cmp r0, 0x3
- beq _080241E8
- b _08024222
-_080241CA:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _080241D6
- bl sub_80242D0
-_080241D6:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_80242D0
- b _08024222
-_080241E8:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _080241F4
- bl sub_802437C
-_080241F4:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_802437C
- b _08024222
-_08024206:
- ldr r0, [r1, 0xC]
- ldr r1, [r1, 0x10]
- cmp r0, r1
- beq _08024212
- bl sub_8024228
-_08024212:
- ldr r0, [r4]
- ldr r2, [r0, 0x10]
- ldr r1, [r0, 0x8]
- cmp r2, r1
- beq _08024222
- adds r0, r2, 0
- bl sub_8024228
-_08024222:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80241A8
-
- thumb_func_start sub_8024228
-sub_8024228:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r3, _080242C8
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- str r3, [sp]
- adds r2, r0, 0
- subs r1, 0x1
- cmp r2, r1
- bge _080242B8
- str r1, [sp, 0x4]
-_0802424A:
- ldr r5, [sp]
- adds r7, r1, 0
- adds r0, r2, 0x1
- mov r10, r0
- cmp r7, r2
- ble _080242B0
- ldr r3, _080242CC
- mov r9, r3
- movs r0, 0x58
- mov r8, r0
-_0802425E:
- mov r3, r9
- ldr r1, [r3]
- subs r6, r5, 0x2
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- str r2, [sp, 0x8]
- bl sub_808DCFC
- adds r4, r0, 0
- mov r0, r9
- ldr r1, [r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- bl sub_808DCFC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, r0
- ble _080242A8
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_080242A8:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _0802425E
-_080242B0:
- mov r2, r10
- ldr r1, [sp, 0x4]
- cmp r2, r1
- blt _0802424A
-_080242B8:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080242C8: .4byte gUnknown_3001B60
-_080242CC: .4byte gUnknown_203B45C
- thumb_func_end sub_8024228
-
- thumb_func_start sub_80242D0
-sub_80242D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r3, _08024374
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- str r3, [sp]
- adds r2, r0, 0
- subs r1, 0x1
- cmp r2, r1
- bge _08024364
- str r1, [sp, 0x4]
-_080242F2:
- ldr r5, [sp]
- adds r7, r1, 0
- adds r0, r2, 0x1
- mov r10, r0
- cmp r7, r2
- ble _0802435C
- ldr r3, _08024378
- mov r9, r3
- movs r0, 0x58
- mov r8, r0
-_08024306:
- mov r3, r9
- ldr r1, [r3]
- subs r6, r5, 0x2
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- movs r1, 0
- str r2, [sp, 0x8]
- bl sub_808DCDC
- adds r4, r0, 0
- mov r0, r9
- ldr r1, [r0]
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- adds r1, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- movs r1, 0
- bl sub_808DCDC
- lsls r4, 16
- lsls r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, r0
- ble _08024354
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r6]
- strh r0, [r5]
- strh r1, [r6]
-_08024354:
- adds r5, r6, 0
- subs r7, 0x1
- cmp r7, r2
- bgt _08024306
-_0802435C:
- mov r2, r10
- ldr r1, [sp, 0x4]
- cmp r2, r1
- blt _080242F2
-_08024364:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024374: .4byte gUnknown_3001B60
-_08024378: .4byte gUnknown_203B45C
- thumb_func_end sub_80242D0
-
- thumb_func_start sub_802437C
-sub_802437C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r3, _080243E4
- lsls r2, r1, 1
- adds r2, 0x18
- ldr r3, [r3]
- adds r3, r2
- mov r10, r3
- adds r7, r0, 0
- subs r1, 0x1
- cmp r7, r1
- bge _080243D6
- mov r9, r1
-_0802439C:
- mov r4, r10
- adds r6, r1, 0
- adds r0, r7, 0x1
- mov r8, r0
- cmp r6, r7
- ble _080243CE
-_080243A8:
- subs r5, r4, 0x2
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl sub_808D864
- lsls r0, 24
- cmp r0, 0
- beq _080243C6
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldrh r0, [r5]
- strh r0, [r4]
- strh r1, [r5]
-_080243C6:
- adds r4, r5, 0
- subs r6, 0x1
- cmp r6, r7
- bgt _080243A8
-_080243CE:
- mov r7, r8
- mov r1, r9
- cmp r7, r1
- blt _0802439C
-_080243D6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080243E4: .4byte gUnknown_3001B60
- thumb_func_end sub_802437C
-
- thumb_func_start sub_80243E8
-sub_80243E8:
- push {r4,r5,lr}
- sub sp, 0x3C
- ldr r3, _08024448
- ldr r0, _0802444C
- ldr r0, [r0]
- ldr r2, _08024450
- adds r1, r0, r2
- movs r4, 0
- ldrsh r2, [r1, r4]
- movs r4, 0xDD
- lsls r4, 2
- adds r1, r0, r4
- movs r4, 0
- ldrsh r1, [r1, r4]
- muls r1, r2
- movs r4, 0xDC
- lsls r4, 2
- adds r2, r0, r4
- movs r4, 0
- ldrsh r2, [r2, r4]
- adds r1, r2
- lsls r1, 1
- adds r0, 0x1A
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r0, r1
- ldr r4, [r3]
- adds r4, r0
- add r5, sp, 0x28
- adds r1, r4, 0
- adds r1, 0x4C
- adds r0, r5, 0
- movs r2, 0xA
- bl sub_80922B4
- ldr r1, _08024454
- mov r0, sp
- adds r2, r5, 0
- bl sub_800D158
- adds r0, r4, 0
- add sp, 0x3C
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08024448: .4byte gUnknown_203B45C
-_0802444C: .4byte gUnknown_3001B60
-_08024450: .4byte 0x00000376
-_08024454: .4byte gUnknown_80DC9A4
- thumb_func_end sub_80243E8
-
- thumb_func_start sub_8024458
-sub_8024458:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- asrs r4, 16
- ldr r6, _080244DC
- movs r0, 0xA6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- adds r1, r0, 0
- adds r1, 0x48
- strh r4, [r1]
- adds r1, 0x98
- str r5, [r1]
- adds r2, r0, 0
- adds r2, 0xE4
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0xE8
- adds r1, r0, r1
- str r1, [r2]
- adds r0, 0xE8
- bl sub_8006518
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xE0
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0xE8
- ldr r0, _080244E0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xE4
- ldr r1, [r0]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1, 0x14]
- movs r4, 0xA5
- lsls r4, 1
- adds r1, r2, r4
- movs r0, 0xA
- strb r0, [r1]
- bl sub_8024604
- bl sub_802452C
- ldr r0, [r6]
- bl sub_8013984
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080244DC: .4byte gUnknown_203B2AC
-_080244E0: .4byte gUnknown_80DC9C8
- thumb_func_end sub_8024458
-
- thumb_func_start sub_80244E4
-sub_80244E4:
- push {r4,lr}
- ldr r4, _08024500
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _08024504
- cmp r0, 0x2
- bne _0802450E
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08024524
- .align 2, 0
-_08024500: .4byte gUnknown_203B2AC
-_08024504:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08024524
-_0802450E:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0802451E
- movs r0, 0
- b _08024524
-_0802451E:
- bl sub_802452C
- movs r0, 0x1
-_08024524:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80244E4
-
- thumb_func_start sub_802452C
-sub_802452C:
- push {lr}
- bl sub_8024588
- bl sub_80245D0
- pop {r0}
- bx r0
- thumb_func_end sub_802452C
-
- thumb_func_start sub_802453C
-sub_802453C:
- push {r4,r5,lr}
- ldr r4, _08024580
- ldr r2, [r4]
- cmp r2, 0
- beq _0802457A
- adds r0, r2, 0
- adds r0, 0xE0
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0xE8
- ldr r0, _08024584
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802457A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08024580: .4byte gUnknown_203B2AC
-_08024584: .4byte gUnknown_80DC9B0
- thumb_func_end sub_802453C
-
- thumb_func_start sub_8024588
-sub_8024588:
- push {r4,lr}
- ldr r4, _080245C4
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r2
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- ldr r3, _080245C8
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _080245CC
- adds r0, r1
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xE8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080245C4: .4byte gUnknown_203B2AC
-_080245C8: .4byte 0x00000149
-_080245CC: .4byte 0x0000014b
- thumb_func_end sub_8024588
-
- thumb_func_start sub_80245D0
-sub_80245D0:
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08024600
- ldr r4, [r0]
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- lsls r2, r1, 2
- adds r0, r4, 0
- adds r0, 0x34
- adds r0, r2
- ldr r0, [r0]
- adds r2, r4, 0
- adds r2, 0x4C
- adds r3, r4, 0
- adds r3, 0xB0
- adds r4, 0xE0
- ldr r4, [r4]
- str r4, [sp]
- bl sub_808F844
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08024600: .4byte gUnknown_203B2AC
- thumb_func_end sub_80245D0
-
- thumb_func_start sub_8024604
-sub_8024604:
- push {r4,r5,lr}
- ldr r4, _08024654
- ldr r0, [r4]
- movs r1, 0x2
- str r1, [r0, 0x34]
- movs r1, 0x3
- str r1, [r0, 0x38]
- movs r1, 0x5
- str r1, [r0, 0x3C]
- adds r1, r0, 0
- adds r1, 0xE0
- ldr r3, [r1]
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8013818
- ldr r0, [r4]
- adds r5, r0, 0
- adds r5, 0x4C
- ldr r2, _08024658
- adds r0, 0x48
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r0, r1
- ldr r4, [r2]
- adds r4, r0
- movs r0, 0x7
- bl sub_80023E4
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808FF20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08024654: .4byte gUnknown_203B2AC
-_08024658: .4byte gUnknown_203B45C
- thumb_func_end sub_8024604
-
- thumb_func_start sub_802465C
-sub_802465C:
- push {r4,r5,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _080246E8
- movs r0, 0xBA
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r4, 0
- str r4, [r0, 0x28]
- str r4, [r0, 0x2C]
- str r4, [r0, 0x30]
- bl sub_808D33C
- ldr r1, [r5]
- str r0, [r1, 0xC]
- bl sub_808D824
- ldr r1, [r5]
- strb r0, [r1, 0x10]
- ldr r0, [r5]
- strb r4, [r0]
- ldr r0, _080246EC
- bl sub_808DDD0
- ldr r2, [r5]
- movs r3, 0x82
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- adds r3, 0x4
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r1, 0x88
- lsls r1, 1
- adds r0, r2, r1
- strb r4, [r0]
- ldr r0, [r5]
- adds r3, 0x9
- adds r0, r3
- strb r4, [r0]
- ldr r0, [r5]
- adds r1, 0x2
- adds r0, r1
- strb r4, [r0]
- ldr r2, [r5]
- subs r3, 0x5
- adds r1, r2, r3
- movs r0, 0x2
- strh r0, [r1]
- movs r0, 0x87
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x8
- strh r0, [r1]
- movs r0, 0
- bl sub_80247EC
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080246E8: .4byte gUnknown_203B2B0
-_080246EC: .4byte 0x00000155
- thumb_func_end sub_802465C
-
- thumb_func_start sub_80246F0
-sub_80246F0:
- push {lr}
- ldr r0, _08024708
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- cmp r0, 0x15
- bhi _080247A8
- lsls r0, 2
- ldr r1, _0802470C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08024708: .4byte gUnknown_203B2B0
-_0802470C: .4byte _08024710
- .align 2, 0
-_08024710:
- .4byte _08024768
- .4byte _08024768
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A4
- .4byte _0802476E
- .4byte _08024774
- .4byte _08024774
- .4byte _0802477A
- .4byte _08024780
- .4byte _08024786
- .4byte _0802478C
- .4byte _0802478C
- .4byte _08024792
- .4byte _08024798
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _080247A8
- .4byte _0802479E
-_08024768:
- bl sub_8024E9C
- b _080247AC
-_0802476E:
- bl sub_8024F00
- b _080247AC
-_08024774:
- bl sub_8024FD4
- b _080247AC
-_0802477A:
- bl sub_80250EC
- b _080247AC
-_08024780:
- bl sub_80251CC
- b _080247AC
-_08024786:
- bl sub_8024F70
- b _080247AC
-_0802478C:
- bl sub_8025058
- b _080247AC
-_08024792:
- bl sub_802515C
- b _080247AC
-_08024798:
- bl sub_80251E8
- b _080247AC
-_0802479E:
- bl sub_8025204
- b _080247AC
-_080247A4:
- movs r0, 0x3
- b _080247AE
-_080247A8:
- bl sub_8025230
-_080247AC:
- movs r0, 0
-_080247AE:
- pop {r1}
- bx r1
- thumb_func_end sub_80246F0
-
- thumb_func_start sub_80247B4
-sub_80247B4:
- ldr r0, _080247BC
- ldr r0, [r0]
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080247BC: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247B4
-
- thumb_func_start sub_80247C0
-sub_80247C0:
- push {r4,lr}
- ldr r4, _080247E8
- ldr r0, [r4]
- cmp r0, 0
- beq _080247E0
- movs r1, 0x82
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080247E0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080247E8: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247C0
-
- thumb_func_start sub_80247EC
-sub_80247EC:
- push {lr}
- ldr r1, _08024800
- ldr r1, [r1]
- str r0, [r1, 0x20]
- bl sub_8024804
- bl sub_80248FC
- pop {r0}
- bx r0
- .align 2, 0
-_08024800: .4byte gUnknown_203B2B0
- thumb_func_end sub_80247EC
-
- thumb_func_start sub_8024804
-sub_8024804:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0802482C
- ldr r0, [r4]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- subs r0, 0x8
- cmp r0, 0x14
- bhi _080248A8
- lsls r0, 2
- ldr r1, _08024830
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802482C: .4byte gUnknown_203B2B0
-_08024830: .4byte _08024834
- .align 2, 0
-_08024834:
- .4byte _08024888
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _08024888
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248A8
- .4byte _080248A8
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
- .4byte _080248D2
-_08024888:
- ldr r0, _080248A0
- ldr r1, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r0, _080248A4
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- b _080248D2
- .align 2, 0
-_080248A0: .4byte gUnknown_203B2B0
-_080248A4: .4byte gUnknown_80DCA00
-_080248A8:
- ldr r3, _080248F4
- mov r12, r3
- movs r4, 0x8A
- lsls r4, 1
- mov r8, r4
- ldr r4, _080248F8
- movs r3, 0
- movs r2, 0x3
-_080248B8:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080248B8
-_080248D2:
- bl sub_8004914
- ldr r0, _080248F4
- ldr r0, [r0]
- movs r6, 0x8A
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080248F4: .4byte gUnknown_203B2B0
-_080248F8: .4byte gUnknown_80DC9E8
- thumb_func_end sub_8024804
-
- thumb_func_start sub_80248FC
-sub_80248FC:
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _08024918
- ldr r0, [r1]
- ldr r0, [r0, 0x20]
- adds r5, r1, 0
- cmp r0, 0x1D
- bls _0802490E
- b _08024CF4
-_0802490E:
- lsls r0, 2
- ldr r1, _0802491C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08024918: .4byte gUnknown_203B2B0
-_0802491C: .4byte _08024920
- .align 2, 0
-_08024920:
- .4byte _08024998
- .4byte _080249D0
- .4byte _080249E8
- .4byte _080249F8
- .4byte _08024CF4
- .4byte _08024A14
- .4byte _08024A20
- .4byte _08024A2E
- .4byte _08024A94
- .4byte _08024AC0
- .4byte _08024A36
- .4byte _08024A68
- .4byte _08024A76
- .4byte _08024A94
- .4byte _08024AC0
- .4byte _08024ACA
- .4byte _08024AD8
- .4byte _08024AE8
- .4byte _08024B4C
- .4byte _08024B74
- .4byte _08024C9C
- .4byte _08024CC8
- .4byte _08024C1C
- .4byte _08024C2C
- .4byte _08024C3C
- .4byte _08024C4C
- .4byte _08024C5C
- .4byte _08024C6C
- .4byte _08024C7C
- .4byte _08024C8C
-_08024998:
- bl sub_80252B8
- lsls r0, 24
- cmp r0, 0
- beq _080249B0
- ldr r0, _080249AC
- ldr r1, [r0]
- movs r0, 0x3
- b _080249B6
- .align 2, 0
-_080249AC: .4byte gUnknown_203B2B0
-_080249B0:
- ldr r0, _080249C8
- ldr r1, [r0]
- movs r0, 0x1
-_080249B6:
- str r0, [r1, 0x28]
- bl sub_8024CFC
- ldr r0, _080249CC
- ldr r1, _080249C8
- ldr r1, [r1]
- ldr r2, [r1, 0x28]
- b _08024A42
- .align 2, 0
-_080249C8: .4byte gUnknown_203B2B0
-_080249CC: .4byte gUnknown_80DCA34
-_080249D0:
- bl sub_8024CFC
- ldr r0, _080249E0
- ldr r1, _080249E4
- ldr r1, [r1]
- ldr r2, [r1, 0x28]
- b _08024A42
- .align 2, 0
-_080249E0: .4byte gUnknown_80DCAB8
-_080249E4: .4byte gUnknown_203B2B0
-_080249E8:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x24]
- ldr r0, _080249F4
- b _08024CAE
- .align 2, 0
-_080249F4: .4byte gUnknown_80DCAD0
-_080249F8:
- ldr r1, [r5]
- movs r0, 0x4
- str r0, [r1, 0x24]
- movs r0, 0x8
- movs r1, 0x3C
- bl sub_8011900
- ldr r0, _08024A0C
- ldr r3, _08024A10
- b _08024CB0
- .align 2, 0
-_08024A0C: .4byte gUnknown_80DCD5C
-_08024A10: .4byte 0x00000305
-_08024A14:
- bl sub_8024D48
- ldr r0, _08024A1C
- b _08024A3C
- .align 2, 0
-_08024A1C: .4byte gUnknown_80DCD90
-_08024A20:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08024CF4
-_08024A2E:
- movs r0, 0x1
- bl sub_801A8D0
- b _08024CF4
-_08024A36:
- bl sub_8024DBC
- ldr r0, _08024A60
-_08024A3C:
- ldr r1, _08024A64
- ldr r1, [r1]
- ldr r2, [r1, 0x2C]
-_08024A42:
- adds r3, r1, 0
- adds r3, 0x34
- adds r1, 0x74
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- movs r1, 0x5
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08024CF4
- .align 2, 0
-_08024A60: .4byte gUnknown_80DCDB8
-_08024A64: .4byte gUnknown_203B2B0
-_08024A68:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08024A7C
-_08024A76:
- movs r0, 0x1
- bl sub_801A8D0
-_08024A7C:
- ldr r0, _08024A90
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- movs r1, 0x1
- bl sub_801AEE4
- bl sub_801A9E0
- b _08024CF4
- .align 2, 0
-_08024A90: .4byte gUnknown_203B2B0
-_08024A94:
- bl sub_801A9E0
- bl sub_8024E30
- ldr r0, _08024ABC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- adds r1, r2, 0
- adds r1, 0x34
- adds r3, r2, 0
- adds r3, 0x74
- ldr r2, [r2, 0x30]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08024CF4
- .align 2, 0
-_08024ABC: .4byte gUnknown_203B2B0
-_08024AC0:
- ldr r0, [r5]
- adds r0, 0x1C
- bl sub_801B3C0
- b _08024CF4
-_08024ACA:
- ldr r1, [r5]
- movs r0, 0x5
- str r0, [r1, 0x24]
- ldr r0, _08024AD4
- b _08024CAE
- .align 2, 0
-_08024AD4: .4byte gUnknown_80DCDDC
-_08024AD8:
- ldr r1, [r5]
- movs r0, 0xA
- str r0, [r1, 0x24]
- ldr r0, _08024AE4
- b _08024CAE
- .align 2, 0
-_08024AE4: .4byte gUnknown_80DCE18
-_08024AE8:
- bl sub_8025254
- ldr r0, _08024B00
- ldr r1, [r0]
- ldrh r2, [r1, 0x8]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08024B04
- movs r0, 0x12
- b _08024B3A
- .align 2, 0
-_08024B00: .4byte gUnknown_203B2B0
-_08024B04:
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _08024B10
- movs r0, 0x18
- b _08024B3A
-_08024B10:
- cmp r0, 0x2
- bne _08024B18
- movs r0, 0x17
- b _08024B3A
-_08024B18:
- cmp r0, 0x10
- bne _08024B20
- movs r0, 0x1B
- b _08024B3A
-_08024B20:
- cmp r0, 0x20
- bne _08024B28
- movs r0, 0x19
- b _08024B3A
-_08024B28:
- cmp r0, 0x40
- bne _08024B30
- movs r0, 0x1A
- b _08024B3A
-_08024B30:
- cmp r0, 0x8
- bne _08024B38
- movs r0, 0x1C
- b _08024B3A
-_08024B38:
- movs r0, 0x1D
-_08024B3A:
- str r0, [r1, 0x24]
- movs r0, 0x3C
- bl sub_8011930
- ldr r0, _08024B48
- b _08024CAE
- .align 2, 0
-_08024B48: .4byte gUnknown_80DCE38
-_08024B4C:
- ldr r0, _08024B68
- ldr r1, [r5]
- ldr r1, [r1, 0xC]
- movs r2, 0x5
- bl sub_808D9AC
- ldr r0, _08024B6C
- bl sub_8011988
- ldr r1, [r5]
- movs r0, 0x13
- str r0, [r1, 0x24]
- ldr r0, _08024B70
- b _08024CAE
- .align 2, 0
-_08024B68: .4byte gUnknown_202E2B8
-_08024B6C: .4byte 0x000001ff
-_08024B70: .4byte gUnknown_80DCE68
-_08024B74:
- ldr r0, [r5]
- ldr r0, [r0, 0xC]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _08024C10
- adds r0, r4, 0
- bl strcpy
- ldr r0, [r5]
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- bl sub_808D994
- adds r1, r0, 0
- adds r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r1, [r5]
- movs r0, 0x1
- strb r0, [r1]
- bl sub_80977D0
- ldr r1, [r5]
- ldr r0, [r1, 0xC]
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- bl sub_808F734
- bl nullsub_104
- bl sub_808D33C
- ldr r1, [r5]
- str r0, [r1, 0xC]
- ldr r0, [r1, 0x14]
- cmp r0, 0x14
- beq _08024BCA
- bl sub_8091234
-_08024BCA:
- ldr r0, [r5]
- ldr r0, [r0, 0x18]
- cmp r0, 0x14
- beq _08024BD6
- bl sub_8091234
-_08024BD6:
- bl sub_80910B4
- ldr r0, _08024C14
- bl sub_801199C
- movs r0, 0xD2
- bl sub_8011988
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _08024C06
- ldr r0, [r1, 0xC]
- adds r4, r0, 0
- adds r4, 0x4C
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
-_08024C06:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C18
- b _08024CAE
- .align 2, 0
-_08024C10: .4byte gUnknown_202DF98
-_08024C14: .4byte 0x000001ff
-_08024C18: .4byte gUnknown_80DCEB0
-_08024C1C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C28
- b _08024CAE
- .align 2, 0
-_08024C28: .4byte gUnknown_80DCEDC
-_08024C2C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C38
- b _08024CAE
- .align 2, 0
-_08024C38: .4byte gUnknown_80DCF44
-_08024C3C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C48
- b _08024CAE
- .align 2, 0
-_08024C48: .4byte gUnknown_80DCF88
-_08024C4C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C58
- b _08024CAE
- .align 2, 0
-_08024C58: .4byte gUnknown_80DCFAC
-_08024C5C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C68
- b _08024CAE
- .align 2, 0
-_08024C68: .4byte gUnknown_80DCFF4
-_08024C6C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C78
- b _08024CAE
- .align 2, 0
-_08024C78: .4byte gUnknown_80DD054
-_08024C7C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C88
- b _08024CAE
- .align 2, 0
-_08024C88: .4byte gUnknown_80DD098
-_08024C8C:
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08024C98
- b _08024CAE
- .align 2, 0
-_08024C98: .4byte gUnknown_80DD0E0
-_08024C9C:
- movs r0, 0x8
- movs r1, 0x3C
- bl sub_8011900
- ldr r0, _08024CBC
- ldr r1, [r0]
- movs r0, 0x15
- str r0, [r1, 0x24]
- ldr r0, _08024CC0
-_08024CAE:
- ldr r3, _08024CC4
-_08024CB0:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08024CF4
- .align 2, 0
-_08024CBC: .4byte gUnknown_203B2B0
-_08024CC0: .4byte gUnknown_80DD104
-_08024CC4: .4byte 0x00000105
-_08024CC8:
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- cmp r0, 0
- beq _08024CE8
- ldr r0, [r1, 0xC]
- adds r4, r0, 0
- adds r4, 0x4C
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
-_08024CE8:
- ldr r0, [r5]
- ldr r1, [r0, 0xC]
- adds r1, 0x4C
- movs r0, 0
- bl sub_801602C
-_08024CF4:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80248FC
-
- thumb_func_start sub_8024CFC
-sub_8024CFC:
- push {r4,lr}
- ldr r4, _08024D38
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- movs r3, 0
- ldr r0, _08024D3C
- str r0, [r1, 0x34]
- movs r0, 0x3
- str r0, [r1, 0x38]
- movs r2, 0x1
- ldr r0, _08024D40
- ldr r0, [r0]
- str r0, [r1, 0x3C]
- movs r0, 0x2
- str r0, [r1, 0x40]
- ldr r0, _08024D44
- ldr r0, [r0]
- str r0, [r1, 0x44]
- str r2, [r1, 0x48]
- str r3, [r1, 0x4C]
- str r2, [r1, 0x50]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08024D38: .4byte gUnknown_203B2B0
-_08024D3C: .4byte gUnknown_80DCA18
-_08024D40: .4byte gUnknown_80D4970
-_08024D44: .4byte gUnknown_80D4934
- thumb_func_end sub_8024CFC
-
- thumb_func_start sub_8024D48
-sub_8024D48:
- push {r4-r7,lr}
- ldr r4, _08024DAC
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024DB0
- str r0, [r3, 0x34]
- movs r0, 0x4
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024DB4
- str r0, [r3, 0x3C]
- movs r0, 0x5
- str r0, [r3, 0x40]
- ldr r0, _08024DB8
- ldr r0, [r0]
- str r0, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r6, 0x3
- str r2, [r3, 0x4C]
- str r1, [r3, 0x50]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024D86:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024D96
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _08024DA6
-_08024D96:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024D86
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x2C]
-_08024DA6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024DAC: .4byte gUnknown_203B2B0
-_08024DB0: .4byte gUnknown_80DCA24
-_08024DB4: .4byte gUnknown_80DCA2C
-_08024DB8: .4byte gUnknown_80D4934
- thumb_func_end sub_8024D48
-
- thumb_func_start sub_8024DBC
-sub_8024DBC:
- push {r4-r7,lr}
- ldr r4, _08024E20
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024E24
- str r0, [r3, 0x34]
- movs r0, 0x4
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024E28
- str r0, [r3, 0x3C]
- movs r0, 0x5
- str r0, [r3, 0x40]
- ldr r0, _08024E2C
- ldr r0, [r0]
- str r0, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r6, 0x3
- str r2, [r3, 0x4C]
- str r1, [r3, 0x50]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024DFA:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024E0A
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x2C]
- cmp r1, r0
- beq _08024E1A
-_08024E0A:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024DFA
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x2C]
-_08024E1A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024E20: .4byte gUnknown_203B2B0
-_08024E24: .4byte gUnknown_80DCA24
-_08024E28: .4byte gUnknown_80DCA2C
-_08024E2C: .4byte gUnknown_80D4934
- thumb_func_end sub_8024DBC
-
- thumb_func_start sub_8024E30
-sub_8024E30:
- push {r4-r7,lr}
- ldr r4, _08024E90
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r3, [r4]
- movs r2, 0
- ldr r0, _08024E94
- str r0, [r3, 0x34]
- movs r0, 0x5
- str r0, [r3, 0x38]
- movs r1, 0x1
- ldr r0, _08024E98
- ldr r0, [r0]
- str r0, [r3, 0x3C]
- movs r0, 0x2
- str r0, [r3, 0x40]
- movs r6, 0x2
- str r2, [r3, 0x44]
- str r1, [r3, 0x48]
- movs r5, 0
- mov r12, r3
- adds r3, 0x38
- mov r2, r12
- adds r2, 0x74
-_08024E68:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08024E78
- ldr r1, [r3]
- mov r7, r12
- ldr r0, [r7, 0x30]
- cmp r1, r0
- beq _08024E88
-_08024E78:
- adds r3, 0x8
- adds r2, 0x2
- adds r5, 0x1
- cmp r5, r6
- blt _08024E68
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x30]
-_08024E88:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024E90: .4byte gUnknown_203B2B0
-_08024E94: .4byte gUnknown_80DCA2C
-_08024E98: .4byte gUnknown_80D4970
- thumb_func_end sub_8024E30
-
- thumb_func_start sub_8024E9C
-sub_8024E9C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024EF8
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024EB6
- ldr r0, _08024EC8
- ldr r0, [r0]
- str r1, [r0, 0x28]
-_08024EB6:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08024EEA
- cmp r0, 0x2
- bgt _08024ECC
- cmp r0, 0x1
- beq _08024EF2
- b _08024EF8
- .align 2, 0
-_08024EC8: .4byte gUnknown_203B2B0
-_08024ECC:
- cmp r0, 0x3
- bne _08024EF8
- bl sub_80252B8
- lsls r0, 24
- cmp r0, 0
- beq _08024EE2
- movs r0, 0x5
- bl sub_80247EC
- b _08024EF8
-_08024EE2:
- movs r0, 0x16
- bl sub_80247EC
- b _08024EF8
-_08024EEA:
- movs r0, 0x2
- bl sub_80247EC
- b _08024EF8
-_08024EF2:
- movs r0, 0x3
- bl sub_80247EC
-_08024EF8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024E9C
-
- thumb_func_start sub_8024F00
-sub_8024F00:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024F6A
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024F1A
- ldr r0, _08024F2C
- ldr r0, [r0]
- str r1, [r0, 0x2C]
-_08024F1A:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08024F36
- cmp r0, 0x4
- bgt _08024F30
- cmp r0, 0x1
- beq _08024F64
- b _08024F6A
- .align 2, 0
-_08024F2C: .4byte gUnknown_203B2B0
-_08024F30:
- cmp r0, 0x5
- beq _08024F4C
- b _08024F6A
-_08024F36:
- ldr r0, _08024F48
- ldr r1, [r0]
- movs r0, 0x14
- str r0, [r1, 0x14]
- str r0, [r1, 0x18]
- movs r0, 0x11
- bl sub_80247EC
- b _08024F6A
- .align 2, 0
-_08024F48: .4byte gUnknown_203B2B0
-_08024F4C:
- bl sub_8090A34
- cmp r0, 0
- bne _08024F5C
- movs r0, 0xF
- bl sub_80247EC
- b _08024F6A
-_08024F5C:
- movs r0, 0x6
- bl sub_80247EC
- b _08024F6A
-_08024F64:
- movs r0, 0x1
- bl sub_80247EC
-_08024F6A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024F00
-
- thumb_func_start sub_8024F70
-sub_8024F70:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08024FCC
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08024F8A
- ldr r0, _08024F9C
- ldr r0, [r0]
- str r1, [r0, 0x2C]
-_08024F8A:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08024FA6
- cmp r0, 0x4
- bgt _08024FA0
- cmp r0, 0x1
- beq _08024FC6
- b _08024FCC
- .align 2, 0
-_08024F9C: .4byte gUnknown_203B2B0
-_08024FA0:
- cmp r0, 0x5
- beq _08024FAE
- b _08024FCC
-_08024FA6:
- movs r0, 0x11
- bl sub_80247EC
- b _08024FCC
-_08024FAE:
- bl sub_8090A34
- cmp r0, 0x1
- bgt _08024FBE
- movs r0, 0x10
- bl sub_80247EC
- b _08024FCC
-_08024FBE:
- movs r0, 0xB
- bl sub_80247EC
- b _08024FCC
-_08024FC6:
- movs r0, 0x1
- bl sub_80247EC
-_08024FCC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8024F70
-
- thumb_func_start sub_8024FD4
-sub_8024FD4:
- push {lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08024FF0
- cmp r0, 0x3
- bhi _08024FEA
- cmp r0, 0x2
- beq _08025048
- b _08025052
-_08024FEA:
- cmp r0, 0x4
- beq _0802501C
- b _08025052
-_08024FF0:
- bl sub_801A8AC
- ldr r1, _08025014
- ldr r2, [r1]
- str r0, [r2, 0x14]
- movs r1, 0x14
- str r1, [r2, 0x18]
- ldr r1, _08025018
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0x8
- bl sub_80247EC
- b _08025052
- .align 2, 0
-_08025014: .4byte gUnknown_203B2B0
-_08025018: .4byte gUnknown_203B460
-_0802501C:
- bl sub_801A8AC
- ldr r1, _08025040
- ldr r2, [r1]
- ldr r1, _08025044
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x9
- bl sub_80247EC
- b _08025052
- .align 2, 0
-_08025040: .4byte gUnknown_203B2B0
-_08025044: .4byte gUnknown_203B460
-_08025048:
- bl sub_801A928
- movs r0, 0x5
- bl sub_80247EC
-_08025052:
- pop {r0}
- bx r0
- thumb_func_end sub_8024FD4
-
- thumb_func_start sub_8025058
-sub_8025058:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x3
- beq _08025074
- cmp r0, 0x3
- bhi _0802506E
- cmp r0, 0x2
- beq _080250DC
- b _080250E6
-_0802506E:
- cmp r0, 0x4
- beq _080250B0
- b _080250E6
-_08025074:
- ldr r5, _080250A0
- ldr r4, [r5]
- bl sub_801A8AC
- ldr r1, [r4, 0x14]
- cmp r1, r0
- beq _080250A8
- bl sub_801A8AC
- ldr r2, [r5]
- str r0, [r2, 0x18]
- ldr r1, _080250A4
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0xD
- bl sub_80247EC
- b _080250E6
- .align 2, 0
-_080250A0: .4byte gUnknown_203B2B0
-_080250A4: .4byte gUnknown_203B460
-_080250A8:
- movs r0, 0x2
- bl sub_80119D4
- b _080250E6
-_080250B0:
- bl sub_801A8AC
- ldr r1, _080250D4
- ldr r2, [r1]
- ldr r1, _080250D8
- ldr r1, [r1]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x1C]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_80247EC
- b _080250E6
- .align 2, 0
-_080250D4: .4byte gUnknown_203B2B0
-_080250D8: .4byte gUnknown_203B460
-_080250DC:
- bl sub_801A928
- movs r0, 0xA
- bl sub_80247EC
-_080250E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025058
-
- thumb_func_start sub_80250EC
-sub_80250EC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0802512C
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802511C
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802511C
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0802511C:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08025140
- cmp r0, 0x2
- bgt _08025130
- cmp r0, 0x1
- beq _0802514E
- b _08025154
- .align 2, 0
-_0802512C: .4byte gUnknown_203B2B0
-_08025130:
- cmp r0, 0x5
- bne _08025154
- bl sub_801A928
- movs r0, 0xA
- bl sub_80247EC
- b _08025154
-_08025140:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x9
- bl sub_80247EC
- b _08025154
-_0802514E:
- movs r0, 0x7
- bl sub_80247EC
-_08025154:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80250EC
-
- thumb_func_start sub_802515C
-sub_802515C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _0802519C
- ldr r0, [r4]
- adds r0, 0x84
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802518C
- ldr r0, [r4]
- adds r0, 0x84
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802518C
- ldr r0, [r4]
- str r1, [r0, 0x30]
-_0802518C:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _080251B0
- cmp r0, 0x2
- bgt _080251A0
- cmp r0, 0x1
- beq _080251BE
- b _080251C4
- .align 2, 0
-_0802519C: .4byte gUnknown_203B2B0
-_080251A0:
- cmp r0, 0x5
- bne _080251C4
- bl sub_801A928
- movs r0, 0x11
- bl sub_80247EC
- b _080251C4
-_080251B0:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_80247EC
- b _080251C4
-_080251BE:
- movs r0, 0xC
- bl sub_80247EC
-_080251C4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802515C
-
- thumb_func_start sub_80251CC
-sub_80251CC:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _080251E4
- cmp r0, 0x3
- bhi _080251E4
- bl sub_801B450
- movs r0, 0x7
- bl sub_80247EC
-_080251E4:
- pop {r0}
- bx r0
- thumb_func_end sub_80251CC
-
- thumb_func_start sub_80251E8
-sub_80251E8:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08025200
- cmp r0, 0x3
- bhi _08025200
- bl sub_801B450
- movs r0, 0xC
- bl sub_80247EC
-_08025200:
- pop {r0}
- bx r0
- thumb_func_end sub_80251E8
-
- thumb_func_start sub_8025204
-sub_8025204:
- push {r4,lr}
- bl sub_8016080
- cmp r0, 0x3
- bne _08025226
- bl sub_80160D8
- ldr r4, _0802522C
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_808D824
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- movs r0, 0x3
- bl sub_80247EC
-_08025226:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802522C: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025204
-
- thumb_func_start sub_8025230
-sub_8025230:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08025248
- ldr r0, _08025250
- ldr r0, [r0]
- ldr r0, [r0, 0x24]
- bl sub_80247EC
-_08025248:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08025250: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025230
-
- thumb_func_start sub_8025254
-sub_8025254:
- push {lr}
- ldr r0, _08025268
- ldr r2, [r0]
- ldr r1, [r2, 0x14]
- adds r3, r0, 0
- cmp r1, 0x14
- bne _0802526C
- movs r0, 0
- b _08025276
- .align 2, 0
-_08025268: .4byte gUnknown_203B2B0
-_0802526C:
- ldr r0, _08025284
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
-_08025276:
- strb r0, [r2, 0x4]
- ldr r2, [r3]
- ldr r1, [r2, 0x18]
- cmp r1, 0x14
- bne _08025288
- movs r0, 0
- b _08025292
- .align 2, 0
-_08025284: .4byte gUnknown_203B460
-_08025288:
- ldr r0, _080252B0
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
-_08025292:
- strb r0, [r2, 0x5]
- movs r0, 0xFF
- bl RandomCapped
- ldr r2, _080252B4
- ldr r1, [r2]
- strb r0, [r1, 0x6]
- ldr r1, [r2]
- ldr r0, [r1, 0xC]
- adds r1, 0x4
- movs r2, 0x1
- bl sub_808F468
- pop {r0}
- bx r0
- .align 2, 0
-_080252B0: .4byte gUnknown_203B460
-_080252B4: .4byte gUnknown_203B2B0
- thumb_func_end sub_8025254
-
- thumb_func_start sub_80252B8
-sub_80252B8:
- push {r4,lr}
- ldr r0, _080252E0
- ldr r1, [r0]
- movs r3, 0
- movs r4, 0x1
- ldr r2, _080252E4
-_080252C4:
- ldrh r0, [r1]
- lsrs r0, 1
- ands r0, r4
- cmp r0, 0
- beq _080252D0
- adds r3, 0x1
-_080252D0:
- subs r2, 0x1
- adds r1, 0x58
- cmp r2, 0
- bne _080252C4
- cmp r3, 0x1
- beq _080252E8
- movs r0, 0
- b _080252EA
- .align 2, 0
-_080252E0: .4byte gUnknown_203B45C
-_080252E4: .4byte 0x0000019d
-_080252E8:
- movs r0, 0x1
-_080252EA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80252B8
-
- thumb_func_start sub_80252F0
-sub_80252F0:
- push {r4-r6,lr}
- adds r6, r0, 0
- cmp r6, 0x2
- bne _08025308
- movs r0, 0x4
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _08025308
- movs r0, 0
- b _0802534C
-_08025308:
- ldr r4, _08025340
- movs r0, 0xBC
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r5, 0
- str r5, [r0, 0x70]
- str r6, [r0]
- bl sub_80A5728
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- ldr r1, [r4]
- strb r0, [r1, 0xC]
- ldr r0, [r4]
- strb r5, [r0, 0xD]
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x2
- bne _08025344
- movs r0, 0
- bl sub_8025434
- b _0802534A
- .align 2, 0
-_08025340: .4byte gUnknown_203B2B4
-_08025344:
- movs r0, 0x1
- bl sub_8025434
-_0802534A:
- movs r0, 0x1
-_0802534C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80252F0
-
- thumb_func_start sub_8025354
-sub_8025354:
- push {lr}
- ldr r0, _0802536C
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r0, 0x12
- bhi _08025400
- lsls r0, 2
- ldr r1, _08025370
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802536C: .4byte gUnknown_203B2B4
-_08025370: .4byte _08025374
- .align 2, 0
-_08025374:
- .4byte _080253C4
- .4byte _080253C4
- .4byte _080253CA
- .4byte _080253D0
- .4byte _080253D6
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _08025400
- .4byte _080253DC
- .4byte _080253DC
- .4byte _080253E2
- .4byte _080253E8
- .4byte _080253EE
- .4byte _080253EE
- .4byte _080253F4
- .4byte _080253FA
- .4byte _080253C0
-_080253C0:
- movs r0, 0x3
- b _08025406
-_080253C4:
- bl sub_80259F0
- b _08025404
-_080253CA:
- bl sub_8025A84
- b _08025404
-_080253D0:
- bl sub_8025BCC
- b _08025404
-_080253D6:
- bl sub_8025BE8
- b _08025404
-_080253DC:
- bl sub_8025C04
- b _08025404
-_080253E2:
- bl sub_8025CB4
- b _08025404
-_080253E8:
- bl sub_8025D90
- b _08025404
-_080253EE:
- bl sub_8025DAC
- b _08025404
-_080253F4:
- bl sub_8025E08
- b _08025404
-_080253FA:
- bl sub_8025E24
- b _08025404
-_08025400:
- bl sub_8025E44
-_08025404:
- movs r0, 0
-_08025406:
- pop {r1}
- bx r1
- thumb_func_end sub_8025354
-
- thumb_func_start sub_802540C
-sub_802540C:
- ldr r0, _08025414
- ldr r0, [r0]
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_08025414: .4byte gUnknown_203B2B4
- thumb_func_end sub_802540C
-
- thumb_func_start sub_8025418
-sub_8025418:
- push {r4,lr}
- ldr r4, _08025430
- ldr r0, [r4]
- cmp r0, 0
- beq _0802542A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802542A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08025430: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025418
-
- thumb_func_start sub_8025434
-sub_8025434:
- push {lr}
- ldr r1, _08025448
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_802544C
- bl sub_8025518
- pop {r0}
- bx r0
- .align 2, 0
-_08025448: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025434
-
- thumb_func_start sub_802544C
-sub_802544C:
- push {r4-r7,lr}
- ldr r4, _08025470
- ldr r0, [r4]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x3
- beq _08025478
- cmp r0, 0xD
- beq _080254B0
- movs r2, 0
- ldr r3, _08025474
- b _080254D8
- .align 2, 0
-_08025470: .4byte gUnknown_203B2B4
-_08025474: .4byte gUnknown_80DD148
-_08025478:
- ldr r0, [r1]
- cmp r0, 0
- bne _0802548E
- movs r2, 0xB0
- lsls r2, 1
- adds r1, r2
- ldr r0, _080254A8
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
-_0802548E:
- bl sub_8025728
- ldr r2, [r4]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- ldr r1, _080254AC
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- b _080254C6
- .align 2, 0
-_080254A8: .4byte gUnknown_80DD190
-_080254AC: .4byte gUnknown_80DD160
-_080254B0:
- bl sub_802591C
- ldr r2, [r4]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- ldr r1, _080254D4
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
-_080254C6:
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xC8
- bl sub_8012CAC
- b _080254F8
- .align 2, 0
-_080254D4: .4byte gUnknown_80DD178
-_080254D8:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- movs r5, 0x8C
- lsls r5, 1
- adds r0, r5
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r2, 0x1
- cmp r2, 0x3
- ble _080254D8
-_080254F8:
- bl sub_8004914
- ldr r0, _08025514
- ldr r0, [r0]
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08025514: .4byte gUnknown_203B2B4
- thumb_func_end sub_802544C
-
- thumb_func_start sub_8025518
-sub_8025518:
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r1, _08025534
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r5, r1, 0
- cmp r0, 0x13
- bls _0802552A
- b _08025720
-_0802552A:
- lsls r0, 2
- ldr r1, _08025538
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025534: .4byte gUnknown_203B2B4
-_08025538: .4byte _0802553C
- .align 2, 0
-_0802553C:
- .4byte _0802558C
- .4byte _080255A0
- .4byte _080255BA
- .4byte _080255C2
- .4byte _0802560C
- .4byte _0802561A
- .4byte _08025720
- .4byte _080256A8
- .4byte _0802567A
- .4byte _08025688
- .4byte _08025698
- .4byte _08025626
- .4byte _08025634
- .4byte _0802563C
- .4byte _08025668
- .4byte _080256CC
- .4byte _080256F2
- .4byte _080256FC
- .4byte _08025714
- .4byte _08025720
-_0802558C:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x8]
- ldr r0, _08025598
- ldr r3, _0802559C
- b _080256B8
- .align 2, 0
-_08025598: .4byte gUnknown_80DD1A8
-_0802559C: .4byte 0x00000301
-_080255A0:
- movs r1, 0x4
- ldr r0, [r5]
- ldr r0, [r0]
- cmp r0, 0
- bne _080255AC
- movs r1, 0x2
-_080255AC:
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _08025720
-_080255BA:
- movs r0, 0x1
- bl sub_8023B7C
- b _08025720
-_080255C2:
- ldr r1, [r5]
- ldr r0, [r1]
- cmp r0, 0
- bne _080255D2
- adds r1, 0x18
- movs r0, 0x3
- bl sub_8025E68
-_080255D2:
- bl sub_8023DA4
- ldr r4, _08025608
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0xC8
- movs r4, 0x84
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _08025654
- .align 2, 0
-_08025608: .4byte gUnknown_202DF98
-_0802560C:
- ldr r0, [r5]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _08025720
-_0802561A:
- ldr r0, [r5]
- movs r4, 0xE
- ldrsh r0, [r0, r4]
- bl sub_801BEEC
- b _08025720
-_08025626:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _08025720
-_08025634:
- movs r0, 0x1
- bl sub_801A8D0
- b _08025720
-_0802563C:
- bl sub_801A9E0
- ldr r0, _08025664
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- adds r1, r2, 0
- adds r1, 0xC8
- movs r4, 0x84
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_08025654:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _08025720
- .align 2, 0
-_08025664: .4byte gUnknown_203B2B4
-_08025668:
- ldr r1, [r5]
- adds r1, 0x14
- add r0, sp, 0x8
- bl sub_8090B64
- add r0, sp, 0x8
- bl sub_801B3C0
- b _08025720
-_0802567A:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _08025684
- b _080256B6
- .align 2, 0
-_08025684: .4byte gUnknown_80DD1C8
-_08025688:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _08025694
- b _080256B6
- .align 2, 0
-_08025694: .4byte gUnknown_80DD1EC
-_08025698:
- ldr r1, [r5]
- movs r0, 0x2
- str r0, [r1, 0x8]
- ldr r0, _080256A4
- b _080256B6
- .align 2, 0
-_080256A4: .4byte gUnknown_80DD240
-_080256A8:
- ldr r1, [r5]
- movs r0, 0x1
- str r0, [r1, 0x8]
- movs r0, 0xCF
- bl sub_8011988
- ldr r0, _080256C4
-_080256B6:
- ldr r3, _080256C8
-_080256B8:
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08025720
- .align 2, 0
-_080256C4: .4byte gUnknown_80DD270
-_080256C8: .4byte 0x00000101
-_080256CC:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x1C]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r5]
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _08025720
-_080256F2:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _08025720
-_080256FC:
- ldr r2, [r5]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r5]
- adds r0, 0x68
- bl sub_801F808
- b _08025720
-_08025714:
- ldr r0, [r5]
- ldr r1, [r0, 0x1C]
- adds r1, 0x4C
- movs r0, 0x2
- bl sub_801602C
-_08025720:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8025518
-
- thumb_func_start sub_8025728
-sub_8025728:
- push {r4-r7,lr}
- ldr r3, _080257CC
- ldr r5, _080257D0
- ldr r0, [r5]
- movs r1, 0xE
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r7, r1, r2
- movs r2, 0x84
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r5]
- ldr r0, [r4]
- cmp r0, 0
- bne _080257E0
- adds r1, r4, 0
- adds r1, 0xC8
- ldr r0, _080257D4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _08025774
- ldr r0, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_08025774:
- movs r6, 0x1
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0xD0
- ldr r0, _080257D8
- str r0, [r2]
- adds r1, 0xD4
- movs r0, 0xB
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08025796
- ldr r0, [r5]
- ldrb r0, [r0, 0x18]
- cmp r0, 0
- bne _080257A0
-_08025796:
- ldr r0, [r5]
- movs r1, 0x85
- lsls r1, 1
- adds r0, r1
- strh r6, [r0]
-_080257A0:
- adds r6, 0x1
- adds r0, r7, 0
- bl sub_8025EC4
- lsls r0, 24
- cmp r0, 0
- beq _08025810
- ldr r0, _080257D0
- ldr r2, [r0]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xC8
- adds r0, r3
- ldr r1, _080257DC
- str r1, [r0]
- adds r2, 0xCC
- adds r2, r3
- movs r0, 0x9
- str r0, [r2]
- adds r6, 0x1
- b _08025810
- .align 2, 0
-_080257CC: .4byte gUnknown_203B45C
-_080257D0: .4byte gUnknown_203B2B4
-_080257D4: .4byte gUnknown_80DD2B0
-_080257D8: .4byte gUnknown_80DD2B8
-_080257DC: .4byte gUnknown_80DD2C0
-_080257E0:
- adds r1, r4, 0
- adds r1, 0xC8
- ldr r0, _080258D4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x7
- str r0, [r1]
- ldr r0, [r4, 0x1C]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- bl sub_808DBA8
- ldrb r1, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0802580E
- ldr r0, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_0802580E:
- movs r6, 0x1
-_08025810:
- movs r0, 0x8
- ldrsh r1, [r7, r0]
- ldr r0, _080258D8
- cmp r1, r0
- bne _08025840
- adds r0, r7, 0
- bl sub_808D824
- lsls r0, 24
- cmp r0, 0
- beq _08025840
- ldr r0, _080258DC
- ldr r2, [r0]
- lsls r3, r6, 3
- adds r0, r2, 0
- adds r0, 0xC8
- adds r0, r3
- ldr r1, _080258E0
- str r1, [r0]
- adds r2, 0xCC
- adds r2, r3
- movs r0, 0x8
- str r0, [r2]
- adds r6, 0x1
-_08025840:
- ldr r4, _080258DC
- ldr r5, [r4]
- lsls r1, r6, 3
- adds r3, r5, 0
- adds r3, 0xC8
- adds r2, r3, r1
- ldr r0, _080258E4
- str r0, [r2]
- adds r7, r5, 0
- adds r7, 0xCC
- adds r1, r7, r1
- movs r0, 0x4
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _080258E8
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x6
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _080258EC
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x5
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r7, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r6
- bge _080258B2
- movs r1, 0x84
- lsls r1, 1
- adds r4, r5, r1
- adds r2, r7, 0
-_0802589A:
- ldrh r0, [r4]
- cmp r0, 0
- bne _080258A8
- ldr r1, [r2]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _08025916
-_080258A8:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0802589A
-_080258B2:
- movs r3, 0
- cmp r3, r6
- bge _08025916
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0x84
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _080258F0
- adds r0, r1, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08025916
- .align 2, 0
-_080258D4: .4byte gUnknown_80DD2CC
-_080258D8: .4byte 0x0000013d
-_080258DC: .4byte gUnknown_203B2B4
-_080258E0: .4byte gUnknown_80DD2D4
-_080258E4: .4byte gUnknown_80DD2DC
-_080258E8: .4byte gUnknown_80DD2E4
-_080258EC: .4byte gUnknown_80DD2EC
-_080258F0:
- adds r3, 0x1
- cmp r3, r6
- bge _08025916
- mov r0, r12
- ldr r2, [r0]
- lsls r0, r3, 1
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080258F0
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xCC
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08025916:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8025728
-
- thumb_func_start sub_802591C
-sub_802591C:
- push {r4-r7,lr}
- ldr r5, _080259B8
- ldr r0, [r5]
- movs r7, 0x84
- lsls r7, 1
- adds r0, r7
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r5]
- adds r2, r1, 0
- adds r2, 0xC8
- ldr r0, _080259BC
- str r0, [r2]
- adds r1, 0xCC
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _08025952
- ldr r0, [r5]
- adds r1, r7, 0
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08025952:
- ldr r4, [r5]
- movs r2, 0x1
- adds r1, r4, 0
- adds r1, 0xD0
- ldr r0, _080259C0
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- adds r1, 0x4
- movs r0, 0
- str r0, [r1]
- adds r0, r4, 0
- adds r0, 0xDC
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- adds r4, r7
- mov r2, r12
- adds r2, 0xCC
-_0802597E:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0802598E
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _080259E8
-_0802598E:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r6
- blt _0802597E
- movs r3, 0
- cmp r3, r6
- bge _080259E8
- ldr r1, [r5]
- movs r2, 0x84
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080259C4
- adds r0, r1, 0
- adds r0, 0xCC
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _080259E8
- .align 2, 0
-_080259B8: .4byte gUnknown_203B2B4
-_080259BC: .4byte gUnknown_80DD2B0
-_080259C0: .4byte gUnknown_80D4970
-_080259C4:
- adds r3, 0x1
- cmp r3, r6
- bge _080259E8
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080259C4
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xCC
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_080259E8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802591C
-
- thumb_func_start sub_80259F0
-sub_80259F0:
- push {lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x3
- beq _08025A0C
- cmp r0, 0x3
- bhi _08025A06
- cmp r0, 0x2
- beq _08025A74
- b _08025A7E
-_08025A06:
- cmp r0, 0x4
- beq _08025A40
- b _08025A7E
-_08025A0C:
- bl sub_8023B44
- ldr r1, _08025A38
- ldr r1, [r1]
- strh r0, [r1, 0xE]
- ldr r3, _08025A3C
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x1C]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D7DC
- movs r0, 0x3
- bl sub_8025434
- b _08025A7E
- .align 2, 0
-_08025A38: .4byte gUnknown_203B2B4
-_08025A3C: .4byte gUnknown_203B45C
-_08025A40:
- bl sub_8023B44
- ldr r1, _08025A6C
- ldr r1, [r1]
- strh r0, [r1, 0xE]
- ldr r3, _08025A70
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x1C]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D7DC
- movs r0, 0x4
- bl sub_8025434
- b _08025A7E
- .align 2, 0
-_08025A6C: .4byte gUnknown_203B2B4
-_08025A70: .4byte gUnknown_203B45C
-_08025A74:
- bl sub_8023C60
- movs r0, 0x13
- bl sub_8025434
-_08025A7E:
- pop {r0}
- bx r0
- thumb_func_end sub_80259F0
-
- thumb_func_start sub_8025A84
-sub_8025A84:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _08025AC8
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08025AB4
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08025AB4
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_08025AB4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xA
- bls _08025ABE
- b _08025BC2
-_08025ABE:
- lsls r0, 2
- ldr r1, _08025ACC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025AC8: .4byte gUnknown_203B2B4
-_08025ACC: .4byte _08025AD0
- .align 2, 0
-_08025AD0:
- .4byte _08025BBC
- .4byte _08025BC2
- .4byte _08025BC2
- .4byte _08025BAC
- .4byte _08025BB4
- .4byte _08025B9C
- .4byte _08025AFC
- .4byte _08025BA4
- .4byte _08025B70
- .4byte _08025B20
- .4byte _08025B28
-_08025AFC:
- ldr r4, _08025B1C
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808DBA8
- ldr r1, [r4]
- strb r0, [r1, 0xD]
- bl sub_8023C60
- movs r0, 0x13
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B1C: .4byte gUnknown_203B2B4
-_08025B20:
- movs r0, 0xB
- bl sub_8025434
- b _08025BC2
-_08025B28:
- ldr r0, _08025B68
- bl sub_8011988
- ldr r4, _08025B6C
- ldr r1, [r4]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- beq _08025B40
- adds r0, r1, 0
- adds r0, 0x18
- bl sub_8091274
-_08025B40:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x18]
- ldr r0, [r4]
- strb r1, [r0, 0x19]
- ldr r1, [r4]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x18
- bl sub_808D800
- bl nullsub_104
- movs r0, 0xA
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B68: .4byte 0x0000014d
-_08025B6C: .4byte gUnknown_203B2B4
-_08025B70:
- ldr r0, _08025B94
- ldr r0, [r0]
- ldr r2, [r0, 0x1C]
- ldrh r1, [r2]
- ldr r0, _08025B98
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- bl sub_8023C60
- movs r0, 0x7
- bl sub_8025434
- b _08025BC2
- .align 2, 0
-_08025B94: .4byte gUnknown_203B2B4
-_08025B98: .4byte 0x0000fffd
-_08025B9C:
- movs r0, 0xF
- bl sub_8025434
- b _08025BC2
-_08025BA4:
- movs r0, 0x12
- bl sub_8025434
- b _08025BC2
-_08025BAC:
- movs r0, 0x4
- bl sub_8025434
- b _08025BC2
-_08025BB4:
- movs r0, 0x5
- bl sub_8025434
- b _08025BC2
-_08025BBC:
- movs r0, 0x2
- bl sub_8025434
-_08025BC2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025A84
-
- thumb_func_start sub_8025BCC
-sub_8025BCC:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08025BE4
- cmp r0, 0x3
- bhi _08025BE4
- bl sub_802453C
- movs r0, 0x2
- bl sub_8025434
-_08025BE4:
- pop {r0}
- bx r0
- thumb_func_end sub_8025BCC
-
- thumb_func_start sub_8025BE8
-sub_8025BE8:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08025C00
- cmp r0, 0x3
- bhi _08025C00
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8025434
-_08025C00:
- pop {r0}
- bx r0
- thumb_func_end sub_8025BE8
-
- thumb_func_start sub_8025C04
-sub_8025C04:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08025CAE
- lsls r0, 2
- ldr r1, _08025C1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025C1C: .4byte _08025C20
- .align 2, 0
-_08025C20:
- .4byte _08025CAE
- .4byte _08025CAE
- .4byte _08025CA4
- .4byte _08025C34
- .4byte _08025C68
-_08025C34:
- bl sub_801A8AC
- ldr r4, _08025C60
- ldr r2, [r4]
- str r0, [r2, 0x10]
- ldr r3, _08025C64
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x14]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0x10]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x15]
- movs r0, 0xD
- bl sub_8025434
- b _08025CAE
- .align 2, 0
-_08025C60: .4byte gUnknown_203B2B4
-_08025C64: .4byte gUnknown_203B460
-_08025C68:
- bl sub_801A8AC
- ldr r4, _08025C9C
- ldr r2, [r4]
- str r0, [r2, 0x10]
- ldr r3, _08025CA0
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x14]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0x10]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x15]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_8025434
- b _08025CAE
- .align 2, 0
-_08025C9C: .4byte gUnknown_203B2B4
-_08025CA0: .4byte gUnknown_203B460
-_08025CA4:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8025434
-_08025CAE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8025C04
-
- thumb_func_start sub_8025CB4
-sub_8025CB4:
- push {r4-r6,lr}
- sub sp, 0x14
- movs r0, 0
- str r0, [sp, 0xC]
- bl sub_801A6E8
- ldr r4, _08025CF4
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08025CE4
- ldr r0, [r4]
- adds r0, 0x78
- add r1, sp, 0xC
- bl sub_8013114
- ldr r1, [sp, 0xC]
- cmp r1, 0x1
- beq _08025CE4
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08025CE4:
- ldr r0, [sp, 0xC]
- cmp r0, 0x4
- beq _08025D74
- cmp r0, 0x4
- bgt _08025CF8
- cmp r0, 0x1
- beq _08025D82
- b _08025D88
- .align 2, 0
-_08025CF4: .4byte gUnknown_203B2B4
-_08025CF8:
- cmp r0, 0xA
- bne _08025D88
- movs r6, 0x8
- ldr r0, _08025D68
- bl sub_8011988
- ldr r5, _08025D6C
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r5]
- ldrb r0, [r1, 0x18]
- cmp r0, 0
- beq _08025D24
- adds r0, r1, 0
- adds r0, 0x18
- bl sub_8091274
- movs r6, 0x9
-_08025D24:
- add r4, sp, 0x10
- ldr r1, [r5]
- adds r1, 0x14
- adds r0, r4, 0
- bl sub_8090B64
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08025D70
- adds r1, r4, 0
- mov r2, sp
- bl sub_8090E14
- ldr r1, [r5]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- adds r0, r6, 0
- bl sub_8025434
- b _08025D88
- .align 2, 0
-_08025D68: .4byte 0x0000014d
-_08025D6C: .4byte gUnknown_203B2B4
-_08025D70: .4byte gUnknown_202DEA8
-_08025D74:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xE
- bl sub_8025434
- b _08025D88
-_08025D82:
- movs r0, 0xC
- bl sub_8025434
-_08025D88:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8025CB4
-
- thumb_func_start sub_8025D90
-sub_8025D90:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08025DA8
- cmp r0, 0x3
- bhi _08025DA8
- bl sub_801B450
- movs r0, 0xC
- bl sub_8025434
-_08025DA8:
- pop {r0}
- bx r0
- thumb_func_end sub_8025D90
-
- thumb_func_start sub_8025DAC
-sub_8025DAC:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x3
- beq _08025DC6
- cmp r0, 0x3
- bhi _08025DC2
- cmp r0, 0x2
- beq _08025DE4
- b _08025DFE
-_08025DC2:
- cmp r0, 0x4
- bne _08025DFE
-_08025DC6:
- bl sub_801F194
- ldr r1, _08025DE0
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x11
- bl sub_8025434
- b _08025DFE
- .align 2, 0
-_08025DE0: .4byte gUnknown_203B2B4
-_08025DE4:
- bl sub_801F214
- ldr r0, _08025E04
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x1C]
- adds r1, 0x2C
- bl sub_8094060
- movs r0, 0x2
- bl sub_8025434
-_08025DFE:
- pop {r0}
- bx r0
- .align 2, 0
-_08025E04: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025DAC
-
- thumb_func_start sub_8025E08
-sub_8025E08:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08025E20
- cmp r0, 0x3
- bhi _08025E20
- bl sub_801F8D0
- movs r0, 0x10
- bl sub_8025434
-_08025E20:
- pop {r0}
- bx r0
- thumb_func_end sub_8025E08
-
- thumb_func_start sub_8025E24
-sub_8025E24:
- push {lr}
- bl sub_8016080
- cmp r0, 0x3
- bhi _08025E40
- cmp r0, 0x2
- bcc _08025E40
- bl sub_80160D8
- bl nullsub_104
- movs r0, 0x2
- bl sub_8025434
-_08025E40:
- pop {r0}
- bx r0
- thumb_func_end sub_8025E24
-
- thumb_func_start sub_8025E44
-sub_8025E44:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08025E5C
- ldr r0, _08025E64
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- bl sub_8025434
-_08025E5C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08025E64: .4byte gUnknown_203B2B4
- thumb_func_end sub_8025E44
-
- thumb_func_start sub_8025E68
-sub_8025E68:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8090B64
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08025EBC
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08025EC0
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08025EBC: .4byte gUnknown_202DE58
-_08025EC0: .4byte gUnknown_80DD2F8
- thumb_func_end sub_8025E68
-
- thumb_func_start sub_8025EC4
-sub_8025EC4:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08025EE8
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08025ED8
- movs r2, 0x1
-_08025ED8:
- cmp r2, 0
- beq _08025EEC
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08025EEC
-_08025EE8:
- movs r0, 0
- b _08025EEE
-_08025EEC:
- movs r0, 0x1
-_08025EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_8025EC4
-
- thumb_func_start sub_8025EF4
-sub_8025EF4:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _08025F1C
- movs r0, 0xA0
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- adds r1, r0, 0
- str r1, [r6]
- str r4, [r1, 0x18]
- movs r5, 0
- ldr r0, _08025F20
- ldr r0, [r0]
- cmp r4, r0
- bne _08025F24
- strh r5, [r1, 0xA]
- adds r4, r6, 0
- b _08025F48
- .align 2, 0
-_08025F1C: .4byte gUnknown_203B2B8
-_08025F20: .4byte gUnknown_203B45C
-_08025F24:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- ldr r4, _08025F60
- cmp r5, r0
- bgt _08025F48
- ldr r3, [r4]
- ldr r2, _08025F64
- lsls r0, r5, 16
- asrs r0, 16
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldr r1, [r3, 0x18]
- cmp r1, r0
- bne _08025F24
- strh r5, [r3, 0xA]
-_08025F48:
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x70]
- str r0, [r1, 0x74]
- str r0, [r1, 0x78]
- strb r0, [r1, 0x8]
- bl sub_8026074
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08025F60: .4byte gUnknown_203B2B8
-_08025F64: .4byte gUnknown_203B45C
- thumb_func_end sub_8025EF4
-
- thumb_func_start sub_8025F68
-sub_8025F68:
- push {lr}
- ldr r0, _08025F80
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x19
- bhi _0802603A
- lsls r0, 2
- ldr r1, _08025F84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08025F80: .4byte gUnknown_203B2B8
-_08025F84: .4byte _08025F88
- .align 2, 0
-_08025F88:
- .4byte _08025FF0
- .4byte _08025FF8
- .4byte _08025FF8
- .4byte _08025FFE
- .4byte _08026004
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802600A
- .4byte _08026010
- .4byte _08026016
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802603A
- .4byte _0802601C
- .4byte _0802601C
- .4byte _08026022
- .4byte _08026028
- .4byte _0802602E
- .4byte _0802602E
- .4byte _08026034
- .4byte _08026040
-_08025FF0:
- movs r0, 0x1
- bl sub_8026074
- b _08026044
-_08025FF8:
- bl sub_80268CC
- b _08026044
-_08025FFE:
- bl sub_8026A78
- b _08026044
-_08026004:
- bl sub_8026A94
- b _08026044
-_0802600A:
- bl sub_8026AB0
- b _08026044
-_08026010:
- bl sub_8026B10
- b _08026044
-_08026016:
- bl sub_8026B48
- b _08026044
-_0802601C:
- bl sub_8026B64
- b _08026044
-_08026022:
- bl sub_8026C14
- b _08026044
-_08026028:
- bl sub_8026CF0
- b _08026044
-_0802602E:
- bl sub_8026D0C
- b _08026044
-_08026034:
- bl sub_8026D6C
- b _08026044
-_0802603A:
- bl sub_8026D88
- b _08026044
-_08026040:
- movs r0, 0x3
- b _08026046
-_08026044:
- movs r0, 0
-_08026046:
- pop {r1}
- bx r1
- thumb_func_end sub_8025F68
-
- thumb_func_start sub_802604C
-sub_802604C:
- ldr r0, _08026054
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08026054: .4byte gUnknown_203B2B8
- thumb_func_end sub_802604C
-
- thumb_func_start sub_8026058
-sub_8026058:
- push {r4,lr}
- ldr r4, _08026070
- ldr r0, [r4]
- cmp r0, 0
- beq _0802606A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802606A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08026070: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026058
-
- thumb_func_start sub_8026074
-sub_8026074:
- push {lr}
- ldr r1, _08026088
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802608C
- bl sub_80261D0
- pop {r0}
- bx r0
- .align 2, 0
-_08026088: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026074
-
- thumb_func_start sub_802608C
-sub_802608C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _080260B8
- ldr r0, [r4]
- movs r5, 0x88
- lsls r5, 2
- adds r0, r5
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x1
- blt _08026178
- cmp r0, 0x2
- ble _080260BC
- cmp r0, 0x14
- beq _0802614C
- b _08026178
- .align 2, 0
-_080260B8: .4byte gUnknown_203B2B8
-_080260BC:
- ldr r0, _0802613C
- mov r12, r0
- ldr r1, _08026140
- mov r8, r1
- mov r9, r4
- mov r10, r5
- movs r3, 0
- movs r2, 0x3
-_080260CC:
- mov r5, r9
- ldr r1, [r5]
- adds r1, r3
- add r1, r10
- ldr r0, _08026144
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _080260CC
- ldr r1, [r4]
- movs r6, 0x88
- lsls r6, 2
- adds r1, r6
- mov r0, r12
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r1, [r4]
- movs r0, 0x9A
- lsls r0, 2
- adds r1, r0
- mov r0, r8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- bl sub_80264CC
- ldr r2, [r4]
- movs r0, 0x94
- lsls r0, 2
- adds r2, r0
- ldr r1, _08026148
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xB6
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- ldr r0, [r4]
- movs r7, 0x97
- lsls r7, 2
- adds r0, r7
- movs r1, 0x9
- strh r1, [r0]
- b _080261A2
- .align 2, 0
-_0802613C: .4byte gUnknown_80DD358
-_08026140: .4byte gUnknown_80DD370
-_08026144: .4byte gUnknown_80DD310
-_08026148: .4byte gUnknown_80DD328
-_0802614C:
- bl sub_802678C
- ldr r2, [r4]
- movs r0, 0x94
- lsls r0, 2
- adds r2, r0
- ldr r1, _08026174
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xB6
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- b _080261A2
- .align 2, 0
-_08026174: .4byte gUnknown_80DD340
-_08026178:
- ldr r7, _080261C8
- mov r8, r7
- movs r0, 0x88
- lsls r0, 2
- mov r9, r0
- ldr r4, _080261CC
- movs r3, 0
- movs r2, 0x3
-_08026188:
- mov r5, r8
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08026188
-_080261A2:
- bl sub_8004914
- ldr r0, _080261C8
- ldr r0, [r0]
- movs r6, 0x88
- lsls r6, 2
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080261C8: .4byte gUnknown_203B2B8
-_080261CC: .4byte gUnknown_80DD310
- thumb_func_end sub_802608C
-
- thumb_func_start sub_80261D0
-sub_80261D0:
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r1, _080261EC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x19
- bls _080261E2
- b _080264BA
-_080261E2:
- lsls r0, 2
- ldr r1, _080261F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080261EC: .4byte gUnknown_203B2B8
-_080261F0: .4byte _080261F4
- .align 2, 0
-_080261F4:
- .4byte _080264BA
- .4byte _0802625C
- .4byte _080262A8
- .4byte _080262EC
- .4byte _080262FA
- .4byte _080263F8
- .4byte _0802640C
- .4byte _08026420
- .4byte _08026434
- .4byte _08026448
- .4byte _0802648A
- .4byte _080264A8
- .4byte _08026392
- .4byte _080263AC
- .4byte _08026306
- .4byte _08026464
- .4byte _08026474
- .4byte _08026484
- .4byte _08026310
- .4byte _0802631E
- .4byte _08026326
- .4byte _08026350
- .4byte _08026362
- .4byte _08026388
- .4byte _080263E0
- .4byte _080264BA
-_0802625C:
- movs r0, 0x3
- bl sub_8026E08
- ldr r5, _080262A0
- ldr r1, [r5]
- adds r1, 0x14
- movs r0, 0
- bl sub_8026DAC
- ldr r4, _080262A4
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0x83
- lsls r4, 2
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _0802633E
- .align 2, 0
-_080262A0: .4byte gUnknown_203B2B8
-_080262A4: .4byte gUnknown_202DF98
-_080262A8:
- movs r0, 0x3
- bl sub_8026E08
- ldr r5, _080262E4
- ldr r1, [r5]
- adds r1, 0x14
- movs r0, 0
- bl sub_8026DAC
- ldr r4, _080262E8
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- ldr r1, [r0, 0x18]
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, [r5]
- adds r0, 0x7C
- movs r1, 0x1
- bl sub_8012EA4
- b _080264BA
- .align 2, 0
-_080262E4: .4byte gUnknown_203B2B8
-_080262E8: .4byte gUnknown_202DF98
-_080262EC:
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _080264BA
-_080262FA:
- ldr r0, [r4]
- movs r3, 0xA
- ldrsh r0, [r0, r3]
- bl sub_801BEEC
- b _080264BA
-_08026306:
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_80227B8
- b _080264BA
-_08026310:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _080264BA
-_0802631E:
- movs r0, 0x1
- bl sub_801A8D0
- b _080264BA
-_08026326:
- bl sub_801A9E0
- ldr r0, _0802634C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xCC
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r4, 0xA0
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_0802633E:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _080264BA
- .align 2, 0
-_0802634C: .4byte gUnknown_203B2B8
-_08026350:
- ldr r1, [r4]
- adds r1, 0x10
- add r0, sp, 0x14
- bl sub_8090B64
- add r0, sp, 0x14
- bl sub_801B3C0
- b _080264BA
-_08026362:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x18]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r4]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _080264BA
-_08026388:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _080264BA
-_08026392:
- bl sub_8026878
- ldr r0, _080263A4
- ldr r1, _080263A8
- ldr r3, [r1]
- movs r1, 0xDE
- lsls r1, 1
- adds r3, r1
- b _080263BC
- .align 2, 0
-_080263A4: .4byte gUnknown_80DD388
-_080263A8: .4byte gUnknown_203B2B8
-_080263AC:
- bl sub_8026878
- ldr r0, _080263D8
- ldr r1, _080263DC
- ldr r3, [r1]
- movs r4, 0xDE
- lsls r4, 1
- adds r3, r4
-_080263BC:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _080264BA
- .align 2, 0
-_080263D8: .4byte gUnknown_80DD420
-_080263DC: .4byte gUnknown_203B2B8
-_080263E0:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x68
- bl sub_801F808
- b _080264BA
-_080263F8:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCF
- bl sub_8011988
- ldr r0, _08026408
- b _08026492
- .align 2, 0
-_08026408: .4byte gUnknown_80DD4C4
-_0802640C:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCF
- bl sub_8011988
- ldr r0, _0802641C
- b _08026492
- .align 2, 0
-_0802641C: .4byte gUnknown_80DD4F4
-_08026420:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- movs r0, 0xCC
- bl sub_8011988
- ldr r0, _08026430
- b _08026492
- .align 2, 0
-_08026430: .4byte gUnknown_80DD534
-_08026434:
- ldr r1, [r4]
- movs r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0xCA
- bl sub_8011988
- ldr r0, _08026444
- b _08026492
- .align 2, 0
-_08026444: .4byte gUnknown_80DD564
-_08026448:
- bl sub_8026FA4
- ldr r4, _08026460
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x8]
- b _080264BA
- .align 2, 0
-_08026460: .4byte gUnknown_203B2B8
-_08026464:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08026470
- b _08026492
- .align 2, 0
-_08026470: .4byte gUnknown_80DD594
-_08026474:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08026480
- b _08026492
- .align 2, 0
-_08026480: .4byte gUnknown_80DD5B8
-_08026484:
- ldr r1, [r4]
- movs r0, 0x2
- b _0802648E
-_0802648A:
- ldr r1, [r4]
- movs r0, 0x19
-_0802648E:
- str r0, [r1, 0x4]
- ldr r0, _080264A0
-_08026492:
- ldr r3, _080264A4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080264BA
- .align 2, 0
-_080264A0: .4byte gUnknown_80DD60C
-_080264A4: .4byte 0x00000101
-_080264A8:
- ldr r1, [r4]
- movs r0, 0x19
- str r0, [r1, 0x4]
- ldr r0, _080264C4
- ldr r3, _080264C8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080264BA:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080264C4: .4byte gUnknown_80DD63C
-_080264C8: .4byte 0x00000101
- thumb_func_end sub_80261D0
-
- thumb_func_start sub_80264CC
-sub_80264CC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r3, _08026574
- ldr r4, _08026578
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r1, r2
- mov r8, r1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r1, [r4]
- ldr r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- adds r1, 0x14
- bl sub_808D7DC
- mov r1, r8
- ldrh r0, [r1]
- lsrs r0, 1
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08026584
- ldr r2, [r4]
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _0802657C
- str r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x7
- str r0, [r1]
- mov r0, r8
- bl sub_8026E88
- lsls r0, 24
- cmp r0, 0
- bne _08026542
- ldr r0, [r4]
- movs r1, 0x83
- lsls r1, 2
- adds r0, r1
- strh r5, [r0]
-_08026542:
- movs r6, 0x1
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080265B4
- mov r2, r8
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _080265B4
- ldr r3, [r4]
- movs r2, 0x8
- movs r4, 0xBA
- lsls r4, 1
- adds r1, r3, r4
- ldr r0, _08026580
- str r0, [r1]
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- movs r6, 0x2
- b _080265B4
- .align 2, 0
-_08026574: .4byte gUnknown_203B45C
-_08026578: .4byte gUnknown_203B2B8
-_0802657C: .4byte gUnknown_80DD664
-_08026580: .4byte gUnknown_80DD670
-_08026584:
- ldr r2, [r4]
- movs r3, 0xB6
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _08026734
- str r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x6
- str r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- bne _080265B2
- ldr r0, [r4]
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- strh r5, [r0]
-_080265B2:
- movs r6, 0x1
-_080265B4:
- ldr r4, _08026738
- ldr r2, [r4]
- lsls r3, r6, 3
- movs r7, 0xB6
- lsls r7, 1
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _0802673C
- str r1, [r0]
- movs r5, 0xB8
- lsls r5, 1
- adds r2, r5
- adds r2, r3
- movs r0, 0xA
- str r0, [r2]
- bl sub_809177C
- lsls r0, 24
- cmp r0, 0
- bne _080265EC
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r3, 0x83
- lsls r3, 2
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_080265EC:
- adds r6, 0x1
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _08026740
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0
- bne _0802661A
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_0802661A:
- adds r6, 0x1
- ldr r2, [r4]
- lsls r3, r6, 3
- adds r0, r2, r7
- adds r0, r3
- ldr r1, _08026744
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xC
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08026640
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _08026650
-_08026640:
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r3, 0x83
- lsls r3, 2
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08026650:
- adds r6, 0x1
- mov r4, r8
- ldrh r0, [r4]
- lsrs r0, 1
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _0802669A
- ldr r4, _08026738
- ldr r3, [r4]
- lsls r2, r6, 3
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r3, r1
- adds r0, r2
- ldr r1, _08026748
- str r1, [r0]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r3, r1
- adds r0, r2
- movs r1, 0x9
- str r1, [r0]
- mov r0, r8
- bl sub_8026EB8
- lsls r0, 24
- cmp r0, 0
- bne _08026698
- ldr r0, [r4]
- lsls r1, r6, 1
- movs r2, 0x83
- lsls r2, 2
- adds r0, r2
- adds r0, r1
- strh r5, [r0]
-_08026698:
- adds r6, 0x1
-_0802669A:
- ldr r4, _08026738
- ldr r5, [r4]
- lsls r1, r6, 3
- movs r0, 0xB6
- lsls r0, 1
- adds r3, r5, r0
- adds r2, r3, r1
- ldr r0, _0802674C
- str r0, [r2]
- movs r2, 0xB8
- lsls r2, 1
- adds r7, r5, r2
- adds r1, r7, r1
- movs r0, 0x4
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _08026750
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0xD
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r3, r1
- ldr r0, _08026754
- str r0, [r2]
- adds r1, r7, r1
- movs r0, 0x5
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r7, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r6
- bge _08026710
- adds r4, r7, 0
- movs r0, 0x83
- lsls r0, 2
- adds r2, r5, r0
-_080266F8:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08026706
- ldr r1, [r4]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _08026780
-_08026706:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _080266F8
-_08026710:
- movs r3, 0
- cmp r3, r6
- bge _08026780
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0x83
- lsls r4, 2
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08026758
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _08026780
- .align 2, 0
-_08026734: .4byte gUnknown_80DD67C
-_08026738: .4byte gUnknown_203B2B8
-_0802673C: .4byte gUnknown_80DD688
-_08026740: .4byte gUnknown_80DD694
-_08026744: .4byte gUnknown_80DD69C
-_08026748: .4byte gUnknown_80DD6A4
-_0802674C: .4byte gUnknown_80DD6B4
-_08026750: .4byte gUnknown_80DD6BC
-_08026754: .4byte gUnknown_80DD6C4
-_08026758:
- adds r3, 0x1
- cmp r3, r6
- bge _08026780
- mov r4, r12
- ldr r2, [r4]
- lsls r0, r3, 1
- movs r4, 0x83
- lsls r4, 2
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08026758
- lsls r0, r3, 3
- movs r3, 0xB8
- lsls r3, 1
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_08026780:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80264CC
-
- thumb_func_start sub_802678C
-sub_802678C:
- push {r4-r7,lr}
- ldr r5, _08026840
- ldr r0, [r5]
- movs r7, 0x83
- lsls r7, 2
- adds r0, r7
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r2, [r5]
- movs r0, 0xB6
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _08026844
- str r0, [r1]
- movs r3, 0xB8
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0xB
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _080267C8
- ldr r0, [r5]
- adds r4, r7, 0
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_080267C8:
- ldr r4, [r5]
- movs r2, 0x1
- movs r0, 0xBA
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _08026848
- ldr r0, [r0]
- str r0, [r1]
- movs r3, 0xBC
- lsls r3, 1
- adds r1, r4, r3
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- movs r0, 0xBE
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- str r0, [r1]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r4, r1
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- movs r4, 0xB8
- lsls r4, 1
- add r4, r12
- mov r0, r12
- adds r2, r0, r7
-_08026804:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08026814
- ldr r1, [r4]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _08026872
-_08026814:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _08026804
- movs r3, 0
- cmp r3, r6
- bge _08026872
- ldr r1, [r5]
- movs r2, 0x83
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _0802684C
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _08026872
- .align 2, 0
-_08026840: .4byte gUnknown_203B2B8
-_08026844: .4byte gUnknown_80DD694
-_08026848: .4byte gUnknown_80D4970
-_0802684C:
- adds r3, 0x1
- cmp r3, r6
- bge _08026872
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0x83
- lsls r4, 2
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0802684C
- lsls r0, r3, 3
- movs r7, 0xB8
- lsls r7, 1
- adds r1, r2, r7
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_08026872:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802678C
-
- thumb_func_start sub_8026878
-sub_8026878:
- ldr r0, _080268C0
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- movs r1, 0xDE
- lsls r1, 1
- add r1, r12
- ldr r0, _080268C4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xE0
- lsls r1, 1
- add r1, r12
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- movs r1, 0xE2
- lsls r1, 1
- add r1, r12
- ldr r0, _080268C8
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xE4
- lsls r1, 1
- add r1, r12
- movs r0, 0x3
- str r0, [r1]
- movs r0, 0xE6
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- movs r0, 0xE8
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- bx lr
- .align 2, 0
-_080268C0: .4byte gUnknown_203B2B8
-_080268C4: .4byte gUnknown_80D4920
-_080268C8: .4byte gUnknown_80D4928
- thumb_func_end sub_8026878
-
- thumb_func_start sub_80268CC
-sub_80268CC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0802690C
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080268F8
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080268F8
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_080268F8:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xC
- bls _08026902
- b _08026A6E
-_08026902:
- lsls r0, 2
- ldr r1, _08026910
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802690C: .4byte gUnknown_203B2B8
-_08026910: .4byte _08026914
- .align 2, 0
-_08026914:
- .4byte _08026A68
- .4byte _08026A6E
- .4byte _08026A6E
- .4byte _08026A58
- .4byte _08026A60
- .4byte _08026948
- .4byte _0802698C
- .4byte _080269B4
- .4byte _080269F0
- .4byte _08026A00
- .4byte _08026A08
- .4byte _08026A10
- .4byte _080269F8
-_08026948:
- ldr r4, _08026984
- ldr r0, [r4]
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- beq _08026976
- ldr r0, [r4]
- movs r2, 0xA
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _08026988
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strh r0, [r1]
- bl nullsub_104
-_08026976:
- bl sub_808ED00
- movs r0, 0x5
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_08026984: .4byte gUnknown_203B2B8
-_08026988: .4byte gUnknown_203B45C
-_0802698C:
- ldr r0, _080269AC
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2]
- ldr r0, _080269B0
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- movs r0, 0x6
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_080269AC: .4byte gUnknown_203B2B8
-_080269B0: .4byte 0x0000fffd
-_080269B4:
- ldr r2, _080269E8
- ldr r0, _080269EC
- ldr r0, [r0]
- movs r3, 0xA
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- bl sub_808D33C
- ldrb r1, [r4, 0x2]
- cmp r1, 0
- bne _080269DA
- strb r1, [r0, 0x2]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- bl nullsub_104
-_080269DA:
- bl sub_808ED00
- movs r0, 0x7
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_080269E8: .4byte gUnknown_203B45C
-_080269EC: .4byte gUnknown_203B2B8
-_080269F0:
- movs r0, 0xC
- bl sub_8026074
- b _08026A6E
-_080269F8:
- movs r0, 0x16
- bl sub_8026074
- b _08026A6E
-_08026A00:
- movs r0, 0xE
- bl sub_8026074
- b _08026A6E
-_08026A08:
- movs r0, 0x12
- bl sub_8026074
- b _08026A6E
-_08026A10:
- ldr r0, _08026A50
- bl sub_8011988
- ldr r4, _08026A54
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08026A28
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_08026A28:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl nullsub_104
- movs r0, 0x11
- bl sub_8026074
- b _08026A6E
- .align 2, 0
-_08026A50: .4byte 0x0000014d
-_08026A54: .4byte gUnknown_203B2B8
-_08026A58:
- movs r0, 0x3
- bl sub_8026074
- b _08026A6E
-_08026A60:
- movs r0, 0x4
- bl sub_8026074
- b _08026A6E
-_08026A68:
- movs r0, 0x19
- bl sub_8026074
-_08026A6E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80268CC
-
- thumb_func_start sub_8026A78
-sub_8026A78:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08026A90
- cmp r0, 0x3
- bhi _08026A90
- bl sub_802453C
- movs r0, 0x2
- bl sub_8026074
-_08026A90:
- pop {r0}
- bx r0
- thumb_func_end sub_8026A78
-
- thumb_func_start sub_8026A94
-sub_8026A94:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08026AAC
- cmp r0, 0x3
- bhi _08026AAC
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8026074
-_08026AAC:
- pop {r0}
- bx r0
- thumb_func_end sub_8026A94
-
- thumb_func_start sub_8026AB0
-sub_8026AB0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026B08
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08026ADA
- cmp r0, 0x2
- bgt _08026ACE
- cmp r0, 0x1
- beq _08026AD2
- b _08026B08
-_08026ACE:
- cmp r0, 0x3
- bne _08026B08
-_08026AD2:
- movs r0, 0x2
- bl sub_8026074
- b _08026B08
-_08026ADA:
- ldr r0, _08026AF0
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrb r0, [r0, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08026AF4
- movs r0, 0x1
- b _08026AF6
- .align 2, 0
-_08026AF0: .4byte gUnknown_203B2B8
-_08026AF4:
- movs r0, 0
-_08026AF6:
- cmp r0, 0
- beq _08026B02
- movs r0, 0xD
- bl sub_8026074
- b _08026B08
-_08026B02:
- movs r0, 0x8
- bl sub_8026074
-_08026B08:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8026AB0
-
- thumb_func_start sub_8026B10
-sub_8026B10:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026B40
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08026B3A
- cmp r0, 0x2
- bgt _08026B2E
- cmp r0, 0x1
- beq _08026B32
- b _08026B40
-_08026B2E:
- cmp r0, 0x3
- bne _08026B40
-_08026B32:
- movs r0, 0x2
- bl sub_8026074
- b _08026B40
-_08026B3A:
- movs r0, 0x8
- bl sub_8026074
-_08026B40:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8026B10
-
- thumb_func_start sub_8026B48
-sub_8026B48:
- push {lr}
- bl sub_8022860
- cmp r0, 0x1
- bls _08026B60
- cmp r0, 0x3
- bhi _08026B60
- bl sub_8022908
- movs r0, 0x2
- bl sub_8026074
-_08026B60:
- pop {r0}
- bx r0
- thumb_func_end sub_8026B48
-
- thumb_func_start sub_8026B64
-sub_8026B64:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08026C0E
- lsls r0, 2
- ldr r1, _08026B7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08026B7C: .4byte _08026B80
- .align 2, 0
-_08026B80:
- .4byte _08026C0E
- .4byte _08026C0E
- .4byte _08026C04
- .4byte _08026B94
- .4byte _08026BC8
-_08026B94:
- bl sub_801A8AC
- ldr r4, _08026BC0
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08026BC4
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0x14
- bl sub_8026074
- b _08026C0E
- .align 2, 0
-_08026BC0: .4byte gUnknown_203B2B8
-_08026BC4: .4byte gUnknown_203B460
-_08026BC8:
- bl sub_801A8AC
- ldr r4, _08026BFC
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08026C00
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0
- bl sub_8099690
- movs r0, 0x15
- bl sub_8026074
- b _08026C0E
- .align 2, 0
-_08026BFC: .4byte gUnknown_203B2B8
-_08026C00: .4byte gUnknown_203B460
-_08026C04:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8026074
-_08026C0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8026B64
-
- thumb_func_start sub_8026C14
-sub_8026C14:
- push {r4-r6,lr}
- sub sp, 0x14
- movs r0, 0
- str r0, [sp, 0xC]
- bl sub_801A6E8
- ldr r4, _08026C54
- ldr r0, [r4]
- adds r0, 0xCC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08026C44
- ldr r0, [r4]
- adds r0, 0xCC
- add r1, sp, 0xC
- bl sub_8013114
- ldr r1, [sp, 0xC]
- cmp r1, 0x1
- beq _08026C44
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08026C44:
- ldr r0, [sp, 0xC]
- cmp r0, 0x4
- beq _08026CD4
- cmp r0, 0x4
- bgt _08026C58
- cmp r0, 0x1
- beq _08026CE2
- b _08026CE8
- .align 2, 0
-_08026C54: .4byte gUnknown_203B2B8
-_08026C58:
- cmp r0, 0xB
- bne _08026CE8
- movs r6, 0xF
- ldr r0, _08026CC8
- bl sub_8011988
- ldr r5, _08026CCC
- ldr r0, [r5]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r5]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08026C84
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
- movs r6, 0x10
-_08026C84:
- add r4, sp, 0x10
- ldr r1, [r5]
- adds r1, 0x10
- adds r0, r4, 0
- bl sub_8090B64
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08026CD0
- adds r1, r4, 0
- mov r2, sp
- bl sub_8090E14
- ldr r1, [r5]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x10
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- adds r0, r6, 0
- bl sub_8026074
- b _08026CE8
- .align 2, 0
-_08026CC8: .4byte 0x0000014d
-_08026CCC: .4byte gUnknown_203B2B8
-_08026CD0: .4byte gUnknown_202DEA8
-_08026CD4:
- movs r0, 0
- bl sub_8099690
- movs r0, 0x15
- bl sub_8026074
- b _08026CE8
-_08026CE2:
- movs r0, 0x13
- bl sub_8026074
-_08026CE8:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8026C14
-
- thumb_func_start sub_8026CF0
-sub_8026CF0:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08026D08
- cmp r0, 0x3
- bhi _08026D08
- bl sub_801B450
- movs r0, 0x13
- bl sub_8026074
-_08026D08:
- pop {r0}
- bx r0
- thumb_func_end sub_8026CF0
-
- thumb_func_start sub_8026D0C
-sub_8026D0C:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08026D66
- lsls r0, 2
- ldr r1, _08026D24
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08026D24: .4byte _08026D28
- .align 2, 0
-_08026D28:
- .4byte _08026D66
- .4byte _08026D66
- .4byte _08026D5C
- .4byte _08026D3C
- .4byte _08026D3C
-_08026D3C:
- bl sub_801F194
- ldr r1, _08026D58
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x18
- bl sub_8026074
- b _08026D66
- .align 2, 0
-_08026D58: .4byte gUnknown_203B2B8
-_08026D5C:
- bl sub_801F214
- movs r0, 0x2
- bl sub_8026074
-_08026D66:
- pop {r0}
- bx r0
- thumb_func_end sub_8026D0C
-
- thumb_func_start sub_8026D6C
-sub_8026D6C:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08026D84
- cmp r0, 0x3
- bhi _08026D84
- bl sub_801F8D0
- movs r0, 0x17
- bl sub_8026074
-_08026D84:
- pop {r0}
- bx r0
- thumb_func_end sub_8026D6C
-
- thumb_func_start sub_8026D88
-sub_8026D88:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08026DA0
- ldr r0, _08026DA8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8026074
-_08026DA0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08026DA8: .4byte gUnknown_203B2B8
- thumb_func_end sub_8026D88
-
- thumb_func_start sub_8026DAC
-sub_8026DAC:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8090B64
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08026E00
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08026E04
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08026E00: .4byte gUnknown_202DE58
-_08026E04: .4byte gUnknown_80DD6D0
- thumb_func_end sub_8026DAC
-
- thumb_func_start sub_8026E08
-sub_8026E08:
- push {r4-r6,lr}
- sub sp, 0x40
- adds r5, r0, 0
- bl sub_8008C54
- adds r0, r5, 0
- bl sub_80073B8
- ldr r6, _08026E78
- ldr r4, _08026E7C
- ldr r0, [r4]
- ldr r1, [r0, 0x18]
- adds r1, 0x4C
- adds r0, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- add r0, sp, 0x2C
- ldr r1, [r4]
- ldr r1, [r1, 0x18]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- bl sub_808D930
- ldr r1, _08026E80
- add r0, sp, 0x4
- adds r2, r6, 0
- bl sub_800D158
- add r0, sp, 0x4
- bl sub_8008ED0
- adds r1, r0, 0
- ldr r0, _08026E84
- movs r2, 0xC
- ldrsh r0, [r0, r2]
- lsls r0, 3
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- str r1, [sp]
- movs r1, 0x3
- add r2, sp, 0x4
- adds r3, r5, 0
- bl xxx_call_draw_string
- adds r0, r5, 0
- bl sub_80073E0
- add sp, 0x40
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08026E78: .4byte gUnknown_202DF98
-_08026E7C: .4byte gUnknown_203B2B8
-_08026E80: .4byte gUnknown_80DD6E0
-_08026E84: .4byte gUnknown_80DD370
- thumb_func_end sub_8026E08
-
- thumb_func_start sub_8026E88
-sub_8026E88:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08026EAC
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08026E9C
- movs r2, 0x1
-_08026E9C:
- cmp r2, 0
- beq _08026EB0
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08026EB0
-_08026EAC:
- movs r0, 0
- b _08026EB2
-_08026EB0:
- movs r0, 0x1
-_08026EB2:
- pop {r1}
- bx r1
- thumb_func_end sub_8026E88
-
- thumb_func_start sub_8026EB8
-sub_8026EB8:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- beq _08026EFA
- bl sub_808D3F8
- cmp r0, r4
- beq _08026EFA
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08026EFA
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08026EDC
- movs r1, 0x1
-_08026EDC:
- cmp r1, 0
- beq _08026EEC
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08026EFA
-_08026EEC:
- adds r0, r4, 0
- bl sub_8026F04
- cmp r0, 0x3
- beq _08026EFA
- movs r0, 0x1
- b _08026EFC
-_08026EFA:
- movs r0, 0
-_08026EFC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026EB8
-
- thumb_func_start sub_8026F04
-sub_8026F04:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- bne _08026F14
- movs r0, 0
- b _08026F32
-_08026F14:
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08026F20
- movs r0, 0x1
- b _08026F32
-_08026F20:
- adds r0, r4, 0
- bl sub_8026F38
- lsls r0, 24
- cmp r0, 0
- bne _08026F30
- movs r0, 0x3
- b _08026F32
-_08026F30:
- movs r0, 0x2
-_08026F32:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8026F04
-
- thumb_func_start sub_8026F38
-sub_8026F38:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x28
- ldrb r0, [r4]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08026F74
- ldrb r0, [r4]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08026F80
- ldr r0, _08026F78
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _08026F7C
- cmp r1, r0
- ble _08026F94
-_08026F74:
- movs r0, 0
- b _08026F96
- .align 2, 0
-_08026F78: .4byte gUnknown_203B460
-_08026F7C: .4byte 0x000003e7
-_08026F80:
- ldr r0, _08026F9C
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, _08026FA0
- cmp r1, r0
- bhi _08026F74
-_08026F94:
- movs r0, 0x1
-_08026F96:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08026F9C: .4byte gUnknown_203B460
-_08026FA0: .4byte 0x000003e6
- thumb_func_end sub_8026F38
-
- thumb_func_start sub_8026FA4
-sub_8026FA4:
- push {r4,lr}
- ldr r4, _08026FC0
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_8026F04
- cmp r0, 0x1
- beq _08026FC4
- cmp r0, 0x1
- bcc _08027068
- cmp r0, 0x2
- beq _08026FF8
- b _08027068
- .align 2, 0
-_08026FC0: .4byte gUnknown_203B2B8
-_08026FC4:
- ldr r0, _08026FF4
- bl sub_8011988
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_8091274
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0xA
- bl sub_8026074
- b _0802706E
- .align 2, 0
-_08026FF4: .4byte 0x0000014d
-_08026FF8:
- ldr r0, _08027024
- bl sub_8011988
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0802702C
- ldr r0, _08027028
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r2, [r2, 0x15]
- adds r0, r2
- b _0802703E
- .align 2, 0
-_08027024: .4byte 0x0000014d
-_08027028: .4byte gUnknown_203B460
-_0802702C:
- ldr r0, _08027060
- ldr r1, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_0802703E:
- strh r0, [r1]
- ldr r1, _08027064
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0x14]
- ldr r0, [r1]
- strb r2, [r0, 0x15]
- ldr r1, [r1]
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0xB
- bl sub_8026074
- b _0802706E
- .align 2, 0
-_08027060: .4byte gUnknown_203B460
-_08027064: .4byte gUnknown_203B2B8
-_08027068:
- movs r0, 0x19
- bl sub_8026074
-_0802706E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8026FA4
-
- thumb_func_start sub_8027074
-sub_8027074:
- push {r4,lr}
- movs r0, 0
- bl sub_8004D8C
- ldr r4, _080270A0
- movs r0, 0xF0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x70]
- str r1, [r0, 0x74]
- str r1, [r0, 0x78]
- movs r0, 0
- bl sub_8027184
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080270A0: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027074
-
- thumb_func_start sub_80270A4
-sub_80270A4:
- push {lr}
- ldr r0, _080270BC
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x11
- bhi _08027156
- lsls r0, 2
- ldr r1, _080270C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080270BC: .4byte gUnknown_203B2BC
-_080270C0: .4byte _080270C4
- .align 2, 0
-_080270C4:
- .4byte _0802710C
- .4byte _08027114
- .4byte _08027114
- .4byte _0802711A
- .4byte _08027120
- .4byte _08027126
- .4byte _08027156
- .4byte _08027156
- .4byte _0802712C
- .4byte _08027132
- .4byte _08027138
- .4byte _08027138
- .4byte _0802713E
- .4byte _08027144
- .4byte _0802714A
- .4byte _0802714A
- .4byte _08027150
- .4byte _0802715C
-_0802710C:
- movs r0, 0x1
- bl sub_8027184
- b _08027160
-_08027114:
- bl sub_80277FC
- b _08027160
-_0802711A:
- bl sub_80278B4
- b _08027160
-_08027120:
- bl sub_8027A40
- b _08027160
-_08027126:
- bl sub_8027A5C
- b _08027160
-_0802712C:
- bl sub_8027A78
- b _08027160
-_08027132:
- bl sub_8027AE4
- b _08027160
-_08027138:
- bl sub_8027B28
- b _08027160
-_0802713E:
- bl sub_8027BD8
- b _08027160
-_08027144:
- bl sub_8027C84
- b _08027160
-_0802714A:
- bl sub_8027CA0
- b _08027160
-_08027150:
- bl sub_8027D00
- b _08027160
-_08027156:
- bl sub_8027D1C
- b _08027160
-_0802715C:
- movs r0, 0x3
- b _08027162
-_08027160:
- movs r0, 0
-_08027162:
- pop {r1}
- bx r1
- thumb_func_end sub_80270A4
-
- thumb_func_start sub_8027168
-sub_8027168:
- push {r4,lr}
- ldr r4, _08027180
- ldr r0, [r4]
- cmp r0, 0
- beq _0802717A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802717A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08027180: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027168
-
- thumb_func_start sub_8027184
-sub_8027184:
- push {lr}
- ldr r1, _08027198
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802719C
- bl sub_8027274
- pop {r0}
- bx r0
- .align 2, 0
-_08027198: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027184
-
- thumb_func_start sub_802719C
-sub_802719C:
- push {r4-r7,lr}
- ldr r4, _080271C0
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _080271C8
- cmp r0, 0xC
- beq _08027208
- movs r2, 0
- ldr r3, _080271C4
- b _08027234
- .align 2, 0
-_080271C0: .4byte gUnknown_203B2BC
-_080271C4: .4byte gUnknown_80DD6EC
-_080271C8:
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r2
- ldr r0, _08027200
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- bl sub_802745C
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _08027204
- ldm r1!, {r5-r7}
- stm r2!, {r5-r7}
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r7, 0x8E
- lsls r7, 1
- adds r1, r7
- bl sub_8012CAC
- b _08027254
- .align 2, 0
-_08027200: .4byte gUnknown_80DD74C
-_08027204: .4byte gUnknown_80DD704
-_08027208:
- bl sub_80276A8
- ldr r2, [r4]
- movs r0, 0xD8
- lsls r0, 1
- adds r2, r0
- ldr r1, _08027230
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0x8E
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- b _08027254
- .align 2, 0
-_08027230: .4byte gUnknown_80DD71C
-_08027234:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- movs r7, 0xC0
- lsls r7, 1
- adds r0, r7
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r2, 0x1
- cmp r2, 0x3
- ble _08027234
-_08027254:
- bl sub_8004914
- ldr r0, _08027270
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08027270: .4byte gUnknown_203B2BC
- thumb_func_end sub_802719C
-
- thumb_func_start sub_8027274
-sub_8027274:
- push {r4,lr}
- sub sp, 0x18
- ldr r1, _08027290
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x11
- bls _08027286
- b _0802744A
-_08027286:
- lsls r0, 2
- ldr r1, _08027294
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027290: .4byte gUnknown_203B2BC
-_08027294: .4byte _08027298
- .align 2, 0
-_08027298:
- .4byte _0802744A
- .4byte _080272E0
- .4byte _080272EE
- .4byte _080272F6
- .4byte _0802731A
- .4byte _08027328
- .4byte _0802741C
- .4byte _08027438
- .4byte _080273B6
- .4byte _080273D0
- .4byte _08027334
- .4byte _08027342
- .4byte _0802734A
- .4byte _08027374
- .4byte _08027386
- .4byte _080273AC
- .4byte _08027404
- .4byte _0802744A
-_080272E0:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0x7
- bl sub_8023868
- b _0802744A
-_080272EE:
- movs r0, 0x1
- bl sub_8023B7C
- b _0802744A
-_080272F6:
- ldr r1, [r4]
- adds r1, 0x14
- movs r0, 0x3
- bl sub_8027D40
- bl sub_8023DA4
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xB6
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x70]
- b _08027362
-_0802731A:
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- movs r1, 0x2
- bl sub_8024458
- b _0802744A
-_08027328:
- ldr r0, [r4]
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- bl sub_801BEEC
- b _0802744A
-_08027334:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- b _0802744A
-_08027342:
- movs r0, 0x1
- bl sub_801A8D0
- b _0802744A
-_0802734A:
- bl sub_801A9E0
- ldr r0, _08027370
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x7C
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r2, r4
- adds r4, 0x50
- adds r3, r2, r4
- ldr r2, [r2, 0x74]
-_08027362:
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0802744A
- .align 2, 0
-_08027370: .4byte gUnknown_203B2BC
-_08027374:
- ldr r1, [r4]
- adds r1, 0x10
- add r0, sp, 0x14
- bl sub_8090B64
- add r0, sp, 0x14
- bl sub_801B3C0
- b _0802744A
-_08027386:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldr r1, [r1, 0x18]
- adds r1, 0x2C
- bl sub_809401C
- ldr r2, [r4]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- adds r2, 0x28
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x3
- movs r3, 0
- bl sub_801EE10
- b _0802744A
-_080273AC:
- movs r0, 0x1
- movs r1, 0
- bl sub_801F1B0
- b _0802744A
-_080273B6:
- bl sub_8027794
- ldr r0, _080273C8
- ldr r1, _080273CC
- ldr r3, [r1]
- movs r1, 0x8E
- lsls r1, 1
- adds r3, r1
- b _080273E0
- .align 2, 0
-_080273C8: .4byte gUnknown_80DD764
-_080273CC: .4byte gUnknown_203B2BC
-_080273D0:
- bl sub_8027794
- ldr r0, _080273FC
- ldr r1, _08027400
- ldr r3, [r1]
- movs r4, 0x8E
- lsls r4, 1
- adds r3, r4
-_080273E0:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0802744A
- .align 2, 0
-_080273FC: .4byte gUnknown_80DD7FC
-_08027400: .4byte gUnknown_203B2BC
-_08027404:
- ldr r2, [r4]
- ldr r0, [r2, 0x20]
- adds r1, r2, 0
- adds r1, 0x28
- adds r2, 0x68
- bl sub_8093560
- ldr r0, [r4]
- adds r0, 0x68
- bl sub_801F808
- b _0802744A
-_0802741C:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08027430
- ldr r3, _08027434
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802744A
- .align 2, 0
-_08027430: .4byte gUnknown_80DD8A0
-_08027434: .4byte 0x00000101
-_08027438:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _08027454
- ldr r3, _08027458
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802744A:
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08027454: .4byte gUnknown_80DD8D0
-_08027458: .4byte 0x00000101
- thumb_func_end sub_8027274
-
- thumb_func_start sub_802745C
-sub_802745C:
- push {r4-r7,lr}
- ldr r3, _080274E4
- ldr r4, _080274E8
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r2, [r0, r1]
- movs r1, 0x58
- muls r2, r1
- ldr r1, [r3]
- adds r5, r1, r2
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldrh r0, [r5]
- lsrs r0, 1
- movs r6, 0x1
- ands r0, r6
- cmp r0, 0
- beq _080274F4
- ldr r2, [r4]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _080274EC
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x7
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8027D9C
- lsls r0, 24
- cmp r0, 0
- bne _080274B6
- ldr r0, [r4]
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- strh r6, [r0]
-_080274B6:
- movs r7, 0x1
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08027552
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- bne _08027552
- ldr r3, [r4]
- movs r2, 0x8
- movs r4, 0x92
- lsls r4, 1
- adds r1, r3, r4
- ldr r0, _080274F0
- str r0, [r1]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- b _08027550
- .align 2, 0
-_080274E4: .4byte gUnknown_203B45C
-_080274E8: .4byte gUnknown_203B2BC
-_080274EC: .4byte gUnknown_80DD8F8
-_080274F0: .4byte gUnknown_80DD904
-_080274F4:
- ldr r2, [r4]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _08027658
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x6
- str r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- bne _08027522
- ldr r0, [r4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- strh r6, [r0]
-_08027522:
- movs r7, 0x1
- ldr r2, [r4]
- movs r3, 0x92
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, _0802765C
- str r0, [r1]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x9
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8027DCC
- lsls r0, 24
- cmp r0, 0
- bne _08027550
- ldr r0, [r4]
- movs r1, 0xB7
- lsls r1, 1
- adds r0, r1
- strh r7, [r0]
-_08027550:
- movs r7, 0x2
-_08027552:
- ldr r4, _08027660
- ldr r2, [r4]
- lsls r3, r7, 3
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r2, r6
- adds r0, r3
- ldr r1, _08027664
- str r1, [r0]
- movs r5, 0x90
- lsls r5, 1
- adds r2, r5
- adds r2, r3
- movs r0, 0xA
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0
- bne _08027588
- ldr r0, [r4]
- lsls r1, r7, 1
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_08027588:
- adds r7, 0x1
- ldr r2, [r4]
- lsls r3, r7, 3
- adds r0, r2, r6
- adds r0, r3
- ldr r1, _08027668
- str r1, [r0]
- adds r2, r5
- adds r2, r3
- movs r0, 0xB
- str r0, [r2]
- bl sub_8090A34
- cmp r0, 0x13
- bgt _080275AE
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080275BE
-_080275AE:
- ldr r0, [r4]
- lsls r1, r7, 1
- movs r3, 0xB6
- lsls r3, 1
- adds r0, r3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
-_080275BE:
- adds r7, 0x1
- ldr r4, _08027660
- ldr r5, [r4]
- lsls r1, r7, 3
- movs r0, 0x8E
- lsls r0, 1
- adds r3, r5, r0
- adds r2, r3, r1
- ldr r0, _0802766C
- str r0, [r2]
- movs r2, 0x90
- lsls r2, 1
- adds r6, r5, r2
- adds r1, r6, r1
- movs r0, 0x4
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08027670
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0xC
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _08027674
- str r0, [r2]
- adds r1, r6, r1
- movs r0, 0x5
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r6, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r7
- bge _08027636
- adds r4, r6, 0
- movs r0, 0xB6
- lsls r0, 1
- adds r2, r5, r0
-_0802761E:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0802762C
- ldr r1, [r4]
- ldr r0, [r5, 0x70]
- cmp r1, r0
- beq _080276A0
-_0802762C:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r7
- blt _0802761E
-_08027636:
- movs r3, 0
- cmp r3, r7
- bge _080276A0
- mov r2, r12
- ldr r1, [r2]
- movs r4, 0xB6
- lsls r4, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _08027678
- movs r2, 0x90
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- str r0, [r1, 0x70]
- b _080276A0
- .align 2, 0
-_08027658: .4byte gUnknown_80DD910
-_0802765C: .4byte gUnknown_80DD91C
-_08027660: .4byte gUnknown_203B2BC
-_08027664: .4byte gUnknown_80DD92C
-_08027668: .4byte gUnknown_80DD934
-_0802766C: .4byte gUnknown_80DD93C
-_08027670: .4byte gUnknown_80DD944
-_08027674: .4byte gUnknown_80DD94C
-_08027678:
- adds r3, 0x1
- cmp r3, r7
- bge _080276A0
- mov r4, r12
- ldr r2, [r4]
- lsls r0, r3, 1
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08027678
- lsls r0, r3, 3
- movs r3, 0x90
- lsls r3, 1
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x70]
-_080276A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802745C
-
- thumb_func_start sub_80276A8
-sub_80276A8:
- push {r4-r7,lr}
- ldr r5, _0802775C
- ldr r0, [r5]
- movs r7, 0xB6
- lsls r7, 1
- adds r0, r7
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r2, [r5]
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _08027760
- str r0, [r1]
- movs r3, 0x90
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0xA
- str r0, [r1]
- bl sub_8090A34
- cmp r0, 0
- bne _080276E4
- ldr r0, [r5]
- adds r4, r7, 0
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
-_080276E4:
- ldr r4, [r5]
- movs r2, 0x1
- movs r0, 0x92
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _08027764
- ldr r0, [r0]
- str r0, [r1]
- movs r3, 0x94
- lsls r3, 1
- adds r1, r4, r3
- movs r0, 0x4
- str r0, [r1]
- movs r6, 0x2
- movs r0, 0x96
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- str r0, [r1]
- movs r1, 0x98
- lsls r1, 1
- adds r0, r4, r1
- str r2, [r0]
- movs r3, 0
- mov r12, r4
- movs r4, 0x90
- lsls r4, 1
- add r4, r12
- mov r0, r12
- adds r2, r0, r7
-_08027720:
- ldrh r0, [r2]
- cmp r0, 0
- bne _08027730
- ldr r1, [r4]
- mov r7, r12
- ldr r0, [r7, 0x74]
- cmp r1, r0
- beq _0802778E
-_08027730:
- adds r4, 0x8
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, r6
- blt _08027720
- movs r3, 0
- cmp r3, r6
- bge _0802778E
- ldr r1, [r5]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _08027768
- movs r3, 0x90
- lsls r3, 1
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r1, 0x74]
- b _0802778E
- .align 2, 0
-_0802775C: .4byte gUnknown_203B2BC
-_08027760: .4byte gUnknown_80DD92C
-_08027764: .4byte gUnknown_80D4970
-_08027768:
- adds r3, 0x1
- cmp r3, r6
- bge _0802778E
- ldr r2, [r5]
- lsls r0, r3, 1
- movs r4, 0xB6
- lsls r4, 1
- adds r1, r2, r4
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _08027768
- lsls r0, r3, 3
- movs r7, 0x90
- lsls r7, 1
- adds r1, r2, r7
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x74]
-_0802778E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80276A8
-
- thumb_func_start sub_8027794
-sub_8027794:
- push {r4,lr}
- ldr r4, _080277F0
- ldr r0, [r4]
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _080277F4
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- movs r0, 0x92
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, _080277F8
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x3
- str r0, [r1]
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, r1
- str r3, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- str r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080277F0: .4byte gUnknown_203B2BC
-_080277F4: .4byte gUnknown_80D4920
-_080277F8: .4byte gUnknown_80D4928
- thumb_func_end sub_8027794
-
- thumb_func_start sub_80277FC
-sub_80277FC:
- push {r4,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x4
- bhi _080278AE
- lsls r0, 2
- ldr r1, _08027814
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027814: .4byte _08027818
- .align 2, 0
-_08027818:
- .4byte _080278AE
- .4byte _080278AE
- .4byte _080278A4
- .4byte _0802782C
- .4byte _08027868
-_0802782C:
- bl sub_8023B44
- ldr r4, _08027860
- ldr r1, [r4]
- strh r0, [r1, 0x8]
- ldr r3, _08027864
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D7DC
- movs r0, 0x3
- bl sub_8027184
- b _080278AE
- .align 2, 0
-_08027860: .4byte gUnknown_203B2BC
-_08027864: .4byte gUnknown_203B45C
-_08027868:
- bl sub_8023B44
- ldr r4, _0802789C
- ldr r1, [r4]
- strh r0, [r1, 0x8]
- ldr r3, _080278A0
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x18]
- ldrb r0, [r0, 0x2]
- strb r0, [r1, 0x1C]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D7DC
- movs r0, 0x4
- bl sub_8027184
- b _080278AE
- .align 2, 0
-_0802789C: .4byte gUnknown_203B2BC
-_080278A0: .4byte gUnknown_203B45C
-_080278A4:
- bl sub_8023C60
- movs r0, 0x11
- bl sub_8027184
-_080278AE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80277FC
-
- thumb_func_start sub_80278B4
-sub_80278B4:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _080278F8
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080278E4
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _080278E4
- ldr r0, [r4]
- str r1, [r0, 0x70]
-_080278E4:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0xB
- bls _080278EE
- b _08027A36
-_080278EE:
- lsls r0, 2
- ldr r1, _080278FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080278F8: .4byte gUnknown_203B2BC
-_080278FC: .4byte _08027900
- .align 2, 0
-_08027900:
- .4byte _08027A30
- .4byte _08027A36
- .4byte _08027A36
- .4byte _08027A20
- .4byte _08027A28
- .4byte _08027930
- .4byte _0802796C
- .4byte _0802798C
- .4byte _080279C0
- .4byte _080279D0
- .4byte _080279D8
- .4byte _080279C8
-_08027930:
- ldr r4, _08027964
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_808D750
- lsls r0, 24
- cmp r0, 0
- beq _0802795E
- ldr r0, [r4]
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _08027968
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strh r0, [r1]
- bl nullsub_104
-_0802795E:
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_08027964: .4byte gUnknown_203B2BC
-_08027968: .4byte gUnknown_203B45C
-_0802796C:
- ldr r0, _08027984
- ldr r0, [r0]
- ldr r2, [r0, 0x18]
- ldrh r1, [r2]
- ldr r0, _08027988
- ands r0, r1
- strh r0, [r2]
- bl nullsub_104
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_08027984: .4byte gUnknown_203B2BC
-_08027988: .4byte 0x0000fffd
-_0802798C:
- ldr r2, _080279B8
- ldr r0, _080279BC
- ldr r0, [r0]
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- bl sub_808D33C
- ldrb r1, [r4, 0x2]
- cmp r1, 0
- bne _080279B2
- strb r1, [r0, 0x2]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- bl nullsub_104
-_080279B2:
- bl sub_808ED00
- b _08027A0E
- .align 2, 0
-_080279B8: .4byte gUnknown_203B45C
-_080279BC: .4byte gUnknown_203B2BC
-_080279C0:
- movs r0, 0x8
- bl sub_8027184
- b _08027A36
-_080279C8:
- movs r0, 0xE
- bl sub_8027184
- b _08027A36
-_080279D0:
- movs r0, 0xA
- bl sub_8027184
- b _08027A36
-_080279D8:
- ldr r0, _08027A18
- bl sub_8011988
- ldr r4, _08027A1C
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _080279F0
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_080279F0:
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- bl nullsub_104
-_08027A0E:
- movs r0, 0x2
- bl sub_8027184
- b _08027A36
- .align 2, 0
-_08027A18: .4byte 0x0000014d
-_08027A1C: .4byte gUnknown_203B2BC
-_08027A20:
- movs r0, 0x4
- bl sub_8027184
- b _08027A36
-_08027A28:
- movs r0, 0x5
- bl sub_8027184
- b _08027A36
-_08027A30:
- movs r0, 0x2
- bl sub_8027184
-_08027A36:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80278B4
-
- thumb_func_start sub_8027A40
-sub_8027A40:
- push {lr}
- bl sub_80244E4
- cmp r0, 0x1
- bls _08027A58
- cmp r0, 0x3
- bhi _08027A58
- bl sub_802453C
- movs r0, 0x2
- bl sub_8027184
-_08027A58:
- pop {r0}
- bx r0
- thumb_func_end sub_8027A40
-
- thumb_func_start sub_8027A5C
-sub_8027A5C:
- push {lr}
- bl sub_801BF48
- cmp r0, 0x1
- bls _08027A74
- cmp r0, 0x3
- bhi _08027A74
- bl sub_801BF98
- movs r0, 0x2
- bl sub_8027184
-_08027A74:
- pop {r0}
- bx r0
- thumb_func_end sub_8027A5C
-
- thumb_func_start sub_8027A78
-sub_8027A78:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027AD8
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08027AA2
- cmp r0, 0x2
- bgt _08027A96
- cmp r0, 0x1
- beq _08027A9A
- b _08027AD8
-_08027A96:
- cmp r0, 0x3
- bne _08027AD8
-_08027A9A:
- movs r0, 0x2
- bl sub_8027184
- b _08027AD8
-_08027AA2:
- ldr r0, _08027AB8
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- ldrb r0, [r0, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08027ABC
- movs r0, 0x1
- b _08027ABE
- .align 2, 0
-_08027AB8: .4byte gUnknown_203B2BC
-_08027ABC:
- movs r0, 0
-_08027ABE:
- cmp r0, 0
- beq _08027ACA
- movs r0, 0x9
- bl sub_8027184
- b _08027AD8
-_08027ACA:
- bl sub_8027EB8
- ldr r0, _08027AE0
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
-_08027AD8:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027AE0: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027A78
-
- thumb_func_start sub_8027AE4
-sub_8027AE4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027B1C
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08027B0E
- cmp r0, 0x2
- bgt _08027B02
- cmp r0, 0x1
- beq _08027B06
- b _08027B1C
-_08027B02:
- cmp r0, 0x3
- bne _08027B1C
-_08027B06:
- movs r0, 0x2
- bl sub_8027184
- b _08027B1C
-_08027B0E:
- bl sub_8027EB8
- ldr r0, _08027B24
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl sub_808D31C
-_08027B1C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027B24: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027AE4
-
- thumb_func_start sub_8027B28
-sub_8027B28:
- push {r4,lr}
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x4
- bhi _08027BD2
- lsls r0, 2
- ldr r1, _08027B40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027B40: .4byte _08027B44
- .align 2, 0
-_08027B44:
- .4byte _08027BD2
- .4byte _08027BD2
- .4byte _08027BC8
- .4byte _08027B58
- .4byte _08027B8C
-_08027B58:
- bl sub_801A8AC
- ldr r4, _08027B84
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08027B88
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0xC
- bl sub_8027184
- b _08027BD2
- .align 2, 0
-_08027B84: .4byte gUnknown_203B2BC
-_08027B88: .4byte gUnknown_203B460
-_08027B8C:
- bl sub_801A8AC
- ldr r4, _08027BC0
- ldr r2, [r4]
- str r0, [r2, 0xC]
- ldr r3, _08027BC4
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x2]
- strb r0, [r2, 0x10]
- ldr r2, [r4]
- ldr r1, [r3]
- ldr r0, [r2, 0xC]
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- strb r0, [r2, 0x11]
- movs r0, 0
- bl sub_8099690
- movs r0, 0xD
- bl sub_8027184
- b _08027BD2
- .align 2, 0
-_08027BC0: .4byte gUnknown_203B2BC
-_08027BC4: .4byte gUnknown_203B460
-_08027BC8:
- bl sub_801A928
- movs r0, 0x2
- bl sub_8027184
-_08027BD2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027B28
-
- thumb_func_start sub_8027BD8
-sub_8027BD8:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801A6E8
- ldr r4, _08027C18
- ldr r0, [r4]
- adds r0, 0x7C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08027C08
- ldr r0, [r4]
- adds r0, 0x7C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _08027C08
- ldr r0, [r4]
- str r1, [r0, 0x74]
-_08027C08:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _08027C68
- cmp r0, 0x4
- bgt _08027C1C
- cmp r0, 0x1
- beq _08027C76
- b _08027C7C
- .align 2, 0
-_08027C18: .4byte gUnknown_203B2BC
-_08027C1C:
- cmp r0, 0xA
- bne _08027C7C
- ldr r0, _08027C60
- bl sub_8011988
- ldr r4, _08027C64
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_80911F8
- bl sub_80910B4
- ldr r1, [r4]
- ldrb r0, [r1, 0x14]
- cmp r0, 0
- beq _08027C44
- adds r0, r1, 0
- adds r0, 0x14
- bl sub_8091274
-_08027C44:
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x10
- bl sub_808D800
- bl sub_801A928
- bl nullsub_104
- movs r0, 0x2
- bl sub_8027184
- b _08027C7C
- .align 2, 0
-_08027C60: .4byte 0x0000014d
-_08027C64: .4byte gUnknown_203B2BC
-_08027C68:
- movs r0, 0
- bl sub_8099690
- movs r0, 0xD
- bl sub_8027184
- b _08027C7C
-_08027C76:
- movs r0, 0xB
- bl sub_8027184
-_08027C7C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027BD8
-
- thumb_func_start sub_8027C84
-sub_8027C84:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _08027C9C
- cmp r0, 0x3
- bhi _08027C9C
- bl sub_801B450
- movs r0, 0xB
- bl sub_8027184
-_08027C9C:
- pop {r0}
- bx r0
- thumb_func_end sub_8027C84
-
- thumb_func_start sub_8027CA0
-sub_8027CA0:
- push {lr}
- movs r0, 0x1
- bl sub_801EF38
- cmp r0, 0x4
- bhi _08027CFA
- lsls r0, 2
- ldr r1, _08027CB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08027CB8: .4byte _08027CBC
- .align 2, 0
-_08027CBC:
- .4byte _08027CFA
- .4byte _08027CFA
- .4byte _08027CF0
- .4byte _08027CD0
- .4byte _08027CD0
-_08027CD0:
- bl sub_801F194
- ldr r1, _08027CEC
- ldr r1, [r1]
- str r0, [r1, 0x20]
- lsls r0, 3
- adds r0, r1, r0
- ldrh r0, [r0, 0x2A]
- strh r0, [r1, 0x24]
- movs r0, 0x10
- bl sub_8027184
- b _08027CFA
- .align 2, 0
-_08027CEC: .4byte gUnknown_203B2BC
-_08027CF0:
- bl sub_801F214
- movs r0, 0x2
- bl sub_8027184
-_08027CFA:
- pop {r0}
- bx r0
- thumb_func_end sub_8027CA0
-
- thumb_func_start sub_8027D00
-sub_8027D00:
- push {lr}
- bl sub_801F890
- cmp r0, 0x1
- bls _08027D18
- cmp r0, 0x3
- bhi _08027D18
- bl sub_801F8D0
- movs r0, 0xF
- bl sub_8027184
-_08027D18:
- pop {r0}
- bx r0
- thumb_func_end sub_8027D00
-
- thumb_func_start sub_8027D1C
-sub_8027D1C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08027D34
- ldr r0, _08027D3C
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8027184
-_08027D34:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08027D3C: .4byte gUnknown_203B2BC
- thumb_func_end sub_8027D1C
-
- thumb_func_start sub_8027D40
-sub_8027D40:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_8008C54
- adds r0, r6, 0
- bl sub_80073B8
- add r4, sp, 0x10
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8090B64
- movs r5, 0
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- strb r5, [r0, 0x4]
- adds r1, r0, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- strb r0, [r4]
- ldr r0, _08027D94
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_8090E14
- ldr r2, _08027D98
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x3
- adds r3, r6, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_80073E0
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08027D94: .4byte gUnknown_202DE58
-_08027D98: .4byte gUnknown_80DD958
- thumb_func_end sub_8027D40
-
- thumb_func_start sub_8027D9C
-sub_8027D9C:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _08027DC0
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _08027DB0
- movs r2, 0x1
-_08027DB0:
- cmp r2, 0
- beq _08027DC4
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08027DC4
-_08027DC0:
- movs r0, 0
- b _08027DC6
-_08027DC4:
- movs r0, 0x1
-_08027DC6:
- pop {r1}
- bx r1
- thumb_func_end sub_8027D9C
-
- thumb_func_start sub_8027DCC
-sub_8027DCC:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- beq _08027E0E
- bl sub_808D3F8
- cmp r0, r4
- beq _08027E0E
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _08027E0E
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _08027DF0
- movs r1, 0x1
-_08027DF0:
- cmp r1, 0
- beq _08027E00
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08027E0E
-_08027E00:
- adds r0, r4, 0
- bl sub_8027E18
- cmp r0, 0x3
- beq _08027E0E
- movs r0, 0x1
- b _08027E10
-_08027E0E:
- movs r0, 0
-_08027E10:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8027DCC
-
- thumb_func_start sub_8027E18
-sub_8027E18:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- bne _08027E28
- movs r0, 0
- b _08027E46
-_08027E28:
- bl sub_8090A34
- cmp r0, 0x13
- bgt _08027E34
- movs r0, 0x1
- b _08027E46
-_08027E34:
- adds r0, r4, 0
- bl sub_8027E4C
- lsls r0, 24
- cmp r0, 0
- bne _08027E44
- movs r0, 0x3
- b _08027E46
-_08027E44:
- movs r0, 0x2
-_08027E46:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8027E18
-
- thumb_func_start sub_8027E4C
-sub_8027E4C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r5, 0
- adds r4, 0x28
- ldrb r0, [r4]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _08027E88
- ldrb r0, [r4]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08027E94
- ldr r0, _08027E8C
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _08027E90
- cmp r1, r0
- ble _08027EA8
-_08027E88:
- movs r0, 0
- b _08027EAA
- .align 2, 0
-_08027E8C: .4byte gUnknown_203B460
-_08027E90: .4byte 0x000003e7
-_08027E94:
- ldr r0, _08027EB0
- ldr r1, [r0]
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- ldr r0, _08027EB4
- cmp r1, r0
- bhi _08027E88
-_08027EA8:
- movs r0, 0x1
-_08027EAA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08027EB0: .4byte gUnknown_203B460
-_08027EB4: .4byte 0x000003e6
- thumb_func_end sub_8027E4C
-
- thumb_func_start sub_8027EB8
-sub_8027EB8:
- push {r4,lr}
- ldr r4, _08027ED4
- ldr r0, [r4]
- ldr r0, [r0, 0x18]
- bl sub_8027E18
- cmp r0, 0x1
- beq _08027ED8
- cmp r0, 0x1
- bcc _08027F7C
- cmp r0, 0x2
- beq _08027F0C
- b _08027F7C
- .align 2, 0
-_08027ED4: .4byte gUnknown_203B2BC
-_08027ED8:
- ldr r0, _08027F08
- bl sub_8011988
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_8091274
- bl sub_80910B4
- ldr r0, [r4]
- movs r1, 0
- strb r1, [r0, 0x14]
- ldr r0, [r4]
- strb r1, [r0, 0x15]
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0x6
- bl sub_8027184
- b _08027F82
- .align 2, 0
-_08027F08: .4byte 0x0000014d
-_08027F0C:
- ldr r0, _08027F38
- bl sub_8011988
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _08027F40
- ldr r0, _08027F3C
- ldr r1, [r0]
- ldr r2, [r4]
- ldrb r0, [r2, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r2, [r2, 0x15]
- adds r0, r2
- b _08027F52
- .align 2, 0
-_08027F38: .4byte 0x0000014d
-_08027F3C: .4byte gUnknown_203B460
-_08027F40:
- ldr r0, _08027F74
- ldr r1, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x14]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_08027F52:
- strh r0, [r1]
- ldr r1, _08027F78
- ldr r0, [r1]
- movs r2, 0
- strb r2, [r0, 0x14]
- ldr r0, [r1]
- strb r2, [r0, 0x15]
- ldr r1, [r1]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r1, 0x14
- bl sub_808D800
- movs r0, 0x7
- bl sub_8027184
- b _08027F82
- .align 2, 0
-_08027F74: .4byte gUnknown_203B460
-_08027F78: .4byte gUnknown_203B2BC
-_08027F7C:
- movs r0, 0x2
- bl sub_8027184
-_08027F82:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8027EB8
-
- thumb_func_start sub_8027F88
-sub_8027F88:
- push {r4-r6,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08028050
- movs r4, 0xA9
- lsls r4, 3
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
- ldr r1, [r5]
- ldr r2, _08028054
- adds r0, r1, r2
- movs r6, 0
- str r6, [r0]
- movs r3, 0x86
- lsls r3, 2
- adds r1, r3
- movs r0, 0xFF
- strb r0, [r1]
- ldr r0, [r5]
- ldr r1, _08028058
- adds r0, r1
- ldr r1, _0802805C
- strh r1, [r0]
- ldr r0, _08028060
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _08028064
- bl strcpy
- adds r0, r4, 0
- bl sub_808DDD0
- ldr r2, [r5]
- movs r3, 0x84
- lsls r3, 3
- adds r1, r2, r3
- str r0, [r1]
- adds r3, 0x4
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- ldr r0, _08028068
- adds r2, r0
- strb r6, [r2]
- ldr r0, [r5]
- ldr r1, _0802806C
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r5]
- ldr r2, _08028070
- adds r0, r2
- strb r6, [r0]
- ldr r1, [r5]
- adds r3, 0x4
- adds r2, r1, r3
- movs r0, 0x2
- strh r0, [r2]
- ldr r0, _08028074
- adds r1, r0
- movs r0, 0x8
- strh r0, [r1]
- movs r2, 0
- movs r3, 0
- adds r1, r5, 0
-_0802802E:
- ldr r0, [r5]
- adds r0, 0x8
- adds r0, r2
- strb r3, [r0]
- adds r2, 0x1
- cmp r2, 0x35
- ble _0802802E
- ldr r1, [r1]
- movs r0, 0x3D
- str r0, [r1]
- movs r0, 0
- bl sub_8028B04
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08028050: .4byte gUnknown_203B2C0
-_08028054: .4byte 0x0000053c
-_08028058: .4byte 0x00000544
-_0802805C: .4byte 0x0000ffff
-_08028060: .4byte gUnknown_202E5D8
-_08028064: .4byte gUnknown_202DF98
-_08028068: .4byte 0x0000042c
-_0802806C: .4byte 0x0000042d
-_08028070: .4byte 0x0000042e
-_08028074: .4byte 0x0000042a
- thumb_func_end sub_8027F88
-
- thumb_func_start sub_8028078
-sub_8028078:
- push {lr}
- ldr r0, _08028090
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x3C
- bls _08028086
- b _080282D4
-_08028086:
- lsls r0, 2
- ldr r1, _08028094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08028090: .4byte gUnknown_203B2C0
-_08028094: .4byte _08028098
- .align 2, 0
-_08028098:
- .4byte _080282C4
- .4byte _080282C4
- .4byte _080282CA
- .4byte _080282D0
- .4byte _08028222
- .4byte _08028234
- .4byte _08028228
- .4byte _0802822E
- .4byte _0802823A
- .4byte _080281FE
- .4byte _08028272
- .4byte _08028278
- .4byte _0802828C
- .4byte _0802827E
- .4byte _0802828C
- .4byte _0802827E
- .4byte _0802828C
- .4byte _08028286
- .4byte _08028294
- .4byte _0802829A
- .4byte _080282B2
- .4byte _080282B8
- .4byte _080282BE
- .4byte _080282A0
- .4byte _080282A6
- .4byte _080282AC
- .4byte _08028240
- .4byte _08028248
- .4byte _0802824E
- .4byte _0802824E
- .4byte _0802825A
- .4byte _0802826C
- .4byte _08028260
- .4byte _08028266
- .4byte _08028254
- .4byte _08028204
- .4byte _0802820A
- .4byte _080282CA
- .4byte _08028210
- .4byte _08028216
- .4byte _0802821C
- .4byte _080281E0
- .4byte _080281F2
- .4byte _080281E6
- .4byte _080281EC
- .4byte _080281DA
- .4byte _080281D4
- .4byte _080281F8
- .4byte _080281CE
- .4byte _080281C2
- .4byte _080281AA
- .4byte _080281B0
- .4byte _080281B6
- .4byte _080281BC
- .4byte _080281C8
- .4byte _080281A4
- .4byte _0802819E
- .4byte _080282CA
- .4byte _08028192
- .4byte _08028198
- .4byte _0802818C
-_0802818C:
- bl sub_8029B34
- b _080282D4
-_08028192:
- bl sub_8029AD8
- b _080282D4
-_08028198:
- bl sub_8029AF4
- b _080282D4
-_0802819E:
- bl sub_8029A88
- b _080282D4
-_080281A4:
- bl sub_8029AB0
- b _080282D4
-_080281AA:
- bl sub_80297B8
- b _080282D4
-_080281B0:
- bl sub_80297D4
- b _080282D4
-_080281B6:
- bl sub_8029884
- b _080282D4
-_080281BC:
- bl sub_8029944
- b _080282D4
-_080281C2:
- bl sub_80299AC
- b _080282D4
-_080281C8:
- bl sub_80299D8
- b _080282D4
-_080281CE:
- bl sub_8029A6C
- b _080282D4
-_080281D4:
- bl sub_8029A18
- b _080282D4
-_080281DA:
- bl sub_80295A8
- b _080282D4
-_080281E0:
- bl sub_8029668
- b _080282D4
-_080281E6:
- bl sub_8029684
- b _080282D4
-_080281EC:
- bl sub_8029740
- b _080282D4
-_080281F2:
- bl sub_80295D8
- b _080282D4
-_080281F8:
- bl sub_802979C
- b _080282D4
-_080281FE:
- bl sub_8029358
- b _080282D4
-_08028204:
- bl sub_8029374
- b _080282D4
-_0802820A:
- bl sub_802939C
- b _080282D4
-_08028210:
- bl sub_80293D8
- b _080282D4
-_08028216:
- bl sub_80293F4
- b _080282D4
-_0802821C:
- bl sub_802955C
- b _080282D4
-_08028222:
- bl sub_80292A4
- b _080282D4
-_08028228:
- bl sub_80292EC
- b _080282D4
-_0802822E:
- bl sub_802933C
- b _080282D4
-_08028234:
- bl sub_802958C
- b _080282D4
-_0802823A:
- bl sub_8029208
- b _080282D4
-_08028240:
- movs r0, 0x1
- bl sub_8028DE8
- b _080282D4
-_08028248:
- bl sub_8028F80
- b _080282D4
-_0802824E:
- bl sub_8028FC0
- b _080282D4
-_08028254:
- bl sub_8028FDC
- b _080282D4
-_0802825A:
- bl sub_80290D4
- b _080282D4
-_08028260:
- bl sub_80290F0
- b _080282D4
-_08028266:
- bl sub_80291AC
- b _080282D4
-_0802826C:
- bl sub_8029044
- b _080282D4
-_08028272:
- bl sub_8028CFC
- b _080282D4
-_08028278:
- bl sub_8028D4C
- b _080282D4
-_0802827E:
- movs r0, 0xA
- bl sub_8028DE8
- b _080282D4
-_08028286:
- bl sub_8028E08
- b _080282D4
-_0802828C:
- movs r0, 0x19
- bl sub_8028DE8
- b _080282D4
-_08028294:
- bl sub_8028E24
- b _080282D4
-_0802829A:
- bl sub_8028E54
- b _080282D4
-_080282A0:
- bl sub_8028E84
- b _080282D4
-_080282A6:
- bl sub_8028EAC
- b _080282D4
-_080282AC:
- bl sub_8028ED4
- b _080282D4
-_080282B2:
- bl sub_8028F04
- b _080282D4
-_080282B8:
- bl sub_8028F30
- b _080282D4
-_080282BE:
- bl sub_8028F58
- b _080282D4
-_080282C4:
- bl sub_8028BF0
- b _080282D4
-_080282CA:
- bl sub_8028CE0
- b _080282D4
-_080282D0:
- movs r0, 0x3
- b _080282D6
-_080282D4:
- movs r0, 0
-_080282D6:
- pop {r1}
- bx r1
- thumb_func_end sub_8028078
-
- thumb_func_start sub_80282DC
-sub_80282DC:
- ldr r1, _080282F4
- ldr r1, [r1]
- movs r3, 0x86
- lsls r3, 2
- adds r2, r1, r3
- ldrb r2, [r2]
- strb r2, [r0]
- ldr r0, _080282F8
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_080282F4: .4byte gUnknown_203B2C0
-_080282F8: .4byte 0x0000053c
- thumb_func_end sub_80282DC
-
- thumb_func_start sub_80282FC
-sub_80282FC:
- push {r4,lr}
- ldr r4, _08028340
- ldr r0, [r4]
- cmp r0, 0
- beq _08028338
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- bl sub_8031E10
- bl sub_8023C60
- bl sub_803084C
- bl sub_80155F0
- bl sub_80310B4
- bl sub_8030DE4
- bl sub_802453C
-_08028338:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08028340: .4byte gUnknown_203B2C0
- thumb_func_end sub_80282FC
-
- thumb_func_start nullsub_130
-nullsub_130:
- bx lr
- thumb_func_end nullsub_130
-
- thumb_func_start sub_8028348
-sub_8028348:
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r1, _08028368
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r6, r1, 0
- cmp r0, 0x3C
- bls _0802835C
- bl _08028AF2
-_0802835C:
- lsls r0, 2
- ldr r1, _0802836C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08028368: .4byte gUnknown_203B2C0
-_0802836C: .4byte _08028370
- .align 2, 0
-_08028370:
- .4byte _08028A84
- .4byte _08028AB4
- .4byte _08028AE0
- .4byte _08028AF2
- .4byte _08028650
- .4byte _08028660
- .4byte _08028678
- .4byte _08028AF2
- .4byte _08028802
- .4byte _08028640
- .4byte _0802890C
- .4byte _08028948
- .4byte _08028988
- .4byte _08028978
- .4byte _080289A0
- .4byte _08028990
- .4byte _080289B8
- .4byte _080289B0
- .4byte _080289C8
- .4byte _080289E8
- .4byte _08028A48
- .4byte _08028A58
- .4byte _08028A68
- .4byte _080289F8
- .4byte _08028A08
- .4byte _08028A18
- .4byte _08028850
- .4byte _08028860
- .4byte _08028868
- .4byte _08028878
- .4byte _08028890
- .4byte _080288A0
- .4byte _080288C6
- .4byte _08028AF2
- .4byte _08028888
- .4byte _08028790
- .4byte _08028AF2
- .4byte _080287C4
- .4byte _080287D4
- .4byte _080287DC
- .4byte _08028AF2
- .4byte _080285CC
- .4byte _080285DC
- .4byte _080288C6
- .4byte _08028AF2
- .4byte _080285AC
- .4byte _08028610
- .4byte _080285F8
- .4byte _08028600
- .4byte _0802856C
- .4byte _080284F4
- .4byte _0802850C
- .4byte _08028532
- .4byte _08028AF2
- .4byte _0802859C
- .4byte _080284B8
- .4byte _080284A8
- .4byte _080284EC
- .4byte _080284A0
- .4byte _08028464
- .4byte _08028490
-_08028464:
- ldr r0, [r6]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 2
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8031D70
- b _08028AF2
-_08028490:
- ldr r0, _0802849C
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_0802849C: .4byte gUnknown_80DDBA8
-_080284A0:
- ldr r0, _080284A4
- b _08028A6A
- .align 2, 0
-_080284A4: .4byte gUnknown_80DDBFC
-_080284A8:
- ldr r0, _080284B4
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_080284B4: .4byte gUnknown_80DDC30
-_080284B8:
- ldr r0, [r6]
- ldr r2, _080284D0
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xE
- bne _080284C6
- b _08028AF2
-_080284C6:
- cmp r0, 0xE
- bhi _080284D4
- cmp r0, 0xD
- beq _080284DA
- b _08028AF2
- .align 2, 0
-_080284D0: .4byte 0x00000534
-_080284D4:
- cmp r0, 0x10
- bls _080284DA
- b _08028AF2
-_080284DA:
- ldr r0, _080284E8
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080284E8: .4byte gUnknown_80DDC70
-_080284EC:
- ldr r0, _080284F0
- b _08028A6A
- .align 2, 0
-_080284F0: .4byte gUnknown_80DDC30
-_080284F4:
- ldr r0, _08028504
- ldr r3, _08028508
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08028AF2
- .align 2, 0
-_08028504: .4byte gUnknown_80DDCBC
-_08028508: .4byte 0x00000101
-_0802850C:
- bl sub_8023CE8
- cmp r0, 0
- beq _08028516
- b _08028AF2
-_08028516:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_8023868
- b _08028AF2
-_08028532:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _08028564
- ldr r2, _08028568
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_8023DA4
- b _080288F6
- .align 2, 0
-_08028564: .4byte gUnknown_80DDAE4
-_08028568: .4byte gUnknown_80DDAFC
-_0802856C:
- ldr r0, _08028594
- ldr r3, _08028598
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028594: .4byte gUnknown_80DDD2C
-_08028598: .4byte gUnknown_80DDAA0
-_0802859C:
- ldr r0, _080285A4
- ldr r3, _080285A8
- b _08028A1C
- .align 2, 0
-_080285A4: .4byte gUnknown_80DDD88
-_080285A8: .4byte gUnknown_80DDA80
-_080285AC:
- ldr r0, _080285C4
- ldr r3, _080285C8
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- b _08028A2E
- .align 2, 0
-_080285C4: .4byte gUnknown_80DDDBC
-_080285C8: .4byte gUnknown_80DDA64
-_080285CC:
- ldr r0, _080285D8
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080285D8: .4byte gUnknown_80DDDD8
-_080285DC:
- bl sub_8030894
- cmp r0, 0
- beq _080285E6
- b _08028AF2
-_080285E6:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x4
- b _080288BA
-_080285F8:
- ldr r0, _080285FC
- b _08028A6A
- .align 2, 0
-_080285FC: .4byte gUnknown_80DDE20
-_08028600:
- ldr r0, _0802860C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_0802860C: .4byte gUnknown_80DDE58
-_08028610:
- ldr r0, _08028638
- ldr r3, _0802863C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x11
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028638: .4byte gUnknown_80DDEC0
-_0802863C: .4byte gUnknown_80DDB60
-_08028640:
- ldr r0, _0802864C
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_0802864C: .4byte gUnknown_80DDF2C
-_08028650:
- ldr r0, _08028658
- ldr r3, _0802865C
- b _08028A1C
- .align 2, 0
-_08028658: .4byte gUnknown_80DDFB8
-_0802865C: .4byte gUnknown_80DDA48
-_08028660:
- movs r0, 0
- bl nullsub_23
- ldr r0, _08028674
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- b _08028AF2
- .align 2, 0
-_08028674: .4byte gUnknown_80DE01C
-_08028678:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x44]
- bl sub_8011830
- ldr r0, [r6]
- ldr r0, [r0, 0x40]
- bl sub_8037B28
- adds r4, r0, 0
- ldr r0, [r6]
- str r4, [r0, 0x44]
- cmp r4, 0
- bne _0802878A
- ldr r1, [r0, 0x40]
- cmp r1, 0x3
- beq _080286A0
- cmp r1, 0x4
- beq _080286C2
- b _08028748
-_080286A0:
- adds r0, 0x48
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- adds r0, 0x78
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0x48
- adds r2, 0x78
- b _08028740
-_080286C2:
- adds r0, 0xA8
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r0, [r6]
- movs r5, 0x98
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xE0
- strh r4, [r0]
- movs r2, 0xB4
- lsls r2, 1
- adds r0, r1, r2
- strh r4, [r0]
- movs r3, 0x86
- lsls r3, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- bl sub_8095228
- ldr r1, [r6]
- adds r1, 0xA8
- 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}
- ldr r2, [r6]
- ldr r4, _08028760
- adds r3, r2, r4
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08028736
- adds r0, r2, 0
- adds r0, 0xD8
- ldr r1, _08028764
- ldr r1, [r1]
- movs r2, 0
- ldrsh r3, [r3, r2]
- movs r2, 0x58
- muls r2, r3
- adds r1, r2
- movs r2, 0x58
- bl memcpy
-_08028736:
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0xA8
- adds r2, r5
-_08028740:
- bl sub_8037D64
- ldr r1, [r6]
- str r0, [r1, 0x44]
-_08028748:
- ldr r4, _08028768
- ldr r2, [r4]
- ldr r0, [r2, 0x44]
- cmp r0, 0
- bne _0802878A
- ldr r0, [r2, 0x40]
- cmp r0, 0x3
- beq _0802876C
- cmp r0, 0x4
- beq _08028776
- b _0802878A
- .align 2, 0
-_08028760: .4byte 0x00000544
-_08028764: .4byte gUnknown_203B45C
-_08028768: .4byte gUnknown_203B2C0
-_0802876C:
- adds r1, r2, 0
- adds r1, 0x48
- adds r2, 0x78
- movs r0, 0x3
- b _08028782
-_08028776:
- adds r1, r2, 0
- adds r1, 0xA8
- movs r3, 0x98
- lsls r3, 1
- adds r2, r3
- movs r0, 0x4
-_08028782:
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0x44]
-_0802878A:
- bl sub_8011854
- b _08028AF2
-_08028790:
- ldr r0, [r6]
- ldr r4, _080287A8
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0xE
- bne _0802879E
- b _08028AF2
-_0802879E:
- cmp r0, 0xE
- bhi _080287AC
- cmp r0, 0xD
- beq _080287B2
- b _08028AF2
- .align 2, 0
-_080287A8: .4byte 0x00000534
-_080287AC:
- cmp r0, 0x10
- bls _080287B2
- b _08028AF2
-_080287B2:
- ldr r0, _080287C0
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_080287C0: .4byte gUnknown_80DE06C
-_080287C4:
- ldr r0, _080287D0
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080287D0: .4byte gUnknown_80DE0C0
-_080287D4:
- ldr r0, _080287D8
- b _08028A6A
- .align 2, 0
-_080287D8: .4byte gUnknown_80DE124
-_080287DC:
- ldr r0, [r6]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r6]
- adds r1, 0x8
- movs r0, 0x4
- bl sub_80151C0
- b _08028AF2
-_08028802:
- ldr r4, [r6]
- movs r2, 0xA7
- lsls r2, 3
- adds r0, r4, r2
- ldr r2, [r0]
- cmp r2, 0
- beq _08028816
- cmp r2, 0x2
- beq _08028824
- b _08028AF2
-_08028816:
- ldr r0, _0802881C
- ldr r3, _08028820
- b _0802882A
- .align 2, 0
-_0802881C: .4byte gUnknown_80DE178
-_08028820: .4byte gUnknown_80DDB24
-_08028824:
- ldr r0, _08028848
- ldr r3, _0802884C
- movs r2, 0
-_0802882A:
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r4, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xD
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028848: .4byte gUnknown_80DE1B4
-_0802884C: .4byte gUnknown_80DDB24
-_08028850:
- ldr r0, _0802885C
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_0802885C: .4byte gUnknown_80DE1E4
-_08028860:
- ldr r0, _08028864
- b _08028A6A
- .align 2, 0
-_08028864: .4byte gUnknown_80DE280
-_08028868:
- ldr r0, _08028874
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_08028874: .4byte gUnknown_80DE2B0
-_08028878:
- ldr r0, _08028884
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028884: .4byte gUnknown_80DE368
-_08028888:
- ldr r0, _0802888C
- b _08028A1A
- .align 2, 0
-_0802888C: .4byte gUnknown_80DDDBC
-_08028890:
- ldr r0, _0802889C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_0802889C: .4byte gUnknown_80DE430
-_080288A0:
- bl sub_8030894
- cmp r0, 0
- beq _080288AA
- b _08028AF2
-_080288AA:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x2
-_080288BA:
- movs r1, 0
- movs r2, 0
- movs r3, 0x6
- bl sub_80306A8
- b _08028AF2
-_080288C6:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _08028904
- ldr r2, _08028908
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_803092C
-_080288F6:
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- b _08028AF2
- .align 2, 0
-_08028904: .4byte gUnknown_80DDACC
-_08028908: .4byte gUnknown_80DDAFC
-_0802890C:
- bl sub_8095350
- ldr r1, _0802893C
- ldr r1, [r1]
- movs r3, 0xA8
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- movs r4, 0xA7
- lsls r4, 3
- adds r1, r4
- ldr r1, [r1]
- cmp r1, 0x6
- beq _08028940
- cmp r1, 0x6
- bls _0802892E
- b _08028AF2
-_0802892E:
- cmp r1, 0x5
- beq _08028934
- b _08028AF2
-_08028934:
- movs r0, 0x2
- bl sub_8030F58
- b _08028AF2
- .align 2, 0
-_0802893C: .4byte gUnknown_203B2C0
-_08028940:
- movs r0, 0x4
- bl sub_8030F58
- b _08028AF2
-_08028948:
- ldr r0, _08028970
- ldr r3, _08028974
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028970: .4byte gUnknown_80DE48C
-_08028974: .4byte gUnknown_80DD9EC
-_08028978:
- ldr r0, _08028984
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028984: .4byte gUnknown_80DE4B8
-_08028988:
- ldr r0, _0802898C
- b _08028A6A
- .align 2, 0
-_0802898C: .4byte gUnknown_80DE4F0
-_08028990:
- ldr r0, _0802899C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_0802899C: .4byte gUnknown_80DE524
-_080289A0:
- ldr r0, _080289AC
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_080289AC: .4byte gUnknown_80DE614
-_080289B0:
- ldr r0, _080289B4
- b _08028A6A
- .align 2, 0
-_080289B4: .4byte gUnknown_80DE648
-_080289B8:
- ldr r0, _080289C4
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_080289C4: .4byte gUnknown_80DE694
-_080289C8:
- ldr r0, _080289E0
- ldr r3, _080289E4
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- b _08028A2E
- .align 2, 0
-_080289E0: .4byte gUnknown_80DE6D4
-_080289E4: .4byte gUnknown_80DDA48
-_080289E8:
- ldr r0, _080289F0
- ldr r3, _080289F4
- b _08028A1C
- .align 2, 0
-_080289F0: .4byte gUnknown_80DE754
-_080289F4: .4byte gUnknown_80DDA48
-_080289F8:
- ldr r0, _08028A04
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_08028A04: .4byte gUnknown_80DE7B8
-_08028A08:
- ldr r0, _08028A14
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028A14: .4byte gUnknown_80DE7E8
-_08028A18:
- ldr r0, _08028A40
-_08028A1A:
- ldr r3, _08028A44
-_08028A1C:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r4, 0x84
- lsls r4, 3
- adds r1, r4
-_08028A2E:
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x8
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028A40: .4byte gUnknown_80DE808
-_08028A44: .4byte gUnknown_80DDA64
-_08028A48:
- ldr r0, _08028A54
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _08028A72
- .align 2, 0
-_08028A54: .4byte gUnknown_80DE830
-_08028A58:
- ldr r0, _08028A64
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _08028A72
- .align 2, 0
-_08028A64: .4byte gUnknown_80DE864
-_08028A68:
- ldr r0, _08028A7C
-_08028A6A:
- ldr r2, [r6]
- movs r4, 0x84
- lsls r4, 3
- adds r2, r4
-_08028A72:
- ldr r3, _08028A80
- movs r1, 0
- bl sub_80141B4
- b _08028AF2
- .align 2, 0
-_08028A7C: .4byte gUnknown_80DE7E8
-_08028A80: .4byte 0x0000010d
-_08028A84:
- ldr r0, _08028AAC
- ldr r3, _08028AB0
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028AAC: .4byte gUnknown_80DE8B4
-_08028AB0: .4byte gUnknown_80DD970
-_08028AB4:
- ldr r0, _08028AD8
- ldr r3, _08028ADC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r4, 0x84
- lsls r4, 3
- adds r1, r4
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _08028AF2
- .align 2, 0
-_08028AD8: .4byte gUnknown_80DE918
-_08028ADC: .4byte gUnknown_80DD970
-_08028AE0:
- ldr r0, _08028AFC
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08028B00
- movs r1, 0
- bl sub_80141B4
-_08028AF2:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08028AFC: .4byte gUnknown_80DE93C
-_08028B00: .4byte 0x0000010d
- thumb_func_end sub_8028348
-
- thumb_func_start sub_8028B04
-sub_8028B04:
- push {lr}
- ldr r1, _08028B18
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl nullsub_130
- bl sub_8028348
- pop {r0}
- bx r0
- .align 2, 0
-_08028B18: .4byte gUnknown_203B2C0
- thumb_func_end sub_8028B04
-
- thumb_func_start sub_8028B1C
-sub_8028B1C:
- push {lr}
- cmp r0, 0xF
- bhi _08028BE0
- lsls r0, 2
- ldr r1, _08028B2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08028B2C: .4byte _08028B30
- .align 2, 0
-_08028B30:
- .4byte _08028BE0
- .4byte _08028BA8
- .4byte _08028BA8
- .4byte _08028B70
- .4byte _08028B78
- .4byte _08028BA8
- .4byte _08028B80
- .4byte _08028B88
- .4byte _08028BE0
- .4byte _08028B90
- .4byte _08028BE0
- .4byte _08028B98
- .4byte _08028BE0
- .4byte _08028BA0
- .4byte _08028BA8
- .4byte _08028BCC
-_08028B70:
- ldr r0, _08028B74
- b _08028BAA
- .align 2, 0
-_08028B74: .4byte gUnknown_80DE98C
-_08028B78:
- ldr r0, _08028B7C
- b _08028BAA
- .align 2, 0
-_08028B7C: .4byte gUnknown_80DE9F0
-_08028B80:
- ldr r0, _08028B84
- b _08028BAA
- .align 2, 0
-_08028B84: .4byte gUnknown_80DEA58
-_08028B88:
- ldr r0, _08028B8C
- b _08028BAA
- .align 2, 0
-_08028B8C: .4byte gUnknown_80DEAB4
-_08028B90:
- ldr r0, _08028B94
- b _08028BAA
- .align 2, 0
-_08028B94: .4byte gUnknown_80DEB18
-_08028B98:
- ldr r0, _08028B9C
- b _08028BAA
- .align 2, 0
-_08028B9C: .4byte gUnknown_80DEB18
-_08028BA0:
- ldr r0, _08028BA4
- b _08028BAA
- .align 2, 0
-_08028BA4: .4byte gUnknown_80DEB54
-_08028BA8:
- ldr r0, _08028BC0
-_08028BAA:
- ldr r1, _08028BC4
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08028BC8
- movs r1, 0
- bl sub_80141B4
- b _08028BE0
- .align 2, 0
-_08028BC0: .4byte gUnknown_80DE954
-_08028BC4: .4byte gUnknown_203B2C0
-_08028BC8: .4byte 0x0000010d
-_08028BCC:
- ldr r0, _08028BE4
- ldr r1, _08028BE8
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08028BEC
- movs r1, 0
- bl sub_80141B4
-_08028BE0:
- pop {r0}
- bx r0
- .align 2, 0
-_08028BE4: .4byte gUnknown_80DEC00
-_08028BE8: .4byte gUnknown_203B2C0
-_08028BEC: .4byte 0x0000010d
- thumb_func_end sub_8028B1C
-
- thumb_func_start sub_8028BF0
-sub_8028BF0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028CDA
- ldr r2, _08028C20
- ldr r0, [r2]
- movs r1, 0x8
- str r1, [r0, 0x40]
- ldr r1, _08028C24
- adds r0, r1
- ldr r1, _08028C28
- strh r1, [r0]
- ldr r0, [sp]
- cmp r0, 0xA
- bhi _08028CDA
- lsls r0, 2
- ldr r1, _08028C2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08028C20: .4byte gUnknown_203B2C0
-_08028C24: .4byte 0x00000544
-_08028C28: .4byte 0x0000ffff
-_08028C2C: .4byte _08028C30
- .align 2, 0
-_08028C30:
- .4byte _08028C5C
- .4byte _08028C88
- .4byte _08028CA2
- .4byte _08028CCC
- .4byte _08028CDA
- .4byte _08028CDA
- .4byte _08028CDA
- .4byte _08028CDA
- .4byte _08028CDA
- .4byte _08028CDA
- .4byte _08028CD4
-_08028C5C:
- ldr r0, [r2]
- movs r1, 0x3
- str r1, [r0, 0x40]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- bl sub_8095190
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _08028C80
- movs r0, 0x8
- bl sub_8028B04
- b _08028CDA
-_08028C80:
- movs r0, 0x9
- bl sub_8028B04
- b _08028CDA
-_08028C88:
- movs r0, 0x2
- bl sub_8095324
- cmp r0, 0
- beq _08028C9A
- movs r0, 0x1E
- bl sub_8028B04
- b _08028CDA
-_08028C9A:
- movs r0, 0x1A
- bl sub_8028B04
- b _08028CDA
-_08028CA2:
- ldr r0, [r2]
- movs r1, 0x4
- str r1, [r0, 0x40]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2
- str r1, [r0]
- movs r0, 0x4
- bl sub_8095324
- cmp r0, 0
- beq _08028CC4
- movs r0, 0x29
- bl sub_8028B04
- b _08028CDA
-_08028CC4:
- movs r0, 0x2F
- bl sub_8028B04
- b _08028CDA
-_08028CCC:
- movs r0, 0xB
- bl sub_8028B04
- b _08028CDA
-_08028CD4:
- movs r0, 0x2
- bl sub_8028B04
-_08028CDA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028BF0
-
- thumb_func_start sub_8028CE0
-sub_8028CE0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028CF4
- movs r0, 0x3
- bl sub_8028B04
-_08028CF4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028CE0
-
- thumb_func_start sub_8028CFC
-sub_8028CFC:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028D42
- bl sub_8031050
- cmp r0, 0x3
- bhi _08028D42
- cmp r0, 0x2
- bcc _08028D42
- bl sub_8095350
- adds r4, r0, 0
- bl sub_80310B4
- ldr r0, _08028D38
- ldr r0, [r0]
- movs r1, 0xA8
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r4, r0
- beq _08028D3C
- movs r0, 0x17
- bl sub_8028B04
- b _08028D42
- .align 2, 0
-_08028D38: .4byte gUnknown_203B2C0
-_08028D3C:
- movs r0, 0x19
- bl sub_8028B04
-_08028D42:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028CFC
-
- thumb_func_start sub_8028D4C
-sub_8028D4C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028DE0
- ldr r0, _08028D78
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r1, [sp]
- str r1, [r0]
- cmp r1, 0x6
- beq _08028DA2
- cmp r1, 0x6
- bgt _08028D7C
- cmp r1, 0x5
- beq _08028D86
- b _08028DE0
- .align 2, 0
-_08028D78: .4byte gUnknown_203B2C0
-_08028D7C:
- cmp r1, 0x7
- beq _08028DBE
- cmp r1, 0xA
- beq _08028DDA
- b _08028DE0
-_08028D86:
- movs r0, 0x2
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _08028D9A
- movs r0, 0xC
- bl sub_8028B04
- b _08028DE0
-_08028D9A:
- movs r0, 0xD
- bl sub_8028B04
- b _08028DE0
-_08028DA2:
- movs r0, 0x4
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _08028DB6
- movs r0, 0xE
- bl sub_8028B04
- b _08028DE0
-_08028DB6:
- movs r0, 0xF
- bl sub_8028B04
- b _08028DE0
-_08028DBE:
- movs r0, 0
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _08028DD2
- movs r0, 0x10
- bl sub_8028B04
- b _08028DE0
-_08028DD2:
- movs r0, 0x11
- bl sub_8028B04
- b _08028DE0
-_08028DDA:
- movs r0, 0x1
- bl sub_8028B04
-_08028DE0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028D4C
-
- thumb_func_start sub_8028DE8
-sub_8028DE8:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028DFE
- adds r0, r4, 0
- bl sub_8028B04
-_08028DFE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028DE8
-
- thumb_func_start sub_8028E08
-sub_8028E08:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028E1C
- movs r0, 0x12
- bl sub_8028B04
-_08028E1C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028E08
-
- thumb_func_start sub_8028E24
-sub_8028E24:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028E4C
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08028E3E
- cmp r0, 0xA
- beq _08028E46
- b _08028E4C
-_08028E3E:
- movs r0, 0x13
- bl sub_8028B04
- b _08028E4C
-_08028E46:
- movs r0, 0x1
- bl sub_8028B04
-_08028E4C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028E24
-
- thumb_func_start sub_8028E54
-sub_8028E54:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028E7C
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08028E6E
- cmp r0, 0xA
- beq _08028E76
- b _08028E7C
-_08028E6E:
- movs r0, 0x14
- bl sub_8028B04
- b _08028E7C
-_08028E76:
- movs r0, 0x1
- bl sub_8028B04
-_08028E7C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028E54
-
- thumb_func_start sub_8028E84
-sub_8028E84:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028EA4
- movs r0, 0x18
- bl sub_8028B04
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_08028EA4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028E84
-
- thumb_func_start sub_8028EAC
-sub_8028EAC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028ECE
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08028ECE
- bl sub_8012750
- movs r0, 0x19
- bl sub_8028B04
-_08028ECE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028EAC
-
- thumb_func_start sub_8028ED4
-sub_8028ED4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028EFE
- ldr r0, [sp]
- cmp r0, 0x8
- bne _08028EF0
- movs r0, 0xB
- bl sub_8028B04
- b _08028EFE
-_08028EF0:
- cmp r0, 0x8
- blt _08028EFE
- cmp r0, 0xA
- bgt _08028EFE
- movs r0, 0x2
- bl sub_8028B04
-_08028EFE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028ED4
-
- thumb_func_start sub_8028F04
-sub_8028F04:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028F28
- movs r4, 0
-_08028F14:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8095240
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08028F14
- movs r0, 0x15
- bl sub_8028B04
-_08028F28:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028F04
-
- thumb_func_start sub_8028F30
-sub_8028F30:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028F50
- movs r0, 0x16
- bl sub_8028B04
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_08028F50:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028F30
-
- thumb_func_start sub_8028F58
-sub_8028F58:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028F7A
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08028F7A
- bl sub_8012750
- movs r0, 0x2
- bl sub_8028B04
-_08028F7A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028F58
-
- thumb_func_start sub_8028F80
-sub_8028F80:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028FAE
- ldr r4, _08028FB8
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_809927C
- ldr r0, [r4]
- ldr r1, _08028FBC
- adds r0, r1
- movs r1, 0x1
- str r1, [r0]
- movs r0, 0x3
- bl sub_8028B04
-_08028FAE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08028FB8: .4byte gUnknown_203B2C0
-_08028FBC: .4byte 0x0000053c
- thumb_func_end sub_8028F80
-
- thumb_func_start sub_8028FC0
-sub_8028FC0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08028FD4
- movs r0, 0x1
- bl sub_8028B04
-_08028FD4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8028FC0
-
- thumb_func_start sub_8028FDC
-sub_8028FDC:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802903C
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08028FFC
- cmp r0, 0x8
- blt _0802903C
- cmp r0, 0xA
- bgt _0802903C
- movs r0, 0x1
- b _08029038
-_08028FFC:
- ldr r0, _08029020
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8095228
- adds r4, r0, 0
- ldrb r0, [r4, 0x4]
- bl sub_80A2824
- lsls r0, 24
- cmp r0, 0
- bne _08029024
- movs r0, 0x1C
- b _08029038
- .align 2, 0
-_08029020: .4byte gUnknown_203B2C0
-_08029024:
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bgt _08029036
- movs r0, 0x1D
- b _08029038
-_08029036:
- movs r0, 0x1B
-_08029038:
- bl sub_8028B04
-_0802903C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8028FDC
-
- thumb_func_start sub_8029044
-sub_8029044:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _0802906C
- cmp r0, 0x3
- bhi _0802905A
- cmp r0, 0x2
- beq _08029060
- b _080290CA
-_0802905A:
- cmp r0, 0x4
- beq _08029088
- b _080290CA
-_08029060:
- bl sub_803084C
- movs r0, 0x1
- bl sub_8028B04
- b _080290CA
-_0802906C:
- bl sub_80307EC
- ldr r1, _08029084
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x20
- bl sub_8028B04
- b _080290CA
- .align 2, 0
-_08029084: .4byte gUnknown_203B2C0
-_08029088:
- ldr r4, _080290D0
- ldr r1, [r4]
- movs r0, 0x1F
- str r0, [r1]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x21
- bl sub_8028B04
-_080290CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080290D0: .4byte gUnknown_203B2C0
- thumb_func_end sub_8029044
-
- thumb_func_start sub_80290D4
-sub_80290D4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080290E8
- movs r0, 0x1F
- bl sub_8028B04
-_080290E8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80290D4
-
- thumb_func_start sub_80290F0
-sub_80290F0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _08029134
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08029122
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_08029122:
- ldr r0, [sp]
- cmp r0, 0xA
- beq _08029184
- cmp r0, 0xA
- bgt _08029138
- cmp r0, 0x4
- beq _08029184
- b _080291A0
- .align 2, 0
-_08029134: .4byte gUnknown_203B2C0
-_08029138:
- cmp r0, 0xB
- beq _08029142
- cmp r0, 0xC
- beq _0802914E
- b _080291A0
-_08029142:
- bl sub_803084C
- movs r0, 0x22
- bl sub_8028B04
- b _080291A0
-_0802914E:
- ldr r0, [r4]
- movs r1, 0x3D
- str r1, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x21
- bl sub_8028B04
- b _080291A0
-_08029184:
- ldr r0, _080291A8
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x1F
- bl sub_8028B04
-_080291A0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080291A8: .4byte gUnknown_203B2C0
- thumb_func_end sub_80290F0
-
- thumb_func_start sub_80291AC
-sub_80291AC:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _08029200
- cmp r0, 0x2
- bcc _08029200
- bl sub_8030DE4
- bl sub_8004914
- ldr r4, _080291F8
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4]
- cmp r0, 0x3D
- bne _080291FC
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x20
- bl sub_8028B04
- b _08029200
- .align 2, 0
-_080291F8: .4byte gUnknown_203B2C0
-_080291FC:
- bl sub_8028B04
-_08029200:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80291AC
-
- thumb_func_start sub_8029208
-sub_8029208:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802929E
- ldr r2, [sp]
- cmp r2, 0xE
- bgt _08029226
- cmp r2, 0xD
- bge _0802922C
- cmp r2, 0xA
- beq _08029298
- b _0802929E
-_08029226:
- cmp r2, 0xF
- beq _08029264
- b _0802929E
-_0802922C:
- ldr r0, _0802924C
- ldr r0, [r0]
- ldr r1, _08029250
- adds r2, r0, r1
- movs r1, 0xD
- str r1, [r2]
- movs r3, 0xA7
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0
- beq _08029254
- cmp r0, 0x2
- beq _0802925C
- b _0802929E
- .align 2, 0
-_0802924C: .4byte gUnknown_203B2C0
-_08029250: .4byte 0x00000534
-_08029254:
- movs r0, 0x4
- bl sub_8028B04
- b _0802929E
-_0802925C:
- movs r0, 0x30
- bl sub_8028B04
- b _0802929E
-_08029264:
- ldr r0, _08029280
- ldr r0, [r0]
- ldr r3, _08029284
- adds r1, r0, r3
- str r2, [r1]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08029288
- cmp r0, 0x2
- beq _08029290
- b _0802929E
- .align 2, 0
-_08029280: .4byte gUnknown_203B2C0
-_08029284: .4byte 0x00000534
-_08029288:
- movs r0, 0x26
- bl sub_8028B04
- b _0802929E
-_08029290:
- movs r0, 0x3A
- bl sub_8028B04
- b _0802929E
-_08029298:
- movs r0, 0x1
- bl sub_8028B04
-_0802929E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029208
-
- thumb_func_start sub_80292A4
-sub_80292A4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080292E6
- ldr r0, [sp]
- cmp r0, 0x8
- beq _080292BE
- cmp r0, 0xA
- beq _080292E0
- b _080292E6
-_080292BE:
- ldr r0, _080292DC
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080292D2
- cmp r0, 0x2
- bne _080292E6
-_080292D2:
- movs r0, 0x5
- bl sub_8028B04
- b _080292E6
- .align 2, 0
-_080292DC: .4byte gUnknown_203B2C0
-_080292E0:
- movs r0, 0x1
- bl sub_8028B04
-_080292E6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80292A4
-
- thumb_func_start sub_80292EC
-sub_80292EC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029336
- ldr r0, _08029318
- ldr r1, [r0]
- ldr r0, [r1, 0x44]
- cmp r0, 0
- bne _0802932C
- movs r2, 0xA7
- lsls r2, 3
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0802931C
- cmp r0, 0x2
- beq _08029324
- b _08029336
- .align 2, 0
-_08029318: .4byte gUnknown_203B2C0
-_0802931C:
- movs r0, 0x23
- bl sub_8028B04
- b _08029336
-_08029324:
- movs r0, 0x37
- bl sub_8028B04
- b _08029336
-_0802932C:
- bl sub_8028B1C
- movs r0, 0x7
- bl sub_8028B04
-_08029336:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80292EC
-
- thumb_func_start sub_802933C
-sub_802933C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029350
- movs r0, 0x1
- bl sub_8028B04
-_08029350:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802933C
-
- thumb_func_start sub_8029358
-sub_8029358:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802936C
- movs r0, 0x1
- bl sub_8028B04
-_0802936C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029358
-
- thumb_func_start sub_8029374
-sub_8029374:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029394
- movs r0, 0x24
- bl sub_8028B04
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_08029394:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029374
-
- thumb_func_start sub_802939C
-sub_802939C:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080293D0
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _080293D0
- bl sub_8012744
- adds r4, r0, 0
- bl sub_8012750
- cmp r4, 0
- bne _080293CA
- movs r0, 0x25
- bl sub_8028B04
- b _080293D0
-_080293CA:
- movs r0, 0x2
- bl sub_8028B04
-_080293D0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802939C
-
- thumb_func_start sub_80293D8
-sub_80293D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080293EC
- movs r0, 0x27
- bl sub_8028B04
-_080293EC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80293D8
-
- thumb_func_start sub_80293F4
-sub_80293F4:
- push {r4,lr}
- sub sp, 0x44
- bl sub_80154F0
- adds r4, r0, 0
- add r0, sp, 0x14
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- cmp r4, 0x2
- bne _0802940E
- b _08029530
-_0802940E:
- cmp r4, 0x3
- beq _08029414
- b _08029550
-_08029414:
- ldr r0, _08029434
- ldr r1, [r0]
- adds r1, 0x8
- movs r0, 0x1C
- add r2, sp, 0x14
- bl sub_8039068
- subs r0, 0x7
- cmp r0, 0x11
- bls _0802942A
- b _0802951C
-_0802942A:
- lsls r0, 2
- ldr r1, _08029438
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08029434: .4byte gUnknown_203B2C0
-_08029438: .4byte _0802943C
- .align 2, 0
-_0802943C:
- .4byte _080294C8
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _08029484
- .4byte _080294C0
- .4byte _0802951C
- .4byte _0802951C
- .4byte _0802951C
- .4byte _080294F0
- .4byte _0802951C
- .4byte _0802951C
-_08029484:
- ldr r0, _080294B4
- ldr r3, _080294B8
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, _080294BC
- ldr r1, [r1]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x8
- bl sub_8014248
- movs r0, 0x28
- bl sub_8028B04
- b _0802951C
- .align 2, 0
-_080294B4: .4byte gUnknown_80DEC70
-_080294B8: .4byte gUnknown_80DDA48
-_080294BC: .4byte gUnknown_203B2C0
-_080294C0:
- ldr r0, _080294C4
- b _080294CA
- .align 2, 0
-_080294C4: .4byte gUnknown_80DECC0
-_080294C8:
- ldr r0, _080294E4
-_080294CA:
- ldr r1, _080294E8
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _080294EC
- movs r1, 0
- bl sub_80141B4
- movs r0, 0x7
- bl sub_8028B04
- b _0802951C
- .align 2, 0
-_080294E4: .4byte gUnknown_80DEAB4
-_080294E8: .4byte gUnknown_203B2C0
-_080294EC: .4byte 0x0000010d
-_080294F0:
- ldr r0, [sp, 0x24]
- bl sub_8095274
- add r1, sp, 0x14
- movs r0, 0x2
- strb r0, [r1]
- adds r0, r1, 0
- bl sub_80951BC
- ldr r0, _08029524
- ldr r1, _08029528
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _0802952C
- movs r1, 0
- bl sub_80141B4
- movs r0, 0x23
- bl sub_8028B04
-_0802951C:
- bl sub_80155F0
- b _08029550
- .align 2, 0
-_08029524: .4byte gUnknown_80DECFC
-_08029528: .4byte gUnknown_203B2C0
-_0802952C: .4byte 0x00000101
-_08029530:
- bl sub_80155F0
- bl sub_8004914
- ldr r0, _08029558
- ldr r0, [r0]
- movs r2, 0xEF
- lsls r2, 2
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_8028B04
-_08029550:
- add sp, 0x44
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08029558: .4byte gUnknown_203B2C0
- thumb_func_end sub_80293F4
-
- thumb_func_start sub_802955C
-sub_802955C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029584
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08029576
- cmp r0, 0xA
- beq _0802957E
- b _08029584
-_08029576:
- movs r0, 0x26
- bl sub_8028B04
- b _08029584
-_0802957E:
- movs r0, 0x1
- bl sub_8028B04
-_08029584:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802955C
-
- thumb_func_start sub_802958C
-sub_802958C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080295A0
- movs r0, 0x6
- bl sub_8028B04
-_080295A0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802958C
-
- thumb_func_start sub_80295A8
-sub_80295A8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080295D2
- ldr r0, [sp]
- cmp r0, 0x8
- bne _080295C4
- movs r0, 0x8
- bl sub_8028B04
- b _080295D2
-_080295C4:
- cmp r0, 0x8
- blt _080295D2
- cmp r0, 0xA
- bgt _080295D2
- movs r0, 0x1
- bl sub_8028B04
-_080295D2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80295A8
-
- thumb_func_start sub_80295D8
-sub_80295D8:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _08029600
- cmp r0, 0x3
- bhi _080295EE
- cmp r0, 0x2
- beq _080295F4
- b _0802965E
-_080295EE:
- cmp r0, 0x4
- beq _0802961C
- b _0802965E
-_080295F4:
- bl sub_803084C
- movs r0, 0x1
- bl sub_8028B04
- b _0802965E
-_08029600:
- bl sub_80307EC
- ldr r1, _08029618
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x2B
- bl sub_8028B04
- b _0802965E
- .align 2, 0
-_08029618: .4byte gUnknown_203B2C0
-_0802961C:
- ldr r4, _08029664
- ldr r1, [r4]
- movs r0, 0x2A
- str r0, [r1]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x2C
- bl sub_8028B04
-_0802965E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08029664: .4byte gUnknown_203B2C0
- thumb_func_end sub_80295D8
-
- thumb_func_start sub_8029668
-sub_8029668:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802967C
- movs r0, 0x2A
- bl sub_8028B04
-_0802967C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029668
-
- thumb_func_start sub_8029684
-sub_8029684:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _080296C8
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080296B6
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_080296B6:
- ldr r0, [sp]
- cmp r0, 0xA
- beq _08029718
- cmp r0, 0xA
- bgt _080296CC
- cmp r0, 0x4
- beq _08029718
- b _08029734
- .align 2, 0
-_080296C8: .4byte gUnknown_203B2C0
-_080296CC:
- cmp r0, 0xB
- beq _080296D6
- cmp r0, 0xC
- beq _080296E2
- b _08029734
-_080296D6:
- bl sub_803084C
- movs r0, 0x2D
- bl sub_8028B04
- b _08029734
-_080296E2:
- ldr r0, [r4]
- movs r1, 0x3D
- str r1, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x2C
- bl sub_8028B04
- b _08029734
-_08029718:
- ldr r0, _0802973C
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x2A
- bl sub_8028B04
-_08029734:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802973C: .4byte gUnknown_203B2C0
- thumb_func_end sub_8029684
-
- thumb_func_start sub_8029740
-sub_8029740:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _08029794
- cmp r0, 0x2
- bcc _08029794
- bl sub_8030DE4
- bl sub_8004914
- ldr r4, _0802978C
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4]
- cmp r0, 0x3D
- bne _08029790
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x2B
- bl sub_8028B04
- b _08029794
- .align 2, 0
-_0802978C: .4byte gUnknown_203B2C0
-_08029790:
- bl sub_8028B04
-_08029794:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8029740
-
- thumb_func_start sub_802979C
-sub_802979C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080297B0
- movs r0, 0x1
- bl sub_8028B04
-_080297B0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802979C
-
- thumb_func_start sub_80297B8
-sub_80297B8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080297CC
- movs r0, 0x33
- bl sub_8028B04
-_080297CC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80297B8
-
- thumb_func_start sub_80297D4
-sub_80297D4:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x3
- beq _08029814
- cmp r0, 0x3
- bhi _080297EA
- cmp r0, 0x2
- beq _080297F0
- b _08029876
-_080297EA:
- cmp r0, 0x4
- beq _08029834
- b _08029876
-_080297F0:
- bl sub_8023C60
- movs r0, 0x1
- bl sub_8028B04
- ldr r0, _08029808
- ldr r0, [r0]
- ldr r1, _0802980C
- adds r0, r1
- ldr r1, _08029810
- strh r1, [r0]
- b _08029876
- .align 2, 0
-_08029808: .4byte gUnknown_203B2C0
-_0802980C: .4byte 0x00000544
-_08029810: .4byte 0x0000ffff
-_08029814:
- bl sub_8023B44
- ldr r1, _0802982C
- ldr r1, [r1]
- ldr r2, _08029830
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x34
- bl sub_8028B04
- b _08029876
- .align 2, 0
-_0802982C: .4byte gUnknown_203B2C0
-_08029830: .4byte 0x00000544
-_08029834:
- ldr r4, _0802987C
- ldr r1, [r4]
- movs r0, 0x33
- str r0, [r1]
- bl sub_8023B44
- adds r2, r0, 0
- ldr r0, [r4]
- ldr r5, _08029880
- adds r1, r0, r5
- strh r2, [r1]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0
- bl sub_8024458
- movs r0, 0x35
- bl sub_8028B04
-_08029876:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802987C: .4byte gUnknown_203B2C0
-_08029880: .4byte 0x00000544
- thumb_func_end sub_80297D4
-
- thumb_func_start sub_8029884
-sub_8029884:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8023A94
- ldr r4, _080298C8
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080298B6
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_080298B6:
- ldr r0, [sp]
- cmp r0, 0xA
- beq _0802991C
- cmp r0, 0xA
- bgt _080298CC
- cmp r0, 0x4
- beq _0802991C
- b _08029938
- .align 2, 0
-_080298C8: .4byte gUnknown_203B2C0
-_080298CC:
- cmp r0, 0xB
- beq _080298D6
- cmp r0, 0xC
- beq _080298E2
- b _08029938
-_080298D6:
- bl sub_8023C60
- movs r0, 0x4
- bl sub_8028B04
- b _08029938
-_080298E2:
- ldr r0, [r4]
- movs r1, 0x3D
- str r1, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r1, _08029918
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0
- bl sub_8024458
- movs r0, 0x35
- bl sub_8028B04
- b _08029938
- .align 2, 0
-_08029918: .4byte 0x00000544
-_0802991C:
- ldr r0, _08029940
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8023B7C
- movs r0, 0x33
- bl sub_8028B04
-_08029938:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08029940: .4byte gUnknown_203B2C0
- thumb_func_end sub_8029884
-
- thumb_func_start sub_8029944
-sub_8029944:
- push {r4,lr}
- bl sub_80244E4
- cmp r0, 0x1
- bne _08029954
- bl sub_802452C
- b _080299A4
-_08029954:
- cmp r0, 0x1
- bcc _080299A4
- cmp r0, 0x3
- bhi _080299A4
- bl sub_802453C
- bl sub_8004914
- ldr r4, _0802999C
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_8023B7C
- ldr r4, [r4]
- ldr r0, [r4]
- cmp r0, 0x3D
- bne _080299A0
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x34
- bl sub_8028B04
- b _080299A4
- .align 2, 0
-_0802999C: .4byte gUnknown_203B2C0
-_080299A0:
- bl sub_8028B04
-_080299A4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8029944
-
- thumb_func_start sub_80299AC
-sub_80299AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080299D2
- ldr r0, [sp]
- cmp r0, 0xA
- beq _080299CC
- cmp r0, 0x12
- bne _080299D2
- movs r0, 0x4
- bl sub_8028B04
- b _080299D2
-_080299CC:
- movs r0, 0x1
- bl sub_8028B04
-_080299D2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80299AC
-
- thumb_func_start sub_80299D8
-sub_80299D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029A12
- ldr r0, [sp]
- cmp r0, 0x9
- beq _08029A04
- cmp r0, 0x9
- bgt _080299F6
- cmp r0, 0x8
- beq _080299FC
- b _08029A12
-_080299F6:
- cmp r0, 0xA
- beq _08029A0C
- b _08029A12
-_080299FC:
- movs r0, 0x4
- bl sub_8028B04
- b _08029A12
-_08029A04:
- movs r0, 0x32
- bl sub_8028B04
- b _08029A12
-_08029A0C:
- movs r0, 0x1
- bl sub_8028B04
-_08029A12:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80299D8
-
- thumb_func_start sub_8029A18
-sub_8029A18:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029A66
- ldr r0, [sp]
- cmp r0, 0x11
- beq _08029A3C
- cmp r0, 0x11
- bgt _08029A36
- cmp r0, 0xA
- beq _08029A60
- b _08029A66
-_08029A36:
- cmp r0, 0x12
- beq _08029A58
- b _08029A66
-_08029A3C:
- movs r0, 0x3
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _08029A50
- movs r0, 0x31
- bl sub_8028B04
- b _08029A66
-_08029A50:
- movs r0, 0x32
- bl sub_8028B04
- b _08029A66
-_08029A58:
- movs r0, 0x4
- bl sub_8028B04
- b _08029A66
-_08029A60:
- movs r0, 0x1
- bl sub_8028B04
-_08029A66:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029A18
-
- thumb_func_start sub_8029A6C
-sub_8029A6C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029A80
- movs r0, 0x2E
- bl sub_8028B04
-_08029A80:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029A6C
-
- thumb_func_start sub_8029A88
-sub_8029A88:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029AAA
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08029AAA
- bl sub_8012750
- movs r0, 0x39
- bl sub_8028B04
-_08029AAA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029A88
-
- thumb_func_start sub_8029AB0
-sub_8029AB0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029AD0
- movs r0, 0x38
- bl sub_8028B04
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_08029AD0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029AB0
-
- thumb_func_start sub_8029AD8
-sub_8029AD8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029AEC
- movs r0, 0x3B
- bl sub_8028B04
-_08029AEC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029AD8
-
- thumb_func_start sub_8029AF4
-sub_8029AF4:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _08029B2C
- cmp r0, 0x1
- bcc _08029B30
- cmp r0, 0x3
- bhi _08029B30
- bl sub_8031E10
- bl sub_8004914
- ldr r0, _08029B28
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x3C
- bl sub_8028B04
- b _08029B30
- .align 2, 0
-_08029B28: .4byte gUnknown_203B2C0
-_08029B2C:
- bl sub_8031E00
-_08029B30:
- pop {r0}
- bx r0
- thumb_func_end sub_8029AF4
-
- thumb_func_start sub_8029B34
-sub_8029B34:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029B48
- movs r0, 0x3
- bl sub_8028B04
-_08029B48:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029B34
-
- thumb_func_start sub_8029B50
-sub_8029B50:
- push {r4,r5,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08029C3C
- ldr r4, _08029C40
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
- ldr r0, _08029C44
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _08029C48
- bl strcpy
- adds r0, r4, 0
- bl sub_808DDD0
- ldr r2, [r5]
- movs r3, 0x84
- lsls r3, 3
- adds r1, r2, r3
- str r0, [r1]
- adds r3, 0x4
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- ldr r0, _08029C4C
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- ldr r0, [r5]
- ldr r2, _08029C50
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r3, 0xA
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r5]
- movs r0, 0x85
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r2, _08029C54
- adds r1, r2
- movs r0, 0x8
- strh r0, [r1]
- movs r1, 0
- movs r2, 0
-_08029BD8:
- ldr r0, [r5]
- adds r0, 0x8
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x35
- ble _08029BD8
- ldr r5, _08029C3C
- ldr r1, [r5]
- ldr r3, _08029C58
- adds r2, r1, r3
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0xA7
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x6
- bl sub_80953D4
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08029C60
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8095228
- ldr r1, [r5]
- ldr r2, _08029C5C
- adds r3, r1, r2
- ldr r2, [r0, 0x20]
- str r2, [r3]
- movs r3, 0x86
- lsls r3, 2
- adds r1, r3
- strb r4, [r1]
- ldr r1, [r5]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- ldr r0, [r0, 0x10]
- str r0, [r1]
- movs r0, 0x5
- bl sub_802B2BC
- b _08029C7C
- .align 2, 0
-_08029C3C: .4byte gUnknown_203B2C4
-_08029C40: .4byte 0x00000564
-_08029C44: .4byte gUnknown_202E5D8
-_08029C48: .4byte gUnknown_202DF98
-_08029C4C: .4byte 0x0000042c
-_08029C50: .4byte 0x0000042d
-_08029C54: .4byte 0x0000042a
-_08029C58: .4byte 0x00000534
-_08029C5C: .4byte 0x0000041c
-_08029C60:
- ldr r1, [r5]
- ldr r3, _08029C8C
- adds r2, r1, r3
- ldr r0, _08029C90
- ldr r0, [r0]
- str r0, [r2]
- movs r0, 0x86
- lsls r0, 2
- adds r1, r0
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0
- bl sub_802B2BC
-_08029C7C:
- ldr r0, _08029C94
- ldr r1, [r0]
- movs r0, 0x2B
- str r0, [r1, 0x4]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08029C8C: .4byte 0x0000041c
-_08029C90: .4byte gUnknown_80DED44
-_08029C94: .4byte gUnknown_203B2C4
- thumb_func_end sub_8029B50
-
- thumb_func_start sub_8029C98
-sub_8029C98:
- push {lr}
- ldr r0, _08029CB0
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x2A
- bls _08029CA6
- b _08029E58
-_08029CA6:
- lsls r0, 2
- ldr r1, _08029CB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08029CB0: .4byte gUnknown_203B2C4
-_08029CB4: .4byte _08029CB8
- .align 2, 0
-_08029CB8:
- .4byte _08029E48
- .4byte _08029E48
- .4byte _08029E4E
- .4byte _08029E54
- .4byte _08029E42
- .4byte _08029D64
- .4byte _08029E3C
- .4byte _08029E30
- .4byte _08029E36
- .4byte _08029E2A
- .4byte _08029E24
- .4byte _08029E1E
- .4byte _08029E0C
- .4byte _08029E06
- .4byte _08029D76
- .4byte _08029D7C
- .4byte _08029D8E
- .4byte _08029D82
- .4byte _08029D88
- .4byte _08029D94
- .4byte _08029D9A
- .4byte _08029DA0
- .4byte _08029DE8
- .4byte _08029DF4
- .4byte _08029DEE
- .4byte _08029DB2
- .4byte _08029DB8
- .4byte _08029DAC
- .4byte _08029DA6
- .4byte _08029DFA
- .4byte _08029D6A
- .4byte _08029D70
- .4byte _08029E00
- .4byte _08029DDC
- .4byte _08029DE2
- .4byte _08029E58
- .4byte _08029DD6
- .4byte _08029DD0
- .4byte _08029DC4
- .4byte _08029DCA
- .4byte _08029DBE
- .4byte _08029E12
- .4byte _08029E18
-_08029D64:
- bl sub_802AB7C
- b _08029E58
-_08029D6A:
- bl sub_8029F98
- b _08029E58
-_08029D70:
- bl sub_8029EA8
- b _08029E58
-_08029D76:
- bl sub_802A090
- b _08029E58
-_08029D7C:
- bl sub_802A158
- b _08029E58
-_08029D82:
- bl sub_802A174
- b _08029E58
-_08029D88:
- bl sub_802A230
- b _08029E58
-_08029D8E:
- bl sub_802A0C8
- b _08029E58
-_08029D94:
- bl sub_802A28C
- b _08029E58
-_08029D9A:
- bl sub_802A39C
- b _08029E58
-_08029DA0:
- bl sub_802A33C
- b _08029E58
-_08029DA6:
- bl sub_802A458
- b _08029E58
-_08029DAC:
- bl sub_802A4AC
- b _08029E58
-_08029DB2:
- bl sub_802A4D4
- b _08029E58
-_08029DB8:
- bl sub_802A050
- b _08029E58
-_08029DBE:
- bl sub_802A9FC
- b _08029E58
-_08029DC4:
- bl sub_802A4F0
- b _08029E58
-_08029DCA:
- bl sub_802A50C
- b _08029E58
-_08029DD0:
- bl sub_802A6B4
- b _08029E58
-_08029DD6:
- bl sub_802A718
- b _08029E58
-_08029DDC:
- bl sub_802AB60
- b _08029E58
-_08029DE2:
- bl sub_802AB98
- b _08029E58
-_08029DE8:
- bl sub_802A740
- b _08029E58
-_08029DEE:
- bl sub_802A68C
- b _08029E58
-_08029DF4:
- bl sub_802A6F0
- b _08029E58
-_08029DFA:
- bl sub_802A75C
- b _08029E58
-_08029E00:
- bl sub_802A490
- b _08029E58
-_08029E06:
- bl sub_802A474
- b _08029E58
-_08029E0C:
- bl sub_802A798
- b _08029E58
-_08029E12:
- bl sub_802A828
- b _08029E58
-_08029E18:
- bl sub_802A850
- b _08029E58
-_08029E1E:
- bl sub_802A8A0
- b _08029E58
-_08029E24:
- bl sub_802A8BC
- b _08029E58
-_08029E2A:
- bl sub_802A910
- b _08029E58
-_08029E30:
- bl sub_802A98C
- b _08029E58
-_08029E36:
- bl sub_802A9A8
- b _08029E58
-_08029E3C:
- bl sub_802AA28
- b _08029E58
-_08029E42:
- bl sub_802AAAC
- b _08029E58
-_08029E48:
- bl sub_802AAE4
- b _08029E58
-_08029E4E:
- bl sub_802AAC8
- b _08029E58
-_08029E54:
- movs r0, 0x3
- b _08029E5A
-_08029E58:
- movs r0, 0
-_08029E5A:
- pop {r1}
- bx r1
- thumb_func_end sub_8029C98
-
- thumb_func_start sub_8029E60
-sub_8029E60:
- push {r4,lr}
- ldr r4, _08029EA4
- ldr r0, [r4]
- cmp r0, 0
- beq _08029E9C
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- bl sub_8030DE4
- bl sub_801B450
- bl sub_803084C
- bl sub_801CBB8
- bl sub_80155F0
- bl sub_8031E10
- bl sub_802F2C0
-_08029E9C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08029EA4: .4byte gUnknown_203B2C4
- thumb_func_end sub_8029E60
-
- thumb_func_start sub_8029EA8
-sub_8029EA8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08029EBC
- movs r0, 0x1
- bl sub_802B2BC
-_08029EBC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8029EA8
-
- thumb_func_start sub_8029EC4
-sub_8029EC4:
- push {lr}
- cmp r0, 0xF
- bhi _08029F88
- lsls r0, 2
- ldr r1, _08029ED4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08029ED4: .4byte _08029ED8
- .align 2, 0
-_08029ED8:
- .4byte _08029F88
- .4byte _08029F50
- .4byte _08029F50
- .4byte _08029F18
- .4byte _08029F20
- .4byte _08029F50
- .4byte _08029F28
- .4byte _08029F30
- .4byte _08029F88
- .4byte _08029F38
- .4byte _08029F88
- .4byte _08029F40
- .4byte _08029F88
- .4byte _08029F48
- .4byte _08029F50
- .4byte _08029F74
-_08029F18:
- ldr r0, _08029F1C
- b _08029F52
- .align 2, 0
-_08029F1C: .4byte gUnknown_80DEF28
-_08029F20:
- ldr r0, _08029F24
- b _08029F52
- .align 2, 0
-_08029F24: .4byte gUnknown_80DEF80
-_08029F28:
- ldr r0, _08029F2C
- b _08029F52
- .align 2, 0
-_08029F2C: .4byte gUnknown_80DEFDC
-_08029F30:
- ldr r0, _08029F34
- b _08029F52
- .align 2, 0
-_08029F34: .4byte gUnknown_80DF044
-_08029F38:
- ldr r0, _08029F3C
- b _08029F52
- .align 2, 0
-_08029F3C: .4byte gUnknown_80DF0A0
-_08029F40:
- ldr r0, _08029F44
- b _08029F52
- .align 2, 0
-_08029F44: .4byte gUnknown_80DF0A0
-_08029F48:
- ldr r0, _08029F4C
- b _08029F52
- .align 2, 0
-_08029F4C: .4byte gUnknown_80DF0E0
-_08029F50:
- ldr r0, _08029F68
-_08029F52:
- ldr r1, _08029F6C
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08029F70
- movs r1, 0
- bl sub_80141B4
- b _08029F88
- .align 2, 0
-_08029F68: .4byte gUnknown_80DEF04
-_08029F6C: .4byte gUnknown_203B2C4
-_08029F70: .4byte 0x0000010d
-_08029F74:
- ldr r0, _08029F8C
- ldr r1, _08029F90
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _08029F94
- movs r1, 0
- bl sub_80141B4
-_08029F88:
- pop {r0}
- bx r0
- .align 2, 0
-_08029F8C: .4byte gUnknown_80DF138
-_08029F90: .4byte gUnknown_203B2C4
-_08029F94: .4byte 0x0000010d
- thumb_func_end sub_8029EC4
-
- thumb_func_start sub_8029F98
-sub_8029F98:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- adds r6, r0, 0
- cmp r6, 0
- bne _0802A048
- ldr r4, _08029FE4
- ldr r0, [r4]
- ldr r5, _08029FE8
- adds r0, r5
- movs r1, 0
- movs r2, 0x4
- bl MemoryFill8
- ldr r0, [r4]
- ldr r1, _08029FEC
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- subs r1, 0x1
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r5
- strb r6, [r0]
- ldr r0, [r4]
- ldr r1, [r0, 0x44]
- cmp r1, 0
- bne _0802A03C
- ldr r1, [r0, 0x40]
- cmp r1, 0x6
- beq _08029FF0
- cmp r1, 0x7
- beq _0802A034
- b _0802A048
- .align 2, 0
-_08029FE4: .4byte gUnknown_203B2C4
-_08029FE8: .4byte 0x0000041c
-_08029FEC: .4byte 0x0000041e
-_08029FF0:
- ldr r1, _0802A004
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- beq _0802A020
- cmp r0, 0x4
- bgt _0802A008
- cmp r0, 0x3
- beq _0802A00C
- b _0802A020
- .align 2, 0
-_0802A004: .4byte 0x00000534
-_0802A008:
- cmp r0, 0x6
- bgt _0802A020
-_0802A00C:
- ldr r0, _0802A028
- ldr r1, _0802A02C
- ldr r2, [r1]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- ldr r3, _0802A030
- movs r1, 0
- bl sub_80141B4
-_0802A020:
- movs r0, 0xD
- bl sub_802B2BC
- b _0802A048
- .align 2, 0
-_0802A028: .4byte gUnknown_80DF194
-_0802A02C: .4byte gUnknown_203B2C4
-_0802A030: .4byte 0x0000010d
-_0802A034:
- movs r0, 0x21
- bl sub_802B2BC
- b _0802A048
-_0802A03C:
- adds r0, r1, 0
- bl sub_8029EC4
- movs r0, 0x1F
- bl sub_802B2BC
-_0802A048:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8029F98
-
- thumb_func_start sub_802A050
-sub_802A050:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _0802A088
- cmp r0, 0x1
- bcc _0802A08C
- cmp r0, 0x3
- bhi _0802A08C
- bl sub_8031E10
- bl sub_8004914
- ldr r0, _0802A084
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1B
- bl sub_802B2BC
- b _0802A08C
- .align 2, 0
-_0802A084: .4byte gUnknown_203B2C4
-_0802A088:
- bl sub_8031E00
-_0802A08C:
- pop {r0}
- bx r0
- thumb_func_end sub_802A050
-
- thumb_func_start sub_802A090
-sub_802A090:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A0C2
- ldr r0, [sp]
- cmp r0, 0x7
- beq _0802A0B4
- cmp r0, 0x7
- bgt _0802A0AE
- cmp r0, 0
- beq _0802A0BC
- b _0802A0C2
-_0802A0AE:
- cmp r0, 0x8
- beq _0802A0BC
- b _0802A0C2
-_0802A0B4:
- movs r0, 0x6
- bl sub_802B2BC
- b _0802A0C2
-_0802A0BC:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A0C2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A090
-
- thumb_func_start sub_802A0C8
-sub_802A0C8:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _0802A0F0
- cmp r0, 0x3
- bhi _0802A0DE
- cmp r0, 0x2
- beq _0802A0E4
- b _0802A14E
-_0802A0DE:
- cmp r0, 0x4
- beq _0802A10C
- b _0802A14E
-_0802A0E4:
- bl sub_803084C
- movs r0, 0x1
- bl sub_802B2BC
- b _0802A14E
-_0802A0F0:
- bl sub_80307EC
- ldr r1, _0802A108
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x11
- bl sub_802B2BC
- b _0802A14E
- .align 2, 0
-_0802A108: .4byte gUnknown_203B2C4
-_0802A10C:
- ldr r4, _0802A154
- ldr r1, [r4]
- movs r0, 0x10
- str r0, [r1, 0x4]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x12
- bl sub_802B2BC
-_0802A14E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802A154: .4byte gUnknown_203B2C4
- thumb_func_end sub_802A0C8
-
- thumb_func_start sub_802A158
-sub_802A158:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A16C
- movs r0, 0x10
- bl sub_802B2BC
-_0802A16C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A158
-
- thumb_func_start sub_802A174
-sub_802A174:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _0802A1B8
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802A1A6
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_0802A1A6:
- ldr r0, [sp]
- cmp r0, 0xB
- beq _0802A1C6
- cmp r0, 0xB
- bgt _0802A1BC
- cmp r0, 0
- beq _0802A208
- b _0802A224
- .align 2, 0
-_0802A1B8: .4byte gUnknown_203B2C4
-_0802A1BC:
- cmp r0, 0xC
- beq _0802A1D2
- cmp r0, 0xD
- beq _0802A208
- b _0802A224
-_0802A1C6:
- bl sub_803084C
- movs r0, 0xE
- bl sub_802B2BC
- b _0802A224
-_0802A1D2:
- ldr r0, [r4]
- movs r1, 0x2B
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x12
- bl sub_802B2BC
- b _0802A224
-_0802A208:
- ldr r0, _0802A22C
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x10
- bl sub_802B2BC
-_0802A224:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802A22C: .4byte gUnknown_203B2C4
- thumb_func_end sub_802A174
-
- thumb_func_start sub_802A230
-sub_802A230:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _0802A284
- cmp r0, 0x2
- bcc _0802A284
- bl sub_8030DE4
- bl sub_8004914
- ldr r4, _0802A27C
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x2B
- bne _0802A280
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x11
- bl sub_802B2BC
- b _0802A284
- .align 2, 0
-_0802A27C: .4byte gUnknown_203B2C4
-_0802A280:
- bl sub_802B2BC
-_0802A284:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802A230
-
- thumb_func_start sub_802A28C
-sub_802A28C:
- push {r4-r6,lr}
- ldr r4, _0802A2C0
- ldr r0, [r4]
- ldr r5, _0802A2C4
- adds r0, r5
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- ldr r1, _0802A2C8
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r6, _0802A2CC
- adds r0, r6
- strb r2, [r0]
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x3
- beq _0802A2E2
- cmp r0, 0x3
- bhi _0802A2D0
- cmp r0, 0x2
- beq _0802A2D6
- b _0802A334
- .align 2, 0
-_0802A2C0: .4byte gUnknown_203B2C4
-_0802A2C4: .4byte 0x0000041e
-_0802A2C8: .4byte 0x0000041d
-_0802A2CC: .4byte 0x0000041c
-_0802A2D0:
- cmp r0, 0x4
- beq _0802A2FC
- b _0802A334
-_0802A2D6:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_802B2BC
- b _0802A334
-_0802A2E2:
- bl sub_801CB24
- ldr r1, [r4]
- ldr r2, _0802A2F8
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x14
- bl sub_802B2BC
- b _0802A334
- .align 2, 0
-_0802A2F8: .4byte 0x0000041e
-_0802A2FC:
- ldr r1, [r4]
- movs r0, 0x13
- str r0, [r1, 0x4]
- bl sub_801CB24
- ldr r1, [r4]
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r6
- bl sub_801B3C0
- movs r0, 0x15
- bl sub_802B2BC
-_0802A334:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802A28C
-
- thumb_func_start sub_802A33C
-sub_802A33C:
- push {r4,lr}
- bl sub_801B410
- cmp r0, 0x1
- beq _0802A394
- cmp r0, 0x1
- bcc _0802A394
- cmp r0, 0x3
- bhi _0802A394
- bl sub_801B450
- bl sub_8004914
- ldr r4, _0802A38C
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_801CB5C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x2B
- bne _0802A390
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x14
- bl sub_802B2BC
- b _0802A394
- .align 2, 0
-_0802A38C: .4byte gUnknown_203B2C4
-_0802A390:
- bl sub_802B2BC
-_0802A394:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802A33C
-
- thumb_func_start sub_802A39C
-sub_802A39C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_801CA08
- ldr r4, _0802A3E0
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802A3CE
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_0802A3CE:
- ldr r0, [sp]
- cmp r0, 0xB
- beq _0802A3EE
- cmp r0, 0xB
- bgt _0802A3E4
- cmp r0, 0
- beq _0802A430
- b _0802A44A
- .align 2, 0
-_0802A3E0: .4byte gUnknown_203B2C4
-_0802A3E4:
- cmp r0, 0xC
- beq _0802A3FA
- cmp r0, 0xD
- beq _0802A430
- b _0802A44A
-_0802A3EE:
- bl sub_801CBB8
- movs r0, 0xC
- bl sub_802B2BC
- b _0802A44A
-_0802A3FA:
- ldr r0, [r4]
- movs r1, 0x2B
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r1, _0802A42C
- adds r0, r1
- bl sub_801B3C0
- movs r0, 0x15
- bl sub_802B2BC
- b _0802A44A
- .align 2, 0
-_0802A42C: .4byte 0x0000041c
-_0802A430:
- ldr r0, _0802A454
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- bl sub_801CCD8
- movs r0, 0x13
- bl sub_802B2BC
-_0802A44A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802A454: .4byte gUnknown_203B2C4
- thumb_func_end sub_802A39C
-
- thumb_func_start sub_802A458
-sub_802A458:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A46C
- movs r0, 0xD
- bl sub_802B2BC
-_0802A46C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A458
-
- thumb_func_start sub_802A474
-sub_802A474:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A488
- movs r0, 0x3
- bl sub_802B2BC
-_0802A488:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A474
-
- thumb_func_start sub_802A490
-sub_802A490:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A4A4
- movs r0, 0x3
- bl sub_802B2BC
-_0802A4A4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A490
-
- thumb_func_start sub_802A4AC
-sub_802A4AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A4CC
- movs r0, 0x18
- bl sub_802B2BC
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_0802A4CC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A4AC
-
- thumb_func_start sub_802A4D4
-sub_802A4D4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A4E8
- movs r0, 0x1A
- bl sub_802B2BC
-_0802A4E8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A4D4
-
- thumb_func_start sub_802A4F0
-sub_802A4F0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A504
- movs r0, 0x27
- bl sub_802B2BC
-_0802A504:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A4F0
-
- thumb_func_start sub_802A50C
-sub_802A50C:
- push {r4,r5,lr}
- sub sp, 0x44
- bl sub_80154F0
- adds r4, r0, 0
- add r0, sp, 0x14
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- cmp r4, 0x2
- bne _0802A526
- b _0802A660
-_0802A526:
- cmp r4, 0x3
- beq _0802A52C
- b _0802A680
-_0802A52C:
- ldr r0, _0802A54C
- ldr r1, [r0]
- adds r1, 0x8
- movs r0, 0x20
- add r2, sp, 0x14
- bl sub_8039068
- subs r0, 0x7
- cmp r0, 0x11
- bls _0802A542
- b _0802A654
-_0802A542:
- lsls r0, 2
- ldr r1, _0802A550
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802A54C: .4byte gUnknown_203B2C4
-_0802A550: .4byte _0802A554
- .align 2, 0
-_0802A554:
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A5F0
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A59C
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A5D8
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A654
- .4byte _0802A618
-_0802A59C:
- ldr r0, _0802A5CC
- ldr r3, _0802A5D0
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, _0802A5D4
- ldr r1, [r1]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x7
- bl sub_8014248
- movs r0, 0x28
- bl sub_802B2BC
- b _0802A654
- .align 2, 0
-_0802A5CC: .4byte gUnknown_80DF1C0
-_0802A5D0: .4byte gUnknown_80DEE44
-_0802A5D4: .4byte gUnknown_203B2C4
-_0802A5D8:
- ldr r0, _0802A5E8
- ldr r1, _0802A5EC
- ldr r2, [r1]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- b _0802A5FC
- .align 2, 0
-_0802A5E8: .4byte gUnknown_80DF208
-_0802A5EC: .4byte gUnknown_203B2C4
-_0802A5F0:
- ldr r0, _0802A60C
- ldr r1, _0802A610
- ldr r2, [r1]
- movs r4, 0x84
- lsls r4, 3
- adds r2, r4
-_0802A5FC:
- ldr r3, _0802A614
- movs r1, 0
- bl sub_80141B4
- movs r0, 0x1F
- bl sub_802B2BC
- b _0802A654
- .align 2, 0
-_0802A60C: .4byte gUnknown_80DF0A0
-_0802A610: .4byte gUnknown_203B2C4
-_0802A614: .4byte 0x0000010d
-_0802A618:
- ldr r1, [sp, 0x24]
- movs r0, 0x4
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r2, r0, 0
- add r1, sp, 0x14
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- movs r1, 0x6
- strb r1, [r0]
- ldr r0, _0802A65C
- ldr r0, [r0]
- movs r5, 0x86
- lsls r5, 3
- adds r0, r5
- ldr r1, [sp, 0x24]
- str r1, [r0]
- movs r0, 0x21
- bl sub_802B2BC
-_0802A654:
- bl sub_80155F0
- b _0802A680
- .align 2, 0
-_0802A65C: .4byte gUnknown_203B2C4
-_0802A660:
- bl sub_80155F0
- bl sub_8004914
- ldr r0, _0802A688
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_802B2BC
-_0802A680:
- add sp, 0x44
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802A688: .4byte gUnknown_203B2C4
- thumb_func_end sub_802A50C
-
- thumb_func_start sub_802A68C
-sub_802A68C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A6AE
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _0802A6AE
- bl sub_8012750
- movs r0, 0xD
- bl sub_802B2BC
-_0802A6AE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A68C
-
- thumb_func_start sub_802A6B4
-sub_802A6B4:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A6E8
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _0802A6E8
- bl sub_8012744
- adds r4, r0, 0
- bl sub_8012750
- cmp r4, 0
- bne _0802A6E2
- movs r0, 0x20
- bl sub_802B2BC
- b _0802A6E8
-_0802A6E2:
- movs r0, 0x3
- bl sub_802B2BC
-_0802A6E8:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802A6B4
-
- thumb_func_start sub_802A6F0
-sub_802A6F0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A710
- movs r0, 0x18
- bl sub_802B2BC
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_0802A710:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A6F0
-
- thumb_func_start sub_802A718
-sub_802A718:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A738
- movs r0, 0x25
- bl sub_802B2BC
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_0802A738:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A718
-
- thumb_func_start sub_802A740
-sub_802A740:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A754
- movs r0, 0x1E
- bl sub_802B2BC
-_0802A754:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A740
-
- thumb_func_start sub_802A75C
-sub_802A75C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A792
- ldr r0, [sp]
- cmp r0, 0
- beq _0802A78C
- cmp r0, 0x7
- bne _0802A792
- ldr r0, _0802A788
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- movs r0, 0x16
- bl sub_802B2BC
- b _0802A792
- .align 2, 0
-_0802A788: .4byte gUnknown_203B2C4
-_0802A78C:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A792:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A75C
-
- thumb_func_start sub_802A798
-sub_802A798:
- push {r4,r5,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A81E
- ldr r0, [sp]
- cmp r0, 0x7
- beq _0802A7BC
- cmp r0, 0x7
- bgt _0802A7B6
- cmp r0, 0
- beq _0802A818
- b _0802A81E
-_0802A7B6:
- cmp r0, 0x8
- beq _0802A810
- b _0802A81E
-_0802A7BC:
- ldr r4, _0802A800
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8095228
- adds r2, r0, 0
- ldr r1, [r4]
- ldr r3, _0802A804
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802A7E2
- ldr r5, _0802A808
- adds r0, r1, r5
- ldr r0, [r0]
- str r0, [r2, 0x20]
-_0802A7E2:
- ldr r0, _0802A80C
- ldr r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0x29
- bl sub_802B2BC
- b _0802A81E
- .align 2, 0
-_0802A800: .4byte gUnknown_203B2C4
-_0802A804: .4byte 0x0000041e
-_0802A808: .4byte 0x0000041c
-_0802A80C: .4byte gUnknown_203B460
-_0802A810:
- movs r0, 0xB
- bl sub_802B2BC
- b _0802A81E
-_0802A818:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A81E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802A798
-
- thumb_func_start sub_802A828
-sub_802A828:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A848
- movs r0, 0x2A
- bl sub_802B2BC
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_0802A848:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A828
-
- thumb_func_start sub_802A850
-sub_802A850:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A89A
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _0802A89A
- bl sub_8012750
- ldr r0, _0802A884
- ldr r0, [r0]
- ldr r1, _0802A888
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A89A
- cmp r0, 0x4
- ble _0802A88C
- cmp r0, 0x5
- beq _0802A894
- b _0802A89A
- .align 2, 0
-_0802A884: .4byte gUnknown_203B2C4
-_0802A888: .4byte 0x00000534
-_0802A88C:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A89A
-_0802A894:
- movs r0, 0x19
- bl sub_802B2BC
-_0802A89A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A850
-
- thumb_func_start sub_802A8A0
-sub_802A8A0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A8B4
- movs r0, 0x13
- bl sub_802B2BC
-_0802A8B4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A8A0
-
- thumb_func_start sub_802A8BC
-sub_802A8BC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A90A
- ldr r0, [sp]
- cmp r0, 0
- beq _0802A904
- cmp r0, 0xA
- bne _0802A90A
- ldr r0, _0802A8EC
- ldr r0, [r0]
- ldr r1, _0802A8F0
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A90A
- cmp r0, 0x4
- ble _0802A8F4
- cmp r0, 0x5
- beq _0802A8FC
- b _0802A90A
- .align 2, 0
-_0802A8EC: .4byte gUnknown_203B2C4
-_0802A8F0: .4byte 0x00000534
-_0802A8F4:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A90A
-_0802A8FC:
- movs r0, 0x19
- bl sub_802B2BC
- b _0802A90A
-_0802A904:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A90A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A8BC
-
- thumb_func_start sub_802A910
-sub_802A910:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A986
- ldr r0, [sp]
- cmp r0, 0x9
- beq _0802A934
- cmp r0, 0x9
- bgt _0802A92E
- cmp r0, 0
- beq _0802A980
- b _0802A986
-_0802A92E:
- cmp r0, 0xA
- beq _0802A950
- b _0802A986
-_0802A934:
- movs r0, 0
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _0802A948
- movs r0, 0xA
- bl sub_802B2BC
- b _0802A986
-_0802A948:
- movs r0, 0xB
- bl sub_802B2BC
- b _0802A986
-_0802A950:
- ldr r0, _0802A968
- ldr r0, [r0]
- ldr r1, _0802A96C
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A986
- cmp r0, 0x4
- ble _0802A970
- cmp r0, 0x5
- beq _0802A978
- b _0802A986
- .align 2, 0
-_0802A968: .4byte gUnknown_203B2C4
-_0802A96C: .4byte 0x00000534
-_0802A970:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A986
-_0802A978:
- movs r0, 0x19
- bl sub_802B2BC
- b _0802A986
-_0802A980:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A986:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A910
-
- thumb_func_start sub_802A98C
-sub_802A98C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A9A0
- movs r0, 0x8
- bl sub_802B2BC
-_0802A9A0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A98C
-
- thumb_func_start sub_802A9A8
-sub_802A9A8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802A9F6
- ldr r0, [sp]
- cmp r0, 0
- beq _0802A9F0
- cmp r0, 0x7
- bne _0802A9F6
- ldr r0, _0802A9D8
- ldr r0, [r0]
- ldr r1, _0802A9DC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- blt _0802A9F6
- cmp r0, 0x4
- ble _0802A9E0
- cmp r0, 0x5
- beq _0802A9E8
- b _0802A9F6
- .align 2, 0
-_0802A9D8: .4byte gUnknown_203B2C4
-_0802A9DC: .4byte 0x00000534
-_0802A9E0:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802A9F6
-_0802A9E8:
- movs r0, 0x19
- bl sub_802B2BC
- b _0802A9F6
-_0802A9F0:
- movs r0, 0x1
- bl sub_802B2BC
-_0802A9F6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A9A8
-
- thumb_func_start sub_802A9FC
-sub_802A9FC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AA22
- ldr r0, [sp]
- cmp r0, 0
- beq _0802AA1C
- cmp r0, 0x7
- bne _0802AA22
- movs r0, 0x26
- bl sub_802B2BC
- b _0802AA22
-_0802AA1C:
- movs r0, 0x1
- bl sub_802B2BC
-_0802AA22:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802A9FC
-
- thumb_func_start sub_802AA28
-sub_802AA28:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AAA6
- ldr r2, [sp]
- cmp r2, 0
- beq _0802AAA0
- cmp r2, 0
- blt _0802AAA6
- cmp r2, 0x5
- bgt _0802AAA6
- cmp r2, 0x3
- blt _0802AAA6
- ldr r0, _0802AA7C
- ldr r0, [r0]
- ldr r3, _0802AA80
- adds r1, r0, r3
- str r2, [r1]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0802AA8C
- movs r0, 0x5
- bl sub_80953D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802AA84
- movs r0, 0x7
- bl sub_802B2BC
- b _0802AAA6
- .align 2, 0
-_0802AA7C: .4byte gUnknown_203B2C4
-_0802AA80: .4byte 0x00000534
-_0802AA84:
- movs r0, 0x9
- bl sub_802B2BC
- b _0802AAA6
-_0802AA8C:
- cmp r2, 0x5
- bne _0802AA98
- movs r0, 0x26
- bl sub_802B2BC
- b _0802AAA6
-_0802AA98:
- movs r0, 0x1D
- bl sub_802B2BC
- b _0802AAA6
-_0802AAA0:
- movs r0, 0x1
- bl sub_802B2BC
-_0802AAA6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AA28
-
- thumb_func_start sub_802AAAC
-sub_802AAAC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AAC0
- movs r0, 0x1
- bl sub_802B2BC
-_0802AAC0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AAAC
-
- thumb_func_start sub_802AAC8
-sub_802AAC8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AADC
- movs r0, 0x3
- bl sub_802B2BC
-_0802AADC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AAC8
-
- thumb_func_start sub_802AAE4
-sub_802AAE4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AB5A
- ldr r2, [sp]
- cmp r2, 0x1
- beq _0802AB08
- cmp r2, 0x1
- bgt _0802AB02
- cmp r2, 0
- beq _0802AB54
- b _0802AB5A
-_0802AB02:
- cmp r2, 0x2
- beq _0802AB38
- b _0802AB5A
-_0802AB08:
- ldr r0, _0802AB2C
- ldr r0, [r0]
- movs r1, 0x6
- str r1, [r0, 0x40]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- str r2, [r0]
- movs r0, 0x5
- bl sub_8095324
- cmp r0, 0
- bne _0802AB30
- movs r0, 0x4
- bl sub_802B2BC
- b _0802AB5A
- .align 2, 0
-_0802AB2C: .4byte gUnknown_203B2C4
-_0802AB30:
- movs r0, 0xF
- bl sub_802B2BC
- b _0802AB5A
-_0802AB38:
- ldr r0, _0802AB50
- ldr r0, [r0]
- movs r1, 0x7
- str r1, [r0, 0x40]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- str r2, [r0]
- movs r0, 0x6
- bl sub_802B2BC
- b _0802AB5A
- .align 2, 0
-_0802AB50: .4byte gUnknown_203B2C4
-_0802AB54:
- movs r0, 0x2
- bl sub_802B2BC
-_0802AB5A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AAE4
-
- thumb_func_start sub_802AB60
-sub_802AB60:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AB74
- movs r0, 0x22
- bl sub_802B2BC
-_0802AB74:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AB60
-
- thumb_func_start sub_802AB7C
-sub_802AB7C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802AB90
- movs r0, 0x22
- bl sub_802B2BC
-_0802AB90:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802AB7C
-
- thumb_func_start sub_802AB98
-sub_802AB98:
- push {r4,lr}
- bl sub_802F298
- cmp r0, 0x3
- bne _0802ABE0
- bl sub_802F2C0
- ldr r0, _0802ABE8
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0802ABEC
- bl strcpy
- ldr r0, _0802ABF0
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x6
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095240
- movs r0, 0x24
- bl sub_802B2BC
-_0802ABE0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802ABE8: .4byte gUnknown_202E5D8
-_0802ABEC: .4byte gUnknown_202DF98
-_0802ABF0: .4byte gUnknown_203B2C4
- thumb_func_end sub_802AB98
-
- thumb_func_start nullsub_131
-nullsub_131:
- bx lr
- thumb_func_end nullsub_131
-
- thumb_func_start sub_802ABF8
-sub_802ABF8:
- push {r4-r6,lr}
- sub sp, 0xB8
- ldr r1, _0802AC14
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x2A
- bls _0802AC0A
- b _0802B2AA
-_0802AC0A:
- lsls r0, 2
- ldr r1, _0802AC18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802AC14: .4byte gUnknown_203B2C4
-_0802AC18: .4byte _0802AC1C
- .align 2, 0
-_0802AC1C:
- .4byte _0802B1DC
- .4byte _0802B1FC
- .4byte _0802B22C
- .4byte _0802B2AA
- .4byte _0802B1D4
- .4byte _0802ACC8
- .4byte _0802B248
- .4byte _0802B194
- .4byte _0802B1A4
- .4byte _0802B168
- .4byte _0802B138
- .4byte _0802B128
- .4byte _0802B0F0
- .4byte _0802B0AC
- .4byte _0802AD08
- .4byte _0802AD18
- .4byte _0802AD20
- .4byte _0802AD46
- .4byte _0802B2AA
- .4byte _0802AD80
- .4byte _0802ADB0
- .4byte _0802B2AA
- .4byte _0802B07C
- .4byte _0802B094
- .4byte _0802B2AA
- .4byte _0802AF50
- .4byte _0802AF1A
- .4byte _0802AF46
- .4byte _0802B2AA
- .4byte _0802B0A4
- .4byte _0802ADF8
- .4byte _0802B2AA
- .4byte _0802AF70
- .4byte _0802AF78
- .4byte _0802AFAC
- .4byte _0802B2AA
- .4byte _0802AF60
- .4byte _0802B2AA
- .4byte _0802AEEC
- .4byte _0802AEF4
- .4byte _0802B2AA
- .4byte _0802B110
- .4byte _0802B120
-_0802ACC8:
- bl sub_808D33C
- adds r1, r0, 0
- adds r1, 0x4C
- add r0, sp, 0x14
- movs r2, 0xA
- bl sub_80922B4
- ldr r5, _0802ACF8
- ldr r0, [r5]
- ldr r4, _0802ACFC
- adds r0, r4
- ldr r1, _0802AD00
- add r2, sp, 0x14
- bl sub_800D158
- ldr r2, [r5]
- adds r4, r2, r4
- movs r0, 0x84
- lsls r0, 3
- adds r2, r0
- ldr r3, _0802AD04
- adds r0, r4, 0
- b _0802B238
- .align 2, 0
-_0802ACF8: .4byte gUnknown_203B2C4
-_0802ACFC: .4byte 0x00000434
-_0802AD00: .4byte gUnknown_80DF250
-_0802AD04: .4byte 0x0000010d
-_0802AD08:
- ldr r0, _0802AD10
- ldr r3, _0802AD14
- b _0802B1A8
- .align 2, 0
-_0802AD10: .4byte gUnknown_80DF304
-_0802AD14: .4byte gUnknown_80DEE60
-_0802AD18:
- ldr r0, _0802AD1C
- b _0802B22E
- .align 2, 0
-_0802AD1C: .4byte gUnknown_80DF330
-_0802AD20:
- bl sub_8030894
- cmp r0, 0
- beq _0802AD2A
- b _0802B2AA
-_0802AD2A:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x5
- movs r1, 0
- movs r2, 0
- movs r3, 0x6
- bl sub_80306A8
- b _0802B2AA
-_0802AD46:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _0802AD78
- ldr r2, _0802AD7C
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_803092C
- b _0802ADE0
- .align 2, 0
-_0802AD78: .4byte gUnknown_80DED60
-_0802AD7C: .4byte gUnknown_80DED78
-_0802AD80:
- bl sub_801D008
- cmp r0, 0
- beq _0802AD8A
- b _0802B2AA
-_0802AD8A:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- add r2, sp, 0xB4
- ldr r0, _0802ADAC
- str r0, [r2]
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x9
- bl sub_801C8C4
- b _0802B2AA
- .align 2, 0
-_0802ADAC: .4byte 0x00020003
-_0802ADB0:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _0802ADF0
- ldr r2, _0802ADF4
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_801CCD8
-_0802ADE0:
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- b _0802B2AA
- .align 2, 0
-_0802ADF0: .4byte gUnknown_80DED48
-_0802ADF4: .4byte gUnknown_80DED78
-_0802ADF8:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x44]
- bl sub_8011830
- ldr r0, [r6]
- ldr r0, [r0, 0x40]
- bl sub_8037B28
- ldr r1, [r6]
- str r0, [r1, 0x44]
- cmp r0, 0
- bne _0802AEE6
- ldr r0, [r1, 0x40]
- cmp r0, 0x6
- beq _0802AE1E
- cmp r0, 0x7
- beq _0802AE5C
- b _0802AE8C
-_0802AE1E:
- movs r4, 0xDC
- lsls r4, 1
- adds r0, r1, r4
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r5, 0x86
- lsls r5, 2
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8095228
- ldr r1, [r6]
- adds r1, r4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r4, r2, r4
- movs r1, 0xF4
- lsls r1, 1
- adds r2, r1
- b _0802AE82
-_0802AE5C:
- movs r4, 0xDC
- lsls r4, 1
- adds r0, r1, r4
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r5, 0xF4
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r4, r2, r4
- adds r2, r5
-_0802AE82:
- adds r1, r4, 0
- bl sub_8037D64
- ldr r1, [r6]
- str r0, [r1, 0x44]
-_0802AE8C:
- ldr r4, _0802AED0
- ldr r2, [r4]
- ldr r0, [r2, 0x44]
- cmp r0, 0
- bne _0802AEE6
- ldr r0, [r2, 0x40]
- cmp r0, 0x7
- bhi _0802AEE6
- cmp r0, 0x6
- bcc _0802AEE6
- movs r3, 0xDC
- lsls r3, 1
- adds r1, r2, r3
- movs r5, 0xF4
- lsls r5, 1
- adds r2, r5
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0x44]
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _0802AED4
- ldr r0, [r4]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r0, r2
- movs r3, 0xFC
- lsls r3, 1
- adds r0, r3
- b _0802AEE2
- .align 2, 0
-_0802AED0: .4byte gUnknown_203B2C4
-_0802AED4:
- ldr r0, [r4]
- movs r5, 0x86
- lsls r5, 3
- adds r1, r0, r5
- movs r2, 0xE4
- lsls r2, 1
- adds r0, r2
-_0802AEE2:
- ldr r0, [r0]
- str r0, [r1]
-_0802AEE6:
- bl sub_8011854
- b _0802B2AA
-_0802AEEC:
- ldr r0, _0802AEF0
- b _0802B22E
- .align 2, 0
-_0802AEF0: .4byte gUnknown_80DF380
-_0802AEF4:
- ldr r0, [r6]
- movs r5, 0xEF
- lsls r5, 2
- adds r0, r5
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r6]
- adds r1, 0x8
- movs r0, 0x4
- bl sub_80151C0
- b _0802B2AA
-_0802AF1A:
- ldr r0, [r6]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 2
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8031D70
- b _0802B2AA
-_0802AF46:
- ldr r0, _0802AF4C
- b _0802B22E
- .align 2, 0
-_0802AF4C: .4byte gUnknown_80DF3B4
-_0802AF50:
- ldr r0, _0802AF5C
- ldr r2, [r6]
- movs r5, 0x84
- lsls r5, 3
- adds r2, r5
- b _0802B236
- .align 2, 0
-_0802AF5C: .4byte gUnknown_80DF418
-_0802AF60:
- ldr r0, _0802AF6C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _0802B236
- .align 2, 0
-_0802AF6C: .4byte gUnknown_80DF44C
-_0802AF70:
- ldr r0, _0802AF74
- b _0802B22E
- .align 2, 0
-_0802AF74: .4byte gUnknown_80DF46C
-_0802AF78:
- ldr r0, [r6]
- ldr r5, _0802AF90
- adds r0, r5
- ldr r0, [r0]
- cmp r0, 0x4
- bne _0802AF86
- b _0802B2AA
-_0802AF86:
- cmp r0, 0x4
- bgt _0802AF94
- cmp r0, 0x3
- beq _0802AF9A
- b _0802B2AA
- .align 2, 0
-_0802AF90: .4byte 0x00000534
-_0802AF94:
- cmp r0, 0x6
- ble _0802AF9A
- b _0802B2AA
-_0802AF9A:
- ldr r0, _0802AFA8
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _0802B236
- .align 2, 0
-_0802AFA8: .4byte gUnknown_80DF4F4
-_0802AFAC:
- movs r4, 0x98
- lsls r4, 1
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r5, _0802B00C
- ldr r0, [r5]
- ldr r2, _0802B010
- adds r0, r2
- bl strcpy
- ldr r1, [r5]
- movs r3, 0xAA
- lsls r3, 3
- adds r0, r1, r3
- movs r2, 0
- strh r4, [r0]
- ldr r0, _0802B014
- adds r1, r0
- movs r0, 0x2
- strb r0, [r1]
- ldr r0, [r5]
- adds r3, 0x4
- adds r1, r0, r3
- str r2, [r1]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x6
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r2, r0, 0
- adds r0, 0x22
- ldrb r1, [r0]
- cmp r1, 0
- beq _0802B018
- ldr r0, [r5]
- movs r3, 0xAB
- lsls r3, 3
- adds r0, r3
- b _0802B022
- .align 2, 0
-_0802B00C: .4byte gUnknown_203B2C4
-_0802B010: .4byte 0x0000053c
-_0802B014: .4byte 0x00000552
-_0802B018:
- ldr r0, [r5]
- movs r5, 0xAB
- lsls r5, 3
- adds r0, r5
- movs r1, 0
-_0802B022:
- strb r1, [r0]
- ldr r4, _0802B068
- ldr r0, [r4]
- ldr r1, _0802B06C
- adds r0, r1
- movs r5, 0
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r2, 0x4
- movs r1, 0
- bl sub_803C200
- ldr r1, [r4]
- movs r3, 0xAC
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- ldr r0, _0802B070
- adds r1, r0
- strb r5, [r1]
- ldr r0, [r4]
- ldr r1, _0802B074
- adds r0, r1
- strb r5, [r0]
- ldr r0, [r4]
- ldr r2, _0802B078
- adds r0, r2
- strb r5, [r0]
- ldr r0, [r4]
- subs r3, 0x24
- adds r0, r3
- movs r1, 0
- bl sub_802F204
- b _0802B2AA
- .align 2, 0
-_0802B068: .4byte gUnknown_203B2C4
-_0802B06C: .4byte 0x0000055b
-_0802B070: .4byte 0x00000559
-_0802B074: .4byte 0x0000055a
-_0802B078: .4byte 0x0000055c
-_0802B07C:
- movs r0, 0
- bl nullsub_23
- ldr r0, _0802B090
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- b _0802B2AA
- .align 2, 0
-_0802B090: .4byte gUnknown_80DF544
-_0802B094:
- ldr r0, _0802B0A0
- ldr r2, [r6]
- movs r5, 0x84
- lsls r5, 3
- adds r2, r5
- b _0802B236
- .align 2, 0
-_0802B0A0: .4byte gUnknown_80DF594
-_0802B0A4:
- ldr r0, _0802B0A8
- b _0802B1A6
- .align 2, 0
-_0802B0A8: .4byte gUnknown_80DF5E4
-_0802B0AC:
- bl sub_808D33C
- adds r1, r0, 0
- add r6, sp, 0x64
- adds r1, 0x4C
- adds r0, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- ldr r5, _0802B0E0
- ldr r0, [r5]
- ldr r4, _0802B0E4
- adds r0, r4
- ldr r1, _0802B0E8
- adds r2, r6, 0
- bl sub_800D158
- ldr r2, [r5]
- adds r4, r2, r4
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
- ldr r3, _0802B0EC
- adds r0, r4, 0
- b _0802B238
- .align 2, 0
-_0802B0E0: .4byte gUnknown_203B2C4
-_0802B0E4: .4byte 0x00000434
-_0802B0E8: .4byte gUnknown_80DF63C
-_0802B0EC: .4byte 0x0000010d
-_0802B0F0:
- ldr r0, _0802B108
- ldr r3, _0802B10C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r5, 0x84
- lsls r5, 3
- adds r1, r5
- b _0802B1BA
- .align 2, 0
-_0802B108: .4byte gUnknown_80DF694
-_0802B10C: .4byte gUnknown_80DEEE4
-_0802B110:
- ldr r0, _0802B11C
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _0802B236
- .align 2, 0
-_0802B11C: .4byte gUnknown_80DF44C
-_0802B120:
- ldr r0, _0802B124
- b _0802B22E
- .align 2, 0
-_0802B124: .4byte gUnknown_80DF6F0
-_0802B128:
- ldr r0, _0802B134
- ldr r2, [r6]
- movs r5, 0x84
- lsls r5, 3
- adds r2, r5
- b _0802B236
- .align 2, 0
-_0802B134: .4byte gUnknown_80DF710
-_0802B138:
- ldr r0, _0802B160
- ldr r3, _0802B164
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0
- bl sub_8014248
- b _0802B2AA
- .align 2, 0
-_0802B160: .4byte gUnknown_80DF73C
-_0802B164: .4byte gUnknown_80DEEBC
-_0802B168:
- ldr r0, _0802B18C
- ldr r3, _0802B190
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r5, 0x84
- lsls r5, 3
- adds r1, r5
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _0802B2AA
- .align 2, 0
-_0802B18C: .4byte gUnknown_80DF77C
-_0802B190: .4byte gUnknown_80DEE7C
-_0802B194:
- ldr r0, _0802B1A0
- ldr r2, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r2, r1
- b _0802B236
- .align 2, 0
-_0802B1A0: .4byte gUnknown_80DF7D4
-_0802B1A4:
- ldr r0, _0802B1CC
-_0802B1A6:
- ldr r3, _0802B1D0
-_0802B1A8:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
-_0802B1BA:
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x7
- bl sub_8014248
- b _0802B2AA
- .align 2, 0
-_0802B1CC: .4byte gUnknown_80DF870
-_0802B1D0: .4byte gUnknown_80DEE44
-_0802B1D4:
- ldr r0, _0802B1D8
- b _0802B22E
- .align 2, 0
-_0802B1D8: .4byte gUnknown_80DF8B4
-_0802B1DC:
- ldr r0, _0802B1F4
- ldr r3, _0802B1F8
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r5, 0x84
- lsls r5, 3
- adds r1, r5
- b _0802B212
- .align 2, 0
-_0802B1F4: .4byte gUnknown_80DF8EC
-_0802B1F8: .4byte gUnknown_80DEDB8
-_0802B1FC:
- ldr r0, _0802B224
- ldr r3, _0802B228
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r1, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
-_0802B212:
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x1
- bl sub_8014248
- b _0802B2AA
- .align 2, 0
-_0802B224: .4byte gUnknown_80DF928
-_0802B228: .4byte gUnknown_80DEDB8
-_0802B22C:
- ldr r0, _0802B240
-_0802B22E:
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r2, r3
-_0802B236:
- ldr r3, _0802B244
-_0802B238:
- movs r1, 0
- bl sub_80141B4
- b _0802B2AA
- .align 2, 0
-_0802B240: .4byte gUnknown_80DF94C
-_0802B244: .4byte 0x0000010d
-_0802B248:
- ldr r4, [r6]
- movs r5, 0xA7
- lsls r5, 3
- adds r0, r4, r5
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0802B25C
- cmp r0, 0x2
- beq _0802B288
- b _0802B2AA
-_0802B25C:
- ldr r0, _0802B280
- ldr r3, _0802B284
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r4, r2
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0802B2AA
- .align 2, 0
-_0802B280: .4byte gUnknown_80DF96C
-_0802B284: .4byte gUnknown_80DEE08
-_0802B288:
- ldr r0, _0802B2B4
- ldr r3, _0802B2B8
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r5, 0x84
- lsls r5, 3
- adds r1, r4, r5
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
-_0802B2AA:
- add sp, 0xB8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B2B4: .4byte gUnknown_80DF9A4
-_0802B2B8: .4byte gUnknown_80DEE08
- thumb_func_end sub_802ABF8
-
- thumb_func_start sub_802B2BC
-sub_802B2BC:
- push {lr}
- ldr r1, _0802B2D0
- ldr r1, [r1]
- strb r0, [r1]
- bl nullsub_131
- bl sub_802ABF8
- pop {r0}
- bx r0
- .align 2, 0
-_0802B2D0: .4byte gUnknown_203B2C4
- thumb_func_end sub_802B2BC
-
- thumb_func_start sub_802B2D4
-sub_802B2D4:
- push {r4,r5,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _0802B348
- movs r4, 0xA0
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
- ldr r1, [r5]
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- ldr r0, _0802B34C
- subs r4, 0x10
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808DDD0
- ldr r1, [r5]
- str r0, [r1, 0x4]
- ldr r0, [r0, 0x4]
- str r0, [r1, 0x8]
- movs r2, 0
- strb r2, [r1, 0x10]
- ldr r0, [r5]
- strb r2, [r0, 0x11]
- ldr r0, [r5]
- strb r2, [r0, 0x12]
- ldr r0, [r5]
- movs r1, 0x2
- strh r1, [r0, 0xC]
- movs r1, 0x8
- strh r1, [r0, 0xE]
- adds r0, 0x1
- bl sub_8099394
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0802B350
- movs r0, 0
- bl sub_802B548
- movs r0, 0x1
- b _0802B352
- .align 2, 0
-_0802B348: .4byte gUnknown_203B2C8
-_0802B34C: .4byte gUnknown_202E5D8
-_0802B350:
- movs r0, 0
-_0802B352:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802B2D4
-
- thumb_func_start sub_802B358
-sub_802B358:
- push {lr}
- ldr r0, _0802B370
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0802B3B2
- lsls r0, 2
- ldr r1, _0802B374
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802B370: .4byte gUnknown_203B2C8
-_0802B374: .4byte _0802B378
- .align 2, 0
-_0802B378:
- .4byte _0802B390
- .4byte _0802B396
- .4byte _0802B39C
- .4byte _0802B3A2
- .4byte _0802B3A8
- .4byte _0802B3AE
-_0802B390:
- bl sub_802B560
- b _0802B3B2
-_0802B396:
- bl sub_802B57C
- b _0802B3B2
-_0802B39C:
- bl sub_802B5B8
- b _0802B3B2
-_0802B3A2:
- bl sub_802B5FC
- b _0802B3B2
-_0802B3A8:
- bl sub_802B624
- b _0802B3B2
-_0802B3AE:
- movs r0, 0x3
- b _0802B3B4
-_0802B3B2:
- movs r0, 0
-_0802B3B4:
- pop {r1}
- bx r1
- thumb_func_end sub_802B358
-
- thumb_func_start sub_802B3B8
-sub_802B3B8:
- push {r4,lr}
- ldr r4, _0802B3D8
- ldr r0, [r4]
- cmp r0, 0
- beq _0802B3D2
- ldr r0, [r0, 0x4]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802B3D2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B3D8: .4byte gUnknown_203B2C8
- thumb_func_end sub_802B3B8
-
- thumb_func_start nullsub_132
-nullsub_132:
- bx lr
- thumb_func_end nullsub_132
-
- thumb_func_start sub_802B3E0
-sub_802B3E0:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x28
- ldr r1, _0802B404
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _0802B3F8
- b _0802B532
-_0802B3F8:
- lsls r0, 2
- ldr r1, _0802B408
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802B404: .4byte gUnknown_203B2C8
-_0802B408: .4byte _0802B40C
- .align 2, 0
-_0802B40C:
- .4byte _0802B424
- .4byte _0802B464
- .4byte _0802B50C
- .4byte _0802B532
- .4byte _0802B524
- .4byte _0802B532
-_0802B424:
- movs r0, 0
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0802B438
- mov r0, sp
- bl sub_80920D8
- b _0802B440
-_0802B438:
- ldr r1, _0802B458
- mov r0, sp
- bl strcpy
-_0802B440:
- ldr r4, _0802B45C
- ldr r0, [r4]
- adds r0, 0x14
- ldr r1, _0802B460
- mov r2, sp
- bl sub_800D158
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x14
- b _0802B510
- .align 2, 0
-_0802B458: .4byte gUnknown_80DF9F0
-_0802B45C: .4byte gUnknown_203B2C8
-_0802B460: .4byte gUnknown_80DF9F8
-_0802B464:
- movs r6, 0x98
- lsls r6, 1
- adds r0, r6, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r5, _0802B500
- ldr r0, [r5]
- movs r2, 0x8A
- lsls r2, 1
- mov r9, r2
- add r0, r9
- bl strcpy
- ldr r2, [r5]
- movs r3, 0x94
- lsls r3, 1
- adds r0, r2, r3
- movs r1, 0
- mov r8, r1
- movs r1, 0
- strh r6, [r0]
- adds r3, 0x2
- adds r2, r3
- movs r0, 0x2
- strb r0, [r2]
- ldr r0, [r5]
- movs r2, 0x96
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- bl sub_8097790
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl sub_8095228
- adds r4, r0, 0
- adds r4, 0x4
- ldr r2, [r5]
- adds r2, r6
- adds r0, r4, 0
- movs r1, 0
- bl sub_803C37C
- adds r0, r4, 0
- movs r1, 0
- bl sub_803C200
- ldr r2, [r5]
- movs r3, 0x9C
- lsls r3, 1
- adds r1, r2, r3
- str r0, [r1]
- ldr r1, _0802B504
- adds r0, r2, r1
- mov r2, r8
- strb r2, [r0]
- ldr r0, [r5]
- subs r3, 0x6
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r5]
- ldr r2, _0802B508
- adds r1, r0, r2
- movs r0, 0xA
- strb r0, [r1]
- ldr r0, [r5]
- adds r3, 0x2
- adds r0, r3
- mov r1, r8
- strb r1, [r0]
- ldr r0, [r5]
- add r0, r9
- movs r1, 0
- bl sub_802F204
- b _0802B532
- .align 2, 0
-_0802B500: .4byte gUnknown_203B2C8
-_0802B504: .4byte 0x00000131
-_0802B508: .4byte 0x00000133
-_0802B50C:
- ldr r0, _0802B51C
- ldr r2, [r2]
-_0802B510:
- adds r2, 0x4
- ldr r3, _0802B520
- movs r1, 0
- bl sub_80141B4
- b _0802B532
- .align 2, 0
-_0802B51C: .4byte gUnknown_80DFAA8
-_0802B520: .4byte 0x0000010d
-_0802B524:
- ldr r0, _0802B540
- ldr r2, [r2]
- adds r2, 0x4
- ldr r3, _0802B544
- movs r1, 0
- bl sub_80141B4
-_0802B532:
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B540: .4byte gUnknown_80DFB14
-_0802B544: .4byte 0x0000010d
- thumb_func_end sub_802B3E0
-
- thumb_func_start sub_802B548
-sub_802B548:
- push {lr}
- ldr r1, _0802B55C
- ldr r1, [r1]
- strb r0, [r1]
- bl nullsub_132
- bl sub_802B3E0
- pop {r0}
- bx r0
- .align 2, 0
-_0802B55C: .4byte gUnknown_203B2C8
- thumb_func_end sub_802B548
-
- thumb_func_start sub_802B560
-sub_802B560:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802B574
- movs r0, 0x1
- bl sub_802B548
-_0802B574:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802B560
-
- thumb_func_start sub_802B57C
-sub_802B57C:
- push {r4,lr}
- bl sub_802F298
- cmp r0, 0x3
- bne _0802B5AA
- bl sub_802F2C0
- ldr r0, _0802B5B0
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0802B5B4
- bl strcpy
- movs r0, 0x2
- bl sub_802B548
-_0802B5AA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B5B0: .4byte gUnknown_202E5D8
-_0802B5B4: .4byte gUnknown_202DF98
- thumb_func_end sub_802B57C
-
- thumb_func_start sub_802B5B8
-sub_802B5B8:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802B5EE
- bl sub_8011C34
- adds r4, r0, 0
- ldr r0, _0802B5F8
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl sub_8095228
- movs r1, 0x4
- strb r1, [r0]
- str r4, [r0, 0x28]
- movs r0, 0x3
- bl sub_802B548
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
-_0802B5EE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B5F8: .4byte gUnknown_203B2C8
- thumb_func_end sub_802B5B8
-
- thumb_func_start sub_802B5FC
-sub_802B5FC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802B61E
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _0802B61E
- bl sub_8012750
- movs r0, 0x4
- bl sub_802B548
-_0802B61E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802B5FC
-
- thumb_func_start sub_802B624
-sub_802B624:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802B638
- movs r0, 0x5
- bl sub_802B548
-_0802B638:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802B624
-
- thumb_func_start sub_802B640
-sub_802B640:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- bl sub_802B9D8
- lsls r0, 24
- cmp r0, 0
- beq _0802B65A
- movs r0, 0
- b _0802B706
-_0802B65A:
- ldr r5, _0802B710
- ldr r0, [r5]
- cmp r0, 0
- bne _0802B66C
- movs r0, 0xD4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0802B66C:
- ldr r0, [r5]
- str r6, [r0, 0x6C]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x74
- adds r1, r0, r1
- str r1, [r0, 0x70]
- adds r0, 0x74
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x6C]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x74
- ldr r0, _0802B714
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- cmp r4, 0
- beq _0802B6B0
- ldr r1, [r5]
- ldr r2, [r1, 0x6C]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, 0x7C
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_0802B6B0:
- ldr r0, [r5]
- ldr r0, [r0, 0x70]
- mov r1, r8
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x74
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x38
- bl sub_802B9A8
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_8013818
- ldr r2, [r5]
- ldr r0, _0802B718
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x50
- strh r1, [r0]
- ldr r0, _0802B71C
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x56
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x38
- bl sub_8013984
- bl sub_802B880
- bl sub_802B8D4
- movs r0, 0x1
-_0802B706:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802B710: .4byte gUnknown_203B2CC
-_0802B714: .4byte gUnknown_80DFBEC
-_0802B718: .4byte gUnknown_203B2D0
-_0802B71C: .4byte gUnknown_203B2D2
- thumb_func_end sub_802B640
-
- thumb_func_start sub_802B720
-sub_802B720:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0802B73C
- ldr r0, _0802B738
- ldr r0, [r0]
- adds r0, 0x38
- bl sub_8013660
- movs r0, 0
- b _0802B7A2
- .align 2, 0
-_0802B738: .4byte gUnknown_203B2CC
-_0802B73C:
- ldr r0, _0802B754
- ldr r0, [r0]
- adds r0, 0x38
- bl GetKeyPress
- cmp r0, 0x2
- beq _0802B75E
- cmp r0, 0x2
- bgt _0802B758
- cmp r0, 0x1
- beq _0802B768
- b _0802B77C
- .align 2, 0
-_0802B754: .4byte gUnknown_203B2CC
-_0802B758:
- cmp r0, 0x4
- beq _0802B772
- b _0802B77C
-_0802B75E:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802B7A2
-_0802B768:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802B7A2
-_0802B772:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0802B7A2
-_0802B77C:
- ldr r0, _0802B794
- ldr r0, [r0]
- adds r0, 0x38
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802B798
- movs r0, 0
- b _0802B7A2
- .align 2, 0
-_0802B794: .4byte gUnknown_203B2CC
-_0802B798:
- bl sub_802B880
- bl sub_802B8D4
- movs r0, 0x1
-_0802B7A2:
- pop {r1}
- bx r1
- thumb_func_end sub_802B720
-
- thumb_func_start sub_802B7A8
-sub_802B7A8:
- ldr r0, _0802B7CC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x56
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x50
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- adds r0, r2, r0
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0802B7CC: .4byte gUnknown_203B2CC
- thumb_func_end sub_802B7A8
-
- thumb_func_start sub_802B7D0
-sub_802B7D0:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802B818
- ldr r0, [r5]
- adds r0, 0x74
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_802B9A8
- adds r1, r0, 0
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x5A
- strh r1, [r2]
- adds r0, 0x38
- bl sub_8013984
- bl sub_802B880
- bl sub_802B8D4
- cmp r4, 0
- beq _0802B812
- ldr r0, [r5]
- adds r0, 0x38
- bl AddMenuCursorSprite
-_0802B812:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B818: .4byte gUnknown_203B2CC
- thumb_func_end sub_802B7D0
-
- thumb_func_start sub_802B81C
-sub_802B81C:
- push {r4,r5,lr}
- ldr r4, _0802B870
- ldr r2, [r4]
- cmp r2, 0
- beq _0802B86A
- ldr r1, _0802B874
- adds r0, r2, 0
- adds r0, 0x50
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r1, _0802B878
- adds r0, r2, 0
- adds r0, 0x56
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, [r2, 0x6C]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x74
- ldr r0, _0802B87C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802B86A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B870: .4byte gUnknown_203B2CC
-_0802B874: .4byte gUnknown_203B2D0
-_0802B878: .4byte gUnknown_203B2D2
-_0802B87C: .4byte gUnknown_80DFBD0
- thumb_func_end sub_802B81C
-
- thumb_func_start sub_802B880
-sub_802B880:
- push {r4,lr}
- ldr r4, _0802B8D0
- ldr r0, [r4]
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x6C]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x82
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x6C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x84
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x74
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B8D0: .4byte gUnknown_203B2CC
- thumb_func_end sub_802B880
-
- thumb_func_start sub_802B8D4
-sub_802B8D4:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r4, _0802B99C
- ldr r0, [r4]
- ldr r0, [r0, 0x6C]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x6C]
- bl sub_80073B8
- ldr r2, _0802B9A0
- ldr r0, [r4]
- ldr r3, [r0, 0x6C]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, _0802B9A4
- ldrb r0, [r0, 0x2]
- lsls r0, 3
- adds r0, 0x4
- ldr r3, [r4]
- adds r1, r3, 0
- adds r1, 0x56
- movs r5, 0
- ldrsh r2, [r1, r5]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- ldr r1, [r3, 0x6C]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r6, 0
- ldr r0, [r4]
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bge _0802B98A
- adds r7, r4, 0
-_0802B930:
- ldr r0, [r7]
- adds r0, 0x38
- adds r1, r6, 0
- bl sub_8013800
- adds r5, r0, 0
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x56
- movs r3, 0
- ldrsh r2, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- adds r0, r6
- adds r0, r1, r0
- ldrb r4, [r0]
- ldr r3, [r1, 0x6C]
- movs r0, 0xA
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_803B6B0
- bl sub_802BC7C
- adds r0, r4, 0
- bl sub_803C190
- adds r2, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x6C]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- adds r1, r5, 0
- bl sub_8014FF0
- adds r6, 0x1
- ldr r0, [r7]
- adds r0, 0x52
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r6, r0
- blt _0802B930
-_0802B98A:
- ldr r0, _0802B99C
- ldr r0, [r0]
- ldr r0, [r0, 0x6C]
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802B99C: .4byte gUnknown_203B2CC
-_0802B9A0: .4byte gUnknown_80DFC04
-_0802B9A4: .4byte gUnknown_80DFBE8
- thumb_func_end sub_802B8D4
-
- thumb_func_start sub_802B9A8
-sub_802B9A8:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0802B9AE:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096E14
- lsls r0, 24
- cmp r0, 0
- beq _0802B9C6
- ldr r0, _0802B9D4
- ldr r0, [r0]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_0802B9C6:
- adds r4, 0x1
- cmp r4, 0x37
- ble _0802B9AE
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0802B9D4: .4byte gUnknown_203B2CC
- thumb_func_end sub_802B9A8
-
- thumb_func_start sub_802B9D8
-sub_802B9D8:
- push {r4,lr}
- movs r4, 0
-_0802B9DC:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096E14
- lsls r0, 24
- cmp r0, 0
- beq _0802B9EE
- movs r0, 0
- b _0802B9F6
-_0802B9EE:
- adds r4, 0x1
- cmp r4, 0x37
- ble _0802B9DC
- movs r0, 0x1
-_0802B9F6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802B9D8
-
- thumb_func_start sub_802B9FC
-sub_802B9FC:
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0802BA80
- movs r0, 0x94
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r6, 0
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- adds r0, 0x88
- bl sub_801317C
- ldr r1, [r5]
- str r6, [r1, 0x24]
- adds r1, 0x28
- ldr r0, _0802BA84
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r1, [r5]
- ldr r2, _0802BA88
- adds r1, 0x40
- adds r0, r2, 0
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldr r1, [r5]
- adds r1, 0x58
- adds r0, r2, 0
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldm r0!, {r3,r4,r7}
- stm r1!, {r3,r4,r7}
- ldr r0, [r5]
- adds r0, 0x70
- ldm r2!, {r1,r4,r7}
- stm r0!, {r1,r4,r7}
- ldm r2!, {r3,r4,r7}
- stm r0!, {r3,r4,r7}
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x28
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r5]
- str r6, [r0, 0x8]
- bl sub_802BCC4
- bl sub_802BC7C
- movs r0, 0
- bl sub_802BB14
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802BA80: .4byte gUnknown_203B2D4
-_0802BA84: .4byte gUnknown_80DFC34
-_0802BA88: .4byte gUnknown_80DFC18
- thumb_func_end sub_802B9FC
-
- thumb_func_start sub_802BA8C
-sub_802BA8C:
- push {lr}
- ldr r0, _0802BAA4
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0802BAB8
- cmp r0, 0x1
- bgt _0802BAA8
- cmp r0, 0
- beq _0802BAB2
- b _0802BAC2
- .align 2, 0
-_0802BAA4: .4byte gUnknown_203B2D4
-_0802BAA8:
- cmp r0, 0x2
- beq _0802BAC2
- cmp r0, 0x3
- beq _0802BABE
- b _0802BAC2
-_0802BAB2:
- bl sub_802BB98
- b _0802BAC6
-_0802BAB8:
- bl sub_802BC08
- b _0802BAC6
-_0802BABE:
- movs r0, 0x3
- b _0802BAC8
-_0802BAC2:
- movs r0, 0x2
- b _0802BAC8
-_0802BAC6:
- movs r0, 0
-_0802BAC8:
- pop {r1}
- bx r1
- thumb_func_end sub_802BA8C
-
- thumb_func_start sub_802BACC
-sub_802BACC:
- push {r4,r5,lr}
- ldr r4, _0802BB0C
- ldr r2, [r4]
- cmp r2, 0
- beq _0802BB06
- ldr r0, [r2, 0x24]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x28
- ldr r0, _0802BB10
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x28
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802BB06:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802BB0C: .4byte gUnknown_203B2D4
-_0802BB10: .4byte gUnknown_80DFC18
- thumb_func_end sub_802BACC
-
- thumb_func_start sub_802BB14
-sub_802BB14:
- push {lr}
- ldr r1, _0802BB24
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802BB28
- pop {r0}
- bx r0
- .align 2, 0
-_0802BB24: .4byte gUnknown_203B2D4
- thumb_func_end sub_802BB14
-
- thumb_func_start sub_802BB28
-sub_802BB28:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0802BB94
- ldr r1, [r5]
- ldr r0, [r1]
- cmp r0, 0
- blt _0802BB8C
- cmp r0, 0x1
- bgt _0802BB8C
- ldr r0, [r1, 0x24]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073B8
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- bl sub_803C190
- adds r2, r0, 0
- ldr r0, [r5]
- ldr r3, [r0, 0x24]
- movs r4, 0
- str r4, [sp]
- movs r0, 0xA
- movs r1, 0
- bl sub_8014FF0
- ldr r3, [r5]
- ldr r1, [r3, 0x8]
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x10
- adds r0, r1
- ldr r2, [r0]
- ldr r3, [r3, 0x24]
- str r4, [sp]
- movs r0, 0x6
- movs r1, 0x14
- bl sub_8014FF0
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- bl sub_80073E0
- ldr r1, [r5]
- ldr r0, [r1, 0x8]
- adds r0, 0x1
- str r0, [r1, 0x8]
-_0802BB8C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802BB94: .4byte gUnknown_203B2D4
- thumb_func_end sub_802BB28
-
- thumb_func_start sub_802BB98
-sub_802BB98:
- push {r4,lr}
- ldr r0, _0802BBD4
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r4, r0, 0
- cmp r1, 0
- beq _0802BBBC
- ldr r0, [r2, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0802BBB4
- bl sub_8013E54
-_0802BBB4:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0802BBBC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0802BBD8
- cmp r0, 0x2
- beq _0802BBF6
- b _0802BC02
- .align 2, 0
-_0802BBD4: .4byte gUnknown_203B2D4
-_0802BBD8:
- movs r0, 0
- bl sub_80119D4
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- cmp r0, 0
- beq _0802BBEE
- movs r0, 0x1
- bl sub_802BB14
- b _0802BC02
-_0802BBEE:
- movs r0, 0x3
- bl sub_802BB14
- b _0802BC02
-_0802BBF6:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_802BB14
-_0802BC02:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802BB98
-
- thumb_func_start sub_802BC08
-sub_802BC08:
- push {r4,lr}
- ldr r0, _0802BC44
- ldr r3, [r0]
- ldr r2, [r3, 0x8]
- ldr r1, [r3, 0xC]
- adds r4, r0, 0
- cmp r2, r1
- bge _0802BC2E
- ldr r0, [r3, 0x20]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0802BC26
- bl sub_8013E54
-_0802BC26:
- ldr r1, [r4]
- ldr r0, [r1, 0x20]
- adds r0, 0x1
- str r0, [r1, 0x20]
-_0802BC2E:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x88
- ldr r1, [r1, 0x24]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0802BC48
- cmp r0, 0x2
- beq _0802BC68
- b _0802BC74
- .align 2, 0
-_0802BC44: .4byte gUnknown_203B2D4
-_0802BC48:
- movs r0, 0
- bl sub_80119D4
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- ldr r0, [r0, 0xC]
- cmp r1, r0
- bge _0802BC60
- movs r0, 0x1
- bl sub_802BB14
- b _0802BC74
-_0802BC60:
- movs r0, 0x3
- bl sub_802BB14
- b _0802BC74
-_0802BC68:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- bl sub_802BB14
-_0802BC74:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802BC08
-
- thumb_func_start sub_802BC7C
-sub_802BC7C:
- push {r4,lr}
- ldr r4, _0802BCA4
- bl sub_808D3BC
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_808DA34
- ldr r0, _0802BCA8
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- cmp r0, 0x1
- bne _0802BCB0
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _0802BCAC
- bl strcpy
- b _0802BCBA
- .align 2, 0
-_0802BCA4: .4byte gUnknown_202DF98
-_0802BCA8: .4byte gUnknown_203B46C
-_0802BCAC: .4byte gUnknown_80DFC4C
-_0802BCB0:
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _0802BCC0
- bl strcpy
-_0802BCBA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802BCC0: .4byte gUnknown_80DFC50
- thumb_func_end sub_802BC7C
-
- thumb_func_start sub_802BCC4
-sub_802BCC4:
- push {r4,lr}
- ldr r4, _0802BCDC
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl sub_803C1A0
- adds r3, r0, 0
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0xC]
- str r3, [r1, 0x10]
- b _0802BD08
- .align 2, 0
-_0802BCDC: .4byte gUnknown_203B2D4
-_0802BCE0:
- cmp r0, 0x23
- bne _0802BD06
- ldrb r2, [r3, 0x1]
- cmp r2, 0x50
- beq _0802BCF0
- adds r1, r3, 0x2
- cmp r2, 0x70
- bne _0802BD02
-_0802BCF0:
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- adds r1, 0x1
- str r1, [r0, 0xC]
- lsls r1, 2
- adds r0, 0x10
- adds r0, r1
- adds r1, r3, 0x2
- str r1, [r0]
-_0802BD02:
- adds r3, r1, 0
- b _0802BD08
-_0802BD06:
- adds r3, 0x1
-_0802BD08:
- ldrb r0, [r3]
- cmp r0, 0
- bne _0802BCE0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802BCC4
-
- thumb_func_start sub_802BD14
-sub_802BD14:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- bl sub_802C0E8
- lsls r0, 24
- cmp r0, 0
- beq _0802BD2E
- movs r0, 0
- b _0802BDD4
-_0802BD2E:
- ldr r5, _0802BDE0
- ldr r0, [r5]
- cmp r0, 0
- bne _0802BD40
- movs r0, 0xA4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0802BD40:
- ldr r0, [r5]
- str r6, [r0, 0x38]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x40
- adds r1, r0, r1
- str r1, [r0, 0x3C]
- adds r0, 0x40
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x38]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x40
- ldr r0, _0802BDE4
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r5]
- ldr r1, [r2, 0x3C]
- adds r0, r2, 0
- adds r0, 0xA0
- str r0, [r1, 0x14]
- cmp r4, 0
- beq _0802BD8E
- ldr r1, [r2, 0x38]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x48
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_0802BD8E:
- ldr r0, [r5]
- ldr r0, [r0, 0x3C]
- mov r1, r8
- bl sub_8012D34
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x40
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x4
- bl sub_802C0B8
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_8013848
- ldr r0, [r5]
- ldr r1, _0802BDE8
- ldrh r1, [r1]
- strh r1, [r0, 0x1C]
- adds r0, 0x4
- bl sub_8013984
- bl sub_802BF30
- bl sub_802BFA0
- movs r0, 0x1
-_0802BDD4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802BDE0: .4byte gUnknown_203B2D8
-_0802BDE4: .4byte gUnknown_80DFC74
-_0802BDE8: .4byte gUnknown_203B2DC
- thumb_func_end sub_802BD14
-
- thumb_func_start sub_802BDEC
-sub_802BDEC:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0802BE08
- ldr r0, _0802BE04
- ldr r0, [r0]
- adds r0, 0x4
- bl sub_8013660
- movs r0, 0
- b _0802BE6E
- .align 2, 0
-_0802BE04: .4byte gUnknown_203B2D8
-_0802BE08:
- ldr r0, _0802BE20
- ldr r0, [r0]
- adds r0, 0x4
- bl GetKeyPress
- cmp r0, 0x2
- beq _0802BE2A
- cmp r0, 0x2
- bgt _0802BE24
- cmp r0, 0x1
- beq _0802BE34
- b _0802BE48
- .align 2, 0
-_0802BE20: .4byte gUnknown_203B2D8
-_0802BE24:
- cmp r0, 0x4
- beq _0802BE3E
- b _0802BE48
-_0802BE2A:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802BE6E
-_0802BE34:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802BE6E
-_0802BE3E:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0802BE6E
-_0802BE48:
- ldr r0, _0802BE60
- ldr r0, [r0]
- adds r0, 0x4
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802BE64
- movs r0, 0
- b _0802BE6E
- .align 2, 0
-_0802BE60: .4byte gUnknown_203B2D8
-_0802BE64:
- bl sub_802BF30
- bl sub_802BFA0
- movs r0, 0x1
-_0802BE6E:
- pop {r1}
- bx r1
- thumb_func_end sub_802BDEC
-
- thumb_func_start sub_802BE74
-sub_802BE74:
- ldr r0, _0802BE90
- ldr r1, [r0]
- movs r0, 0x22
- ldrsh r2, [r1, r0]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- muls r0, r2
- movs r3, 0x1C
- ldrsh r2, [r1, r3]
- adds r0, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_0802BE90: .4byte gUnknown_203B2D8
- thumb_func_end sub_802BE74
-
- thumb_func_start sub_802BE94
-sub_802BE94:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802BED8
- ldr r0, [r5]
- adds r0, 0x40
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_802C0B8
- adds r1, r0, 0
- ldr r0, [r5]
- strh r1, [r0, 0x26]
- adds r0, 0x4
- bl sub_8013984
- bl sub_802BF30
- bl sub_802BFA0
- cmp r4, 0
- beq _0802BED2
- ldr r0, [r5]
- adds r0, 0x4
- bl AddMenuCursorSprite
-_0802BED2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802BED8: .4byte gUnknown_203B2D8
- thumb_func_end sub_802BE94
-
- thumb_func_start sub_802BEDC
-sub_802BEDC:
- push {r4,r5,lr}
- ldr r4, _0802BF24
- ldr r2, [r4]
- cmp r2, 0
- beq _0802BF1C
- ldr r1, _0802BF28
- ldrh r0, [r2, 0x1C]
- strh r0, [r1]
- ldr r0, [r2, 0x38]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x40
- ldr r0, _0802BF2C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x40
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802BF1C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802BF24: .4byte gUnknown_203B2D8
-_0802BF28: .4byte gUnknown_203B2DC
-_0802BF2C: .4byte gUnknown_80DFC5C
- thumb_func_end sub_802BEDC
-
- thumb_func_start sub_802BF30
-sub_802BF30:
- push {r4,lr}
- ldr r4, _0802BF9C
- ldr r0, [r4]
- adds r0, 0xA0
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xA1
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xA2
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xA3
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl sub_8009614
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x38]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4E
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x38]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x50
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x40
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802BF9C: .4byte gUnknown_203B2D8
- thumb_func_end sub_802BF30
-
- thumb_func_start sub_802BFA0
-sub_802BFA0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xDC
- ldr r4, _0802C060
- ldr r0, [r4]
- ldr r0, [r0, 0x38]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x38]
- bl sub_80073B8
- ldr r1, [r4]
- movs r2, 0x22
- ldrsh r0, [r1, r2]
- lsls r0, 3
- adds r0, 0xA
- ldr r2, _0802C064
- ldr r3, [r1, 0x38]
- movs r1, 0
- str r1, [sp]
- bl xxx_call_draw_string
- movs r6, 0
- ldr r0, [r4]
- movs r3, 0x1E
- ldrsh r0, [r0, r3]
- cmp r6, r0
- bge _0802C09A
- adds r7, r4, 0
- ldr r0, _0802C068
- mov r9, r0
- add r1, sp, 0x5C
- mov r8, r1
-_0802BFE8:
- ldr r1, [r7]
- movs r3, 0x22
- ldrsh r2, [r1, r3]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- muls r0, r2
- adds r0, r6
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8095FE8
- adds r5, r0, 0
- ldr r0, [r7]
- ldr r1, [r0, 0x38]
- str r1, [sp, 0x4]
- adds r0, 0x4
- adds r1, r6, 0
- bl sub_8013800
- str r0, [sp, 0x4C]
- ldrb r0, [r5]
- cmp r0, 0x1
- bne _0802C06C
- ldr r0, [r7]
- adds r0, 0x4
- adds r1, r6, 0
- bl sub_8013800
- adds r4, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x38]
- movs r0, 0xA
- adds r1, r4, 0
- movs r2, 0x6
- bl sub_803B6B0
- bl sub_808D33C
- adds r1, r0, 0
- mov r0, r9
- bl sub_808DA34
- ldrb r0, [r5, 0x5]
- bl sub_803C190
- adds r1, r0, 0
- mov r0, r8
- mov r2, r9
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x38]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- adds r1, r4, 0
- mov r2, r8
- bl xxx_call_draw_string
- b _0802C08E
- .align 2, 0
-_0802C060: .4byte gUnknown_203B2D8
-_0802C064: .4byte gUnknown_80DFC8C
-_0802C068: .4byte gUnknown_202DF98
-_0802C06C:
- adds r0, r5, 0
- add r1, sp, 0x4
- bl sub_803B35C
- adds r0, r5, 0
- bl sub_80968B0
- lsls r0, 24
- cmp r0, 0
- beq _0802C088
- mov r1, sp
- adds r1, 0x47
- movs r0, 0x2
- strb r0, [r1]
-_0802C088:
- add r0, sp, 0x4
- bl sub_803B6D4
-_0802C08E:
- adds r6, 0x1
- ldr r0, [r7]
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0802BFE8
-_0802C09A:
- ldr r0, _0802C0B4
- ldr r0, [r0]
- ldr r0, [r0, 0x38]
- bl sub_80073E0
- add sp, 0xDC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C0B4: .4byte gUnknown_203B2D8
- thumb_func_end sub_802BFA0
-
- thumb_func_start sub_802C0B8
-sub_802C0B8:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0802C0BE:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096000
- lsls r0, 24
- cmp r0, 0
- bne _0802C0D6
- ldr r0, _0802C0E4
- ldr r0, [r0]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_0802C0D6:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0802C0BE
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0802C0E4: .4byte gUnknown_203B2D8
- thumb_func_end sub_802C0B8
-
- thumb_func_start sub_802C0E8
-sub_802C0E8:
- push {r4,lr}
- movs r4, 0
-_0802C0EC:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096000
- lsls r0, 24
- cmp r0, 0
- bne _0802C0FE
- movs r0, 0
- b _0802C106
-_0802C0FE:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0802C0EC
- movs r0, 0x1
-_0802C106:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802C0E8
-
- thumb_func_start sub_802C10C
-sub_802C10C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- bl sub_802C4A4
- lsls r0, 24
- cmp r0, 0
- beq _0802C126
- movs r0, 0
- b _0802C1CC
-_0802C126:
- ldr r5, _0802C1D8
- ldr r0, [r5]
- cmp r0, 0
- bne _0802C138
- movs r0, 0xA8
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
-_0802C138:
- ldr r0, [r5]
- str r6, [r0, 0x3C]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x44
- adds r1, r0, r1
- str r1, [r0, 0x40]
- adds r0, 0x44
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x3C]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x44
- ldr r0, _0802C1DC
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r5]
- ldr r1, [r2, 0x40]
- adds r0, r2, 0
- adds r0, 0xA4
- str r0, [r1, 0x14]
- cmp r4, 0
- beq _0802C186
- ldr r1, [r2, 0x3C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_0802C186:
- ldr r0, [r5]
- ldr r0, [r0, 0x40]
- mov r1, r8
- bl sub_8012D34
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x44
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x8
- bl sub_802C474
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_8013848
- ldr r0, [r5]
- ldr r1, _0802C1E0
- ldrh r1, [r1]
- strh r1, [r0, 0x20]
- adds r0, 0x8
- bl sub_8013984
- bl sub_802C328
- bl sub_802C39C
- movs r0, 0x1
-_0802C1CC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802C1D8: .4byte gUnknown_203B2E0
-_0802C1DC: .4byte gUnknown_80DFCB4
-_0802C1E0: .4byte gUnknown_203B2E4
- thumb_func_end sub_802C10C
-
- thumb_func_start sub_802C1E4
-sub_802C1E4:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0802C200
- ldr r0, _0802C1FC
- ldr r0, [r0]
- adds r0, 0x8
- bl sub_8013660
- movs r0, 0
- b _0802C266
- .align 2, 0
-_0802C1FC: .4byte gUnknown_203B2E0
-_0802C200:
- ldr r0, _0802C218
- ldr r0, [r0]
- adds r0, 0x8
- bl GetKeyPress
- cmp r0, 0x2
- beq _0802C222
- cmp r0, 0x2
- bgt _0802C21C
- cmp r0, 0x1
- beq _0802C22C
- b _0802C240
- .align 2, 0
-_0802C218: .4byte gUnknown_203B2E0
-_0802C21C:
- cmp r0, 0x4
- beq _0802C236
- b _0802C240
-_0802C222:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802C266
-_0802C22C:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802C266
-_0802C236:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0802C266
-_0802C240:
- ldr r0, _0802C258
- ldr r0, [r0]
- adds r0, 0x8
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802C25C
- movs r0, 0
- b _0802C266
- .align 2, 0
-_0802C258: .4byte gUnknown_203B2E0
-_0802C25C:
- bl sub_802C328
- bl sub_802C39C
- movs r0, 0x1
-_0802C266:
- pop {r1}
- bx r1
- thumb_func_end sub_802C1E4
-
- thumb_func_start sub_802C26C
-sub_802C26C:
- ldr r0, _0802C288
- ldr r1, [r0]
- movs r0, 0x26
- ldrsh r2, [r1, r0]
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- muls r0, r2
- movs r3, 0x20
- ldrsh r2, [r1, r3]
- adds r0, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_0802C288: .4byte gUnknown_203B2E0
- thumb_func_end sub_802C26C
-
- thumb_func_start sub_802C28C
-sub_802C28C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802C2D0
- ldr r0, [r5]
- adds r0, 0x44
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_802C474
- adds r1, r0, 0
- ldr r0, [r5]
- strh r1, [r0, 0x2A]
- adds r0, 0x8
- bl sub_8013984
- bl sub_802C328
- bl sub_802C39C
- cmp r4, 0
- beq _0802C2CA
- ldr r0, [r5]
- adds r0, 0x8
- bl AddMenuCursorSprite
-_0802C2CA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C2D0: .4byte gUnknown_203B2E0
- thumb_func_end sub_802C28C
-
- thumb_func_start sub_802C2D4
-sub_802C2D4:
- push {r4,r5,lr}
- ldr r4, _0802C31C
- ldr r2, [r4]
- cmp r2, 0
- beq _0802C314
- ldr r1, _0802C320
- ldrh r0, [r2, 0x20]
- strh r0, [r1]
- ldr r0, [r2, 0x3C]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x44
- ldr r0, _0802C324
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x44
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802C314:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C31C: .4byte gUnknown_203B2E0
-_0802C320: .4byte gUnknown_203B2E4
-_0802C324: .4byte gUnknown_80DFC9C
- thumb_func_end sub_802C2D4
-
- thumb_func_start sub_802C328
-sub_802C328:
- push {r4,lr}
- ldr r4, _0802C398
- ldr r0, [r4]
- ldrh r1, [r0, 0x28]
- adds r0, 0xA4
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x26]
- adds r0, 0xA5
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xA6
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xA7
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl sub_8009614
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x3C]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x52
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x3C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x54
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x44
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C398: .4byte gUnknown_203B2E0
- thumb_func_end sub_802C328
-
- thumb_func_start sub_802C39C
-sub_802C39C:
- push {r4-r7,lr}
- sub sp, 0x60
- ldr r7, _0802C3F8
- ldr r0, [r7]
- ldr r0, [r0, 0x3C]
- bl sub_8008C54
- ldr r0, [r7]
- ldr r0, [r0, 0x3C]
- bl sub_80073B8
- ldr r0, [r7]
- movs r1, 0x26
- ldrsh r4, [r0, r1]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _0802C3FC
- ldr r3, [r0, 0x3C]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0xA6
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- movs r3, 0x26
- ldrsh r2, [r1, r3]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x3C]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r6, 0
- b _0802C452
- .align 2, 0
-_0802C3F8: .4byte gUnknown_203B2E0
-_0802C3FC: .4byte gUnknown_80DFCCC
-_0802C400:
- ldr r1, [r7]
- movs r3, 0x26
- ldrsh r2, [r1, r3]
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- muls r0, r2
- adds r0, r6
- adds r1, r0
- ldrb r5, [r1]
- adds r0, r5, 0
- bl sub_8096574
- adds r4, r0, 0
- ldr r0, [r7]
- ldr r1, [r0, 0x3C]
- str r1, [sp, 0x8]
- adds r0, 0x8
- adds r1, r6, 0
- bl sub_8013800
- str r0, [sp, 0x50]
- adds r0, r4, 0
- add r1, sp, 0x8
- bl sub_803B35C
- adds r0, r5, 0
- bl sub_8096574
- bl sub_80968B0
- lsls r0, 24
- cmp r0, 0
- beq _0802C44A
- mov r1, sp
- adds r1, 0x4B
- movs r0, 0x2
- strb r0, [r1]
-_0802C44A:
- add r0, sp, 0x8
- bl sub_803B6D4
- adds r6, 0x1
-_0802C452:
- ldr r0, [r7]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0802C400
- ldr r0, _0802C470
- ldr r0, [r0]
- ldr r0, [r0, 0x3C]
- bl sub_80073E0
- add sp, 0x60
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C470: .4byte gUnknown_203B2E0
- thumb_func_end sub_802C39C
-
- thumb_func_start sub_802C474
-sub_802C474:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0802C47A:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_809658C
- lsls r0, 24
- cmp r0, 0
- bne _0802C492
- ldr r0, _0802C4A0
- ldr r0, [r0]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_0802C492:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0802C47A
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0802C4A0: .4byte gUnknown_203B2E0
- thumb_func_end sub_802C474
-
- thumb_func_start sub_802C4A4
-sub_802C4A4:
- push {r4,lr}
- movs r4, 0
-_0802C4A8:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_809658C
- lsls r0, 24
- cmp r0, 0
- bne _0802C4BA
- movs r0, 0
- b _0802C4C2
-_0802C4BA:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0802C4A8
- movs r0, 0x1
-_0802C4C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802C4A4
-
- thumb_func_start sub_802C4C8
-sub_802C4C8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- beq _0802C4E2
- movs r0, 0
- b _0802C580
-_0802C4E2:
- ldr r5, _0802C58C
- movs r0, 0xA8
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x3C]
- lsls r1, r6, 1
- adds r1, r6
- lsls r1, 3
- adds r1, 0x44
- adds r1, r0, r1
- str r1, [r0, 0x40]
- adds r0, 0x44
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x3C]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x44
- ldr r0, _0802C590
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r5]
- ldr r1, [r2, 0x40]
- adds r0, r2, 0
- adds r0, 0xA4
- str r0, [r1, 0x14]
- cmp r4, 0
- beq _0802C53A
- ldr r1, [r2, 0x3C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x4C
- adds r1, r0
- ldr r0, [r4]
- str r0, [r1]
-_0802C53A:
- ldr r0, [r5]
- ldr r0, [r0, 0x40]
- mov r1, r8
- bl sub_8012D34
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x44
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x8
- bl sub_802C80C
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_8013848
- ldr r0, [r5]
- ldr r1, _0802C594
- ldrh r1, [r1]
- strh r1, [r0, 0x20]
- adds r0, 0x8
- bl sub_8013984
- bl sub_802C6DC
- bl sub_802C750
- movs r0, 0x1
-_0802C580:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802C58C: .4byte gUnknown_203B2E8
-_0802C590: .4byte gUnknown_80DFCFC
-_0802C594: .4byte gUnknown_203B2EC
- thumb_func_end sub_802C4C8
-
- thumb_func_start sub_802C598
-sub_802C598:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0802C5B4
- ldr r0, _0802C5B0
- ldr r0, [r0]
- adds r0, 0x8
- bl sub_8013660
- movs r0, 0
- b _0802C61A
- .align 2, 0
-_0802C5B0: .4byte gUnknown_203B2E8
-_0802C5B4:
- ldr r0, _0802C5CC
- ldr r0, [r0]
- adds r0, 0x8
- bl GetKeyPress
- cmp r0, 0x2
- beq _0802C5D6
- cmp r0, 0x2
- bgt _0802C5D0
- cmp r0, 0x1
- beq _0802C5E0
- b _0802C5F4
- .align 2, 0
-_0802C5CC: .4byte gUnknown_203B2E8
-_0802C5D0:
- cmp r0, 0x4
- beq _0802C5EA
- b _0802C5F4
-_0802C5D6:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802C61A
-_0802C5E0:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802C61A
-_0802C5EA:
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _0802C61A
-_0802C5F4:
- ldr r0, _0802C60C
- ldr r0, [r0]
- adds r0, 0x8
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802C610
- movs r0, 0
- b _0802C61A
- .align 2, 0
-_0802C60C: .4byte gUnknown_203B2E8
-_0802C610:
- bl sub_802C6DC
- bl sub_802C750
- movs r0, 0x1
-_0802C61A:
- pop {r1}
- bx r1
- thumb_func_end sub_802C598
-
- thumb_func_start sub_802C620
-sub_802C620:
- ldr r0, _0802C63C
- ldr r1, [r0]
- movs r0, 0x26
- ldrsh r2, [r1, r0]
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- muls r0, r2
- movs r3, 0x20
- ldrsh r2, [r1, r3]
- adds r0, r2
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_0802C63C: .4byte gUnknown_203B2E8
- thumb_func_end sub_802C620
-
- thumb_func_start sub_802C640
-sub_802C640:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802C684
- ldr r0, [r5]
- adds r0, 0x44
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- bl sub_802C80C
- adds r1, r0, 0
- ldr r0, [r5]
- strh r1, [r0, 0x2A]
- adds r0, 0x8
- bl sub_8013984
- bl sub_802C6DC
- bl sub_802C750
- cmp r4, 0
- beq _0802C67E
- ldr r0, [r5]
- adds r0, 0x8
- bl AddMenuCursorSprite
-_0802C67E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C684: .4byte gUnknown_203B2E8
- thumb_func_end sub_802C640
-
- thumb_func_start sub_802C688
-sub_802C688:
- push {r4,r5,lr}
- ldr r4, _0802C6D0
- ldr r2, [r4]
- cmp r2, 0
- beq _0802C6C8
- ldr r1, _0802C6D4
- ldrh r0, [r2, 0x20]
- strh r0, [r1]
- ldr r0, [r2, 0x3C]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x44
- ldr r0, _0802C6D8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x44
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802C6C8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C6D0: .4byte gUnknown_203B2E8
-_0802C6D4: .4byte gUnknown_203B2EC
-_0802C6D8: .4byte gUnknown_80DFCE4
- thumb_func_end sub_802C688
-
- thumb_func_start sub_802C6DC
-sub_802C6DC:
- push {r4,lr}
- ldr r4, _0802C74C
- ldr r0, [r4]
- ldrh r1, [r0, 0x28]
- adds r0, 0xA4
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x26]
- adds r0, 0xA5
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xA6
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xA7
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl sub_8009614
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x3C]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x52
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x3C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x54
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x44
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C74C: .4byte gUnknown_203B2E8
- thumb_func_end sub_802C6DC
-
- thumb_func_start sub_802C750
-sub_802C750:
- push {r4-r6,lr}
- sub sp, 0x60
- ldr r6, _0802C7AC
- ldr r0, [r6]
- ldr r0, [r0, 0x3C]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x3C]
- bl sub_80073B8
- ldr r0, [r6]
- movs r1, 0x26
- ldrsh r4, [r0, r1]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _0802C7B0
- ldr r3, [r0, 0x3C]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xA6
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- movs r3, 0x26
- ldrsh r2, [r1, r3]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x3C]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r5, 0
- b _0802C7EC
- .align 2, 0
-_0802C7AC: .4byte gUnknown_203B2E8
-_0802C7B0: .4byte gUnknown_80DFD14
-_0802C7B4:
- ldr r1, [r6]
- movs r3, 0x26
- ldrsh r2, [r1, r3]
- movs r3, 0x24
- ldrsh r0, [r1, r3]
- muls r0, r2
- adds r0, r5
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8096AB4
- adds r4, r0, 0
- ldr r0, [r6]
- ldr r1, [r0, 0x3C]
- str r1, [sp, 0x8]
- adds r0, 0x8
- adds r1, r5, 0
- bl sub_8013800
- str r0, [sp, 0x50]
- adds r0, r4, 0
- add r1, sp, 0x8
- bl sub_803B35C
- add r0, sp, 0x8
- bl sub_803B6D4
- adds r5, 0x1
-_0802C7EC:
- ldr r0, [r6]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0802C7B4
- ldr r0, _0802C808
- ldr r0, [r0]
- ldr r0, [r0, 0x3C]
- bl sub_80073E0
- add sp, 0x60
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C808: .4byte gUnknown_203B2E8
- thumb_func_end sub_802C750
-
- thumb_func_start sub_802C80C
-sub_802C80C:
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0
-_0802C812:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096ACC
- lsls r0, 24
- cmp r0, 0
- bne _0802C82A
- ldr r0, _0802C838
- ldr r0, [r0]
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_0802C82A:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0802C812
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0802C838: .4byte gUnknown_203B2E8
- thumb_func_end sub_802C80C
-
- thumb_func_start sub_802C83C
-sub_802C83C:
- push {r4,lr}
- movs r4, 0
-_0802C840:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096ACC
- lsls r0, 24
- cmp r0, 0
- bne _0802C852
- movs r0, 0
- b _0802C85A
-_0802C852:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0802C840
- movs r0, 0x1
-_0802C85A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802C83C
-
- thumb_func_start sub_802C860
-sub_802C860:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_802C83C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0802C890
- ldr r4, _0802C88C
- movs r0, 0xFE
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- str r5, [r0, 0x68]
- str r6, [r0]
- movs r0, 0
- bl sub_802C910
- movs r0, 0x1
- b _0802C892
- .align 2, 0
-_0802C88C: .4byte gUnknown_203B2F0
-_0802C890:
- movs r0, 0
-_0802C892:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_802C860
-
- thumb_func_start sub_802C898
-sub_802C898:
- push {lr}
- ldr r0, _0802C8B0
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r0, 0x5
- bhi _0802C8E8
- lsls r0, 2
- ldr r1, _0802C8B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802C8B0: .4byte gUnknown_203B2F0
-_0802C8B4: .4byte _0802C8B8
- .align 2, 0
-_0802C8B8:
- .4byte _0802C8D0
- .4byte _0802C8D0
- .4byte _0802C8D6
- .4byte _0802C8DC
- .4byte _0802C8E2
- .4byte _0802C8E8
-_0802C8D0:
- bl sub_802CC00
- b _0802C8EC
-_0802C8D6:
- bl sub_802CC70
- b _0802C8EC
-_0802C8DC:
- bl sub_802CD38
- b _0802C8EC
-_0802C8E2:
- bl sub_802CDB8
- b _0802C8EC
-_0802C8E8:
- movs r0, 0x3
- b _0802C8EE
-_0802C8EC:
- movs r0, 0
-_0802C8EE:
- pop {r1}
- bx r1
- thumb_func_end sub_802C898
-
- thumb_func_start sub_802C8F4
-sub_802C8F4:
- push {r4,lr}
- ldr r4, _0802C90C
- ldr r0, [r4]
- cmp r0, 0
- beq _0802C906
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802C906:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C90C: .4byte gUnknown_203B2F0
- thumb_func_end sub_802C8F4
-
- thumb_func_start sub_802C910
-sub_802C910:
- push {lr}
- ldr r1, _0802C924
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_802C928
- bl sub_802C9D8
- pop {r0}
- bx r0
- .align 2, 0
-_0802C924: .4byte gUnknown_203B2F0
- thumb_func_end sub_802C910
-
- thumb_func_start sub_802C928
-sub_802C928:
- push {r4-r7,lr}
- ldr r4, _0802C94C
- ldr r0, [r4]
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _0802C954
- cmp r0, 0x3
- beq _0802C980
- movs r2, 0
- ldr r3, _0802C950
- b _0802C998
- .align 2, 0
-_0802C94C: .4byte gUnknown_203B2F0
-_0802C950: .4byte gUnknown_80DFD28
-_0802C954:
- bl sub_802CAA4
- ldr r2, [r4]
- movs r0, 0xE6
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802C97C
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0x86
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- b _0802C9B8
- .align 2, 0
-_0802C97C: .4byte gUnknown_80DFD40
-_0802C980:
- movs r7, 0xF2
- lsls r7, 1
- adds r1, r7
- ldr r0, _0802C994
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0802C9B8
- .align 2, 0
-_0802C994: .4byte gUnknown_80DFD58
-_0802C998:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r2, 0x1
- cmp r2, 0x3
- ble _0802C998
-_0802C9B8:
- bl sub_8004914
- ldr r0, _0802C9D4
- ldr r0, [r0]
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802C9D4: .4byte gUnknown_203B2F0
- thumb_func_end sub_802C928
-
- thumb_func_start sub_802C9D8
-sub_802C9D8:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _0802C9F4
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r4, r1, 0
- cmp r0, 0x5
- bhi _0802CA9C
- lsls r0, 2
- ldr r1, _0802C9F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802C9F4: .4byte gUnknown_203B2F0
-_0802C9F8: .4byte _0802C9FC
- .align 2, 0
-_0802C9FC:
- .4byte _0802CA14
- .4byte _0802CA20
- .4byte _0802CA28
- .4byte _0802CA48
- .4byte _0802CA80
- .4byte _0802CA9C
-_0802CA14:
- movs r0, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_802C4C8
- b _0802CA9C
-_0802CA20:
- movs r0, 0x1
- bl sub_802C640
- b _0802CA9C
-_0802CA28:
- bl sub_802C750
- ldr r0, _0802CA44
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- movs r3, 0x86
- lsls r3, 1
- adds r1, r2, r3
- ldr r2, [r2, 0x68]
- str r2, [sp]
- movs r2, 0x2
- b _0802CA6E
- .align 2, 0
-_0802CA44: .4byte gUnknown_203B2F0
-_0802CA48:
- bl sub_802CBAC
- bl sub_802C750
- ldr r4, _0802CA7C
- ldr r0, [r4]
- adds r0, 0x6C
- movs r1, 0
- bl sub_8012EA4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xBC
- movs r2, 0xA6
- lsls r2, 1
- adds r1, r2
- movs r2, 0x6
- str r2, [sp]
- movs r2, 0x3
-_0802CA6E:
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0802CA9C
- .align 2, 0
-_0802CA7C: .4byte gUnknown_203B2F0
-_0802CA80:
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl sub_8096AB4
- ldr r1, [r4]
- adds r1, 0x10
- bl sub_803B35C
- ldr r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x10]
- adds r0, 0x10
- bl sub_802DE84
-_0802CA9C:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802C9D8
-
- thumb_func_start sub_802CAA4
-sub_802CAA4:
- push {r4-r7,lr}
- movs r7, 0
- ldr r5, _0802CAC8
- ldr r0, [r5]
- ldrb r0, [r0, 0xC]
- bl sub_8096AB4
- adds r4, r0, 0
- ldr r2, [r5]
- ldr r0, [r2]
- cmp r0, 0
- bne _0802CB26
- ldrb r0, [r4]
- cmp r0, 0x5
- beq _0802CACC
- cmp r0, 0x6
- beq _0802CB10
- b _0802CB26
- .align 2, 0
-_0802CAC8: .4byte gUnknown_203B2F0
-_0802CACC:
- movs r0, 0x86
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _0802CAFC
- str r0, [r1]
- adds r0, r4, 0
- bl sub_809693C
- lsls r0, 24
- cmp r0, 0
- bne _0802CAEE
- ldrb r0, [r4, 0x4]
- bl sub_80A2824
- lsls r0, 24
- cmp r0, 0
- bne _0802CB00
-_0802CAEE:
- ldr r0, [r5]
- movs r1, 0x88
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- b _0802CB0A
- .align 2, 0
-_0802CAFC: .4byte gUnknown_80DFD70
-_0802CB00:
- ldr r0, [r5]
- movs r1, 0x88
- lsls r1, 1
- adds r0, r1
- movs r1, 0x2
-_0802CB0A:
- str r1, [r0]
- adds r7, 0x1
- b _0802CB26
-_0802CB10:
- movs r0, 0x86
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _0802CB9C
- str r0, [r1]
- movs r0, 0x88
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x3
- str r0, [r1]
- movs r7, 0x1
-_0802CB26:
- ldr r4, _0802CBA0
- ldr r6, [r4]
- lsls r1, r7, 3
- movs r0, 0x86
- lsls r0, 1
- adds r3, r6, r0
- adds r2, r3, r1
- ldr r0, _0802CBA4
- ldr r0, [r0]
- str r0, [r2]
- movs r0, 0x88
- lsls r0, 1
- adds r5, r6, r0
- adds r1, r5, r1
- movs r0, 0x4
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r2, r3, r1
- ldr r0, _0802CBA8
- ldr r0, [r0]
- str r0, [r2]
- adds r1, r5, r1
- movs r0, 0x7
- str r0, [r1]
- adds r7, 0x1
- lsls r1, r7, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r1, r5, r1
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- mov r12, r4
- cmp r3, r7
- bge _0802CB8C
- adds r4, r6, 0
- adds r1, r5, 0
- movs r5, 0x1
- negs r5, r5
-_0802CB78:
- ldr r2, [r1]
- cmp r2, r5
- beq _0802CB84
- ldr r0, [r4, 0x68]
- cmp r2, r0
- beq _0802CB94
-_0802CB84:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, r7
- blt _0802CB78
-_0802CB8C:
- mov r0, r12
- ldr r1, [r0]
- movs r0, 0x7
- str r0, [r1, 0x68]
-_0802CB94:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802CB9C: .4byte gUnknown_80DFD7C
-_0802CBA0: .4byte gUnknown_203B2F0
-_0802CBA4: .4byte gUnknown_80D494C
-_0802CBA8: .4byte gUnknown_80D4970
- thumb_func_end sub_802CAA4
-
- thumb_func_start sub_802CBAC
-sub_802CBAC:
- ldr r0, _0802CBF4
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- movs r1, 0xA6
- lsls r1, 1
- add r1, r12
- ldr r0, _0802CBF8
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xA8
- lsls r1, 1
- add r1, r12
- movs r0, 0x5
- str r0, [r1]
- movs r2, 0x1
- movs r1, 0xAA
- lsls r1, 1
- add r1, r12
- ldr r0, _0802CBFC
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xAC
- lsls r1, 1
- add r1, r12
- movs r0, 0x6
- str r0, [r1]
- movs r0, 0xAE
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- movs r0, 0xB0
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- bx lr
- .align 2, 0
-_0802CBF4: .4byte gUnknown_203B2F0
-_0802CBF8: .4byte gUnknown_80D4920
-_0802CBFC: .4byte gUnknown_80D4928
- thumb_func_end sub_802CBAC
-
- thumb_func_start sub_802CC00
-sub_802CC00:
- push {lr}
- movs r0, 0x1
- bl sub_802C598
- cmp r0, 0x4
- bhi _0802CC6A
- lsls r0, 2
- ldr r1, _0802CC18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802CC18: .4byte _0802CC1C
- .align 2, 0
-_0802CC1C:
- .4byte _0802CC6A
- .4byte _0802CC6A
- .4byte _0802CC60
- .4byte _0802CC30
- .4byte _0802CC48
-_0802CC30:
- bl sub_802C620
- ldr r1, _0802CC44
- ldr r1, [r1]
- strb r0, [r1, 0xC]
- movs r0, 0x2
- bl sub_802C910
- b _0802CC6A
- .align 2, 0
-_0802CC44: .4byte gUnknown_203B2F0
-_0802CC48:
- bl sub_802C620
- ldr r1, _0802CC5C
- ldr r1, [r1]
- strb r0, [r1, 0xC]
- movs r0, 0x4
- bl sub_802C910
- b _0802CC6A
- .align 2, 0
-_0802CC5C: .4byte gUnknown_203B2F0
-_0802CC60:
- bl sub_802C688
- movs r0, 0x5
- bl sub_802C910
-_0802CC6A:
- pop {r0}
- bx r0
- thumb_func_end sub_802CC00
-
- thumb_func_start sub_802CC70
-sub_802CC70:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802C598
- ldr r4, _0802CCB4
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802CCA0
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802CCA0
- ldr r0, [r4]
- str r1, [r0, 0x68]
-_0802CCA0:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x6
- bhi _0802CD2E
- lsls r0, 2
- ldr r1, _0802CCB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802CCB4: .4byte gUnknown_203B2F0
-_0802CCB8: .4byte _0802CCBC
- .align 2, 0
-_0802CCBC:
- .4byte _0802CD28
- .4byte _0802CCD8
- .4byte _0802CCF4
- .4byte _0802CD18
- .4byte _0802CD2E
- .4byte _0802CD2E
- .4byte _0802CD20
-_0802CCD8:
- ldr r0, _0802CCEC
- bl sub_8011988
- ldr r0, _0802CCF0
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- bl sub_8096AB4
- movs r1, 0x6
- b _0802CD06
- .align 2, 0
-_0802CCEC: .4byte 0x00000133
-_0802CCF0: .4byte gUnknown_203B2F0
-_0802CCF4:
- ldr r0, _0802CD10
- bl sub_8011988
- ldr r0, _0802CD14
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- bl sub_8096AB4
- movs r1, 0x5
-_0802CD06:
- strb r1, [r0]
- movs r0, 0x1
- bl sub_802C910
- b _0802CD2E
- .align 2, 0
-_0802CD10: .4byte 0x00000133
-_0802CD14: .4byte gUnknown_203B2F0
-_0802CD18:
- movs r0, 0x3
- bl sub_802C910
- b _0802CD2E
-_0802CD20:
- movs r0, 0x4
- bl sub_802C910
- b _0802CD2E
-_0802CD28:
- movs r0, 0x1
- bl sub_802C910
-_0802CD2E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802CC70
-
- thumb_func_start sub_802CD38
-sub_802CD38:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802C598
- ldr r4, _0802CD78
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xBC
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802CD66
- ldr r0, [r4]
- adds r0, 0xBC
- mov r1, sp
- bl sub_8013114
-_0802CD66:
- ldr r0, [sp]
- cmp r0, 0x5
- beq _0802CD88
- cmp r0, 0x5
- bgt _0802CD7C
- cmp r0, 0x1
- beq _0802CD80
- b _0802CDB0
- .align 2, 0
-_0802CD78: .4byte gUnknown_203B2F0
-_0802CD7C:
- cmp r0, 0x6
- bne _0802CDB0
-_0802CD80:
- movs r0, 0x1
- bl sub_802C910
- b _0802CDB0
-_0802CD88:
- ldr r0, [r4]
- ldrb r0, [r0, 0xC]
- bl sub_8096C3C
- bl sub_8096C80
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- beq _0802CDAA
- bl sub_802C688
- movs r0, 0x5
- bl sub_802C910
- b _0802CDB0
-_0802CDAA:
- movs r0, 0x1
- bl sub_802C910
-_0802CDB0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802CD38
-
- thumb_func_start sub_802CDB8
-sub_802CDB8:
- push {lr}
- bl sub_802DEE0
- cmp r0, 0x1
- bls _0802CDD0
- cmp r0, 0x3
- bhi _0802CDD0
- bl sub_802DF24
- movs r0, 0x1
- bl sub_802C910
-_0802CDD0:
- pop {r0}
- bx r0
- thumb_func_end sub_802CDB8
-
- thumb_func_start sub_802CDD4
-sub_802CDD4:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _0802CE54
- ldr r0, [r4]
- cmp r0, 0
- bne _0802CDEA
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0802CDEA:
- ldr r0, [r4]
- str r5, [r0, 0x34]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0802CE58
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r1, [r4]
- ldr r0, [r1, 0x38]
- adds r1, 0x9C
- str r1, [r0, 0x14]
- movs r1, 0x4
- bl sub_8012D34
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x5
- movs r2, 0x4
- adds r3, r5, 0
- bl sub_8013848
- bl sub_802CF5C
- bl sub_802CFD0
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0802CE54: .4byte gUnknown_203B2F4
-_0802CE58: .4byte gUnknown_80DFDA4
- thumb_func_end sub_802CDD4
-
- thumb_func_start sub_802CE5C
-sub_802CE5C:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _0802CE74
- ldr r0, _0802CE70
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _0802CEB4
- .align 2, 0
-_0802CE70: .4byte gUnknown_203B2F4
-_0802CE74:
- ldr r4, _0802CE90
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0802CE94
- cmp r0, 0x2
- bne _0802CE98
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802CEB4
- .align 2, 0
-_0802CE90: .4byte gUnknown_203B2F4
-_0802CE94:
- movs r0, 0x3
- b _0802CEB4
-_0802CE98:
- ldr r0, [r4]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802CEAA
- movs r0, 0
- b _0802CEB4
-_0802CEAA:
- bl sub_802CF5C
- bl sub_802CFD0
- movs r0, 0x1
-_0802CEB4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802CE5C
-
- thumb_func_start sub_802CEBC
-sub_802CEBC:
- ldr r0, _0802CED4
- ldr r1, [r0]
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- muls r0, r2
- ldrb r1, [r1, 0x18]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_0802CED4: .4byte gUnknown_203B2F4
- thumb_func_end sub_802CEBC
-
- thumb_func_start sub_802CED8
-sub_802CED8:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8004914
- ldr r5, _0802CF10
- ldr r0, [r5]
- adds r0, 0x3C
- movs r1, 0
- movs r2, 0
- bl sub_800641C
- ldr r0, [r5]
- bl sub_8013984
- bl sub_802CF5C
- bl sub_802CFD0
- cmp r4, 0
- beq _0802CF0A
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0802CF0A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802CF10: .4byte gUnknown_203B2F4
- thumb_func_end sub_802CED8
-
- thumb_func_start sub_802CF14
-sub_802CF14:
- push {r4,r5,lr}
- ldr r4, _0802CF54
- ldr r2, [r4]
- cmp r2, 0
- beq _0802CF4E
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0802CF58
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802CF4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802CF54: .4byte gUnknown_203B2F4
-_0802CF58: .4byte gUnknown_80DFD8C
- thumb_func_end sub_802CF14
-
- thumb_func_start sub_802CF5C
-sub_802CF5C:
- push {r4,lr}
- ldr r4, _0802CFCC
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl sub_8009614
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802CFCC: .4byte gUnknown_203B2F4
- thumb_func_end sub_802CF5C
-
- thumb_func_start sub_802CFD0
-sub_802CFD0:
- push {r4-r6,lr}
- sub sp, 0x60
- ldr r6, _0802D02C
- ldr r0, [r6]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r0, [r6]
- movs r1, 0x1E
- ldrsh r4, [r0, r1]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _0802D030
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x9E
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x34]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r5, 0
- b _0802D076
- .align 2, 0
-_0802D02C: .4byte gUnknown_203B2F4
-_0802D030: .4byte gUnknown_80DFDBC
-_0802D034:
- ldr r0, [r6]
- movs r2, 0x1E
- ldrsh r1, [r0, r2]
- movs r2, 0x1C
- ldrsh r0, [r0, r2]
- muls r0, r1
- adds r0, r5
- lsls r0, 24
- lsrs r0, 24
- bl sub_803B344
- adds r4, r0, 0
- ldr r0, [r6]
- ldr r1, [r0, 0x34]
- str r1, [sp, 0x8]
- adds r1, r5, 0
- bl sub_8013800
- str r0, [sp, 0x50]
- adds r0, r4, 0
- add r1, sp, 0x8
- bl sub_803B35C
- mov r1, sp
- adds r1, 0x4B
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r4, 0x14]
- str r0, [sp, 0x54]
- add r0, sp, 0x8
- bl sub_803B6D4
- adds r5, 0x1
-_0802D076:
- ldr r0, [r6]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0802D034
- ldr r0, _0802D094
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x60
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802D094: .4byte gUnknown_203B2F4
- thumb_func_end sub_802CFD0
-
- thumb_func_start sub_802D098
-sub_802D098:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _0802D0DC
- movs r0, 0x82
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- movs r5, 0
- str r5, [r0, 0x6C]
- str r5, [r0, 0x70]
- str r5, [r0, 0x74]
- str r4, [r0, 0xC]
- strb r5, [r0, 0x8]
- ldr r0, [r6]
- adds r0, 0xA
- bl sub_8099328
- ldr r1, [r6]
- strb r0, [r1, 0x9]
- bl sub_8011C1C
- cmp r0, 0x2
- beq _0802D0CE
- ldr r0, [r6]
- strb r5, [r0, 0x9]
-_0802D0CE:
- movs r0, 0
- bl sub_802D1A0
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0802D0DC: .4byte gUnknown_203B2F8
- thumb_func_end sub_802D098
-
- thumb_func_start sub_802D0E0
-sub_802D0E0:
- push {lr}
- ldr r0, _0802D0F8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x10
- bhi _0802D16C
- lsls r0, 2
- ldr r1, _0802D0FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802D0F8: .4byte gUnknown_203B2F8
-_0802D0FC: .4byte _0802D100
- .align 2, 0
-_0802D100:
- .4byte _0802D170
- .4byte _0802D144
- .4byte _0802D168
- .4byte _0802D16C
- .4byte _0802D16C
- .4byte _0802D16C
- .4byte _0802D16C
- .4byte _0802D16C
- .4byte _0802D16C
- .4byte _0802D162
- .4byte _0802D16C
- .4byte _0802D14A
- .4byte _0802D14A
- .4byte _0802D150
- .4byte _0802D156
- .4byte _0802D15C
- .4byte _0802D15C
-_0802D144:
- bl sub_802D7D0
- b _0802D170
-_0802D14A:
- bl sub_802D8CC
- b _0802D170
-_0802D150:
- bl sub_802D940
- b _0802D170
-_0802D156:
- bl sub_802D9F0
- b _0802D170
-_0802D15C:
- bl sub_802DA60
- b _0802D170
-_0802D162:
- bl sub_802D82C
- b _0802D170
-_0802D168:
- movs r0, 0x3
- b _0802D172
-_0802D16C:
- bl sub_802DA84
-_0802D170:
- movs r0, 0
-_0802D172:
- pop {r1}
- bx r1
- thumb_func_end sub_802D0E0
-
- thumb_func_start sub_802D178
-sub_802D178:
- ldr r0, _0802D180
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_0802D180: .4byte gUnknown_203B2F8
- thumb_func_end sub_802D178
-
- thumb_func_start sub_802D184
-sub_802D184:
- push {r4,lr}
- ldr r4, _0802D19C
- ldr r0, [r4]
- cmp r0, 0
- beq _0802D196
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802D196:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802D19C: .4byte gUnknown_203B2F8
- thumb_func_end sub_802D184
-
- thumb_func_start sub_802D1A0
-sub_802D1A0:
- push {lr}
- ldr r1, _0802D1B4
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802D1B8
- bl sub_802D2A8
- pop {r0}
- bx r0
- .align 2, 0
-_0802D1B4: .4byte gUnknown_203B2F8
- thumb_func_end sub_802D1A0
-
- thumb_func_start sub_802D1B8
-sub_802D1B8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0802D1E0
- ldr r0, [r4]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0xD
- beq _0802D1EA
- cmp r0, 0xD
- bgt _0802D1E4
- cmp r0, 0x2
- beq _0802D27E
- b _0802D254
- .align 2, 0
-_0802D1E0: .4byte gUnknown_203B2F8
-_0802D1E4:
- cmp r0, 0xE
- beq _0802D21C
- b _0802D254
-_0802D1EA:
- bl sub_802D5A4
- ldr r2, [r4]
- movs r0, 0xEC
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802D218
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0x8C
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- ldr r0, [r4]
- movs r7, 0xF2
- lsls r7, 1
- b _0802D246
- .align 2, 0
-_0802D218: .4byte gUnknown_80DFE04
-_0802D21C:
- bl sub_802D63C
- ldr r2, [r4]
- movs r0, 0xF8
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802D250
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- movs r6, 0xAC
- lsls r6, 1
- adds r1, r6
- bl sub_8012CAC
- ldr r0, [r4]
- movs r7, 0xFE
- lsls r7, 1
-_0802D246:
- adds r0, r7
- movs r1, 0x6
- strh r1, [r0]
- b _0802D27E
- .align 2, 0
-_0802D250: .4byte gUnknown_80DFE1C
-_0802D254:
- ldr r0, _0802D2A0
- mov r12, r0
- movs r1, 0xD4
- lsls r1, 1
- mov r8, r1
- ldr r4, _0802D2A4
- movs r3, 0
- movs r2, 0x3
-_0802D264:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0802D264
-_0802D27E:
- bl sub_8004914
- ldr r0, _0802D2A0
- ldr r0, [r0]
- movs r6, 0xD4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802D2A0: .4byte gUnknown_203B2F8
-_0802D2A4: .4byte gUnknown_80DFDD4
- thumb_func_end sub_802D1B8
-
- thumb_func_start sub_802D2A8
-sub_802D2A8:
- push {r4,lr}
- sub sp, 0x14
- ldr r1, _0802D2C4
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _0802D2BA
- b _0802D59A
-_0802D2BA:
- lsls r0, 2
- ldr r1, _0802D2C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802D2C4: .4byte gUnknown_203B2F8
-_0802D2C8: .4byte _0802D2CC
- .align 2, 0
-_0802D2CC:
- .4byte _0802D310
- .4byte _0802D398
- .4byte _0802D59A
- .4byte _0802D3B4
- .4byte _0802D3C4
- .4byte _0802D3D4
- .4byte _0802D3E4
- .4byte _0802D3F4
- .4byte _0802D404
- .4byte _0802D498
- .4byte _0802D4C8
- .4byte _0802D4E4
- .4byte _0802D4F0
- .4byte _0802D4F8
- .4byte _0802D524
- .4byte _0802D558
- .4byte _0802D576
-_0802D310:
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_80968B0
- lsls r0, 24
- cmp r0, 0
- beq _0802D326
- movs r0, 0x3
- bl sub_802D1A0
- b _0802D59A
-_0802D326:
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_8096F50
- lsls r0, 24
- cmp r0, 0
- beq _0802D33C
- movs r0, 0x4
- bl sub_802D1A0
- b _0802D59A
-_0802D33C:
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x4
- bne _0802D36E
- adds r0, r1, 0
- adds r0, 0x10
- bl sub_8096C08
- lsls r0, 24
- cmp r0, 0
- beq _0802D36E
- bl sub_802DAA8
- lsls r0, 24
- cmp r0, 0
- beq _0802D366
- movs r0, 0x9
- bl sub_802D1A0
- b _0802D59A
-_0802D366:
- movs r0, 0x5
- bl sub_802D1A0
- b _0802D59A
-_0802D36E:
- bl sub_80969AC
- cmp r0, 0x7
- ble _0802D390
- bl sub_802DADC
- lsls r0, 24
- cmp r0, 0
- beq _0802D388
- movs r0, 0xA
- bl sub_802D1A0
- b _0802D59A
-_0802D388:
- movs r0, 0x6
- bl sub_802D1A0
- b _0802D59A
-_0802D390:
- movs r0, 0x8
- bl sub_802D1A0
- b _0802D59A
-_0802D398:
- bl sub_802D73C
- ldr r0, _0802D3AC
- ldr r1, _0802D3B0
- ldr r3, [r1]
- ldr r2, [r3, 0x70]
- movs r1, 0xAC
- lsls r1, 1
- adds r3, r1
- b _0802D4AA
- .align 2, 0
-_0802D3AC: .4byte gUnknown_80DFE4C
-_0802D3B0: .4byte gUnknown_203B2F8
-_0802D3B4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3C0
- b _0802D4D0
- .align 2, 0
-_0802D3C0: .4byte gUnknown_80DFE9C
-_0802D3C4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3D0
- b _0802D4D0
- .align 2, 0
-_0802D3D0: .4byte gUnknown_80DFED0
-_0802D3D4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3E0
- b _0802D4D0
- .align 2, 0
-_0802D3E0: .4byte gUnknown_80DFF2C
-_0802D3E4:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D3F0
- b _0802D4D0
- .align 2, 0
-_0802D3F0: .4byte gUnknown_80DFFA4
-_0802D3F4:
- ldr r1, [r4]
- movs r0, 0xC
- str r0, [r1, 0x4]
- ldr r0, _0802D400
- b _0802D4D0
- .align 2, 0
-_0802D400: .4byte gUnknown_80E0010
-_0802D404:
- ldr r4, _0802D45C
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x8]
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_8096A78
- bl sub_8096C80
- bl sub_8096D24
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x4
- bne _0802D446
- bl sub_8096DD8
- ldr r1, [r4]
- ldr r1, [r1, 0xC]
- ldr r1, [r1, 0x14]
- movs r2, 0x28
- bl MemoryCopy8
- bl sub_8096DE8
- ldr r1, [r4]
- ldr r1, [r1, 0xC]
- ldr r1, [r1, 0x18]
- movs r2, 0x78
- bl MemoryCopy8
-_0802D446:
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2C
- beq _0802D46E
- cmp r0, 0x2C
- bgt _0802D460
- cmp r0, 0x2B
- beq _0802D46A
- b _0802D484
- .align 2, 0
-_0802D45C: .4byte gUnknown_203B2F8
-_0802D460:
- cmp r0, 0x2D
- beq _0802D472
- cmp r0, 0x2E
- beq _0802D47C
- b _0802D484
-_0802D46A:
- movs r0, 0x2A
- b _0802D474
-_0802D46E:
- movs r0, 0x2B
- b _0802D474
-_0802D472:
- movs r0, 0x2C
-_0802D474:
- movs r1, 0x1
- bl sub_8097418
- b _0802D484
-_0802D47C:
- movs r0, 0x2D
- movs r1, 0x1
- bl sub_8097418
-_0802D484:
- ldr r0, _0802D490
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [r1, 0x4]
- ldr r0, _0802D494
- b _0802D4D0
- .align 2, 0
-_0802D490: .4byte gUnknown_203B2F8
-_0802D494: .4byte gUnknown_80E0074
-_0802D498:
- bl sub_802D690
- ldr r0, _0802D4C0
- ldr r1, _0802D4C4
- ldr r3, [r1]
- ldr r2, [r3, 0x74]
- movs r4, 0xAC
- lsls r4, 1
- adds r3, r4
-_0802D4AA:
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _0802D59A
- .align 2, 0
-_0802D4C0: .4byte gUnknown_80E0094
-_0802D4C4: .4byte gUnknown_203B2F8
-_0802D4C8:
- ldr r1, [r4]
- movs r0, 0xB
- str r0, [r1, 0x4]
- ldr r0, _0802D4DC
-_0802D4D0:
- ldr r3, _0802D4E0
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802D59A
- .align 2, 0
-_0802D4DC: .4byte gUnknown_80E0108
-_0802D4E0: .4byte 0x00000101
-_0802D4E4:
- movs r0, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_802C4C8
- b _0802D59A
-_0802D4F0:
- movs r0, 0x1
- bl sub_802C640
- b _0802D59A
-_0802D4F8:
- bl sub_802C750
- ldr r0, _0802D520
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- movs r3, 0x8C
- lsls r3, 1
- adds r1, r2, r3
- movs r4, 0xCC
- lsls r4, 1
- adds r3, r2, r4
- ldr r2, [r2, 0x6C]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0802D59A
- .align 2, 0
-_0802D520: .4byte gUnknown_203B2F8
-_0802D524:
- bl sub_802C750
- ldr r4, _0802D554
- ldr r0, [r4]
- adds r0, 0x78
- movs r1, 0
- bl sub_8012EA4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xC8
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r2
- movs r2, 0x4
- str r2, [sp]
- movs r2, 0x3
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0802D59A
- .align 2, 0
-_0802D554: .4byte gUnknown_203B2F8
-_0802D558:
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8096AB4
- ldr r1, [r4]
- adds r1, 0x14
- bl sub_803B35C
- ldr r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x14]
- adds r0, 0x14
- bl sub_802DE84
- b _0802D59A
-_0802D576:
- ldr r1, [r4]
- ldr r0, [r1, 0xC]
- adds r1, 0x14
- bl sub_803B35C
- ldr r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x14]
- adds r0, 0x58
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- ldr r1, [r1, 0x18]
- str r1, [r0, 0x64]
- adds r0, 0x14
- bl sub_802DE84
-_0802D59A:
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D2A8
-
- thumb_func_start sub_802D5A4
-sub_802D5A4:
- push {r4-r7,lr}
- ldr r4, _0802D630
- ldr r0, [r4]
- movs r5, 0xCC
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r0, [r4]
- mov r12, r0
- movs r3, 0
- movs r1, 0x8C
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D634
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x8E
- lsls r1, 1
- add r1, r12
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- movs r1, 0x90
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D638
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x92
- lsls r1, 1
- add r1, r12
- movs r0, 0x5
- str r0, [r1]
- movs r7, 0x2
- movs r0, 0x94
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- movs r6, 0
- movs r3, 0x8E
- lsls r3, 1
- add r3, r12
- mov r0, r12
- adds r2, r0, r5
-_0802D60A:
- ldrh r0, [r2]
- cmp r0, 0
- bne _0802D61A
- ldr r1, [r3]
- mov r5, r12
- ldr r0, [r5, 0x6C]
- cmp r1, r0
- beq _0802D62A
-_0802D61A:
- adds r3, 0x8
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, r7
- blt _0802D60A
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x6C]
-_0802D62A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802D630: .4byte gUnknown_203B2F8
-_0802D634: .4byte gUnknown_80D494C
-_0802D638: .4byte gUnknown_80D4970
- thumb_func_end sub_802D5A4
-
- thumb_func_start sub_802D63C
-sub_802D63C:
- ldr r0, _0802D684
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- movs r1, 0xAC
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D688
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xAE
- lsls r1, 1
- add r1, r12
- movs r0, 0x3
- str r0, [r1]
- movs r2, 0x1
- movs r1, 0xB0
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D68C
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xB2
- lsls r1, 1
- add r1, r12
- movs r0, 0x4
- str r0, [r1]
- movs r0, 0xB4
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- movs r0, 0xB6
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- bx lr
- .align 2, 0
-_0802D684: .4byte gUnknown_203B2F8
-_0802D688: .4byte gUnknown_80D4920
-_0802D68C: .4byte gUnknown_80D4928
- thumb_func_end sub_802D63C
-
- thumb_func_start sub_802D690
-sub_802D690:
- push {r4,r5,lr}
- ldr r2, _0802D728
- ldr r0, [r2]
- mov r12, r0
- movs r4, 0
- movs r1, 0xAC
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D72C
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xAE
- lsls r1, 1
- add r1, r12
- movs r0, 0x3
- str r0, [r1]
- movs r3, 0x1
- movs r1, 0xB0
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D730
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xB2
- lsls r1, 1
- add r1, r12
- movs r0, 0x4
- str r0, [r1]
- movs r1, 0xB4
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D734
- str r0, [r1]
- movs r1, 0xB6
- lsls r1, 1
- add r1, r12
- movs r0, 0x6
- str r0, [r1]
- movs r1, 0xB8
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D738
- str r0, [r1]
- movs r1, 0xBA
- lsls r1, 1
- add r1, r12
- movs r0, 0x7
- str r0, [r1]
- movs r5, 0x4
- movs r0, 0xBC
- lsls r0, 1
- add r0, r12
- str r4, [r0]
- movs r0, 0xBE
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- movs r3, 0
- mov r0, r12
- ldr r4, [r0, 0x74]
- movs r1, 0xAE
- lsls r1, 1
- add r1, r12
-_0802D70E:
- ldr r0, [r1]
- cmp r0, r4
- beq _0802D722
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0802D70E
- ldr r1, [r2]
- movs r0, 0x4
- str r0, [r1, 0x74]
-_0802D722:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802D728: .4byte gUnknown_203B2F8
-_0802D72C: .4byte gUnknown_80D4920
-_0802D730: .4byte gUnknown_80D4928
-_0802D734: .4byte gUnknown_80E014C
-_0802D738: .4byte gUnknown_80E0158
- thumb_func_end sub_802D690
-
- thumb_func_start sub_802D73C
-sub_802D73C:
- push {r4,r5,lr}
- ldr r3, _0802D7C0
- ldr r0, [r3]
- mov r12, r0
- movs r4, 0
- movs r1, 0xAC
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D7C4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xAE
- lsls r1, 1
- add r1, r12
- movs r0, 0x3
- str r0, [r1]
- movs r2, 0x1
- movs r1, 0xB0
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D7C8
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xB2
- lsls r1, 1
- add r1, r12
- movs r0, 0x4
- str r0, [r1]
- movs r1, 0xB4
- lsls r1, 1
- add r1, r12
- ldr r0, _0802D7CC
- str r0, [r1]
- movs r1, 0xB6
- lsls r1, 1
- add r1, r12
- movs r0, 0x6
- str r0, [r1]
- movs r5, 0x3
- movs r0, 0xB8
- lsls r0, 1
- add r0, r12
- str r4, [r0]
- movs r0, 0xBA
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- movs r2, 0
- mov r0, r12
- ldr r4, [r0, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- add r1, r12
-_0802D7A6:
- ldr r0, [r1]
- cmp r0, r4
- beq _0802D7BA
- adds r1, 0x8
- adds r2, 0x1
- cmp r2, r5
- blt _0802D7A6
- ldr r1, [r3]
- movs r0, 0x4
- str r0, [r1, 0x70]
-_0802D7BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802D7C0: .4byte gUnknown_203B2F8
-_0802D7C4: .4byte gUnknown_80D4920
-_0802D7C8: .4byte gUnknown_80D4928
-_0802D7CC: .4byte gUnknown_80E014C
- thumb_func_end sub_802D73C
-
- thumb_func_start sub_802D7D0
-sub_802D7D0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802D826
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802D7EA
- ldr r0, _0802D800
- ldr r0, [r0]
- str r1, [r0, 0x70]
-_0802D7EA:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _0802D804
- cmp r0, 0x3
- ble _0802D820
- cmp r0, 0x4
- beq _0802D820
- cmp r0, 0x6
- beq _0802D80C
- b _0802D820
- .align 2, 0
-_0802D800: .4byte gUnknown_203B2F8
-_0802D804:
- movs r0, 0x2
- bl sub_802D1A0
- b _0802D826
-_0802D80C:
- ldr r0, _0802D81C
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r0, 0x10
- bl sub_802D1A0
- b _0802D826
- .align 2, 0
-_0802D81C: .4byte gUnknown_203B2F8
-_0802D820:
- movs r0, 0
- bl sub_802D1A0
-_0802D826:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802D7D0
-
- thumb_func_start sub_802D82C
-sub_802D82C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802D8C6
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802D846
- ldr r0, _0802D858
- ldr r0, [r0]
- str r1, [r0, 0x74]
-_0802D846:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x6
- bhi _0802D8C0
- lsls r0, 2
- ldr r1, _0802D85C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802D858: .4byte gUnknown_203B2F8
-_0802D85C: .4byte _0802D860
- .align 2, 0
-_0802D860:
- .4byte _0802D8C0
- .4byte _0802D8C0
- .4byte _0802D87C
- .4byte _0802D8C0
- .4byte _0802D8C0
- .4byte _0802D898
- .4byte _0802D8AC
-_0802D87C:
- ldr r0, _0802D894
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- bl sub_8096C3C
- bl sub_8096C80
- movs r0, 0x8
- bl sub_802D1A0
- b _0802D8C6
- .align 2, 0
-_0802D894: .4byte gUnknown_203B2F8
-_0802D898:
- ldr r0, _0802D8A8
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0x10
- bl sub_802D1A0
- b _0802D8C6
- .align 2, 0
-_0802D8A8: .4byte gUnknown_203B2F8
-_0802D8AC:
- ldr r0, _0802D8BC
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0xF
- bl sub_802D1A0
- b _0802D8C6
- .align 2, 0
-_0802D8BC: .4byte gUnknown_203B2F8
-_0802D8C0:
- movs r0, 0x1
- bl sub_802D1A0
-_0802D8C6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_802D82C
-
- thumb_func_start sub_802D8CC
-sub_802D8CC:
- push {lr}
- movs r0, 0x1
- bl sub_802C598
- cmp r0, 0x4
- bhi _0802D93A
- lsls r0, 2
- ldr r1, _0802D8E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802D8E4: .4byte _0802D8E8
- .align 2, 0
-_0802D8E8:
- .4byte _0802D93A
- .4byte _0802D93A
- .4byte _0802D930
- .4byte _0802D8FC
- .4byte _0802D914
-_0802D8FC:
- bl sub_802C620
- ldr r1, _0802D910
- ldr r1, [r1]
- strb r0, [r1, 0x10]
- movs r0, 0xD
- bl sub_802D1A0
- b _0802D93A
- .align 2, 0
-_0802D910: .4byte gUnknown_203B2F8
-_0802D914:
- bl sub_802C620
- ldr r2, _0802D92C
- ldr r1, [r2]
- strb r0, [r1, 0x10]
- ldr r1, [r2]
- movs r0, 0xC
- str r0, [r1, 0x4]
- movs r0, 0xF
- bl sub_802D1A0
- b _0802D93A
- .align 2, 0
-_0802D92C: .4byte gUnknown_203B2F8
-_0802D930:
- bl sub_802C688
- movs r0, 0x1
- bl sub_802D1A0
-_0802D93A:
- pop {r0}
- bx r0
- thumb_func_end sub_802D8CC
-
- thumb_func_start sub_802D940
-sub_802D940:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802C598
- ldr r4, _0802D980
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802D970
- ldr r0, [r4]
- adds r0, 0x78
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802D970
- ldr r0, [r4]
- str r1, [r0, 0x6C]
-_0802D970:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0802D98A
- cmp r0, 0x2
- bgt _0802D984
- cmp r0, 0x1
- beq _0802D9E0
- b _0802D9E6
- .align 2, 0
-_0802D980: .4byte gUnknown_203B2F8
-_0802D984:
- cmp r0, 0x5
- beq _0802D9CC
- b _0802D9E6
-_0802D98A:
- ldr r0, _0802D9BC
- ldr r3, [r0]
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- beq _0802D9C4
- ldr r2, _0802D9C0
- ldrb r1, [r3, 0x10]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, 0xF0
- ldr r1, [r2]
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x5
- bls _0802D9C4
- ldrb r0, [r3, 0xA]
- ldrb r1, [r1, 0x4]
- cmp r0, r1
- bne _0802D9C4
- movs r0, 0x7
- bl sub_802D1A0
- b _0802D9E6
- .align 2, 0
-_0802D9BC: .4byte gUnknown_203B2F8
-_0802D9C0: .4byte gUnknown_203B490
-_0802D9C4:
- movs r0, 0xE
- bl sub_802D1A0
- b _0802D9E6
-_0802D9CC:
- ldr r0, _0802D9DC
- ldr r1, [r0]
- movs r0, 0xC
- str r0, [r1, 0x4]
- movs r0, 0xF
- bl sub_802D1A0
- b _0802D9E6
- .align 2, 0
-_0802D9DC: .4byte gUnknown_203B2F8
-_0802D9E0:
- movs r0, 0xC
- bl sub_802D1A0
-_0802D9E6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D940
-
- thumb_func_start sub_802D9F0
-sub_802D9F0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802C598
- ldr r4, _0802DA30
- ldr r0, [r4]
- adds r0, 0x78
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xC8
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802DA1E
- ldr r0, [r4]
- adds r0, 0xC8
- mov r1, sp
- bl sub_8013114
-_0802DA1E:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _0802DA40
- cmp r0, 0x3
- bgt _0802DA34
- cmp r0, 0x1
- beq _0802DA38
- b _0802DA56
- .align 2, 0
-_0802DA30: .4byte gUnknown_203B2F8
-_0802DA34:
- cmp r0, 0x4
- bne _0802DA56
-_0802DA38:
- movs r0, 0xC
- bl sub_802D1A0
- b _0802DA56
-_0802DA40:
- bl sub_802C688
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8096C3C
- bl sub_8096C80
- movs r0, 0x8
- bl sub_802D1A0
-_0802DA56:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802D9F0
-
- thumb_func_start sub_802DA60
-sub_802DA60:
- push {lr}
- bl sub_802DEE0
- cmp r0, 0x1
- bls _0802DA7C
- cmp r0, 0x3
- bhi _0802DA7C
- bl sub_802DF24
- ldr r0, _0802DA80
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_802D1A0
-_0802DA7C:
- pop {r0}
- bx r0
- .align 2, 0
-_0802DA80: .4byte gUnknown_203B2F8
- thumb_func_end sub_802DA60
-
- thumb_func_start sub_802DA84
-sub_802DA84:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802DA9C
- ldr r0, _0802DAA4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_802D1A0
-_0802DA9C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0802DAA4: .4byte gUnknown_203B2F8
- thumb_func_end sub_802DA84
-
- thumb_func_start sub_802DAA8
-sub_802DAA8:
- push {r4,lr}
- ldr r4, _0802DAD0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- bl sub_8096AB4
- adds r1, r0, 0
- ldr r4, [r4]
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0802DAD4
- ldrb r0, [r1]
- cmp r0, 0x5
- beq _0802DAD4
- ldrb r0, [r4, 0xA]
- ldrb r1, [r1, 0x4]
- cmp r0, r1
- bne _0802DAD4
- movs r0, 0
- b _0802DAD6
- .align 2, 0
-_0802DAD0: .4byte gUnknown_203B2F8
-_0802DAD4:
- movs r0, 0x1
-_0802DAD6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802DAA8
-
- thumb_func_start sub_802DADC
-sub_802DADC:
- push {r4,lr}
- ldr r3, _0802DAEC
- ldr r0, [r3]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _0802DAF0
-_0802DAE8:
- movs r0, 0x1
- b _0802DB1C
- .align 2, 0
-_0802DAEC: .4byte gUnknown_203B2F8
-_0802DAF0:
- ldr r0, _0802DB24
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xF0
- movs r2, 0
-_0802DAFA:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0802DAE8
- cmp r0, 0x5
- beq _0802DAE8
- cmp r0, 0x5
- bls _0802DB12
- ldr r0, [r3]
- ldrb r0, [r0, 0xA]
- ldrb r4, [r1, 0x4]
- cmp r0, r4
- bne _0802DAE8
-_0802DB12:
- adds r1, 0x14
- adds r2, 0x1
- cmp r2, 0x7
- ble _0802DAFA
- movs r0, 0
-_0802DB1C:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802DB24: .4byte gUnknown_203B490
- thumb_func_end sub_802DADC
-
- thumb_func_start sub_802DB28
-sub_802DB28:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r2, r1, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r0, sp
- adds r1, r6, 0
- bl sub_8096AF8
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0802DB4A
- movs r0, 0
- b _0802DBC6
-_0802DB4A:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0802DBD0
- movs r0, 0xA8
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- adds r0, 0x30
- movs r5, 0
- strb r6, [r0]
- adds r0, r6, 0
- bl sub_8096AB4
- ldr r1, [r4]
- str r0, [r1, 0x34]
- bl sub_8096EEC
- ldr r1, [r4]
- ldr r0, [r1, 0x34]
- adds r1, 0x8
- bl sub_803C21C
- ldr r0, [r4]
- ldr r0, [r0, 0x34]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bl sub_808DDD0
- ldr r1, [r4]
- str r0, [r1, 0x38]
- str r5, [r1, 0x3C]
- adds r1, 0x44
- strb r5, [r1]
- ldr r0, [r4]
- adds r0, 0x45
- strb r5, [r0]
- ldr r0, [r4]
- adds r0, 0x46
- strb r5, [r0]
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x40
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x8
- strh r0, [r1]
- ldr r0, [r2, 0x38]
- cmp r0, 0
- beq _0802DBBE
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x3C]
-_0802DBBE:
- movs r0, 0
- bl sub_802DC28
- movs r0, 0x1
-_0802DBC6:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0802DBD0: .4byte gUnknown_203B2FC
- thumb_func_end sub_802DB28
-
- thumb_func_start sub_802DBD4
-sub_802DBD4:
- push {lr}
- ldr r0, _0802DBEC
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x6
- beq _0802DBF0
- cmp r1, 0x7
- bne _0802DBF6
- ldr r0, [r0, 0x34]
- strb r1, [r0]
- movs r0, 0x3
- b _0802DBFC
- .align 2, 0
-_0802DBEC: .4byte gUnknown_203B2FC
-_0802DBF0:
- bl sub_802DE44
- b _0802DBFA
-_0802DBF6:
- bl sub_802DE60
-_0802DBFA:
- movs r0, 0
-_0802DBFC:
- pop {r1}
- bx r1
- thumb_func_end sub_802DBD4
-
- thumb_func_start sub_802DC00
-sub_802DC00:
- push {r4,lr}
- ldr r4, _0802DC24
- ldr r0, [r4]
- cmp r0, 0
- beq _0802DC1E
- ldr r0, [r0, 0x38]
- cmp r0, 0
- beq _0802DC14
- bl CloseFile
-_0802DC14:
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802DC1E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802DC24: .4byte gUnknown_203B2FC
- thumb_func_end sub_802DC00
-
- thumb_func_start sub_802DC28
-sub_802DC28:
- push {lr}
- ldr r1, _0802DC3C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802DC40
- bl sub_802DC9C
- pop {r0}
- bx r0
- .align 2, 0
-_0802DC3C: .4byte gUnknown_203B2FC
- thumb_func_end sub_802DC28
-
- thumb_func_start sub_802DC40
-sub_802DC40:
- push {r4-r7,lr}
- ldr r4, _0802DC94
- ldr r0, [r4]
- adds r0, 0x48
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0802DC58
- cmp r0, 0x7
- bne _0802DC7A
-_0802DC58:
- mov r12, r4
- ldr r4, _0802DC98
- movs r3, 0
- movs r2, 0x3
-_0802DC60:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0x48
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0802DC60
-_0802DC7A:
- bl sub_8004914
- ldr r0, _0802DC94
- ldr r0, [r0]
- adds r0, 0x48
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802DC94: .4byte gUnknown_203B2FC
-_0802DC98: .4byte gUnknown_80E016C
- thumb_func_end sub_802DC40
-
- thumb_func_start sub_802DC9C
-sub_802DC9C:
- push {r4,r5,lr}
- ldr r1, _0802DCB8
- ldr r0, [r1]
- ldr r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x7
- bls _0802DCAC
- b _0802DE3E
-_0802DCAC:
- lsls r0, 2
- ldr r1, _0802DCBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802DCB8: .4byte gUnknown_203B2FC
-_0802DCBC: .4byte _0802DCC0
- .align 2, 0
-_0802DCC0:
- .4byte _0802DCE0
- .4byte _0802DDDC
- .4byte _0802DDE4
- .4byte _0802DDEC
- .4byte _0802DDFC
- .4byte _0802DDF4
- .4byte _0802DE34
- .4byte _0802DE3E
-_0802DCE0:
- ldr r0, _0802DD60
- ldr r1, [r5]
- ldr r1, [r1, 0x34]
- movs r2, 0xC
- ldrsh r1, [r1, r2]
- bl sub_808D8E0
- ldr r4, _0802DD64
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- movs r2, 0xC
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_808D8E0
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r2, _0802DD68
- adds r0, r4, r2
- bl strcpy
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r2, _0802DD6C
- adds r4, r2
- adds r0, r4, 0
- bl strcpy
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bl sub_8098214
- ldr r0, _0802DD70
- ldr r1, [r5]
- ldr r1, [r1, 0x34]
- ldrb r1, [r1, 0x10]
- movs r2, 0
- bl sub_8090DC4
- ldr r1, [r5]
- movs r0, 0x6
- str r0, [r1, 0x4]
- ldr r0, [r1, 0x34]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x4
- bhi _0802DDD4
- lsls r0, 2
- ldr r1, _0802DD74
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802DD60: .4byte gUnknown_202E5D8
-_0802DD64: .4byte gUnknown_202E1C8
-_0802DD68: .4byte 0xfffffdd0
-_0802DD6C: .4byte 0xfffffe20
-_0802DD70: .4byte gUnknown_202DE58
-_0802DD74: .4byte _0802DD78
- .align 2, 0
-_0802DD78:
- .4byte _0802DDD4
- .4byte _0802DD9C
- .4byte _0802DDB8
- .4byte _0802DD94
- .4byte _0802DD8C
-_0802DD8C:
- movs r0, 0x5
- bl sub_802DC28
- b _0802DE3E
-_0802DD94:
- movs r0, 0x4
- bl sub_802DC28
- b _0802DE3E
-_0802DD9C:
- movs r0, 0x2
- bl sub_802DC28
- ldr r0, _0802DDB4
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- movs r2, 0xE
- ldrsh r0, [r0, r2]
- bl sub_8098214
- b _0802DE3E
- .align 2, 0
-_0802DDB4: .4byte gUnknown_203B2FC
-_0802DDB8:
- movs r0, 0x3
- bl sub_802DC28
- ldr r0, _0802DDD0
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- bl sub_8098214
- b _0802DE3E
- .align 2, 0
-_0802DDD0: .4byte gUnknown_203B2FC
-_0802DDD4:
- movs r0, 0x1
- bl sub_802DC28
- b _0802DE3E
-_0802DDDC:
- ldr r0, _0802DDE0
- b _0802DE1C
- .align 2, 0
-_0802DDE0: .4byte gUnknown_80E0184
-_0802DDE4:
- ldr r0, _0802DDE8
- b _0802DE1C
- .align 2, 0
-_0802DDE8: .4byte gUnknown_80E01A0
-_0802DDEC:
- ldr r0, _0802DDF0
- b _0802DE1C
- .align 2, 0
-_0802DDF0: .4byte gUnknown_80E01C4
-_0802DDF4:
- ldr r0, _0802DDF8
- b _0802DE1C
- .align 2, 0
-_0802DDF8: .4byte gUnknown_80E01F0
-_0802DDFC:
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- ldrb r0, [r0, 0x10]
- bl sub_8091130
- adds r1, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0802DE1A
- adds r0, r1, 0
- bl sub_80911F8
- bl sub_80910B4
-_0802DE1A:
- ldr r0, _0802DE2C
-_0802DE1C:
- ldr r2, [r5]
- adds r2, 0x38
- ldr r3, _0802DE30
- movs r1, 0
- bl sub_80141B4
- b _0802DE3E
- .align 2, 0
-_0802DE2C: .4byte gUnknown_80E0218
-_0802DE30: .4byte 0x0000010d
-_0802DE34:
- ldr r0, [r5]
- adds r0, 0x8
- movs r1, 0x1
- bl sub_802F204
-_0802DE3E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_802DC9C
-
- thumb_func_start sub_802DE44
-sub_802DE44:
- push {lr}
- bl sub_802F298
- cmp r0, 0x1
- bls _0802DE5C
- cmp r0, 0x3
- bhi _0802DE5C
- bl sub_802F2C0
- movs r0, 0x7
- bl sub_802DC28
-_0802DE5C:
- pop {r0}
- bx r0
- thumb_func_end sub_802DE44
-
- thumb_func_start sub_802DE60
-sub_802DE60:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802DE78
- ldr r0, _0802DE80
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_802DC28
-_0802DE78:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0802DE80: .4byte gUnknown_203B2FC
- thumb_func_end sub_802DE60
-
- thumb_func_start sub_802DE84
-sub_802DE84:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _0802DED8
- movs r0, 0x7C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- str r5, [r0, 0xC]
- bl sub_801317C
- ldr r0, [r4]
- ldr r1, [r0, 0xC]
- ldr r2, [r1]
- str r2, [r0, 0x10]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, 0x18
- adds r1, r0, r1
- str r1, [r0, 0x14]
- adds r0, 0x18
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x10]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x18
- ldr r0, _0802DEDC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_802DF14
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0802DED8: .4byte gUnknown_203B300
-_0802DEDC: .4byte gUnknown_80E0264
- thumb_func_end sub_802DE84
-
- thumb_func_start sub_802DEE0
-sub_802DEE0:
- push {lr}
- ldr r0, _0802DF00
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- bl sub_8012A64
- cmp r0, 0x1
- beq _0802DF04
- cmp r0, 0x2
- bne _0802DF0E
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802DF10
- .align 2, 0
-_0802DF00: .4byte gUnknown_203B300
-_0802DF04:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802DF10
-_0802DF0E:
- movs r0, 0
-_0802DF10:
- pop {r1}
- bx r1
- thumb_func_end sub_802DEE0
-
- thumb_func_start sub_802DF14
-sub_802DF14:
- push {lr}
- bl sub_802DF6C
- bl sub_802DF88
- pop {r0}
- bx r0
- thumb_func_end sub_802DF14
-
- thumb_func_start sub_802DF24
-sub_802DF24:
- push {r4,r5,lr}
- ldr r4, _0802DF64
- ldr r2, [r4]
- cmp r2, 0
- beq _0802DF5E
- ldr r0, [r2, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x18
- ldr r0, _0802DF68
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802DF5E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802DF64: .4byte gUnknown_203B300
-_0802DF68: .4byte gUnknown_80E0248
- thumb_func_end sub_802DF24
-
- thumb_func_start sub_802DF6C
-sub_802DF6C:
- push {lr}
- bl sub_8004914
- ldr r0, _0802DF84
- ldr r0, [r0]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_0802DF84: .4byte gUnknown_203B300
- thumb_func_end sub_802DF6C
-
- thumb_func_start sub_802DF88
-sub_802DF88:
- push {r4,lr}
- ldr r4, _0802DFAC
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r0, [r0, 0xC]
- bl sub_803B98C
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- bl sub_80073E0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802DFAC: .4byte gUnknown_203B300
- thumb_func_end sub_802DF88
-
- thumb_func_start sub_802DFB0
-sub_802DFB0:
- push {r4,lr}
- ldr r4, _0802DFD4
- movs r0, 0xB6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x64]
- str r1, [r0, 0x68]
- movs r0, 0
- bl sub_802E088
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802DFD4: .4byte gUnknown_203B304
- thumb_func_end sub_802DFB0
-
- thumb_func_start sub_802DFD8
-sub_802DFD8:
- push {lr}
- ldr r0, _0802DFF0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0xB
- bhi _0802E060
- lsls r0, 2
- ldr r1, _0802DFF4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802DFF0: .4byte gUnknown_203B304
-_0802DFF4: .4byte _0802DFF8
- .align 2, 0
-_0802DFF8:
- .4byte _0802E028
- .4byte _0802E030
- .4byte _0802E036
- .4byte _0802E060
- .4byte _0802E03C
- .4byte _0802E03C
- .4byte _0802E042
- .4byte _0802E048
- .4byte _0802E04E
- .4byte _0802E054
- .4byte _0802E054
- .4byte _0802E05A
-_0802E028:
- movs r0, 0x1
- bl sub_802E088
- b _0802E064
-_0802E030:
- bl sub_802E4B0
- b _0802E064
-_0802E036:
- bl nullsub_133
- b _0802E064
-_0802E03C:
- bl sub_802E578
- b _0802E064
-_0802E042:
- bl sub_802E60C
- b _0802E064
-_0802E048:
- bl sub_802E73C
- b _0802E064
-_0802E04E:
- bl sub_802E758
- b _0802E064
-_0802E054:
- bl sub_802E774
- b _0802E064
-_0802E05A:
- bl sub_802E7D0
- b _0802E064
-_0802E060:
- movs r0, 0x3
- b _0802E066
-_0802E064:
- movs r0, 0
-_0802E066:
- pop {r1}
- bx r1
- thumb_func_end sub_802DFD8
-
- thumb_func_start sub_802E06C
-sub_802E06C:
- push {r4,lr}
- ldr r4, _0802E084
- ldr r0, [r4]
- cmp r0, 0
- beq _0802E07E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802E07E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802E084: .4byte gUnknown_203B304
- thumb_func_end sub_802E06C
-
- thumb_func_start sub_802E088
-sub_802E088:
- push {lr}
- ldr r1, _0802E09C
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802E0A0
- bl sub_802E1AC
- pop {r0}
- bx r0
- .align 2, 0
-_0802E09C: .4byte gUnknown_203B304
- thumb_func_end sub_802E088
-
- thumb_func_start sub_802E0A0
-sub_802E0A0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0802E0C8
- ldr r0, [r4]
- movs r6, 0x86
- lsls r6, 1
- adds r0, r6
- bl sub_8006518
- ldr r0, [r4]
- ldr r5, [r0]
- cmp r5, 0x1
- beq _0802E0D0
- cmp r5, 0x6
- beq _0802E124
- movs r3, 0
- ldr r2, _0802E0CC
- b _0802E168
- .align 2, 0
-_0802E0C8: .4byte gUnknown_203B304
-_0802E0CC: .4byte gUnknown_80E0284
-_0802E0D0:
- mov r12, r6
- ldr r0, _0802E118
- mov r8, r0
- movs r2, 0
- movs r3, 0x3
-_0802E0DA:
- ldr r1, [r4]
- adds r1, r2
- add r1, r12
- mov r0, r8
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0802E0DA
- bl sub_802E2B4
- ldr r3, _0802E11C
- ldr r2, [r3]
- movs r0, 0x9E
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802E120
- ldm r1!, {r4-r6}
- stm r2!, {r4-r6}
- ldm r1!, {r4,r5,r7}
- stm r2!, {r4,r5,r7}
- ldr r1, [r3]
- adds r0, r1, r0
- adds r1, 0xBC
- bl sub_8012CAC
- b _0802E188
- .align 2, 0
-_0802E118: .4byte gUnknown_80E0284
-_0802E11C: .4byte gUnknown_203B304
-_0802E120: .4byte gUnknown_80E029C
-_0802E124:
- bl sub_802E3B8
- ldr r2, [r4]
- movs r0, 0x9E
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802E160
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xBC
- bl sub_8012CAC
- ldr r1, [r4]
- movs r4, 0xA4
- lsls r4, 1
- adds r0, r1, r4
- strh r5, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r5
- ldr r0, _0802E164
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- b _0802E188
- .align 2, 0
-_0802E160: .4byte gUnknown_80E02B4
-_0802E164: .4byte gUnknown_80E02CC
-_0802E168:
- ldr r0, [r4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r0, r1
- movs r6, 0x86
- lsls r6, 1
- adds r0, r6
- adds r1, r2, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r3, 0x1
- cmp r3, 0x3
- ble _0802E168
-_0802E188:
- bl sub_8004914
- ldr r0, _0802E1A8
- ldr r0, [r0]
- movs r7, 0x86
- lsls r7, 1
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802E1A8: .4byte gUnknown_203B304
- thumb_func_end sub_802E0A0
-
- thumb_func_start sub_802E1AC
-sub_802E1AC:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _0802E1C8
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xB
- bhi _0802E2AA
- lsls r0, 2
- ldr r1, _0802E1CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802E1C8: .4byte gUnknown_203B304
-_0802E1CC: .4byte _0802E1D0
- .align 2, 0
-_0802E1D0:
- .4byte _0802E2AA
- .4byte _0802E200
- .4byte _0802E2AA
- .4byte _0802E2AA
- .4byte _0802E21E
- .4byte _0802E22A
- .4byte _0802E232
- .4byte _0802E260
- .4byte _0802E286
- .4byte _0802E28E
- .4byte _0802E29A
- .4byte _0802E2A2
-_0802E200:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x6C
- adds r1, r2, 0
- adds r1, 0xBC
- adds r3, r2, 0
- adds r3, 0xFC
- ldr r2, [r2, 0x64]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0802E2AA
-_0802E21E:
- movs r0, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_802BD14
- b _0802E2AA
-_0802E22A:
- movs r0, 0x1
- bl sub_802BE94
- b _0802E2AA
-_0802E232:
- bl sub_802BFA0
- movs r0, 0x3
- bl sub_802E7F8
- ldr r0, _0802E25C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- adds r1, r2, 0
- adds r1, 0xBC
- ldr r2, [r2, 0x68]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0802E2AA
- .align 2, 0
-_0802E25C: .4byte gUnknown_203B304
-_0802E260:
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8095FE8
- ldr r1, [r4]
- adds r1, 0xC
- bl sub_803B35C
- ldr r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0xC]
- adds r0, 0x50
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_802DE84
- b _0802E2AA
-_0802E286:
- movs r0, 0
- bl sub_802C860
- b _0802E2AA
-_0802E28E:
- movs r0, 0
- movs r1, 0
- movs r2, 0x8
- bl sub_802B640
- b _0802E2AA
-_0802E29A:
- movs r0, 0x1
- bl sub_802B7D0
- b _0802E2AA
-_0802E2A2:
- ldr r0, [r4]
- ldrb r0, [r0, 0x9]
- bl sub_802B9FC
-_0802E2AA:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E1AC
-
- thumb_func_start sub_802E2B4
-sub_802E2B4:
- push {r4-r7,lr}
- ldr r4, _0802E380
- ldr r0, [r4]
- adds r0, 0xFC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xBC
- ldr r0, _0802E384
- str r0, [r2]
- adds r1, 0xC0
- movs r0, 0x2
- str r0, [r1]
- bl sub_802C0E8
- lsls r0, 24
- cmp r0, 0
- beq _0802E2E6
- ldr r0, [r4]
- adds r0, 0xFC
- movs r1, 0x1
- strh r1, [r0]
-_0802E2E6:
- movs r5, 0x1
- ldr r1, [r4]
- movs r6, 0x1
- adds r2, r1, 0
- adds r2, 0xC4
- ldr r0, _0802E388
- str r0, [r2]
- adds r1, 0xC8
- movs r0, 0x3
- str r0, [r1]
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- beq _0802E30A
- ldr r0, [r4]
- adds r0, 0xFE
- strh r5, [r0]
-_0802E30A:
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xCC
- ldr r0, _0802E38C
- str r0, [r2]
- adds r1, 0xD0
- movs r0, 0x4
- str r0, [r1]
- bl sub_802B9D8
- lsls r0, 24
- cmp r0, 0
- beq _0802E32E
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r6, [r0]
-_0802E32E:
- movs r5, 0x3
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xD4
- movs r1, 0
- str r1, [r0]
- adds r0, 0x4
- str r6, [r0]
- movs r3, 0
- adds r6, r4, 0
- mov r12, r2
- mov r4, r12
- adds r4, 0xFC
- adds r2, 0xC0
-_0802E34A:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0802E35A
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x64]
- cmp r1, r0
- beq _0802E3B2
-_0802E35A:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0802E34A
- movs r3, 0
- cmp r3, r5
- bge _0802E3B2
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xFC
- ldrh r0, [r0]
- cmp r0, 0
- bne _0802E390
- adds r0, r1, 0
- adds r0, 0xC0
- ldr r0, [r0]
- str r0, [r1, 0x64]
- b _0802E3B2
- .align 2, 0
-_0802E380: .4byte gUnknown_203B304
-_0802E384: .4byte gUnknown_80E02E4
-_0802E388: .4byte gUnknown_80E02F0
-_0802E38C: .4byte gUnknown_80E02FC
-_0802E390:
- adds r3, 0x1
- cmp r3, r5
- bge _0802E3B2
- ldr r2, [r6]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xFC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0802E390
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xC0
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x64]
-_0802E3B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802E2B4
-
- thumb_func_start sub_802E3B8
-sub_802E3B8:
- push {r4-r7,lr}
- movs r5, 0
- ldr r4, _0802E3F0
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8095FE8
- adds r7, r0, 0
- ldrb r0, [r7]
- cmp r0, 0x1
- bne _0802E3FC
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xBC
- ldr r0, _0802E3F4
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x6
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0802E3F8
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x7
- str r0, [r1]
- movs r5, 0x2
- b _0802E44A
- .align 2, 0
-_0802E3F0: .4byte gUnknown_203B304
-_0802E3F4: .4byte gUnknown_80E0308
-_0802E3F8: .4byte gUnknown_80E0310
-_0802E3FC:
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xBC
- ldr r0, _0802E494
- ldr r0, [r0]
- str r0, [r2]
- adds r1, 0xC0
- movs r0, 0x5
- str r0, [r1]
- adds r0, r7, 0
- bl sub_80968B0
- lsls r0, 24
- cmp r0, 0
- bne _0802E422
- bl sub_80969AC
- cmp r0, 0x7
- ble _0802E42C
-_0802E422:
- ldr r0, [r4]
- adds r0, 0xC0
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0802E42C:
- adds r5, 0x1
- ldr r4, _0802E498
- ldr r2, [r4]
- lsls r3, r5, 3
- adds r0, r2, 0
- adds r0, 0xBC
- adds r0, r3
- ldr r1, _0802E49C
- ldr r1, [r1]
- str r1, [r0]
- adds r2, 0xC0
- adds r2, r3
- movs r0, 0x8
- str r0, [r2]
- adds r5, 0x1
-_0802E44A:
- mov r12, r4
- mov r0, r12
- ldr r4, [r0]
- lsls r2, r5, 3
- adds r0, r4, 0
- adds r0, 0xBC
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- adds r1, r4, 0
- adds r1, 0xC0
- adds r2, r1, r2
- movs r0, 0x1
- str r0, [r2]
- movs r3, 0
- cmp r3, r5
- bge _0802E486
- movs r6, 0x1
- negs r6, r6
- adds r2, r1, 0
-_0802E472:
- ldr r1, [r2]
- cmp r1, r6
- beq _0802E47E
- ldr r0, [r4, 0x68]
- cmp r1, r0
- beq _0802E4A8
-_0802E47E:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0802E472
-_0802E486:
- ldrb r0, [r7]
- cmp r0, 0x1
- bne _0802E4A0
- mov r0, r12
- ldr r1, [r0]
- movs r0, 0x7
- b _0802E4A6
- .align 2, 0
-_0802E494: .4byte gUnknown_80D4990
-_0802E498: .4byte gUnknown_203B304
-_0802E49C: .4byte gUnknown_80D4970
-_0802E4A0:
- mov r0, r12
- ldr r1, [r0]
- movs r0, 0x8
-_0802E4A6:
- str r0, [r1, 0x68]
-_0802E4A8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802E3B8
-
- thumb_func_start sub_802E4B0
-sub_802E4B0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0802E4F0
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802E4DC
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802E4DC
- ldr r0, [r4]
- str r1, [r0, 0x64]
-_0802E4DC:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x7
- bhi _0802E56E
- lsls r0, 2
- ldr r1, _0802E4F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802E4F0: .4byte gUnknown_203B304
-_0802E4F4: .4byte _0802E4F8
- .align 2, 0
-_0802E4F8:
- .4byte _0802E568
- .4byte _0802E518
- .4byte _0802E52A
- .4byte _0802E53C
- .4byte _0802E56E
- .4byte _0802E56E
- .4byte _0802E56E
- .4byte _0802E560
-_0802E518:
- bl sub_802C0E8
- lsls r0, 24
- cmp r0, 0
- bne _0802E54E
- movs r0, 0x4
- bl sub_802E088
- b _0802E56E
-_0802E52A:
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- bne _0802E54E
- movs r0, 0x8
- bl sub_802E088
- b _0802E56E
-_0802E53C:
- bl sub_802B9D8
- lsls r0, 24
- cmp r0, 0
- bne _0802E54E
- movs r0, 0x9
- bl sub_802E088
- b _0802E56E
-_0802E54E:
- ldr r0, _0802E55C
- ldr r0, [r0]
- adds r0, 0x6C
- movs r1, 0x1
- bl sub_8012EA4
- b _0802E56E
- .align 2, 0
-_0802E55C: .4byte gUnknown_203B304
-_0802E560:
- movs r0, 0x2
- bl sub_802E088
- b _0802E56E
-_0802E568:
- movs r0, 0x3
- bl sub_802E088
-_0802E56E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E4B0
-
- thumb_func_start sub_802E578
-sub_802E578:
- push {r4,lr}
- movs r0, 0x1
- bl sub_802BDEC
- cmp r0, 0x4
- bhi _0802E606
- lsls r0, 2
- ldr r1, _0802E590
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802E590: .4byte _0802E594
- .align 2, 0
-_0802E594:
- .4byte _0802E606
- .4byte _0802E606
- .4byte _0802E5FC
- .4byte _0802E5A8
- .4byte _0802E5C0
-_0802E5A8:
- bl sub_802BE74
- ldr r1, _0802E5BC
- ldr r1, [r1]
- strb r0, [r1, 0x8]
- movs r0, 0x6
- bl sub_802E088
- b _0802E606
- .align 2, 0
-_0802E5BC: .4byte gUnknown_203B304
-_0802E5C0:
- bl sub_802BE74
- ldr r4, _0802E5F0
- ldr r1, [r4]
- strb r0, [r1, 0x8]
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8095FE8
- adds r2, r0, 0
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _0802E5F4
- ldr r1, [r4]
- ldrb r0, [r2, 0x5]
- strb r0, [r1, 0x9]
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x4]
- movs r0, 0xB
- bl sub_802E088
- b _0802E606
- .align 2, 0
-_0802E5F0: .4byte gUnknown_203B304
-_0802E5F4:
- movs r0, 0x7
- bl sub_802E088
- b _0802E606
-_0802E5FC:
- bl sub_802BEDC
- movs r0, 0x1
- bl sub_802E088
-_0802E606:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E578
-
- thumb_func_start sub_802E60C
-sub_802E60C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802BDEC
- ldr r4, _0802E650
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802E63C
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802E63C
- ldr r0, [r4]
- str r1, [r0, 0x68]
-_0802E63C:
- ldr r0, [sp]
- subs r0, 0x1
- cmp r0, 0x7
- bhi _0802E732
- lsls r0, 2
- ldr r1, _0802E654
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802E650: .4byte gUnknown_203B304
-_0802E654: .4byte _0802E658
- .align 2, 0
-_0802E658:
- .4byte _0802E72C
- .4byte _0802E732
- .4byte _0802E732
- .4byte _0802E732
- .4byte _0802E678
- .4byte _0802E6BC
- .4byte _0802E704
- .4byte _0802E6B4
-_0802E678:
- ldr r0, _0802E6AC
- bl sub_8011988
- ldr r4, _0802E6B0
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8095FE8
- bl sub_8096A78
- bl sub_8096C80
- bl sub_8096D24
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8096040
- bl sub_8096078
- bl sub_802C0E8
- lsls r0, 24
- cmp r0, 0
- bne _0802E6E8
- b _0802E6FC
- .align 2, 0
-_0802E6AC: .4byte 0x00000133
-_0802E6B0: .4byte gUnknown_203B304
-_0802E6B4:
- movs r0, 0x7
- bl sub_802E088
- b _0802E732
-_0802E6BC:
- ldr r0, _0802E6F4
- bl sub_8011988
- ldr r4, _0802E6F8
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8095FE8
- ldrb r0, [r0, 0x5]
- bl sub_8096DF8
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8096040
- bl sub_8096078
- bl sub_802C0E8
- lsls r0, 24
- cmp r0, 0
- beq _0802E6FC
-_0802E6E8:
- bl sub_802BEDC
- movs r0, 0x1
- bl sub_802E088
- b _0802E732
- .align 2, 0
-_0802E6F4: .4byte 0x00000133
-_0802E6F8: .4byte gUnknown_203B304
-_0802E6FC:
- movs r0, 0x5
- bl sub_802E088
- b _0802E732
-_0802E704:
- movs r0, 0
- bl sub_80119D4
- ldr r4, _0802E728
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8095FE8
- ldr r1, [r4]
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x9]
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x4]
- movs r0, 0xB
- bl sub_802E088
- b _0802E732
- .align 2, 0
-_0802E728: .4byte gUnknown_203B304
-_0802E72C:
- movs r0, 0x5
- bl sub_802E088
-_0802E732:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802E60C
-
- thumb_func_start sub_802E73C
-sub_802E73C:
- push {lr}
- bl sub_802DEE0
- cmp r0, 0x1
- bls _0802E754
- cmp r0, 0x3
- bhi _0802E754
- bl sub_802DF24
- movs r0, 0x5
- bl sub_802E088
-_0802E754:
- pop {r0}
- bx r0
- thumb_func_end sub_802E73C
-
- thumb_func_start sub_802E758
-sub_802E758:
- push {lr}
- bl sub_802C898
- cmp r0, 0x1
- bls _0802E770
- cmp r0, 0x3
- bhi _0802E770
- bl sub_802C8F4
- movs r0, 0x1
- bl sub_802E088
-_0802E770:
- pop {r0}
- bx r0
- thumb_func_end sub_802E758
-
- thumb_func_start sub_802E774
-sub_802E774:
- push {lr}
- movs r0, 0x1
- bl sub_802B720
- cmp r0, 0x4
- bhi _0802E7CA
- lsls r0, 2
- ldr r1, _0802E78C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802E78C: .4byte _0802E790
- .align 2, 0
-_0802E790:
- .4byte _0802E7CA
- .4byte _0802E7CA
- .4byte _0802E7C0
- .4byte _0802E7A4
- .4byte _0802E7A4
-_0802E7A4:
- bl sub_802B7A8
- ldr r2, _0802E7BC
- ldr r1, [r2]
- strb r0, [r1, 0x9]
- ldr r1, [r2]
- movs r0, 0xA
- str r0, [r1, 0x4]
- movs r0, 0xB
- bl sub_802E088
- b _0802E7CA
- .align 2, 0
-_0802E7BC: .4byte gUnknown_203B304
-_0802E7C0:
- bl sub_802B81C
- movs r0, 0x1
- bl sub_802E088
-_0802E7CA:
- pop {r0}
- bx r0
- thumb_func_end sub_802E774
-
- thumb_func_start sub_802E7D0
-sub_802E7D0:
- push {lr}
- bl sub_802BA8C
- cmp r0, 0x1
- bls _0802E7EC
- cmp r0, 0x3
- bhi _0802E7EC
- bl sub_802BACC
- ldr r0, _0802E7F0
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_802E088
-_0802E7EC:
- pop {r0}
- bx r0
- .align 2, 0
-_0802E7F0: .4byte gUnknown_203B304
- thumb_func_end sub_802E7D0
-
- thumb_func_start nullsub_133
-nullsub_133:
- bx lr
- thumb_func_end nullsub_133
-
- thumb_func_start sub_802E7F8
-sub_802E7F8:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _0802E85C
- movs r6, 0
- str r6, [sp]
- movs r0, 0x3
- movs r1, 0
- adds r3, r4, 0
- bl xxx_call_draw_string
- bl sub_80969AC
- adds r2, r0, 0
- movs r5, 0x7
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x12
- movs r1, 0xD
- movs r3, 0x2
- bl sub_8012BC4
- ldr r2, _0802E860
- str r6, [sp]
- movs r0, 0x16
- movs r1, 0xD
- adds r3, r4, 0
- bl xxx_call_draw_string
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x23
- movs r1, 0xD
- movs r2, 0x8
- movs r3, 0x2
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802E85C: .4byte gUnknown_80E0318
-_0802E860: .4byte gUnknown_80E0324
- thumb_func_end sub_802E7F8
-
- thumb_func_start sub_802E864
-sub_802E864:
- push {r4,lr}
- ldr r4, _0802E88C
- movs r0, 0xB6
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x64]
- str r1, [r0, 0x68]
- str r1, [r0, 0x4]
- movs r0, 0
- bl sub_802E934
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802E88C: .4byte gUnknown_203B308
- thumb_func_end sub_802E864
-
- thumb_func_start sub_802E890
-sub_802E890:
- push {lr}
- ldr r0, _0802E8A8
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x8
- bhi _0802E900
- lsls r0, 2
- ldr r1, _0802E8AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802E8A8: .4byte gUnknown_203B308
-_0802E8AC: .4byte _0802E8B0
- .align 2, 0
-_0802E8B0:
- .4byte _0802E8D4
- .4byte _0802E8DC
- .4byte _0802E8E2
- .4byte _0802E900
- .4byte _0802E8E8
- .4byte _0802E8E8
- .4byte _0802E8EE
- .4byte _0802E8F4
- .4byte _0802E8FA
-_0802E8D4:
- movs r0, 0x1
- bl sub_802E934
- b _0802E904
-_0802E8DC:
- bl sub_802ECB4
- b _0802E904
-_0802E8E2:
- bl nullsub_134
- b _0802E904
-_0802E8E8:
- bl sub_802ED4C
- b _0802E904
-_0802E8EE:
- bl sub_802EDBC
- b _0802E904
-_0802E8F4:
- bl sub_802EEA0
- b _0802E904
-_0802E8FA:
- bl sub_802EEBC
- b _0802E904
-_0802E900:
- movs r0, 0x3
- b _0802E906
-_0802E904:
- movs r0, 0
-_0802E906:
- pop {r1}
- bx r1
- thumb_func_end sub_802E890
-
- thumb_func_start sub_802E90C
-sub_802E90C:
- ldr r0, _0802E914
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_0802E914: .4byte gUnknown_203B308
- thumb_func_end sub_802E90C
-
- thumb_func_start sub_802E918
-sub_802E918:
- push {r4,lr}
- ldr r4, _0802E930
- ldr r0, [r4]
- cmp r0, 0
- beq _0802E92A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802E92A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802E930: .4byte gUnknown_203B308
- thumb_func_end sub_802E918
-
- thumb_func_start sub_802E934
-sub_802E934:
- push {lr}
- ldr r1, _0802E948
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802E94C
- bl sub_802EA58
- pop {r0}
- bx r0
- .align 2, 0
-_0802E948: .4byte gUnknown_203B308
- thumb_func_end sub_802E934
-
- thumb_func_start sub_802E94C
-sub_802E94C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0802E974
- ldr r0, [r4]
- movs r6, 0x86
- lsls r6, 1
- adds r0, r6
- bl sub_8006518
- ldr r0, [r4]
- ldr r5, [r0]
- cmp r5, 0x1
- beq _0802E97C
- cmp r5, 0x6
- beq _0802E9D0
- movs r3, 0
- ldr r2, _0802E978
- b _0802EA14
- .align 2, 0
-_0802E974: .4byte gUnknown_203B308
-_0802E978: .4byte gUnknown_80E0330
-_0802E97C:
- mov r12, r6
- ldr r0, _0802E9C4
- mov r8, r0
- movs r2, 0
- movs r3, 0x3
-_0802E986:
- ldr r1, [r4]
- adds r1, r2
- add r1, r12
- mov r0, r8
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0802E986
- bl sub_802EB34
- ldr r3, _0802E9C8
- ldr r2, [r3]
- movs r0, 0x9E
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802E9CC
- ldm r1!, {r4-r6}
- stm r2!, {r4-r6}
- ldm r1!, {r4,r5,r7}
- stm r2!, {r4,r5,r7}
- ldr r1, [r3]
- adds r0, r1, r0
- adds r1, 0xBC
- bl sub_8012CAC
- b _0802EA34
- .align 2, 0
-_0802E9C4: .4byte gUnknown_80E0330
-_0802E9C8: .4byte gUnknown_203B308
-_0802E9CC: .4byte gUnknown_80E0348
-_0802E9D0:
- bl sub_802EC10
- ldr r2, [r4]
- movs r0, 0x9E
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802EA0C
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xBC
- bl sub_8012CAC
- ldr r1, [r4]
- movs r4, 0xA4
- lsls r4, 1
- adds r0, r1, r4
- strh r5, [r0]
- movs r5, 0xAA
- lsls r5, 1
- adds r1, r5
- ldr r0, _0802EA10
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- b _0802EA34
- .align 2, 0
-_0802EA0C: .4byte gUnknown_80E0360
-_0802EA10: .4byte gUnknown_80E0378
-_0802EA14:
- ldr r0, [r4]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r0, r1
- movs r6, 0x86
- lsls r6, 1
- adds r0, r6
- adds r1, r2, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r3, 0x1
- cmp r3, 0x3
- ble _0802EA14
-_0802EA34:
- bl sub_8004914
- ldr r0, _0802EA54
- ldr r0, [r0]
- movs r7, 0x86
- lsls r7, 1
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802EA54: .4byte gUnknown_203B308
- thumb_func_end sub_802E94C
-
- thumb_func_start sub_802EA58
-sub_802EA58:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _0802EA74
- ldr r0, [r1]
- ldr r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x8
- bhi _0802EB2C
- lsls r0, 2
- ldr r1, _0802EA78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802EA74: .4byte gUnknown_203B308
-_0802EA78: .4byte _0802EA7C
- .align 2, 0
-_0802EA7C:
- .4byte _0802EB2C
- .4byte _0802EAA0
- .4byte _0802EB2C
- .4byte _0802EB2C
- .4byte _0802EABE
- .4byte _0802EACA
- .4byte _0802EAD2
- .4byte _0802EB00
- .4byte _0802EB26
-_0802EAA0:
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x6C
- adds r1, r2, 0
- adds r1, 0xBC
- adds r3, r2, 0
- adds r3, 0xFC
- ldr r2, [r2, 0x64]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0802EB2C
-_0802EABE:
- movs r0, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_802C10C
- b _0802EB2C
-_0802EACA:
- movs r0, 0x1
- bl sub_802C28C
- b _0802EB2C
-_0802EAD2:
- bl sub_802C39C
- movs r0, 0x3
- bl sub_802EEDC
- ldr r0, _0802EAFC
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x6C
- adds r1, r2, 0
- adds r1, 0xBC
- ldr r2, [r2, 0x68]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0802EB2C
- .align 2, 0
-_0802EAFC: .4byte gUnknown_203B308
-_0802EB00:
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8096574
- ldr r1, [r4]
- adds r1, 0xC
- bl sub_803B35C
- ldr r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0xC]
- adds r0, 0x50
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC
- bl sub_802DE84
- b _0802EB2C
-_0802EB26:
- movs r0, 0
- bl sub_802C860
-_0802EB2C:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802EA58
-
- thumb_func_start sub_802EB34
-sub_802EB34:
- push {r4-r7,lr}
- ldr r4, _0802EBDC
- ldr r0, [r4]
- adds r0, 0xFC
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xBC
- ldr r0, _0802EBE0
- str r0, [r2]
- adds r1, 0xC0
- movs r0, 0x2
- str r0, [r1]
- bl sub_802C4A4
- lsls r0, 24
- cmp r0, 0
- beq _0802EB66
- ldr r0, [r4]
- adds r0, 0xFC
- movs r1, 0x1
- strh r1, [r0]
-_0802EB66:
- movs r5, 0x1
- ldr r1, [r4]
- adds r2, r1, 0
- adds r2, 0xC4
- ldr r0, _0802EBE4
- str r0, [r2]
- adds r1, 0xC8
- movs r0, 0x3
- str r0, [r1]
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- beq _0802EB88
- ldr r0, [r4]
- adds r0, 0xFE
- strh r5, [r0]
-_0802EB88:
- movs r5, 0x2
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xCC
- movs r0, 0
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x1
- str r0, [r1]
- movs r3, 0
- adds r6, r4, 0
- mov r12, r2
- mov r4, r12
- adds r4, 0xFC
- adds r2, 0xC0
-_0802EBA6:
- ldrh r0, [r4]
- cmp r0, 0
- bne _0802EBB6
- ldr r1, [r2]
- mov r7, r12
- ldr r0, [r7, 0x64]
- cmp r1, r0
- beq _0802EC0A
-_0802EBB6:
- adds r4, 0x2
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r5
- blt _0802EBA6
- movs r3, 0
- cmp r3, r5
- bge _0802EC0A
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xFC
- ldrh r0, [r0]
- cmp r0, 0
- bne _0802EBE8
- adds r0, r1, 0
- adds r0, 0xC0
- ldr r0, [r0]
- str r0, [r1, 0x64]
- b _0802EC0A
- .align 2, 0
-_0802EBDC: .4byte gUnknown_203B308
-_0802EBE0: .4byte gUnknown_80E0390
-_0802EBE4: .4byte gUnknown_80E03A0
-_0802EBE8:
- adds r3, 0x1
- cmp r3, r5
- bge _0802EC0A
- ldr r2, [r6]
- lsls r0, r3, 1
- adds r1, r2, 0
- adds r1, 0xFC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0802EBE8
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0xC0
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0x64]
-_0802EC0A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_802EB34
-
- thumb_func_start sub_802EC10
-sub_802EC10:
- push {r4-r7,lr}
- movs r6, 0
- ldr r4, _0802ECA8
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0xBC
- ldr r0, _0802ECAC
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x4
- str r0, [r1]
- ldrb r0, [r2, 0x8]
- bl sub_8096574
- bl sub_80968B0
- lsls r0, 24
- cmp r0, 0
- bne _0802EC40
- bl sub_80969AC
- cmp r0, 0x7
- ble _0802EC4A
-_0802EC40:
- ldr r0, [r4]
- adds r0, 0xC0
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0802EC4A:
- adds r6, 0x1
- ldr r4, _0802ECA8
- ldr r5, [r4]
- lsls r1, r6, 3
- adds r2, r5, 0
- adds r2, 0xBC
- adds r3, r2, r1
- ldr r0, _0802ECB0
- ldr r0, [r0]
- str r0, [r3]
- adds r3, r5, 0
- adds r3, 0xC0
- adds r1, r3, r1
- movs r0, 0x5
- str r0, [r1]
- adds r6, 0x1
- lsls r1, r6, 3
- adds r2, r1
- movs r0, 0
- str r0, [r2]
- adds r1, r3, r1
- movs r0, 0x1
- str r0, [r1]
- movs r2, 0
- adds r7, r4, 0
- cmp r2, r6
- bge _0802EC9C
- adds r4, r5, 0
- movs r5, 0x1
- negs r5, r5
- adds r1, r3, 0
-_0802EC88:
- ldr r3, [r1]
- cmp r3, r5
- beq _0802EC94
- ldr r0, [r4, 0x68]
- cmp r3, r0
- beq _0802ECA2
-_0802EC94:
- adds r1, 0x8
- adds r2, 0x1
- cmp r2, r6
- blt _0802EC88
-_0802EC9C:
- ldr r1, [r7]
- movs r0, 0x5
- str r0, [r1, 0x68]
-_0802ECA2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802ECA8: .4byte gUnknown_203B308
-_0802ECAC: .4byte gUnknown_80D4990
-_0802ECB0: .4byte gUnknown_80D4970
- thumb_func_end sub_802EC10
-
- thumb_func_start sub_802ECB4
-sub_802ECB4:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _0802ECF0
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802ECE0
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802ECE0
- ldr r0, [r4]
- str r1, [r0, 0x64]
-_0802ECE0:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0802ECFE
- cmp r0, 0x2
- bgt _0802ECF4
- cmp r0, 0x1
- beq _0802ED3C
- b _0802ED42
- .align 2, 0
-_0802ECF0: .4byte gUnknown_203B308
-_0802ECF4:
- cmp r0, 0x3
- beq _0802ED10
- cmp r0, 0x5
- beq _0802ED34
- b _0802ED42
-_0802ECFE:
- bl sub_802C4A4
- lsls r0, 24
- cmp r0, 0
- bne _0802ED22
- movs r0, 0x4
- bl sub_802E934
- b _0802ED42
-_0802ED10:
- bl sub_802C83C
- lsls r0, 24
- cmp r0, 0
- bne _0802ED22
- movs r0, 0x8
- bl sub_802E934
- b _0802ED42
-_0802ED22:
- ldr r0, _0802ED30
- ldr r0, [r0]
- adds r0, 0x6C
- movs r1, 0x1
- bl sub_8012EA4
- b _0802ED42
- .align 2, 0
-_0802ED30: .4byte gUnknown_203B308
-_0802ED34:
- movs r0, 0x2
- bl sub_802E934
- b _0802ED42
-_0802ED3C:
- movs r0, 0x3
- bl sub_802E934
-_0802ED42:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802ECB4
-
- thumb_func_start sub_802ED4C
-sub_802ED4C:
- push {lr}
- movs r0, 0x1
- bl sub_802C1E4
- cmp r0, 0x4
- bhi _0802EDB6
- lsls r0, 2
- ldr r1, _0802ED64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802ED64: .4byte _0802ED68
- .align 2, 0
-_0802ED68:
- .4byte _0802EDB6
- .4byte _0802EDB6
- .4byte _0802EDAC
- .4byte _0802ED7C
- .4byte _0802ED94
-_0802ED7C:
- bl sub_802C26C
- ldr r1, _0802ED90
- ldr r1, [r1]
- strb r0, [r1, 0x8]
- movs r0, 0x6
- bl sub_802E934
- b _0802EDB6
- .align 2, 0
-_0802ED90: .4byte gUnknown_203B308
-_0802ED94:
- bl sub_802C26C
- ldr r1, _0802EDA8
- ldr r1, [r1]
- strb r0, [r1, 0x8]
- movs r0, 0x7
- bl sub_802E934
- b _0802EDB6
- .align 2, 0
-_0802EDA8: .4byte gUnknown_203B308
-_0802EDAC:
- bl sub_802C2D4
- movs r0, 0x1
- bl sub_802E934
-_0802EDB6:
- pop {r0}
- bx r0
- thumb_func_end sub_802ED4C
-
- thumb_func_start sub_802EDBC
-sub_802EDBC:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802C1E4
- ldr r4, _0802EDFC
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802EDEC
- ldr r0, [r4]
- adds r0, 0x6C
- mov r1, sp
- bl sub_8013114
- ldr r1, [sp]
- cmp r1, 0x1
- beq _0802EDEC
- ldr r0, [r4]
- str r1, [r0, 0x68]
-_0802EDEC:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0802EE06
- cmp r0, 0x4
- bgt _0802EE00
- cmp r0, 0x1
- beq _0802EE90
- b _0802EE96
- .align 2, 0
-_0802EDFC: .4byte gUnknown_203B308
-_0802EE00:
- cmp r0, 0x5
- beq _0802EE88
- b _0802EE96
-_0802EE06:
- ldr r0, _0802EE28
- bl sub_8011988
- ldr r4, _0802EE2C
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- bl sub_8096574
- ldrb r1, [r0]
- cmp r1, 0x3
- beq _0802EE3C
- cmp r1, 0x3
- bgt _0802EE30
- cmp r1, 0x2
- beq _0802EE36
- b _0802EE5E
- .align 2, 0
-_0802EE28: .4byte 0x00000133
-_0802EE2C: .4byte gUnknown_203B308
-_0802EE30:
- cmp r1, 0x4
- beq _0802EE42
- b _0802EE5E
-_0802EE36:
- ldr r0, [r4]
- movs r1, 0x1
- b _0802EE46
-_0802EE3C:
- ldr r0, [r4]
- movs r1, 0x2
- b _0802EE46
-_0802EE42:
- ldr r0, [r4]
- movs r1, 0x3
-_0802EE46:
- str r1, [r0, 0x4]
- ldrb r0, [r0, 0x8]
- bl sub_80965B8
- bl sub_80965F4
- bl sub_802C2D4
- movs r0, 0x3
- bl sub_802E934
- b _0802EE96
-_0802EE5E:
- bl sub_8096A78
- bl sub_8096C80
- bl sub_8096D24
- bl sub_802C4A4
- lsls r0, 24
- cmp r0, 0
- beq _0802EE80
- bl sub_802C2D4
- movs r0, 0x1
- bl sub_802E934
- b _0802EE96
-_0802EE80:
- movs r0, 0x5
- bl sub_802E934
- b _0802EE96
-_0802EE88:
- movs r0, 0x7
- bl sub_802E934
- b _0802EE96
-_0802EE90:
- movs r0, 0x5
- bl sub_802E934
-_0802EE96:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802EDBC
-
- thumb_func_start sub_802EEA0
-sub_802EEA0:
- push {lr}
- bl sub_802DEE0
- cmp r0, 0x1
- bls _0802EEB8
- cmp r0, 0x3
- bhi _0802EEB8
- bl sub_802DF24
- movs r0, 0x5
- bl sub_802E934
-_0802EEB8:
- pop {r0}
- bx r0
- thumb_func_end sub_802EEA0
-
- thumb_func_start sub_802EEBC
-sub_802EEBC:
- push {lr}
- bl sub_802C898
- cmp r0, 0x1
- bls _0802EED4
- cmp r0, 0x3
- bhi _0802EED4
- bl sub_802C8F4
- movs r0, 0x1
- bl sub_802E934
-_0802EED4:
- pop {r0}
- bx r0
- thumb_func_end sub_802EEBC
-
- thumb_func_start nullsub_134
-nullsub_134:
- bx lr
- thumb_func_end nullsub_134
-
- thumb_func_start sub_802EEDC
-sub_802EEDC:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _0802EF40
- movs r6, 0
- str r6, [sp]
- movs r0, 0x3
- movs r1, 0
- adds r3, r4, 0
- bl xxx_call_draw_string
- bl sub_80969AC
- adds r2, r0, 0
- movs r5, 0x7
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x12
- movs r1, 0xD
- movs r3, 0x2
- bl sub_8012BC4
- ldr r2, _0802EF44
- str r6, [sp]
- movs r0, 0x16
- movs r1, 0xD
- adds r3, r4, 0
- bl xxx_call_draw_string
- str r5, [sp]
- str r4, [sp, 0x4]
- movs r0, 0x23
- movs r1, 0xD
- movs r2, 0x8
- movs r3, 0x2
- bl sub_8012BC4
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802EF40: .4byte gUnknown_80E03AC
-_0802EF44: .4byte gUnknown_80E03B8
- thumb_func_end sub_802EEDC
-
- thumb_func_start sub_802EF48
-sub_802EF48:
- push {r4,lr}
- ldr r4, _0802EF68
- movs r0, 0xA8
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_802EFEC
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0802EF68: .4byte gUnknown_203B30C
- thumb_func_end sub_802EF48
-
- thumb_func_start sub_802EF6C
-sub_802EF6C:
- push {lr}
- ldr r0, _0802EF84
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x5
- bhi _0802EFBA
- lsls r0, 2
- ldr r1, _0802EF88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802EF84: .4byte gUnknown_203B30C
-_0802EF88: .4byte _0802EF8C
- .align 2, 0
-_0802EF8C:
- .4byte _0802EFA4
- .4byte _0802EFA4
- .4byte _0802EFAA
- .4byte _0802EFB0
- .4byte _0802EFB6
- .4byte _0802EFBA
-_0802EFA4:
- bl sub_802F148
- b _0802EFBE
-_0802EFAA:
- bl sub_802F184
- b _0802EFBE
-_0802EFB0:
- bl sub_802F1E8
- b _0802EFBE
-_0802EFB6:
- movs r0, 0x3
- b _0802EFC0
-_0802EFBA:
- movs r0, 0x2
- b _0802EFC0
-_0802EFBE:
- movs r0, 0
-_0802EFC0:
- pop {r1}
- bx r1
- thumb_func_end sub_802EF6C
-
- thumb_func_start sub_802EFC4
-sub_802EFC4:
- ldr r0, _0802EFCC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_0802EFCC: .4byte gUnknown_203B30C
- thumb_func_end sub_802EFC4
-
- thumb_func_start sub_802EFD0
-sub_802EFD0:
- push {r4,lr}
- ldr r4, _0802EFE8
- ldr r0, [r4]
- cmp r0, 0
- beq _0802EFE2
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802EFE2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802EFE8: .4byte gUnknown_203B30C
- thumb_func_end sub_802EFD0
-
- thumb_func_start sub_802EFEC
-sub_802EFEC:
- push {lr}
- ldr r1, _0802F000
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802F004
- bl sub_802F088
- pop {r0}
- bx r0
- .align 2, 0
-_0802F000: .4byte gUnknown_203B30C
- thumb_func_end sub_802EFEC
-
- thumb_func_start sub_802F004
-sub_802F004:
- push {r4-r7,lr}
- ldr r4, _0802F03C
- ldr r0, [r4]
- adds r0, 0xF0
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x2
- bne _0802F044
- bl sub_802F108
- ldr r2, [r4]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r0
- ldr r1, _0802F040
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0xB0
- bl sub_8012CAC
- b _0802F066
- .align 2, 0
-_0802F03C: .4byte gUnknown_203B30C
-_0802F040: .4byte gUnknown_80E03F4
-_0802F044:
- mov r12, r4
- ldr r4, _0802F080
- movs r2, 0
- movs r3, 0x3
-_0802F04C:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r2
- adds r1, 0xF0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r2, 0x18
- subs r3, 0x1
- cmp r3, 0
- bge _0802F04C
-_0802F066:
- bl sub_8004914
- ldr r0, _0802F084
- ldr r0, [r0]
- adds r0, 0xF0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F080: .4byte gUnknown_80E03C4
-_0802F084: .4byte gUnknown_203B30C
- thumb_func_end sub_802F004
-
- thumb_func_start sub_802F088
-sub_802F088:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _0802F0A0
- ldr r0, [r6]
- ldr r5, [r0]
- cmp r5, 0x1
- beq _0802F0B6
- cmp r5, 0x1
- bgt _0802F0A4
- cmp r5, 0
- beq _0802F0AE
- b _0802F100
- .align 2, 0
-_0802F0A0: .4byte gUnknown_203B30C
-_0802F0A4:
- cmp r5, 0x2
- beq _0802F0BE
- cmp r5, 0x3
- beq _0802F0DA
- b _0802F100
-_0802F0AE:
- movs r0, 0
- bl sub_802CDD4
- b _0802F100
-_0802F0B6:
- movs r0, 0x1
- bl sub_802CED8
- b _0802F100
-_0802F0BE:
- bl sub_802CFD0
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x60
- adds r1, 0xB0
- movs r2, 0x3
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0802F100
-_0802F0DA:
- ldrb r0, [r0, 0x4]
- bl sub_803B344
- adds r4, r0, 0
- ldr r1, [r6]
- adds r1, 0x8
- bl sub_803B35C
- ldr r0, [r6]
- str r5, [r0, 0x8]
- adds r0, 0x4C
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r6]
- ldr r1, [r4, 0x18]
- str r1, [r0, 0x58]
- adds r0, 0x8
- bl sub_802DE84
-_0802F100:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_802F088
-
- thumb_func_start sub_802F108
-sub_802F108:
- ldr r0, _0802F13C
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0
- mov r1, r12
- adds r1, 0xB0
- ldr r0, _0802F140
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x2
- str r0, [r1]
- movs r2, 0x1
- adds r1, 0x4
- ldr r0, _0802F144
- ldr r0, [r0]
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x3
- str r0, [r1]
- mov r0, r12
- adds r0, 0xC0
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- bx lr
- .align 2, 0
-_0802F13C: .4byte gUnknown_203B30C
-_0802F140: .4byte gUnknown_80E040C
-_0802F144: .4byte gUnknown_80D4970
- thumb_func_end sub_802F108
-
- thumb_func_start sub_802F148
-sub_802F148:
- push {lr}
- movs r0, 0x1
- bl sub_802CE5C
- cmp r0, 0x2
- beq _0802F174
- cmp r0, 0x2
- bcc _0802F17E
- cmp r0, 0x3
- bne _0802F17E
- bl sub_802CEBC
- ldr r1, _0802F170
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_802EFEC
- b _0802F17E
- .align 2, 0
-_0802F170: .4byte gUnknown_203B30C
-_0802F174:
- bl sub_802CF14
- movs r0, 0x5
- bl sub_802EFEC
-_0802F17E:
- pop {r0}
- bx r0
- thumb_func_end sub_802F148
-
- thumb_func_start sub_802F184
-sub_802F184:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_802CE5C
- ldr r4, _0802F1BC
- ldr r0, [r4]
- adds r0, 0x60
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0802F1AA
- ldr r0, [r4]
- adds r0, 0x60
- mov r1, sp
- bl sub_8013114
-_0802F1AA:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0802F1C6
- cmp r0, 0x2
- bgt _0802F1C0
- cmp r0, 0x1
- beq _0802F1DA
- b _0802F1E0
- .align 2, 0
-_0802F1BC: .4byte gUnknown_203B30C
-_0802F1C0:
- cmp r0, 0x3
- beq _0802F1D2
- b _0802F1E0
-_0802F1C6:
- bl sub_802CF14
- movs r0, 0x4
- bl sub_802EFEC
- b _0802F1E0
-_0802F1D2:
- movs r0, 0x3
- bl sub_802EFEC
- b _0802F1E0
-_0802F1DA:
- movs r0, 0x1
- bl sub_802EFEC
-_0802F1E0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_802F184
-
- thumb_func_start sub_802F1E8
-sub_802F1E8:
- push {lr}
- bl sub_802DEE0
- cmp r0, 0x1
- bls _0802F200
- cmp r0, 0x3
- bhi _0802F200
- bl sub_802DF24
- movs r0, 0x1
- bl sub_802EFEC
-_0802F200:
- pop {r0}
- bx r0
- thumb_func_end sub_802F1E8
-
- thumb_func_start sub_802F204
-sub_802F204:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _0802F28C
- movs r0, 0x84
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- str r6, [r0, 0x10]
- movs r6, 0
- str r6, [r0, 0xC]
- strb r4, [r0, 0x8]
- ldr r1, [r5]
- ldr r0, _0802F290
- ldr r1, [r1, 0x10]
- bl strcpy
- ldr r4, _0802F294
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_808DA34
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- movs r1, 0x14
- ldrsh r0, [r0, r1]
- bl sub_808DDD0
- ldr r1, [r5]
- str r0, [r1, 0x14]
- str r6, [r1, 0x18]
- adds r1, 0x20
- strb r6, [r1]
- ldr r0, [r5]
- adds r0, 0x21
- strb r6, [r0]
- ldr r0, [r5]
- adds r0, 0x22
- strb r6, [r0]
- ldr r5, [r5]
- movs r0, 0x2
- strh r0, [r5, 0x1C]
- movs r0, 0x8
- strh r0, [r5, 0x1E]
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0802F27C
- ldr r0, [r0, 0x4]
- str r0, [r5, 0x18]
-_0802F27C:
- movs r0, 0
- bl sub_802F2E8
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0802F28C: .4byte gUnknown_203B310
-_0802F290: .4byte gUnknown_202E5D8
-_0802F294: .4byte gUnknown_202DF98
- thumb_func_end sub_802F204
-
- thumb_func_start sub_802F298
-sub_802F298:
- push {lr}
- ldr r0, _0802F2AC
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x5
- beq _0802F2B0
- cmp r0, 0x9
- bne _0802F2B6
- movs r0, 0x3
- b _0802F2BC
- .align 2, 0
-_0802F2AC: .4byte gUnknown_203B310
-_0802F2B0:
- bl sub_802F6FC
- b _0802F2BA
-_0802F2B6:
- bl sub_802F718
-_0802F2BA:
- movs r0, 0
-_0802F2BC:
- pop {r1}
- bx r1
- thumb_func_end sub_802F298
-
- thumb_func_start sub_802F2C0
-sub_802F2C0:
- push {r4,lr}
- ldr r4, _0802F2E4
- ldr r0, [r4]
- cmp r0, 0
- beq _0802F2DE
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _0802F2D4
- bl CloseFile
-_0802F2D4:
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802F2DE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F2E4: .4byte gUnknown_203B310
- thumb_func_end sub_802F2C0
-
- thumb_func_start sub_802F2E8
-sub_802F2E8:
- push {lr}
- ldr r1, _0802F2FC
- ldr r1, [r1]
- str r0, [r1]
- bl sub_802F300
- bl sub_802F358
- pop {r0}
- bx r0
- .align 2, 0
-_0802F2FC: .4byte gUnknown_203B310
- thumb_func_end sub_802F2E8
-
- thumb_func_start sub_802F300
-sub_802F300:
- push {r4-r7,lr}
- ldr r4, _0802F350
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0
- bne _0802F348
- adds r0, r1, 0
- adds r0, 0x24
- bl sub_8006518
- mov r12, r4
- ldr r4, _0802F354
- movs r3, 0
- movs r2, 0x3
-_0802F31C:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0x24
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0802F31C
- bl sub_8004914
- ldr r0, _0802F350
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0802F348:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F350: .4byte gUnknown_203B310
-_0802F354: .4byte gUnknown_80E041C
- thumb_func_end sub_802F300
-
- thumb_func_start sub_802F358
-sub_802F358:
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r1, _0802F374
- ldr r0, [r1]
- ldr r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x9
- bls _0802F36A
- b _0802F6E4
-_0802F36A:
- lsls r0, 2
- ldr r1, _0802F378
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802F374: .4byte gUnknown_203B310
-_0802F378: .4byte _0802F37C
- .align 2, 0
-_0802F37C:
- .4byte _0802F3A4
- .4byte _0802F3E8
- .4byte _0802F444
- .4byte _0802F494
- .4byte _0802F524
- .4byte _0802F5CC
- .4byte _0802F614
- .4byte _0802F630
- .4byte _0802F6A4
- .4byte _0802F6E4
-_0802F3A4:
- ldr r2, [r6]
- ldr r0, [r2, 0x10]
- ldr r1, [r0, 0x18]
- cmp r1, 0
- bne _0802F3B6
- movs r0, 0x2
- bl sub_802F2E8
- b _0802F6E4
-_0802F3B6:
- ldr r0, _0802F3D4
- str r1, [r0]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0802F3E0
- ldr r0, _0802F3D8
- adds r2, 0x14
- ldr r3, _0802F3DC
- movs r1, 0
- bl sub_80141B4
- ldr r1, [r6]
- movs r0, 0x1
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F3D4: .4byte gUnknown_202DE30
-_0802F3D8: .4byte gUnknown_80E0434
-_0802F3DC: .4byte 0x0000010d
-_0802F3E0:
- movs r0, 0x1
- bl sub_802F2E8
- b _0802F6E4
-_0802F3E8:
- movs r0, 0xCB
- bl sub_8011988
- ldr r0, _0802F414
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x18]
- bl sub_80913A0
- movs r0, 0
- bl sub_808D544
- cmp r0, 0x1
- bgt _0802F420
- ldr r0, _0802F418
- ldr r3, _0802F41C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802F42C
- .align 2, 0
-_0802F414: .4byte gUnknown_203B310
-_0802F418: .4byte gUnknown_80E045C
-_0802F41C: .4byte 0x00000101
-_0802F420:
- ldr r0, _0802F438
- ldr r3, _0802F43C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802F42C:
- ldr r0, _0802F440
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F438: .4byte gUnknown_80E0484
-_0802F43C: .4byte 0x00000101
-_0802F440: .4byte gUnknown_203B310
-_0802F444:
- ldr r0, [r6]
- ldr r0, [r0, 0x10]
- adds r1, r0, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- bne _0802F45A
- movs r0, 0x4
- bl sub_802F2E8
- b _0802F6E4
-_0802F45A:
- ldr r0, _0802F480
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8092578
- ldr r2, [r6]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0802F48C
- ldr r0, _0802F484
- adds r2, 0x14
- ldr r3, _0802F488
- movs r1, 0
- bl sub_80141B4
- ldr r1, [r6]
- movs r0, 0x3
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F480: .4byte gUnknown_202E628
-_0802F484: .4byte gUnknown_80E04B4
-_0802F488: .4byte 0x0000010d
-_0802F48C:
- movs r0, 0x3
- bl sub_802F2E8
- b _0802F6E4
-_0802F494:
- ldr r4, _0802F4B4
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _0802F4BC
- movs r0, 0xFA
- lsls r0, 2
- bl sub_80913A0
- ldr r0, _0802F4B8
- b _0802F4DA
- .align 2, 0
-_0802F4B4: .4byte gUnknown_203B310
-_0802F4B8: .4byte gUnknown_80E04F4
-_0802F4BC:
- movs r0, 0
- bl sub_808D544
- cmp r0, 0x1
- bgt _0802F4F0
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_80925EC
- movs r0, 0xCE
- bl sub_8011988
- ldr r0, _0802F4E8
-_0802F4DA:
- ldr r3, _0802F4EC
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802F50E
- .align 2, 0
-_0802F4E8: .4byte gUnknown_80E05C0
-_0802F4EC: .4byte 0x00000101
-_0802F4F0:
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- adds r0, 0x20
- ldrb r0, [r0]
- bl sub_80925EC
- movs r0, 0xCE
- bl sub_8011988
- ldr r0, _0802F518
- ldr r3, _0802F51C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802F50E:
- ldr r0, _0802F520
- ldr r1, [r0]
- movs r0, 0x4
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F518: .4byte gUnknown_80E05FC
-_0802F51C: .4byte 0x00000101
-_0802F520: .4byte gUnknown_203B310
-_0802F524:
- ldr r0, [r6]
- ldr r0, [r0, 0x10]
- ldrb r2, [r0, 0x1C]
- cmp r2, 0
- beq _0802F628
- ldr r0, [r0, 0x18]
- cmp r0, 0
- bne _0802F620
- lsls r2, 16
- ldr r1, _0802F564
- ldr r0, [sp, 0xC]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0xC]
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _0802F56C
- ldr r0, [r6]
- ldr r0, [r0, 0x10]
- ldrb r1, [r0, 0x1F]
- lsls r1, 8
- ldr r2, _0802F568
- ldr r0, [sp, 0xC]
- ands r0, r2
- orrs r0, r1
- b _0802F572
- .align 2, 0
-_0802F564: .4byte 0xff00ffff
-_0802F568: .4byte 0xffff00ff
-_0802F56C:
- ldr r1, _0802F5B4
- ldr r0, [sp, 0xC]
- ands r0, r1
-_0802F572:
- str r0, [sp, 0xC]
- ldr r1, _0802F5B8
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r2, 0x1
- orrs r0, r2
- str r0, [sp, 0xC]
- movs r1, 0
- str r1, [sp]
- mov r0, sp
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x8]
- ldr r0, _0802F5BC
- add r1, sp, 0xC
- mov r2, sp
- bl sub_8090E14
- ldr r4, _0802F5C0
- ldr r2, [r4]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0802F620
- ldr r0, _0802F5C4
- adds r2, 0x14
- ldr r3, _0802F5C8
- movs r1, 0
- bl sub_80141B4
- ldr r1, [r4]
- movs r0, 0x5
- str r0, [r1, 0x4]
- b _0802F6E4
- .align 2, 0
-_0802F5B4: .4byte 0xffff00ff
-_0802F5B8: .4byte 0xffffff00
-_0802F5BC: .4byte gUnknown_202DEA8
-_0802F5C0: .4byte gUnknown_203B310
-_0802F5C4: .4byte gUnknown_80E0640
-_0802F5C8: .4byte 0x0000010d
-_0802F5CC:
- ldr r0, [r6]
- ldr r2, [r0, 0x10]
- adds r1, r2, 0
- adds r1, 0x1C
- ldr r3, [r0, 0xC]
- adds r1, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _0802F5E6
- movs r0, 0x6
- bl sub_802F2E8
- b _0802F6E4
-_0802F5E6:
- cmp r3, 0
- bne _0802F5FC
- ldr r0, [r2, 0x18]
- cmp r0, 0
- bne _0802F5FC
- ldrb r1, [r2, 0x1C]
- ldrb r2, [r2, 0x1F]
- movs r0, 0
- bl sub_801B60C
- b _0802F6E4
-_0802F5FC:
- ldr r1, [r6]
- ldr r2, [r1, 0x10]
- adds r0, r2, 0
- adds r0, 0x1C
- ldr r1, [r1, 0xC]
- adds r0, r1
- ldrb r1, [r0]
- ldrb r2, [r2, 0x1F]
- movs r0, 0x1
- bl sub_801B60C
- b _0802F6E4
-_0802F614:
- ldr r1, [r6]
- ldr r0, [r1, 0xC]
- adds r0, 0x1
- str r0, [r1, 0xC]
- cmp r0, 0x2
- bgt _0802F628
-_0802F620:
- movs r0, 0x5
- bl sub_802F2E8
- b _0802F6E4
-_0802F628:
- movs r0, 0x7
- bl sub_802F2E8
- b _0802F6E4
-_0802F630:
- adds r5, r6, 0
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- bne _0802F644
- movs r0, 0x9
- bl sub_802F2E8
- b _0802F6E4
-_0802F644:
- bl sub_8092178
- ldr r1, [r5]
- strb r0, [r1, 0x9]
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x24]
- bl sub_8092158
- movs r0, 0xCB
- bl sub_8011988
- ldr r4, [r5]
- bl sub_8092178
- ldrb r1, [r4, 0x9]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _0802F672
- ldr r1, [r5]
- movs r0, 0x8
- b _0802F676
-_0802F672:
- ldr r1, [r6]
- movs r0, 0x9
-_0802F676:
- str r0, [r1, 0x4]
- ldr r1, _0802F694
- ldr r0, _0802F698
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- ldr r0, [r0, 0x24]
- str r0, [r1]
- ldr r0, _0802F69C
- ldr r3, _0802F6A0
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0802F6E4
- .align 2, 0
-_0802F694: .4byte gUnknown_202DE30
-_0802F698: .4byte gUnknown_203B310
-_0802F69C: .4byte gUnknown_80E0670
-_0802F6A0: .4byte 0x00000101
-_0802F6A4:
- movs r0, 0xC9
- bl sub_8011988
- ldr r0, _0802F6EC
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x4]
- ldrb r0, [r1, 0x9]
- bl sub_80921A8
- adds r1, r0, 0
- ldr r4, _0802F6F0
- adds r0, r4, 0
- bl strcpy
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 24
- bl sub_80921A8
- adds r1, r0, 0
- adds r4, 0x50
- adds r0, r4, 0
- bl strcpy
- ldr r0, _0802F6F4
- ldr r3, _0802F6F8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_0802F6E4:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F6EC: .4byte gUnknown_203B310
-_0802F6F0: .4byte gUnknown_202E038
-_0802F6F4: .4byte gUnknown_80E06A8
-_0802F6F8: .4byte 0x00000101
- thumb_func_end sub_802F358
-
- thumb_func_start sub_802F6FC
-sub_802F6FC:
- push {lr}
- bl sub_801B6AC
- cmp r0, 0x1
- bls _0802F714
- cmp r0, 0x3
- bhi _0802F714
- bl sub_801B72C
- movs r0, 0x6
- bl sub_802F2E8
-_0802F714:
- pop {r0}
- bx r0
- thumb_func_end sub_802F6FC
-
- thumb_func_start sub_802F718
-sub_802F718:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0802F730
- ldr r0, _0802F738
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_802F2E8
-_0802F730:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0802F738: .4byte gUnknown_203B310
- thumb_func_end sub_802F718
-
- thumb_func_start sub_802F73C
-sub_802F73C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- lsls r3, 24
- lsrs r6, r3, 24
- bl sub_802FCF0
- lsls r0, 24
- cmp r0, 0
- beq _0802F75A
- movs r0, 0
- b _0802F836
-_0802F75A:
- ldr r4, _0802F7AC
- ldr r0, [r4]
- cmp r0, 0
- bne _0802F76E
- movs r0, 0xAE
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_0802F76E:
- ldr r0, [r4]
- adds r0, 0xB8
- strb r6, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0xF0
- str r5, [r1]
- adds r2, r0, 0
- adds r2, 0xF4
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0xF8
- adds r1, r0, r1
- str r1, [r2]
- adds r0, 0xF8
- bl sub_8006518
- cmp r6, 0
- beq _0802F7B4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xF0
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0xF8
- ldr r0, _0802F7B0
- b _0802F7C8
- .align 2, 0
-_0802F7AC: .4byte gUnknown_203B314
-_0802F7B0: .4byte gUnknown_80E072C
-_0802F7B4:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xF0
- ldr r2, [r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0xF8
- ldr r0, _0802F840
-_0802F7C8:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r4, _0802F844
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0xF4
- ldr r1, [r0]
- movs r3, 0xAC
- lsls r3, 1
- adds r0, r2, r3
- str r0, [r1, 0x14]
- cmp r7, 0
- beq _0802F7FC
- adds r0, r2, 0
- adds r0, 0xF0
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- subs r3, 0x58
- adds r1, r2, r3
- adds r1, r0
- ldr r0, [r7]
- str r0, [r1]
-_0802F7FC:
- ldr r0, [r4]
- adds r0, 0xF4
- ldr r0, [r0]
- mov r1, r8
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xF8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r4]
- adds r4, 0xBC
- bl sub_802FBF4
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_802F9C0
- bl sub_802FA50
- movs r0, 0x1
-_0802F836:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802F840: .4byte gUnknown_80E0714
-_0802F844: .4byte gUnknown_203B314
- thumb_func_end sub_802F73C
-
- thumb_func_start sub_802F848
-sub_802F848:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r1, _0802F858
- ldr r0, [r1]
- b _0802F884
- .align 2, 0
-_0802F858: .4byte gUnknown_203B314
-_0802F85C:
- ldr r2, [r1]
- lsls r0, r3, 1
- adds r0, r2, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, r4
- bne _0802F880
- adds r0, r2, 0
- adds r0, 0xBC
- adds r1, r3, 0
- bl sub_8013878
- bl sub_802F9C0
- bl sub_802FA50
- movs r0, 0x1
- b _0802F89A
-_0802F880:
- adds r3, 0x1
- adds r0, r2, 0
-_0802F884:
- adds r0, 0xDE
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r3, r0
- blt _0802F85C
- ldr r0, [r1]
- adds r0, 0xBC
- movs r1, 0
- bl sub_8013878
- movs r0, 0
-_0802F89A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_802F848
-
- thumb_func_start sub_802F8A0
-sub_802F8A0:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _0802F8BC
- ldr r0, _0802F8B8
- ldr r0, [r0]
- adds r0, 0xBC
- bl sub_8013660
- movs r0, 0
- b _0802F904
- .align 2, 0
-_0802F8B8: .4byte gUnknown_203B314
-_0802F8BC:
- ldr r4, _0802F8D8
- ldr r0, [r4]
- adds r0, 0xBC
- bl GetKeyPress
- cmp r0, 0x1
- beq _0802F8DC
- cmp r0, 0x2
- bne _0802F8E6
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0802F904
- .align 2, 0
-_0802F8D8: .4byte gUnknown_203B314
-_0802F8DC:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _0802F904
-_0802F8E6:
- ldr r0, [r4]
- adds r0, 0xBC
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0802F8FA
- movs r0, 0
- b _0802F904
-_0802F8FA:
- bl sub_802F9C0
- bl sub_802FA50
- movs r0, 0x1
-_0802F904:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802F8A0
-
- thumb_func_start sub_802F90C
-sub_802F90C:
- ldr r0, _0802F934
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0xDA
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0xD4
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- lsls r0, 1
- adds r0, r2, r0
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0802F934: .4byte gUnknown_203B314
- thumb_func_end sub_802F90C
-
- thumb_func_start sub_802F938
-sub_802F938:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_802FBF4
- adds r1, r0, 0
- ldr r5, _0802F970
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0xDE
- strh r1, [r2]
- adds r0, 0xBC
- bl sub_8013984
- bl sub_802F9C0
- bl sub_802FA50
- cmp r4, 0
- beq _0802F96A
- ldr r0, [r5]
- adds r0, 0xBC
- bl AddMenuCursorSprite
-_0802F96A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F970: .4byte gUnknown_203B314
- thumb_func_end sub_802F938
-
- thumb_func_start sub_802F974
-sub_802F974:
- push {r4,r5,lr}
- ldr r4, _0802F9B8
- ldr r2, [r4]
- cmp r2, 0
- beq _0802F9B2
- adds r0, r2, 0
- adds r0, 0xF0
- ldr r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0xF8
- ldr r0, _0802F9BC
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xF8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802F9B2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802F9B8: .4byte gUnknown_203B314
-_0802F9BC: .4byte gUnknown_80E06FC
- thumb_func_end sub_802F974
-
- thumb_func_start sub_802F9C0
-sub_802F9C0:
- push {r4,r5,lr}
- ldr r4, _0802FA44
- ldr r0, [r4]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r3, _0802FA48
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r3, 0x1
- adds r1, r0, r3
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, [r4]
- ldr r1, _0802FA4C
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xD6
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r3, [r4]
- adds r5, r3, 0
- adds r5, 0xF0
- ldr r2, [r5]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r3, r1
- movs r2, 0x83
- lsls r2, 1
- adds r1, r2
- asrs r2, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r3, r0
- adds r2, 0x2
- movs r0, 0x84
- lsls r0, 1
- adds r3, r0
- strh r2, [r3]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0xF8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FA44: .4byte gUnknown_203B314
-_0802FA48: .4byte 0x00000159
-_0802FA4C: .4byte 0x0000015b
- thumb_func_end sub_802F9C0
-
- thumb_func_start sub_802FA50
-sub_802FA50:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r4, _0802FB1C
- ldr r0, [r4]
- adds r0, 0xF0
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0xF0
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _0802FB20
- ldr r0, [r4]
- adds r0, 0xF0
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- movs r1, 0xAD
- lsls r1, 1
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- adds r1, r3, 0
- adds r1, 0xDA
- movs r5, 0
- ldrsh r2, [r1, r5]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- adds r1, r3, 0
- adds r1, 0xF0
- ldr r1, [r1]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802FB78
- movs r6, 0
- adds r0, r1, 0
- adds r0, 0xD6
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _0802FACA
- b _0802FBD6
-_0802FACA:
- mov r8, r4
-_0802FACC:
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xBC
- adds r1, r6, 0
- bl sub_8013800
- adds r5, r0, 0
- mov r3, r8
- ldr r2, [r3]
- adds r0, r2, 0
- adds r0, 0xDA
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r0, r6
- lsls r0, r1, 1
- adds r0, r2, r0
- movs r3, 0
- ldrsh r7, [r0, r3]
- adds r0, r2, 0
- adds r0, 0x5C
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0
- beq _0802FB28
- adds r0, r2, 0
- adds r0, 0xF0
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- adds r1, r5, 0
- ldr r2, _0802FB24
- bl xxx_call_draw_string
- b _0802FB46
- .align 2, 0
-_0802FB1C: .4byte gUnknown_203B314
-_0802FB20: .4byte gUnknown_80E0744
-_0802FB24: .4byte gUnknown_80E0750
-_0802FB28:
- adds r0, r2, 0
- adds r0, 0x8A
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802FB46
- adds r0, r2, 0
- adds r0, 0xF0
- ldr r3, [r0]
- str r4, [sp]
- movs r0, 0xA
- adds r1, r5, 0
- ldr r2, _0802FB74
- bl xxx_call_draw_string
-_0802FB46:
- adds r0, r7, 0
- bl sub_80974A0
- adds r2, r0, 0
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF0
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x18
- adds r1, r5, 0
- bl xxx_call_draw_string
- adds r6, 0x1
- mov r2, r8
- ldr r0, [r2]
- adds r0, 0xD6
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r6, r0
- blt _0802FACC
- b _0802FBD6
- .align 2, 0
-_0802FB74: .4byte gUnknown_80E0754
-_0802FB78:
- movs r6, 0
- adds r0, r1, 0
- adds r0, 0xD6
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r6, r0
- bge _0802FBD6
- adds r5, r4, 0
-_0802FB88:
- ldr r0, [r5]
- adds r0, 0xBC
- adds r1, r6, 0
- bl sub_8013800
- adds r4, r0, 0
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0xDA
- movs r3, 0
- ldrsh r2, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- adds r0, r6
- lsls r0, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_80974A0
- adds r2, r0, 0
- ldr r0, [r5]
- adds r0, 0xF0
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
- adds r6, 0x1
- ldr r0, [r5]
- adds r0, 0xD6
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r6, r0
- blt _0802FB88
-_0802FBD6:
- ldr r0, _0802FBF0
- ldr r0, [r0]
- adds r0, 0xF0
- ldr r0, [r0]
- bl sub_80073E0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FBF0: .4byte gUnknown_203B314
- thumb_func_end sub_802FA50
-
- thumb_func_start sub_802FBF4
-sub_802FBF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- mov r8, r0
- movs r1, 0
- str r1, [sp]
-_0802FC08:
- ldr r1, [sp]
- lsls r0, r1, 16
- asrs r4, r0, 16
- mov r10, r4
- adds r0, r4, 0
- bl sub_80A27CC
- lsls r0, 24
- cmp r0, 0
- beq _0802FCCE
- cmp r4, 0x13
- beq _0802FCCE
- cmp r4, 0x1D
- beq _0802FCCE
- ldr r7, _0802FC88
- ldr r1, [r7]
- mov r0, r8
- lsls r6, r0, 1
- adds r0, r1, r6
- strh r4, [r0]
- adds r1, 0x5C
- add r1, r8
- movs r0, 0
- strb r0, [r1]
- ldr r0, [r7]
- adds r0, 0x8A
- add r0, r8
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r7]
- adds r0, 0xB8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0802FCCA
- cmp r4, 0xD
- beq _0802FCCA
- adds r0, r4, 0
- bl sub_80A270C
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r5, 0
- cmp r4, 0x1E
- bgt _0802FCA8
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _0802FCA6
- cmp r4, 0x6
- bne _0802FC8C
- movs r0, 0x13
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- beq _0802FCA8
- ldr r0, [r7]
- adds r0, r6
- movs r1, 0x13
- b _0802FCA4
- .align 2, 0
-_0802FC88: .4byte gUnknown_203B314
-_0802FC8C:
- mov r0, r10
- cmp r0, 0xA
- bne _0802FCA8
- movs r0, 0x1D
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- beq _0802FCA8
- ldr r0, [r7]
- adds r0, r6
- movs r1, 0x1D
-_0802FCA4:
- strh r1, [r0]
-_0802FCA6:
- movs r5, 0x1
-_0802FCA8:
- ldr r4, _0802FCEC
- ldr r0, [r4]
- adds r0, 0x5C
- add r0, r8
- strb r5, [r0]
- cmp r5, 0
- bne _0802FCCA
- mov r0, r9
- bl sub_80969D0
- cmp r0, 0
- ble _0802FCCA
- ldr r0, [r4]
- adds r0, 0x8A
- add r0, r8
- movs r1, 0x1
- strb r1, [r0]
-_0802FCCA:
- movs r1, 0x1
- add r8, r1
-_0802FCCE:
- ldr r0, [sp]
- adds r0, 0x1
- str r0, [sp]
- cmp r0, 0x2D
- ble _0802FC08
- mov r0, r8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0802FCEC: .4byte gUnknown_203B314
- thumb_func_end sub_802FBF4
-
- thumb_func_start sub_802FCF0
-sub_802FCF0:
- push {r4,lr}
- movs r4, 0
-_0802FCF4:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_80A27CC
- lsls r0, 24
- cmp r0, 0
- beq _0802FD06
- movs r0, 0
- b _0802FD0E
-_0802FD06:
- adds r4, 0x1
- cmp r4, 0x2D
- ble _0802FCF4
- movs r0, 0x1
-_0802FD0E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_802FCF0
-
- thumb_func_start sub_802FD14
-sub_802FD14:
- push {r4-r6,lr}
- adds r5, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0802FD48
- movs r0, 0xCC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, _0802FD4C
- strh r1, [r0, 0x10]
- str r5, [r0]
- cmp r5, 0x7
- bhi _0802FDC0
- lsls r0, r5, 2
- ldr r1, _0802FD50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802FD48: .4byte gUnknown_203B318
-_0802FD4C: .4byte 0x0000ffff
-_0802FD50: .4byte _0802FD54
- .align 2, 0
-_0802FD54:
- .4byte _0802FD74
- .4byte _0802FD84
- .4byte _0802FD94
- .4byte _0802FDA4
- .4byte _0802FDB4
- .4byte _0802FDB8
- .4byte _0802FDBC
- .4byte _0802FDC0
-_0802FD74:
- movs r6, 0
- ldr r1, _0802FD80
- ldr r0, [r1]
- str r6, [r0, 0x4]
- b _0802FDCC
- .align 2, 0
-_0802FD80: .4byte gUnknown_203B318
-_0802FD84:
- movs r6, 0x7
- ldr r2, _0802FD90
- ldr r1, [r2]
- movs r0, 0
- b _0802FDC8
- .align 2, 0
-_0802FD90: .4byte gUnknown_203B318
-_0802FD94:
- movs r6, 0x6
- ldr r2, _0802FDA0
- ldr r1, [r2]
- movs r0, 0
- b _0802FDC8
- .align 2, 0
-_0802FDA0: .4byte gUnknown_203B318
-_0802FDA4:
- movs r6, 0x8
- ldr r2, _0802FDB0
- ldr r1, [r2]
- movs r0, 0
- b _0802FDC8
- .align 2, 0
-_0802FDB0: .4byte gUnknown_203B318
-_0802FDB4:
- movs r6, 0
- b _0802FDC2
-_0802FDB8:
- movs r6, 0x7
- b _0802FDC2
-_0802FDBC:
- movs r6, 0x6
- b _0802FDC2
-_0802FDC0:
- movs r6, 0x8
-_0802FDC2:
- ldr r2, _0802FDD8
- ldr r1, [r2]
- movs r0, 0x1
-_0802FDC8:
- str r0, [r1, 0x4]
- adds r1, r2, 0
-_0802FDCC:
- ldr r1, [r1]
- ldr r0, [r1, 0x4]
- cmp r0, 0x1
- bne _0802FDDC
- movs r0, 0
- b _0802FDE0
- .align 2, 0
-_0802FDD8: .4byte gUnknown_203B318
-_0802FDDC:
- adds r0, r1, 0
- adds r0, 0x58
-_0802FDE0:
- str r0, [r1, 0x68]
- ldr r0, _0802FE48
- ldr r5, _0802FE4C
- adds r1, r5, 0
- bl sub_808D8E0
- ldr r4, _0802FE50
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl sub_808D994
- adds r1, r0, 0
- subs r4, 0x50
- adds r0, r4, 0
- bl strcpy
- adds r0, r5, 0
- bl sub_808DDD0
- ldr r3, _0802FE54
- ldr r1, [r3]
- str r0, [r1, 0x58]
- ldr r0, [r0, 0x4]
- str r0, [r1, 0x5C]
- adds r1, 0x64
- movs r2, 0
- strb r2, [r1]
- ldr r0, [r3]
- adds r0, 0x65
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, 0x66
- strb r2, [r0]
- ldr r1, [r3]
- adds r2, r1, 0
- adds r2, 0x60
- movs r0, 0x2
- strh r0, [r2]
- adds r1, 0x62
- movs r0, 0x8
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_802FF04
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0802FE48: .4byte gUnknown_202E5D8
-_0802FE4C: .4byte 0x00000141
-_0802FE50: .4byte gUnknown_202E1C8
-_0802FE54: .4byte gUnknown_203B318
- thumb_func_end sub_802FD14
-
- thumb_func_start sub_802FE58
-sub_802FE58:
- push {lr}
- ldr r0, _0802FE70
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- cmp r0, 0xD
- bhi _0802FEC6
- lsls r0, 2
- ldr r1, _0802FE74
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802FE70: .4byte gUnknown_203B318
-_0802FE74: .4byte _0802FE78
- .align 2, 0
-_0802FE78:
- .4byte _0802FEB0
- .4byte _0802FEB0
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEB6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEC6
- .4byte _0802FEBC
- .4byte _0802FEC6
- .4byte _0802FEC2
-_0802FEB0:
- bl sub_8030208
- b _0802FECA
-_0802FEB6:
- bl sub_8030258
- b _0802FECA
-_0802FEBC:
- bl sub_80302A8
- b _0802FECA
-_0802FEC2:
- movs r0, 0x3
- b _0802FECC
-_0802FEC6:
- bl sub_80302C4
-_0802FECA:
- movs r0, 0
-_0802FECC:
- pop {r1}
- bx r1
- thumb_func_end sub_802FE58
-
- thumb_func_start sub_802FED0
-sub_802FED0:
- ldr r0, _0802FEDC
- ldr r0, [r0]
- movs r1, 0x10
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0802FEDC: .4byte gUnknown_203B318
- thumb_func_end sub_802FED0
-
- thumb_func_start sub_802FEE0
-sub_802FEE0:
- push {r4,lr}
- ldr r4, _0802FF00
- ldr r0, [r4]
- cmp r0, 0
- beq _0802FEFA
- ldr r0, [r0, 0x58]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0802FEFA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FF00: .4byte gUnknown_203B318
- thumb_func_end sub_802FEE0
-
- thumb_func_start sub_802FF04
-sub_802FF04:
- push {lr}
- ldr r1, _0802FF18
- ldr r1, [r1]
- str r0, [r1, 0x8]
- bl sub_802FF1C
- bl sub_802FF88
- pop {r0}
- bx r0
- .align 2, 0
-_0802FF18: .4byte gUnknown_203B318
- thumb_func_end sub_802FF04
-
- thumb_func_start sub_802FF1C
-sub_802FF1C:
- push {r4-r7,lr}
- ldr r4, _0802FF3C
- ldr r0, [r4]
- adds r0, 0x6C
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- cmp r0, 0x4
- beq _0802FF44
- cmp r0, 0x4
- bgt _0802FF40
- cmp r0, 0
- beq _0802FF44
- b _0802FF68
- .align 2, 0
-_0802FF3C: .4byte gUnknown_203B318
-_0802FF40:
- cmp r0, 0xD
- bne _0802FF68
-_0802FF44:
- ldr r0, _0802FF80
- mov r12, r0
- ldr r4, _0802FF84
- movs r3, 0
- movs r2, 0x3
-_0802FF4E:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- adds r1, 0x6C
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0802FF4E
-_0802FF68:
- bl sub_8004914
- ldr r0, _0802FF80
- ldr r0, [r0]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802FF80: .4byte gUnknown_203B318
-_0802FF84: .4byte gUnknown_80E0760
- thumb_func_end sub_802FF1C
-
- thumb_func_start sub_802FF88
-sub_802FF88:
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r1, _0802FFA4
- ldr r0, [r1]
- ldr r0, [r0, 0x8]
- adds r5, r1, 0
- cmp r0, 0xD
- bls _0802FF9A
- b _080301A0
-_0802FF9A:
- lsls r0, 2
- ldr r1, _0802FFA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0802FFA4: .4byte gUnknown_203B318
-_0802FFA8: .4byte _0802FFAC
- .align 2, 0
-_0802FFAC:
- .4byte _0802FFE4
- .4byte _08030000
- .4byte _08030038
- .4byte _08030050
- .4byte _08030068
- .4byte _08030074
- .4byte _080300DC
- .4byte _080300C4
- .4byte _080300F4
- .4byte _0803010C
- .4byte _08030148
- .4byte _08030174
- .4byte _08030180
- .4byte _080301A0
-_0802FFE4:
- bl sub_80301B0
- ldr r2, _0802FFF8
- ldr r0, _0802FFFC
- ldr r5, [r0]
- ldr r1, [r5, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- b _0803000E
- .align 2, 0
-_0802FFF8: .4byte gUnknown_80D9FC8
-_0802FFFC: .4byte gUnknown_203B318
-_08030000:
- ldr r2, _08030034
- ldr r5, [r5]
- ldr r1, [r5, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x4
-_0803000E:
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r5, 0x14]
- adds r3, r5, 0
- adds r3, 0x18
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, [r5, 0x68]
- str r1, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080301A0
- .align 2, 0
-_08030034: .4byte gUnknown_80D9FC8
-_08030038:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _0803004C
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x8
- b _0803015A
- .align 2, 0
-_0803004C: .4byte gUnknown_80D9FC8
-_08030050:
- ldr r3, [r5]
- movs r0, 0x4
- str r0, [r3, 0xC]
- ldr r2, _08030064
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0xC
- b _0803015A
- .align 2, 0
-_08030064: .4byte gUnknown_80D9FC8
-_08030068:
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- bl sub_80302E8
- b _080301A0
-_08030074:
- ldr r1, [r5]
- movs r0, 0xD
- str r0, [r1, 0xC]
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- bl sub_80A2740
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080300B4
- ldr r1, [sp, 0x14]
- ands r1, r2
- orrs r1, r0
- ldr r0, _080300B8
- ands r1, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r1, r0
- str r1, [sp, 0x14]
- ldr r0, _080300BC
- add r1, sp, 0x14
- bl sub_8090208
- ldr r2, _080300C0
- ldr r3, [r5]
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x10
- b _0803015A
- .align 2, 0
-_080300B4: .4byte 0xffffff00
-_080300B8: .4byte 0xffff00ff
-_080300BC: .4byte gUnknown_202DF98
-_080300C0: .4byte gUnknown_80D9FC8
-_080300C4:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _080300D8
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x18
- b _0803015A
- .align 2, 0
-_080300D8: .4byte gUnknown_80D9FC8
-_080300DC:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _080300F0
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x14
- b _0803015A
- .align 2, 0
-_080300F0: .4byte gUnknown_80D9FC8
-_080300F4:
- ldr r3, [r5]
- movs r0, 0x9
- str r0, [r3, 0xC]
- ldr r2, _08030108
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x1C
- b _0803015A
- .align 2, 0
-_08030108: .4byte gUnknown_80D9FC8
-_0803010C:
- ldr r4, _08030138
- bl sub_808D33C
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldr r0, _0803013C
- ldr r1, [r0]
- movs r0, 0xB
- str r0, [r1, 0xC]
- movs r0, 0xCB
- bl sub_8011988
- ldr r0, _08030140
- ldr r3, _08030144
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080301A0
- .align 2, 0
-_08030138: .4byte gUnknown_202E2B8
-_0803013C: .4byte gUnknown_203B318
-_08030140: .4byte gUnknown_80E0778
-_08030144: .4byte 0x00000101
-_08030148:
- ldr r3, [r5]
- movs r0, 0xD
- str r0, [r3, 0xC]
- ldr r2, _0803016C
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x20
-_0803015A:
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x68]
- ldr r3, _08030170
- movs r1, 0
- bl sub_80141B4
- b _080301A0
- .align 2, 0
-_0803016C: .4byte gUnknown_80D9FC8
-_08030170: .4byte 0x0000010d
-_08030174:
- movs r0, 0x1
- movs r1, 0x49
- movs r2, 0x1
- bl sub_801B60C
- b _080301A0
-_08030180:
- ldr r3, [r5]
- movs r0, 0x1
- str r0, [r3, 0xC]
- ldr r2, _080301A8
- ldr r1, [r3, 0x4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x24
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x68]
- ldr r3, _080301AC
- movs r1, 0
- bl sub_80141B4
-_080301A0:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080301A8: .4byte gUnknown_80D9FC8
-_080301AC: .4byte 0x0000010d
- thumb_func_end sub_802FF88
-
- thumb_func_start sub_80301B0
-sub_80301B0:
- push {r4,lr}
- ldr r4, _080301F8
- ldr r1, [r4]
- movs r2, 0x2
- str r2, [r1, 0x14]
- ldr r0, _080301FC
- str r0, [r1, 0x18]
- str r2, [r1, 0x1C]
- bl sub_80306A4
- lsls r0, 24
- cmp r0, 0
- beq _080301D6
- ldr r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x1C]
- movs r1, 0x1
- str r1, [r0, 0x14]
-_080301D6:
- ldr r1, [r4]
- movs r2, 0x1
- ldr r0, _08030200
- ldr r0, [r0]
- str r0, [r1, 0x20]
- movs r0, 0x3
- str r0, [r1, 0x24]
- ldr r0, _08030204
- ldr r0, [r0]
- str r0, [r1, 0x28]
- str r2, [r1, 0x2C]
- movs r0, 0
- str r0, [r1, 0x30]
- str r2, [r1, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080301F8: .4byte gUnknown_203B318
-_080301FC: .4byte gUnknown_80E07D8
-_08030200: .4byte gUnknown_80D4970
-_08030204: .4byte gUnknown_80D4934
- thumb_func_end sub_80301B0
-
- thumb_func_start sub_8030208
-sub_8030208:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08030250
- ldr r0, _08030230
- ldr r1, [r0]
- ldr r0, [sp]
- str r0, [r1, 0x14]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803023A
- cmp r0, 0x2
- bgt _08030234
- cmp r0, 0x1
- beq _0803024A
- b _08030250
- .align 2, 0
-_08030230: .4byte gUnknown_203B318
-_08030234:
- cmp r0, 0x3
- beq _08030242
- b _08030250
-_0803023A:
- movs r0, 0x3
- bl sub_802FF04
- b _08030250
-_08030242:
- movs r0, 0xC
- bl sub_802FF04
- b _08030250
-_0803024A:
- movs r0, 0x2
- bl sub_802FF04
-_08030250:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8030208
-
- thumb_func_start sub_8030258
-sub_8030258:
- push {lr}
- movs r0, 0x1
- bl sub_80303AC
- cmp r0, 0x2
- beq _08030288
- cmp r0, 0x2
- bcc _0803029A
- cmp r0, 0x3
- bne _0803029A
- bl sub_8030418
- ldr r1, _08030284
- ldr r1, [r1]
- strh r0, [r1, 0x10]
- bl sub_8030480
- movs r0, 0x5
- bl sub_802FF04
- b _0803029A
- .align 2, 0
-_08030284: .4byte gUnknown_203B318
-_08030288:
- bl sub_8030480
- ldr r0, _080302A0
- ldr r1, [r0]
- ldr r0, _080302A4
- strh r0, [r1, 0x10]
- movs r0, 0x1
- bl sub_802FF04
-_0803029A:
- pop {r0}
- bx r0
- .align 2, 0
-_080302A0: .4byte gUnknown_203B318
-_080302A4: .4byte 0x0000ffff
- thumb_func_end sub_8030258
-
- thumb_func_start sub_80302A8
-sub_80302A8:
- push {lr}
- bl sub_801B6AC
- cmp r0, 0x1
- bls _080302C0
- cmp r0, 0x3
- bhi _080302C0
- bl sub_801B72C
- movs r0, 0xA
- bl sub_802FF04
-_080302C0:
- pop {r0}
- bx r0
- thumb_func_end sub_80302A8
-
- thumb_func_start sub_80302C4
-sub_80302C4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080302DC
- ldr r0, _080302E4
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bl sub_802FF04
-_080302DC:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080302E4: .4byte gUnknown_203B318
- thumb_func_end sub_80302C4
-
- thumb_func_start sub_80302E8
-sub_80302E8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- bl sub_80306A4
- lsls r0, 24
- cmp r0, 0
- beq _08030302
- movs r0, 0
- b _0803039A
-_08030302:
- ldr r4, _080303A4
- ldr r0, [r4]
- cmp r0, 0
- bne _08030314
- movs r0, 0xD0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
-_08030314:
- ldr r0, [r4]
- str r5, [r0, 0x64]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x6C
- adds r1, r0, r1
- str r1, [r0, 0x68]
- adds r0, 0x6C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x64]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x6C
- ldr r0, _080303A8
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r2, [r4]
- ldr r1, [r2, 0x68]
- adds r0, r2, 0
- adds r0, 0xCC
- str r0, [r1, 0x14]
- cmp r6, 0
- beq _08030362
- ldr r1, [r2, 0x64]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x74
- adds r1, r0
- ldr r0, [r6]
- str r0, [r1]
-_08030362:
- ldr r0, [r4]
- ldr r0, [r0, 0x68]
- mov r1, r8
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r4]
- adds r4, 0x30
- bl sub_8030668
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_80304C8
- bl sub_803053C
- movs r0, 0x1
-_0803039A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080303A4: .4byte gUnknown_203B31C
-_080303A8: .4byte gUnknown_80E0804
- thumb_func_end sub_80302E8
-
- thumb_func_start sub_80303AC
-sub_80303AC:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _080303C8
- ldr r0, _080303C4
- ldr r0, [r0]
- adds r0, 0x30
- bl sub_8013660
- movs r0, 0
- b _08030410
- .align 2, 0
-_080303C4: .4byte gUnknown_203B31C
-_080303C8:
- ldr r4, _080303E4
- ldr r0, [r4]
- adds r0, 0x30
- bl GetKeyPress
- cmp r0, 0x1
- beq _080303E8
- cmp r0, 0x2
- bne _080303F2
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08030410
- .align 2, 0
-_080303E4: .4byte gUnknown_203B31C
-_080303E8:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08030410
-_080303F2:
- ldr r0, [r4]
- adds r0, 0x30
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _08030406
- movs r0, 0
- b _08030410
-_08030406:
- bl sub_80304C8
- bl sub_803053C
- movs r0, 0x1
-_08030410:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80303AC
-
- thumb_func_start sub_8030418
-sub_8030418:
- ldr r0, _08030440
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4E
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- adds r1, r2, 0
- adds r1, 0x48
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r0, r1
- lsls r0, 1
- adds r0, r2, r0
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08030440: .4byte gUnknown_203B31C
- thumb_func_end sub_8030418
-
- thumb_func_start sub_8030444
-sub_8030444:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8030668
- adds r1, r0, 0
- ldr r5, _0803047C
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x52
- strh r1, [r2]
- adds r0, 0x30
- bl sub_8013984
- bl sub_80304C8
- bl sub_803053C
- cmp r4, 0
- beq _08030476
- ldr r0, [r5]
- adds r0, 0x30
- bl AddMenuCursorSprite
-_08030476:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803047C: .4byte gUnknown_203B31C
- thumb_func_end sub_8030444
-
- thumb_func_start sub_8030480
-sub_8030480:
- push {r4,r5,lr}
- ldr r4, _080304C0
- ldr r2, [r4]
- cmp r2, 0
- beq _080304BA
- ldr r0, [r2, 0x64]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x6C
- ldr r0, _080304C4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080304BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080304C0: .4byte gUnknown_203B31C
-_080304C4: .4byte gUnknown_80E07EC
- thumb_func_end sub_8030480
-
- thumb_func_start sub_80304C8
-sub_80304C8:
- push {r4,lr}
- ldr r4, _08030538
- ldr r0, [r4]
- adds r0, 0xCC
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xCD
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xCE
- movs r1, 0x8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xCF
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x4A
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x64]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x7A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x64]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x7C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x6C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08030538: .4byte gUnknown_203B31C
- thumb_func_end sub_80304C8
-
- thumb_func_start sub_803053C
-sub_803053C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x108
- ldr r4, _08030658
- ldr r0, [r4]
- ldr r0, [r0, 0x64]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x64]
- bl sub_80073B8
- ldr r2, _0803065C
- ldr r0, [r4]
- ldr r3, [r0, 0x64]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r3, [r4]
- adds r0, r3, 0
- adds r0, 0xCE
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- adds r1, r3, 0
- adds r1, 0x4E
- movs r5, 0
- ldrsh r2, [r1, r5]
- adds r2, 0x1
- movs r1, 0x7
- str r1, [sp]
- ldr r1, [r3, 0x64]
- str r1, [sp, 0x4]
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r0, 0
- mov r9, r0
- ldr r0, [r4]
- adds r0, 0x4A
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r9, r0
- bge _0803063E
- mov r8, r4
-_080305A2:
- mov r3, r8
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x4E
- movs r5, 0
- ldrsh r2, [r0, r5]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- add r0, r9
- lsls r0, 1
- adds r1, r0
- movs r5, 0
- ldrsh r4, [r1, r5]
- adds r0, r4, 0
- bl sub_80A2740
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r4, 0
- bl sub_80A2668
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x30
- mov r1, r9
- bl sub_8013800
- adds r6, r0, 0
- movs r5, 0x7
- adds r0, r4, 0
- bl sub_809758C
- lsls r0, 24
- cmp r0, 0
- beq _08030608
- mov r3, r8
- ldr r0, [r3]
- ldr r3, [r0, 0x64]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r6, 0
- ldr r2, _08030660
- bl xxx_call_draw_string
- movs r5, 0x4
-_08030608:
- adds r0, r7, 0
- bl sub_809009C
- adds r3, r0, 0
- add r0, sp, 0x8
- ldr r1, _08030664
- adds r2, r5, 0
- bl sub_800D158
- mov r5, r8
- ldr r0, [r5]
- ldr r3, [r0, 0x64]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- adds r1, r6, 0
- add r2, sp, 0x8
- bl xxx_call_draw_string
- movs r0, 0x1
- add r9, r0
- ldr r0, [r5]
- adds r0, 0x4A
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r9, r0
- blt _080305A2
-_0803063E:
- ldr r0, _08030658
- ldr r0, [r0]
- ldr r0, [r0, 0x64]
- bl sub_80073E0
- add sp, 0x108
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030658: .4byte gUnknown_203B31C
-_0803065C: .4byte gUnknown_80E081C
-_08030660: .4byte gUnknown_80E0824
-_08030664: .4byte gUnknown_80E0828
- thumb_func_end sub_803053C
-
- thumb_func_start sub_8030668
-sub_8030668:
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
-_0803066E:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8097504
- lsls r0, 24
- cmp r0, 0
- beq _08030690
- adds r0, r4, 0
- bl sub_80A26CC
- ldr r1, _080306A0
- ldr r1, [r1]
- lsls r2, r6, 1
- adds r1, r2
- strh r0, [r1]
- adds r6, 0x1
-_08030690:
- adds r5, 0x1
- cmp r5, 0x16
- ble _0803066E
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080306A0: .4byte gUnknown_203B31C
- thumb_func_end sub_8030668
-
- thumb_func_start sub_80306A4
-sub_80306A4:
- movs r0, 0
- bx lr
- thumb_func_end sub_80306A4
-
- thumb_func_start sub_80306A8
-sub_80306A8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r8, r3
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _080306C4
- movs r0, 0
- b _08030756
-_080306C4:
- ldr r6, _08030760
- movs r0, 0xC4
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- str r4, [r0, 0x20]
- str r5, [r0, 0x58]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x60
- adds r1, r0, r1
- str r1, [r0, 0x5C]
- adds r0, 0x60
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x58]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x60
- ldr r0, _08030764
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r2, [r6]
- ldr r1, [r2, 0x5C]
- adds r0, r2, 0
- adds r0, 0xC0
- str r0, [r1, 0x14]
- cmp r7, 0
- beq _0803071E
- ldr r1, [r2, 0x58]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r1, r2, 0
- adds r1, 0x68
- adds r1, r0
- ldr r0, [r7]
- str r0, [r1]
-_0803071E:
- ldr r0, [r6]
- ldr r0, [r0, 0x5C]
- mov r1, r8
- bl sub_8012D08
- bl sub_8004914
- ldr r0, [r6]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r6]
- adds r4, 0x24
- bl sub_8030A74
- adds r1, r0, 0
- adds r0, r4, 0
- mov r2, r8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_80308A0
- bl sub_803092C
- movs r0, 0x1
-_08030756:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08030760: .4byte gUnknown_203B320
-_08030764: .4byte gUnknown_80E0854
- thumb_func_end sub_80306A8
-
- thumb_func_start sub_8030768
-sub_8030768:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _08030784
- ldr r0, _08030780
- ldr r0, [r0]
- adds r0, 0x24
- bl sub_8013660
- movs r0, 0
- b _080307E6
- .align 2, 0
-_08030780: .4byte gUnknown_203B320
-_08030784:
- ldr r0, _0803079C
- ldr r0, [r0]
- adds r0, 0x24
- bl GetKeyPress
- cmp r0, 0x2
- beq _080307AE
- cmp r0, 0x2
- bgt _080307A0
- cmp r0, 0x1
- beq _080307B8
- b _080307C2
- .align 2, 0
-_0803079C: .4byte gUnknown_203B320
-_080307A0:
- cmp r0, 0x4
- bne _080307C2
- movs r0, 0x4
- bl sub_80119D4
- movs r0, 0x4
- b _080307E6
-_080307AE:
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _080307E6
-_080307B8:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _080307E6
-_080307C2:
- ldr r0, _080307D8
- ldr r0, [r0]
- adds r0, 0x24
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _080307DC
- movs r0, 0
- b _080307E6
- .align 2, 0
-_080307D8: .4byte gUnknown_203B320
-_080307DC:
- bl sub_80308A0
- bl sub_803092C
- movs r0, 0x1
-_080307E6:
- pop {r1}
- bx r1
- thumb_func_end sub_8030768
-
- thumb_func_start sub_80307EC
-sub_80307EC:
- ldr r0, _0803080C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r1, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r1
- movs r3, 0x3C
- ldrsh r1, [r2, r3]
- adds r0, r1
- adds r2, r0
- ldrb r0, [r2]
- bx lr
- .align 2, 0
-_0803080C: .4byte gUnknown_203B320
- thumb_func_end sub_80307EC
-
- thumb_func_start sub_8030810
-sub_8030810:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8030A74
- adds r1, r0, 0
- ldr r5, _08030848
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x46
- strh r1, [r2]
- adds r0, 0x24
- bl sub_8013984
- bl sub_80308A0
- bl sub_803092C
- cmp r4, 0
- beq _08030842
- ldr r0, [r5]
- adds r0, 0x24
- bl AddMenuCursorSprite
-_08030842:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08030848: .4byte gUnknown_203B320
- thumb_func_end sub_8030810
-
- thumb_func_start sub_803084C
-sub_803084C:
- push {r4,r5,lr}
- ldr r4, _0803088C
- ldr r2, [r4]
- cmp r2, 0
- beq _08030886
- ldr r0, [r2, 0x58]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x60
- ldr r0, _08030890
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08030886:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803088C: .4byte gUnknown_203B320
-_08030890: .4byte gUnknown_80E083C
- thumb_func_end sub_803084C
-
- thumb_func_start sub_8030894
-sub_8030894:
- ldr r0, _0803089C
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0803089C: .4byte gUnknown_203B320
- thumb_func_end sub_8030894
-
- thumb_func_start sub_80308A0
-sub_80308A0:
- push {r4,lr}
- ldr r4, _08030928
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x44
- ldrh r1, [r1]
- adds r0, 0xC0
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x42
- ldrh r1, [r1]
- adds r0, 0xC1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC2
- movs r1, 0xC
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0xC3
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x3E
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x58]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x6E
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x58]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x70
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x60
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08030928: .4byte gUnknown_203B320
- thumb_func_end sub_80308A0
-
- thumb_func_start sub_803092C
-sub_803092C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x60
- ldr r7, _08030A24
- ldr r0, [r7]
- ldr r0, [r0, 0x58]
- bl sub_8008C54
- ldr r0, [r7]
- ldr r0, [r0, 0x58]
- bl sub_80073B8
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x42
- movs r2, 0
- ldrsh r4, [r0, r2]
- lsls r4, 3
- adds r5, r4, 0
- adds r5, 0xA
- ldr r2, _08030A28
- ldr r0, [r1, 0x20]
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0]
- ldr r3, [r1, 0x58]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r3, [r7]
- adds r0, r3, 0
- adds r0, 0xC2
- ldrb r0, [r0]
- lsls r0, 3
- adds r5, r4, r0
- adds r0, r3, 0
- adds r0, 0x42
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r3, 0x58]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r6, 0
- ldr r0, [r7]
- movs r2, 0x3E
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bge _08030A56
- mov r9, r7
- mov r8, r6
- add r7, sp, 0x8
- mov r5, sp
- adds r5, 0x4B
-_080309B0:
- mov r3, r9
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0x42
- movs r3, 0
- ldrsh r2, [r0, r3]
- subs r0, 0x2
- movs r3, 0
- ldrsh r0, [r0, r3]
- muls r0, r2
- adds r0, r6
- adds r1, r0
- ldrb r0, [r1]
- bl sub_8095228
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- ldr r1, [r0, 0x58]
- str r1, [sp, 0x8]
- adds r0, 0x24
- adds r1, r6, 0
- bl sub_8013800
- str r0, [sp, 0x50]
- add r1, sp, 0x48
- movs r0, 0x7
- strb r0, [r1]
- mov r0, sp
- adds r0, 0x4A
- mov r2, r8
- strb r2, [r0]
- add r0, sp, 0x4C
- strb r2, [r0]
- adds r0, r4, 0x4
- str r0, [sp, 0x10]
- adds r0, 0x10
- str r0, [sp, 0x14]
- ldrh r0, [r4, 0xC]
- strh r0, [r7, 0x10]
- ldrh r0, [r4, 0xC]
- strh r0, [r7, 0x12]
- strb r2, [r7, 0x14]
- subs r1, 0x12
- movs r0, 0x5
- strb r0, [r1]
- ldrb r0, [r4]
- cmp r0, 0x4
- beq _08030A32
- cmp r0, 0x4
- bgt _08030A2C
- cmp r0, 0x2
- bgt _08030A3E
- cmp r0, 0x1
- blt _08030A3E
- movs r0, 0x1
- strb r0, [r5]
- b _08030A42
- .align 2, 0
-_08030A24: .4byte gUnknown_203B320
-_08030A28: .4byte gUnknown_80E086C
-_08030A2C:
- cmp r0, 0x5
- beq _08030A38
- b _08030A3E
-_08030A32:
- movs r0, 0x3
- strb r0, [r5]
- b _08030A42
-_08030A38:
- movs r0, 0x4
- strb r0, [r5]
- b _08030A42
-_08030A3E:
- mov r3, r8
- strb r3, [r5]
-_08030A42:
- add r0, sp, 0x8
- bl sub_803B6D4
- adds r6, 0x1
- mov r1, r9
- ldr r0, [r1]
- movs r2, 0x3E
- ldrsh r0, [r0, r2]
- cmp r6, r0
- blt _080309B0
-_08030A56:
- ldr r0, _08030A70
- ldr r0, [r0]
- ldr r0, [r0, 0x58]
- bl sub_80073E0
- add sp, 0x60
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08030A70: .4byte gUnknown_203B320
- thumb_func_end sub_803092C
-
- thumb_func_start sub_8030A74
-sub_8030A74:
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _08030A90
- ldr r0, [r0]
- ldr r0, [r0, 0x20]
- cmp r0, 0x7
- bls _08030A84
- b _08030C0E
-_08030A84:
- lsls r0, 2
- ldr r1, _08030A94
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08030A90: .4byte gUnknown_203B320
-_08030A94: .4byte _08030A98
- .align 2, 0
-_08030A98:
- .4byte _08030AB8
- .4byte _08030B10
- .4byte _08030B3C
- .4byte _08030B94
- .4byte _08030B68
- .4byte _08030BC0
- .4byte _08030AE4
- .4byte _08030BEC
-_08030AB8:
- movs r1, 0
- ldr r5, _08030ADC
- ldr r4, _08030AE0
- movs r3, 0
-_08030AC0:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08030AD2
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030AD2:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030AC0
- b _08030C0E
- .align 2, 0
-_08030ADC: .4byte gUnknown_203B480
-_08030AE0: .4byte gUnknown_203B320
-_08030AE4:
- movs r1, 0
- ldr r5, _08030B08
- ldr r4, _08030B0C
- movs r3, 0
-_08030AEC:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08030AFE
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030AFE:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030AEC
- b _08030C0E
- .align 2, 0
-_08030B08: .4byte gUnknown_203B480
-_08030B0C: .4byte gUnknown_203B320
-_08030B10:
- movs r1, 0
- ldr r5, _08030B34
- ldr r4, _08030B38
- movs r3, 0
-_08030B18:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08030B2A
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030B2A:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B18
- b _08030C0E
- .align 2, 0
-_08030B34: .4byte gUnknown_203B480
-_08030B38: .4byte gUnknown_203B320
-_08030B3C:
- movs r1, 0
- ldr r5, _08030B60
- ldr r4, _08030B64
- movs r3, 0
-_08030B44:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08030B56
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030B56:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B44
- b _08030C0E
- .align 2, 0
-_08030B60: .4byte gUnknown_203B480
-_08030B64: .4byte gUnknown_203B320
-_08030B68:
- movs r1, 0
- ldr r5, _08030B8C
- ldr r4, _08030B90
- movs r3, 0
-_08030B70:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08030B82
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030B82:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B70
- b _08030C0E
- .align 2, 0
-_08030B8C: .4byte gUnknown_203B480
-_08030B90: .4byte gUnknown_203B320
-_08030B94:
- movs r1, 0
- ldr r5, _08030BB8
- ldr r4, _08030BBC
- movs r3, 0
-_08030B9C:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08030BAE
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030BAE:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030B9C
- b _08030C0E
- .align 2, 0
-_08030BB8: .4byte gUnknown_203B480
-_08030BBC: .4byte gUnknown_203B320
-_08030BC0:
- movs r1, 0
- ldr r5, _08030BE4
- ldr r4, _08030BE8
- movs r3, 0
-_08030BC8:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _08030BDA
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030BDA:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030BC8
- b _08030C0E
- .align 2, 0
-_08030BE4: .4byte gUnknown_203B480
-_08030BE8: .4byte gUnknown_203B320
-_08030BEC:
- movs r1, 0
- ldr r5, _08030C18
- ldr r4, _08030C1C
- movs r3, 0
-_08030BF4:
- ldr r0, [r5]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08030C06
- ldr r0, [r4]
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
-_08030C06:
- adds r3, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030BF4
-_08030C0E:
- adds r0, r2, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08030C18: .4byte gUnknown_203B480
-_08030C1C: .4byte gUnknown_203B320
- thumb_func_end sub_8030A74
-
- thumb_func_start sub_8030C20
-sub_8030C20:
- push {lr}
- cmp r0, 0x7
- bls _08030C28
- b _08030D34
-_08030C28:
- lsls r0, 2
- ldr r1, _08030C34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08030C34: .4byte _08030C38
- .align 2, 0
-_08030C38:
- .4byte _08030C58
- .4byte _08030C90
- .4byte _08030CAC
- .4byte _08030CE4
- .4byte _08030CC8
- .4byte _08030D00
- .4byte _08030C74
- .4byte _08030D20
-_08030C58:
- movs r1, 0
- ldr r0, _08030C70
- ldr r2, [r0]
-_08030C5E:
- ldrb r0, [r2]
- cmp r0, 0
- bne _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030C5E
- b _08030D34
- .align 2, 0
-_08030C70: .4byte gUnknown_203B480
-_08030C74:
- movs r1, 0
- ldr r0, _08030C8C
- ldr r2, [r0]
-_08030C7A:
- ldrb r0, [r2]
- cmp r0, 0x6
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030C7A
- b _08030D34
- .align 2, 0
-_08030C8C: .4byte gUnknown_203B480
-_08030C90:
- movs r1, 0
- ldr r0, _08030CA8
- ldr r2, [r0]
-_08030C96:
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030C96
- b _08030D34
- .align 2, 0
-_08030CA8: .4byte gUnknown_203B480
-_08030CAC:
- movs r1, 0
- ldr r0, _08030CC4
- ldr r2, [r0]
-_08030CB2:
- ldrb r0, [r2]
- cmp r0, 0x2
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030CB2
- b _08030D34
- .align 2, 0
-_08030CC4: .4byte gUnknown_203B480
-_08030CC8:
- movs r1, 0
- ldr r0, _08030CE0
- ldr r2, [r0]
-_08030CCE:
- ldrb r0, [r2]
- cmp r0, 0x4
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030CCE
- b _08030D34
- .align 2, 0
-_08030CE0: .4byte gUnknown_203B480
-_08030CE4:
- movs r1, 0
- ldr r0, _08030CFC
- ldr r2, [r0]
-_08030CEA:
- ldrb r0, [r2]
- cmp r0, 0x3
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030CEA
- b _08030D34
- .align 2, 0
-_08030CFC: .4byte gUnknown_203B480
-_08030D00:
- movs r1, 0
- ldr r0, _08030D18
- ldr r2, [r0]
-_08030D06:
- ldrb r0, [r2]
- cmp r0, 0x5
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030D06
- b _08030D34
- .align 2, 0
-_08030D18: .4byte gUnknown_203B480
-_08030D1C:
- movs r0, 0
- b _08030D36
-_08030D20:
- movs r1, 0
- ldr r0, _08030D3C
- ldr r2, [r0]
-_08030D26:
- ldrb r0, [r2]
- cmp r0, 0x7
- beq _08030D1C
- adds r2, 0x30
- adds r1, 0x1
- cmp r1, 0x1F
- ble _08030D26
-_08030D34:
- movs r0, 0x1
-_08030D36:
- pop {r1}
- bx r1
- .align 2, 0
-_08030D3C: .4byte gUnknown_203B480
- thumb_func_end sub_8030C20
-
- thumb_func_start sub_8030D40
-sub_8030D40:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _08030D98
- movs r0, 0x78
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- strb r4, [r0, 0xC]
- ldr r0, [r6]
- bl sub_801317C
- ldr r0, [r6]
- str r5, [r0, 0x10]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x18
- adds r1, r0, r1
- str r1, [r0, 0x14]
- adds r0, 0x18
- bl sub_8006518
- ldr r1, [r6]
- ldr r2, [r1, 0x10]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x18
- ldr r0, _08030D9C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8030DD4
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08030D98: .4byte gUnknown_203B324
-_08030D9C: .4byte gUnknown_80E091C
- thumb_func_end sub_8030D40
-
- thumb_func_start sub_8030DA0
-sub_8030DA0:
- push {lr}
- ldr r0, _08030DC0
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08030DC4
- cmp r0, 0x2
- bne _08030DCE
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08030DD0
- .align 2, 0
-_08030DC0: .4byte gUnknown_203B324
-_08030DC4:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08030DD0
-_08030DCE:
- movs r0, 0
-_08030DD0:
- pop {r1}
- bx r1
- thumb_func_end sub_8030DA0
-
- thumb_func_start sub_8030DD4
-sub_8030DD4:
- push {lr}
- bl sub_8030E2C
- bl sub_8030E48
- pop {r0}
- bx r0
- thumb_func_end sub_8030DD4
-
- thumb_func_start sub_8030DE4
-sub_8030DE4:
- push {r4,r5,lr}
- ldr r4, _08030E24
- ldr r2, [r4]
- cmp r2, 0
- beq _08030E1E
- ldr r0, [r2, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x18
- ldr r0, _08030E28
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08030E1E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08030E24: .4byte gUnknown_203B324
-_08030E28: .4byte gUnknown_80E0900
- thumb_func_end sub_8030DE4
-
- thumb_func_start sub_8030E2C
-sub_8030E2C:
- push {lr}
- bl sub_8004914
- ldr r0, _08030E44
- ldr r0, [r0]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_08030E44: .4byte gUnknown_203B324
- thumb_func_end sub_8030E2C
-
- thumb_func_start sub_8030E48
-sub_8030E48:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x15C
- ldr r3, _08030EA8
- ldr r4, _08030EAC
- ldr r2, [r4]
- ldrb r1, [r2, 0xC]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- ldr r1, [r3]
- adds r5, r1, r0
- ldr r0, [r2, 0x10]
- bl sub_80073B8
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- str r0, [sp, 0x4]
- add r1, sp, 0x44
- movs r2, 0
- movs r0, 0x7
- strb r0, [r1]
- mov r0, sp
- adds r0, 0x46
- strb r2, [r0]
- add r0, sp, 0x48
- strb r2, [r0]
- adds r0, r5, 0x4
- str r0, [sp, 0xC]
- adds r0, 0x10
- str r0, [sp, 0x10]
- add r1, sp, 0x4
- ldrh r0, [r5, 0xC]
- strh r0, [r1, 0x10]
- ldrh r0, [r5, 0xC]
- strh r0, [r1, 0x12]
- adds r0, r1, 0
- strb r2, [r0, 0x14]
- adds r2, r5, 0
- adds r2, 0x22
- ldrb r0, [r2]
- cmp r0, 0
- bne _08030EB0
- adds r1, 0x2E
- movs r0, 0x5
- strb r0, [r1]
- b _08030EBE
- .align 2, 0
-_08030EA8: .4byte gUnknown_203B480
-_08030EAC: .4byte gUnknown_203B324
-_08030EB0:
- mov r1, sp
- adds r1, 0x32
- movs r0, 0x2
- strb r0, [r1]
- ldrb r1, [r2]
- add r0, sp, 0x38
- strb r1, [r0]
-_08030EBE:
- ldrb r0, [r5]
- cmp r0, 0x2
- beq _08030ED2
- cmp r0, 0x2
- ble _08030EE2
- cmp r0, 0x4
- beq _08030ED2
- cmp r0, 0x5
- beq _08030EDA
- b _08030EE2
-_08030ED2:
- mov r1, sp
- adds r1, 0x45
- movs r0, 0xA
- b _08030EE8
-_08030EDA:
- mov r1, sp
- adds r1, 0x45
- movs r0, 0xB
- b _08030EE8
-_08030EE2:
- mov r1, sp
- adds r1, 0x45
- movs r0, 0x9
-_08030EE8:
- strb r0, [r1]
- add r0, sp, 0x4
- bl sub_803B98C
- ldrh r0, [r5, 0x10]
- ldr r1, _08030F48
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r2, _08030F4C
- ldr r5, _08030F50
- ldr r0, [r5]
- ldr r3, [r0, 0x10]
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0x68
- bl xxx_call_draw_string
- add r6, sp, 0x5C
- ldr r1, _08030F54
- adds r0, r6, 0
- adds r2, r4, 0
- bl sub_800D158
- ldr r0, [r5]
- ldr r3, [r0, 0x10]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x44
- movs r1, 0x68
- adds r2, r6, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- ldr r0, [r0, 0x10]
- bl sub_80073E0
- add sp, 0x15C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08030F48: .4byte 0x00002710
-_08030F4C: .4byte gUnknown_80E0934
-_08030F50: .4byte gUnknown_203B324
-_08030F54: .4byte gUnknown_80E0938
- thumb_func_end sub_8030E48
-
- thumb_func_start sub_8030F58
-sub_8030F58:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08030FF4
- ldr r0, [r5]
- cmp r0, 0
- bne _08030F88
- movs r4, 0x8E
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_08030F88:
- ldr r0, [r5]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- str r6, [r0]
- movs r0, 0x98
- lsls r0, 1
- bl sub_808DDD0
- ldr r2, [r5]
- movs r4, 0x84
- lsls r4, 1
- adds r1, r2, r4
- str r0, [r1]
- movs r3, 0x86
- lsls r3, 1
- adds r1, r2, r3
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r0, 0x8A
- lsls r0, 1
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- ldr r0, [r5]
- ldr r2, _08030FF8
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r5]
- adds r3, 0xA
- adds r0, r3
- strb r1, [r0]
- ldr r2, [r5]
- movs r0, 0x88
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- subs r3, 0x4
- adds r1, r2, r3
- movs r0, 0x8
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_8030C20
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08031038
- cmp r6, 0x2
- beq _08030FFC
- cmp r6, 0x4
- beq _08031014
- b _08031022
- .align 2, 0
-_08030FF4: .4byte gUnknown_203B328
-_08030FF8: .4byte 0x00000115
-_08030FFC:
- ldr r0, _0803100C
- ldr r2, [r5]
- adds r2, r4
- ldr r3, _08031010
- movs r1, 0
- bl sub_80141B4
- b _08031022
- .align 2, 0
-_0803100C: .4byte gUnknown_80E09D8
-_08031010: .4byte 0x00000101
-_08031014:
- ldr r0, _0803102C
- ldr r2, [r5]
- adds r2, r4
- ldr r3, _08031030
- movs r1, 0
- bl sub_80141B4
-_08031022:
- ldr r0, _08031034
- ldr r1, [r0]
- movs r0, 0x5
- str r0, [r1]
- b _08031048
- .align 2, 0
-_0803102C: .4byte gUnknown_80E0A0C
-_08031030: .4byte 0x00000101
-_08031034: .4byte gUnknown_203B328
-_08031038:
- ldr r0, [r5]
- str r1, [r0]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x8
- bl sub_80306A8
-_08031048:
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8030F58
-
- thumb_func_start sub_8031050
-sub_8031050:
- push {lr}
- ldr r1, _08031068
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x6
- bhi _080310AC
- lsls r0, 2
- ldr r1, _0803106C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031068: .4byte gUnknown_203B328
-_0803106C: .4byte _08031070
- .align 2, 0
-_08031070:
- .4byte _0803108C
- .4byte _08031092
- .4byte _08031098
- .4byte _08031098
- .4byte _080310A2
- .4byte _080310A8
- .4byte _080310A8
-_0803108C:
- bl sub_8031300
- b _080310AC
-_08031092:
- bl sub_803136C
- b _080310AC
-_08031098:
- ldr r0, [r2]
- ldr r0, [r0]
- bl sub_80313D8
- b _080310AC
-_080310A2:
- bl sub_8031498
- b _080310AC
-_080310A8:
- movs r0, 0x3
- b _080310AE
-_080310AC:
- movs r0, 0
-_080310AE:
- pop {r1}
- bx r1
- thumb_func_end sub_8031050
-
- thumb_func_start sub_80310B4
-sub_80310B4:
- push {r4,lr}
- bl sub_803084C
- ldr r4, _080310E0
- ldr r0, [r4]
- cmp r0, 0
- beq _080310D8
- movs r1, 0x84
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080310D8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080310E0: .4byte gUnknown_203B328
- thumb_func_end sub_80310B4
-
- thumb_func_start sub_80310E4
-sub_80310E4:
- push {lr}
- ldr r1, _080310F8
- ldr r1, [r1]
- str r0, [r1]
- bl sub_80310FC
- bl sub_8031258
- pop {r0}
- bx r0
- .align 2, 0
-_080310F8: .4byte gUnknown_203B328
- thumb_func_end sub_80310E4
-
- thumb_func_start sub_80310FC
-sub_80310FC:
- push {r4-r6,lr}
- ldr r4, _0803111C
- ldr r0, [r4]
- adds r0, 0xA8
- bl sub_8006518
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x6
- bls _08031112
- b _0803122C
-_08031112:
- lsls r0, 2
- ldr r1, _08031120
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803111C: .4byte gUnknown_203B328
-_08031120: .4byte _08031124
- .align 2, 0
-_08031124:
- .4byte _08031140
- .4byte _08031178
- .4byte _080311C0
- .4byte _080311C0
- .4byte _080311E8
- .4byte _0803122C
- .4byte _0803122C
-_08031140:
- ldr r3, _08031170
- ldr r1, [r3]
- ldr r2, _08031174
- adds r1, 0xC0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xD8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r3,r4}
- stm r0!, {r1,r3,r4}
- ldm r2!, {r1,r5,r6}
- stm r0!, {r1,r5,r6}
- b _0803123A
- .align 2, 0
-_08031170: .4byte gUnknown_203B328
-_08031174: .4byte gUnknown_80E0990
-_08031178:
- ldr r3, _080311B0
- ldr r1, [r3]
- adds r1, 0xC0
- ldr r0, _080311B4
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r2,r4,r6}
- stm r1!, {r2,r4,r6}
- ldr r1, [r3]
- ldr r2, _080311B8
- adds r1, 0xD8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r5,r6}
- stm r0!, {r1,r5,r6}
- ldm r2!, {r4-r6}
- stm r0!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xC0
- ldr r1, _080311BC
- bl sub_8012CAC
- b _0803123A
- .align 2, 0
-_080311B0: .4byte gUnknown_203B328
-_080311B4: .4byte gUnknown_80E09A8
-_080311B8: .4byte gUnknown_80E0990
-_080311BC: .4byte gUnknown_80E0968
-_080311C0:
- ldr r2, _080311DC
- ldr r1, [r2]
- adds r1, 0xD8
- ldr r0, _080311E0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r1!, {r3,r4,r6}
- ldr r0, [r2]
- adds r0, 0xD8
- ldr r1, _080311E4
- bl sub_8012CAC
- b _0803123A
- .align 2, 0
-_080311DC: .4byte gUnknown_203B328
-_080311E0: .4byte gUnknown_80E09C0
-_080311E4: .4byte gUnknown_80E0948
-_080311E8:
- ldr r3, _08031224
- ldr r1, [r3]
- ldr r2, _08031228
- adds r1, 0xA8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xC0
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r1, [r3]
- adds r1, 0xD8
- adds r0, r2, 0
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r0, 0xF0
- ldm r2!, {r1,r5,r6}
- stm r0!, {r1,r5,r6}
- ldm r2!, {r3-r5}
- stm r0!, {r3-r5}
- b _0803123A
- .align 2, 0
-_08031224: .4byte gUnknown_203B328
-_08031228: .4byte gUnknown_80E0990
-_0803122C:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0803123A:
- bl sub_8004914
- ldr r0, _08031254
- ldr r0, [r0]
- adds r0, 0xA8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08031254: .4byte gUnknown_203B328
- thumb_func_end sub_80310FC
-
- thumb_func_start sub_8031258
-sub_8031258:
- push {r4,lr}
- sub sp, 0x8
- ldr r1, _08031274
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x6
- bhi _080312F6
- lsls r0, 2
- ldr r1, _08031278
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031274: .4byte gUnknown_203B328
-_08031278: .4byte _0803127C
- .align 2, 0
-_0803127C:
- .4byte _08031298
- .4byte _080312A0
- .4byte _080312BC
- .4byte _080312BC
- .4byte _080312EC
- .4byte _080312F6
- .4byte _080312F6
-_08031298:
- movs r0, 0x1
- bl sub_8030810
- b _080312F6
-_080312A0:
- bl sub_803092C
- ldr r0, _080312B4
- ldr r0, [r0]
- adds r0, 0x8
- ldr r1, _080312B8
- movs r2, 0x4
- str r2, [sp]
- movs r2, 0x1
- b _080312D8
- .align 2, 0
-_080312B4: .4byte gUnknown_203B328
-_080312B8: .4byte gUnknown_80E0968
-_080312BC:
- bl sub_803092C
- ldr r4, _080312E4
- ldr r0, [r4]
- adds r0, 0x8
- movs r1, 0
- bl sub_8012EA4
- ldr r0, [r4]
- adds r0, 0x58
- ldr r1, _080312E8
- movs r2, 0x3
- str r2, [sp]
- movs r2, 0x2
-_080312D8:
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _080312F6
- .align 2, 0
-_080312E4: .4byte gUnknown_203B328
-_080312E8: .4byte gUnknown_80E0948
-_080312EC:
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- movs r1, 0x3
- bl sub_8030D40
-_080312F6:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8031258
-
- thumb_func_start sub_8031300
-sub_8031300:
- push {lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x4
- bhi _08031366
- lsls r0, 2
- ldr r1, _08031318
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031318: .4byte _0803131C
- .align 2, 0
-_0803131C:
- .4byte _08031366
- .4byte _08031366
- .4byte _08031360
- .4byte _08031330
- .4byte _08031348
-_08031330:
- bl sub_80307EC
- ldr r1, _08031344
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x1
- bl sub_80310E4
- b _08031366
- .align 2, 0
-_08031344: .4byte gUnknown_203B328
-_08031348:
- bl sub_80307EC
- ldr r1, _0803135C
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x4
- bl sub_80310E4
- b _08031366
- .align 2, 0
-_0803135C: .4byte gUnknown_203B328
-_08031360:
- movs r0, 0x6
- bl sub_80310E4
-_08031366:
- pop {r0}
- bx r0
- thumb_func_end sub_8031300
-
- thumb_func_start sub_803136C
-sub_803136C:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8030768
- ldr r4, _080313A4
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08031392
- ldr r0, [r4]
- adds r0, 0x8
- mov r1, sp
- bl sub_8013114
-_08031392:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080313C2
- cmp r0, 0x4
- bgt _080313A8
- cmp r0, 0x1
- beq _080313B2
- b _080313D0
- .align 2, 0
-_080313A4: .4byte gUnknown_203B328
-_080313A8:
- cmp r0, 0x5
- beq _080313CA
- cmp r0, 0x6
- beq _080313BA
- b _080313D0
-_080313B2:
- movs r0, 0
- bl sub_80310E4
- b _080313D0
-_080313BA:
- movs r0, 0x3
- bl sub_80310E4
- b _080313D0
-_080313C2:
- movs r0, 0x2
- bl sub_80310E4
- b _080313D0
-_080313CA:
- movs r0, 0x4
- bl sub_80310E4
-_080313D0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803136C
-
- thumb_func_start sub_80313D8
-sub_80313D8:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r0, 0
- str r0, [sp]
- bl sub_8030768
- ldr r4, _08031418
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x58
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08031408
- ldr r0, [r4]
- adds r0, 0x58
- mov r1, sp
- bl sub_8013114
-_08031408:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08031428
- cmp r0, 0x2
- bgt _0803141C
- cmp r0, 0x1
- beq _08031420
- b _0803148E
- .align 2, 0
-_08031418: .4byte gUnknown_203B328
-_0803141C:
- cmp r0, 0x3
- bne _0803148E
-_08031420:
- movs r0, 0
- bl sub_80310E4
- b _0803148E
-_08031428:
- cmp r5, 0x2
- beq _08031432
- cmp r5, 0x3
- beq _0803143C
- b _0803145A
-_08031432:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl sub_8095240
- b _0803145A
-_0803143C:
- ldr r4, _08031480
- movs r3, 0
- movs r1, 0
- movs r2, 0x1F
-_08031444:
- ldr r0, [r4]
- adds r0, r1
- strb r3, [r0]
- ldr r0, [r4]
- adds r0, r1
- adds r0, 0x22
- strb r3, [r0]
- adds r1, 0x30
- subs r2, 0x1
- cmp r2, 0
- bge _08031444
-_0803145A:
- ldr r0, _08031484
- ldr r0, [r0]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x2
- beq _0803146E
- cmp r0, 0x4
- bne _0803148E
-_0803146E:
- bl sub_8030C20
- lsls r0, 24
- cmp r0, 0
- beq _08031488
- movs r0, 0x5
- bl sub_80310E4
- b _0803148E
- .align 2, 0
-_08031480: .4byte gUnknown_203B480
-_08031484: .4byte gUnknown_203B328
-_08031488:
- movs r0, 0
- bl sub_80310E4
-_0803148E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80313D8
-
- thumb_func_start sub_8031498
-sub_8031498:
- push {lr}
- bl sub_8030DA0
- cmp r0, 0x1
- bls _080314B0
- cmp r0, 0x3
- bhi _080314B0
- bl sub_8030DE4
- movs r0, 0
- bl sub_80310E4
-_080314B0:
- pop {r0}
- bx r0
- thumb_func_end sub_8031498
-
- thumb_func_start sub_80314B4
-sub_80314B4:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r6, _08031534
- movs r0, 0x18
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- ldr r0, _08031538
- adds r1, r5, 0
- bl sub_808D8E0
- adds r0, r5, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803153C
- bl strcpy
- ldr r0, [r6]
- movs r4, 0
- str r4, [r0, 0x8]
- str r4, [r0, 0xC]
- cmp r5, 0
- beq _0803151E
- adds r0, r5, 0
- bl sub_808DDD0
- ldr r1, [r6]
- str r0, [r1, 0x8]
- strb r4, [r1, 0x14]
- ldr r0, [r6]
- strb r4, [r0, 0x15]
- ldr r0, [r6]
- strb r4, [r0, 0x16]
- ldr r1, [r6]
- movs r0, 0x2
- strh r0, [r1, 0x10]
- movs r0, 0x8
- strh r0, [r1, 0x12]
- ldr r0, [r1, 0x8]
- cmp r0, 0
- beq _0803151E
- ldr r0, [r0, 0x4]
- str r0, [r1, 0xC]
-_0803151E:
- ldr r0, _08031534
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x4]
- movs r0, 0x1
- bl sub_80317C0
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08031534: .4byte gUnknown_203B32C
-_08031538: .4byte gUnknown_202E5D8
-_0803153C: .4byte gUnknown_202DF98
- thumb_func_end sub_80314B4
-
- thumb_func_start sub_8031540
-sub_8031540:
- push {lr}
- ldr r0, _08031558
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _080315BA
- lsls r0, 2
- ldr r1, _0803155C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031558: .4byte gUnknown_203B32C
-_0803155C: .4byte _08031560
- .align 2, 0
-_08031560:
- .4byte _080315AC
- .4byte _08031588
- .4byte _08031588
- .4byte _0803158E
- .4byte _08031594
- .4byte _0803159A
- .4byte _080315A0
- .4byte _080315A6
- .4byte _080315B0
- .4byte _080315B6
-_08031588:
- bl sub_80317D8
- b _080315BA
-_0803158E:
- bl sub_8031848
- b _080315BA
-_08031594:
- bl sub_8031864
- b _080315BA
-_0803159A:
- bl sub_80318D0
- b _080315BA
-_080315A0:
- bl sub_80318EC
- b _080315BA
-_080315A6:
- bl sub_803192C
- b _080315BA
-_080315AC:
- movs r0, 0x3
- b _080315BC
-_080315B0:
- bl sub_8031948
- b _080315BA
-_080315B6:
- bl sub_8031988
-_080315BA:
- movs r0, 0
-_080315BC:
- pop {r1}
- bx r1
- thumb_func_end sub_8031540
-
- thumb_func_start sub_80315C0
-sub_80315C0:
- push {r4,lr}
- ldr r4, _080315E4
- ldr r0, [r4]
- cmp r0, 0
- beq _080315DE
- ldr r0, [r0, 0x8]
- cmp r0, 0
- beq _080315D4
- bl CloseFile
-_080315D4:
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080315DE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080315E4: .4byte gUnknown_203B32C
- thumb_func_end sub_80315C0
-
- thumb_func_start nullsub_39
-nullsub_39:
- bx lr
- thumb_func_end nullsub_39
-
- thumb_func_start sub_80315EC
-sub_80315EC:
- push {r4,r5,lr}
- sub sp, 0x14
- movs r5, 0
- ldr r0, _08031618
- ldr r2, [r0]
- ldr r1, [r2, 0x8]
- adds r3, r0, 0
- cmp r1, 0
- beq _08031602
- adds r5, r2, 0
- adds r5, 0x8
-_08031602:
- ldrb r0, [r2]
- subs r0, 0x1
- cmp r0, 0x8
- bls _0803160C
- b _080317B0
-_0803160C:
- lsls r0, 2
- ldr r1, _0803161C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031618: .4byte gUnknown_203B32C
-_0803161C: .4byte _08031620
- .align 2, 0
-_08031620:
- .4byte _08031700
- .4byte _08031714
- .4byte _08031728
- .4byte _08031758
- .4byte _08031780
- .4byte _08031694
- .4byte _080316A8
- .4byte _08031644
- .4byte _08031658
-_08031644:
- ldr r0, _08031650
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _08031654
- b _08031760
- .align 2, 0
-_08031650: .4byte gUnknown_80E0C4C
-_08031654: .4byte gUnknown_80E0BD4
-_08031658:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- cmp r0, 0x10
- beq _0803167C
- cmp r0, 0x10
- bgt _0803166A
- cmp r0, 0xF
- beq _08031674
- b _080317B0
-_0803166A:
- cmp r0, 0x11
- beq _08031684
- cmp r0, 0x12
- beq _0803168C
- b _080317B0
-_08031674:
- ldr r0, _08031678
- b _08031790
- .align 2, 0
-_08031678: .4byte gUnknown_80E0C70
-_0803167C:
- ldr r0, _08031680
- b _08031790
- .align 2, 0
-_08031680: .4byte gUnknown_80E0DD0
-_08031684:
- ldr r0, _08031688
- b _08031790
- .align 2, 0
-_08031688: .4byte gUnknown_80E0ED8
-_0803168C:
- ldr r0, _08031690
- b _08031790
- .align 2, 0
-_08031690: .4byte gUnknown_80E10C8
-_08031694:
- ldr r0, _080316A0
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _080316A4
- b _08031760
- .align 2, 0
-_080316A0: .4byte gUnknown_80E0C4C
-_080316A4: .4byte gUnknown_80E0B3C
-_080316A8:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- subs r0, 0xA
- cmp r0, 0x4
- bls _080316B4
- b _080317B0
-_080316B4:
- lsls r0, 2
- ldr r1, _080316C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080316C0: .4byte _080316C4
- .align 2, 0
-_080316C4:
- .4byte _080316D8
- .4byte _080316E0
- .4byte _080316F0
- .4byte _080316E8
- .4byte _080316F8
-_080316D8:
- ldr r0, _080316DC
- b _08031790
- .align 2, 0
-_080316DC: .4byte gUnknown_80E120C
-_080316E0:
- ldr r0, _080316E4
- b _08031790
- .align 2, 0
-_080316E4: .4byte gUnknown_80E136C
-_080316E8:
- ldr r0, _080316EC
- b _08031790
- .align 2, 0
-_080316EC: .4byte gUnknown_80E1420
-_080316F0:
- ldr r0, _080316F4
- b _08031790
- .align 2, 0
-_080316F4: .4byte gUnknown_80E157C
-_080316F8:
- ldr r0, _080316FC
- b _08031790
- .align 2, 0
-_080316FC: .4byte gUnknown_80E169C
-_08031700:
- ldr r0, _0803170C
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _08031710
- b _08031760
- .align 2, 0
-_0803170C: .4byte gUnknown_80E17C8
-_08031710: .4byte gUnknown_80E0A48
-_08031714:
- ldr r0, _08031720
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _08031724
- b _08031760
- .align 2, 0
-_08031720: .4byte gUnknown_80E183C
-_08031724: .4byte gUnknown_80E0A48
-_08031728:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- cmp r0, 0x1
- beq _08031748
- cmp r0, 0x1
- bgt _0803173A
- cmp r0, 0
- beq _08031740
- b _080317B0
-_0803173A:
- cmp r0, 0x2
- beq _08031750
- b _080317B0
-_08031740:
- ldr r0, _08031744
- b _08031790
- .align 2, 0
-_08031744: .4byte gUnknown_80E1868
-_08031748:
- ldr r0, _0803174C
- b _08031790
- .align 2, 0
-_0803174C: .4byte gUnknown_80E1A30
-_08031750:
- ldr r0, _08031754
- b _08031790
- .align 2, 0
-_08031754: .4byte gUnknown_80E1AD8
-_08031758:
- ldr r0, _08031778
- ldr r1, [r3]
- ldr r2, [r1, 0x4]
- ldr r3, _0803177C
-_08031760:
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r1, 0xC
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080317B0
- .align 2, 0
-_08031778: .4byte gUnknown_80E0C4C
-_0803177C: .4byte gUnknown_80E0ABC
-_08031780:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- cmp r0, 0x6
- beq _0803178E
- cmp r0, 0x9
- beq _080317A4
- b _080317B0
-_0803178E:
- ldr r0, _0803179C
-_08031790:
- ldr r3, _080317A0
- movs r1, 0
- adds r2, r5, 0
- bl sub_80141B4
- b _080317B0
- .align 2, 0
-_0803179C: .4byte gUnknown_80E1B88
-_080317A0: .4byte 0x0000010d
-_080317A4:
- ldr r0, _080317B8
- ldr r3, _080317BC
- movs r1, 0
- adds r2, r5, 0
- bl sub_80141B4
-_080317B0:
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080317B8: .4byte gUnknown_80E1D84
-_080317BC: .4byte 0x0000010d
- thumb_func_end sub_80315EC
-
- thumb_func_start sub_80317C0
-sub_80317C0:
- push {lr}
- ldr r1, _080317D4
- ldr r1, [r1]
- strb r0, [r1]
- bl nullsub_39
- bl sub_80315EC
- pop {r0}
- bx r0
- .align 2, 0
-_080317D4: .4byte gUnknown_203B32C
- thumb_func_end sub_80317C0
-
- thumb_func_start sub_80317D8
-sub_80317D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803183C
- ldr r2, [sp]
- cmp r2, 0x5
- bhi _0803183C
- lsls r0, r2, 2
- ldr r1, _080317F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080317F8: .4byte _080317FC
- .align 2, 0
-_080317FC:
- .4byte _08031830
- .4byte _08031830
- .4byte _08031830
- .4byte _0803181C
- .4byte _08031814
- .4byte _08031814
-_08031814:
- movs r0, 0
- bl sub_80317C0
- b _0803183C
-_0803181C:
- ldr r0, _0803182C
- ldr r0, [r0]
- str r2, [r0, 0x4]
- movs r0, 0x4
- bl sub_80317C0
- b _0803183C
- .align 2, 0
-_0803182C: .4byte gUnknown_203B32C
-_08031830:
- ldr r0, _08031844
- ldr r0, [r0]
- str r2, [r0, 0x4]
- movs r0, 0x3
- bl sub_80317C0
-_0803183C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08031844: .4byte gUnknown_203B32C
- thumb_func_end sub_80317D8
-
- thumb_func_start sub_8031848
-sub_8031848:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803185C
- movs r0, 0x2
- bl sub_80317C0
-_0803185C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8031848
-
- thumb_func_start sub_8031864
-sub_8031864:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080318C4
- ldr r0, [sp]
- subs r1, r0, 0x5
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080318C4
- lsls r0, r1, 2
- ldr r1, _08031888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08031888: .4byte _0803188C
- .align 2, 0
-_0803188C:
- .4byte _080318A0
- .4byte _080318B8
- .4byte _080318A8
- .4byte _080318B0
- .4byte _080318B8
-_080318A0:
- movs r0, 0x2
- bl sub_80317C0
- b _080318C4
-_080318A8:
- movs r0, 0x6
- bl sub_80317C0
- b _080318C4
-_080318B0:
- movs r0, 0x8
- bl sub_80317C0
- b _080318C4
-_080318B8:
- ldr r0, _080318CC
- ldr r0, [r0]
- str r2, [r0, 0x4]
- movs r0, 0x5
- bl sub_80317C0
-_080318C4:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080318CC: .4byte gUnknown_203B32C
- thumb_func_end sub_8031864
-
- thumb_func_start sub_80318D0
-sub_80318D0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080318E4
- movs r0, 0x4
- bl sub_80317C0
-_080318E4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80318D0
-
- thumb_func_start sub_80318EC
-sub_80318EC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08031920
- ldr r1, [sp]
- cmp r1, 0x5
- bne _08031908
- movs r0, 0x4
- bl sub_80317C0
- b _08031920
-_08031908:
- cmp r1, 0x5
- blt _08031920
- cmp r1, 0xE
- bgt _08031920
- cmp r1, 0xA
- blt _08031920
- ldr r0, _08031928
- ldr r0, [r0]
- str r1, [r0, 0x4]
- movs r0, 0x7
- bl sub_80317C0
-_08031920:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08031928: .4byte gUnknown_203B32C
- thumb_func_end sub_80318EC
-
- thumb_func_start sub_803192C
-sub_803192C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08031940
- movs r0, 0x6
- bl sub_80317C0
-_08031940:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803192C
-
- thumb_func_start sub_8031948
-sub_8031948:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803197C
- ldr r1, [sp]
- cmp r1, 0x5
- bne _08031964
- movs r0, 0x4
- bl sub_80317C0
- b _0803197C
-_08031964:
- cmp r1, 0x5
- blt _0803197C
- cmp r1, 0x12
- bgt _0803197C
- cmp r1, 0xF
- blt _0803197C
- ldr r0, _08031984
- ldr r0, [r0]
- str r1, [r0, 0x4]
- movs r0, 0x9
- bl sub_80317C0
-_0803197C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08031984: .4byte gUnknown_203B32C
- thumb_func_end sub_8031948
-
- thumb_func_start sub_8031988
-sub_8031988:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803199C
- movs r0, 0x8
- bl sub_80317C0
-_0803199C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8031988
-
- thumb_func_start sub_80319A4
-sub_80319A4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080319F4
- movs r0, 0x78
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r6]
- strb r4, [r0, 0xC]
- ldr r0, [r6]
- strb r5, [r0, 0xD]
- ldr r0, [r6]
- bl sub_801317C
- ldr r1, [r6]
- mov r0, r8
- str r0, [r1, 0x10]
- lsls r0, 1
- add r0, r8
- lsls r0, 3
- adds r0, 0x18
- adds r0, r1, r0
- str r0, [r1, 0x14]
- bl sub_8031A2C
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080319F4: .4byte gUnknown_203B330
- thumb_func_end sub_80319A4
-
- thumb_func_start sub_80319F8
-sub_80319F8:
- push {lr}
- ldr r0, _08031A18
- ldr r0, [r0]
- ldr r1, [r0, 0x10]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08031A1C
- cmp r0, 0x2
- bne _08031A26
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08031A28
- .align 2, 0
-_08031A18: .4byte gUnknown_203B330
-_08031A1C:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08031A28
-_08031A26:
- movs r0, 0
-_08031A28:
- pop {r1}
- bx r1
- thumb_func_end sub_80319F8
-
- thumb_func_start sub_8031A2C
-sub_8031A2C:
- push {lr}
- bl sub_8031A84
- bl sub_8031AE8
- pop {r0}
- bx r0
- thumb_func_end sub_8031A2C
-
- thumb_func_start sub_8031A3C
-sub_8031A3C:
- push {r4,r5,lr}
- ldr r4, _08031A7C
- ldr r2, [r4]
- cmp r2, 0
- beq _08031A76
- ldr r0, [r2, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x18
- ldr r0, _08031A80
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08031A76:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08031A7C: .4byte gUnknown_203B330
-_08031A80: .4byte gUnknown_80E1EFC
- thumb_func_end sub_8031A3C
-
- thumb_func_start sub_8031A84
-sub_8031A84:
- push {r4,r5,lr}
- ldr r4, _08031AE0
- ldr r0, [r4]
- adds r0, 0x18
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x10]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x18
- ldr r0, _08031AE4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r1, [r4]
- ldrb r0, [r1, 0xC]
- cmp r0, 0x2
- bne _08031AC6
- ldrb r0, [r1, 0xD]
- bl sub_80969D0
- adds r1, r0, 0
- cmp r1, 0
- bne _08031ABE
- movs r1, 0x1
-_08031ABE:
- ldr r0, [r4]
- ldr r0, [r0, 0x14]
- bl sub_8012D08
-_08031AC6:
- bl sub_8004914
- ldr r0, _08031AE0
- ldr r0, [r0]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08031AE0: .4byte gUnknown_203B330
-_08031AE4: .4byte gUnknown_80E1F18
- thumb_func_end sub_8031A84
-
- thumb_func_start sub_8031AE8
-sub_8031AE8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xDC
- ldr r7, _08031B24
- ldr r0, [r7]
- ldr r0, [r0, 0x10]
- bl sub_80073B8
- ldr r2, _08031B28
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r7]
- ldrb r0, [r1, 0xC]
- cmp r0, 0x1
- beq _08031B2C
- cmp r0, 0x1
- bgt _08031B1E
- b _08031CD4
-_08031B1E:
- cmp r0, 0x2
- beq _08031B94
- b _08031CD4
- .align 2, 0
-_08031B24: .4byte gUnknown_203B330
-_08031B28: .4byte gUnknown_80E1F30
-_08031B2C:
- add r4, sp, 0x68
- adds r0, r4, 0
- bl sub_8099394
- ldrb r0, [r4]
- bl sub_8095228
- adds r5, r0, 0
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- movs r0, 0xA
- movs r1, 0x10
- movs r2, 0x3
- bl sub_803B6B0
- ldr r1, _08031B8C
- ldrb r2, [r5, 0x5]
- add r0, sp, 0x4
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- str r6, [sp]
- movs r0, 0x15
- movs r1, 0x10
- add r2, sp, 0x4
- bl xxx_call_draw_string
- ldr r4, _08031B90
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- bl sub_808D994
- adds r2, r0, 0
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- str r6, [sp]
- movs r0, 0x28
- movs r1, 0x10
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _08031D4E
- .align 2, 0
-_08031B8C: .4byte gUnknown_80E1F3C
-_08031B90: .4byte gUnknown_80E1F40
-_08031B94:
- ldrb r0, [r1, 0xD]
- bl sub_80969D0
- adds r1, r0, 0
- cmp r1, 0
- bne _08031BB0
- ldr r2, _08031BAC
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- str r1, [sp]
- b _08031D2C
- .align 2, 0
-_08031BAC: .4byte gUnknown_80E1F54
-_08031BB0:
- movs r6, 0x10
- movs r2, 0
- mov r10, r2
- mov r8, r2
- ldr r0, _08031C28
- mov r9, r0
- mov r1, sp
- adds r1, 0x6C
- str r1, [sp, 0xD8]
-_08031BC2:
- mov r2, r10
- lsls r0, r2, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r4, r0, 0
- ldr r1, [r7]
- ldrb r0, [r4, 0x4]
- ldrb r2, [r1, 0xD]
- cmp r0, r2
- bne _08031CC2
- ldrb r0, [r4]
- cmp r0, 0
- beq _08031CC2
- cmp r0, 0x5
- beq _08031CC2
- cmp r0, 0x7
- beq _08031CC2
- ldr r3, [r1, 0x10]
- movs r0, 0xA
- adds r1, r6, 0
- movs r2, 0x3
- bl sub_803B6B0
- ldrb r0, [r4, 0x1]
- add r5, sp, 0x6C
- cmp r0, 0x3
- beq _08031C16
- ldrb r2, [r4, 0x5]
- ldr r0, [sp, 0xD8]
- ldr r1, _08031C2C
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x15
- adds r1, r6, 0
- ldr r2, [sp, 0xD8]
- bl xxx_call_draw_string
-_08031C16:
- ldrb r0, [r4, 0x1]
- cmp r0, 0x3
- beq _08031C58
- cmp r0, 0x3
- bgt _08031C30
- cmp r0, 0x2
- beq _08031C70
- b _08031C9C
- .align 2, 0
-_08031C28: .4byte gUnknown_202DE58
-_08031C2C: .4byte gUnknown_80E1F3C
-_08031C30:
- cmp r0, 0x4
- bne _08031C9C
- ldrb r1, [r4, 0x10]
- mov r0, r9
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- ldr r1, _08031C54
- mov r2, r9
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r1, r8
- str r1, [sp]
- b _08031C8A
- .align 2, 0
-_08031C54: .4byte gUnknown_80E1F60
-_08031C58:
- ldrb r1, [r4, 0x10]
- mov r0, r9
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- ldr r1, _08031C6C
- mov r2, r9
- b _08031C7E
- .align 2, 0
-_08031C6C: .4byte gUnknown_80E1F70
-_08031C70:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl sub_808D994
- adds r2, r0, 0
- adds r0, r5, 0
- ldr r1, _08031C98
-_08031C7E:
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r2, r8
- str r2, [sp]
-_08031C8A:
- movs r0, 0x28
- adds r1, r6, 0
- adds r2, r5, 0
- bl xxx_call_draw_string
- b _08031CC0
- .align 2, 0
-_08031C98: .4byte gUnknown_80E1F80
-_08031C9C:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl sub_808D994
- adds r2, r0, 0
- adds r0, r5, 0
- ldr r1, _08031CD0
- bl sub_800D158
- ldr r0, [r7]
- ldr r3, [r0, 0x10]
- mov r2, r8
- str r2, [sp]
- movs r0, 0x28
- adds r1, r6, 0
- adds r2, r5, 0
- bl xxx_call_draw_string
-_08031CC0:
- adds r6, 0xC
-_08031CC2:
- movs r0, 0x1
- add r10, r0
- mov r1, r10
- cmp r1, 0x7
- bgt _08031CCE
- b _08031BC2
-_08031CCE:
- b _08031D4E
- .align 2, 0
-_08031CD0: .4byte gUnknown_80E1F40
-_08031CD4:
- add r0, sp, 0xD0
- mov r4, sp
- adds r4, 0xD2
- adds r1, r4, 0
- bl sub_80992E0
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _08031D04
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_80974C4
- adds r2, r0, 0
- ldr r0, _08031D00
- ldr r0, [r0]
- ldr r3, [r0, 0x10]
- movs r0, 0
- str r0, [sp]
- b _08031D2C
- .align 2, 0
-_08031D00: .4byte gUnknown_203B330
-_08031D04:
- add r4, sp, 0xD4
- adds r0, r4, 0
- bl sub_8099360
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08031D3C
- ldrb r0, [r4]
- bl sub_80A2688
- lsls r0, 16
- asrs r0, 16
- bl sub_80975DC
- adds r2, r0, 0
- ldr r0, _08031D38
- ldr r0, [r0]
- ldr r3, [r0, 0x10]
- str r5, [sp]
-_08031D2C:
- movs r0, 0xA
- movs r1, 0x10
- bl xxx_call_draw_string
- b _08031D4E
- .align 2, 0
-_08031D38: .4byte gUnknown_203B330
-_08031D3C:
- ldr r2, _08031D68
- ldr r0, _08031D6C
- ldr r0, [r0]
- ldr r3, [r0, 0x10]
- str r1, [sp]
- movs r0, 0xA
- movs r1, 0x10
- bl xxx_call_draw_string
-_08031D4E:
- ldr r0, _08031D6C
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bl sub_80073E0
- add sp, 0xDC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031D68: .4byte gUnknown_80E1F94
-_08031D6C: .4byte gUnknown_203B330
- thumb_func_end sub_8031AE8
-
- thumb_func_start sub_8031D70
-sub_8031D70:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r5, _08031DC4
- movs r0, 0x7C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- stm r0!, {r6}
- bl sub_801317C
- ldr r0, [r5]
- str r4, [r0, 0x10]
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r1, 0x18
- adds r1, r0, r1
- str r1, [r0, 0x14]
- adds r0, 0x18
- bl sub_8006518
- ldr r1, [r5]
- ldr r2, [r1, 0x10]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x18
- ldr r0, _08031DC8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8031E00
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08031DC4: .4byte gUnknown_203B334
-_08031DC8: .4byte gUnknown_80E1FC4
- thumb_func_end sub_8031D70
-
- thumb_func_start sub_8031DCC
-sub_8031DCC:
- push {lr}
- ldr r0, _08031DEC
- ldr r1, [r0]
- adds r0, r1, 0x4
- ldr r1, [r1, 0x10]
- bl sub_8012A64
- cmp r0, 0x1
- beq _08031DF0
- cmp r0, 0x2
- bne _08031DFA
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08031DFC
- .align 2, 0
-_08031DEC: .4byte gUnknown_203B334
-_08031DF0:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08031DFC
-_08031DFA:
- movs r0, 0
-_08031DFC:
- pop {r1}
- bx r1
- thumb_func_end sub_8031DCC
-
- thumb_func_start sub_8031E00
-sub_8031E00:
- push {lr}
- bl sub_8031E58
- bl sub_8031E74
- pop {r0}
- bx r0
- thumb_func_end sub_8031E00
-
- thumb_func_start sub_8031E10
-sub_8031E10:
- push {r4,r5,lr}
- ldr r4, _08031E50
- ldr r2, [r4]
- cmp r2, 0
- beq _08031E4A
- ldr r0, [r2, 0x10]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x18
- ldr r0, _08031E54
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08031E4A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08031E50: .4byte gUnknown_203B334
-_08031E54: .4byte gUnknown_80E1FA8
- thumb_func_end sub_8031E10
-
- thumb_func_start sub_8031E58
-sub_8031E58:
- push {lr}
- bl sub_8004914
- ldr r0, _08031E70
- ldr r0, [r0]
- adds r0, 0x18
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- .align 2, 0
-_08031E70: .4byte gUnknown_203B334
- thumb_func_end sub_8031E58
-
- thumb_func_start sub_8031E74
-sub_8031E74:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x3C
- ldr r3, _08031EC0
- ldr r5, _08031EC4
- ldr r2, [r5]
- ldr r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 4
- ldr r4, [r3]
- adds r4, r0
- ldr r0, [r2, 0x10]
- bl sub_80073B8
- ldr r2, _08031EC8
- ldr r0, [r5]
- ldr r3, [r0, 0x10]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x14
- movs r1, 0
- bl xxx_call_draw_string
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_803D2C0
- movs r7, 0
- mov r8, r5
-_08031EB2:
- cmp r7, 0x4
- ble _08031ED0
- cmp r7, 0xC
- bgt _08031ECC
- movs r6, 0x6
- movs r5, 0x16
- b _08031F00
- .align 2, 0
-_08031EC0: .4byte gUnknown_203B480
-_08031EC4: .4byte gUnknown_203B334
-_08031EC8: .4byte gUnknown_80E1FDC
-_08031ECC:
- cmp r7, 0x11
- bgt _08031ED6
-_08031ED0:
- movs r6, 0x7
- movs r5, 0x15
- b _08031F00
-_08031ED6:
- cmp r7, 0x16
- ble _08031EE8
- cmp r7, 0x1E
- bgt _08031EE4
- movs r6, 0x6
- movs r5, 0x25
- b _08031F00
-_08031EE4:
- cmp r7, 0x23
- bgt _08031EEE
-_08031EE8:
- movs r6, 0x7
- movs r5, 0x24
- b _08031F00
-_08031EEE:
- cmp r7, 0x28
- ble _08031EFC
- cmp r7, 0x30
- bgt _08031EFC
- movs r6, 0x6
- movs r5, 0x34
- b _08031F00
-_08031EFC:
- movs r6, 0x7
- movs r5, 0x33
-_08031F00:
- adds r0, r7, 0
- movs r1, 0x12
- bl __modsi3
- movs r1, 0xB
- adds r4, r0, 0
- muls r4, r1
- adds r4, 0x6
- mov r0, sp
- adds r0, r7
- adds r0, 0x4
- ldrb r2, [r0]
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r3, r6, 0
- bl sub_8012C60
- mov r1, r8
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- adds r2, r5, 0
- adds r2, 0xA
- movs r1, 0x5
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0xA
- bl sub_80078A4
- adds r7, 0x1
- cmp r7, 0x35
- ble _08031EB2
- ldr r0, _08031F5C
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- bl sub_80073E0
- add sp, 0x3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08031F5C: .4byte gUnknown_203B334
- thumb_func_end sub_8031E74
-
- thumb_func_start sub_8031F60
-sub_8031F60:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _08031FD0
- movs r0, 0xA0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- str r5, [r0, 0x34]
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 3
- adds r1, 0x3C
- adds r1, r0, r1
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _08031FD4
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x20
- movs r2, 0x8
- adds r3, r5, 0
- bl sub_8013818
- bl sub_8032084
- bl sub_80320F8
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08031FD0: .4byte gUnknown_203B338
-_08031FD4: .4byte gUnknown_80E2008
- thumb_func_end sub_8031F60
-
- thumb_func_start sub_8031FD8
-sub_8031FD8:
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08031FF0
- ldr r0, _08031FEC
- ldr r0, [r0]
- bl sub_8013660
- movs r0, 0
- b _08032034
- .align 2, 0
-_08031FEC: .4byte gUnknown_203B338
-_08031FF0:
- ldr r4, _0803200C
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _08032010
- cmp r0, 0x2
- bne _0803201A
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _08032034
- .align 2, 0
-_0803200C: .4byte gUnknown_203B338
-_08032010:
- movs r0, 0
- bl sub_80119D4
- movs r0, 0x3
- b _08032034
-_0803201A:
- ldr r0, [r4]
- bl sub_8013938
- lsls r0, 24
- cmp r0, 0
- bne _0803202A
- movs r0, 0
- b _08032034
-_0803202A:
- bl sub_8032084
- bl sub_80320F8
- movs r0, 0x1
-_08032034:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8031FD8
-
- thumb_func_start sub_803203C
-sub_803203C:
- push {r4,r5,lr}
- ldr r4, _0803207C
- ldr r2, [r4]
- cmp r2, 0
- beq _08032076
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _08032080
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08032076:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803207C: .4byte gUnknown_203B338
-_08032080: .4byte gUnknown_80E1FF0
- thumb_func_end sub_803203C
-
- thumb_func_start sub_8032084
-sub_8032084:
- push {r4,lr}
- ldr r4, _080320F4
- ldr r0, [r4]
- ldrh r1, [r0, 0x20]
- adds r0, 0x9C
- movs r2, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldrh r1, [r0, 0x1E]
- adds r0, 0x9D
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0xB
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080320F4: .4byte gUnknown_203B338
- thumb_func_end sub_8032084
-
- thumb_func_start sub_80320F8
-sub_80320F8:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r5, _08032158
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r5]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r0, [r5]
- movs r1, 0x1E
- ldrsh r4, [r0, r1]
- lsls r4, 3
- adds r6, r4, 0
- adds r6, 0xA
- ldr r2, _0803215C
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0
- bl xxx_call_draw_string
- adds r4, 0x4
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x9E
- ldrb r0, [r0]
- lsls r0, 3
- adds r6, r4, r0
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x34]
- str r0, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0x1
- bl sub_8012BC4
- movs r7, 0
- ldr r0, [r5]
- b _0803223A
- .align 2, 0
-_08032158: .4byte gUnknown_203B338
-_0803215C: .4byte gUnknown_80E2020
-_08032160:
- ldr r5, _08032194
- ldr r0, [r5]
- movs r2, 0x1E
- ldrsh r1, [r0, r2]
- movs r2, 0x1C
- ldrsh r0, [r0, r2]
- muls r0, r1
- adds r0, r7
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl sub_8097710
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0803221C
- subs r0, r6, 0x7
- cmp r0, 0x5
- bhi _080321EC
- lsls r0, 2
- ldr r1, _08032198
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08032194: .4byte gUnknown_203B338
-_08032198: .4byte _0803219C
- .align 2, 0
-_0803219C:
- .4byte _080321BA
- .4byte _080321C6
- .4byte _080321D4
- .4byte _080321E0
- .4byte _080321C0
- .4byte _080321B4
-_080321B4:
- bl sub_80978B8
- b _080321E4
-_080321BA:
- bl sub_8097880
- b _080321E4
-_080321C0:
- bl sub_8097838
- b _080321E4
-_080321C6:
- bl sub_80977B8
- ldr r1, _080321D0
- b _080321EA
- .align 2, 0
-_080321D0: .4byte gUnknown_202DE30
-_080321D4:
- bl sub_80977F8
- ldr r1, _080321DC
- b _080321EA
- .align 2, 0
-_080321DC: .4byte gUnknown_202DE30
-_080321E0:
- bl sub_8097870
-_080321E4:
- ldr r1, _08032214
- lsls r0, 16
- asrs r0, 16
-_080321EA:
- str r0, [r1]
-_080321EC:
- ldr r4, _08032218
- ldr r0, [r4]
- adds r1, r7, 0
- bl sub_8013800
- adds r5, r0, 0
- adds r0, r6, 0
- bl sub_8097738
- adds r2, r0, 0
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r5, 0
- bl sub_8014FF0
- b _08032234
- .align 2, 0
-_08032214: .4byte gUnknown_202DE30
-_08032218: .4byte gUnknown_203B338
-_0803221C:
- ldr r0, [r5]
- adds r1, r7, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, _08032254
- ldr r0, [r5]
- ldr r3, [r0, 0x34]
- str r4, [sp]
- movs r0, 0x8
- bl xxx_call_draw_string
-_08032234:
- adds r7, 0x1
- ldr r0, _08032258
- ldr r0, [r0]
-_0803223A:
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r7, r0
- blt _08032160
- ldr r0, _08032258
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08032254: .4byte gUnknown_80E2030
-_08032258: .4byte gUnknown_203B338
- thumb_func_end sub_80320F8
-
- thumb_func_start sub_803225C
-sub_803225C:
- push {r4,r5,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08032300
- movs r4, 0xAD
- lsls r4, 3
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
- ldr r1, [r5]
- movs r0, 0xA6
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- movs r0, 0xFF
- strb r0, [r1]
- ldr r0, [r5]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r1, _08032304
- strh r1, [r0]
- ldr r0, _08032308
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803230C
- bl strcpy
- movs r1, 0
- movs r2, 0
- adds r4, r5, 0
-_080322C6:
- ldr r0, [r5]
- adds r0, 0x8
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x35
- ble _080322C6
- ldr r1, [r4]
- movs r0, 0x7E
- str r0, [r1, 0x4]
- bl sub_8039880
- ldr r1, [r4]
- ldr r2, _08032310
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, _08032314
- adds r0, r2
- strb r1, [r0]
- movs r0, 0
- bl sub_80338C4
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08032300: .4byte gUnknown_203B33C
-_08032304: .4byte 0x0000ffff
-_08032308: .4byte gUnknown_202E5D8
-_0803230C: .4byte gUnknown_202DF98
-_08032310: .4byte 0x0000052c
-_08032314: .4byte 0x0000052d
- thumb_func_end sub_803225C
-
- thumb_func_start sub_8032318
-sub_8032318:
- push {lr}
- ldr r0, _08032330
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x7D
- bls _08032326
- b _080327DC
-_08032326:
- lsls r0, 2
- ldr r1, _08032334
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08032330: .4byte gUnknown_203B33C
-_08032334: .4byte _08032338
- .align 2, 0
-_08032338:
- .4byte _080326A6
- .4byte _080326A6
- .4byte _080326AC
- .4byte _0803255A
- .4byte _0803255A
- .4byte _0803266C
- .4byte _08032672
- .4byte _08032678
- .4byte _0803267E
- .4byte _08032684
- .4byte _0803268A
- .4byte _08032690
- .4byte _08032690
- .4byte _08032698
- .4byte _080326A0
- .4byte _080327CE
- .4byte _080327CE
- .4byte _0803262C
- .4byte _08032634
- .4byte _0803263A
- .4byte _08032640
- .4byte _08032646
- .4byte _0803264C
- .4byte _08032652
- .4byte _08032764
- .4byte _08032658
- .4byte _08032660
- .4byte _08032666
- .4byte _08032612
- .4byte _08032626
- .4byte _0803261A
- .4byte _08032620
- .4byte _0803260C
- .4byte _080325CE
- .4byte _080327CE
- .4byte _080325C6
- .4byte _080325BA
- .4byte _080325A0
- .4byte _080325A8
- .4byte _080325AE
- .4byte _080325B4
- .4byte _080325C0
- .4byte _0803258C
- .4byte _0803259A
- .4byte _08032594
- .4byte _0803257E
- .4byte _08032586
- .4byte _08032764
- .4byte _080327CE
- .4byte _080325D4
- .4byte _080325DC
- .4byte _080325E2
- .4byte _080325E8
- .4byte _080325EE
- .4byte _080327DC
- .4byte _080325FA
- .4byte _080325F4
- .4byte _08032600
- .4byte _08032606
- .4byte _08032764
- .4byte _080327CE
- .4byte _08032560
- .4byte _08032566
- .4byte _0803256C
- .4byte _08032572
- .4byte _08032578
- .4byte _08032764
- .4byte _08032658
- .4byte _080327CE
- .4byte _080327CE
- .4byte _08032794
- .4byte _0803279C
- .4byte _080327A2
- .4byte _080327A8
- .4byte _080327AE
- .4byte _080327B4
- .4byte _080327BA
- .4byte _080327C0
- .4byte _080327C0
- .4byte _080327C8
- .4byte _08032722
- .4byte _080327D6
- .4byte _0803278E
- .4byte _08032780
- .4byte _08032788
- .4byte _0803277A
- .4byte _08032774
- .4byte _0803276C
- .4byte _08032752
- .4byte _08032764
- .4byte _080326BC
- .4byte _080326C2
- .4byte _080326D6
- .4byte _080326CA
- .4byte _080326D0
- .4byte _080326DC
- .4byte _080326E2
- .4byte _080326E8
- .4byte _08032730
- .4byte _08032744
- .4byte _0803273E
- .4byte _08032738
- .4byte _080326F4
- .4byte _080326FC
- .4byte _080326EE
- .4byte _0803274C
- .4byte _080326B0
- .4byte _080326B6
- .4byte _08032764
- .4byte _08032722
- .4byte _0803272A
- .4byte _08032744
- .4byte _0803271C
- .4byte _08032716
- .4byte _08032708
- .4byte _08032710
- .4byte _08032702
- .4byte _08032758
- .4byte _0803275E
- .4byte _08032764
- .4byte _08032530
- .4byte _08032536
- .4byte _0803253E
- .4byte _08032544
- .4byte _0803254C
- .4byte _08032552
-_08032530:
- bl sub_8035300
- b _080327DC
-_08032536:
- movs r0, 0x78
- bl sub_8035404
- b _080327DC
-_0803253E:
- bl sub_8035374
- b _080327DC
-_08032544:
- movs r0, 0x7A
- bl sub_8035404
- b _080327DC
-_0803254C:
- bl sub_80353BC
- b _080327DC
-_08032552:
- movs r0, 0x7C
- bl sub_8035404
- b _080327DC
-_0803255A:
- bl sub_8033A2C
- b _080327DC
-_08032560:
- bl sub_803477C
- b _080327DC
-_08032566:
- bl sub_80347AC
- b _080327DC
-_0803256C:
- bl sub_80347C8
- b _080327DC
-_08032572:
- bl sub_80347E4
- b _080327DC
-_08032578:
- bl sub_8034804
- b _080327DC
-_0803257E:
- movs r0, 0x2E
- bl sub_8035404
- b _080327DC
-_08032586:
- bl sub_80344C0
- b _080327DC
-_0803258C:
- movs r0, 0xD
- bl sub_8035404
- b _080327DC
-_08032594:
- bl sub_8034478
- b _080327DC
-_0803259A:
- bl sub_80344A0
- b _080327DC
-_080325A0:
- movs r0, 0x26
- bl sub_8035404
- b _080327DC
-_080325A8:
- bl sub_803418C
- b _080327DC
-_080325AE:
- bl sub_8034254
- b _080327DC
-_080325B4:
- bl sub_8034310
- b _080327DC
-_080325BA:
- bl sub_8034378
- b _080327DC
-_080325C0:
- bl sub_80343C4
- b _080327DC
-_080325C6:
- movs r0, 0x21
- bl sub_8035404
- b _080327DC
-_080325CE:
- bl sub_8034404
- b _080327DC
-_080325D4:
- movs r0, 0x32
- bl sub_8035404
- b _080327DC
-_080325DC:
- bl sub_8034500
- b _080327DC
-_080325E2:
- bl sub_8034590
- b _080327DC
-_080325E8:
- bl sub_803464C
- b _080327DC
-_080325EE:
- bl sub_80346A8
- b _080327DC
-_080325F4:
- bl sub_80346D8
- b _080327DC
-_080325FA:
- bl sub_8034700
- b _080327DC
-_08032600:
- bl sub_8034720
- b _080327DC
-_08032606:
- bl sub_803473C
- b _080327DC
-_0803260C:
- bl sub_8033FB4
- b _080327DC
-_08032612:
- movs r0, 0x1D
- bl sub_8035404
- b _080327DC
-_0803261A:
- bl sub_8034074
- b _080327DC
-_08032620:
- bl sub_8034130
- b _080327DC
-_08032626:
- bl sub_8033FE4
- b _080327DC
-_0803262C:
- movs r0, 0x12
- bl sub_8035404
- b _080327DC
-_08032634:
- bl nullsub_42
- b _080327DC
-_0803263A:
- bl nullsub_43
- b _080327DC
-_08032640:
- bl nullsub_44
- b _080327DC
-_08032646:
- bl nullsub_45
- b _080327DC
-_0803264C:
- bl sub_8033D74
- b _080327DC
-_08032652:
- bl sub_8033D94
- b _080327DC
-_08032658:
- movs r0, 0x1A
- bl sub_8035404
- b _080327DC
-_08032660:
- bl sub_8033DBC
- b _080327DC
-_08032666:
- bl sub_8033F64
- b _080327DC
-_0803266C:
- bl sub_8033C54
- b _080327DC
-_08032672:
- bl nullsub_41
- b _080327DC
-_08032678:
- bl sub_8033CAC
- b _080327DC
-_0803267E:
- bl sub_8033D48
- b _080327DC
-_08032684:
- bl sub_8035424
- b _080327DC
-_0803268A:
- bl nullsub_50
- b _080327DC
-_08032690:
- movs r0, 0x6
- bl sub_8035404
- b _080327DC
-_08032698:
- movs r0, 0x7
- bl sub_8035404
- b _080327DC
-_080326A0:
- bl sub_8033B8C
- b _080327DC
-_080326A6:
- bl sub_80339C8
- b _080327DC
-_080326AC:
- movs r0, 0x3
- b _080327DE
-_080326B0:
- bl sub_80348C4
- b _080327DC
-_080326B6:
- bl sub_803482C
- b _080327DC
-_080326BC:
- bl sub_80349B0
- b _080327DC
-_080326C2:
- movs r0, 0x5C
- bl sub_8035404
- b _080327DC
-_080326CA:
- bl sub_8034A70
- b _080327DC
-_080326D0:
- bl sub_8034B2C
- b _080327DC
-_080326D6:
- bl sub_80349E0
- b _080327DC
-_080326DC:
- bl sub_8034B88
- b _080327DC
-_080326E2:
- bl sub_8034C98
- b _080327DC
-_080326E8:
- bl sub_8034C38
- b _080327DC
-_080326EE:
- bl sub_8034D54
- b _080327DC
-_080326F4:
- movs r0, 0x67
- bl sub_8035404
- b _080327DC
-_080326FC:
- bl sub_8034970
- b _080327DC
-_08032702:
- bl sub_80351E0
- b _080327DC
-_08032708:
- movs r0, 0x73
- bl sub_8035404
- b _080327DC
-_08032710:
- bl sub_8034D74
- b _080327DC
-_08032716:
- bl sub_8034EF0
- b _080327DC
-_0803271C:
- bl sub_8034F38
- b _080327DC
-_08032722:
- movs r0, 0x6E
- bl sub_8035404
- b _080327DC
-_0803272A:
- bl sub_80352A4
- b _080327DC
-_08032730:
- movs r0, 0x6A
- bl sub_8035404
- b _080327DC
-_08032738:
- bl sub_8034EC8
- b _080327DC
-_0803273E:
- bl sub_8034F18
- b _080327DC
-_08032744:
- movs r0, 0x62
- bl sub_8035404
- b _080327DC
-_0803274C:
- bl sub_8034F58
- b _080327DC
-_08032752:
- bl sub_8034F88
- b _080327DC
-_08032758:
- bl sub_8035018
- b _080327DC
-_0803275E:
- bl sub_8035038
- b _080327DC
-_08032764:
- movs r0, 0x2
- bl sub_8035404
- b _080327DC
-_0803276C:
- movs r0, 0x5F
- bl sub_8035404
- b _080327DC
-_08032774:
- bl sub_8035094
- b _080327DC
-_0803277A:
- bl sub_80350F4
- b _080327DC
-_08032780:
- movs r0, 0x54
- bl sub_8035404
- b _080327DC
-_08032788:
- bl sub_803517C
- b _080327DC
-_0803278E:
- bl sub_8035210
- b _080327DC
-_08032794:
- movs r0, 0x47
- bl sub_8035404
- b _080327DC
-_0803279C:
- bl nullsub_46
- b _080327DC
-_080327A2:
- bl nullsub_47
- b _080327DC
-_080327A8:
- bl nullsub_48
- b _080327DC
-_080327AE:
- bl nullsub_49
- b _080327DC
-_080327B4:
- bl sub_8035430
- b _080327DC
-_080327BA:
- bl nullsub_51
- b _080327DC
-_080327C0:
- movs r0, 0x4F
- bl sub_8035404
- b _080327DC
-_080327C8:
- bl sub_8034848
- b _080327DC
-_080327CE:
- movs r0, 0x1
- bl sub_8035404
- b _080327DC
-_080327D6:
- movs r0, 0x1
- bl sub_8035404
-_080327DC:
- movs r0, 0
-_080327DE:
- pop {r1}
- bx r1
- thumb_func_end sub_8032318
-
- thumb_func_start sub_80327E4
-sub_80327E4:
- push {r4,lr}
- ldr r4, _08032820
- ldr r0, [r4]
- cmp r0, 0
- beq _0803281A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- bl sub_803084C
- bl sub_8031E10
- bl sub_8023C60
- bl sub_80155F0
- bl sub_801CBB8
- bl sub_802F2C0
- bl sub_8030DE4
- bl sub_802453C
- bl sub_801B450
-_0803281A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08032820: .4byte gUnknown_203B33C
- thumb_func_end sub_80327E4
-
- thumb_func_start nullsub_40
-nullsub_40:
- bx lr
- thumb_func_end nullsub_40
-
- thumb_func_start sub_8032828
-sub_8032828:
- push {r4-r6,lr}
- sub sp, 0x68
- ldr r1, _08032848
- ldr r0, [r1]
- ldr r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x7D
- bls _0803283C
- bl _080338B4
-_0803283C:
- lsls r0, 2
- ldr r1, _0803284C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08032848: .4byte gUnknown_203B33C
-_0803284C: .4byte _08032850
- .align 2, 0
-_08032850:
- .4byte _08032A48
- .4byte _08032AD0
- .4byte _080338B4
- .4byte _08032B80
- .4byte _08032BC4
- .4byte _08032FD0
- .4byte _080338B4
- .4byte _08032FF0
- .4byte _080338B4
- .4byte _080338B4
- .4byte _08032FD8
- .4byte _08032FE0
- .4byte _08032FE8
- .4byte _0803356C
- .4byte _08032C50
- .4byte _08033200
- .4byte _080331CC
- .4byte _080331D4
- .4byte _080331DC
- .4byte _080336B2
- .4byte _080338B4
- .4byte _080331F8
- .4byte _08033208
- .4byte _080338B4
- .4byte _08033234
- .4byte _0803323C
- .4byte _08033244
- .4byte _080338B4
- .4byte _08032F8C
- .4byte _08032F98
- .4byte _080336B2
- .4byte _080338B4
- .4byte _08032FB6
- .4byte _08032EB8
- .4byte _08032FC4
- .4byte _08032EAC
- .4byte _08032F54
- .4byte _08032EE0
- .4byte _08032EEC
- .4byte _08032F16
- .4byte _080338B4
- .4byte _08032F7C
- .4byte _08032E60
- .4byte _08032E6C
- .4byte _08032EA0
- .4byte _08032E48
- .4byte _0803341C
- .4byte _08032E54
- .4byte _08032D84
- .4byte _08032D90
- .4byte _08032D9C
- .4byte _080336B2
- .4byte _080338B4
- .4byte _08032DBC
- .4byte _080338B4
- .4byte _08032DCC
- .4byte _08032E00
- .4byte _08032E3C
- .4byte _08032E0C
- .4byte _08032E30
- .4byte _08032D04
- .4byte _08032D10
- .4byte _08032D2C
- .4byte _08032D38
- .4byte _08032D44
- .4byte _080338B4
- .4byte _08032D78
- .4byte _08032D20
- .4byte _08033720
- .4byte _08033728
- .4byte _08033684
- .4byte _0803368C
- .4byte _080336B2
- .4byte _080338B4
- .4byte _080336F8
- .4byte _080338B4
- .4byte _08032FD8
- .4byte _08032FE0
- .4byte _08032FE8
- .4byte _080338B4
- .4byte _08033468
- .4byte _08033730
- .4byte _08033738
- .4byte _0803366C
- .4byte _08033674
- .4byte _08033644
- .4byte _0803361C
- .4byte _08033614
- .4byte _080335F4
- .4byte _080335C0
- .4byte _0803324E
- .4byte _0803325C
- .4byte _0803368C
- .4byte _08033264
- .4byte _080338B4
- .4byte _08033288
- .4byte _080332B8
- .4byte _080338B4
- .4byte _0803356C
- .4byte _080335B0
- .4byte _08033584
- .4byte _080338B4
- .4byte _08033412
- .4byte _0803341C
- .4byte _08033448
- .4byte _080335B8
- .4byte _080332F4
- .4byte _080338B4
- .4byte _08033460
- .4byte _08033470
- .4byte _0803349C
- .4byte _08033450
- .4byte _08033458
- .4byte _080338B4
- .4byte _080333E4
- .4byte _080333EC
- .4byte _080338B4
- .4byte _08033604
- .4byte _0803360C
- .4byte _080338B4
- .4byte _0803384C
- .4byte _0803387C
- .4byte _080337D4
- .4byte _080337F0
- .4byte _08033770
- .4byte _0803378C
-_08032A48:
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- bne _08032A9C
- movs r0, 0x5
- bl sub_8095324
- adds r4, r0, 0
- cmp r4, 0
- bne _08032A9C
- ldr r0, _08032A7C
- ldr r0, [r0]
- ldr r1, _08032A80
- adds r0, r1
- ldrb r2, [r0]
- cmp r2, 0
- beq _08032A8C
- ldr r0, _08032A84
- ldr r3, _08032A88
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- b _08032B66
- .align 2, 0
-_08032A7C: .4byte gUnknown_203B33C
-_08032A80: .4byte 0x0000052c
-_08032A84: .4byte gUnknown_80E25F4
-_08032A88: .4byte gUnknown_80E2108
-_08032A8C:
- ldr r0, _08032A94
- ldr r3, _08032A98
- b _08032B5C
- .align 2, 0
-_08032A94: .4byte gUnknown_80E25F4
-_08032A98: .4byte gUnknown_80E20B8
-_08032A9C:
- ldr r0, _08032AC0
- ldr r0, [r0]
- ldr r2, _08032AC4
- adds r0, r2
- ldrb r2, [r0]
- cmp r2, 0
- beq _08032B58
- ldr r0, _08032AC8
- ldr r3, _08032ACC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- bl _08033864
- .align 2, 0
-_08032AC0: .4byte gUnknown_203B33C
-_08032AC4: .4byte 0x0000052c
-_08032AC8: .4byte gUnknown_80E25F4
-_08032ACC: .4byte gUnknown_80E20E0
-_08032AD0:
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- bne _08032B24
- movs r0, 0x5
- bl sub_8095324
- adds r4, r0, 0
- cmp r4, 0
- bne _08032B24
- ldr r0, _08032B04
- ldr r0, [r0]
- ldr r3, _08032B08
- adds r0, r3
- ldrb r2, [r0]
- cmp r2, 0
- beq _08032B14
- ldr r0, _08032B0C
- ldr r3, _08032B10
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- b _08032B66
- .align 2, 0
-_08032B04: .4byte gUnknown_203B33C
-_08032B08: .4byte 0x0000052c
-_08032B0C: .4byte gUnknown_80E25F4
-_08032B10: .4byte gUnknown_80E2108
-_08032B14:
- ldr r0, _08032B1C
- ldr r3, _08032B20
- b _08032B5C
- .align 2, 0
-_08032B1C: .4byte gUnknown_80E25F4
-_08032B20: .4byte gUnknown_80E20B8
-_08032B24:
- ldr r0, _08032B48
- ldr r0, [r0]
- ldr r4, _08032B4C
- adds r0, r4
- ldrb r2, [r0]
- cmp r2, 0
- beq _08032B58
- ldr r0, _08032B50
- ldr r3, _08032B54
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- bl _08033864
- .align 2, 0
-_08032B48: .4byte gUnknown_203B33C
-_08032B4C: .4byte 0x0000052c
-_08032B50: .4byte gUnknown_80E25F4
-_08032B54: .4byte gUnknown_80E20E0
-_08032B58:
- ldr r0, _08032B78
- ldr r3, _08032B7C
-_08032B5C:
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
-_08032B66:
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0
- bl sub_8014248
- bl _080338B4
- .align 2, 0
-_08032B78: .4byte gUnknown_80E25F4
-_08032B7C: .4byte gUnknown_80E2068
-_08032B80:
- movs r0, 0x4
- bl sub_8095324
- adds r2, r0, 0
- cmp r2, 0
- beq _08032B9C
- ldr r0, _08032B94
- ldr r3, _08032B98
- movs r2, 0
- b _08032BA0
- .align 2, 0
-_08032B94: .4byte gUnknown_80E25F4
-_08032B98: .4byte gUnknown_80E2130
-_08032B9C:
- ldr r0, _08032BBC
- ldr r3, _08032BC0
-_08032BA0:
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- bl _080338B4
- .align 2, 0
-_08032BBC: .4byte gUnknown_80E25F4
-_08032BC0: .4byte gUnknown_80E2190
-_08032BC4:
- movs r0, 0x1
- bl sub_8095324
- adds r4, r0, 0
- cmp r4, 0
- bne _08032C0C
- movs r0, 0x5
- bl sub_8095324
- cmp r0, 0
- bne _08032BF4
- ldr r0, _08032BEC
- ldr r3, _08032BF0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- b _08032C38
- .align 2, 0
-_08032BEC: .4byte gUnknown_80E25F4
-_08032BF0: .4byte gUnknown_80E2268
-_08032BF4:
- ldr r0, _08032C04
- ldr r3, _08032C08
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- b _08032C38
- .align 2, 0
-_08032C04: .4byte gUnknown_80E25F4
-_08032C08: .4byte gUnknown_80E2218
-_08032C0C:
- movs r0, 0x5
- bl sub_8095324
- adds r2, r0, 0
- cmp r2, 0
- bne _08032C28
- ldr r0, _08032C20
- ldr r3, _08032C24
- b _08032C2E
- .align 2, 0
-_08032C20: .4byte gUnknown_80E25F4
-_08032C24: .4byte gUnknown_80E2240
-_08032C28:
- ldr r0, _08032C48
- ldr r3, _08032C4C
- movs r2, 0
-_08032C2E:
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
-_08032C38:
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x11
- bl sub_8014248
- bl _080338B4
- .align 2, 0
-_08032C48: .4byte gUnknown_80E25F4
-_08032C4C: .4byte gUnknown_80E21B8
-_08032C50:
- ldr r0, [r6]
- movs r5, 0xA5
- lsls r5, 3
- adds r0, r5
- ldr r0, [r0]
- subs r0, 0x3
- cmp r0, 0x11
- bls _08032C64
- bl _080338B4
-_08032C64:
- lsls r0, 2
- ldr r1, _08032C70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08032C70: .4byte _08032C74
- .align 2, 0
-_08032C74:
- .4byte _08032CC8
- .4byte _08032CD4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _080338B4
- .4byte _08032CBC
- .4byte _08032CE0
- .4byte _08032CEC
- .4byte _08032CF8
-_08032CBC:
- ldr r0, _08032CC4
- bl _0803374A
- .align 2, 0
-_08032CC4: .4byte gUnknown_80E2610
-_08032CC8:
- ldr r0, _08032CD0
- bl _0803374A
- .align 2, 0
-_08032CD0: .4byte gUnknown_80E2640
-_08032CD4:
- ldr r0, _08032CDC
- bl _0803374A
- .align 2, 0
-_08032CDC: .4byte gUnknown_80E2680
-_08032CE0:
- ldr r0, _08032CE8
- bl _0803374A
- .align 2, 0
-_08032CE8: .4byte gUnknown_80E26B0
-_08032CEC:
- ldr r0, _08032CF4
- bl _0803374A
- .align 2, 0
-_08032CF4: .4byte gUnknown_80E26F0
-_08032CF8:
- ldr r0, _08032D00
- bl _0803374A
- .align 2, 0
-_08032D00: .4byte gUnknown_80E2728
-_08032D04:
- ldr r0, _08032D0C
- bl _0803388E
- .align 2, 0
-_08032D0C: .4byte gUnknown_80E276C
-_08032D10:
- ldr r0, _08032D18
- ldr r3, _08032D1C
- bl _080336FC
- .align 2, 0
-_08032D18: .4byte gUnknown_80E27A4
-_08032D1C: .4byte gUnknown_80E2458
-_08032D20:
- ldr r0, _08032D28
- bl _0803388E
- .align 2, 0
-_08032D28: .4byte gUnknown_80E2814
-_08032D2C:
- ldr r0, _08032D34
- bl _0803388E
- .align 2, 0
-_08032D34: .4byte gUnknown_80E2840
-_08032D38:
- ldr r0, _08032D40
- bl _0803388E
- .align 2, 0
-_08032D40: .4byte gUnknown_80E2874
-_08032D44:
- ldr r0, [r6]
- ldr r1, _08032D60
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xC
- bne _08032D54
- bl _080338B4
-_08032D54:
- cmp r0, 0xC
- bhi _08032D64
- cmp r0, 0xB
- beq _08032D6C
- bl _080338B4
- .align 2, 0
-_08032D60: .4byte 0x00000524
-_08032D64:
- cmp r0, 0xE
- bls _08032D6C
- bl _080338B4
-_08032D6C:
- ldr r0, _08032D74
- bl _0803388E
- .align 2, 0
-_08032D74: .4byte gUnknown_80E2898
-_08032D78:
- ldr r0, _08032D80
- bl _0803388E
- .align 2, 0
-_08032D80: .4byte gUnknown_80E28D8
-_08032D84:
- ldr r0, _08032D8C
- bl _0803388E
- .align 2, 0
-_08032D8C: .4byte gUnknown_80E2904
-_08032D90:
- ldr r0, _08032D98
- bl _0803388E
- .align 2, 0
-_08032D98: .4byte gUnknown_80E296C
-_08032D9C:
- bl sub_8030894
- cmp r0, 0
- beq _08032DA8
- bl _080338B4
-_08032DA8:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl _080336A6
-_08032DBC:
- ldr r0, _08032DC4
- ldr r3, _08032DC8
- bl _080336FC
- .align 2, 0
-_08032DC4: .4byte gUnknown_80E29A0
-_08032DC8: .4byte gUnknown_80E22B4
-_08032DCC:
- ldr r0, [r6]
- ldr r2, _08032DE8
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xC
- bne _08032DDC
- bl _080338B4
-_08032DDC:
- cmp r0, 0xC
- bhi _08032DEC
- cmp r0, 0xB
- beq _08032DF4
- bl _080338B4
- .align 2, 0
-_08032DE8: .4byte 0x00000524
-_08032DEC:
- cmp r0, 0xE
- bls _08032DF4
- bl _080338B4
-_08032DF4:
- ldr r0, _08032DFC
- bl _0803388E
- .align 2, 0
-_08032DFC: .4byte gUnknown_80E29D0
-_08032E00:
- ldr r0, _08032E08
- bl _0803388E
- .align 2, 0
-_08032E08: .4byte gUnknown_80E2A0C
-_08032E0C:
- ldr r0, [r6]
- movs r3, 0xEF
- lsls r3, 2
- adds r0, r3
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r6]
- movs r4, 0x86
- lsls r4, 2
- adds r0, r4
- b _0803343E
-_08032E30:
- ldr r0, _08032E38
- bl _0803388E
- .align 2, 0
-_08032E38: .4byte gUnknown_80E2A1C
-_08032E3C:
- ldr r0, _08032E44
- bl _0803388E
- .align 2, 0
-_08032E44: .4byte gUnknown_80E2A5C
-_08032E48:
- ldr r0, _08032E50
- bl _0803388E
- .align 2, 0
-_08032E50: .4byte gUnknown_80E2A80
-_08032E54:
- ldr r0, _08032E5C
- bl _0803388E
- .align 2, 0
-_08032E5C: .4byte gUnknown_80E2AA8
-_08032E60:
- ldr r0, _08032E68
- bl _0803388E
- .align 2, 0
-_08032E68: .4byte gUnknown_80E2AE4
-_08032E6C:
- ldr r0, [r6]
- ldr r2, _08032E88
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xC
- bne _08032E7C
- bl _080338B4
-_08032E7C:
- cmp r0, 0xC
- bhi _08032E8C
- cmp r0, 0xB
- beq _08032E94
- bl _080338B4
- .align 2, 0
-_08032E88: .4byte 0x00000524
-_08032E8C:
- cmp r0, 0xE
- bls _08032E94
- bl _080338B4
-_08032E94:
- ldr r0, _08032E9C
- bl _0803388E
- .align 2, 0
-_08032E9C: .4byte gUnknown_80E2B54
-_08032EA0:
- ldr r0, _08032EA8
- bl _0803388E
- .align 2, 0
-_08032EA8: .4byte gUnknown_80E2A0C
-_08032EAC:
- ldr r0, _08032EB4
- bl _0803388E
- .align 2, 0
-_08032EB4: .4byte gUnknown_80E2B90
-_08032EB8:
- ldr r0, _08032ED8
- ldr r3, _08032EDC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xF
- bl sub_8014248
- bl _080338B4
- .align 2, 0
-_08032ED8: .4byte gUnknown_80E2BE0
-_08032EDC: .4byte gUnknown_80E23A8
-_08032EE0:
- ldr r0, _08032EE8
- bl _0803388E
- .align 2, 0
-_08032EE8: .4byte gUnknown_80E2C48
-_08032EEC:
- bl sub_8023CE8
- cmp r0, 0
- beq _08032EF8
- bl sub_8023C60
-_08032EF8:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- movs r3, 0x9
- bl sub_8023868
- bl _080338B4
-_08032F16:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _08032F4C
- ldr r2, _08032F50
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_8023DA4
- bl _080336E2
- .align 2, 0
-_08032F4C: .4byte gUnknown_80E2334
-_08032F50: .4byte gUnknown_80E234C
-_08032F54:
- ldr r0, _08032F74
- ldr r3, _08032F78
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x10
- bl sub_8014248
- bl _080338B4
- .align 2, 0
-_08032F74: .4byte gUnknown_80E2C94
-_08032F78: .4byte gUnknown_80E22F0
-_08032F7C:
- ldr r0, _08032F84
- ldr r3, _08032F88
- bl _080336FC
- .align 2, 0
-_08032F84: .4byte gUnknown_80E2CD4
-_08032F88: .4byte gUnknown_80E22D0
-_08032F8C:
- ldr r0, _08032F94
- bl _0803388E
- .align 2, 0
-_08032F94: .4byte gUnknown_80E2CE8
-_08032F98:
- bl sub_8030894
- cmp r0, 0
- beq _08032FA4
- bl _080338B4
-_08032FA4:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x4
- b _080336A6
-_08032FB6:
- ldr r0, _08032FBC
- ldr r3, _08032FC0
- b _080336FC
- .align 2, 0
-_08032FBC: .4byte gUnknown_80E2D30
-_08032FC0: .4byte gUnknown_80E22B4
-_08032FC4:
- ldr r0, _08032FCC
- bl _0803388E
- .align 2, 0
-_08032FCC: .4byte gUnknown_80E2D60
-_08032FD0:
- ldr r0, _08032FD4
- b _080336FA
- .align 2, 0
-_08032FD4: .4byte gUnknown_80E2D7C
-_08032FD8:
- ldr r0, _08032FDC
- b _080336FA
- .align 2, 0
-_08032FDC: .4byte gUnknown_80E2E20
-_08032FE0:
- ldr r0, _08032FE4
- b _08033574
- .align 2, 0
-_08032FE4: .4byte gUnknown_80E2E54
-_08032FE8:
- ldr r0, _08032FEC
- b _08033574
- .align 2, 0
-_08032FEC: .4byte gUnknown_80E2EB4
-_08032FF0:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x44]
- bl sub_8011830
- ldr r0, [r6]
- ldr r0, [r0, 0x40]
- bl sub_8037B28
- adds r4, r0, 0
- ldr r0, [r6]
- str r4, [r0, 0x44]
- cmp r4, 0
- beq _0803300E
- b _080333DE
-_0803300E:
- ldr r1, [r0, 0x40]
- cmp r1, 0x3
- beq _08033028
- cmp r1, 0x3
- bhi _0803301E
- cmp r1, 0x2
- beq _0803304A
- b _0803313C
-_0803301E:
- cmp r1, 0x4
- beq _080330B4
- cmp r1, 0x5
- beq _0803308E
- b _0803313C
-_08033028:
- adds r0, 0x48
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- adds r0, 0x78
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0x48
- adds r2, 0x78
- b _08033134
-_0803304A:
- adds r0, 0x48
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- adds r0, 0x78
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 2
- adds r0, r3
- ldrb r0, [r0]
- bl sub_8095228
- ldr r1, [r6]
- adds r1, 0x48
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0x48
- adds r2, 0x78
- b _08033134
-_0803308E:
- adds r0, 0xA8
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r0, [r6]
- movs r4, 0x98
- lsls r4, 1
- adds r0, r4
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0xA8
- adds r2, r4
- b _08033134
-_080330B4:
- adds r0, 0xA8
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r0, [r6]
- movs r5, 0x98
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- movs r2, 0x88
- bl MemoryFill8
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xE0
- strh r4, [r0]
- movs r2, 0xB4
- lsls r2, 1
- adds r0, r1, r2
- strh r4, [r0]
- movs r3, 0x86
- lsls r3, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- bl sub_8095228
- ldr r1, [r6]
- adds r1, 0xA8
- 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}
- ldr r2, [r6]
- movs r4, 0xA7
- lsls r4, 3
- adds r3, r2, r4
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0803312A
- adds r0, r2, 0
- adds r0, 0xD8
- ldr r1, _08033188
- ldr r1, [r1]
- movs r2, 0
- ldrsh r3, [r3, r2]
- movs r2, 0x58
- muls r2, r3
- adds r1, r2
- movs r2, 0x58
- bl memcpy
-_0803312A:
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r1, r2, 0
- adds r1, 0xA8
- adds r2, r5
-_08033134:
- bl sub_8037D64
- ldr r1, [r6]
- str r0, [r1, 0x44]
-_0803313C:
- ldr r4, _0803318C
- ldr r2, [r4]
- ldr r0, [r2, 0x44]
- cmp r0, 0
- beq _08033148
- b _080333DE
-_08033148:
- ldr r0, [r2, 0x40]
- cmp r0, 0x2
- bcs _08033150
- b _080333DE
-_08033150:
- cmp r0, 0x3
- bls _08033190
- cmp r0, 0x5
- bls _0803315A
- b _080333DE
-_0803315A:
- adds r1, r2, 0
- adds r1, 0xA8
- movs r3, 0x98
- lsls r3, 1
- adds r2, r3
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0x44]
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _080331C0
- ldr r0, [r4]
- movs r4, 0x84
- lsls r4, 3
- adds r1, r0, r4
- movs r5, 0xA0
- lsls r5, 1
- adds r0, r5
- b _080333DA
- .align 2, 0
-_08033188: .4byte gUnknown_203B45C
-_0803318C: .4byte gUnknown_203B33C
-_08033190:
- adds r1, r2, 0
- adds r1, 0x48
- adds r2, 0x78
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0x44]
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _080331B4
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r0, r2
- adds r0, 0x88
- b _080333DA
-_080331B4:
- ldr r0, [r4]
- movs r3, 0x84
- lsls r3, 3
- adds r1, r0, r3
- ldr r0, [r0, 0x58]
- b _080333DC
-_080331C0:
- ldr r0, [r4]
- movs r4, 0x84
- lsls r4, 3
- adds r1, r0, r4
- adds r0, 0xB8
- b _080333DA
-_080331CC:
- ldr r0, _080331D0
- b _0803388E
- .align 2, 0
-_080331D0: .4byte gUnknown_80E2F14
-_080331D4:
- ldr r0, _080331D8
- b _0803388E
- .align 2, 0
-_080331D8: .4byte gUnknown_80E2F44
-_080331DC:
- bl sub_8030894
- cmp r0, 0
- beq _080331E6
- b _080338B4
-_080331E6:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- b _080336A6
-_080331F8:
- ldr r0, _080331FC
- b _080336FA
- .align 2, 0
-_080331FC: .4byte gUnknown_80E2F78
-_08033200:
- ldr r0, _08033204
- b _0803388E
- .align 2, 0
-_08033204: .4byte gUnknown_80E2FA0
-_08033208:
- ldr r0, [r6]
- ldr r5, _08033220
- adds r0, r5
- ldr r0, [r0]
- cmp r0, 0xC
- bne _08033216
- b _080338B4
-_08033216:
- cmp r0, 0xC
- bhi _08033224
- cmp r0, 0xB
- beq _0803322A
- b _080338B4
- .align 2, 0
-_08033220: .4byte 0x00000524
-_08033224:
- cmp r0, 0xE
- bls _0803322A
- b _080338B4
-_0803322A:
- ldr r0, _08033230
- b _0803388E
- .align 2, 0
-_08033230: .4byte gUnknown_80E2FEC
-_08033234:
- ldr r0, _08033238
- b _0803388E
- .align 2, 0
-_08033238: .4byte gUnknown_80E3030
-_0803323C:
- ldr r0, _08033240
- b _0803388E
- .align 2, 0
-_08033240: .4byte gUnknown_80E3078
-_08033244:
- ldr r0, [r6]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- b _080333F4
-_0803324E:
- ldr r0, _08033254
- ldr r3, _08033258
- b _080336FC
- .align 2, 0
-_08033254: .4byte gUnknown_80E30A4
-_08033258: .4byte gUnknown_80E2458
-_0803325C:
- ldr r0, _08033260
- b _0803388E
- .align 2, 0
-_08033260: .4byte gUnknown_80E30D0
-_08033264:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _08033280
- ldr r2, _08033284
- b _080336CC
- .align 2, 0
-_08033280: .4byte gUnknown_80E231C
-_08033284: .4byte gUnknown_80E2408
-_08033288:
- bl sub_801D008
- cmp r0, 0
- beq _08033292
- b _080338B4
-_08033292:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, _080332B4
- str r0, [sp, 0x64]
- add r2, sp, 0x64
- movs r0, 0
- movs r1, 0x1
- movs r3, 0x9
- bl sub_801C8C4
- b _080338B4
- .align 2, 0
-_080332B4: .4byte 0x00020003
-_080332B8:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _080332EC
- ldr r2, _080332F0
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_801CCD8
- b _080336E2
- .align 2, 0
-_080332EC: .4byte gUnknown_80E23F0
-_080332F0: .4byte gUnknown_80E2408
-_080332F4:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x44]
- bl sub_8011830
- ldr r0, [r6]
- ldr r0, [r0, 0x40]
- bl sub_8037B28
- ldr r1, [r6]
- str r0, [r1, 0x44]
- cmp r0, 0
- bne _080333DE
- ldr r0, [r1, 0x40]
- cmp r0, 0x6
- beq _0803331A
- cmp r0, 0x7
- beq _08033358
- b _08033388
-_0803331A:
- movs r4, 0xDC
- lsls r4, 1
- adds r0, r1, r4
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 2
- adds r0, r2
- ldrb r0, [r0]
- bl sub_8095228
- ldr r1, [r6]
- adds r1, r4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r4, r2, r4
- movs r3, 0xF4
- lsls r3, 1
- adds r2, r3
- b _0803337E
-_08033358:
- movs r4, 0xDC
- lsls r4, 1
- adds r0, r1, r4
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r5, 0xF4
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r2, [r6]
- ldr r0, [r2, 0x40]
- adds r4, r2, r4
- adds r2, r5
-_0803337E:
- adds r1, r4, 0
- bl sub_8037D64
- ldr r1, [r6]
- str r0, [r1, 0x44]
-_08033388:
- ldr r4, _080333C8
- ldr r2, [r4]
- ldr r0, [r2, 0x44]
- cmp r0, 0
- bne _080333DE
- ldr r0, [r2, 0x40]
- cmp r0, 0x7
- bhi _080333DE
- cmp r0, 0x6
- bcc _080333DE
- movs r5, 0xDC
- lsls r5, 1
- adds r1, r2, r5
- movs r3, 0xF4
- lsls r3, 1
- adds r2, r3
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0x44]
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _080333CC
- ldr r0, [r4]
- movs r4, 0x84
- lsls r4, 3
- adds r1, r0, r4
- adds r5, 0x40
- adds r0, r5
- b _080333DA
- .align 2, 0
-_080333C8: .4byte gUnknown_203B33C
-_080333CC:
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r0, r2
- movs r3, 0xE4
- lsls r3, 1
- adds r0, r3
-_080333DA:
- ldr r0, [r0]
-_080333DC:
- str r0, [r1]
-_080333DE:
- bl sub_8011854
- b _080338B4
-_080333E4:
- ldr r0, _080333E8
- b _0803388E
- .align 2, 0
-_080333E8: .4byte gUnknown_80E311C
-_080333EC:
- ldr r0, [r6]
- movs r4, 0xEF
- lsls r4, 2
- adds r0, r4
-_080333F4:
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r6]
- adds r1, 0x8
- movs r0, 0x4
- bl sub_80151C0
- b _080338B4
-_08033412:
- ldr r0, _08033418
- b _0803388E
- .align 2, 0
-_08033418: .4byte gUnknown_80E314C
-_0803341C:
- ldr r0, [r6]
- movs r5, 0xEF
- lsls r5, 2
- adds r0, r5
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
-_0803343E:
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8031D70
- b _080338B4
-_08033448:
- ldr r0, _0803344C
- b _0803388E
- .align 2, 0
-_0803344C: .4byte gUnknown_80E317C
-_08033450:
- ldr r0, _08033454
- b _0803388E
- .align 2, 0
-_08033454: .4byte gUnknown_80E319C
-_08033458:
- ldr r0, _0803345C
- b _0803388E
- .align 2, 0
-_0803345C: .4byte gUnknown_80E317C
-_08033460:
- ldr r0, _08033464
- b _0803388E
- .align 2, 0
-_08033464: .4byte gUnknown_80E31D8
-_08033468:
- ldr r0, _0803346C
- b _0803388E
- .align 2, 0
-_0803346C: .4byte gUnknown_80E31FC
-_08033470:
- ldr r0, [r6]
- ldr r2, _08033488
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xC
- bne _0803347E
- b _080338B4
-_0803347E:
- cmp r0, 0xC
- bhi _0803348C
- cmp r0, 0xB
- beq _08033492
- b _080338B4
- .align 2, 0
-_08033488: .4byte 0x00000524
-_0803348C:
- cmp r0, 0xE
- bls _08033492
- b _080338B4
-_08033492:
- ldr r0, _08033498
- b _0803388E
- .align 2, 0
-_08033498: .4byte gUnknown_80E3220
-_0803349C:
- movs r0, 0x98
- lsls r0, 1
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _080334F8
- ldr r0, [r4]
- ldr r3, _080334FC
- adds r0, r3
- bl strcpy
- ldr r1, [r4]
- movs r5, 0xAA
- lsls r5, 3
- adds r0, r1, r5
- movs r2, 0
- strh r2, [r0]
- ldr r0, _08033500
- adds r1, r0
- movs r0, 0x2
- strb r0, [r1]
- ldr r0, [r4]
- ldr r3, _08033504
- adds r1, r0, r3
- str r2, [r1]
- movs r5, 0x84
- lsls r5, 3
- adds r0, r5
- ldr r1, [r0]
- movs r0, 0x6
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r2, r0, 0
- adds r0, 0x22
- ldrb r1, [r0]
- cmp r1, 0
- beq _08033508
- ldr r0, [r4]
- movs r3, 0xAB
- lsls r3, 3
- adds r0, r3
- b _08033512
- .align 2, 0
-_080334F8: .4byte gUnknown_203B33C
-_080334FC: .4byte 0x0000053c
-_08033500: .4byte 0x00000552
-_08033504: .4byte 0x00000554
-_08033508:
- ldr r0, [r4]
- movs r4, 0xAB
- lsls r4, 3
- adds r0, r4
- movs r1, 0
-_08033512:
- strb r1, [r0]
- ldr r4, _08033558
- ldr r0, [r4]
- ldr r5, _0803355C
- adds r0, r5
- movs r5, 0
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r2, 0x4
- movs r1, 0
- bl sub_803C200
- ldr r1, [r4]
- movs r3, 0xAC
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- ldr r0, _08033560
- adds r1, r0
- strb r5, [r1]
- ldr r0, [r4]
- ldr r1, _08033564
- adds r0, r1
- strb r5, [r0]
- ldr r0, [r4]
- ldr r2, _08033568
- adds r0, r2
- strb r5, [r0]
- ldr r0, [r4]
- subs r3, 0x24
- adds r0, r3
- movs r1, 0
- bl sub_802F204
- b _080338B4
- .align 2, 0
-_08033558: .4byte gUnknown_203B33C
-_0803355C: .4byte 0x0000055b
-_08033560: .4byte 0x00000559
-_08033564: .4byte 0x0000055a
-_08033568: .4byte 0x0000055c
-_0803356C:
- movs r0, 0
- bl nullsub_23
- ldr r0, _08033580
-_08033574:
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- b _080338B4
- .align 2, 0
-_08033580: .4byte gUnknown_80E2DD0
-_08033584:
- ldr r0, [r6]
- ldr r4, _0803359C
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0xC
- bne _08033592
- b _080338B4
-_08033592:
- cmp r0, 0xC
- bhi _080335A0
- cmp r0, 0xB
- beq _080335A6
- b _080338B4
- .align 2, 0
-_0803359C: .4byte 0x00000524
-_080335A0:
- cmp r0, 0xE
- bls _080335A6
- b _080338B4
-_080335A6:
- ldr r0, _080335AC
- b _0803388E
- .align 2, 0
-_080335AC: .4byte gUnknown_80E3248
-_080335B0:
- ldr r0, _080335B4
- b _0803388E
- .align 2, 0
-_080335B4: .4byte gUnknown_80E3288
-_080335B8:
- ldr r0, _080335BC
- b _080336FA
- .align 2, 0
-_080335BC: .4byte gUnknown_80E2D7C
-_080335C0:
- bl sub_808D33C
- adds r1, r0, 0
- adds r1, 0x4C
- add r0, sp, 0x14
- movs r2, 0xA
- bl sub_80922B4
- ldr r5, _080335E8
- ldr r0, [r5]
- ldr r4, _080335EC
- adds r0, r4
- ldr r1, _080335F0
- add r2, sp, 0x14
- bl sub_800D158
- ldr r0, [r5]
- adds r0, r4
- b _0803388E
- .align 2, 0
-_080335E8: .4byte gUnknown_203B33C
-_080335EC: .4byte 0x00000424
-_080335F0: .4byte gUnknown_80E32C4
-_080335F4:
- ldr r0, _080335FC
- ldr r3, _08033600
- b _080336FC
- .align 2, 0
-_080335FC: .4byte gUnknown_80E331C
-_08033600: .4byte gUnknown_80E24D8
-_08033604:
- ldr r0, _08033608
- b _0803388E
- .align 2, 0
-_08033608: .4byte gUnknown_80E317C
-_0803360C:
- ldr r0, _08033610
- b _0803388E
- .align 2, 0
-_08033610: .4byte gUnknown_80E2A0C
-_08033614:
- ldr r0, _08033618
- b _0803388E
- .align 2, 0
-_08033618: .4byte gUnknown_80E3378
-_0803361C:
- ldr r0, _0803363C
- ldr r3, _08033640
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x16
- bl sub_8014248
- b _080338B4
- .align 2, 0
-_0803363C: .4byte gUnknown_80E339C
-_08033640: .4byte gUnknown_80E24B0
-_08033644:
- ldr r0, _08033664
- ldr r3, _08033668
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x15
- bl sub_8014248
- b _080338B4
- .align 2, 0
-_08033664: .4byte gUnknown_80E33D8
-_08033668: .4byte gUnknown_80E2470
-_0803366C:
- ldr r0, _08033670
- b _0803388E
- .align 2, 0
-_08033670: .4byte gUnknown_80E3430
-_08033674:
- ldr r0, _0803367C
- ldr r3, _08033680
- b _080336FC
- .align 2, 0
-_0803367C: .4byte gUnknown_80E34B0
-_08033680: .4byte gUnknown_80E2440
-_08033684:
- ldr r0, _08033688
- b _0803388E
- .align 2, 0
-_08033688: .4byte gUnknown_80E34F0
-_0803368C:
- bl sub_8030894
- cmp r0, 0
- beq _08033696
- b _080338B4
-_08033696:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x5
-_080336A6:
- movs r1, 0
- movs r2, 0
- movs r3, 0x6
- bl sub_80306A8
- b _080338B4
-_080336B2:
- ldr r0, [r6]
- movs r4, 0xD7
- lsls r4, 2
- adds r0, r4
- bl sub_8006518
- ldr r1, [r6]
- movs r5, 0x87
- lsls r5, 2
- adds r0, r1, r5
- adds r1, r4
- ldr r3, _080336F0
- ldr r2, _080336F4
-_080336CC:
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_803092C
-_080336E2:
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- b _080338B4
- .align 2, 0
-_080336F0: .4byte gUnknown_80E231C
-_080336F4: .4byte gUnknown_80E234C
-_080336F8:
- ldr r0, _08033718
-_080336FA:
- ldr r3, _0803371C
-_080336FC:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x6
- bl sub_8014248
- b _080338B4
- .align 2, 0
-_08033718: .4byte gUnknown_80E352C
-_0803371C: .4byte gUnknown_80E2290
-_08033720:
- ldr r0, _08033724
- b _0803388E
- .align 2, 0
-_08033724: .4byte gUnknown_80E355C
-_08033728:
- ldr r0, _0803372C
- b _0803388E
- .align 2, 0
-_0803372C: .4byte gUnknown_80E35AC
-_08033730:
- ldr r0, _08033734
- b _0803388E
- .align 2, 0
-_08033734: .4byte gUnknown_80E35E8
-_08033738:
- ldr r0, [r6]
- ldr r0, [r0, 0x40]
- cmp r0, 0x6
- bne _08033748
- ldr r0, _08033744
- b _0803374A
- .align 2, 0
-_08033744: .4byte gUnknown_80E360C
-_08033748:
- ldr r0, _08033768
-_0803374A:
- ldr r3, _0803376C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0xB
- bl sub_8014248
- b _080338B4
- .align 2, 0
-_08033768: .4byte gUnknown_80E3644
-_0803376C: .4byte gUnknown_80E236C
-_08033770:
- ldr r0, _08033780
- ldr r1, [r6]
- ldr r5, _08033784
- adds r1, r5
- ldr r2, [r1]
- ldr r3, _08033788
- b _08033858
- .align 2, 0
-_08033780: .4byte gUnknown_80E367C
-_08033784: .4byte 0x00000564
-_08033788: .4byte gUnknown_80E25B4
-_0803378C:
- ldr r0, [r6]
- ldr r1, _080337A4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x24
- beq _080337BC
- cmp r0, 0x24
- bgt _080337A8
- cmp r0, 0x23
- beq _080337B2
- b _080338B4
- .align 2, 0
-_080337A4: .4byte 0x00000564
-_080337A8:
- cmp r0, 0x25
- beq _080337C4
- cmp r0, 0x26
- beq _080337CC
- b _080338B4
-_080337B2:
- ldr r0, _080337B8
- b _0803388E
- .align 2, 0
-_080337B8: .4byte gUnknown_80E3690
-_080337BC:
- ldr r0, _080337C0
- b _0803388E
- .align 2, 0
-_080337C0: .4byte gUnknown_80E3818
-_080337C4:
- ldr r0, _080337C8
- b _0803388E
- .align 2, 0
-_080337C8: .4byte gUnknown_80E3998
-_080337CC:
- ldr r0, _080337D0
- b _0803388E
- .align 2, 0
-_080337D0: .4byte gUnknown_80E3B1C
-_080337D4:
- ldr r0, _080337E4
- ldr r1, [r6]
- ldr r2, _080337E8
- adds r1, r2
- ldr r2, [r1]
- ldr r3, _080337EC
- b _08033858
- .align 2, 0
-_080337E4: .4byte gUnknown_80E367C
-_080337E8: .4byte 0x00000564
-_080337EC: .4byte gUnknown_80E2554
-_080337F0:
- ldr r0, [r6]
- ldr r3, _08033808
- adds r0, r3
- ldr r0, [r0]
- subs r0, 0x1E
- cmp r0, 0x4
- bhi _080338B4
- lsls r0, 2
- ldr r1, _0803380C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033808: .4byte 0x00000564
-_0803380C: .4byte _08033810
- .align 2, 0
-_08033810:
- .4byte _08033824
- .4byte _0803382C
- .4byte _0803383C
- .4byte _08033834
- .4byte _08033844
-_08033824:
- ldr r0, _08033828
- b _0803388E
- .align 2, 0
-_08033828: .4byte gUnknown_80E3BF8
-_0803382C:
- ldr r0, _08033830
- b _0803388E
- .align 2, 0
-_08033830: .4byte gUnknown_80E3DE4
-_08033834:
- ldr r0, _08033838
- b _0803388E
- .align 2, 0
-_08033838: .4byte gUnknown_80E3E98
-_0803383C:
- ldr r0, _08033840
- b _0803388E
- .align 2, 0
-_08033840: .4byte gUnknown_80E4014
-_08033844:
- ldr r0, _08033848
- b _0803388E
- .align 2, 0
-_08033848: .4byte gUnknown_80E4130
-_0803384C:
- ldr r0, _08033870
- ldr r1, [r6]
- ldr r4, _08033874
- adds r1, r4
- ldr r2, [r1]
- ldr r3, _08033878
-_08033858:
- movs r4, 0
- str r4, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
-_08033864:
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- b _080338B4
- .align 2, 0
-_08033870: .4byte gUnknown_80E367C
-_08033874: .4byte 0x00000564
-_08033878: .4byte gUnknown_80E24F8
-_0803387C:
- ldr r0, [r6]
- ldr r5, _0803389C
- adds r0, r5
- ldr r0, [r0]
- cmp r0, 0x1A
- beq _080338A8
- cmp r0, 0x1D
- bne _080338B4
- ldr r0, _080338A0
-_0803388E:
- ldr r3, _080338A4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080338B4
- .align 2, 0
-_0803389C: .4byte 0x00000564
-_080338A0: .4byte gUnknown_80E41DC
-_080338A4: .4byte 0x00000101
-_080338A8:
- ldr r0, _080338BC
- ldr r3, _080338C0
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080338B4:
- add sp, 0x68
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080338BC: .4byte gUnknown_80E4314
-_080338C0: .4byte 0x00000101
- thumb_func_end sub_8032828
-
- thumb_func_start sub_80338C4
-sub_80338C4:
- push {lr}
- ldr r1, _080338D8
- ldr r1, [r1]
- str r0, [r1]
- bl nullsub_40
- bl sub_8032828
- pop {r0}
- bx r0
- .align 2, 0
-_080338D8: .4byte gUnknown_203B33C
- thumb_func_end sub_80338C4
-
- thumb_func_start sub_80338DC
-sub_80338DC:
- push {lr}
- cmp r0, 0x10
- bls _080338E4
- b _080339BC
-_080338E4:
- lsls r0, 2
- ldr r1, _080338F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080338F0: .4byte _080338F4
- .align 2, 0
-_080338F4:
- .4byte _080339BC
- .4byte _08033998
- .4byte _08033940
- .4byte _08033938
- .4byte _08033948
- .4byte _08033998
- .4byte _08033950
- .4byte _08033958
- .4byte _08033960
- .4byte _08033968
- .4byte _08033970
- .4byte _08033978
- .4byte _08033980
- .4byte _08033990
- .4byte _08033998
- .4byte _080339B0
- .4byte _08033988
-_08033938:
- ldr r0, _0803393C
- b _0803399A
- .align 2, 0
-_0803393C: .4byte gUnknown_80E44A4
-_08033940:
- ldr r0, _08033944
- b _0803399A
- .align 2, 0
-_08033944: .4byte gUnknown_80E4500
-_08033948:
- ldr r0, _0803394C
- b _0803399A
- .align 2, 0
-_0803394C: .4byte gUnknown_80E4550
-_08033950:
- ldr r0, _08033954
- b _0803399A
- .align 2, 0
-_08033954: .4byte gUnknown_80E45B4
-_08033958:
- ldr r0, _0803395C
- b _0803399A
- .align 2, 0
-_0803395C: .4byte gUnknown_80E460C
-_08033960:
- ldr r0, _08033964
- b _0803399A
- .align 2, 0
-_08033964: .4byte gUnknown_80E4650
-_08033968:
- ldr r0, _0803396C
- b _0803399A
- .align 2, 0
-_0803396C: .4byte gUnknown_80E468C
-_08033970:
- ldr r0, _08033974
- b _0803399A
- .align 2, 0
-_08033974: .4byte gUnknown_80E46C8
-_08033978:
- ldr r0, _0803397C
- b _0803399A
- .align 2, 0
-_0803397C: .4byte gUnknown_80E4704
-_08033980:
- ldr r0, _08033984
- b _0803399A
- .align 2, 0
-_08033984: .4byte gUnknown_80E4744
-_08033988:
- ldr r0, _0803398C
- b _0803399A
- .align 2, 0
-_0803398C: .4byte gUnknown_80E4788
-_08033990:
- ldr r0, _08033994
- b _0803399A
- .align 2, 0
-_08033994: .4byte gUnknown_80E47D8
-_08033998:
- ldr r0, _080339A8
-_0803399A:
- ldr r3, _080339AC
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _080339BC
- .align 2, 0
-_080339A8: .4byte gUnknown_80E4480
-_080339AC: .4byte 0x00000101
-_080339B0:
- ldr r0, _080339C0
- ldr r3, _080339C4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_080339BC:
- pop {r0}
- bx r0
- .align 2, 0
-_080339C0: .4byte gUnknown_80E482C
-_080339C4: .4byte 0x00000101
- thumb_func_end sub_80338DC
-
- thumb_func_start sub_80339C8
-sub_80339C8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033A24
- ldr r0, _080339F4
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r1, _080339F8
- strh r1, [r0]
- ldr r0, [sp]
- cmp r0, 0x1
- beq _08033A0E
- cmp r0, 0x1
- bgt _080339FC
- cmp r0, 0
- beq _08033A06
- b _08033A24
- .align 2, 0
-_080339F4: .4byte gUnknown_203B33C
-_080339F8: .4byte 0x0000ffff
-_080339FC:
- cmp r0, 0x8
- beq _08033A1E
- cmp r0, 0x17
- beq _08033A16
- b _08033A24
-_08033A06:
- movs r0, 0x3
- bl sub_80338C4
- b _08033A24
-_08033A0E:
- movs r0, 0x4
- bl sub_80338C4
- b _08033A24
-_08033A16:
- movs r0, 0x78
- bl sub_80338C4
- b _08033A24
-_08033A1E:
- movs r0, 0x2
- bl sub_80338C4
-_08033A24:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80339C8
-
- thumb_func_start sub_8033A2C
-sub_8033A2C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- beq _08033A3C
- b _08033B86
-_08033A3C:
- ldr r2, _08033A58
- ldr r1, [r2]
- movs r0, 0x8
- str r0, [r1, 0x40]
- ldr r0, [sp]
- subs r0, 0x3
- cmp r0, 0x11
- bls _08033A4E
- b _08033B86
-_08033A4E:
- lsls r0, 2
- ldr r1, _08033A5C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033A58: .4byte gUnknown_203B33C
-_08033A5C: .4byte _08033A60
- .align 2, 0
-_08033A60:
- .4byte _08033ACA
- .4byte _08033AEC
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B80
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033B86
- .4byte _08033AA8
- .4byte _08033B14
- .4byte _08033B3E
- .4byte _08033B68
-_08033AA8:
- ldr r0, [r2]
- movs r1, 0x2
- str r1, [r0, 0x40]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- movs r1, 0x11
- str r1, [r0]
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- beq _08033B0C
- movs r0, 0x31
- bl sub_80338C4
- b _08033B86
-_08033ACA:
- ldr r0, [r2]
- movs r1, 0x3
- str r1, [r0, 0x40]
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- bl sub_8095190
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08033B36
- movs r0, 0xF
- bl sub_80338C4
- b _08033B86
-_08033AEC:
- ldr r0, [r2]
- movs r1, 0x4
- str r1, [r0, 0x40]
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- movs r0, 0x4
- bl sub_8095324
- cmp r0, 0
- beq _08033B0C
- movs r0, 0x1C
- bl sub_80338C4
- b _08033B86
-_08033B0C:
- movs r0, 0x22
- bl sub_80338C4
- b _08033B86
-_08033B14:
- ldr r0, [r2]
- movs r1, 0x5
- str r1, [r0, 0x40]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- movs r1, 0x12
- str r1, [r0]
- movs r0, 0x5
- bl sub_8095324
- cmp r0, 0
- beq _08033B36
- movs r0, 0x3D
- bl sub_80338C4
- b _08033B86
-_08033B36:
- movs r0, 0xE
- bl sub_80338C4
- b _08033B86
-_08033B3E:
- ldr r0, [r2]
- movs r1, 0x6
- str r1, [r0, 0x40]
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r2
- movs r1, 0x13
- str r1, [r0]
- movs r0, 0x5
- bl sub_8095324
- cmp r0, 0
- bne _08033B60
- movs r0, 0x51
- bl sub_80338C4
- b _08033B86
-_08033B60:
- movs r0, 0x5B
- bl sub_80338C4
- b _08033B86
-_08033B68:
- ldr r0, [r2]
- movs r1, 0x7
- str r1, [r0, 0x40]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- movs r1, 0x14
- str r1, [r0]
- movs r0, 0x52
- bl sub_80338C4
- b _08033B86
-_08033B80:
- movs r0, 0x1
- bl sub_80338C4
-_08033B86:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033A2C
-
- thumb_func_start sub_8033B8C
-sub_8033B8C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033C4C
- ldr r2, [sp]
- cmp r2, 0xC
- bgt _08033BAA
- cmp r2, 0xB
- bge _08033BB0
- cmp r2, 0x8
- beq _08033C46
- b _08033C4C
-_08033BAA:
- cmp r2, 0xD
- beq _08033BF4
- b _08033C4C
-_08033BB0:
- ldr r0, _08033BD4
- ldr r0, [r0]
- ldr r1, _08033BD8
- adds r2, r0, r1
- movs r1, 0xB
- str r1, [r2]
- movs r3, 0xA5
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033BEC
- cmp r0, 0x4
- bhi _08033BDC
- cmp r0, 0x3
- beq _08033BE4
- b _08033C4C
- .align 2, 0
-_08033BD4: .4byte gUnknown_203B33C
-_08033BD8: .4byte 0x00000524
-_08033BDC:
- cmp r0, 0x12
- bhi _08033C4C
- cmp r0, 0x11
- bcc _08033C4C
-_08033BE4:
- movs r0, 0x5
- bl sub_80338C4
- b _08033C4C
-_08033BEC:
- movs r0, 0x23
- bl sub_80338C4
- b _08033C4C
-_08033BF4:
- ldr r0, _08033C14
- ldr r0, [r0]
- ldr r3, _08033C18
- adds r1, r0, r3
- str r2, [r1]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033C3E
- cmp r0, 0x4
- bhi _08033C1C
- cmp r0, 0x3
- beq _08033C26
- b _08033C4C
- .align 2, 0
-_08033C14: .4byte gUnknown_203B33C
-_08033C18: .4byte 0x00000524
-_08033C1C:
- cmp r0, 0x11
- beq _08033C2E
- cmp r0, 0x12
- beq _08033C36
- b _08033C4C
-_08033C26:
- movs r0, 0x19
- bl sub_80338C4
- b _08033C4C
-_08033C2E:
- movs r0, 0x39
- bl sub_80338C4
- b _08033C4C
-_08033C36:
- movs r0, 0x43
- bl sub_80338C4
- b _08033C4C
-_08033C3E:
- movs r0, 0x2D
- bl sub_80338C4
- b _08033C4C
-_08033C46:
- movs r0, 0x1
- bl sub_80338C4
-_08033C4C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033B8C
-
- thumb_func_start sub_8033C54
-sub_8033C54:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033CA2
- ldr r0, [sp]
- cmp r0, 0x6
- beq _08033C6E
- cmp r0, 0x8
- beq _08033C9C
- b _08033CA2
-_08033C6E:
- ldr r0, _08033C88
- ldr r0, [r0]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033C94
- cmp r0, 0x4
- bhi _08033C8C
- cmp r0, 0x3
- beq _08033C94
- b _08033CA2
- .align 2, 0
-_08033C88: .4byte gUnknown_203B33C
-_08033C8C:
- cmp r0, 0x11
- beq _08033C94
- cmp r0, 0x12
- bne _08033CA2
-_08033C94:
- movs r0, 0xD
- bl sub_80338C4
- b _08033CA2
-_08033C9C:
- movs r0, 0x1
- bl sub_80338C4
-_08033CA2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033C54
-
- thumb_func_start nullsub_41
-nullsub_41:
- bx lr
- thumb_func_end nullsub_41
-
- thumb_func_start sub_8033CAC
-sub_8033CAC:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033D40
- ldr r4, _08033CDC
- ldr r1, [r4]
- ldr r0, [r1, 0x44]
- cmp r0, 0
- bne _08033D36
- movs r2, 0xA5
- lsls r2, 3
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0x4
- beq _08033D2E
- cmp r0, 0x4
- bhi _08033CE0
- cmp r0, 0x3
- beq _08033CEA
- b _08033D40
- .align 2, 0
-_08033CDC: .4byte gUnknown_203B33C
-_08033CE0:
- cmp r0, 0x11
- beq _08033CF2
- cmp r0, 0x12
- beq _08033CFA
- b _08033D40
-_08033CEA:
- movs r0, 0x16
- bl sub_80338C4
- b _08033D40
-_08033CF2:
- movs r0, 0x37
- bl sub_80338C4
- b _08033D40
-_08033CFA:
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _08033D12
- ldr r0, [r4]
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- b _08033D1A
-_08033D12:
- ldr r0, [r4]
- adds r0, 0xE0
- movs r1, 0
- ldrsh r0, [r0, r1]
-_08033D1A:
- cmp r0, 0
- beq _08033D26
- movs r0, 0x3F
- bl sub_80338C4
- b _08033D40
-_08033D26:
- movs r0, 0x40
- bl sub_80338C4
- b _08033D40
-_08033D2E:
- movs r0, 0x2B
- bl sub_80338C4
- b _08033D40
-_08033D36:
- bl sub_80338DC
- movs r0, 0x8
- bl sub_80338C4
-_08033D40:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8033CAC
-
- thumb_func_start sub_8033D48
-sub_8033D48:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033D5C
- movs r0, 0x1
- bl sub_80338C4
-_08033D5C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033D48
-
- thumb_func_start nullsub_42
-nullsub_42:
- bx lr
- thumb_func_end nullsub_42
-
- thumb_func_start nullsub_43
-nullsub_43:
- bx lr
- thumb_func_end nullsub_43
-
- thumb_func_start nullsub_44
-nullsub_44:
- bx lr
- thumb_func_end nullsub_44
-
- thumb_func_start nullsub_45
-nullsub_45:
- bx lr
- thumb_func_end nullsub_45
-
- thumb_func_start sub_8033D74
-sub_8033D74:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033D8E
- movs r0, 0x17
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_08033D8E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033D74
-
- thumb_func_start sub_8033D94
-sub_8033D94:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033DB6
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08033DB6
- bl sub_8012750
- movs r0, 0x18
- bl sub_80338C4
-_08033DB6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033D94
-
- thumb_func_start sub_8033DBC
-sub_8033DBC:
- push {r4,lr}
- sub sp, 0x44
- bl sub_80154F0
- adds r4, r0, 0
- add r0, sp, 0x14
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- cmp r4, 0x2
- bne _08033DD6
- b _08033F38
-_08033DD6:
- cmp r4, 0x3
- beq _08033DDC
- b _08033F58
-_08033DDC:
- ldr r2, _08033DF4
- ldr r1, _08033DF8
- ldr r0, [r1]
- movs r3, 0xA5
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x3
- beq _08033DFC
- cmp r0, 0x12
- beq _08033E00
- b _08033E02
- .align 2, 0
-_08033DF4: .4byte 0x0000ffdc
-_08033DF8: .4byte gUnknown_203B33C
-_08033DFC:
- movs r2, 0x1C
- b _08033E02
-_08033E00:
- movs r2, 0x1E
-_08033E02:
- ldr r1, [r1]
- adds r1, 0x8
- adds r0, r2, 0
- add r2, sp, 0x14
- bl sub_8039068
- subs r0, 0x7
- cmp r0, 0x11
- bls _08033E16
- b _08033F2E
-_08033E16:
- lsls r0, 2
- ldr r1, _08033E20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08033E20: .4byte _08033E24
- .align 2, 0
-_08033E24:
- .4byte _08033EA0
- .4byte _08033F2E
- .4byte _08033EE0
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033E6C
- .4byte _08033E98
- .4byte _08033ED8
- .4byte _08033F2E
- .4byte _08033F2E
- .4byte _08033EA8
- .4byte _08033EFC
- .4byte _08033F2E
-_08033E6C:
- ldr r0, _08033E90
- ldr r3, _08033E94
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x6
- bl sub_8014248
- movs r0, 0x1B
- bl sub_80338C4
- b _08033F2E
- .align 2, 0
-_08033E90: .4byte gUnknown_80E48A8
-_08033E94: .4byte gUnknown_80E2290
-_08033E98:
- ldr r0, _08033E9C
- b _08033EE2
- .align 2, 0
-_08033E9C: .4byte gUnknown_80E48E8
-_08033EA0:
- ldr r0, _08033EA4
- b _08033EE2
- .align 2, 0
-_08033EA4: .4byte gUnknown_80E460C
-_08033EA8:
- ldr r0, [sp, 0x24]
- bl sub_8095274
- add r1, sp, 0x14
- movs r0, 0x2
- strb r0, [r1]
- adds r0, r1, 0
- bl sub_80951BC
- ldr r0, _08033ED0
- ldr r3, _08033ED4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- movs r0, 0x16
- bl sub_80338C4
- b _08033F2E
- .align 2, 0
-_08033ED0: .4byte gUnknown_80E4928
-_08033ED4: .4byte 0x00000101
-_08033ED8:
- ldr r0, _08033EDC
- b _08033EE2
- .align 2, 0
-_08033EDC: .4byte gUnknown_80E4964
-_08033EE0:
- ldr r0, _08033EF4
-_08033EE2:
- ldr r3, _08033EF8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- movs r0, 0x8
- bl sub_80338C4
- b _08033F2E
- .align 2, 0
-_08033EF4: .4byte gUnknown_80E499C
-_08033EF8: .4byte 0x00000101
-_08033EFC:
- add r1, sp, 0x14
- movs r0, 0x5
- strb r0, [r1]
- adds r0, r1, 0
- bl sub_80951FC
- ldr r1, [sp, 0x24]
- movs r0, 0x1
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- movs r1, 0x7
- strb r1, [r0]
- ldr r0, _08033F34
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x5C
- bl MemoryFill8
- movs r0, 0x40
- bl sub_80338C4
-_08033F2E:
- bl sub_80155F0
- b _08033F58
- .align 2, 0
-_08033F34: .4byte gUnknown_203B484
-_08033F38:
- bl sub_80155F0
- bl sub_8004914
- ldr r0, _08033F60
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_80338C4
-_08033F58:
- add sp, 0x44
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08033F60: .4byte gUnknown_203B33C
- thumb_func_end sub_8033DBC
-
- thumb_func_start sub_8033F64
-sub_8033F64:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033FAE
- ldr r0, [sp]
- cmp r0, 0x6
- beq _08033F7E
- cmp r0, 0x8
- beq _08033FA8
- b _08033FAE
-_08033F7E:
- ldr r0, _08033F94
- ldr r0, [r0]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- beq _08033F98
- cmp r0, 0x12
- beq _08033FA0
- b _08033FAE
- .align 2, 0
-_08033F94: .4byte gUnknown_203B33C
-_08033F98:
- movs r0, 0x19
- bl sub_80338C4
- b _08033FAE
-_08033FA0:
- movs r0, 0x43
- bl sub_80338C4
- b _08033FAE
-_08033FA8:
- movs r0, 0x1
- bl sub_80338C4
-_08033FAE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033F64
-
- thumb_func_start sub_8033FB4
-sub_8033FB4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08033FDE
- ldr r0, [sp]
- cmp r0, 0x6
- bne _08033FD0
- movs r0, 0xE
- bl sub_80338C4
- b _08033FDE
-_08033FD0:
- cmp r0, 0x6
- blt _08033FDE
- cmp r0, 0x8
- bgt _08033FDE
- movs r0, 0x1
- bl sub_80338C4
-_08033FDE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8033FB4
-
- thumb_func_start sub_8033FE4
-sub_8033FE4:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _0803400C
- cmp r0, 0x3
- bhi _08033FFA
- cmp r0, 0x2
- beq _08034000
- b _0803406A
-_08033FFA:
- cmp r0, 0x4
- beq _08034028
- b _0803406A
-_08034000:
- bl sub_803084C
- movs r0, 0x1
- bl sub_80338C4
- b _0803406A
-_0803400C:
- bl sub_80307EC
- ldr r1, _08034024
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x1E
- bl sub_80338C4
- b _0803406A
- .align 2, 0
-_08034024: .4byte gUnknown_203B33C
-_08034028:
- ldr r4, _08034070
- ldr r1, [r4]
- movs r0, 0x1D
- str r0, [r1, 0x4]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x1F
- bl sub_80338C4
-_0803406A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034070: .4byte gUnknown_203B33C
- thumb_func_end sub_8033FE4
-
- thumb_func_start sub_8034074
-sub_8034074:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _080340B8
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080340A6
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_080340A6:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034108
- cmp r0, 0x8
- bgt _080340BC
- cmp r0, 0x5
- beq _08034108
- b _08034124
- .align 2, 0
-_080340B8: .4byte gUnknown_203B33C
-_080340BC:
- cmp r0, 0x9
- beq _080340C6
- cmp r0, 0xA
- beq _080340D2
- b _08034124
-_080340C6:
- bl sub_803084C
- movs r0, 0x20
- bl sub_80338C4
- b _08034124
-_080340D2:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x1F
- bl sub_80338C4
- b _08034124
-_08034108:
- ldr r0, _0803412C
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x1D
- bl sub_80338C4
-_08034124:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803412C: .4byte gUnknown_203B33C
- thumb_func_end sub_8034074
-
- thumb_func_start sub_8034130
-sub_8034130:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _08034184
- cmp r0, 0x2
- bcc _08034184
- bl sub_8030DE4
- bl sub_8004914
- ldr r4, _0803417C
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _08034180
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x1E
- bl sub_80338C4
- b _08034184
- .align 2, 0
-_0803417C: .4byte gUnknown_203B33C
-_08034180:
- bl sub_80338C4
-_08034184:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034130
-
- thumb_func_start sub_803418C
-sub_803418C:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x3
- beq _080341D0
- cmp r0, 0x3
- bhi _080341A2
- cmp r0, 0x2
- beq _080341A8
- b _08034248
-_080341A2:
- cmp r0, 0x4
- beq _08034204
- b _08034248
-_080341A8:
- bl sub_8023C60
- movs r0, 0x1
- bl sub_80338C4
- bl sub_8035D1C
- ldr r0, _080341C8
- ldr r0, [r0]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- ldr r1, _080341CC
- strh r1, [r0]
- b _08034248
- .align 2, 0
-_080341C8: .4byte gUnknown_203B33C
-_080341CC: .4byte 0x0000ffff
-_080341D0:
- bl sub_8023B44
- ldr r1, _080341F4
- ldr r1, [r1]
- movs r3, 0xA7
- lsls r3, 3
- adds r2, r1, r3
- strh r0, [r2]
- ldr r0, _080341F8
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0xE
- bne _080341FC
- movs r0, 0x9
- bl sub_80338C4
- b _08034248
- .align 2, 0
-_080341F4: .4byte gUnknown_203B33C
-_080341F8: .4byte 0x00000524
-_080341FC:
- movs r0, 0x27
- bl sub_80338C4
- b _08034248
-_08034204:
- ldr r4, _08034250
- ldr r1, [r4]
- movs r0, 0x26
- str r0, [r1, 0x4]
- bl sub_8023B44
- adds r2, r0, 0
- ldr r0, [r4]
- movs r5, 0xA7
- lsls r5, 3
- adds r1, r0, r5
- strh r2, [r1]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r1, 0
- bl sub_8024458
- movs r0, 0x28
- bl sub_80338C4
-_08034248:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034250: .4byte gUnknown_203B33C
- thumb_func_end sub_803418C
-
- thumb_func_start sub_8034254
-sub_8034254:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8023A94
- ldr r4, _08034298
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08034286
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_08034286:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _080342EA
- cmp r0, 0x8
- bgt _0803429C
- cmp r0, 0x5
- beq _080342EA
- b _08034304
- .align 2, 0
-_08034298: .4byte gUnknown_203B33C
-_0803429C:
- cmp r0, 0x9
- beq _080342A6
- cmp r0, 0xA
- beq _080342B2
- b _08034304
-_080342A6:
- bl sub_8023C60
- movs r0, 0x29
- bl sub_80338C4
- b _08034304
-_080342B2:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0
- bl sub_8024458
- movs r0, 0x28
- bl sub_80338C4
- b _08034304
-_080342EA:
- ldr r0, _0803430C
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- bl sub_8023DA4
- movs r0, 0x26
- bl sub_80338C4
-_08034304:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803430C: .4byte gUnknown_203B33C
- thumb_func_end sub_8034254
-
- thumb_func_start sub_8034310
-sub_8034310:
- push {r4,lr}
- bl sub_80244E4
- cmp r0, 0x1
- bne _08034320
- bl sub_802452C
- b _08034370
-_08034320:
- cmp r0, 0x1
- bcc _08034370
- cmp r0, 0x3
- bhi _08034370
- bl sub_802453C
- bl sub_8004914
- ldr r4, _08034368
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_8023B7C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _0803436C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x27
- bl sub_80338C4
- b _08034370
- .align 2, 0
-_08034368: .4byte gUnknown_203B33C
-_0803436C:
- bl sub_80338C4
-_08034370:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034310
-
- thumb_func_start sub_8034378
-sub_8034378:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080343BE
- ldr r0, [sp]
- cmp r0, 0x8
- beq _080343B8
- cmp r0, 0x10
- bne _080343BE
- ldr r0, _080343A8
- ldr r0, [r0]
- ldr r1, _080343AC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xE
- bne _080343B0
- movs r0, 0x9
- bl sub_80338C4
- b _080343BE
- .align 2, 0
-_080343A8: .4byte gUnknown_203B33C
-_080343AC: .4byte 0x00000524
-_080343B0:
- movs r0, 0x5
- bl sub_80338C4
- b _080343BE
-_080343B8:
- movs r0, 0x1
- bl sub_80338C4
-_080343BE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034378
-
- thumb_func_start sub_80343C4
-sub_80343C4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080343FE
- ldr r0, [sp]
- cmp r0, 0x7
- beq _080343F0
- cmp r0, 0x7
- bgt _080343E2
- cmp r0, 0x6
- beq _080343E8
- b _080343FE
-_080343E2:
- cmp r0, 0x8
- beq _080343F8
- b _080343FE
-_080343E8:
- movs r0, 0x5
- bl sub_80338C4
- b _080343FE
-_080343F0:
- movs r0, 0x25
- bl sub_80338C4
- b _080343FE
-_080343F8:
- movs r0, 0x1
- bl sub_80338C4
-_080343FE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80343C4
-
- thumb_func_start sub_8034404
-sub_8034404:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034472
- ldr r0, [sp]
- cmp r0, 0xF
- beq _08034428
- cmp r0, 0xF
- bgt _08034422
- cmp r0, 0x8
- beq _0803446C
- b _08034472
-_08034422:
- cmp r0, 0x10
- beq _08034444
- b _08034472
-_08034428:
- movs r0, 0x3
- bl sub_8024108
- lsls r0, 24
- cmp r0, 0
- beq _0803443C
- movs r0, 0x24
- bl sub_80338C4
- b _08034472
-_0803443C:
- movs r0, 0x25
- bl sub_80338C4
- b _08034472
-_08034444:
- ldr r0, _0803445C
- ldr r0, [r0]
- ldr r1, _08034460
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xE
- bne _08034464
- movs r0, 0x9
- bl sub_80338C4
- b _08034472
- .align 2, 0
-_0803445C: .4byte gUnknown_203B33C
-_08034460: .4byte 0x00000524
-_08034464:
- movs r0, 0x5
- bl sub_80338C4
- b _08034472
-_0803446C:
- movs r0, 0x1
- bl sub_80338C4
-_08034472:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034404
-
- thumb_func_start sub_8034478
-sub_8034478:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803449A
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _0803449A
- bl sub_8012750
- movs r0, 0x2
- bl sub_80338C4
-_0803449A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034478
-
- thumb_func_start sub_80344A0
-sub_80344A0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080344BA
- movs r0, 0x2C
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_080344BA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80344A0
-
- thumb_func_start sub_80344C0
-sub_80344C0:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _080344F8
- cmp r0, 0x1
- bcc _080344FC
- cmp r0, 0x3
- bhi _080344FC
- bl sub_8031E10
- bl sub_8004914
- ldr r0, _080344F4
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x2F
- bl sub_80338C4
- b _080344FC
- .align 2, 0
-_080344F4: .4byte gUnknown_203B33C
-_080344F8:
- bl sub_8031E00
-_080344FC:
- pop {r0}
- bx r0
- thumb_func_end sub_80344C0
-
- thumb_func_start sub_8034500
-sub_8034500:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _08034528
- cmp r0, 0x3
- bhi _08034516
- cmp r0, 0x2
- beq _0803451C
- b _08034586
-_08034516:
- cmp r0, 0x4
- beq _08034544
- b _08034586
-_0803451C:
- bl sub_803084C
- movs r0, 0x1
- bl sub_80338C4
- b _08034586
-_08034528:
- bl sub_80307EC
- ldr r1, _08034540
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x33
- bl sub_80338C4
- b _08034586
- .align 2, 0
-_08034540: .4byte gUnknown_203B33C
-_08034544:
- ldr r4, _0803458C
- ldr r1, [r4]
- movs r0, 0x32
- str r0, [r1, 0x4]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x34
- bl sub_80338C4
-_08034586:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803458C: .4byte gUnknown_203B33C
- thumb_func_end sub_8034500
-
- thumb_func_start sub_8034590
-sub_8034590:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _080345D4
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080345C2
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_080345C2:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034624
- cmp r0, 0x8
- bgt _080345D8
- cmp r0, 0x5
- beq _08034624
- b _08034640
- .align 2, 0
-_080345D4: .4byte gUnknown_203B33C
-_080345D8:
- cmp r0, 0x9
- beq _080345E2
- cmp r0, 0xA
- beq _080345EE
- b _08034640
-_080345E2:
- bl sub_803084C
- movs r0, 0x35
- bl sub_80338C4
- b _08034640
-_080345EE:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x34
- bl sub_80338C4
- b _08034640
-_08034624:
- ldr r0, _08034648
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x32
- bl sub_80338C4
-_08034640:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034648: .4byte gUnknown_203B33C
- thumb_func_end sub_8034590
-
- thumb_func_start sub_803464C
-sub_803464C:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _080346A0
- cmp r0, 0x2
- bcc _080346A0
- bl sub_8030DE4
- bl sub_8004914
- ldr r4, _08034698
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _0803469C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x33
- bl sub_80338C4
- b _080346A0
- .align 2, 0
-_08034698: .4byte gUnknown_203B33C
-_0803469C:
- bl sub_80338C4
-_080346A0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803464C
-
- thumb_func_start sub_80346A8
-sub_80346A8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080346D2
- ldr r0, [sp]
- cmp r0, 0x6
- bne _080346C4
- movs r0, 0xE
- bl sub_80338C4
- b _080346D2
-_080346C4:
- cmp r0, 0x6
- blt _080346D2
- cmp r0, 0x8
- bgt _080346D2
- movs r0, 0x1
- bl sub_80338C4
-_080346D2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80346A8
-
- thumb_func_start sub_80346D8
-sub_80346D8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080346FA
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _080346FA
- bl sub_8012750
- movs r0, 0x2
- bl sub_80338C4
-_080346FA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80346D8
-
- thumb_func_start sub_8034700
-sub_8034700:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803471A
- movs r0, 0x38
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_0803471A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034700
-
- thumb_func_start sub_8034720
-sub_8034720:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034734
- movs r0, 0x3A
- bl sub_80338C4
-_08034734:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034720
-
- thumb_func_start sub_803473C
-sub_803473C:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _08034774
- cmp r0, 0x1
- bcc _08034778
- cmp r0, 0x3
- bhi _08034778
- bl sub_8031E10
- bl sub_8004914
- ldr r0, _08034770
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x3B
- bl sub_80338C4
- b _08034778
- .align 2, 0
-_08034770: .4byte gUnknown_203B33C
-_08034774:
- bl sub_8031E00
-_08034778:
- pop {r0}
- bx r0
- thumb_func_end sub_803473C
-
- thumb_func_start sub_803477C
-sub_803477C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347A6
- ldr r0, [sp]
- cmp r0, 0x6
- bne _08034798
- movs r0, 0xE
- bl sub_80338C4
- b _080347A6
-_08034798:
- cmp r0, 0x6
- blt _080347A6
- cmp r0, 0x8
- bgt _080347A6
- movs r0, 0x1
- bl sub_80338C4
-_080347A6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803477C
-
- thumb_func_start sub_80347AC
-sub_80347AC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347C0
- movs r0, 0xD
- bl sub_80338C4
-_080347C0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80347AC
-
- thumb_func_start sub_80347C8
-sub_80347C8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347DC
- movs r0, 0x40
- bl sub_80338C4
-_080347DC:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80347C8
-
- thumb_func_start sub_80347E4
-sub_80347E4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080347FE
- movs r0, 0x41
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_080347FE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80347E4
-
- thumb_func_start sub_8034804
-sub_8034804:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034826
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08034826
- bl sub_8012750
- movs r0, 0x42
- bl sub_80338C4
-_08034826:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034804
-
- thumb_func_start sub_803482C
-sub_803482C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034840
- movs r0, 0x1
- bl sub_80338C4
-_08034840:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803482C
-
- thumb_func_start sub_8034848
-sub_8034848:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- adds r6, r0, 0
- cmp r6, 0
- bne _080348BA
- ldr r4, _0803489C
- ldr r0, [r4]
- ldr r5, _080348A0
- adds r0, r5
- movs r1, 0
- movs r2, 0x4
- bl MemoryFill8
- ldr r0, [r4]
- ldr r1, _080348A4
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- subs r1, 0x1
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r5
- strb r6, [r0]
- ldr r4, [r4]
- ldr r0, [r4, 0x44]
- cmp r0, 0
- bne _080348B0
- ldr r4, [r4, 0x40]
- cmp r4, 0x6
- beq _080348A8
- cmp r4, 0x7
- bne _080348BA
- movs r0, 0x6D
- bl sub_80338C4
- b _080348BA
- .align 2, 0
-_0803489C: .4byte gUnknown_203B33C
-_080348A0: .4byte 0x0000041c
-_080348A4: .4byte 0x0000041e
-_080348A8:
- movs r0, 0x50
- bl sub_80338C4
- b _080348BA
-_080348B0:
- bl sub_80338DC
- movs r0, 0x6B
- bl sub_80338C4
-_080348BA:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8034848
-
- thumb_func_start sub_80348C4
-sub_80348C4:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- adds r6, r0, 0
- cmp r6, 0
- bne _08034968
- ldr r4, _08034910
- ldr r0, [r4]
- ldr r5, _08034914
- adds r0, r5
- movs r1, 0
- movs r2, 0x4
- bl MemoryFill8
- ldr r0, [r4]
- ldr r1, _08034918
- adds r0, r1
- strb r6, [r0]
- ldr r0, [r4]
- subs r1, 0x1
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r5
- strb r6, [r0]
- ldr r0, [r4]
- ldr r1, [r0, 0x44]
- cmp r1, 0
- bne _0803495C
- ldr r1, [r0, 0x40]
- cmp r1, 0x6
- beq _0803491C
- cmp r1, 0x7
- beq _08034954
- b _08034968
- .align 2, 0
-_08034910: .4byte gUnknown_203B33C
-_08034914: .4byte 0x0000041c
-_08034918: .4byte 0x0000041e
-_0803491C:
- ldr r1, _08034930
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xC
- beq _08034944
- cmp r0, 0xC
- bhi _08034934
- cmp r0, 0xB
- beq _08034938
- b _08034944
- .align 2, 0
-_08034930: .4byte 0x00000524
-_08034934:
- cmp r0, 0xE
- bhi _08034944
-_08034938:
- ldr r0, _0803494C
- ldr r3, _08034950
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_08034944:
- movs r0, 0x77
- bl sub_80338C4
- b _08034968
- .align 2, 0
-_0803494C: .4byte gUnknown_80E31FC
-_08034950: .4byte 0x00000101
-_08034954:
- movs r0, 0x6D
- bl sub_80338C4
- b _08034968
-_0803495C:
- adds r0, r1, 0
- bl sub_80338DC
- movs r0, 0x6B
- bl sub_80338C4
-_08034968:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80348C4
-
- thumb_func_start sub_8034970
-sub_8034970:
- push {lr}
- bl sub_8031DCC
- cmp r0, 0x1
- beq _080349A8
- cmp r0, 0x1
- bcc _080349AC
- cmp r0, 0x3
- bhi _080349AC
- bl sub_8031E10
- bl sub_8004914
- ldr r0, _080349A4
- ldr r0, [r0]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x68
- bl sub_80338C4
- b _080349AC
- .align 2, 0
-_080349A4: .4byte gUnknown_203B33C
-_080349A8:
- bl sub_8031E00
-_080349AC:
- pop {r0}
- bx r0
- thumb_func_end sub_8034970
-
- thumb_func_start sub_80349B0
-sub_80349B0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080349DA
- ldr r0, [sp]
- cmp r0, 0x6
- bne _080349CC
- movs r0, 0x52
- bl sub_80338C4
- b _080349DA
-_080349CC:
- cmp r0, 0x6
- blt _080349DA
- cmp r0, 0x8
- bgt _080349DA
- movs r0, 0x1
- bl sub_80338C4
-_080349DA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80349B0
-
- thumb_func_start sub_80349E0
-sub_80349E0:
- push {r4,r5,lr}
- movs r0, 0x1
- bl sub_8030768
- cmp r0, 0x3
- beq _08034A08
- cmp r0, 0x3
- bhi _080349F6
- cmp r0, 0x2
- beq _080349FC
- b _08034A66
-_080349F6:
- cmp r0, 0x4
- beq _08034A24
- b _08034A66
-_080349FC:
- bl sub_803084C
- movs r0, 0x1
- bl sub_80338C4
- b _08034A66
-_08034A08:
- bl sub_80307EC
- ldr r1, _08034A20
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 2
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x5D
- bl sub_80338C4
- b _08034A66
- .align 2, 0
-_08034A20: .4byte gUnknown_203B33C
-_08034A24:
- ldr r4, _08034A6C
- ldr r1, [r4]
- movs r0, 0x5C
- str r0, [r1, 0x4]
- bl sub_80307EC
- ldr r1, [r4]
- movs r5, 0x86
- lsls r5, 2
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x5E
- bl sub_80338C4
-_08034A66:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034A6C: .4byte gUnknown_203B33C
- thumb_func_end sub_80349E0
-
- thumb_func_start sub_8034A70
-sub_8034A70:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_8030768
- ldr r4, _08034AB4
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08034AA2
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_08034AA2:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034B04
- cmp r0, 0x8
- bgt _08034AB8
- cmp r0, 0x5
- beq _08034B04
- b _08034B20
- .align 2, 0
-_08034AB4: .4byte gUnknown_203B33C
-_08034AB8:
- cmp r0, 0x9
- beq _08034AC2
- cmp r0, 0xA
- beq _08034ACE
- b _08034B20
-_08034AC2:
- bl sub_803084C
- movs r0, 0x5A
- bl sub_80338C4
- b _08034B20
-_08034ACE:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8030D40
- movs r0, 0x5E
- bl sub_80338C4
- b _08034B20
-_08034B04:
- ldr r0, _08034B28
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_8030810
- movs r0, 0x5C
- bl sub_80338C4
-_08034B20:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034B28: .4byte gUnknown_203B33C
- thumb_func_end sub_8034A70
-
- thumb_func_start sub_8034B2C
-sub_8034B2C:
- push {r4,lr}
- bl sub_8030DA0
- cmp r0, 0x3
- bhi _08034B80
- cmp r0, 0x2
- bcc _08034B80
- bl sub_8030DE4
- bl sub_8004914
- ldr r4, _08034B78
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803092C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _08034B7C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x5D
- bl sub_80338C4
- b _08034B80
- .align 2, 0
-_08034B78: .4byte gUnknown_203B33C
-_08034B7C:
- bl sub_80338C4
-_08034B80:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034B2C
-
- thumb_func_start sub_8034B88
-sub_8034B88:
- push {r4-r6,lr}
- ldr r4, _08034BBC
- ldr r0, [r4]
- ldr r5, _08034BC0
- adds r0, r5
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- ldr r1, _08034BC4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r6, _08034BC8
- adds r0, r6
- strb r2, [r0]
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x3
- beq _08034BDE
- cmp r0, 0x3
- bhi _08034BCC
- cmp r0, 0x2
- beq _08034BD2
- b _08034C30
- .align 2, 0
-_08034BBC: .4byte gUnknown_203B33C
-_08034BC0: .4byte 0x0000041e
-_08034BC4: .4byte 0x0000041d
-_08034BC8: .4byte 0x0000041c
-_08034BCC:
- cmp r0, 0x4
- beq _08034BF8
- b _08034C30
-_08034BD2:
- bl sub_801CBB8
- movs r0, 0x1
- bl sub_80338C4
- b _08034C30
-_08034BDE:
- bl sub_801CB24
- ldr r1, [r4]
- ldr r2, _08034BF4
- adds r1, r2
- strb r0, [r1]
- movs r0, 0x60
- bl sub_80338C4
- b _08034C30
- .align 2, 0
-_08034BF4: .4byte 0x0000041e
-_08034BF8:
- ldr r1, [r4]
- movs r0, 0x5F
- str r0, [r1, 0x4]
- bl sub_801CB24
- ldr r1, [r4]
- adds r1, r5
- strb r0, [r1]
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- adds r0, r6
- bl sub_801B3C0
- movs r0, 0x61
- bl sub_80338C4
-_08034C30:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8034B88
-
- thumb_func_start sub_8034C38
-sub_8034C38:
- push {r4,lr}
- bl sub_801B410
- cmp r0, 0x1
- beq _08034C90
- cmp r0, 0x1
- bcc _08034C90
- cmp r0, 0x3
- bhi _08034C90
- bl sub_801B450
- bl sub_8004914
- ldr r4, _08034C88
- ldr r0, [r4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_801CB5C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x7E
- bne _08034C8C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, r1
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x60
- bl sub_80338C4
- b _08034C90
- .align 2, 0
-_08034C88: .4byte gUnknown_203B33C
-_08034C8C:
- bl sub_80338C4
-_08034C90:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8034C38
-
- thumb_func_start sub_8034C98
-sub_8034C98:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_801CA08
- ldr r4, _08034CDC
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08034CCA
- ldr r0, [r4]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_08034CCA:
- ldr r0, [sp]
- cmp r0, 0x8
- beq _08034D2C
- cmp r0, 0x8
- bgt _08034CE0
- cmp r0, 0x5
- beq _08034D2C
- b _08034D48
- .align 2, 0
-_08034CDC: .4byte gUnknown_203B33C
-_08034CE0:
- cmp r0, 0x9
- beq _08034CEA
- cmp r0, 0xA
- beq _08034CF6
- b _08034D48
-_08034CEA:
- bl sub_801CBB8
- movs r0, 0x58
- bl sub_80338C4
- b _08034D48
-_08034CF6:
- ldr r0, [r4]
- movs r1, 0x7E
- str r1, [r0, 0x4]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- ldr r1, _08034D28
- adds r0, r1
- bl sub_801B3C0
- movs r0, 0x61
- bl sub_80338C4
- b _08034D48
- .align 2, 0
-_08034D28: .4byte 0x0000041c
-_08034D2C:
- ldr r0, _08034D50
- ldr r0, [r0]
- movs r1, 0xD7
- lsls r1, 2
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- movs r0, 0x1
- bl sub_801CB5C
- movs r0, 0x5F
- bl sub_80338C4
-_08034D48:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08034D50: .4byte gUnknown_203B33C
- thumb_func_end sub_8034C98
-
- thumb_func_start sub_8034D54
-sub_8034D54:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034D6E
- movs r0, 0x65
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_08034D6E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034D54
-
- thumb_func_start sub_8034D74
-sub_8034D74:
- push {r4,r5,lr}
- sub sp, 0x44
- bl sub_80154F0
- adds r4, r0, 0
- add r0, sp, 0x14
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- cmp r4, 0x2
- bne _08034D8E
- b _08034E9C
-_08034D8E:
- cmp r4, 0x3
- beq _08034D94
- b _08034EBC
-_08034D94:
- ldr r0, _08034DB4
- ldr r1, [r0]
- adds r1, 0x8
- movs r0, 0x20
- add r2, sp, 0x14
- bl sub_8039068
- subs r0, 0x7
- cmp r0, 0x11
- bhi _08034E90
- lsls r0, 2
- ldr r1, _08034DB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08034DB4: .4byte gUnknown_203B33C
-_08034DB8: .4byte _08034DBC
- .align 2, 0
-_08034DBC:
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E38
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E04
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E30
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E90
- .4byte _08034E54
-_08034E04:
- ldr r0, _08034E28
- ldr r3, _08034E2C
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x6
- bl sub_8014248
- movs r0, 0x74
- bl sub_80338C4
- b _08034E90
- .align 2, 0
-_08034E28: .4byte gUnknown_80E48A8
-_08034E2C: .4byte gUnknown_80E2440
-_08034E30:
- ldr r0, _08034E34
- b _08034E3A
- .align 2, 0
-_08034E34: .4byte gUnknown_80E49C4
-_08034E38:
- ldr r0, _08034E4C
-_08034E3A:
- ldr r3, _08034E50
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- movs r0, 0x6B
- bl sub_80338C4
- b _08034E90
- .align 2, 0
-_08034E4C: .4byte gUnknown_80E4704
-_08034E50: .4byte 0x00000101
-_08034E54:
- ldr r1, [sp, 0x24]
- movs r0, 0x4
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r2, r0, 0
- add r1, sp, 0x14
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- movs r1, 0x6
- strb r1, [r0]
- ldr r0, _08034E98
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r1, [sp, 0x24]
- str r1, [r0]
- movs r0, 0x6D
- bl sub_80338C4
-_08034E90:
- bl sub_80155F0
- b _08034EBC
- .align 2, 0
-_08034E98: .4byte gUnknown_203B33C
-_08034E9C:
- bl sub_80155F0
- bl sub_8004914
- ldr r0, _08034EC4
- ldr r0, [r0]
- movs r3, 0xEF
- lsls r3, 2
- adds r0, r3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_80338C4
-_08034EBC:
- add sp, 0x44
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08034EC4: .4byte gUnknown_203B33C
- thumb_func_end sub_8034D74
-
- thumb_func_start sub_8034EC8
-sub_8034EC8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034EEA
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08034EEA
- bl sub_8012750
- movs r0, 0x2
- bl sub_80338C4
-_08034EEA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034EC8
-
- thumb_func_start sub_8034EF0
-sub_8034EF0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034F12
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08034F12
- bl sub_8012750
- movs r0, 0x2
- bl sub_80338C4
-_08034F12:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034EF0
-
- thumb_func_start sub_8034F18
-sub_8034F18:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034F32
- movs r0, 0x65
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_08034F32:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034F18
-
- thumb_func_start sub_8034F38
-sub_8034F38:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034F52
- movs r0, 0x71
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_08034F52:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034F38
-
- thumb_func_start sub_8034F58
-sub_8034F58:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08034F80
- ldr r0, [sp]
- cmp r0, 0x6
- beq _08034F72
- cmp r0, 0x8
- beq _08034F7A
- b _08034F80
-_08034F72:
- movs r0, 0x62
- bl sub_80338C4
- b _08034F80
-_08034F7A:
- movs r0, 0x1
- bl sub_80338C4
-_08034F80:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8034F58
-
- thumb_func_start sub_8034F88
-sub_8034F88:
- push {r4,r5,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803500E
- ldr r0, [sp]
- cmp r0, 0x7
- beq _08035000
- cmp r0, 0x7
- bgt _08034FA6
- cmp r0, 0x6
- beq _08034FAC
- b _0803500E
-_08034FA6:
- cmp r0, 0x8
- beq _08035008
- b _0803500E
-_08034FAC:
- ldr r4, _08034FF0
- ldr r0, [r4]
- movs r1, 0x86
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8095228
- adds r2, r0, 0
- ldr r1, [r4]
- ldr r3, _08034FF4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08034FD2
- ldr r5, _08034FF8
- adds r0, r1, r5
- ldr r0, [r0]
- str r0, [r2, 0x20]
-_08034FD2:
- ldr r0, _08034FFC
- ldr r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0x75
- bl sub_80338C4
- b _0803500E
- .align 2, 0
-_08034FF0: .4byte gUnknown_203B33C
-_08034FF4: .4byte 0x0000041e
-_08034FF8: .4byte 0x0000041c
-_08034FFC: .4byte gUnknown_203B460
-_08035000:
- movs r0, 0x57
- bl sub_80338C4
- b _0803500E
-_08035008:
- movs r0, 0x1
- bl sub_80338C4
-_0803500E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8034F88
-
- thumb_func_start sub_8035018
-sub_8035018:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08035032
- movs r0, 0x76
- bl sub_80338C4
- movs r0, 0
- bl sub_8012574
-_08035032:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8035018
-
- thumb_func_start sub_8035038
-sub_8035038:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803508E
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _0803508E
- bl sub_8012750
- ldr r0, _0803506C
- ldr r0, [r0]
- ldr r1, _08035070
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xD
- beq _08035080
- cmp r0, 0xD
- bls _08035074
- cmp r0, 0xE
- beq _08035088
- b _0803508E
- .align 2, 0
-_0803506C: .4byte gUnknown_203B33C
-_08035070: .4byte 0x00000524
-_08035074:
- cmp r0, 0xB
- bcc _0803508E
- movs r0, 0x69
- bl sub_80338C4
- b _0803508E
-_08035080:
- movs r0, 0x66
- bl sub_80338C4
- b _0803508E
-_08035088:
- movs r0, 0x4B
- bl sub_80338C4
-_0803508E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8035038
-
- thumb_func_start sub_8035094
-sub_8035094:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080350EE
- ldr r0, [sp]
- cmp r0, 0x8
- beq _080350E8
- cmp r0, 0x16
- bne _080350EE
- ldr r0, _080350C4
- ldr r0, [r0]
- ldr r1, _080350C8
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xD
- beq _080350D8
- cmp r0, 0xD
- bls _080350CC
- cmp r0, 0xE
- beq _080350E0
- b _080350EE
- .align 2, 0
-_080350C4: .4byte gUnknown_203B33C
-_080350C8: .4byte 0x00000524
-_080350CC:
- cmp r0, 0xB
- bcc _080350EE
- movs r0, 0x69
- bl sub_80338C4
- b _080350EE
-_080350D8:
- movs r0, 0x66
- bl sub_80338C4
- b _080350EE
-_080350E0:
- movs r0, 0x4B
- bl sub_80338C4
- b _080350EE
-_080350E8:
- movs r0, 0x1
- bl sub_80338C4
-_080350EE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8035094
-
- thumb_func_start sub_80350F4
-sub_80350F4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08035176
- ldr r0, [sp]
- cmp r0, 0x15
- beq _08035118
- cmp r0, 0x15
- bgt _08035112
- cmp r0, 0x8
- beq _08035170
- b _08035176
-_08035112:
- cmp r0, 0x16
- beq _08035134
- b _08035176
-_08035118:
- movs r0, 0
- bl sub_801CF14
- lsls r0, 24
- cmp r0, 0
- beq _0803512C
- movs r0, 0x56
- bl sub_80338C4
- b _08035176
-_0803512C:
- movs r0, 0x57
- bl sub_80338C4
- b _08035176
-_08035134:
- ldr r0, _0803514C
- ldr r0, [r0]
- ldr r1, _08035150
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xD
- beq _08035160
- cmp r0, 0xD
- bls _08035154
- cmp r0, 0xE
- beq _08035168
- b _08035176
- .align 2, 0
-_0803514C: .4byte gUnknown_203B33C
-_08035150: .4byte 0x00000524
-_08035154:
- cmp r0, 0xB
- bcc _08035176
- movs r0, 0x69
- bl sub_80338C4
- b _08035176
-_08035160:
- movs r0, 0x66
- bl sub_80338C4
- b _08035176
-_08035168:
- movs r0, 0x4B
- bl sub_80338C4
- b _08035176
-_08035170:
- movs r0, 0x1
- bl sub_80338C4
-_08035176:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80350F4
-
- thumb_func_start sub_803517C
-sub_803517C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080351DA
- ldr r0, [sp]
- cmp r0, 0x6
- beq _08035196
- cmp r0, 0x8
- beq _080351D4
- b _080351DA
-_08035196:
- ldr r0, _080351B0
- ldr r0, [r0]
- ldr r1, _080351B4
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xD
- beq _080351C4
- cmp r0, 0xD
- bls _080351B8
- cmp r0, 0xE
- beq _080351CC
- b _080351DA
- .align 2, 0
-_080351B0: .4byte gUnknown_203B33C
-_080351B4: .4byte 0x00000524
-_080351B8:
- cmp r0, 0xB
- bcc _080351DA
- movs r0, 0x69
- bl sub_80338C4
- b _080351DA
-_080351C4:
- movs r0, 0x66
- bl sub_80338C4
- b _080351DA
-_080351CC:
- movs r0, 0x4B
- bl sub_80338C4
- b _080351DA
-_080351D4:
- movs r0, 0x1
- bl sub_80338C4
-_080351DA:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803517C
-
- thumb_func_start sub_80351E0
-sub_80351E0:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08035208
- ldr r0, [sp]
- cmp r0, 0x6
- beq _080351FA
- cmp r0, 0x8
- beq _08035202
- b _08035208
-_080351FA:
- movs r0, 0x72
- bl sub_80338C4
- b _08035208
-_08035202:
- movs r0, 0x1
- bl sub_80338C4
-_08035208:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80351E0
-
- thumb_func_start sub_8035210
-sub_8035210:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803528C
- ldr r0, _08035238
- ldr r2, [r0]
- ldr r1, _0803523C
- adds r0, r2, r1
- ldr r1, [sp]
- str r1, [r0]
- cmp r1, 0xD
- bgt _0803528C
- cmp r1, 0xB
- bge _08035240
- cmp r1, 0x8
- beq _08035286
- b _0803528C
- .align 2, 0
-_08035238: .4byte gUnknown_203B33C
-_0803523C: .4byte 0x00000524
-_08035240:
- movs r3, 0xA5
- lsls r3, 3
- adds r0, r2, r3
- ldr r0, [r0]
- cmp r0, 0x13
- bne _08035272
- movs r0, 0x5
- bl sub_80953D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803526A
- movs r0, 0x53
- bl sub_80338C4
- b _0803528C
-_0803526A:
- movs r0, 0x55
- bl sub_80338C4
- b _0803528C
-_08035272:
- cmp r1, 0xD
- beq _0803527E
- movs r0, 0x69
- bl sub_80338C4
- b _0803528C
-_0803527E:
- movs r0, 0x72
- bl sub_80338C4
- b _0803528C
-_08035286:
- movs r0, 0x1
- bl sub_80338C4
-_0803528C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8035210
-
- thumb_func_start nullsub_46
-nullsub_46:
- bx lr
- thumb_func_end nullsub_46
-
- thumb_func_start nullsub_47
-nullsub_47:
- bx lr
- thumb_func_end nullsub_47
-
- thumb_func_start nullsub_48
-nullsub_48:
- bx lr
- thumb_func_end nullsub_48
-
- thumb_func_start nullsub_49
-nullsub_49:
- bx lr
- thumb_func_end nullsub_49
-
- thumb_func_start sub_80352A4
-sub_80352A4:
- push {r4,lr}
- bl sub_802F298
- cmp r0, 0x3
- bne _080352EC
- bl sub_802F2C0
- ldr r0, _080352F4
- movs r4, 0x98
- lsls r4, 1
- adds r1, r4, 0
- bl sub_808D8E0
- adds r0, r4, 0
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _080352F8
- bl strcpy
- ldr r0, _080352FC
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x6
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095240
- movs r0, 0x70
- bl sub_80338C4
-_080352EC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080352F4: .4byte gUnknown_202E5D8
-_080352F8: .4byte gUnknown_202DF98
-_080352FC: .4byte gUnknown_203B33C
- thumb_func_end sub_80352A4
-
- thumb_func_start sub_8035300
-sub_8035300:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08035364
- ldr r0, [sp]
- adds r1, r0, 0
- subs r1, 0x19
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _08035364
- lsls r0, r1, 2
- ldr r1, _08035324
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08035324: .4byte _08035328
- .align 2, 0
-_08035328:
- .4byte _0803533C
- .4byte _08035354
- .4byte _08035344
- .4byte _0803534C
- .4byte _08035354
-_0803533C:
- movs r0, 0x1
- bl sub_80338C4
- b _08035364
-_08035344:
- movs r0, 0x7A
- bl sub_80338C4
- b _08035364
-_0803534C:
- movs r0, 0x7C
- bl sub_80338C4
- b _08035364
-_08035354:
- ldr r0, _0803536C
- ldr r0, [r0]
- ldr r1, _08035370
- adds r0, r1
- str r2, [r0]
- movs r0, 0x79
- bl sub_80338C4
-_08035364:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0803536C: .4byte gUnknown_203B33C
-_08035370: .4byte 0x00000564
- thumb_func_end sub_8035300
-
- thumb_func_start sub_8035374
-sub_8035374:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080353AC
- ldr r1, [sp]
- cmp r1, 0x19
- bne _08035390
- movs r0, 0x78
- bl sub_80338C4
- b _080353AC
-_08035390:
- cmp r1, 0x19
- blt _080353AC
- cmp r1, 0x22
- bgt _080353AC
- cmp r1, 0x1E
- blt _080353AC
- ldr r0, _080353B4
- ldr r0, [r0]
- ldr r2, _080353B8
- adds r0, r2
- str r1, [r0]
- movs r0, 0x7B
- bl sub_80338C4
-_080353AC:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080353B4: .4byte gUnknown_203B33C
-_080353B8: .4byte 0x00000564
- thumb_func_end sub_8035374
-
- thumb_func_start sub_80353BC
-sub_80353BC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080353F4
- ldr r1, [sp]
- cmp r1, 0x19
- bne _080353D8
- movs r0, 0x78
- bl sub_80338C4
- b _080353F4
-_080353D8:
- cmp r1, 0x19
- blt _080353F4
- cmp r1, 0x26
- bgt _080353F4
- cmp r1, 0x23
- blt _080353F4
- ldr r0, _080353FC
- ldr r0, [r0]
- ldr r2, _08035400
- adds r0, r2
- str r1, [r0]
- movs r0, 0x7D
- bl sub_80338C4
-_080353F4:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080353FC: .4byte gUnknown_203B33C
-_08035400: .4byte 0x00000564
- thumb_func_end sub_80353BC
-
- thumb_func_start sub_8035404
-sub_8035404:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803541A
- adds r0, r4, 0
- bl sub_80338C4
-_0803541A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8035404
-
- thumb_func_start sub_8035424
-sub_8035424:
- push {lr}
- movs r0, 0x6
- bl sub_80338C4
- pop {r0}
- bx r0
- thumb_func_end sub_8035424
-
- thumb_func_start sub_8035430
-sub_8035430:
- push {lr}
- movs r0, 0x4F
- bl sub_80338C4
- pop {r0}
- bx r0
- thumb_func_end sub_8035430
-
- thumb_func_start nullsub_50
-nullsub_50:
- bx lr
- thumb_func_end nullsub_50
-
- thumb_func_start nullsub_51
-nullsub_51:
- bx lr
- thumb_func_end nullsub_51
-
- thumb_func_start sub_8035444
-sub_8035444:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x84
- mov r8, r0
- adds r5, r1, 0
- ldr r4, _080354C0
- movs r0, 0x6C
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0, 0x60]
- str r5, [r0, 0x64]
- mov r1, r8
- str r1, [r0, 0x68]
- ldr r2, _080354C4
- mov r12, r2
- mov r9, r4
- movs r3, 0
- movs r2, 0x3
-_08035472:
- ldr r1, [r4]
- adds r1, r3
- mov r0, r12
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08035472
- mov r0, r9
- ldr r1, [r0]
- ldr r0, _080354C8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- bl sub_8004914
- mov r1, r9
- ldr r0, [r1]
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x2
- bl sub_8099690
- movs r0, 0
- bl sub_80073B8
- mov r2, r8
- lsls r0, r2, 2
- ldr r1, _080354CC
- adds r0, r1
- ldr r1, [r0]
- movs r5, 0
- b _08035542
- .align 2, 0
-_080354C0: .4byte gUnknown_203B340
-_080354C4: .4byte gUnknown_80E4A10
-_080354C8: .4byte gUnknown_80E4A28
-_080354CC: .4byte gUnknown_80E591C
-_080354D0:
- ldr r2, [r1, 0x8]
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- cmp r0, 0
- blt _080354DE
- adds r5, r0, 0
- b _080354E4
-_080354DE:
- movs r6, 0x4
- ldrsh r0, [r1, r6]
- subs r5, r0
-_080354E4:
- movs r7, 0x2
- ldrsh r6, [r1, r7]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- beq _080354FA
- cmp r0, 0x2
- beq _08035514
- adds r4, r1, 0
- adds r4, 0xC
- b _08035532
-_080354FA:
- add r3, sp, 0x4
- ldrb r0, [r2]
- adds r4, r1, 0
- adds r4, 0xC
- cmp r0, 0
- beq _0803552C
-_08035506:
- strb r0, [r3]
- adds r2, 0x1
- adds r3, 0x1
- ldrb r0, [r2]
- cmp r0, 0
- bne _08035506
- b _0803552C
-_08035514:
- add r3, sp, 0x4
- ldrb r0, [r2]
- adds r4, r1, 0
- adds r4, 0xC
- cmp r0, 0
- beq _0803552C
-_08035520:
- strb r0, [r3]
- adds r2, 0x1
- adds r3, 0x1
- ldrb r0, [r2]
- cmp r0, 0
- bne _08035520
-_0803552C:
- movs r0, 0
- strb r0, [r3]
- add r2, sp, 0x4
-_08035532:
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r3, 0
- bl xxx_call_draw_string
- adds r1, r4, 0
-_08035542:
- ldr r0, [r1, 0x8]
- cmp r0, 0
- bne _080354D0
- movs r0, 0
- bl sub_80073E0
- movs r0, 0
- bl sub_80063CC
- ldr r2, _08035570
- movs r0, 0x9
- movs r1, 0
- ldr r2, [r2]
- bl sub_8099AFC
- movs r0, 0x1
- add sp, 0x84
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08035570: .4byte gUnknown_80E4A40
- thumb_func_end sub_8035444
-
- thumb_func_start sub_8035574
-sub_8035574:
- push {r4,lr}
- ldr r1, _0803558C
- ldr r0, [r1]
- ldr r0, [r0, 0x60]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _08035654
- lsls r0, 2
- ldr r1, _08035590
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803558C: .4byte gUnknown_203B340
-_08035590: .4byte _08035594
- .align 2, 0
-_08035594:
- .4byte _080355A8
- .4byte _080355D0
- .4byte _080355E8
- .4byte _08035610
- .4byte _08035638
-_080355A8:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _08035654
- ldr r0, _080355C8
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1, 0x60]
- ldr r2, _080355CC
- movs r0, 0x9
- movs r1, 0x1E
- ldr r2, [r2]
- bl sub_8099A5C
- b _08035654
- .align 2, 0
-_080355C8: .4byte gUnknown_203B340
-_080355CC: .4byte gUnknown_80E4A40
-_080355D0:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _08035654
- ldr r0, _080355E4
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [r1, 0x60]
- b _08035654
- .align 2, 0
-_080355E4: .4byte gUnknown_203B340
-_080355E8:
- ldr r1, [r4]
- ldr r0, [r1, 0x64]
- cmp r0, 0
- bgt _08035600
- movs r0, 0x3
- str r0, [r1, 0x60]
- ldr r2, _0803560C
- movs r0, 0x9
- movs r1, 0x1E
- ldr r2, [r2]
- bl sub_8099AFC
-_08035600:
- ldr r1, [r4]
- ldr r0, [r1, 0x64]
- subs r0, 0x1
- str r0, [r1, 0x64]
- b _08035654
- .align 2, 0
-_0803560C: .4byte gUnknown_80E4A40
-_08035610:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _08035654
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, _08035634
- ldr r1, [r0]
- movs r0, 0x4
- str r0, [r1, 0x60]
- b _08035654
- .align 2, 0
-_08035634: .4byte gUnknown_203B340
-_08035638:
- movs r0, 0
- bl sub_8099690
- ldr r2, _08035650
- movs r0, 0x1
- movs r1, 0
- ldr r2, [r2]
- bl sub_8099A5C
- movs r0, 0x3
- b _08035656
- .align 2, 0
-_08035650: .4byte gUnknown_80E4A40
-_08035654:
- movs r0, 0
-_08035656:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8035574
-
- thumb_func_start sub_803565C
-sub_803565C:
- push {r4,lr}
- ldr r4, _08035674
- ldr r0, [r4]
- cmp r0, 0
- beq _0803566E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803566E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035674: .4byte gUnknown_203B340
- thumb_func_end sub_803565C
-
- thumb_func_start sub_8035678
-sub_8035678:
- push {r4,lr}
- ldr r4, _0803569C
- movs r0, 0x8
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0
- str r1, [r0]
- str r1, [r0, 0x4]
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803569C: .4byte gUnknown_203B344
- thumb_func_end sub_8035678
-
- thumb_func_start sub_80356A0
-sub_80356A0:
- push {r4,lr}
- ldr r0, _080356C4
- ldrh r4, [r0]
- ldr r3, _080356C8
- ldr r2, _080356CC
- ldr r1, [r2]
- ldr r0, [r1, 0x4]
- lsls r0, 1
- adds r0, r3
- ldrh r3, [r0]
- ldr r0, [r1]
- cmp r0, 0x4
- bhi _08035734
- lsls r0, 2
- ldr r1, _080356D0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080356C4: .4byte gUnknown_20255F0
-_080356C8: .4byte gUnknown_80E5990
-_080356CC: .4byte gUnknown_203B344
-_080356D0: .4byte _080356D4
- .align 2, 0
-_080356D4:
- .4byte _08035728
- .4byte _080356E8
- .4byte _08035710
- .4byte _0803574C
- .4byte _08035730
-_080356E8:
- cmp r3, 0
- bne _080356F4
- ldr r1, [r2]
- movs r0, 0x4
- str r0, [r1]
- b _08035734
-_080356F4:
- cmp r4, r3
- bne _08035700
- ldr r1, [r2]
- movs r0, 0x2
- str r0, [r1]
- b _08035734
-_08035700:
- ands r3, r4
- cmp r3, r4
- bne _08035728
- ldr r1, [r2]
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _08035734
- b _0803572A
-_08035710:
- cmp r4, 0
- bne _08035722
- ldr r1, [r2]
- movs r0, 0x1
- str r0, [r1]
- ldr r0, [r1, 0x4]
- adds r0, 0x1
- str r0, [r1, 0x4]
- b _08035734
-_08035722:
- ands r3, r4
- cmp r3, r4
- beq _08035734
-_08035728:
- ldr r1, [r2]
-_0803572A:
- movs r0, 0x3
- str r0, [r1]
- b _08035734
-_08035730:
- movs r0, 0x3
- b _0803574E
-_08035734:
- movs r0, 0
- movs r1, 0x39
- bl sub_8001658
- cmp r0, 0
- bne _08035744
- movs r0, 0
- b _0803574E
-_08035744:
- ldr r0, _08035754
- ldr r1, [r0]
- movs r0, 0x3
- str r0, [r1]
-_0803574C:
- movs r0, 0x2
-_0803574E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08035754: .4byte gUnknown_203B344
- thumb_func_end sub_80356A0
-
- thumb_func_start sub_8035758
-sub_8035758:
- push {r4,lr}
- ldr r4, _08035770
- ldr r0, [r4]
- cmp r0, 0
- beq _0803576A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803576A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035770: .4byte gUnknown_203B344
- thumb_func_end sub_8035758
-
- thumb_func_start InitMainMenu
-InitMainMenu:
- push {r4,r5,lr}
- ldr r5, _080357C8
- ldr r0, [r5]
- cmp r0, 0
- bne _08035790
- movs r0, 0x40
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- movs r2, 0x40
- bl MemoryFill8
-_08035790:
- ldr r0, [r5]
- ldr r1, _080357CC
- str r1, [r0]
- movs r2, 0x1
- str r2, [r0, 0x4]
- str r2, [r0, 0x8]
- adds r1, 0x23
- strh r1, [r0, 0x38]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x3C]
- adds r0, 0x2E
- movs r4, 0
- strb r4, [r0]
- ldr r0, [r5]
- adds r0, 0x2C
- strb r2, [r0]
- ldr r0, [r5]
- adds r0, 0x2D
- strb r4, [r0]
- bl sub_8035DA0
- ldr r0, [r5]
- adds r0, 0x3A
- strb r4, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080357C8: .4byte gUnknown_203B348
-_080357CC: .4byte 0x0000ffdc
- thumb_func_end InitMainMenu
-
- thumb_func_start sub_80357D0
-sub_80357D0:
- push {r4,lr}
- ldr r4, _080357E8
- ldr r0, [r4]
- cmp r0, 0
- beq _080357E2
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080357E2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080357E8: .4byte gUnknown_203B348
- thumb_func_end sub_80357D0
-
- thumb_func_start SetUpMenu
-SetUpMenu:
- push {lr}
- ldr r0, _08035810
- ldr r0, [r0]
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- cmp r1, r0
- bne _080357FC
- b _08035958
-_080357FC:
- subs r0, 0x1
- cmp r0, 0x2D
- bls _08035804
- b _08035950
-_08035804:
- lsls r0, 2
- ldr r1, _08035814
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08035810: .4byte gUnknown_203B348
-_08035814: .4byte _08035818
- .align 2, 0
-_08035818:
- .4byte _080358D0
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _080358E0
- .4byte _080358E0
- .4byte _080358E0
- .4byte _080358E0
- .4byte _08035934
- .4byte _0803590C
- .4byte _080358F0
- .4byte _08035912
- .4byte _08035918
- .4byte _0803591E
- .4byte _0803594C
- .4byte _08035950
- .4byte _08035950
- .4byte _080358F6
- .4byte _080358F6
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035924
- .4byte _08035924
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _08035950
- .4byte _0803593A
- .4byte _0803593A
- .4byte _0803593A
- .4byte _0803593A
- .4byte _0803593A
- .4byte _0803593A
-_080358D0:
- bl sub_8094C14
- movs r0, 0
- bl sub_8099690
- bl sub_8035E10
- b _08035950
-_080358E0:
- ldr r0, _080358EC
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8039254
- b _08035950
- .align 2, 0
-_080358EC: .4byte gUnknown_203B348
-_080358F0:
- bl sub_8036400
- b _08035950
-_080358F6:
- ldr r0, _08035908
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8035DB4
- bl sub_8036FDC
- b _08035950
- .align 2, 0
-_08035908: .4byte gUnknown_203B348
-_0803590C:
- bl sub_803225C
- b _08035950
-_08035912:
- bl sub_80398AC
- b _08035950
-_08035918:
- bl sub_803A1D8
- b _08035950
-_0803591E:
- bl sub_803A1E4
- b _08035950
-_08035924:
- ldr r0, _08035930
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_8038900
- b _08035950
- .align 2, 0
-_08035930: .4byte gUnknown_203B348
-_08035934:
- bl sub_80382A0
- b _08035950
-_0803593A:
- ldr r0, _08035948
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- bl sub_803850C
- b _08035950
- .align 2, 0
-_08035948: .4byte gUnknown_203B348
-_0803594C:
- bl sub_803A200
-_08035950:
- ldr r0, _0803595C
- ldr r1, [r0]
- ldr r0, [r1, 0x4]
- str r0, [r1]
-_08035958:
- pop {r0}
- bx r0
- .align 2, 0
-_0803595C: .4byte gUnknown_203B348
- thumb_func_end SetUpMenu
-
- thumb_func_start UpdateMenu
-UpdateMenu:
- push {lr}
- ldr r2, _0803597C
- ldr r0, _08035980
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- subs r0, 0x1
- cmp r0, 0x2D
- bls _08035972
- b _08035AA6
-_08035972:
- lsls r0, 2
- ldr r1, _08035984
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803597C: .4byte 0x0000ffdc
-_08035980: .4byte gUnknown_203B348
-_08035984: .4byte _08035988
- .align 2, 0
-_08035988:
- .4byte _08035A40
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035A46
- .4byte _08035A46
- .4byte _08035A46
- .4byte _08035A46
- .4byte _08035A8E
- .4byte _08035A52
- .4byte _08035A4C
- .4byte _08035A58
- .4byte _08035A5E
- .4byte _08035A70
- .4byte _08035AA0
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035AA6
- .4byte _08035A88
- .4byte _08035A88
- .4byte _08035AA6
- .4byte _08035A94
- .4byte _08035A94
- .4byte _08035A94
- .4byte _08035A94
- .4byte _08035A94
- .4byte _08035A9A
- .4byte _08035A9A
- .4byte _08035A9A
- .4byte _08035A9A
- .4byte _08035A9A
- .4byte _08035A9A
-_08035A40:
- bl sub_8035EEC
- b _08035AA4
-_08035A46:
- bl sub_803941C
- b _08035AA4
-_08035A4C:
- bl sub_8036448
- b _08035A62
-_08035A52:
- bl sub_8032318
- b _08035A62
-_08035A58:
- bl sub_8039928
- b _08035A62
-_08035A5E:
- bl sub_803A1DC
-_08035A62:
- movs r2, 0x1
- cmp r0, 0x3
- beq _08035AA6
- ldr r2, _08035A6C
- b _08035AA6
- .align 2, 0
-_08035A6C: .4byte 0x0000ffdc
-_08035A70:
- bl sub_803A1E8
- movs r2, 0x5
- cmp r0, 0x3
- beq _08035AA6
- ldr r2, _08035A84
- cmp r0, 0x2
- bne _08035AA6
- movs r2, 0x1
- b _08035AA6
- .align 2, 0
-_08035A84: .4byte 0x0000ffdc
-_08035A88:
- bl sub_8038A90
- b _08035AA4
-_08035A8E:
- bl sub_80382C0
- b _08035AA4
-_08035A94:
- bl sub_80383D4
- b _08035AA4
-_08035A9A:
- bl sub_8038630
- b _08035AA4
-_08035AA0:
- bl sub_803A2A4
-_08035AA4:
- adds r2, r0, 0
-_08035AA6:
- ldr r0, _08035AB8
- cmp r2, r0
- beq _08035AB2
- ldr r0, _08035ABC
- ldr r0, [r0]
- str r2, [r0, 0x4]
-_08035AB2:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08035AB8: .4byte 0x0000ffdc
-_08035ABC: .4byte gUnknown_203B348
- thumb_func_end UpdateMenu
-
- thumb_func_start CleanUpMenu
-CleanUpMenu:
- push {lr}
- ldr r0, _08035AE4
- ldr r0, [r0]
- ldr r1, [r0, 0x8]
- ldr r0, [r0, 0x4]
- cmp r1, r0
- bne _08035AD0
- b _08035BF8
-_08035AD0:
- subs r0, r1, 0x1
- cmp r0, 0x2D
- bls _08035AD8
- b _08035BF0
-_08035AD8:
- lsls r0, 2
- ldr r1, _08035AE8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08035AE4: .4byte gUnknown_203B348
-_08035AE8: .4byte _08035AEC
- .align 2, 0
-_08035AEC:
- .4byte _08035BA4
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BAA
- .4byte _08035BAA
- .4byte _08035BAA
- .4byte _08035BAA
- .4byte _08035BDA
- .4byte _08035BBC
- .4byte _08035BB0
- .4byte _08035BC2
- .4byte _08035BC8
- .4byte _08035BCE
- .4byte _08035BEC
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BB6
- .4byte _08035BB6
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BF0
- .4byte _08035BD4
- .4byte _08035BD4
- .4byte _08035BF0
- .4byte _08035BE0
- .4byte _08035BE0
- .4byte _08035BE0
- .4byte _08035BE0
- .4byte _08035BE0
- .4byte _08035BE6
- .4byte _08035BE6
- .4byte _08035BE6
- .4byte _08035BE6
- .4byte _08035BE6
- .4byte _08035BE6
-_08035BA4:
- bl sub_8035EC0
- b _08035BF0
-_08035BAA:
- bl sub_80393F0
- b _08035BF0
-_08035BB0:
- bl sub_8036B04
- b _08035BF0
-_08035BB6:
- bl sub_80370D4
- b _08035BF0
-_08035BBC:
- bl sub_80327E4
- b _08035BF0
-_08035BC2:
- bl sub_80399E4
- b _08035BF0
-_08035BC8:
- bl nullsub_55
- b _08035BF0
-_08035BCE:
- bl sub_803A1EC
- b _08035BF0
-_08035BD4:
- bl sub_8038A5C
- b _08035BF0
-_08035BDA:
- bl sub_80382AC
- b _08035BF0
-_08035BE0:
- bl sub_80383A8
- b _08035BF0
-_08035BE6:
- bl sub_8038604
- b _08035BF0
-_08035BEC:
- bl sub_803A278
-_08035BF0:
- ldr r0, _08035BFC
- ldr r1, [r0]
- ldr r0, [r1, 0x4]
- str r0, [r1, 0x8]
-_08035BF8:
- pop {r0}
- bx r0
- .align 2, 0
-_08035BFC: .4byte gUnknown_203B348
- thumb_func_end CleanUpMenu
-
- thumb_func_start sub_8035C00
-sub_8035C00:
- ldr r1, _08035C0C
- ldr r1, [r1]
- ldr r0, [r0]
- str r0, [r1, 0x2C]
- bx lr
- .align 2, 0
-_08035C0C: .4byte gUnknown_203B348
- thumb_func_end sub_8035C00
-
- thumb_func_start sub_8035C10
-sub_8035C10:
- ldr r0, _08035C18
- ldr r0, [r0]
- adds r0, 0x2C
- bx lr
- .align 2, 0
-_08035C18: .4byte gUnknown_203B348
- thumb_func_end sub_8035C10
-
- thumb_func_start sub_8035C1C
-sub_8035C1C:
- ldr r2, _08035C38
- ldr r0, [r2]
- adds r0, 0x2E
- movs r3, 0
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, 0x2C
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x2D
- strb r3, [r0]
- bx lr
- .align 2, 0
-_08035C38: .4byte gUnknown_203B348
- thumb_func_end sub_8035C1C
-
- thumb_func_start SetMenuItems
-SetMenuItems:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- ldr r0, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r0, r4
- ldm r3!, {r1,r2,r7}
- stm r0!, {r1,r2,r7}
- ldm r3!, {r1,r2,r7}
- stm r0!, {r1,r2,r7}
- bl sub_8004914
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- mov r0, r8
- cmp r0, 0
- beq _08035C90
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6, r0
- ldr r1, [sp, 0x28]
- str r1, [sp]
- str r5, [sp, 0x4]
- ldr r1, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _08035CA8
-_08035C90:
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6, r0
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- ldr r1, [sp, 0x20]
- movs r2, 0
- movs r3, 0
- bl sub_8012E04
-_08035CA8:
- adds r0, r4, r5
- lsls r0, 4
- adds r0, r6
- adds r0, 0x4C
- movs r1, 0x1
- strb r1, [r0]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end SetMenuItems
-
- thumb_func_start sub_8035CC0
-sub_8035CC0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_8006518
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 3
- adds r1, r5
- ldr r0, _08035CF0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8004914
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08035CF0: .4byte gUnknown_80E59A8
- thumb_func_end sub_8035CC0
-
- thumb_func_start sub_8035CF4
-sub_8035CF4:
- push {lr}
- adds r3, r0, 0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r0, r3
- adds r1, r0, 0
- adds r1, 0x4C
- strb r2, [r1]
- adds r2, r0, 0
- adds r2, 0x4D
- movs r1, 0x1
- strb r1, [r2]
- subs r1, 0x2
- str r1, [r0, 0x48]
- bl sub_8012EBC
- pop {r0}
- bx r0
- thumb_func_end sub_8035CF4
-
- thumb_func_start sub_8035D1C
-sub_8035D1C:
- ldr r0, _08035D28
- ldr r1, [r0]
- ldr r0, _08035D2C
- strh r0, [r1, 0x38]
- bx lr
- .align 2, 0
-_08035D28: .4byte gUnknown_203B348
-_08035D2C: .4byte 0x0000ffff
- thumb_func_end sub_8035D1C
-
- thumb_func_start sub_8035D30
-sub_8035D30:
- ldr r1, _08035D38
- ldr r1, [r1]
- strh r0, [r1, 0x38]
- bx lr
- .align 2, 0
-_08035D38: .4byte gUnknown_203B348
- thumb_func_end sub_8035D30
-
- thumb_func_start sub_8035D3C
-sub_8035D3C:
- ldr r0, _08035D48
- ldr r0, [r0]
- movs r1, 0x38
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08035D48: .4byte gUnknown_203B348
- thumb_func_end sub_8035D3C
-
- thumb_func_start sub_8035D4C
-sub_8035D4C:
- ldr r0, _08035D54
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08035D54: .4byte gUnknown_203B348
- thumb_func_end sub_8035D4C
-
- thumb_func_start sub_8035D58
-sub_8035D58:
- ldr r0, _08035D64
- ldr r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x3C]
- bx lr
- .align 2, 0
-_08035D64: .4byte gUnknown_203B348
- thumb_func_end sub_8035D58
-
- thumb_func_start sub_8035D68
-sub_8035D68:
- ldr r1, _08035D70
- ldr r1, [r1]
- str r0, [r1, 0x3C]
- bx lr
- .align 2, 0
-_08035D70: .4byte gUnknown_203B348
- thumb_func_end sub_8035D68
-
- thumb_func_start sub_8035D74
-sub_8035D74:
- ldr r0, _08035D7C
- ldr r0, [r0]
- ldr r0, [r0, 0x3C]
- bx lr
- .align 2, 0
-_08035D7C: .4byte gUnknown_203B348
- thumb_func_end sub_8035D74
-
- thumb_func_start sub_8035D80
-sub_8035D80:
- ldr r1, _08035D90
- ldr r2, [r1]
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2, 0x30]
- str r1, [r2, 0x34]
- bx lr
- .align 2, 0
-_08035D90: .4byte gUnknown_203B348
- thumb_func_end sub_8035D80
-
- thumb_func_start sub_8035D94
-sub_8035D94:
- ldr r0, _08035D9C
- ldr r0, [r0]
- adds r0, 0x30
- bx lr
- .align 2, 0
-_08035D9C: .4byte gUnknown_203B348
- thumb_func_end sub_8035D94
-
- thumb_func_start sub_8035DA0
-sub_8035DA0:
- ldr r2, _08035DB0
- ldr r0, [r2]
- adds r0, 0x30
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- str r1, [r0, 0x34]
- bx lr
- .align 2, 0
-_08035DB0: .4byte gUnknown_203B348
- thumb_func_end sub_8035DA0
-
- thumb_func_start sub_8035DB4
-sub_8035DB4:
- push {lr}
- movs r1, 0x8
- subs r0, 0x13
- cmp r0, 0x7
- bhi _08035E0A
- lsls r0, 2
- ldr r1, _08035DC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08035DC8: .4byte _08035DCC
- .align 2, 0
-_08035DCC:
- .4byte _08035DEC
- .4byte _08035DF0
- .4byte _08035DF4
- .4byte _08035DF8
- .4byte _08035DFC
- .4byte _08035E00
- .4byte _08035E04
- .4byte _08035E08
-_08035DEC:
- movs r1, 0
- b _08035E0A
-_08035DF0:
- movs r1, 0x1
- b _08035E0A
-_08035DF4:
- movs r1, 0x2
- b _08035E0A
-_08035DF8:
- movs r1, 0x3
- b _08035E0A
-_08035DFC:
- movs r1, 0x4
- b _08035E0A
-_08035E00:
- movs r1, 0x5
- b _08035E0A
-_08035E04:
- movs r1, 0x6
- b _08035E0A
-_08035E08:
- movs r1, 0x7
-_08035E0A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8035DB4
-
- thumb_func_start sub_8035E10
-sub_8035E10:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _08035EB8
- ldr r0, [r5]
- cmp r0, 0
- bne _08035E34
- movs r4, 0xD4
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_08035E34:
- mov r12, r5
- movs r0, 0xA2
- lsls r0, 1
- mov r8, r0
- ldr r4, _08035EBC
- movs r3, 0
- movs r2, 0x3
-_08035E42:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08035E42
- bl sub_8004914
- ldr r4, _08035EB8
- ldr r0, [r4]
- movs r6, 0xA2
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803628C
- ldr r0, [r4]
- movs r7, 0xD2
- lsls r7, 1
- adds r0, r7
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl SetMainMenuType
- lsls r0, 24
- cmp r0, 0
- beq _08035E9A
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0
- bl sub_8035CF4
-_08035E9A:
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08035EB8: .4byte gUnknown_203B34C
-_08035EBC: .4byte gUnknown_80E59C8
- thumb_func_end sub_8035E10
-
- thumb_func_start sub_8035EC0
-sub_8035EC0:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08035EE8
- ldr r0, [r4]
- cmp r0, 0
- beq _08035EE0
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08035EE0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08035EE8: .4byte gUnknown_203B34C
- thumb_func_end sub_8035EC0
-
- thumb_func_start sub_8035EEC
-sub_8035EEC:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _08035F64
- str r6, [sp]
- ldr r4, _08035F68
- ldr r0, [r4]
- ldr r5, [r0]
- cmp r5, 0xC
- beq _08035FB8
- cmp r5, 0xC
- bls _08035F04
- b _0803601A
-_08035F04:
- cmp r5, 0x1
- beq _08035F0A
- b _0803601A
-_08035F0A:
- adds r0, 0xA4
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08035F28
- ldr r0, [r4]
- adds r0, 0x4
- mov r1, sp
- bl sub_8013114
-_08035F28:
- bl SetMainMenuType
- lsls r0, 24
- cmp r0, 0
- beq _08035F4A
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0
- bl sub_8035CF4
-_08035F4A:
- ldr r1, [sp]
- cmp r1, 0xC
- beq _08035FA8
- cmp r1, 0xC
- bhi _08035F6C
- cmp r1, 0x3
- beq _08035FAC
- cmp r1, 0x3
- bcc _0803601A
- cmp r1, 0x6
- bcc _0803601A
- b _08035FAC
- .align 2, 0
-_08035F64: .4byte 0x0000ffdc
-_08035F68: .4byte gUnknown_203B34C
-_08035F6C:
- cmp r1, r6
- beq _08035FF2
- cmp r1, r6
- bhi _08035F7A
- cmp r1, 0x10
- bhi _0803601A
- b _08035FAC
-_08035F7A:
- ldr r0, _08035FA4
- cmp r1, r0
- bne _0803601A
- ldr r0, [r4]
- str r5, [r0]
- str r6, [sp]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0
- bl sub_8035CF4
- b _0803601A
- .align 2, 0
-_08035FA4: .4byte 0x0000ffdd
-_08035FA8:
- bl sub_8035DA0
-_08035FAC:
- ldr r1, _08035FB4
- ldr r0, [sp]
- str r0, [r1]
- b _0803601A
- .align 2, 0
-_08035FB4: .4byte gUnknown_203B350
-_08035FB8:
- adds r0, 0x54
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08035FCE
- ldr r0, [r4]
- adds r0, 0x54
- mov r1, sp
- bl sub_8013114
-_08035FCE:
- ldr r1, [sp]
- cmp r1, 0x12
- beq _08036008
- cmp r1, 0x12
- bhi _08035FDE
- cmp r1, 0x11
- beq _08035FFC
- b _0803601A
-_08035FDE:
- cmp r1, r6
- beq _08036018
- ldr r0, _08035FF8
- cmp r1, r0
- bne _0803601A
- bl sub_803623C
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1]
-_08035FF2:
- str r6, [sp]
- b _0803601A
- .align 2, 0
-_08035FF8: .4byte 0x0000ffdd
-_08035FFC:
- ldr r0, _08036004
- str r1, [r0]
- str r5, [sp]
- b _0803601A
- .align 2, 0
-_08036004: .4byte gUnknown_203B354
-_08036008:
- ldr r0, _08036014
- str r1, [r0]
- movs r0, 0x14
- str r0, [sp]
- b _0803601A
- .align 2, 0
-_08036014: .4byte gUnknown_203B354
-_08036018:
- str r1, [sp]
-_0803601A:
- ldr r0, [sp]
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8035EEC
-
- thumb_func_start SetMainMenuType
-SetMainMenuType:
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r6, _08036048
- ldr r2, [r6]
- ldr r0, [r2, 0x8]
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- lsls r1, 3
- adds r1, r0
- ldr r5, [r1, 0x4]
- movs r0, 0xD2
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- cmp r0, r5
- bne _0803604C
- movs r0, 0
- b _08036226
- .align 2, 0
-_08036048: .4byte gUnknown_203B34C
-_0803604C:
- str r5, [r1]
- movs r4, 0xA2
- lsls r4, 1
- adds r0, r2, r4
- movs r1, 0x2
- bl sub_8035CC0
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0x3
- bl sub_8035CC0
- subs r0, r5, 0x3
- cmp r0, 0xD
- bls _0803606C
- b _08036224
-_0803606C:
- lsls r0, 2
- ldr r1, _08036078
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08036078: .4byte _0803607C
- .align 2, 0
-_0803607C:
- .4byte _08036114
- .4byte _08036224
- .4byte _08036224
- .4byte _080360F4
- .4byte _08036134
- .4byte _08036154
- .4byte _08036224
- .4byte _08036174
- .4byte _08036194
- .4byte _080361B4
- .4byte _080360D4
- .4byte _080361D4
- .4byte _080360B4
- .4byte _08036204
-_080360B4:
- ldr r0, _080360C8
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _080360CC
- ldr r2, _080360D0
- b _080361E4
- .align 2, 0
-_080360C8: .4byte gUnknown_203B34C
-_080360CC: .4byte gUnknown_80E5CB4
-_080360D0: .4byte gUnknown_80E6030
-_080360D4:
- ldr r0, _080360E8
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r3, 0xA2
- lsls r3, 1
- adds r1, r3
- ldr r3, _080360EC
- ldr r2, _080360F0
- b _080361E4
- .align 2, 0
-_080360E8: .4byte gUnknown_203B34C
-_080360EC: .4byte gUnknown_80E5CB4
-_080360F0: .4byte gUnknown_80E5F80
-_080360F4:
- ldr r0, _08036108
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _0803610C
- ldr r2, _08036110
- b _080361E4
- .align 2, 0
-_08036108: .4byte gUnknown_203B34C
-_0803610C: .4byte gUnknown_80E5CB4
-_08036110: .4byte gUnknown_80E5F1C
-_08036114:
- ldr r0, _08036128
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r3, 0xA2
- lsls r3, 1
- adds r1, r3
- ldr r3, _0803612C
- ldr r2, _08036130
- b _080361E4
- .align 2, 0
-_08036128: .4byte gUnknown_203B34C
-_0803612C: .4byte gUnknown_80E5CB4
-_08036130: .4byte gUnknown_80E5CCC
-_08036134:
- ldr r0, _08036148
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _0803614C
- ldr r2, _08036150
- b _080361E4
- .align 2, 0
-_08036148: .4byte gUnknown_203B34C
-_0803614C: .4byte gUnknown_80E5CB4
-_08036150: .4byte gUnknown_80E5DA0
-_08036154:
- ldr r0, _08036168
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r3, 0xA2
- lsls r3, 1
- adds r1, r3
- ldr r3, _0803616C
- ldr r2, _08036170
- b _080361E4
- .align 2, 0
-_08036168: .4byte gUnknown_203B34C
-_0803616C: .4byte gUnknown_80E5CB4
-_08036170: .4byte gUnknown_80E5DF0
-_08036174:
- ldr r0, _08036188
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _0803618C
- ldr r2, _08036190
- b _080361E4
- .align 2, 0
-_08036188: .4byte gUnknown_203B34C
-_0803618C: .4byte gUnknown_80E5CB4
-_08036190: .4byte gUnknown_80E5D0C
-_08036194:
- ldr r0, _080361A8
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r3, 0xA2
- lsls r3, 1
- adds r1, r3
- ldr r3, _080361AC
- ldr r2, _080361B0
- b _080361E4
- .align 2, 0
-_080361A8: .4byte gUnknown_203B34C
-_080361AC: .4byte gUnknown_80E5CB4
-_080361B0: .4byte gUnknown_80E5E5C
-_080361B4:
- ldr r0, _080361C8
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _080361CC
- ldr r2, _080361D0
- b _080361E4
- .align 2, 0
-_080361C8: .4byte gUnknown_203B34C
-_080361CC: .4byte gUnknown_80E5CB4
-_080361D0: .4byte gUnknown_80E5EBC
-_080361D4:
- ldr r0, _080361F8
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r3, 0xA2
- lsls r3, 1
- adds r1, r3
- ldr r3, _080361FC
- ldr r2, _08036200
-_080361E4:
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x2
- bl SetMenuItems
- b _08036224
- .align 2, 0
-_080361F8: .4byte gUnknown_203B34C
-_080361FC: .4byte gUnknown_80E5CB4
-_08036200: .4byte gUnknown_80E5FCC
-_08036204:
- ldr r0, _08036230
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _08036234
- ldr r2, _08036238
- str r2, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x2
- bl SetMenuItems
-_08036224:
- movs r0, 0x1
-_08036226:
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08036230: .4byte gUnknown_203B34C
-_08036234: .4byte gUnknown_80E5CB4
-_08036238: .4byte gUnknown_80E5D48
- thumb_func_end SetMainMenuType
-
- thumb_func_start sub_803623C
-sub_803623C:
- push {r4,lr}
- ldr r4, _08036288
- ldr r0, [r4]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- bl sub_8035CC0
- bl sub_803628C
- ldr r0, [r4]
- movs r1, 0xD2
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl SetMainMenuType
- lsls r0, 24
- cmp r0, 0
- beq _08036276
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0
- bl sub_8035CF4
-_08036276:
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08036288: .4byte gUnknown_203B34C
- thumb_func_end sub_803623C
-
- thumb_func_start sub_803628C
-sub_803628C:
- push {r4,lr}
- sub sp, 0x10
- bl sub_8011C34
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803629E
- b _080363A4
-_0803629E:
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- bne _08036344
- movs r0, 0x7
- bl sub_8095324
- cmp r0, 0
- beq _080362FC
- bl sub_803D0D8
- lsls r0, 24
- cmp r0, 0
- beq _080362DC
- ldr r0, _080362D0
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _080362D4
- ldr r2, _080362D8
- b _0803637C
- .align 2, 0
-_080362D0: .4byte gUnknown_203B34C
-_080362D4: .4byte gUnknown_80E5A78
-_080362D8: .4byte gUnknown_80E5C18
-_080362DC:
- ldr r0, _080362F0
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _080362F4
- ldr r2, _080362F8
- b _0803637C
- .align 2, 0
-_080362F0: .4byte gUnknown_203B34C
-_080362F4: .4byte gUnknown_80E5BC4
-_080362F8: .4byte gUnknown_80E5BDC
-_080362FC:
- bl sub_803D0D8
- lsls r0, 24
- cmp r0, 0
- beq _08036324
- ldr r0, _08036318
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _0803631C
- ldr r2, _08036320
- b _0803637C
- .align 2, 0
-_08036318: .4byte gUnknown_203B34C
-_0803631C: .4byte gUnknown_80E5A78
-_08036320: .4byte gUnknown_80E5AFC
-_08036324:
- ldr r0, _08036338
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _0803633C
- ldr r2, _08036340
- b _0803637C
- .align 2, 0
-_08036338: .4byte gUnknown_203B34C
-_0803633C: .4byte gUnknown_80E5A60
-_08036340: .4byte gUnknown_80E5A90
-_08036344:
- bl sub_803D0D8
- lsls r0, 24
- cmp r0, 0
- beq _0803636C
- ldr r0, _08036360
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _08036364
- ldr r2, _08036368
- b _0803637C
- .align 2, 0
-_08036360: .4byte gUnknown_203B34C
-_08036364: .4byte gUnknown_80E5A78
-_08036368: .4byte gUnknown_80E5B8C
-_0803636C:
- ldr r0, _08036394
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _08036398
- ldr r2, _0803639C
-_0803637C:
- str r2, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- ldr r2, _080363A0
- ldr r2, [r2]
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _080363C8
- .align 2, 0
-_08036394: .4byte gUnknown_203B34C
-_08036398: .4byte gUnknown_80E5B34
-_0803639C: .4byte gUnknown_80E5B4C
-_080363A0: .4byte gUnknown_203B350
-_080363A4:
- ldr r0, _080363D0
- ldr r1, [r0]
- adds r0, r1, 0x4
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r2
- ldr r3, _080363D4
- ldr r2, _080363D8
- str r2, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- ldr r2, _080363DC
- ldr r2, [r2]
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_080363C8:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080363D0: .4byte gUnknown_203B34C
-_080363D4: .4byte gUnknown_80E59E0
-_080363D8: .4byte gUnknown_80E59F8
-_080363DC: .4byte gUnknown_203B350
- thumb_func_end sub_803628C
-
- thumb_func_start sub_80363E0
-sub_80363E0:
- push {lr}
- ldr r0, _080363F4
- ldr r0, [r0]
- cmp r0, 0
- beq _080363F8
- ldr r0, [r0]
- cmp r0, 0xC
- beq _080363F8
- movs r0, 0x1
- b _080363FA
- .align 2, 0
-_080363F4: .4byte gUnknown_203B34C
-_080363F8:
- movs r0, 0
-_080363FA:
- pop {r1}
- bx r1
- thumb_func_end sub_80363E0
-
- thumb_func_start sub_8036400
-sub_8036400:
- push {r4,r5,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _08036444
- movs r4, 0xE8
- lsls r4, 2
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
- bl sub_8035C1C
- bl sub_8035DA0
- ldr r1, [r5]
- movs r0, 0x13
- str r0, [r1, 0x4]
- movs r0, 0
- bl sub_8036FC4
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08036444: .4byte gUnknown_203B358
- thumb_func_end sub_8036400
-
- thumb_func_start sub_8036448
-sub_8036448:
- push {lr}
- ldr r0, _08036460
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x12
- bhi _08036524
- lsls r0, 2
- ldr r1, _08036464
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08036460: .4byte gUnknown_203B358
-_08036464: .4byte _08036468
- .align 2, 0
-_08036468:
- .4byte _080364B4
- .4byte _080364BA
- .4byte _080364C0
- .4byte _080364C6
- .4byte _080364D2
- .4byte _080364CC
- .4byte _080364D8
- .4byte _080364DE
- .4byte _080364E4
- .4byte _080364F0
- .4byte _080364F6
- .4byte _080364FC
- .4byte _08036502
- .4byte _08036514
- .4byte _08036508
- .4byte _080364EA
- .4byte _0803650E
- .4byte _0803651A
- .4byte _08036520
-_080364B4:
- bl sub_803652C
- b _08036524
-_080364BA:
- bl sub_8036590
- b _08036524
-_080364C0:
- bl sub_80365AC
- b _08036524
-_080364C6:
- bl sub_8036674
- b _08036524
-_080364CC:
- bl sub_8036728
- b _08036524
-_080364D2:
- bl sub_8036788
- b _08036524
-_080364D8:
- bl sub_8036830
- b _08036524
-_080364DE:
- bl sub_803689C
- b _08036524
-_080364E4:
- bl sub_80368D4
- b _08036524
-_080364EA:
- bl sub_8036A7C
- b _08036524
-_080364F0:
- bl sub_8036934
- b _08036524
-_080364F6:
- bl sub_8036950
- b _08036524
-_080364FC:
- bl sub_8036AA4
- b _08036524
-_08036502:
- bl sub_80369FC
- b _08036524
-_08036508:
- bl sub_8036A34
- b _08036524
-_0803650E:
- bl sub_8036A54
- b _08036524
-_08036514:
- bl sub_8036A18
- b _08036524
-_0803651A:
- bl sub_8036ADC
- b _08036524
-_08036520:
- movs r0, 0x3
- b _08036526
-_08036524:
- movs r0, 0
-_08036526:
- pop {r1}
- bx r1
- thumb_func_end sub_8036448
-
- thumb_func_start sub_803652C
-sub_803652C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- adds r1, r0, 0
- cmp r1, 0
- bne _0803658A
- ldr r2, [sp]
- cmp r2, 0x1
- beq _08036556
- cmp r2, 0x1
- bgt _0803654C
- cmp r2, 0
- beq _08036584
- b _0803658A
-_0803654C:
- cmp r2, 0x2
- beq _0803656C
- cmp r2, 0x7
- beq _08036584
- b _0803658A
-_08036556:
- ldr r0, _08036568
- ldr r0, [r0]
- str r1, [r0, 0x8]
- str r2, [r0, 0x10]
- movs r0, 0x1
- bl sub_8036FC4
- b _0803658A
- .align 2, 0
-_08036568: .4byte gUnknown_203B358
-_0803656C:
- ldr r0, _08036580
- ldr r1, [r0]
- movs r0, 0x1
- str r0, [r1, 0x8]
- str r2, [r1, 0x10]
- movs r0, 0x7
- bl sub_8036FC4
- b _0803658A
- .align 2, 0
-_08036580: .4byte gUnknown_203B358
-_08036584:
- movs r0, 0x12
- bl sub_8036FC4
-_0803658A:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803652C
-
- thumb_func_start sub_8036590
-sub_8036590:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080365A4
- movs r0, 0x2
- bl sub_8036FC4
-_080365A4:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036590
-
- thumb_func_start sub_80365AC
-sub_80365AC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _080365E8
- ldr r0, [r4]
- ldr r7, _080365EC
- adds r0, r7
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- ldr r6, _080365F0
- adds r0, r6
- movs r5, 0x1
- strb r5, [r0]
- ldr r0, [r4]
- movs r2, 0x97
- lsls r2, 2
- mov r8, r2
- add r0, r8
- strb r1, [r0]
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x3
- beq _08036606
- cmp r0, 0x3
- bhi _080365F4
- cmp r0, 0x2
- beq _080365FA
- b _0803666A
- .align 2, 0
-_080365E8: .4byte gUnknown_203B358
-_080365EC: .4byte 0x0000025e
-_080365F0: .4byte 0x0000025d
-_080365F4:
- cmp r0, 0x4
- beq _0803662C
- b _0803666A
-_080365FA:
- bl sub_801CBB8
- movs r0, 0
- bl sub_8036FC4
- b _0803666A
-_08036606:
- bl sub_801CB24
- ldr r1, [r4]
- ldr r2, _08036624
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- ldr r1, _08036628
- adds r0, r1
- strb r5, [r0]
- movs r0, 0x3
- bl sub_8036FC4
- b _0803666A
- .align 2, 0
-_08036624: .4byte 0x0000025e
-_08036628: .4byte 0x0000025d
-_0803662C:
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x4]
- bl sub_801CB24
- ldr r1, [r4]
- adds r1, r7
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r6
- strb r5, [r0]
- ldr r0, [r4]
- movs r2, 0xF2
- lsls r2, 1
- adds r0, r2
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- add r0, r8
- bl sub_801B3C0
- movs r0, 0x5
- bl sub_8036FC4
-_0803666A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80365AC
-
- thumb_func_start sub_8036674
-sub_8036674:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r0, 0
- bl sub_801CA08
- ldr r4, _080366B8
- ldr r0, [r4]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r1
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _080366A6
- ldr r0, [r4]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r1
- mov r1, sp
- bl sub_8013114
-_080366A6:
- ldr r0, [sp]
- cmp r0, 0x3
- beq _080366C6
- cmp r0, 0x3
- bgt _080366BC
- cmp r0, 0
- beq _08036700
- b _0803671A
- .align 2, 0
-_080366B8: .4byte gUnknown_203B358
-_080366BC:
- cmp r0, 0x4
- beq _080366CE
- cmp r0, 0x7
- beq _08036700
- b _0803671A
-_080366C6:
- movs r0, 0x4
- bl sub_8036FC4
- b _0803671A
-_080366CE:
- ldr r0, [r4]
- movs r1, 0x13
- str r1, [r0, 0x4]
- movs r1, 0xF2
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x97
- lsls r1, 2
- adds r0, r1
- bl sub_801B3C0
- movs r0, 0x5
- bl sub_8036FC4
- b _0803671A
-_08036700:
- ldr r0, _08036724
- ldr r0, [r0]
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r1
- movs r1, 0x3
- bl sub_8035CC0
- bl sub_801CCD8
- movs r0, 0x2
- bl sub_8036FC4
-_0803671A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08036724: .4byte gUnknown_203B358
- thumb_func_end sub_8036674
-
- thumb_func_start sub_8036728
-sub_8036728:
- push {r4,lr}
- bl sub_801B410
- cmp r0, 0x1
- beq _08036780
- cmp r0, 0x1
- bcc _08036780
- cmp r0, 0x3
- bhi _08036780
- bl sub_801B450
- bl sub_8004914
- ldr r4, _08036778
- ldr r0, [r4]
- movs r1, 0xF2
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x1
- bl sub_801CB5C
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0x13
- bne _0803677C
- adds r0, r4, 0
- adds r0, 0x44
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x3
- bl sub_8036FC4
- b _08036780
- .align 2, 0
-_08036778: .4byte gUnknown_203B358
-_0803677C:
- bl sub_8036FC4
-_08036780:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8036728
-
- thumb_func_start sub_8036788
-sub_8036788:
- push {r4,lr}
- ldr r4, _080367B8
- ldr r0, [r4]
- movs r1, 0x9A
- lsls r1, 1
- adds r0, r1
- bl sub_8012FD8
- movs r0, 0
- bl sub_801CA08
- ldr r0, [r4]
- adds r0, 0x14
- bl sub_8013BBC
- cmp r0, 0x1
- beq _080367BC
- cmp r0, 0x1
- bcc _08036824
- cmp r0, 0x2
- beq _080367D2
- cmp r0, 0x3
- beq _080367F8
- b _08036824
- .align 2, 0
-_080367B8: .4byte gUnknown_203B358
-_080367BC:
- bl sub_801CCD8
- ldr r0, [r4]
- adds r0, 0x44
- movs r1, 0x3
- movs r2, 0
- bl sub_8035CF4
- bl sub_8036F30
- b _08036824
-_080367D2:
- ldr r0, [r4]
- movs r2, 0xC2
- lsls r2, 1
- adds r0, r2
- movs r1, 0x2
- bl sub_8035CC0
- bl sub_801CCD8
- ldr r0, [r4]
- adds r0, 0x44
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- movs r0, 0x3
- bl sub_8036FC4
- b _08036824
-_080367F8:
- ldr r0, [r4]
- ldr r1, [r0, 0x14]
- ldr r2, _0803682C
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x1
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0xA
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r1, r0, r2
- ldr r0, [r0, 0x14]
- str r0, [r1]
- bl sub_801CBB8
- movs r0, 0x6
- bl sub_8036FC4
-_08036824:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803682C: .4byte 0x0000025d
- thumb_func_end sub_8036788
-
- thumb_func_start sub_8036830
-sub_8036830:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036896
- ldr r0, [sp]
- cmp r0, 0x5
- beq _08036854
- cmp r0, 0x5
- bgt _0803684E
- cmp r0, 0
- beq _08036890
- b _08036896
-_0803684E:
- cmp r0, 0x6
- beq _08036890
- b _08036896
-_08036854:
- bl sub_801CBB8
- ldr r0, _08036884
- ldr r2, [r0]
- ldr r0, _08036888
- ldr r1, [r0]
- ldr r3, _0803688C
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 1
- adds r2, 0x50
- adds r2, r0
- ldrh r0, [r2]
- ldr r1, [r1, 0x14]
- subs r0, r1
- strh r0, [r2]
- movs r0, 0xF
- bl sub_8036FC4
- movs r0, 0
- bl sub_8012574
- b _08036896
- .align 2, 0
-_08036884: .4byte gUnknown_203B460
-_08036888: .4byte gUnknown_203B358
-_0803688C: .4byte 0x0000025e
-_08036890:
- movs r0, 0
- bl sub_8036FC4
-_08036896:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036830
-
- thumb_func_start sub_803689C
-sub_803689C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080368CE
- ldr r0, [sp]
- cmp r0, 0x5
- beq _080368C0
- cmp r0, 0x5
- bgt _080368BA
- cmp r0, 0
- beq _080368C8
- b _080368CE
-_080368BA:
- cmp r0, 0x7
- beq _080368C8
- b _080368CE
-_080368C0:
- movs r0, 0x9
- bl sub_8036FC4
- b _080368CE
-_080368C8:
- movs r0, 0x12
- bl sub_8036FC4
-_080368CE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_803689C
-
- thumb_func_start sub_80368D4
-sub_80368D4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803692A
- ldr r0, [sp]
- cmp r0, 0x5
- beq _080368F8
- cmp r0, 0x5
- bgt _080368F2
- cmp r0, 0
- beq _08036900
- b _0803692A
-_080368F2:
- cmp r0, 0x7
- beq _08036900
- b _0803692A
-_080368F8:
- movs r0, 0x9
- bl sub_8036FC4
- b _0803692A
-_08036900:
- ldr r0, _08036930
- ldr r1, [r0]
- movs r2, 0x95
- lsls r2, 2
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803692A
- adds r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0803692A
- bl sub_80369D0
- movs r0, 0x11
- bl sub_8036FC4
- movs r0, 0
- bl sub_8012574
-_0803692A:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08036930: .4byte gUnknown_203B358
- thumb_func_end sub_80368D4
-
- thumb_func_start sub_8036934
-sub_8036934:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036948
- movs r0, 0xA
- bl sub_8036FC4
-_08036948:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036934
-
- thumb_func_start sub_8036950
-sub_8036950:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _080369C8
- ldr r0, _08036978
- ldr r2, [r0]
- ldr r1, [r2, 0xC]
- adds r3, r0, 0
- cmp r1, 0
- bne _0803698C
- ldr r0, [r2, 0x8]
- cmp r0, 0
- beq _0803697C
- cmp r0, 0x1
- beq _08036984
- b _080369C8
- .align 2, 0
-_08036978: .4byte gUnknown_203B358
-_0803697C:
- movs r0, 0xD
- bl sub_8036FC4
- b _080369C8
-_08036984:
- movs r0, 0xE
- bl sub_8036FC4
- b _080369C8
-_0803698C:
- ldr r0, [r2, 0x8]
- cmp r0, 0
- bne _080369BA
- movs r1, 0x95
- lsls r1, 2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080369BA
- adds r1, 0x4
- adds r0, r2, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080369BA
- bl sub_80369D0
- movs r0, 0xB
- bl sub_8036FC4
- movs r0, 0
- bl sub_8012574
- b _080369C8
-_080369BA:
- ldr r0, [r3]
- ldr r0, [r0, 0xC]
- bl sub_8036E18
- movs r0, 0xC
- bl sub_8036FC4
-_080369C8:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036950
-
- thumb_func_start sub_80369D0
-sub_80369D0:
- ldr r0, _080369F4
- ldr r2, [r0]
- ldr r0, _080369F8
- ldr r1, [r0]
- movs r3, 0x95
- lsls r3, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 1
- adds r2, 0x50
- adds r2, r0
- ldrh r0, [r2]
- adds r3, 0x4
- adds r1, r3
- ldr r1, [r1]
- adds r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080369F4: .4byte gUnknown_203B460
-_080369F8: .4byte gUnknown_203B358
- thumb_func_end sub_80369D0
-
- thumb_func_start sub_80369FC
-sub_80369FC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036A10
- movs r0, 0
- bl sub_8036FC4
-_08036A10:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80369FC
-
- thumb_func_start sub_8036A18
-sub_8036A18:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036A2C
- movs r0, 0x12
- bl sub_8036FC4
-_08036A2C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036A18
-
- thumb_func_start sub_8036A34
-sub_8036A34:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036A4E
- movs r0, 0x10
- bl sub_8036FC4
- movs r0, 0
- bl sub_8012574
-_08036A4E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036A34
-
- thumb_func_start sub_8036A54
-sub_8036A54:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036A76
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08036A76
- bl sub_8012750
- movs r0, 0x12
- bl sub_8036FC4
-_08036A76:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036A54
-
- thumb_func_start sub_8036A7C
-sub_8036A7C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036A9E
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08036A9E
- bl sub_8012750
- movs r0, 0x8
- bl sub_8036FC4
-_08036A9E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036A7C
-
- thumb_func_start sub_8036AA4
-sub_8036AA4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036AD0
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08036AD0
- bl sub_8012750
- ldr r0, _08036AD8
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bl sub_8036E18
- movs r0, 0xC
- bl sub_8036FC4
-_08036AD0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_08036AD8: .4byte gUnknown_203B358
- thumb_func_end sub_8036AA4
-
- thumb_func_start sub_8036ADC
-sub_8036ADC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08036AFE
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08036AFE
- bl sub_8012750
- movs r0, 0x12
- bl sub_8036FC4
-_08036AFE:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8036ADC
-
- thumb_func_start sub_8036B04
-sub_8036B04:
- push {r4,lr}
- ldr r4, _08036B20
- ldr r0, [r4]
- cmp r0, 0
- beq _08036B1A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- bl sub_801CBB8
-_08036B1A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08036B20: .4byte gUnknown_203B358
- thumb_func_end sub_8036B04
-
- thumb_func_start nullsub_52
-nullsub_52:
- bx lr
- thumb_func_end nullsub_52
-
- thumb_func_start sub_8036B28
-sub_8036B28:
- push {r4,r5,lr}
- sub sp, 0x18
- ldr r1, _08036B44
- ldr r0, [r1]
- ldr r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x12
- bls _08036B3A
- b _08036DFA
-_08036B3A:
- lsls r0, 2
- ldr r1, _08036B48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08036B44: .4byte gUnknown_203B358
-_08036B48: .4byte _08036B4C
- .align 2, 0
-_08036B4C:
- .4byte _08036B98
- .4byte _08036BDC
- .4byte _08036BE4
- .4byte _08036C14
- .4byte _08036C58
- .4byte _08036DFA
- .4byte _08036C5E
- .4byte _08036C90
- .4byte _08036C98
- .4byte _08036CC0
- .4byte _08036CD8
- .4byte _08036DFA
- .4byte _08036DFA
- .4byte _08036DD8
- .4byte _08036D70
- .4byte _08036DFA
- .4byte _08036DFA
- .4byte _08036DFA
- .4byte _08036DFA
-_08036B98:
- movs r0, 0
- bl sub_801CF14
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08036BB8
- ldr r0, _08036BB0
- ldr r3, _08036BB4
- movs r2, 0
- b _08036BBC
- .align 2, 0
-_08036BB0: .4byte gUnknown_80E61A4
-_08036BB4: .4byte gUnknown_80E60D4
-_08036BB8:
- ldr r0, _08036BD4
- ldr r3, _08036BD8
-_08036BBC:
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x1
- bl sub_8014248
- b _08036DFA
- .align 2, 0
-_08036BD4: .4byte gUnknown_80E61A4
-_08036BD8: .4byte gUnknown_80E60A0
-_08036BDC:
- ldr r0, _08036BE0
- b _08036DBA
- .align 2, 0
-_08036BE0: .4byte gUnknown_80E61C0
-_08036BE4:
- bl sub_801D008
- cmp r0, 0
- beq _08036BEE
- b _08036DFA
-_08036BEE:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, _08036C10
- str r0, [sp, 0x14]
- movs r0, 0
- movs r1, 0x1
- add r2, sp, 0x14
- movs r3, 0x9
- bl sub_801C8C4
- b _08036DFA
- .align 2, 0
-_08036C10: .4byte 0x00020003
-_08036C14:
- ldr r0, [r5]
- movs r4, 0xC2
- lsls r4, 1
- adds r0, r4
- bl sub_8006518
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x44
- adds r1, r4
- ldr r3, _08036C50
- ldr r2, _08036C54
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r2, 0x3
- bl SetMenuItems
- bl sub_801CCD8
- ldr r0, [r5]
- adds r0, 0x44
- movs r1, 0x3
- movs r2, 0x1
- bl sub_8035CF4
- b _08036DFA
- .align 2, 0
-_08036C50: .4byte gUnknown_80E60EC
-_08036C54: .4byte gUnknown_80E6104
-_08036C58:
- bl sub_8036F74
- b _08036DFA
-_08036C5E:
- ldr r2, _08036C7C
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- str r0, [r2]
- ldr r0, _08036C80
- ldr r2, _08036C84
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8090DC4
- ldr r0, _08036C88
- ldr r3, _08036C8C
- b _08036C9C
- .align 2, 0
-_08036C7C: .4byte gUnknown_202DE30
-_08036C80: .4byte gUnknown_202DE58
-_08036C84: .4byte 0x0000025e
-_08036C88: .4byte gUnknown_80E61E4
-_08036C8C: .4byte gUnknown_80E6154
-_08036C90:
- ldr r0, _08036C94
- b _08036C9A
- .align 2, 0
-_08036C94: .4byte gUnknown_80E6214
-_08036C98:
- ldr r0, _08036CB8
-_08036C9A:
- ldr r3, _08036CBC
-_08036C9C:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8014248
- b _08036DFA
- .align 2, 0
-_08036CB8: .4byte gUnknown_80E6268
-_08036CBC: .4byte gUnknown_80E618C
-_08036CC0:
- movs r0, 0
- bl nullsub_23
- ldr r0, _08036CD4
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- b _08036DFA
- .align 2, 0
-_08036CD4: .4byte gUnknown_80E62C4
-_08036CD8:
- ldr r4, _08036D18
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0xC]
- movs r2, 0
- movs r3, 0
- movs r5, 0x91
- lsls r5, 2
- adds r0, r1, r5
- str r2, [r0]
- str r3, [r0, 0x4]
- movs r0, 0x93
- lsls r0, 2
- adds r1, r0
- str r2, [r1]
- str r3, [r1, 0x4]
- bl sub_8011830
- ldr r0, [r4]
- ldr r0, [r0, 0x8]
- bl sub_8037B28
- ldr r4, [r4]
- str r0, [r4, 0xC]
- cmp r0, 0
- bne _08036D44
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _08036D1C
- cmp r0, 0x1
- beq _08036D2C
- b _08036D44
- .align 2, 0
-_08036D18: .4byte gUnknown_203B358
-_08036D1C:
- adds r2, r4, r5
- movs r1, 0x95
- lsls r1, 2
- adds r0, r4, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
-_08036D2C:
- ldr r4, _08036D6C
- ldr r2, [r4]
- ldr r0, [r2, 0x8]
- movs r3, 0x91
- lsls r3, 2
- adds r1, r2, r3
- adds r3, 0x8
- adds r2, r3
- bl sub_8037D64
- ldr r1, [r4]
- str r0, [r1, 0xC]
-_08036D44:
- ldr r4, _08036D6C
- ldr r2, [r4]
- ldr r0, [r2, 0xC]
- cmp r0, 0
- bne _08036D66
- ldr r0, [r2, 0x8]
- cmp r0, 0x1
- bhi _08036D66
- movs r3, 0x91
- lsls r3, 2
- adds r1, r2, r3
- adds r3, 0x8
- adds r2, r3
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0xC]
-_08036D66:
- bl sub_8011854
- b _08036DFA
- .align 2, 0
-_08036D6C: .4byte gUnknown_203B358
-_08036D70:
- ldr r2, [r5]
- movs r1, 0x94
- lsls r1, 2
- adds r0, r2, r1
- ldr r1, [r0]
- cmp r1, 0
- bne _08036DA4
- ldr r1, _08036D9C
- movs r3, 0x92
- lsls r3, 2
- adds r0, r2, r3
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _08036DA0
- subs r3, 0x4
- adds r1, r2, r3
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8090DC4
- b _08036DB8
- .align 2, 0
-_08036D9C: .4byte gUnknown_202DE30
-_08036DA0: .4byte gUnknown_202DE58
-_08036DA4:
- ldr r0, _08036DC8
- str r1, [r0]
- ldr r0, _08036DCC
- movs r3, 0x93
- lsls r3, 2
- adds r1, r2, r3
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8090DC4
-_08036DB8:
- ldr r0, _08036DD0
-_08036DBA:
- ldr r3, _08036DD4
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08036DFA
- .align 2, 0
-_08036DC8: .4byte gUnknown_202DE30
-_08036DCC: .4byte gUnknown_202DE58
-_08036DD0: .4byte gUnknown_80E6314
-_08036DD4: .4byte 0x00000101
-_08036DD8:
- ldr r2, _08036E04
- ldr r1, [r5]
- ldr r0, [r1, 0x14]
- str r0, [r2]
- ldr r0, _08036E08
- ldr r2, _08036E0C
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8090DC4
- ldr r0, _08036E10
- ldr r3, _08036E14
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_08036DFA:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08036E04: .4byte gUnknown_202DE30
-_08036E08: .4byte gUnknown_202DE58
-_08036E0C: .4byte 0x0000025e
-_08036E10: .4byte gUnknown_80E6358
-_08036E14: .4byte 0x00000101
- thumb_func_end sub_8036B28
-
- thumb_func_start sub_8036E18
-sub_8036E18:
- push {lr}
- cmp r0, 0xF
- bhi _08036EB4
- lsls r0, 2
- ldr r1, _08036E28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08036E28: .4byte _08036E2C
- .align 2, 0
-_08036E2C:
- .4byte _08036EC0
- .4byte _08036E6C
- .4byte _08036E7C
- .4byte _08036E74
- .4byte _08036E84
- .4byte _08036E8C
- .4byte _08036EB4
- .4byte _08036EB4
- .4byte _08036EB4
- .4byte _08036EB4
- .4byte _08036EB4
- .4byte _08036EB4
- .4byte _08036EB4
- .4byte _08036EB4
- .4byte _08036E94
- .4byte _08036E9C
-_08036E6C:
- ldr r0, _08036E70
- b _08036E9E
- .align 2, 0
-_08036E70: .4byte gUnknown_80E6378
-_08036E74:
- ldr r0, _08036E78
- b _08036E9E
- .align 2, 0
-_08036E78: .4byte gUnknown_80E639C
-_08036E7C:
- ldr r0, _08036E80
- b _08036E9E
- .align 2, 0
-_08036E80: .4byte gUnknown_80E63F8
-_08036E84:
- ldr r0, _08036E88
- b _08036E9E
- .align 2, 0
-_08036E88: .4byte gUnknown_80E6448
-_08036E8C:
- ldr r0, _08036E90
- b _08036E9E
- .align 2, 0
-_08036E90: .4byte gUnknown_80E6378
-_08036E94:
- ldr r0, _08036E98
- b _08036E9E
- .align 2, 0
-_08036E98: .4byte gUnknown_80E6378
-_08036E9C:
- ldr r0, _08036EAC
-_08036E9E:
- ldr r3, _08036EB0
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08036EC0
- .align 2, 0
-_08036EAC: .4byte gUnknown_80E64AC
-_08036EB0: .4byte 0x00000101
-_08036EB4:
- ldr r0, _08036EC4
- ldr r3, _08036EC8
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_08036EC0:
- pop {r0}
- bx r0
- .align 2, 0
-_08036EC4: .4byte gUnknown_80E6378
-_08036EC8: .4byte 0x00000101
- thumb_func_end sub_8036E18
-
- thumb_func_start sub_8036ECC
-sub_8036ECC:
- push {r4-r6,lr}
- adds r3, r0, 0
- ldr r6, _08036F28
- ldr r0, [r6]
- movs r2, 0x3
- str r2, [r0, 0x24]
- movs r2, 0x1
- str r2, [r0, 0x18]
- str r2, [r0, 0x1C]
- str r1, [r0, 0x20]
- movs r1, 0x2C
- str r1, [r0, 0x30]
- movs r1, 0x12
- str r1, [r0, 0x34]
- str r3, [r0, 0x28]
- lsls r4, r3, 1
- adds r4, r3
- lsls r4, 3
- movs r5, 0xC2
- lsls r5, 1
- adds r1, r4, r5
- adds r1, r0, r1
- str r1, [r0, 0x2C]
- adds r0, 0x14
- bl sub_8013AA0
- ldr r1, [r6]
- adds r1, r4
- adds r1, r5
- ldr r0, _08036F2C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- bl sub_8004914
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08036F28: .4byte gUnknown_203B358
-_08036F2C: .4byte gUnknown_80E6174
- thumb_func_end sub_8036ECC
-
- thumb_func_start sub_8036F30
-sub_8036F30:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08036F6C
- ldr r0, [r5]
- ldr r4, [r0, 0x28]
- adds r0, r4, 0
- bl sub_8008C54
- adds r0, r4, 0
- bl sub_80073B8
- ldr r2, _08036F70
- movs r0, 0
- str r0, [sp]
- movs r0, 0x2
- movs r1, 0
- adds r3, r4, 0
- bl xxx_call_draw_string
- ldr r0, [r5]
- adds r0, 0x14
- bl sub_8013C68
- adds r0, r4, 0
- bl sub_80073E0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08036F6C: .4byte gUnknown_203B358
-_08036F70: .4byte gUnknown_80E6528
- thumb_func_end sub_8036F30
-
- thumb_func_start sub_8036F74
-sub_8036F74:
- push {r4,lr}
- ldr r4, _08036FB8
- ldr r0, [r4]
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- ldr r0, _08036FBC
- ldr r1, [r0]
- ldr r0, [r4]
- ldr r2, _08036FC0
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x2
- bl sub_8036ECC
- bl sub_801CCD8
- ldr r0, [r4]
- adds r0, 0x44
- movs r1, 0x3
- movs r2, 0
- bl sub_8035CF4
- bl sub_8036F30
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08036FB8: .4byte gUnknown_203B358
-_08036FBC: .4byte gUnknown_203B460
-_08036FC0: .4byte 0x0000025e
- thumb_func_end sub_8036F74
-
- thumb_func_start sub_8036FC4
-sub_8036FC4:
- push {lr}
- ldr r1, _08036FD8
- ldr r1, [r1]
- str r0, [r1]
- bl nullsub_52
- bl sub_8036B28
- pop {r0}
- bx r0
- .align 2, 0
-_08036FD8: .4byte gUnknown_203B358
- thumb_func_end sub_8036FC4
-
- thumb_func_start sub_8036FDC
-sub_8036FDC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r6, r0, 0
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- bl sub_8004D8C
- ldr r5, _080370C0
- ldr r0, [r5]
- cmp r0, 0
- bne _08037016
- ldr r4, _080370C4
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_08037016:
- ldr r0, [r5]
- str r6, [r0]
- movs r1, 0
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- movs r3, 0
- adds r7, r5, 0
- movs r6, 0xE0
- lsls r6, 1
- movs r4, 0
- movs r5, 0xDE
- lsls r5, 1
-_0803702E:
- ldr r0, [r7]
- lsls r2, r3, 3
- adds r1, r0, r6
- adds r1, r2
- str r4, [r1]
- adds r0, r2
- adds r0, r5
- strb r4, [r0]
- adds r3, 0x1
- cmp r3, 0x1
- ble _0803702E
- ldr r0, _080370C0
- mov r12, r0
- movs r5, 0xAE
- lsls r5, 1
- mov r8, r5
- ldr r4, _080370C8
- movs r3, 0
- movs r2, 0x3
-_08037054:
- mov r6, r12
- ldr r1, [r6]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08037054
- movs r6, 0
- bl sub_8004914
- ldr r5, _080370C0
- ldr r0, [r5]
- movs r4, 0xAE
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, r4
- ldr r3, _080370CC
- ldr r2, _080370D0
- str r2, [sp]
- str r6, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r6, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- ldr r0, [r5]
- adds r0, 0x1C
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- bl sub_80376CC
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080370C0: .4byte gUnknown_203B35C
-_080370C4: .4byte 0x00000504
-_080370C8: .4byte gUnknown_80E653C
-_080370CC: .4byte gUnknown_80E6CD0
-_080370D0: .4byte gUnknown_80E6CE8
- thumb_func_end sub_8036FDC
-
- thumb_func_start sub_80370D4
-sub_80370D4:
- push {r4,lr}
- ldr r4, _080370EC
- ldr r0, [r4]
- cmp r0, 0
- beq _080370E6
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080370E6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080370EC: .4byte gUnknown_203B35C
- thumb_func_end sub_80370D4
-
- thumb_func_start sub_80370F0
-sub_80370F0:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0x4
- str r0, [sp]
- ldr r5, _08037110
- ldr r4, _08037114
- ldr r1, [r4]
- ldr r0, [r1, 0x8]
- cmp r0, 0x1
- beq _08037148
- cmp r0, 0x1
- bcc _08037118
- cmp r0, 0x2
- beq _08037158
- b _080371A8
- .align 2, 0
-_08037110: .4byte 0x0000ffdc
-_08037114: .4byte gUnknown_203B35C
-_08037118:
- adds r0, r1, 0
- adds r0, 0x1C
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _08037130
- ldr r0, [r4]
- adds r0, 0x1C
- mov r1, sp
- bl sub_8013114
-_08037130:
- ldr r0, [sp]
- cmp r0, 0x4
- bne _0803713C
- bl sub_8037748
- b _080371A8
-_0803713C:
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0x8]
- bl sub_8037900
- b _080371A8
-_08037148:
- bl sub_80376CC
- ldr r1, [r4]
- movs r0, 0x2
- str r0, [r1, 0x8]
- bl sub_80371B8
- b _080371A8
-_08037158:
- ldr r0, [r1]
- cmp r0, 0x1
- bhi _08037172
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _08037172
- movs r0, 0
- bl sub_8037C10
- cmp r0, 0
- bne _08037172
- movs r0, 0x29
- b _080371AA
-_08037172:
- ldr r4, _080371B4
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _0803718C
- ldr r0, [r4]
- adds r0, 0x1C
- mov r1, sp
- bl sub_8013114
-_0803718C:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _080371A4
- movs r0, 0x3
- bl sub_80119D4
- bl sub_8037798
- adds r5, r0, 0
- ldr r1, [r4]
- movs r0, 0x4
- str r0, [r1, 0x8]
-_080371A4:
- bl sub_8037748
-_080371A8:
- adds r0, r5, 0
-_080371AA:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080371B4: .4byte gUnknown_203B35C
- thumb_func_end sub_80370F0
-
- thumb_func_start sub_80371B8
-sub_80371B8:
- push {r4-r7,lr}
- sub sp, 0x10
- movs r6, 0
- movs r5, 0
- bl sub_8037400
- ldr r7, _0803721C
- ldr r1, [r7]
- ldr r0, [r1]
- cmp r0, 0x1
- bhi _08037228
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _08037228
- movs r0, 0
- bl sub_8037C10
- cmp r0, 0
- bne _080371E0
- b _080373AC
-_080371E0:
- bl sub_80376CC
- ldr r0, [r7]
- movs r4, 0xAE
- lsls r4, 1
- adds r0, r4
- movs r1, 0
- bl sub_8035CC0
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x1C
- adds r1, r4
- ldr r3, _08037220
- ldr r2, _08037224
- str r2, [sp]
- str r6, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r6, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- ldr r0, [r7]
- adds r0, 0x1C
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- b _080373AC
- .align 2, 0
-_0803721C: .4byte gUnknown_203B35C
-_08037220: .4byte gUnknown_80E6C50
-_08037224: .4byte gUnknown_80E6C68
-_08037228:
- bl sub_80376CC
- ldr r4, _08037250
- ldr r0, [r4]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- bl sub_8035CC0
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- cmp r0, 0xF
- bls _08037246
- b _0803734C
-_08037246:
- lsls r0, 2
- ldr r1, _08037254
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037250: .4byte gUnknown_203B35C
-_08037254: .4byte _08037258
- .align 2, 0
-_08037258:
- .4byte _08037298
- .4byte _080372D8
- .4byte _080372B8
- .4byte _080372A8
- .4byte _080372C8
- .4byte _080372D8
- .4byte _080372E8
- .4byte _080372F8
- .4byte _0803734C
- .4byte _08037308
- .4byte _0803734C
- .4byte _08037318
- .4byte _0803734C
- .4byte _08037328
- .4byte _08037338
- .4byte _08037348
-_08037298:
- ldr r6, _080372A0
- ldr r5, _080372A4
- b _0803734C
- .align 2, 0
-_080372A0: .4byte gUnknown_80E66BC
-_080372A4: .4byte gUnknown_80E66D4
-_080372A8:
- ldr r6, _080372B0
- ldr r5, _080372B4
- b _0803734C
- .align 2, 0
-_080372B0: .4byte gUnknown_80E6D54
-_080372B4: .4byte gUnknown_80E6D6C
-_080372B8:
- ldr r6, _080372C0
- ldr r5, _080372C4
- b _0803734C
- .align 2, 0
-_080372C0: .4byte gUnknown_80E6DDC
-_080372C4: .4byte gUnknown_80E6DF4
-_080372C8:
- ldr r6, _080372D0
- ldr r5, _080372D4
- b _0803734C
- .align 2, 0
-_080372D0: .4byte gUnknown_80E67D4
-_080372D4: .4byte gUnknown_80E67EC
-_080372D8:
- ldr r6, _080372E0
- ldr r5, _080372E4
- b _0803734C
- .align 2, 0
-_080372E0: .4byte gUnknown_80E6748
-_080372E4: .4byte gUnknown_80E6760
-_080372E8:
- ldr r6, _080372F0
- ldr r5, _080372F4
- b _0803734C
- .align 2, 0
-_080372F0: .4byte gUnknown_80E689C
-_080372F4: .4byte gUnknown_80E68B4
-_080372F8:
- ldr r6, _08037300
- ldr r5, _08037304
- b _0803734C
- .align 2, 0
-_08037300: .4byte gUnknown_80E6938
-_08037304: .4byte gUnknown_80E6950
-_08037308:
- ldr r6, _08037310
- ldr r5, _08037314
- b _0803734C
- .align 2, 0
-_08037310: .4byte gUnknown_80E69B0
-_08037314: .4byte gUnknown_80E69C8
-_08037318:
- ldr r6, _08037320
- ldr r5, _08037324
- b _0803734C
- .align 2, 0
-_08037320: .4byte gUnknown_80E6A10
-_08037324: .4byte gUnknown_80E6A28
-_08037328:
- ldr r6, _08037330
- ldr r5, _08037334
- b _0803734C
- .align 2, 0
-_08037330: .4byte gUnknown_80E6A74
-_08037334: .4byte gUnknown_80E6A8C
-_08037338:
- ldr r6, _08037340
- ldr r5, _08037344
- b _0803734C
- .align 2, 0
-_08037340: .4byte gUnknown_80E6B78
-_08037344: .4byte gUnknown_80E6B90
-_08037348:
- ldr r6, _080373B4
- ldr r5, _080373B8
-_0803734C:
- ldr r4, _080373BC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x1C
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- str r5, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- movs r2, 0
- adds r3, r6, 0
- bl SetMenuItems
- ldr r0, [r4]
- adds r0, 0x1C
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r4, [r4]
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _080373AC
- ldr r0, [r4]
- cmp r0, 0
- bne _080373AC
- bl sub_8035D94
- adds r2, r0, 0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080373AC
- ldr r3, [r2, 0x4]
- cmp r3, 0
- beq _080373AC
- ldr r0, _080373C0
- ldr r1, [r0]
- ldrb r0, [r2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, r3
- strh r0, [r1]
-_080373AC:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080373B4: .4byte gUnknown_80E6BF4
-_080373B8: .4byte gUnknown_80E6C0C
-_080373BC: .4byte gUnknown_203B35C
-_080373C0: .4byte gUnknown_203B460
- thumb_func_end sub_80371B8
-
- thumb_func_start sub_80373C4
-sub_80373C4:
- push {lr}
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- bl sub_800CB20
- bl sub_800485C
- bl TransferBGPaletteBuffer
- bl xxx_call_update_bg_vram
- bl sub_8009908
- bl xxx_call_update_bg_sound_input
- movs r0, 0
- bl sub_8004D8C
- pop {r0}
- bx r0
- thumb_func_end sub_80373C4
-
- thumb_func_start sub_80373F4
-sub_80373F4:
- ldr r0, _080373FC
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080373FC: .4byte gUnknown_203B35C
- thumb_func_end sub_80373F4
-
- thumb_func_start sub_8037400
-sub_8037400:
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
- bl sub_8037810
- bl sub_8011830
- ldr r4, _08037434
- ldr r0, [r4]
- ldr r0, [r0]
- bl sub_8037B28
- ldr r4, [r4]
- str r0, [r4, 0x4]
- cmp r0, 0
- beq _08037422
- b _080376BE
-_08037422:
- ldr r0, [r4]
- cmp r0, 0xA
- bls _0803742A
- b _080375E8
-_0803742A:
- lsls r0, 2
- ldr r1, _08037438
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037434: .4byte gUnknown_203B35C
-_08037438: .4byte _0803743C
- .align 2, 0
-_0803743C:
- .4byte _08037494
- .4byte _080374B8
- .4byte _08037534
- .4byte _0803751C
- .4byte _0803756C
- .4byte _080375D8
- .4byte _080374E4
- .4byte _080374D0
- .4byte _080375E8
- .4byte _08037480
- .4byte _08037468
-_08037468:
- ldr r0, _0803747C
- ldr r0, [r0]
- movs r1, 0xE7
- lsls r1, 2
- adds r6, r0, r1
- movs r2, 0x8A
- lsls r2, 3
- adds r5, r0, r2
- b _080375E8
- .align 2, 0
-_0803747C: .4byte gUnknown_203B35C
-_08037480:
- ldr r0, _08037490
- ldr r0, [r0]
- movs r3, 0xE7
- lsls r3, 2
- adds r6, r0, r3
- movs r4, 0x8A
- lsls r4, 3
- b _080375E6
- .align 2, 0
-_08037490: .4byte gUnknown_203B35C
-_08037494:
- bl sub_8035D94
- ldr r1, _080374B4
- ldr r3, [r1]
- movs r5, 0xDE
- lsls r5, 1
- adds r2, r3, r5
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r6, r2, 0
- movs r0, 0xE2
- lsls r0, 1
- adds r5, r3, r0
- b _080375E8
- .align 2, 0
-_080374B4: .4byte gUnknown_203B35C
-_080374B8:
- ldr r0, _080374CC
- ldr r0, [r0]
- movs r1, 0xDE
- lsls r1, 1
- adds r6, r0, r1
- movs r2, 0xE2
- lsls r2, 1
- adds r5, r0, r2
- b _080375E8
- .align 2, 0
-_080374CC: .4byte gUnknown_203B35C
-_080374D0:
- ldr r0, _080374E0
- ldr r0, [r0]
- movs r3, 0xE6
- lsls r3, 1
- adds r6, r0, r3
- movs r4, 0xFE
- lsls r4, 1
- b _080375E6
- .align 2, 0
-_080374E0: .4byte gUnknown_203B35C
-_080374E4:
- bl sub_8035D74
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- ldr r3, _08037518
- ldr r1, [r3]
- movs r2, 0xE6
- lsls r2, 1
- adds r1, r2
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r6, r0, r2
- movs r1, 0xFE
- lsls r1, 1
- adds r5, r0, r1
- b _080375E8
- .align 2, 0
-_08037518: .4byte gUnknown_203B35C
-_0803751C:
- ldr r0, _08037530
- ldr r0, [r0]
- movs r2, 0x8B
- lsls r2, 2
- adds r6, r0, r2
- movs r3, 0x97
- lsls r3, 2
- adds r5, r0, r3
- b _080375E8
- .align 2, 0
-_08037530: .4byte gUnknown_203B35C
-_08037534:
- bl sub_8035D74
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- ldr r3, _08037568
- ldr r1, [r3]
- movs r2, 0x8B
- lsls r2, 2
- adds r1, r2
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r3]
- adds r6, r0, r2
- movs r1, 0x97
- lsls r1, 2
- adds r5, r0, r1
- b _080375E8
- .align 2, 0
-_08037568: .4byte gUnknown_203B35C
-_0803756C:
- bl sub_8035D74
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- ldr r4, _080375CC
- ldr r1, [r4]
- movs r5, 0xA3
- lsls r5, 2
- adds r1, r5
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- bl sub_8035D3C
- lsls r0, 16
- ldr r1, _080375D0
- cmp r0, r1
- beq _080375BE
- bl sub_8035D3C
- ldr r3, [r4]
- movs r1, 0xAF
- lsls r1, 2
- adds r3, r1
- ldr r1, _080375D4
- ldr r1, [r1]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x58
- muls r0, r2
- adds r1, r0
- adds r0, r3, 0
- bl memcpy
-_080375BE:
- ldr r0, [r4]
- adds r6, r0, r5
- movs r2, 0xC5
- lsls r2, 2
- adds r5, r0, r2
- b _080375E8
- .align 2, 0
-_080375CC: .4byte gUnknown_203B35C
-_080375D0: .4byte 0xffff0000
-_080375D4: .4byte gUnknown_203B45C
-_080375D8:
- ldr r0, _08037610
- ldr r0, [r0]
- movs r3, 0xA3
- lsls r3, 2
- adds r6, r0, r3
- movs r4, 0xC5
- lsls r4, 2
-_080375E6:
- adds r5, r0, r4
-_080375E8:
- ldr r4, _08037610
- ldr r0, [r4]
- ldr r0, [r0]
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_8037D64
- ldr r1, [r4]
- str r0, [r1, 0x4]
- cmp r0, 0
- bne _080376BE
- ldr r0, [r1]
- cmp r0, 0xA
- bhi _080376AE
- lsls r0, 2
- ldr r1, _08037614
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037610: .4byte gUnknown_203B35C
-_08037614: .4byte _08037618
- .align 2, 0
-_08037618:
- .4byte _08037644
- .4byte _08037644
- .4byte _08037658
- .4byte _08037658
- .4byte _0803766C
- .4byte _0803766C
- .4byte _08037684
- .4byte _08037684
- .4byte _080376AE
- .4byte _0803769C
- .4byte _0803769C
-_08037644:
- ldr r0, _08037654
- ldr r2, [r0]
- movs r5, 0xDE
- lsls r5, 1
- adds r6, r2, r5
- movs r1, 0xE2
- lsls r1, 1
- b _0803767A
- .align 2, 0
-_08037654: .4byte gUnknown_203B35C
-_08037658:
- ldr r0, _08037668
- ldr r2, [r0]
- movs r3, 0x8B
- lsls r3, 2
- adds r6, r2, r3
- movs r4, 0x97
- lsls r4, 2
- b _08037692
- .align 2, 0
-_08037668: .4byte gUnknown_203B35C
-_0803766C:
- ldr r0, _08037680
- ldr r2, [r0]
- movs r5, 0xA3
- lsls r5, 2
- adds r6, r2, r5
- movs r1, 0xC5
- lsls r1, 2
-_0803767A:
- adds r5, r2, r1
- adds r4, r0, 0
- b _080376AE
- .align 2, 0
-_08037680: .4byte gUnknown_203B35C
-_08037684:
- ldr r0, _08037698
- ldr r2, [r0]
- movs r3, 0xE6
- lsls r3, 1
- adds r6, r2, r3
- movs r4, 0xFE
- lsls r4, 1
-_08037692:
- adds r5, r2, r4
- adds r4, r0, 0
- b _080376AE
- .align 2, 0
-_08037698: .4byte gUnknown_203B35C
-_0803769C:
- ldr r1, _080376C8
- ldr r0, [r1]
- movs r5, 0xE7
- lsls r5, 2
- adds r6, r0, r5
- movs r2, 0x8A
- lsls r2, 3
- adds r5, r0, r2
- adds r4, r1, 0
-_080376AE:
- ldr r0, [r4]
- ldr r0, [r0]
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80381F4
- ldr r1, [r4]
- str r0, [r1, 0x4]
-_080376BE:
- bl sub_8011854
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080376C8: .4byte gUnknown_203B35C
- thumb_func_end sub_8037400
-
- thumb_func_start sub_80376CC
-sub_80376CC:
- push {r4,lr}
- ldr r0, _08037728
- ldr r3, [r0]
- ldrh r1, [r3, 0xC]
- ldr r0, _0803772C
- ands r0, r1
- ldr r1, _08037730
- ands r0, r1
- ldr r4, _08037734
- ands r0, r4
- ldr r1, _08037738
- ands r0, r1
- ldr r1, _0803773C
- ands r0, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _08037740
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0xC]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x10]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r2, 0xF
- movs r4, 0xF0
- lsls r4, 8
- ldr r1, _08037744
- ands r0, r1
- orrs r0, r4
- strh r0, [r3, 0x10]
- movs r0, 0
- strh r0, [r3, 0xE]
- movs r1, 0xC0
- lsls r1, 4
- ldrh r0, [r3, 0x12]
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08037728: .4byte gUnknown_203B35C
-_0803772C: .4byte 0x0000feff
-_08037730: .4byte 0x0000fdff
-_08037734: .4byte 0x0000f3ff
-_08037738: .4byte 0x0000efff
-_0803773C: .4byte 0x0000dfff
-_08037740: .4byte 0x00003fff
-_08037744: .4byte 0x00000fff
- thumb_func_end sub_80376CC
-
- thumb_func_start sub_8037748
-sub_8037748:
- push {r4,lr}
- ldr r4, _08037794
- ldr r3, [r4]
- ldrh r1, [r3, 0xE]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r1
- movs r1, 0x70
- orrs r0, r1
- strh r0, [r3, 0xE]
- movs r2, 0xD0
- lsls r2, 3
- ldrh r1, [r3, 0x12]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strh r0, [r3, 0x12]
- ldr r0, [r3, 0x14]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08037782
- adds r0, r3, 0
- adds r0, 0xC
- adds r1, 0xF8
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08037782:
- bl xxx_draw_string_80144C4
- ldr r1, [r4]
- ldr r0, [r1, 0x14]
- adds r0, 0x1
- str r0, [r1, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08037794: .4byte gUnknown_203B35C
- thumb_func_end sub_8037748
-
- thumb_func_start sub_8037798
-sub_8037798:
- push {lr}
- ldr r2, _080377B4
- ldr r1, _080377B8
- ldr r0, [r1]
- ldr r0, [r0]
- adds r3, r1, 0
- cmp r0, 0xA
- bhi _0803780A
- lsls r0, 2
- ldr r1, _080377BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080377B4: .4byte 0x0000ffdc
-_080377B8: .4byte gUnknown_203B35C
-_080377BC: .4byte _080377C0
- .align 2, 0
-_080377C0:
- .4byte _080377EC
- .4byte _080377EC
- .4byte _080377F0
- .4byte _080377F0
- .4byte _080377F0
- .4byte _080377F0
- .4byte _080377F0
- .4byte _080377F0
- .4byte _0803780A
- .4byte _080377FE
- .4byte _080377FE
-_080377EC:
- movs r2, 0x1
- b _0803780A
-_080377F0:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- movs r2, 0x1
- cmp r0, 0
- bne _0803780A
- movs r2, 0x2A
- b _0803780A
-_080377FE:
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- movs r2, 0xD
- cmp r0, 0
- bne _0803780A
- movs r2, 0x2B
-_0803780A:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8037798
-
- thumb_func_start sub_8037810
-sub_8037810:
- push {r4-r6,lr}
- ldr r6, _080378FC
- ldr r0, [r6]
- movs r5, 0xDE
- lsls r5, 1
- adds r0, r5
- movs r1, 0
- movs r2, 0x8
- bl MemoryFill8
- ldr r0, [r6]
- movs r4, 0xE2
- lsls r4, 1
- adds r0, r4
- movs r1, 0
- movs r2, 0x8
- bl MemoryFill8
- ldr r0, [r6]
- adds r5, r0, r5
- movs r1, 0
- movs r2, 0
- str r1, [r5]
- str r2, [r5, 0x4]
- adds r4, r0, r4
- str r1, [r4]
- str r2, [r4, 0x4]
- movs r2, 0xE6
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r3, 0xFE
- lsls r3, 1
- adds r0, r3
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r1, 0x8B
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r2, 0x97
- lsls r2, 2
- adds r0, r2
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r3, 0xA3
- lsls r3, 2
- adds r0, r3
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r1, 0xC5
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- ldr r0, [r6]
- movs r2, 0xAF
- lsls r2, 2
- adds r0, r2
- movs r1, 0
- movs r2, 0x58
- bl MemoryFill8
- ldr r0, [r6]
- movs r3, 0xD1
- lsls r3, 2
- adds r0, r3
- movs r1, 0
- movs r2, 0x58
- bl MemoryFill8
- ldr r0, [r6]
- movs r1, 0xE7
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- movs r2, 0xB4
- bl MemoryFill8
- ldr r0, [r6]
- movs r2, 0x8A
- lsls r2, 3
- adds r0, r2
- movs r1, 0
- movs r2, 0xB4
- bl MemoryFill8
- ldr r2, [r6]
- movs r3, 0xB1
- lsls r3, 2
- adds r0, r2, r3
- movs r1, 0
- strh r1, [r0]
- adds r3, 0x88
- adds r0, r2, r3
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080378FC: .4byte gUnknown_203B35C
- thumb_func_end sub_8037810
-
- thumb_func_start sub_8037900
-sub_8037900:
- push {r4,lr}
- sub sp, 0x10
- ldr r4, _08037928
- ldr r0, [r4]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- bl sub_8035CC0
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0xA
- bls _0803791E
- b _08037A14
-_0803791E:
- lsls r0, 2
- ldr r1, _0803792C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037928: .4byte gUnknown_203B35C
-_0803792C: .4byte _08037930
- .align 2, 0
-_08037930:
- .4byte _0803795C
- .4byte _0803795C
- .4byte _0803797C
- .4byte _0803797C
- .4byte _0803799C
- .4byte _0803799C
- .4byte _080379BC
- .4byte _080379BC
- .4byte _08037A14
- .4byte _080379F0
- .4byte _080379F0
-_0803795C:
- ldr r0, _08037970
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x1C
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- ldr r3, _08037974
- ldr r2, _08037978
- b _080379CE
- .align 2, 0
-_08037970: .4byte gUnknown_203B35C
-_08037974: .4byte gUnknown_80E6554
-_08037978: .4byte gUnknown_80E656C
-_0803797C:
- ldr r0, _08037990
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x1C
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- ldr r3, _08037994
- ldr r2, _08037998
- b _080379CE
- .align 2, 0
-_08037990: .4byte gUnknown_203B35C
-_08037994: .4byte gUnknown_80E6554
-_08037998: .4byte gUnknown_80E65D8
-_0803799C:
- ldr r0, _080379B0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x1C
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- ldr r3, _080379B4
- ldr r2, _080379B8
- b _080379CE
- .align 2, 0
-_080379B0: .4byte gUnknown_203B35C
-_080379B4: .4byte gUnknown_80E6554
-_080379B8: .4byte gUnknown_80E661C
-_080379BC:
- ldr r0, _080379E4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x1C
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- ldr r3, _080379E8
- ldr r2, _080379EC
-_080379CE:
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _08037A14
- .align 2, 0
-_080379E4: .4byte gUnknown_203B35C
-_080379E8: .4byte gUnknown_80E6554
-_080379EC: .4byte gUnknown_80E665C
-_080379F0:
- ldr r0, _08037A38
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x1C
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- ldr r3, _08037A3C
- ldr r2, _08037A40
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_08037A14:
- ldr r4, _08037A38
- ldr r0, [r4]
- adds r0, 0x1C
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- bl sub_80373C4
- ldr r0, [r4]
- adds r0, 0x1C
- bl sub_80130A8
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08037A38: .4byte gUnknown_203B35C
-_08037A3C: .4byte gUnknown_80E6554
-_08037A40: .4byte gUnknown_80E667C
- thumb_func_end sub_8037900
-
- thumb_func_start nullsub_202
-nullsub_202:
- bx lr
- thumb_func_end nullsub_202
-
- thumb_func_start sub_8037A48
-sub_8037A48:
- push {r4-r6,lr}
- sub sp, 0x28
- movs r6, 0x1
- movs r0, 0
- mov r1, sp
- movs r2, 0x14
- bl sub_800D670
- add r4, sp, 0x14
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x14
- bl sub_800D670
- ldr r1, _08037AAC
- movs r3, 0x8
- adds r2, r1, 0
- adds r0, r2, 0x4
-_08037A6C:
- str r3, [r0]
- subs r0, 0x4
- cmp r0, r1
- bge _08037A6C
- ldr r0, [sp, 0x10]
- str r0, [r2]
- ldr r0, [r4, 0x10]
- str r0, [r2, 0x4]
- ldr r5, _08037AB0
- mov r0, sp
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- beq _08037A8C
- movs r0, 0x1
-_08037A8C:
- lsls r0, 24
- cmp r0, 0
- bne _08037AA6
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcmp
- cmp r0, 0
- beq _08037AA0
- movs r0, 0x1
-_08037AA0:
- lsls r0, 24
- cmp r0, 0
- beq _08037AB4
-_08037AA6:
- movs r0, 0
- b _08037B1E
- .align 2, 0
-_08037AAC: .4byte gUnknown_202EC40
-_08037AB0: .4byte gUnknown_80E6E50
-_08037AB4:
- ldr r1, [sp, 0x10]
- cmp r1, 0
- bne _08037AC0
- ldr r0, [r4, 0x10]
- cmp r0, 0x1
- beq _08037B1C
-_08037AC0:
- cmp r1, 0x1
- bne _08037ACA
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _08037B1C
-_08037ACA:
- cmp r1, 0x2
- bne _08037AD4
- ldr r0, [r4, 0x10]
- cmp r0, 0x3
- beq _08037B1C
-_08037AD4:
- cmp r1, 0x3
- bne _08037ADE
- ldr r0, [r4, 0x10]
- cmp r0, 0x2
- beq _08037B1C
-_08037ADE:
- cmp r1, 0x9
- bne _08037AE8
- ldr r0, [r4, 0x10]
- cmp r0, 0xA
- beq _08037B1C
-_08037AE8:
- cmp r1, 0xA
- bne _08037AF2
- ldr r0, [r4, 0x10]
- cmp r0, 0x9
- beq _08037B1C
-_08037AF2:
- cmp r1, 0x4
- bne _08037AFC
- ldr r0, [r4, 0x10]
- cmp r0, 0x5
- beq _08037B1C
-_08037AFC:
- cmp r1, 0x5
- bne _08037B06
- ldr r0, [r4, 0x10]
- cmp r0, 0x4
- beq _08037B1C
-_08037B06:
- cmp r1, 0x6
- bne _08037B10
- ldr r0, [r4, 0x10]
- cmp r0, 0x7
- beq _08037B1C
-_08037B10:
- cmp r1, 0x7
- bne _08037B1A
- ldr r0, [r4, 0x10]
- cmp r0, 0x6
- beq _08037B1C
-_08037B1A:
- movs r6, 0
-_08037B1C:
- adds r0, r6, 0
-_08037B1E:
- add sp, 0x28
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8037A48
-
- thumb_func_start sub_8037B28
-sub_8037B28:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r4, r0, 0
- movs r5, 0
- bl sub_800D414
- ldr r0, _08037B58
- str r5, [r0]
- ldr r5, _08037B5C
- mov r0, sp
- movs r1, 0
- movs r2, 0x14
- bl MemoryFill8
- mov r0, sp
- adds r1, r5, 0
- bl strcpy
- str r4, [sp, 0x10]
- mov r0, sp
- movs r1, 0x14
- bl sub_800D59C
- b _08037B7A
- .align 2, 0
-_08037B58: .4byte gUnknown_202EC38
-_08037B5C: .4byte gUnknown_80E6E50
-_08037B60:
- cmp r5, 0x3
- beq _08037BCC
- cmp r5, 0x4
- beq _08037BD8
- cmp r5, 0x5
- beq _08037BF0
- ldr r2, _08037BC0
- ldr r1, [r2]
- ldr r0, _08037BC4
- cmp r1, r0
- bgt _08037BE4
- adds r0, r1, 0x1
- str r0, [r2]
-_08037B7A:
- movs r4, 0
-_08037B7C:
- bl sub_80373C4
- bl sub_8012AE8
- cmp r0, 0x3
- bgt _08037B8C
- cmp r0, 0x2
- bge _08037BF0
-_08037B8C:
- adds r4, 0x1
- cmp r4, 0
- ble _08037B7C
- bl sub_800D33C
- adds r5, r0, 0
- bl sub_800D570
- cmp r5, 0x2
- bne _08037B60
- bl sub_800D600
- lsls r0, 24
- cmp r0, 0
- beq _08037BFC
- bl sub_8037A48
- lsls r0, 24
- cmp r0, 0
- bne _08037BC8
- movs r4, 0x4
- bl sub_800D520
- bl sub_800D510
- b _08037C06
- .align 2, 0
-_08037BC0: .4byte gUnknown_202EC38
-_08037BC4: .4byte 0x00000707
-_08037BC8:
- movs r4, 0
- b _08037C06
-_08037BCC:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0x2
- b _08037C08
-_08037BD8:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0x3
- b _08037C08
-_08037BE4:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0xF
- b _08037C08
-_08037BF0:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0x1
- b _08037C08
-_08037BFC:
- movs r4, 0x5
- bl sub_800D520
- bl sub_800D510
-_08037C06:
- adds r0, r4, 0
-_08037C08:
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8037B28
-
- thumb_func_start sub_8037C10
-sub_8037C10:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _08037C24
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- bne _08037C38
- b _08037C2E
-_08037C24:
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _08037C38
-_08037C2E:
- ldr r0, _08037C34
- ldr r0, [r0, 0x4]
- b _08037C3C
- .align 2, 0
-_08037C34: .4byte gUnknown_202EC40
-_08037C38:
- ldr r0, _08037C40
- ldr r0, [r0]
-_08037C3C:
- pop {r1}
- bx r1
- .align 2, 0
-_08037C40: .4byte gUnknown_202EC40
- thumb_func_end sub_8037C10
-
- thumb_func_start sub_8037C44
-sub_8037C44:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r4, 0
-_08037C4C:
- adds r0, r4, 0
- bl sub_800D68C
- adds r4, 0x1
- cmp r4, 0x1
- ble _08037C4C
- cmp r6, 0xA
- bhi _08037CBE
- lsls r0, r6, 2
- ldr r1, _08037C68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037C68: .4byte _08037C6C
- .align 2, 0
-_08037C6C:
- .4byte _08037C98
- .4byte _08037C98
- .4byte _08037CA2
- .4byte _08037CA2
- .4byte _08037CAC
- .4byte _08037CAC
- .4byte _08037CA2
- .4byte _08037CA2
- .4byte _08037CBE
- .4byte _08037CB6
- .4byte _08037CB6
-_08037C98:
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_800D59C
- b _08037CBE
-_08037CA2:
- adds r0, r5, 0
- movs r1, 0x30
- bl sub_800D59C
- b _08037CBE
-_08037CAC:
- adds r0, r5, 0
- movs r1, 0x88
- bl sub_800D59C
- b _08037CBE
-_08037CB6:
- adds r0, r5, 0
- movs r1, 0xB4
- bl sub_800D59C
-_08037CBE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8037C44
-
- thumb_func_start sub_8037CC4
-sub_8037CC4:
- push {r4,lr}
- adds r3, r1, 0
- adds r4, r2, 0
- cmp r0, 0xA
- bhi _08037D5E
- lsls r0, 2
- ldr r1, _08037CD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037CD8: .4byte _08037CDC
- .align 2, 0
-_08037CDC:
- .4byte _08037D08
- .4byte _08037D08
- .4byte _08037D1E
- .4byte _08037D1E
- .4byte _08037D34
- .4byte _08037D34
- .4byte _08037D1E
- .4byte _08037D1E
- .4byte _08037D5E
- .4byte _08037D4A
- .4byte _08037D4A
-_08037D08:
- movs r0, 0
- adds r1, r3, 0
- movs r2, 0x8
- bl sub_800D670
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x8
- bl sub_800D670
- b _08037D5E
-_08037D1E:
- movs r0, 0
- adds r1, r3, 0
- movs r2, 0x30
- bl sub_800D670
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x30
- bl sub_800D670
- b _08037D5E
-_08037D34:
- movs r0, 0
- adds r1, r3, 0
- movs r2, 0x88
- bl sub_800D670
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0x88
- bl sub_800D670
- b _08037D5E
-_08037D4A:
- movs r0, 0
- adds r1, r3, 0
- movs r2, 0xB4
- bl sub_800D670
- movs r0, 0x1
- adds r1, r4, 0
- movs r2, 0xB4
- bl sub_800D670
-_08037D5E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8037CC4
-
- thumb_func_start sub_8037D64
-sub_8037D64:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- movs r4, 0
- ldr r0, _08037D80
- str r4, [r0]
- bl sub_800D494
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8037C44
- b _08037D96
- .align 2, 0
-_08037D80: .4byte gUnknown_202EC48
-_08037D84:
- subs r0, r4, 0x3
- cmp r0, 0x2
- bls _08037DBC
- ldr r1, _08037DB8
- ldr r0, [r1]
- cmp r0, 0x63
- bgt _08037DC8
- adds r0, 0x1
- str r0, [r1]
-_08037D96:
- bl sub_80373C4
- bl sub_800D33C
- adds r4, r0, 0
- bl sub_800D570
- cmp r4, 0x2
- bne _08037D84
- bl sub_800D600
- lsls r0, 24
- cmp r0, 0
- beq _08037DD4
- movs r4, 0
- b _08037DDE
- .align 2, 0
-_08037DB8: .4byte gUnknown_202EC48
-_08037DBC:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0x1
- b _08037DEA
-_08037DC8:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0xF
- b _08037DEA
-_08037DD4:
- bl sub_800D520
- bl sub_800D510
- movs r4, 0x5
-_08037DDE:
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_8037CC4
- adds r0, r4, 0
-_08037DEA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8037D64
-
- thumb_func_start sub_8037DF0
-sub_8037DF0:
- push {r4,lr}
- sub sp, 0x8
- movs r4, 0
- movs r0, 0
- mov r1, sp
- movs r2, 0x4
- bl sub_800D670
- add r1, sp, 0x4
- movs r0, 0x1
- movs r2, 0x4
- bl sub_800D670
- ldr r0, [sp]
- cmp r0, 0
- bne _08037E16
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _08037E2C
-_08037E16:
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- bne _08037E24
- ldr r4, [sp, 0x4]
- b _08037E26
-_08037E24:
- ldr r4, [sp]
-_08037E26:
- cmp r4, 0
- bne _08037E2C
- movs r4, 0xE
-_08037E2C:
- adds r0, r4, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8037DF0
-
- thumb_func_start sub_8037E38
-sub_8037E38:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_800D588
- lsls r0, 24
- adds r4, r6, 0
- cmp r0, 0
- bne _08037E4C
- adds r4, r5, 0
-_08037E4C:
- bl sub_800D588
- lsls r0, 24
- adds r3, r5, 0
- cmp r0, 0
- bne _08037E5A
- adds r3, r6, 0
-_08037E5A:
- ldrb r0, [r4]
- ldrb r1, [r3]
- cmp r0, r1
- bne _08037E70
- ldr r0, _08037E6C
- ldr r1, [r0]
- ldrb r0, [r4]
- b _08037E76
- .align 2, 0
-_08037E6C: .4byte gUnknown_203B460
-_08037E70:
- ldr r0, _08037E8C
- ldr r1, [r0]
- ldrb r0, [r3]
-_08037E76:
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, [r3, 0x4]
- adds r2, r0
- strh r2, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08037E8C: .4byte gUnknown_203B460
- thumb_func_end sub_8037E38
-
- thumb_func_start sub_8037E90
-sub_8037E90:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- bne _08037EA2
- adds r4, r5, 0
-_08037EA2:
- movs r0, 0x2
- strb r0, [r4]
- adds r0, r4, 0
- bl sub_80951BC
- ldr r0, [r4, 0x10]
- bl sub_8095274
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8037E90
-
- thumb_func_start nullsub_53
-nullsub_53:
- bx lr
- thumb_func_end nullsub_53
-
- thumb_func_start sub_8037EBC
-sub_8037EBC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- bl sub_800D588
- lsls r0, 24
- adds r5, r4, 0
- cmp r0, 0
- bne _08037ED0
- adds r5, r6, 0
-_08037ED0:
- ldr r1, [r5, 0x10]
- movs r0, 0x1
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r4, r0, 0
- adds r1, r4, 0
- adds r0, r5, 0
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- movs r0, 0x5
- strb r0, [r4]
- adds r0, r4, 0
- bl sub_80951FC
- movs r0, 0x7
- strb r0, [r4]
- movs r0, 0x38
- ldrsh r6, [r5, r0]
- cmp r6, 0
- beq _08037F30
- ldr r4, _08037F2C
- ldr r0, [r4]
- ldr r1, [r5, 0x10]
- stm r0!, {r1}
- adds r1, r5, 0
- adds r1, 0x30
- movs r2, 0x58
- bl memcpy
- ldr r1, [r4]
- movs r0, 0x42
- strb r0, [r1, 0x8]
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- b _08037F40
- .align 2, 0
-_08037F2C: .4byte gUnknown_203B484
-_08037F30:
- ldr r4, _08037F48
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x5C
- bl MemoryFill8
- ldr r0, [r4]
- strh r6, [r0, 0xC]
-_08037F40:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08037F48: .4byte gUnknown_203B484
- thumb_func_end sub_8037EBC
-
- thumb_func_start sub_8037F4C
-sub_8037F4C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- bne _08037F5E
- adds r4, r5, 0
-_08037F5E:
- ldr r1, [r4, 0x10]
- movs r0, 0x4
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r2, r0, 0
- adds r1, r4, 0
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- movs r1, 0x6
- strb r1, [r0]
- bl sub_8035D4C
- cmp r0, 0
- beq _08037F96
- adds r1, r0, 0
- adds r1, 0x3A
- movs r0, 0x1
- strb r0, [r1]
-_08037F96:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8037F4C
-
- thumb_func_start sub_8037F9C
-sub_8037F9C:
- push {lr}
- adds r3, r1, 0
- cmp r0, 0xA
- bhi _08038010
- lsls r0, 2
- ldr r1, _08037FB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08037FB0: .4byte _08037FB4
- .align 2, 0
-_08037FB4:
- .4byte _08037FE0
- .4byte _08037FE0
- .4byte _08038010
- .4byte _08037FF4
- .4byte _08038010
- .4byte _08037FFE
- .4byte _08038010
- .4byte _08037FEA
- .4byte _08038010
- .4byte _08038010
- .4byte _08038008
-_08037FE0:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8037E38
- b _08038010
-_08037FEA:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8037F4C
- b _08038010
-_08037FF4:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8037E90
- b _08038010
-_08037FFE:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8037EBC
- b _08038010
-_08038008:
- adds r0, r3, 0
- adds r1, r2, 0
- bl nullsub_53
-_08038010:
- pop {r0}
- bx r0
- thumb_func_end sub_8037F9C
-
- thumb_func_start sub_8038014
-sub_8038014:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- bl sub_800D588
- lsls r0, 24
- adds r4, r6, 0
- cmp r0, 0
- bne _08038028
- adds r4, r5, 0
-_08038028:
- bl sub_800D588
- lsls r0, 24
- adds r3, r5, 0
- cmp r0, 0
- bne _08038036
- adds r3, r6, 0
-_08038036:
- ldrb r0, [r4]
- ldrb r1, [r3]
- cmp r0, r1
- bne _0803804C
- ldr r0, _08038048
- ldr r1, [r0]
- ldrb r0, [r4]
- b _08038052
- .align 2, 0
-_08038048: .4byte gUnknown_203B460
-_0803804C:
- ldr r0, _08038070
- ldr r1, [r0]
- ldrb r0, [r3]
-_08038052:
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, [r3, 0x4]
- adds r2, r0
- ldr r0, _08038074
- movs r1, 0
- cmp r2, r0
- ble _08038068
- movs r1, 0x6
-_08038068:
- adds r0, r1, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08038070: .4byte gUnknown_203B460
-_08038074: .4byte 0x000003e7
- thumb_func_end sub_8038014
-
- thumb_func_start sub_8038078
-sub_8038078:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- bne _0803808A
- adds r4, r5, 0
-_0803808A:
- ldr r6, [r4, 0x10]
- ldr r0, _08038098
- ldr r0, [r0]
- cmp r0, 0
- beq _0803809C
- ldr r5, [r0, 0x50]
- b _080380A2
- .align 2, 0
-_08038098: .4byte gUnknown_203B184
-_0803809C:
- bl sub_8011C34
- adds r5, r0, 0
-_080380A2:
- movs r0, 0x4
- adds r1, r6, 0
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- beq _080380BA
- ldr r0, [r4, 0x28]
- cmp r0, r5
- bne _080380BA
- movs r0, 0
- b _080380BC
-_080380BA:
- movs r0, 0xB
-_080380BC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8038078
-
- thumb_func_start sub_80380C4
-sub_80380C4:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- bl sub_800D588
- lsls r0, 24
- adds r5, r4, 0
- cmp r0, 0
- bne _080380D8
- adds r5, r6, 0
-_080380D8:
- ldr r4, [r5, 0x10]
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _08038110
- movs r0, 0x4
- adds r1, r4, 0
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _08038110
- movs r0, 0x6
- adds r1, r4, 0
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _08038110
- ldr r0, [r5, 0x10]
- bl sub_8095298
- lsls r0, 24
- cmp r0, 0
- beq _08038114
-_08038110:
- movs r0, 0x7
- b _08038126
-_08038114:
- bl sub_8095190
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _08038124
- movs r0, 0
- b _08038126
-_08038124:
- movs r0, 0xD
-_08038126:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80380C4
-
- thumb_func_start sub_803812C
-sub_803812C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- bne _0803813E
- adds r4, r5, 0
-_0803813E:
- ldr r1, [r4, 0x10]
- movs r0, 0x1
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _08038150
- movs r0, 0x9
- b _08038152
-_08038150:
- movs r0, 0
-_08038152:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803812C
-
- thumb_func_start sub_8038158
-sub_8038158:
- movs r0, 0
- bx lr
- thumb_func_end sub_8038158
-
- thumb_func_start sub_803815C
-sub_803815C:
- push {r4,lr}
- adds r3, r1, 0
- movs r4, 0
- cmp r0, 0xA
- bhi _080381D2
- lsls r0, 2
- ldr r1, _08038170
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08038170: .4byte _08038174
- .align 2, 0
-_08038174:
- .4byte _080381A0
- .4byte _080381A0
- .4byte _080381D2
- .4byte _080381B4
- .4byte _080381D2
- .4byte _080381BE
- .4byte _080381D2
- .4byte _080381AA
- .4byte _080381D2
- .4byte _080381D2
- .4byte _080381C8
-_080381A0:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8038014
- b _080381D0
-_080381AA:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8038078
- b _080381D0
-_080381B4:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_80380C4
- b _080381D0
-_080381BE:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_803812C
- b _080381D0
-_080381C8:
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_8038158
-_080381D0:
- adds r4, r0, 0
-_080381D2:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_803815C
-
- thumb_func_start sub_80381DC
-sub_80381DC:
- push {lr}
- bl sub_8037F9C
- pop {r0}
- bx r0
- thumb_func_end sub_80381DC
-
- thumb_func_start sub_80381E8
-sub_80381E8:
- push {lr}
- bl sub_803815C
- pop {r1}
- bx r1
- thumb_func_end sub_80381E8
-
- thumb_func_start sub_80381F4
-sub_80381F4:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- movs r4, 0
- bl sub_803815C
- str r0, [sp]
- ldr r0, _08038218
- str r4, [r0]
- bl sub_800D494
- mov r0, sp
- movs r1, 0x4
- bl sub_800D59C
- b _0803822E
- .align 2, 0
-_08038218: .4byte gUnknown_202EC4C
-_0803821C:
- subs r0, r4, 0x3
- cmp r0, 0x2
- bls _08038272
- ldr r1, _08038250
- ldr r0, [r1]
- cmp r0, 0x63
- bgt _0803827E
- adds r0, 0x1
- str r0, [r1]
-_0803822E:
- bl sub_80373C4
- bl sub_800D33C
- adds r4, r0, 0
- bl sub_800D570
- cmp r4, 0x2
- bne _0803821C
- bl sub_800D600
- lsls r0, 24
- cmp r0, 0
- beq _08038254
- bl sub_8037DF0
- b _0803825E
- .align 2, 0
-_08038250: .4byte gUnknown_202EC4C
-_08038254:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0x5
-_0803825E:
- str r0, [sp]
- ldr r0, [sp]
- cmp r0, 0
- bne _0803828A
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_8037F9C
- b _08038292
-_08038272:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0x1
- b _08038298
-_0803827E:
- bl sub_800D520
- bl sub_800D510
- movs r0, 0xF
- b _08038298
-_0803828A:
- bl sub_800D520
- bl sub_800D510
-_08038292:
- bl sub_800D520
- ldr r0, [sp]
-_08038298:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80381F4
-
- thumb_func_start sub_80382A0
-sub_80382A0:
- push {lr}
- movs r0, 0
- bl sub_8031F60
- pop {r0}
- bx r0
- thumb_func_end sub_80382A0
-
- thumb_func_start sub_80382AC
-sub_80382AC:
- push {lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- thumb_func_end sub_80382AC
-
- thumb_func_start sub_80382C0
-sub_80382C0:
- push {r4,lr}
- ldr r4, _080382E0
- movs r0, 0x1
- bl sub_8031FD8
- cmp r0, 0x1
- bls _080382D8
- cmp r0, 0x3
- bhi _080382D8
- bl sub_803203C
- movs r4, 0x1
-_080382D8:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080382E0: .4byte 0x0000ffdc
- thumb_func_end sub_80382C0
-
- thumb_func_start sub_80382E4
-sub_80382E4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- ldr r5, _08038398
- ldr r0, [r5]
- cmp r0, 0
- bne _0803830E
- movs r4, 0xDA
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_0803830E:
- mov r12, r5
- movs r0, 0xA4
- lsls r0, 1
- mov r9, r0
- ldr r4, _0803839C
- movs r3, 0
- movs r2, 0x3
-_0803831C:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0803831C
- bl sub_8004914
- ldr r5, _08038398
- ldr r0, [r5]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- mov r7, r8
- cmp r7, 0x25
- bne _08038370
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, r6
- ldr r3, _080383A0
- ldr r2, _080383A4
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x4
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_08038370:
- ldr r0, [r5]
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r1, [r5]
- mov r0, r8
- str r0, [r1]
- movs r0, 0
- str r0, [r1, 0x4]
- bl sub_8038440
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08038398: .4byte gUnknown_203B360
-_0803839C: .4byte gUnknown_80E6E7C
-_080383A0: .4byte gUnknown_80E6E94
-_080383A4: .4byte gUnknown_80E6EAC
- thumb_func_end sub_80382E4
-
- thumb_func_start sub_80383A8
-sub_80383A8:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _080383D0
- ldr r0, [r4]
- cmp r0, 0
- beq _080383C8
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080383C8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080383D0: .4byte gUnknown_203B360
- thumb_func_end sub_80383A8
-
- thumb_func_start sub_80383D4
-sub_80383D4:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r0, 0x2
- str r0, [sp]
- ldr r6, _08038410
- ldr r4, _08038414
- ldr r0, [r4]
- ldr r5, [r0, 0x4]
- cmp r5, 0
- bne _08038434
- adds r0, 0x8
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _080383FE
- ldr r0, [r4]
- adds r0, 0x8
- mov r1, sp
- bl sub_8013114
-_080383FE:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803842C
- cmp r0, 0x2
- bhi _08038418
- cmp r0, 0x1
- beq _0803841C
- b _08038430
- .align 2, 0
-_08038410: .4byte 0x0000ffdc
-_08038414: .4byte gUnknown_203B360
-_08038418:
- cmp r0, 0x3
- bne _08038430
-_0803841C:
- ldr r0, _08038428
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1, 0x4]
- movs r6, 0x1
- b _08038430
- .align 2, 0
-_08038428: .4byte gUnknown_203B360
-_0803842C:
- ldr r0, [r4]
- str r5, [r0, 0x4]
-_08038430:
- bl sub_80384D0
-_08038434:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80383D4
-
- thumb_func_start sub_8038440
-sub_8038440:
- push {r4,r5,lr}
- movs r5, 0
- ldr r0, _080384B0
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0xD4
- lsls r3, 1
- add r3, r12
- ldrh r1, [r3]
- ldr r0, _080384B4
- ands r0, r1
- ldr r1, _080384B8
- ands r0, r1
- ldr r4, _080384BC
- ands r0, r4
- ldr r1, _080384C0
- ands r0, r1
- ldr r1, _080384C4
- ands r0, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080384C8
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r2, 0xF
- movs r4, 0xF0
- lsls r4, 8
- ldr r1, _080384CC
- ands r0, r1
- orrs r0, r4
- strh r0, [r3, 0x4]
- movs r0, 0x70
- strh r0, [r3, 0x2]
- movs r1, 0xE0
- lsls r1, 3
- ldrh r0, [r3, 0x6]
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x6]
- movs r0, 0xD8
- lsls r0, 1
- add r0, r12
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080384B0: .4byte gUnknown_203B360
-_080384B4: .4byte 0x0000feff
-_080384B8: .4byte 0x0000fdff
-_080384BC: .4byte 0x0000f3ff
-_080384C0: .4byte 0x0000efff
-_080384C4: .4byte 0x0000dfff
-_080384C8: .4byte 0x00003fff
-_080384CC: .4byte 0x00000fff
- thumb_func_end sub_8038440
-
- thumb_func_start sub_80384D0
-sub_80384D0:
- push {r4,r5,lr}
- ldr r5, _08038508
- ldr r2, [r5]
- movs r4, 0xD8
- lsls r4, 1
- adds r0, r2, r4
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080384F6
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r2, r1
- subs r1, 0xA8
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080384F6:
- ldr r1, [r5]
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08038508: .4byte gUnknown_203B360
- thumb_func_end sub_80384D0
-
- thumb_func_start sub_803850C
-sub_803850C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- ldr r5, _0803859C
- ldr r0, [r5]
- cmp r0, 0
- bne _08038536
- movs r4, 0xDA
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_08038536:
- mov r12, r5
- movs r0, 0xA4
- lsls r0, 1
- mov r9, r0
- ldr r4, _080385A0
- movs r3, 0
- movs r2, 0x3
-_08038544:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08038544
- bl sub_8004914
- ldr r4, _0803859C
- ldr r0, [r4]
- movs r6, 0xA4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- mov r7, r8
- cmp r7, 0x2E
- bne _080385AC
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, r6
- ldr r3, _080385A4
- ldr r2, _080385A8
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _080385CE
- .align 2, 0
-_0803859C: .4byte gUnknown_203B364
-_080385A0: .4byte gUnknown_80E6F20
-_080385A4: .4byte gUnknown_80E6F38
-_080385A8: .4byte gUnknown_80E7090
-_080385AC:
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _080385F8
- ldr r2, _080385FC
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_080385CE:
- ldr r4, _08038600
- ldr r0, [r4]
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0x4]
- mov r5, r8
- str r5, [r1]
- bl sub_8038830
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080385F8: .4byte gUnknown_80E6F38
-_080385FC: .4byte gUnknown_80E6F50
-_08038600: .4byte gUnknown_203B364
- thumb_func_end sub_803850C
-
- thumb_func_start sub_8038604
-sub_8038604:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0803862C
- ldr r0, [r4]
- cmp r0, 0
- beq _08038624
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08038624:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803862C: .4byte gUnknown_203B364
- thumb_func_end sub_8038604
-
- thumb_func_start sub_8038630
-sub_8038630:
- push {r4-r6,lr}
- sub sp, 0x18
- ldr r5, _080386A8
- movs r0, 0x3
- str r0, [sp, 0x14]
- ldr r6, _080386AC
- ldr r0, [r6]
- ldr r4, [r0, 0x4]
- cmp r4, 0x1
- bne _08038646
- b _08038798
-_08038646:
- cmp r4, 0x1
- bcc _0803864C
- b _08038824
-_0803864C:
- adds r0, 0x8
- bl sub_8012FD8
- movs r5, 0
- str r5, [sp, 0x10]
- bl sub_80140F8
- bl sub_8011C1C
- adds r1, r0, 0
- add r0, sp, 0x10
- bl sub_801203C
- adds r4, r0, 0
- bl sub_8014114
- cmp r4, 0
- beq _080386B8
- cmp r4, 0x1
- beq _08038738
- ldr r0, [r6]
- movs r4, 0xA4
- lsls r4, 1
- adds r0, r4
- movs r1, 0
- bl sub_8035CC0
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x2E
- bne _08038750
- adds r0, r1, 0
- adds r0, 0x8
- adds r1, r4
- ldr r3, _080386B0
- ldr r2, _080386B4
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _0803876E
- .align 2, 0
-_080386A8: .4byte 0x0000ffdc
-_080386AC: .4byte gUnknown_203B364
-_080386B0: .4byte gUnknown_80E6F38
-_080386B4: .4byte gUnknown_80E7114
-_080386B8:
- ldr r0, [r6]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- bl sub_8035CC0
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x2E
- bne _080386F8
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _080386F0
- ldr r2, _080386F4
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _08038716
- .align 2, 0
-_080386F0: .4byte gUnknown_80E6F38
-_080386F4: .4byte gUnknown_80E70CC
-_080386F8:
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038728
- ldr r2, _0803872C
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_08038716:
- ldr r4, _08038730
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2D
- bne _08038734
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r0, 0x13
- b _08038826
- .align 2, 0
-_08038728: .4byte gUnknown_80E6F38
-_0803872C: .4byte gUnknown_80E6FBC
-_08038730: .4byte gUnknown_203B364
-_08038734:
- adds r0, r1, 0
- b _08038772
-_08038738:
- ldr r0, _0803874C
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- ldr r1, [r6]
- movs r0, 0x5
- b _08038780
- .align 2, 0
-_0803874C: .4byte gUnknown_80E7178
-_08038750:
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038788
- ldr r2, _0803878C
- str r2, [sp]
- str r5, [sp, 0x4]
- movs r2, 0x6
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_0803876E:
- ldr r4, _08038790
- ldr r0, [r4]
-_08038772:
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- ldr r1, [r4]
- movs r0, 0x1
-_08038780:
- str r0, [r1, 0x4]
- ldr r5, _08038794
- b _08038824
- .align 2, 0
-_08038788: .4byte gUnknown_80E6F38
-_0803878C: .4byte gUnknown_80E701C
-_08038790: .4byte gUnknown_203B364
-_08038794: .4byte 0x0000ffdc
-_08038798:
- adds r0, 0x8
- bl sub_80130A8
- lsls r0, 24
- cmp r0, 0
- bne _080387AE
- ldr r0, [r6]
- adds r0, 0x8
- add r1, sp, 0x14
- bl sub_8013114
-_080387AE:
- ldr r0, [sp, 0x14]
- cmp r0, 0x3
- beq _0803881C
- cmp r0, 0x3
- bhi _080387BE
- cmp r0, 0x2
- beq _080387C2
- b _08038820
-_080387BE:
- cmp r0, 0x4
- bne _08038820
-_080387C2:
- ldr r4, _080387D8
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x29
- beq _080387D0
- cmp r0, 0x2E
- bne _080387DC
-_080387D0:
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x1
- b _08038820
- .align 2, 0
-_080387D8: .4byte gUnknown_203B364
-_080387DC:
- cmp r0, 0x2D
- bne _080387E8
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x13
- b _08038820
-_080387E8:
- cmp r0, 0x2C
- bne _080387F4
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x1F
- b _08038820
-_080387F4:
- bl sub_8035D4C
- adds r0, 0x3A
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803880A
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0x4]
- movs r5, 0x35
- b _08038820
-_0803880A:
- ldr r0, [r4]
- movs r1, 0x1
- str r1, [r0, 0x4]
- ldr r0, [r0]
- movs r5, 0xB
- cmp r0, 0x2B
- bne _08038820
- movs r5, 0xD
- b _08038820
-_0803881C:
- ldr r0, [r6]
- str r4, [r0, 0x4]
-_08038820:
- bl sub_80388C4
-_08038824:
- adds r0, r5, 0
-_08038826:
- add sp, 0x18
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8038630
-
- thumb_func_start sub_8038830
-sub_8038830:
- push {r4,r5,lr}
- movs r5, 0
- ldr r0, _080388A4
- ldr r0, [r0]
- mov r12, r0
- movs r3, 0xD4
- lsls r3, 1
- add r3, r12
- ldrh r1, [r3]
- ldr r0, _080388A8
- ands r0, r1
- ldr r1, _080388AC
- ands r0, r1
- ldr r4, _080388B0
- ands r0, r4
- ldr r1, _080388B4
- ands r0, r1
- ldr r1, _080388B8
- ands r0, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080388BC
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r2, 0xF
- movs r4, 0xF0
- lsls r4, 8
- ldr r1, _080388C0
- ands r0, r1
- orrs r0, r4
- strh r0, [r3, 0x4]
- movs r0, 0x70
- strh r0, [r3, 0x2]
- movs r1, 0xD0
- lsls r1, 3
- ldrh r0, [r3, 0x6]
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x6]
- movs r0, 0xD8
- lsls r0, 1
- add r0, r12
- str r5, [r0]
- movs r0, 0
- bl sub_8004D8C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080388A4: .4byte gUnknown_203B364
-_080388A8: .4byte 0x0000feff
-_080388AC: .4byte 0x0000fdff
-_080388B0: .4byte 0x0000f3ff
-_080388B4: .4byte 0x0000efff
-_080388B8: .4byte 0x0000dfff
-_080388BC: .4byte 0x00003fff
-_080388C0: .4byte 0x00000fff
- thumb_func_end sub_8038830
-
- thumb_func_start sub_80388C4
-sub_80388C4:
- push {r4,r5,lr}
- ldr r5, _080388FC
- ldr r2, [r5]
- movs r4, 0xD8
- lsls r4, 1
- adds r0, r2, r4
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080388EA
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r2, r1
- subs r1, 0xA8
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080388EA:
- ldr r1, [r5]
- adds r1, r4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080388FC: .4byte gUnknown_203B364
- thumb_func_end sub_80388C4
-
- thumb_func_start sub_8038900
-sub_8038900:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- ldr r5, _080389B8
- ldr r0, [r5]
- cmp r0, 0
- bne _0803892A
- movs r4, 0x85
- lsls r4, 2
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_0803892A:
- movs r0, 0x1B
- negs r0, r0
- adds r0, r6
- mov r8, r0
- mov r12, r5
- movs r1, 0xA4
- lsls r1, 1
- mov r9, r1
- ldr r4, _080389BC
- mov r10, r4
- movs r3, 0
- movs r2, 0x3
-_08038942:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r9
- mov r0, r10
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- ldm r0!, {r4,r5,r7}
- stm r1!, {r4,r5,r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _08038942
- bl sub_8004914
- ldr r4, _080389B8
- ldr r0, [r4]
- movs r7, 0xA4
- lsls r7, 1
- adds r0, r7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r2, _080389C0
- ldrb r0, [r2]
- cmp r0, 0
- bne _08038986
- ldr r0, _080389C4
- ldr r1, [r0]
- adds r7, r4, 0
- adds r5, r0, 0
- cmp r1, r6
- beq _080389A0
-_08038986:
- adds r7, r4, 0
- adds r3, r2, 0
- ldr r5, _080389C4
- ldr r1, _080389C8
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x35
-_08038994:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08038994
- movs r0, 0
- strb r0, [r3]
-_080389A0:
- ldr r0, [r7]
- str r6, [r0]
- str r6, [r5]
- mov r0, r8
- cmp r0, 0x7
- bhi _08038A36
- lsls r0, 2
- ldr r1, _080389CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080389B8: .4byte gUnknown_203B370
-_080389BC: .4byte gUnknown_80E71E4
-_080389C0: .4byte gUnknown_203B368
-_080389C4: .4byte gUnknown_203B36C
-_080389C8: .4byte gUnknown_202EC50
-_080389CC: .4byte _080389D0
- .align 2, 0
-_080389D0:
- .4byte _080389F0
- .4byte _080389FC
- .4byte _080389F0
- .4byte _080389FC
- .4byte _080389F0
- .4byte _080389FC
- .4byte _08038A0C
- .4byte _08038A2E
-_080389F0:
- bl sub_8035D74
- movs r1, 0
- bl sub_8031D70
- b _08038A36
-_080389FC:
- ldr r1, _08038A08
- movs r0, 0x4
- bl sub_80151C0
- b _08038A36
- .align 2, 0
-_08038A08: .4byte gUnknown_202EC50
-_08038A0C:
- movs r0, 0x1F
- bl sub_8095228
- adds r4, r0, 0
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- movs r1, 0
- movs r0, 0x2
- strb r0, [r4]
- adds r4, 0x22
- strb r1, [r4]
- movs r0, 0x1F
- bl sub_8031D70
- b _08038A36
-_08038A2E:
- ldr r1, _08038A54
- movs r0, 0x4
- bl sub_80151C0
-_08038A36:
- adds r0, r6, 0
- bl sub_8039000
- ldr r1, _08038A58
- ldr r1, [r1]
- str r0, [r1, 0x4]
- bl sub_8039174
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08038A54: .4byte gUnknown_202EC50
-_08038A58: .4byte gUnknown_203B370
- thumb_func_end sub_8038900
-
- thumb_func_start sub_8038A5C
-sub_8038A5C:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08038A8C
- ldr r0, [r4]
- cmp r0, 0
- beq _08038A86
- bl sub_80155F0
- bl sub_8031E10
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08038A86:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08038A8C: .4byte gUnknown_203B370
- thumb_func_end sub_8038A5C
-
- thumb_func_start sub_8038A90
-sub_8038A90:
- push {r4-r6,lr}
- sub sp, 0x34
- movs r0, 0xB
- str r0, [sp, 0x30]
- ldr r5, _08038AB4
- ldr r1, _08038AB8
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- adds r6, r1, 0
- cmp r0, 0x9
- bls _08038AA8
- b _08038DB0
-_08038AA8:
- lsls r0, 2
- ldr r1, _08038ABC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08038AB4: .4byte 0x0000ffdc
-_08038AB8: .4byte gUnknown_203B370
-_08038ABC: .4byte _08038AC0
- .align 2, 0
-_08038AC0:
- .4byte _08038AE8
- .4byte _08038AFC
- .4byte _08038AE8
- .4byte _08038AFC
- .4byte _08038AE8
- .4byte _08038AFC
- .4byte _08038C78
- .4byte _08038C8C
- .4byte _08038CC2
- .4byte _08038D38
-_08038AE8:
- bl sub_8031DCC
- ldr r5, _08038AF8
- cmp r0, 0
- bne _08038AF4
- b _08038DB0
-_08038AF4:
- movs r5, 0xB
- b _08038DB0
- .align 2, 0
-_08038AF8: .4byte 0x0000ffdc
-_08038AFC:
- bl sub_80154F0
- adds r4, r0, 0
- mov r0, sp
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- cmp r4, 0x1
- bne _08038B12
- b _08038CBC
-_08038B12:
- cmp r4, 0x1
- bcs _08038B18
- b _08038CB0
-_08038B18:
- cmp r4, 0x2
- beq _08038AF4
- cmp r4, 0x3
- beq _08038B22
- b _08038DB0
-_08038B22:
- ldr r0, _08038B44
- ldr r0, [r0]
- ldr r0, [r0]
- ldr r1, _08038B48
- mov r2, sp
- bl sub_8039068
- subs r0, 0x7
- cmp r0, 0x11
- bls _08038B38
- b _08038DB0
-_08038B38:
- lsls r0, 2
- ldr r1, _08038B4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08038B44: .4byte gUnknown_203B370
-_08038B48: .4byte gUnknown_202EC50
-_08038B4C: .4byte _08038B50
- .align 2, 0
-_08038B50:
- .4byte _08038BA4
- .4byte _08038DB0
- .4byte _08038BD8
- .4byte _08038DB0
- .4byte _08038C28
- .4byte _08038DB0
- .4byte _08038B9C
- .4byte _08038DB0
- .4byte _08038DB0
- .4byte _08038DB0
- .4byte _08038B98
- .4byte _08038BA0
- .4byte _08038BD4
- .4byte _08038C24
- .4byte _08038DB0
- .4byte _08038BA8
- .4byte _08038BDC
- .4byte _08038C2C
-_08038B98:
- movs r0, 0x11
- b _08038CA4
-_08038B9C:
- movs r0, 0xD
- b _08038CA4
-_08038BA0:
- movs r0, 0x12
- b _08038CA4
-_08038BA4:
- movs r0, 0x7
- b _08038CA4
-_08038BA8:
- ldr r0, [sp, 0x10]
- bl sub_8095274
- bl sub_8038F98
- ldr r0, _08038BCC
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x4]
- ldr r5, _08038BD0
- mov r1, sp
- movs r0, 0x2
- strb r0, [r1]
- mov r0, sp
- bl sub_80951BC
- b _08038DB0
- .align 2, 0
-_08038BCC: .4byte gUnknown_203B370
-_08038BD0: .4byte 0x0000ffdc
-_08038BD4:
- movs r0, 0x13
- b _08038CA4
-_08038BD8:
- movs r0, 0x9
- b _08038CA4
-_08038BDC:
- bl sub_8038F98
- ldr r0, _08038C18
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x4]
- ldr r5, _08038C1C
- mov r1, sp
- movs r0, 0x5
- strb r0, [r1]
- mov r0, sp
- bl sub_80951FC
- ldr r1, [sp, 0x10]
- movs r0, 0x1
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- movs r1, 0x7
- strb r1, [r0]
- ldr r0, _08038C20
- movs r1, 0
- movs r2, 0x5C
- bl MemoryFill8
- b _08038DB0
- .align 2, 0
-_08038C18: .4byte gUnknown_203B370
-_08038C1C: .4byte 0x0000ffdc
-_08038C20: .4byte gUnknown_203B484
-_08038C24:
- movs r0, 0x14
- b _08038CA4
-_08038C28:
- movs r0, 0xB
- b _08038CA4
-_08038C2C:
- bl sub_8038F98
- ldr r0, _08038C70
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x4]
- ldr r5, _08038C74
- ldr r1, [sp, 0x10]
- movs r0, 0x4
- bl sub_809539C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r2, r0, 0
- mov r1, sp
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r1!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- movs r1, 0x6
- strb r1, [r0]
- bl sub_8035D4C
- adds r0, 0x3A
- movs r1, 0x1
- strb r1, [r0]
- b _08038DB0
- .align 2, 0
-_08038C70: .4byte gUnknown_203B370
-_08038C74: .4byte 0x0000ffdc
-_08038C78:
- bl sub_8031DCC
- ldr r5, _08038C88
- cmp r0, 0
- bne _08038C84
- b _08038DB0
-_08038C84:
- movs r5, 0xD
- b _08038DB0
- .align 2, 0
-_08038C88: .4byte 0x0000ffdc
-_08038C8C:
- bl sub_80154F0
- cmp r0, 0x1
- beq _08038CBC
- cmp r0, 0x1
- bcc _08038CB0
- cmp r0, 0x2
- beq _08038C84
- cmp r0, 0x3
- beq _08038CA2
- b _08038DB0
-_08038CA2:
- movs r0, 0x15
-_08038CA4:
- bl sub_8038DC0
- ldr r0, _08038CB4
- ldr r1, [r0]
- movs r0, 0x8
- str r0, [r1, 0x4]
-_08038CB0:
- ldr r5, _08038CB8
- b _08038DB0
- .align 2, 0
-_08038CB4: .4byte gUnknown_203B370
-_08038CB8: .4byte 0x0000ffdc
-_08038CBC:
- bl sub_8031E00
- b _08038CB0
-_08038CC2:
- ldr r0, [r6]
- adds r0, 0x8
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08038CDA
- ldr r0, [r6]
- adds r0, 0x8
- add r1, sp, 0x30
- bl sub_8013114
-_08038CDA:
- ldr r0, [sp, 0x30]
- cmp r0, 0xB
- beq _08038D24
- cmp r0, 0xB
- bhi _08038CEA
- cmp r0, 0xA
- beq _08038CEE
- b _08038DB0
-_08038CEA:
- cmp r0, 0xC
- bne _08038DB0
-_08038CEE:
- bl sub_8039174
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, _08038D1C
- movs r0, 0x4
- bl sub_80151C0
- ldr r0, _08038D20
- ldr r1, [r0]
- movs r0, 0x8
- str r0, [r1, 0x4]
- ldr r0, [r1]
- subs r0, 0x21
- movs r5, 0xB
- cmp r0, 0x1
- bhi _08038DB0
- b _08038C84
- .align 2, 0
-_08038D1C: .4byte gUnknown_202EC50
-_08038D20: .4byte gUnknown_203B370
-_08038D24:
- ldr r1, [r6]
- movs r0, 0x8
- str r0, [r1, 0x4]
- ldr r5, _08038D34
- bl sub_80391F8
- b _08038DB0
- .align 2, 0
-_08038D34: .4byte 0x0000ffdc
-_08038D38:
- adds r4, r6, 0
- ldr r0, [r4]
- adds r0, 0x8
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08038D52
- ldr r0, [r4]
- adds r0, 0x8
- add r1, sp, 0x30
- bl sub_8013114
-_08038D52:
- ldr r0, [sp, 0x30]
- cmp r0, 0xB
- beq _08038DA4
- cmp r0, 0xB
- bhi _08038D62
- cmp r0, 0xA
- beq _08038D66
- b _08038DB0
-_08038D62:
- cmp r0, 0xC
- bne _08038DB0
-_08038D66:
- bl sub_8039174
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, _08038D9C
- movs r0, 0x4
- bl sub_80151C0
- ldr r4, _08038DA0
- ldr r0, [r4]
- ldr r0, [r0]
- bl sub_8039000
- ldr r1, [r4]
- str r0, [r1, 0x4]
- ldr r0, [r1]
- subs r0, 0x21
- movs r5, 0x2A
- cmp r0, 0x1
- bhi _08038DB0
- movs r5, 0x2B
- b _08038DB0
- .align 2, 0
-_08038D9C: .4byte gUnknown_202EC50
-_08038DA0: .4byte gUnknown_203B370
-_08038DA4:
- ldr r1, [r6]
- movs r0, 0x9
- str r0, [r1, 0x4]
- ldr r5, _08038DBC
- bl sub_80391F8
-_08038DB0:
- adds r0, r5, 0
- add sp, 0x34
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08038DBC: .4byte 0x0000ffdc
- thumb_func_end sub_8038A90
-
- thumb_func_start sub_8038DC0
-sub_8038DC0:
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r0, _08038DF8
- ldr r0, [r0]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_80155F0
- subs r0, r4, 0x7
- cmp r0, 0xE
- bls _08038DEE
- b _08038F74
-_08038DEE:
- lsls r0, 2
- ldr r1, _08038DFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08038DF8: .4byte gUnknown_203B370
-_08038DFC: .4byte _08038E00
- .align 2, 0
-_08038E00:
- .4byte _08038E7C
- .4byte _08038F74
- .4byte _08038EDC
- .4byte _08038F74
- .4byte _08038F1C
- .4byte _08038F74
- .4byte _08038E9C
- .4byte _08038F74
- .4byte _08038F74
- .4byte _08038F74
- .4byte _08038E3C
- .4byte _08038E5C
- .4byte _08038EBC
- .4byte _08038EFC
- .4byte _08038F50
-_08038E3C:
- ldr r0, _08038E50
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038E54
- ldr r2, _08038E58
- b _08038F2E
- .align 2, 0
-_08038E50: .4byte gUnknown_203B370
-_08038E54: .4byte gUnknown_80E71FC
-_08038E58: .4byte gUnknown_80E7214
-_08038E5C:
- ldr r0, _08038E70
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038E74
- ldr r2, _08038E78
- b _08038F2E
- .align 2, 0
-_08038E70: .4byte gUnknown_203B370
-_08038E74: .4byte gUnknown_80E72EC
-_08038E78: .4byte gUnknown_80E7304
-_08038E7C:
- ldr r0, _08038E90
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038E94
- ldr r2, _08038E98
- b _08038F2E
- .align 2, 0
-_08038E90: .4byte gUnknown_203B370
-_08038E94: .4byte gUnknown_80E7344
-_08038E98: .4byte gUnknown_80E735C
-_08038E9C:
- ldr r0, _08038EB0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038EB4
- ldr r2, _08038EB8
- b _08038F2E
- .align 2, 0
-_08038EB0: .4byte gUnknown_203B370
-_08038EB4: .4byte gUnknown_80E7588
-_08038EB8: .4byte gUnknown_80E75A0
-_08038EBC:
- ldr r0, _08038ED0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038ED4
- ldr r2, _08038ED8
- b _08038F2E
- .align 2, 0
-_08038ED0: .4byte gUnknown_203B370
-_08038ED4: .4byte gUnknown_80E73AC
-_08038ED8: .4byte gUnknown_80E73C4
-_08038EDC:
- ldr r0, _08038EF0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038EF4
- ldr r2, _08038EF8
- b _08038F2E
- .align 2, 0
-_08038EF0: .4byte gUnknown_203B370
-_08038EF4: .4byte gUnknown_80E7408
-_08038EF8: .4byte gUnknown_80E7420
-_08038EFC:
- ldr r0, _08038F10
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038F14
- ldr r2, _08038F18
- b _08038F2E
- .align 2, 0
-_08038F10: .4byte gUnknown_203B370
-_08038F14: .4byte gUnknown_80E7468
-_08038F18: .4byte gUnknown_80E7480
-_08038F1C:
- ldr r0, _08038F44
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038F48
- ldr r2, _08038F4C
-_08038F2E:
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0xD
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- b _08038F74
- .align 2, 0
-_08038F44: .4byte gUnknown_203B370
-_08038F48: .4byte gUnknown_80E74C8
-_08038F4C: .4byte gUnknown_80E74E0
-_08038F50:
- ldr r0, _08038F8C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038F90
- ldr r2, _08038F94
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0xD
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
-_08038F74:
- ldr r0, _08038F8C
- ldr r0, [r0]
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08038F8C: .4byte gUnknown_203B370
-_08038F90: .4byte gUnknown_80E752C
-_08038F94: .4byte gUnknown_80E7544
- thumb_func_end sub_8038DC0
-
- thumb_func_start sub_8038F98
-sub_8038F98:
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, _08038FF4
- ldr r0, [r5]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_80155F0
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r2
- ldr r3, _08038FF8
- ldr r2, _08038FFC
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r2, 0xD
- str r2, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- ldr r0, [r5]
- adds r0, 0x8
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08038FF4: .4byte gUnknown_203B370
-_08038FF8: .4byte gUnknown_80E7278
-_08038FFC: .4byte gUnknown_80E7290
- thumb_func_end sub_8038F98
-
- thumb_func_start sub_8039000
-sub_8039000:
- push {lr}
- movs r1, 0xB
- ldr r0, _0803901C
- ldr r0, [r0]
- ldr r0, [r0]
- subs r0, 0x1B
- cmp r0, 0x7
- bhi _08039062
- lsls r0, 2
- ldr r1, _08039020
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803901C: .4byte gUnknown_203B370
-_08039020: .4byte _08039024
- .align 2, 0
-_08039024:
- .4byte _08039044
- .4byte _08039054
- .4byte _0803904C
- .4byte _0803905C
- .4byte _08039048
- .4byte _08039058
- .4byte _08039050
- .4byte _08039060
-_08039044:
- movs r1, 0
- b _08039062
-_08039048:
- movs r1, 0x4
- b _08039062
-_0803904C:
- movs r1, 0x2
- b _08039062
-_08039050:
- movs r1, 0x6
- b _08039062
-_08039054:
- movs r1, 0x1
- b _08039062
-_08039058:
- movs r1, 0x5
- b _08039062
-_0803905C:
- movs r1, 0x3
- b _08039062
-_08039060:
- movs r1, 0x7
-_08039062:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_8039000
-
- thumb_func_start sub_8039068
-sub_8039068:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0
- adds r1, r5, 0
- bl sub_803D204
- lsls r0, 24
- cmp r0, 0
- beq _080390AC
- ldrb r0, [r5]
- cmp r0, 0x7
- bhi _080390AC
- ldrb r4, [r5, 0x5]
- ldrb r0, [r5, 0x4]
- bl sub_8090298
- cmp r4, r0
- bge _080390AC
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _080390AC
- ldr r0, _080390B0
- cmp r1, r0
- bgt _080390AC
- adds r0, r5, 0
- adds r0, 0x22
- ldrb r0, [r0]
- bl sub_8092040
- lsls r0, 24
- cmp r0, 0
- beq _080390B4
-_080390AC:
- movs r0, 0x11
- b _0803916E
- .align 2, 0
-_080390B0: .4byte 0x000001a7
-_080390B4:
- cmp r6, 0x1E
- beq _08039120
- cmp r6, 0x1E
- bhi _080390C2
- cmp r6, 0x1C
- beq _080390C8
- b _0803916A
-_080390C2:
- cmp r6, 0x20
- beq _08039140
- b _0803916A
-_080390C8:
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _080390D2
- movs r0, 0x12
- b _0803916E
-_080390D2:
- ldr r1, [r5, 0x10]
- movs r0, 0x2
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _08039108
- ldr r1, [r5, 0x10]
- movs r0, 0x4
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _08039108
- ldr r1, [r5, 0x10]
- movs r0, 0x6
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _08039108
- ldr r0, [r5, 0x10]
- bl sub_8095298
- lsls r0, 24
- cmp r0, 0
- beq _0803910C
-_08039108:
- movs r0, 0x7
- b _0803916E
-_0803910C:
- bl sub_8095190
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803911C
- movs r0, 0xD
- b _0803916E
-_0803911C:
- movs r0, 0x16
- b _0803916E
-_08039120:
- ldrb r0, [r5]
- cmp r0, 0x4
- beq _0803912A
- movs r0, 0x13
- b _0803916E
-_0803912A:
- ldr r1, [r5, 0x10]
- movs r0, 0x1
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- bne _0803913C
- movs r0, 0x9
- b _0803916E
-_0803913C:
- movs r0, 0x17
- b _0803916E
-_08039140:
- ldrb r0, [r5]
- cmp r0, 0x5
- beq _0803914A
- movs r0, 0x14
- b _0803916E
-_0803914A:
- ldr r1, [r5, 0x10]
- movs r0, 0x4
- bl sub_80952F0
- lsls r0, 24
- cmp r0, 0
- beq _08039162
- bl sub_8011C34
- ldr r1, [r5, 0x28]
- cmp r1, r0
- beq _08039166
-_08039162:
- movs r0, 0xB
- b _0803916E
-_08039166:
- movs r0, 0x18
- b _0803916E
-_0803916A:
- movs r0, 0x1
- negs r0, r0
-_0803916E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8039068
-
- thumb_func_start sub_8039174
-sub_8039174:
- push {r4,lr}
- ldr r0, _080391D8
- ldr r3, [r0]
- movs r0, 0x82
- lsls r0, 2
- adds r3, r0
- ldrh r1, [r3]
- ldr r0, _080391DC
- ands r0, r1
- ldr r1, _080391E0
- ands r0, r1
- ldr r4, _080391E4
- ands r0, r4
- ldr r1, _080391E8
- ands r0, r1
- ldr r1, _080391EC
- ands r0, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080391F0
- ands r0, r1
- orrs r0, r2
- strh r0, [r3]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r4
- movs r2, 0xF
- movs r4, 0xF0
- lsls r4, 8
- ldr r1, _080391F4
- ands r0, r1
- orrs r0, r4
- strh r0, [r3, 0x4]
- movs r0, 0
- strh r0, [r3, 0x2]
- movs r1, 0xC0
- lsls r1, 4
- ldrh r0, [r3, 0x6]
- ands r2, r0
- orrs r2, r1
- strh r2, [r3, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080391D8: .4byte gUnknown_203B370
-_080391DC: .4byte 0x0000feff
-_080391E0: .4byte 0x0000fdff
-_080391E4: .4byte 0x0000f3ff
-_080391E8: .4byte 0x0000efff
-_080391EC: .4byte 0x0000dfff
-_080391F0: .4byte 0x00003fff
-_080391F4: .4byte 0x00000fff
- thumb_func_end sub_8039174
-
- thumb_func_start sub_80391F8
-sub_80391F8:
- push {r4-r6,lr}
- ldr r6, _08039250
- ldr r2, [r6]
- movs r0, 0x82
- lsls r0, 2
- adds r4, r2, r0
- ldrh r1, [r4, 0x2]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r1
- movs r1, 0x70
- orrs r0, r1
- strh r0, [r4, 0x2]
- movs r3, 0xE0
- lsls r3, 3
- ldrh r1, [r4, 0x6]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r3
- strh r0, [r4, 0x6]
- movs r5, 0x84
- lsls r5, 2
- adds r2, r5
- ldr r0, [r2]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0803923C
- adds r1, 0xF8
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_0803923C:
- bl xxx_draw_string_80144C4
- ldr r1, [r6]
- adds r1, r5
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08039250: .4byte gUnknown_203B370
- thumb_func_end sub_80391F8
-
- thumb_func_start sub_8039254
-sub_8039254:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r6, r0, 0
- ldr r5, _080392EC
- ldr r0, [r5]
- cmp r0, 0
- bne _0803927C
- movs r4, 0x9F
- lsls r4, 2
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_0803927C:
- ldr r0, [r5]
- str r6, [r0]
- mov r12, r5
- movs r0, 0xA2
- lsls r0, 1
- mov r8, r0
- ldr r4, _080392F0
- movs r3, 0
- movs r2, 0x3
-_0803928E:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0803928E
- bl sub_8004914
- ldr r6, _080392EC
- ldr r0, [r6]
- movs r5, 0xA2
- lsls r5, 1
- adds r0, r5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _080392F4
- ldr r2, _080392F8
- str r2, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r7, 0x6
- str r7, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0
- bl SetMenuItems
- ldr r1, [r6]
- ldr r0, [r1]
- cmp r0, 0x7
- beq _08039306
- cmp r0, 0x7
- bhi _080392FC
- cmp r0, 0x6
- beq _08039338
- b _08039382
- .align 2, 0
-_080392EC: .4byte gUnknown_203B374
-_080392F0: .4byte gUnknown_80E75F8
-_080392F4: .4byte gUnknown_80E7610
-_080392F8: .4byte gUnknown_203B378
-_080392FC:
- cmp r0, 0x8
- beq _0803934C
- cmp r0, 0x9
- beq _0803936C
- b _08039382
-_08039306:
- bl sub_8039844
- lsls r0, 24
- cmp r0, 0
- beq _08039324
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _0803931C
- ldr r2, _08039320
- b _08039354
- .align 2, 0
-_0803931C: .4byte gUnknown_80E762C
-_08039320: .4byte gUnknown_80E7644
-_08039324:
- ldr r1, [r6]
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _08039330
- ldr r2, _08039334
- b _08039354
- .align 2, 0
-_08039330: .4byte gUnknown_80E762C
-_08039334: .4byte gUnknown_80E7684
-_08039338:
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _08039344
- ldr r2, _08039348
- b _08039354
- .align 2, 0
-_08039344: .4byte gUnknown_80E762C
-_08039348: .4byte gUnknown_80E76B8
-_0803934C:
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _08039364
- ldr r2, _08039368
-_08039354:
- str r2, [sp]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0x1
- bl SetMenuItems
- b _08039382
- .align 2, 0
-_08039364: .4byte gUnknown_80E762C
-_08039368: .4byte gUnknown_80E76E8
-_0803936C:
- adds r0, r1, 0x4
- adds r1, r5
- ldr r3, _080393DC
- ldr r2, _080393E0
- str r2, [sp]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r2, 0x1
- bl SetMenuItems
-_08039382:
- ldr r4, _080393E4
- ldr r1, [r4]
- adds r0, r1, 0x4
- movs r6, 0xA2
- lsls r6, 1
- adds r1, r6
- ldr r3, _080393E8
- ldr r2, _080393EC
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0x2
- str r2, [sp, 0x8]
- movs r2, 0
- str r2, [sp, 0xC]
- movs r2, 0x2
- bl SetMenuItems
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x1
- movs r2, 0
- bl sub_8035CF4
- ldr r0, [r4]
- adds r0, 0x4
- movs r1, 0x2
- movs r2, 0x1
- bl sub_8035CF4
- bl sub_80394A4
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080393DC: .4byte gUnknown_80E762C
-_080393E0: .4byte gUnknown_80E7730
-_080393E4: .4byte gUnknown_203B374
-_080393E8: .4byte gUnknown_80E7784
-_080393EC: .4byte gUnknown_80E779C
- thumb_func_end sub_8039254
-
- thumb_func_start sub_80393F0
-sub_80393F0:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _08039418
- ldr r0, [r4]
- cmp r0, 0
- beq _08039410
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08039410:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08039418: .4byte gUnknown_203B374
- thumb_func_end sub_80393F0
-
- thumb_func_start sub_803941C
-sub_803941C:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08039458
- movs r0, 0x4
- str r0, [sp]
- ldr r4, _0803945C
- ldr r0, [r4]
- adds r0, 0x54
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0xA4
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _08039448
- ldr r0, [r4]
- adds r0, 0xA4
- mov r1, sp
- bl sub_8013114
-_08039448:
- ldr r0, [sp]
- cmp r0, 0x3
- bhi _08039498
- cmp r0, 0x2
- bcs _08039460
- cmp r0, 0x1
- beq _08039464
- b _08039498
- .align 2, 0
-_08039458: .4byte 0x0000ffdc
-_0803945C: .4byte gUnknown_203B374
-_08039460:
- movs r5, 0x1
- b _08039498
-_08039464:
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0x7
- beq _08039480
- cmp r0, 0x7
- bhi _08039476
- cmp r0, 0x6
- beq _08039484
- b _08039498
-_08039476:
- cmp r0, 0x8
- beq _0803948E
- cmp r0, 0x9
- beq _08039492
- b _08039498
-_08039480:
- movs r5, 0x2
- b _08039498
-_08039484:
- movs r0, 0
- bl sub_8095240
- movs r5, 0x4
- b _08039498
-_0803948E:
- movs r5, 0x9
- b _08039498
-_08039492:
- bl sub_80122A8
- movs r5, 0x2E
-_08039498:
- adds r0, r5, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803941C
-
- thumb_func_start sub_80394A4
-sub_80394A4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x150
- bl sub_8011FA8
- mov r8, r0
- movs r0, 0
- bl sub_8008C54
- movs r0, 0
- bl sub_80073B8
- ldr r2, _0803952C
- movs r4, 0
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039530
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0xC
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039534
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x18
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039538
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x24
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _0803953C
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x30
- movs r3, 0
- bl xxx_call_draw_string
- ldr r2, _08039540
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x3C
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _08039544
- add r4, sp, 0x68
- adds r0, r4, 0
- bl sub_80920D8
- adds r2, r4, 0
- b _0803954E
- .align 2, 0
-_0803952C: .4byte gUnknown_80E77BC
-_08039530: .4byte gUnknown_80E77C4
-_08039534: .4byte gUnknown_80E77CC
-_08039538: .4byte gUnknown_80E77D8
-_0803953C: .4byte gUnknown_80E77E4
-_08039540: .4byte gUnknown_80E77F0
-_08039544:
- ldr r1, _08039588
- add r0, sp, 0x68
- bl strcpy
- add r2, sp, 0x68
-_0803954E:
- ldr r5, _0803958C
- ldr r0, [r5]
- movs r4, 0xD2
- lsls r4, 1
- adds r0, r4
- ldr r1, _08039590
- bl sub_800D158
- ldr r2, [r5]
- adds r2, r4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x40
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- bl sub_808D33C
- cmp r0, 0
- bne _08039598
- add r4, sp, 0x90
- ldr r1, _08039594
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- b _080395A6
- .align 2, 0
-_08039588: .4byte gUnknown_80E77F8
-_0803958C: .4byte gUnknown_203B374
-_08039590: .4byte gUnknown_80E7804
-_08039594: .4byte gUnknown_80E7808
-_08039598:
- add r4, sp, 0x90
- adds r1, r0, 0
- adds r1, 0x4C
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
-_080395A6:
- adds r2, r4, 0
- ldr r5, _080395F0
- ldr r0, [r5]
- movs r4, 0xE4
- lsls r4, 1
- adds r0, r4
- ldr r6, _080395F4
- adds r1, r6, 0
- bl sub_800D158
- ldr r2, [r5]
- adds r2, r4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x40
- movs r1, 0xC
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- bne _080395E0
- movs r0, 0x7
- bl sub_8095324
- cmp r0, 0
- beq _08039606
-_080395E0:
- ldr r0, _080395F8
- cmp r8, r0
- bne _080395FC
- ldr r4, [r5]
- movs r0, 0xF6
- lsls r0, 1
- adds r4, r0
- b _08039676
- .align 2, 0
-_080395F0: .4byte gUnknown_203B374
-_080395F4: .4byte gUnknown_80E7804
-_080395F8: .4byte 0x000f1207
-_080395FC:
- ldr r0, [r5]
- movs r1, 0xF6
- lsls r1, 1
- adds r0, r1
- b _08039690
-_08039606:
- bl sub_8011C1C
- cmp r0, 0x1
- beq _08039624
- cmp r0, 0x2
- beq _08039668
- ldr r0, [r5]
- movs r2, 0xF6
- lsls r2, 1
- adds r0, r2
- ldr r1, _08039620
- b _08039692
- .align 2, 0
-_08039620: .4byte gUnknown_80E7824
-_08039624:
- movs r0, 0
- movs r1, 0x18
- bl sub_8001658
- cmp r0, 0x7
- beq _08039658
- cmp r0, 0xB
- beq _08039658
- bl sub_8098FB4
- adds r2, r0, 0
- add r0, sp, 0x4
- adds r1, r6, 0
- bl sub_800D158
- ldr r0, [r5]
- movs r3, 0xF6
- lsls r3, 1
- adds r1, r0, r3
- adds r3, 0x24
- adds r2, r0, r3
- add r0, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- b _08039696
-_08039658:
- ldr r0, _08039664
- ldr r0, [r0]
- movs r1, 0xF6
- lsls r1, 1
- adds r0, r1
- b _08039690
- .align 2, 0
-_08039664: .4byte gUnknown_203B374
-_08039668:
- ldr r0, _08039684
- cmp r8, r0
- bne _08039688
- ldr r4, [r5]
- movs r2, 0xF6
- lsls r2, 1
- adds r4, r2
-_08039676:
- bl sub_809769C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8090228
- b _08039696
- .align 2, 0
-_08039684: .4byte 0x000f1207
-_08039688:
- ldr r0, [r5]
- movs r3, 0xF6
- lsls r3, 1
- adds r0, r3
-_08039690:
- ldr r1, _0803974C
-_08039692:
- bl sub_800D158
-_08039696:
- ldr r7, _08039750
- ldr r2, [r7]
- movs r0, 0xF6
- lsls r0, 1
- adds r2, r0
- movs r6, 0
- str r6, [sp]
- movs r0, 0x40
- movs r1, 0x18
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, _08039754
- ldr r0, [r0]
- add r1, sp, 0x144
- add r2, sp, 0x148
- add r3, sp, 0x14C
- bl sub_8095014
- ldr r0, [r7]
- movs r5, 0x84
- lsls r5, 2
- adds r0, r5
- ldr r1, _08039758
- add r2, sp, 0x144
- ldr r2, [r2]
- add r3, sp, 0x148
- ldr r3, [r3]
- add r4, sp, 0x14C
- ldr r4, [r4]
- str r4, [sp]
- bl sub_800D158
- ldr r2, [r7]
- adds r2, r5
- str r6, [sp]
- movs r0, 0x40
- movs r1, 0x24
- movs r3, 0
- bl xxx_call_draw_string
- bl sub_8097778
- adds r2, r0, 0
- ldr r0, [r7]
- movs r4, 0x8D
- lsls r4, 2
- adds r0, r4
- ldr r1, _0803975C
- bl sub_800D158
- ldr r2, [r7]
- adds r2, r4
- str r6, [sp]
- movs r0, 0x40
- movs r1, 0x30
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, _08039760
- cmp r8, r0
- bne _0803976C
- ldr r0, _08039764
- ldr r6, [r0]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0803976C
- add r5, sp, 0x130
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_808D930
- add r4, sp, 0xE0
- adds r1, r6, 0
- adds r1, 0x50
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- ldr r0, [r7]
- movs r3, 0x96
- lsls r3, 2
- adds r0, r3
- ldr r1, _08039768
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_800D158
- b _0803977C
- .align 2, 0
-_0803974C: .4byte gUnknown_80E780C
-_08039750: .4byte gUnknown_203B374
-_08039754: .4byte gUnknown_203B47C
-_08039758: .4byte gUnknown_80E7838
-_0803975C: .4byte gUnknown_80E7848
-_08039760: .4byte 0x000f1207
-_08039764: .4byte gUnknown_203B484
-_08039768: .4byte gUnknown_80E784C
-_0803976C:
- ldr r0, _080397AC
- ldr r0, [r0]
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldr r1, _080397B0
- bl sub_800D158
-_0803977C:
- ldr r0, _080397AC
- ldr r2, [r0]
- movs r3, 0x96
- lsls r3, 2
- adds r2, r3
- movs r0, 0
- str r0, [sp]
- movs r0, 0x40
- movs r1, 0x3C
- movs r3, 0
- bl xxx_call_draw_string
- bl sub_80397B4
- movs r0, 0
- bl sub_80073E0
- add sp, 0x150
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080397AC: .4byte gUnknown_203B374
-_080397B0: .4byte gUnknown_80E7854
- thumb_func_end sub_80394A4
-
- thumb_func_start sub_80397B4
-sub_80397B4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r0, _08039834
- ldr r1, _08039838
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- movs r4, 0
-_080397C8:
- adds r0, r4, 0
- adds r0, 0xB0
- ldr r1, [r6, 0x4]
- lsls r2, r4, 2
- ldr r1, [r1, 0x4]
- adds r1, r2
- bl SetBGPaletteBufferColorArray
- adds r4, 0x1
- cmp r4, 0x3F
- ble _080397C8
- movs r7, 0x8
- movs r0, 0x49
- mov r8, r0
- movs r4, 0
-_080397E6:
- ldr r0, _0803983C
- lsls r5, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0803981C
- movs r0, 0x10
- str r0, [sp]
- ldr r0, [r6, 0x4]
- lsls r1, r4, 7
- ldr r0, [r0]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r0, _08039840
- adds r0, r5, r0
- ldr r0, [r0]
- str r0, [sp, 0x8]
- movs r0, 0
- adds r1, r7, 0
- mov r2, r8
- movs r3, 0x10
- bl sub_8007E20
- adds r7, 0x10
-_0803981C:
- adds r4, 0x1
- cmp r4, 0xB
- ble _080397E6
- adds r0, r6, 0
- bl CloseFile
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08039834: .4byte gUnknown_80E785C
-_08039838: .4byte gUnknown_8380000
-_0803983C: .4byte gUnknown_203B3B8
-_08039840: .4byte gUnknown_203B388
- thumb_func_end sub_80397B4
-
- thumb_func_start sub_8039844
-sub_8039844:
- push {r4,r5,lr}
- bl sub_8011FA8
- adds r5, r0, 0
- movs r4, 0
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- bne _0803986A
- movs r0, 0x7
- bl sub_8095324
- cmp r0, 0
- bne _0803986A
- bl sub_8011C1C
- cmp r0, 0x2
- bne _08039872
-_0803986A:
- ldr r0, _0803987C
- cmp r5, r0
- bne _08039872
- movs r4, 0x1
-_08039872:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0803987C: .4byte 0x000f1207
- thumb_func_end sub_8039844
-
- thumb_func_start sub_8039880
-sub_8039880:
- push {r4,lr}
- movs r4, 0
- movs r0, 0x1
- bl sub_8095324
- cmp r0, 0
- bne _080398A0
- movs r0, 0x7
- bl sub_8095324
- cmp r0, 0
- bne _080398A0
- bl sub_8011C1C
- cmp r0, 0x2
- bne _080398A2
-_080398A0:
- movs r4, 0x1
-_080398A2:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8039880
-
- thumb_func_start sub_80398AC
-sub_80398AC:
- push {r4,r5,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r5, _0803991C
- ldr r4, _08039920
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
- movs r1, 0
- movs r2, 0
- adds r4, r5, 0
-_080398D8:
- ldr r0, [r5]
- adds r0, 0x1
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x35
- ble _080398D8
- ldr r1, [r4]
- movs r3, 0x92
- lsls r3, 3
- adds r2, r1, r3
- movs r0, 0x3
- str r0, [r2]
- ldr r0, _08039924
- adds r2, r1, r0
- movs r0, 0x2
- str r0, [r2]
- movs r0, 0x93
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- adds r0, r3
- movs r1, 0x5
- str r1, [r0]
- movs r0, 0x11
- bl sub_803A1C0
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0803991C: .4byte gUnknown_203B3E8
-_08039920: .4byte 0x0000049c
-_08039924: .4byte 0x00000494
- thumb_func_end sub_80398AC
-
- thumb_func_start sub_8039928
-sub_8039928:
- push {lr}
- ldr r0, _08039940
- ldr r0, [r0]
- ldrb r0, [r0]
- subs r0, 0x4
- cmp r0, 0xF
- bhi _080399DE
- lsls r0, 2
- ldr r1, _08039944
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08039940: .4byte gUnknown_203B3E8
-_08039944: .4byte _08039948
- .align 2, 0
-_08039948:
- .4byte _08039988
- .4byte _0803998E
- .4byte _0803999E
- .4byte _080399AA
- .4byte _08039992
- .4byte _080399A4
- .4byte _080399C8
- .4byte _080399DE
- .4byte _08039998
- .4byte _080399B0
- .4byte _080399B6
- .4byte _080399BC
- .4byte _080399C2
- .4byte _080399CE
- .4byte _080399D4
- .4byte _080399DA
-_08039988:
- bl sub_8039A18
- b _080399DE
-_0803998E:
- movs r0, 0x3
- b _080399E0
-_08039992:
- bl sub_8039AA8
- b _080399DE
-_08039998:
- bl sub_8039B14
- b _080399DE
-_0803999E:
- bl sub_8039B20
- b _080399DE
-_080399A4:
- bl sub_8039B58
- b _080399DE
-_080399AA:
- bl sub_8039D88
- b _080399DE
-_080399B0:
- bl sub_8039D28
- b _080399DE
-_080399B6:
- bl sub_8039D68
- b _080399DE
-_080399BC:
- bl sub_8039DA4
- b _080399DE
-_080399C2:
- bl sub_8039DCC
- b _080399DE
-_080399C8:
- bl sub_8039B3C
- b _080399DE
-_080399CE:
- bl sub_8039D0C
- b _080399DE
-_080399D4:
- bl sub_8039C60
- b _080399DE
-_080399DA:
- bl sub_8039DE8
-_080399DE:
- movs r0, 0
-_080399E0:
- pop {r1}
- bx r1
- thumb_func_end sub_8039928
-
- thumb_func_start sub_80399E4
-sub_80399E4:
- push {r4,lr}
- ldr r4, _08039A14
- ldr r0, [r4]
- cmp r0, 0
- beq _08039A0E
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- bl sub_8030DE4
- bl sub_801B450
- bl sub_803084C
- bl sub_801CBB8
- bl sub_80155F0
- bl sub_8031E10
-_08039A0E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08039A14: .4byte gUnknown_203B3E8
- thumb_func_end sub_80399E4
-
- thumb_func_start sub_8039A18
-sub_8039A18:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039AA2
- ldr r0, _08039A48
- ldr r1, [r0]
- movs r2, 0x93
- lsls r2, 2
- adds r1, r2
- movs r2, 0xA
- str r2, [r1]
- ldr r1, [sp]
- adds r2, r0, 0
- cmp r1, 0x8
- bhi _08039AA2
- lsls r0, r1, 2
- ldr r1, _08039A4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08039A48: .4byte gUnknown_203B3E8
-_08039A4C: .4byte _08039A50
- .align 2, 0
-_08039A50:
- .4byte _08039A9C
- .4byte _08039AA2
- .4byte _08039AA2
- .4byte _08039A74
- .4byte _08039A74
- .4byte _08039A88
- .4byte _08039AA2
- .4byte _08039AA2
- .4byte _08039A9C
-_08039A74:
- ldr r0, [r2]
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- movs r1, 0x3
- str r1, [r0]
- movs r0, 0x8
- bl sub_803A1C0
- b _08039AA2
-_08039A88:
- ldr r0, [r2]
- movs r2, 0x92
- lsls r2, 3
- adds r0, r2
- movs r1, 0x5
- str r1, [r0]
- movs r0, 0x11
- bl sub_803A1C0
- b _08039AA2
-_08039A9C:
- movs r0, 0x5
- bl sub_803A1C0
-_08039AA2:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039A18
-
- thumb_func_start sub_8039AA8
-sub_8039AA8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039B0E
- ldr r0, [sp]
- cmp r0, 0
- beq _08039AE8
- cmp r0, 0x6
- bne _08039B0E
- ldr r0, _08039AD8
- ldr r0, [r0]
- ldr r1, _08039ADC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _08039AE0
- movs r0, 0x2
- bl sub_803A1C0
- b _08039B0E
- .align 2, 0
-_08039AD8: .4byte gUnknown_203B3E8
-_08039ADC: .4byte 0x00000494
-_08039AE0:
- movs r0, 0xC
- bl sub_803A1C0
- b _08039B0E
-_08039AE8:
- ldr r0, _08039B00
- ldr r0, [r0]
- ldr r1, _08039B04
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _08039B08
- movs r0, 0x1
- bl sub_803A1C0
- b _08039B0E
- .align 2, 0
-_08039B00: .4byte gUnknown_203B3E8
-_08039B04: .4byte 0x00000494
-_08039B08:
- movs r0, 0x4
- bl sub_803A1C0
-_08039B0E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039AA8
-
- thumb_func_start sub_8039B14
-sub_8039B14:
- push {lr}
- movs r0, 0x6
- bl sub_803A1C0
- pop {r0}
- bx r0
- thumb_func_end sub_8039B14
-
- thumb_func_start sub_8039B20
-sub_8039B20:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039B34
- movs r0, 0x9
- bl sub_803A1C0
-_08039B34:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039B20
-
- thumb_func_start sub_8039B3C
-sub_8039B3C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039B50
- movs r0, 0x4
- bl sub_803A1C0
-_08039B50:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039B3C
-
- thumb_func_start sub_8039B58
-sub_8039B58:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039BA6
- ldr r0, _08039B88
- ldr r1, [r0]
- movs r2, 0x94
- lsls r2, 2
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _08039B9C
- subs r2, 0x4
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0x9
- beq _08039B8C
- cmp r0, 0xA
- beq _08039B94
- b _08039BA6
- .align 2, 0
-_08039B88: .4byte gUnknown_203B3E8
-_08039B8C:
- movs r0, 0x7
- bl sub_803A1C0
- b _08039BA6
-_08039B94:
- movs r0, 0xD
- bl sub_803A1C0
- b _08039BA6
-_08039B9C:
- bl sub_8039BAC
- movs r0, 0xA
- bl sub_803A1C0
-_08039BA6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039B58
-
- thumb_func_start sub_8039BAC
-sub_8039BAC:
- push {lr}
- cmp r0, 0xF
- bhi _08039C48
- lsls r0, 2
- ldr r1, _08039BBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08039BBC: .4byte _08039BC0
- .align 2, 0
-_08039BC0:
- .4byte _08039C54
- .4byte _08039C00
- .4byte _08039C10
- .4byte _08039C08
- .4byte _08039C18
- .4byte _08039C20
- .4byte _08039C48
- .4byte _08039C48
- .4byte _08039C48
- .4byte _08039C48
- .4byte _08039C48
- .4byte _08039C48
- .4byte _08039C48
- .4byte _08039C48
- .4byte _08039C28
- .4byte _08039C30
-_08039C00:
- ldr r0, _08039C04
- b _08039C32
- .align 2, 0
-_08039C04: .4byte gUnknown_80E7914
-_08039C08:
- ldr r0, _08039C0C
- b _08039C32
- .align 2, 0
-_08039C0C: .4byte gUnknown_80E7938
-_08039C10:
- ldr r0, _08039C14
- b _08039C32
- .align 2, 0
-_08039C14: .4byte gUnknown_80E7994
-_08039C18:
- ldr r0, _08039C1C
- b _08039C32
- .align 2, 0
-_08039C1C: .4byte gUnknown_80E79E4
-_08039C20:
- ldr r0, _08039C24
- b _08039C32
- .align 2, 0
-_08039C24: .4byte gUnknown_80E7914
-_08039C28:
- ldr r0, _08039C2C
- b _08039C32
- .align 2, 0
-_08039C2C: .4byte gUnknown_80E7914
-_08039C30:
- ldr r0, _08039C40
-_08039C32:
- ldr r3, _08039C44
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _08039C54
- .align 2, 0
-_08039C40: .4byte gUnknown_80E7A48
-_08039C44: .4byte 0x00000101
-_08039C48:
- ldr r0, _08039C58
- ldr r3, _08039C5C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
-_08039C54:
- pop {r0}
- bx r0
- .align 2, 0
-_08039C58: .4byte gUnknown_80E7914
-_08039C5C: .4byte 0x00000101
- thumb_func_end sub_8039BAC
-
- thumb_func_start sub_8039C60
-sub_8039C60:
- push {r4,r5,lr}
- bl sub_80154F0
- adds r4, r0, 0
- ldr r5, _08039CBC
- ldr r0, [r5]
- adds r0, 0x38
- movs r1, 0
- movs r2, 0x30
- bl MemoryFill8
- cmp r4, 0x2
- beq _08039CE6
- cmp r4, 0x3
- bne _08039D04
- bl sub_80155F0
- bl sub_8004914
- ldr r0, [r5]
- movs r1, 0xF6
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r5]
- adds r0, r1, 0x1
- adds r1, 0x38
- bl sub_803D358
- lsls r0, 24
- cmp r0, 0
- beq _08039CB4
- ldr r0, [r5]
- adds r0, 0x38
- bl sub_80959C0
- lsls r0, 24
- cmp r0, 0
- bne _08039CC0
-_08039CB4:
- movs r0, 0x13
- bl sub_803A1C0
- b _08039D04
- .align 2, 0
-_08039CBC: .4byte gUnknown_203B3E8
-_08039CC0:
- ldr r0, [r5]
- movs r2, 0xF0
- lsls r2, 2
- adds r1, r0, r2
- adds r0, 0x38
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r3,r4}
- stm r1!, {r3,r4}
- ldr r0, [r5]
- movs r1, 0x93
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0xD
- bl sub_803A1C0
- b _08039D04
-_08039CE6:
- bl sub_80155F0
- bl sub_8004914
- ldr r0, [r5]
- movs r2, 0xF6
- lsls r2, 1
- adds r0, r2
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x5
- bl sub_803A1C0
-_08039D04:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8039C60
-
- thumb_func_start sub_8039D0C
-sub_8039D0C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039D20
- movs r0, 0x12
- bl sub_803A1C0
-_08039D20:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039D0C
-
- thumb_func_start sub_8039D28
-sub_8039D28:
- push {r4,r5,lr}
- bl sub_802D0E0
- cmp r0, 0x3
- bne _08039D62
- bl sub_802D178
- ldr r5, _08039D58
- ldr r1, [r5]
- movs r4, 0x93
- lsls r4, 3
- adds r1, r4
- strb r0, [r1]
- bl sub_802D184
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08039D5C
- movs r0, 0xE
- bl sub_803A1C0
- b _08039D62
- .align 2, 0
-_08039D58: .4byte gUnknown_203B3E8
-_08039D5C:
- movs r0, 0x10
- bl sub_803A1C0
-_08039D62:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8039D28
-
- thumb_func_start sub_8039D68
-sub_8039D68:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039D82
- movs r0, 0xF
- bl sub_803A1C0
- movs r0, 0
- bl sub_8012574
-_08039D82:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039D68
-
- thumb_func_start sub_8039D88
-sub_8039D88:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039D9C
- movs r0, 0x8
- bl sub_803A1C0
-_08039D9C:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039D88
-
- thumb_func_start sub_8039DA4
-sub_8039DA4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039DC6
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- bne _08039DC6
- bl sub_8012750
- movs r0, 0x10
- bl sub_803A1C0
-_08039DC6:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039DA4
-
- thumb_func_start sub_8039DCC
-sub_8039DCC:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039DE0
- movs r0, 0x5
- bl sub_803A1C0
-_08039DE0:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039DCC
-
- thumb_func_start sub_8039DE8
-sub_8039DE8:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _08039E0E
- ldr r0, [sp]
- cmp r0, 0
- beq _08039E08
- cmp r0, 0x6
- bne _08039E0E
- movs r0, 0x11
- bl sub_803A1C0
- b _08039E0E
-_08039E08:
- movs r0, 0x5
- bl sub_803A1C0
-_08039E0E:
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8039DE8
-
- thumb_func_start nullsub_54
-nullsub_54:
- bx lr
- thumb_func_end nullsub_54
-
- thumb_func_start sub_8039E18
-sub_8039E18:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r1, _08039E38
- ldr r0, [r1]
- ldrb r0, [r0]
- adds r6, r1, 0
- cmp r0, 0x13
- bls _08039E2E
- b _0803A1AA
-_08039E2E:
- lsls r0, 2
- ldr r1, _08039E3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08039E38: .4byte gUnknown_203B3E8
-_08039E3C: .4byte _08039E40
- .align 2, 0
-_08039E40:
- .4byte _08039E90
- .4byte _08039EB8
- .4byte _0803A1AA
- .4byte _08039EC8
- .4byte _08039EDC
- .4byte _0803A1AA
- .4byte _08039FF4
- .4byte _08039FA4
- .4byte _08039FCC
- .4byte _0803A00C
- .4byte _0803A1AA
- .4byte _0803A1AA
- .4byte _0803A1AA
- .4byte _08039F04
- .4byte _08039F68
- .4byte _0803A1AA
- .4byte _08039FAC
- .4byte _0803A152
- .4byte _0803A168
- .4byte _0803A18E
-_08039E90:
- ldr r0, _08039EB0
- ldr r3, _08039EB4
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x1
- bl sub_8014248
- b _0803A1AA
- .align 2, 0
-_08039EB0: .4byte gUnknown_80E7AC4
-_08039EB4: .4byte gUnknown_80E786C
-_08039EB8:
- ldr r0, _08039EC0
- ldr r3, _08039EC4
- b _08039EE0
- .align 2, 0
-_08039EC0: .4byte gUnknown_80E7AE0
-_08039EC4: .4byte gUnknown_80E7894
-_08039EC8:
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_802EF48
- b _0803A1AA
-_08039EDC:
- ldr r0, _08039EFC
- ldr r3, _08039F00
-_08039EE0:
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x3
- bl sub_8014248
- b _0803A1AA
- .align 2, 0
-_08039EFC: .4byte gUnknown_80E7B14
-_08039F00: .4byte gUnknown_80E78D8
-_08039F04:
- ldr r0, [r6]
- ldr r2, _08039F3C
- adds r1, r0, r2
- movs r3, 0xF0
- lsls r3, 2
- adds r0, r3
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r4}
- stm r1!, {r2,r4}
- ldr r2, [r6]
- ldr r3, _08039F40
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08039F44
- movs r4, 0x91
- lsls r4, 3
- adds r1, r2, r4
- subs r3, 0xA2
- adds r0, r2, r3
- str r0, [r1]
- adds r4, 0x4
- adds r1, r2, r4
- adds r3, 0x28
- adds r0, r2, r3
- str r0, [r1]
- b _08039F54
- .align 2, 0
-_08039F3C: .4byte 0x00000474
-_08039F40: .4byte 0x00000476
-_08039F44:
- movs r4, 0x91
- lsls r4, 3
- adds r0, r2, r4
- movs r1, 0
- str r1, [r0]
- ldr r3, _08039F60
- adds r0, r2, r3
- str r1, [r0]
-_08039F54:
- ldr r0, [r6]
- ldr r4, _08039F64
- adds r0, r4
- bl sub_802D098
- b _0803A1AA
- .align 2, 0
-_08039F60: .4byte 0x0000048c
-_08039F64: .4byte 0x00000474
-_08039F68:
- ldr r1, [r6]
- movs r2, 0x93
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08039F9C
- movs r3, 0x92
- lsls r3, 3
- adds r0, r1, r3
- ldr r0, [r0]
- cmp r0, 0x4
- bne _08039F84
- b _0803A1AA
-_08039F84:
- cmp r0, 0x4
- bgt _08039F8E
- cmp r0, 0x3
- beq _08039F94
- b _0803A1AA
-_08039F8E:
- cmp r0, 0x5
- beq _08039F94
- b _0803A1AA
-_08039F94:
- ldr r0, _08039F98
- b _0803A154
- .align 2, 0
-_08039F98: .4byte gUnknown_80E7B48
-_08039F9C:
- ldr r0, _08039FA0
- b _0803A154
- .align 2, 0
-_08039FA0: .4byte gUnknown_80E7B48
-_08039FA4:
- ldr r0, _08039FA8
- b _0803A154
- .align 2, 0
-_08039FA8: .4byte gUnknown_80E7B68
-_08039FAC:
- ldr r0, [r6]
- movs r4, 0x93
- lsls r4, 3
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08039FC4
- ldr r0, _08039FC0
- b _0803A154
- .align 2, 0
-_08039FC0: .4byte gUnknown_80E7B88
-_08039FC4:
- ldr r0, _08039FC8
- b _0803A154
- .align 2, 0
-_08039FC8: .4byte gUnknown_80E7BC8
-_08039FCC:
- ldr r0, _08039FEC
- ldr r3, _08039FF0
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x6
- bl sub_8014248
- b _0803A1AA
- .align 2, 0
-_08039FEC: .4byte gUnknown_80E7BEC
-_08039FF0: .4byte gUnknown_80E78F8
-_08039FF4:
- movs r0, 0
- bl nullsub_23
- ldr r0, _0803A008
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80141B4
- b _0803A1AA
- .align 2, 0
-_0803A008: .4byte gUnknown_80E7C48
-_0803A00C:
- ldr r0, [r6]
- movs r1, 0x94
- lsls r1, 2
- mov r8, r1
- add r0, r8
- movs r1, 0
- str r1, [r0]
- bl sub_8011830
- ldr r0, [r6]
- movs r7, 0x93
- lsls r7, 2
- adds r0, r7
- ldr r0, [r0]
- bl sub_8037B28
- ldr r2, [r6]
- mov r3, r8
- adds r1, r2, r3
- str r0, [r1]
- cmp r0, 0
- beq _0803A03A
- b _0803A14C
-_0803A03A:
- adds r4, r7, 0
- adds r0, r2, r4
- ldr r0, [r0]
- cmp r0, 0x9
- beq _0803A04A
- cmp r0, 0xA
- beq _0803A0AA
- b _0803A0DE
-_0803A04A:
- movs r5, 0x95
- lsls r5, 2
- adds r0, r2, r5
- movs r1, 0
- movs r2, 0xB4
- bl MemoryFill8
- ldr r0, [r6]
- movs r1, 0xEF
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_803B344
- adds r4, r0, 0
- ldr r1, [r4, 0x14]
- cmp r1, 0
- beq _0803A08C
- ldr r0, [r6]
- movs r2, 0x9A
- lsls r2, 2
- adds r0, r2
- movs r2, 0x28
- bl MemoryCopy8
- ldr r0, [r6]
- movs r3, 0xA4
- lsls r3, 2
- adds r0, r3
- ldr r1, [r4, 0x18]
- movs r2, 0x78
- bl MemoryCopy8
-_0803A08C:
- ldr r1, [r6]
- adds r1, r5
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r4}
- stm r1!, {r2,r4}
- ldr r2, [r6]
- adds r0, r2, r7
- ldr r0, [r0]
- adds r1, r2, r5
- movs r3, 0xC2
- lsls r3, 2
- adds r2, r3
- b _0803A0D4
-_0803A0AA:
- movs r4, 0x95
- lsls r4, 2
- adds r0, r2, r4
- movs r1, 0
- movs r2, 0xB4
- bl MemoryFill8
- ldr r0, [r6]
- movs r5, 0xC2
- lsls r5, 2
- adds r0, r5
- movs r1, 0
- movs r2, 0xB4
- bl MemoryFill8
- ldr r2, [r6]
- adds r0, r2, r7
- ldr r0, [r0]
- adds r4, r2, r4
- adds r2, r5
- adds r1, r4, 0
-_0803A0D4:
- bl sub_8037D64
- ldr r1, [r6]
- add r1, r8
- str r0, [r1]
-_0803A0DE:
- ldr r4, _0803A134
- ldr r2, [r4]
- movs r5, 0x94
- lsls r5, 2
- adds r0, r2, r5
- ldr r0, [r0]
- cmp r0, 0
- bne _0803A14C
- movs r1, 0x93
- lsls r1, 2
- adds r0, r2, r1
- ldr r0, [r0]
- cmp r0, 0xA
- bhi _0803A14C
- cmp r0, 0x9
- bcc _0803A14C
- movs r3, 0x95
- lsls r3, 2
- adds r1, r2, r3
- adds r3, 0xB4
- adds r2, r3
- bl sub_80381F4
- ldr r1, [r4]
- adds r1, r5
- str r0, [r1]
- bl sub_800D588
- lsls r0, 24
- cmp r0, 0
- beq _0803A138
- ldr r1, [r4]
- movs r4, 0xF0
- lsls r4, 2
- adds r0, r1, r4
- movs r2, 0xC2
- lsls r2, 2
- adds r1, r2
- movs r2, 0xB4
- bl memcpy
- b _0803A14C
- .align 2, 0
-_0803A134: .4byte gUnknown_203B3E8
-_0803A138:
- ldr r1, [r4]
- movs r3, 0xF0
- lsls r3, 2
- adds r0, r1, r3
- movs r4, 0x95
- lsls r4, 2
- adds r1, r4
- movs r2, 0xB4
- bl memcpy
-_0803A14C:
- bl sub_8011854
- b _0803A1AA
-_0803A152:
- ldr r0, _0803A160
-_0803A154:
- ldr r3, _0803A164
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- b _0803A1AA
- .align 2, 0
-_0803A160: .4byte gUnknown_80E7C98
-_0803A164: .4byte 0x00000101
-_0803A168:
- ldr r0, [r6]
- movs r1, 0xF6
- lsls r1, 1
- adds r0, r1
- bl sub_8006518
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r1, [r6]
- adds r1, 0x1
- movs r0, 0x5
- bl sub_80151C0
- b _0803A1AA
-_0803A18E:
- ldr r0, _0803A1B8
- ldr r3, _0803A1BC
- movs r2, 0
- str r2, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFD
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0x6
- bl sub_8014248
-_0803A1AA:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A1B8: .4byte gUnknown_80E7CC4
-_0803A1BC: .4byte gUnknown_80E78F8
- thumb_func_end sub_8039E18
-
- thumb_func_start sub_803A1C0
-sub_803A1C0:
- push {lr}
- ldr r1, _0803A1D4
- ldr r1, [r1]
- strb r0, [r1]
- bl nullsub_54
- bl sub_8039E18
- pop {r0}
- bx r0
- .align 2, 0
-_0803A1D4: .4byte gUnknown_203B3E8
- thumb_func_end sub_803A1C0
-
- thumb_func_start sub_803A1D8
-sub_803A1D8:
- movs r0, 0x1
- bx lr
- thumb_func_end sub_803A1D8
-
- thumb_func_start sub_803A1DC
-sub_803A1DC:
- movs r0, 0
- bx lr
- thumb_func_end sub_803A1DC
-
- thumb_func_start nullsub_55
-nullsub_55:
- bx lr
- thumb_func_end nullsub_55
-
- thumb_func_start sub_803A1E4
-sub_803A1E4:
- movs r0, 0x1
- bx lr
- thumb_func_end sub_803A1E4
-
- thumb_func_start sub_803A1E8
-sub_803A1E8:
- movs r0, 0x2
- bx lr
- thumb_func_end sub_803A1E8
-
- thumb_func_start sub_803A1EC
-sub_803A1EC:
- push {lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r0}
- bx r0
- thumb_func_end sub_803A1EC
-
- thumb_func_start sub_803A200
-sub_803A200:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _0803A270
- ldr r0, [r5]
- cmp r0, 0
- bne _0803A224
- movs r4, 0xD2
- lsls r4, 1
- adds r0, r4, 0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl MemoryFill8
-_0803A224:
- mov r12, r5
- movs r0, 0xA0
- lsls r0, 1
- mov r8, r0
- ldr r4, _0803A274
- movs r3, 0
- movs r2, 0x3
-_0803A232:
- mov r5, r12
- ldr r1, [r5]
- adds r1, r3
- add r1, r8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0803A232
- bl sub_8004914
- ldr r0, _0803A270
- ldr r0, [r0]
- movs r6, 0xA0
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl SetDebugMenuItems
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A270: .4byte gUnknown_203B3EC
-_0803A274: .4byte gUnknown_80E7D40
- thumb_func_end sub_803A200
-
- thumb_func_start sub_803A278
-sub_803A278:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0803A2A0
- ldr r0, [r4]
- cmp r0, 0
- beq _0803A298
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803A298:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A2A0: .4byte gUnknown_203B3EC
- thumb_func_end sub_803A278
-
- thumb_func_start sub_803A2A4
-sub_803A2A4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, _0803A2D4
- movs r0, 0xB
- str r0, [sp]
- ldr r5, _0803A2D8
- ldr r0, [r5]
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0803A2C4
- ldr r0, [r5]
- mov r1, sp
- bl sub_8013114
-_0803A2C4:
- ldr r0, [sp]
- cmp r0, 0xB
- bhi _0803A34E
- lsls r0, 2
- ldr r1, _0803A2DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A2D4: .4byte 0x0000ffdc
-_0803A2D8: .4byte gUnknown_203B3EC
-_0803A2DC: .4byte _0803A2E0
- .align 2, 0
-_0803A2E0:
- .4byte _0803A310
- .4byte _0803A314
- .4byte _0803A318
- .4byte _0803A31C
- .4byte _0803A320
- .4byte _0803A324
- .4byte _0803A328
- .4byte _0803A34E
- .4byte _0803A34E
- .4byte _0803A330
- .4byte _0803A344
- .4byte _0803A34C
-_0803A310:
- movs r4, 0x2F
- b _0803A34E
-_0803A314:
- movs r4, 0x30
- b _0803A34E
-_0803A318:
- movs r4, 0x31
- b _0803A34E
-_0803A31C:
- movs r4, 0x32
- b _0803A34E
-_0803A320:
- movs r4, 0x33
- b _0803A34E
-_0803A324:
- movs r4, 0x34
- b _0803A34E
-_0803A328:
- bl sub_803A3BC
- movs r4, 0x1
- b _0803A34E
-_0803A330:
- movs r4, 0
-_0803A332:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80976F8
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0803A332
- movs r4, 0x1
- b _0803A34E
-_0803A344:
- bl sub_803A3A0
- movs r4, 0x1
- b _0803A34E
-_0803A34C:
- ldr r4, _0803A358
-_0803A34E:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0803A358: .4byte 0x0000ffdc
- thumb_func_end sub_803A2A4
-
- thumb_func_start SetDebugMenuItems
-SetDebugMenuItems:
- push {r4,lr}
- sub sp, 0x10
- ldr r4, _0803A394
- ldr r0, [r4]
- movs r2, 0xA0
- lsls r2, 1
- adds r1, r0, r2
- ldr r3, _0803A398
- ldr r2, _0803A39C
- str r2, [sp]
- movs r2, 0x1
- str r2, [sp, 0x4]
- movs r2, 0xD
- str r2, [sp, 0x8]
- movs r2, 0
- str r2, [sp, 0xC]
- bl SetMenuItems
- ldr r0, [r4]
- movs r1, 0
- movs r2, 0x1
- bl sub_8035CF4
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A394: .4byte gUnknown_203B3EC
-_0803A398: .4byte gUnknown_80E7D58
-_0803A39C: .4byte gUnknown_80E7D70
- thumb_func_end SetDebugMenuItems
-
- thumb_func_start sub_803A3A0
-sub_803A3A0:
- push {lr}
- ldr r0, _0803A3B8
- ldr r0, [r0]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- bl sub_8035CC0
- pop {r0}
- bx r0
- .align 2, 0
-_0803A3B8: .4byte gUnknown_203B3EC
- thumb_func_end sub_803A3A0
-
- thumb_func_start sub_803A3BC
-sub_803A3BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x84
- movs r5, 0x1
- add r4, sp, 0x60
- add r6, sp, 0x68
- add r0, sp, 0x7C
- mov r8, r0
- add r0, sp, 0x80
- mov r10, r0
-_0803A3D6:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80925EC
- adds r5, 0x1
- cmp r5, 0x39
- ble _0803A3D6
- movs r5, 0
- adds r7, r4, 0
-_0803A3E8:
- movs r0, 0
- mov r9, r0
- ldr r0, _0803A454
- str r0, [sp, 0x7C]
- adds r5, 0x1
- lsls r4, r5, 16
- asrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r0, 0x27
- strh r0, [r7]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_808D8BC
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_80922F4
- movs r0, 0x40
- strb r0, [r6]
- mov r0, r8
- str r0, [sp]
- str r7, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r6, 0
- movs r3, 0x43
- bl sub_808CFD0
- add r0, sp, 0x8
- bl sub_808D1DC
- ldr r0, _0803A458
- cmp r5, r0
- ble _0803A3E8
- mov r0, r9
- str r0, [sp, 0x80]
- mov r0, r10
- movs r1, 0x1
- bl sub_801203C
- add sp, 0x84
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A454: .4byte 0x00001006
-_0803A458: .4byte 0x0000012b
- thumb_func_end sub_803A3BC
-
- thumb_func_start sub_803A45C
-sub_803A45C:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0803A488
- movs r0, 0x9C
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_803A504
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803A488: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A45C
-
- thumb_func_start sub_803A48C
-sub_803A48C:
- push {lr}
- ldr r0, _0803A4A4
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x5
- bhi _0803A4E0
- lsls r0, 2
- ldr r1, _0803A4A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A4A4: .4byte gUnknown_203B3F0
-_0803A4A8: .4byte _0803A4AC
- .align 2, 0
-_0803A4AC:
- .4byte _0803A4C4
- .4byte _0803A4C4
- .4byte _0803A4CA
- .4byte _0803A4D0
- .4byte _0803A4D6
- .4byte _0803A4DC
-_0803A4C4:
- bl sub_803A740
- b _0803A4E0
-_0803A4CA:
- bl sub_803A7B0
- b _0803A4E0
-_0803A4D0:
- bl sub_803A810
- b _0803A4E0
-_0803A4D6:
- bl sub_803A86C
- b _0803A4E0
-_0803A4DC:
- movs r0, 0x3
- b _0803A4E2
-_0803A4E0:
- movs r0, 0
-_0803A4E2:
- pop {r1}
- bx r1
- thumb_func_end sub_803A48C
-
- thumb_func_start sub_803A4E8
-sub_803A4E8:
- push {r4,lr}
- ldr r4, _0803A500
- ldr r0, [r4]
- cmp r0, 0
- beq _0803A4FA
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803A4FA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A500: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A4E8
-
- thumb_func_start sub_803A504
-sub_803A504:
- push {lr}
- ldr r1, _0803A518
- ldr r1, [r1]
- str r0, [r1]
- bl sub_803A51C
- bl sub_803A5A0
- pop {r0}
- bx r0
- .align 2, 0
-_0803A518: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A504
-
- thumb_func_start sub_803A51C
-sub_803A51C:
- push {r4-r7,lr}
- ldr r4, _0803A53C
- ldr r0, [r4]
- adds r0, 0xD8
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2
- beq _0803A544
- cmp r0, 0x3
- bne _0803A55C
- adds r1, 0xF0
- ldr r0, _0803A540
- b _0803A54C
- .align 2, 0
-_0803A53C: .4byte gUnknown_203B3F0
-_0803A540: .4byte gUnknown_80E7E64
-_0803A544:
- movs r0, 0x84
- lsls r0, 1
- adds r1, r0
- ldr r0, _0803A558
-_0803A54C:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0803A57E
- .align 2, 0
-_0803A558: .4byte gUnknown_80E7E4C
-_0803A55C:
- mov r12, r4
- ldr r4, _0803A598
- movs r3, 0
- movs r2, 0x3
-_0803A564:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0xD8
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0803A564
-_0803A57E:
- bl sub_8004914
- ldr r0, _0803A59C
- ldr r0, [r0]
- adds r0, 0xD8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A598: .4byte gUnknown_80E7E34
-_0803A59C: .4byte gUnknown_203B3F0
- thumb_func_end sub_803A51C
-
- thumb_func_start sub_803A5A0
-sub_803A5A0:
- push {lr}
- sub sp, 0xC
- ldr r1, _0803A5BC
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x5
- bhi _0803A68A
- lsls r0, 2
- ldr r1, _0803A5C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A5BC: .4byte gUnknown_203B3F0
-_0803A5C0: .4byte _0803A5C4
- .align 2, 0
-_0803A5C4:
- .4byte _0803A5DC
- .4byte _0803A5EA
- .4byte _0803A5F2
- .4byte _0803A61C
- .4byte _0803A678
- .4byte _0803A68A
-_0803A5DC:
- movs r0, 0x2
- movs r1, 0x3
- movs r2, 0
- movs r3, 0xA
- bl sub_801C8C4
- b _0803A68A
-_0803A5EA:
- movs r0, 0x1
- bl sub_801CB5C
- b _0803A68A
-_0803A5F2:
- bl sub_801CCD8
- bl sub_803A6F0
- ldr r0, _0803A618
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r1, r2, 0
- adds r1, 0xC
- ldr r2, [r2, 0x8]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0803A68A
- .align 2, 0
-_0803A618: .4byte gUnknown_203B3F0
-_0803A61C:
- ldr r3, [r2]
- adds r1, r3, 0
- adds r1, 0xAC
- movs r0, 0x3
- str r0, [r1]
- subs r1, 0x8
- movs r0, 0
- str r0, [r1]
- adds r1, 0x4
- ldr r0, _0803A670
- str r0, [r1]
- adds r2, r3, 0
- adds r2, 0xA0
- ldr r0, _0803A674
- ldr r1, [r0]
- ldrb r0, [r3, 0x4]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- str r0, [r2]
- adds r1, r3, 0
- adds r1, 0xB0
- movs r0, 0x1
- str r0, [r1]
- adds r1, 0x4
- adds r0, r3, 0
- adds r0, 0xF0
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x2C
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x12
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x9C
- bl sub_8013AA0
- bl sub_803A690
- b _0803A68A
- .align 2, 0
-_0803A670: .4byte 0x000003e7
-_0803A674: .4byte gUnknown_203B460
-_0803A678:
- ldr r0, [r2]
- ldrb r1, [r0, 0x4]
- add r0, sp, 0x8
- movs r2, 0
- bl sub_8090A8C
- add r0, sp, 0x8
- bl sub_801B3C0
-_0803A68A:
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_803A5A0
-
- thumb_func_start sub_803A690
-sub_803A690:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _0803A6E8
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r0, [r0]
- bl sub_8008C54
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r0, [r0]
- bl sub_80073B8
- ldr r2, _0803A6EC
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r4]
- adds r0, 0x9C
- bl sub_8013C68
- ldr r0, [r4]
- adds r0, 0xB0
- ldr r0, [r0]
- bl sub_80073E0
- bl sub_801CCD8
- ldr r0, [r4]
- adds r0, 0x4C
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A6E8: .4byte gUnknown_203B3F0
-_0803A6EC: .4byte gUnknown_80E7E7C
- thumb_func_end sub_803A690
-
- thumb_func_start sub_803A6F0
-sub_803A6F0:
- push {r4,lr}
- ldr r4, _0803A734
- ldr r1, [r4]
- ldr r0, _0803A738
- str r0, [r1, 0xC]
- movs r0, 0x2
- str r0, [r1, 0x10]
- str r0, [r1, 0x8]
- ldrb r0, [r1, 0x4]
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _0803A718
- ldr r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- movs r1, 0x3
- str r1, [r0, 0x8]
-_0803A718:
- ldr r1, [r4]
- movs r2, 0x1
- ldr r0, _0803A73C
- ldr r0, [r0]
- str r0, [r1, 0x14]
- movs r0, 0x3
- str r0, [r1, 0x18]
- movs r0, 0
- str r0, [r1, 0x1C]
- str r2, [r1, 0x20]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A734: .4byte gUnknown_203B3F0
-_0803A738: .4byte gUnknown_80E7E7C
-_0803A73C: .4byte gUnknown_80D4970
- thumb_func_end sub_803A6F0
-
- thumb_func_start sub_803A740
-sub_803A740:
- push {lr}
- movs r0, 0x1
- bl sub_801CA08
- cmp r0, 0x4
- bhi _0803A7AA
- lsls r0, 2
- ldr r1, _0803A758
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A758: .4byte _0803A75C
- .align 2, 0
-_0803A75C:
- .4byte _0803A7AA
- .4byte _0803A7AA
- .4byte _0803A7A0
- .4byte _0803A770
- .4byte _0803A788
-_0803A770:
- bl sub_801CB24
- ldr r1, _0803A784
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_803A504
- b _0803A7AA
- .align 2, 0
-_0803A784: .4byte gUnknown_203B3F0
-_0803A788:
- bl sub_801CB24
- ldr r1, _0803A79C
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x4
- bl sub_803A504
- b _0803A7AA
- .align 2, 0
-_0803A79C: .4byte gUnknown_203B3F0
-_0803A7A0:
- bl sub_801CBB8
- movs r0, 0x5
- bl sub_803A504
-_0803A7AA:
- pop {r0}
- bx r0
- thumb_func_end sub_803A740
-
- thumb_func_start sub_803A7B0
-sub_803A7B0:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_801CA08
- ldr r4, _0803A7E8
- ldr r0, [r4]
- adds r0, 0x4C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0803A7D6
- ldr r0, [r4]
- adds r0, 0x4C
- mov r1, sp
- bl sub_8013114
-_0803A7D6:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803A7F2
- cmp r0, 0x2
- bgt _0803A7EC
- cmp r0, 0x1
- beq _0803A802
- b _0803A808
- .align 2, 0
-_0803A7E8: .4byte gUnknown_203B3F0
-_0803A7EC:
- cmp r0, 0x3
- beq _0803A7FA
- b _0803A808
-_0803A7F2:
- movs r0, 0x3
- bl sub_803A504
- b _0803A808
-_0803A7FA:
- movs r0, 0x4
- bl sub_803A504
- b _0803A808
-_0803A802:
- movs r0, 0x1
- bl sub_803A504
-_0803A808:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803A7B0
-
- thumb_func_start sub_803A810
-sub_803A810:
- push {r4,lr}
- movs r0, 0
- bl sub_801CA08
- ldr r4, _0803A838
- ldr r0, [r4]
- adds r0, 0x4C
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x9C
- bl sub_8013BBC
- cmp r0, 0x2
- beq _0803A854
- cmp r0, 0x2
- bhi _0803A83C
- cmp r0, 0x1
- beq _0803A860
- b _0803A864
- .align 2, 0
-_0803A838: .4byte gUnknown_203B3F0
-_0803A83C:
- cmp r0, 0x3
- bne _0803A864
- ldr r0, _0803A85C
- ldr r2, [r0]
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r2, 0x50
- adds r2, r0
- adds r1, 0x9C
- ldr r0, [r1]
- strh r0, [r2]
-_0803A854:
- movs r0, 0x1
- bl sub_803A504
- b _0803A864
- .align 2, 0
-_0803A85C: .4byte gUnknown_203B460
-_0803A860:
- bl sub_803A690
-_0803A864:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803A810
-
- thumb_func_start sub_803A86C
-sub_803A86C:
- push {lr}
- bl sub_801B410
- cmp r0, 0x1
- bls _0803A884
- cmp r0, 0x3
- bhi _0803A884
- bl sub_801B450
- movs r0, 0x1
- bl sub_803A504
-_0803A884:
- pop {r0}
- bx r0
- thumb_func_end sub_803A86C
-
- thumb_func_start sub_803A888
-sub_803A888:
- push {r4,lr}
- bl sub_8004914
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, _0803A8B4
- movs r0, 0xFC
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_803A924
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803A8B4: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A888
-
- thumb_func_start sub_803A8B8
-sub_803A8B8:
- push {lr}
- ldr r0, _0803A8D0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bhi _0803A902
- lsls r0, 2
- ldr r1, _0803A8D4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A8D0: .4byte gUnknown_203B3F4
-_0803A8D4: .4byte _0803A8D8
- .align 2, 0
-_0803A8D8:
- .4byte _0803A8EC
- .4byte _0803A8EC
- .4byte _0803A8F2
- .4byte _0803A8F8
- .4byte _0803A8FE
-_0803A8EC:
- bl sub_803AAC4
- b _0803A902
-_0803A8F2:
- bl sub_803AB34
- b _0803A902
-_0803A8F8:
- bl sub_803ABAC
- b _0803A902
-_0803A8FE:
- movs r0, 0x3
- b _0803A904
-_0803A902:
- movs r0, 0
-_0803A904:
- pop {r1}
- bx r1
- thumb_func_end sub_803A8B8
-
- thumb_func_start sub_803A908
-sub_803A908:
- push {r4,lr}
- ldr r4, _0803A920
- ldr r0, [r4]
- cmp r0, 0
- beq _0803A91A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803A91A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A920: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A908
-
- thumb_func_start sub_803A924
-sub_803A924:
- push {lr}
- ldr r1, _0803A938
- ldr r1, [r1]
- str r0, [r1]
- bl sub_803A93C
- bl sub_803A9AC
- pop {r0}
- bx r0
- .align 2, 0
-_0803A938: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A924
-
- thumb_func_start sub_803A93C
-sub_803A93C:
- push {r4-r7,lr}
- ldr r4, _0803A960
- ldr r0, [r4]
- adds r0, 0x9C
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x2
- bne _0803A968
- adds r1, 0xCC
- ldr r0, _0803A964
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- b _0803A98A
- .align 2, 0
-_0803A960: .4byte gUnknown_203B3F4
-_0803A964: .4byte gUnknown_80E7EA4
-_0803A968:
- mov r12, r4
- ldr r4, _0803A9A4
- movs r3, 0
- movs r2, 0x3
-_0803A970:
- mov r0, r12
- ldr r1, [r0]
- adds r1, r3
- adds r1, 0x9C
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- adds r3, 0x18
- subs r2, 0x1
- cmp r2, 0
- bge _0803A970
-_0803A98A:
- bl sub_8004914
- ldr r0, _0803A9A8
- ldr r0, [r0]
- adds r0, 0x9C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803A9A4: .4byte gUnknown_80E7E8C
-_0803A9A8: .4byte gUnknown_203B3F4
- thumb_func_end sub_803A93C
-
- thumb_func_start sub_803A9AC
-sub_803A9AC:
- push {lr}
- sub sp, 0x8
- ldr r1, _0803A9C8
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _0803AA2C
- lsls r0, 2
- ldr r1, _0803A9CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803A9C8: .4byte gUnknown_203B3F4
-_0803A9CC: .4byte _0803A9D0
- .align 2, 0
-_0803A9D0:
- .4byte _0803A9E4
- .4byte _0803A9EE
- .4byte _0803A9F6
- .4byte _0803AA20
- .4byte _0803AA2C
-_0803A9E4:
- movs r0, 0
- movs r1, 0x3
- bl sub_80211AC
- b _0803AA2C
-_0803A9EE:
- movs r0, 0x1
- bl sub_8021354
- b _0803AA2C
-_0803A9F6:
- bl sub_8021494
- bl sub_803AA34
- ldr r0, _0803AA1C
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x4C
- adds r1, r2, 0
- adds r1, 0xC
- ldr r2, [r2, 0x8]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_8012D60
- b _0803AA2C
- .align 2, 0
-_0803AA1C: .4byte gUnknown_203B3F4
-_0803AA20:
- ldr r0, [r2]
- ldrb r0, [r0, 0x4]
- movs r1, 0x1
- movs r2, 0
- bl sub_8021774
-_0803AA2C:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_803A9AC
-
- thumb_func_start sub_803AA34
-sub_803AA34:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _0803AA64
- ldr r1, [r0]
- ldr r2, _0803AA68
- ldr r3, [r2]
- ldrb r0, [r3, 0x4]
- adds r1, r0
- ldrb r0, [r1]
- adds r5, r2, 0
- cmp r0, 0
- beq _0803AA7A
- ldr r0, _0803AA6C
- str r0, [r3, 0xC]
- bl sub_803ABC8
- lsls r0, 24
- cmp r0, 0
- beq _0803AA70
- ldr r1, [r5]
- movs r0, 0x3
- str r0, [r1, 0x10]
- b _0803AA82
- .align 2, 0
-_0803AA64: .4byte gUnknown_203B468
-_0803AA68: .4byte gUnknown_203B3F4
-_0803AA6C: .4byte gUnknown_80E7EBC
-_0803AA70:
- ldr r1, [r5]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x10]
- b _0803AA82
-_0803AA7A:
- ldr r0, _0803AABC
- str r0, [r3, 0xC]
- movs r0, 0x2
- str r0, [r3, 0x10]
-_0803AA82:
- adds r4, 0x1
- ldr r5, [r5]
- mov r12, r5
- lsls r1, r4, 3
- mov r3, r12
- adds r3, 0xC
- adds r2, r3, r1
- ldr r0, _0803AAC0
- ldr r0, [r0]
- str r0, [r2]
- mov r2, r12
- adds r2, 0x10
- adds r1, r2, r1
- movs r0, 0x4
- str r0, [r1]
- adds r4, 0x1
- lsls r1, r4, 3
- adds r3, r1
- movs r0, 0
- str r0, [r3]
- adds r2, r1
- movs r0, 0x1
- str r0, [r2]
- mov r1, r12
- ldr r0, [r1, 0x10]
- str r0, [r1, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AABC: .4byte gUnknown_80E7EC4
-_0803AAC0: .4byte gUnknown_80D4970
- thumb_func_end sub_803AA34
-
- thumb_func_start sub_803AAC4
-sub_803AAC4:
- push {lr}
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x4
- bhi _0803AB2E
- lsls r0, 2
- ldr r1, _0803AADC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803AADC: .4byte _0803AAE0
- .align 2, 0
-_0803AAE0:
- .4byte _0803AB2E
- .4byte _0803AB2E
- .4byte _0803AB24
- .4byte _0803AAF4
- .4byte _0803AB0C
-_0803AAF4:
- bl sub_802132C
- ldr r1, _0803AB08
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x2
- bl sub_803A924
- b _0803AB2E
- .align 2, 0
-_0803AB08: .4byte gUnknown_203B3F4
-_0803AB0C:
- bl sub_802132C
- ldr r1, _0803AB20
- ldr r1, [r1]
- strb r0, [r1, 0x4]
- movs r0, 0x3
- bl sub_803A924
- b _0803AB2E
- .align 2, 0
-_0803AB20: .4byte gUnknown_203B3F4
-_0803AB24:
- bl sub_80213A0
- movs r0, 0x4
- bl sub_803A924
-_0803AB2E:
- pop {r0}
- bx r0
- thumb_func_end sub_803AAC4
-
- thumb_func_start sub_803AB34
-sub_803AB34:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8021274
- ldr r4, _0803AB6C
- ldr r0, [r4]
- adds r0, 0x4C
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0803AB5A
- ldr r0, [r4]
- adds r0, 0x4C
- mov r1, sp
- bl sub_8013114
-_0803AB5A:
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0803AB7A
- cmp r0, 0x2
- bgt _0803AB70
- cmp r0, 0x1
- beq _0803AB9E
- b _0803ABA4
- .align 2, 0
-_0803AB6C: .4byte gUnknown_203B3F4
-_0803AB70:
- cmp r0, 0x3
- beq _0803AB84
- cmp r0, 0x4
- beq _0803AB96
- b _0803ABA4
-_0803AB7A:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl sub_80925EC
- b _0803AB8E
-_0803AB84:
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- movs r1, 0x1
- bl sub_809249C
-_0803AB8E:
- movs r0, 0x1
- bl sub_803A924
- b _0803ABA4
-_0803AB96:
- movs r0, 0x3
- bl sub_803A924
- b _0803ABA4
-_0803AB9E:
- movs r0, 0x1
- bl sub_803A924
-_0803ABA4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803AB34
-
- thumb_func_start sub_803ABAC
-sub_803ABAC:
- push {lr}
- bl sub_80217EC
- cmp r0, 0x1
- bls _0803ABC4
- cmp r0, 0x3
- bhi _0803ABC4
- bl sub_8021830
- movs r0, 0x1
- bl sub_803A924
-_0803ABC4:
- pop {r0}
- bx r0
- thumb_func_end sub_803ABAC
-
- thumb_func_start sub_803ABC8
-sub_803ABC8:
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0x1
-_0803ABCE:
- ldr r2, _0803AC08
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0803AC10
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _0803AC10
- ldr r0, _0803AC0C
- ldr r4, [r0]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_808DBA8
- ldrb r1, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0803AC10
- movs r0, 0
- b _0803AC1C
- .align 2, 0
-_0803AC08: .4byte gUnknown_203B45C
-_0803AC0C: .4byte gUnknown_203B3F4
-_0803AC10:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0803ABCE
- movs r0, 0x1
-_0803AC1C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_803ABC8
-
- thumb_func_start sub_803AC24
-sub_803AC24:
- push {r4,lr}
- ldr r4, _0803AC44
- movs r0, 0xA0
- lsls r0, 1
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r0, 0
- bl sub_803ACD0
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803AC44: .4byte gUnknown_203B3F8
- thumb_func_end sub_803AC24
-
- thumb_func_start sub_803AC48
-sub_803AC48:
- push {lr}
- ldr r0, _0803AC60
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x7
- bhi _0803ACA8
- lsls r0, 2
- ldr r1, _0803AC64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803AC60: .4byte gUnknown_203B3F8
-_0803AC64: .4byte _0803AC68
- .align 2, 0
-_0803AC68:
- .4byte _0803AC88
- .4byte _0803AC90
- .4byte _0803AC90
- .4byte _0803AC96
- .4byte _0803ACA8
- .4byte _0803AC9C
- .4byte _0803ACA2
- .4byte _0803ACA8
-_0803AC88:
- movs r0, 0x1
- bl sub_803ACD0
- b _0803ACAC
-_0803AC90:
- bl sub_803AF38
- b _0803ACAC
-_0803AC96:
- bl sub_803AF88
- b _0803ACAC
-_0803AC9C:
- bl sub_803AFE8
- b _0803ACAC
-_0803ACA2:
- bl sub_803B034
- b _0803ACAC
-_0803ACA8:
- movs r0, 0x3
- b _0803ACAE
-_0803ACAC:
- movs r0, 0
-_0803ACAE:
- pop {r1}
- bx r1
- thumb_func_end sub_803AC48
-
- thumb_func_start sub_803ACB4
-sub_803ACB4:
- push {r4,lr}
- ldr r4, _0803ACCC
- ldr r0, [r4]
- cmp r0, 0
- beq _0803ACC6
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803ACC6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803ACCC: .4byte gUnknown_203B3F8
- thumb_func_end sub_803ACB4
-
- thumb_func_start sub_803ACD0
-sub_803ACD0:
- push {lr}
- ldr r1, _0803ACE4
- ldr r1, [r1]
- str r0, [r1]
- bl sub_803ACE8
- bl sub_803AD88
- pop {r0}
- bx r0
- .align 2, 0
-_0803ACE4: .4byte gUnknown_203B3F8
- thumb_func_end sub_803ACD0
-
- thumb_func_start sub_803ACE8
-sub_803ACE8:
- push {r4-r7,lr}
- ldr r4, _0803AD08
- ldr r0, [r4]
- adds r0, 0xE0
- bl sub_8006518
- ldr r1, [r4]
- ldr r0, [r1]
- cmp r0, 0x3
- beq _0803AD10
- cmp r0, 0x5
- beq _0803AD38
- movs r2, 0
- ldr r3, _0803AD0C
- b _0803AD50
- .align 2, 0
-_0803AD08: .4byte gUnknown_203B3F8
-_0803AD0C: .4byte gUnknown_80E7ED4
-_0803AD10:
- bl sub_803AEB0
- ldr r2, [r4]
- movs r0, 0x88
- lsls r0, 1
- adds r2, r0
- ldr r1, _0803AD34
- ldm r1!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r1!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldr r1, [r4]
- adds r0, r1, r0
- adds r1, 0x90
- bl sub_8012CAC
- b _0803AD6C
- .align 2, 0
-_0803AD34: .4byte gUnknown_80E7EEC
-_0803AD38:
- movs r6, 0x94
- lsls r6, 1
- adds r1, r6
- ldr r0, _0803AD4C
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- b _0803AD6C
- .align 2, 0
-_0803AD4C: .4byte gUnknown_80E7F04
-_0803AD50:
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, 0xE0
- adds r1, r3, 0
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r2, 0x1
- cmp r2, 0x3
- ble _0803AD50
-_0803AD6C:
- bl sub_8004914
- ldr r0, _0803AD84
- ldr r0, [r0]
- adds r0, 0xE0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AD84: .4byte gUnknown_203B3F8
- thumb_func_end sub_803ACE8
-
- thumb_func_start sub_803AD88
-sub_803AD88:
- push {lr}
- sub sp, 0x8
- ldr r1, _0803ADA4
- ldr r0, [r1]
- ldr r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x7
- bhi _0803AE50
- lsls r0, 2
- ldr r1, _0803ADA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803ADA4: .4byte gUnknown_203B3F8
-_0803ADA8: .4byte _0803ADAC
- .align 2, 0
-_0803ADAC:
- .4byte _0803AE50
- .4byte _0803ADCC
- .4byte _0803ADDA
- .4byte _0803ADE2
- .4byte _0803AE50
- .4byte _0803AE0C
- .4byte _0803AE44
- .4byte _0803AE50
-_0803ADCC:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_8023868
- b _0803AE50
-_0803ADDA:
- movs r0, 0x1
- bl sub_8023B7C
- b _0803AE50
-_0803ADE2:
- bl sub_8023DA4
- ldr r0, _0803AE08
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x10
- adds r1, r2, 0
- adds r1, 0x90
- adds r3, r2, 0
- adds r3, 0xD0
- ldr r2, [r2, 0xC]
- str r2, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r2, 0
- bl sub_8012D60
- b _0803AE50
- .align 2, 0
-_0803AE08: .4byte gUnknown_203B3F8
-_0803AE0C:
- ldr r2, [r2]
- movs r1, 0x3
- str r1, [r2, 0x70]
- movs r0, 0x1
- str r0, [r2, 0x68]
- movs r0, 0x64
- str r0, [r2, 0x6C]
- ldr r0, [r2, 0x8]
- ldrb r0, [r0, 0x3]
- str r0, [r2, 0x64]
- str r1, [r2, 0x74]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r2, r1
- str r0, [r2, 0x78]
- movs r0, 0x2C
- str r0, [r2, 0x7C]
- adds r1, r2, 0
- adds r1, 0x80
- movs r0, 0x12
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x60
- bl sub_8013AA0
- bl sub_803AE58
- b _0803AE50
-_0803AE44:
- ldr r0, [r2]
- ldr r1, [r0, 0x8]
- adds r1, 0x4C
- movs r0, 0x2
- bl sub_801602C
-_0803AE50:
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_803AD88
-
- thumb_func_start sub_803AE58
-sub_803AE58:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _0803AEA8
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_8008C54
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073B8
- ldr r2, _0803AEAC
- ldr r0, [r4]
- ldr r3, [r0, 0x74]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- bl xxx_call_draw_string
- ldr r0, [r4]
- adds r0, 0x60
- bl sub_8013C68
- ldr r0, [r4]
- ldr r0, [r0, 0x74]
- bl sub_80073E0
- bl sub_8023DA4
- ldr r0, [r4]
- adds r0, 0x10
- movs r1, 0
- bl sub_8012EA4
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AEA8: .4byte gUnknown_203B3F8
-_0803AEAC: .4byte gUnknown_80E7F1C
- thumb_func_end sub_803AE58
-
- thumb_func_start sub_803AEB0
-sub_803AEB0:
- push {r4-r6,lr}
- ldr r4, _0803AEFC
- ldr r0, [r4]
- adds r0, 0xD0
- movs r1, 0
- movs r2, 0x10
- bl MemoryFill16
- ldr r4, [r4]
- movs r3, 0
- adds r1, r4, 0
- adds r1, 0x90
- ldr r0, _0803AF00
- str r0, [r1]
- adds r5, r4, 0
- adds r5, 0x94
- movs r0, 0x4
- str r0, [r5]
- movs r2, 0x1
- adds r1, 0x8
- ldr r0, _0803AF04
- str r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- str r0, [r1]
- movs r6, 0x2
- adds r0, r4, 0
- adds r0, 0xA0
- str r3, [r0]
- adds r0, 0x4
- str r2, [r0]
- adds r0, 0x2C
- ldrh r0, [r0]
- cmp r0, 0
- bne _0803AF08
- ldr r0, [r5]
- str r0, [r4, 0xC]
- b _0803AF2C
- .align 2, 0
-_0803AEFC: .4byte gUnknown_203B3F8
-_0803AF00: .4byte gUnknown_80E7F24
-_0803AF04: .4byte gUnknown_80E7F2C
-_0803AF08:
- adds r3, 0x1
- cmp r3, r6
- bge _0803AF2C
- ldr r0, _0803AF34
- ldr r2, [r0]
- lsls r1, r3, 1
- adds r0, r2, 0
- adds r0, 0xD0
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _0803AF08
- lsls r0, r3, 3
- adds r1, r2, 0
- adds r1, 0x94
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2, 0xC]
-_0803AF2C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803AF34: .4byte gUnknown_203B3F8
- thumb_func_end sub_803AEB0
-
- thumb_func_start sub_803AF38
-sub_803AF38:
- push {lr}
- movs r0, 0x1
- bl sub_8023A94
- cmp r0, 0x2
- beq _0803AF78
- cmp r0, 0x2
- bcc _0803AF82
- cmp r0, 0x3
- bne _0803AF82
- bl sub_8023B44
- ldr r1, _0803AF70
- ldr r1, [r1]
- strh r0, [r1, 0x4]
- ldr r3, _0803AF74
- movs r0, 0x4
- ldrsh r2, [r1, r0]
- movs r0, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- str r0, [r1, 0x8]
- movs r0, 0x3
- bl sub_803ACD0
- b _0803AF82
- .align 2, 0
-_0803AF70: .4byte gUnknown_203B3F8
-_0803AF74: .4byte gUnknown_203B45C
-_0803AF78:
- bl sub_8023C60
- movs r0, 0x7
- bl sub_803ACD0
-_0803AF82:
- pop {r0}
- bx r0
- thumb_func_end sub_803AF38
-
- thumb_func_start sub_803AF88
-sub_803AF88:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- bl sub_8023A94
- ldr r4, _0803AFC0
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8012FD8
- lsls r0, 24
- cmp r0, 0
- bne _0803AFAE
- ldr r0, [r4]
- adds r0, 0x10
- mov r1, sp
- bl sub_8013114
-_0803AFAE:
- ldr r0, [sp]
- cmp r0, 0x4
- beq _0803AFCA
- cmp r0, 0x4
- bgt _0803AFC4
- cmp r0, 0x1
- beq _0803AFDA
- b _0803AFE0
- .align 2, 0
-_0803AFC0: .4byte gUnknown_203B3F8
-_0803AFC4:
- cmp r0, 0x5
- beq _0803AFD2
- b _0803AFE0
-_0803AFCA:
- movs r0, 0x5
- bl sub_803ACD0
- b _0803AFE0
-_0803AFD2:
- movs r0, 0x6
- bl sub_803ACD0
- b _0803AFE0
-_0803AFDA:
- movs r0, 0x2
- bl sub_803ACD0
-_0803AFE0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803AF88
-
- thumb_func_start sub_803AFE8
-sub_803AFE8:
- push {r4,lr}
- movs r0, 0
- bl sub_8023A94
- ldr r4, _0803B010
- ldr r0, [r4]
- adds r0, 0x10
- bl sub_8012FD8
- ldr r0, [r4]
- adds r0, 0x60
- bl sub_8013BBC
- cmp r0, 0x2
- beq _0803B020
- cmp r0, 0x2
- bhi _0803B014
- cmp r0, 0x1
- beq _0803B028
- b _0803B02C
- .align 2, 0
-_0803B010: .4byte gUnknown_203B3F8
-_0803B014:
- cmp r0, 0x3
- bne _0803B02C
- ldr r0, [r4]
- ldr r1, [r0, 0x8]
- ldr r0, [r0, 0x60]
- strb r0, [r1, 0x3]
-_0803B020:
- movs r0, 0x2
- bl sub_803ACD0
- b _0803B02C
-_0803B028:
- bl sub_803AE58
-_0803B02C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_803AFE8
-
- thumb_func_start sub_803B034
-sub_803B034:
- push {lr}
- bl sub_8016080
- cmp r0, 0x3
- bhi _0803B04C
- cmp r0, 0x2
- bcc _0803B04C
- bl sub_80160D8
- movs r0, 0x2
- bl sub_803ACD0
-_0803B04C:
- pop {r0}
- bx r0
- thumb_func_end sub_803B034
-
- thumb_func_start sub_803B050
-sub_803B050:
- push {r4-r7,lr}
- ldr r4, _0803B0F4
- movs r0, 0xF4
- lsls r0, 2
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x3
- str r1, [r0, 0x34]
- adds r1, r0, 0
- adds r1, 0x84
- str r1, [r0, 0x38]
- adds r0, 0x3C
- bl sub_8006518
- ldr r1, [r4]
- ldr r2, [r1, 0x34]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x3C
- ldr r0, _0803B0F8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r4]
- ldr r1, [r0, 0x38]
- adds r0, 0x9C
- str r0, [r1, 0x14]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r2, 0
- movs r3, 0
- movs r7, 0xCB
- lsls r7, 1
- movs r6, 0x80
- lsls r6, 9
- movs r5, 0
-_0803B0AE:
- ldr r0, _0803B0FC
- adds r0, r5, r0
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r4, _0803B0F4
- cmp r0, 0xA
- bne _0803B0C8
- ldr r0, [r4]
- lsls r1, r2, 1
- adds r0, 0xA0
- adds r0, r1
- strh r3, [r0]
- adds r2, 0x1
-_0803B0C8:
- adds r0, r6, 0
- movs r3, 0x80
- lsls r3, 9
- adds r6, r3
- adds r5, 0xC
- asrs r3, r0, 16
- cmp r3, r7
- ble _0803B0AE
- ldr r0, [r4]
- ldr r3, [r0, 0x34]
- adds r1, r2, 0
- movs r2, 0xA
- bl sub_8013818
- bl sub_803B204
- bl sub_803B284
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803B0F4: .4byte gUnknown_203B3FC
-_0803B0F8: .4byte gUnknown_80E7F54
-_0803B0FC: .4byte gUnknown_812F1F8
- thumb_func_end sub_803B050
-
- thumb_func_start sub_803B100
-sub_803B100:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0803B11C
- ldr r0, [r0]
- bl sub_8013878
- bl sub_803B204
- bl sub_803B284
- pop {r0}
- bx r0
- .align 2, 0
-_0803B11C: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B100
-
- thumb_func_start sub_803B120
-sub_803B120:
- push {r4,lr}
- ldr r4, _0803B13C
- ldr r0, [r4]
- bl GetKeyPress
- cmp r0, 0x1
- beq _0803B140
- cmp r0, 0x2
- bne _0803B144
- movs r0, 0x1
- bl sub_80119D4
- movs r0, 0x2
- b _0803B160
- .align 2, 0
-_0803B13C: .4byte gUnknown_203B3FC
-_0803B140:
- movs r0, 0x3
- b _0803B160
-_0803B144:
- ldr r0, [r4]
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- bne _0803B156
- movs r0, 0
- b _0803B160
-_0803B156:
- bl sub_803B204
- bl sub_803B284
- movs r0, 0x1
-_0803B160:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_803B120
-
- thumb_func_start sub_803B168
-sub_803B168:
- ldr r0, _0803B188
- ldr r0, [r0]
- movs r1, 0x1E
- ldrsh r2, [r0, r1]
- movs r3, 0x1C
- ldrsh r1, [r0, r3]
- muls r1, r2
- movs r3, 0x18
- ldrsh r2, [r0, r3]
- adds r1, r2
- lsls r1, 1
- adds r0, 0xA0
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_0803B188: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B168
-
- thumb_func_start sub_803B18C
-sub_803B18C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0803B1B8
- ldr r0, [r5]
- movs r1, 0xE5
- strh r1, [r0, 0x22]
- bl sub_8013984
- bl sub_803B204
- bl sub_803B284
- cmp r4, 0
- beq _0803B1B2
- ldr r0, [r5]
- bl AddMenuCursorSprite
-_0803B1B2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B1B8: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B18C
-
- thumb_func_start sub_803B1BC
-sub_803B1BC:
- push {r4,r5,lr}
- ldr r4, _0803B1FC
- ldr r2, [r4]
- cmp r2, 0
- beq _0803B1F6
- ldr r0, [r2, 0x34]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x3C
- ldr r0, _0803B200
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803B1F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B1FC: .4byte gUnknown_203B3FC
-_0803B200: .4byte gUnknown_80E7F3C
- thumb_func_end sub_803B1BC
-
- thumb_func_start sub_803B204
-sub_803B204:
- push {r4,lr}
- ldr r4, _0803B280
- ldr r0, [r4]
- adds r0, 0x9C
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9D
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0x9E
- movs r1, 0x8
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x9F
- strb r2, [r0]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r4]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r4]
- ldr r3, [r2, 0x34]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x4A
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x34]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x4C
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x3C
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B280: .4byte gUnknown_203B3FC
- thumb_func_end sub_803B204
-
- thumb_func_start sub_803B284
-sub_803B284:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r6, _0803B338
- ldr r0, [r6]
- ldr r0, [r0, 0x34]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x34]
- bl sub_80073B8
- ldr r2, _0803B33C
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x9E
- ldrb r4, [r0]
- lsls r4, 3
- subs r4, 0x2
- movs r0, 0x1E
- ldrsh r2, [r1, r0]
- adds r2, 0x1
- movs r0, 0x7
- str r0, [sp]
- ldr r0, [r1, 0x34]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- movs r3, 0x2
- bl sub_8012BC4
- movs r5, 0
- ldr r0, [r6]
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _0803B324
-_0803B2DC:
- ldr r0, [r6]
- movs r3, 0x1E
- ldrsh r2, [r0, r3]
- movs r3, 0x1C
- ldrsh r1, [r0, r3]
- muls r2, r1
- adds r2, r5
- lsls r2, 1
- adds r1, r0, 0
- adds r1, 0xA0
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r4, r1, 1
- adds r4, r1
- lsls r4, 2
- ldr r1, _0803B340
- adds r4, r1
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r2, [r4, 0x4]
- ldr r0, [r6]
- ldr r3, [r0, 0x34]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- bl xxx_call_draw_string
- adds r5, 0x1
- ldr r0, [r6]
- movs r3, 0x1A
- ldrsh r0, [r0, r3]
- cmp r5, r0
- blt _0803B2DC
-_0803B324:
- ldr r0, _0803B338
- ldr r0, [r0]
- ldr r0, [r0, 0x34]
- bl sub_80073E0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B338: .4byte gUnknown_203B3FC
-_0803B33C: .4byte gUnknown_80E7F6C
-_0803B340: .4byte gUnknown_812F1F8
- thumb_func_end sub_803B284
-
- thumb_func_start sub_803B344
-sub_803B344:
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0803B358
- adds r0, r1
- bx lr
- .align 2, 0
-_0803B358: .4byte gUnknown_80E7F94
- thumb_func_end sub_803B344
-
- thumb_func_start sub_803B35C
-sub_803B35C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, 0x18
- bl sub_803C21C
- ldrb r0, [r5, 0x2]
- subs r0, 0x1
- cmp r0, 0x8
- bls _0803B372
- b _0803B4FA
-_0803B372:
- lsls r0, 2
- ldr r1, _0803B37C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B37C: .4byte _0803B380
- .align 2, 0
-_0803B380:
- .4byte _0803B3A4
- .4byte _0803B3BE
- .4byte _0803B3D8
- .4byte _0803B3F2
- .4byte _0803B414
- .4byte _0803B442
- .4byte _0803B470
- .4byte _0803B49E
- .4byte _0803B4CC
-_0803B3A4:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- subs r1, 0x14
- movs r0, 0x5
- b _0803B576
-_0803B3BE:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- subs r1, 0x14
- movs r0, 0x5
- b _0803B576
-_0803B3D8:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x2
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- subs r1, 0x14
- movs r0, 0x5
- b _0803B576
-_0803B3F2:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x3
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x6
- strb r0, [r1]
- bl sub_8096DD8
- str r0, [r4, 0x4C]
- bl sub_8096DE8
- str r0, [r4, 0x50]
- b _0803B578
-_0803B414:
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- bne _0803B42A
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xB
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x1
- b _0803B438
-_0803B42A:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xC
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x2
-_0803B438:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x4
- b _0803B576
-_0803B442:
- ldrb r0, [r5, 0x1]
- cmp r0, 0x3
- bne _0803B458
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xB
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x1
- b _0803B466
-_0803B458:
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0xC
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x42
- movs r0, 0x2
-_0803B466:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x5
- b _0803B576
-_0803B470:
- adds r0, r5, 0
- bl sub_803B600
- str r0, [r4, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803B488
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x9
- b _0803B48E
-_0803B488:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x4
-_0803B48E:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x6
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x4
- b _0803B576
-_0803B49E:
- adds r0, r5, 0
- bl sub_803B628
- str r0, [r4, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803B4B6
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x9
- b _0803B4BC
-_0803B4B6:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x5
-_0803B4BC:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x7
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x4
- b _0803B576
-_0803B4CC:
- adds r0, r5, 0
- bl sub_803B66C
- str r0, [r4, 0x4]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0803B4E4
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xA
- b _0803B4EA
-_0803B4E4:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x6
-_0803B4EA:
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0x41
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x5
- b _0803B576
-_0803B4FA:
- ldrb r0, [r5, 0x1]
- cmp r0, 0x2
- beq _0803B528
- cmp r0, 0x2
- bgt _0803B50A
- cmp r0, 0x1
- beq _0803B514
- b _0803B564
-_0803B50A:
- cmp r0, 0x3
- beq _0803B53C
- cmp r0, 0x4
- beq _0803B550
- b _0803B564
-_0803B514:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x9
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xD
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x4
- b _0803B576
-_0803B528:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xA
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xE
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x5
- b _0803B576
-_0803B53C:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xB
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xF
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x1
- b _0803B576
-_0803B550:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x10
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x2
- b _0803B576
-_0803B564:
- adds r1, r4, 0
- adds r1, 0x40
- movs r0, 0x8
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x3
-_0803B576:
- strb r0, [r1]
-_0803B578:
- adds r0, r5, 0x4
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4, 0xC]
- ldrh r0, [r5, 0xC]
- movs r1, 0
- strh r0, [r4, 0x10]
- ldrh r0, [r5, 0xE]
- strh r0, [r4, 0x12]
- ldrb r0, [r5, 0x10]
- strb r0, [r4, 0x14]
- ldrb r0, [r5]
- subs r0, 0x2
- cmp r0, 0x7
- bhi _0803B5EC
- lsls r0, 2
- ldr r1, _0803B5A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B5A0: .4byte _0803B5A4
- .align 2, 0
-_0803B5A4:
- .4byte _0803B5C4
- .4byte _0803B5C4
- .4byte _0803B5C4
- .4byte _0803B5C4
- .4byte _0803B5DC
- .4byte _0803B5CC
- .4byte _0803B5DC
- .4byte _0803B5DC
-_0803B5C4:
- adds r0, r4, 0
- adds r0, 0x43
- movs r1, 0x1
- b _0803B5F0
-_0803B5CC:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x3
- strb r0, [r1]
- b _0803B5F6
-_0803B5DC:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x3
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x2
- strb r0, [r1]
- b _0803B5F6
-_0803B5EC:
- adds r0, r4, 0
- adds r0, 0x43
-_0803B5F0:
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
-_0803B5F6:
- str r5, [r4, 0x54]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_803B35C
-
- thumb_func_start sub_803B600
-sub_803B600:
- push {lr}
- ldr r2, _0803B614
- movs r1, 0
- ldr r3, [r0, 0xC]
-_0803B608:
- ldr r0, [r2]
- cmp r0, r3
- bne _0803B618
- adds r0, r1, 0
- b _0803B624
- .align 2, 0
-_0803B614: .4byte gUnknown_80E9920
-_0803B618:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x14
- ble _0803B608
- movs r0, 0x1
- negs r0, r0
-_0803B624:
- pop {r1}
- bx r1
- thumb_func_end sub_803B600
-
- thumb_func_start sub_803B628
-sub_803B628:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, _0803B654
- movs r3, 0
-_0803B630:
- ldr r1, [r2]
- ldr r0, [r4, 0xC]
- cmp r1, r0
- beq _0803B650
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B658
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r5, 0xE
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B658
-_0803B650:
- adds r0, r3, 0
- b _0803B664
- .align 2, 0
-_0803B654: .4byte gUnknown_80E9F8C
-_0803B658:
- adds r2, 0xC
- adds r3, 0x1
- cmp r3, 0x2C
- ble _0803B630
- movs r0, 0x1
- negs r0, r0
-_0803B664:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803B628
-
- thumb_func_start sub_803B66C
-sub_803B66C:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r2, _0803B698
- movs r3, 0
-_0803B674:
- ldr r1, [r2]
- ldr r0, [r4, 0xC]
- cmp r1, r0
- beq _0803B694
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r5, 0xC
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B69C
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r5, 0xE
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bne _0803B69C
-_0803B694:
- adds r0, r3, 0
- b _0803B6A8
- .align 2, 0
-_0803B698: .4byte gUnknown_80E8168
-_0803B69C:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x5
- ble _0803B674
- movs r0, 0x1
- negs r0, r0
-_0803B6A8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803B66C
-
- thumb_func_start sub_803B6B0
-sub_803B6B0:
- push {r4,lr}
- sub sp, 0x4
- lsls r2, 24
- ldr r4, _0803B6D0
- lsrs r2, 22
- adds r2, r4
- ldr r2, [r2]
- movs r4, 0
- str r4, [sp]
- bl xxx_call_draw_string
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803B6D0: .4byte gUnknown_80E8B94
- thumb_func_end sub_803B6B0
-
- thumb_func_start sub_803B6D4
-sub_803B6D4:
- push {r4-r7,lr}
- sub sp, 0x144
- adds r7, r0, 0
- ldr r1, [r7, 0x48]
- adds r0, 0x43
- ldrb r2, [r0]
- ldr r3, [r7]
- movs r0, 0xA
- bl sub_803B6B0
- adds r0, r7, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0xC
- bls _0803B6F4
- b _0803B86C
-_0803B6F4:
- lsls r0, 2
- ldr r1, _0803B700
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B700: .4byte _0803B704
- .align 2, 0
-_0803B704:
- .4byte _0803B73E
- .4byte _0803B748
- .4byte _0803B754
- .4byte _0803B738
- .4byte _0803B7A4
- .4byte _0803B7B0
- .4byte _0803B7C8
- .4byte _0803B760
- .4byte _0803B86C
- .4byte _0803B818
- .4byte _0803B7E0
- .4byte _0803B788
- .4byte _0803B76A
-_0803B738:
- ldr r1, [r7, 0x48]
- ldr r2, [r7, 0x4C]
- b _0803B7CC
-_0803B73E:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B744
- b _0803B7CC
- .align 2, 0
-_0803B744: .4byte gUnknown_80E87DC
-_0803B748:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B750
- b _0803B7CC
- .align 2, 0
-_0803B750: .4byte gUnknown_80E87F4
-_0803B754:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B75C
- b _0803B7CC
- .align 2, 0
-_0803B75C: .4byte gUnknown_80E8818
-_0803B760:
- ldr r1, [r7, 0x8]
- add r0, sp, 0x4
- bl sub_8090208
- b _0803B850
-_0803B76A:
- ldr r4, _0803B780
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803B784
- add r0, sp, 0x4
- adds r2, r4, 0
- b _0803B84C
- .align 2, 0
-_0803B780: .4byte gUnknown_202DE58
-_0803B784: .4byte gUnknown_80E8830
-_0803B788:
- ldr r4, _0803B79C
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803B7A0
- add r0, sp, 0x4
- adds r2, r4, 0
- b _0803B84C
- .align 2, 0
-_0803B79C: .4byte gUnknown_202DE58
-_0803B7A0: .4byte gUnknown_80E8848
-_0803B7A4:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B7AC
- b _0803B7CC
- .align 2, 0
-_0803B7AC: .4byte gUnknown_80E885C
-_0803B7B0:
- ldr r1, [r7, 0x48]
- ldr r3, _0803B7C4
- ldr r2, [r7, 0x4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, 0x4
- adds r0, r3
- ldr r2, [r0]
- b _0803B7CC
- .align 2, 0
-_0803B7C4: .4byte gUnknown_80E9F8C
-_0803B7C8:
- ldr r1, [r7, 0x48]
- ldr r2, _0803B7DC
-_0803B7CC:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- bl xxx_call_draw_string
- b _0803B8B4
- .align 2, 0
-_0803B7DC: .4byte gUnknown_80E886C
-_0803B7E0:
- ldr r0, [r7, 0x8]
- ldr r4, [r0, 0x4]
- ldrb r0, [r0]
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r5, _0803B810
- adds r0, r5, 0
- bl strcpy
- ldr r1, _0803B814
- movs r0, 0x3
- ands r4, r0
- lsls r4, 2
- adds r4, r1
- ldr r1, [r4]
- add r0, sp, 0x4
- adds r2, r5, 0
- b _0803B84C
- .align 2, 0
-_0803B810: .4byte gUnknown_202DF98
-_0803B814: .4byte gUnknown_80EAE5C
-_0803B818:
- ldr r0, [r7, 0x8]
- ldr r4, [r0, 0x4]
- ldrb r0, [r0]
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r6, _0803B864
- adds r0, r6, 0
- bl strcpy
- ldr r5, _0803B868
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r5
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r6, 0
-_0803B84C:
- bl sub_800D158
-_0803B850:
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803B8B4
- .align 2, 0
-_0803B864: .4byte gUnknown_202DF98
-_0803B868: .4byte gUnknown_80E910C
-_0803B86C:
- ldr r0, [r7, 0x8]
- ldr r4, [r0, 0x4]
- ldrb r0, [r0]
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r6, _0803B8E8
- adds r0, r6, 0
- bl strcpy
- ldr r5, _0803B8EC
- adds r0, r4, 0
- movs r1, 0xF
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r5
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r6, 0
- bl sub_800D158
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x15
- add r2, sp, 0x4
- bl xxx_call_draw_string
-_0803B8B4:
- adds r0, r7, 0
- adds r0, 0x40
- ldrb r1, [r0]
- adds r6, r0, 0
- cmp r1, 0x7
- bne _0803B916
- ldr r5, [r7, 0xC]
- cmp r5, 0
- bne _0803B8F0
- bl sub_8016028
- movs r4, 0xB2
- subs r4, r0
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r2, r0, 0
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- str r5, [sp]
- adds r0, r4, 0
- bl xxx_call_draw_string
- b _0803B956
- .align 2, 0
-_0803B8E8: .4byte gUnknown_202DF98
-_0803B8EC: .4byte gUnknown_80E8C98
-_0803B8F0:
- add r4, sp, 0xCC
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA
- bl sub_80922B4
- bl sub_8016028
- adds r1, r0, 0
- movs r0, 0xB2
- subs r0, r1
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r2, 0
- str r2, [sp]
- adds r2, r4, 0
- bl xxx_call_draw_string
- b _0803B956
-_0803B916:
- adds r0, r7, 0
- adds r0, 0x42
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0803B93C
- add r4, sp, 0xE0
- ldr r1, [r7, 0x8]
- adds r0, r4, 0
- bl sub_8090228
- ldr r1, _0803B938
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803B944
- .align 2, 0
-_0803B938: .4byte gUnknown_80E8884
-_0803B93C:
- ldr r1, [r7, 0x8]
- add r0, sp, 0x4
- bl sub_8090228
-_0803B944:
- ldr r1, [r7, 0x48]
- adds r1, 0xC
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1D
- add r2, sp, 0x4
- bl xxx_call_draw_string
-_0803B956:
- ldrb r0, [r6]
- cmp r0, 0x7
- bne _0803B962
- ldr r0, [r7, 0x8]
- movs r1, 0
- b _0803B968
-_0803B962:
- ldr r0, [r7, 0x8]
- ldr r1, [r7, 0x54]
- ldrb r1, [r1, 0x1]
-_0803B968:
- bl sub_803C1D0
- lsls r0, 24
- lsrs r0, 24
- bl sub_803C1F0
- adds r2, r0, 0
- ldr r1, [r7, 0x48]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xB4
- bl xxx_call_draw_string
- add sp, 0x144
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_803B6D4
-
- thumb_func_start sub_803B98C
-sub_803B98C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1FC
- adds r7, r0, 0
- movs r0, 0
- mov r9, r0
- ldr r2, _0803B9E0
- ldr r3, [r7]
- str r0, [sp]
- movs r0, 0xA
- movs r1, 0
- bl xxx_call_draw_string
- ldr r1, _0803B9E4
- adds r0, r7, 0
- adds r0, 0x44
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r3, [r7]
- mov r1, r9
- str r1, [sp]
- movs r0, 0x6C
- movs r1, 0
- bl xxx_call_draw_string
- movs r0, 0x10
- mov r9, r0
- adds r0, r7, 0
- adds r0, 0x41
- ldrb r0, [r0]
- cmp r0, 0x10
- bls _0803B9D6
- b _0803BCC0
-_0803B9D6:
- lsls r0, 2
- ldr r1, _0803B9E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803B9E0: .4byte gUnknown_80E888C
-_0803B9E4: .4byte gUnknown_80E8BCC
-_0803B9E8: .4byte _0803B9EC
- .align 2, 0
-_0803B9EC:
- .4byte _0803BA34
- .4byte _0803BA3C
- .4byte _0803BA44
- .4byte _0803BA30
- .4byte _0803BA4C
- .4byte _0803BA6C
- .4byte _0803BA8C
- .4byte _0803BAA0
- .4byte _0803BBF0
- .4byte _0803BAE8
- .4byte _0803BAF0
- .4byte _0803BAF8
- .4byte _0803BCC0
- .4byte _0803BC58
- .4byte _0803BB74
- .4byte _0803BB10
- .4byte _0803BB10
-_0803BA30:
- ldr r2, [r7, 0x50]
- b _0803BAFA
-_0803BA34:
- ldr r2, _0803BA38
- b _0803BAFA
- .align 2, 0
-_0803BA38: .4byte gUnknown_80E88A0
-_0803BA3C:
- ldr r2, _0803BA40
- b _0803BAFA
- .align 2, 0
-_0803BA40: .4byte gUnknown_80E88C8
-_0803BA44:
- ldr r2, _0803BA48
- b _0803BAFA
- .align 2, 0
-_0803BA48: .4byte gUnknown_80E8920
-_0803BA4C:
- ldr r4, _0803BA64
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BA68
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803BACC
- .align 2, 0
-_0803BA64: .4byte gUnknown_202DE58
-_0803BA68: .4byte gUnknown_80E8968
-_0803BA6C:
- ldr r4, _0803BA84
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BA88
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803BACC
- .align 2, 0
-_0803BA84: .4byte gUnknown_202DE58
-_0803BA88: .4byte gUnknown_80E89B0
-_0803BA8C:
- ldr r1, _0803BA9C
- ldr r0, [r7, 0x4]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r2, [r0]
- b _0803BAFA
- .align 2, 0
-_0803BA9C: .4byte gUnknown_80E9920
-_0803BAA0:
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _0803BAE0
- adds r0, r4, 0
- bl strcpy
- ldr r2, _0803BAE4
- ldr r1, [r7, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r4, 0
- adds r3, r4, 0
- bl sub_800D158
-_0803BACC:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803BD42
- .align 2, 0
-_0803BAE0: .4byte gUnknown_202DF98
-_0803BAE4: .4byte gUnknown_80E9F8C
-_0803BAE8:
- ldr r2, _0803BAEC
- b _0803BAFA
- .align 2, 0
-_0803BAEC: .4byte gUnknown_80E89FC
-_0803BAF0:
- ldr r2, _0803BAF4
- b _0803BAFA
- .align 2, 0
-_0803BAF4: .4byte gUnknown_80E8A40
-_0803BAF8:
- ldr r2, _0803BB0C
-_0803BAFA:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- b _0803BD42
- .align 2, 0
-_0803BB0C: .4byte gUnknown_80E8A7C
-_0803BB10:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0803BB68
- mov r8, r0
- ldrb r1, [r7, 0x14]
- movs r2, 0
- bl sub_8090DC4
- ldr r6, _0803BB6C
- adds r0, r4, 0
- movs r1, 0x16
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BB70
- adds r0, r5, 0
- movs r1, 0x16
- b _0803BD1A
- .align 2, 0
-_0803BB68: .4byte gUnknown_202DE58
-_0803BB6C: .4byte gUnknown_80EB3F8
-_0803BB70: .4byte gUnknown_80EB72C
-_0803BB74:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BBE4
- mov r8, r0
- bl strcpy
- ldr r6, _0803BBE8
- adds r0, r4, 0
- movs r1, 0x14
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r4, 0
- str r4, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r1, _0803BBEC
- movs r0, 0x3
- ands r5, r0
- lsls r5, 2
- adds r5, r1
- ldr r1, [r5]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- str r4, [sp]
- b _0803BD32
- .align 2, 0
-_0803BBE4: .4byte gUnknown_202DF98
-_0803BBE8: .4byte gUnknown_80EAEB8
-_0803BBEC: .4byte gUnknown_80EB198
-_0803BBF0:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BC4C
- mov r8, r0
- bl strcpy
- ldr r6, _0803BC50
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BC54
- adds r0, r5, 0
- movs r1, 0x6
- b _0803BD1A
- .align 2, 0
-_0803BC4C: .4byte gUnknown_202DF98
-_0803BC50: .4byte gUnknown_80EB220
-_0803BC54: .4byte gUnknown_80EB2F0
-_0803BC58:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BCB4
- mov r8, r0
- bl strcpy
- ldr r6, _0803BCB8
- adds r0, r4, 0
- movs r1, 0x2D
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BCBC
- adds r0, r5, 0
- movs r1, 0xA
- b _0803BD1A
- .align 2, 0
-_0803BCB4: .4byte gUnknown_202DF98
-_0803BCB8: .4byte gUnknown_80E91D4
-_0803BCBC: .4byte gUnknown_80E9820
-_0803BCC0:
- ldr r0, [r7, 0x8]
- ldr r5, [r0, 0x4]
- ldrb r4, [r0]
- adds r4, r5, r4
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r0, 0x1]
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r0, _0803BD78
- mov r8, r0
- bl strcpy
- ldr r6, _0803BD7C
- adds r0, r4, 0
- movs r1, 0xD
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r6
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r1, 0xC
- add r9, r1
- ldr r4, _0803BD80
- adds r0, r5, 0
- movs r1, 0xD
-_0803BD1A:
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- add r0, sp, 0x4
- mov r2, r8
- bl sub_800D158
- ldr r3, [r7]
- str r6, [sp]
-_0803BD32:
- movs r0, 0xA
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- movs r0, 0xC
- negs r0, r0
- add r9, r0
-_0803BD42:
- movs r1, 0x1C
- add r9, r1
- ldr r2, _0803BD84
- ldr r3, [r7]
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- ldr r1, [r7, 0xC]
- cmp r1, 0
- bne _0803BD88
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r2, r0, 0
- ldr r3, [r7]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- b _0803BDBC
- .align 2, 0
-_0803BD78: .4byte gUnknown_202DF98
-_0803BD7C: .4byte gUnknown_80E8DE4
-_0803BD80: .4byte gUnknown_80E8FB0
-_0803BD84: .4byte gUnknown_80E8AC8
-_0803BD88:
- add r6, sp, 0x158
- adds r0, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- add r4, sp, 0x16C
- movs r0, 0x10
- ldrsh r1, [r7, r0]
- adds r0, r4, 0
- bl sub_808D930
- add r5, sp, 0x130
- ldr r1, _0803BDE8
- adds r0, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_800D158
- ldr r3, [r7]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x44
- mov r1, r9
- adds r2, r5, 0
- bl xxx_call_draw_string
-_0803BDBC:
- movs r0, 0xC
- add r9, r0
- ldr r2, _0803BDEC
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- adds r0, r7, 0
- adds r0, 0x42
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x6
- bhi _0803BEB8
- lsls r0, r1, 2
- ldr r1, _0803BDF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803BDE8: .4byte gUnknown_80E8AD0
-_0803BDEC: .4byte gUnknown_80E8AE0
-_0803BDF0: .4byte _0803BDF4
- .align 2, 0
-_0803BDF4:
- .4byte _0803BE10
- .4byte _0803BE30
- .4byte _0803BE18
- .4byte _0803BE48
- .4byte _0803BE80
- .4byte _0803BE60
- .4byte _0803BEB8
-_0803BE10:
- ldr r2, _0803BE14
- b _0803BE4A
- .align 2, 0
-_0803BE14: .4byte gUnknown_80E8AEC
-_0803BE18:
- ldr r4, _0803BE28
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BE2C
- b _0803BE94
- .align 2, 0
-_0803BE28: .4byte gUnknown_202DE58
-_0803BE2C: .4byte gUnknown_80E8AFC
-_0803BE30:
- ldr r4, _0803BE40
- ldrb r1, [r7, 0x14]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803BE44
- b _0803BE94
- .align 2, 0
-_0803BE40: .4byte gUnknown_202DE58
-_0803BE44: .4byte gUnknown_80E8B10
-_0803BE48:
- ldr r2, _0803BE5C
-_0803BE4A:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- b _0803BEC8
- .align 2, 0
-_0803BE5C: .4byte gUnknown_80E8B20
-_0803BE60:
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _0803BE78
- adds r0, r4, 0
- bl strcpy
- ldr r1, _0803BE7C
- b _0803BE94
- .align 2, 0
-_0803BE78: .4byte gUnknown_202DF98
-_0803BE7C: .4byte gUnknown_80E8B2C
-_0803BE80:
- movs r1, 0x12
- ldrsh r0, [r7, r1]
- bl sub_808D994
- adds r1, r0, 0
- ldr r4, _0803BEB0
- adds r0, r4, 0
- bl strcpy
- ldr r1, _0803BEB4
-_0803BE94:
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803BEC8
- .align 2, 0
-_0803BEB0: .4byte gUnknown_202DF98
-_0803BEB4: .4byte gUnknown_80E8B40
-_0803BEB8:
- ldr r2, _0803BEF8
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
-_0803BEC8:
- movs r0, 0xC
- add r9, r0
- ldr r2, _0803BEFC
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- ldrb r0, [r5]
- cmp r0, 0x1
- bne _0803BF04
- add r4, sp, 0x180
- ldr r1, [r7, 0x8]
- adds r0, r4, 0
- bl sub_8090228
- ldr r1, _0803BF00
- add r0, sp, 0x4
- adds r2, r4, 0
- bl sub_800D158
- b _0803BF0C
- .align 2, 0
-_0803BEF8: .4byte gUnknown_80E8B50
-_0803BEFC: .4byte gUnknown_80E8B60
-_0803BF00: .4byte gUnknown_80E8884
-_0803BF04:
- ldr r1, [r7, 0x8]
- add r0, sp, 0x4
- bl sub_8090228
-_0803BF0C:
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- ldrb r0, [r5]
- cmp r0, 0
- bne _0803BF28
- ldr r0, [r7, 0x8]
- movs r1, 0
- b _0803BF2E
-_0803BF28:
- ldr r0, [r7, 0x8]
- ldr r1, [r7, 0x54]
- ldrb r1, [r1, 0x1]
-_0803BF2E:
- bl sub_803C1D0
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0xC
- add r9, r1
- ldr r2, _0803BF88
- ldr r3, [r7]
- movs r6, 0
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- adds r0, r4, 0
- bl sub_803C1F0
- adds r2, r0, 0
- ldr r3, [r7]
- str r6, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- movs r0, 0xC
- add r9, r0
- ldr r2, _0803BF8C
- ldr r3, [r7]
- str r6, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- adds r0, r7, 0
- adds r0, 0x2E
- ldrb r2, [r0]
- adds r5, r0, 0
- cmp r2, 0x4
- bhi _0803C02C
- lsls r0, r2, 2
- ldr r1, _0803BF90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803BF88: .4byte gUnknown_80E8B68
-_0803BF8C: .4byte gUnknown_80E8B74
-_0803BF90: .4byte _0803BF94
- .align 2, 0
-_0803BF94:
- .4byte _0803BFA8
- .4byte _0803BFBC
- .4byte _0803BFD0
- .4byte _0803BFD0
- .4byte _0803C00C
-_0803BFA8:
- ldr r1, _0803BFB8
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r2, [r7, 0x30]
- add r0, sp, 0x4
- b _0803BFEE
- .align 2, 0
-_0803BFB8: .4byte gUnknown_80E8C48
-_0803BFBC:
- ldr r1, _0803BFCC
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r2, [r7, 0x30]
- add r0, sp, 0x4
- b _0803BFEE
- .align 2, 0
-_0803BFCC: .4byte gUnknown_80E8C48
-_0803BFD0:
- ldr r4, _0803C004
- adds r0, r7, 0
- adds r0, 0x34
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090DC4
- ldr r1, _0803C008
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- add r0, sp, 0x4
- adds r2, r4, 0
-_0803BFEE:
- bl sub_800D158
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- add r2, sp, 0x4
- bl xxx_call_draw_string
- b _0803C040
- .align 2, 0
-_0803C004: .4byte gUnknown_202DE58
-_0803C008: .4byte gUnknown_80E8C48
-_0803C00C:
- ldr r1, _0803C028
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
- b _0803C040
- .align 2, 0
-_0803C028: .4byte gUnknown_80E8C48
-_0803C02C:
- ldr r1, _0803C0D4
- lsls r0, r2, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r3, [r7]
- str r6, [sp]
- movs r0, 0x44
- mov r1, r9
- bl xxx_call_draw_string
-_0803C040:
- movs r1, 0xC
- add r9, r1
- adds r0, r7, 0
- adds r0, 0x41
- ldrb r1, [r0]
- adds r0, r1, 0
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _0803C0C6
- cmp r1, 0x3
- beq _0803C0C6
- ldr r0, [r7, 0x54]
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _0803C0C6
- ldr r2, _0803C0D8
- ldr r3, [r7]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- mov r1, r9
- bl xxx_call_draw_string
- add r0, sp, 0x1E4
- ldr r1, [r7, 0x54]
- bl sub_803D414
- movs r4, 0
-_0803C07C:
- cmp r4, 0xC
- bne _0803C084
- movs r0, 0xC
- add r9, r0
-_0803C084:
- movs r5, 0x7
- cmp r4, 0x3
- ble _0803C09C
- movs r5, 0x6
- cmp r4, 0x7
- ble _0803C09C
- movs r5, 0x7
- cmp r4, 0xF
- ble _0803C09C
- cmp r4, 0x13
- bgt _0803C09C
- movs r5, 0x6
-_0803C09C:
- adds r0, r4, 0
- movs r1, 0xC
- bl __modsi3
- adds r1, r0, 0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x54
- add r1, sp, 0x1E4
- adds r1, r4
- ldrb r2, [r1]
- ldr r1, [r7]
- str r1, [sp]
- mov r1, r9
- adds r3, r5, 0
- bl sub_8012C60
- adds r4, 0x1
- cmp r4, 0x17
- ble _0803C07C
-_0803C0C6:
- add sp, 0x1FC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803C0D4: .4byte gUnknown_80E8C48
-_0803C0D8: .4byte gUnknown_80E8B7C
- thumb_func_end sub_803B98C
-
- thumb_func_start sub_803C0DC
-sub_803C0DC:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808E770
- lsls r0, 16
- asrs r2, r0, 16
- ldr r1, _0803C0F0
- b _0803C102
- .align 2, 0
-_0803C0F0: .4byte gUnknown_80E80E0
-_0803C0F4:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r2
- bne _0803C100
- movs r0, 0
- b _0803C10C
-_0803C100:
- adds r1, 0x2
-_0803C102:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0803C0F4
- movs r0, 0x1
-_0803C10C:
- pop {r1}
- bx r1
- thumb_func_end sub_803C0DC
-
- thumb_func_start sub_803C110
-sub_803C110:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_8098134
- lsls r0, 24
- cmp r0, 0
- beq _0803C180
- adds r0, r4, 0
- bl sub_808E770
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- bne _0803C180
- adds r0, r4, 0
- bl sub_803C0DC
- lsls r0, 24
- cmp r0, 0
- beq _0803C180
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _0803C188
- ldr r1, _0803C184
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0803C168
- adds r2, r1, 0
-_0803C154:
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, r4
- beq _0803C180
- adds r1, 0x2
- adds r2, 0x2
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _0803C154
-_0803C168:
- bl sub_808D33C
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, r4
- beq _0803C180
- bl sub_808D378
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r0, r4
- bne _0803C188
-_0803C180:
- movs r0, 0
- b _0803C18A
- .align 2, 0
-_0803C184: .4byte gUnknown_80E8126
-_0803C188:
- movs r0, 0x1
-_0803C18A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_803C110
-
- thumb_func_start sub_803C190
-sub_803C190:
- lsls r0, 24
- ldr r1, _0803C19C
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0803C19C: .4byte gUnknown_80EBA18
- thumb_func_end sub_803C190
-
- thumb_func_start sub_803C1A0
-sub_803C1A0:
- lsls r0, 24
- ldr r1, _0803C1B0
- lsrs r0, 21
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0803C1B0: .4byte gUnknown_80EBA18
- thumb_func_end sub_803C1A0
-
- thumb_func_start sub_803C1B4
-sub_803C1B4:
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- bl sub_80908D8
- cmp r4, 0x2
- bne _0803C1C4
- adds r0, 0x2
-_0803C1C4:
- cmp r0, 0xF
- ble _0803C1CA
- movs r0, 0xF
-_0803C1CA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_803C1B4
-
- thumb_func_start sub_803C1D0
-sub_803C1D0:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl sub_803C1B4
- adds r1, r0, 0
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r1, r0, 1
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x6
- bls _0803C1EC
- movs r0, 0x6
-_0803C1EC:
- pop {r1}
- bx r1
- thumb_func_end sub_803C1D0
-
- thumb_func_start sub_803C1F0
-sub_803C1F0:
- lsls r0, 24
- ldr r1, _0803C1FC
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0803C1FC: .4byte gUnknown_80E8BF8
- thumb_func_end sub_803C1F0
-
- thumb_func_start sub_803C200
-sub_803C200:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl sub_803C1B4
- ldr r1, _0803C218
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_0803C218: .4byte gUnknown_80E80A0
- thumb_func_end sub_803C200
-
- thumb_func_start sub_803C21C
-sub_803C21C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r6, 0x4
- ldrb r1, [r6, 0x1]
- bl sub_803C1D0
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- str r0, [r4, 0x18]
- movs r3, 0
- movs r1, 0x2
- adds r0, r4, 0
- adds r0, 0x1E
-_0803C23E:
- strb r3, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _0803C23E
- adds r0, r4, 0
- adds r0, 0x20
- movs r1, 0
- strb r1, [r0]
- movs r1, 0xA
- strb r1, [r4, 0x1F]
- ldrb r1, [r6, 0x11]
- adds r3, r0, 0
- cmp r1, 0x9
- bhi _0803C354
- lsls r0, r1, 2
- ldr r1, _0803C268
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803C268: .4byte _0803C26C
- .align 2, 0
-_0803C26C:
- .4byte _0803C294
- .4byte _0803C2A2
- .4byte _0803C2B4
- .4byte _0803C2BE
- .4byte _0803C354
- .4byte _0803C2E0
- .4byte _0803C2EE
- .4byte _0803C300
- .4byte _0803C30A
- .4byte _0803C34A
-_0803C294:
- movs r0, 0
- strb r0, [r4, 0x16]
- adds r1, r2, 0x1
- movs r0, 0x64
- muls r0, r1
- str r0, [r4, 0x18]
- b _0803C358
-_0803C2A2:
- movs r0, 0x1
- strb r0, [r4, 0x16]
- adds r1, r2, 0x1
- movs r0, 0x64
- muls r0, r1
- str r0, [r4, 0x18]
- ldrb r0, [r6, 0x12]
- strb r0, [r4, 0x1C]
- b _0803C358
-_0803C2B4:
- movs r0, 0x2
- strb r0, [r4, 0x16]
- ldrb r0, [r6, 0x12]
- strb r0, [r4, 0x1C]
- b _0803C358
-_0803C2BE:
- movs r0, 0x3
- strb r0, [r4, 0x16]
- ldrb r0, [r6, 0x12]
- strb r0, [r4, 0x1C]
- adds r5, r6, 0x4
- adds r7, r4, 0
- adds r7, 0x1D
-_0803C2CC:
- ldrb r1, [r6, 0x1]
- adds r0, r5, 0
- adds r2, r7, 0
- bl sub_803C37C
- ldrb r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1D]
- cmp r0, r1
- beq _0803C2CC
- b _0803C35A
-_0803C2E0:
- movs r0, 0
- strb r0, [r4, 0x16]
- adds r1, r2, 0x1
- movs r0, 0xC8
- muls r0, r1
- str r0, [r4, 0x18]
- b _0803C358
-_0803C2EE:
- movs r0, 0x1
- strb r0, [r4, 0x16]
- adds r1, r2, 0x1
- movs r0, 0xC8
- muls r0, r1
- str r0, [r4, 0x18]
- ldrb r0, [r6, 0x12]
- strb r0, [r4, 0x1C]
- b _0803C358
-_0803C300:
- movs r0, 0x2
- strb r0, [r4, 0x16]
- ldrb r0, [r6, 0x12]
- strb r0, [r4, 0x1C]
- b _0803C358
-_0803C30A:
- movs r0, 0x3
- strb r0, [r4, 0x16]
- ldrb r0, [r6, 0x12]
- strb r0, [r4, 0x1C]
- adds r5, r6, 0x4
- adds r7, r4, 0
- adds r7, 0x1D
- movs r0, 0x1E
- adds r0, r4
- mov r8, r0
-_0803C31E:
- ldrb r1, [r6, 0x1]
- adds r0, r5, 0
- adds r2, r7, 0
- bl sub_803C37C
- ldrb r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1D]
- cmp r0, r1
- beq _0803C31E
-_0803C330:
- ldrb r1, [r6, 0x1]
- adds r0, r5, 0
- mov r2, r8
- bl sub_803C37C
- ldrb r0, [r4, 0x1C]
- ldrb r1, [r4, 0x1E]
- cmp r0, r1
- beq _0803C330
- ldrb r0, [r4, 0x1D]
- cmp r0, r1
- beq _0803C330
- b _0803C35A
-_0803C34A:
- movs r0, 0x4
- strb r0, [r4, 0x16]
- ldrb r0, [r6, 0x13]
- strb r0, [r3]
- b _0803C358
-_0803C354:
- movs r0, 0x5
- strb r0, [r4, 0x16]
-_0803C358:
- adds r5, r6, 0x4
-_0803C35A:
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- adds r0, r4, 0
- bl sub_808D8E0
- ldrh r0, [r6, 0xC]
- strh r0, [r4, 0x14]
- ldrb r1, [r6, 0x1]
- adds r0, r5, 0
- bl sub_803C200
- str r0, [r4, 0x24]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_803C21C
-
- thumb_func_start sub_803C37C
-sub_803C37C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_803C1B4
- adds r7, r0, 0
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8090910
-_0803C398:
- movs r5, 0
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8090910
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xEA
- bne _0803C3BA
- movs r0, 0
- movs r1, 0x47
- movs r2, 0x1
- bl sub_8001784
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
-_0803C3BA:
- cmp r4, 0xEB
- bne _0803C3CE
- movs r0, 0
- movs r1, 0x47
- movs r2, 0
- bl sub_8001784
- cmp r0, 0
- beq _0803C3CE
- movs r5, 0x1
-_0803C3CE:
- cmp r5, 0
- bne _0803C398
- mov r0, r8
- strb r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_803C37C
-
- thumb_func_start sub_803C3E0
-sub_803C3E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x54
- adds r7, r0, 0
- movs r6, 0
- ldr r5, _0803C42C
- movs r4, 0
- mov r8, sp
-_0803C3F2:
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C41A
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C41A
- mov r0, r8
- adds r0, 0x4
- mov r8, r0
- subs r0, 0x4
- stm r0!, {r4}
- adds r6, 0x1
-_0803C41A:
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x14
- ble _0803C3F2
- ldr r5, _0803C42C
- cmp r6, 0
- bne _0803C430
- movs r0, 0
- b _0803C44E
- .align 2, 0
-_0803C42C: .4byte gUnknown_80E9920
-_0803C430:
- adds r0, r6, 0
- bl RandomCapped
- lsls r0, 2
- add r0, sp
- ldr r4, [r0]
- lsls r0, r4, 3
- adds r5, r0, r5
- ldrh r0, [r5]
- strh r0, [r7, 0xC]
- ldrh r0, [r5, 0x2]
- strh r0, [r7, 0xE]
- movs r0, 0x7
- strb r0, [r7, 0x2]
- movs r0, 0x1
-_0803C44E:
- add sp, 0x54
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803C3E0
-
- thumb_func_start sub_803C45C
-sub_803C45C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xB4
- adds r7, r0, 0
- movs r6, 0
- ldr r5, _0803C4CC
- movs r4, 0
- mov r8, sp
-_0803C46E:
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C496
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C496
- mov r0, r8
- adds r0, 0x4
- mov r8, r0
- subs r0, 0x4
- stm r0!, {r4}
- adds r6, 0x1
-_0803C496:
- adds r5, 0xC
- adds r4, 0x1
- cmp r4, 0x2C
- ble _0803C46E
- ldr r5, _0803C4CC
- cmp r6, 0
- beq _0803C4E0
- adds r0, r6, 0
- bl RandomCapped
- lsls r0, 2
- add r0, sp
- ldr r4, [r0]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r5, r0, r5
- bl Random
- movs r1, 0x10
- ands r1, r0
- cmp r1, 0
- beq _0803C4D0
- ldrh r0, [r5]
- strh r0, [r7, 0xC]
- ldrh r0, [r5, 0x2]
- b _0803C4D6
- .align 2, 0
-_0803C4CC: .4byte gUnknown_80E9F8C
-_0803C4D0:
- ldrh r0, [r5, 0x2]
- strh r0, [r7, 0xC]
- ldrh r0, [r5]
-_0803C4D6:
- strh r0, [r7, 0xE]
- movs r0, 0x8
- strb r0, [r7, 0x2]
- movs r0, 0x1
- b _0803C4E2
-_0803C4E0:
- movs r0, 0
-_0803C4E2:
- add sp, 0xB4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803C45C
-
- thumb_func_start sub_803C4F0
-sub_803C4F0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r7, r0, 0
- movs r6, 0
- ldr r5, _0803C55C
- movs r4, 0
- mov r8, sp
-_0803C502:
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C52A
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C52A
- mov r0, r8
- adds r0, 0x4
- mov r8, r0
- subs r0, 0x4
- stm r0!, {r4}
- adds r6, 0x1
-_0803C52A:
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0x5
- ble _0803C502
- ldr r5, _0803C55C
- cmp r6, 0
- beq _0803C570
- adds r0, r6, 0
- bl RandomCapped
- lsls r0, 2
- add r0, sp
- ldr r4, [r0]
- lsls r0, r4, 2
- adds r5, r0, r5
- bl Random
- movs r1, 0x10
- ands r1, r0
- cmp r1, 0
- beq _0803C560
- ldrh r0, [r5]
- strh r0, [r7, 0xC]
- ldrh r0, [r5, 0x2]
- b _0803C566
- .align 2, 0
-_0803C55C: .4byte gUnknown_80E8168
-_0803C560:
- ldrh r0, [r5, 0x2]
- strh r0, [r7, 0xC]
- ldrh r0, [r5]
-_0803C566:
- strh r0, [r7, 0xE]
- movs r0, 0x9
- strb r0, [r7, 0x2]
- movs r0, 0x1
- b _0803C572
-_0803C570:
- movs r0, 0
-_0803C572:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803C4F0
-
- thumb_func_start sub_803C580
-sub_803C580:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x54
- adds r6, r0, 0
- movs r7, 0
- ldr r5, _0803C5D8
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0803C5D2
- movs r4, 0
- mov r8, sp
-_0803C59E:
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C5C6
- ldrb r0, [r6, 0x4]
- ldrb r1, [r5, 0x2]
- bl sub_8091E60
- lsls r0, 24
- cmp r0, 0
- beq _0803C5C6
- mov r0, r8
- adds r0, 0x4
- mov r8, r0
- subs r0, 0x4
- stm r0!, {r4}
- adds r7, 0x1
-_0803C5C6:
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0x14
- ble _0803C59E
- cmp r7, 0
- bne _0803C5DC
-_0803C5D2:
- movs r0, 0
- b _0803C600
- .align 2, 0
-_0803C5D8: .4byte gUnknown_80E8180
-_0803C5DC:
- adds r0, r7, 0
- bl RandomCapped
- lsls r0, 2
- add r0, sp
- ldr r4, [r0]
- lsls r1, r4, 2
- ldr r0, _0803C60C
- adds r5, r1, r0
- ldrh r0, [r5]
- strh r0, [r6, 0xC]
- ldrh r0, [r5]
- strh r0, [r6, 0xE]
- ldrb r0, [r5, 0x2]
- strb r0, [r6, 0x10]
- movs r0, 0x5
- strb r0, [r6, 0x2]
- movs r0, 0x1
-_0803C600:
- add sp, 0x54
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803C60C: .4byte gUnknown_80E8180
- thumb_func_end sub_803C580
-
- thumb_func_start sub_803C610
-sub_803C610:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0803C660
- add sp, r4
- adds r6, r0, 0
- movs r7, 0
- ldr r4, _0803C664
- movs r5, 0
- mov r8, sp
-_0803C624:
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_803C110
- lsls r0, 24
- cmp r0, 0
- beq _0803C64C
- ldrb r0, [r6, 0x4]
- ldrb r1, [r4, 0x2]
- bl sub_8091E60
- lsls r0, 24
- cmp r0, 0
- beq _0803C64C
- mov r0, r8
- adds r0, 0x4
- mov r8, r0
- subs r0, 0x4
- stm r0!, {r5}
- adds r7, 0x1
-_0803C64C:
- adds r4, 0x4
- adds r5, 0x1
- ldr r0, _0803C668
- cmp r5, r0
- ble _0803C624
- cmp r7, 0
- bne _0803C66C
- movs r0, 0
- b _0803C690
- .align 2, 0
-_0803C660: .4byte 0xfffff9f8
-_0803C664: .4byte gUnknown_80E81D4
-_0803C668: .4byte 0x00000181
-_0803C66C:
- adds r0, r7, 0
- bl RandomCapped
- lsls r0, 2
- add r0, sp
- ldr r5, [r0]
- lsls r1, r5, 2
- ldr r0, _0803C6A0
- adds r4, r1, r0
- ldrh r0, [r4]
- strh r0, [r6, 0xC]
- ldrh r0, [r4]
- strh r0, [r6, 0xE]
- ldrb r0, [r4, 0x2]
- strb r0, [r6, 0x10]
- movs r0, 0x6
- strb r0, [r6, 0x2]
- movs r0, 0x1
-_0803C690:
- movs r3, 0xC1
- lsls r3, 3
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803C6A0: .4byte gUnknown_80E81D4
- thumb_func_end sub_803C610
-
- thumb_func_start sub_803C6A4
-sub_803C6A4:
- push {r4,lr}
- ldr r4, _0803C6CC
- movs r0, 0xC0
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- adds r0, 0xB4
- bl sub_801317C
- bl sub_803C6D0
- movs r0, 0x1
- bl sub_8099690
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0803C6CC: .4byte gUnknown_203B400
- thumb_func_end sub_803C6A4
-
- thumb_func_start sub_803C6D0
-sub_803C6D0:
- push {r4,r5,lr}
- ldr r4, _0803C72C
- ldr r0, [r4]
- adds r0, 0x4
- bl sub_8001024
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
- str r0, [r1, 0x34]
- str r0, [r1, 0x38]
- movs r2, 0
- movs r5, 0
- adds r3, r4, 0
-_0803C6EC:
- ldr r0, [r4]
- lsls r1, r2, 2
- adds r0, 0x44
- adds r0, r1
- str r5, [r0]
- adds r2, 0x1
- cmp r2, 0xC
- ble _0803C6EC
- ldr r1, [r3]
- movs r0, 0
- str r0, [r1, 0x3C]
- movs r2, 0
- adds r4, r3, 0
- movs r1, 0
-_0803C708:
- ldr r0, [r4]
- adds r0, 0x78
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x36
- ble _0803C708
- ldr r0, [r3]
- adds r0, 0x40
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0xB0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803C72C: .4byte gUnknown_203B400
- thumb_func_end sub_803C6D0
-
- thumb_func_start sub_803C730
-sub_803C730:
- push {r4,r5,lr}
- ldr r0, _0803C750
- ldr r1, [r0]
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, [r1, 0x34]
- cmp r0, 0xF
- bls _0803C744
- b _0803C848
-_0803C744:
- lsls r0, 2
- ldr r1, _0803C754
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0803C750: .4byte gUnknown_203B400
-_0803C754: .4byte _0803C758
- .align 2, 0
-_0803C758:
- .4byte _0803C798
- .4byte _0803C79E
- .4byte _0803C7A4
- .4byte _0803C7AA
- .4byte _0803C7B0
- .4byte _0803C7B6
- .4byte _0803C7BC
- .4byte _0803C7C2
- .4byte _0803C7C8
- .4byte _0803C7CE
- .4byte _0803C7D4
- .4byte _0803C7DA
- .4byte _0803C7E0
- .4byte _0803C7E6
- .4byte _0803C7EC
- .4byte _0803C7F2
-_0803C798:
- bl sub_803C870
- b _0803C848
-_0803C79E:
- bl sub_803C908
- b _0803C848
-_0803C7A4:
- bl sub_803C920
- b _0803C848
-_0803C7AA:
- bl sub_803C98C
- b _0803C848
-_0803C7B0:
- bl sub_803C9D8
- b _0803C848
-_0803C7B6:
- bl sub_803CA54
- b _0803C848
-_0803C7BC:
- bl sub_803CA8C
- b _0803C848
-_0803C7C2:
- bl sub_803CAAC
- b _0803C848
-_0803C7C8:
- bl sub_803CAD4
- b _0803C848
-_0803C7CE:
- bl sub_803CAF4
- b _0803C848
-_0803C7D4:
- bl sub_803CB14
- b _0803C848
-_0803C7DA:
- bl sub_803CB5C
- b _0803C848
-_0803C7E0:
- bl sub_803CB7C
- b _0803C848
-_0803C7E6:
- bl sub_803CBB0
- b _0803C848
-_0803C7EC:
- bl sub_803CBE4
- b _0803C848
-_0803C7F2:
- bl Random
- ldr r4, _0803C844
- ldr r1, [r4]
- ldr r1, [r1]
- adds r5, r0, 0
- muls r5, r1
- bl Random
- bl sub_8094D28
- movs r1, 0
- ldr r0, [r4]
- adds r2, r0, 0
- adds r2, 0x44
-_0803C810:
- ldm r2!, {r0}
- adds r0, r1
- adds r0, 0x3
- muls r5, r0
- adds r1, 0x1
- cmp r1, 0xC
- ble _0803C810
- bl sub_8094E4C
- adds r5, r0
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0803C838
- adds r4, r5, 0
-_0803C82E:
- bl sub_8094E4C
- adds r5, r0
- cmp r5, r4
- beq _0803C82E
-_0803C838:
- adds r0, r5, 0
- bl sub_8011C40
- movs r0, 0x3
- b _0803C84A
- .align 2, 0
-_0803C844: .4byte gUnknown_203B400
-_0803C848:
- movs r0, 0
-_0803C84A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803C730
-
- thumb_func_start sub_803C850
-sub_803C850:
- push {r4,lr}
- ldr r4, _0803C86C
- ldr r0, [r4]
- adds r0, 0x4
- bl sub_8001044
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803C86C: .4byte gUnknown_203B400
- thumb_func_end sub_803C850
-
- thumb_func_start sub_803C870
-sub_803C870:
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r5, _0803C8A4
- ldr r1, [r5]
- ldr r0, [r1, 0x38]
- adds r0, 0x1
- str r0, [r1, 0x38]
- cmp r0, 0x8
- ble _0803C8B4
- ldr r0, _0803C8A8
- ldr r3, _0803C8AC
- movs r1, 0
- str r1, [sp]
- movs r4, 0x3
- str r4, [sp, 0x4]
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r1, _0803C8B0
- str r1, [sp, 0x10]
- movs r1, 0
- movs r2, 0
- bl sub_8014248
- ldr r0, [r5]
- str r4, [r0, 0x34]
- b _0803C8F8
- .align 2, 0
-_0803C8A4: .4byte gUnknown_203B400
-_0803C8A8: .4byte gUnknown_80F273C
-_0803C8AC: .4byte gUnknown_80F275C
-_0803C8B0: .4byte 0x00000101
-_0803C8B4:
- adds r4, r5, 0
-_0803C8B6:
- movs r0, 0x37
- bl RandomCapped
- ldr r1, [r4]
- str r0, [r1, 0x3C]
- adds r1, 0x78
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _0803C8B6
- ldr r2, _0803C900
- ldr r1, _0803C904
- ldr r0, [r1]
- ldr r0, [r0, 0x3C]
- adds r0, r2
- ldrb r4, [r0]
- movs r3, 0
- adds r6, r1, 0
- movs r5, 0x1
-_0803C8DC:
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, r4
- bne _0803C8EC
- ldr r0, [r1]
- adds r0, 0x78
- adds r0, r3
- strb r5, [r0]
-_0803C8EC:
- adds r3, 0x1
- cmp r3, 0x36
- ble _0803C8DC
- ldr r1, [r6]
- movs r0, 0x1
- str r0, [r1, 0x34]
-_0803C8F8:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803C900: .4byte gUnknown_80F2704
-_0803C904: .4byte gUnknown_203B400
- thumb_func_end sub_803C870
-
- thumb_func_start sub_803C908
-sub_803C908:
- push {lr}
- bl sub_803CC04
- ldr r0, _0803C91C
- ldr r1, [r0]
- movs r0, 0x2
- str r0, [r1, 0x34]
- pop {r0}
- bx r0
- .align 2, 0
-_0803C91C: .4byte gUnknown_203B400
- thumb_func_end sub_803C908
-
- thumb_func_start sub_803C920
-sub_803C920:
- push {r4-r6,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803C97C
- ldr r3, [sp]
- cmp r3, 0x63
- bne _0803C944
- ldr r0, _0803C940
- ldr r1, [r0]
- movs r0, 0x37
- str r0, [r1, 0x3C]
- movs r0, 0x1
- b _0803C97A
- .align 2, 0
-_0803C940: .4byte gUnknown_203B400
-_0803C944:
- ldr r1, _0803C984
- ldr r2, _0803C988
- ldr r0, [r2]
- ldr r0, [r0, 0x3C]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r4, [r0, 0x8]
- lsls r0, r3, 4
- adds r4, r0
- movs r3, 0
- adds r6, r2, 0
- adds r5, r6, 0
-_0803C95E:
- ldr r1, [r5]
- lsls r0, r3, 2
- adds r1, 0x44
- adds r1, r0
- adds r0, r4, r3
- ldrb r2, [r0]
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- adds r3, 0x1
- cmp r3, 0xC
- ble _0803C95E
- ldr r1, [r6]
- movs r0, 0
-_0803C97A:
- str r0, [r1, 0x34]
-_0803C97C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803C984: .4byte gUnknown_80F2624
-_0803C988: .4byte gUnknown_203B400
- thumb_func_end sub_803C920
-
- thumb_func_start sub_803C98C
-sub_803C98C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803C9CA
- ldr r1, [sp]
- cmp r1, 0
- bne _0803C9AC
- ldr r0, _0803C9A8
- ldr r0, [r0]
- adds r0, 0xB0
- b _0803C9B4
- .align 2, 0
-_0803C9A8: .4byte gUnknown_203B400
-_0803C9AC:
- ldr r0, _0803C9D0
- ldr r0, [r0]
- adds r0, 0xB0
- movs r1, 0x1
-_0803C9B4:
- str r1, [r0]
- ldr r0, _0803C9D4
- ldr r0, [r0]
- strb r1, [r0, 0xB]
- movs r0, 0
- bl sub_8099690
- ldr r0, _0803C9D0
- ldr r1, [r0]
- movs r0, 0x4
- str r0, [r1, 0x34]
-_0803C9CA:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0803C9D0: .4byte gUnknown_203B400
-_0803C9D4: .4byte gUnknown_203B46C
- thumb_func_end sub_803C98C
-
- thumb_func_start sub_803C9D8
-sub_803C9D8:
- push {r4-r7,lr}
- movs r0, 0xD
- bl RandomCapped
- ldr r2, _0803CA4C
- ldr r1, [r2]
- adds r1, 0x40
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, 0x40
- ldrb r3, [r0]
- adds r7, r2, 0
- movs r5, 0xB
-_0803C9F2:
- adds r3, 0x1
- cmp r3, 0xC
- ble _0803C9FA
- movs r3, 0
-_0803C9FA:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, 0
- adds r1, 0x44
- adds r2, r1, r2
- adds r4, r0, 0
- adds r4, 0x40
- ldrb r0, [r4]
- lsls r0, 2
- adds r1, r0
- ldr r2, [r2]
- ldr r0, [r1]
- ldr r6, _0803CA4C
- cmp r2, r0
- ble _0803CA1A
- strb r3, [r4]
-_0803CA1A:
- subs r5, 0x1
- cmp r5, 0
- bge _0803C9F2
- ldr r3, [r6]
- ldr r2, _0803CA50
- adds r0, r3, 0
- adds r0, 0xB0
- ldr r1, [r0]
- lsls r1, 1
- subs r0, 0x70
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- strh r0, [r3, 0x8]
- bl sub_803CC40
- ldr r1, [r6]
- movs r0, 0x5
- str r0, [r1, 0x34]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CA4C: .4byte gUnknown_203B400
-_0803CA50: .4byte gUnknown_80F278E
- thumb_func_end sub_803C9D8
-
- thumb_func_start sub_803CA54
-sub_803CA54:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803CA7A
- ldr r0, _0803CA80
- ldr r3, _0803CA84
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- bl sub_803CC80
- ldr r0, _0803CA88
- ldr r1, [r0]
- movs r0, 0x6
- str r0, [r1, 0x34]
-_0803CA7A:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0803CA80: .4byte gUnknown_80F27C4
-_0803CA84: .4byte 0x00000101
-_0803CA88: .4byte gUnknown_203B400
- thumb_func_end sub_803CA54
-
- thumb_func_start sub_803CA8C
-sub_803CA8C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803CAA2
- ldr r0, _0803CAA8
- ldr r1, [r0]
- movs r0, 0x7
- str r0, [r1, 0x34]
-_0803CAA2:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0803CAA8: .4byte gUnknown_203B400
- thumb_func_end sub_803CA8C
-
- thumb_func_start sub_803CAAC
-sub_803CAAC:
- push {lr}
- ldr r0, _0803CAC8
- ldr r3, _0803CACC
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- ldr r0, _0803CAD0
- ldr r1, [r0]
- movs r0, 0x8
- str r0, [r1, 0x34]
- pop {r0}
- bx r0
- .align 2, 0
-_0803CAC8: .4byte gUnknown_80F27DC
-_0803CACC: .4byte 0x00000301
-_0803CAD0: .4byte gUnknown_203B400
- thumb_func_end sub_803CAAC
-
- thumb_func_start sub_803CAD4
-sub_803CAD4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803CAEA
- ldr r0, _0803CAF0
- ldr r1, [r0]
- movs r0, 0x9
- str r0, [r1, 0x34]
-_0803CAEA:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0803CAF0: .4byte gUnknown_203B400
- thumb_func_end sub_803CAD4
-
- thumb_func_start sub_803CAF4
-sub_803CAF4:
- push {r4,lr}
- ldr r4, _0803CB10
- ldr r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- bl sub_803CD08
- ldr r1, [r4]
- movs r0, 0xA
- str r0, [r1, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CB10: .4byte gUnknown_203B400
- thumb_func_end sub_803CAF4
-
- thumb_func_start sub_803CB14
-sub_803CB14:
- push {r4,r5,lr}
- bl sub_803CDC0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _0803CB4C
- cmp r5, r0
- beq _0803CB46
- subs r0, 0x1
- cmp r5, r0
- beq _0803CB46
- bl sub_803CE6C
- ldr r4, _0803CB50
- ldr r0, [r4]
- strh r5, [r0, 0xA]
- ldr r0, _0803CB54
- ldr r3, _0803CB58
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- ldr r1, [r4]
- movs r0, 0xB
- str r0, [r1, 0x34]
-_0803CB46:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CB4C: .4byte 0x0000ffff
-_0803CB50: .4byte gUnknown_203B400
-_0803CB54: .4byte gUnknown_80F286C
-_0803CB58: .4byte 0x00000301
- thumb_func_end sub_803CB14
-
- thumb_func_start sub_803CB5C
-sub_803CB5C:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803CB72
- ldr r0, _0803CB78
- ldr r1, [r0]
- movs r0, 0xC
- str r0, [r1, 0x34]
-_0803CB72:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0803CB78: .4byte gUnknown_203B400
- thumb_func_end sub_803CB5C
-
- thumb_func_start sub_803CB7C
-sub_803CB7C:
- push {r4,r5,lr}
- ldr r4, _0803CBAC
- ldr r0, [r4]
- adds r5, r0, 0
- adds r5, 0x20
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_80922F4
- ldr r1, [r4]
- adds r1, 0x20
- movs r0, 0x3
- bl sub_801602C
- ldr r1, [r4]
- movs r0, 0xD
- str r0, [r1, 0x34]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CBAC: .4byte gUnknown_203B400
- thumb_func_end sub_803CB7C
-
- thumb_func_start sub_803CBB0
-sub_803CBB0:
- push {lr}
- bl sub_8016080
- cmp r0, 0
- beq _0803CBD2
- bl sub_80160D8
- ldr r0, _0803CBD8
- ldr r3, _0803CBDC
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- ldr r0, _0803CBE0
- ldr r1, [r0]
- movs r0, 0xE
- str r0, [r1, 0x34]
-_0803CBD2:
- pop {r0}
- bx r0
- .align 2, 0
-_0803CBD8: .4byte gUnknown_80F2898
-_0803CBDC: .4byte 0x00000301
-_0803CBE0: .4byte gUnknown_203B400
- thumb_func_end sub_803CBB0
-
- thumb_func_start sub_803CBE4
-sub_803CBE4:
- push {lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0803CBFA
- ldr r0, _0803CC00
- ldr r1, [r0]
- movs r0, 0xF
- str r0, [r1, 0x34]
-_0803CBFA:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0803CC00: .4byte gUnknown_203B400
- thumb_func_end sub_803CBE4
-
- thumb_func_start sub_803CC04
-sub_803CC04:
- push {lr}
- sub sp, 0x14
- ldr r1, _0803CC38
- ldr r0, _0803CC3C
- ldr r0, [r0]
- ldr r0, [r0, 0x3C]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r1]
- ldr r3, [r1, 0x4]
- movs r2, 0
- str r2, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r2, [sp, 0xC]
- adds r1, 0xFE
- str r1, [sp, 0x10]
- movs r1, 0
- bl sub_8014248
- add sp, 0x14
- pop {r0}
- bx r0
- .align 2, 0
-_0803CC38: .4byte gUnknown_80F2624
-_0803CC3C: .4byte gUnknown_203B400
- thumb_func_end sub_803CC04
-
- thumb_func_start sub_803CC40
-sub_803CC40:
- push {r4,lr}
- ldr r0, _0803CC70
- ldr r4, _0803CC74
- ldr r1, [r4]
- movs r2, 0x8
- ldrsh r1, [r1, r2]
- bl sub_808D8BC
- ldr r1, _0803CC78
- ldr r0, [r4]
- adds r0, 0x40
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r3, _0803CC7C
- movs r1, 0
- movs r2, 0
- bl sub_80141B4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CC70: .4byte gUnknown_202DF98
-_0803CC74: .4byte gUnknown_203B400
-_0803CC78: .4byte gUnknown_80F28F4
-_0803CC7C: .4byte 0x00000101
- thumb_func_end sub_803CC40
-
- thumb_func_start sub_803CC80
-sub_803CC80:
- push {r4-r7,lr}
- sub sp, 0x60
- ldr r0, _0803CD00
- ldr r0, [r0]
- movs r1, 0x8
- ldrsh r4, [r0, r1]
- mov r0, sp
- bl sub_8006518
- add r1, sp, 0x18
- ldr r0, _0803CD04
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- mov r0, sp
- movs r1, 0x1
- movs r2, 0
- bl sub_800641C
- movs r0, 0x1
- bl sub_8008C54
- movs r0, 0x1
- bl sub_80073B8
- adds r0, r4, 0
- bl sub_808DDD0
- adds r5, r0, 0
- ldr r0, [r5, 0x4]
- ldr r6, [r0, 0xC]
- movs r4, 0
- movs r7, 0x8
-_0803CCC8:
- adds r0, r4, 0
- adds r0, 0xE0
- ldr r1, [r5, 0x4]
- adds r1, r7
- lsls r2, r4, 2
- ldr r1, [r1]
- adds r1, r2
- bl SetBGPaletteBufferColorArray
- adds r4, 0x1
- cmp r4, 0xF
- ble _0803CCC8
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0xE
- bl sub_800836C
- adds r0, r5, 0
- bl CloseFile
- movs r0, 0x1
- bl sub_80073E0
- add sp, 0x60
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CD00: .4byte gUnknown_203B400
-_0803CD04: .4byte gUnknown_80F4244
- thumb_func_end sub_803CC80
-
- thumb_func_start sub_803CD08
-sub_803CD08:
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- bl sub_803CEAC
- ldr r5, _0803CDB0
- ldr r0, [r5]
- movs r3, 0
- movs r1, 0
- strh r4, [r0]
- str r1, [r0, 0x4C]
- adds r1, r0, 0
- adds r1, 0x54
- str r1, [r0, 0x50]
- ldr r0, _0803CDB4
- ldm r0!, {r2,r4,r6}
- stm r1!, {r2,r4,r6}
- ldm r0!, {r2,r4,r7}
- stm r1!, {r2,r4,r7}
- ldr r1, [r5]
- adds r1, 0x6C
- ldr r0, _0803CDB8
- ldm r0!, {r2,r6,r7}
- stm r1!, {r2,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r1, [r5]
- ldr r2, _0803CDBC
- adds r1, 0x84
- adds r0, r2, 0
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldr r0, [r5]
- adds r0, 0x9C
- ldm r2!, {r1,r4,r6}
- stm r0!, {r1,r4,r6}
- ldm r2!, {r1,r4,r7}
- stm r0!, {r1,r4,r7}
- ldr r0, [r5]
- ldr r1, [r0, 0x50]
- adds r0, 0xB4
- str r0, [r1, 0x14]
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0xB5
- strb r3, [r0]
- ldr r0, [r5]
- adds r0, 0xB6
- movs r1, 0x6
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, 0xB7
- strb r3, [r0]
- bl sub_8004914
- ldr r0, [r5]
- adds r0, 0x54
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r4, [r5]
- adds r4, 0x18
- bl sub_803D030
- adds r1, r0, 0
- ldr r0, [r5]
- ldr r3, [r0, 0x4C]
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8013818
- bl sub_803CEF0
- bl sub_803CFC0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CDB0: .4byte gUnknown_203B404
-_0803CDB4: .4byte gUnknown_80F4290
-_0803CDB8: .4byte gUnknown_80F42A8
-_0803CDBC: .4byte gUnknown_80F4278
- thumb_func_end sub_803CD08
-
- thumb_func_start sub_803CDC0
-sub_803CDC0:
- push {r4,r5,lr}
- ldr r4, _0803CDF0
- ldr r1, [r4]
- movs r0, 0x30
- ldrsh r5, [r1, r0]
- movs r0, 0
- strb r0, [r1, 0x16]
- ldr r0, [r4]
- adds r0, 0x18
- bl GetKeyPress
- cmp r0, 0x1
- bne _0803CDF4
- movs r0, 0
- bl sub_80119D4
- ldr r0, [r4]
- movs r2, 0x30
- ldrsh r1, [r0, r2]
- lsls r1, 1
- adds r0, 0x2
- adds r0, r1
- ldrh r0, [r0]
- b _0803CE2A
- .align 2, 0
-_0803CDF0: .4byte gUnknown_203B404
-_0803CDF4:
- ldr r0, [r4]
- adds r0, 0x18
- movs r1, 0x1
- bl sub_80138B8
- lsls r0, 24
- cmp r0, 0
- beq _0803CE08
- bl sub_803CEF0
-_0803CE08:
- ldr r0, [r4]
- movs r1, 0x30
- ldrsh r0, [r0, r1]
- cmp r5, r0
- beq _0803CE16
- bl sub_803CFC0
-_0803CE16:
- ldr r0, [r4]
- ldrb r0, [r0, 0x16]
- cmp r0, 0
- bne _0803CE28
- ldr r0, _0803CE24
- b _0803CE2A
- .align 2, 0
-_0803CE24: .4byte 0x0000ffff
-_0803CE28:
- ldr r0, _0803CE30
-_0803CE2A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0803CE30: .4byte 0x0000fffe
- thumb_func_end sub_803CDC0
-
- thumb_func_start sub_803CE34
-sub_803CE34:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_803D030
- adds r1, r0, 0
- ldr r5, _0803CE68
- ldr r0, [r5]
- strh r1, [r0, 0x3A]
- adds r0, 0x18
- bl sub_8013984
- bl sub_803CEF0
- bl sub_803CFC0
- cmp r4, 0
- beq _0803CE62
- ldr r0, [r5]
- adds r0, 0x18
- bl AddMenuCursorSprite
-_0803CE62:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CE68: .4byte gUnknown_203B404
- thumb_func_end sub_803CE34
-
- thumb_func_start sub_803CE6C
-sub_803CE6C:
- push {r4,r5,lr}
- ldr r4, _0803CEA4
- ldr r1, [r4]
- ldr r2, [r1, 0x4C]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, 0x54
- ldr r0, _0803CEA8
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- bl sub_8004914
- ldr r0, [r4]
- adds r0, 0x54
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_803CECC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CEA4: .4byte gUnknown_203B404
-_0803CEA8: .4byte gUnknown_80F4278
- thumb_func_end sub_803CE6C
-
- thumb_func_start sub_803CEAC
-sub_803CEAC:
- push {r4,lr}
- ldr r4, _0803CEC4
- movs r0, 0xB8
- movs r1, 0x8
- bl MemoryAlloc
- str r0, [r4]
- bl nullsub_135
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CEC4: .4byte gUnknown_203B404
- thumb_func_end sub_803CEAC
-
- thumb_func_start nullsub_135
-nullsub_135:
- bx lr
- thumb_func_end nullsub_135
-
- thumb_func_start sub_803CECC
-sub_803CECC:
- push {r4,lr}
- ldr r4, _0803CEEC
- ldr r0, [r4]
- cmp r0, 0
- beq _0803CEE4
- bl nullsub_135
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_0803CEE4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CEEC: .4byte gUnknown_203B404
- thumb_func_end sub_803CECC
-
- thumb_func_start sub_803CEF0
-sub_803CEF0:
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _0803CF60
- ldr r0, [r6]
- movs r1, 0x32
- ldrsh r0, [r0, r1]
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- lsls r0, 16
- ldr r2, [r6]
- ldr r3, [r2, 0x4C]
- lsls r1, r3, 1
- adds r1, r3
- lsls r1, 3
- adds r1, r2, r1
- adds r1, 0x62
- movs r4, 0
- asrs r3, r0, 16
- lsrs r0, 16
- strh r0, [r1]
- ldr r1, [r2, 0x4C]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r3, 0x2
- adds r2, 0x64
- strh r3, [r2]
- bl sub_8004914
- ldr r0, [r6]
- adds r0, 0x54
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, [r6]
- ldr r0, [r0, 0x4C]
- bl sub_8008C54
- ldr r0, [r6]
- ldr r0, [r0, 0x4C]
- bl sub_80073B8
- ldr r2, _0803CF64
- ldr r0, [r6]
- ldr r3, [r0, 0x4C]
- str r4, [sp]
- movs r0, 0xC
- movs r1, 0
- bl xxx_call_draw_string
- movs r5, 0
- b _0803CF98
- .align 2, 0
-_0803CF60: .4byte gUnknown_203B404
-_0803CF64: .4byte gUnknown_80F42C0
-_0803CF68:
- ldr r0, [r6]
- adds r0, 0x18
- adds r1, r5, 0
- bl sub_8013800
- adds r4, r0, 0
- ldr r0, [r6]
- lsls r1, r5, 1
- adds r0, 0x2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r2, r0, 0
- ldr r0, [r6]
- ldr r3, [r0, 0x4C]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r4, 0
- bl xxx_call_draw_string
- adds r5, 0x1
-_0803CF98:
- ldr r0, [r6]
- movs r1, 0x32
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0803CF68
- ldr r4, _0803CFBC
- ldr r0, [r4]
- ldr r0, [r0, 0x4C]
- bl sub_80073E0
- ldr r1, [r4]
- movs r0, 0x1
- strb r0, [r1, 0x16]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803CFBC: .4byte gUnknown_203B404
- thumb_func_end sub_803CEF0
-
- thumb_func_start sub_803CFC0
-sub_803CFC0:
- push {r4-r7,lr}
- ldr r0, _0803D02C
- ldr r0, [r0]
- movs r2, 0x30
- ldrsh r1, [r0, r2]
- lsls r1, 1
- adds r0, 0x2
- adds r0, r1
- movs r1, 0
- ldrsh r4, [r0, r1]
- movs r0, 0x1
- bl sub_8008C54
- movs r0, 0x1
- bl sub_80073B8
- adds r0, r4, 0
- bl sub_808DDD0
- adds r5, r0, 0
- ldr r0, [r5, 0x4]
- ldr r6, [r0, 0x4]
- movs r4, 0
- movs r7, 0
-_0803CFF0:
- adds r0, r4, 0
- adds r0, 0xE0
- ldr r1, [r5, 0x4]
- adds r1, r7
- lsls r2, r4, 2
- ldr r1, [r1]
- adds r1, r2
- bl SetBGPaletteBufferColorArray
- adds r4, 0x1
- cmp r4, 0xF
- ble _0803CFF0
- movs r0, 0x1
- adds r1, r6, 0
- movs r2, 0xE
- bl sub_800836C
- adds r0, r5, 0
- bl CloseFile
- movs r0, 0x1
- bl sub_80073E0
- ldr r0, _0803D02C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x16]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803D02C: .4byte gUnknown_203B404
- thumb_func_end sub_803CFC0
-
- thumb_func_start sub_803D030
-sub_803D030:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r0, 0
- mov r8, r0
- ldr r4, _0803D0D0
- ldr r0, [r4]
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0
- bl sub_808DC68
- mov r1, sp
- strb r0, [r1]
- ldr r0, [r4]
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x1
- bl sub_808DC68
- mov r1, sp
- strb r0, [r1, 0x1]
- movs r7, 0
- add r6, sp, 0x4
- mov r5, sp
-_0803D064:
- ldr r0, _0803D0D4
- lsls r1, r7, 1
- adds r1, r0
- movs r0, 0
- ldrsh r4, [r1, r0]
- adds r0, r4, 0
- movs r1, 0
- bl sub_808DC68
- strb r0, [r6]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_808DC68
- adds r2, r0, 0
- strb r2, [r6, 0x1]
- ldrb r1, [r6]
- cmp r1, 0
- beq _0803D096
- ldrb r0, [r5]
- cmp r1, r0
- beq _0803D0BC
- ldrb r0, [r5, 0x1]
- cmp r1, r0
- beq _0803D0BC
-_0803D096:
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0803D0AA
- ldrb r2, [r5]
- cmp r1, r2
- beq _0803D0BC
- ldrb r0, [r5, 0x1]
- cmp r1, r0
- beq _0803D0BC
-_0803D0AA:
- ldr r0, _0803D0D0
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 1
- adds r0, 0x2
- adds r0, r1
- strh r4, [r0]
- movs r0, 0x1
- add r8, r0
-_0803D0BC:
- adds r7, 0x1
- cmp r7, 0x9
- ble _0803D064
- mov r0, r8
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803D0D0: .4byte gUnknown_203B404
-_0803D0D4: .4byte gUnknown_80F4264
- thumb_func_end sub_803D030
-
- thumb_func_start sub_803D0D8
-sub_803D0D8:
- ldr r0, _0803D0E0
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0803D0E0: .4byte gUnknown_203B408
- thumb_func_end sub_803D0D8
-
- thumb_func_start sub_803D0E4
-sub_803D0E4:
- ldr r1, _0803D0EC
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0803D0EC: .4byte gUnknown_203B408
- thumb_func_end sub_803D0E4
-
- thumb_func_start sub_803D0F0
-sub_803D0F0:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0803D0FC
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0803D0FC: .4byte gUnknown_80F42F0
- thumb_func_end sub_803D0F0
-
- thumb_func_start sub_803D100
-sub_803D100:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0803D10C
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0803D10C: .4byte gUnknown_80F42D0
- thumb_func_end sub_803D100
-
- thumb_func_start sub_803D110
-sub_803D110:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x6C
- adds r6, r0, 0
- mov r9, r1
- adds r5, r2, 0
- add r7, sp, 0x48
- adds r2, r7, 0
- movs r1, 0
- mov r0, sp
- adds r0, 0x69
-_0803D12A:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r2
- bge _0803D12A
- movs r4, 0
- cmp r4, r5
- bge _0803D158
-_0803D138:
- ldrb r0, [r6]
- bl sub_803D0F0
- add r1, sp, 0x10
- adds r1, r4
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0803D150
- movs r0, 0
- b _0803D19A
-_0803D150:
- adds r6, 0x1
- adds r4, 0x1
- cmp r4, r5
- blt _0803D138
-_0803D158:
- lsls r0, r5, 2
- adds r0, r5
- adds r2, r0, 0x5
- cmp r2, 0
- bge _0803D164
- adds r2, 0x7
-_0803D164:
- asrs r2, 3
- mov r8, r2
- mov r0, sp
- adds r1, r7, 0
- bl sub_809486C
- movs r4, 0
- cmp r4, r5
- bge _0803D188
- add r6, sp, 0x10
-_0803D178:
- adds r1, r6, r4
- mov r0, sp
- movs r2, 0x5
- bl sub_809488C
- adds r4, 0x1
- cmp r4, r5
- blt _0803D178
-_0803D188:
- mov r0, sp
- bl nullsub_102
- mov r0, r9
- adds r1, r7, 0
- mov r2, r8
- bl MemoryCopy8
- movs r0, 0x1
-_0803D19A:
- add sp, 0x6C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803D110
-
- thumb_func_start sub_803D1A8
-sub_803D1A8:
- push {r4-r7,lr}
- sub sp, 0x48
- adds r7, r0, 0
- adds r5, r2, 0
- lsls r0, r5, 2
- adds r0, r5
- adds r2, r0, 0x5
- cmp r2, 0
- bge _0803D1BC
- adds r2, 0x7
-_0803D1BC:
- asrs r2, 3
- mov r0, sp
- bl sub_809485C
- movs r4, 0
- cmp r4, r5
- bge _0803D1DC
- add r6, sp, 0x10
-_0803D1CC:
- adds r1, r6, r4
- mov r0, sp
- movs r2, 0x5
- bl sub_8094924
- adds r4, 0x1
- cmp r4, r5
- blt _0803D1CC
-_0803D1DC:
- mov r0, sp
- bl nullsub_102
- movs r4, 0
- cmp r4, r5
- bge _0803D1FC
- add r6, sp, 0x10
-_0803D1EA:
- adds r0, r6, r4
- ldrb r0, [r0]
- bl sub_803D100
- strb r0, [r7]
- adds r7, 0x1
- adds r4, 0x1
- cmp r4, r5
- blt _0803D1EA
-_0803D1FC:
- add sp, 0x48
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_803D1A8
-
- thumb_func_start sub_803D204
-sub_803D204:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xA4
- adds r2, r0, 0
- mov r9, r1
- movs r6, 0
- add r4, sp, 0x5C
- adds r0, r4, 0
- adds r1, r2, 0
- movs r2, 0x36
- bl MemoryCopy8
- movs r2, 0
- mov r8, r4
- add r5, sp, 0x24
- ldr r4, _0803D2A8
- mov r12, r4
- mov r10, r5
-_0803D22E:
- movs r1, 0
- mov r3, r12
- adds r0, r2, r3
- adds r3, r2, 0x1
- ldrb r0, [r0]
- cmp r1, r0
- beq _0803D24A
- adds r0, r2, r4
-_0803D23E:
- adds r1, 0x1
- cmp r1, 0x35
- bgt _0803D24A
- ldrb r7, [r0]
- cmp r1, r7
- bne _0803D23E
-_0803D24A:
- mov r7, r10
- adds r0, r7, r2
- add r1, r8
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, r3, 0
- cmp r2, 0x35
- ble _0803D22E
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x36
- bl sub_803D110
- lsls r0, 24
- cmp r0, 0
- beq _0803D2AC
- movs r2, 0x1
-_0803D26C:
- mov r1, sp
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, r2
- adds r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, 0x1
- cmp r2, 0x21
- ble _0803D26C
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, r6
- bne _0803D2AC
- add r4, sp, 0x94
- adds r1, 0x1
- adds r0, r4, 0
- movs r2, 0x21
- bl sub_809485C
- adds r0, r4, 0
- mov r1, r9
- bl sub_8095774
- adds r0, r4, 0
- bl nullsub_102
- movs r0, 0x1
- b _0803D2AE
- .align 2, 0
-_0803D2A8: .4byte gUnknown_80F43F0
-_0803D2AC:
- movs r0, 0
-_0803D2AE:
- add sp, 0xA4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803D204
-
- thumb_func_start sub_803D2C0
-sub_803D2C0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xA4
- mov r9, r0
- adds r6, r1, 0
- movs r5, 0
- add r4, sp, 0x94
- mov r1, sp
- adds r1, 0x1
- add r7, sp, 0x24
- add r0, sp, 0x5C
- mov r8, r0
- movs r2, 0
- mov r0, sp
- adds r0, 0x21
-_0803D2E2:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _0803D2E2
- adds r0, r4, 0
- movs r2, 0x21
- bl sub_809486C
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8095824
- adds r0, r4, 0
- bl nullsub_102
- movs r2, 0x1
-_0803D302:
- mov r1, sp
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, r2
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, 0x1
- cmp r2, 0x21
- ble _0803D302
- mov r0, sp
- strb r5, [r0]
- adds r0, r7, 0
- movs r2, 0x36
- bl sub_803D1A8
- movs r2, 0
- mov r4, r8
- ldr r5, _0803D354
- adds r3, r7, 0
-_0803D32A:
- adds r0, r2, r5
- ldrb r1, [r0]
- adds r1, r4, r1
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x35
- ble _0803D32A
- mov r0, r9
- mov r1, r8
- movs r2, 0x36
- bl MemoryCopy8
- add sp, 0xA4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803D354: .4byte gUnknown_80F43F0
- thumb_func_end sub_803D2C0
-
- thumb_func_start sub_803D358
-sub_803D358:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- adds r2, r0, 0
- mov r9, r1
- movs r6, 0
- add r4, sp, 0x28
- adds r0, r4, 0
- adds r1, r2, 0
- movs r2, 0x18
- bl MemoryCopy8
- movs r2, 0
- mov r8, r4
- add r5, sp, 0x10
- ldr r4, _0803D3FC
- mov r12, r4
- mov r10, r5
-_0803D382:
- movs r1, 0
- mov r3, r12
- adds r0, r2, r3
- adds r3, r2, 0x1
- ldrb r0, [r0]
- cmp r1, r0
- beq _0803D39E
- adds r0, r2, r4
-_0803D392:
- adds r1, 0x1
- cmp r1, 0x17
- bgt _0803D39E
- ldrb r7, [r0]
- cmp r1, r7
- bne _0803D392
-_0803D39E:
- mov r7, r10
- adds r0, r7, r2
- add r1, r8
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, r3, 0
- cmp r2, 0x17
- ble _0803D382
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x18
- bl sub_803D110
- lsls r0, 24
- cmp r0, 0
- beq _0803D400
- movs r2, 0x1
-_0803D3C0:
- mov r1, sp
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, r2
- adds r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, 0x1
- cmp r2, 0xE
- ble _0803D3C0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, r6
- bne _0803D400
- add r4, sp, 0x40
- adds r1, 0x1
- adds r0, r4, 0
- movs r2, 0xC
- bl sub_809485C
- adds r0, r4, 0
- mov r1, r9
- bl sub_80971EC
- adds r0, r4, 0
- bl nullsub_102
- movs r0, 0x1
- b _0803D402
- .align 2, 0
-_0803D3FC: .4byte gUnknown_80F4426
-_0803D400:
- movs r0, 0
-_0803D402:
- add sp, 0x50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803D358
-
- thumb_func_start sub_803D414
-sub_803D414:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x50
- mov r9, r0
- adds r6, r1, 0
- movs r5, 0
- add r4, sp, 0x40
- mov r1, sp
- adds r1, 0x1
- add r7, sp, 0x10
- add r0, sp, 0x28
- mov r8, r0
- movs r2, 0
- mov r0, sp
- adds r0, 0xE
-_0803D436:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _0803D436
- adds r0, r4, 0
- movs r2, 0xC
- bl sub_809486C
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8097270
- adds r0, r4, 0
- bl nullsub_102
- movs r2, 0x1
-_0803D456:
- mov r1, sp
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, r2
- adds r0, r5, r0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, 0x1
- cmp r2, 0xE
- ble _0803D456
- mov r0, sp
- strb r5, [r0]
- adds r0, r7, 0
- movs r2, 0x18
- bl sub_803D1A8
- movs r2, 0
- mov r4, r8
- ldr r5, _0803D4A8
- adds r3, r7, 0
-_0803D47E:
- adds r0, r2, r5
- ldrb r1, [r0]
- adds r1, r4, r1
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x17
- ble _0803D47E
- mov r0, r9
- mov r1, r8
- movs r2, 0x18
- bl MemoryCopy8
- add sp, 0x50
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803D4A8: .4byte gUnknown_80F4426
- thumb_func_end sub_803D414
-
- thumb_func_start sub_803D4AC
-sub_803D4AC:
- ldr r2, _0803D4C4
- ldr r0, [r2]
- ldr r1, _0803D4C8
- adds r0, r1
- movs r1, 0x63
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _0803D4CC
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0803D4C4: .4byte gUnknown_203B418
-_0803D4C8: .4byte 0x0001c570
-_0803D4CC: .4byte 0x0001c571
- thumb_func_end sub_803D4AC
-
- thumb_func_start sub_803D4D0
-sub_803D4D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1FC
- ldr r6, _0803D654
- ldr r1, [r6]
- movs r4, 0xC9
- lsls r4, 3
- adds r0, r1, r4
- ldr r2, _0803D658
- adds r1, r2
- bl sub_80901D8
- ldr r0, [r6]
- ldr r3, _0803D65C
- adds r2, r0, r3
- adds r1, r0, r4
- ldrh r0, [r2]
- ldrh r4, [r1]
- cmp r0, r4
- bne _0803D500
- b _0803D6E0
-_0803D500:
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, _0803D660
- ldr r1, _0803D664
- bl OpenFileAndGetFileDataPtr
- mov r9, r0
- ldr r3, [r0, 0x4]
- ldr r2, [r6]
- ldr r7, _0803D65C
- adds r0, r2, r7
- ldrb r1, [r0]
- ldr r0, [r3]
- lsls r1, 2
- adds r1, r0
- ldr r3, _0803D668
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 4
- ldr r1, [r1]
- adds r1, r0
- mov r8, r1
- ldr r4, _0803D658
- adds r2, r4
- ldrb r0, [r2]
- bl sub_8090298
- ldr r1, [r6]
- ldr r7, _0803D66C
- adds r1, r7
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r0, [r0]
- bl sub_80902C8
- ldr r1, [r6]
- strh r0, [r1, 0x14]
- mov r2, r9
- ldr r0, [r2, 0x4]
- mov r3, r8
- movs r4, 0
- ldrsh r2, [r3, r4]
- ldr r3, [r0, 0x4]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r7, _0803D670
- adds r1, r7
- adds r0, r3
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldr r0, [r0]
- str r0, [r1]
- movs r5, 0
- mov r10, r6
- ldr r4, _0803D674
-_0803D576:
- mov r6, r10
- ldr r2, [r6]
- lsls r3, r5, 1
- adds r2, r4
- adds r2, r3
- mov r7, r9
- ldr r1, [r7, 0x4]
- mov r6, r8
- movs r7, 0x4
- ldrsh r0, [r6, r7]
- ldr r1, [r1, 0x10]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- adds r3, r0
- ldrh r0, [r3]
- strh r0, [r2]
- adds r5, 0x1
- cmp r5, 0x13
- ble _0803D576
- movs r5, 0
- adds r6, 0x6
- str r6, [sp, 0x1F8]
- ldr r6, _0803D678
- mov r10, r6
-_0803D5A8:
- ldr r1, _0803D654
- ldr r0, [r1]
- lsls r3, r5, 3
- mov r2, r10
- adds r4, r0, r2
- adds r4, r3
- mov r12, r4
- mov r4, r9
- ldr r2, [r4, 0x4]
- mov r7, r8
- movs r4, 0x2
- ldrsh r1, [r7, r4]
- ldr r2, [r2, 0xC]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- adds r3, r1
- ldr r1, [r3]
- ldr r2, [r3, 0x4]
- mov r7, r12
- str r1, [r7]
- str r2, [r7, 0x4]
- adds r0, r6
- bl sub_808E9B8
- lsls r0, 16
- cmp r0, 0
- beq _0803D5E8
- adds r6, 0x8
- adds r5, 0x1
- cmp r5, 0x1E
- ble _0803D5A8
-_0803D5E8:
- cmp r5, 0x1F
- bgt _0803D606
- ldr r6, _0803D654
- lsls r0, r5, 3
- ldr r1, _0803D678
- adds r4, r0, r1
-_0803D5F4:
- ldr r0, [r6]
- adds r0, r4
- movs r1, 0
- bl sub_808E9C4
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0803D5F4
-_0803D606:
- movs r5, 0
- ldr r2, _0803D67C
- mov r10, r2
-_0803D60C:
- mov r3, r9
- ldr r1, [r3, 0x4]
- lsls r0, r5, 1
- ldr r4, [sp, 0x1F8]
- adds r0, r4, r0
- movs r6, 0
- ldrsh r0, [r0, r6]
- ldr r1, [r1, 0x8]
- lsls r0, 2
- adds r0, r1
- movs r4, 0
- adds r7, r5, 0x1
- mov r8, r7
- lsls r1, r5, 6
- mov r12, r1
- ldr r3, [r0]
- mov r2, sp
-_0803D62E:
- ldrh r0, [r3]
- cmp r0, r10
- bls _0803D684
- ldrh r0, [r3]
- ldr r6, _0803D680
- adds r1, r0, r6
- cmp r1, 0
- beq _0803D68A
- movs r6, 0
- lsls r0, r4, 1
- add r0, sp
-_0803D644:
- strh r6, [r0]
- adds r0, 0x2
- adds r2, 0x2
- adds r4, 0x1
- subs r1, 0x1
- cmp r1, 0
- bne _0803D644
- b _0803D68A
- .align 2, 0
-_0803D654: .4byte gUnknown_203B418
-_0803D658: .4byte 0x00000644
-_0803D65C: .4byte 0x0001c570
-_0803D660: .4byte gUnknown_80F4D8C
-_0803D664: .4byte gUnknown_83B0000
-_0803D668: .4byte 0x0001c571
-_0803D66C: .4byte 0x0001cec8
-_0803D670: .4byte 0x0001c574
-_0803D674: .4byte 0x0001cd70
-_0803D678: .4byte 0x0001cd98
-_0803D67C: .4byte 0x0000752f
-_0803D680: .4byte 0xffff8ad0
-_0803D684:
- strh r0, [r2]
- adds r2, 0x2
- adds r4, 0x1
-_0803D68A:
- adds r3, 0x2
- cmp r4, 0xFB
- ble _0803D62E
- ldr r7, _0803D6F0
- mov r1, r12
- subs r0, r1, r5
- movs r4, 0xB
- mov r3, sp
- lsls r2, r0, 3
- ldr r6, _0803D6F4
-_0803D69E:
- ldr r0, [r7]
- adds r0, r6
- adds r0, r2
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0803D69E
- ldr r6, _0803D6F0
- mov r2, r12
- subs r0, r2, r5
- lsls r3, r0, 3
- add r2, sp, 0x18
- ldr r5, _0803D6F8
- movs r4, 0xEF
-_0803D6C0:
- ldr r0, [r6]
- adds r0, r5
- adds r0, r3
- ldrh r1, [r2]
- strh r1, [r0]
- adds r2, 0x2
- adds r3, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _0803D6C0
- mov r5, r8
- cmp r5, 0x3
- ble _0803D60C
- mov r0, r9
- bl CloseFile
-_0803D6E0:
- add sp, 0x1FC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803D6F0: .4byte gUnknown_203B418
-_0803D6F4: .4byte 0x0001c590
-_0803D6F8: .4byte 0x0001c5a8
- thumb_func_end sub_803D4D0
-
- thumb_func_start sub_803D6FC
-sub_803D6FC:
- push {r4,lr}
- ldr r0, _0803D720
- bl sub_8084100
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _0803D724
- ldr r0, [r0]
- ldr r4, _0803D728
- adds r1, r0, r4
-_0803D710:
- ldrh r0, [r1]
- cmp r0, 0
- beq _0803D72C
- cmp r0, r3
- blt _0803D72C
- lsls r0, r2, 24
- lsrs r0, 24
- b _0803D736
- .align 2, 0
-_0803D720: .4byte 0x00002710
-_0803D724: .4byte gUnknown_203B418
-_0803D728: .4byte 0x0001cd70
-_0803D72C:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x13
- ble _0803D710
- movs r0, 0x10
-_0803D736:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_803D6FC
-
- thumb_func_start sub_803D73C
-sub_803D73C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, _0803D784
- bl sub_8084100
- adds r7, r0, 0
- movs r0, 0xC
- mov r8, r0
- movs r6, 0
- ldr r0, _0803D788
- ldr r2, [r0]
- lsls r1, r4, 6
- subs r0, r1, r4
- adds r5, r1, 0
- lsls r0, 3
- ldr r1, _0803D78C
- adds r2, r1
- adds r1, r0, r2
-_0803D766:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0803D772
- cmp r0, r7
- bge _0803D790
-_0803D772:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0xB
- ble _0803D766
-_0803D77A:
- mov r0, r8
- cmp r0, 0xC
- bne _0803D79C
- b _0803D7EC
- .align 2, 0
-_0803D784: .4byte 0x00002710
-_0803D788: .4byte gUnknown_203B418
-_0803D78C: .4byte 0x0001c590
-_0803D790:
- lsls r0, r6, 24
- lsrs r0, 24
- mov r8, r0
- b _0803D77A
-_0803D798:
- adds r0, r5, 0
- b _0803D7EE
-_0803D79C:
- ldr r0, _0803D7FC
- bl sub_8084100
- adds r7, r0, 0
- movs r6, 0
- ldr r2, _0803D800
- subs r0, r5, r4
- ldr r1, _0803D804
- lsls r4, r0, 3
-_0803D7AE:
- ldr r0, [r2]
- adds r0, r1
- adds r0, r4
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- beq _0803D7E4
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- str r1, [sp]
- str r2, [sp, 0x4]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- ldr r2, [sp, 0x4]
- cmp r0, r8
- bne _0803D7E4
- ldr r0, [r2]
- adds r0, r1
- adds r0, r4
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, r7
- bge _0803D798
-_0803D7E4:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0xEF
- ble _0803D7AE
-_0803D7EC:
- movs r0, 0x69
-_0803D7EE:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803D7FC: .4byte 0x00002710
-_0803D800: .4byte gUnknown_203B418
-_0803D804: .4byte 0x0001c5a8
- thumb_func_end sub_803D73C
-
- thumb_func_start sub_803D808
-sub_803D808:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r1, 0
- movs r6, 0
- ldr r2, _0803D820
- lsls r1, r7, 3
- adds r1, r0
- mov r8, r1
- b _0803D840
- .align 2, 0
-_0803D820: .4byte 0x0001cd98
-_0803D824:
- ldr r0, [r5]
- ldr r1, _0803D868
- adds r0, r1
- adds r0, r4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- mov r3, r8
- adds r3, 0x8
- mov r8, r3
- subs r3, 0x8
- stm r3!, {r0,r1}
- adds r7, 0x1
- adds r2, 0x8
- adds r6, 0x1
-_0803D840:
- cmp r6, 0x1F
- bgt _0803D85A
- ldr r5, _0803D86C
- lsls r4, r6, 3
- ldr r0, [r5]
- adds r0, r2
- str r2, [sp]
- bl sub_808E9B8
- lsls r0, 16
- ldr r2, [sp]
- cmp r0, 0
- bne _0803D824
-_0803D85A:
- adds r0, r7, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803D868: .4byte 0x0001cd98
-_0803D86C: .4byte gUnknown_203B418
- thumb_func_end sub_803D808
-
- thumb_func_start sub_803D870
-sub_803D870:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r1, 0
- movs r5, 0
- lsls r1, r6, 3
- adds r1, r0
- mov r9, r1
- b _0803D8B8
-_0803D884:
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0803D8B6
- ldr r1, [r7]
- adds r0, r1, r4
- ldr r2, _0803D8E4
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _0803D8B6
- mov r2, r8
- adds r0, r1, r2
- adds r0, r4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- mov r2, r9
- adds r2, 0x8
- mov r9, r2
- subs r2, 0x8
- stm r2!, {r0,r1}
- adds r6, 0x1
-_0803D8B6:
- adds r5, 0x1
-_0803D8B8:
- cmp r5, 0x1F
- bgt _0803D8D6
- ldr r7, _0803D8E8
- lsls r4, r5, 3
- ldr r0, _0803D8EC
- mov r8, r0
- adds r1, r4, r0
- ldr r0, [r7]
- adds r0, r1
- bl sub_808E9B8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _0803D884
-_0803D8D6:
- adds r0, r6, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803D8E4: .4byte 0x0001cd9a
-_0803D8E8: .4byte gUnknown_203B418
-_0803D8EC: .4byte 0x0001cd98
- thumb_func_end sub_803D870
-
- thumb_func_start sub_803D8F0
-sub_803D8F0:
- push {r4,lr}
- ldr r4, _0803D920
- ldr r0, [r4]
- ldr r2, _0803D924
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _0803D918
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- ldr r1, _0803D928
- adds r0, r1
- movs r1, 0
- bl sub_803D808
- ldr r1, [r4]
- ldr r2, _0803D92C
- adds r1, r2
- str r0, [r1]
-_0803D918:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803D920: .4byte gUnknown_203B418
-_0803D924: .4byte 0x000037ec
-_0803D928: .4byte 0x0000343c
-_0803D92C: .4byte 0x000037e4
- thumb_func_end sub_803D8F0
-
- thumb_func_start sub_803D930
-sub_803D930:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r6, r0, 16
- movs r5, 0
- ldr r7, _0803D940
- ldr r4, _0803D944
- b _0803D954
- .align 2, 0
-_0803D940: .4byte gUnknown_203B418
-_0803D944: .4byte 0x0001cd98
-_0803D948:
- cmp r0, r6
- bne _0803D950
- movs r0, 0x1
- b _0803D96A
-_0803D950:
- adds r4, 0x8
- adds r5, 0x1
-_0803D954:
- cmp r5, 0x1F
- bgt _0803D968
- ldr r0, [r7]
- adds r0, r4
- bl sub_808E9B8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _0803D948
-_0803D968:
- movs r0, 0
-_0803D96A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803D930
-
- thumb_func_start sub_803D970
-sub_803D970:
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, _0803D9EC
- bl sub_8084100
- adds r6, r0, 0
- movs r3, 0
- ldr r1, _0803D9F0
- ldr r0, [r1]
- ldr r2, _0803D9F4
- adds r0, r2
- ldr r0, [r0]
- cmp r3, r0
- bge _0803D9BA
- ldr r4, _0803D9F8
-_0803D98E:
- ldr r2, [r1]
- lsls r1, r5, 1
- lsls r0, r3, 3
- adds r1, r0
- ldr r7, _0803D9FC
- adds r0, r2, r7
- adds r1, r0, r1
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, 0
- beq _0803D9A8
- cmp r0, r6
- bge _0803D9E0
-_0803D9A8:
- adds r4, 0x8
- adds r3, 0x1
- ldr r1, _0803D9F0
- ldr r0, [r1]
- ldr r2, _0803D9F4
- adds r0, r2
- ldr r0, [r0]
- cmp r3, r0
- blt _0803D98E
-_0803D9BA:
- movs r3, 0
- ldr r0, _0803D9F0
- ldr r1, [r0]
- ldr r7, _0803D9F4
- adds r1, r7
- ldr r1, [r1]
- adds r6, r0, 0
- cmp r3, r1
- bge _0803DA10
- ldr r4, _0803D9F8
- lsls r1, r5, 1
-_0803D9D0:
- ldr r2, [r6]
- ldr r5, _0803D9FC
- adds r0, r2, r5
- adds r0, r1
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r0, 0
- beq _0803DA00
-_0803D9E0:
- adds r0, r2, r4
- bl sub_808E9B8
- lsls r0, 16
- asrs r0, 16
- b _0803DA14
- .align 2, 0
-_0803D9EC: .4byte 0x00002710
-_0803D9F0: .4byte gUnknown_203B418
-_0803D9F4: .4byte 0x000037e4
-_0803D9F8: .4byte 0x0000343c
-_0803D9FC: .4byte 0x0000343e
-_0803DA00:
- adds r4, 0x8
- adds r1, 0x8
- adds r3, 0x1
- ldr r5, _0803DA1C
- adds r0, r2, r5
- ldr r0, [r0]
- cmp r3, r0
- blt _0803D9D0
-_0803DA10:
- movs r0, 0xBE
- lsls r0, 1
-_0803DA14:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803DA1C: .4byte 0x000037e4
- thumb_func_end sub_803D970
-
- thumb_func_start sub_803DA20
-sub_803DA20:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r7, r0, 16
- movs r5, 0
- ldr r1, _0803DA54
- ldr r0, [r1]
- ldr r2, _0803DA58
- adds r0, r2
- ldr r0, [r0]
- cmp r5, r0
- bge _0803DA70
- adds r6, r1, 0
- ldr r4, _0803DA5C
-_0803DA3A:
- ldr r0, [r6]
- adds r0, r4
- bl sub_808E9B8
- lsls r0, 16
- asrs r0, 16
- cmp r0, r7
- bne _0803DA60
- ldr r0, [r6]
- adds r0, r4
- bl sub_808E9E4
- b _0803DA72
- .align 2, 0
-_0803DA54: .4byte gUnknown_203B418
-_0803DA58: .4byte 0x000037e4
-_0803DA5C: .4byte 0x0000343c
-_0803DA60:
- adds r4, 0x8
- adds r5, 0x1
- ldr r0, [r6]
- ldr r1, _0803DA78
- adds r0, r1
- ldr r0, [r0]
- cmp r5, r0
- blt _0803DA3A
-_0803DA70:
- movs r0, 0x1
-_0803DA72:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803DA78: .4byte 0x000037e4
- thumb_func_end sub_803DA20
-
- thumb_func_start ShowDungeonNameBanner
-ShowDungeonNameBanner:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x68
- ldr r0, _0803DB84
- ldr r4, _0803DB88
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r5, _0803DB8C
- str r0, [r5]
- ldr r0, _0803DB90
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r1, _0803DB94
- str r0, [r1]
- ldr r1, _0803DB98
- ldr r0, [r0, 0x4]
- ldr r0, [r0, 0x4]
- str r0, [r1]
- movs r4, 0
-_0803DAAA:
- adds r0, r4, 0
- adds r0, 0xE0
- ldr r1, [r5]
- lsls r2, r4, 2
- ldr r1, [r1, 0x4]
- adds r1, r2
- bl SetBGPaletteBufferColorArray
- adds r4, 0x1
- cmp r4, 0xF
- ble _0803DAAA
- ldr r0, _0803DB9C
- movs r1, 0xE0
- lsls r1, 5
- bl CpuClear
- bl sub_80848EC
- lsls r0, 24
- cmp r0, 0
- bne _0803DAD6
- b _0803DBEA
-_0803DAD6:
- ldr r0, _0803DBA0
- ldr r0, [r0]
- ldr r1, _0803DBA4
- adds r2, r0, r1
- movs r3, 0x14
- ldrsh r1, [r0, r3]
- ldrb r2, [r2]
- adds r2, r1
- mov r8, r2
- ldr r1, _0803DBA8
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80900AC
- mov r9, r0
- movs r5, 0xA
- movs r0, 0
-_0803DAF8:
- movs r4, 0
- adds r6, r0, 0x4
- adds r7, r0, 0x1
-_0803DAFE:
- adds r4, 0x1
- ldr r3, _0803DBAC
- adds r0, r3, 0
- adds r2, r5, 0
- orrs r2, r0
- lsls r2, 16
- lsrs r2, 16
- adds r0, r4, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_8008DC8
- adds r5, 0x1
- cmp r4, 0x1B
- ble _0803DAFE
- adds r0, r7, 0
- cmp r0, 0x7
- ble _0803DAF8
- mov r0, r9
- bl CalcStringWidth
- movs r1, 0xE0
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- mov r0, r9
- movs r2, 0
- bl sub_803DC14
- adds r7, r0, 0
- ldr r0, _0803DBA0
- ldr r0, [r0]
- ldr r1, _0803DBA8
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80900C0
- lsls r0, 24
- ldr r6, _0803DBB0
- cmp r0, 0
- beq _0803DB54
- ldr r6, _0803DBB4
-_0803DB54:
- mov r3, r8
- cmp r3, 0x9
- ble _0803DBBC
- ldr r5, _0803DBB8
- mov r0, r8
- movs r1, 0xA
- bl __divsi3
- adds r4, r0, 0
- adds r4, 0x30
- mov r0, r8
- movs r1, 0xA
- bl __modsi3
- adds r0, 0x30
- str r0, [sp]
- add r0, sp, 0x4
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_800D158
- b _0803DBCA
- .align 2, 0
-_0803DB84: .4byte gUnknown_80F60F8
-_0803DB88: .4byte gUnknown_83B0000
-_0803DB8C: .4byte gUnknown_202EC88
-_0803DB90: .4byte gUnknown_80F6100
-_0803DB94: .4byte gUnknown_202EC8C
-_0803DB98: .4byte gUnknown_202EC90
-_0803DB9C: .4byte 0x06000140
-_0803DBA0: .4byte gUnknown_203B418
-_0803DBA4: .4byte 0x00000645
-_0803DBA8: .4byte 0x00000644
-_0803DBAC: .4byte 0xffffe000
-_0803DBB0: .4byte gUnknown_80F610C
-_0803DBB4: .4byte gUnknown_80F6108
-_0803DBB8: .4byte gUnknown_80F6110
-_0803DBBC:
- ldr r1, _0803DC08
- mov r3, r8
- adds r3, 0x30
- add r0, sp, 0x4
- adds r2, r6, 0
- bl sub_800D158
-_0803DBCA:
- add r0, sp, 0x4
- bl CalcStringWidth
- movs r1, 0xE0
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- adds r2, r7, 0
- adds r2, 0x20
- add r0, sp, 0x4
- bl sub_803DC14
- ldr r1, _0803DC0C
- movs r0, 0x1
- strb r0, [r1]
-_0803DBEA:
- ldr r0, _0803DC10
- ldr r0, [r0]
- bl CloseFile
- movs r0, 0x2
- bl sub_803E46C
- add sp, 0x68
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803DC08: .4byte gUnknown_80F6118
-_0803DC0C: .4byte gUnknown_20274A5
-_0803DC10: .4byte gUnknown_202EC8C
- thumb_func_end ShowDungeonNameBanner
-
- thumb_func_start sub_803DC14
-sub_803DC14:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- b _0803DC5C
-_0803DC1E:
- ldrb r1, [r4]
- adds r4, 0x1
- cmp r1, 0x2F
- bne _0803DC2C
- movs r5, 0
- adds r6, 0x18
- b _0803DC5C
-_0803DC2C:
- cmp r1, 0x23
- bne _0803DC34
- adds r5, 0x8
- b _0803DC5C
-_0803DC34:
- cmp r1, 0x20
- bne _0803DC3C
- adds r5, 0xC
- b _0803DC5C
-_0803DC3C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0803DC50
- ldrb r0, [r4]
- cmp r0, 0
- beq _0803DC50
- lsls r1, 8
- orrs r1, r0
- adds r4, 0x1
-_0803DC50:
- adds r0, r1, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_803DC6C
- adds r5, r0
-_0803DC5C:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0803DC1E
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_803DC14
-
- thumb_func_start sub_803DC6C
-sub_803DC6C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x120
- adds r7, r1, 0
- adds r5, r2, 0
- bl sub_803DEC8
- adds r4, r0, 0
- ldr r0, [r4]
- mov r1, sp
- bl sub_803DD30
- ldrb r4, [r4, 0x6]
- mov r9, r4
- mov r6, sp
- adds r0, r5, 0
- cmp r5, 0
- bge _0803DC96
- adds r0, r5, 0x7
-_0803DC96:
- asrs r0, 3
- lsls r3, r0, 3
- subs r0, r3, r0
- lsls r0, 2
- adds r1, r7, 0
- cmp r7, 0
- bge _0803DCA6
- adds r1, r7, 0x7
-_0803DCA6:
- asrs r1, 3
- adds r0, r1
- lsls r0, 5
- ldr r4, _0803DD28
- adds r2, r0, r4
- subs r0, r5, r3
- lsls r0, 2
- adds r2, r0
- lsls r1, 3
- subs r1, r7, r1
- lsls r1, 4
- ldr r0, _0803DD2C
- adds r4, r1, r0
- movs r0, 0
-_0803DCC2:
- adds r3, r2, 0
- adds r7, r3, 0x4
- adds r5, 0x1
- mov r12, r5
- adds r0, 0x1
- mov r8, r0
- movs r5, 0x2
-_0803DCD0:
- ldr r2, [r6]
- cmp r2, 0
- beq _0803DCF6
- ldr r1, [r4]
- ands r1, r2
- ldr r0, [r4, 0x8]
- lsls r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- adds r3, 0x20
- ldr r0, [r4, 0x4]
- ands r2, r0
- ldr r0, [r4, 0xC]
- lsrs r2, r0
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- subs r3, 0x20
-_0803DCF6:
- adds r6, 0x4
- adds r3, 0x20
- subs r5, 0x1
- cmp r5, 0
- bge _0803DCD0
- adds r2, r7, 0
- mov r5, r12
- movs r0, 0x7
- ands r0, r5
- cmp r0, 0
- bne _0803DD12
- movs r0, 0xD8
- lsls r0, 2
- adds r2, r7, r0
-_0803DD12:
- mov r0, r8
- cmp r0, 0x17
- ble _0803DCC2
- mov r0, r9
- add sp, 0x120
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0803DD28: .4byte 0x06000140
-_0803DD2C: .4byte gUnknown_80F6120
- thumb_func_end sub_803DC6C
-
- thumb_func_start sub_803DD30
-sub_803DD30:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0803DDBC
- add sp, r4
- adds r4, r0, 0
- mov r10, r1
- movs r3, 0
- movs r5, 0
- ldr r0, _0803DDC0
- mov r8, r0
- movs r6, 0xF
- movs r7, 0xF
- mov r2, sp
-_0803DD50:
- ldrb r0, [r4]
- lsrs r1, r0, 4
- ands r1, r6
- strb r1, [r2]
- adds r1, r7, 0
- ands r1, r0
- strb r1, [r2, 0x1]
- adds r4, 0x1
- adds r2, 0x2
- adds r5, 0x2
- cmp r5, r8
- ble _0803DD50
- ldr r1, _0803DDC0
- cmp r3, r1
- bgt _0803DDF8
- movs r0, 0x90
- lsls r0, 2
- mov r2, sp
- adds r2, r0
- mov r12, r2
- mov r8, r1
- mov r2, sp
- mov r9, r0
-_0803DD7E:
- ldrb r1, [r2]
- adds r2, 0x1
- movs r6, 0x7
- ands r6, r1
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _0803DDC4
- ldrb r1, [r2]
- adds r2, 0x1
- movs r4, 0
- cmp r4, r6
- bge _0803DDF4
- mov r5, r12
- adds r0, r5, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r8
- bgt _0803DDF8
- mov r5, sp
- add r5, r9
- ldr r7, _0803DDC0
-_0803DDAA:
- adds r4, 0x1
- cmp r4, r6
- bge _0803DDF4
- adds r0, r5, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r7
- ble _0803DDAA
- b _0803DDF4
- .align 2, 0
-_0803DDBC: .4byte 0xfffffb80
-_0803DDC0: .4byte 0x0000023f
-_0803DDC4:
- movs r4, 0
- cmp r4, r6
- bge _0803DDF4
- ldrb r1, [r2]
- adds r2, 0x1
- mov r5, r12
- adds r0, r5, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r8
- bgt _0803DDF8
- mov r5, sp
- add r5, r9
- ldr r7, _0803DE78
-_0803DDE0:
- adds r4, 0x1
- cmp r4, r6
- bge _0803DDF4
- ldrb r1, [r2]
- adds r2, 0x1
- adds r0, r5, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r7
- ble _0803DDE0
-_0803DDF4:
- cmp r3, r8
- ble _0803DD7E
-_0803DDF8:
- movs r5, 0
- ldr r4, _0803DE78
- add r3, sp, 0x240
-_0803DDFE:
- ldrb r2, [r3, 0x7]
- lsls r2, 28
- ldrb r0, [r3, 0x6]
- lsls r0, 24
- movs r1, 0xF0
- lsls r1, 20
- ands r0, r1
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 20
- movs r1, 0xF0
- lsls r1, 16
- ands r0, r1
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 12
- ands r0, r1
- orrs r2, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 12
- movs r1, 0xF0
- lsls r1, 8
- ands r0, r1
- orrs r2, r0
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- movs r1, 0xF0
- lsls r1, 4
- ands r0, r1
- orrs r2, r0
- ldrb r0, [r3, 0x1]
- lsls r0, 4
- movs r1, 0xF0
- ands r0, r1
- orrs r2, r0
- ldrb r1, [r3]
- movs r0, 0xF
- ands r0, r1
- orrs r2, r0
- mov r0, r10
- adds r0, 0x4
- mov r10, r0
- subs r0, 0x4
- stm r0!, {r2}
- adds r3, 0x8
- adds r5, 0x8
- cmp r5, r4
- ble _0803DDFE
- movs r3, 0x90
- lsls r3, 3
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803DE78: .4byte 0x0000023f
- thumb_func_end sub_803DD30
-
- thumb_func_start CalcStringWidth
-CalcStringWidth:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- b _0803DEBA
-_0803DE84:
- ldrb r1, [r4]
- adds r4, 0x1
- cmp r1, 0x23
- bne _0803DE90
- adds r5, 0x8
- b _0803DEBA
-_0803DE90:
- cmp r1, 0x20
- bne _0803DE98
- adds r5, 0xC
- b _0803DEBA
-_0803DE98:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0803DEAC
- ldrb r0, [r4]
- cmp r0, 0
- beq _0803DEAC
- lsls r1, 8
- orrs r1, r0
- adds r4, 0x1
-_0803DEAC:
- adds r0, r1, 0
- bl sub_803DEC8
- cmp r0, 0
- beq _0803DEBA
- ldrb r0, [r0, 0x6]
- adds r5, r0
-_0803DEBA:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0803DE84
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end CalcStringWidth
-
- thumb_func_start sub_803DEC8
-sub_803DEC8:
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _0803DEFC
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- ldr r5, [r0]
- ldr r0, _0803DF00
- adds r1, r3, r0
- ldr r0, _0803DF04
- cmp r1, r0
- bhi _0803DF08
- movs r2, 0xFF
- ands r2, r3
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r3
- asrs r1, 8
- subs r2, 0x20
- subs r1, 0xF8
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 5
- adds r0, r2
- lsls r0, 3
- adds r1, r5, r0
- b _0803DF56
- .align 2, 0
-_0803DEFC: .4byte gUnknown_202EC8C
-_0803DF00: .4byte 0xffff0800
-_0803DF04: .4byte 0x000007fe
-_0803DF08:
- movs r4, 0
- ldr r0, _0803DF1C
- ldr r0, [r0]
- subs r2, r0, 0x1
- cmp r4, r2
- bge _0803DF48
- lsrs r0, r2, 31
- adds r0, r2, r0
- b _0803DF3A
- .align 2, 0
-_0803DF1C: .4byte gUnknown_202EC90
-_0803DF20:
- lsls r0, r1, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- cmp r0, r3
- bge _0803DF2E
- adds r4, r1, 0x1
- b _0803DF30
-_0803DF2E:
- adds r2, r1, 0
-_0803DF30:
- cmp r4, r2
- bge _0803DF48
- adds r0, r4, r2
- lsrs r1, r0, 31
- adds r0, r1
-_0803DF3A:
- asrs r1, r0, 1
- lsls r0, r1, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- cmp r0, r3
- bne _0803DF20
- adds r4, r1, 0
-_0803DF48:
- lsls r0, r4, 3
- adds r1, r5, r0
- ldrh r0, [r1, 0x4]
- cmp r0, r3
- beq _0803DF56
- adds r1, r5, 0
- adds r1, 0x8
-_0803DF56:
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_803DEC8
-
- thumb_func_start sub_803DF60
-sub_803DF60:
- push {r4-r7,lr}
- ldr r0, _0803DFF8
- ldr r1, _0803DFFC
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- ldr r0, [r7, 0x4]
- ldr r5, [r0]
- ldm r5!, {r4}
- ldr r6, _0803E000
- cmp r4, 0
- beq _0803DF8C
-_0803DF78:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x20
- bl CpuCopy
- adds r6, 0x20
- adds r5, 0x20
- subs r4, 0x1
- cmp r4, 0
- bne _0803DF78
-_0803DF8C:
- adds r0, r7, 0
- bl CloseFile
- ldr r0, _0803E004
- ldr r1, _0803DFFC
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- ldr r5, [r7, 0x4]
- ldm r5!, {r4}
- ldr r6, _0803E008
- cmp r4, 0
- beq _0803DFBA
-_0803DFA6:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x20
- bl CpuCopy
- adds r6, 0x20
- adds r5, 0x20
- subs r4, 0x1
- cmp r4, 0
- bne _0803DFA6
-_0803DFBA:
- adds r0, r7, 0
- bl CloseFile
- ldr r0, _0803E00C
- ldr r4, _0803DFFC
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r1, _0803E010
- str r0, [r1]
- ldr r0, _0803E014
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r1, _0803E018
- str r0, [r1]
- ldr r0, _0803E01C
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r1, _0803E020
- str r0, [r1]
- ldr r0, _0803E024
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r1, _0803E028
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803DFF8: .4byte gUnknown_80F61A8
-_0803DFFC: .4byte gUnknown_83B0000
-_0803E000: .4byte 0x06013400
-_0803E004: .4byte gUnknown_80F61B0
-_0803E008: .4byte 0x06014000
-_0803E00C: .4byte gUnknown_80F61B8
-_0803E010: .4byte gUnknown_202EC94
-_0803E014: .4byte gUnknown_80F61C4
-_0803E018: .4byte gUnknown_202EC98
-_0803E01C: .4byte gUnknown_80F61CC
-_0803E020: .4byte gUnknown_202EC9C
-_0803E024: .4byte gUnknown_80F61D4
-_0803E028: .4byte gUnknown_202ECA0
- thumb_func_end sub_803DF60
-
- thumb_func_start sub_803E02C
-sub_803E02C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- bl sub_803E13C
- mov r1, sp
- ldr r0, _0803E118
- ldm r0!, {r2,r3}
- stm r1!, {r2,r3}
- ldr r1, _0803E11C
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- ldr r0, [r7, 0x4]
- ldr r5, [r0]
- ldm r5!, {r4}
- ldr r6, _0803E120
- cmp r4, 0
- beq _0803E06C
-_0803E058:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x20
- bl CpuCopy
- adds r6, 0x20
- adds r5, 0x20
- subs r4, 0x1
- cmp r4, 0
- bne _0803E058
-_0803E06C:
- ldr r0, _0803E124
- ldr r1, [r7, 0x4]
- ldr r1, [r1, 0x4]
- movs r2, 0x80
- bl CpuCopy
- adds r0, r7, 0
- bl CloseFile
- movs r6, 0x80
- lsls r6, 2
- movs r4, 0
- ldr r0, _0803E128
- mov r9, r0
- ldr r1, _0803E12C
- mov r12, r1
- movs r7, 0
- ldr r2, _0803E130
- mov r8, r2
-_0803E092:
- mov r3, r12
- ldrh r0, [r3]
- lsls r5, r0, 12
- adds r2, r7, 0
- movs r3, 0x8
-_0803E09C:
- mov r0, r9
- ldr r1, [r0]
- add r1, r8
- adds r1, r2
- adds r0, r5, 0
- orrs r0, r6
- strh r0, [r1]
- adds r6, 0x1
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0803E09C
- movs r1, 0x2
- add r12, r1
- adds r7, 0x12
- adds r4, 0x1
- cmp r4, 0x1C
- ble _0803E092
- movs r4, 0
- ldr r5, _0803E128
- ldr r3, _0803E134
- movs r2, 0xC0
- lsls r2, 8
-_0803E0CA:
- ldr r0, [r5]
- lsls r1, r4, 1
- adds r0, r3
- adds r0, r1
- strh r2, [r0]
- adds r4, 0x1
- cmp r4, 0x8
- ble _0803E0CA
- movs r4, 0
- ldr r2, _0803E128
- movs r6, 0xBE
- lsls r6, 1
- ldr r5, _0803E138
- movs r3, 0xBF
- lsls r3, 1
-_0803E0E8:
- ldr r0, [r2]
- lsls r1, r4, 2
- adds r0, r1
- adds r0, r6
- strb r4, [r0]
- ldr r0, [r2]
- adds r0, r1
- adds r0, r5
- strb r4, [r0]
- ldr r0, [r2]
- adds r0, r1
- adds r0, r3
- strb r4, [r0]
- adds r4, 0x1
- cmp r4, 0xFF
- ble _0803E0E8
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E118: .4byte gUnknown_80F61DC
-_0803E11C: .4byte gUnknown_83B0000
-_0803E120: .4byte 0x0600c000
-_0803E124: .4byte gUnknown_202ECA4
-_0803E128: .4byte gUnknown_203B418
-_0803E12C: .4byte gUnknown_80F5F70
-_0803E130: .4byte 0x00012a18
-_0803E134: .4byte 0x00013554
-_0803E138: .4byte 0x0000017d
- thumb_func_end sub_803E02C
-
- thumb_func_start sub_803E13C
-sub_803E13C:
- push {r4,r5,lr}
- bl sub_8094C14
- ldr r0, _0803E170
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- ldr r5, _0803E174
- cmp r0, 0
- beq _0803E154
- movs r0, 0x80
- lsls r0, 1
- adds r5, r0
-_0803E154:
- movs r4, 0
-_0803E156:
- adds r0, r4, 0
- adds r0, 0xF0
- adds r1, r5, 0
- bl SetBGPaletteBufferColorArray
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0xF
- ble _0803E156
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E170: .4byte gUnknown_203B46C
-_0803E174: .4byte gUnknown_202D038
- thumb_func_end sub_803E13C
-
- thumb_func_start sub_803E178
-sub_803E178:
- push {r4,lr}
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0803E1E0
- ldr r0, _0803E1AC
- ldr r2, [r0]
- ldr r3, _0803E1B0
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, r0, 0
- cmp r1, 0x15
- bne _0803E1BC
- ldr r1, _0803E1B4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803E1BC
- ldr r3, _0803E1B8
- adds r1, r2, r3
- movs r0, 0x1C
- strh r0, [r1]
- b _0803E204
- .align 2, 0
-_0803E1AC: .4byte gUnknown_203B418
-_0803E1B0: .4byte 0x00000644
-_0803E1B4: .4byte 0x000037fe
-_0803E1B8: .4byte 0x00003a12
-_0803E1BC:
- ldr r4, [r3]
- ldr r1, _0803E1D8
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80900C0
- lsls r0, 24
- movs r1, 0x16
- cmp r0, 0
- beq _0803E1D2
- movs r1, 0x17
-_0803E1D2:
- ldr r2, _0803E1DC
- adds r0, r4, r2
- b _0803E202
- .align 2, 0
-_0803E1D8: .4byte 0x00000644
-_0803E1DC: .4byte 0x00003a12
-_0803E1E0:
- cmp r0, 0x1
- bne _0803E1F8
- ldr r0, _0803E1F0
- ldr r0, [r0]
- ldr r3, _0803E1F4
- adds r0, r3
- movs r1, 0x6
- b _0803E202
- .align 2, 0
-_0803E1F0: .4byte gUnknown_203B418
-_0803E1F4: .4byte 0x00003a12
-_0803E1F8:
- ldr r0, _0803E20C
- ldr r0, [r0]
- ldr r1, _0803E210
- adds r0, r1
- movs r1, 0x18
-_0803E202:
- strh r1, [r0]
-_0803E204:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E20C: .4byte gUnknown_203B418
-_0803E210: .4byte 0x00003a12
- thumb_func_end sub_803E178
-
- thumb_func_start sub_803E214
-sub_803E214:
- push {lr}
- ldr r0, _0803E23C
- ldr r0, [r0]
- bl CloseFile
- ldr r0, _0803E240
- ldr r0, [r0]
- bl CloseFile
- ldr r0, _0803E244
- ldr r0, [r0]
- bl CloseFile
- ldr r0, _0803E248
- ldr r0, [r0]
- bl CloseFile
- pop {r0}
- bx r0
- .align 2, 0
-_0803E23C: .4byte gUnknown_202EC94
-_0803E240: .4byte gUnknown_202EC98
-_0803E244: .4byte gUnknown_202EC9C
-_0803E248: .4byte gUnknown_202ECA0
- thumb_func_end sub_803E214
-
- thumb_func_start nullsub_56
-nullsub_56:
- bx lr
- thumb_func_end nullsub_56
-
- thumb_func_start sub_803E250
-sub_803E250:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r1, _0803E3FC
- ldr r0, _0803E400
- str r0, [r1]
- ldr r0, _0803E404
- movs r1, 0
- str r1, [r0]
- ldr r0, _0803E408
- strb r1, [r0]
- ldr r0, _0803E40C
- strh r1, [r0]
- ldr r5, _0803E410
- ldrh r0, [r5, 0x6]
- movs r3, 0xF
- adds r2, r3, 0
- ands r2, r0
- ldrh r4, [r5]
- ldr r1, _0803E414
- adds r0, r1, 0
- ands r0, r4
- ldr r4, _0803E418
- ands r0, r4
- ldr r6, _0803E41C
- ands r0, r6
- ldr r7, _0803E420
- ands r0, r7
- ldr r4, _0803E424
- mov r12, r4
- ands r0, r4
- ldr r4, _0803E428
- ands r0, r4
- strh r0, [r5]
- movs r0, 0x80
- lsls r0, 7
- strh r0, [r5, 0x2]
- movs r0, 0
- strh r0, [r5, 0x4]
- ldr r0, _0803E42C
- mov r10, r0
- ands r2, r0
- subs r0, 0x1
- mov r9, r0
- ands r2, r0
- subs r0, 0x2
- mov r8, r0
- ands r2, r0
- strh r2, [r5, 0x6]
- ldr r2, _0803E430
- ldrh r0, [r2, 0x6]
- ands r3, r0
- ldrh r0, [r2]
- ands r1, r0
- ldr r0, _0803E418
- ands r1, r0
- ands r1, r6
- ands r1, r7
- mov r7, r12
- ands r1, r7
- ands r1, r4
- strh r1, [r2]
- movs r0, 0
- strh r0, [r2, 0x2]
- movs r0, 0xB8
- lsls r0, 7
- strh r0, [r2, 0x4]
- mov r0, r10
- ands r3, r0
- mov r1, r9
- ands r3, r1
- mov r7, r8
- ands r3, r7
- strh r3, [r2, 0x6]
- movs r0, 0
- mov r8, r0
-_0803E2EE:
- movs r1, 0
- mov r9, r1
- mov r2, r8
- lsls r0, r2, 3
- lsls r2, 1
- mov r12, r2
- mov r3, r8
- adds r3, 0x1
- str r3, [sp]
- mov r10, r1
- add r0, r8
- lsls r5, r0, 3
- ldr r4, _0803E434
- adds r4, r5, r4
- str r4, [sp, 0x4]
- ldr r7, _0803E438
- adds r6, r5, r7
- ldr r0, _0803E43C
- adds r3, r5, r0
- ldr r1, _0803E440
- adds r4, r5, r1
-_0803E318:
- mov r7, r10
- adds r2, r5, r7
- ldrh r1, [r3]
- ldr r0, _0803E414
- ands r0, r1
- ldr r1, _0803E418
- ands r0, r1
- ldr r1, _0803E41C
- ands r0, r1
- ldr r1, _0803E420
- ands r0, r1
- ldr r1, _0803E424
- ands r0, r1
- strh r0, [r3]
- ldr r1, [r4]
- movs r7, 0x3
- ands r1, r7
- lsls r1, 14
- ldr r7, _0803E428
- ands r0, r7
- orrs r0, r1
- strh r0, [r3]
- ldrh r1, [r3, 0x2]
- ldr r0, _0803E444
- ands r0, r1
- strh r0, [r3, 0x2]
- ldr r1, _0803E440
- adds r1, 0x4
- adds r2, r1
- ldr r1, [r2]
- movs r2, 0x3
- ands r1, r2
- lsls r1, 14
- ands r0, r7
- orrs r0, r1
- strh r0, [r3, 0x2]
- ldr r1, [r6]
- ldr r0, _0803E448
- ands r1, r0
- ldrh r2, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r2
- orrs r0, r1
- ldr r7, _0803E41C
- ands r0, r7
- movs r1, 0xC0
- lsls r1, 4
- orrs r0, r1
- movs r2, 0
- orrs r0, r2
- ldr r1, _0803E44C
- ands r0, r1
- strh r0, [r3, 0x4]
- ldrh r1, [r3, 0x6]
- ldr r0, _0803E42C
- ands r0, r1
- ldr r1, _0803E450
- ands r0, r1
- strh r0, [r3, 0x6]
- mov r7, r9
- lsls r1, r7, 2
- mov r0, r12
- add r0, r8
- lsls r0, 3
- adds r1, r0
- ldr r0, _0803E454
- adds r1, r0, r1
- ldr r0, [r1]
- ldr r1, [sp, 0x4]
- str r0, [r1]
- adds r1, 0xC
- str r1, [sp, 0x4]
- adds r6, 0xC
- adds r3, 0xC
- adds r4, 0xC
- movs r2, 0xC
- add r10, r2
- movs r7, 0x1
- add r9, r7
- mov r0, r9
- cmp r0, 0x5
- ble _0803E318
- ldr r1, [sp]
- mov r8, r1
- cmp r1, 0x1
- ble _0803E2EE
- movs r2, 0
- ldr r3, _0803E458
- ldr r0, [r3]
- ldr r4, _0803E45C
- adds r0, r4
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r3]
- ldr r7, _0803E460
- adds r0, r7
- strb r1, [r0]
- ldr r0, _0803E464
- str r2, [r0]
- movs r0, 0xF8
- ldr r1, _0803E468
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- 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
-_0803E3FC: .4byte gUnknown_202EDD0
-_0803E400: .4byte 0x000003e7
-_0803E404: .4byte gUnknown_202EDD4
-_0803E408: .4byte gUnknown_203B40D
-_0803E40C: .4byte gUnknown_202EDE8
-_0803E410: .4byte gUnknown_202EDC0
-_0803E414: .4byte 0x0000feff
-_0803E418: .4byte 0x0000fdff
-_0803E41C: .4byte 0x0000f3ff
-_0803E420: .4byte 0x0000efff
-_0803E424: .4byte 0x0000dfff
-_0803E428: .4byte 0x00003fff
-_0803E42C: .4byte 0x0000fffe
-_0803E430: .4byte gUnknown_202EDB8
-_0803E434: .4byte gUnknown_202ED30
-_0803E438: .4byte gUnknown_80F6224
-_0803E43C: .4byte gUnknown_202ED28
-_0803E440: .4byte gUnknown_80F621C
-_0803E444: .4byte 0x0000c1ff
-_0803E448: .4byte 0x000003ff
-_0803E44C: .4byte 0x00000fff
-_0803E450: .4byte 0x0000fffd
-_0803E454: .4byte gUnknown_80F61EC
-_0803E458: .4byte gUnknown_203B418
-_0803E45C: .4byte 0x00018217
-_0803E460: .4byte 0x00018218
-_0803E464: .4byte gUnknown_202EDC8
-_0803E468: .4byte gUnknown_202D058
- thumb_func_end sub_803E250
-
- thumb_func_start sub_803E46C
-sub_803E46C:
- push {lr}
- adds r1, r0, 0
- ldr r0, _0803E480
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803E484
- adds r0, r1, 0
- bl sub_803E490
- b _0803E48A
- .align 2, 0
-_0803E480: .4byte gUnknown_203B40C
-_0803E484:
- adds r0, r1, 0
- bl sub_803E668
-_0803E48A:
- pop {r0}
- bx r0
- thumb_func_end sub_803E46C
-
- thumb_func_start sub_803E490
-sub_803E490:
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r1, _0803E4D8
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bl xxx_draw_string_80524F0
- bl sub_8085F78
- movs r0, 0x1
- bl sub_803F580
- ldr r2, _0803E4DC
- ldr r1, [r2]
- ldr r3, _0803E4E0
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803E4EC
- ldr r4, _0803E4E4
- adds r1, r4
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, [r2]
- ldr r2, _0803E4E8
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- subs r4, 0x16
- adds r1, r4
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl sub_800CCA0
- b _0803E4FC
- .align 2, 0
-_0803E4D8: .4byte gUnknown_202EDD4
-_0803E4DC: .4byte gUnknown_203B418
-_0803E4E0: .4byte 0x0001821a
-_0803E4E4: .4byte 0x00018208
-_0803E4E8: .4byte 0x000181f0
-_0803E4EC:
- ldr r3, _0803E628
- adds r1, r3
- movs r0, 0x3
- strb r0, [r1]
- movs r0, 0
- movs r1, 0
- bl sub_800CCA0
-_0803E4FC:
- ldr r4, _0803E62C
- ldr r2, [r4]
- ldr r5, _0803E630
- adds r0, r2, r5
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldr r3, _0803E634
- adds r1, r2, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- ldr r3, _0803E638
- adds r2, r3
- ldr r2, [r2]
- subs r1, r2
- bl sub_800CCAC
- bl sub_806CC10
- bl sub_804522C
- bl sub_803F9CC
- ldr r0, [r4]
- adds r0, r5
- bl sub_800F7D0
- ldr r1, [r4]
- ldrh r2, [r1, 0x12]
- movs r3, 0x12
- ldrsh r0, [r1, r3]
- cmp r0, 0x63
- bgt _0803E540
- adds r0, r2, 0x1
- strh r0, [r1, 0x12]
-_0803E540:
- ldr r0, [r4]
- adds r0, r5
- bl sub_800E90C
- bl sub_8042E5C
- ldr r0, _0803E63C
- ldr r0, [r0]
- cmp r0, 0
- beq _0803E562
- cmp r0, 0x3
- beq _0803E562
- ldr r0, _0803E640
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bne _0803E566
-_0803E562:
- bl sub_8040894
-_0803E566:
- bl sub_803ECE0
- bl sub_803EDF0
- ldr r0, _0803E62C
- ldr r3, [r0]
- ldr r4, _0803E644
- adds r0, r3, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803E5A2
- ldr r1, _0803E648
- adds r0, r3, r1
- ldr r0, [r0]
- cmp r0, 0x3
- beq _0803E5A2
- ldr r0, _0803E64C
- ldrb r0, [r0]
- ldr r1, _0803E650
- ldr r2, _0803E654
- ldr r2, [r2]
- str r2, [sp]
- movs r4, 0xBE
- lsls r4, 1
- adds r2, r3, r4
- str r2, [sp, 0x4]
- movs r2, 0xA0
- movs r3, 0x20
- bl sub_8004AF0
-_0803E5A2:
- ldr r0, _0803E640
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl nullsub_8
- bl sub_8005180
- bl nullsub_12
- bl sub_80060EC
- ldr r1, _0803E658
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, _0803E65C
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- bl TransferBGPaletteBuffer
- bl sub_8009908
- bl xxx_call_update_bg_vram
- bl sub_8040788
- bl xxx_call_update_bg_sound_input
- ldr r0, _0803E62C
- ldr r0, [r0]
- ldr r1, _0803E660
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_8083F58
- bl sub_8011860
- bl sub_8040B60
- movs r0, 0
- bl sub_8004D8C
- movs r0, 0
- bl nullsub_10
- ldr r1, _0803E664
- ldr r0, [r1]
- subs r0, 0x1
- str r0, [r1]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E628: .4byte 0x00018208
-_0803E62C: .4byte gUnknown_203B418
-_0803E630: .4byte 0x000181f0
-_0803E634: .4byte 0x000181f2
-_0803E638: .4byte 0x000181fc
-_0803E63C: .4byte gUnknown_202EDD0
-_0803E640: .4byte gUnknown_203B46C
-_0803E644: .4byte 0x00018215
-_0803E648: .4byte 0x0001c06c
-_0803E64C: .4byte gUnknown_203B40D
-_0803E650: .4byte gUnknown_202EE8C
-_0803E654: .4byte gUnknown_202EDC8
-_0803E658: .4byte gUnknown_202EDCC
-_0803E65C: .4byte gUnknown_203B47C
-_0803E660: .4byte 0x00018213
-_0803E664: .4byte gUnknown_202EDD4
- thumb_func_end sub_803E490
-
- thumb_func_start sub_803E668
-sub_803E668:
- push {r4,lr}
- ldr r4, _0803E6F0
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- ldr r0, _0803E6F4
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl nullsub_8
- bl sub_8005180
- bl nullsub_12
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- ldr r1, _0803E6F8
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, _0803E6FC
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- bl TransferBGPaletteBuffer
- bl sub_8009908
- bl xxx_call_update_bg_vram
- bl xxx_call_update_bg_sound_input
- ldr r0, _0803E700
- ldr r0, [r0]
- ldr r1, _0803E704
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_8011860
- movs r0, 0
- bl sub_8004D8C
- movs r0, 0
- bl nullsub_10
- ldr r0, [r4]
- subs r0, 0x1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E6F0: .4byte gUnknown_202EDD4
-_0803E6F4: .4byte gUnknown_203B46C
-_0803E6F8: .4byte gUnknown_202EDCC
-_0803E6FC: .4byte gUnknown_203B47C
-_0803E700: .4byte gUnknown_203B418
-_0803E704: .4byte 0x00018213
- thumb_func_end sub_803E668
-
- thumb_func_start sub_803E708
-sub_803E708:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- cmp r4, 0
- beq _0803E71E
-_0803E712:
- adds r0, r5, 0
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bne _0803E712
-_0803E71E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_803E708
-
- thumb_func_start sub_803E724
-sub_803E724:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, _0803E744
- movs r6, 0xF0
-_0803E72C:
- adds r0, r4, 0
- bl sub_803E46C
- ldrh r1, [r5]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0803E72C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E744: .4byte gUnknown_20255F0
- thumb_func_end sub_803E724
-
- thumb_func_start sub_803E748
-sub_803E748:
- push {r4,r5,lr}
- movs r5, 0x1F
- ldr r1, _0803E7B8
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0803E7BC
- movs r0, 0
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0x1F
- bl sub_803E874
- movs r4, 0
-_0803E762:
- cmp r4, 0x1F
- bgt _0803E780
- subs r5, 0x2
- cmp r5, 0
- bgt _0803E780
- movs r5, 0
- movs r0, 0x1
- movs r1, 0
- bl sub_803EAF0
- ldr r0, _0803E7C0
- ldr r0, [r0]
- ldr r1, _0803E7C4
- adds r0, r1
- strb r5, [r0]
-_0803E780:
- cmp r4, 0xB
- ble _0803E790
- ldr r1, _0803E7BC
- ldr r0, [r1]
- cmp r0, 0x1E
- bgt _0803E790
- adds r0, 0x1
- str r0, [r1]
-_0803E790:
- movs r0, 0x1
- adds r1, r5, 0
- bl sub_803E874
- movs r0, 0x5
- bl sub_803E46C
- adds r4, 0x1
- cmp r4, 0x2B
- ble _0803E762
- ldr r1, _0803E7B8
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0803E7BC
- movs r0, 0x1F
- str r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E7B8: .4byte gUnknown_203B40D
-_0803E7BC: .4byte gUnknown_202EDC8
-_0803E7C0: .4byte gUnknown_203B418
-_0803E7C4: .4byte 0x00018217
- thumb_func_end sub_803E748
-
- thumb_func_start sub_803E7C8
-sub_803E7C8:
- push {r4,r5,lr}
- movs r4, 0x1F
- ldr r1, _0803E820
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0803E824
- movs r0, 0
- str r0, [r1]
- movs r0, 0x5
- bl sub_803E46C
- movs r5, 0
-_0803E7E0:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_803E874
- cmp r5, 0x1F
- bgt _0803E806
- subs r4, 0x2
- cmp r4, 0
- bgt _0803E806
- movs r4, 0
- movs r0, 0x1
- movs r1, 0
- bl sub_803EAF0
- ldr r0, _0803E828
- ldr r0, [r0]
- ldr r1, _0803E82C
- adds r0, r1
- strb r4, [r0]
-_0803E806:
- movs r0, 0x5
- bl sub_803E46C
- adds r5, 0x1
- cmp r5, 0x2B
- ble _0803E7E0
- ldr r1, _0803E820
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E820: .4byte gUnknown_203B40D
-_0803E824: .4byte gUnknown_202EDC8
-_0803E828: .4byte gUnknown_203B418
-_0803E82C: .4byte 0x00018217
- thumb_func_end sub_803E7C8
-
- thumb_func_start sub_803E830
-sub_803E830:
- push {r4,r5,lr}
- ldr r1, _0803E86C
- movs r0, 0x1
- strb r0, [r1]
- ldr r5, _0803E870
- movs r4, 0x1F
-_0803E83C:
- movs r0, 0
- movs r1, 0
- bl sub_803E874
- movs r0, 0x5
- bl sub_803E46C
- ldr r0, [r5]
- cmp r0, 0
- ble _0803E854
- subs r0, 0x1
- str r0, [r5]
-_0803E854:
- subs r4, 0x1
- cmp r4, 0
- bge _0803E83C
- ldr r0, _0803E870
- movs r1, 0
- str r1, [r0]
- ldr r0, _0803E86C
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803E86C: .4byte gUnknown_203B40D
-_0803E870: .4byte gUnknown_202EDC8
- thumb_func_end sub_803E830
-
- thumb_func_start sub_803E874
-sub_803E874:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _0803E9A4
- ldr r0, [r0]
- ldr r5, [r0, 0x4]
- ldr r1, _0803E9A8
- ldr r0, _0803E9AC
- ldr r2, [r0]
- ldr r0, _0803E9B0
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- movs r0, 0
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r6, 0x1
- movs r4, 0x9F
-_0803E8AA:
- ldr r1, _0803E9AC
- mov r8, r1
- ldr r2, [r1]
- ldr r7, _0803E9B0
- ldr r3, [r7]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- adds r0, r6, 0
- adds r1, r5, 0
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- adds r6, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _0803E8AA
- ldr r3, [r7]
- ldr r1, _0803E9B4
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803E8E2
- ldr r2, _0803E9B8
- adds r0, r3, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0803E8FC
-_0803E8E2:
- ldr r1, _0803E9BC
- mov r2, r8
- ldr r0, [r2]
- str r0, [sp]
- movs r2, 0xBE
- lsls r2, 1
- adds r0, r3, r2
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0xA0
- movs r3, 0x20
- bl sub_8004AF0
-_0803E8FC:
- adds r6, 0x20
- ldr r5, _0803E9C0
- movs r4, 0x20
-_0803E902:
- ldr r0, _0803E9AC
- ldr r2, [r0]
- ldr r0, _0803E9B0
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- adds r0, r6, 0
- adds r1, r5, 0
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- adds r6, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _0803E902
- mov r1, r10
- cmp r1, 0
- beq _0803E948
- movs r6, 0xE0
- ldr r0, _0803E9C4
- ldr r0, [r0]
- ldr r5, [r0, 0x4]
- movs r4, 0x10
-_0803E932:
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r9
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- adds r6, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _0803E932
-_0803E948:
- ldr r1, _0803E9C8
- ldr r4, _0803E9AC
- ldr r2, [r4]
- movs r0, 0xF8
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- ldr r0, _0803E9B0
- ldr r0, [r0]
- ldr r2, _0803E9CC
- adds r0, r2
- ldr r0, [r0]
- ldr r5, [r0, 0x4]
- movs r6, 0x80
- lsls r6, 1
- adds r7, r4, 0
- movs r4, 0xD0
-_0803E96A:
- ldr r2, [r7]
- ldr r0, _0803E9B0
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- adds r0, r6, 0
- adds r1, r5, 0
- bl SetBGPaletteBufferColorRGB
- ldr r2, [r7]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r3, 0
- bl nullsub_4
- adds r5, 0x4
- adds r6, 0x1
- subs r4, 0x1
- cmp r4, 0
- bne _0803E96A
- 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
-_0803E9A4: .4byte gUnknown_202EE88
-_0803E9A8: .4byte gUnknown_80F62AC
-_0803E9AC: .4byte gUnknown_202EDC8
-_0803E9B0: .4byte gUnknown_203B418
-_0803E9B4: .4byte 0x00018215
-_0803E9B8: .4byte 0x0001c06c
-_0803E9BC: .4byte gUnknown_202EE8C
-_0803E9C0: .4byte gUnknown_202ECA4
-_0803E9C4: .4byte gUnknown_202EC88
-_0803E9C8: .4byte gUnknown_202D058
-_0803E9CC: .4byte 0x000181e4
- thumb_func_end sub_803E874
-
- thumb_func_start sub_803E9D0
-sub_803E9D0:
- push {r4-r7,lr}
- ldr r0, _0803EA04
- ldr r0, [r0]
- ldr r1, _0803EA08
- adds r0, r1
- ldr r0, [r0]
- ldr r4, [r0, 0x4]
- movs r6, 0x80
- lsls r6, 1
- ldr r7, _0803EA0C
- movs r5, 0xD0
-_0803E9E6:
- ldr r2, [r7]
- adds r0, r6, 0
- adds r1, r4, 0
- movs r3, 0
- bl nullsub_4
- adds r4, 0x4
- adds r6, 0x1
- subs r5, 0x1
- cmp r5, 0
- bne _0803E9E6
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803EA04: .4byte gUnknown_203B418
-_0803EA08: .4byte 0x000181e4
-_0803EA0C: .4byte gUnknown_202EDC8
- thumb_func_end sub_803E9D0
-
- thumb_func_start sub_803EA10
-sub_803EA10:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, _0803EACC
- ldr r0, [r0]
- ldr r4, [r0, 0x4]
- ldr r1, _0803EAD0
- ldr r0, _0803EAD4
- ldr r2, [r0]
- ldr r0, _0803EAD8
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- movs r0, 0
- bl SetBGPaletteBufferColorRGB
- adds r4, 0x4
- movs r6, 0x1
- movs r5, 0x9F
-_0803EA3A:
- ldr r1, _0803EAD4
- mov r8, r1
- ldr r2, [r1]
- ldr r7, _0803EAD8
- ldr r3, [r7]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- adds r0, r6, 0
- adds r1, r4, 0
- bl SetBGPaletteBufferColorRGB
- adds r4, 0x4
- adds r6, 0x1
- subs r5, 0x1
- cmp r5, 0
- bne _0803EA3A
- ldr r3, [r7]
- ldr r1, _0803EADC
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EA72
- ldr r2, _0803EAE0
- adds r0, r3, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0803EA8C
-_0803EA72:
- ldr r1, _0803EAE4
- mov r2, r8
- ldr r0, [r2]
- str r0, [sp]
- movs r2, 0xBE
- lsls r2, 1
- adds r0, r3, r2
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0xA0
- movs r3, 0x20
- bl sub_8004AF0
-_0803EA8C:
- adds r6, 0x20
- ldr r4, _0803EAE8
- movs r5, 0x20
-_0803EA92:
- ldr r7, _0803EAD4
- ldr r2, [r7]
- ldr r0, _0803EAD8
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- adds r0, r6, 0
- adds r1, r4, 0
- bl SetBGPaletteBufferColorRGB
- adds r4, 0x4
- adds r6, 0x1
- subs r5, 0x1
- cmp r5, 0
- bne _0803EA92
- ldr r1, _0803EAEC
- ldr r2, [r7]
- movs r0, 0xF8
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803EACC: .4byte gUnknown_202EE88
-_0803EAD0: .4byte gUnknown_80F62AC
-_0803EAD4: .4byte gUnknown_202EDC8
-_0803EAD8: .4byte gUnknown_203B418
-_0803EADC: .4byte 0x00018215
-_0803EAE0: .4byte 0x0001c06c
-_0803EAE4: .4byte gUnknown_202EE8C
-_0803EAE8: .4byte gUnknown_202ECA4
-_0803EAEC: .4byte gUnknown_202D058
- thumb_func_end sub_803EA10
-
- thumb_func_start sub_803EAF0
-sub_803EAF0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _0803EB20
- ldr r0, [r0]
- cmp r4, r0
- bne _0803EB00
- b _0803EC88
-_0803EB00:
- cmp r4, 0x5
- bne _0803EB06
- b _0803EC1C
-_0803EB06:
- cmp r4, 0x5
- bhi _0803EB2E
- cmp r4, 0x2
- bne _0803EB10
- b _0803EBFC
-_0803EB10:
- cmp r4, 0x2
- bhi _0803EB24
- cmp r4, 0
- beq _0803EB70
- cmp r4, 0x1
- beq _0803EB50
- b _0803EC84
- .align 2, 0
-_0803EB20: .4byte gUnknown_202EDD0
-_0803EB24:
- cmp r4, 0x3
- beq _0803EB98
- cmp r4, 0x4
- beq _0803EBFC
- b _0803EC84
-_0803EB2E:
- cmp r4, 0x8
- bne _0803EB34
- b _0803EC34
-_0803EB34:
- cmp r4, 0x8
- bhi _0803EB42
- cmp r4, 0x6
- beq _0803EBBC
- cmp r4, 0x7
- beq _0803EBDC
- b _0803EC84
-_0803EB42:
- cmp r4, 0xA
- bne _0803EB48
- b _0803EC80
-_0803EB48:
- cmp r4, 0xA
- bcs _0803EB4E
- b _0803EC54
-_0803EB4E:
- b _0803EC84
-_0803EB50:
- ldr r0, _0803EB6C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EB5E
- movs r0, 0
- bl sub_8052210
-_0803EB5E:
- bl sub_8004914
- bl sub_803EC94
- movs r0, 0
- movs r1, 0x1
- b _0803EC6E
- .align 2, 0
-_0803EB6C: .4byte gUnknown_203B40C
-_0803EB70:
- bl sub_803EC94
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, _0803EB94
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803EB88
- b _0803EC84
-_0803EB88:
- bl sub_8040A84
- movs r0, 0
- bl sub_8040ABC
- b _0803EC84
- .align 2, 0
-_0803EB94: .4byte gUnknown_203B40C
-_0803EB98:
- ldr r0, _0803EBB4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- ldr r0, _0803EBB8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EC84
- movs r0, 0x1
- bl sub_8040ABC
- b _0803EC84
- .align 2, 0
-_0803EBB4: .4byte gUnknown_80F62B0
-_0803EBB8: .4byte gUnknown_203B40C
-_0803EBBC:
- ldr r0, _0803EBD4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EBCA
- movs r0, 0
- bl sub_8052210
-_0803EBCA:
- bl sub_8004914
- ldr r0, _0803EBD8
- movs r1, 0x1
- b _0803EC6E
- .align 2, 0
-_0803EBD4: .4byte gUnknown_203B40C
-_0803EBD8: .4byte gUnknown_80F6310
-_0803EBDC:
- ldr r0, _0803EBF4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EBEA
- movs r0, 0
- bl sub_8052210
-_0803EBEA:
- bl sub_8004914
- ldr r0, _0803EBF8
- movs r1, 0x1
- b _0803EC6E
- .align 2, 0
-_0803EBF4: .4byte gUnknown_203B40C
-_0803EBF8: .4byte gUnknown_80F6370
-_0803EBFC:
- ldr r0, _0803EC18
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EC0A
- movs r0, 0
- bl sub_8052210
-_0803EC0A:
- bl sub_8004914
- bl sub_803EC94
- movs r0, 0
- movs r1, 0x1
- b _0803EC6E
- .align 2, 0
-_0803EC18: .4byte gUnknown_203B40C
-_0803EC1C:
- ldr r0, _0803EC30
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EC2A
- movs r0, 0
- bl sub_8052210
-_0803EC2A:
- movs r0, 0
- movs r1, 0x1
- b _0803EC6E
- .align 2, 0
-_0803EC30: .4byte gUnknown_203B40C
-_0803EC34:
- ldr r0, _0803EC50
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EC46
- bl sub_8083D44
- movs r0, 0
- bl sub_8052210
-_0803EC46:
- movs r0, 0x2
- adds r1, r5, 0
- bl sub_801602C
- b _0803EC84
- .align 2, 0
-_0803EC50: .4byte gUnknown_203B40C
-_0803EC54:
- ldr r0, _0803EC78
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803EC66
- movs r0, 0
- bl sub_8052210
- bl sub_8083D44
-_0803EC66:
- bl sub_8004914
- ldr r0, _0803EC7C
- movs r1, 0
-_0803EC6E:
- movs r2, 0x1
- bl sub_800641C
- b _0803EC84
- .align 2, 0
-_0803EC78: .4byte gUnknown_203B40C
-_0803EC7C: .4byte gUnknown_80F63D0
-_0803EC80:
- bl sub_8083D44
-_0803EC84:
- ldr r0, _0803EC90
- str r4, [r0]
-_0803EC88:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803EC90: .4byte gUnknown_202EDD0
- thumb_func_end sub_803EAF0
-
- thumb_func_start sub_803EC94
-sub_803EC94:
- push {lr}
- ldr r0, _0803ECB0
- movs r1, 0
- strh r1, [r0, 0x1E]
- strh r1, [r0, 0x20]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x14]
- adds r0, 0x28
- bl sub_801317C
- pop {r0}
- bx r0
- .align 2, 0
-_0803ECB0: .4byte gUnknown_202EE10
- thumb_func_end sub_803EC94
-
- thumb_func_start sub_803ECB4
-sub_803ECB4:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r1, _0803ECDC
- movs r0, 0xA
- str r0, [r1]
- movs r0, 0
- bl sub_8052210
- bl sub_8004914
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_800641C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803ECDC: .4byte gUnknown_202EDD0
- thumb_func_end sub_803ECB4
-
- thumb_func_start sub_803ECE0
-sub_803ECE0:
- push {lr}
- ldr r1, _0803ED24
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0
- bge _0803ECF2
- movs r0, 0
- str r0, [r1]
-_0803ECF2:
- ldr r0, [r1]
- cmp r0, 0xB
- ble _0803ECFC
- movs r0, 0
- str r0, [r1]
-_0803ECFC:
- ldr r0, _0803ED28
- ldr r2, [r0]
- ldr r0, [r1]
- cmp r0, 0
- bge _0803ED08
- adds r0, 0x3
-_0803ED08:
- asrs r1, r0, 2
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 6
- ldr r1, [r2, 0x4]
- adds r1, r0
- movs r2, 0x90
- lsls r2, 2
- ldr r0, _0803ED2C
- bl sub_80098BC
- pop {r0}
- bx r0
- .align 2, 0
-_0803ED24: .4byte gUnknown_202EDD8
-_0803ED28: .4byte gUnknown_202EC94
-_0803ED2C: .4byte 0x06014400
- thumb_func_end sub_803ECE0
-
- thumb_func_start sub_803ED30
-sub_803ED30:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r9, r3
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- cmp r5, 0
- beq _0803EDDA
- ldr r0, _0803EDAC
- ldr r0, [r0]
- ldr r1, _0803EDB0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803EDDA
- movs r4, 0
- ldr r1, _0803EDB4
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0803ED78
- adds r6, r1, 0
-_0803ED64:
- movs r0, 0x29
- bl sub_803E46C
- adds r4, 0x1
- cmp r4, 0x13
- bgt _0803ED78
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0803ED64
-_0803ED78:
- adds r0, r5, 0
- mov r1, r8
- bl sub_803EF90
- ldr r3, _0803EDB4
- movs r2, 0
- movs r1, 0x3C
- strh r1, [r3]
- str r7, [r3, 0x4]
- ldrh r1, [r7, 0x26]
- str r1, [r3, 0x8]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 8
- negs r1, r1
- str r1, [r3, 0xC]
- str r2, [r3, 0x10]
- mov r2, r9
- cmp r2, 0
- bge _0803EDC8
- ldr r0, _0803EDB8
- cmp r5, r0
- bge _0803EDBC
- movs r0, 0x6
- b _0803EDCA
- .align 2, 0
-_0803EDAC: .4byte gUnknown_203B418
-_0803EDB0: .4byte 0x0001820a
-_0803EDB4: .4byte gUnknown_202EDE8
-_0803EDB8: .4byte 0xfffffc19
-_0803EDBC:
- cmp r5, 0
- blt _0803EDC4
- movs r0, 0xA
- b _0803EDCA
-_0803EDC4:
- movs r0, 0x3
- b _0803EDCA
-_0803EDC8:
- mov r0, r9
-_0803EDCA:
- strh r0, [r3, 0x2]
- ldr r0, _0803EDE8
- ldr r1, _0803EDEC
- ldr r1, [r1]
- adds r1, 0x18
- movs r2, 0x80
- bl sub_80098BC
-_0803EDDA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803EDE8: .4byte 0x060142c0
-_0803EDEC: .4byte gUnknown_203B418
- thumb_func_end sub_803ED30
-
- thumb_func_start sub_803EDF0
-sub_803EDF0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r6, _0803EE18
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0803EE06
- b _0803EF42
-_0803EE06:
- ldr r0, [r6, 0x4]
- bl sub_80450E0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0803EE1C
- strh r0, [r6]
- b _0803EF42
- .align 2, 0
-_0803EE18: .4byte gUnknown_202EDE8
-_0803EE1C:
- ldr r1, [r6, 0x4]
- ldr r0, [r6, 0x8]
- ldrh r2, [r1, 0x26]
- cmp r0, r2
- beq _0803EE2C
- movs r0, 0
- strh r0, [r6]
- b _0803EF42
-_0803EE2C:
- ldrh r0, [r6]
- subs r0, 0x1
- strh r0, [r6]
- ldr r4, [r6, 0x10]
- adds r3, r4, 0
- subs r3, 0x2E
- str r3, [r6, 0x10]
- ldr r2, [r1, 0x70]
- movs r5, 0xB8
- lsls r5, 1
- adds r0, r2, r5
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldr r1, [r6, 0xC]
- cmp r1, 0
- bge _0803EE4E
- adds r1, 0xFF
-_0803EE4E:
- asrs r1, 8
- adds r1, r0, r1
- ldr r0, _0803EF50
- ldr r0, [r0]
- mov r12, r0
- ldr r0, _0803EF54
- add r0, r12
- movs r5, 0
- ldrsh r0, [r0, r5]
- subs r7, r1, r0
- movs r1, 0xB9
- lsls r1, 1
- adds r0, r2, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r1, r3, 0
- cmp r1, 0
- bge _0803EE76
- adds r1, r4, 0
- adds r1, 0xD1
-_0803EE76:
- asrs r1, 8
- adds r1, r0, r1
- ldr r0, _0803EF58
- add r0, r12
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r0, 0x18
- subs r2, r1, r0
- movs r0, 0x20
- negs r0, r0
- cmp r7, r0
- blt _0803EF42
- adds r0, 0x18
- cmp r2, r0
- blt _0803EF42
- cmp r7, 0xEF
- bgt _0803EF42
- cmp r2, 0x9F
- bgt _0803EF42
- ldr r1, _0803EF5C
- ands r1, r2
- lsls r1, 4
- ldr r0, _0803EF60
- ldrh r2, [r0, 0x6]
- movs r4, 0xF
- mov r8, r4
- mov r3, r8
- ands r3, r2
- orrs r3, r1
- strh r3, [r0, 0x6]
- ldrh r2, [r0]
- ldr r1, _0803EF64
- ands r1, r2
- ldr r2, _0803EF68
- ands r1, r2
- movs r5, 0x3
- mov r9, r5
- ldr r2, _0803EF6C
- mov r10, r2
- ands r1, r2
- ldr r2, _0803EF70
- ands r1, r2
- ldr r2, _0803EF74
- ands r1, r2
- movs r5, 0x80
- lsls r5, 7
- ldr r4, _0803EF78
- ands r1, r4
- orrs r1, r5
- strh r1, [r0]
- ldr r1, _0803EF7C
- ands r7, r1
- ldrh r2, [r0, 0x2]
- movs r1, 0xFE
- lsls r1, 8
- ands r1, r2
- orrs r1, r7
- ldr r2, _0803EF80
- ands r1, r2
- ands r1, r4
- orrs r1, r5
- strh r1, [r0, 0x2]
- ldr r4, _0803EF84
- ldrh r2, [r0, 0x4]
- movs r1, 0xFC
- lsls r1, 8
- ands r1, r2
- orrs r1, r4
- movs r2, 0
- orrs r1, r2
- strh r1, [r0, 0x4]
- ldr r2, _0803EF88
- add r2, r12
- ldrb r2, [r2]
- mov r4, r9
- ands r2, r4
- lsls r2, 10
- mov r5, r10
- ands r1, r5
- orrs r1, r2
- movs r4, 0x2
- ldrsh r2, [r6, r4]
- mov r5, r8
- ands r2, r5
- lsls r2, 12
- ldr r4, _0803EF5C
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x4]
- ldr r1, _0803EF8C
- ands r3, r1
- subs r1, 0x1
- ands r3, r1
- subs r1, 0x2
- ands r3, r1
- strh r3, [r0, 0x6]
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_0803EF42:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803EF50: .4byte gUnknown_203B418
-_0803EF54: .4byte 0x000181f0
-_0803EF58: .4byte 0x000181f2
-_0803EF5C: .4byte 0x00000fff
-_0803EF60: .4byte gUnknown_202EDDC
-_0803EF64: .4byte 0x0000feff
-_0803EF68: .4byte 0x0000fdff
-_0803EF6C: .4byte 0x0000f3ff
-_0803EF70: .4byte 0x0000efff
-_0803EF74: .4byte 0x0000dfff
-_0803EF78: .4byte 0x00003fff
-_0803EF7C: .4byte 0x000001ff
-_0803EF80: .4byte 0x0000c1ff
-_0803EF84: .4byte 0x00000216
-_0803EF88: .4byte 0x00018208
-_0803EF8C: .4byte 0x0000fffe
- thumb_func_end sub_803EDF0
-
- thumb_func_start sub_803EF90
-sub_803EF90:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- str r0, [sp, 0x48]
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _0803F060
- ldr r0, [r0]
- adds r0, 0x18
- mov r8, r0
- ldr r0, _0803F064
- ldr r1, [r0]
- ldr r0, [r1, 0x4]
- movs r2, 0x92
- lsls r2, 1
- adds r0, r2
- str r0, [sp, 0x24]
- ldr r0, [r1, 0x4]
- movs r3, 0x82
- lsls r3, 1
- adds r0, r3
- str r0, [sp, 0x28]
- ldr r0, [r1, 0x4]
- adds r0, 0xE4
- str r0, [sp, 0x2C]
- ldr r0, [r1, 0x4]
- adds r0, 0xC4
- str r0, [sp, 0x30]
- ldr r0, [r1, 0x4]
- adds r0, 0xA4
- str r0, [sp, 0x34]
- ldr r0, [r1, 0x4]
- adds r0, 0x84
- str r0, [sp, 0x38]
- ldr r0, [r1, 0x4]
- adds r0, 0x64
- str r0, [sp, 0x3C]
- ldr r0, [r1, 0x4]
- adds r0, 0x44
- str r0, [sp, 0x40]
- ldr r0, [r1, 0x4]
- adds r0, 0x24
- str r0, [sp, 0x44]
- add r4, sp, 0x24
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x24
- bl memcpy
- movs r1, 0
- movs r6, 0x3
- mov r0, r8
-_0803EFFE:
- stm r0!, {r1}
- stm r0!, {r1}
- stm r0!, {r1}
- stm r0!, {r1}
- stm r0!, {r1}
- stm r0!, {r1}
- stm r0!, {r1}
- stm r0!, {r1}
- subs r6, 0x1
- cmp r6, 0
- bge _0803EFFE
- ldr r0, _0803F068
- ldr r1, [sp, 0x48]
- cmp r1, r0
- bne _0803F0A6
- adds r0, r4, 0
- ldr r1, _0803F06C
- ldm r1!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- ldr r1, [r1]
- str r1, [r0]
- movs r5, 0
- movs r2, 0
- mov r12, r4
- movs r0, 0x20
- mov r10, r0
-_0803F032:
- mov r3, r8
- ldr r0, _0803F064
- ldr r1, [r0]
- lsls r0, r2, 2
- add r0, r12
- ldr r0, [r0]
- lsls r0, 5
- adds r0, 0x4
- ldr r1, [r1, 0x4]
- adds r4, r1, r0
- movs r1, 0x18
- adds r1, r5
- mov r9, r1
- adds r2, 0x1
- str r2, [sp, 0x54]
- mov r2, r10
- subs r7, r2, r5
- movs r6, 0x7
-_0803F056:
- cmp r5, 0
- bne _0803F070
- movs r1, 0
- ldr r2, [r4]
- b _0803F07A
- .align 2, 0
-_0803F060: .4byte gUnknown_203B418
-_0803F064: .4byte gUnknown_202EC9C
-_0803F068: .4byte 0x0000270f
-_0803F06C: .4byte gUnknown_80F6478
-_0803F070:
- ldr r0, [r4]
- adds r1, r0, 0
- lsrs r1, r7
- adds r2, r0, 0
- lsls r2, r5
-_0803F07A:
- adds r4, 0x4
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- ldr r0, [r3, 0x20]
- orrs r0, r1
- str r0, [r3, 0x20]
- adds r3, 0x4
- subs r6, 0x1
- cmp r6, 0
- bge _0803F056
- mov r5, r9
- cmp r5, 0x1F
- ble _0803F09C
- subs r5, 0x20
- movs r3, 0x20
- add r8, r3
-_0803F09C:
- ldr r2, [sp, 0x54]
- cmp r2, 0x3
- ble _0803F032
- movs r0, 0x4
- b _0803F26A
-_0803F0A6:
- ldr r0, _0803F0D8
- ldr r1, [sp, 0x48]
- cmp r1, r0
- ble _0803F0B0
- str r0, [sp, 0x48]
-_0803F0B0:
- ldr r0, _0803F0DC
- ldr r2, [sp, 0x48]
- cmp r2, r0
- bge _0803F0BA
- str r0, [sp, 0x48]
-_0803F0BA:
- ldr r1, _0803F0E0
- ldr r0, [r1]
- ldr r0, [r0, 0x4]
- movs r3, 0xC2
- lsls r3, 1
- adds r2, r0, r3
- cmp r5, 0
- beq _0803F0F4
- ldr r5, [sp, 0x48]
- cmp r5, 0
- ble _0803F0E4
- movs r1, 0xA2
- lsls r1, 1
- adds r2, r0, r1
- b _0803F0F4
- .align 2, 0
-_0803F0D8: .4byte 0x000003e7
-_0803F0DC: .4byte 0xfffffc19
-_0803F0E0: .4byte gUnknown_202EC9C
-_0803F0E4:
- ldr r3, [sp, 0x48]
- cmp r3, 0
- bge _0803F0F4
- movs r5, 0xB2
- lsls r5, 1
- adds r2, r0, r5
- negs r3, r3
- str r3, [sp, 0x48]
-_0803F0F4:
- ldm r2!, {r0}
- mov r1, r8
- str r0, [r1]
- ldm r2!, {r0}
- str r0, [r1, 0x4]
- ldm r2!, {r0}
- str r0, [r1, 0x8]
- ldm r2!, {r0}
- str r0, [r1, 0xC]
- ldm r2!, {r0}
- str r0, [r1, 0x10]
- ldm r2!, {r0}
- str r0, [r1, 0x14]
- ldm r2!, {r0}
- str r0, [r1, 0x18]
- ldr r0, [r2]
- str r0, [r1, 0x1C]
- movs r5, 0x18
- movs r2, 0x1
- str r2, [sp, 0x4C]
- movs r3, 0
- str r3, [sp, 0x50]
- movs r2, 0
-_0803F122:
- movs r0, 0
- mov r10, r0
- adds r1, r2, 0x1
- str r1, [sp, 0x54]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- mov r1, sp
- ldr r2, _0803F15C
- adds r7, r0, r2
-_0803F136:
- ldr r0, [r7]
- ldr r3, [sp, 0x48]
- cmp r0, r3
- bgt _0803F1A2
- ldr r4, [r1]
- mov r2, r8
- movs r0, 0x18
- adds r0, r5
- mov r9, r0
- movs r1, 0x20
- subs r1, r5
- mov r12, r1
- movs r6, 0x7
-_0803F150:
- cmp r5, 0
- bne _0803F160
- movs r3, 0
- ldr r1, [r4]
- b _0803F16C
- .align 2, 0
-_0803F15C: .4byte gUnknown_80F6430
-_0803F160:
- ldr r0, [r4]
- adds r3, r0, 0
- mov r1, r12
- lsrs r3, r1
- adds r1, r0, 0
- lsls r1, r5
-_0803F16C:
- adds r4, 0x4
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r0, [r2, 0x20]
- orrs r0, r3
- str r0, [r2, 0x20]
- adds r2, 0x4
- movs r3, 0x1
- str r3, [sp, 0x50]
- subs r6, 0x1
- cmp r6, 0
- bge _0803F150
- mov r5, r9
- cmp r5, 0x1F
- ble _0803F192
- subs r5, 0x20
- movs r0, 0x20
- add r8, r0
-_0803F192:
- ldr r0, [r7]
- ldr r1, [sp, 0x48]
- subs r1, r0
- str r1, [sp, 0x48]
- ldr r2, [sp, 0x4C]
- adds r2, 0x1
- str r2, [sp, 0x4C]
- b _0803F1B0
-_0803F1A2:
- adds r1, 0x4
- adds r7, 0x4
- movs r3, 0x1
- add r10, r3
- mov r0, r10
- cmp r0, 0x8
- ble _0803F136
-_0803F1B0:
- mov r1, r10
- cmp r1, 0x9
- bne _0803F212
- ldr r2, [sp, 0x50]
- cmp r2, 0
- beq _0803F212
- ldr r3, _0803F1DC
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r4, r0, 0x4
- mov r2, r8
- movs r0, 0x18
- adds r0, r5
- mov r9, r0
- movs r1, 0x20
- subs r7, r1, r5
- movs r6, 0x7
-_0803F1D2:
- cmp r5, 0
- bne _0803F1E0
- movs r3, 0
- ldr r1, [r4]
- b _0803F1EA
- .align 2, 0
-_0803F1DC: .4byte gUnknown_202EC9C
-_0803F1E0:
- ldr r0, [r4]
- adds r3, r0, 0
- lsrs r3, r7
- adds r1, r0, 0
- lsls r1, r5
-_0803F1EA:
- adds r4, 0x4
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r0, [r2, 0x20]
- orrs r0, r3
- str r0, [r2, 0x20]
- adds r2, 0x4
- subs r6, 0x1
- cmp r6, 0
- bge _0803F1D2
- mov r5, r9
- cmp r5, 0x1F
- ble _0803F20C
- subs r5, 0x20
- movs r2, 0x20
- add r8, r2
-_0803F20C:
- ldr r3, [sp, 0x4C]
- adds r3, 0x1
- str r3, [sp, 0x4C]
-_0803F212:
- ldr r2, [sp, 0x54]
- cmp r2, 0x1
- ble _0803F122
- ldr r0, _0803F240
- ldr r1, [r0]
- ldr r2, [sp, 0x48]
- lsls r0, r2, 5
- adds r0, 0x4
- ldr r1, [r1, 0x4]
- adds r1, r0
- mov r3, r8
- ldr r0, [sp, 0x4C]
- adds r0, 0x1
- mov r8, r0
- movs r0, 0x20
- subs r7, r0, r5
- movs r6, 0x7
-_0803F234:
- cmp r5, 0
- bne _0803F244
- movs r4, 0
- ldr r2, [r1]
- b _0803F24E
- .align 2, 0
-_0803F240: .4byte gUnknown_202EC9C
-_0803F244:
- ldr r0, [r1]
- adds r4, r0, 0
- lsrs r4, r7
- adds r2, r0, 0
- lsls r2, r5
-_0803F24E:
- adds r1, 0x4
- ldr r0, [r3]
- orrs r0, r2
- str r0, [r3]
- ldr r0, [r3, 0x20]
- orrs r0, r4
- str r0, [r3, 0x20]
- adds r3, 0x4
- subs r6, 0x1
- cmp r6, 0
- bge _0803F234
- mov r1, r8
- str r1, [sp, 0x4C]
- adds r0, r1, 0
-_0803F26A:
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_803EF90
-
- thumb_func_start sub_803F27C
-sub_803F27C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- ldr r0, _0803F360
- mov r8, r0
- ldr r4, [r0]
- ldr r2, _0803F364
- adds r1, r4, r2
- movs r2, 0
- movs r3, 0
- strh r3, [r1, 0x8]
- strh r3, [r1, 0xA]
- strh r3, [r1]
- strh r3, [r1, 0x2]
- strh r3, [r1, 0xC]
- strh r3, [r1, 0xE]
- strh r3, [r1, 0x4]
- strh r3, [r1, 0x6]
- str r3, [r1, 0x14]
- ldr r5, _0803F368
- adds r0, r4, r5
- strb r2, [r0]
- ldr r6, _0803F36C
- adds r0, r4, r6
- movs r5, 0x1
- strb r5, [r0]
- adds r6, 0x1
- adds r0, r4, r6
- strb r5, [r0]
- adds r6, 0x1
- adds r0, r4, r6
- strb r2, [r0]
- str r3, [r1, 0x18]
- str r3, [r1, 0x1C]
- cmp r7, 0
- bne _0803F2FA
- subs r6, 0xF
- adds r0, r4, r6
- strb r2, [r0]
- adds r6, 0x6
- adds r0, r4, r6
- strb r2, [r0]
- subs r6, 0x1
- adds r0, r4, r6
- strb r2, [r0]
- subs r6, 0x2
- adds r0, r4, r6
- strb r2, [r0]
- adds r6, 0x4
- adds r0, r4, r6
- strb r2, [r0]
- subs r6, 0x3
- adds r0, r4, r6
- strb r2, [r0]
- subs r6, 0x3
- adds r0, r4, r6
- strb r2, [r0]
- adds r6, 0x1
- adds r0, r4, r6
- strb r2, [r0]
-_0803F2FA:
- str r3, [r1, 0x10]
- ldr r1, _0803F370
- adds r0, r4, r1
- movs r6, 0x3
- strb r6, [r0]
- adds r1, 0x12
- adds r0, r4, r1
- strb r2, [r0]
- subs r1, 0x8
- adds r0, r4, r1
- strb r2, [r0]
- adds r1, 0x9
- adds r0, r4, r1
- strb r2, [r0]
- adds r1, 0x1
- adds r0, r4, r1
- strb r2, [r0]
- subs r1, 0x8
- adds r0, r4, r1
- strb r2, [r0]
- ldr r2, _0803F374
- adds r0, r4, r2
- strb r5, [r0]
- bl sub_803F38C
- ldr r1, _0803F378
- ldr r0, _0803F37C
- str r0, [r1]
- cmp r7, 0
- bne _0803F354
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _0803F380
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- ldr r6, _0803F384
- adds r1, r4, r6
- strb r0, [r1]
- cmp r0, 0
- bne _0803F354
- ldr r1, _0803F388
- adds r0, r4, r1
- strb r5, [r0]
-_0803F354:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803F360: .4byte gUnknown_203B418
-_0803F364: .4byte 0x000181e8
-_0803F368: .4byte 0x00018216
-_0803F36C: .4byte 0x00018217
-_0803F370: .4byte 0x00018208
-_0803F374: .4byte 0x00018215
-_0803F378: .4byte gUnknown_202EDFC
-_0803F37C: .4byte 0x0000ffff
-_0803F380: .4byte 0x0001c58a
-_0803F384: .4byte 0x00018209
-_0803F388: .4byte 0x0001820c
- thumb_func_end sub_803F27C
-
- thumb_func_start sub_803F38C
-sub_803F38C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _0803F410
- ldr r1, [r0]
- ldr r0, _0803F414
- adds r2, r1, r0
- ldr r0, _0803F418
- strh r0, [r2, 0x3A]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r2, 0x3C]
- strh r0, [r2, 0x3E]
- ldr r0, _0803F41C
- adds r1, r0
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- strh r0, [r2, 0x36]
- strh r0, [r2, 0x38]
- ldr r0, _0803F420
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- negs r4, r0
- orrs r4, r0
- asrs r4, 31
- movs r0, 0x80
- lsls r0, 1
- ands r4, r0
- ldr r5, _0803F424
- adds r0, r4, r5
- mov r8, r0
- movs r0, 0xFD
- mov r1, r8
- bl SetBGPaletteBufferColorArray
- adds r6, r5, 0x4
- adds r6, r4, r6
- movs r0, 0xFE
- adds r1, r6, 0
- bl SetBGPaletteBufferColorArray
- adds r5, 0x8
- adds r4, r5
- movs r0, 0xFF
- adds r1, r4, 0
- bl SetBGPaletteBufferColorArray
- movs r0, 0xFD
- mov r1, r8
- bl nullsub_5
- movs r0, 0xFE
- adds r1, r6, 0
- bl nullsub_5
- movs r0, 0xFF
- adds r1, r4, 0
- bl nullsub_5
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803F410: .4byte gUnknown_203B418
-_0803F414: .4byte 0x000181e8
-_0803F418: .4byte 0x0000ffff
-_0803F41C: .4byte 0x00018228
-_0803F420: .4byte gUnknown_203B46C
-_0803F424: .4byte gUnknown_202D06C
- thumb_func_end sub_803F38C
-
- thumb_func_start sub_803F428
-sub_803F428:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _0803F484
- ldr r3, [r0]
- ldr r0, _0803F488
- adds r2, r3, r0
- ldr r5, [r2, 0x10]
- movs r6, 0
- ldrsh r1, [r2, r6]
- movs r6, 0
- ldrsh r0, [r4, r6]
- subs r1, r0
- cmp r1, 0
- bge _0803F446
- negs r1, r1
-_0803F446:
- cmp r1, 0x6
- bgt _0803F498
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r6, 0x2
- ldrsh r0, [r4, r6]
- subs r1, r0
- cmp r1, 0
- bge _0803F45A
- negs r1, r1
-_0803F45A:
- cmp r1, 0x5
- bgt _0803F498
- ldr r1, _0803F48C
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803F494
- ldr r6, _0803F490
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803F494
- cmp r5, 0
- beq _0803F494
- adds r0, r2, 0
- adds r1, r4, 0
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
- b _0803F49A
- .align 2, 0
-_0803F484: .4byte gUnknown_203B418
-_0803F488: .4byte 0x000181e8
-_0803F48C: .4byte 0x0001820b
-_0803F490: .4byte 0x0001820c
-_0803F494:
- movs r0, 0x1
- b _0803F49A
-_0803F498:
- movs r0, 0
-_0803F49A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_803F428
-
- thumb_func_start sub_803F4A0
-sub_803F4A0:
- push {lr}
- adds r2, r0, 0
- ldr r0, _0803F4B8
- ldr r1, [r0]
- ldr r3, _0803F4BC
- adds r0, r1, r3
- str r2, [r0, 0x10]
- cmp r2, 0
- bne _0803F4C0
- adds r3, 0x2E
- b _0803F4CA
- .align 2, 0
-_0803F4B8: .4byte gUnknown_203B418
-_0803F4BC: .4byte 0x000181e8
-_0803F4C0:
- ldr r0, [r2, 0x70]
- ldrb r2, [r0, 0x7]
- cmp r2, 0
- bne _0803F4D4
- ldr r3, _0803F4D0
-_0803F4CA:
- adds r0, r1, r3
- strb r2, [r0]
- b _0803F4DC
- .align 2, 0
-_0803F4D0: .4byte 0x00018216
-_0803F4D4:
- ldr r0, _0803F4FC
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
-_0803F4DC:
- movs r0, 0
- bl sub_803F580
- bl sub_803F38C
- ldr r0, _0803F500
- ldr r0, [r0]
- ldr r1, _0803F504
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803F4F8
- bl sub_806CD90
-_0803F4F8:
- pop {r0}
- bx r0
- .align 2, 0
-_0803F4FC: .4byte 0x00018216
-_0803F500: .4byte gUnknown_203B418
-_0803F504: .4byte 0x0001356c
- thumb_func_end sub_803F4A0
-
- thumb_func_start sub_803F508
-sub_803F508:
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _0803F520
- ldr r1, [r0]
- ldr r0, _0803F524
- adds r4, r1, r0
- cmp r3, 0
- bne _0803F52C
- ldr r2, _0803F528
- adds r0, r1, r2
- strb r3, [r0]
- b _0803F548
- .align 2, 0
-_0803F520: .4byte gUnknown_203B418
-_0803F524: .4byte 0x000181e8
-_0803F528: .4byte 0x00018216
-_0803F52C:
- ldr r0, [r3, 0x70]
- ldrb r2, [r0, 0x7]
- cmp r2, 0
- bne _0803F540
- ldr r5, _0803F53C
- adds r0, r1, r5
- strb r2, [r0]
- b _0803F548
- .align 2, 0
-_0803F53C: .4byte 0x00018216
-_0803F540:
- ldr r0, _0803F574
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
-_0803F548:
- str r3, [r4, 0x10]
- movs r0, 0
- bl sub_803F580
- bl sub_803F38C
- ldr r0, _0803F578
- ldr r0, [r0]
- ldr r1, _0803F57C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803F566
- bl sub_806CD90
-_0803F566:
- bl sub_8049ED4
- bl sub_8040A84
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803F574: .4byte 0x00018216
-_0803F578: .4byte gUnknown_203B418
-_0803F57C: .4byte 0x0001356c
- thumb_func_end sub_803F508
-
- thumb_func_start sub_803F580
-sub_803F580:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _0803F600
- ldr r4, [r0]
- ldr r0, _0803F604
- adds r5, r4, r0
- ldr r6, [r5, 0x10]
- cmp r6, 0
- bne _0803F59E
- b _0803F7A0
-_0803F59E:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0803F5AC
- b _0803F7A0
-_0803F5AC:
- ldr r7, [r6, 0x70]
- ldr r0, [r5, 0x8]
- str r0, [r5, 0xC]
- ldr r0, [r5]
- str r0, [r5, 0x4]
- ldrh r0, [r6, 0x4]
- strh r0, [r5]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x2]
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _0803F5C6
- adds r0, 0xFF
-_0803F5C6:
- asrs r0, 8
- subs r0, 0x78
- strh r0, [r5, 0x8]
- ldr r0, [r6, 0x10]
- cmp r0, 0
- bge _0803F5D4
- adds r0, 0xFF
-_0803F5D4:
- asrs r0, 8
- subs r0, 0x60
- strh r0, [r5, 0xA]
- adds r0, r6, 0
- movs r1, 0x11
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0803F610
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- beq _0803F610
- ldr r1, _0803F608
- adds r0, r4, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _0803F60C
- adds r0, r4, r2
- strb r1, [r0]
- b _0803F626
- .align 2, 0
-_0803F600: .4byte gUnknown_203B418
-_0803F604: .4byte 0x000181e8
-_0803F608: .4byte 0x0001820d
-_0803F60C: .4byte 0x0001820e
-_0803F610:
- adds r0, r7, 0
- adds r0, 0xF0
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r1, 0x25
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- adds r1, 0x1
- strb r0, [r1]
-_0803F626:
- adds r0, r7, 0
- adds r0, 0xF2
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r1, 0x29
- strb r0, [r1]
- subs r1, 0x7
- ldrb r0, [r1]
- mov r8, r0
- adds r0, r5, 0
- adds r0, 0x2C
- ldrb r2, [r0]
- adds r4, r1, 0
- cmp r2, 0
- bne _0803F670
- adds r0, r7, 0
- adds r0, 0xE8
- ldrb r1, [r0]
- adds r7, r0, 0
- cmp r1, 0x1
- bne _0803F656
- strb r1, [r4]
- movs r1, 0xE
- b _0803F65A
-_0803F656:
- strb r2, [r4]
- movs r1, 0
-_0803F65A:
- ldr r2, _0803F66C
- ldr r0, [r2]
- cmp r0, r1
- beq _0803F678
- str r1, [r2]
- adds r0, r1, 0
- bl SetBGOBJEnableFlags
- b _0803F678
- .align 2, 0
-_0803F66C: .4byte gUnknown_202EDFC
-_0803F670:
- ldr r1, _0803F698
- ldr r0, _0803F69C
- str r0, [r1]
- adds r7, 0xE8
-_0803F678:
- ldrb r4, [r4]
- cmp r8, r4
- beq _0803F684
- movs r0, 0
- bl sub_8041888
-_0803F684:
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r1, [r0]
- mov r8, r1
- ldrb r1, [r7]
- adds r2, r0, 0
- cmp r1, 0x2
- bne _0803F6A0
- movs r0, 0x1
- b _0803F6A2
- .align 2, 0
-_0803F698: .4byte gUnknown_202EDFC
-_0803F69C: .4byte 0x0000ffff
-_0803F6A0:
- movs r0, 0
-_0803F6A2:
- strb r0, [r2]
- ldrb r2, [r2]
- cmp r8, r2
- beq _0803F6B4
- bl sub_806CC70
- movs r0, 0
- bl sub_8041888
-_0803F6B4:
- adds r4, r5, 0
- adds r4, 0x27
- ldrb r2, [r4]
- mov r8, r2
- adds r0, r6, 0
- bl sub_8071884
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0803F6CC
- movs r0, 0x1
-_0803F6CC:
- strb r0, [r4]
- ldrb r4, [r4]
- cmp r8, r4
- beq _0803F6E2
- bl sub_8049ED4
- bl sub_8040A84
- movs r0, 0
- bl sub_8041888
-_0803F6E2:
- mov r0, r9
- cmp r0, 0
- beq _0803F76A
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0
- bne _0803F76A
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0803F704
- negs r1, r1
-_0803F704:
- cmp r1, 0x7
- bgt _0803F71C
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0803F718
- negs r1, r1
-_0803F718:
- cmp r1, 0x7
- ble _0803F726
-_0803F71C:
- bl sub_8049ED4
- movs r0, 0x1
- strb r0, [r4]
- b _0803F76A
-_0803F726:
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bge _0803F73C
- movs r0, 0xF0
- movs r1, 0
- bl sub_804A1F0
- b _0803F748
-_0803F73C:
- cmp r1, r0
- ble _0803F748
- movs r0, 0
- movs r1, 0
- bl sub_804A1F0
-_0803F748:
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bge _0803F75E
- movs r0, 0
- movs r1, 0xA0
- bl sub_804A49C
- b _0803F76A
-_0803F75E:
- cmp r1, r0
- ble _0803F76A
- movs r0, 0
- movs r1, 0
- bl sub_804A49C
-_0803F76A:
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- cmp r1, r0
- beq _0803F7A0
- movs r5, 0
-_0803F774:
- ldr r0, _0803F7B4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0803F7B8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0803F79A
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_80402AC
-_0803F79A:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0803F774
-_0803F7A0:
- bl sub_80400D4
- bl sub_803F7BC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803F7B4: .4byte gUnknown_203B418
-_0803F7B8: .4byte 0x000135cc
- thumb_func_end sub_803F580
-
- thumb_func_start sub_803F7BC
-sub_803F7BC:
- push {r4-r6,lr}
- sub sp, 0x10
- ldr r6, _0803F800
- ldr r4, [r6]
- ldr r0, _0803F804
- adds r5, r4, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- ldr r2, _0803F808
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803F7F4
- adds r2, 0x1
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803F7F4
- adds r2, 0xB
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803F80C
-_0803F7F4:
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- b _0803F86A
- .align 2, 0
-_0803F800: .4byte gUnknown_203B418
-_0803F804: .4byte 0x000181e8
-_0803F808: .4byte 0x0001820b
-_0803F80C:
- cmp r1, 0xFF
- bne _0803F82C
- ldr r1, _0803F828
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, 0x2
- cmp r0, 0x2
- bne _0803F81E
- movs r1, 0x1
-_0803F81E:
- movs r0, 0
- bl sub_8005838
- b _0803F86A
- .align 2, 0
-_0803F828: .4byte 0x00018209
-_0803F82C:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r2, _0803F874
- adds r0, r2
- ldr r2, [r6]
- adds r2, r0
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- ldr r0, [r2, 0xC]
- subs r0, r1
- str r0, [sp]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- ldr r0, [r2, 0x10]
- subs r0, r1
- str r0, [sp, 0x4]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- ldr r0, [r2, 0x14]
- subs r0, r1
- str r0, [sp, 0x8]
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- ldr r0, [r2, 0x18]
- subs r0, r1
- str r0, [sp, 0xC]
- mov r0, sp
- movs r1, 0x3
- bl sub_8005838
-_0803F86A:
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0803F874: .4byte 0x000104c4
- thumb_func_end sub_803F7BC
-
- thumb_func_start sub_803F878
-sub_803F878:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r2, r0, 0
- adds r6, r1, 0
- ldr r0, _0803F92C
- ldr r7, [r0]
- ldr r0, _0803F930
- adds r5, r7, r0
- ldr r0, [r5, 0x8]
- str r0, [r5, 0xC]
- ldr r0, [r5]
- str r0, [r5, 0x4]
- adds r0, r2, 0
- cmp r2, 0
- bge _0803F89A
- adds r0, 0xFF
-_0803F89A:
- asrs r0, 8
- subs r0, 0x78
- movs r1, 0
- mov r8, r1
- strh r0, [r5, 0x8]
- adds r0, r6, 0
- cmp r6, 0
- bge _0803F8AC
- adds r0, 0xFF
-_0803F8AC:
- asrs r0, 8
- subs r0, 0x60
- strh r0, [r5, 0xA]
- movs r4, 0xC0
- lsls r4, 5
- adds r0, r2, 0
- adds r1, r4, 0
- bl __divsi3
- strh r0, [r5]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- strh r0, [r5, 0x2]
- ldr r2, _0803F934
- adds r0, r7, r2
- mov r1, r8
- strb r1, [r0]
- adds r2, 0x1
- adds r0, r7, r2
- strb r1, [r0]
- ldr r1, _0803F938
- adds r0, r7, r1
- mov r2, r8
- strb r2, [r0]
- adds r1, 0x5
- adds r0, r7, r1
- strb r2, [r0]
- ldr r1, _0803F93C
- ldr r0, [r1]
- cmp r0, 0
- beq _0803F8F6
- movs r0, 0
- str r0, [r1]
- bl SetBGOBJEnableFlags
-_0803F8F6:
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0803F906
- negs r1, r1
-_0803F906:
- cmp r1, 0x7
- bgt _0803F91E
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0803F91A
- negs r1, r1
-_0803F91A:
- cmp r1, 0x7
- ble _0803F940
-_0803F91E:
- bl sub_8049ED4
- adds r1, r5, 0
- adds r1, 0x2B
- movs r0, 0x1
- strb r0, [r1]
- b _0803F984
- .align 2, 0
-_0803F92C: .4byte gUnknown_203B418
-_0803F930: .4byte 0x000181e8
-_0803F934: .4byte 0x0001820d
-_0803F938: .4byte 0x00018211
-_0803F93C: .4byte gUnknown_202EDFC
-_0803F940:
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bge _0803F956
- movs r0, 0xF0
- movs r1, 0
- bl sub_804A1F0
- b _0803F962
-_0803F956:
- cmp r1, r0
- ble _0803F962
- movs r0, 0
- movs r1, 0
- bl sub_804A1F0
-_0803F962:
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bge _0803F978
- movs r0, 0
- movs r1, 0xA0
- bl sub_804A49C
- b _0803F984
-_0803F978:
- cmp r1, r0
- ble _0803F984
- movs r0, 0
- movs r1, 0
- bl sub_804A49C
-_0803F984:
- bl sub_803F7BC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_803F878
-
- thumb_func_start sub_803F994
-sub_803F994:
- ldr r0, _0803F9A8
- ldr r0, [r0]
- ldr r1, _0803F9AC
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- adds r0, 0x78
- lsls r0, 8
- bx lr
- .align 2, 0
-_0803F9A8: .4byte gUnknown_203B418
-_0803F9AC: .4byte 0x000181e8
- thumb_func_end sub_803F994
-
- thumb_func_start sub_803F9B0
-sub_803F9B0:
- ldr r0, _0803F9C4
- ldr r0, [r0]
- ldr r1, _0803F9C8
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- adds r0, 0x60
- lsls r0, 8
- bx lr
- .align 2, 0
-_0803F9C4: .4byte gUnknown_203B418
-_0803F9C8: .4byte 0x000181e8
- thumb_func_end sub_803F9B0
-
- thumb_func_start sub_803F9CC
-sub_803F9CC:
- push {r4,r5,lr}
- ldr r0, _0803FA24
- ldr r1, [r0]
- ldr r2, _0803FA28
- adds r0, r1, r2
- ldr r4, [r0]
- movs r5, 0
- ldr r2, _0803FA2C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803FA0C
- ldr r2, _0803FA30
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0803FA0C
- bl sub_800EC74
- lsls r0, 24
- cmp r0, 0
- bne _0803FA0C
- cmp r4, 0
- beq _0803FA08
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0803FA08
- movs r5, 0x1
-_0803FA08:
- cmp r5, 0
- bne _0803FA38
-_0803FA0C:
- ldr r0, _0803FA34
- movs r2, 0
- adds r0, 0x2
- movs r1, 0x1C
-_0803FA14:
- strh r2, [r0]
- adds r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0803FA14
- bl sub_803F38C
- b _0803FA3C
- .align 2, 0
-_0803FA24: .4byte gUnknown_203B418
-_0803FA28: .4byte 0x000181f8
-_0803FA2C: .4byte 0x0001356c
-_0803FA30: .4byte 0x00018218
-_0803FA34: .4byte gUnknown_202B038
-_0803FA38:
- bl sub_803FB74
-_0803FA3C:
- ldr r1, _0803FA48
- movs r0, 0x1
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0803FA48: .4byte gUnknown_20274A5
- thumb_func_end sub_803F9CC
-
- thumb_func_start sub_803FA4C
-sub_803FA4C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r4, r0, 0
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- ldr r0, _0803FB4C
- ldr r3, [r0]
- ldr r0, _0803FB50
- adds r0, r3, r0
- str r0, [sp, 0x24]
- ldr r7, _0803FB54
- mov r1, sp
- ldr r0, _0803FB58
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, _0803FB5C
- mov r10, r0
- ldr r1, _0803FB60
- mov r9, r1
- ldr r2, [sp, 0x24]
- movs r5, 0x3E
- ldrsh r0, [r2, r5]
- cmp r4, r0
- bne _0803FA9C
- ldr r6, _0803FB64
- adds r0, r3, r6
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r8, r0
- beq _0803FB3A
-_0803FA9C:
- mov r2, r12
- cmp r2, 0
- bne _0803FAA6
- ldr r5, _0803FB68
- mov r9, r5
-_0803FAA6:
- ldr r6, [sp, 0x24]
- strh r4, [r6, 0x3E]
- ldr r1, _0803FB64
- adds r0, r3, r1
- mov r2, r8
- strh r2, [r0]
- mov r5, r8
- cmp r5, 0x5F
- ble _0803FAC8
- movs r5, 0x60
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 5
- mov r1, r8
- bl __divsi3
- adds r4, r0, 0
-_0803FAC8:
- movs r3, 0
- mov r8, r3
- movs r6, 0x58
- mov r12, r6
-_0803FAD0:
- ldr r6, _0803FB6C
- adds r2, r4, 0
- adds r0, r5, 0
- cmp r4, 0x7
- ble _0803FADC
- movs r2, 0x8
-_0803FADC:
- cmp r5, 0x7
- ble _0803FAE2
- movs r0, 0x8
-_0803FAE2:
- lsls r0, 2
- mov r3, sp
- adds r1, r3, r0
- lsls r0, r2, 2
- add r0, sp
- ldr r2, [r0]
- ldr r3, [r1]
- adds r1, r3, 0
- bics r1, r2
- mov r0, r10
- ands r1, r0
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- ands r6, r3
- mov r1, r8
- stm r7!, {r1}
- stm r7!, {r6}
- stm r7!, {r0}
- stm r7!, {r0}
- stm r7!, {r0}
- stm r7!, {r0}
- stm r7!, {r6}
- stm r7!, {r1}
- subs r4, 0x8
- subs r5, 0x8
- cmp r4, 0
- bge _0803FB1C
- movs r4, 0
-_0803FB1C:
- cmp r5, 0
- bge _0803FB22
- movs r5, 0
-_0803FB22:
- movs r2, 0x8
- negs r2, r2
- add r12, r2
- mov r3, r12
- cmp r3, 0
- bge _0803FAD0
- ldr r0, _0803FB70
- movs r2, 0xC0
- lsls r2, 1
- ldr r1, _0803FB54
- bl sub_80098BC
-_0803FB3A:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803FB4C: .4byte gUnknown_203B418
-_0803FB50: .4byte 0x000181e8
-_0803FB54: .4byte gUnknown_3001018
-_0803FB58: .4byte gUnknown_80F6490
-_0803FB5C: .4byte 0x22222222
-_0803FB60: .4byte 0x44444444
-_0803FB64: .4byte 0x00018228
-_0803FB68: .4byte 0x55555555
-_0803FB6C: .4byte 0x77777777
-_0803FB70: .4byte 0x06005980
- thumb_func_end sub_803FA4C
-
- thumb_func_start sub_803FB74
-sub_803FB74:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _0803FBE8
- ldr r0, [r0]
- ldr r1, _0803FBEC
- adds r7, r0, r1
- movs r4, 0
- movs r2, 0
- str r2, [sp]
- ldr r0, [r7, 0x10]
- ldr r0, [r0, 0x70]
- movs r1, 0xE
- ldrsh r3, [r0, r1]
- mov r9, r3
- movs r3, 0x10
- ldrsh r2, [r0, r3]
- mov r8, r2
- ldrb r1, [r0, 0x9]
- mov r10, r1
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- cmp r1, 0
- ble _0803FBBA
- mov r0, r8
- cmp r0, 0
- bge _0803FBB2
- adds r0, 0x3
-_0803FBB2:
- asrs r0, 2
- cmp r1, r0
- bgt _0803FBBA
- movs r4, 0x1
-_0803FBBA:
- ldr r0, [r7, 0x10]
- ldr r0, [r0, 0x70]
- movs r3, 0x9E
- lsls r3, 1
- adds r0, r3
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- bne _0803FBD2
- movs r0, 0x1
- str r0, [sp]
-_0803FBD2:
- cmp r4, 0
- beq _0803FBF4
- ldr r0, _0803FBF0
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0803FBF4
- movs r5, 0x20
- movs r6, 0x20
- b _0803FBF8
- .align 2, 0
-_0803FBE8: .4byte gUnknown_203B418
-_0803FBEC: .4byte 0x000181e8
-_0803FBF0: .4byte gUnknown_202EDCC
-_0803FBF4:
- movs r5, 0
- movs r6, 0
-_0803FBF8:
- ldr r1, [sp]
- cmp r1, 0
- beq _0803FC0E
- ldr r0, _0803FC20
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0803FC0E
- movs r5, 0x30
- movs r6, 0x30
-_0803FC0E:
- cmp r5, 0
- bne _0803FC30
- adds r0, r7, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _0803FC24
- movs r5, 0x60
- b _0803FC30
- .align 2, 0
-_0803FC20: .4byte gUnknown_202EDCC
-_0803FC24:
- ldr r0, _0803FCE4
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- beq _0803FC30
- movs r5, 0x40
-_0803FC30:
- cmp r6, 0
- bne _0803FC40
- ldr r0, _0803FCE4
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- beq _0803FC40
- movs r6, 0x40
-_0803FC40:
- movs r2, 0x36
- ldrsh r0, [r7, r2]
- cmp r0, r5
- beq _0803FC78
- strh r5, [r7, 0x36]
- lsls r5, 2
- ldr r4, _0803FCE8
- adds r1, r5, r4
- movs r0, 0xFC
- bl SetBGPaletteBufferColorArray
- adds r1, r4, 0x4
- adds r1, r5, r1
- movs r0, 0xFD
- bl SetBGPaletteBufferColorArray
- adds r1, r4, 0
- adds r1, 0x8
- adds r1, r5, r1
- movs r0, 0xFE
- bl SetBGPaletteBufferColorArray
- adds r4, 0xC
- adds r5, r4
- movs r0, 0xFF
- adds r1, r5, 0
- bl SetBGPaletteBufferColorArray
-_0803FC78:
- movs r3, 0x38
- ldrsh r0, [r7, r3]
- cmp r0, r6
- beq _0803FCB0
- strh r6, [r7, 0x38]
- lsls r5, r6, 2
- ldr r4, _0803FCE8
- adds r1, r5, r4
- movs r0, 0xFC
- bl nullsub_5
- adds r1, r4, 0x4
- adds r1, r5, r1
- movs r0, 0xFD
- bl nullsub_5
- adds r1, r4, 0
- adds r1, 0x8
- adds r1, r5, r1
- movs r0, 0xFE
- bl nullsub_5
- adds r4, 0xC
- adds r5, r4
- movs r0, 0xFF
- adds r1, r5, 0
- bl nullsub_5
-_0803FCB0:
- ldr r5, _0803FCEC
- ldr r0, _0803FCF0
- ldr r2, [r0]
- ldr r0, _0803FCF4
- adds r1, r2, r0
- movs r3, 0x14
- ldrsh r0, [r2, r3]
- ldrb r1, [r1]
- adds r6, r0, r1
- movs r1, 0x3A
- ldrsh r0, [r7, r1]
- adds r4, r7, 0
- adds r4, 0x2E
- cmp r0, r6
- beq _0803FD3E
- strh r6, [r7, 0x3A]
- ldr r3, _0803FCF8
- adds r0, r2, r3
- ldrb r0, [r0]
- bl sub_80900C0
- lsls r0, 24
- cmp r0, 0
- beq _0803FCFC
- movs r0, 0
- b _0803FD00
- .align 2, 0
-_0803FCE4: .4byte gUnknown_203B46C
-_0803FCE8: .4byte gUnknown_202D068
-_0803FCEC: .4byte gUnknown_202B038
-_0803FCF0: .4byte gUnknown_203B418
-_0803FCF4: .4byte 0x00000645
-_0803FCF8: .4byte 0x00000644
-_0803FCFC:
- ldr r1, _0803FD20
- adds r0, r1, 0
-_0803FD00:
- strh r0, [r5, 0x2]
- cmp r6, 0x9
- bgt _0803FD28
- adds r1, r5, 0x4
- adds r4, r7, 0
- adds r4, 0x2E
- ldrb r2, [r4]
- adds r0, r6, 0
- movs r3, 0x1
- bl sub_803FE30
- ldr r2, _0803FD24
- adds r0, r2, 0
- strh r0, [r5, 0x6]
- b _0803FD3E
- .align 2, 0
-_0803FD20: .4byte 0x0000f2be
-_0803FD24: .4byte 0x0000f2b8
-_0803FD28:
- adds r1, r5, 0x4
- adds r4, r7, 0
- adds r4, 0x2E
- ldrb r2, [r4]
- adds r0, r6, 0
- movs r3, 0
- bl sub_803FE30
- ldr r3, _0803FE10
- adds r0, r3, 0
- strh r0, [r5, 0x8]
-_0803FD3E:
- movs r1, 0x3C
- ldrsh r0, [r7, r1]
- cmp r0, r10
- beq _0803FD64
- mov r2, r10
- strh r2, [r7, 0x3C]
- ldr r3, _0803FE14
- adds r0, r3, 0
- strh r0, [r5, 0xA]
- ldr r1, _0803FE18
- adds r0, r1, 0
- strh r0, [r5, 0xC]
- adds r1, r5, 0
- adds r1, 0xE
- ldrb r2, [r4]
- mov r0, r10
- movs r3, 0
- bl sub_803FE30
-_0803FD64:
- movs r2, 0x3E
- ldrsh r0, [r7, r2]
- cmp r0, r9
- beq _0803FD84
- ldr r3, _0803FE1C
- adds r0, r3, 0
- strh r0, [r5, 0x12]
- ldr r1, _0803FE20
- adds r0, r1, 0
- strh r0, [r5, 0x14]
- adds r1, r5, 0
- adds r1, 0x16
- ldrb r2, [r4]
- mov r0, r9
- bl sub_803FF18
-_0803FD84:
- adds r6, r7, 0
- adds r6, 0x40
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, r8
- beq _0803FDA2
- ldr r3, _0803FE24
- adds r0, r3, 0
- strh r0, [r5, 0x1C]
- adds r1, r5, 0
- adds r1, 0x1E
- ldrb r2, [r4]
- mov r0, r8
- bl sub_803FF18
-_0803FDA2:
- ldrb r2, [r4]
- mov r0, r9
- mov r1, r8
- bl sub_803FA4C
- mov r0, r8
- strh r0, [r6]
- mov r1, r9
- strh r1, [r7, 0x3E]
- mov r0, r8
- cmp r0, 0
- bge _0803FDBC
- adds r0, 0x7
-_0803FDBC:
- asrs r1, r0, 3
- adds r4, r7, 0
- adds r4, 0x42
- strh r1, [r4]
- movs r0, 0x7
- mov r2, r8
- ands r2, r0
- cmp r2, 0
- beq _0803FDD2
- adds r0, r1, 0x1
- strh r0, [r4]
-_0803FDD2:
- movs r3, 0
- ldrsh r0, [r4, r3]
- cmp r0, 0xB
- ble _0803FDDE
- movs r0, 0xC
- strh r0, [r4]
-_0803FDDE:
- movs r1, 0
- ldr r0, _0803FE28
- movs r2, 0xB3
- lsls r2, 2
- adds r4, r2, 0
- ldr r2, _0803FE2C
- adds r3, r2, 0
- adds r2, r0, 0
- adds r2, 0x24
-_0803FDF0:
- adds r0, r1, r4
- orrs r0, r3
- strh r0, [r2]
- adds r2, 0x2
- adds r1, 0x1
- cmp r1, 0xB
- ble _0803FDF0
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803FE10: .4byte 0x0000f2b8
-_0803FE14: .4byte 0x0000f2b9
-_0803FE18: .4byte 0x0000f2ba
-_0803FE1C: .4byte 0x0000f2bb
-_0803FE20: .4byte 0x0000f2bc
-_0803FE24: .4byte 0x0000f2bd
-_0803FE28: .4byte gUnknown_202B038
-_0803FE2C: .4byte 0xfffff000
- thumb_func_end sub_803FB74
-
- thumb_func_start sub_803FE30
-sub_803FE30:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r1, r2, 0
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- movs r0, 0
- cmp r2, 0
- bne _0803FE4E
- movs r0, 0x37
-_0803FE4E:
- cmp r5, 0x64
- ble _0803FE70
- cmp r2, 0
- beq _0803FE60
- ldr r1, _0803FE5C
- adds r0, r1, 0
- b _0803FE64
- .align 2, 0
-_0803FE5C: .4byte 0x0000f291
-_0803FE60:
- ldr r2, _0803FE6C
- adds r0, r2, 0
-_0803FE64:
- strh r0, [r4]
- strh r0, [r4, 0x2]
- b _0803FF00
- .align 2, 0
-_0803FE6C: .4byte 0x0000f2c8
-_0803FE70:
- cmp r5, 0x64
- bne _0803FEBC
- ldr r1, _0803FE84
- adds r0, r1, 0
- strh r0, [r4]
- ldr r2, _0803FE88
- adds r0, r2, 0
- strh r0, [r4, 0x2]
- b _0803FF00
- .align 2, 0
-_0803FE84: .4byte 0x0000f294
-_0803FE88: .4byte 0x0000f295
-_0803FE8C:
- ldr r1, _0803FEB4
- lsls r0, r6, 3
- adds r0, r6
- adds r0, r2
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- subs r0, r5, r3
- adds r0, r7
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1
- ldr r2, _0803FEB8
- adds r1, r2, 0
- orrs r0, r1
- mov r1, r8
- strh r0, [r1]
- b _0803FF00
- .align 2, 0
-_0803FEB4: .4byte gUnknown_80F64D8
-_0803FEB8: .4byte 0xfffff000
-_0803FEBC:
- adds r2, r4, 0x2
- mov r8, r2
- adds r7, r0, 0
- adds r7, 0x30
- cmp r5, 0x9
- ble _0803FEE2
- movs r6, 0
- cmp r1, 0
- bne _0803FED0
- movs r6, 0x1
-_0803FED0:
- movs r2, 0
- ldr r0, _0803FF0C
-_0803FED4:
- ldr r3, [r0]
- cmp r3, r5
- ble _0803FE8C
- adds r0, 0x4
- adds r2, 0x1
- cmp r2, 0x8
- ble _0803FED4
-_0803FEE2:
- mov r0, r12
- cmp r0, 0
- bne _0803FEF0
- ldr r1, _0803FF10
- adds r0, r1, 0
- strh r0, [r4]
- adds r4, 0x2
-_0803FEF0:
- adds r0, r5, r7
- movs r2, 0x96
- lsls r2, 2
- adds r0, r2
- ldr r2, _0803FF14
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r4]
-_0803FF00:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0803FF0C: .4byte gUnknown_80F64B4
-_0803FF10: .4byte 0x0000f278
-_0803FF14: .4byte 0xfffff000
- thumb_func_end sub_803FE30
-
- thumb_func_start sub_803FF18
-sub_803FF18:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r3, r1, 0
- lsls r2, 24
- lsrs r2, 24
- movs r6, 0
- cmp r2, 0
- bne _0803FF2E
- movs r6, 0x1
-_0803FF2E:
- movs r1, 0
- cmp r2, 0
- bne _0803FF36
- movs r1, 0x37
-_0803FF36:
- ldr r0, _0803FF54
- cmp r5, r0
- ble _0803FF7C
- ldr r0, _0803FF58
- lsls r1, r6, 3
- adds r1, r6
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r3]
- adds r3, 0x2
- strh r0, [r3]
- strh r0, [r3, 0x2]
- b _0804001A
- .align 2, 0
-_0803FF54: .4byte 0x000003e7
-_0803FF58: .4byte gUnknown_80F6544
-_0803FF5C:
- ldr r1, _0803FF78
- lsls r0, r6, 3
- adds r0, r6
- adds r0, r4
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
- adds r3, 0x2
- subs r5, r2
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- b _0803FF98
- .align 2, 0
-_0803FF78: .4byte gUnknown_80F6544
-_0803FF7C:
- movs r7, 0x20
- movs r4, 0
- adds r1, 0x30
- mov r8, r1
- ldr r2, _0803FFC0
- mov r12, r2
- ldr r0, _0803FFC4
-_0803FF8A:
- ldr r2, [r0]
- cmp r2, r5
- ble _0803FF5C
- adds r0, 0x4
- adds r4, 0x1
- cmp r4, 0x8
- ble _0803FF8A
-_0803FF98:
- cmp r4, 0x9
- bne _0803FFAC
- movs r1, 0x96
- lsls r1, 2
- adds r0, r7, r1
- ldr r2, _0803FFC8
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r3]
- adds r3, 0x2
-_0803FFAC:
- movs r4, 0
- mov r0, r12
- ldr r2, [r0]
- cmp r2, r5
- bgt _0803FFD0
- ldr r0, _0803FFCC
- lsls r1, r6, 3
- adds r1, r6
- b _0803FFE8
- .align 2, 0
-_0803FFC0: .4byte gUnknown_80F6520
-_0803FFC4: .4byte gUnknown_80F64FC
-_0803FFC8: .4byte 0xfffff000
-_0803FFCC: .4byte gUnknown_80F6544
-_0803FFD0:
- adds r4, 0x1
- cmp r4, 0x8
- bgt _0803FFF4
- lsls r0, r4, 2
- add r0, r12
- ldr r2, [r0]
- cmp r2, r5
- bgt _0803FFD0
- ldr r0, _08040024
- lsls r1, r6, 3
- adds r1, r6
- adds r1, r4
-_0803FFE8:
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r3]
- adds r3, 0x2
- subs r5, r2
-_0803FFF4:
- cmp r4, 0x9
- bne _08040008
- movs r1, 0x96
- lsls r1, 2
- adds r0, r7, r1
- ldr r2, _08040028
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r3]
- adds r3, 0x2
-_08040008:
- mov r1, r8
- adds r0, r5, r1
- movs r2, 0x96
- lsls r2, 2
- adds r0, r2
- ldr r2, _08040028
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r3]
-_0804001A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08040024: .4byte gUnknown_80F6544
-_08040028: .4byte 0xfffff000
- thumb_func_end sub_803FF18
-
- thumb_func_start sub_804002C
-sub_804002C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- ldr r0, _08040088
- ldr r0, [r0]
- ldr r1, _0804008C
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r5, 0
- movs r7, 0x1
-_08040046:
- movs r4, 0
- adds r6, r5, 0x1
-_0804004A:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- orrs r1, r7
- strh r1, [r0, 0x4]
- adds r4, 0x1
- cmp r4, 0x37
- ble _0804004A
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _08040046
- movs r0, 0
- bl sub_803F580
- bl sub_8049ED4
- bl sub_8040A84
- ldr r0, _08040090
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08040088: .4byte gUnknown_203B418
-_0804008C: .4byte 0x0001820b
-_08040090: .4byte gUnknown_80FD040
- thumb_func_end sub_804002C
-
- thumb_func_start sub_8040094
-sub_8040094:
- push {lr}
- ldr r1, _080400C8
- ldr r1, [r1]
- ldr r2, _080400CC
- adds r1, r2
- strb r0, [r1]
- bl sub_803F7BC
- bl sub_80060EC
- ldr r0, _080400D0
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl xxx_call_update_bg_sound_input
- bl sub_8083F58
- bl sub_8011860
- pop {r0}
- bx r0
- .align 2, 0
-_080400C8: .4byte gUnknown_203B418
-_080400CC: .4byte 0x00018217
-_080400D0: .4byte gUnknown_203B47C
- thumb_func_end sub_8040094
-
- thumb_func_start sub_80400D4
-sub_80400D4:
- push {r4,lr}
- ldr r0, _08040114
- ldr r4, [r0]
- movs r0, 0xC1
- lsls r0, 9
- adds r3, r4, r0
- ldr r0, [r3]
- cmp r0, 0
- beq _0804010C
- cmp r0, 0x1E
- ble _080400EC
- movs r0, 0x1F
-_080400EC:
- ldr r1, _08040118
- adds r2, r4, r1
- ldr r1, _0804011C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldr r0, [r3]
- subs r0, 0x1
- str r0, [r3]
- cmp r0, 0
- bne _0804010C
- ldr r1, _08040120
- adds r0, r4, r1
- ldr r0, [r0]
- str r0, [r3]
-_0804010C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08040114: .4byte gUnknown_203B418
-_08040118: .4byte 0x000181fc
-_0804011C: .4byte gUnknown_80F6568
-_08040120: .4byte 0x00018204
- thumb_func_end sub_80400D4
-
- thumb_func_start sub_8040124
-sub_8040124:
- ldr r1, _0804012C
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0804012C: .4byte gUnknown_202EE01
- thumb_func_end sub_8040124
-
- thumb_func_start sub_8040130
-sub_8040130:
- push {lr}
- ldr r0, _08040144
- ldr r1, _08040148
- bl OpenFileAndGetFileDataPtr
- ldr r1, _0804014C
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08040144: .4byte gUnknown_80F6604
-_08040148: .4byte gUnknown_83B0000
-_0804014C: .4byte gUnknown_202EE04
- thumb_func_end sub_8040130
-
- thumb_func_start sub_8040150
-sub_8040150:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- ldr r2, _080401EC
-_08040164:
- movs r4, 0
- lsls r1, r0, 3
- adds r3, r0, 0x1
- mov r8, r3
- subs r1, r0
- lsls r0, r1, 7
- ldr r3, _080401F0
- adds r6, r0, r3
- lsls r5, r1, 2
-_08040176:
- ldr r0, [r2]
- adds r0, r6
- lsls r1, r4, 5
- adds r0, r1
- movs r1, 0x20
- str r2, [sp]
- bl CpuClear
- ldr r2, [sp]
- ldr r0, [r2]
- adds r1, r4, r5
- ldr r3, _080401F4
- adds r0, r3
- adds r0, r1
- movs r7, 0
- strb r7, [r0]
- adds r4, 0x1
- cmp r4, 0x1B
- ble _08040176
- mov r0, r8
- cmp r0, 0xF
- ble _08040164
- mov r0, r9
- cmp r0, 0
- bne _080401B0
- ldr r1, _080401F8
- movs r0, 0x64
- strh r0, [r1]
- strh r0, [r1, 0x2]
-_080401B0:
- ldr r3, _080401EC
- ldr r0, [r3]
- ldr r2, _080401FC
- adds r1, r0, r2
- str r7, [r1]
- ldr r1, _08040200
- adds r0, r1
- movs r2, 0x1
- strb r2, [r0]
- ldr r0, [r3]
- ldr r3, _08040204
- adds r0, r3
- strb r7, [r0]
- ldr r0, _08040208
- strb r2, [r0]
- ldr r1, _0804020C
- ldr r0, _08040210
- str r0, [r1]
- ldr r0, _08040214
- strb r2, [r0]
- bl sub_8040238
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080401EC: .4byte gUnknown_203B418
-_080401F0: .4byte 0x0001822c
-_080401F4: .4byte 0x0001ba2c
-_080401F8: .4byte gUnknown_203B410
-_080401FC: .4byte 0x0001bdcc
-_08040200: .4byte 0x0001bdd0
-_08040204: .4byte 0x0001bdd2
-_08040208: .4byte gUnknown_202EE00
-_0804020C: .4byte gUnknown_202EE08
-_08040210: .4byte 0x06001700
-_08040214: .4byte gUnknown_202EE01
- thumb_func_end sub_8040150
-
- thumb_func_start sub_8040218
-sub_8040218:
- push {lr}
- ldr r0, _08040230
- ldr r0, [r0]
- cmp r0, 0
- beq _08040226
- bl CloseFile
-_08040226:
- bl sub_8040124
- pop {r0}
- bx r0
- .align 2, 0
-_08040230: .4byte gUnknown_202EE04
- thumb_func_end sub_8040218
-
- thumb_func_start nullsub_203
-nullsub_203:
- bx lr
- thumb_func_end nullsub_203
-
- thumb_func_start sub_8040238
-sub_8040238:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _0804026C
- ldr r0, [r1]
- cmp r0, 0
- beq _080402A0
- ldr r0, _08040270
- ldrb r0, [r0]
- cmp r0, 0
- beq _080402A0
- movs r6, 0
- ldr r0, _08040274
- mov r8, r0
- adds r7, r1, 0
-_08040256:
- cmp r6, 0xE
- bne _08040278
- movs r0, 0xEE
- mov r1, r8
- bl SetBGPaletteBufferColorArray
- movs r0, 0xEE
- mov r1, r8
- bl nullsub_5
- b _0804029A
- .align 2, 0
-_0804026C: .4byte gUnknown_202EE04
-_08040270: .4byte gUnknown_202EE01
-_08040274: .4byte gUnknown_202D03C
-_08040278:
- adds r5, r6, 0
- adds r5, 0xE0
- ldr r0, [r7]
- ldr r0, [r0, 0x4]
- lsls r4, r6, 2
- ldr r1, [r0, 0x4]
- adds r1, r4
- adds r0, r5, 0
- bl SetBGPaletteBufferColorArray
- ldr r0, [r7]
- ldr r0, [r0, 0x4]
- ldr r1, [r0, 0x4]
- adds r1, r4
- adds r0, r5, 0
- bl nullsub_5
-_0804029A:
- adds r6, 0x1
- cmp r6, 0xF
- ble _08040256
-_080402A0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8040238
-
- thumb_func_start sub_80402AC
-sub_80402AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r8, r0
- str r1, [sp]
- ldr r4, _0804034C
- ldr r0, [r4]
- str r0, [sp, 0x4]
- movs r1, 0x1
- mov r10, r1
- ldr r0, _08040350
- ldr r0, [r0]
- cmp r0, 0
- bne _080402D0
- b _08040776
-_080402D0:
- ldr r0, _08040354
- ldrb r0, [r0]
- cmp r0, 0
- bne _080402DA
- b _08040776
-_080402DA:
- bl sub_800EC74
- lsls r0, 24
- cmp r0, 0
- beq _080402E6
- b _08040776
-_080402E6:
- mov r2, r8
- cmp r2, 0
- bge _080402EE
- b _08040776
-_080402EE:
- ldr r3, [sp]
- cmp r3, 0x1
- bgt _080402F6
- b _08040776
-_080402F6:
- cmp r2, 0x37
- ble _080402FC
- b _08040776
-_080402FC:
- cmp r3, 0x1E
- ble _08040302
- b _08040776
-_08040302:
- mov r0, r8
- adds r1, r3, 0
- bl sub_804954C
- mov r9, r0
- ldrh r0, [r0]
- movs r5, 0x3
- ands r5, r0
- str r5, [sp, 0x8]
- ldr r0, [r4]
- ldr r7, _08040358
- adds r1, r0, r7
- ldrb r1, [r1]
- str r1, [sp, 0xC]
- ldr r2, _0804035C
- adds r1, r0, r2
- ldrb r5, [r1]
- ldr r3, _08040360
- adds r1, r0, r3
- ldrb r1, [r1]
- str r1, [sp, 0x14]
- subs r7, 0x2
- adds r1, r0, r7
- ldrb r1, [r1]
- str r1, [sp, 0x10]
- ldr r1, _08040364
- adds r0, r1
- ldrb r0, [r0]
- cmp r5, 0
- beq _08040368
- mov r2, r9
- ldrb r0, [r2, 0x4]
- mov r7, r10
- ands r7, r0
- movs r3, 0
- str r3, [sp, 0x18]
- b _0804039C
- .align 2, 0
-_0804034C: .4byte gUnknown_203B418
-_08040350: .4byte gUnknown_202EE04
-_08040354: .4byte gUnknown_202EE01
-_08040358: .4byte 0x00018210
-_0804035C: .4byte 0x0001820a
-_08040360: .4byte 0x0001820f
-_08040364: .4byte 0x0001820b
-_08040368:
- cmp r0, 0
- beq _08040370
- movs r7, 0x1
- b _08040378
-_08040370:
- mov r7, r9
- ldrb r0, [r7, 0x4]
- mov r7, r10
- ands r7, r0
-_08040378:
- bl sub_8043D10
- lsls r0, 24
- cmp r0, 0
- bne _08040398
- ldr r0, _08040390
- ldr r0, [r0]
- ldr r1, _08040394
- adds r0, r1
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- b _0804039C
- .align 2, 0
-_08040390: .4byte gUnknown_203B418
-_08040394: .4byte 0x00018211
-_08040398:
- movs r2, 0
- str r2, [sp, 0x18]
-_0804039C:
- bl sub_8094C48
- lsls r0, 24
- cmp r0, 0
- bne _080403A8
- b _08040632
-_080403A8:
- ldr r0, _080403FC
- ldr r0, [r0]
- ldr r3, _08040400
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080403B8
- b _08040632
-_080403B8:
- movs r6, 0
- cmp r5, 0
- bne _0804045E
- mov r0, r9
- ldr r4, [r0, 0x10]
- cmp r4, 0
- beq _0804045E
- adds r0, r4, 0
- bl sub_80450F8
- adds r1, r0, 0
- ldr r0, _08040404
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804045E
- cmp r1, 0x1
- bne _0804045E
- adds r0, r4, 0
- bl sub_8045804
- lsls r0, 24
- cmp r0, 0
- beq _0804045E
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _080403F6
- cmp r0, 0x47
- bne _08040408
-_080403F6:
- movs r0, 0x1
- b _0804040A
- .align 2, 0
-_080403FC: .4byte gUnknown_203B418
-_08040400: .4byte 0x0001356c
-_08040404: .4byte gUnknown_202EE00
-_08040408:
- movs r0, 0
-_0804040A:
- cmp r0, 0
- bne _08040458
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08040458
- cmp r0, 0x4
- beq _08040458
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08040426
- movs r6, 0x2
- b _0804045A
-_08040426:
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08040458
- ldr r0, _0804044C
- mov r1, r8
- strh r1, [r0]
- mov r2, sp
- ldrh r2, [r2]
- strh r2, [r0, 0x2]
- ldr r0, _08040450
- ldr r0, [r0]
- ldr r3, _08040454
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804045A
- movs r6, 0x8
- b _0804045A
- .align 2, 0
-_0804044C: .4byte gUnknown_203B410
-_08040450: .4byte gUnknown_203B418
-_08040454: .4byte 0x00018214
-_08040458:
- movs r6, 0xA
-_0804045A:
- movs r0, 0
- mov r10, r0
-_0804045E:
- mov r1, r10
- cmp r1, 0
- beq _0804054E
- cmp r5, 0
- bne _08040548
- mov r2, r9
- ldr r4, [r2, 0x14]
- cmp r4, 0
- beq _08040500
- adds r0, r4, 0
- bl sub_80450F8
- adds r5, r0, 0
- cmp r7, 0
- bne _0804049E
- movs r6, 0
- cmp r5, 0x3
- bne _0804054E
- ldr r3, [sp, 0x10]
- cmp r3, 0
- bne _08040494
- mov r5, r9
- ldrh r1, [r5, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804054E
-_08040494:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- beq _0804054E
- movs r6, 0x3
- b _0804054E
-_0804049E:
- cmp r5, 0x2
- bne _080404C4
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _080404B2
- ldr r1, [sp, 0x14]
- cmp r1, 0
- beq _080404C4
-_080404B2:
- adds r0, r4, 0
- bl sub_8045104
- ldr r1, _080404FC
- ldrb r0, [r0]
- adds r0, r1
- ldrb r6, [r0]
- movs r2, 0
- mov r10, r2
-_080404C4:
- mov r3, r10
- cmp r3, 0
- beq _0804054E
- cmp r5, 0x3
- bne _080404EC
- ldr r5, [sp, 0x10]
- cmp r5, 0
- bne _080404E0
- mov r0, r9
- ldrh r1, [r0, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080404EC
-_080404E0:
- ldr r1, [sp, 0x8]
- cmp r1, 0
- beq _080404EC
- movs r6, 0x3
- movs r2, 0
- mov r10, r2
-_080404EC:
- mov r3, r10
- cmp r3, 0
- beq _0804054E
- ldr r5, [sp, 0x8]
- cmp r5, 0x1
- beq _08040548
- movs r6, 0
- b _0804054E
- .align 2, 0
-_080404FC: .4byte gUnknown_80F65F0
-_08040500:
- cmp r7, 0
- bne _08040528
- ldr r0, [sp, 0x18]
- cmp r0, 0
- beq _08040548
- mov r2, r9
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08040548
- bl sub_8043D10
- lsls r0, 24
- movs r6, 0x5
- cmp r0, 0
- bne _0804054E
- movs r6, 0x6
- b _0804054E
-_08040528:
- mov r3, r9
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08040548
- bl sub_8043D10
- lsls r0, 24
- movs r6, 0x5
- cmp r0, 0
- bne _08040544
- movs r6, 0x6
-_08040544:
- movs r5, 0
- mov r10, r5
-_08040548:
- mov r0, r10
- cmp r0, 0
- bne _0804055A
-_0804054E:
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _0804055A
- cmp r6, 0
- beq _0804055E
- movs r6, 0xB
-_0804055A:
- cmp r6, 0
- bne _08040606
-_0804055E:
- cmp r7, 0
- beq _08040568
- ldr r2, [sp, 0x8]
- cmp r2, 0x1
- beq _0804056C
-_08040568:
- movs r6, 0x1
- b _08040606
-_0804056C:
- movs r4, 0xF
- ldr r3, [sp]
- cmp r3, 0x1E
- bgt _0804058A
- adds r1, r3, 0
- adds r1, 0x1
- mov r0, r8
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0804058A
- movs r4, 0xE
-_0804058A:
- ldr r5, [sp]
- cmp r5, 0
- ble _080405AA
- adds r1, r5, 0
- subs r1, 0x1
- mov r0, r8
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _080405AA
- movs r0, 0x5
- negs r0, r0
- ands r4, r0
-_080405AA:
- mov r7, r8
- cmp r7, 0x36
- bgt _080405CA
- mov r0, r8
- adds r0, 0x1
- ldr r1, [sp]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _080405CA
- movs r0, 0x3
- negs r0, r0
- ands r4, r0
-_080405CA:
- mov r0, r8
- cmp r0, 0
- ble _080405E8
- subs r0, 0x1
- ldr r1, [sp]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _080405E8
- movs r0, 0x9
- negs r0, r0
- ands r4, r0
-_080405E8:
- lsls r0, r4, 16
- asrs r6, r0, 16
- mov r2, r9
- ldrh r1, [r2, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080405FE
- adds r0, r6, 0
- adds r0, 0x10
- b _08040602
-_080405FE:
- adds r0, r6, 0
- adds r0, 0x20
-_08040602:
- lsls r0, 16
- asrs r6, r0, 16
-_08040606:
- ldr r0, _08040618
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bne _0804061C
- adds r0, r6, 0
- adds r0, 0x80
- b _0804062C
- .align 2, 0
-_08040618: .4byte gUnknown_203B46C
-_0804061C:
- bl sub_8094C68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0804063A
- adds r0, r6, 0
- adds r0, 0x40
-_0804062C:
- lsls r0, 16
- asrs r6, r0, 16
- b _0804063A
-_08040632:
- movs r6, 0x1
- ldr r1, _0804074C
- movs r0, 0x64
- strh r0, [r1]
-_0804063A:
- mov r3, r8
- lsrs r0, r3, 31
- add r0, r8
- asrs r0, 1
- mov r9, r0
- ldr r0, [sp]
- subs r0, 0x2
- lsrs r1, r0, 31
- adds r1, r0, r1
- asrs r1, 1
- mov r5, r9
- lsls r3, r5, 1
- mov r7, r8
- subs r3, r7, r3
- lsls r2, r1, 1
- subs r0, r2
- lsls r0, 1
- adds r3, r0
- lsls r0, r1, 3
- subs r5, r0, r1
- lsls r0, r5, 7
- ldr r1, _08040750
- adds r0, r1
- ldr r2, [sp, 0x4]
- adds r0, r2, r0
- mov r7, r9
- lsls r1, r7, 5
- adds r4, r0, r1
- ldr r0, _08040754
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r6, 2
- adds r0, r3
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r0, [r4]
- ldr r1, [r2]
- ands r0, r1
- ldr r1, [r2, 0x4]
- orrs r0, r1
- str r0, [r4]
- ldr r0, [r4, 0x4]
- ldr r1, [r2, 0x8]
- ands r0, r1
- ldr r1, [r2, 0xC]
- orrs r0, r1
- str r0, [r4, 0x4]
- ldr r0, [r4, 0x8]
- ldr r1, [r2, 0x10]
- ands r0, r1
- ldr r1, [r2, 0x14]
- orrs r0, r1
- str r0, [r4, 0x8]
- ldr r0, [r4, 0xC]
- ldr r1, [r2, 0x18]
- ands r0, r1
- ldr r1, [r2, 0x1C]
- orrs r0, r1
- str r0, [r4, 0xC]
- ldr r0, [r4, 0x10]
- ldr r1, [r2, 0x20]
- ands r0, r1
- ldr r1, [r2, 0x24]
- orrs r0, r1
- str r0, [r4, 0x10]
- ldr r0, [r4, 0x14]
- ldr r1, [r2, 0x28]
- ands r0, r1
- ldr r1, [r2, 0x2C]
- orrs r0, r1
- str r0, [r4, 0x14]
- ldr r0, [r4, 0x18]
- ldr r1, [r2, 0x30]
- ands r0, r1
- ldr r1, [r2, 0x34]
- orrs r0, r1
- str r0, [r4, 0x18]
- ldr r0, [r4, 0x1C]
- ldr r1, [r2, 0x38]
- ands r0, r1
- ldr r1, [r2, 0x3C]
- orrs r0, r1
- str r0, [r4, 0x1C]
- ldr r0, [sp, 0x4]
- ldr r1, _08040758
- adds r2, r0, r1
- ldrb r0, [r2]
- cmp r0, 0
- bne _08040776
- lsls r5, 2
- mov r10, r5
- mov r3, r9
- add r3, r10
- ldr r5, _0804075C
- mov r8, r5
- ldr r0, [sp, 0x4]
- add r0, r8
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _08040776
- movs r0, 0x1
- strb r0, [r1]
- ldr r7, [sp, 0x4]
- ldr r1, _08040760
- adds r6, r7, r1
- ldr r5, [r6]
- cmp r5, 0x27
- bgt _08040774
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- ldr r0, _08040764
- adds r2, r7, r0
- adds r2, r1
- ldr r0, _08040768
- lsls r3, 5
- ldr r0, [r0]
- adds r0, r3
- str r0, [r2]
- ldr r2, _0804076C
- adds r0, r7, r2
- adds r0, r1
- str r4, [r0]
- ldr r3, _08040770
- adds r2, r7, r3
- adds r2, r1
- mov r0, r10
- add r0, r8
- adds r0, r7, r0
- add r0, r9
- str r0, [r2]
- adds r0, r5, 0x1
- str r0, [r6]
- b _08040776
- .align 2, 0
-_0804074C: .4byte gUnknown_203B410
-_08040750: .4byte 0x0001822c
-_08040754: .4byte gUnknown_202EE04
-_08040758: .4byte 0x0001bdd1
-_0804075C: .4byte 0x0001ba2c
-_08040760: .4byte 0x0001bdcc
-_08040764: .4byte 0x0001bbec
-_08040768: .4byte gUnknown_202EE08
-_0804076C: .4byte 0x0001bbf0
-_08040770: .4byte 0x0001bbf4
-_08040774:
- strb r0, [r2]
-_08040776:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80402AC
-
- thumb_func_start sub_8040788
-sub_8040788:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08040814
- ldr r0, [r0]
- mov r8, r0
- cmp r0, 0
- beq _08040870
- ldr r0, _08040818
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08040870
- bl sub_800EC74
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08040870
- ldr r1, _0804081C
- add r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- bne _0804082C
- movs r6, 0
- ldr r1, _08040820
- add r1, r8
- ldr r0, [r1]
- cmp r6, r0
- bge _08040868
- adds r5, r1, 0
- movs r4, 0
-_080407C8:
- ldr r1, _08040824
- adds r0, r4, r1
- mov r1, r8
- adds r3, r1, r0
- ldr r1, [r3, 0x4]
- ldr r2, [r3]
- ldr r0, _08040828
- ldr r0, [r0]
- cmp r0, 0
- beq _080407E0
- cmp r0, 0x3
- bne _08040800
-_080407E0:
- ldm r1!, {r0}
- stm r2!, {r0}
- ldm r1!, {r0}
- stm r2!, {r0}
- ldm r1!, {r0}
- stm r2!, {r0}
- ldm r1!, {r0}
- stm r2!, {r0}
- ldm r1!, {r0}
- stm r2!, {r0}
- ldm r1!, {r0}
- stm r2!, {r0}
- ldm r1!, {r0}
- stm r2!, {r0}
- ldr r0, [r1]
- str r0, [r2]
-_08040800:
- ldr r0, [r3, 0x8]
- movs r1, 0
- strb r1, [r0]
- adds r4, 0xC
- adds r6, 0x1
- ldr r0, [r5]
- cmp r6, r0
- blt _080407C8
- b _08040868
- .align 2, 0
-_08040814: .4byte gUnknown_203B418
-_08040818: .4byte 0x0001bdd0
-_0804081C: .4byte 0x0001bdd1
-_08040820: .4byte 0x0001bdcc
-_08040824: .4byte 0x0001bbec
-_08040828: .4byte gUnknown_202EDD0
-_0804082C:
- strb r2, [r1]
- ldr r0, _0804087C
- ldr r5, [r0]
- ldr r4, _08040880
- add r4, r8
- movs r6, 0
- movs r7, 0x80
- lsls r7, 1
-_0804083C:
- ldr r0, _08040884
- ldr r0, [r0]
- cmp r0, 0
- beq _08040848
- cmp r0, 0x3
- bne _08040854
-_08040848:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x80
- lsls r2, 1
- bl CpuCopy
-_08040854:
- adds r5, r7
- adds r4, r7
- adds r6, 0x8
- ldr r0, _08040888
- cmp r6, r0
- ble _0804083C
- ldr r1, _0804088C
- add r1, r8
- movs r0, 0x1
- strb r0, [r1]
-_08040868:
- ldr r1, _08040890
- add r1, r8
- movs r0, 0
- str r0, [r1]
-_08040870:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804087C: .4byte gUnknown_202EE08
-_08040880: .4byte 0x0001822c
-_08040884: .4byte gUnknown_202EDD0
-_08040888: .4byte 0x000001bf
-_0804088C: .4byte 0x0001bdd2
-_08040890: .4byte 0x0001bdcc
- thumb_func_end sub_8040788
-
- thumb_func_start sub_8040894
-sub_8040894:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r0, _080409F4
- ldr r1, [r0]
- ldr r2, _080409F8
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080408A8
- b _08040A6A
-_080408A8:
- adds r2, 0x5
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080408B4
- b _08040A6A
-_080408B4:
- ldr r7, _080409FC
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x63
- ble _080408C0
- b _08040A6A
-_080408C0:
- ldr r0, _08040A00
- ldrb r1, [r0]
- adds r1, 0x1
- strb r1, [r0]
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _080408D2
- b _08040A6A
-_080408D2:
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _08040A04
- ands r1, r0
- ldr r3, _08040A08
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08040A0C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r5, _08040A10
- adds r0, r5, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08040A14
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08040A18
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r4, _08040A1C
- adds r0, r4, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- ands r3, r1
- orrs r3, r0
- str r3, [sp]
- mov r3, sp
- ldrh r0, [r3, 0x2]
- ldr r6, _08040A20
- ands r6, r0
- ands r6, r4
- strh r6, [r3, 0x2]
- ldr r2, _08040A24
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r5
- movs r5, 0xF
- lsls r1, r5, 12
- ldr r4, _08040A28
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x6]
- ldr r2, _08040A2C
- ands r2, r0
- ldr r0, _08040A30
- ands r2, r0
- strh r2, [r3, 0x6]
- ldr r0, _08040A34
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bne _08040A3C
- movs r1, 0
- ldrsh r0, [r7, r1]
- lsls r0, 2
- adds r0, 0x10
- ldr r1, _08040A38
- ands r0, r1
- strh r0, [r3, 0x2]
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- adds r0, 0x1
- lsls r0, 2
- ands r0, r4
- lsls r0, 4
- adds r1, r2, 0
- ands r1, r5
- orrs r1, r0
- strh r1, [r3, 0x6]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl nullsub_11
- b _08040A6A
- .align 2, 0
-_080409F4: .4byte gUnknown_203B418
-_080409F8: .4byte 0x00018214
-_080409FC: .4byte gUnknown_203B410
-_08040A00: .4byte gUnknown_202EE02
-_08040A04: .4byte 0x0000feff
-_08040A08: .4byte 0xffff0000
-_08040A0C: .4byte 0x0000fdff
-_08040A10: .4byte 0x0000f3ff
-_08040A14: .4byte 0x0000efff
-_08040A18: .4byte 0x0000dfff
-_08040A1C: .4byte 0x00003fff
-_08040A20: .4byte 0x0000c1ff
-_08040A24: .4byte 0x00000215
-_08040A28: .4byte 0x00000fff
-_08040A2C: .4byte 0x0000fffe
-_08040A30: .4byte 0x0000fffd
-_08040A34: .4byte gUnknown_203B46C
-_08040A38: .4byte 0x000001ff
-_08040A3C:
- movs r1, 0
- ldrsh r0, [r7, r1]
- lsls r0, 2
- adds r0, 0x8
- ldr r1, _08040A74
- ands r0, r1
- strh r0, [r3, 0x2]
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- lsls r0, 2
- ands r0, r4
- lsls r0, 4
- adds r1, r2, 0
- ands r1, r5
- orrs r1, r0
- strh r1, [r3, 0x6]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08040A6A:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08040A74: .4byte 0x000001ff
- thumb_func_end sub_8040894
-
- thumb_func_start sub_8040A78
-sub_8040A78:
- ldr r1, _08040A80
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08040A80: .4byte gUnknown_202EE02
- thumb_func_end sub_8040A78
-
- thumb_func_start sub_8040A84
-sub_8040A84:
- push {r4-r6,lr}
- ldr r0, _08040AB4
- ldr r0, [r0]
- ldr r1, _08040AB8
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r5, 0
-_08040A94:
- movs r4, 0
- adds r6, r5, 0x1
-_08040A98:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80402AC
- adds r4, 0x1
- cmp r4, 0x37
- ble _08040A98
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _08040A94
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08040AB4: .4byte gUnknown_203B418
-_08040AB8: .4byte 0x0001bdd1
- thumb_func_end sub_8040A84
-
- thumb_func_start sub_8040ABC
-sub_8040ABC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08040AD8
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bne _08040ADC
- movs r7, 0xF
- movs r0, 0
- b _08040AEC
- .align 2, 0
-_08040AD8: .4byte gUnknown_203B46C
-_08040ADC:
- cmp r1, 0
- beq _08040AE8
- movs r7, 0xE
- movs r4, 0
- mov r8, r4
- b _08040AEE
-_08040AE8:
- movs r7, 0x10
- movs r0, 0x3
-_08040AEC:
- mov r8, r0
-_08040AEE:
- ldr r6, _08040B58
- movs r2, 0x1
- movs r1, 0
- cmp r1, r7
- bge _08040B22
- ldr r4, _08040B5C
- mov r12, r4
-_08040AFC:
- lsls r0, r2, 6
- mov r4, r12
- adds r3, r0, r4
- adds r4, r2, 0x1
- adds r5, r1, 0x1
- movs r2, 0x1B
-_08040B08:
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- strh r1, [r3]
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08040B08
- adds r2, r4, 0
- adds r1, r5, 0
- cmp r1, r7
- blt _08040AFC
-_08040B22:
- movs r1, 0
- cmp r1, r8
- bge _08040B4C
- ldr r6, _08040B5C
- movs r0, 0xE0
- lsls r0, 8
- adds r3, r0, 0
-_08040B30:
- lsls r0, r2, 6
- adds r0, r6
- adds r4, r2, 0x1
- adds r5, r1, 0x1
- movs r2, 0x1B
-_08040B3A:
- strh r3, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _08040B3A
- adds r2, r4, 0
- adds r1, r5, 0
- cmp r1, r8
- blt _08040B30
-_08040B4C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08040B58: .4byte 0x0000e0b8
-_08040B5C: .4byte gUnknown_202B03A
- thumb_func_end sub_8040ABC
-
- thumb_func_start sub_8040B60
-sub_8040B60:
- push {r4,r5,lr}
- ldr r0, _08040BA4
- ldr r3, [r0]
- ldr r1, _08040BA8
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08040B9E
- movs r1, 0
- ldr r2, _08040BAC
- adds r5, r3, r2
- movs r4, 0
-_08040B78:
- lsls r0, r1, 3
- adds r2, r1, 0x1
- subs r0, r1
- movs r1, 0x37
- lsls r0, 2
- adds r0, r5
- adds r0, 0x37
-_08040B86:
- strb r4, [r0]
- subs r0, 0x1
- subs r1, 0x1
- cmp r1, 0
- bge _08040B86
- adds r1, r2, 0
- cmp r1, 0x1F
- ble _08040B78
- movs r1, 0
- ldr r2, _08040BA8
- adds r0, r3, r2
- strb r1, [r0]
-_08040B9E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08040BA4: .4byte gUnknown_203B418
-_08040BA8: .4byte 0x0001bdd2
-_08040BAC: .4byte 0x0001ba2c
- thumb_func_end sub_8040B60
-
- thumb_func_start sub_8040BB0
-sub_8040BB0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- bl sub_804143C
- mov r8, r0
- ldrh r4, [r7, 0x2]
- adds r0, r6, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- mov r2, r8
- bl sub_804141C
- lsls r0, 24
- lsrs r5, r0, 24
- mov r9, r5
- ldrh r4, [r7, 0x2]
- adds r0, r6, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- mov r2, r8
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- bl sub_800ECB8
- movs r1, 0
- ldrsh r4, [r0, r1]
- adds r0, r6, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _08040C28
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80414C0
- lsls r0, 24
- cmp r0, 0
- bne _08040C28
- mov r0, r10
- cmp r0, 0
- bne _08040C2C
-_08040C28:
- adds r0, r5, 0
- b _08040C3C
-_08040C2C:
- cmp r4, 0
- beq _08040C3A
- adds r0, r6, 0
- adds r1, r7, 0
- mov r2, r8
- bl sub_8040C4C
-_08040C3A:
- mov r0, r9
-_08040C3C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8040BB0
-
- thumb_func_start sub_8040C4C
-sub_8040C4C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- ldrh r5, [r4, 0x2]
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r6, [r7, 0x70]
- ldrh r0, [r4, 0x2]
- bl sub_800EC94
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x4
- ldrsh r5, [r6, r0]
- ldrh r4, [r4, 0x2]
- adds r0, r7, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80412E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_800E710
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08040CC4
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r1, 0x28
- lsls r2, 24
- lsrs r2, 24
- bl sub_800569C
- b _08040CC8
-_08040CC4:
- movs r0, 0
- str r0, [sp, 0x8]
-_08040CC8:
- mov r0, sp
- mov r1, r9
- strh r1, [r0]
- mov r1, sp
- ldrh r0, [r6, 0x4]
- strh r0, [r1, 0x2]
- ldr r0, [r7, 0xC]
- cmp r0, 0
- bge _08040CDC
- adds r0, 0xFF
-_08040CDC:
- asrs r0, 8
- strh r0, [r1, 0x4]
- mov r1, sp
- ldr r0, [r7, 0x10]
- cmp r0, 0
- bge _08040CEA
- adds r0, 0xFF
-_08040CEA:
- asrs r0, 8
- strh r0, [r1, 0x6]
- adds r0, r6, 0
- adds r0, 0x46
- ldrb r0, [r0]
- str r0, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x10]
- mov r0, sp
- bl sub_8041500
- mov r0, r9
- bl sub_800EEC8
- bl sub_800EF64
- movs r0, 0x58
- bl sub_803E46C
- mov r0, sp
- bl sub_800EA84
- adds r4, r0, 0
- adds r1, r7, 0
- movs r2, 0x5
- bl sub_8042DD4
- ldr r0, _08040D28
- ldrb r5, [r0]
- ldr r6, _08040D2C
- b _08040D78
- .align 2, 0
-_08040D28: .4byte gUnknown_203B40D
-_08040D2C: .4byte 0x00001010
-_08040D30:
- ldr r0, _08040D58
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _08040D5C
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r6
- beq _08040D48
- ldr r3, _08040D60
- adds r0, r2, r3
- strh r0, [r1]
-_08040D48:
- ldr r1, _08040D64
- ldr r0, [r1]
- cmp r0, 0x4
- ble _08040D68
- subs r0, 0x4
- str r0, [r1]
- b _08040D6E
- .align 2, 0
-_08040D58: .4byte gUnknown_203B40D
-_08040D5C: .4byte gUnknown_2026E4E
-_08040D60: .4byte 0x00000101
-_08040D64: .4byte gUnknown_202EDC8
-_08040D68:
- movs r0, 0
- str r0, [r1]
- mov r8, r0
-_08040D6E:
- bl sub_803EA10
- movs r0, 0x26
- bl sub_803E46C
-_08040D78:
- adds r0, r4, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- beq _08040D8A
- mov r0, r8
- cmp r0, 0
- bne _08040D30
-_08040D8A:
- ldr r0, _08040D9C
- strb r5, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08040D9C: .4byte gUnknown_203B40D
- thumb_func_end sub_8040C4C
-
- thumb_func_start sub_8040DA0
-sub_8040DA0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r7, r0, 0
- mov r8, r1
- bl sub_804143C
- mov r9, r0
- movs r0, 0
- str r0, [sp, 0x14]
- ldr r1, [r7, 0x70]
- mov r10, r1
- movs r0, 0x4
- ldrsh r5, [r1, r0]
- mov r1, r8
- ldrh r4, [r1, 0x2]
- adds r0, r7, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- mov r2, r9
- bl sub_80412E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_800EA44
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- mov r0, sp
- adds r1, r7, 0
- mov r2, r8
- mov r3, r9
- bl sub_8041038
- mov r0, sp
- movs r1, 0x1
- bl sub_800E838
- lsls r0, 24
- cmp r0, 0
- bne _08040E0E
- mov r1, r8
- ldrh r0, [r1, 0x2]
- cmp r0, 0x52
- bne _08040E24
-_08040E0E:
- ldr r0, _08040E1C
- ldr r0, [r0]
- ldr r1, _08040E20
- adds r0, r1
- ldr r6, [r0]
- b _08040E26
- .align 2, 0
-_08040E1C: .4byte gUnknown_203B418
-_08040E20: .4byte 0x000181f8
-_08040E24:
- adds r6, r7, 0
-_08040E26:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08040E34
- adds r6, r7, 0
-_08040E34:
- mov r1, sp
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _08040E3E
- adds r0, 0xFF
-_08040E3E:
- asrs r0, 8
- strh r0, [r1, 0x4]
- mov r1, sp
- ldr r0, [r6, 0x10]
- cmp r0, 0
- bge _08040E4C
- adds r0, 0xFF
-_08040E4C:
- asrs r0, 8
- strh r0, [r1, 0x6]
- adds r0, r6, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- bne _08040E5E
- b _08041026
-_08040E5E:
- adds r0, r7, 0
- mov r1, r8
- bl sub_80414C0
- lsls r0, 24
- cmp r0, 0
- beq _08040E6E
- b _08041026
-_08040E6E:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- movs r0, 0x94
- lsls r0, 1
- cmp r1, r0
- bne _08040ED0
- movs r0, 0x7
- bl sub_8084100
- ldr r1, _08040EB8
- str r0, [r1]
- ldr r1, _08040EBC
- ldr r2, [r1]
- ldr r1, _08040EC0
- adds r4, r2, r1
- subs r1, 0x4
- adds r2, r1
- ldr r3, _08040EC4
- lsls r1, r0, 2
- adds r1, r3
- ldr r1, [r1]
- str r1, [r2]
- str r1, [r4]
- ldr r1, _08040EC8
- adds r0, 0x4
- str r0, [r1]
- ldr r0, _08040ECC
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- movs r1, 0xD2
- lsls r1, 1
- adds r0, r6, 0
- bl sub_80421C0
- b _08040EF0
- .align 2, 0
-_08040EB8: .4byte gUnknown_202F224
-_08040EBC: .4byte gUnknown_203B418
-_08040EC0: .4byte 0x00018204
-_08040EC4: .4byte gUnknown_8106A8C
-_08040EC8: .4byte gUnknown_202DE30
-_08040ECC: .4byte gUnknown_8100224
-_08040ED0:
- cmp r1, 0x76
- bne _08040EF0
- ldr r0, _08040F70
- ldr r0, [r0]
- ldr r1, _08040F74
- adds r2, r0, r1
- subs r1, 0x4
- adds r0, r1
- movs r1, 0xC
- str r1, [r0]
- str r1, [r2]
- movs r1, 0xD2
- lsls r1, 1
- adds r0, r6, 0
- bl sub_80421C0
-_08040EF0:
- mov r0, r10
- movs r1, 0x4
- ldrsh r5, [r0, r1]
- mov r0, r8
- ldrh r4, [r0, 0x2]
- adds r0, r7, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- mov r2, r9
- bl sub_80412E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_800E790
- adds r1, r0, 0
- ldr r0, _08040F78
- cmp r1, r0
- beq _08040F2A
- lsls r0, r1, 16
- lsrs r0, 16
- bl sub_8083E38
-_08040F2A:
- ldr r1, [sp, 0x18]
- cmp r1, 0x63
- bne _08040F7C
- adds r0, r6, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _08041026
- mov r0, r10
- adds r0, 0x46
- ldrb r4, [r0]
- mov r0, sp
- adds r1, r7, 0
- mov r2, r8
- mov r3, r9
- bl sub_8041108
- movs r6, 0x7
- movs r5, 0x7
-_08040F52:
- subs r4, 0x1
- ands r4, r6
- adds r0, r7, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_806CDD4
- movs r0, 0x2
- movs r1, 0x15
- bl sub_803E708
- subs r5, 0x1
- cmp r5, 0
- bge _08040F52
- b _08041026
- .align 2, 0
-_08040F70: .4byte gUnknown_203B418
-_08040F74: .4byte 0x00018204
-_08040F78: .4byte 0x000003e5
-_08040F7C:
- ldr r0, [sp, 0x18]
- cmp r0, 0x62
- bne _08040FC2
- adds r0, r6, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _08041026
- mov r0, r10
- adds r0, 0x46
- ldrb r4, [r0]
- mov r0, sp
- adds r1, r7, 0
- mov r2, r8
- mov r3, r9
- bl sub_8041108
- movs r6, 0x7
- movs r5, 0x8
-_08040FA4:
- ands r4, r6
- adds r0, r7, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_806CDD4
- movs r0, 0x2
- movs r1, 0x15
- bl sub_803E708
- adds r4, 0x1
- subs r5, 0x1
- cmp r5, 0
- bge _08040FA4
- b _08041026
-_08040FC2:
- mov r0, r10
- adds r0, 0x46
- ldrb r2, [r0]
- adds r0, r7, 0
- ldr r1, [sp, 0x18]
- bl sub_806CDD4
- adds r0, r7, 0
- adds r0, 0x21
- movs r1, 0
- strb r1, [r0]
- movs r5, 0
- adds r6, r0, 0
- b _08040FE6
-_08040FDE:
- ldrb r0, [r6]
- cmp r0, 0
- bne _08041022
- adds r5, 0x1
-_08040FE6:
- cmp r5, 0x77
- bgt _08041022
- movs r0, 0x59
- bl sub_803E46C
- ldr r4, [r7, 0x40]
- ldr r1, [sp, 0x18]
- cmp r1, 0x9
- bne _08040FFC
- movs r0, 0x2
- orrs r4, r0
-_08040FFC:
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _0804101A
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _0804101A
- mov r0, sp
- adds r1, r7, 0
- mov r2, r8
- mov r3, r9
- bl sub_8041108
- movs r1, 0x1
- str r1, [sp, 0x14]
-_0804101A:
- movs r0, 0x1
- ands r4, r0
- cmp r4, 0
- beq _08040FDE
-_08041022:
- movs r0, 0
- strb r0, [r6]
-_08041026:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8040DA0
-
- thumb_func_start sub_8041038
-sub_8041038:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r7, r1, 0
- mov r8, r2
- mov r10, r3
- ldr r0, [r7, 0x70]
- mov r9, r0
- ldrh r4, [r2, 0x2]
- adds r0, r7, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- mov r2, r10
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- bl sub_800ECB8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080410F4
- mov r0, r9
- movs r1, 0x4
- ldrsh r5, [r0, r1]
- mov r0, r8
- ldrh r4, [r0, 0x2]
- adds r0, r7, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- mov r2, r10
- bl sub_80412E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_800E710
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080410BE
- adds r0, r6, 0
- adds r0, 0x8
- adds r1, r7, 0
- adds r1, 0x28
- lsls r2, 24
- lsrs r2, 24
- bl sub_800569C
- b _080410C2
-_080410BE:
- movs r0, 0
- str r0, [r6, 0x8]
-_080410C2:
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r6]
- mov r1, r9
- ldrh r0, [r1, 0x4]
- strh r0, [r6, 0x2]
- ldr r0, [r7, 0xC]
- cmp r0, 0
- bge _080410D6
- adds r0, 0xFF
-_080410D6:
- asrs r0, 8
- strh r0, [r6, 0x4]
- ldr r0, [r7, 0x10]
- cmp r0, 0
- bge _080410E2
- adds r0, 0xFF
-_080410E2:
- asrs r0, 8
- strh r0, [r6, 0x6]
- mov r0, r9
- adds r0, 0x46
- ldrb r0, [r0]
- str r0, [r6, 0xC]
- movs r0, 0
- str r0, [r6, 0x10]
- b _080410F6
-_080410F4:
- strh r0, [r6]
-_080410F6:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8041038
-
- thumb_func_start sub_8041108
-sub_8041108:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r3, 0
- ldrh r4, [r2, 0x2]
- adds r0, r7, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r5, 0
- bl sub_80412E0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_800ECB8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldrh r0, [r6]
- cmp r0, 0
- beq _08041162
- cmp r1, 0
- beq _08041162
- adds r0, r6, 0
- bl sub_8041500
- adds r0, r4, 0
- bl sub_800EEF8
- bl sub_800EF64
- movs r0, 0x5A
- bl sub_803E46C
- adds r0, r6, 0
- bl sub_800E52C
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8042DD4
-_08041162:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8041108
-
- thumb_func_start sub_8041168
-sub_8041168:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r8, r0
- adds r6, r1, 0
- adds r7, r2, 0
- mov r9, r3
- adds r1, r7, 0
- bl sub_804143C
- adds r5, r0, 0
- cmp r5, 0
- beq _0804118A
- movs r5, 0x1
-_0804118A:
- ldrh r4, [r7, 0x2]
- mov r0, r8
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- adds r2, r5, 0
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- bl sub_800ECB8
- movs r1, 0x4
- ldrsh r5, [r0, r1]
- movs r2, 0
- str r2, [sp, 0x14]
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080411CA
- ldr r0, [r6, 0x70]
- str r0, [sp, 0x14]
- adds r0, r6, 0
- bl sub_8042768
- b _080411D0
-_080411CA:
- mov r0, r9
- bl sub_803F428
-_080411D0:
- lsls r0, 24
- cmp r0, 0
- beq _080412CE
- mov r0, r8
- adds r1, r7, 0
- bl sub_80414C0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080412CE
- cmp r5, 0
- beq _080412CE
- adds r0, r5, 0
- bl sub_800ECA4
- ldr r5, [r0, 0x1C]
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _08041216
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08041216
- add r0, sp, 0x8
- adds r1, r6, 0
- adds r1, 0x28
- lsls r2, r5, 24
- lsrs r2, 24
- bl sub_800569C
- b _08041218
-_08041216:
- str r4, [sp, 0x8]
-_08041218:
- mov r0, sp
- mov r1, r10
- strh r1, [r0]
- ldr r2, [sp, 0x14]
- cmp r2, 0
- beq _08041248
- mov r1, sp
- ldrh r0, [r2, 0x4]
- strh r0, [r1, 0x2]
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _08041232
- adds r0, 0xFF
-_08041232:
- asrs r0, 8
- strh r0, [r1, 0x4]
- mov r1, sp
- ldr r0, [r6, 0x10]
- cmp r0, 0
- bge _08041240
- adds r0, 0xFF
-_08041240:
- asrs r0, 8
- strh r0, [r1, 0x6]
- movs r0, 0
- b _0804128C
-_08041248:
- mov r1, sp
- movs r0, 0x1
- strh r0, [r1, 0x2]
- mov r0, r9
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- mov r1, sp
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2
- cmp r0, 0
- bge _08041268
- adds r0, 0xFF
-_08041268:
- asrs r0, 8
- strh r0, [r1, 0x4]
- mov r0, r9
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- mov r1, sp
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2
- cmp r0, 0
- bge _08041286
- adds r0, 0xFF
-_08041286:
- asrs r0, 8
- strh r0, [r1, 0x6]
- ldr r0, [sp, 0x14]
-_0804128C:
- str r0, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x10]
- mov r0, sp
- bl sub_8041500
- mov r0, r10
- bl sub_800EEE0
- bl sub_800EF64
- mov r0, sp
- bl sub_800EBC8
- adds r4, r0, 0
- movs r0, 0x5B
- bl sub_803E46C
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x6
- bl sub_8042DD4
- b _080412C2
-_080412BC:
- movs r0, 0x28
- bl sub_803E46C
-_080412C2:
- adds r0, r4, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _080412BC
-_080412CE:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8041168
-
- thumb_func_start sub_80412E0
-sub_80412E0:
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r0, r1, 24
- adds r3, r4, 0
- cmp r3, 0x1F
- bne _08041344
- cmp r0, 0x7
- bls _080412F6
- b _080413F6
-_080412F6:
- lsls r0, 2
- ldr r1, _08041300
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08041300: .4byte _08041304
- .align 2, 0
-_08041304:
- .4byte _080413F4
- .4byte _08041324
- .4byte _0804132A
- .4byte _080413F4
- .4byte _08041334
- .4byte _0804133A
- .4byte _080413F4
- .4byte _0804133A
-_08041324:
- movs r3, 0xCF
- lsls r3, 1
- b _080413F6
-_0804132A:
- ldr r3, _08041330
- b _080413F6
- .align 2, 0
-_08041330: .4byte 0x000001a1
-_08041334:
- movs r3, 0xD0
- lsls r3, 1
- b _080413F6
-_0804133A:
- ldr r3, _08041340
- b _080413F6
- .align 2, 0
-_08041340: .4byte 0x0000019f
-_08041344:
- cmp r2, 0
- beq _080413F6
- cmp r3, 0x97
- beq _080413B4
- cmp r3, 0x97
- bgt _0804136C
- cmp r3, 0x3C
- beq _0804139C
- cmp r3, 0x3C
- bgt _08041362
- cmp r3, 0x8
- beq _08041396
- cmp r3, 0x19
- beq _080413E4
- b _080413F4
-_08041362:
- cmp r3, 0x4B
- beq _080413A4
- cmp r3, 0x64
- beq _080413AA
- b _080413F4
-_0804136C:
- cmp r3, 0xCD
- beq _080413CA
- cmp r3, 0xCD
- bgt _0804137E
- cmp r3, 0x99
- beq _080413BA
- cmp r3, 0x9C
- beq _080413C4
- b _080413F4
-_0804137E:
- cmp r3, 0xED
- beq _080413DA
- cmp r3, 0xED
- bgt _0804138C
- cmp r3, 0xE3
- beq _080413EA
- b _080413F4
-_0804138C:
- movs r0, 0xAE
- lsls r0, 1
- cmp r3, r0
- beq _080413D4
- b _080413F4
-_08041396:
- movs r3, 0xD1
- lsls r3, 1
- b _080413F6
-_0804139C:
- ldr r3, _080413A0
- b _080413F6
- .align 2, 0
-_080413A0: .4byte 0x000001a3
-_080413A4:
- movs r3, 0xD2
- lsls r3, 1
- b _080413F6
-_080413AA:
- ldr r3, _080413B0
- b _080413F6
- .align 2, 0
-_080413B0: .4byte 0x000001a5
-_080413B4:
- movs r3, 0xD3
- lsls r3, 1
- b _080413F6
-_080413BA:
- ldr r3, _080413C0
- b _080413F6
- .align 2, 0
-_080413C0: .4byte 0x000001a7
-_080413C4:
- movs r3, 0xD4
- lsls r3, 1
- b _080413F6
-_080413CA:
- ldr r3, _080413D0
- b _080413F6
- .align 2, 0
-_080413D0: .4byte 0x000001a9
-_080413D4:
- movs r3, 0xD5
- lsls r3, 1
- b _080413F6
-_080413DA:
- ldr r3, _080413E0
- b _080413F6
- .align 2, 0
-_080413E0: .4byte 0x000001ab
-_080413E4:
- movs r3, 0xD6
- lsls r3, 1
- b _080413F6
-_080413EA:
- ldr r3, _080413F0
- b _080413F6
- .align 2, 0
-_080413F0: .4byte 0x000001ad
-_080413F4:
- adds r3, r4, 0
-_080413F6:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80412E0
-
- thumb_func_start sub_8041400
-sub_8041400:
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- bl sub_800ED20
- pop {r1}
- bx r1
- thumb_func_end sub_8041400
-
- thumb_func_start sub_804141C
-sub_804141C:
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- bl sub_800EC84
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_804141C
-
- thumb_func_start sub_804143C
-sub_804143C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrh r0, [r5, 0x2]
- cmp r0, 0xED
- bne _08041476
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080414A4
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080414A4
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrb r0, [r0]
- cmp r0, 0xE
- beq _080414A0
- adds r0, r1, 0
- adds r0, 0x5D
- ldrb r0, [r0]
- cmp r0, 0xE
- beq _080414A0
- b _0804148A
-_08041476:
- cmp r0, 0x19
- beq _0804147E
- cmp r0, 0xE3
- bne _0804148E
-_0804147E:
- adds r0, r4, 0
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- beq _080414A0
-_0804148A:
- movs r0, 0
- b _080414B8
-_0804148E:
- cmp r0, 0x97
- bne _080414A4
- adds r0, r4, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080414A4
-_080414A0:
- movs r0, 0x1
- b _080414B8
-_080414A4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80570AC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_080414B8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_804143C
-
- thumb_func_start sub_80414C0
-sub_80414C0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrh r0, [r4, 0x2]
- cmp r0, 0x9C
- bne _080414DC
- adds r0, r5, 0
- bl sub_8045128
- bl sub_804AF20
- lsls r0, 24
- cmp r0, 0
- bne _080414F2
-_080414DC:
- ldrh r0, [r4, 0x2]
- cmp r0, 0x8
- bne _080414F6
- adds r0, r5, 0
- bl sub_8045128
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _080414F6
-_080414F2:
- movs r0, 0x1
- b _080414F8
-_080414F6:
- movs r0, 0
-_080414F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80414C0
-
- thumb_func_start sub_8041500
-sub_8041500:
- push {lr}
- bl sub_800E7D0
- lsls r0, 24
- cmp r0, 0
- beq _08041518
- movs r0, 0x5C
- bl sub_803E46C
- movs r0, 0x5D
- bl sub_8052740
-_08041518:
- pop {r0}
- bx r0
- thumb_func_end sub_8041500
-
- thumb_func_start sub_804151C
-sub_804151C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_800DC9C
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8041550
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_804151C
-
- thumb_func_start sub_8041550
-sub_8041550:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r7, r0, 0
- mov r10, r1
- ldr r0, [sp, 0x54]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x2C]
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0804159C
- ldr r0, [r7, 0x70]
- mov r8, r0
- adds r0, r7, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _0804159C
- cmp r6, 0
- bne _080415A2
- mov r0, r8
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080415A2
-_0804159C:
- movs r0, 0x1
- negs r0, r0
- b _08041692
-_080415A2:
- ldr r1, [sp, 0x50]
- cmp r1, 0
- beq _080415B4
- movs r0, 0
- cmp r1, 0x2
- bne _080415B0
- movs r0, 0x1
-_080415B0:
- bl sub_804178C
-_080415B4:
- add r6, sp, 0x28
- adds r1, r7, 0
- adds r1, 0x28
- adds r0, r6, 0
- mov r2, r9
- bl sub_800569C
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0x63
- beq _080415F2
- ldrh r0, [r6, 0x2]
- cmp r0, 0x63
- beq _080415F2
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsls r0, 8
- ldr r1, [r7, 0xC]
- adds r4, r1, r0
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- lsls r0, 8
- ldr r2, [r7, 0x10]
- adds r0, r2, r0
- movs r1, 0xBA
- lsls r1, 1
- add r1, r8
- ldr r1, [r1]
- subs r5, r0, r1
- adds r1, r2, 0
- b _08041600
-_080415F2:
- ldr r4, [r7, 0xC]
- movs r0, 0xBA
- lsls r0, 1
- add r0, r8
- ldr r1, [r7, 0x10]
- ldr r0, [r0]
- subs r5, r1, r0
-_08041600:
- cmp r1, 0
- bge _08041606
- adds r1, 0xFF
-_08041606:
- asrs r1, 8
- ldr r0, _0804166C
- ldr r0, [r0]
- ldr r2, _08041670
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r1, r0
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r1, r0, 1
- adds r1, 0x1
- mov r0, r10
- str r0, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- movs r6, 0x1
- negs r6, r6
- str r6, [sp, 0x8]
- mov r2, sp
- adds r0, r4, 0
- cmp r4, 0
- bge _08041636
- adds r0, 0xFF
-_08041636:
- asrs r0, 8
- strh r0, [r2, 0xC]
- mov r2, sp
- adds r0, r5, 0
- cmp r0, 0
- bge _08041644
- adds r0, 0xFF
-_08041644:
- asrs r0, 8
- strh r0, [r2, 0xE]
- str r6, [sp, 0x14]
- mov r0, sp
- strh r3, [r0, 0x10]
- strh r3, [r0, 0x12]
- str r1, [sp, 0x18]
- add r0, sp, 0x1C
- bl sub_8004E8C
- mov r0, sp
- movs r1, 0
- bl sub_8041764
- adds r4, r0, 0
- ldr r1, [sp, 0x2C]
- cmp r1, 0
- beq _08041690
- movs r5, 0
- b _0804167C
- .align 2, 0
-_0804166C: .4byte gUnknown_203B418
-_08041670: .4byte 0x000181f2
-_08041674:
- movs r0, 0x42
- bl sub_803E46C
- adds r5, 0x1
-_0804167C:
- cmp r5, 0x63
- bgt _0804168C
- adds r0, r4, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _08041674
-_0804168C:
- movs r4, 0x1
- negs r4, r4
-_08041690:
- adds r0, r4, 0
-_08041692:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8041550
-
- thumb_func_start sub_80416A4
-sub_80416A4:
- push {r4,lr}
- sub sp, 0x8
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- ldrsh r4, [r0, r3]
- lsls r3, r4, 1
- adds r3, r4
- lsls r3, 11
- movs r4, 0xC0
- lsls r4, 4
- adds r3, r4
- str r3, [sp]
- movs r4, 0x2
- ldrsh r3, [r0, r4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 11
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3
- str r0, [sp, 0x4]
- mov r0, sp
- bl sub_80416E0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80416A4
-
- thumb_func_start sub_80416E0
-sub_80416E0:
- push {r4,r5,lr}
- sub sp, 0x28
- adds r3, r0, 0
- lsls r2, 24
- lsrs r5, r2, 24
- str r1, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp, 0x8]
- mov r1, sp
- ldr r0, [r3]
- cmp r0, 0
- bge _08041700
- adds r0, 0xFF
-_08041700:
- asrs r0, 8
- strh r0, [r1, 0xC]
- mov r1, sp
- ldr r0, [r3, 0x4]
- cmp r0, 0
- bge _0804170E
- adds r0, 0xFF
-_0804170E:
- asrs r0, 8
- strh r0, [r1, 0xE]
- str r4, [sp, 0x14]
- mov r0, sp
- strh r2, [r0, 0x10]
- strh r2, [r0, 0x12]
- ldr r0, _08041738
- str r0, [sp, 0x18]
- add r0, sp, 0x1C
- bl sub_8004E8C
- mov r0, sp
- movs r1, 0
- bl sub_8041764
- adds r4, r0, 0
- cmp r5, 0
- beq _08041758
- movs r5, 0
- b _08041744
- .align 2, 0
-_08041738: .4byte 0x0000ffff
-_0804173C:
- movs r0, 0x42
- bl sub_803E46C
- adds r5, 0x1
-_08041744:
- cmp r5, 0x63
- bgt _08041754
- adds r0, r4, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _0804173C
-_08041754:
- movs r4, 0x1
- negs r4, r4
-_08041758:
- adds r0, r4, 0
- add sp, 0x28
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80416E0
-
- thumb_func_start sub_8041764
-sub_8041764:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r0, [r5]
- bl sub_800EE5C
- bl sub_800EF64
- cmp r4, 0
- beq _08041780
- movs r0, 0x42
- bl sub_803E46C
-_08041780:
- adds r0, r5, 0
- bl sub_800E890
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8041764
-
- thumb_func_start sub_804178C
-sub_804178C:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080417B0
- ldr r0, [r0]
- ldr r1, _080417B4
- adds r0, r1
- str r4, [r0]
- adds r0, r5, 0
- bl sub_800E9FC
- lsls r0, 24
- cmp r0, 0
- beq _080417E0
- ldr r6, _080417B8
- b _080417C4
- .align 2, 0
-_080417B0: .4byte gUnknown_203B418
-_080417B4: .4byte 0x00018204
-_080417B8: .4byte 0x000003e7
-_080417BC:
- movs r0, 0x4A
- bl sub_803E46C
- adds r4, 0x1
-_080417C4:
- cmp r4, r6
- bgt _080417D4
- adds r0, r5, 0
- bl sub_800E9FC
- lsls r0, 24
- cmp r0, 0
- bne _080417BC
-_080417D4:
- movs r0, 0x4A
- bl sub_803E46C
- movs r0, 0x4A
- bl sub_803E46C
-_080417E0:
- movs r0, 0xFA
- lsls r0, 2
- cmp r4, r0
- beq _080417EC
- cmp r5, 0
- beq _080417F0
-_080417EC:
- bl sub_800DBBC
-_080417F0:
- ldr r2, _08041824
- ldr r0, [r2]
- cmp r0, 0x1E
- bgt _08041860
- ldr r1, _08041828
- ldrb r7, [r1]
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0
- adds r5, r2, 0
- ldr r6, _0804182C
-_08041806:
- ldr r0, [r5]
- cmp r0, 0x1E
- bgt _08041838
- adds r0, 0x4
- str r0, [r5]
- ldr r1, _08041830
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r6
- beq _0804183C
- ldr r3, _08041834
- adds r0, r2, r3
- strh r0, [r1]
- b _0804183C
- .align 2, 0
-_08041824: .4byte gUnknown_202EDC8
-_08041828: .4byte gUnknown_203B40D
-_0804182C: .4byte 0x00000808
-_08041830: .4byte gUnknown_2026E4E
-_08041834: .4byte 0xfffffeff
-_08041838:
- movs r0, 0x1F
- str r0, [r5]
-_0804183C:
- bl sub_803EA10
- movs r0, 0x4A
- bl sub_803E46C
- ldr r0, [r5]
- cmp r0, 0x1F
- beq _08041854
- adds r4, 0x1
- ldr r0, _0804186C
- cmp r4, r0
- ble _08041806
-_08041854:
- ldr r0, _08041870
- ldr r2, _08041874
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _08041878
- strb r7, [r0]
-_08041860:
- bl sub_8042E98
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804186C: .4byte 0x000003e7
-_08041870: .4byte gUnknown_2026E4E
-_08041874: .4byte 0x00000808
-_08041878: .4byte gUnknown_203B40D
- thumb_func_end sub_804178C
-
- thumb_func_start sub_804187C
-sub_804187C:
- ldr r0, [r0, 0x70]
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- thumb_func_end sub_804187C
-
- thumb_func_start sub_8041888
-sub_8041888:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_08041890:
- ldr r0, _080418CC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080418D0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080418C0
- ldr r1, [r4, 0x70]
- cmp r6, 0
- beq _080418BA
- movs r0, 0xA6
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
-_080418BA:
- adds r0, r4, 0
- bl sub_80418D4
-_080418C0:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08041890
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080418CC: .4byte gUnknown_203B418
-_080418D0: .4byte 0x000135cc
- thumb_func_end sub_8041888
-
- thumb_func_start sub_80418D4
-sub_80418D4:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080418E4
- b _08041A8C
-_080418E4:
- ldr r2, [r4, 0x70]
- movs r3, 0
- movs r1, 0x1
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- cmp r0, 0xB9
- bne _08041902
- adds r0, r2, 0
- adds r0, 0xA9
- ldrb r0, [r0]
- movs r1, 0x7F
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
-_08041902:
- cmp r1, 0
- beq _08041914
- ldr r1, _08041A94
- adds r0, r2, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
-_08041914:
- ldr r1, _08041A98
- adds r0, r2, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041A9C
- adds r0, r2, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AA0
- adds r0, r2, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AA4
- adds r0, r2, 0
- adds r0, 0xC0
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AA8
- adds r0, r2, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AAC
- adds r0, r2, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AB0
- adds r0, r2, 0
- adds r0, 0xD0
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AB4
- adds r0, r2, 0
- adds r0, 0xDC
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AB8
- adds r0, r2, 0
- adds r0, 0xE0
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041ABC
- adds r0, r2, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AC0
- adds r0, r2, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- ldr r1, _08041AC4
- adds r0, r2, 0
- adds r0, 0xEC
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- orrs r3, r0
- adds r0, r2, 0
- adds r0, 0xF4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080419E4
- movs r0, 0x80
- lsls r0, 17
- orrs r3, r0
-_080419E4:
- adds r0, r2, 0
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080419F4
- movs r0, 0x80
- lsls r0, 18
- orrs r3, r0
-_080419F4:
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- bne _08041A14
- movs r0, 0x10
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bge _08041A04
- adds r1, 0x3
-_08041A04:
- asrs r1, 2
- movs r4, 0xE
- ldrsh r0, [r2, r4]
- cmp r1, r0
- ble _08041A14
- movs r0, 0x80
- lsls r0, 6
- orrs r3, r0
-_08041A14:
- ldr r0, _08041AC8
- ldr r0, [r0]
- ldr r1, _08041ACC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08041A36
- adds r0, r2, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08041A36
- movs r0, 0x80
- lsls r0, 6
- orrs r3, r0
-_08041A36:
- ldr r0, [r2, 0x2C]
- cmp r0, 0xFF
- ble _08041A7E
- ldr r0, [r2, 0x30]
- cmp r0, 0xFF
- ble _08041A7E
- ldr r0, [r2, 0x34]
- cmp r0, 0xFF
- ble _08041A7E
- ldr r0, [r2, 0x38]
- cmp r0, 0xFF
- ble _08041A7E
- movs r4, 0x1C
- ldrsh r0, [r2, r4]
- cmp r0, 0x9
- ble _08041A7E
- movs r1, 0x1E
- ldrsh r0, [r2, r1]
- cmp r0, 0x9
- ble _08041A7E
- movs r4, 0x20
- ldrsh r0, [r2, r4]
- cmp r0, 0x9
- ble _08041A7E
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- cmp r0, 0x9
- ble _08041A7E
- movs r4, 0x24
- ldrsh r0, [r2, r4]
- cmp r0, 0x9
- ble _08041A7E
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0x9
- bgt _08041A84
-_08041A7E:
- movs r0, 0x80
- lsls r0, 20
- orrs r3, r0
-_08041A84:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r2, r4
- str r3, [r0]
-_08041A8C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08041A94: .4byte gUnknown_80F669C
-_08041A98: .4byte gUnknown_80F66B4
-_08041A9C: .4byte gUnknown_80F66C8
-_08041AA0: .4byte gUnknown_80F66E8
-_08041AA4: .4byte gUnknown_80F6708
-_08041AA8: .4byte gUnknown_80F673C
-_08041AAC: .4byte gUnknown_80F6778
-_08041AB0: .4byte gUnknown_80F6788
-_08041AB4: .4byte gUnknown_80F6794
-_08041AB8: .4byte gUnknown_80F67A8
-_08041ABC: .4byte gUnknown_80F67B4
-_08041AC0: .4byte gUnknown_80F67C4
-_08041AC4: .4byte gUnknown_80F67D4
-_08041AC8: .4byte gUnknown_203B418
-_08041ACC: .4byte 0x00000676
- thumb_func_end sub_80418D4
-
- thumb_func_start sub_8041AD0
-sub_8041AD0:
- push {lr}
- movs r1, 0xA2
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041AD0
-
- thumb_func_start sub_8041AE0
-sub_8041AE0:
- push {lr}
- ldr r1, _08041AF0
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041AF0: .4byte 0x00000143
- thumb_func_end sub_8041AE0
-
- thumb_func_start sub_8041AF4
-sub_8041AF4:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x25
- movs r2, 0x1
- bl sub_804151C
- ldr r1, _08041B10
- adds r0, r4, 0
- bl sub_80421C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08041B10: .4byte 0x00000197
- thumb_func_end sub_8041AF4
-
- thumb_func_start nullsub_57
-nullsub_57:
- bx lr
- thumb_func_end nullsub_57
-
- thumb_func_start sub_8041B18
-sub_8041B18:
- push {lr}
- ldr r1, _08041B28
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041B28: .4byte 0x00000141
- thumb_func_end sub_8041B18
-
- thumb_func_start nullsub_58
-nullsub_58:
- bx lr
- thumb_func_end nullsub_58
-
- thumb_func_start nullsub_59
-nullsub_59:
- bx lr
- thumb_func_end nullsub_59
-
- thumb_func_start sub_8041B34
-sub_8041B34:
- push {lr}
- movs r1, 0x7
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041B34
-
- thumb_func_start nullsub_60
-nullsub_60:
- bx lr
- thumb_func_end nullsub_60
-
- thumb_func_start sub_8041B48
-sub_8041B48:
- push {lr}
- movs r1, 0x4
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041B48
-
- thumb_func_start nullsub_61
-nullsub_61:
- bx lr
- thumb_func_end nullsub_61
-
- thumb_func_start sub_8041B5C
-sub_8041B5C:
- push {lr}
- ldr r1, _08041B6C
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041B6C: .4byte 0x00000171
- thumb_func_end sub_8041B5C
-
- thumb_func_start nullsub_62
-nullsub_62:
- bx lr
- thumb_func_end nullsub_62
-
- thumb_func_start sub_8041B74
-sub_8041B74:
- push {lr}
- ldr r1, _08041B84
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041B84: .4byte 0x00000171
- thumb_func_end sub_8041B74
-
- thumb_func_start nullsub_63
-nullsub_63:
- bx lr
- thumb_func_end nullsub_63
-
- thumb_func_start nullsub_64
-nullsub_64:
- bx lr
- thumb_func_end nullsub_64
-
- thumb_func_start sub_8041B90
-sub_8041B90:
- push {lr}
- movs r1, 0xD6
- lsls r1, 1
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041B90
-
- thumb_func_start nullsub_65
-nullsub_65:
- bx lr
- thumb_func_end nullsub_65
-
- thumb_func_start nullsub_66
-nullsub_66:
- bx lr
- thumb_func_end nullsub_66
-
- thumb_func_start sub_8041BA8
-sub_8041BA8:
- push {lr}
- movs r1, 0x4
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041BA8
-
- thumb_func_start nullsub_67
-nullsub_67:
- bx lr
- thumb_func_end nullsub_67
-
- thumb_func_start sub_8041BBC
-sub_8041BBC:
- push {lr}
- movs r1, 0xD4
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041BBC
-
- thumb_func_start nullsub_68
-nullsub_68:
- bx lr
- thumb_func_end nullsub_68
-
- thumb_func_start sub_8041BD0
-sub_8041BD0:
- push {lr}
- lsls r1, 24
- cmp r1, 0
- beq _08041BDE
- ldr r1, _08041BE4
- bl sub_80421C0
-_08041BDE:
- pop {r0}
- bx r0
- .align 2, 0
-_08041BE4: .4byte 0x000001a5
- thumb_func_end sub_8041BD0
-
- thumb_func_start sub_8041BE8
-sub_8041BE8:
- push {lr}
- movs r1, 0xCB
- lsls r1, 1
- bl sub_80421C0
- pop {r0}
- bx r0
- thumb_func_end sub_8041BE8
-
- thumb_func_start sub_8041BF8
-sub_8041BF8:
- push {lr}
- movs r1, 0xA
- movs r2, 0x8
- bl sub_806CDD4
- pop {r0}
- bx r0
- thumb_func_end sub_8041BF8
-
- thumb_func_start sub_8041C08
-sub_8041C08:
- push {lr}
- ldr r1, _08041C18
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041C18: .4byte 0x000001a7
- thumb_func_end sub_8041C08
-
- thumb_func_start sub_8041C1C
-sub_8041C1C:
- push {lr}
- ldr r1, _08041C2C
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041C2C: .4byte 0x000001a7
- thumb_func_end sub_8041C1C
-
- thumb_func_start nullsub_69
-nullsub_69:
- bx lr
- thumb_func_end nullsub_69
-
- thumb_func_start sub_8041C34
-sub_8041C34:
- push {lr}
- movs r1, 0x4C
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041C34
-
- thumb_func_start nullsub_70
-nullsub_70:
- bx lr
- thumb_func_end nullsub_70
-
- thumb_func_start nullsub_71
-nullsub_71:
- bx lr
- thumb_func_end nullsub_71
-
- thumb_func_start sub_8041C4C
-sub_8041C4C:
- push {lr}
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041C4C
-
- thumb_func_start sub_8041C58
-sub_8041C58:
- push {lr}
- ldr r1, _08041C68
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041C68: .4byte 0x000001a9
- thumb_func_end sub_8041C58
-
- thumb_func_start sub_8041C6C
-sub_8041C6C:
- push {lr}
- movs r1, 0x9D
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041C6C
-
- thumb_func_start sub_8041C7C
-sub_8041C7C:
- push {lr}
- movs r1, 0x9D
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041C7C
-
- thumb_func_start nullsub_72
-nullsub_72:
- bx lr
- thumb_func_end nullsub_72
-
- thumb_func_start nullsub_73
-nullsub_73:
- bx lr
- thumb_func_end nullsub_73
-
- thumb_func_start sub_8041C94
-sub_8041C94:
- push {lr}
- ldr r1, _08041CA4
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041CA4: .4byte 0x00000171
- thumb_func_end sub_8041C94
-
- thumb_func_start sub_8041CA8
-sub_8041CA8:
- push {lr}
- movs r1, 0x7
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041CA8
-
- thumb_func_start sub_8041CB8
-sub_8041CB8:
- push {lr}
- ldr r1, _08041CC8
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041CC8: .4byte 0x0000018b
- thumb_func_end sub_8041CB8
-
- thumb_func_start sub_8041CCC
-sub_8041CCC:
- push {lr}
- movs r1, 0xC5
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041CCC
-
- thumb_func_start sub_8041CDC
-sub_8041CDC:
- push {lr}
- movs r1, 0x5
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041CDC
-
- thumb_func_start sub_8041CEC
-sub_8041CEC:
- push {lr}
- ldr r1, _08041CF8
- bl sub_80421C0
- pop {r0}
- bx r0
- .align 2, 0
-_08041CF8: .4byte 0x0000019d
- thumb_func_end sub_8041CEC
-
- thumb_func_start nullsub_74
-nullsub_74:
- bx lr
- thumb_func_end nullsub_74
-
- thumb_func_start sub_8041D00
-sub_8041D00:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- movs r1, 0x2F
- movs r2, 0x1
- bl sub_804151C
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x1
- bl sub_804151C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8041D00
-
- thumb_func_start nullsub_75
-nullsub_75:
- bx lr
- thumb_func_end nullsub_75
-
- thumb_func_start nullsub_76
-nullsub_76:
- bx lr
- thumb_func_end nullsub_76
-
- thumb_func_start nullsub_77
-nullsub_77:
- bx lr
- thumb_func_end nullsub_77
-
- thumb_func_start nullsub_78
-nullsub_78:
- bx lr
- thumb_func_end nullsub_78
-
- thumb_func_start nullsub_79
-nullsub_79:
- bx lr
- thumb_func_end nullsub_79
-
- thumb_func_start nullsub_80
-nullsub_80:
- bx lr
- thumb_func_end nullsub_80
-
- thumb_func_start sub_8041D38
-sub_8041D38:
- push {lr}
- movs r1, 0x21
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041D38
-
- thumb_func_start sub_8041D48
-sub_8041D48:
- push {lr}
- ldr r1, _08041D54
- bl sub_80421C0
- pop {r0}
- bx r0
- .align 2, 0
-_08041D54: .4byte 0x00000191
- thumb_func_end sub_8041D48
-
- thumb_func_start nullsub_81
-nullsub_81:
- bx lr
- thumb_func_end nullsub_81
-
- thumb_func_start sub_8041D5C
-sub_8041D5C:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _08041D7E
- ldr r0, [r4, 0x70]
- movs r1, 0x89
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0xB
- bl sub_803ED30
-_08041D7E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8041D5C
-
- thumb_func_start sub_8041D84
-sub_8041D84:
- push {lr}
- ldr r1, _08041D90
- bl sub_80421C0
- pop {r0}
- bx r0
- .align 2, 0
-_08041D90: .4byte 0x0000019f
- thumb_func_end sub_8041D84
-
- thumb_func_start nullsub_82
-nullsub_82:
- bx lr
- thumb_func_end nullsub_82
-
- thumb_func_start nullsub_83
-nullsub_83:
- bx lr
- thumb_func_end nullsub_83
-
- thumb_func_start sub_8041D9C
-sub_8041D9C:
- push {lr}
- ldr r1, _08041DAC
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041DAC: .4byte 0x00000131
- thumb_func_end sub_8041D9C
-
- thumb_func_start sub_8041DB0
-sub_8041DB0:
- push {lr}
- movs r1, 0x30
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041DB0
-
- thumb_func_start nullsub_84
-nullsub_84:
- bx lr
- thumb_func_end nullsub_84
-
- thumb_func_start nullsub_85
-nullsub_85:
- bx lr
- thumb_func_end nullsub_85
-
- thumb_func_start nullsub_204
-nullsub_204:
- bx lr
- thumb_func_end nullsub_204
-
- thumb_func_start nullsub_86
-nullsub_86:
- bx lr
- thumb_func_end nullsub_86
-
- thumb_func_start nullsub_87
-nullsub_87:
- bx lr
- thumb_func_end nullsub_87
-
- thumb_func_start nullsub_88
-nullsub_88:
- bx lr
- thumb_func_end nullsub_88
-
- thumb_func_start sub_8041DD8
-sub_8041DD8:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- asrs r5, r1, 16
- movs r1, 0xE
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _08041DF8
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_804151C
- b _08041E02
-_08041DF8:
- adds r0, r4, 0
- movs r1, 0xE
- movs r2, 0x1
- bl sub_804151C
-_08041E02:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8041DD8
-
- thumb_func_start nullsub_89
-nullsub_89:
- bx lr
- thumb_func_end nullsub_89
-
- thumb_func_start sub_8041E0C
-sub_8041E0C:
- push {lr}
- movs r1, 0x41
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041E0C
-
- thumb_func_start sub_8041E1C
-sub_8041E1C:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x8F
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r4, 0
- bl sub_80421C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8041E1C
-
- thumb_func_start sub_8041E3C
-sub_8041E3C:
- push {lr}
- movs r1, 0xD7
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041E3C
-
- thumb_func_start sub_8041E4C
-sub_8041E4C:
- push {lr}
- ldr r1, _08041E5C
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041E5C: .4byte 0x000001b1
- thumb_func_end sub_8041E4C
-
- thumb_func_start sub_8041E60
-sub_8041E60:
- push {lr}
- ldr r1, _08041E70
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041E70: .4byte 0x000001a9
- thumb_func_end sub_8041E60
-
- thumb_func_start sub_8041E74
-sub_8041E74:
- push {lr}
- movs r1, 0xC9
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041E74
-
- thumb_func_start sub_8041E84
-sub_8041E84:
- push {lr}
- movs r1, 0xC7
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041E84
-
- thumb_func_start sub_8041E94
-sub_8041E94:
- push {lr}
- movs r1, 0xC8
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041E94
-
- thumb_func_start sub_8041EA4
-sub_8041EA4:
- push {lr}
- movs r1, 0x15
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041EA4
-
- thumb_func_start sub_8041EB4
-sub_8041EB4:
- push {lr}
- ldr r1, _08041EC4
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08041EC4: .4byte 0x00000171
- thumb_func_end sub_8041EB4
-
- thumb_func_start sub_8041EC8
-sub_8041EC8:
- push {lr}
- ldr r1, _08041ED4
- bl sub_80421C0
- pop {r0}
- bx r0
- .align 2, 0
-_08041ED4: .4byte 0x00000197
- thumb_func_end sub_8041EC8
-
- thumb_func_start sub_8041ED8
-sub_8041ED8:
- push {lr}
- ldr r1, _08041EE4
- bl sub_80421C0
- pop {r0}
- bx r0
- .align 2, 0
-_08041EE4: .4byte 0x00000197
- thumb_func_end sub_8041ED8
-
- thumb_func_start sub_8041EE8
-sub_8041EE8:
- push {lr}
- movs r1, 0x15
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041EE8
-
- thumb_func_start sub_8041EF8
-sub_8041EF8:
- push {lr}
- movs r1, 0xF
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8041EF8
-
- thumb_func_start sub_8041F08
-sub_8041F08:
- push {lr}
- sub sp, 0x8
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x15
- movs r2, 0x1
- movs r3, 0x3
- bl sub_8041550
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8041F08
-
- thumb_func_start nullsub_90
-nullsub_90:
- bx lr
- thumb_func_end nullsub_90
-
- thumb_func_start sub_8041F28
-sub_8041F28:
- push {lr}
- cmp r1, 0
- bne _08041F3A
- movs r1, 0xCA
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- b _08041F42
-_08041F3A:
- ldr r1, _08041F48
- movs r2, 0x1
- bl sub_804151C
-_08041F42:
- pop {r0}
- bx r0
- .align 2, 0
-_08041F48: .4byte 0x00000193
- thumb_func_end sub_8041F28
-
- thumb_func_start sub_8041F4C
-sub_8041F4C:
- push {lr}
- cmp r1, 0
- bne _08041F60
- ldr r1, _08041F5C
- movs r2, 0x1
- bl sub_804151C
- b _08041F68
- .align 2, 0
-_08041F5C: .4byte 0x0000018f
-_08041F60:
- ldr r1, _08041F6C
- movs r2, 0x1
- bl sub_804151C
-_08041F68:
- pop {r0}
- bx r0
- .align 2, 0
-_08041F6C: .4byte 0x00000191
- thumb_func_end sub_8041F4C
-
- thumb_func_start sub_8041F70
-sub_8041F70:
- push {lr}
- cmp r1, 0
- bne _08041F84
- ldr r1, _08041F80
- movs r2, 0x1
- bl sub_804151C
- b _08041F8E
- .align 2, 0
-_08041F80: .4byte 0x000001a9
-_08041F84:
- movs r1, 0xC9
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
-_08041F8E:
- pop {r0}
- bx r0
- thumb_func_end sub_8041F70
-
- thumb_func_start sub_8041F94
-sub_8041F94:
- push {lr}
- cmp r1, 0
- bne _08041FA6
- movs r1, 0xC7
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- b _08041FB0
-_08041FA6:
- movs r1, 0xC8
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
-_08041FB0:
- pop {r0}
- bx r0
- thumb_func_end sub_8041F94
-
- thumb_func_start sub_8041FB4
-sub_8041FB4:
- push {lr}
- cmp r1, 0
- bne _08041FC8
- ldr r1, _08041FC4
- movs r2, 0x1
- bl sub_804151C
- b _08041FD2
- .align 2, 0
-_08041FC4: .4byte 0x000001a9
-_08041FC8:
- movs r1, 0xC9
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
-_08041FD2:
- pop {r0}
- bx r0
- thumb_func_end sub_8041FB4
-
- thumb_func_start sub_8041FD8
-sub_8041FD8:
- push {lr}
- cmp r1, 0
- bne _08041FEA
- movs r1, 0xCA
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- b _08041FF2
-_08041FEA:
- ldr r1, _08041FF8
- movs r2, 0x1
- bl sub_804151C
-_08041FF2:
- pop {r0}
- bx r0
- .align 2, 0
-_08041FF8: .4byte 0x00000193
- thumb_func_end sub_8041FD8
-
- thumb_func_start sub_8041FFC
-sub_8041FFC:
- push {lr}
- cmp r1, 0
- bne _0804200E
- movs r1, 0xC7
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- b _08042018
-_0804200E:
- movs r1, 0xC8
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
-_08042018:
- pop {r0}
- bx r0
- thumb_func_end sub_8041FFC
-
- thumb_func_start sub_804201C
-sub_804201C:
- push {lr}
- cmp r1, 0
- bne _08042030
- ldr r1, _0804202C
- movs r2, 0x1
- bl sub_804151C
- b _08042038
- .align 2, 0
-_0804202C: .4byte 0x0000018f
-_08042030:
- ldr r1, _0804203C
- movs r2, 0x1
- bl sub_804151C
-_08042038:
- pop {r0}
- bx r0
- .align 2, 0
-_0804203C: .4byte 0x00000191
- thumb_func_end sub_804201C
-
- thumb_func_start sub_8042040
-sub_8042040:
- push {lr}
- cmp r1, 0
- bne _08042052
- movs r1, 0xC6
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- b _0804205A
-_08042052:
- movs r1, 0xD
- movs r2, 0x1
- bl sub_804151C
-_0804205A:
- pop {r0}
- bx r0
- thumb_func_end sub_8042040
-
- thumb_func_start sub_8042060
-sub_8042060:
- push {lr}
- cmp r1, 0
- bne _08042074
- ldr r1, _08042070
- movs r2, 0x1
- bl sub_804151C
- b _0804207C
- .align 2, 0
-_08042070: .4byte 0x0000018d
-_08042074:
- movs r1, 0xE
- movs r2, 0x1
- bl sub_804151C
-_0804207C:
- pop {r0}
- bx r0
- thumb_func_end sub_8042060
-
- thumb_func_start sub_8042080
-sub_8042080:
- push {lr}
- cmp r1, 0
- bne _08042092
- movs r1, 0xC6
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- b _0804209A
-_08042092:
- movs r1, 0xD
- movs r2, 0x1
- bl sub_804151C
-_0804209A:
- pop {r0}
- bx r0
- thumb_func_end sub_8042080
-
- thumb_func_start sub_80420A0
-sub_80420A0:
- push {lr}
- ldr r1, _080420B0
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080420B0: .4byte 0x00000143
- thumb_func_end sub_80420A0
-
- thumb_func_start nullsub_91
-nullsub_91:
- bx lr
- thumb_func_end nullsub_91
-
- thumb_func_start sub_80420B8
-sub_80420B8:
- push {lr}
- movs r1, 0x19
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_80420B8
-
- thumb_func_start sub_80420C8
-sub_80420C8:
- push {lr}
- sub sp, 0x8
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x15
- movs r2, 0x1
- movs r3, 0x3
- bl sub_8041550
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80420C8
-
- thumb_func_start nullsub_92
-nullsub_92:
- bx lr
- thumb_func_end nullsub_92
-
- thumb_func_start sub_80420E8
-sub_80420E8:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, [r1, 0x8]
- ldr r0, _0804211C
- ldr r0, [r0]
- ldr r2, _08042120
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08042106
- adds r0, r1, 0
- bl sub_806F62C
- adds r1, r0, 0
-_08042106:
- cmp r1, 0x1
- beq _08042124
- cmp r1, 0x1
- bcc _08042116
- cmp r1, 0x2
- beq _08042128
- cmp r1, 0x3
- beq _0804212C
-_08042116:
- movs r1, 0x8
- b _0804212E
- .align 2, 0
-_0804211C: .4byte gUnknown_203B418
-_08042120: .4byte 0x0000016d
-_08042124:
- movs r1, 0x9
- b _0804212E
-_08042128:
- movs r1, 0xA
- b _0804212E
-_0804212C:
- movs r1, 0xB
-_0804212E:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl sub_8041550
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80420E8
-
- thumb_func_start sub_8042148
-sub_8042148:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08042164
- bl sub_80421C0
- movs r1, 0x9F
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_804151C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08042164: .4byte 0x000001a7
- thumb_func_end sub_8042148
-
- thumb_func_start nullsub_93
-nullsub_93:
- bx lr
- thumb_func_end nullsub_93
-
- thumb_func_start sub_804216C
-sub_804216C:
- push {lr}
- adds r0, r1, 0
- cmp r2, 0x1
- bne _0804217E
- movs r1, 0xF8
- movs r2, 0x1
- bl sub_804151C
- b _08042186
-_0804217E:
- movs r1, 0xF9
- movs r2, 0x1
- bl sub_804151C
-_08042186:
- pop {r0}
- bx r0
- thumb_func_end sub_804216C
-
- thumb_func_start sub_804218C
-sub_804218C:
- push {lr}
- adds r0, r1, 0
- movs r1, 0x2A
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_804218C
-
- thumb_func_start sub_804219C
-sub_804219C:
- push {lr}
- movs r1, 0x90
- movs r2, 0x1
- bl sub_80416E0
- pop {r0}
- bx r0
- thumb_func_end sub_804219C
-
- thumb_func_start sub_80421AC
-sub_80421AC:
- push {lr}
- adds r0, r1, 0
- ldr r1, _080421BC
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080421BC: .4byte 0x00000167
- thumb_func_end sub_80421AC
-
- thumb_func_start sub_80421C0
-sub_80421C0:
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- adds r4, r0, 0
- cmp r2, 0
- bne _080421D4
- bl sub_8083E38
- b _080421E6
-_080421D4:
- adds r0, r2, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _080421E6
- adds r0, r4, 0
- bl sub_8083E38
-_080421E6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80421C0
-
- thumb_func_start sub_80421EC
-sub_80421EC:
- push {r4,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _08042202
- adds r0, r4, 0
- bl sub_8083E38
-_08042202:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80421EC
-
- thumb_func_start sub_8042208
-sub_8042208:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _0804221C
- movs r0, 0xA9
- lsls r0, 1
- bl sub_8083E38
- b _08042234
-_0804221C:
- cmp r1, 0x1
- bne _0804222C
- ldr r0, _08042228
- bl sub_8083E38
- b _08042234
- .align 2, 0
-_08042228: .4byte 0x00000151
-_0804222C:
- movs r0, 0xA8
- lsls r0, 1
- bl sub_8083E38
-_08042234:
- pop {r0}
- bx r0
- thumb_func_end sub_8042208
-
- thumb_func_start sub_8042238
-sub_8042238:
- push {lr}
- ldr r0, [r1, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _08042250
- ldr r0, _0804224C
- bl sub_8083E38
- b _08042258
- .align 2, 0
-_0804224C: .4byte 0x00000157
-_08042250:
- movs r0, 0xAB
- lsls r0, 1
- bl sub_8083E38
-_08042258:
- pop {r0}
- bx r0
- thumb_func_end sub_8042238
-
- thumb_func_start sub_804225C
-sub_804225C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- adds r7, r4, 0
- cmp r4, 0x11
- bne _08042274
- b _08042384
-_08042274:
- adds r0, r5, 0
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- bne _08042282
- b _08042384
-_08042282:
- adds r0, r4, 0
- bl sub_800EF28
- bl sub_800EF64
- movs r0, 0x4
- movs r1, 0x42
- bl sub_803E708
- movs r0, 0
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- cmp r0, 0
- bge _080422AA
- adds r0, 0xFF
-_080422AA:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _080422FC
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
- cmp r0, 0
- bge _080422CE
- adds r0, 0xFF
-_080422CE:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _08042300
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- adds r0, r4, 0
- mov r1, sp
- bl sub_800E448
- adds r6, r0, 0
- cmp r4, 0x4
- bne _08042308
- ldr r1, _08042304
- movs r0, 0
- bl sub_80421C0
- movs r0, 0x28
- movs r1, 0x33
- bl sub_803E708
- b _08042360
- .align 2, 0
-_080422FC: .4byte 0xffff0000
-_08042300: .4byte 0x0000ffff
-_08042304: .4byte 0x00000193
-_08042308:
- cmp r7, 0x8
- bne _08042358
- mov r0, r8
- ldr r7, [r0, 0x70]
- adds r0, r7, 0
- adds r0, 0x46
- ldrb r4, [r0]
- movs r5, 0
- b _0804231C
-_0804231A:
- adds r5, 0x2
-_0804231C:
- ldr r0, _08042354
- cmp r5, r0
- bgt _08042346
- subs r4, 0x1
- movs r0, 0x7
- ands r4, r0
- mov r0, r8
- movs r1, 0
- adds r2, r4, 0
- bl sub_806CDD4
- movs r0, 0x2
- movs r1, 0x33
- bl sub_803E708
- adds r0, r6, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _0804231A
-_08042346:
- movs r0, 0x7
- ands r4, r0
- adds r0, r7, 0
- adds r0, 0x46
- strb r4, [r0]
- b _08042360
- .align 2, 0
-_08042354: .4byte 0x000003e7
-_08042358:
- movs r0, 0x28
- movs r1, 0x33
- bl sub_803E708
-_08042360:
- movs r5, 0
- ldr r4, _08042368
- b _0804236E
- .align 2, 0
-_08042368: .4byte 0x000003e7
-_0804236C:
- adds r5, 0x1
-_0804236E:
- cmp r5, r4
- bgt _08042384
- movs r0, 0x42
- bl sub_803E46C
- adds r0, r6, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _0804236C
-_08042384:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804225C
-
- thumb_func_start sub_8042390
-sub_8042390:
- push {r4-r6,lr}
- sub sp, 0x18
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _08042454
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- movs r6, 0
- cmp r0, 0
- bne _080423B0
- ldrb r6, [r4, 0x2]
-_080423B0:
- adds r0, r6, 0
- movs r1, 0
- bl sub_800EF40
- bl sub_800EF64
- movs r0, 0x4
- movs r1, 0x42
- bl sub_803E708
- ldr r0, [r5, 0xC]
- cmp r0, 0
- bge _080423CC
- adds r0, 0xFF
-_080423CC:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _08042428
- ldr r2, [sp, 0x14]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x14]
- ldr r0, [r5, 0x10]
- cmp r0, 0
- bge _080423E2
- adds r0, 0xFF
-_080423E2:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r4, _0804242C
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x14]
- asrs r4, 16
- ldr r0, _08042430
- ldr r0, [r0]
- ldr r1, _08042434
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- adds r4, 0x1
- adds r1, r5, 0
- adds r1, 0x28
- add r0, sp, 0x4
- bl sub_8005700
- add r1, sp, 0x14
- str r4, [sp]
- adds r0, r6, 0
- add r2, sp, 0x4
- movs r3, 0
- bl sub_800E49C
- adds r5, r0, 0
- movs r4, 0
- ldr r6, _08042438
- b _0804243E
- .align 2, 0
-_08042428: .4byte 0xffff0000
-_0804242C: .4byte 0x0000ffff
-_08042430: .4byte gUnknown_203B418
-_08042434: .4byte 0x000181f2
-_08042438: .4byte 0x000003e7
-_0804243C:
- adds r4, 0x1
-_0804243E:
- cmp r4, r6
- bgt _08042454
- movs r0, 0x42
- bl sub_803E46C
- adds r0, r5, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _0804243C
-_08042454:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8042390
-
- thumb_func_start sub_804245C
-sub_804245C:
- push {r4-r6,lr}
- sub sp, 0x18
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _08042518
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- movs r6, 0
- cmp r0, 0
- bne _0804247C
- ldrb r6, [r4, 0x2]
-_0804247C:
- bl sub_800EF64
- movs r0, 0x4
- movs r1, 0x42
- bl sub_803E708
- ldr r0, [r5, 0xC]
- cmp r0, 0
- bge _08042490
- adds r0, 0xFF
-_08042490:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _080424EC
- ldr r2, [sp, 0x14]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x14]
- ldr r0, [r5, 0x10]
- cmp r0, 0
- bge _080424A6
- adds r0, 0xFF
-_080424A6:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r4, _080424F0
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x14]
- asrs r4, 16
- ldr r0, _080424F4
- ldr r0, [r0]
- ldr r1, _080424F8
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- adds r4, 0x1
- adds r1, r5, 0
- adds r1, 0x28
- add r0, sp, 0x4
- bl sub_8005700
- add r1, sp, 0x14
- str r4, [sp]
- adds r0, r6, 0
- add r2, sp, 0x4
- movs r3, 0x1
- bl sub_800E49C
- adds r5, r0, 0
- movs r4, 0
- ldr r6, _080424FC
- b _08042502
- .align 2, 0
-_080424EC: .4byte 0xffff0000
-_080424F0: .4byte 0x0000ffff
-_080424F4: .4byte gUnknown_203B418
-_080424F8: .4byte 0x000181f2
-_080424FC: .4byte 0x000003e7
-_08042500:
- adds r4, 0x1
-_08042502:
- cmp r4, r6
- bgt _08042518
- movs r0, 0x42
- bl sub_803E46C
- adds r0, r5, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _08042500
-_08042518:
- add sp, 0x18
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_804245C
-
- thumb_func_start sub_8042520
-sub_8042520:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- adds r4, r0, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- bne _0804253A
- b _08042664
-_0804253A:
- ldr r0, [r4, 0x70]
- adds r0, 0x46
- ldrb r5, [r0]
- ldr r0, [r4, 0xC]
- cmp r0, 0
- bge _08042548
- adds r0, 0xFF
-_08042548:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _0804264C
- ldr r2, [sp, 0x2C]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x2C]
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bge _0804255E
- adds r0, 0xFF
-_0804255E:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _08042650
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x2C]
- asrs r1, 16
- ldr r0, _08042654
- ldr r0, [r0]
- ldr r2, _08042658
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r7, r1, 1
- ldr r0, _0804265C
- str r0, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- str r5, [sp, 0xC]
- add r1, sp, 0x4
- add r4, sp, 0x2C
- ldrh r0, [r4]
- strh r0, [r1, 0xC]
- ldr r0, [sp, 0x2C]
- asrs r0, 16
- strh r0, [r1, 0xE]
- adds r0, r1, 0
- strh r2, [r0, 0x10]
- strh r2, [r0, 0x12]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x18]
- str r7, [sp, 0x1C]
- add r0, sp, 0x20
- bl sub_8004E8C
- add r0, sp, 0x4
- movs r1, 0
- bl sub_8041764
- adds r6, r0, 0
- mov r10, r4
- lsls r1, r5, 2
- mov r0, sp
- adds r0, 0x30
- str r0, [sp, 0x38]
- ldr r0, _08042660
- adds r5, r1, r0
- movs r1, 0x5
- mov r8, r1
- mov r9, r10
-_080425CC:
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- adds r3, r7, 0
- bl sub_800E8AC
- movs r0, 0x42
- bl sub_803E46C
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r0, 2
- mov r1, r9
- ldrh r1, [r1]
- adds r0, r1
- mov r2, r9
- strh r0, [r2]
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- lsls r1, 2
- ldrh r0, [r4, 0x2]
- adds r0, r1
- strh r0, [r4, 0x2]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- ldr r0, _08042654
- ldr r0, [r0]
- ldr r2, _08042658
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r7, r1, 1
- movs r0, 0x1
- negs r0, r0
- add r8, r0
- mov r1, r8
- cmp r1, 0
- bge _080425CC
- bl sub_800DBBC
- mov r2, r10
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r0, 8
- str r0, [sp, 0x30]
- add r0, sp, 0x2C
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- lsls r0, 8
- ldr r1, [sp, 0x38]
- str r0, [r1, 0x4]
- movs r1, 0xD0
- lsls r1, 1
- ldr r0, [sp, 0x38]
- movs r2, 0x1
- bl sub_80416E0
- adds r6, r0, 0
- b _08042668
- .align 2, 0
-_0804264C: .4byte 0xffff0000
-_08042650: .4byte 0x0000ffff
-_08042654: .4byte gUnknown_203B418
-_08042658: .4byte 0x000181f2
-_0804265C: .4byte 0x00000165
-_08042660: .4byte gUnknown_80F4448
-_08042664:
- movs r6, 0x1
- negs r6, r6
-_08042668:
- adds r0, r6, 0
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8042520
-
- thumb_func_start sub_804267C
-sub_804267C:
- push {r4,lr}
- ldr r4, _080426B8
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _08042694
- cmp r0, 0
- blt _08042694
- cmp r0, 0x2
- ble _080426AC
-_08042694:
- ldr r0, _080426BC
- ldr r0, [r0]
- ldr r1, _080426C0
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80900C0
- lsls r0, 24
- ldr r4, _080426C4
- cmp r0, 0
- beq _080426AC
- subs r4, 0x1
-_080426AC:
- adds r0, r4, 0
- bl sub_8083E38
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080426B8: .4byte 0x000003e5
-_080426BC: .4byte gUnknown_203B418
-_080426C0: .4byte 0x00000644
-_080426C4: .4byte 0x00000155
- thumb_func_end sub_804267C
-
- thumb_func_start sub_80426C8
-sub_80426C8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0x3
- bne _080426D8
- movs r0, 0
- bl sub_8083E88
-_080426D8:
- cmp r5, 0x4
- beq _080426F0
- ldr r0, _080426EC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r0, [r1]
- bl sub_8083E38
- b _080426FC
- .align 2, 0
-_080426EC: .4byte gUnknown_80F67DC
-_080426F0:
- ldr r0, _08042708
- lsls r1, r4, 1
- adds r1, r0
- ldrh r0, [r1]
- bl sub_8083E38
-_080426FC:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x80
- bl sub_8042B34
- b _08042712
- .align 2, 0
-_08042708: .4byte gUnknown_80F67E4
-_0804270C:
- movs r0, 0x46
- bl sub_803E46C
-_08042712:
- bl sub_8042CC0
- lsls r0, 24
- cmp r0, 0
- bne _0804270C
- bl sub_8042D7C
- bl sub_8040238
- movs r0, 0x1
- bl sub_8052210
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80426C8
-
- thumb_func_start sub_8042730
-sub_8042730:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x8
- movs r2, 0x8
- bl sub_806CDD4
- movs r5, 0
- b _08042742
-_08042740:
- adds r5, 0x1
-_08042742:
- cmp r5, 0x63
- bgt _08042760
- movs r0, 0x51
- bl sub_803E46C
- ldr r0, [r4, 0x40]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08042760
- adds r0, r4, 0
- adds r0, 0x6B
- ldrb r0, [r0]
- cmp r0, 0x8
- beq _08042740
-_08042760:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8042730
-
- thumb_func_start sub_8042768
-sub_8042768:
- push {lr}
- adds r1, r0, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _08042778
-_08042774:
- movs r0, 0
- b _080427A6
-_08042778:
- ldr r0, _08042794
- ldr r2, [r0]
- ldr r3, _08042798
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804279C
- subs r3, 0x12
- adds r0, r2, r3
- ldr r0, [r0]
- cmp r0, r1
- bne _08042774
- movs r0, 0x1
- b _080427A6
- .align 2, 0
-_08042794: .4byte gUnknown_203B418
-_08042798: .4byte 0x0001820a
-_0804279C:
- adds r0, r1, 0
- bl sub_8045888
- lsls r0, 24
- lsrs r0, 24
-_080427A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8042768
-
- thumb_func_start sub_80427AC
-sub_80427AC:
- push {r4-r6,lr}
- movs r6, 0
-_080427B0:
- ldr r0, _08042808
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0804280C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080427FA
- ldr r5, [r4, 0x70]
- adds r1, r5, 0
- adds r1, 0xF3
- ldrb r0, [r1]
- cmp r0, 0
- beq _080427FA
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80429A0
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _080427FA
- ldr r0, _08042810
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08042814
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_805239C
-_080427FA:
- adds r6, 0x1
- cmp r6, 0x13
- ble _080427B0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08042808: .4byte gUnknown_203B418
-_0804280C: .4byte 0x000135cc
-_08042810: .4byte gUnknown_202DF98
-_08042814: .4byte gUnknown_8100270
- thumb_func_end sub_80427AC
-
- thumb_func_start sub_8042818
-sub_8042818:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _08042874
- ldr r0, [r0]
- ldr r1, _08042878
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- bne _08042836
- bl sub_8083600
- adds r4, r0, 0
-_08042836:
- ldr r1, _0804287C
- lsls r0, r5, 1
- adds r2, r0, r1
- ldrh r1, [r2]
- ldr r0, _08042880
- cmp r1, r0
- beq _0804284A
- adds r0, r4, 0
- bl sub_80421C0
-_0804284A:
- ldr r0, _08042884
- lsls r1, r5, 2
- adds r0, r1, r0
- ldr r5, [r0]
- adds r6, r1, 0
- cmp r5, 0
- blt _08042896
- cmp r7, 0
- beq _08042888
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _08042888
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_804151C
- b _08042896
- .align 2, 0
-_08042874: .4byte gUnknown_203B418
-_08042878: .4byte 0x000181f8
-_0804287C: .4byte gUnknown_80F682C
-_08042880: .4byte 0x000003e5
-_08042884: .4byte gUnknown_80F67EC
-_08042888:
- ldr r0, _0804289C
- adds r0, r6, r0
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0
- bl sub_804151C
-_08042896:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804289C: .4byte gUnknown_80F680C
- thumb_func_end sub_8042818
-
- thumb_func_start sub_80428A0
-sub_80428A0:
- push {lr}
- movs r1, 0x29
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_80428A0
-
- thumb_func_start sub_80428B0
-sub_80428B0:
- push {lr}
- ldr r1, _080428C0
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080428C0: .4byte 0x000001a9
- thumb_func_end sub_80428B0
-
- thumb_func_start sub_80428C4
-sub_80428C4:
- push {lr}
- ldr r1, _080428D4
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080428D4: .4byte 0x000001a9
- thumb_func_end sub_80428C4
-
- thumb_func_start sub_80428D8
-sub_80428D8:
- push {lr}
- ldr r1, _080428E8
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080428E8: .4byte 0x000001a9
- thumb_func_end sub_80428D8
-
- thumb_func_start sub_80428EC
-sub_80428EC:
- push {lr}
- ldr r1, _080428FC
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080428FC: .4byte 0x000001a9
- thumb_func_end sub_80428EC
-
- thumb_func_start sub_8042900
-sub_8042900:
- push {lr}
- movs r1, 0xD4
- lsls r1, 1
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042900
-
- thumb_func_start sub_8042910
-sub_8042910:
- push {lr}
- movs r1, 0x29
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042910
-
- thumb_func_start sub_8042920
-sub_8042920:
- push {lr}
- movs r1, 0x48
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042920
-
- thumb_func_start sub_8042930
-sub_8042930:
- push {lr}
- movs r1, 0xD3
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042930
-
- thumb_func_start sub_8042940
-sub_8042940:
- push {lr}
- movs r1, 0xC7
- lsls r1, 1
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042940
-
- thumb_func_start sub_8042950
-sub_8042950:
- push {lr}
- movs r1, 0xD8
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- movs r0, 0xA
- movs r1, 0x42
- bl sub_803E708
- pop {r0}
- bx r0
- thumb_func_end sub_8042950
-
- thumb_func_start sub_8042968
-sub_8042968:
- push {lr}
- movs r1, 0xD4
- lsls r1, 1
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042968
-
- thumb_func_start sub_8042978
-sub_8042978:
- push {lr}
- ldr r1, _08042988
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_08042988: .4byte 0x000001a9
- thumb_func_end sub_8042978
-
- thumb_func_start sub_804298C
-sub_804298C:
- push {lr}
- ldr r1, _0804299C
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_0804299C: .4byte 0x000001a9
- thumb_func_end sub_804298C
-
- thumb_func_start sub_80429A0
-sub_80429A0:
- push {lr}
- ldr r1, _080429B0
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080429B0: .4byte 0x00000199
- thumb_func_end sub_80429A0
-
- thumb_func_start sub_80429B4
-sub_80429B4:
- push {lr}
- ldr r1, _080429C4
- movs r2, 0
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080429C4: .4byte 0x000001ab
- thumb_func_end sub_80429B4
-
- thumb_func_start sub_80429C8
-sub_80429C8:
- push {lr}
- movs r1, 0x4
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_80429C8
-
- thumb_func_start sub_80429D8
-sub_80429D8:
- push {lr}
- movs r1, 0x8F
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_80429D8
-
- thumb_func_start sub_80429E8
-sub_80429E8:
- push {lr}
- ldr r1, _080429F8
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- .align 2, 0
-_080429F8: .4byte 0x0000011d
- thumb_func_end sub_80429E8
-
- thumb_func_start sub_80429FC
-sub_80429FC:
- push {lr}
- movs r1, 0xCF
- lsls r1, 1
- movs r2, 0x1
- bl sub_80416A4
- movs r0, 0
- movs r1, 0xD4
- bl sub_80421C0
- pop {r0}
- bx r0
- thumb_func_end sub_80429FC
-
- thumb_func_start sub_8042A14
-sub_8042A14:
- push {lr}
- movs r1, 0x36
- movs r2, 0x1
- bl sub_80416A4
- pop {r0}
- bx r0
- thumb_func_end sub_8042A14
-
- thumb_func_start sub_8042A24
-sub_8042A24:
- push {lr}
- movs r1, 0x15
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042A24
-
- thumb_func_start sub_8042A34
-sub_8042A34:
- push {lr}
- movs r1, 0x9F
- lsls r1, 1
- movs r2, 0
- bl sub_80416A4
- pop {r0}
- bx r0
- thumb_func_end sub_8042A34
-
- thumb_func_start sub_8042A44
-sub_8042A44:
- push {lr}
- movs r1, 0xDA
- lsls r1, 1
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042A44
-
- thumb_func_start sub_8042A54
-sub_8042A54:
- push {lr}
- movs r1, 0x37
- movs r2, 0x1
- bl sub_80416A4
- pop {r0}
- bx r0
- thumb_func_end sub_8042A54
-
- thumb_func_start sub_8042A64
-sub_8042A64:
- push {lr}
- movs r1, 0x29
- movs r2, 0x1
- bl sub_80416A4
- pop {r0}
- bx r0
- thumb_func_end sub_8042A64
-
- thumb_func_start sub_8042A74
-sub_8042A74:
- push {lr}
- movs r1, 0x18
- movs r2, 0x1
- bl sub_804151C
- pop {r0}
- bx r0
- thumb_func_end sub_8042A74
-
- thumb_func_start sub_8042A84
-sub_8042A84:
- push {r4-r7,lr}
- adds r4, r1, 0
- adds r7, r2, 0
- lsls r0, 16
- asrs r5, r0, 16
- movs r6, 0x80
- lsls r6, 2
- adds r0, r4, 0
- bl sub_8042768
- lsls r0, 24
- cmp r0, 0
- beq _08042AF8
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_804151C
- adds r0, r7, 0
- movs r1, 0x42
- bl sub_803E708
- adds r5, r4, 0
- adds r5, 0x20
-_08042AB4:
- ldr r1, [r4, 0x1C]
- ldr r0, _08042B00
- cmp r1, r0
- bgt _08042AF0
- movs r0, 0x42
- bl sub_803E46C
- ldr r1, [r4, 0x1C]
- adds r1, r6
- str r1, [r4, 0x1C]
- movs r0, 0x80
- lsls r0, 1
- adds r6, r0
- ldr r0, [r4, 0x10]
- subs r0, r1
- cmp r0, 0
- bge _08042AD8
- adds r0, 0xFF
-_08042AD8:
- asrs r1, r0, 8
- ldr r0, _08042B04
- ldr r0, [r0]
- ldr r2, _08042B08
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r1, r0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- bge _08042AB4
-_08042AF0:
- movs r0, 0
- strb r0, [r5]
- bl sub_804178C
-_08042AF8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08042B00: .4byte 0x0000c7ff
-_08042B04: .4byte gUnknown_203B418
-_08042B08: .4byte 0x000181f2
- thumb_func_end sub_8042A84
-
- thumb_func_start sub_8042B0C
-sub_8042B0C:
- push {lr}
- adds r1, r0, 0
- movs r0, 0x9F
- lsls r0, 1
- movs r2, 0x5
- bl sub_8042A84
- pop {r0}
- bx r0
- thumb_func_end sub_8042B0C
-
- thumb_func_start sub_8042B20
-sub_8042B20:
- push {lr}
- adds r1, r0, 0
- movs r0, 0xDE
- lsls r0, 1
- movs r2, 0xE
- bl sub_8042A84
- pop {r0}
- bx r0
- thumb_func_end sub_8042B20
-
- thumb_func_start sub_8042B34
-sub_8042B34:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- movs r0, 0
- mov r8, r0
- bl sub_8085480
- mov r10, r0
- ldr r7, _08042CB0
- movs r0, 0xCC
- movs r1, 0x7
- bl MemoryAlloc
- str r0, [r7]
- str r5, [r0]
- adds r4, 0x1
- lsls r4, 2
- str r4, [r0, 0x8]
- ldr r4, _08042CB4
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r0, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_800EE5C
- bl sub_800EF64
- movs r0, 0x46
- bl sub_803E46C
- ldr r0, [r7]
- str r6, [r0, 0x4]
- movs r5, 0
- ldr r0, [r0, 0x8]
- cmp r5, r0
- blt _08042B8E
- b _08042C9E
-_08042B8E:
- mov r9, sp
-_08042B90:
- mov r2, r8
- lsls r6, r2, 3
- ldr r0, [r7]
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, r6, r0
- ldr r3, _08042CB4
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- str r0, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- mov r2, r10
- ldr r0, [r2, 0xC]
- cmp r0, 0
- bge _08042BBA
- adds r0, 0xFF
-_08042BBA:
- asrs r0, 8
- mov r3, r9
- strh r0, [r3, 0xC]
- mov r1, sp
- mov r2, r10
- ldr r0, [r2, 0x10]
- cmp r0, 0
- bge _08042BCC
- adds r0, 0xFF
-_08042BCC:
- asrs r0, 8
- strh r0, [r1, 0xE]
- movs r0, 0x2
- bl RandomCapped
- ldr r1, [r7]
- lsls r4, r5, 2
- adds r3, r1, 0
- adds r3, 0x4C
- adds r3, r4
- ldr r2, [r1]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r6, r1
- ldr r2, _08042CB4
- adds r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- lsls r1, 1
- adds r1, r0
- str r1, [r3]
- movs r0, 0xF0
- bl RandomCapped
- ldr r1, [r7]
- adds r1, r4
- adds r0, 0x98
- adds r1, 0x8C
- strh r0, [r1]
- lsls r0, r5, 1
- adds r0, 0x8
- bl RandomCapped
- ldr r1, [r7]
- adds r2, r1, r4
- adds r3, r0, 0
- adds r3, 0x18
- adds r1, r5, 0
- cmp r5, 0
- bge _08042C20
- adds r1, r5, 0x3
-_08042C20:
- asrs r1, 2
- lsls r1, 2
- subs r1, r5, r1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- subs r0, r3, r0
- adds r1, r2, 0
- adds r1, 0x8E
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x8C
- ldrh r0, [r0]
- mov r3, r9
- strh r0, [r3, 0x10]
- ldrh r0, [r1]
- strh r0, [r3, 0x12]
- movs r0, 0x4
- str r0, [sp, 0x14]
- ldr r0, _08042CB8
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- ldr r0, _08042CBC
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- mov r0, sp
- bl sub_800E890
- ldr r2, [r7]
- adds r1, r2, 0
- adds r1, 0xC
- adds r1, r4
- str r0, [r1]
- movs r6, 0x1
- add r8, r6
- mov r0, r8
- cmp r0, 0x2
- bgt _08042C82
- ldr r0, [r2]
- lsls r1, r0, 1
- adds r1, r0
- add r1, r8
- lsls r1, 3
- ldr r2, _08042CB4
- adds r1, r2
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _08042C86
-_08042C82:
- movs r6, 0
- mov r8, r6
-_08042C86:
- ldr r0, [sp]
- bl sub_800ECA4
- ldr r0, [r0, 0x4]
- bl sub_800F15C
- adds r5, 0x1
- ldr r0, [r7]
- ldr r0, [r0, 0x8]
- cmp r5, r0
- bge _08042C9E
- b _08042B90
-_08042C9E:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08042CB0: .4byte gUnknown_203B414
-_08042CB4: .4byte gUnknown_80F6624
-_08042CB8: .4byte 0x0000ffff
-_08042CBC: .4byte gUnknown_80F683C
- thumb_func_end sub_8042B34
-
- thumb_func_start sub_8042CC0
-sub_8042CC0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r7, 0
- ldr r2, _08042D20
- ldr r1, [r2]
- ldr r0, [r1, 0x4]
- cmp r0, 0
- beq _08042CDC
- movs r7, 0x1
- subs r0, 0x1
- str r0, [r1, 0x4]
-_08042CDC:
- movs r5, 0
- ldr r0, [r2]
- ldr r0, [r0, 0x8]
- cmp r5, r0
- bge _08042D56
- adds r6, r2, 0
- movs r0, 0x98
- negs r0, r0
- mov r9, r0
- movs r4, 0
- ldr r1, _08042D24
- mov r8, r1
-_08042CF4:
- ldr r3, [r6]
- adds r0, r3, r4
- adds r2, r0, 0
- adds r2, 0x8C
- adds r0, r3, 0
- adds r0, 0x4C
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r9
- bgt _08042D2E
- ldr r0, [r3, 0x4]
- cmp r0, 0
- ble _08042D28
- movs r0, 0x98
- strh r0, [r2]
- b _08042D30
- .align 2, 0
-_08042D20: .4byte gUnknown_203B414
-_08042D24: .4byte 0x0000ff68
-_08042D28:
- mov r0, r8
- strh r0, [r2]
- b _08042D30
-_08042D2E:
- movs r7, 0x1
-_08042D30:
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xC
- adds r0, r4
- ldr r0, [r0]
- adds r1, r4, 0
- adds r1, 0x8C
- adds r2, r1
- movs r1, 0
- str r1, [sp]
- movs r3, 0
- bl sub_800E8AC
- adds r4, 0x4
- adds r5, 0x1
- ldr r0, [r6]
- ldr r0, [r0, 0x8]
- cmp r5, r0
- blt _08042CF4
-_08042D56:
- ldr r0, _08042D74
- ldr r0, [r0]
- ldr r1, _08042D78
- adds r0, r1
- bl sub_800E90C
- adds r0, r7, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08042D74: .4byte gUnknown_203B418
-_08042D78: .4byte 0x000181f0
- thumb_func_end sub_8042CC0
-
- thumb_func_start sub_8042D7C
-sub_8042D7C:
- push {r4-r6,lr}
- ldr r1, _08042DD0
- ldr r0, [r1]
- cmp r0, 0
- beq _08042DCA
- movs r5, 0
- ldr r0, [r0, 0x8]
- cmp r5, r0
- bge _08042DBA
- adds r6, r1, 0
-_08042D90:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0xC
- adds r0, r4
- ldr r0, [r0]
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- beq _08042DB0
- ldr r0, [r6]
- adds r0, 0xC
- adds r0, r4
- ldr r0, [r0]
- bl sub_800DC14
-_08042DB0:
- adds r5, 0x1
- ldr r0, [r6]
- ldr r0, [r0, 0x8]
- cmp r5, r0
- blt _08042D90
-_08042DBA:
- bl sub_800DBBC
- ldr r4, _08042DD0
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_08042DCA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08042DD0: .4byte gUnknown_203B414
- thumb_func_end sub_8042D7C
-
- thumb_func_start sub_8042DD4
-sub_8042DD4:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- movs r2, 0
- ldr r0, _08042E04
- mov r12, r0
- ldr r3, _08042E08
-_08042DE4:
- mov r1, r12
- ldr r0, [r1]
- adds r4, r0, r3
- ldr r1, [r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08042E0C
- str r5, [r4]
- str r6, [r4, 0xC]
- str r7, [r4, 0x4]
- adds r0, r5, 0
- bl sub_800E6D8
- str r0, [r4, 0x8]
- b _08042E14
- .align 2, 0
-_08042E04: .4byte gUnknown_203B418
-_08042E08: .4byte 0x000005c4
-_08042E0C:
- adds r3, 0x10
- adds r2, 0x1
- cmp r2, 0x2
- ble _08042DE4
-_08042E14:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8042DD4
-
- thumb_func_start sub_8042E1C
-sub_8042E1C:
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _08042E44
- ldr r4, _08042E48
-_08042E24:
- ldr r0, [r6]
- adds r0, r4
- ldr r1, [r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08042E4C
- adds r0, r1, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- beq _08042E4C
- movs r0, 0x1
- b _08042E56
- .align 2, 0
-_08042E44: .4byte gUnknown_203B418
-_08042E48: .4byte 0x000005c4
-_08042E4C:
- adds r4, 0x10
- adds r5, 0x1
- cmp r5, 0x2
- ble _08042E24
- movs r0, 0
-_08042E56:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8042E1C
-
- thumb_func_start sub_8042E5C
-sub_8042E5C:
- push {r4-r7,lr}
- ldr r7, _08042E90
- ldr r6, _08042E94
- movs r5, 0x2
-_08042E64:
- ldr r0, [r7]
- adds r4, r0, r6
- ldr r0, [r4]
- cmp r0, 0
- blt _08042E82
- bl sub_800E9A8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08042E82
- movs r0, 0x1
- negs r0, r0
- str r0, [r4]
- str r1, [r4, 0xC]
-_08042E82:
- adds r6, 0x10
- subs r5, 0x1
- cmp r5, 0
- bge _08042E64
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08042E90: .4byte gUnknown_203B418
-_08042E94: .4byte 0x000005c4
- thumb_func_end sub_8042E5C
-
- thumb_func_start sub_8042E98
-sub_8042E98:
- push {r4,r5,lr}
- ldr r5, _08042EC0
- movs r4, 0x1
- negs r4, r4
- movs r3, 0
- ldr r2, _08042EC4
- movs r1, 0x2
-_08042EA6:
- ldr r0, [r5]
- adds r0, r2
- str r4, [r0]
- str r3, [r0, 0x4]
- str r3, [r0, 0xC]
- adds r2, 0x10
- subs r1, 0x1
- cmp r1, 0
- bge _08042EA6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08042EC0: .4byte gUnknown_203B418
-_08042EC4: .4byte 0x000005c4
- thumb_func_end sub_8042E98
-
- thumb_func_start sub_8042EC8
-sub_8042EC8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r6, r0, 0
- mov r8, r1
- movs r7, 0
-_08042ED6:
- ldr r1, _08042F5C
- lsls r0, r7, 4
- ldr r2, _08042F60
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r0, [r4]
- cmp r0, 0
- blt _08042F4A
- ldr r0, [r4, 0xC]
- cmp r0, r6
- bne _08042F4A
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _08042EF6
- adds r0, 0xFF
-_08042EF6:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _08042F64
- ldr r2, [sp, 0x8]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x8]
- ldr r1, [r6, 0x10]
- cmp r1, 0
- bge _08042F0C
- adds r1, 0xFF
-_08042F0C:
- lsls r1, 8
- lsrs r1, 16
- lsls r1, 16
- ldr r0, _08042F68
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r5, [r6, 0x70]
- ldr r2, [r4, 0x8]
- subs r0, 0x1
- cmp r2, r0
- beq _08042F36
- lsls r2, 24
- lsrs r2, 24
- add r0, sp, 0x4
- adds r1, r6, 0
- adds r1, 0x28
- bl sub_800569C
-_08042F36:
- ldr r0, [r4]
- adds r1, r5, 0
- adds r1, 0x46
- ldrb r1, [r1]
- str r1, [sp]
- add r1, sp, 0x8
- add r2, sp, 0x4
- mov r3, r8
- bl sub_800EB24
-_08042F4A:
- adds r7, 0x1
- cmp r7, 0x2
- ble _08042ED6
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08042F5C: .4byte gUnknown_203B418
-_08042F60: .4byte 0x000005c4
-_08042F64: .4byte 0xffff0000
-_08042F68: .4byte 0x0000ffff
- thumb_func_end sub_8042EC8
-
- thumb_func_start xxx_dungeon_8042F6C
-xxx_dungeon_8042F6C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r8, r0
- ldr r1, _0804310C
- movs r0, 0
- strb r0, [r1]
- mov r0, r8
- ldrb r6, [r0, 0x8]
- ldrb r1, [r0, 0x11]
- mov r9, r1
- ldrb r2, [r0, 0x10]
- mov r10, r2
- ldr r0, _08043110
- mov r3, r8
- ldr r1, [r3, 0x74]
- str r1, [r0]
- ldr r2, _08043114
- ldr r0, [r3, 0x78]
- str r0, [r2]
- cmp r6, 0
- bne _08042FA0
- strb r6, [r1]
-_08042FA0:
- ldr r2, [r2]
- movs r1, 0
- ldr r4, _08043118
- ldr r5, _0804311C
- mov r0, sp
- adds r0, 0x4
- str r0, [sp, 0x8]
- mov r3, r8
- adds r3, 0x7C
- str r3, [sp, 0xC]
- movs r3, 0
-_08042FB6:
- adds r0, r2, r1
- strb r3, [r0]
- adds r1, 0x1
- cmp r1, r4
- bls _08042FB6
- movs r7, 0
- movs r0, 0x64
- strh r0, [r5]
- cmp r6, 0
- bne _0804300C
- ldr r4, _08043114
- ldr r0, [r4]
- mov r5, r8
- ldrb r1, [r5, 0xF]
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r2
- strb r1, [r0]
- ldr r2, [r4]
- ldr r3, _08043120
- adds r2, r3
- ldr r0, [r5, 0x14]
- ldr r1, [r5, 0x18]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r0, [r5, 0x4]
- bl sub_80900D0
- ldr r1, [r4]
- ldr r5, _08043124
- adds r2, r1, r5
- strh r0, [r2]
- ldr r0, _08043128
- adds r1, r0
- strb r7, [r1]
- mov r1, r8
- ldrb r0, [r1, 0x4]
- bl sub_8090134
- ldr r1, [r4]
- ldr r2, _0804312C
- adds r1, r2
- strb r0, [r1]
-_0804300C:
- ldr r4, _08043114
- ldr r0, [r4]
- movs r3, 0xD3
- lsls r3, 3
- adds r0, r3
- strb r7, [r0]
- ldr r0, [r4]
- ldr r5, _08043130
- adds r0, r5
- strb r7, [r0]
- ldr r0, [r4]
- mov r2, r8
- ldrb r1, [r2, 0x9]
- subs r3, 0x3C
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r4]
- ldrb r1, [r2, 0xC]
- subs r5, 0x3F
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r4]
- ldrb r1, [r2, 0xA]
- movs r2, 0xCB
- lsls r2, 3
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- mov r3, r8
- ldrb r1, [r3, 0xB]
- subs r5, 0x1
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r4]
- ldrb r1, [r3, 0xD]
- adds r2, 0x3
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldrb r1, [r3, 0xE]
- ldr r3, _08043134
- adds r0, r3
- strb r1, [r0]
- bl sub_8083F34
- bl sub_803D4AC
- bl sub_804513C
- bl sub_8043CD8
- bl sub_80495E4
- bl sub_803E250
- bl sub_8040130
- bl sub_8040124
- movs r0, 0x1
- bl sub_803F27C
- ldr r1, _08043138
- ldr r5, _0804313C
- adds r0, r5, 0
- strh r0, [r1]
- movs r0, 0x1
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- bl sub_800DAC0
- movs r0, 0x1
- bl xxx_update_some_bg_tiles
- bl sub_803DF60
- bl sub_803E02C
- bl sub_8042E98
- ldr r0, _08043140
- strb r7, [r0]
- cmp r6, 0
- beq _080430C8
- ldr r0, _08043110
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 7
- bl sub_8081BF4
- bl sub_8049840
-_080430C8:
- mov r0, r9
- cmp r0, 0
- beq _080430D2
- bl sub_8043D60
-_080430D2:
- cmp r6, 0
- beq _080430D8
- b _080431DC
-_080430D8:
- ldr r0, [r4]
- ldr r1, _08043144
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r4]
- ldr r2, _08043148
- adds r0, r2
- strb r1, [r0]
- ldr r2, [r4]
- movs r3, 0xCF
- lsls r3, 3
- adds r0, r2, r3
- ldrb r3, [r0]
- cmp r3, 0x1
- bne _08043154
- mov r5, r8
- ldrb r1, [r5, 0x14]
- ldr r5, _0804314C
- adds r0, r2, r5
- strb r1, [r0]
- ldr r0, [r4]
- ldr r1, _08043150
- adds r0, r1
- strb r3, [r0]
- b _0804315E
- .align 2, 0
-_0804310C: .4byte gUnknown_203B40C
-_08043110: .4byte gUnknown_203B41C
-_08043114: .4byte gUnknown_203B418
-_08043118: .4byte 0x0001cedb
-_0804311C: .4byte gUnknown_203B410
-_08043120: .4byte 0x0000064c
-_08043124: .4byte 0x00000666
-_08043128: .4byte 0x0000067a
-_0804312C: .4byte 0x0000067b
-_08043130: .4byte 0x00000699
-_08043134: .4byte 0x0000065d
-_08043138: .4byte gUnknown_2026E4E
-_0804313C: .4byte 0x00000808
-_08043140: .4byte gUnknown_202F32C
-_08043144: .4byte 0x0001820b
-_08043148: .4byte 0x0001820c
-_0804314C: .4byte 0x00000644
-_08043150: .4byte 0x00000645
-_08043154:
- ldr r3, _0804318C
- adds r1, r2, r3
- mov r5, r8
- ldr r0, [r5, 0x4]
- str r0, [r1]
-_0804315E:
- ldr r4, _08043190
- ldr r0, [r4]
- ldr r1, _08043194
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_8044124
- cmp r6, 0
- bne _080431DC
- ldr r1, [r4]
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0804319C
- ldr r3, _08043198
- adds r1, r3
- mov r5, r8
- ldr r0, [r5, 0x18]
- str r0, [r1]
- b _080431AC
- .align 2, 0
-_0804318C: .4byte 0x00000644
-_08043190: .4byte gUnknown_203B418
-_08043194: .4byte 0x00000674
-_08043198: .4byte 0x0000067c
-_0804319C:
- bl Random
- ldr r2, [r4]
- ldr r1, _08043208
- adds r2, r1
- ldr r1, _0804320C
- ands r1, r0
- str r1, [r2]
-_080431AC:
- ldr r4, _08043210
- ldr r0, [r4]
- ldr r2, _08043208
- adds r0, r2
- ldr r0, [r0]
- bl sub_808408C
- cmp r6, 0
- bne _080431DC
- bl sub_80980A4
- lsls r0, 24
- cmp r0, 0
- bne _080431D8
- ldr r0, [r4]
- ldr r3, _08043214
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080431D8
- bl sub_8043FD0
-_080431D8:
- bl sub_806890C
-_080431DC:
- mov r5, r9
- cmp r5, 0
- beq _08043230
- ldr r1, _08043218
- ldr r0, _08043210
- ldr r0, [r0]
- ldr r2, _0804321C
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- str r0, [r1]
- cmp r0, 0
- beq _08043224
- ldr r0, _08043220
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08043230
- .align 2, 0
-_08043208: .4byte 0x0000067c
-_0804320C: .4byte 0x00ffffff
-_08043210: .4byte gUnknown_203B418
-_08043214: .4byte 0x00000644
-_08043218: .4byte gUnknown_202DE30
-_0804321C: .4byte 0x0000067b
-_08043220: .4byte gUnknown_80FEC48
-_08043224:
- ldr r0, _080432B4
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08043230:
- mov r3, r10
- cmp r3, 0
- beq _0804326A
- mov r1, r8
- adds r1, 0x44
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080432B8
- ldr r0, [r0]
- ldr r5, _080432BC
- adds r0, r5
- ldrb r0, [r0]
- bl sub_8090104
- lsls r0, 24
- mov r4, r8
- adds r4, 0x1C
- cmp r0, 0
- beq _0804325C
- adds r0, r4, 0
- bl sub_808D0D8
-_0804325C:
- adds r0, r4, 0
- bl sub_8068A84
- cmp r6, 0
- beq _0804326A
- bl sub_806B404
-_0804326A:
- bl sub_8068614
- cmp r6, 0
- bne _080432F4
- ldr r0, _080432B8
- ldr r0, [r0]
- movs r1, 0xCF
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080432F4
- mov r0, sp
- bl sub_8099394
- lsls r0, 24
- cmp r0, 0
- beq _080432F4
- mov r0, sp
- ldrb r0, [r0]
- bl sub_8095228
- adds r2, r0, 0
- adds r2, 0x2C
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080432E8
- ldr r1, _080432C0
- str r0, [r1]
- ldr r0, _080432C4
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _080432F4
- .align 2, 0
-_080432B4: .4byte gUnknown_80FEC7C
-_080432B8: .4byte gUnknown_203B418
-_080432BC: .4byte 0x00000644
-_080432C0: .4byte gUnknown_202DE30
-_080432C4: .4byte gUnknown_81002B8
-_080432C8:
- ldr r4, _080432CC
- b _080432D2
- .align 2, 0
-_080432CC: .4byte 0x00000226
-_080432D0:
- ldr r4, _080432E4
-_080432D2:
- bl sub_8083600
- adds r2, r0, 0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8083AB0
- bl _08043AF4
- .align 2, 0
-_080432E4: .4byte 0x00000227
-_080432E8:
- ldr r0, _080434B8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_080432F4:
- movs r2, 0
- mov r10, r2
- movs r3, 0
- mov r9, r3
-_080432FC:
- bl sub_8098080
- bl nullsub_16
- bl sub_80521D0
- bl sub_80531A8
- bl sub_800F690
- cmp r6, 0
- bne _08043318
- bl sub_804513C
-_08043318:
- ldr r0, _080434BC
- movs r5, 0
- str r5, [r0]
- ldr r4, _080434C0
- ldr r0, [r4]
- strb r5, [r0]
- cmp r6, 0
- bne _08043346
- bl sub_80840A4
- ldr r1, [r4]
- movs r3, 0xD0
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- movs r0, 0xCD
- lsls r0, 3
- adds r1, r0
- movs r0, 0xA
- strh r0, [r1]
- ldr r0, [r2]
- bl sub_80840D8
-_08043346:
- ldr r0, [r4]
- ldr r1, _080434C4
- adds r0, r1
- strb r5, [r0]
- cmp r6, 0
- bne _08043390
- ldr r0, [r4]
- ldr r2, _080434C8
- adds r0, r2
- strb r6, [r0]
- movs r0, 0x4
- bl sub_8084100
- ldr r1, [r4]
- ldr r3, _080434CC
- adds r1, r3
- strb r6, [r1]
- ldr r1, [r4]
- ldr r2, _080434D0
- adds r1, r2
- strb r6, [r1]
- ldr r2, [r4]
- ldr r1, _080434D4
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- adds r3, 0x3
- adds r0, r2, r3
- strh r1, [r0]
- ldr r0, _080434D8
- adds r2, r0
- mov r1, r10
- strb r1, [r2]
- ldr r0, [r4]
- ldr r2, _080434DC
- adds r0, r2
- strb r1, [r0]
-_08043390:
- bl sub_803D4D0
- ldr r0, [r4]
- strb r5, [r0, 0x1]
- ldr r0, [r4]
- strb r5, [r0, 0x10]
- ldr r0, [r4]
- strb r5, [r0, 0x2]
- ldr r0, [r4]
- strb r5, [r0, 0x4]
- ldr r0, [r4]
- strb r5, [r0, 0x11]
- ldr r0, [r4]
- strb r5, [r0, 0x8]
- ldr r0, [r4]
- strb r5, [r0, 0x3]
- ldr r0, [r4]
- strb r5, [r0, 0x6]
- ldr r0, [r4]
- strb r5, [r0, 0xF]
- ldr r2, [r4]
- movs r3, 0xB8
- lsls r3, 3
- adds r1, r2, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- strb r5, [r2, 0x7]
- ldr r0, [r4]
- strb r5, [r0, 0x9]
- ldr r0, [r4]
- strb r5, [r0, 0xA]
- ldr r0, [r4]
- movs r1, 0x1
- strb r1, [r0, 0xB]
- ldr r0, [r4]
- strb r1, [r0, 0xD]
- ldr r0, [r4]
- strb r5, [r0, 0xE]
- ldr r0, [r4]
- ldr r2, _080434E0
- adds r0, r2
- strb r5, [r0]
- cmp r6, 0
- bne _080434A6
- ldr r0, [r4]
- adds r3, 0xB9
- adds r0, r3
- strb r6, [r0]
- ldr r1, [r4]
- ldr r5, _080434E4
- adds r0, r1, r5
- str r6, [r0]
- movs r2, 0xD2
- lsls r2, 3
- adds r0, r1, r2
- str r6, [r0]
- adds r3, 0x1B
- adds r0, r1, r3
- str r6, [r0]
- subs r5, 0x2C
- adds r0, r1, r5
- strh r6, [r0]
- subs r2, 0x2E
- adds r0, r1, r2
- strh r6, [r0]
- subs r3, 0x26
- adds r1, r3
- mov r5, r10
- strb r5, [r1]
- ldr r0, [r4]
- ldr r1, _080434E8
- adds r0, r1
- strb r5, [r0]
- ldr r0, [r4]
- adds r2, 0xE
- adds r0, r2
- strb r5, [r0]
- ldr r0, [r4]
- adds r3, 0x8
- adds r0, r3
- strb r5, [r0]
- ldr r0, [r4]
- ldr r5, _080434EC
- adds r0, r5
- mov r1, r10
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x2
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r4]
- subs r3, 0xC
- adds r2, r1, r3
- ldr r0, _080434F0
- strh r0, [r2]
- adds r5, 0x17
- adds r0, r1, r5
- strh r6, [r0]
- ldr r0, _080434F4
- adds r1, r0
- mov r2, r10
- strb r2, [r1]
- ldr r1, [r4]
- adds r3, 0x1A
- adds r0, r1, r3
- movs r2, 0x63
- strh r2, [r0]
- subs r5, 0x2
- adds r0, r1, r5
- strh r2, [r0]
- ldr r0, _080434F8
- adds r1, r0
- mov r2, r10
- strb r2, [r1]
- ldr r1, [r4]
- ldr r3, _080434FC
- adds r0, r1, r3
- ldrb r2, [r0]
- ldr r5, _08043500
- adds r0, r1, r5
- strh r2, [r0]
- ldr r2, _08043504
- adds r0, r1, r2
- ldrb r2, [r0]
- ldr r3, _08043508
- adds r0, r1, r3
- strh r2, [r0]
- ldr r5, _0804350C
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, _08043510
- adds r1, r2
- strh r0, [r1]
- movs r0, 0
- bl sub_807E5E4
- bl sub_80842F0
-_080434A6:
- bl sub_803D8F0
- bl sub_8068658
- cmp r6, 0
- bne _08043514
- bl sub_80687AC
- b _0804351C
- .align 2, 0
-_080434B8: .4byte gUnknown_81002D8
-_080434BC: .4byte gUnknown_203B450
-_080434C0: .4byte gUnknown_203B418
-_080434C4: .4byte 0x000037ec
-_080434C8: .4byte 0x000037fc
-_080434CC: .4byte 0x000037fd
-_080434D0: .4byte 0x000037fe
-_080434D4: .4byte gUnknown_80F6850
-_080434D8: .4byte 0x000037ff
-_080434DC: .4byte 0x00000675
-_080434E0: .4byte 0x0001c05e
-_080434E4: .4byte 0x0000068c
-_080434E8: .4byte 0x0000066f
-_080434EC: .4byte 0x00000671
-_080434F0: .4byte 0x000003e7
-_080434F4: .4byte 0x0000068a
-_080434F8: .4byte 0x0000e264
-_080434FC: .4byte 0x0001c576
-_08043500: .4byte 0x00003a0e
-_08043504: .4byte 0x0001c577
-_08043508: .4byte 0x00003a10
-_0804350C: .4byte 0x0001c586
-_08043510: .4byte 0x00003a14
-_08043514:
- bl sub_8068768
- bl sub_8082B40
-_0804351C:
- bl sub_806C42C
- bl sub_806AD3C
- cmp r6, 0
- bne _08043544
- ldr r1, _080435B4
- ldr r3, _080435B8
- ldr r0, [r3]
- ldr r5, _080435BC
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl sub_8083E88
- bl sub_80847D4
-_08043544:
- bl sub_8049840
- bl sub_803E178
- ldr r0, _080435C0
- mov r3, r9
- str r3, [r0]
- bl sub_8040124
- movs r0, 0x4
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- bl sub_8052210
- adds r0, r6, 0
- bl sub_803F27C
- bl ShowDungeonNameBanner
- cmp r6, 0
- bne _08043594
- bl sub_804AFAC
- ldr r5, _080435B8
- ldr r0, [r5]
- ldr r1, _080435C4
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80900D0
- ldr r2, [r5]
- ldr r3, _080435C8
- adds r1, r2, r3
- strh r0, [r1]
- ldr r5, _080435CC
- adds r2, r5
- mov r0, r10
- strb r0, [r2]
-_08043594:
- bl sub_804AAD4
- bl sub_8049B8C
- bl sub_804966C
- cmp r6, 0
- bne _080435D0
- bl sub_806B168
- bl sub_806C3C0
- bl sub_806B6C4
- b _080435D4
- .align 2, 0
-_080435B4: .4byte gUnknown_80F5668
-_080435B8: .4byte gUnknown_203B418
-_080435BC: .4byte 0x00003a10
-_080435C0: .4byte gUnknown_202EDC8
-_080435C4: .4byte 0x00000644
-_080435C8: .4byte 0x00000666
-_080435CC: .4byte 0x0000067a
-_080435D0:
- bl sub_806B678
-_080435D4:
- ldr r4, _0804362C
- ldr r1, [r4]
- ldr r2, _08043630
- adds r0, r1, r2
- mov r3, r9
- str r3, [r0]
- ldr r5, _08043634
- adds r0, r1, r5
- str r3, [r0]
- adds r2, 0x4
- adds r0, r1, r2
- str r3, [r0]
- ldr r3, _08043638
- adds r0, r1, r3
- mov r5, r9
- str r5, [r0]
- adds r2, 0x4
- adds r0, r1, r2
- str r5, [r0]
- adds r3, 0x4
- adds r1, r3
- str r5, [r1]
- cmp r6, 0
- bne _08043644
- bl sub_807FA18
- bl sub_8045CB0
- ldr r1, [r4]
- ldr r5, _0804363C
- adds r2, r1, r5
- ldr r3, _08043640
- adds r0, r1, r3
- ldr r0, [r0]
- str r0, [r2]
- subs r5, 0x4
- adds r1, r5
- str r6, [r1]
- bl sub_8051E3C
- bl sub_804AAAC
- b _08043648
- .align 2, 0
-_0804362C: .4byte gUnknown_203B418
-_08043630: .4byte 0x00017b2c
-_08043634: .4byte 0x00017b38
-_08043638: .4byte 0x00017b3c
-_0804363C: .4byte 0x00000694
-_08043640: .4byte 0x0000068c
-_08043644:
- bl sub_806A338
-_08043648:
- bl sub_8068F80
- bl sub_8049884
- bl sub_8049ED4
- cmp r6, 0
- bne _08043664
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl sub_806A914
- b _0804366C
-_08043664:
- bl sub_806CF60
- bl sub_806A974
-_0804366C:
- movs r0, 0x1
- bl sub_8041888
- cmp r6, 0
- bne _0804367E
- bl sub_80848F0
- bl sub_8097890
-_0804367E:
- ldr r0, _080436A0
- movs r1, 0x1
- strb r1, [r0]
- cmp r6, 0
- beq _08043690
- bl sub_807E88C
- bl sub_806AB2C
-_08043690:
- ldr r2, _080436A4
- ldr r0, [r2]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080436A8
- bl sub_803E748
- b _080436AC
- .align 2, 0
-_080436A0: .4byte gUnknown_203B40C
-_080436A4: .4byte gUnknown_203B418
-_080436A8:
- bl sub_803E7C8
-_080436AC:
- movs r0, 0
- bl sub_8040094
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- adds r0, r6, 0
- bl sub_8040150
- bl sub_8040A84
- ldr r4, _08043730
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0xB8
- mov r3, r9
- str r3, [r0]
- ldr r5, _08043734
- adds r1, r5
- strb r3, [r1]
- ldr r0, [r4]
- ldr r1, _08043738
- adds r0, r1
- mov r2, r9
- strb r2, [r0]
- ldr r1, [r4]
- movs r5, 0
- movs r0, 0x63
- strh r0, [r1, 0x12]
- movs r3, 0x1
- strb r3, [r1]
- cmp r6, 0
- bne _08043706
- bl sub_8052DD0
- ldr r1, [r4]
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- beq _08043706
- strb r5, [r1, 0x9]
- bl sub_8083D68
- bl sub_8052F80
-_08043706:
- ldr r0, _0804373C
- mov r5, r9
- str r5, [r0]
- ldr r4, _08043730
- ldr r0, [r4]
- strb r5, [r0, 0x5]
- cmp r6, 0
- bne _08043778
- bl sub_8084B64
- ldr r1, [r4]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _08043728
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _08043740
-_08043728:
- movs r0, 0x1
- strb r0, [r1, 0x5]
- b _0804374C
- .align 2, 0
-_08043730: .4byte gUnknown_203B418
-_08043734: .4byte 0x0000066c
-_08043738: .4byte 0x0000066d
-_0804373C: .4byte gUnknown_203B450
-_08043740:
- bl sub_8083600
- bl sub_803F4A0
- bl sub_8040A84
-_0804374C:
- cmp r6, 0
- bne _08043778
- ldr r1, _08043774
- ldr r0, [r1]
- ldrb r0, [r0, 0x5]
- cmp r0, 0
- bne _0804377C
- bl sub_807E5AC
- movs r0, 0
- bl sub_807E580
- lsls r0, 24
- cmp r0, 0
- beq _0804377C
- movs r0, 0x1
- bl sub_807E7FC
- b _0804377C
- .align 2, 0
-_08043774: .4byte gUnknown_203B418
-_08043778:
- bl sub_8069E8C
-_0804377C:
- cmp r6, 0
- beq _08043784
- movs r6, 0
- b _080437A2
-_08043784:
- bl sub_80427AC
- bl sub_8083600
- ldr r2, _08043960
- ldr r1, [r2]
- ldr r3, _08043964
- adds r1, r3
- ldrb r1, [r1]
- bl sub_8075900
- movs r0, 0x1
- movs r1, 0
- bl sub_807EAA0
-_080437A2:
- bl nullsub_16
- ldr r2, _08043960
- ldr r0, [r2]
- ldrb r1, [r0, 0x5]
- cmp r1, 0
- bne _080437DA
- movs r4, 0x1
- ldr r5, _08043968
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _0804396C
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r5, _08043970
- adds r0, r5
- strb r4, [r0]
-_080437C8:
- adds r0, r4, 0
- bl RunDungeon
- movs r4, 0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080437C8
-_080437DA:
- bl sub_8083600
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080437F0
- adds r0, r4, 0
- bl sub_8071DA4
-_080437F0:
- ldr r5, _08043960
- ldr r0, [r5]
- ldr r4, _08043968
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08043822
- movs r0, 0x1
- bl sub_8043ED0
- lsls r0, 24
- cmp r0, 0
- beq _08043812
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0x1
- strb r1, [r0]
-_08043812:
- ldr r1, [r5]
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08043822
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _08043830
-_08043822:
- ldr r2, _08043960
- ldr r0, [r2]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _08043830
- bl sub_806AA70
-_08043830:
- bl sub_8083600
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0804384A
- movs r0, 0x4F
- bl sub_80526D0
- movs r0, 0x4F
- bl sub_8052740
-_0804384A:
- bl sub_8040124
- movs r0, 0x1
- movs r1, 0
- bl sub_803EAF0
- ldr r3, _08043960
- ldr r0, [r3]
- ldr r5, _08043970
- adds r0, r5
- mov r1, r9
- strb r1, [r0]
- ldr r0, [r3]
- ldr r2, _0804396C
- adds r0, r2
- movs r3, 0x1
- strb r3, [r0]
- ldr r5, _08043960
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- bne _08043896
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08043896
- ldr r2, _08043974
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x72
- bne _08043896
- ldr r3, _08043978
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x1B
- bne _08043896
- movs r0, 0x3C
- bl sub_8083ED8
-_08043896:
- movs r0, 0x4
- movs r1, 0x4F
- bl sub_803E708
- ldr r5, _08043960
- ldr r0, [r5]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080438AC
- bl sub_803E830
-_080438AC:
- movs r0, 0
- bl SetBGOBJEnableFlags
- ldr r1, _0804397C
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0x60
- orrs r0, r1
- ldr r1, _08043980
- ands r0, r1
- movs r1, 0x80
- lsls r1, 8
- orrs r0, r1
- ldr r1, _08043984
- ands r0, r1
- movs r1, 0xF8
- lsls r1, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r0, _08043988
- ldr r2, [r0]
- movs r0, 0xFD
- ldr r1, [sp, 0x8]
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- movs r0, 0x1
- bl sub_8040094
- ldr r0, [r5]
- ldr r1, _0804396C
- adds r0, r1
- movs r7, 0
- movs r2, 0x1
- strb r2, [r0]
- ldr r1, [r5]
- ldrb r0, [r1, 0x10]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08043926
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08043926
- bl sub_8083600
- adds r4, r0, 0
- ldr r0, _0804398C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- ldr r0, [r5]
- strb r7, [r0, 0x6]
- ldr r0, _08043990
- adds r1, r4, 0
- adds r2, r4, 0
- bl sub_8083AB0
-_08043926:
- bl sub_80688CC
- bl sub_8049820
- ldr r0, _08043994
- ldr r0, [r0]
- bl CloseFile
- bl sub_800F740
- ldr r0, _08043998
- mov r3, r10
- strb r3, [r0]
- ldr r4, _08043960
- ldr r1, [r4]
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- beq _0804394C
- b _08043BFC
-_0804394C:
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _080439A0
- ldr r0, _0804399C
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 7
- bl sub_8080B30
- b _080439A6
- .align 2, 0
-_08043960: .4byte gUnknown_203B418
-_08043964: .4byte 0x00003a08
-_08043968: .4byte 0x00000654
-_0804396C: .4byte 0x00018218
-_08043970: .4byte 0x00018219
-_08043974: .4byte 0x0001ceda
-_08043978: .4byte 0x00000644
-_0804397C: .4byte 0xffffff00
-_08043980: .4byte 0xffff00ff
-_08043984: .4byte 0xff00ffff
-_08043988: .4byte gUnknown_202EDC8
-_0804398C: .4byte gUnknown_81006A4
-_08043990: .4byte 0x00000222
-_08043994: .4byte gUnknown_202EC88
-_08043998: .4byte gUnknown_203B40C
-_0804399C: .4byte gUnknown_203B41C
-_080439A0:
- movs r0, 0x2
- bl sub_8046F84
-_080439A6:
- bl sub_806C1D8
- ldr r4, _080439CC
- ldr r1, [r4]
- ldr r5, _080439D0
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080439D4
- adds r5, 0x1A
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080439C4
- b _08043AF4
-_080439C4:
- bl sub_804700C
- b _08043AF4
- .align 2, 0
-_080439CC: .4byte gUnknown_203B418
-_080439D0: .4byte 0x00000654
-_080439D4:
- ldrb r0, [r1, 0x11]
- cmp r0, 0x1
- bne _080439DC
- b _080432C8
-_080439DC:
- cmp r0, 0x2
- bne _08043A00
- bl sub_8083600
- adds r2, r0, 0
- ldr r0, _080439F8
- movs r1, 0
- bl sub_8083AB0
- ldr r0, [r4]
- ldr r1, _080439FC
- adds r0, r1
- b _08043A62
- .align 2, 0
-_080439F8: .4byte 0x00000229
-_080439FC: .4byte 0x0000066e
-_08043A00:
- cmp r0, 0x3
- bne _08043A24
- bl sub_8083600
- adds r2, r0, 0
- ldr r0, _08043A1C
- movs r1, 0
- bl sub_8083AB0
- ldr r0, [r4]
- ldr r2, _08043A20
- adds r0, r2
- b _08043A62
- .align 2, 0
-_08043A1C: .4byte 0x0000022a
-_08043A20: .4byte 0x0000066e
-_08043A24:
- cmp r0, 0x4
- bne _08043A2A
- b _080432D0
-_08043A2A:
- movs r3, 0xCF
- lsls r3, 3
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08043A74
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08043A74
- ldr r0, [r4]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08043A74
- bl sub_8083600
- adds r2, r0, 0
- movs r0, 0x8A
- lsls r0, 2
- movs r1, 0
- bl sub_8083AB0
- ldr r0, [r4]
- ldr r5, _08043A70
- adds r0, r5
-_08043A62:
- ldrb r0, [r0]
- cmp r0, 0
- beq _08043AF4
- bl sub_8097810
- b _08043AF4
- .align 2, 0
-_08043A70: .4byte 0x0000066e
-_08043A74:
- ldr r4, _08043ACC
- ldr r0, [r4]
- ldr r1, _08043AD0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08043A86
- bl sub_8097810
-_08043A86:
- ldr r1, [r4]
- ldr r3, _08043AD4
- adds r2, r1, r3
- ldrb r0, [r2]
- adds r0, 0x1
- ldr r5, _08043AD8
- adds r1, r5
- ldrb r1, [r1]
- cmp r0, r1
- bge _08043AE4
- strb r0, [r2]
- ldr r0, [r4]
- ldr r1, _08043ADC
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _08043AE0
- cmp r1, r0
- beq _08043AAC
- b _080432FC
-_08043AAC:
- movs r0, 0x1F
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- beq _08043ABA
- b _080432FC
-_08043ABA:
- movs r0, 0x1F
- bl sub_8097FA8
- bl sub_8086130
- bl sub_8097FF8
- b _080432FC
- .align 2, 0
-_08043ACC: .4byte gUnknown_203B418
-_08043AD0: .4byte 0x0000066e
-_08043AD4: .4byte 0x00000645
-_08043AD8: .4byte 0x0001cec8
-_08043ADC: .4byte 0x00000644
-_08043AE0: .4byte 0x0000060b
-_08043AE4:
- ldr r4, _08043B80
- bl sub_8083600
- adds r2, r0, 0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8083AB0
-_08043AF4:
- ldr r1, _08043B84
- movs r0, 0
- strb r0, [r1]
- mov r4, r8
- adds r4, 0x7E
- movs r0, 0
- strb r0, [r4]
- bl sub_8097FF8
- movs r0, 0x1
- movs r1, 0x14
- bl sub_80095CC
- bl sub_803E13C
- movs r0, 0x4
- bl sub_800CDA8
- ldr r0, _08043B88
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08043B38
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- bl sub_8083C88
- lsls r0, 24
- cmp r0, 0
- beq _08043B38
- bl sub_80841EC
-_08043B38:
- bl sub_8083C24
- lsls r0, 24
- cmp r0, 0
- beq _08043BA4
- ldr r5, _08043B88
- ldr r0, [r5]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _08043B98
- ldr r0, _08043B8C
- ldr r3, [sp, 0xC]
- strh r0, [r3]
- mov r4, r8
- adds r4, 0x84
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- mov r3, r8
- adds r3, 0x80
- ldr r1, [r5]
- ldr r5, _08043B90
- adds r2, r1, r5
- ldr r0, [r2]
- str r0, [r3]
- ldr r0, [r2]
- str r0, [r4]
- mov r2, r8
- adds r2, 0x88
- ldr r0, _08043B94
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- b _08043C32
- .align 2, 0
-_08043B80: .4byte 0x00000227
-_08043B84: .4byte gUnknown_203B40C
-_08043B88: .4byte gUnknown_203B418
-_08043B8C: .4byte 0x0000fffe
-_08043B90: .4byte 0x00000644
-_08043B94: .4byte 0x0000067c
-_08043B98:
- ldr r0, _08043BA0
- ldr r1, [sp, 0xC]
- strh r0, [r1]
- b _08043C32
- .align 2, 0
-_08043BA0: .4byte 0x0000ffff
-_08043BA4:
- bl sub_8083C50
- lsls r0, 24
- cmp r0, 0
- beq _08043C28
- ldr r0, _08043BC8
- ldr r0, [r0]
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08043BCC
- movs r0, 0x4
- ldr r3, [sp, 0xC]
- strh r0, [r3]
- b _08043BE6
- .align 2, 0
-_08043BC8: .4byte gUnknown_203B418
-_08043BCC:
- cmp r0, 0
- bne _08043BDC
- movs r0, 0x1
- ldr r5, [sp, 0xC]
- strh r0, [r5]
- bl sub_8084424
- b _08043BE6
-_08043BDC:
- movs r0, 0x1
- ldr r1, [sp, 0xC]
- strh r0, [r1]
- bl sub_8084424
-_08043BE6:
- ldr r0, _08043BF4
- ldr r0, [r0]
- ldr r2, _08043BF8
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r4]
- b _08043C32
- .align 2, 0
-_08043BF4: .4byte gUnknown_203B418
-_08043BF8: .4byte 0x00000674
-_08043BFC:
- ldr r0, _08043C20
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 7
- bl sub_8080B30
- movs r0, 0x3
- ldr r3, [sp, 0xC]
- strh r0, [r3]
- mov r1, r8
- adds r1, 0x80
- ldr r0, [r4]
- ldr r5, _08043C24
- adds r0, r5
- ldr r0, [r0]
- str r0, [r1]
- b _08043C32
- .align 2, 0
-_08043C20: .4byte gUnknown_203B41C
-_08043C24: .4byte 0x00000644
-_08043C28:
- movs r0, 0x2
- ldr r1, [sp, 0xC]
- strh r0, [r1]
- bl sub_8084424
-_08043C32:
- bl sub_806863C
- bl sub_803E214
- bl nullsub_56
- bl sub_8040218
- ldr r2, [sp, 0xC]
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0x1
- beq _08043C54
- cmp r0, 0x4
- beq _08043C54
- cmp r0, 0x2
- bne _08043C58
-_08043C54:
- bl sub_8047104
-_08043C58:
- ldr r5, [sp, 0xC]
- movs r0, 0
- ldrsh r1, [r5, r0]
- cmp r1, 0x1
- beq _08043C8A
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _08043C78
- cmp r1, 0x4
- beq _08043C78
- adds r0, 0x1
- cmp r1, r0
- beq _08043C78
- cmp r1, 0x2
- bne _08043CAC
-_08043C78:
- ldr r2, [sp, 0xC]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x1
- beq _08043C8A
- cmp r1, 0x4
- beq _08043C8A
- cmp r1, 0x2
- bne _08043C92
-_08043C8A:
- movs r0, 0x1
- bl sub_8068BDC
- b _08043CAC
-_08043C92:
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _08043CA2
- movs r0, 0
- bl sub_8068BDC
- b _08043CAC
-_08043CA2:
- bl sub_8068F28
- movs r0, 0
- bl sub_8068BDC
-_08043CAC:
- bl sub_800DB7C
- ldr r0, _08043CD0
- movs r1, 0
- str r1, [r0]
- ldr r0, _08043CD4
- str r1, [r0]
- bl nullsub_16
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08043CD0: .4byte gUnknown_203B418
-_08043CD4: .4byte gUnknown_203B41C
- thumb_func_end xxx_dungeon_8042F6C
-
- thumb_func_start sub_8043CD8
-sub_8043CD8:
- push {lr}
- bl sub_8009804
- pop {r0}
- bx r0
- thumb_func_end sub_8043CD8
-
- thumb_func_start sub_8043CE4
-sub_8043CE4:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08043CF4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08043CF8
- movs r0, 0x1
- b _08043D08
- .align 2, 0
-_08043CF4: .4byte gUnknown_202F1A8
-_08043CF8:
- movs r2, 0
- ldr r0, _08043D0C
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08043D06
- movs r2, 0x1
-_08043D06:
- adds r0, r2, 0
-_08043D08:
- pop {r1}
- bx r1
- .align 2, 0
-_08043D0C: .4byte gUnknown_810ACC0
- thumb_func_end sub_8043CE4
-
- thumb_func_start sub_8043D10
-sub_8043D10:
- push {lr}
- ldr r0, _08043D38
- ldr r1, [r0]
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08043D3C
- subs r2, 0x2B
- adds r0, r1, r2
- subs r2, 0x8
- adds r1, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08043D3C
- movs r0, 0x2
- b _08043D4C
- .align 2, 0
-_08043D38: .4byte gUnknown_203B418
-_08043D3C:
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _08043D4A
- movs r0, 0
- b _08043D4C
-_08043D4A:
- movs r0, 0x1
-_08043D4C:
- pop {r1}
- bx r1
- thumb_func_end sub_8043D10
-
- thumb_func_start sub_8043D50
-sub_8043D50:
- ldr r2, _08043D5C
- str r2, [r1]
- movs r1, 0x90
- lsls r1, 7
- str r1, [r0]
- bx lr
- .align 2, 0
-_08043D5C: .4byte 0x0001cedc
- thumb_func_end sub_8043D50
-
- thumb_func_start sub_8043D60
-sub_8043D60:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
-_08043D6A:
- ldr r0, _08043DA4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08043DA8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08043DCE
- ldr r2, [r4, 0x70]
- movs r1, 0x1
- ldrb r0, [r2, 0x8]
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08043DA0
- cmp r0, 0x47
- bne _08043DAC
-_08043DA0:
- movs r0, 0x1
- b _08043DAE
- .align 2, 0
-_08043DA4: .4byte gUnknown_203B418
-_08043DA8: .4byte 0x0001358c
-_08043DAC:
- movs r0, 0
-_08043DAE:
- cmp r0, 0
- beq _08043DB4
- movs r1, 0
-_08043DB4:
- adds r0, r2, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08043DC0
- movs r1, 0
-_08043DC0:
- cmp r1, 0
- beq _08043DCE
- adds r0, r4, 0
- ldr r1, _08043EC0
- adds r2, r4, 0
- bl sub_8068FE0
-_08043DCE:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08043D6A
- movs r5, 0
- ldr r0, _08043EC4
- mov r9, r0
- mov r8, r5
-_08043DDC:
- mov r1, r9
- ldr r0, [r1]
- lsls r1, r5, 2
- ldr r2, _08043EC8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- adds r7, r5, 0x1
- cmp r0, 0
- beq _08043E62
- adds r0, r4, 0
- adds r0, 0x22
- mov r1, r8
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x20
- movs r0, 0x1
- strb r0, [r1]
- ldr r4, [r4, 0x70]
- ldrh r0, [r4, 0x10]
- strh r0, [r4, 0xE]
- movs r2, 0x9E
- lsls r2, 1
- adds r1, r4, r2
- adds r2, 0x4
- adds r0, r4, r2
- ldr r0, [r0]
- str r0, [r1]
- mov r1, r9
- ldr r0, [r1]
- ldr r2, _08043ECC
- adds r0, r2
- mov r1, r8
- strb r1, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806BFC0
- ldrh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- adds r0, 0xFD
- mov r2, r8
- strb r2, [r0]
- movs r0, 0x8C
- lsls r0, 1
- adds r5, r4, r0
- adds r4, r5, 0
- movs r6, 0x3
-_08043E46:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08043E58
- adds r0, r5, 0
- bl sub_8092BF4
- strb r0, [r4, 0x4]
-_08043E58:
- adds r4, 0x8
- adds r5, 0x8
- subs r6, 0x1
- cmp r6, 0
- bge _08043E46
-_08043E62:
- adds r5, r7, 0
- cmp r5, 0x3
- ble _08043DDC
- movs r6, 0
-_08043E6A:
- movs r5, 0
- adds r7, r6, 0x1
-_08043E6E:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- ldr r4, [r0, 0x14]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08043EA0
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _08043EA0
- adds r0, r4, 0
- bl sub_8045104
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x1B
- bne _08043EA0
- movs r0, 0x5
- strb r0, [r1]
-_08043EA0:
- adds r5, 0x1
- cmp r5, 0x37
- ble _08043E6E
- adds r6, r7, 0
- cmp r6, 0x1F
- ble _08043E6A
- movs r0, 0x2
- bl sub_8046F84
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08043EC0: .4byte 0x00000207
-_08043EC4: .4byte gUnknown_203B418
-_08043EC8: .4byte 0x0001357c
-_08043ECC: .4byte 0x00000676
- thumb_func_end sub_8043D60
-
- thumb_func_start sub_8043ED0
-sub_8043ED0:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r7, 0
- cmp r5, 0
- bne _08043EEA
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08043EEA
- movs r0, 0
- b _08043FB8
-_08043EEA:
- ldr r6, _08043F2C
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- bne _08043F40
- bl sub_8083600
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08043FB6
- cmp r5, 0
- bne _08043F20
- ldr r0, _08043F30
- ldr r1, [r6]
- ldr r2, _08043F34
- adds r1, r2
- bl strcpy
- ldr r0, _08043F38
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08043F20:
- adds r0, r4, 0
- bl sub_8042B0C
- ldr r1, _08043F3C
- b _08043FAC
- .align 2, 0
-_08043F2C: .4byte gUnknown_203B418
-_08043F30: .4byte gUnknown_202DF98
-_08043F34: .4byte 0x000005f4
-_08043F38: .4byte gUnknown_80F89B4
-_08043F3C: .4byte 0x0000021f
-_08043F40:
- cmp r0, 0x2
- bne _08043F74
- bl sub_8083600
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08043FB6
- cmp r5, 0
- bne _08043FA4
- ldr r0, _08043F68
- ldr r1, [r6]
- ldr r2, _08043F6C
- adds r1, r2
- bl strcpy
- ldr r0, _08043F70
- b _08043F9A
- .align 2, 0
-_08043F68: .4byte gUnknown_202DF98
-_08043F6C: .4byte 0x000005f4
-_08043F70: .4byte gUnknown_80F89D4
-_08043F74:
- cmp r0, 0x3
- bne _08043FB6
- bl sub_8083600
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08043FB6
- cmp r5, 0
- bne _08043FA4
- ldr r0, _08043FC0
- ldr r1, [r6]
- ldr r2, _08043FC4
- adds r1, r2
- bl strcpy
- ldr r0, _08043FC8
-_08043F9A:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08043FA4:
- adds r0, r4, 0
- bl sub_8042B0C
- ldr r1, _08043FCC
-_08043FAC:
- adds r0, r4, 0
- adds r2, r4, 0
- bl sub_8068FE0
- movs r7, 0x1
-_08043FB6:
- adds r0, r7, 0
-_08043FB8:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08043FC0: .4byte gUnknown_202DF98
-_08043FC4: .4byte 0x000005f4
-_08043FC8: .4byte gUnknown_80F89D8
-_08043FCC: .4byte 0x00000222
- thumb_func_end sub_8043ED0
-
- thumb_func_start sub_8043FD0
-sub_8043FD0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- movs r0, 0x2
- mov r9, r0
- movs r1, 0x1
- mov r10, r1
- movs r0, 0xFF
- mov r8, r0
-_08043FE8:
- movs r3, 0
- mov r1, r9
- adds r1, 0x1
- str r1, [sp, 0x3C]
-_08043FF0:
- ldr r2, _080440E4
- movs r0, 0x58
- adds r1, r3, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrh r1, [r4]
- mov r0, r10
- ands r0, r1
- adds r3, 0x1
- str r3, [sp, 0x40]
- cmp r0, 0
- beq _080440FE
- lsrs r0, r1, 1
- mov r1, r10
- ands r0, r1
- cmp r0, 0
- beq _080440FE
- add r5, sp, 0x20
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- mov r2, r9
- bl sub_808E010
- mov r1, r9
- strb r1, [r4, 0x3]
- ldr r0, [sp, 0x20]
- str r0, [r4, 0x1C]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r4, 0x16]
- adds r0, r1
- movs r2, 0
- strh r0, [r4, 0x16]
- lsls r0, 16
- ldr r1, _080440E8
- cmp r0, r1
- ble _08044040
- ldr r0, _080440EC
- strh r0, [r4, 0x16]
-_08044040:
- ldrb r0, [r4, 0x18]
- str r0, [sp, 0x2C]
- ldrb r0, [r4, 0x19]
- str r0, [sp, 0x30]
- ldrb r0, [r4, 0x1A]
- str r0, [sp, 0x34]
- ldrb r0, [r4, 0x1B]
- str r0, [sp, 0x38]
- ldrb r1, [r5, 0x6]
- ldr r0, [sp, 0x2C]
- adds r0, r1
- str r0, [sp, 0x2C]
- ldrb r1, [r5, 0x7]
- ldr r0, [sp, 0x30]
- adds r0, r1
- str r0, [sp, 0x30]
- ldrb r1, [r5, 0x8]
- ldr r0, [sp, 0x34]
- adds r0, r1
- str r0, [sp, 0x34]
- ldrb r1, [r5, 0x9]
- ldr r0, [sp, 0x38]
- adds r0, r1
- str r0, [sp, 0x38]
- ldr r0, [sp, 0x2C]
- cmp r0, 0xFE
- ble _0804407A
- mov r0, r8
- str r0, [sp, 0x2C]
-_0804407A:
- ldr r0, [sp, 0x30]
- cmp r0, 0xFE
- ble _08044084
- mov r1, r8
- str r1, [sp, 0x30]
-_08044084:
- ldr r0, [sp, 0x34]
- cmp r0, 0xFE
- ble _0804408E
- mov r0, r8
- str r0, [sp, 0x34]
-_0804408E:
- ldr r0, [sp, 0x38]
- cmp r0, 0xFE
- ble _08044098
- mov r1, r8
- str r1, [sp, 0x38]
-_08044098:
- ldr r0, [sp, 0x2C]
- strb r0, [r4, 0x18]
- ldr r0, [sp, 0x30]
- strb r0, [r4, 0x19]
- ldr r0, [sp, 0x34]
- strb r0, [r4, 0x1A]
- ldr r0, [sp, 0x38]
- strb r0, [r4, 0x1B]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- ldrb r2, [r4, 0x3]
- mov r0, sp
- ldr r3, _080440EC
- bl sub_808E0AC
- adds r6, r0, 0
- cmp r6, 0
- beq _080440FE
- movs r0, 0
- cmp r0, r6
- bge _080440FE
-_080440C2:
- movs r3, 0
- adds r7, r0, 0x1
- lsls r0, 1
- mov r1, sp
- adds r5, r1, r0
- adds r2, r4, 0
- adds r2, 0x2C
-_080440D0:
- ldrb r1, [r2]
- mov r0, r10
- ands r0, r1
- cmp r0, 0
- bne _080440F0
- ldrh r1, [r5]
- adds r0, r2, 0
- bl sub_8092AD4
- b _080440F8
- .align 2, 0
-_080440E4: .4byte gUnknown_203B45C
-_080440E8: .4byte 0x03e60000
-_080440EC: .4byte 0x000003e7
-_080440F0:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _080440D0
-_080440F8:
- adds r0, r7, 0
- cmp r0, r6
- blt _080440C2
-_080440FE:
- ldr r3, [sp, 0x40]
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- bgt _0804410A
- b _08043FF0
-_0804410A:
- ldr r0, [sp, 0x3C]
- mov r9, r0
- cmp r0, 0x5
- bgt _08044114
- b _08043FE8
-_08044114:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8043FD0
-
- thumb_func_start sub_8044124
-sub_8044124:
- push {r4,r5,lr}
- ldr r0, _080441AC
- ldr r0, [r0]
- ldr r1, _080441B0
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8090114
- cmp r0, 0
- bne _08044182
- movs r3, 0
- ldr r4, _080441B4
- movs r2, 0
-_0804413E:
- lsls r1, r3, 2
- ldr r0, [r4]
- adds r1, r0
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x1]
- strb r2, [r1]
- adds r3, 0x1
- cmp r3, 0x13
- ble _0804413E
- movs r3, 0
- ldr r5, _080441B8
- movs r4, 0x1
-_08044156:
- movs r0, 0x58
- adds r1, r3, 0
- muls r1, r0
- ldr r0, [r5]
- adds r1, r0, r1
- ldrh r2, [r1]
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08044178
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- beq _08044178
- adds r1, 0x28
- movs r0, 0
- strb r0, [r1]
-_08044178:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _08044156
-_08044182:
- ldr r0, _080441AC
- ldr r0, [r0]
- ldr r2, _080441B0
- adds r0, r2
- ldrb r0, [r0]
- bl sub_8090124
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080441A4
- ldr r0, _080441B4
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- str r1, [r0]
-_080441A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080441AC: .4byte gUnknown_203B418
-_080441B0: .4byte 0x00000644
-_080441B4: .4byte gUnknown_203B460
-_080441B8: .4byte gUnknown_203B45C
- thumb_func_end sub_8044124
-
- thumb_func_start sub_80441BC
-sub_80441BC:
- push {lr}
- ldr r0, _080441D8
- ldr r0, [r0]
- ldr r1, _080441DC
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080441E0
- cmp r0, 0x31
- bgt _080441E0
- movs r0, 0x1
- b _080441E2
- .align 2, 0
-_080441D8: .4byte gUnknown_203B418
-_080441DC: .4byte 0x00003a14
-_080441E0:
- movs r0, 0
-_080441E2:
- pop {r1}
- bx r1
- thumb_func_end sub_80441BC
-
- thumb_func_start sub_80441E8
-sub_80441E8:
- push {lr}
- ldr r0, _08044200
- ldr r0, [r0]
- ldr r1, _08044204
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x3F
- bgt _08044208
- movs r0, 0
- b _0804420A
- .align 2, 0
-_08044200: .4byte gUnknown_203B418
-_08044204: .4byte 0x00003a0e
-_08044208:
- movs r0, 0x1
-_0804420A:
- pop {r1}
- bx r1
- thumb_func_end sub_80441E8
-
- thumb_func_start sub_8044210
-sub_8044210:
- push {lr}
- ldr r0, _0804422C
- ldr r0, [r0]
- ldr r1, _08044230
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- bls _08044234
- movs r0, 0
- b _08044236
- .align 2, 0
-_0804422C: .4byte gUnknown_203B418
-_08044230: .4byte 0x00000644
-_08044234:
- movs r0, 0x1
-_08044236:
- pop {r1}
- bx r1
- thumb_func_end sub_8044210
-
- thumb_func_start RunDungeon
-RunDungeon:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080442C6
- bl sub_8044994
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080442C6
- adds r0, r4, 0
- bl xxx_dungeon_80442D0
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080442C6
- cmp r4, 0
- beq _08044280
- bl sub_807E378
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080442C6
-_08044280:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080442C6
- bl sub_8044574
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080442C6
- bl sub_8044820
- bl sub_8044B28
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080442C6
- bl sub_8044AB4
- ldr r0, _080442CC
- ldr r0, [r0]
- movs r2, 0xCC
- lsls r2, 3
- adds r1, r0, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- bne _080442C6
- strh r4, [r1]
-_080442C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080442CC: .4byte gUnknown_203B418
- thumb_func_end RunDungeon
-
- thumb_func_start xxx_dungeon_80442D0
-xxx_dungeon_80442D0:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- bl sub_8083600
- adds r5, r0, 0
- cmp r5, 0
- beq _0804431A
- bl sub_8069E8C
- adds r0, r5, 0
- bl sub_8070774
- ldr r3, _08044320
- ldr r1, _08044324
- ldr r1, [r1]
- movs r2, 0xCC
- lsls r2, 3
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r1, 1
- movs r2, 0x32
- muls r0, r2
- adds r1, r0
- adds r1, r3
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0804431A
- ldr r0, [r5, 0x70]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08044328
-_0804431A:
- movs r0, 0
- b _0804444E
- .align 2, 0
-_08044320: .4byte gUnknown_80F6860
-_08044324: .4byte gUnknown_203B418
-_08044328:
- bl sub_8083600
- adds r5, r0, 0
- cmp r5, 0
- beq _0804431A
- movs r0, 0
- bl sub_807520C
- lsls r0, 24
- cmp r0, 0
- bne _0804435C
- ldr r0, _08044388
- ldr r1, [r0]
- ldr r2, _0804438C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08044356
- ldr r3, _08044390
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804435C
-_08044356:
- movs r0, 0xC
- bl sub_803E46C
-_0804435C:
- ldr r0, [r5, 0x70]
- adds r0, 0xF8
- movs r1, 0
- strb r1, [r0]
- bl sub_8044B28
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0804431A
- ldr r0, _08044388
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xB8
- str r5, [r0]
- adds r1, 0xBC
- str r2, [r1]
- cmp r7, 0
- beq _08044394
- movs r7, 0
- b _0804439A
- .align 2, 0
-_08044388: .4byte gUnknown_203B418
-_0804438C: .4byte 0x0000066c
-_08044390: .4byte 0x00000673
-_08044394:
- adds r0, r5, 0
- bl sub_8074B54
-_0804439A:
- bl sub_8044B28
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0804431A
- adds r0, r5, 0
- bl sub_8071DA4
- ldr r6, _08044434
- ldr r1, [r6]
- movs r0, 0x1
- strb r0, [r1, 0xF]
- bl sub_805D8C8
- ldr r0, [r6]
- strb r4, [r0, 0xF]
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0804444C
- adds r0, r5, 0
- bl sub_8072CF4
- bl sub_8086AC0
- movs r0, 0
- bl sub_8043ED0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0804444C
- ldr r2, [r5, 0x70]
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08044400
- subs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- movs r3, 0x80
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
-_08044400:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0804444C
- bl sub_8044454
- bl sub_8044B28
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0804444C
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0xBC
- ldr r1, [r0]
- cmp r1, 0
- beq _08044438
- bl sub_805F02C
- ldr r0, [r6]
- adds r0, 0xBC
- str r4, [r0]
- movs r7, 0x1
- b _08044328
- .align 2, 0
-_08044434: .4byte gUnknown_203B418
-_08044438:
- ldr r0, [r5, 0x70]
- adds r0, 0xF8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804444C
- movs r3, 0xCC
- lsls r3, 3
- adds r0, r2, r3
- strh r1, [r0]
- b _08044328
-_0804444C:
- movs r0, 0x1
-_0804444E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end xxx_dungeon_80442D0
-
- thumb_func_start sub_8044454
-sub_8044454:
- push {r4-r6,lr}
- ldr r0, _080444E8
- ldr r1, [r0]
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- beq _080444E2
- movs r0, 0
- strb r0, [r1, 0xE]
- movs r6, 0
-_08044466:
- ldr r0, _080444E8
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _080444EC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080444DC
- ldr r5, [r4, 0x70]
- ldrh r0, [r5]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080444DC
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080444E2
- adds r0, r4, 0
- bl sub_8074B54
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080444DC
- adds r0, r4, 0
- bl sub_8071DA4
- adds r0, r4, 0
- movs r1, 0
- bl sub_8075990
- adds r0, r4, 0
- bl sub_8072CF4
- bl sub_8086AC0
- movs r0, 0
- bl sub_8043ED0
- ldrh r0, [r5]
- ldr r2, _080444F0
- adds r1, r2, 0
- ands r0, r1
- movs r2, 0x80
- lsls r2, 7
- adds r1, r2, 0
- orrs r0, r1
- strh r0, [r5]
-_080444DC:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08044466
-_080444E2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080444E8: .4byte gUnknown_203B418
-_080444EC: .4byte 0x000135cc
-_080444F0: .4byte 0x00007fff
- thumb_func_end sub_8044454
-
- thumb_func_start sub_80444F4
-sub_80444F4:
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8083600
- cmp r6, r0
- bne _08044566
- ldr r0, _0804456C
- ldr r1, [r0]
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- beq _08044566
- movs r0, 0
- strb r0, [r1, 0xE]
- movs r5, 0
-_08044510:
- ldr r0, _0804456C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08044570
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08044560
- cmp r6, r4
- beq _08044560
- ldr r0, [r4, 0x70]
- ldrh r0, [r0]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _08044560
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08044566
- adds r0, r4, 0
- movs r1, 0
- bl sub_8075990
- adds r0, r4, 0
- bl sub_8072CF4
- bl sub_8086AC0
- movs r0, 0
- bl sub_8043ED0
-_08044560:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08044510
-_08044566:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804456C: .4byte gUnknown_203B418
-_08044570: .4byte 0x000135cc
- thumb_func_end sub_80444F4
-
- thumb_func_start sub_8044574
-sub_8044574:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- bl sub_8083600
- mov r10, r0
- movs r7, 0
- mov r0, sp
- adds r0, 0x4
- str r0, [sp, 0x40]
- ldr r1, _08044634
- mov r9, r1
-_08044592:
- mov r2, r9
- ldr r0, [r2]
- lsls r1, r7, 2
- ldr r3, _08044638
- adds r0, r3
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080446A4
- ldr r6, [r5, 0x70]
- mov r8, r6
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _080446A4
- bl sub_8044B28
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080446AC
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xB8
- str r5, [r0]
- bl sub_8069E8C
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- strb r4, [r0]
- adds r0, r5, 0
- bl sub_8070774
- mov r3, r9
- ldr r1, [r3]
- movs r2, 0xCC
- lsls r2, 3
- adds r1, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- lsls r1, 1
- movs r2, 0x32
- muls r0, r2
- adds r1, r0
- ldr r0, _0804463C
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080446A4
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r6, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080446A4
- ldrh r1, [r6]
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080446A4
- movs r3, 0x80
- lsls r3, 7
- adds r0, r3, 0
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _08044644
- ldr r2, _08044640
- adds r0, r2, 0
- ands r0, r1
- strh r0, [r6]
- b _080446A4
- .align 2, 0
-_08044634: .4byte gUnknown_203B418
-_08044638: .4byte 0x0001357c
-_0804463C: .4byte gUnknown_80F6860
-_08044640: .4byte 0x0000bfff
-_08044644:
- ldr r1, _08044668
- add r1, r8
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8074B54
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080446A4
- adds r0, r5, 0
- bl sub_8071DA4
- movs r4, 0
- b _0804466E
- .align 2, 0
-_08044668: .4byte 0x00000145
-_0804466C:
- adds r4, 0x1
-_0804466E:
- cmp r4, 0x2
- bgt _080446A4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8075990
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080446A4
- adds r0, r5, 0
- bl sub_8072CF4
- lsls r0, 24
- cmp r0, 0
- beq _080446A4
- bl sub_8086AC0
- movs r0, 0
- bl sub_8043ED0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0804466C
-_080446A4:
- adds r7, 0x1
- cmp r7, 0x3
- bgt _080446AC
- b _08044592
-_080446AC:
- movs r0, 0
- mov r8, r0
-_080446B0:
- adds r0, 0x1
- mov r9, r0
- add r2, sp, 0x8
- ldr r1, [sp, 0x40]
- mov r0, sp
- movs r7, 0x2
-_080446BC:
- mov r3, r8
- str r3, [r0]
- str r2, [r1]
- adds r2, 0x8
- adds r1, 0x8
- adds r0, 0x8
- subs r7, 0x1
- cmp r7, 0
- bge _080446BC
- str r3, [sp, 0x18]
- str r3, [sp, 0x1C]
- movs r7, 0
-_080446D4:
- ldr r0, _08044710
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08044714
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08044760
- ldr r1, [r4, 0x70]
- movs r3, 0xA2
- lsls r3, 1
- adds r2, r1, r3
- ldrb r0, [r2]
- cmp r0, 0
- beq _08044760
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08044718
- adds r3, 0x1
- adds r0, r1, r3
- mov r1, r8
- strb r1, [r0]
- strb r1, [r2]
- b _08044760
- .align 2, 0
-_08044710: .4byte gUnknown_203B418
-_08044714: .4byte 0x0001357c
-_08044718:
- mov r2, r10
- movs r3, 0x4
- ldrsh r1, [r2, r3]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- subs r2, r1, r0
- cmp r2, 0
- bge _0804472A
- negs r2, r2
-_0804472A:
- mov r3, r10
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- subs r1, r0
- cmp r1, 0
- bge _0804473C
- negs r1, r1
-_0804473C:
- cmp r1, r2
- bge _08044742
- adds r1, r2, 0
-_08044742:
- cmp r1, 0x2
- ble _08044748
- movs r1, 0x2
-_08044748:
- add r3, sp, 0x20
- lsls r0, r7, 3
- adds r3, r0
- str r4, [r3]
- add r2, sp, 0x24
- adds r2, r0
- lsls r1, 3
- ldr r0, [sp, 0x40]
- adds r1, r0, r1
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_08044760:
- adds r7, 0x1
- cmp r7, 0x3
- ble _080446D4
- mov r5, sp
- movs r6, 0
-_0804476A:
- ldr r4, [r5]
- cmp r4, 0
- beq _080447A0
- ldr r1, [r4, 0x70]
- ldr r3, _08044814
- adds r2, r1, r3
- movs r0, 0x1
- strb r0, [r2]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r1, r2
- strb r6, [r0]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8075990
- adds r0, r4, 0
- bl sub_8072CF4
- bl sub_8086AC0
- movs r0, 0
- bl sub_8043ED0
- adds r0, r4, 0
- bl sub_80450E0
-_080447A0:
- ldr r5, [r5, 0x4]
- cmp r5, 0
- bne _0804476A
- mov r0, r9
- cmp r0, 0x2
- ble _080446B0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08044802
- movs r7, 0
-_080447B8:
- ldr r0, _08044818
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r3, _0804481C
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080447FC
- ldr r0, [r4, 0x70]
- movs r1, 0xA2
- lsls r1, 1
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0
- beq _080447FC
- adds r0, r4, 0
- bl sub_8074094
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080447FC
- adds r0, r4, 0
- bl sub_8071DA4
- movs r0, 0
- strb r0, [r5]
-_080447FC:
- adds r7, 0x1
- cmp r7, 0x3
- ble _080447B8
-_08044802:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08044814: .4byte 0x00000145
-_08044818: .4byte gUnknown_203B418
-_0804481C: .4byte 0x0001357c
- thumb_func_end sub_8044574
-
- thumb_func_start sub_8044820
-sub_8044820:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r0, _08044830
- mov r8, r0
- b _080448FC
- .align 2, 0
-_08044830: .4byte gUnknown_80F6860
-_08044834:
- ldr r4, [r5, 0x70]
- ldr r0, [r6]
- adds r0, 0xB8
- str r5, [r0]
- bl sub_8069E8C
- ldrh r2, [r4]
- movs r1, 0x80
- lsls r1, 8
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- bne _080448FA
- movs r1, 0x80
- lsls r1, 7
- adds r0, r1, 0
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0804486C
- ldr r1, _08044868
- adds r0, r1, 0
- ands r0, r2
- strh r0, [r4]
- b _080448FA
- .align 2, 0
-_08044868: .4byte 0x0000bfff
-_0804486C:
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r4, r2
- strb r1, [r0]
- adds r0, r5, 0
- bl sub_8070774
- ldr r1, [r6]
- movs r2, 0xCC
- lsls r2, 3
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r1, 1
- movs r2, 0x32
- muls r0, r2
- adds r1, r0
- add r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080448FA
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080448FA
- ldrh r1, [r4]
- ldr r2, _08044984
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0
- strh r1, [r4]
- ldr r2, _08044988
- adds r1, r4, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8074B54
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080448FA
- adds r0, r5, 0
- bl sub_8071DA4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8075990
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08044924
- adds r0, r5, 0
- bl sub_8072CF4
- bl sub_8086AC0
- movs r0, 0
- bl sub_8043ED0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08044924
-_080448FA:
- adds r7, 0x1
-_080448FC:
- cmp r7, 0xF
- bgt _08044924
- ldr r6, _0804498C
- ldr r0, [r6]
- lsls r1, r7, 2
- ldr r2, _08044990
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080448FA
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08044834
-_08044924:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0804497A
- movs r7, 0
-_08044930:
- ldr r0, _0804498C
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08044990
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08044974
- ldr r0, [r4, 0x70]
- movs r1, 0xA2
- lsls r1, 1
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0
- beq _08044974
- adds r0, r4, 0
- bl sub_8074094
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08044974
- adds r0, r4, 0
- bl sub_8071DA4
- movs r0, 0
- strb r0, [r5]
-_08044974:
- adds r7, 0x1
- cmp r7, 0xF
- ble _08044930
-_0804497A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08044984: .4byte 0x00003fff
-_08044988: .4byte 0x00000145
-_0804498C: .4byte gUnknown_203B418
-_08044990: .4byte 0x0001358c
- thumb_func_end sub_8044820
-
- thumb_func_start sub_8044994
-sub_8044994:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _08044A94
- ldr r4, _08044A98
- ldr r0, [r4]
- movs r2, 0xCC
- lsls r2, 3
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 1
- adds r1, 0x32
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08044A8A
- bl sub_8071B48
- ldr r0, [r4]
- ldr r2, _08044A9C
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r4]
- ldr r3, _08044AA0
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- ldr r1, _08044AA4
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r4]
- adds r3, 0x2
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- ldr r3, _08044AA8
- adds r1, r0, r3
- str r2, [r1]
- ldr r1, _08044AAC
- adds r0, r1
- movs r1, 0x2
- str r1, [r0]
- mov r8, r2
- adds r7, r4, 0
-_080449F2:
- ldr r0, [r7]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, _08044AB0
- adds r0, r3
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08044A7A
- ldr r0, [r5, 0x70]
- adds r4, r0, 0
- movs r0, 0xA4
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldrb r0, [r4, 0x6]
- movs r6, 0x1
- cmp r0, 0
- beq _08044A24
- movs r6, 0
-_08044A24:
- adds r0, r5, 0
- movs r1, 0x32
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08044A46
- ldr r1, [r7]
- ldr r2, _08044AA8
- adds r0, r1, r2
- str r5, [r0]
- ldr r3, _08044AAC
- adds r1, r3
- adds r0, r4, 0
- adds r0, 0x98
- ldr r0, [r0]
- str r0, [r1]
-_08044A46:
- adds r0, r5, 0
- movs r1, 0x3F
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08044A60
- ldr r0, [r7]
- ldr r1, _08044AA4
- adds r0, r1
- adds r0, r6
- movs r1, 0x1
- strb r1, [r0]
-_08044A60:
- adds r0, r5, 0
- movs r1, 0x38
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08044A7A
- ldr r0, [r7]
- ldr r2, _08044A9C
- adds r0, r2
- adds r0, r6
- movs r1, 0x1
- strb r1, [r0]
-_08044A7A:
- movs r3, 0x1
- add r8, r3
- mov r0, r8
- cmp r0, 0x13
- ble _080449F2
- movs r0, 0
- bl sub_8043ED0
-_08044A8A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08044A94: .4byte gUnknown_80F6860
-_08044A98: .4byte gUnknown_203B418
-_08044A9C: .4byte 0x000037f8
-_08044AA0: .4byte 0x000037f9
-_08044AA4: .4byte 0x000037fa
-_08044AA8: .4byte 0x00017b2c
-_08044AAC: .4byte 0x00017b38
-_08044AB0: .4byte 0x000135cc
- thumb_func_end sub_8044994
-
- thumb_func_start sub_8044AB4
-sub_8044AB4:
- push {r4,lr}
- ldr r1, _08044ADC
- ldr r0, _08044AE0
- ldr r0, [r0]
- movs r2, 0xCC
- lsls r2, 3
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, 0x1
- lsls r0, 1
- adds r1, 0x32
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08044B1A
- movs r4, 0
- b _08044AE6
- .align 2, 0
-_08044ADC: .4byte gUnknown_80F6860
-_08044AE0: .4byte gUnknown_203B418
-_08044AE4:
- adds r4, 0x1
-_08044AE6:
- cmp r4, 0x13
- bgt _08044B08
- ldr r0, _08044B20
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _08044B24
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08044AE4
- movs r0, 0
- bl sub_807520C
-_08044B08:
- movs r0, 0x1
- movs r1, 0
- bl sub_807EAA0
- bl sub_8086AC0
- movs r0, 0
- bl sub_8043ED0
-_08044B1A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08044B20: .4byte gUnknown_203B418
-_08044B24: .4byte 0x000135cc
- thumb_func_end sub_8044AB4
-
- thumb_func_start sub_8044B28
-sub_8044B28:
- push {r4,lr}
- ldr r4, _08044B48
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08044B76
- bl sub_8083600
- cmp r0, 0
- bne _08044B50
- ldr r0, [r4]
- ldr r1, _08044B4C
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _08044B76
- .align 2, 0
-_08044B48: .4byte gUnknown_203B418
-_08044B4C: .4byte 0x00000654
-_08044B50:
- ldr r0, [r4]
- ldrb r2, [r0, 0x2]
- cmp r2, 0x1
- bne _08044B68
- ldr r2, _08044B64
- adds r1, r0, r2
- movs r0, 0x2
- strb r0, [r1]
- b _08044B76
- .align 2, 0
-_08044B64: .4byte 0x00000654
-_08044B68:
- cmp r2, 0x2
- beq _08044B70
- movs r0, 0
- b _08044B78
-_08044B70:
- ldr r1, _08044B80
- adds r0, r1
- strb r2, [r0]
-_08044B76:
- movs r0, 0x1
-_08044B78:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08044B80: .4byte 0x00000654
- thumb_func_end sub_8044B28
-
- thumb_func_start sub_8044B84
-sub_8044B84:
- push {lr}
- ldr r0, _08044B9C
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _08044BA0
- bl sub_8044B28
- lsls r0, 24
- lsrs r0, 24
- b _08044BA2
- .align 2, 0
-_08044B9C: .4byte gUnknown_203B418
-_08044BA0:
- movs r0, 0x1
-_08044BA2:
- pop {r1}
- bx r1
- thumb_func_end sub_8044B84
-
- thumb_func_start sub_8044BA8
-sub_8044BA8:
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0x26
- bne _08044BCC
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08044BCC
- ldr r0, _08044BC8
- b _08044C02
- .align 2, 0
-_08044BC8: .4byte gUnknown_80F91EC
-_08044BCC:
- ldr r1, _08044BEC
- lsls r0, r4, 3
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r1, _08044BF0
- bl strcmp
- cmp r0, 0
- beq _08044BE0
- movs r0, 0x1
-_08044BE0:
- lsls r0, 24
- cmp r0, 0
- beq _08044BF4
- ldr r0, [r4]
- b _08044C04
- .align 2, 0
-_08044BEC: .4byte gUnknown_80F7C50
-_08044BF0: .4byte gUnknown_80F697C
-_08044BF4:
- ldr r4, _08044C0C
- adds r0, r5, 0
- bl sub_8090D6C
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
-_08044C02:
- ldr r0, [r0]
-_08044C04:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08044C0C: .4byte gUnknown_80F7B14
- thumb_func_end sub_8044BA8
-
- thumb_func_start sub_8044C10
-sub_8044C10:
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8083654
- adds r2, r0, 0
- adds r1, r2, 0
- adds r1, 0x44
- movs r3, 0
- movs r0, 0
- strh r0, [r1]
- cmp r4, 0
- beq _08044C44
- adds r0, r2, 0
- adds r0, 0x48
- strb r3, [r0]
- adds r0, 0x8
- strb r3, [r0]
- adds r1, 0x14
- ldr r0, _08044C4C
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
-_08044C44:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08044C4C: .4byte 0x0000ffff
- thumb_func_end sub_8044C10
-
- thumb_func_start sub_8044C50
-sub_8044C50:
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl sub_8083654
- adds r2, r0, 0
- adds r0, 0x44
- movs r1, 0
- strh r4, [r0]
- adds r0, 0x4
- strb r1, [r0]
- adds r0, 0x8
- strb r1, [r0]
- adds r1, r2, 0
- adds r1, 0x58
- ldr r0, _08044C84
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08044C84: .4byte 0x0000ffff
- thumb_func_end sub_8044C50
-
- thumb_func_start sub_8044C88
-sub_8044C88:
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- strb r2, [r0, 0x4]
- strb r2, [r0, 0xC]
- bx lr
- thumb_func_end sub_8044C88
-
- thumb_func_start sub_8044C94
-sub_8044C94:
- movs r2, 0
- strh r1, [r0]
- strb r2, [r0, 0x4]
- strb r2, [r0, 0xC]
- bx lr
- thumb_func_end sub_8044C94
-
- thumb_func_start sub_8044CA0
-sub_8044CA0:
- push {r4,lr}
- adds r4, r0, 0
- lsls r0, r1, 16
- asrs r0, 16
- bl sub_808DB48
- lsls r0, 24
- cmp r0, 0
- beq _08044CB6
- movs r0, 0x2
- b _08044CB8
-_08044CB6:
- movs r0, 0x1
-_08044CB8:
- strh r0, [r4]
- movs r0, 0
- strb r0, [r4, 0x4]
- strb r0, [r4, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8044CA0
-
- thumb_func_start sub_8044CC8
-sub_8044CC8:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldrb r1, [r2]
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _08044CEC
- ldr r0, _08044CE8
- ldrb r1, [r2]
- lsls r1, 2
- subs r1, 0x4
- ldr r0, [r0]
- adds r0, r1
- b _08044D34
- .align 2, 0
-_08044CE8: .4byte gUnknown_203B460
-_08044CEC:
- adds r0, r1, 0
- cmp r0, 0x80
- bne _08044D06
- movs r1, 0x4
- ldrsh r0, [r2, r1]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- bl sub_804954C
- ldr r0, [r0, 0x14]
- bl sub_8045108
- b _08044D34
-_08044D06:
- cmp r0, 0x81
- bne _08044D0E
- ldr r0, [r3, 0x70]
- b _08044D32
-_08044D0E:
- adds r0, r1, 0
- adds r0, 0x70
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _08044D1E
- movs r0, 0
- b _08044D34
-_08044D1E:
- ldr r0, _08044D38
- ldr r1, [r0]
- ldrb r0, [r2]
- subs r0, 0x90
- lsls r0, 2
- ldr r2, _08044D3C
- adds r1, r2
- adds r1, r0
- ldr r0, [r1]
- ldr r0, [r0, 0x70]
-_08044D32:
- adds r0, 0x60
-_08044D34:
- pop {r1}
- bx r1
- .align 2, 0
-_08044D38: .4byte gUnknown_203B418
-_08044D3C: .4byte 0x0001357c
- thumb_func_end sub_8044CC8
-
- thumb_func_start sub_8044D40
-sub_8044D40:
- push {lr}
- lsls r1, 3
- adds r1, 0x4
- adds r2, r0, r1
- ldrb r1, [r2]
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _08044D74
- ldr r1, _08044D70
- ldrb r0, [r2]
- lsls r0, 2
- subs r0, 0x4
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x1]
- strb r0, [r1]
- bl sub_80910B4
- b _08044D88
- .align 2, 0
-_08044D70: .4byte gUnknown_203B460
-_08044D74:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x80
- beq _08044D80
- movs r0, 0
- b _08044D8A
-_08044D80:
- adds r0, r2, 0x4
- movs r1, 0x1
- bl sub_80461C8
-_08044D88:
- movs r0, 0x1
-_08044D8A:
- pop {r1}
- bx r1
- thumb_func_end sub_8044D40
-
- thumb_func_start sub_8044D90
-sub_8044D90:
- push {lr}
- ldr r3, [r0, 0x70]
- lsls r1, 3
- adds r1, 0x48
- adds r3, r1
- adds r1, r3, 0
- bl sub_8044CC8
- pop {r1}
- bx r1
- thumb_func_end sub_8044D90
-
- thumb_func_start sub_8044DA4
-sub_8044DA4:
- ldr r0, [r0, 0x70]
- ldr r2, _08044DC0
- ldr r2, [r2]
- lsls r1, 3
- adds r0, r1
- adds r0, 0x48
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, _08044DC4
- adds r2, r1
- adds r2, r0
- ldr r0, [r2]
- bx lr
- .align 2, 0
-_08044DC0: .4byte gUnknown_203B418
-_08044DC4: .4byte 0x0001357c
- thumb_func_end sub_8044DA4
-
- thumb_func_start sub_8044DC8
-sub_8044DC8:
- push {r4,lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0xE9
- beq _08044DE8
- ldr r4, _08044DE4
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r0, [r0]
- b _08044DEA
- .align 2, 0
-_08044DE4: .4byte gUnknown_80F6964
-_08044DE8:
- movs r0, 0x35
-_08044DEA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8044DC8
-
- thumb_func_start sub_8044DF0
-sub_8044DF0:
- push {r4,lr}
- ldr r4, [r0, 0x70]
- bl sub_8044D90
- adds r1, r0, 0
- adds r0, r4, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _08044E10
- adds r0, r4, 0
- adds r0, 0x4C
- movs r1, 0x1
- bl sub_80461C8
- b _08044E1C
-_08044E10:
- movs r0, 0
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x1]
- strb r0, [r1]
- bl sub_80910B4
-_08044E1C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8044DF0
-
- thumb_func_start sub_8044E24
-sub_8044E24:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- bl sub_8044D90
- adds r5, r0, 0
- ldr r0, [r4, 0x70]
- mov r8, r0
- ldrb r0, [r5, 0x2]
- bl sub_80915A0
- lsls r0, 24
- cmp r0, 0
- bne _08044EBA
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08044EB0
- lsls r1, r6, 3
- mov r2, r8
- adds r0, r2, r1
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _08044EA4
- ldr r0, [r5]
- str r0, [sp]
- adds r4, r1, r2
- adds r4, 0x4C
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80461C8
- ldrb r1, [r5, 0x2]
- subs r1, 0x7D
- lsls r1, 24
- lsrs r1, 16
- ldr r2, _08044E9C
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- ldr r1, _08044EA0
- ands r0, r1
- movs r1, 0xF8
- lsls r1, 15
- orrs r0, r1
- str r0, [sp]
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
- b _08044EBA
- .align 2, 0
-_08044E9C: .4byte 0xffff00ff
-_08044EA0: .4byte 0xff00ffff
-_08044EA4:
- ldrb r0, [r5, 0x2]
- subs r0, 0x7D
- strb r0, [r5, 0x1]
- movs r0, 0x7C
- strb r0, [r5, 0x2]
- b _08044EBA
-_08044EB0:
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_8044DF0
-_08044EBA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8044E24
-
- thumb_func_start sub_8044EC8
-sub_8044EC8:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, _08044EE8
- lsls r0, r5, 2
- adds r0, r1
- ldrh r4, [r0]
- cmp r4, 0x26
- bne _08044EF0
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08044EF0
- ldr r0, _08044EEC
- b _08044F2C
- .align 2, 0
-_08044EE8: .4byte gUnknown_202EE44
-_08044EEC: .4byte gUnknown_80F91EC
-_08044EF0:
- ldr r1, _08044F10
- lsls r0, r4, 3
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r1, _08044F14
- bl strcmp
- cmp r0, 0
- beq _08044F04
- movs r0, 0x1
-_08044F04:
- lsls r0, 24
- cmp r0, 0
- beq _08044F18
- ldr r0, [r4]
- b _08044F2E
- .align 2, 0
-_08044F10: .4byte gUnknown_80F7C50
-_08044F14: .4byte gUnknown_80F697C
-_08044F18:
- ldr r4, _08044F34
- ldr r1, _08044F38
- lsls r0, r5, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- bl sub_8090D6C
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
-_08044F2C:
- ldr r0, [r0]
-_08044F2E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08044F34: .4byte gUnknown_80F7B14
-_08044F38: .4byte gUnknown_202EE44
- thumb_func_end sub_8044EC8
-
- thumb_func_start sub_8044F3C
-sub_8044F3C:
- push {lr}
- adds r1, r0, 0
- cmp r1, 0
- blt _08044F54
- ldr r0, _08044F50
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x3]
- b _08044F56
- .align 2, 0
-_08044F50: .4byte gUnknown_202EE44
-_08044F54:
- movs r0, 0
-_08044F56:
- pop {r1}
- bx r1
- thumb_func_end sub_8044F3C
-
- thumb_func_start sub_8044F5C
-sub_8044F5C:
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _08044FAC
- ldr r2, [r0]
- adds r6, r0, 0
- cmp r2, 0x9
- bgt _08044FA4
- movs r3, 0
- ldr r5, _08044FB0
- cmp r3, r2
- bge _08044F8A
- adds r1, r2, 0
- adds r2, r5, 0
-_08044F7C:
- ldrh r0, [r2]
- cmp r0, r4
- beq _08044FA4
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, r1
- blt _08044F7C
-_08044F8A:
- ldr r0, [r6]
- lsls r0, 2
- adds r0, r5
- strh r4, [r0]
- strb r7, [r0, 0x2]
- ldr r0, [r6]
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0, 0x3]
- ldr r0, [r6]
- adds r0, 0x1
- str r0, [r6]
-_08044FA4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08044FAC: .4byte gUnknown_202EE6C
-_08044FB0: .4byte gUnknown_202EE44
- thumb_func_end sub_8044F5C
-
- thumb_func_start sub_8044FB4
-sub_8044FB4:
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r1, 0
- ldr r0, _08044FD4
- ldr r0, [r0]
- cmp r1, r0
- bge _08044FE4
- adds r3, r0, 0
- ldr r2, _08044FD8
-_08044FC8:
- ldrh r0, [r2]
- cmp r0, r4
- bne _08044FDC
- adds r0, r1, 0
- b _08044FE8
- .align 2, 0
-_08044FD4: .4byte gUnknown_202EE6C
-_08044FD8: .4byte gUnknown_202EE44
-_08044FDC:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, r3
- blt _08044FC8
-_08044FE4:
- movs r0, 0x1
- negs r0, r0
-_08044FE8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8044FB4
-
- thumb_func_start sub_8044FF0
-sub_8044FF0:
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r1, _08045010
- ldr r0, [r1]
- cmp r2, r0
- bge _08045022
- movs r5, 0
- adds r4, r1, 0
- ldr r1, _08045014
-_08045006:
- ldrh r0, [r1]
- cmp r0, r3
- bne _08045018
- strb r5, [r1, 0x3]
- b _08045022
- .align 2, 0
-_08045010: .4byte gUnknown_202EE6C
-_08045014: .4byte gUnknown_202EE44
-_08045018:
- adds r1, 0x4
- adds r2, 0x1
- ldr r0, [r4]
- cmp r2, r0
- blt _08045006
-_08045022:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8044FF0
-
- thumb_func_start sub_8045028
-sub_8045028:
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- ldr r0, [r2, 0x70]
- adds r4, r0, 0
- adds r4, 0x44
- cmp r1, 0
- beq _08045044
- adds r0, r2, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0804505A
-_08045044:
- ldrh r0, [r4]
- cmp r0, 0
- beq _0804505A
- cmp r0, 0x2
- beq _0804505A
- cmp r0, 0x1
- beq _0804505A
- cmp r0, 0x5
- beq _0804505A
- movs r0, 0
- b _0804505C
-_0804505A:
- movs r0, 0x1
-_0804505C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8045028
-
- thumb_func_start sub_8045064
-sub_8045064:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r1, 0
- ldr r0, _080450D4
- mov r8, r0
- ldr r0, [r0]
- cmp r1, r0
- bge _080450C8
- mov r7, r8
- ldr r2, _080450D8
- mov r9, r2
- ldr r0, _080450DC
- mov r12, r0
-_08045082:
- adds r4, r1, 0x1
- ldr r0, [r7]
- adds r5, r4, 0
- cmp r5, r0
- bge _080450BE
- lsls r0, r1, 2
- mov r1, r12
- adds r3, r0, r1
- mov r6, r9
- lsls r0, r5, 2
- adds r2, r0, r1
-_08045098:
- ldrh r1, [r3]
- lsls r1, 3
- adds r1, r6
- ldrh r0, [r2]
- lsls r0, 3
- adds r0, r6
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- ble _080450B4
- ldr r1, [r3]
- ldr r0, [r2]
- str r0, [r3]
- str r1, [r2]
-_080450B4:
- adds r2, 0x4
- adds r4, 0x1
- ldr r0, [r7]
- cmp r4, r0
- blt _08045098
-_080450BE:
- adds r1, r5, 0
- mov r2, r8
- ldr r0, [r2]
- cmp r1, r0
- blt _08045082
-_080450C8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080450D4: .4byte gUnknown_202EE6C
-_080450D8: .4byte gUnknown_80F7C54
-_080450DC: .4byte gUnknown_202EE44
- thumb_func_end sub_8045064
-
- thumb_func_start sub_80450E0
-sub_80450E0:
- push {lr}
- cmp r0, 0
- bne _080450EA
- movs r0, 0
- b _080450F2
-_080450EA:
- ldr r0, [r0]
- cmp r0, 0
- beq _080450F2
- movs r0, 0x1
-_080450F2:
- pop {r1}
- bx r1
- thumb_func_end sub_80450E0
-
- thumb_func_start sub_80450F8
-sub_80450F8:
- ldr r0, [r0]
- bx lr
- thumb_func_end sub_80450F8
-
- thumb_func_start sub_80450FC
-sub_80450FC:
- adds r0, 0x25
- ldrb r0, [r0]
- bx lr
- thumb_func_end sub_80450FC
-
- thumb_func_start sub_8045104
-sub_8045104:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_8045104
-
- thumb_func_start sub_8045108
-sub_8045108:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_8045108
-
- thumb_func_start sub_804510C
-sub_804510C:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_804510C
-
- thumb_func_start sub_8045110
-sub_8045110:
- ldr r0, [r0, 0x70]
- bx lr
- thumb_func_end sub_8045110
-
- thumb_func_start sub_8045114
-sub_8045114:
- push {lr}
- movs r1, 0x4
- ldrsh r2, [r0, r1]
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_804954C
- pop {r1}
- bx r1
- thumb_func_end sub_8045114
-
- thumb_func_start sub_8045128
-sub_8045128:
- push {lr}
- movs r1, 0x4
- ldrsh r2, [r0, r1]
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_8049590
- pop {r1}
- bx r1
- thumb_func_end sub_8045128
-
- thumb_func_start sub_804513C
-sub_804513C:
- push {r4-r7,lr}
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _08045200
- ldr r4, _08045204
- movs r5, 0
-_08045148:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0x3
- ble _08045148
- ldr r1, _08045208
- movs r2, 0
- adds r0, r1, 0x5
-_08045164:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08045164
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _0804520C
- ldr r4, _08045210
- movs r5, 0
-_08045176:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0xF
- ble _08045176
- ldr r1, _08045214
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xF
-_08045194:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08045194
- movs r3, 0
- ldr r5, _080451FC
- ldr r4, _08045218
- movs r2, 0
-_080451A4:
- ldr r0, [r5]
- lsls r1, r3, 2
- adds r0, r4
- adds r0, r1
- str r2, [r0]
- adds r3, 0x1
- cmp r3, 0x13
- ble _080451A4
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _0804521C
- ldr r4, _08045220
- movs r5, 0
-_080451BE:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0x3F
- ble _080451BE
- movs r3, 0
- ldr r7, _080451FC
- ldr r6, _08045224
- ldr r4, _08045228
- movs r5, 0
-_080451DE:
- ldr r0, [r7]
- lsls r2, r3, 2
- adds r1, r0, r6
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- str r5, [r0]
- adds r4, 0x74
- adds r3, 0x1
- cmp r3, 0x3F
- ble _080451DE
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080451FC: .4byte gUnknown_203B418
-_08045200: .4byte 0x0001357c
-_08045204: .4byte 0x0001381c
-_08045208: .4byte gUnknown_202EE70
-_0804520C: .4byte 0x0001358c
-_08045210: .4byte 0x000139ec
-_08045214: .4byte gUnknown_202EE76
-_08045218: .4byte 0x000135cc
-_0804521C: .4byte 0x0001361c
-_08045220: .4byte 0x0001412c
-_08045224: .4byte 0x0001371c
-_08045228: .4byte 0x00015e2c
- thumb_func_end sub_804513C
-
- thumb_func_start sub_804522C
-sub_804522C:
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r2, _08045274
- ldr r0, [r2]
- ldr r3, _08045278
- adds r1, r0, r3
- ldrb r7, [r1]
- ldr r1, _0804527C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080452AA
- movs r6, 0
- adds r7, r2, 0
-_08045248:
- ldr r0, [r7]
- lsls r1, r6, 2
- ldr r2, _08045280
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080452A2
- ldr r0, [r7]
- ldr r3, _08045284
- adds r0, r3
- ldr r0, [r0]
- cmp r5, r0
- bne _08045288
- adds r0, r5, 0
- bl sub_806C51C
- b _080452A2
- .align 2, 0
-_08045274: .4byte gUnknown_203B418
-_08045278: .4byte 0x00018210
-_0804527C: .4byte 0x0001820a
-_08045280: .4byte 0x000135cc
-_08045284: .4byte 0x000181f8
-_08045288:
- ldr r4, [r5, 0x70]
- adds r0, r5, 0
- bl sub_804187C
- adds r2, r0, 0
- adds r0, r4, 0
- adds r0, 0x98
- ldr r0, [r0]
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- movs r3, 0
- bl sub_800F75C
-_080452A2:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08045248
- b _0804533E
-_080452AA:
- movs r6, 0
-_080452AC:
- ldr r0, _08045348
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0804534C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080452CC
- adds r0, r4, 0
- bl sub_806C51C
-_080452CC:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080452AC
- movs r6, 0
-_080452D4:
- ldr r5, _08045348
- ldr r0, [r5]
- lsls r1, r6, 2
- ldr r3, _08045350
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080452F4
- adds r0, r4, 0
- bl sub_806C51C
-_080452F4:
- adds r6, 0x1
- cmp r6, 0xF
- ble _080452D4
- movs r6, 0
- ldr r0, [r5]
- ldr r1, _08045354
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bge _08045336
- adds r4, r5, 0
-_0804530C:
- ldr r0, [r4]
- lsls r1, r6, 2
- ldr r3, _08045358
- adds r0, r3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- str r1, [sp]
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0xFF
- bl sub_80462AC
- adds r6, 0x1
- ldr r0, [r4]
- ldr r1, _08045354
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r6, r0
- blt _0804530C
-_08045336:
- cmp r7, 0
- beq _0804533E
- bl sub_807FA9C
-_0804533E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045348: .4byte gUnknown_203B418
-_0804534C: .4byte 0x0001357c
-_08045350: .4byte 0x0001358c
-_08045354: .4byte 0x00003904
-_08045358: .4byte 0x0001361c
- thumb_func_end sub_804522C
-
- thumb_func_start sub_804535C
-sub_804535C:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- beq _0804536C
- ldr r0, [r1]
- str r0, [r2, 0xC]
- ldr r0, [r1, 0x4]
- b _0804538E
-_0804536C:
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r2, 0xC]
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
-_0804538E:
- str r0, [r2, 0x10]
- pop {r0}
- bx r0
- thumb_func_end sub_804535C
-
- thumb_func_start sub_8045394
-sub_8045394:
- str r1, [r0, 0xC]
- str r2, [r0, 0x10]
- bx lr
- thumb_func_end sub_8045394
-
- thumb_func_start sub_804539C
-sub_804539C:
- ldr r3, [r0, 0xC]
- adds r3, r1
- str r3, [r0, 0xC]
- ldr r1, [r0, 0x10]
- adds r1, r2
- str r1, [r0, 0x10]
- bx lr
- thumb_func_end sub_804539C
-
- thumb_func_start sub_80453AC
-sub_80453AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- mov r0, r8
- bl sub_808DACC
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0x6
- subs r3, r0, r6
- ldr r4, _080453D8
- b _080453DE
- .align 2, 0
-_080453D8: .4byte gUnknown_202EE70
-_080453DC:
- adds r5, 0x1
-_080453DE:
- cmp r5, r3
- bgt _08045400
- movs r2, 0
- cmp r2, r6
- bge _080453FA
- adds r1, r5, r4
- b _080453F4
-_080453EC:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r6
- bge _080453FA
-_080453F4:
- ldrb r0, [r1]
- cmp r0, 0
- beq _080453EC
-_080453FA:
- cmp r2, r6
- bne _080453DC
- mov r9, r5
-_08045400:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _080454FC
- movs r5, 0
- ldr r7, _080454DC
-_0804540C:
- ldr r1, _080454E0
- ldr r0, [r1]
- lsls r1, r5, 2
- ldr r2, _080454E4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0
- bne _080454F0
- movs r0, 0x1
- str r0, [r4]
- adds r0, r4, 0
- adds r0, 0x24
- strb r5, [r0]
- ldr r1, _080454E0
- ldr r0, [r1]
- adds r0, r7
- str r0, [r4, 0x70]
- mov r2, r8
- strh r2, [r0, 0x2]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- ldr r1, [r4, 0x70]
- strh r0, [r1, 0x4]
- ldr r0, [r4, 0x70]
- movs r5, 0
- strb r5, [r0, 0x6]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- lsls r0, 16
- asrs r0, 16
- bl sub_80687D0
- str r0, [r4, 0x64]
- mov r1, r9
- lsls r0, r1, 4
- adds r0, 0x40
- adds r1, r4, 0
- adds r1, 0x68
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x7
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6C
- movs r2, 0
- strb r2, [r0]
- adds r1, 0x1
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6D
- movs r5, 0x1
- strb r5, [r0]
- adds r0, 0x2
- strb r5, [r0]
- mov r0, r10
- str r0, [r4, 0x1C]
- bl sub_8045ACC
- ldr r0, [r4, 0x70]
- ldr r1, _080454E8
- adds r0, r1
- mov r2, r9
- strb r2, [r0]
- ldr r0, [r4, 0x70]
- movs r5, 0xB4
- lsls r5, 1
- adds r0, r5
- strb r6, [r0]
- cmp r6, 0
- beq _080454C6
- ldr r3, _080454EC
- movs r2, 0x1
- adds r1, r6, 0
-_080454B6:
- mov r5, r9
- adds r0, r5, r3
- strb r2, [r0]
- movs r0, 0x1
- add r9, r0
- subs r1, 0x1
- cmp r1, 0
- bne _080454B6
-_080454C6:
- ldr r1, _080454E0
- ldr r0, [r1]
- movs r2, 0xCD
- lsls r2, 3
- adds r0, r2
- ldrh r2, [r0]
- adds r1, r2, 0x1
- strh r1, [r0]
- strh r2, [r4, 0x26]
- adds r0, r4, 0
- b _080454FE
- .align 2, 0
-_080454DC: .4byte 0x0000069c
-_080454E0: .4byte gUnknown_203B418
-_080454E4: .4byte 0x0001357c
-_080454E8: .4byte 0x00000167
-_080454EC: .4byte gUnknown_202EE70
-_080454F0:
- movs r0, 0x82
- lsls r0, 2
- adds r7, r0
- adds r5, 0x1
- cmp r5, 0x3
- ble _0804540C
-_080454FC:
- movs r0, 0
-_080454FE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80453AC
-
- thumb_func_start sub_804550C
-sub_804550C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- mov r0, r8
- bl sub_808DACC
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- movs r0, 0x10
- subs r3, r0, r7
- ldr r4, _08045538
- b _0804553E
- .align 2, 0
-_08045538: .4byte gUnknown_202EE76
-_0804553C:
- adds r5, 0x1
-_0804553E:
- cmp r5, r3
- bgt _08045560
- movs r2, 0
- cmp r2, r7
- bge _0804555A
- adds r1, r5, r4
- b _08045554
-_0804554C:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r7
- bge _0804555A
-_08045554:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0804554C
-_0804555A:
- cmp r2, r7
- bne _0804553C
- mov r9, r5
-_08045560:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- bne _0804556A
- b _08045670
-_0804556A:
- movs r5, 0
- movs r1, 0x1
- mov r10, r1
- ldr r2, _08045650
- mov r3, r9
- lsls r0, r3, 4
- adds r0, 0xA0
- str r0, [sp]
-_0804557A:
- ldr r1, _08045654
- ldr r0, [r1]
- lsls r1, r5, 2
- ldr r3, _08045658
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- str r2, [sp, 0x4]
- bl sub_80450E0
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, [sp, 0x4]
- cmp r6, 0
- bne _08045664
- mov r0, r10
- str r0, [r4]
- adds r0, r4, 0
- adds r0, 0x24
- strb r5, [r0]
- subs r0, 0x2
- strb r6, [r0]
- ldr r1, _08045654
- ldr r0, [r1]
- adds r0, r2
- str r0, [r4, 0x70]
- mov r2, r8
- strh r2, [r0, 0x2]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- ldr r1, [r4, 0x70]
- strh r0, [r1, 0x4]
- ldr r0, [r4, 0x70]
- mov r3, r10
- strb r3, [r0, 0x6]
- movs r0, 0
- mov r1, r8
- bl sub_8069F54
- lsls r0, 16
- asrs r0, 16
- bl sub_80687D0
- str r0, [r4, 0x64]
- adds r0, r4, 0
- adds r0, 0x68
- mov r5, sp
- ldrh r5, [r5]
- strh r5, [r0]
- adds r1, r4, 0
- adds r1, 0x6A
- movs r0, 0x7
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6C
- movs r1, 0
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x6B
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x6D
- mov r2, r10
- strb r2, [r0]
- adds r0, 0x2
- strb r2, [r0]
- str r6, [r4, 0x1C]
- ldr r0, [r4, 0x70]
- ldr r3, _0804565C
- adds r0, r3
- mov r5, r9
- strb r5, [r0]
- ldr r0, [r4, 0x70]
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r1
- strb r7, [r0]
- cmp r7, 0
- beq _08045636
- ldr r3, _08045660
- movs r2, 0x1
- adds r1, r7, 0
-_08045626:
- mov r5, r9
- adds r0, r5, r3
- strb r2, [r0]
- movs r0, 0x1
- add r9, r0
- subs r1, 0x1
- cmp r1, 0
- bne _08045626
-_08045636:
- bl sub_8045ACC
- ldr r1, _08045654
- ldr r0, [r1]
- movs r2, 0xCD
- lsls r2, 3
- adds r0, r2
- ldrh r2, [r0]
- adds r1, r2, 0x1
- strh r1, [r0]
- strh r2, [r4, 0x26]
- adds r0, r4, 0
- b _08045672
- .align 2, 0
-_08045650: .4byte 0x00000ebc
-_08045654: .4byte gUnknown_203B418
-_08045658: .4byte 0x0001358c
-_0804565C: .4byte 0x00000167
-_08045660: .4byte gUnknown_202EE76
-_08045664:
- movs r3, 0x82
- lsls r3, 2
- adds r2, r3
- adds r5, 0x1
- cmp r5, 0xF
- ble _0804557A
-_08045670:
- movs r0, 0
-_08045672:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804550C
-
- thumb_func_start sub_8045684
-sub_8045684:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- movs r5, 0
- ldr r7, _080456E4
- ldr r6, _080456E8
-_080456A2:
- ldr r0, [r7]
- lsls r1, r5, 2
- ldr r2, _080456EC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080456F0
- movs r0, 0x2
- str r0, [r4]
- ldr r0, [r7]
- adds r0, r6
- str r0, [r4, 0x70]
- mov r2, r8
- strb r2, [r0]
- ldr r0, [r4, 0x70]
- mov r2, r9
- strb r2, [r0, 0x1]
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- adds r0, 0x22
- strb r1, [r0]
- mov r2, r10
- ldr r0, [r2]
- str r0, [r4, 0x4]
- strh r1, [r4, 0x26]
- adds r0, r4, 0
- b _080456FA
- .align 2, 0
-_080456E4: .4byte gUnknown_203B418
-_080456E8: .4byte 0x00003908
-_080456EC: .4byte 0x0001371c
-_080456F0:
- adds r6, 0x4
- adds r5, 0x1
- cmp r5, 0x3F
- ble _080456A2
- movs r0, 0
-_080456FA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8045684
-
- thumb_func_start sub_8045708
-sub_8045708:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- ldr r1, _08045744
- ldr r0, _08045748
- ldr r0, [r0]
- ldr r2, _0804574C
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0804579C
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- bl sub_8049590
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0804579C
- b _080457C4
- .align 2, 0
-_08045744: .4byte gUnknown_810ACC0
-_08045748: .4byte gUnknown_203B418
-_0804574C: .4byte 0x00003a0e
-_08045750:
- movs r0, 0x3
- str r0, [r4]
- ldr r0, _08045798
- adds r1, r6, r0
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- str r0, [r4, 0x70]
- mov r3, r8
- ldr r0, [r3]
- str r0, [r4, 0x4]
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- adds r0, r4, 0
- bl sub_8045394
- movs r0, 0
- strh r7, [r4, 0x26]
- adds r1, r4, 0
- adds r1, 0x22
- strb r0, [r1]
- str r7, [r4, 0x1C]
- adds r0, r4, 0
- b _080457C6
- .align 2, 0
-_08045798: .4byte 0x00003804
-_0804579C:
- movs r5, 0
- ldr r3, _080457D4
- mov r9, r3
-_080457A2:
- mov r1, r9
- ldr r0, [r1]
- lsls r6, r5, 2
- ldr r2, _080457D8
- adds r0, r2
- adds r0, r6
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _08045750
- adds r5, 0x1
- cmp r5, 0x3F
- ble _080457A2
-_080457C4:
- movs r0, 0
-_080457C6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080457D4: .4byte gUnknown_203B418
-_080457D8: .4byte 0x0001361c
- thumb_func_end sub_8045708
-
- thumb_func_start sub_80457DC
-sub_80457DC:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x5
- str r0, [r4]
- movs r6, 0
- movs r5, 0
- strh r5, [r4, 0x4]
- strh r5, [r4, 0x6]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_8045394
- strh r5, [r4, 0x26]
- adds r4, 0x22
- strb r6, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80457DC
-
- thumb_func_start sub_8045804
-sub_8045804:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_80450F8
- cmp r0, 0x1
- beq _0804581C
- cmp r0, 0x1
- bcc _08045880
- cmp r0, 0x5
- beq _08045880
-_08045818:
- movs r0, 0x1
- b _08045882
-_0804581C:
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045880
- ldr r0, _08045874
- ldr r1, [r0]
- ldr r0, _08045878
- adds r2, r1, r0
- ldr r5, [r2, 0x10]
- ldr r3, [r4, 0x70]
- ldrb r0, [r3, 0x6]
- cmp r0, 0
- beq _08045818
- ldr r6, _0804587C
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804584C
- adds r0, r3, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08045880
-_0804584C:
- adds r0, r2, 0
- adds r0, 0x23
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045818
- adds r0, r2, 0
- adds r0, 0x25
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045818
- cmp r5, 0
- beq _08045880
- adds r1, r4, 0x4
- adds r0, r2, 0
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
- b _08045882
- .align 2, 0
-_08045874: .4byte gUnknown_203B418
-_08045878: .4byte 0x000181e8
-_0804587C: .4byte 0x0001820f
-_08045880:
- movs r0, 0
-_08045882:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8045804
-
- thumb_func_start sub_8045888
-sub_8045888:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045988
- ldr r1, [r4, 0xC]
- cmp r1, 0
- bge _0804589C
- adds r1, 0xFF
-_0804589C:
- asrs r1, 8
- ldr r0, _080458F0
- ldr r2, [r0]
- ldr r3, _080458F4
- adds r0, r2, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- subs r3, r1, r0
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bge _080458B4
- adds r0, 0xFF
-_080458B4:
- asrs r0, 8
- ldr r5, _080458F8
- adds r1, r2, r5
- movs r5, 0
- ldrsh r1, [r1, r5]
- subs r1, r0, r1
- movs r0, 0x20
- negs r0, r0
- cmp r3, r0
- blt _08045988
- cmp r1, r0
- blt _08045988
- movs r0, 0x88
- lsls r0, 1
- cmp r3, r0
- bgt _08045988
- cmp r1, 0xC0
- bgt _08045988
- ldr r0, _080458FC
- adds r5, r2, r0
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x5
- bhi _08045984
- lsls r0, 2
- ldr r1, _08045900
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080458F0: .4byte gUnknown_203B418
-_080458F4: .4byte 0x000181f0
-_080458F8: .4byte 0x000181f2
-_080458FC: .4byte 0x000181e8
-_08045900: .4byte _08045904
- .align 2, 0
-_08045904:
- .4byte _08045988
- .4byte _08045934
- .4byte _08045964
- .4byte _0804591C
- .4byte _08045984
- .4byte _08045988
-_0804591C:
- adds r0, r5, 0
- adds r0, 0x26
-_08045920:
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045984
- adds r0, r4, 0x4
- bl sub_803F428
- lsls r0, 24
-_0804592E:
- cmp r0, 0
- bne _08045984
- b _08045988
-_08045934:
- ldr r1, [r4, 0x70]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08045984
- ldr r0, _0804595C
- ldr r0, [r0]
- ldr r2, _08045960
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045954
- adds r0, r1, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08045988
-_08045954:
- adds r0, r5, 0
- adds r0, 0x25
- b _08045920
- .align 2, 0
-_0804595C: .4byte gUnknown_203B418
-_08045960: .4byte 0x0001820f
-_08045964:
- ldr r0, _0804597C
- ldr r0, [r0]
- ldr r3, _08045980
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045984
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- b _0804592E
- .align 2, 0
-_0804597C: .4byte gUnknown_203B418
-_08045980: .4byte 0x0001820f
-_08045984:
- movs r0, 0x1
- b _0804598A
-_08045988:
- movs r0, 0
-_0804598A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045888
-
- thumb_func_start sub_8045990
-sub_8045990:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080459E8
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080459E8
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080459E8
- ldr r0, [r4]
- cmp r0, 0x1
- bne _080459EC
- ldr r0, [r5]
- cmp r0, 0x1
- bne _080459DE
- adds r0, r5, 0
- bl sub_8071884
- lsls r0, 24
- cmp r0, 0
- bne _080459D8
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080459E8
-_080459D8:
- ldr r0, [r5, 0x70]
- adds r0, 0xE8
- b _080459E2
-_080459DE:
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
-_080459E2:
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080459EC
-_080459E8:
- movs r0, 0
- b _080459F8
-_080459EC:
- adds r0, r5, 0x4
- adds r1, r4, 0x4
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
-_080459F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045990
-
- thumb_func_start sub_8045A00
-sub_8045A00:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045A58
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045A58
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045A58
- ldr r0, [r4]
- cmp r0, 0x1
- bne _08045A5C
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08045A4E
- adds r0, r5, 0
- bl sub_8071884
- lsls r0, 24
- cmp r0, 0
- bne _08045A48
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08045A58
-_08045A48:
- ldr r0, [r5, 0x70]
- adds r0, 0xE8
- b _08045A52
-_08045A4E:
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
-_08045A52:
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08045A5C
-_08045A58:
- movs r0, 0
- b _08045A68
-_08045A5C:
- adds r0, r5, 0x4
- adds r1, r4, 0x4
- bl sub_808333C
- lsls r0, 24
- lsrs r0, 24
-_08045A68:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045A00
-
- thumb_func_start sub_8045A70
-sub_8045A70:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045AA4
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045AA4
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045AA4
- adds r0, r5, 0x4
- adds r1, r4, 0x4
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
- b _08045AA6
-_08045AA4:
- movs r0, 0
-_08045AA6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8045A70
-
- thumb_func_start sub_8045AAC
-sub_8045AAC:
- push {lr}
- adds r0, 0x4
- bl sub_8083294
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8045AAC
-
- thumb_func_start sub_8045ABC
-sub_8045ABC:
- push {lr}
- adds r0, 0x4
- bl sub_808333C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8045ABC
-
- thumb_func_start sub_8045ACC
-sub_8045ACC:
- push {r4-r7,lr}
- movs r6, 0
- movs r5, 0
- ldr r7, _08045B50
-_08045AD4:
- ldr r0, [r7]
- lsls r1, r5, 2
- ldr r2, _08045B54
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045AFA
- ldr r0, [r7]
- lsls r1, r6, 2
- ldr r2, _08045B58
- adds r0, r2
- adds r0, r1
- str r4, [r0]
- adds r6, 0x1
-_08045AFA:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08045AD4
- movs r5, 0
- ldr r7, _08045B50
-_08045B04:
- ldr r0, [r7]
- lsls r1, r5, 2
- ldr r2, _08045B5C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08045B2A
- ldr r0, [r7]
- lsls r1, r6, 2
- ldr r2, _08045B58
- adds r0, r2
- adds r0, r1
- str r4, [r0]
- adds r6, 0x1
-_08045B2A:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08045B04
- cmp r6, 0x13
- bgt _08045B4A
- ldr r4, _08045B50
- ldr r3, _08045B58
- movs r2, 0
-_08045B3A:
- ldr r0, [r4]
- lsls r1, r6, 2
- adds r0, r3
- adds r0, r1
- str r2, [r0]
- adds r6, 0x1
- cmp r6, 0x13
- ble _08045B3A
-_08045B4A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045B50: .4byte gUnknown_203B418
-_08045B54: .4byte 0x0001357c
-_08045B58: .4byte 0x000135cc
-_08045B5C: .4byte 0x0001358c
- thumb_func_end sub_8045ACC
-
- thumb_func_start sub_8045B60
-sub_8045B60:
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r0, _08045B78
- ldr r0, [r0]
- ldr r4, _08045B7C
- adds r1, r0, r4
-_08045B6E:
- ldr r0, [r1]
- cmp r3, r0
- bne _08045B80
- adds r0, r2, 0
- b _08045B8C
- .align 2, 0
-_08045B78: .4byte gUnknown_203B418
-_08045B7C: .4byte 0x0001357c
-_08045B80:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, 0x3
- ble _08045B6E
- movs r0, 0x1
- negs r0, r0
-_08045B8C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8045B60
-
- thumb_func_start sub_8045B94
-sub_8045B94:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- beq _08045BD2
- cmp r0, 0x2
- bhi _08045BB0
- cmp r0, 0x1
- beq _08045BB6
- b _08045BE2
-_08045BB0:
- cmp r0, 0x3
- beq _08045BC2
- b _08045BE2
-_08045BB6:
- ldr r1, [r4, 0x70]
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_80708B4
- b _08045BEC
-_08045BC2:
- adds r0, r4, 0
- bl sub_8045110
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_8045BF8
- b _08045BEC
-_08045BD2:
- adds r0, r4, 0
- bl sub_804510C
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_807FE84
- b _08045BEC
-_08045BE2:
- ldr r0, _08045BF4
- ldr r1, [r0]
- adds r0, r5, 0
- bl strcpy
-_08045BEC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08045BF4: .4byte gUnknown_80FE6F4
- thumb_func_end sub_8045B94
-
- thumb_func_start sub_8045BF8
-sub_8045BF8:
- push {lr}
- ldr r2, _08045C04
- bl sub_8090E14
- pop {r0}
- bx r0
- .align 2, 0
-_08045C04: .4byte gUnknown_80F699C
- thumb_func_end sub_8045BF8
-
- thumb_func_start sub_8045C08
-sub_8045C08:
- push {lr}
- ldr r2, _08045C14
- bl sub_8090E14
- pop {r0}
- bx r0
- .align 2, 0
-_08045C14: .4byte gUnknown_80F69A8
- thumb_func_end sub_8045C08
-
- thumb_func_start sub_8045C18
-sub_8045C18:
- push {lr}
- ldr r2, _08045C24
- bl sub_8090E14
- pop {r0}
- bx r0
- .align 2, 0
-_08045C24: .4byte gUnknown_80F6990
- thumb_func_end sub_8045C18
-
- thumb_func_start sub_8045C28
-sub_8045C28:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r2, 0
- lsls r1, 24
- lsrs r4, r1, 24
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090A8C
- movs r7, 0
- adds r0, r4, 0
- bl sub_8091544
- lsls r0, 24
- cmp r0, 0
- beq _08045C72
- cmp r6, 0
- bne _08045C6C
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _08045C64
- ldr r1, [r1]
- ldr r2, _08045C68
- adds r1, r2
- ldrb r1, [r1]
- cmp r0, r1
- bge _08045C72
- b _08045C76
- .align 2, 0
-_08045C64: .4byte gUnknown_203B418
-_08045C68: .4byte 0x0001c57e
-_08045C6C:
- cmp r6, 0x1
- bne _08045C72
- movs r7, 0x1
-_08045C72:
- cmp r7, 0
- beq _08045C7E
-_08045C76:
- ldrb r1, [r5]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r5]
-_08045C7E:
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08045CA2
- ldr r0, _08045CA8
- ldr r0, [r0]
- ldr r1, _08045CAC
- adds r0, r1
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r5, 0
- bl sub_8046CE4
-_08045CA2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08045CA8: .4byte gUnknown_203B418
-_08045CAC: .4byte 0x0001c58b
- thumb_func_end sub_8045C28
-
- thumb_func_start sub_8045CB0
-sub_8045CB0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0x38
- bl sub_8084100
- adds r5, r0, 0
- movs r0, 0x20
- bl sub_8084100
- adds r6, r0, 0
- ldr r0, _08045D34
- ldr r0, [r0]
- ldr r1, _08045D38
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- movs r0, 0
-_08045CDA:
- adds r6, 0x1
- cmp r6, 0x20
- bne _08045CE2
- movs r6, 0
-_08045CE2:
- adds r0, 0x1
- mov r10, r0
- movs r3, 0x2
- mov r9, r3
- movs r0, 0x37
- mov r8, r0
-_08045CEE:
- adds r5, 0x1
- cmp r5, 0x38
- bne _08045CF6
- movs r5, 0
-_08045CF6:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_804954C
- adds r2, r0, 0
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 2
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08045D92
- ldrh r1, [r2, 0x4]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08045D92
- movs r7, 0
- lsls r0, r5, 16
- lsls r1, r6, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp, 0x4]
- ldrh r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08045D3C
- movs r7, 0x1
- movs r0, 0x1
- b _08045D58
- .align 2, 0
-_08045D34: .4byte gUnknown_203B418
-_08045D38: .4byte 0x00003904
-_08045D3C:
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08045D48
- movs r0, 0x3
- b _08045D58
-_08045D48:
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- asrs r0, 31
- mov r1, r9
- ands r0, r1
-_08045D58:
- bl sub_803D73C
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08045D6E
- movs r7, 0
-_08045D6E:
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045C28
- cmp r7, 0
- beq _08045D88
- mov r0, sp
- ldrb r1, [r0]
- mov r0, r9
- orrs r0, r1
- mov r1, sp
- strb r0, [r1]
-_08045D88:
- add r0, sp, 0x4
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
-_08045D92:
- movs r3, 0x1
- negs r3, r3
- add r8, r3
- mov r0, r8
- cmp r0, 0
- bge _08045CEE
- mov r0, r10
- cmp r0, 0x1F
- ble _08045CDA
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8045CB0
-
- thumb_func_start sub_8045DB4
-sub_8045DB4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xB8
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xA8]
- bl sub_8083600
- adds r7, r0, 0
- ldr r0, [r7, 0x70]
- str r0, [sp, 0xAC]
- mov r1, r10
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- bl sub_804954C
- ldr r4, [r0, 0x14]
- cmp r4, 0
- bne _08045DE8
- b _080460E0
-_08045DE8:
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x3
- beq _08045DF4
- b _080460E0
-_08045DF4:
- adds r0, r4, 0
- bl sub_8045108
- adds r5, r0, 0
- ldr r0, [sp, 0xAC]
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0
- bne _08045E08
- b _0804602E
-_08045E08:
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _08045E40
- ldr r0, [sp, 0xA8]
- cmp r0, 0
- bne _08045E1E
- b _080460E0
-_08045E1E:
- ldr r0, _08045E34
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08045E38
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08045E3C
- b _08046048
- .align 2, 0
-_08045E34: .4byte gUnknown_202DE58
-_08045E38: .4byte gUnknown_202DF98
-_08045E3C: .4byte gUnknown_80F8F88
-_08045E40:
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08045E7C
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8083E38
- adds r0, r5, 0
- bl sub_80915D4
- bl sub_80913A0
- ldr r0, _08045E74
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _08045E78
- b _08045FD0
- .align 2, 0
-_08045E74: .4byte gUnknown_202DE58
-_08045E78: .4byte gUnknown_80F8FFC
-_08045E7C:
- ldr r0, _08045EA8
- ldr r0, [r0]
- ldr r1, _08045EAC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08045EB4
- movs r4, 0
- ldr r0, _08045EB0
- mov r2, sp
- ldr r0, [r0]
- add r1, sp, 0x54
-_08045E94:
- stm r1!, {r0}
- stm r2!, {r4}
- adds r0, 0x4
- adds r4, 0x1
- cmp r4, 0x13
- ble _08045E94
- movs r2, 0x14
- mov r8, r2
- b _08045EC4
- .align 2, 0
-_08045EA8: .4byte gUnknown_203B418
-_08045EAC: .4byte 0x0000065b
-_08045EB0: .4byte gUnknown_203B460
-_08045EB4:
- ldr r0, [sp, 0xAC]
- adds r0, 0x60
- str r0, [sp, 0x54]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r3, 0x1
- mov r8, r3
-_08045EC4:
- ldrb r0, [r5, 0x2]
- add r6, sp, 0xB0
- strb r0, [r6]
- cmp r0, 0x8
- bls _08045ED0
- b _08046000
-_08045ED0:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08045EDC
- b _08046000
-_08045EDC:
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- mov r2, r12
- str r2, [sp, 0xB4]
- movs r4, 0
- cmp r4, r8
- bge _08045F2C
- ldr r3, _08045FDC
- mov r9, r3
- add r3, sp, 0x54
-_08045EF2:
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08045F24
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08045F24
- ldr r1, [r5]
- mov r6, r9
- ands r1, r6
- ldr r0, [r2]
- ands r0, r6
- cmp r1, r0
- bne _08045F24
- ldrb r0, [r2, 0x1]
- cmp r0, 0x63
- beq _08045F24
- ldr r1, [sp, 0xB4]
- cmp r1, r0
- bge _08045F24
- str r0, [sp, 0xB4]
- mov r12, r4
-_08045F24:
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, r8
- blt _08045EF2
-_08045F2C:
- movs r0, 0x1
- negs r0, r0
- cmp r12, r0
- bne _08045F80
- mov r2, r12
- str r2, [sp, 0xB4]
- movs r4, 0
- cmp r4, r8
- bge _08045F78
- add r3, sp, 0xB0
- ldrb r3, [r3]
- mov r9, r3
- add r3, sp, 0x54
-_08045F46:
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08045F70
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08045F70
- ldrb r6, [r2, 0x2]
- cmp r9, r6
- bne _08045F70
- ldrb r0, [r2, 0x1]
- cmp r0, 0x63
- beq _08045F70
- ldr r1, [sp, 0xB4]
- cmp r1, r0
- bge _08045F70
- str r0, [sp, 0xB4]
- mov r12, r4
-_08045F70:
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, r8
- blt _08045F46
-_08045F78:
- movs r0, 0x1
- negs r0, r0
- cmp r12, r0
- beq _08046000
-_08045F80:
- add r0, sp, 0x54
- mov r2, r12
- lsls r4, r2, 2
- adds r3, r0, r4
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r5, 0x1]
- adds r1, r0
- cmp r1, 0x62
- ble _08045F96
- movs r1, 0x63
-_08045F96:
- strb r1, [r2, 0x1]
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08045FAC
- ldr r0, [r3]
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_08045FAC:
- ldr r0, _08045FE0
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- movs r0, 0xA5
- lsls r0, 1
- bl sub_8083E38
- mov r3, sp
- adds r0, r3, r4
- ldr r0, [r0]
- cmp r0, 0
- bge _08045FE8
- ldr r0, _08045FE4
-_08045FD0:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _08045FF2
- .align 2, 0
-_08045FDC: .4byte 0x00ff0008
-_08045FE0: .4byte gUnknown_202DE58
-_08045FE4: .4byte gUnknown_80F8FC4
-_08045FE8:
- ldr r0, _08045FFC
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_08045FF2:
- ldrb r0, [r5, 0x2]
- bl sub_8052EC0
- b _080460E0
- .align 2, 0
-_08045FFC: .4byte gUnknown_80F8FF8
-_08046000:
- movs r4, 0
- cmp r4, r8
- bge _0804602A
- ldr r0, [sp, 0x54]
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804602A
- movs r3, 0x1
- add r2, sp, 0x54
-_08046016:
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, r8
- bge _0804602A
- ldr r0, [r2]
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08046016
-_0804602A:
- cmp r4, r8
- bne _08046060
-_0804602E:
- ldr r6, [sp, 0xA8]
- cmp r6, 0
- beq _080460E0
- ldr r0, _08046054
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08046058
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0804605C
-_08046048:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _080460E0
- .align 2, 0
-_08046054: .4byte gUnknown_202DE58
-_08046058: .4byte gUnknown_202DF98
-_0804605C: .4byte gUnknown_80F8F54
-_08046060:
- movs r0, 0xA5
- lsls r0, 1
- bl sub_8083E38
- lsls r0, r4, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bge _08046094
- ldr r0, [r5]
- ldr r1, [sp, 0xAC]
- str r0, [r1, 0x60]
- ldr r0, _0804608C
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _08046090
- b _080460AC
- .align 2, 0
-_0804608C: .4byte gUnknown_202DE58
-_08046090: .4byte gUnknown_80F8FC4
-_08046094:
- adds r0, r5, 0
- bl sub_8091290
- lsls r0, 24
- cmp r0, 0
- beq _080460C0
- ldr r0, _080460B8
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080460BC
-_080460AC:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _080460DA
- .align 2, 0
-_080460B8: .4byte gUnknown_202DF98
-_080460BC: .4byte gUnknown_80F8FAC
-_080460C0:
- ldr r0, _080460F0
- adds r1, r5, 0
- bl sub_8045BF8
- mov r0, r10
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _080460F4
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_080460DA:
- ldrb r0, [r5, 0x2]
- bl sub_8052EC0
-_080460E0:
- add sp, 0xB8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080460F0: .4byte gUnknown_202DE58
-_080460F4: .4byte gUnknown_80F8FF8
- thumb_func_end sub_8045DB4
-
- thumb_func_start sub_80460F8
-sub_80460F8:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- bl sub_8045708
- adds r4, r0, 0
- cmp r4, 0
- bne _08046110
- movs r0, 0
- b _080461B6
-_08046110:
- ldr r1, [r4, 0x70]
- ldr r0, [r6]
- str r0, [r1]
- ldr r2, [r4, 0x70]
- ldrb r1, [r2]
- movs r0, 0xEF
- ands r0, r1
- strb r0, [r2]
- adds r1, r4, 0
- adds r1, 0x20
- movs r0, 0x1
- strb r0, [r1]
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_8049590
- str r4, [r0, 0x14]
- ldrh r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08046186
- ldrb r0, [r6, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _08046186
- ldrb r1, [r6]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08046170
- cmp r7, 0
- beq _08046186
- adds r0, r6, 0
- bl sub_8090C7C
- ldr r1, _08046168
- ldr r2, [r1]
- ldr r1, _0804616C
- b _0804617E
- .align 2, 0
-_08046168: .4byte gUnknown_203B418
-_0804616C: .4byte 0x0000068c
-_08046170:
- adds r0, r6, 0
- bl sub_8090CCC
- ldr r1, _080461BC
- ldr r2, [r1]
- movs r1, 0xD2
- lsls r1, 3
-_0804617E:
- adds r2, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r2]
-_08046186:
- movs r6, 0
- movs r4, 0
-_0804618A:
- ldr r5, _080461BC
- ldr r0, [r5]
- lsls r1, r4, 2
- ldr r2, _080461C0
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80450E0
- lsls r0, 24
- adds r1, r4, 0x1
- cmp r0, 0
- beq _080461A6
- adds r6, r1, 0
-_080461A6:
- adds r4, r1, 0
- cmp r4, 0x3F
- ble _0804618A
- ldr r0, [r5]
- ldr r1, _080461C4
- adds r0, r1
- strh r6, [r0]
- movs r0, 0x1
-_080461B6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080461BC: .4byte gUnknown_203B418
-_080461C0: .4byte 0x0001361c
-_080461C4: .4byte 0x00003904
- thumb_func_end sub_80460F8
-
- thumb_func_start sub_80461C8
-sub_80461C8:
- push {r4-r7,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl sub_8049590
- adds r6, r0, 0
- ldr r5, [r6, 0x14]
- cmp r5, 0
- beq _080461EE
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x3
- beq _080461F2
-_080461EE:
- movs r0, 0
- b _08046284
-_080461F2:
- adds r0, r5, 0
- bl sub_8045108
- adds r4, r0, 0
- ldrh r1, [r6]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804624E
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0804624E
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08046238
- cmp r7, 0
- beq _0804624E
- adds r0, r4, 0
- bl sub_8090C7C
- ldr r1, _08046230
- ldr r2, [r1]
- ldr r1, _08046234
- adds r2, r1
- b _08046248
- .align 2, 0
-_08046230: .4byte gUnknown_203B418
-_08046234: .4byte 0x0000068c
-_08046238:
- adds r0, r4, 0
- bl sub_8090CCC
- ldr r1, _0804628C
- ldr r2, [r1]
- movs r3, 0xD2
- lsls r3, 3
- adds r2, r3
-_08046248:
- ldr r1, [r2]
- subs r1, r0
- str r1, [r2]
-_0804624E:
- movs r0, 0
- str r0, [r6, 0x14]
- str r0, [r5]
- movs r6, 0
- movs r4, 0
-_08046258:
- ldr r5, _0804628C
- ldr r0, [r5]
- lsls r1, r4, 2
- ldr r2, _08046290
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80450E0
- lsls r0, 24
- adds r1, r4, 0x1
- cmp r0, 0
- beq _08046274
- adds r6, r1, 0
-_08046274:
- adds r4, r1, 0
- cmp r4, 0x3F
- ble _08046258
- ldr r0, [r5]
- ldr r3, _08046294
- adds r0, r3
- strh r6, [r0]
- movs r0, 0x1
-_08046284:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804628C: .4byte gUnknown_203B418
-_08046290: .4byte 0x0001361c
-_08046294: .4byte 0x00003904
- thumb_func_end sub_80461C8
-
- thumb_func_start sub_8046298
-sub_8046298:
- ldrb r0, [r0, 0x2]
- ldr r1, _080462A8
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_080462A8: .4byte gUnknown_20389A4
- thumb_func_end sub_8046298
-
- thumb_func_start sub_80462AC
-sub_80462AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080462E4
- b _08046498
-_080462E4:
- cmp r5, 0
- beq _08046316
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0
- bne _08046300
- b _08046498
-_08046300:
- cmp r1, 0x2
- bne _08046308
- movs r3, 0x1
- str r3, [sp, 0x4]
-_08046308:
- adds r0, r4, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- bne _08046316
- b _08046498
-_08046316:
- ldr r1, [r4, 0xC]
- cmp r1, 0
- bge _0804631E
- adds r1, 0xFF
-_0804631E:
- asrs r1, 8
- ldr r0, _080463A4
- ldr r2, [r0]
- ldr r5, _080463A8
- adds r0, r2, r5
- movs r3, 0
- ldrsh r0, [r0, r3]
- subs r6, r1, r0
- ldr r3, [r4, 0x10]
- ldr r0, [r4, 0x1C]
- subs r1, r3, r0
- cmp r1, 0
- bge _0804633A
- adds r1, 0xFF
-_0804633A:
- asrs r1, 8
- ldr r5, _080463AC
- adds r0, r2, r5
- movs r5, 0
- ldrsh r2, [r0, r5]
- subs r1, r2
- mov r8, r1
- adds r0, r3, 0
- cmp r0, 0
- bge _08046350
- adds r0, 0xFF
-_08046350:
- asrs r0, 8
- subs r0, r2
- adds r7, r0, 0
- adds r7, 0x8
- lsrs r0, r7, 31
- adds r0, r7, r0
- asrs r7, r0, 1
- movs r0, 0x20
- negs r0, r0
- cmp r6, r0
- bge _08046368
- b _08046498
-_08046368:
- cmp r8, r0
- bge _0804636E
- b _08046498
-_0804636E:
- movs r0, 0x88
- lsls r0, 1
- cmp r6, r0
- ble _08046378
- b _08046498
-_08046378:
- mov r0, r8
- cmp r0, 0xC0
- ble _08046380
- b _08046498
-_08046380:
- ldr r5, _080463B0
- ldrh r1, [r5, 0x2]
- ldr r0, _080463B4
- ands r0, r1
- strh r0, [r5, 0x2]
- mov r1, r10
- cmp r1, 0
- beq _080463BC
- movs r2, 0x17
- mov r10, r2
- movs r2, 0xA0
- lsls r2, 8
- ldrh r1, [r5, 0x4]
- ldr r0, _080463B8
- ands r0, r1
- orrs r0, r2
- strh r0, [r5, 0x4]
- b _08046408
- .align 2, 0
-_080463A4: .4byte gUnknown_203B418
-_080463A8: .4byte 0x000181f0
-_080463AC: .4byte 0x000181f2
-_080463B0: .4byte gUnknown_202EDC0
-_080463B4: .4byte 0x0000c1ff
-_080463B8: .4byte 0x00000fff
-_080463BC:
- ldr r0, [r4, 0x70]
- bl sub_8046298
- mov r10, r0
- mov r3, r9
- cmp r3, 0xFF
- beq _080463EE
- cmp r0, 0
- bne _080463EE
- ldr r0, _08046478
- add r0, r9
- ldrb r0, [r0]
- mov r10, r0
- ldr r0, _0804647C
- add r0, r9
- ldrb r1, [r0]
- lsls r1, 3
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 9
- ldrh r2, [r5, 0x2]
- ldr r0, _08046480
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x2]
-_080463EE:
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x2]
- bl sub_8090D58
- movs r1, 0xF
- ands r0, r1
- lsls r0, 12
- ldr r3, _08046484
- ldrh r2, [r3, 0x4]
- ldr r1, _08046488
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x4]
-_08046408:
- ldr r1, _08046488
- mov r5, r8
- ands r1, r5
- lsls r1, 4
- ldr r4, _08046484
- ldrh r2, [r4, 0x6]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x6]
- ldr r0, _0804648C
- ands r6, r0
- ldrh r1, [r4, 0x2]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r1
- orrs r0, r6
- strh r0, [r4, 0x2]
- ldr r0, [sp, 0x4]
- lsls r3, r0, 10
- ldrh r2, [r4]
- ldr r1, _08046490
- adds r0, r1, 0
- ands r0, r2
- orrs r0, r3
- strh r0, [r4]
- movs r2, 0xC0
- lsls r2, 4
- ldrh r0, [r4, 0x4]
- ands r1, r0
- orrs r1, r2
- mov r2, r10
- lsls r0, r2, 2
- movs r3, 0xD0
- lsls r3, 1
- adds r0, r3
- ldr r2, _08046494
- ands r0, r2
- movs r2, 0xFC
- lsls r2, 8
- ands r1, r2
- orrs r1, r0
- strh r1, [r4, 0x4]
- ldr r5, [sp]
- cmp r5, 0
- bne _08046466
- movs r7, 0x1
-_08046466:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
- movs r0, 0x1
- b _0804649A
- .align 2, 0
-_08046478: .4byte gUnknown_203B420
-_0804647C: .4byte gUnknown_203B428
-_08046480: .4byte 0x0000c1ff
-_08046484: .4byte gUnknown_202EDC0
-_08046488: .4byte 0x00000fff
-_0804648C: .4byte 0x000001ff
-_08046490: .4byte 0x0000f3ff
-_08046494: .4byte 0x000003ff
-_08046498:
- movs r0, 0
-_0804649A:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80462AC
-
- thumb_func_start sub_80464AC
-sub_80464AC:
- push {r4,lr}
- ldr r4, _080464C4
- ldrb r0, [r0, 0x2]
- bl sub_8090D6C
- lsls r0, 3
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080464C4: .4byte gUnknown_80F7B14
- thumb_func_end sub_80464AC
-
- thumb_func_start sub_80464C8
-sub_80464C8:
- push {r4-r6,lr}
- sub sp, 0x78
- adds r6, r0, 0
- adds r3, r1, 0
- adds r5, r2, 0
- movs r0, 0x3
- str r0, [sp, 0x4]
- add r0, sp, 0x28
- movs r4, 0
- strb r4, [r0]
- add r1, sp, 0x24
- movs r0, 0x1
- strb r0, [r1]
- mov r0, sp
- adds r0, 0x26
- strb r4, [r0]
- str r5, [sp, 0x74]
- ldr r0, [r3]
- str r0, [sp, 0x8]
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- add r0, sp, 0x4
- bl sub_8045394
- add r0, sp, 0x4
- strh r4, [r0, 0x26]
- str r4, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_804652C
- add sp, 0x78
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80464C8
-
- thumb_func_start sub_804652C
-sub_804652C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r10, r0
- adds r5, r1, 0
- mov r9, r2
- lsls r3, 24
- lsrs r6, r3, 24
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- movs r3, 0
- str r3, [sp, 0xC]
- cmp r0, 0
- beq _0804658C
- bl sub_80450F8
- cmp r0, 0x2
- bne _0804658C
- adds r4, r5, 0x4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8046734
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_807FE44
- ldr r0, _080465A4
- ldr r1, [r0]
- mov r0, r10
- bl sub_80522A8
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0804658C
- b _0804671E
-_0804658C:
- ldrh r1, [r5, 0x6]
- lsls r1, 16
- ldrh r0, [r5, 0x4]
- orrs r0, r1
- str r0, [sp]
- mov r8, r0
- movs r7, 0x1
- cmp r6, 0
- beq _08046632
- movs r7, 0
- b _08046632
- .align 2, 0
-_080465A4: .4byte gUnknown_80FED30
-_080465A8:
- lsls r3, r7, 2
- adds r3, r0
- ldrh r0, [r3]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08046628
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldrh r0, [r3, 0x2]
- ldrh r3, [r5, 0x6]
- adds r0, r3
- lsls r0, 16
- ldr r1, _0804662C
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl sub_804954C
- adds r4, r0, 0
- ldrh r1, [r4]
- movs r6, 0x3
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08046630
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _08046630
- ldr r0, [r4, 0x14]
- cmp r0, 0
- bne _08046630
- adds r0, r5, 0
- mov r1, sp
- bl sub_8046734
- ldr r3, [sp]
- mov r8, r3
- ldrh r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0x3
- beq _08046620
- mov r0, sp
- mov r1, r9
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- beq _08046644
-_08046620:
- movs r0, 0x1
- str r0, [sp, 0xC]
- b _08046644
- .align 2, 0
-_08046628: .4byte 0xffff0000
-_0804662C: .4byte 0x0000ffff
-_08046630:
- adds r7, 0x1
-_08046632:
- ldr r0, _08046688
- lsls r1, r7, 2
- adds r1, r0
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r1, 0x63
- bne _080465A8
- movs r3, 0
- str r3, [sp, 0xC]
-_08046644:
- ldr r0, _0804668C
- mov r1, r9
- bl sub_8045BF8
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _080466C8
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r4, sp
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_80402AC
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- adds r0, r1, 0
- cmp r1, 0x1
- beq _0804669A
- cmp r1, 0x1
- bgt _08046690
- cmp r1, 0
- beq _080466AC
- b _0804671E
- .align 2, 0
-_08046688: .4byte gUnknown_80F4468
-_0804668C: .4byte gUnknown_202DE58
-_08046690:
- cmp r0, 0x2
- beq _080466A4
- cmp r0, 0x3
- beq _080466B4
- b _0804671E
-_0804669A:
- ldr r0, _080466A0
- b _080466B6
- .align 2, 0
-_080466A0: .4byte gUnknown_80F93E8
-_080466A4:
- ldr r0, _080466A8
- b _080466B6
- .align 2, 0
-_080466A8: .4byte gUnknown_80F9408
-_080466AC:
- ldr r0, _080466B0
- b _080466B6
- .align 2, 0
-_080466B0: .4byte gUnknown_80F9424
-_080466B4:
- ldr r0, _080466C4
-_080466B6:
- ldr r2, [r0]
- mov r0, r10
- mov r1, sp
- bl sub_8052364
- b _0804671E
- .align 2, 0
-_080466C4: .4byte gUnknown_80F949C
-_080466C8:
- mov r3, r8
- lsls r1, r3, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [sp, 0x4]
- asrs r1, r3, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2
- add r2, sp, 0x4
- str r0, [r2, 0x4]
- ldr r3, [sp, 0x30]
- cmp r3, 0
- beq _0804670C
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 8
- ldr r1, [sp, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- lsls r0, 8
- ldr r1, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
-_0804670C:
- adds r0, r2, 0
- bl sub_804219C
- ldr r0, _08046730
- ldr r2, [r0]
- mov r0, r10
- mov r1, sp
- bl sub_8052364
-_0804671E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046730: .4byte gUnknown_80F943C
- thumb_func_end sub_804652C
-
- thumb_func_start sub_8046734
-sub_8046734:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r8, r0
- ldr r0, _08046858
- ldr r0, [r0]
- ldr r2, _0804685C
- adds r0, r2
- ldrb r0, [r0]
- str r0, [sp, 0xC]
- movs r0, 0
- ldrsh r2, [r1, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r0, 0x4
- lsls r4, r0, 8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r5, r0, 8
- mov r1, r8
- ldr r0, [r1, 0xC]
- subs r0, r4
- cmp r0, 0
- bge _08046776
- negs r0, r0
-_08046776:
- mov r2, r8
- ldr r2, [r2, 0x10]
- mov r9, r2
- cmp r0, 0xB
- bgt _0804678C
- subs r0, r2, r5
- cmp r0, 0
- bge _08046788
- negs r0, r0
-_08046788:
- cmp r0, 0xB
- ble _08046822
-_0804678C:
- movs r0, 0
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x10]
- mov r2, r8
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x4]
- mov r1, r9
- str r1, [sp, 0x8]
- subs r0, r4, r0
- movs r1, 0x18
- bl __divsi3
- adds r6, r0, 0
- mov r2, r9
- subs r0, r5, r2
- movs r1, 0x18
- bl __divsi3
- adds r7, r0, 0
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x4
- str r1, [sp, 0x14]
-_080467BE:
- ldr r0, [sp, 0x4]
- adds r0, r6
- str r0, [sp, 0x4]
- ldr r2, [sp, 0x14]
- ldr r0, [r2, 0x4]
- adds r0, r7
- str r0, [r2, 0x4]
- ldr r0, [sp, 0x10]
- bl sub_8009C7C
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- mov r0, r8
- str r1, [r0, 0x1C]
- add r1, sp, 0x4
- bl sub_804535C
- mov r1, r10
- lsls r3, r1, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0
- bl sub_80462AC
- movs r0, 0x13
- bl sub_803E46C
- ldr r2, [sp, 0x10]
- adds r2, 0x55
- str r2, [sp, 0x10]
- movs r0, 0x3
- mov r1, r9
- ands r0, r1
- cmp r0, 0
- bne _08046810
- movs r2, 0x1
- add r10, r2
-_08046810:
- movs r0, 0x7
- mov r1, r10
- ands r1, r0
- mov r10, r1
- movs r2, 0x1
- add r9, r2
- mov r0, r9
- cmp r0, 0x17
- ble _080467BE
-_08046822:
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8045394
- movs r0, 0
- mov r1, r8
- str r0, [r1, 0x1C]
- str r0, [sp]
- mov r0, r8
- ldr r1, [sp, 0xC]
- movs r2, 0x1
- movs r3, 0xFF
- bl sub_80462AC
- movs r0, 0x13
- bl sub_803E46C
- 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
-_08046858: .4byte gUnknown_203B418
-_0804685C: .4byte 0x00018210
- thumb_func_end sub_8046734
-
- thumb_func_start sub_8046860
-sub_8046860:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r1, 0
- adds r5, r2, 0
- str r3, [sp]
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_804687C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8046860
-
- thumb_func_start sub_804687C
-sub_804687C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08046970
- add sp, r4
- ldr r5, _08046974
- add r5, sp
- str r0, [r5]
- movs r0, 0xA5
- lsls r0, 3
- add r0, sp
- str r1, [r0]
- mov r8, r2
- ldr r1, _08046978
- add r1, sp
- str r3, [r1]
- movs r1, 0
- movs r7, 0x1D
- ldr r0, _0804697C
- add r0, sp
-_080468A8:
- strb r1, [r0]
- subs r0, 0x1
- subs r7, 0x1
- cmp r7, 0
- bge _080468A8
- movs r7, 0
- movs r2, 0xAD
- lsls r2, 3
- add r2, sp
- ldr r2, [r2]
- cmp r7, r2
- blt _080468C2
- b _080469DE
-_080468C2:
- ldr r3, _08046980
- mov r9, r3
- ldr r5, _08046984
- movs r0, 0
- ldrsh r5, [r5, r0]
- ldr r0, _08046988
- add r0, sp
- str r5, [r0]
-_080468D2:
- mov r1, r8
- ldrh r0, [r1]
- ldr r1, _0804698C
- ands r4, r1
- orrs r4, r0
- mov r2, r8
- ldrh r0, [r2, 0x2]
- lsls r0, 16
- mov r3, r9
- ands r4, r3
- orrs r4, r0
- movs r5, 0
- adds r0, r7, 0x1
- mov r10, r0
- ldr r1, _08046984
- ldr r2, _08046988
- add r2, sp
- ldr r2, [r2]
- cmp r2, 0x63
- beq _080469B0
- ldr r3, _08046990
- add r3, sp
- ldr r0, _08046994
- add r0, sp
- str r3, [r0]
-_08046904:
- ldr r0, _08046998
- add r0, sp
- adds r6, r0, r5
- ldrb r0, [r6]
- cmp r0, 0
- bne _0804699C
- lsls r2, r5, 2
- adds r2, r1
- ldrh r0, [r2]
- mov r1, r8
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0804698C
- ands r4, r1
- orrs r4, r0
- ldrh r0, [r2, 0x2]
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- lsls r0, 16
- mov r3, r9
- ands r4, r3
- orrs r4, r0
- lsls r0, r4, 16
- asrs r0, 16
- asrs r1, r4, 16
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0804699C
- movs r3, 0x80
- lsls r3, 2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0804699C
- ldr r0, [r2, 0x14]
- cmp r0, 0
- bne _0804699C
- lsls r0, r7, 2
- ldr r5, _08046994
- add r5, sp
- ldr r5, [r5]
- adds r0, r5, r0
- str r4, [r0]
- movs r0, 0x1
- strb r0, [r6]
- b _080469CE
- .align 2, 0
-_08046970: .4byte 0xfffffab8
-_08046974: .4byte 0x00000524
-_08046978: .4byte 0x0000052c
-_0804697C: .4byte 0x00000521
-_08046980: .4byte 0x0000ffff
-_08046984: .4byte gUnknown_80F4468
-_08046988: .4byte 0x00000534
-_0804698C: .4byte 0xffff0000
-_08046990: .4byte 0x0000048c
-_08046994: .4byte 0x00000544
-_08046998: .4byte 0x00000504
-_0804699C:
- adds r5, 0x1
- cmp r5, 0x1D
- bgt _080469B0
- lsls r0, r5, 2
- ldr r1, _08046A18
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x63
- bne _08046904
-_080469B0:
- movs r3, 0
- cmp r3, 0
- bne _080469CE
- ldr r1, _08046A1C
- add r1, sp
- lsls r0, r7, 2
- adds r1, r0
- ldrh r2, [r1]
- mov r0, r9
- orrs r0, r2
- strh r0, [r1]
- ldrh r2, [r1, 0x2]
- mov r0, r9
- orrs r0, r2
- strh r0, [r1, 0x2]
-_080469CE:
- mov r7, r10
- movs r5, 0xAD
- lsls r5, 3
- add r5, sp
- ldr r5, [r5]
- cmp r7, r5
- bge _080469DE
- b _080468D2
-_080469DE:
- movs r1, 0
- mov r9, r1
- movs r7, 0
- movs r0, 0xAD
- lsls r0, 3
- add r0, sp
- ldr r0, [r0]
- cmp r7, r0
- blt _080469F2
- b _08046B0A
-_080469F2:
- movs r2, 0
- mov r8, r2
-_080469F6:
- ldr r0, _08046A1C
- add r0, sp
- lsls r2, r7, 2
- adds r3, r0, r2
- movs r4, 0
- ldrsh r0, [r3, r4]
- cmp r0, 0
- bge _08046A20
- movs r0, 0x74
- muls r0, r7
- add r0, sp
- adds r0, 0x4
- mov r5, r8
- str r5, [r0]
- movs r0, 0x1
- mov r9, r0
- b _08046AFA
- .align 2, 0
-_08046A18: .4byte gUnknown_80F4468
-_08046A1C: .4byte 0x0000048c
-_08046A20:
- movs r0, 0x74
- adds r6, r7, 0
- muls r6, r0
- mov r4, sp
- adds r4, r6
- adds r4, 0x4
- movs r0, 0x3
- str r0, [r4]
- adds r0, r4, 0
- adds r0, 0x24
- mov r1, r8
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0x20
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x22
- mov r5, r8
- strb r5, [r0]
- add r0, sp, 0x74
- adds r0, r6
- ldr r1, _08046B2C
- add r1, sp
- ldr r1, [r1]
- adds r2, r1, r2
- str r2, [r0]
- add r0, sp, 0x8
- adds r0, r6
- ldr r1, [r3]
- str r1, [r0]
- movs r2, 0xA5
- lsls r2, 3
- add r2, sp
- ldr r2, [r2]
- movs r5, 0
- ldrsh r0, [r2, r5]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- adds r0, r4, 0
- movs r5, 0xA8
- lsls r5, 3
- add r5, sp
- str r3, [r5]
- bl sub_8045394
- mov r0, r8
- strh r0, [r4, 0x26]
- ldr r4, _08046B30
- add r4, sp
- lsls r5, r7, 3
- adds r4, r5
- movs r1, 0xA8
- lsls r1, 3
- add r1, sp
- ldr r3, [r1]
- movs r2, 0
- ldrsh r1, [r3, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r0, 8
- add r1, sp, 0x10
- adds r1, r6
- ldr r1, [r1]
- subs r0, r1
- movs r1, 0x18
- movs r2, 0xA8
- lsls r2, 3
- add r2, sp
- str r3, [r2]
- bl __divsi3
- str r0, [r4]
- movs r4, 0x97
- lsls r4, 3
- add r4, sp
- adds r4, r5
- movs r5, 0xA8
- lsls r5, 3
- add r5, sp
- ldr r3, [r5]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r0, 8
- add r1, sp, 0x14
- adds r1, r6
- ldr r1, [r1]
- subs r0, r1
- movs r1, 0x18
- bl __divsi3
- str r0, [r4]
- movs r1, 0x1
-_08046AFA:
- adds r7, 0x1
- movs r2, 0xAD
- lsls r2, 3
- add r2, sp
- ldr r2, [r2]
- cmp r7, r2
- bge _08046B0A
- b _080469F6
-_08046B0A:
- cmp r1, 0
- bne _08046B54
- movs r3, 0xAD
- lsls r3, 3
- add r3, sp
- ldr r3, [r3]
- cmp r3, 0x1
- ble _08046B3C
- ldr r0, _08046B34
- ldr r1, [r0]
- ldr r4, _08046B38
- add r4, sp
- ldr r0, [r4]
- bl sub_80522A8
- b _08046C7C
- .align 2, 0
-_08046B2C: .4byte 0x0000052c
-_08046B30: .4byte 0x000004b4
-_08046B34: .4byte gUnknown_80F945C
-_08046B38: .4byte 0x00000524
-_08046B3C:
- ldr r0, _08046B4C
- ldr r1, [r0]
- ldr r5, _08046B50
- add r5, sp
- ldr r0, [r5]
- bl sub_80522A8
- b _08046C7C
- .align 2, 0
-_08046B4C: .4byte gUnknown_80F943C
-_08046B50: .4byte 0x00000524
-_08046B54:
- mov r0, r9
- cmp r0, 0
- beq _08046B68
- ldr r0, _08046C90
- ldr r1, [r0]
- ldr r2, _08046C94
- add r2, sp
- ldr r0, [r2]
- bl sub_80522A8
-_08046B68:
- movs r3, 0
- mov r9, r3
- ldr r0, _08046C98
- ldr r0, [r0]
- ldr r4, _08046C9C
- adds r0, r4
- ldrb r0, [r0]
- movs r5, 0xA6
- lsls r5, 3
- add r5, sp
- str r0, [r5]
- mov r10, r3
- movs r6, 0
-_08046B82:
- movs r7, 0
- mov r0, r10
- adds r0, 0x55
- movs r1, 0xA7
- lsls r1, 3
- add r1, sp
- str r0, [r1]
- adds r2, r6, 0x1
- ldr r3, _08046CA0
- add r3, sp
- str r2, [r3]
- movs r4, 0xAD
- lsls r4, 3
- add r4, sp
- ldr r4, [r4]
- cmp r7, r4
- bge _08046C14
- mov r5, r9
- lsls r5, 24
- mov r8, r5
-_08046BAA:
- movs r0, 0x74
- adds r5, r7, 0
- muls r5, r0
- mov r4, sp
- adds r4, r5
- adds r4, 0x4
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08046C06
- ldr r0, _08046CA4
- add r0, sp
- lsls r2, r7, 3
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x97
- lsls r0, 3
- add r0, sp
- adds r0, r2
- ldr r2, [r0]
- adds r0, r4, 0
- bl sub_804539C
- mov r0, r10
- bl sub_8009C7C
- add r2, sp, 0x20
- adds r2, r5
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- str r1, [r2]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xA6
- lsls r2, 3
- add r2, sp
- ldr r1, [r2]
- movs r2, 0x1
- mov r4, r8
- lsrs r3, r4, 24
- bl sub_80462AC
-_08046C06:
- adds r7, 0x1
- movs r5, 0xAD
- lsls r5, 3
- add r5, sp
- ldr r5, [r5]
- cmp r7, r5
- blt _08046BAA
-_08046C14:
- movs r0, 0x13
- bl sub_803E46C
- movs r0, 0xA7
- lsls r0, 3
- add r0, sp
- ldr r0, [r0]
- mov r10, r0
- movs r0, 0x3
- ands r0, r6
- cmp r0, 0
- bne _08046C30
- movs r1, 0x1
- add r9, r1
-_08046C30:
- movs r0, 0x7
- mov r2, r9
- ands r2, r0
- mov r9, r2
- ldr r3, _08046CA0
- add r3, sp
- ldr r6, [r3]
- cmp r6, 0x17
- ble _08046B82
- movs r4, 0xAD
- lsls r4, 3
- add r4, sp
- ldr r4, [r4]
- cmp r4, 0
- ble _08046C7C
- ldr r0, _08046CA8
- add r0, sp
- ldr r5, [r0]
- ldr r4, _08046CAC
- add r4, sp
- movs r1, 0xAD
- lsls r1, 3
- add r1, sp
- ldr r7, [r1]
-_08046C60:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- blt _08046C72
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80460F8
-_08046C72:
- adds r5, 0x4
- adds r4, 0x4
- subs r7, 0x1
- cmp r7, 0
- bne _08046C60
-_08046C7C:
- movs r3, 0xA9
- lsls r3, 3
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046C90: .4byte gUnknown_80F947C
-_08046C94: .4byte 0x00000524
-_08046C98: .4byte gUnknown_203B418
-_08046C9C: .4byte 0x00018210
-_08046CA0: .4byte 0x0000053c
-_08046CA4: .4byte 0x000004b4
-_08046CA8: .4byte 0x0000052c
-_08046CAC: .4byte 0x0000048c
- thumb_func_end sub_804687C
-
- thumb_func_start sub_8046CB0
-sub_8046CB0:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r0, [r0, 0x70]
- adds r3, r0, 0
- adds r0, 0x60
- ldrb r2, [r0]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08046CDC
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _08046CDC
- adds r0, r3, 0
- adds r0, 0x62
- ldrb r0, [r0]
- cmp r0, r1
- bne _08046CDC
- movs r0, 0x1
- b _08046CDE
-_08046CDC:
- movs r0, 0
-_08046CDE:
- pop {r1}
- bx r1
- thumb_func_end sub_8046CB0
-
- thumb_func_start sub_8046CE4
-sub_8046CE4:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x64
- bl sub_8084100
- adds r1, r0, 0
- movs r2, 0
- ldr r3, _08046D04
-_08046CF6:
- lsls r0, r1, 2
- adds r0, r3
- ldr r0, [r0]
- cmp r0, r5
- bgt _08046D08
- strb r1, [r4, 0x1]
- b _08046D18
- .align 2, 0
-_08046D04: .4byte gUnknown_810A3F0
-_08046D08:
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r1, r0, 1
- adds r2, 0x1
- cmp r2, 0xC7
- ble _08046CF6
- movs r0, 0x1
- strb r0, [r4, 0x1]
-_08046D18:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8046CE4
-
- thumb_func_start sub_8046D20
-sub_8046D20:
- push {r4,r5,lr}
- ldr r4, _08046D5C
- ldr r0, [r4]
- ldrb r5, [r0, 0x8]
- bl sub_8046D70
- ldr r1, [r4]
- strb r0, [r1, 0x8]
- ldr r0, [r4]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _08046D64
- cmp r5, 0
- bne _08046D64
- ldr r0, _08046D60
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- adds r1, r0, 0
- cmp r1, 0x1
- bne _08046D64
- ldr r0, [r4]
- strb r1, [r0, 0x4]
- ldr r1, [r4]
- movs r0, 0x2
- strb r0, [r1, 0x11]
- b _08046D68
- .align 2, 0
-_08046D5C: .4byte gUnknown_203B418
-_08046D60: .4byte gUnknown_80FA408
-_08046D64:
- bl sub_8046D8C
-_08046D68:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8046D20
-
- thumb_func_start sub_8046D70
-sub_8046D70:
- push {lr}
- ldr r0, _08046D84
- ldr r0, [r0]
- ldr r1, _08046D88
- adds r0, r1
- ldrb r0, [r0]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08046D84: .4byte gUnknown_203B418
-_08046D88: .4byte 0x0000068a
- thumb_func_end sub_8046D70
-
- thumb_func_start sub_8046D8C
-sub_8046D8C:
- push {r4-r7,lr}
- sub sp, 0xC
- movs r6, 0
- ldr r5, _08046EDC
- movs r4, 0
-_08046D96:
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r3, 0
- ldr r2, [r5]
-_08046DA6:
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08046DC8
- ldrb r0, [r2, 0x2]
- cmp r0, 0x79
- bne _08046DB8
- str r3, [sp]
-_08046DB8:
- ldrb r0, [r2, 0x2]
- cmp r0, 0x77
- bne _08046DC0
- str r3, [sp, 0x4]
-_08046DC0:
- ldrb r0, [r2, 0x2]
- cmp r0, 0x78
- bne _08046DC8
- str r3, [sp, 0x8]
-_08046DC8:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _08046DA6
- ldr r1, [sp]
- cmp r1, 0
- blt _08046E1E
- ldr r0, [sp, 0x4]
- cmp r0, 0
- blt _08046E1E
- ldr r0, [sp, 0x8]
- cmp r0, 0
- blt _08046E1E
- movs r7, 0x1
- movs r6, 0x1
- lsls r1, 2
- ldr r0, [r5]
- adds r1, r0
- strb r4, [r1, 0x2]
- strb r4, [r1, 0x1]
- strb r4, [r1]
- ldr r0, [sp, 0x4]
- lsls r0, 2
- ldr r1, [r5]
- adds r0, r1
- strb r4, [r0, 0x2]
- strb r4, [r0, 0x1]
- strb r4, [r0]
- ldr r0, [sp, 0x8]
- lsls r0, 2
- ldr r1, [r5]
- adds r0, r1
- strb r4, [r0, 0x2]
- strb r4, [r0, 0x1]
- strb r4, [r0]
- ldr r1, [sp]
- lsls r1, 2
- ldr r0, [r5]
- adds r0, r1
- movs r1, 0x7A
- movs r2, 0
- bl sub_8090A8C
-_08046E1E:
- cmp r7, 0
- bne _08046D96
- bl sub_80910B4
- cmp r6, 0
- beq _08046ED4
- bl sub_8083600
- adds r4, r0, 0
- ldr r0, _08046EE0
- bl sub_80855E4
- ldr r6, _08046EE4
- ldr r0, [r6]
- ldr r5, _08046EE8
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08046EEC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0x3C
- movs r1, 0x41
- bl sub_803E708
- ldr r0, _08046EF0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0xA
- movs r3, 0
- bl sub_80869E4
- adds r0, r4, 0
- adds r0, 0xC
- movs r1, 0x86
- lsls r1, 1
- movs r2, 0
- bl sub_80416E0
- adds r0, r4, 0
- movs r1, 0xD7
- bl sub_80421C0
- movs r0, 0x3C
- movs r1, 0x41
- bl sub_803E708
- ldr r0, _08046EF4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08046EF8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0xA
- movs r1, 0x41
- bl sub_803E708
- movs r0, 0xD4
- bl sub_8083E38
- ldr r0, _08046EFC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0xA
- movs r1, 0x41
- bl sub_803E708
- movs r0, 0x1
- bl sub_804178C
- ldr r0, [r6]
- adds r0, r5
- strb r7, [r0]
- bl sub_8040A84
-_08046ED4:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08046EDC: .4byte gUnknown_203B460
-_08046EE0: .4byte sub_80861A8
-_08046EE4: .4byte gUnknown_203B418
-_08046EE8: .4byte 0x0001356c
-_08046EEC: .4byte gUnknown_810531C
-_08046EF0: .4byte gUnknown_8105360
-_08046EF4: .4byte gUnknown_202DF98
-_08046EF8: .4byte gUnknown_81053A8
-_08046EFC: .4byte gUnknown_8105434
- thumb_func_end sub_8046D8C
-
- thumb_func_start sub_8046F00
-sub_8046F00:
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08046F7C
- ldrb r0, [r4, 0x2]
- bl sub_80913CC
- lsls r0, 16
- lsrs r7, r0, 16
- ldrb r0, [r4, 0x2]
- bl sub_80915A0
- lsls r0, 24
- cmp r0, 0
- bne _08046F6E
- movs r6, 0
-_08046F2A:
- ldr r0, _08046F74
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08046F78
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08046F68
- ldr r0, [r4, 0x70]
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_808E190
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08046F64
- movs r5, 0
-_08046F64:
- cmp r5, 0
- bne _08046F7C
-_08046F68:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08046F2A
-_08046F6E:
- movs r0, 0
- b _08046F7E
- .align 2, 0
-_08046F74: .4byte gUnknown_203B418
-_08046F78: .4byte 0x0001357c
-_08046F7C:
- movs r0, 0x1
-_08046F7E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8046F00
-
- thumb_func_start sub_8046F84
-sub_8046F84:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- ldr r4, _08047000
- movs r6, 0x1
- movs r3, 0
-_08046F90:
- lsls r1, r5, 2
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08046FAE
- ldrb r0, [r2]
- ands r0, r7
- cmp r0, 0
- beq _08046FAE
- strb r3, [r2, 0x2]
- strb r3, [r2, 0x1]
- strb r3, [r2]
-_08046FAE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08046F90
- bl sub_80910B4
- movs r5, 0
- movs r6, 0
-_08046FBC:
- ldr r0, _08047004
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08047008
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08046FF4
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08046FF4
- ldrb r0, [r2]
- ands r0, r7
- cmp r0, 0
- beq _08046FF4
- strb r6, [r2, 0x2]
- strb r6, [r2, 0x1]
- strb r6, [r2]
-_08046FF4:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08046FBC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08047000: .4byte gUnknown_203B460
-_08047004: .4byte gUnknown_203B418
-_08047008: .4byte 0x0001357c
- thumb_func_end sub_8046F84
-
- thumb_func_start sub_804700C
-sub_804700C:
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _08047078
-_08047012:
- lsls r1, r5, 2
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804702C
- adds r0, r2, 0
- movs r1, 0x46
- movs r2, 0
- bl sub_8090A8C
-_0804702C:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08047012
- bl sub_80910B4
- movs r5, 0
-_08047038:
- ldr r0, _0804707C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08047080
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0804706C
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804706C
- adds r0, r2, 0
- movs r1, 0x46
- movs r2, 0
- bl sub_8090A8C
-_0804706C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08047038
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08047078: .4byte gUnknown_203B460
-_0804707C: .4byte gUnknown_203B418
-_08047080: .4byte 0x0001357c
- thumb_func_end sub_804700C
-
- thumb_func_start sub_8047084
-sub_8047084:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r0, _080470E8
- ldr r2, [r0]
- movs r3, 0x1
-_08047090:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080470A2
- ldrb r0, [r2]
- ands r0, r6
- cmp r0, 0
- bne _080470E2
-_080470A2:
- adds r2, 0x4
- adds r5, 0x1
- cmp r5, 0x13
- ble _08047090
- bl sub_80910B4
- movs r5, 0
-_080470B0:
- ldr r0, _080470EC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080470F0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080470F4
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080470F4
- ldrb r0, [r2]
- ands r0, r6
- cmp r0, 0
- beq _080470F4
-_080470E2:
- movs r0, 0x1
- b _080470FC
- .align 2, 0
-_080470E8: .4byte gUnknown_203B460
-_080470EC: .4byte gUnknown_203B418
-_080470F0: .4byte 0x0001357c
-_080470F4:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080470B0
- movs r0, 0
-_080470FC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8047084
-
- thumb_func_start sub_8047104
-sub_8047104:
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
-_0804710A:
- ldr r0, _08047154
- lsls r1, r6, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08047142
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08047132
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08047132:
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08047142
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08047142:
- adds r6, 0x1
- cmp r6, 0x13
- ble _0804710A
- bl sub_80910B4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08047154: .4byte gUnknown_203B460
- thumb_func_end sub_8047104
-
- thumb_func_start sub_8047158
-sub_8047158:
- push {r4-r6,lr}
- movs r3, 0
- ldr r5, _0804718C
- movs r6, 0x1
- movs r4, 0x4
-_08047162:
- lsls r1, r3, 2
- ldr r0, [r5]
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08047180
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08047180
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
-_08047180:
- adds r3, 0x1
- cmp r3, 0x13
- ble _08047162
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804718C: .4byte gUnknown_203B460
- thumb_func_end sub_8047158
-
- thumb_func_start sub_8047190
-sub_8047190:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _080472E8
- add sp, r4
- mov r9, r0
- str r1, [sp, 0x214]
- ldr r6, _080472EC
- ldr r1, [r6]
- ldr r4, _080472F0
- adds r0, r1, r4
- ldrb r0, [r0]
- str r0, [sp, 0x220]
- mov r8, r3
- adds r7, r1, 0
- adds r7, 0xC0
- movs r0, 0x3
- str r0, [r7]
- adds r0, r1, 0
- adds r0, 0xE4
- movs r4, 0
- strb r4, [r0]
- subs r0, 0x4
- movs r5, 0x1
- strb r5, [r0]
- adds r0, 0x2
- strb r4, [r0]
- ldr r0, [sp, 0x214]
- str r0, [r7, 0x70]
- str r4, [r7, 0x1C]
- ldr r0, [r2]
- str r0, [r7, 0x4]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 11
- adds r0, r7, 0
- bl sub_8045394
- strh r4, [r7, 0x26]
- str r4, [sp, 0x224]
- mov r0, r9
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047214
- mov r0, r9
- movs r1, 0x2A
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x224]
-_08047214:
- ldr r0, [sp, 0x260]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- str r0, [sp, 0x218]
- movs r2, 0
- str r2, [sp, 0x21C]
- ldr r0, [r6]
- ldr r3, _080472F4
- adds r0, r3
- strb r5, [r0]
-_08047228:
- ldr r4, [r7, 0x4]
- mov r10, r4
- ldr r1, [sp, 0x260]
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080472AE
- ldrb r0, [r1]
- cmp r0, 0
- bne _080472AE
- movs r2, 0x4
- ldrsh r0, [r7, r2]
- ldr r2, _080472F8
- mov r3, r8
- lsls r4, r3, 2
- adds r2, r4, r2
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r7, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- str r4, [sp, 0x230]
- cmp r0, 0
- bne _080472AE
- movs r6, 0
- ldr r1, _080472FC
- mov r4, r10
- lsls r0, r4, 16
- asrs r0, 16
- str r0, [sp, 0x23C]
- ldr r0, [sp, 0x230]
- adds r5, r0, r1
- asrs r2, r4, 16
-_0804727A:
- ldrb r4, [r5]
- cmp r4, 0x7
- bgt _080472A6
- ldr r0, _080472F8
- lsls r1, r4, 2
- adds r1, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- ldr r3, [sp, 0x23C]
- adds r0, r3
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r1, r2
- str r2, [sp, 0x234]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- ldr r2, [sp, 0x234]
- cmp r0, 0
- bne _08047300
-_080472A6:
- adds r5, 0x1
- adds r6, 0x1
- cmp r6, 0x3
- ble _0804727A
-_080472AE:
- ldr r0, _080472F8
- mov r4, r8
- lsls r2, r4, 2
- adds r3, r2, r0
- ldrh r1, [r3]
- ldrh r0, [r7, 0x4]
- adds r1, r0
- strh r1, [r7, 0x4]
- ldrh r0, [r3, 0x2]
- ldrh r4, [r7, 0x6]
- adds r0, r4
- strh r0, [r7, 0x6]
- lsls r1, 16
- asrs r1, 16
- str r2, [sp, 0x230]
- cmp r1, 0
- blt _080472E0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080472E0
- cmp r1, 0x37
- bgt _080472E0
- cmp r0, 0x1F
- ble _08047304
-_080472E0:
- movs r0, 0x2
- mov r10, r0
- b _0804744C
- .align 2, 0
-_080472E8: .4byte 0xfffffdc0
-_080472EC: .4byte gUnknown_203B418
-_080472F0: .4byte 0x00018210
-_080472F4: .4byte 0x0001c05e
-_080472F8: .4byte gUnknown_80F4448
-_080472FC: .4byte gUnknown_80F4D64
-_08047300:
- mov r8, r4
- b _080472AE
-_08047304:
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 10
- str r0, [sp, 0x228]
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- lsls r0, 10
- str r0, [sp, 0x22C]
- mov r3, r8
- lsls r6, r3, 24
- movs r5, 0x5
-_0804731A:
- movs r4, 0
- adds r0, r7, 0
- ldr r1, [sp, 0x228]
- ldr r2, [sp, 0x22C]
- bl sub_804539C
- bl sub_804AF74
- lsls r0, 24
- movs r2, 0
- cmp r0, 0
- beq _08047334
- movs r2, 0x3
-_08047334:
- ldr r0, [r7, 0xC]
- cmp r0, 0
- bge _0804733C
- adds r0, 0xFF
-_0804733C:
- asrs r0, 8
- adds r0, 0x8
- ldr r1, [r7, 0x10]
- cmp r1, 0
- bge _08047348
- adds r1, 0xFF
-_08047348:
- asrs r1, 8
- adds r1, 0x10
- bl sub_8083568
- lsls r0, 24
- cmp r0, 0
- beq _08047358
- movs r4, 0x1
-_08047358:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r7, 0
- ldr r1, [sp, 0x220]
- movs r2, 0
- lsrs r3, r6, 24
- bl sub_80462AC
- lsls r0, 24
- cmp r0, 0
- beq _08047370
- movs r4, 0x1
-_08047370:
- cmp r4, 0
- beq _0804737A
- movs r0, 0x12
- bl sub_803E46C
-_0804737A:
- subs r5, 0x1
- cmp r5, 0
- bge _0804731A
- movs r4, 0x4
- ldrsh r0, [r7, r4]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080473A2
- ldr r3, [sp, 0x260]
- ldrb r0, [r3]
- cmp r0, 0
- bne _080473A2
- b _0804757A
-_080473A2:
- ldr r1, [r5, 0x10]
- cmp r1, 0
- beq _08047436
- movs r4, 0
- ldr r2, [sp, 0x260]
- ldrb r0, [r2]
- cmp r0, 0
- bne _080473CE
- adds r0, r1, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080473CE
- ldr r0, [r5, 0x10]
- movs r1, 0x26
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
-_080473CE:
- cmp r4, 0
- beq _080473E0
- movs r3, 0x4
- add r8, r3
- movs r0, 0x7
- mov r4, r8
- ands r4, r0
- mov r8, r4
- b _08047436
-_080473E0:
- movs r6, 0x1
- ldr r0, [r5, 0x10]
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047406
- add r4, sp, 0x208
- adds r0, r4, 0
- ldr r1, _080474B8
- bl sub_8092A88
- ldr r0, [r5, 0x10]
- adds r1, r4, 0
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- beq _08047406
- movs r6, 0
-_08047406:
- cmp r6, 0
- beq _08047436
- ldr r0, [sp, 0x21C]
- cmp r0, 0x3F
- bgt _0804742C
- lsls r0, 3
- mov r4, sp
- adds r4, r0
- adds r4, 0x8
- ldr r0, [r5, 0x10]
- str r0, [r4]
- ldr r1, [r5, 0x10]
- mov r0, r9
- bl sub_8047930
- strb r0, [r4, 0x4]
- ldr r1, [sp, 0x21C]
- adds r1, 0x1
- str r1, [sp, 0x21C]
-_0804742C:
- ldr r2, [sp, 0x260]
- ldrb r0, [r2]
- cmp r0, 0
- bne _08047436
- b _08047574
-_08047436:
- ldr r3, [sp, 0x218]
- subs r3, 0x1
- str r3, [sp, 0x218]
- cmp r3, 0
- ble _08047442
- b _08047228
-_08047442:
- movs r4, 0x1
- mov r10, r4
- mov r0, r8
- lsls r0, 2
- str r0, [sp, 0x230]
-_0804744C:
- ldr r0, _080474BC
- ldr r0, [r0]
- ldr r1, _080474C0
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, [sp, 0x21C]
- cmp r2, 0
- ble _0804752C
- add r5, sp, 0x8
- adds r6, r2, 0
-_08047462:
- ldr r4, [r5]
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _080474D0
- ldr r0, _080474C4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080474C8
- ldr r1, [sp, 0x214]
- bl sub_8045C08
- ldr r0, _080474CC
- ldr r2, [r0]
- mov r0, r9
- adds r1, r4, 0
- bl sub_80522F4
- mov r0, r9
- adds r1, r4, 0
- bl sub_807A96C
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, [sp, 0x224]
- cmp r3, 0
- bne _080474A4
- ldr r3, [sp, 0x260]
- ldrb r0, [r3]
- cmp r0, 0
- beq _080474A6
-_080474A4:
- movs r1, 0x1
-_080474A6:
- str r4, [sp]
- ldr r4, [sp, 0x214]
- str r4, [sp, 0x4]
- movs r0, 0x1
- mov r3, r9
- bl sub_80479B8
- b _08047524
- .align 2, 0
-_080474B8: .4byte 0x00000195
-_080474BC: .4byte gUnknown_203B418
-_080474C0: .4byte 0x0001c05e
-_080474C4: .4byte gUnknown_202DF98
-_080474C8: .4byte gUnknown_202DE58
-_080474CC: .4byte gUnknown_80F94C4
-_080474D0:
- ldr r1, [sp, 0x260]
- ldrb r0, [r1]
- cmp r0, 0
- bne _080474E2
- ldr r2, [sp, 0x21C]
- cmp r2, 0x1
- bne _080474E2
- movs r3, 0x1
- mov r10, r3
-_080474E2:
- ldr r0, _0804750C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08047510
- ldr r1, [sp, 0x214]
- bl sub_8045BF8
- ldr r1, [sp, 0x260]
- ldrb r0, [r1]
- cmp r0, 0
- beq _08047518
- ldr r0, _08047514
- ldr r2, [r0]
- mov r0, r9
- adds r1, r4, 0
- bl sub_80522F4
- b _08047524
- .align 2, 0
-_0804750C: .4byte gUnknown_202DF98
-_08047510: .4byte gUnknown_202DE58
-_08047514: .4byte gUnknown_80F94D8
-_08047518:
- ldr r0, _08047564
- ldr r2, [r0]
- mov r0, r9
- adds r1, r4, 0
- bl sub_80522F4
-_08047524:
- adds r5, 0x8
- subs r6, 0x1
- cmp r6, 0
- bne _08047462
-_0804752C:
- ldr r2, _08047568
- ldr r3, [sp, 0x230]
- adds r2, r3, r2
- movs r4, 0
- ldrsh r1, [r2, r4]
- lsls r1, 19
- lsrs r1, 16
- ldr r4, _0804756C
- add r3, sp, 0x210
- ldr r0, [r3]
- ands r0, r4
- orrs r0, r1
- str r0, [r3]
- movs r4, 0x2
- ldrsh r1, [r2, r4]
- lsls r1, 19
- ldr r2, _08047570
- ands r0, r2
- orrs r0, r1
- str r0, [r3]
- mov r0, r10
- cmp r0, 0x1
- beq _08047584
- cmp r0, 0x1
- bcc _080475A8
- cmp r0, 0x2
- beq _08047596
- b _080475A8
- .align 2, 0
-_08047564: .4byte gUnknown_80F94F0
-_08047568: .4byte gUnknown_80F4448
-_0804756C: .4byte 0xffff0000
-_08047570: .4byte 0x0000ffff
-_08047574:
- movs r1, 0
- mov r10, r1
- b _0804744C
-_0804757A:
- mov r2, r10
- str r2, [r7, 0x4]
- movs r3, 0x1
- mov r10, r3
- b _0804744C
-_08047584:
- add r0, sp, 0x210
- str r0, [sp]
- mov r0, r9
- adds r1, r7, 0
- ldr r2, [sp, 0x214]
- movs r3, 0x1
- bl sub_804652C
- b _080475A8
-_08047596:
- ldr r0, _080475BC
- ldr r1, [sp, 0x214]
- bl sub_8045C08
- ldr r0, _080475C0
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
-_080475A8:
- movs r3, 0x90
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080475BC: .4byte gUnknown_202DE58
-_080475C0: .4byte gUnknown_80F9530
- thumb_func_end sub_8047190
-
- thumb_func_start sub_80475C4
-sub_80475C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r7, r2, 0
- str r3, [sp, 0x18]
- ldr r0, _08047848
- mov r8, r0
- ldr r2, [r0]
- ldr r1, _0804784C
- adds r0, r2, r1
- ldrb r0, [r0]
- str r0, [sp, 0x24]
- movs r4, 0
- movs r5, 0
- adds r3, r2, 0
- adds r3, 0xC0
- str r3, [sp, 0x1C]
- movs r0, 0x3
- str r0, [r3]
- adds r0, r2, 0
- adds r0, 0xE4
- strb r4, [r0]
- adds r1, r2, 0
- adds r1, 0xE0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0xE2
- strb r4, [r0]
- ldr r0, [sp, 0x14]
- str r0, [r3, 0x70]
- str r5, [r3, 0x1C]
- ldr r0, [r7]
- str r0, [r3, 0x4]
- movs r1, 0
- ldrsh r0, [r7, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- ldr r0, [sp, 0x1C]
- bl sub_8045394
- ldr r3, [sp, 0x1C]
- strh r4, [r3, 0x26]
- movs r0, 0x1
- str r0, [sp, 0x20]
- movs r1, 0
- str r1, [sp, 0x28]
- ldr r0, [sp, 0x10]
- bl sub_80450F8
- cmp r0, 0x1
- bne _0804765E
- ldr r0, [sp, 0x10]
- movs r1, 0x2A
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x28]
-_0804765E:
- adds r0, r7, 0
- bl sub_803F428
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- ldr r0, [sp, 0x18]
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _0804767C
- movs r4, 0x1
-_0804767C:
- mov r2, r8
- ldr r0, [r2]
- ldr r3, _08047850
- adds r0, r3
- add r1, sp, 0x20
- ldrb r1, [r1]
- strb r1, [r0]
- cmp r4, 0
- bne _08047690
- b _080477D0
-_08047690:
- ldr r2, [sp, 0x1C]
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- ldr r1, [sp, 0x18]
- movs r2, 0
- ldrsh r1, [r1, r2]
- mov r9, r1
- subs r1, r0, r1
- cmp r1, 0
- bge _080476A6
- negs r1, r1
-_080476A6:
- ldr r3, [sp, 0x1C]
- movs r2, 0x6
- ldrsh r0, [r3, r2]
- ldr r3, [sp, 0x18]
- movs r2, 0x2
- ldrsh r3, [r3, r2]
- mov r10, r3
- subs r0, r3
- cmp r0, 0
- bge _080476BC
- negs r0, r0
-_080476BC:
- adds r1, r0
- lsls r0, r1, 1
- adds r0, r1
- lsls r4, r0, 2
- adds r3, r4, 0
- adds r3, 0xC
- str r3, [sp, 0x30]
- cmp r3, 0x3F
- ble _080476D2
- movs r0, 0x40
- str r0, [sp, 0x30]
-_080476D2:
- movs r1, 0
- str r1, [sp, 0x3C]
- movs r0, 0x80
- lsls r0, 12
- adds r1, r4, 0
- bl __divsi3
- str r0, [sp, 0x40]
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- mov r8, r0
- movs r3, 0x2
- ldrsh r1, [r7, r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r7, r0, 11
- mov r1, r9
- lsls r0, r1, 1
- add r0, r9
- lsls r0, 11
- mov r2, r8
- subs r0, r2
- adds r1, r4, 0
- bl __divsi3
- str r0, [sp, 0x34]
- mov r3, r10
- lsls r0, r3, 1
- add r0, r10
- lsls r0, 11
- subs r0, r7
- adds r1, r4, 0
- bl __divsi3
- str r0, [sp, 0x38]
- subs r0, r4, 0x3
- cmp r0, 0
- ble _080477D0
- str r0, [sp, 0x2C]
-_08047726:
- movs r0, 0
- mov r10, r0
- ldr r0, [sp, 0x3C]
- cmp r0, 0
- bge _08047732
- adds r0, 0xFF
-_08047732:
- asrs r0, 8
- bl sub_8009C7C
- ldr r2, [sp, 0x30]
- adds r1, r0, 0
- muls r1, r2
- movs r0, 0x80
- lsls r0, 3
- mov r2, r8
- adds r3, r2, r0
- adds r2, r7, r0
- ldr r0, [sp, 0x1C]
- str r1, [r0, 0x1C]
- mov r0, r8
- cmp r0, 0
- bge _08047754
- adds r0, 0xFF
-_08047754:
- asrs r0, 8
- adds r0, 0x8
- mov r9, r0
- adds r0, r7, 0
- cmp r7, 0
- bge _08047762
- adds r0, 0xFF
-_08047762:
- asrs r0, 8
- adds r4, r0, 0
- adds r4, 0x10
- ldr r1, [sp, 0x3C]
- ldr r0, [sp, 0x40]
- adds r1, r0
- str r1, [sp, 0x3C]
- ldr r0, [sp, 0x1C]
- adds r1, r3, 0
- bl sub_8045394
- bl sub_804AF74
- lsls r0, 24
- movs r2, 0
- cmp r0, 0
- beq _08047786
- movs r2, 0x3
-_08047786:
- mov r0, r9
- adds r1, r4, 0
- bl sub_8083568
- lsls r0, 24
- cmp r0, 0
- beq _08047798
- movs r1, 0x1
- mov r10, r1
-_08047798:
- movs r0, 0x1
- str r0, [sp]
- ldr r0, [sp, 0x1C]
- ldr r1, [sp, 0x24]
- movs r2, 0
- movs r3, 0xFF
- bl sub_80462AC
- lsls r0, 24
- cmp r0, 0
- beq _080477B2
- movs r2, 0x1
- mov r10, r2
-_080477B2:
- mov r3, r10
- cmp r3, 0
- beq _080477BE
- movs r0, 0x17
- bl sub_803E46C
-_080477BE:
- ldr r0, [sp, 0x34]
- add r8, r0
- ldr r1, [sp, 0x38]
- adds r7, r1
- ldr r2, [sp, 0x2C]
- subs r2, 0x1
- str r2, [sp, 0x2C]
- cmp r2, 0
- bne _08047726
-_080477D0:
- ldr r3, [sp, 0x18]
- ldr r0, [r3]
- ldr r1, [sp, 0x1C]
- str r0, [r1, 0x4]
- ldr r0, _08047848
- ldr r0, [r0]
- ldr r2, _08047850
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- movs r1, 0
- ldrsh r0, [r3, r1]
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bne _080477FA
- b _08047904
-_080477FA:
- movs r3, 0x1
- mov r8, r3
- movs r7, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047834
- ldr r0, [r4, 0x10]
- movs r1, 0x26
- bl sub_8046CB0
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r7, r1, 31
- ldr r1, _08047854
- add r0, sp, 0x8
- bl sub_8092A88
- ldr r0, [r4, 0x10]
- add r1, sp, 0x8
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- beq _08047834
- movs r0, 0
- mov r8, r0
-_08047834:
- mov r1, r8
- cmp r1, 0
- beq _08047904
- ldr r1, [r4, 0x10]
- adds r5, r1, 0
- cmp r7, 0
- beq _0804785C
- ldr r0, _08047858
- ands r6, r0
- b _0804786E
- .align 2, 0
-_08047848: .4byte gUnknown_203B418
-_0804784C: .4byte 0x00018210
-_08047850: .4byte 0x0001c05e
-_08047854: .4byte 0x00000195
-_08047858: .4byte 0xffffff00
-_0804785C:
- ldr r0, [sp, 0x10]
- bl sub_8047930
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080478CC
- ands r1, r6
- adds r6, r1, 0
- orrs r6, r0
-_0804786E:
- ldr r0, _080478D0
- ldr r1, [sp, 0x14]
- bl sub_8045C08
- ldr r0, _080478D4
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- lsls r0, r6, 24
- cmp r0, 0
- beq _080478DC
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE94
- ldr r0, _080478D8
- ldr r2, [r0]
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_80522F4
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_807A96C
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, [sp, 0x28]
- cmp r3, 0
- bne _080478B6
- ldr r0, [sp, 0x64]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080478B8
-_080478B6:
- movs r1, 0x1
-_080478B8:
- str r5, [sp]
- ldr r0, [sp, 0x14]
- str r0, [sp, 0x4]
- movs r0, 0x1
- ldr r3, [sp, 0x10]
- bl sub_80479B8
- movs r1, 0
- str r1, [sp, 0x20]
- b _08047904
- .align 2, 0
-_080478CC: .4byte 0xffffff00
-_080478D0: .4byte gUnknown_202DE58
-_080478D4: .4byte gUnknown_202DF98
-_080478D8: .4byte gUnknown_80F94C4
-_080478DC:
- cmp r7, 0
- beq _080478F4
- ldr r0, _080478F0
- ldr r2, [r0]
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_80522F4
- b _08047900
- .align 2, 0
-_080478F0: .4byte gUnknown_80F9510
-_080478F4:
- ldr r0, _0804792C
- ldr r2, [r0]
- ldr r0, [sp, 0x10]
- adds r1, r5, 0
- bl sub_80522F4
-_08047900:
- movs r2, 0x1
- str r2, [sp, 0x20]
-_08047904:
- ldr r3, [sp, 0x20]
- cmp r3, 0x1
- bne _0804791A
- movs r0, 0
- str r0, [sp]
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x14]
- movs r3, 0
- bl sub_804652C
-_0804791A:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804792C: .4byte gUnknown_80F94F0
- thumb_func_end sub_80475C4
-
- thumb_func_start sub_8047930
-sub_8047930:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r1, [r5, 0x70]
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- beq _0804794C
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0804794C
- cmp r0, 0x1
- bne _08047950
-_0804794C:
- movs r0, 0
- b _080479B0
-_08047950:
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _08047980
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r6, 0
- cmp r0, r1
- bge _08047964
- movs r6, 0x1
-_08047964:
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _08047994
- adds r0, r4, 0
- movs r1, 0x28
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08047984
- movs r6, 0
- b _08047994
- .align 2, 0
-_08047980: .4byte gUnknown_80F4FA2
-_08047984:
- adds r0, r4, 0
- movs r1, 0x2A
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08047994
- movs r6, 0x1
-_08047994:
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080479AE
- adds r0, r5, 0
- movs r1, 0x25
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080479AE
- movs r6, 0
-_080479AE:
- adds r0, r6, 0
-_080479B0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8047930
-
- thumb_func_start sub_80479B8
-sub_80479B8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r4, r3, 0
- ldr r5, [sp, 0x3C]
- ldr r7, [sp, 0x40]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- cmp r6, 0
- beq _08047AD0
- cmp r1, 0
- bne _08047ABC
- movs r0, 0
- mov r8, r0
- ldr r1, [r5, 0x70]
- mov r9, r1
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08047A20
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _08047A3C
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08047A3C
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- mov r8, r1
- b _08047A3C
-_08047A20:
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08047A3C
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_80718D8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_08047A3C:
- adds r0, r5, 0
- bl sub_8070C60
- lsls r0, 24
- cmp r0, 0
- beq _08047A4C
- movs r0, 0
- mov r8, r0
-_08047A4C:
- mov r1, r8
- cmp r1, 0
- beq _08047ABC
- mov r0, r9
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08047ABC
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bne _08047A76
- adds r1, r5, 0x4
- adds r0, r4, 0
- adds r2, r7, 0
- bl sub_80464C8
- bl _080482BA
-_08047A76:
- ldr r0, _08047AAC
- bl sub_8083E38
- ldr r0, _08047AB0
- adds r1, r7, 0
- bl sub_8045BF8
- ldr r0, _08047AB4
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08047AB8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- ldr r0, [r7]
- mov r1, r9
- str r0, [r1, 0x60]
- adds r0, r5, 0
- bl sub_806A6E8
- bl _080482BA
- .align 2, 0
-_08047AAC: .4byte 0x0000014d
-_08047AB0: .4byte gUnknown_202DE58
-_08047AB4: .4byte gUnknown_202DF98
-_08047AB8: .4byte gUnknown_80FDBB8
-_08047ABC:
- cmp r6, 0
- beq _08047AD0
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8042390
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_806F450
-_08047AD0:
- ldrb r1, [r7]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08047B2C
- ldr r0, _08047B1C
- adds r1, r7, 0
- bl sub_8045BF8
- ldr r0, _08047B20
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- cmp r6, 0
- beq _08047B30
- ldr r0, _08047B24
- movs r1, 0
- ldrsh r2, [r0, r1]
- add r0, sp, 0x18
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _08047B28
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_806F370
- adds r0, r4, 0
- bl sub_8071DA4
- b _080482BA
- .align 2, 0
-_08047B1C: .4byte gUnknown_202DE58
-_08047B20: .4byte gUnknown_80FE3E8
-_08047B24: .4byte gUnknown_80F4FAE
-_08047B28: .4byte 0x00000217
-_08047B2C:
- cmp r6, 0
- bne _08047B38
-_08047B30:
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_804245C
-_08047B38:
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08047B56
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_8078B5C
-_08047B56:
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _08047B72
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _08047B9C
-_08047B72:
- cmp r6, 0
- beq _08047B88
- ldr r0, _08047B84
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, sp
- adds r0, 0x19
- b _08048284
- .align 2, 0
-_08047B84: .4byte gUnknown_80F4FAC
-_08047B88:
- ldr r0, _08047B98
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080482B4
- .align 2, 0
-_08047B98: .4byte gUnknown_80FE458
-_08047B9C:
- ldrb r0, [r7, 0x2]
- subs r0, 0x1
- cmp r0, 0xE8
- bls _08047BA6
- b _08048276
-_08047BA6:
- lsls r0, 2
- ldr r1, _08047BB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08047BB0: .4byte _08047BB4
- .align 2, 0
-_08047BB4:
- .4byte _08047F58
- .4byte _08047F70
- .4byte _08047F88
- .4byte _08047FA0
- .4byte _08047FB8
- .4byte _08047FD0
- .4byte _08047FF0
- .4byte _08047FE8
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048004
- .4byte _0804825E
- .4byte _08048010
- .4byte _0804801A
- .4byte _0804804C
- .4byte _08048276
- .4byte _0804802E
- .4byte _0804809C
- .4byte _08048038
- .4byte _08048024
- .4byte _080480BA
- .4byte _080480C4
- .4byte _08048042
- .4byte _0804806A
- .4byte _08048060
- .4byte _08048056
- .4byte _0804807E
- .4byte _080480B0
- .4byte _08048074
- .4byte _080480D8
- .4byte _080480CE
- .4byte _08048092
- .4byte _08048088
- .4byte _080480A6
- .4byte _080480E4
- .4byte _080480EE
- .4byte _080480F8
- .4byte _08048102
- .4byte _0804810C
- .4byte _08048212
- .4byte _08048122
- .4byte _0804813C
- .4byte _0804812A
- .4byte _08048146
- .4byte _08048152
- .4byte _0804815E
- .4byte _0804816A
- .4byte _08048176
- .4byte _08048182
- .4byte _0804818E
- .4byte _0804819A
- .4byte _080481A6
- .4byte _080481B2
- .4byte _080481BE
- .4byte _080481CA
- .4byte _080481D6
- .4byte _080481E2
- .4byte _080481EE
- .4byte _080481FA
- .4byte _08048206
- .4byte _08048212
- .4byte _08048220
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _0804823A
- .4byte _08048252
- .4byte _08048246
- .4byte _0804826A
- .4byte _0804822E
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048276
- .4byte _08048116
-_08047F58:
- ldr r0, _08047F6C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047F6C: .4byte gUnknown_80F503A
-_08047F70:
- ldr r0, _08047F84
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x2
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047F84: .4byte gUnknown_80F503C
-_08047F88:
- ldr r0, _08047F9C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x3
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047F9C: .4byte gUnknown_80F503E
-_08047FA0:
- ldr r0, _08047FB4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x4
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047FB4: .4byte gUnknown_80F5040
-_08047FB8:
- ldr r0, _08047FCC
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x5
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047FCC: .4byte gUnknown_80F5042
-_08047FD0:
- ldr r0, _08047FE4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x6
- bl sub_80482FC
- b _080482B4
- .align 2, 0
-_08047FE4: .4byte gUnknown_80F5044
-_08047FE8:
- ldr r0, _08047FEC
- b _08047FF2
- .align 2, 0
-_08047FEC: .4byte gUnknown_80F5048
-_08047FF0:
- ldr r0, _08048000
-_08047FF2:
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048340
- b _080482B4
- .align 2, 0
-_08048000: .4byte gUnknown_80F5046
-_08048004:
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, r10
- bl sub_8048364
- b _080482B4
-_08048010:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048374
- b _080482B4
-_0804801A:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804839C
- b _080482B4
-_08048024:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80483D4
- b _080482B4
-_0804802E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80483F4
- b _080482B4
-_08048038:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048400
- b _080482B4
-_08048042:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804840C
- b _080482B4
-_0804804C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804841C
- b _080482B4
-_08048056:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804849C
- b _080482B4
-_08048060:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048428
- b _080482B4
-_0804806A:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048450
- b _080482B4
-_08048074:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048480
- b _080482B4
-_0804807E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80482D4
- b _080482B4
-_08048088:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048490
- b _080482B4
-_08048092:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484A8
- b _080482B4
-_0804809C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484DC
- b _080482B4
-_080480A6:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484BC
- b _080482B4
-_080480B0:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484C8
- b _080482B4
-_080480BA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80484E8
- b _080482B4
-_080480C4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048524
- b _080482B4
-_080480CE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80485B0
- b _080482B4
-_080480D8:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_804869C
- b _080482B4
-_080480E4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80483C4
- b _080482B4
-_080480EE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804891C
- b _080482B4
-_080480F8:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048928
- b _080482B4
-_08048102:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048934
- b _080482B4
-_0804810C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048940
- b _080482B4
-_08048116:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl nullsub_94
- b _080482B4
-_08048122:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- b _08048130
-_0804812A:
- ldr r2, _08048138
- adds r0, r4, 0
- adds r1, r5, 0
-_08048130:
- movs r3, 0xA
- bl sub_80487CC
- b _080482B4
- .align 2, 0
-_08048138: .4byte 0x000003e7
-_0804813C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8048E04
- b _080482B4
-_08048146:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80487E0
- b _080482B4
-_08048152:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x2
- bl sub_80487E0
- b _080482B4
-_0804815E:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl sub_80487E0
- b _080482B4
-_0804816A:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x4
- bl sub_80487E0
- b _080482B4
-_08048176:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x5
- bl sub_80487E0
- b _080482B4
-_08048182:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_80487E0
- b _080482B4
-_0804818E:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_80487E0
- b _080482B4
-_0804819A:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_80487E0
- b _080482B4
-_080481A6:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x9
- bl sub_80487E0
- b _080482B4
-_080481B2:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA
- bl sub_80487E0
- b _080482B4
-_080481BE:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xB
- bl sub_80487E0
- b _080482B4
-_080481CA:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xC
- bl sub_80487E0
- b _080482B4
-_080481D6:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xD
- bl sub_80487E0
- b _080482B4
-_080481E2:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xE
- bl sub_80487E0
- b _080482B4
-_080481EE:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xF
- bl sub_80487E0
- b _080482B4
-_080481FA:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x10
- bl sub_80487E0
- b _080482B4
-_08048206:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x11
- bl sub_80487E0
- b _080482B4
-_08048212:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x32
- movs r3, 0x5
- bl sub_80487CC
- b _080482B4
-_08048220:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80487CC
- b _080482B4
-_0804822E:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048DB8
- b _080482B4
-_0804823A:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048EB0
- b _080482B4
-_08048246:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048EC4
- b _080482B4
-_08048252:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048ED8
- b _080482B4
-_0804825E:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048EEC
- b _080482B4
-_0804826A:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8048F00
- b _080482B4
-_08048276:
- cmp r6, 0
- beq _080482A8
- ldr r0, _080482A0
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r0, sp
- adds r0, 0x1A
-_08048284:
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _080482A4
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_806F370
- b _080482B4
- .align 2, 0
-_080482A0: .4byte gUnknown_80F4FAC
-_080482A4: .4byte 0x00000217
-_080482A8:
- ldr r0, _080482CC
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080482B4:
- adds r0, r4, 0
- bl sub_8071DA4
-_080482BA:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080482CC: .4byte gUnknown_80FE458
- thumb_func_end sub_80479B8
-
- thumb_func_start nullsub_205
-nullsub_205:
- bx lr
- thumb_func_end nullsub_205
-
- thumb_func_start sub_80482D4
-sub_80482D4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _080482F8
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8075C58
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080482F8: .4byte gUnknown_80F4E74
- thumb_func_end sub_80482D4
-
- thumb_func_start sub_80482FC
-sub_80482FC:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- mov r8, r0
- mov r9, r1
- adds r6, r2, 0
- lsls r4, r3, 24
- lsrs r4, 24
- add r5, sp, 0x4
- ldr r1, _0804833C
- adds r0, r5, 0
- bl sub_8092A88
- strb r6, [r5, 0x4]
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- mov r0, r8
- mov r1, r9
- add r2, sp, 0x4
- bl sub_8055640
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804833C: .4byte 0x00000195
- thumb_func_end sub_80482FC
-
- thumb_func_start sub_8048340
-sub_8048340:
- push {r4,lr}
- sub sp, 0x18
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r3, 0x84
- lsls r3, 2
- str r3, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- str r4, [sp, 0x14]
- movs r3, 0x1
- bl sub_806F370
- add sp, 0x18
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8048340
-
- thumb_func_start sub_8048364
-sub_8048364:
- push {lr}
- lsls r3, r2, 24
- lsrs r3, 24
- movs r2, 0x1
- bl sub_8079F20
- pop {r0}
- bx r0
- thumb_func_end sub_8048364
-
- thumb_func_start sub_8048374
-sub_8048374:
- push {r4,lr}
- sub sp, 0x4
- ldr r2, _08048394
- movs r3, 0
- ldrsh r2, [r2, r3]
- ldr r3, _08048398
- movs r4, 0
- ldrsh r3, [r3, r4]
- movs r4, 0x1
- str r4, [sp]
- bl sub_8077C44
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048394: .4byte gUnknown_80F4FB6
-_08048398: .4byte gUnknown_80F4FB8
- thumb_func_end sub_8048374
-
- thumb_func_start sub_804839C
-sub_804839C:
- push {r4,lr}
- sub sp, 0x4
- ldr r2, _080483BC
- movs r3, 0
- ldrsh r2, [r2, r3]
- ldr r3, _080483C0
- movs r4, 0
- ldrsh r3, [r3, r4]
- movs r4, 0x1
- str r4, [sp]
- bl sub_8077C44
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080483BC: .4byte gUnknown_80F4FBA
-_080483C0: .4byte gUnknown_80F4FBC
- thumb_func_end sub_804839C
-
- thumb_func_start sub_80483C4
-sub_80483C4:
- push {lr}
- ldr r2, _080483D0
- bl sub_80792F8
- pop {r0}
- bx r0
- .align 2, 0
-_080483D0: .4byte 0x000003e7
- thumb_func_end sub_80483C4
-
- thumb_func_start sub_80483D4
-sub_80483D4:
- push {r4,lr}
- sub sp, 0x4
- ldr r2, _080483F0
- movs r4, 0
- ldrsh r3, [r2, r4]
- movs r2, 0x1
- str r2, [sp]
- movs r2, 0
- bl sub_8077C44
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080483F0: .4byte gUnknown_80F4FBE
- thumb_func_end sub_80483D4
-
- thumb_func_start sub_80483F4
-sub_80483F4:
- push {lr}
- bl sub_8079140
- pop {r0}
- bx r0
- thumb_func_end sub_80483F4
-
- thumb_func_start sub_8048400
-sub_8048400:
- push {lr}
- bl sub_80791D8
- pop {r0}
- bx r0
- thumb_func_end sub_8048400
-
- thumb_func_start sub_804840C
-sub_804840C:
- push {lr}
- movs r2, 0
- movs r3, 0x1
- bl sub_8077910
- pop {r0}
- bx r0
- thumb_func_end sub_804840C
-
- thumb_func_start sub_804841C
-sub_804841C:
- push {lr}
- bl sub_8079270
- pop {r0}
- bx r0
- thumb_func_end sub_804841C
-
- thumb_func_start sub_8048428
-sub_8048428:
- push {lr}
- adds r3, r0, 0
- ldr r0, [r1, 0x70]
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0804843E
- adds r0, r3, 0
- bl sub_807A290
- b _08048448
-_0804843E:
- ldr r0, _0804844C
- ldr r2, [r0]
- adds r0, r3, 0
- bl sub_80522F4
-_08048448:
- pop {r0}
- bx r0
- .align 2, 0
-_0804844C: .4byte gUnknown_80F89F4
- thumb_func_end sub_8048428
-
- thumb_func_start sub_8048450
-sub_8048450:
- push {lr}
- adds r3, r0, 0
- ldr r0, [r1, 0x70]
- adds r0, 0xAC
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0804846C
- adds r0, r3, 0
- bl sub_807A290
- b _08048476
-_0804846C:
- ldr r0, _0804847C
- ldr r2, [r0]
- adds r0, r3, 0
- bl sub_80522F4
-_08048476:
- pop {r0}
- bx r0
- .align 2, 0
-_0804847C: .4byte gUnknown_80F89F4
- thumb_func_end sub_8048450
-
- thumb_func_start sub_8048480
-sub_8048480:
- push {lr}
- movs r2, 0
- movs r3, 0
- bl sub_807D148
- pop {r0}
- bx r0
- thumb_func_end sub_8048480
-
- thumb_func_start sub_8048490
-sub_8048490:
- push {lr}
- bl sub_8075FCC
- pop {r0}
- bx r0
- thumb_func_end sub_8048490
-
- thumb_func_start sub_804849C
-sub_804849C:
- push {lr}
- movs r2, 0x1
- bl sub_8077AE4
- pop {r0}
- bx r0
- thumb_func_end sub_804849C
-
- thumb_func_start sub_80484A8
-sub_80484A8:
- push {lr}
- sub sp, 0x4
- movs r2, 0x1
- str r2, [sp]
- movs r3, 0x1
- bl sub_8072008
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80484A8
-
- thumb_func_start sub_80484BC
-sub_80484BC:
- push {lr}
- bl sub_8076D10
- pop {r0}
- bx r0
- thumb_func_end sub_80484BC
-
- thumb_func_start sub_80484C8
-sub_80484C8:
- push {lr}
- ldr r2, _080484D8
- ldr r2, [r2]
- bl sub_80522F4
- pop {r0}
- bx r0
- .align 2, 0
-_080484D8: .4byte gUnknown_80F89F4
- thumb_func_end sub_80484C8
-
- thumb_func_start sub_80484DC
-sub_80484DC:
- push {lr}
- movs r2, 0x1
- bl sub_807232C
- pop {r0}
- bx r0
- thumb_func_end sub_80484DC
-
- thumb_func_start sub_80484E8
-sub_80484E8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, [r4, 0x70]
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08048500
- adds r0, r5, 0
- bl sub_807A290
- b _08048516
-_08048500:
- ldr r0, _0804851C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08048520
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08048516:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804851C: .4byte gUnknown_202DF98
-_08048520: .4byte gUnknown_80FB580
- thumb_func_end sub_80484E8
-
- thumb_func_start sub_8048524
-sub_8048524:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r0, [r4, 0x70]
- adds r5, r0, 0
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _08048542
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x5
- bl sub_8078A58
- b _080485A4
-_08048542:
- ldr r0, _08048560
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- movs r1, 0x12
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08048568
- ldr r0, _08048564
- b _08048586
- .align 2, 0
-_08048560: .4byte gUnknown_202DF98
-_08048564: .4byte gUnknown_8100298
-_08048568:
- movs r0, 0x9E
- lsls r0, 1
- adds r5, r0
- ldr r0, [r5]
- bl sub_8094450
- cmp r0, 0
- beq _08048598
- mov r0, sp
- movs r1, 0
- bl sub_80943A0
- ldr r0, [sp]
- str r0, [r5]
- ldr r0, _08048594
-_08048586:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080485A4
- .align 2, 0
-_08048594: .4byte gUnknown_80F9740
-_08048598:
- ldr r0, _080485AC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080485A4:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080485AC: .4byte gUnknown_80F9760
- thumb_func_end sub_8048524
-
- thumb_func_start sub_80485B0
-sub_80485B0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- mov r8, r1
- movs r0, 0
- str r0, [sp]
- movs r2, 0x1
- mov r10, r2
- ldr r4, [r1, 0x70]
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0804865C
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _080485DE
- movs r0, 0x3
- mov r10, r0
-_080485DE:
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _0804867C
- movs r2, 0x8C
- lsls r2, 1
- adds r4, r2
- adds r5, r4, 0
- movs r7, 0x3
-_080485EE:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804862C
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804862C
- adds r0, r5, 0
- bl sub_8092BC0
- cmp r0, 0
- beq _0804862C
- ldrb r6, [r4, 0x5]
- adds r0, r5, 0
- bl sub_8092C0C
- adds r1, r0, 0
- ldrb r0, [r4, 0x5]
- add r0, r10
- strb r0, [r4, 0x5]
- ldrb r0, [r4, 0x5]
- cmp r0, r1
- blt _08048622
- strb r1, [r4, 0x5]
-_08048622:
- ldrb r0, [r4, 0x5]
- cmp r6, r0
- beq _0804862C
- movs r2, 0x1
- str r2, [sp]
-_0804862C:
- adds r4, 0x8
- adds r5, 0x8
- subs r7, 0x1
- cmp r7, 0
- bge _080485EE
- ldr r0, [sp]
- cmp r0, 0
- beq _08048668
- ldr r0, _08048660
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
- mov r2, r10
- cmp r2, 0x1
- beq _08048688
- movs r0, 0xA
- movs r1, 0x40
- bl sub_803E708
- ldr r0, _08048664
- b _0804866A
- .align 2, 0
-_0804865C: .4byte gUnknown_80F4F46
-_08048660: .4byte gUnknown_80FE454
-_08048664: .4byte gUnknown_80FE434
-_08048668:
- ldr r0, _08048678
-_0804866A:
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
- b _08048688
- .align 2, 0
-_08048678: .4byte gUnknown_80FE40C
-_0804867C:
- ldr r0, _08048698
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
-_08048688:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048698: .4byte gUnknown_80FE40C
- thumb_func_end sub_80485B0
-
- thumb_func_start sub_804869C
-sub_804869C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x1C
- adds r4, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- cmp r2, 0
- beq _08048724
- ldr r5, [r7, 0x70]
- ldr r0, _080486D4
- ldr r0, [r0]
- ldr r1, _080486D8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080486E4
- ldr r0, _080486DC
- movs r1, 0
- ldrsh r6, [r0, r1]
- ldr r0, _080486E0
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _080486EA
- .align 2, 0
-_080486D4: .4byte gUnknown_203B418
-_080486D8: .4byte 0x00000675
-_080486DC: .4byte gUnknown_80F4FA8
-_080486E0: .4byte gUnknown_80FEAE8
-_080486E4:
- ldr r0, _0804871C
- movs r1, 0
- ldrsh r6, [r0, r1]
-_080486EA:
- adds r0, r5, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080486FC
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_807A324
-_080486FC:
- add r0, sp, 0x18
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _08048720
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- movs r3, 0x1
- bl sub_806F370
- b _080487B6
- .align 2, 0
-_0804871C: .4byte gUnknown_80F4FA4
-_08048720: .4byte 0x00000216
-_08048724:
- adds r0, r4, 0
- bl sub_8042520
- adds r0, r4, 0
- bl sub_80696FC
- adds r5, r0, 0
- cmp r5, 0
- bne _08048748
- ldr r0, _08048744
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _080487B6
- .align 2, 0
-_08048744: .4byte gUnknown_80FDBA0
-_08048748:
- ldr r1, [r5, 0x70]
- mov r8, r1
- ldr r0, _08048770
- ldr r0, [r0]
- ldr r1, _08048774
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08048780
- ldr r0, _08048778
- movs r1, 0
- ldrsh r6, [r0, r1]
- ldr r0, _0804877C
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _08048786
- .align 2, 0
-_08048770: .4byte gUnknown_203B418
-_08048774: .4byte 0x00000675
-_08048778: .4byte gUnknown_80F4FAA
-_0804877C: .4byte gUnknown_80FEAE8
-_08048780:
- ldr r0, _080487C4
- movs r1, 0
- ldrsh r6, [r0, r1]
-_08048786:
- mov r0, r8
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08048798
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_807A324
-_08048798:
- add r0, sp, 0x18
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _080487C8
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0x1
- bl sub_806F370
-_080487B6:
- add sp, 0x1C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080487C4: .4byte gUnknown_80F4FA6
-_080487C8: .4byte 0x00000216
- thumb_func_end sub_804869C
-
- thumb_func_start sub_80487CC
-sub_80487CC:
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0x1
- str r4, [sp]
- bl sub_8078B5C
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80487CC
-
- thumb_func_start sub_80487E0
-sub_80487E0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r9, r0
- mov r8, r1
- lsls r3, r2, 24
- ldr r5, [r1, 0x70]
- ldr r4, _08048858
- lsrs r3, 23
- adds r0, r5, 0
- adds r0, 0x5C
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r3, r1
- adds r0, r1, r4
- movs r2, 0
- ldrsh r6, [r0, r2]
- adds r0, r5, 0
- adds r0, 0x5D
- ldrb r2, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r3, r0
- adds r4, r3, r4
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r6, r0
- ldr r0, _0804885C
- adds r1, r0
- movs r4, 0
- ldrsh r2, [r1, r4]
- adds r3, r0
- movs r1, 0
- ldrsh r0, [r3, r1]
- adds r2, r0
- movs r0, 0x1
- str r0, [sp]
- mov r0, r9
- mov r1, r8
- movs r3, 0
- bl sub_8078B5C
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _08048906
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08048852
- cmp r0, 0x47
- bne _08048860
-_08048852:
- movs r0, 0x1
- b _08048862
- .align 2, 0
-_08048858: .4byte gUnknown_810A580
-_0804885C: .4byte gUnknown_810A808
-_08048860:
- movs r0, 0
-_08048862:
- cmp r0, 0
- bne _08048906
- movs r2, 0xC
- ldrsh r7, [r5, r2]
- ldrh r0, [r5, 0xC]
- adds r0, r6
- strh r0, [r5, 0xC]
- adds r2, r7, r6
- lsls r0, 16
- cmp r0, 0
- bgt _0804887C
- movs r0, 0x1
- strh r0, [r5, 0xC]
-_0804887C:
- movs r4, 0xC
- ldrsh r0, [r5, r4]
- ldr r1, _080488A0
- cmp r0, r1
- ble _08048888
- strh r1, [r5, 0xC]
-_08048888:
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r7, r0
- bne _080488A8
- ldr r0, _080488A4
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
- b _08048906
- .align 2, 0
-_080488A0: .4byte 0x000003e7
-_080488A4: .4byte gUnknown_80FD644
-_080488A8:
- subs r0, r2, r7
- movs r2, 0
- cmp r0, 0x8
- bgt _080488BE
- movs r2, 0x1
- cmp r0, 0x4
- bgt _080488BE
- movs r2, 0x3
- cmp r0, 0x2
- ble _080488BE
- movs r2, 0x2
-_080488BE:
- movs r4, 0xC
- ldrsh r0, [r5, r4]
- subs r0, r7
- movs r4, 0
- cmp r0, 0x8
- bgt _080488D8
- movs r4, 0x1
- cmp r0, 0x4
- bgt _080488D8
- movs r4, 0x3
- cmp r0, 0x2
- ble _080488D8
- movs r4, 0x2
-_080488D8:
- ldr r1, _08048914
- lsls r0, r2, 2
- adds r0, r1
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
- ldr r1, _08048918
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
- mov r0, r8
- bl sub_807191C
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_806A7E8
-_08048906:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08048914: .4byte gUnknown_80FD648
-_08048918: .4byte gUnknown_80FD6E8
- thumb_func_end sub_80487E0
-
- thumb_func_start sub_804891C
-sub_804891C:
- push {lr}
- movs r2, 0x3
- bl sub_80793B0
- pop {r0}
- bx r0
- thumb_func_end sub_804891C
-
- thumb_func_start sub_8048928
-sub_8048928:
- push {lr}
- movs r2, 0x3
- bl sub_8079420
- pop {r0}
- bx r0
- thumb_func_end sub_8048928
-
- thumb_func_start sub_8048934
-sub_8048934:
- push {lr}
- movs r2, 0x3
- bl sub_8079490
- pop {r0}
- bx r0
- thumb_func_end sub_8048934
-
- thumb_func_start sub_8048940
-sub_8048940:
- push {lr}
- movs r2, 0x3
- bl sub_8079500
- pop {r0}
- bx r0
- thumb_func_end sub_8048940
-
- thumb_func_start nullsub_94
-nullsub_94:
- bx lr
- thumb_func_end nullsub_94
-
- thumb_func_start sub_8048950
-sub_8048950:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- mov r8, r1
- ldrb r0, [r1, 0x2]
- bl sub_80913CC
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08048988
- ldr r0, _08048984
-_08048978:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08048A58
- .align 2, 0
-_08048984: .4byte gUnknown_80FE3E8
-_08048988:
- mov r1, r8
- ldrb r0, [r1, 0x2]
- bl sub_80915A0
- lsls r0, 24
- cmp r0, 0
- beq _080489A0
- ldr r0, _0804899C
- b _08048978
- .align 2, 0
-_0804899C: .4byte gUnknown_81006CC
-_080489A0:
- movs r7, 0
-_080489A2:
- ldr r0, _080489FC
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08048A00
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08048A12
- ldr r6, [r4, 0x70]
- movs r0, 0x2
- ldrsh r1, [r6, r0]
- mov r0, r9
- bl sub_808E190
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _080489DC
- movs r5, 0
-_080489DC:
- adds r0, r6, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080489E8
- movs r5, 0
-_080489E8:
- adds r0, r6, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _080489F6
- cmp r0, 0x47
- bne _08048A04
-_080489F6:
- movs r0, 0x1
- b _08048A06
- .align 2, 0
-_080489FC: .4byte gUnknown_203B418
-_08048A00: .4byte 0x0001357c
-_08048A04:
- movs r0, 0
-_08048A06:
- cmp r0, 0
- beq _08048A0C
- movs r5, 0
-_08048A0C:
- ldr r1, _08048A50
- adds r0, r6, r1
- strb r5, [r0]
-_08048A12:
- adds r7, 0x1
- cmp r7, 0x3
- ble _080489A2
- movs r0, 0
- movs r1, 0x1
- bl sub_8062978
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08048A58
- mov r0, r10
- mov r1, r8
- bl sub_804245C
- adds r0, r4, 0
- mov r1, r9
- bl sub_8072938
- lsls r0, 24
- cmp r0, 0
- beq _08048A58
- ldr r2, _08048A54
- mov r0, r10
- movs r1, 0
- bl sub_8044E24
- movs r0, 0x1
- b _08048A5A
- .align 2, 0
-_08048A50: .4byte 0x00000157
-_08048A54: .4byte 0x00000141
-_08048A58:
- movs r0, 0
-_08048A5A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8048950
-
- thumb_func_start sub_8048A68
-sub_8048A68:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- mov r8, r1
- ldrb r1, [r1]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08048A90
- ldr r0, _08048A8C
-_08048A80:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08048B8C
- .align 2, 0
-_08048A8C: .4byte gUnknown_80FE3E8
-_08048A90:
- ldr r0, _08048AA4
- ldr r0, [r0]
- ldr r1, _08048AA8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08048AB0
- ldr r0, _08048AAC
- b _08048A80
- .align 2, 0
-_08048AA4: .4byte gUnknown_203B418
-_08048AA8: .4byte 0x0000065c
-_08048AAC: .4byte gUnknown_80F9BD8
-_08048AB0:
- movs r7, 0
-_08048AB2:
- ldr r0, _08048B24
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08048B28
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08048B4A
- ldr r5, [r4, 0x70]
- movs r6, 0x1
- ldrb r0, [r5, 0xA]
- cmp r0, 0x3
- bhi _08048AF4
- ldr r2, _08048B2C
- ldrb r1, [r5, 0xA]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08048B30
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- bl sub_806A538
- lsls r0, 24
- cmp r0, 0
- beq _08048AF6
-_08048AF4:
- movs r6, 0
-_08048AF6:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08048B06
- movs r6, 0
-_08048B06:
- adds r0, r5, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08048B12
- movs r6, 0
-_08048B12:
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08048B20
- cmp r0, 0x47
- bne _08048B34
-_08048B20:
- movs r0, 0x1
- b _08048B36
- .align 2, 0
-_08048B24: .4byte gUnknown_203B418
-_08048B28: .4byte 0x0001357c
-_08048B2C: .4byte gUnknown_203B45C
-_08048B30: .4byte 0x00008df8
-_08048B34:
- movs r0, 0
-_08048B36:
- cmp r0, 0
- beq _08048B3C
- movs r6, 0
-_08048B3C:
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _08048B44
- movs r6, 0
-_08048B44:
- ldr r2, _08048B84
- adds r0, r5, r2
- strb r6, [r0]
-_08048B4A:
- adds r7, 0x1
- cmp r7, 0x3
- ble _08048AB2
- movs r0, 0
- movs r1, 0x1
- bl sub_8062978
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08048B8C
- mov r0, r9
- mov r1, r8
- bl sub_804245C
- ldr r0, _08048B88
- ldr r0, [r0]
- adds r0, 0xBC
- str r4, [r0]
- movs r2, 0xA1
- lsls r2, 1
- mov r0, r9
- movs r1, 0
- bl sub_8044E24
- movs r0, 0x1
- b _08048B8E
- .align 2, 0
-_08048B84: .4byte 0x00000157
-_08048B88: .4byte gUnknown_203B418
-_08048B8C:
- movs r0, 0
-_08048B8E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8048A68
-
- thumb_func_start sub_8048B9C
-sub_8048B9C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x20
- mov r9, r0
- movs r0, 0
- mov r8, r0
- mov r2, r9
- ldr r0, [r2, 0x70]
- adds r6, r0, 0
- adds r6, 0x44
- ldrb r1, [r1]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08048BD4
- ldr r0, _08048BD0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0
- b _08048D40
- .align 2, 0
-_08048BD0: .4byte gUnknown_80FE3E8
-_08048BD4:
- movs r2, 0
-_08048BD6:
- ldr r0, _08048C28
- ldr r0, [r0]
- lsls r1, r2, 2
- ldr r3, _08048C2C
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- str r2, [sp, 0x1C]
- bl sub_80450E0
- lsls r0, 24
- ldr r2, [sp, 0x1C]
- cmp r0, 0
- beq _08048C3E
- ldr r5, [r4, 0x70]
- movs r7, 0x1
- adds r0, r4, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- ldr r2, [sp, 0x1C]
- cmp r0, 0
- beq _08048C0A
- movs r7, 0
-_08048C0A:
- adds r0, r5, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08048C16
- movs r7, 0
-_08048C16:
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08048C24
- cmp r0, 0x47
- bne _08048C30
-_08048C24:
- movs r0, 0x1
- b _08048C32
- .align 2, 0
-_08048C28: .4byte gUnknown_203B418
-_08048C2C: .4byte 0x0001357c
-_08048C30:
- movs r0, 0
-_08048C32:
- cmp r0, 0
- beq _08048C38
- movs r7, 0
-_08048C38:
- ldr r4, _08048C5C
- adds r0, r5, r4
- strb r7, [r0]
-_08048C3E:
- adds r2, 0x1
- cmp r2, 0x3
- ble _08048BD6
- movs r0, 0
- movs r1, 0x1
- bl sub_8062978
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08048C60
- movs r0, 0
- b _08048D40
- .align 2, 0
-_08048C5C: .4byte 0x00000157
-_08048C60:
- add r1, sp, 0x4
- adds r0, r6, 0
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- b _08048CE2
-_08048C6E:
- ldrh r0, [r6]
- cmp r0, 0x1D
- bne _08048C7C
- adds r0, r6, 0
- bl sub_80637E8
- b _08048CE2
-_08048C7C:
- cmp r0, 0x20
- bne _08048C9A
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- adds r0, r6, 0
- bl sub_8063BB4
- movs r0, 0x1
- bl sub_8044C10
- movs r5, 0x1
- mov r8, r5
- b _08048CE2
-_08048C9A:
- cmp r0, 0x21
- bne _08048CB6
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- adds r0, r6, 0
- movs r1, 0
- bl sub_8063CF0
- movs r0, 0x1
- bl sub_8044C10
- b _08048CE2
-_08048CB6:
- cmp r0, 0x1E
- beq _08048CBE
- cmp r0, 0x33
- bne _08048CD0
-_08048CBE:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- adds r0, r6, 0
- movs r1, 0
- bl sub_8063A70
- b _08048CE2
-_08048CD0:
- cmp r0, 0x1F
- bne _08048CE2
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- adds r0, r6, 0
- bl sub_8063B54
-_08048CE2:
- adds r0, r6, 0
- bl sub_8044C88
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0
- bl sub_8062F90
- lsls r0, 24
- cmp r0, 0
- beq _08048C6E
- mov r0, r8
- cmp r0, 0
- beq _08048D38
- ldr r0, _08048D34
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08048C6E
- adds r1, r6, 0
- add r0, sp, 0x4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, r9
- movs r1, 0
- movs r2, 0x6E
- bl sub_8044DF0
- adds r0, r6, 0
- movs r1, 0x2C
- bl sub_8044C94
- b _08048D3E
- .align 2, 0
-_08048D34: .4byte gUnknown_80FECA0
-_08048D38:
- movs r0, 0x1
- bl sub_8044C10
-_08048D3E:
- mov r0, r8
-_08048D40:
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8048B9C
-
- thumb_func_start sub_8048D50
-sub_8048D50:
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r1, 0
- ldr r3, [r4, 0x70]
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08048D78
- ldr r0, _08048D70
- adds r1, r2, 0
- bl sub_8045BF8
- ldr r0, _08048D74
- b _08048D9A
- .align 2, 0
-_08048D70: .4byte gUnknown_202DE58
-_08048D74: .4byte gUnknown_80FE3E8
-_08048D78:
- adds r0, r3, 0
- adds r0, 0xEC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08048DB0
- ldrb r0, [r2, 0x2]
- bl sub_8091570
- lsls r0, 24
- cmp r0, 0
- beq _08048DB0
- ldr r0, _08048DA8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08048DAC
-_08048D9A:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- movs r0, 0
- b _08048DB2
- .align 2, 0
-_08048DA8: .4byte gUnknown_202DF98
-_08048DAC: .4byte gUnknown_80FDCA4
-_08048DB0:
- movs r0, 0x1
-_08048DB2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8048D50
-
- thumb_func_start sub_8048DB8
-sub_8048DB8:
- push {r4,lr}
- sub sp, 0x1C
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- cmp r2, 0
- beq _08048DF4
- ldr r0, _08048DEC
- movs r1, 0
- ldrsh r2, [r0, r1]
- add r0, sp, 0x18
- str r0, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, _08048DF0
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_806F370
- b _08048DFA
- .align 2, 0
-_08048DEC: .4byte gUnknown_80F4FAC
-_08048DF0: .4byte 0x00000217
-_08048DF4:
- adds r0, r3, 0
- bl sub_8051E7C
-_08048DFA:
- add sp, 0x1C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8048DB8
-
- thumb_func_start sub_8048E04
-sub_8048E04:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0x1E
- movs r3, 0
- bl sub_8078B5C
- movs r0, 0x5
- bl sub_8084100
- cmp r0, 0x4
- bhi _08048E9E
- lsls r0, 2
- ldr r1, _08048E30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08048E30: .4byte _08048E34
- .align 2, 0
-_08048E34:
- .4byte _08048E48
- .4byte _08048E54
- .4byte _08048E5E
- .4byte _08048E6C
- .4byte _08048E78
-_08048E48:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_80763F8
- b _08048E9E
-_08048E54:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80769CC
- b _08048E9E
-_08048E5E:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8076210
- b _08048E9E
-_08048E6C:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_8077780
- b _08048E9E
-_08048E78:
- ldr r0, _08048EA8
- ldr r2, [r0]
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x3
- bl sub_8076E20
- ldr r0, _08048EAC
- ldr r2, [r0]
- str r4, [sp]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x3
- bl sub_8076E20
-_08048E9E:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08048EA8: .4byte gUnknown_8106A4C
-_08048EAC: .4byte gUnknown_8106A50
- thumb_func_end sub_8048E04
-
- thumb_func_start sub_8048EB0
-sub_8048EB0:
- push {lr}
- ldr r1, _08048EC0
- ldr r1, [r1]
- bl sub_80522A8
- pop {r0}
- bx r0
- .align 2, 0
-_08048EC0: .4byte gUnknown_81003E0
- thumb_func_end sub_8048EB0
-
- thumb_func_start sub_8048EC4
-sub_8048EC4:
- push {lr}
- ldr r1, _08048ED4
- ldr r1, [r1]
- bl sub_80522A8
- pop {r0}
- bx r0
- .align 2, 0
-_08048ED4: .4byte gUnknown_8100404
- thumb_func_end sub_8048EC4
-
- thumb_func_start sub_8048ED8
-sub_8048ED8:
- push {lr}
- ldr r1, _08048EE8
- ldr r1, [r1]
- bl sub_80522A8
- pop {r0}
- bx r0
- .align 2, 0
-_08048EE8: .4byte gUnknown_8100428
- thumb_func_end sub_8048ED8
-
- thumb_func_start sub_8048EEC
-sub_8048EEC:
- push {lr}
- ldr r1, _08048EFC
- ldr r1, [r1]
- bl sub_80522A8
- pop {r0}
- bx r0
- .align 2, 0
-_08048EFC: .4byte gUnknown_810044C
- thumb_func_end sub_8048EEC
-
- thumb_func_start sub_8048F00
-sub_8048F00:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xD6
- bl sub_80421C0
- ldr r0, _08048F24
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08048F24: .4byte gUnknown_8100494
- thumb_func_end sub_8048F00
-
- thumb_func_start sub_8048F28
-sub_8048F28:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r3, [r4, 0x70]
- movs r6, 0
- movs r0, 0x1
- adds r5, r2, 0
- ands r5, r0
- lsrs r2, 1
- movs r0, 0x1
- ands r2, r0
- ldrb r0, [r1, 0x2]
- subs r0, 0x1
- cmp r0, 0xCC
- bls _08048F48
- b _080494E0
-_08048F48:
- lsls r0, 2
- ldr r1, _08048F54
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08048F54: .4byte _08048F58
- .align 2, 0
-_08048F58:
- .4byte _0804928C
- .4byte _0804928C
- .4byte _0804928C
- .4byte _0804928C
- .4byte _0804928C
- .4byte _0804928C
- .4byte _0804928C
- .4byte _0804928C
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _08049408
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _08049296
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080492B0
- .4byte _080492B0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _08049320
- .4byte _080494E0
- .4byte _080492B8
- .4byte _080492B8
- .4byte _0804935E
- .4byte _080494E0
- .4byte _080493E0
- .4byte _0804948E
- .4byte _08049394
- .4byte _08049344
- .4byte _0804946E
- .4byte _0804947A
- .4byte _08049378
- .4byte _080493CE
- .4byte _080493AC
- .4byte _080493B8
- .4byte _08049436
- .4byte _080494E0
- .4byte _080493F6
- .4byte _080494B2
- .4byte _0804946A
- .4byte _08049462
- .4byte _08049454
- .4byte _08049498
- .4byte _080492DC
- .4byte _0804932C
- .4byte _08049338
- .4byte _0804933C
- .4byte _08049340
- .4byte _080494C2
- .4byte _080494C2
- .4byte _080494D6
- .4byte _080494C2
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494E0
- .4byte _080494DA
-_0804928C:
- cmp r5, 0
- bne _08049292
- b _080494E2
-_08049292:
- movs r6, 0x46
- b _080494E2
-_08049296:
- cmp r5, 0
- bne _0804929C
- b _080494E0
-_0804929C:
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- ble _080492AE
- b _0804948A
-_080492AE:
- b _080494E0
-_080492B0:
- cmp r5, 0
- beq _080492B6
- b _0804948A
-_080492B6:
- b _080494E0
-_080492B8:
- movs r2, 0xE
- ldrsh r1, [r3, r2]
- movs r2, 0x10
- ldrsh r0, [r3, r2]
- cmp r1, r0
- blt _080492C6
- b _080494E2
-_080492C6:
- cmp r0, 0
- bge _080492CC
- adds r0, 0x3
-_080492CC:
- asrs r0, 2
- cmp r1, r0
- ble _080492D4
- b _080494E2
-_080492D4:
- cmp r5, 0
- bne _080492DA
- b _08049420
-_080492DA:
- b _08049432
-_080492DC:
- movs r6, 0
- movs r0, 0x8C
- lsls r0, 1
- adds r5, r3, r0
- adds r7, r5, 0
- movs r2, 0x3
-_080492E8:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804930C
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- bne _080492FA
- adds r6, 0x1E
-_080492FA:
- ldrb r4, [r5, 0x4]
- adds r0, r7, 0
- str r2, [sp]
- bl sub_8092BF4
- ldr r2, [sp]
- cmp r4, r0
- beq _0804930C
- adds r6, 0x6
-_0804930C:
- adds r5, 0x8
- adds r7, 0x8
- subs r2, 0x1
- cmp r2, 0
- bge _080492E8
- cmp r6, 0x62
- bgt _0804931C
- b _080494E2
-_0804931C:
- movs r6, 0x63
- b _080494E2
-_08049320:
- adds r0, r4, 0
- bl sub_8070A58
- lsls r0, 24
- movs r6, 0
- b _080494BC
-_0804932C:
- ldrb r0, [r3, 0x14]
-_0804932E:
- movs r6, 0x64
- cmp r0, 0xF9
- bhi _08049336
- b _080494E2
-_08049336:
- b _080494E0
-_08049338:
- ldrb r0, [r3, 0x15]
- b _0804932E
-_0804933C:
- ldrb r0, [r3, 0x16]
- b _0804932E
-_08049340:
- ldrb r0, [r3, 0x17]
- b _0804932E
-_08049344:
- cmp r5, 0
- beq _0804934A
- b _080494E0
-_0804934A:
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x64
- cmp r0, 0
- bne _0804935A
- b _080494E2
-_0804935A:
- movs r6, 0xA
- b _080494E2
-_0804935E:
- adds r0, r4, 0
- bl sub_8071884
- lsls r0, 24
- cmp r0, 0
- beq _0804936C
- b _080494A2
-_0804936C:
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x5
- b _080494BC
-_08049378:
- ldr r0, [r4, 0x70]
- movs r1, 0x82
- lsls r1, 1
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x3
- ble _08049388
- b _080494A2
-_08049388:
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x5
- b _080494BC
-_08049394:
- adds r0, r3, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080493A0
- b _080494A2
-_080493A0:
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x5
- b _080494BC
-_080493AC:
- adds r0, r3, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080494A2
- b _080494B2
-_080493B8:
- adds r0, r3, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080494A2
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0xF
- b _080494BC
-_080493CE:
- adds r0, r3, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080494A2
- b _08049420
-_080493E0:
- adds r0, r3, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080494A2
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x5
- b _080494BC
-_080493F6:
- cmp r2, 0
- bne _0804940C
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x5
- cmp r0, 0
- beq _080494E2
-_08049408:
- movs r6, 0x28
- b _080494E2
-_0804940C:
- movs r2, 0xE
- ldrsh r1, [r3, r2]
- movs r2, 0x10
- ldrsh r0, [r3, r2]
- cmp r1, r0
- bge _080494E2
- cmp r1, 0x13
- bgt _080494E2
- cmp r5, 0
- bne _08049432
-_08049420:
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x32
- cmp r0, 0
- beq _080494E2
- movs r6, 0x64
- b _080494E2
-_08049432:
- movs r6, 0x32
- b _080494E2
-_08049436:
- adds r0, r3, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080494A2
- cmp r0, 0x5
- beq _080494A2
- cmp r0, 0x3
- beq _080494A2
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x5
- b _080494BC
-_08049454:
- adds r0, r3, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080494A2
- movs r6, 0x5
- b _080494E2
-_08049462:
- ldrb r0, [r3, 0x9]
- movs r6, 0
- cmp r0, 0x62
- bhi _080494E2
-_0804946A:
- movs r6, 0x50
- b _080494E2
-_0804946E:
- adds r0, r3, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0804948A
- b _080494E0
-_0804947A:
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- ble _080494E0
-_0804948A:
- movs r0, 0x32
- b _080494E4
-_0804948E:
- ldrb r0, [r3, 0x9]
- movs r6, 0
- cmp r0, 0x1
- bls _080494E2
- b _0804946A
-_08049498:
- adds r0, r3, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _080494A6
-_080494A2:
- movs r0, 0
- b _080494E4
-_080494A6:
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x5
- b _080494BC
-_080494B2:
- adds r0, r4, 0
- bl sub_80494EC
- lsls r0, 24
- movs r6, 0x1E
-_080494BC:
- cmp r0, 0
- beq _080494E2
- b _0804946A
-_080494C2:
- movs r2, 0x9E
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0x9
- bgt _080494E0
- movs r0, 0x64
- b _080494E4
-_080494D6:
- movs r6, 0x1E
- b _080494E2
-_080494DA:
- movs r6, 0x14
- cmp r5, 0
- beq _080494E2
-_080494E0:
- movs r6, 0
-_080494E2:
- adds r0, r6, 0
-_080494E4:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8048F28
-
- thumb_func_start sub_80494EC
-sub_80494EC:
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r6, 0
-_080494F2:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- ldr r1, _08049538
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r4, [r0, 0x10]
- cmp r4, 0
- beq _0804953C
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0
- beq _0804953C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0804953C
- movs r0, 0x1
- b _08049544
- .align 2, 0
-_08049538: .4byte gUnknown_80F4448
-_0804953C:
- adds r6, 0x1
- cmp r6, 0x7
- ble _080494F2
- movs r0, 0
-_08049544:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80494EC
-
- thumb_func_start sub_804954C
-sub_804954C:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- cmp r2, 0
- blt _08049584
- cmp r3, 0
- blt _08049584
- cmp r2, 0x37
- bgt _08049584
- cmp r3, 0x1F
- bgt _08049584
- ldr r0, _0804957C
- ldr r1, [r0]
- lsls r2, 2
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 5
- adds r2, r0
- ldr r0, _08049580
- adds r1, r0
- adds r1, r2
- ldr r0, [r1]
- b _08049588
- .align 2, 0
-_0804957C: .4byte gUnknown_203B418
-_08049580: .4byte 0x0000e8c0
-_08049584:
- ldr r0, _0804958C
- ldr r0, [r0]
-_08049588:
- pop {r1}
- bx r1
- .align 2, 0
-_0804958C: .4byte gUnknown_203B430
- thumb_func_end sub_804954C
-
- thumb_func_start sub_8049590
-sub_8049590:
- push {r4,r5,lr}
- adds r2, r0, 0
- adds r3, r1, 0
- cmp r2, 0
- blt _080495A6
- cmp r3, 0
- blt _080495A6
- cmp r2, 0x37
- bgt _080495A6
- cmp r3, 0x1F
- ble _080495C0
-_080495A6:
- ldr r0, _080495B8
- ldr r1, _080495BC
- adds r2, r0, 0
- ldr r1, [r1]
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- b _080495D6
- .align 2, 0
-_080495B8: .4byte gUnknown_202F190
-_080495BC: .4byte gUnknown_203B430
-_080495C0:
- ldr r0, _080495DC
- ldr r1, [r0]
- lsls r2, 2
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 5
- adds r2, r0
- ldr r0, _080495E0
- adds r1, r0
- adds r1, r2
- ldr r0, [r1]
-_080495D6:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080495DC: .4byte gUnknown_203B418
-_080495E0: .4byte 0x0000e8c0
- thumb_func_end sub_8049590
-
- thumb_func_start sub_80495E4
-sub_80495E4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r2, 0
- ldr r0, _08049658
- mov r9, r0
- mov r12, r9
- ldr r7, _0804965C
- ldr r1, _08049660
- mov r8, r1
-_080495FA:
- lsls r1, r2, 3
- lsls r0, r2, 2
- adds r6, r2, 0x1
- subs r1, r2
- adds r0, r2
- lsls r0, 2
- adds r0, r2
- lsls r0, 6
- movs r4, 0
- lsls r2, r1, 5
- mov r3, r8
- adds r5, r0, r3
- movs r3, 0x37
-_08049614:
- mov r1, r12
- ldr r0, [r1]
- adds r1, r0, r7
- adds r1, r2
- adds r0, r5
- adds r0, r4
- str r0, [r1]
- adds r4, 0x18
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _08049614
- adds r2, r6, 0
- cmp r2, 0x1F
- ble _080495FA
- movs r2, 0
- mov r3, r9
- ldr r1, [r3]
- ldr r4, _08049664
- adds r0, r1, r4
- movs r3, 0
- strh r2, [r0]
- adds r4, 0x2
- adds r0, r1, r4
- strh r2, [r0]
- ldr r0, _08049668
- adds r1, r0
- strb r3, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049658: .4byte gUnknown_203B418
-_0804965C: .4byte 0x0000e8c0
-_08049660: .4byte 0x00003a18
-_08049664: .4byte 0x00003a0e
-_08049668: .4byte 0x00013570
- thumb_func_end sub_80495E4
-
- thumb_func_start sub_804966C
-sub_804966C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r1, _08049734
- ldr r0, _08049738
- mov r8, r0
- ldr r6, _0804973C
- ldr r0, [r6]
- ldr r5, _08049740
- adds r0, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- add r0, r8
- ldrb r2, [r0]
- mov r0, sp
- bl sprintf
- ldr r7, _08049744
- mov r0, sp
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, _08049748
- movs r1, 0
- adds r2, r4, 0
- bl sub_800AE28
- adds r0, r4, 0
- bl CloseFile
- ldr r1, _0804974C
- ldr r0, [r6]
- adds r0, r5
- movs r3, 0
- ldrsh r2, [r0, r3]
- mov r0, sp
- bl sprintf
- mov r0, sp
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- ldr r1, _08049750
- str r0, [r1]
- ldr r1, _08049754
- ldr r0, [r6]
- adds r0, r5
- movs r4, 0
- ldrsh r0, [r0, r4]
- add r0, r8
- ldrb r2, [r0]
- mov r0, sp
- bl sprintf
- mov r0, sp
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, [r6]
- ldr r1, _08049758
- adds r0, r1
- ldr r1, _0804975C
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
- ldr r0, [r6]
- adds r2, r0, r5
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0x3F
- bgt _08049768
- ldr r1, _08049760
- add r0, r8
- ldrb r2, [r0]
- mov r0, sp
- bl sprintf
- mov r0, sp
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, [r6]
- ldr r1, _08049764
- adds r0, r1
- movs r1, 0x93
- lsls r1, 4
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
- b _08049794
- .align 2, 0
-_08049734: .4byte gUnknown_80F6A04
-_08049738: .4byte gUnknown_8108EC0
-_0804973C: .4byte gUnknown_203B418
-_08049740: .4byte 0x00003a0e
-_08049744: .4byte gUnknown_83B0000
-_08049748: .4byte 0x06008000
-_0804974C: .4byte gUnknown_80F6A10
-_08049750: .4byte gUnknown_202EE88
-_08049754: .4byte gUnknown_80F6A1C
-_08049758: .4byte 0x00011884
-_0804975C: .4byte 0x00001194
-_08049760: .4byte gUnknown_80F6A28
-_08049764: .4byte 0x00012c24
-_08049768:
- ldr r1, _080497E8
- movs r3, 0
- ldrsh r2, [r2, r3]
- mov r0, sp
- bl sprintf
- mov r0, sp
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, [r6]
- ldr r1, _080497EC
- adds r0, r1
- movs r1, 0x90
- lsls r1, 2
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
-_08049794:
- ldr r1, _080497F0
- ldr r5, _080497F4
- ldr r0, [r5]
- ldr r4, _080497F8
- adds r0, r4
- movs r3, 0
- ldrsh r2, [r0, r3]
- mov r0, sp
- bl sprintf
- ldr r1, _080497FC
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- adds r1, r0, 0
- ldr r0, _08049800
- str r1, [r0]
- ldr r0, _08049804
- movs r2, 0x20
- bl sub_8004AA4
- ldr r2, _08049808
- movs r6, 0
- strb r6, [r2]
- movs r3, 0x1
- strb r3, [r2, 0x1]
- movs r0, 0x2
- strb r0, [r2, 0x2]
- movs r0, 0x3
- strb r0, [r2, 0x3]
- ldr r1, _0804980C
- ldr r0, [r5]
- adds r0, r4
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08049810
- strb r3, [r2, 0x4]
- strb r6, [r2, 0x5]
- b _08049814
- .align 2, 0
-_080497E8: .4byte gUnknown_80F6A34
-_080497EC: .4byte 0x00012c24
-_080497F0: .4byte gUnknown_80F6A40
-_080497F4: .4byte gUnknown_203B418
-_080497F8: .4byte 0x00003a0e
-_080497FC: .4byte gUnknown_83B0000
-_08049800: .4byte gUnknown_202F18C
-_08049804: .4byte gUnknown_202EE8C
-_08049808: .4byte gUnknown_202F314
-_0804980C: .4byte gUnknown_810ACC0
-_08049810:
- strb r6, [r2, 0x4]
- strb r3, [r2, 0x5]
-_08049814:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804966C
-
- thumb_func_start sub_8049820
-sub_8049820:
- push {lr}
- ldr r0, _08049838
- ldr r0, [r0]
- bl CloseFile
- ldr r0, _0804983C
- ldr r0, [r0]
- bl CloseFile
- pop {r0}
- bx r0
- .align 2, 0
-_08049838: .4byte gUnknown_202F18C
-_0804983C: .4byte gUnknown_202EE88
- thumb_func_end sub_8049820
-
- thumb_func_start sub_8049840
-sub_8049840:
- push {lr}
- ldr r0, _08049860
- ldr r0, [r0]
- ldr r1, _08049864
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_8043CE4
- lsls r0, 24
- cmp r0, 0
- beq _08049870
- ldr r1, _08049868
- ldr r0, _0804986C
- b _08049874
- .align 2, 0
-_08049860: .4byte gUnknown_203B418
-_08049864: .4byte 0x00003a0e
-_08049868: .4byte gUnknown_203B430
-_0804986C: .4byte gUnknown_80F69EC
-_08049870:
- ldr r1, _0804987C
- ldr r0, _08049880
-_08049874:
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0804987C: .4byte gUnknown_203B430
-_08049880: .4byte gUnknown_80F69D4
- thumb_func_end sub_8049840
-
- thumb_func_start sub_8049884
-sub_8049884:
- push {r4-r6,lr}
- movs r5, 0
-_08049888:
- movs r4, 0
- adds r6, r5, 0x1
-_0804988C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80498A8
- adds r4, 0x1
- cmp r4, 0x37
- ble _0804988C
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _08049888
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8049884
-
- thumb_func_start sub_80498A8
-sub_80498A8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- mov r10, r0
- mov r9, r1
- cmp r0, 0
- bge _080498BE
- b _08049B72
-_080498BE:
- cmp r1, 0
- bge _080498C4
- b _08049B72
-_080498C4:
- cmp r0, 0x37
- ble _080498CA
- b _08049B72
-_080498CA:
- cmp r1, 0x1F
- ble _080498D0
- b _08049B72
-_080498D0:
- movs r7, 0
- bl sub_804954C
- ldrh r0, [r0]
- movs r1, 0x3
- mov r8, r1
- mov r6, r8
- ands r6, r0
- str r6, [sp, 0x20]
- ldr r4, _08049914
- ldr r0, [r4]
- ldr r3, _08049918
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x3F
- ble _08049928
- mov r3, r10
- cmp r3, 0x17
- bgt _0804991C
- mov r0, r9
- cmp r0, 0x17
- bgt _0804991C
- mov r0, r10
- mov r1, r9
- bl sub_8049590
- ldr r2, [r4]
- mov r3, r9
- lsls r1, r3, 1
- add r1, r9
- lsls r1, 3
- add r1, r10
- b _08049B68
- .align 2, 0
-_08049914: .4byte gUnknown_203B418
-_08049918: .4byte 0x00003a0e
-_0804991C:
- mov r0, r10
- mov r1, r9
- bl sub_8049590
- movs r1, 0
- b _08049B70
-_08049928:
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x24]
- mov r0, r10
- ldr r1, [sp, 0x24]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- str r0, [sp]
- mov r4, r10
- adds r4, 0x1
- adds r0, r4, 0
- ldr r1, [sp, 0x24]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, r9
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- str r0, [sp, 0x8]
- mov r5, r9
- subs r5, 0x1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- str r0, [sp, 0xC]
- mov r0, r10
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- str r0, [sp, 0x10]
- subs r4, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- str r0, [sp, 0x14]
- adds r0, r4, 0
- mov r1, r9
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- str r0, [sp, 0x18]
- adds r0, r4, 0
- ldr r1, [sp, 0x24]
- bl sub_804954C
- ldrh r0, [r0]
- mov r1, r8
- ands r1, r0
- str r1, [sp, 0x1C]
- cmp r6, 0x1
- bne _08049A1E
- movs r7, 0xFF
- ldr r0, [sp]
- cmp r0, 0
- bne _080499C6
- movs r7, 0xFE
-_080499C6:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _080499D2
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_080499D2:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _080499DE
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_080499DE:
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _080499EA
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_080499EA:
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _080499F6
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_080499F6:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _08049A02
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_08049A02:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _08049A0E
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_08049A0E:
- cmp r1, 0
- bne _08049A18
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_08049A18:
- movs r0, 0x80
- lsls r0, 2
- b _08049B3A
-_08049A1E:
- cmp r6, 0x2
- bne _08049A84
- movs r7, 0xFF
- ldr r0, [sp]
- cmp r0, 0x2
- beq _08049A2C
- movs r7, 0xFE
-_08049A2C:
- ldr r0, [sp, 0x4]
- cmp r0, 0x2
- beq _08049A38
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_08049A38:
- ldr r0, [sp, 0x8]
- cmp r0, 0x2
- beq _08049A44
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_08049A44:
- ldr r0, [sp, 0xC]
- cmp r0, 0x2
- beq _08049A50
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_08049A50:
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- beq _08049A5C
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_08049A5C:
- ldr r0, [sp, 0x14]
- cmp r0, 0x2
- beq _08049A68
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_08049A68:
- ldr r0, [sp, 0x18]
- cmp r0, 0x2
- beq _08049A74
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_08049A74:
- cmp r1, 0x2
- beq _08049A7E
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_08049A7E:
- movs r0, 0x80
- lsls r0, 1
- b _08049B3A
-_08049A84:
- ldr r1, [sp, 0x20]
- cmp r1, 0x3
- bne _08049AEE
- movs r7, 0xFF
- ldr r0, [sp]
- cmp r0, 0x3
- beq _08049A94
- movs r7, 0xFE
-_08049A94:
- ldr r0, [sp, 0x4]
- cmp r0, 0x3
- beq _08049AA0
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_08049AA0:
- ldr r0, [sp, 0x8]
- cmp r0, 0x3
- beq _08049AAC
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_08049AAC:
- ldr r0, [sp, 0xC]
- cmp r0, 0x3
- beq _08049AB8
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_08049AB8:
- ldr r0, [sp, 0x10]
- cmp r0, 0x3
- beq _08049AC4
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_08049AC4:
- ldr r0, [sp, 0x14]
- cmp r0, 0x3
- beq _08049AD0
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_08049AD0:
- ldr r0, [sp, 0x18]
- cmp r0, 0x3
- beq _08049ADC
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_08049ADC:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x3
- beq _08049AE8
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_08049AE8:
- movs r0, 0x80
- lsls r0, 1
- b _08049B3A
-_08049AEE:
- ldr r0, [sp]
- cmp r0, 0
- bne _08049AF6
- movs r7, 0x1
-_08049AF6:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _08049B00
- movs r0, 0x2
- orrs r7, r0
-_08049B00:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _08049B0A
- movs r0, 0x4
- orrs r7, r0
-_08049B0A:
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _08049B14
- movs r0, 0x8
- orrs r7, r0
-_08049B14:
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _08049B1E
- movs r0, 0x10
- orrs r7, r0
-_08049B1E:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _08049B28
- movs r0, 0x20
- orrs r7, r0
-_08049B28:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _08049B32
- movs r0, 0x40
- orrs r7, r0
-_08049B32:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _08049B3C
- movs r0, 0x80
-_08049B3A:
- orrs r7, r0
-_08049B3C:
- movs r0, 0x4
- bl RandomCapped
- adds r4, r0, 0
- cmp r4, 0x3
- bne _08049B4A
- movs r4, 0
-_08049B4A:
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _08049B56
- movs r4, 0
-_08049B56:
- mov r0, r10
- mov r1, r9
- bl sub_8049590
- ldr r1, _08049B84
- ldr r2, [r1]
- lsls r1, r7, 1
- adds r1, r7
- adds r1, r4, r1
-_08049B68:
- ldr r3, _08049B88
- adds r2, r3
- adds r2, r1
- ldrb r1, [r2]
-_08049B70:
- strb r1, [r0, 0x8]
-_08049B72:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08049B84: .4byte gUnknown_203B418
-_08049B88: .4byte 0x00012c24
- thumb_func_end sub_80498A8
-
- thumb_func_start sub_8049B8C
-sub_8049B8C:
- push {r4-r6,lr}
- movs r5, 0
-_08049B90:
- movs r4, 0
- adds r6, r5, 0x1
-_08049B94:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049BB0
- adds r4, 0x1
- cmp r4, 0x37
- ble _08049B94
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _08049B90
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8049B8C
-
- thumb_func_start sub_8049BB0
-sub_8049BB0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- mov r10, r0
- str r1, [sp, 0x40]
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r1, 0
- adds r0, 0x1
- mov r9, r0
- mov r0, r10
- mov r1, r9
- bl sub_804954C
- ldrh r1, [r0]
- movs r4, 0x3
- adds r0, r4, 0
- ands r0, r1
- add r6, sp, 0x18
- str r0, [sp, 0x18]
- mov r5, r10
- adds r5, 0x1
- adds r0, r5, 0
- mov r1, r9
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- str r0, [r6, 0x4]
- adds r0, r5, 0
- ldr r1, [sp, 0x40]
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- str r0, [r6, 0x8]
- ldr r0, [sp, 0x40]
- subs r0, 0x1
- mov r8, r0
- adds r0, r5, 0
- mov r1, r8
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- str r0, [r6, 0xC]
- mov r0, r10
- mov r1, r8
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- str r0, [r6, 0x10]
- subs r5, 0x2
- adds r0, r5, 0
- mov r1, r8
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- str r0, [r6, 0x14]
- adds r0, r5, 0
- ldr r1, [sp, 0x40]
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- str r0, [r6, 0x18]
- adds r0, r5, 0
- mov r1, r9
- bl sub_804954C
- ldrh r0, [r0]
- ands r4, r0
- str r4, [r6, 0x1C]
- ldr r1, [sp, 0x18]
- cmp r1, 0x1
- bne _08049C6A
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
-_08049C6A:
- ldr r0, [r6, 0x8]
- cmp r0, 0x1
- bne _08049C78
- ldr r0, [sp]
- movs r1, 0x4
- orrs r0, r1
- str r0, [sp]
-_08049C78:
- ldr r0, [r6, 0x10]
- cmp r0, 0x1
- bne _08049C86
- ldr r0, [sp]
- movs r1, 0x10
- orrs r0, r1
- str r0, [sp]
-_08049C86:
- ldr r0, [r6, 0x18]
- cmp r0, 0x1
- bne _08049C94
- ldr r0, [sp]
- movs r1, 0x40
- orrs r0, r1
- str r0, [sp]
-_08049C94:
- ldr r2, [sp, 0x18]
- cmp r2, 0
- beq _08049CAE
- ldr r0, [r6, 0x4]
- cmp r0, 0x1
- bne _08049CAE
- ldr r0, [r6, 0x8]
- cmp r0, 0
- beq _08049CC8
- ldr r0, [sp]
- movs r1, 0x2
- orrs r0, r1
- str r0, [sp]
-_08049CAE:
- ldr r0, [r6, 0x8]
- cmp r0, 0
- beq _08049CC8
- ldr r0, [r6, 0xC]
- cmp r0, 0x1
- bne _08049CC8
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08049CE2
- ldr r0, [sp]
- movs r1, 0x8
- orrs r0, r1
- str r0, [sp]
-_08049CC8:
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08049CE2
- ldr r0, [r6, 0x14]
- cmp r0, 0x1
- bne _08049CE2
- ldr r0, [r6, 0x18]
- cmp r0, 0
- beq _08049CFA
- ldr r0, [sp]
- movs r1, 0x20
- orrs r0, r1
- str r0, [sp]
-_08049CE2:
- ldr r0, [r6, 0x18]
- cmp r0, 0
- beq _08049CFA
- ldr r0, [r6, 0x1C]
- cmp r0, 0x1
- bne _08049CFA
- cmp r2, 0
- beq _08049CFA
- ldr r0, [sp]
- movs r1, 0x80
- orrs r0, r1
- str r0, [sp]
-_08049CFA:
- add r4, sp, 0x38
- movs r7, 0x1
- adds r2, r4, 0
- adds r1, r6, 0
- movs r5, 0
- movs r3, 0x7
-_08049D06:
- ldr r0, [r1]
- subs r0, 0x1
- cmp r0, 0x1
- bhi _08049D12
- strb r7, [r2]
- b _08049D14
-_08049D12:
- strb r5, [r2]
-_08049D14:
- adds r2, 0x1
- adds r1, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _08049D06
- ldrb r0, [r4]
- cmp r0, 0
- beq _08049D2C
- ldr r0, [sp, 0x4]
- movs r1, 0x1
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049D2C:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _08049D3A
- ldr r0, [sp, 0x4]
- movs r1, 0x4
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049D3A:
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08049D48
- ldr r0, [sp, 0x4]
- movs r1, 0x10
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049D48:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- beq _08049D56
- ldr r0, [sp, 0x4]
- movs r1, 0x40
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049D56:
- ldr r2, [sp, 0x18]
- cmp r2, 0
- beq _08049D70
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08049D70
- ldr r0, [r6, 0x8]
- cmp r0, 0
- beq _08049D8A
- ldr r0, [sp, 0x4]
- movs r1, 0x2
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049D70:
- ldr r0, [r6, 0x8]
- cmp r0, 0
- beq _08049D8A
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- beq _08049D8A
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08049DA4
- ldr r0, [sp, 0x4]
- movs r1, 0x8
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049D8A:
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08049DA4
- ldrb r0, [r4, 0x5]
- cmp r0, 0
- beq _08049DA4
- ldr r0, [r6, 0x18]
- cmp r0, 0
- beq _08049DBC
- ldr r0, [sp, 0x4]
- movs r1, 0x20
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049DA4:
- ldr r0, [r6, 0x18]
- cmp r0, 0
- beq _08049DBC
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _08049DBC
- cmp r2, 0
- beq _08049DC8
- ldr r0, [sp, 0x4]
- movs r1, 0x80
- orrs r0, r1
- str r0, [sp, 0x4]
-_08049DBC:
- cmp r2, 0
- beq _08049DC8
- ldr r0, [sp, 0x8]
- movs r1, 0x1
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049DC8:
- ldr r0, [r6, 0x8]
- cmp r0, 0
- beq _08049DD6
- ldr r0, [sp, 0x8]
- movs r1, 0x4
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049DD6:
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08049DE4
- ldr r0, [sp, 0x8]
- movs r1, 0x10
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049DE4:
- ldr r0, [r6, 0x18]
- cmp r0, 0
- beq _08049DF2
- ldr r0, [sp, 0x8]
- movs r1, 0x40
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049DF2:
- cmp r2, 0
- beq _08049E0A
- ldr r0, [r6, 0x4]
- cmp r0, 0
- beq _08049E0A
- ldr r0, [r6, 0x8]
- cmp r0, 0
- beq _08049E24
- ldr r0, [sp, 0x8]
- movs r1, 0x2
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049E0A:
- ldr r0, [r6, 0x8]
- cmp r0, 0
- beq _08049E24
- ldr r0, [r6, 0xC]
- cmp r0, 0
- beq _08049E24
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08049E3E
- ldr r0, [sp, 0x8]
- movs r1, 0x8
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049E24:
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08049E3E
- ldr r0, [r6, 0x14]
- cmp r0, 0
- beq _08049E3E
- ldr r0, [r6, 0x18]
- cmp r0, 0
- beq _08049E56
- ldr r0, [sp, 0x8]
- movs r1, 0x20
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049E3E:
- ldr r0, [r6, 0x18]
- cmp r0, 0
- beq _08049E56
- ldr r0, [r6, 0x1C]
- cmp r0, 0
- beq _08049E56
- cmp r2, 0
- beq _08049E56
- ldr r0, [sp, 0x8]
- movs r1, 0x80
- orrs r0, r1
- str r0, [sp, 0x8]
-_08049E56:
- movs r0, 0xFF
- str r0, [sp, 0xC]
- mov r0, r10
- cmp r0, 0x1
- bgt _08049E64
- movs r0, 0x1F
- str r0, [sp, 0xC]
-_08049E64:
- ldr r0, [sp, 0x40]
- cmp r0, 0x1
- bgt _08049E74
- ldr r0, [sp, 0xC]
- movs r1, 0x39
- negs r1, r1
- ands r0, r1
- str r0, [sp, 0xC]
-_08049E74:
- mov r0, r10
- cmp r0, 0x35
- ble _08049E84
- ldr r0, [sp, 0xC]
- movs r1, 0xF
- negs r1, r1
- ands r0, r1
- str r0, [sp, 0xC]
-_08049E84:
- ldr r0, [sp, 0x40]
- cmp r0, 0x1D
- ble _08049E94
- ldr r0, [sp, 0xC]
- movs r1, 0x84
- negs r1, r1
- ands r0, r1
- str r0, [sp, 0xC]
-_08049E94:
- mov r0, r10
- ldr r1, [sp, 0x40]
- bl sub_8049590
- ldr r1, [sp]
- strb r1, [r0, 0xA]
- mov r0, r10
- ldr r1, [sp, 0x40]
- bl sub_8049590
- ldr r1, [sp, 0x4]
- strb r1, [r0, 0xB]
- mov r0, r10
- ldr r1, [sp, 0x40]
- bl sub_8049590
- ldr r1, [sp, 0x8]
- strb r1, [r0, 0xC]
- mov r0, r10
- ldr r1, [sp, 0x40]
- bl sub_8049590
- ldr r1, [sp, 0xC]
- strb r1, [r0, 0xD]
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8049BB0
-
- thumb_func_start sub_8049ED4
-sub_8049ED4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- ldr r0, _08049F78
- ldr r6, [r0]
- ldr r1, _08049F7C
- adds r0, r6, r1
- ldrb r0, [r0]
- str r0, [sp]
- ldr r2, _08049F80
- adds r0, r6, r2
- ldrb r0, [r0]
- str r0, [sp, 0x4]
- ldr r4, _08049F84
- adds r0, r6, r4
- ldrh r0, [r0]
- lsls r0, 16
- asrs r3, r0, 19
- ldr r1, _08049F88
- adds r0, r3, 0
- adds r0, 0x1E
- lsls r0, 1
- adds r1, r0, r1
- movs r4, 0
- ldrsh r2, [r1, r4]
- mov r10, r2
- ldr r1, _08049F8C
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- str r1, [sp, 0x10]
- movs r4, 0
- str r4, [sp, 0x8]
-_08049F1C:
- ldr r1, _08049F90
- adds r0, r6, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- subs r2, r0, 0x1
- mov r9, r2
- movs r1, 0x1F
- ands r3, r1
- ldr r1, _08049F88
- adds r0, 0x1D
- lsls r0, 1
- adds r1, r0, r1
- movs r2, 0
- ldrsh r4, [r1, r2]
- mov r8, r4
- ldr r1, _08049F8C
- adds r0, r1
- movs r1, 0
- ldrsh r4, [r0, r1]
- str r4, [sp, 0x14]
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- mov r4, r10
- adds r7, r4, r0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r3, [sp, 0x34]
- bl sub_804954C
- adds r5, r0, 0
- ldrh r2, [r5]
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- ands r0, r2
- ldr r3, [sp, 0x34]
- cmp r0, 0
- beq _08049F98
- lsls r0, r7, 1
- ldr r2, _08049F94
- adds r0, r2
- adds r2, r6, r0
- b _0804A06A
- .align 2, 0
-_08049F78: .4byte gUnknown_203B418
-_08049F7C: .4byte 0x00018210
-_08049F80: .4byte 0x0001820f
-_08049F84: .4byte 0x000181f0
-_08049F88: .4byte gUnknown_80F6A4A
-_08049F8C: .4byte gUnknown_80F6C06
-_08049F90: .4byte 0x000181f2
-_08049F94: .4byte 0x00012bec
-_08049F98:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _08049FAC
- lsls r0, r7, 1
- ldr r4, _08049FA8
- b _08049FD2
- .align 2, 0
-_08049FA8: .4byte 0x00012bda
-_08049FAC:
- ldr r0, [sp]
- cmp r0, 0
- beq _08049FC4
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r2, _08049FC0
- adds r1, r2
- b _0804A064
- .align 2, 0
-_08049FC0: .4byte 0x00011884
-_08049FC4:
- ldrh r1, [r5, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08049FDC
- lsls r0, r7, 1
- ldr r4, _08049FD8
-_08049FD2:
- adds r0, r4
- adds r2, r6, r0
- b _0804A06A
- .align 2, 0
-_08049FD8: .4byte 0x00012bfe
-_08049FDC:
- ldr r4, [r5, 0x14]
- cmp r4, 0
- beq _0804A028
- adds r0, r4, 0
- str r3, [sp, 0x34]
- bl sub_80450F8
- ldr r3, [sp, 0x34]
- cmp r0, 0x2
- bne _0804A014
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804A000
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _0804A014
-_0804A000:
- ldr r0, [r4, 0x70]
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, _0804A010
- adds r0, r1
- b _0804A046
- .align 2, 0
-_0804A010: .4byte 0x00012a18
-_0804A014:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r2, _0804A024
- adds r1, r2
- b _0804A064
- .align 2, 0
-_0804A024: .4byte 0x00011884
-_0804A028:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _0804A058
- ldr r1, _0804A050
- adds r0, r6, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r4, _0804A054
- adds r0, r4
-_0804A046:
- adds r0, r6, r0
- lsls r1, r7, 1
- adds r2, r0, r1
- b _0804A06A
- .align 2, 0
-_0804A050: .4byte 0x00003a12
-_0804A054: .4byte 0x00012a18
-_0804A058:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r0, _0804A0E8
- adds r1, r0
-_0804A064:
- adds r1, r6, r1
- lsls r0, r7, 1
- adds r2, r1, r0
-_0804A06A:
- lsls r1, r3, 1
- str r1, [sp, 0x30]
- adds r3, 0x1
- str r3, [sp, 0x2C]
- mov r4, r10
- adds r4, 0x1
- str r4, [sp, 0x28]
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x24]
- mov r1, r10
- lsls r3, r1, 1
- ldr r4, _0804A0EC
- adds r4, r3, r4
- str r4, [sp, 0x18]
- ldr r0, _0804A0F0
- adds r0, r3, r0
- str r0, [sp, 0x1C]
- ldr r1, _0804A0F4
- adds r1, r3, r1
- str r1, [sp, 0x20]
- movs r4, 0x16
- str r4, [sp, 0xC]
-_0804A098:
- movs r0, 0x1F
- mov r1, r9
- ands r1, r0
- mov r9, r1
- lsls r0, r1, 6
- ldr r4, [sp, 0x30]
- adds r0, r4, r0
- ldr r1, _0804A0F8
- adds r0, r1
- ldrh r1, [r2]
- strh r1, [r0]
- adds r2, 0x6
- movs r4, 0x1
- add r9, r4
- add r8, r4
- mov r0, r8
- cmp r0, 0x3
- bne _0804A1AC
- movs r1, 0
- mov r8, r1
- ldr r2, [sp, 0x14]
- adds r2, 0x1
- str r2, [sp, 0x14]
- mov r7, r10
- ldr r0, [sp, 0x10]
- adds r1, r2, 0
- str r3, [sp, 0x34]
- bl sub_804954C
- adds r5, r0, 0
- ldrh r2, [r5]
- movs r0, 0x20
- ands r0, r2
- ldr r3, [sp, 0x34]
- cmp r0, 0
- beq _0804A0FC
- ldr r4, [sp, 0x18]
- adds r2, r6, r4
- b _0804A1AC
- .align 2, 0
-_0804A0E8: .4byte 0x00011884
-_0804A0EC: .4byte 0x00012bda
-_0804A0F0: .4byte 0x00012bec
-_0804A0F4: .4byte 0x00012bfe
-_0804A0F8: .4byte gUnknown_202C838
-_0804A0FC:
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _0804A10E
- ldr r4, [sp, 0x1C]
- adds r2, r6, r4
- b _0804A1AC
-_0804A10E:
- ldr r0, [sp]
- cmp r0, 0
- bne _0804A19C
- ldrh r1, [r5, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0804A124
- ldr r4, [sp, 0x20]
- adds r2, r6, r4
- b _0804A1AC
-_0804A124:
- ldr r4, [r5, 0x14]
- cmp r4, 0
- beq _0804A174
- adds r0, r4, 0
- str r3, [sp, 0x34]
- bl sub_80450F8
- ldr r3, [sp, 0x34]
- cmp r0, 0x2
- bne _0804A15C
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804A148
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _0804A15C
-_0804A148:
- ldr r0, [r4, 0x70]
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, _0804A158
- b _0804A1A6
- .align 2, 0
-_0804A158: .4byte 0x00012a18
-_0804A15C:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r2, _0804A170
- adds r1, r2
- adds r1, r6, r1
- lsls r0, r7, 1
- adds r2, r1, r0
- b _0804A1AC
- .align 2, 0
-_0804A170: .4byte 0x00011884
-_0804A174:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _0804A19C
- ldr r1, _0804A194
- adds r0, r6, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r4, _0804A198
- adds r0, r4
- b _0804A1A8
- .align 2, 0
-_0804A194: .4byte 0x00003a12
-_0804A198: .4byte 0x00012a18
-_0804A19C:
- ldrb r1, [r5, 0x8]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, _0804A1EC
-_0804A1A6:
- adds r0, r1
-_0804A1A8:
- adds r0, r6, r0
- adds r2, r0, r3
-_0804A1AC:
- ldr r4, [sp, 0xC]
- subs r4, 0x1
- str r4, [sp, 0xC]
- cmp r4, 0
- blt _0804A1B8
- b _0804A098
-_0804A1B8:
- ldr r3, [sp, 0x2C]
- ldr r0, [sp, 0x28]
- mov r10, r0
- cmp r0, 0x3
- bne _0804A1CC
- movs r1, 0
- mov r10, r1
- ldr r2, [sp, 0x10]
- adds r2, 0x1
- str r2, [sp, 0x10]
-_0804A1CC:
- ldr r4, [sp, 0x24]
- str r4, [sp, 0x8]
- cmp r4, 0x1E
- bgt _0804A1D6
- b _08049F1C
-_0804A1D6:
- movs r0, 0x3
- bl sub_80098F8
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804A1EC: .4byte 0x00011884
- thumb_func_end sub_8049ED4
-
- thumb_func_start sub_804A1F0
-sub_804A1F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- ldr r2, _0804A284
- ldr r7, [r2]
- ldr r3, _0804A288
- adds r2, r7, r3
- ldrb r2, [r2]
- str r2, [sp]
- ldr r4, _0804A28C
- adds r2, r7, r4
- ldrb r2, [r2]
- str r2, [sp, 0x4]
- ldr r5, _0804A290
- adds r2, r7, r5
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r2, r0
- subs r4, 0x1D
- adds r0, r7, r4
- movs r5, 0
- ldrsh r0, [r0, r5]
- adds r0, r1
- asrs r0, 3
- asrs r2, 3
- str r2, [sp, 0x14]
- subs r1, r0, 0x1
- mov r9, r1
- ldr r3, _0804A294
- adds r1, r2, 0
- adds r1, 0x1E
- lsls r1, 1
- adds r2, r1, r3
- movs r5, 0
- ldrsh r4, [r2, r5]
- str r4, [sp, 0x10]
- ldr r2, _0804A298
- adds r1, r2
- movs r5, 0
- ldrsh r4, [r1, r5]
- str r4, [sp, 0xC]
- adds r0, 0x1D
- lsls r0, 1
- adds r3, r0, r3
- movs r4, 0
- ldrsh r1, [r3, r4]
- mov r8, r1
- adds r0, r2
- movs r1, 0
- ldrsh r5, [r0, r1]
- mov r10, r5
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- ldr r3, [sp, 0x10]
- adds r6, r3, r0
- ldr r0, [sp, 0xC]
- mov r1, r10
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804A2A0
- lsls r0, r6, 1
- ldr r4, _0804A29C
- adds r0, r4
- adds r2, r7, r0
- b _0804A356
- .align 2, 0
-_0804A284: .4byte gUnknown_203B418
-_0804A288: .4byte 0x00018210
-_0804A28C: .4byte 0x0001820f
-_0804A290: .4byte 0x000181f0
-_0804A294: .4byte gUnknown_80F6A4A
-_0804A298: .4byte gUnknown_80F6C06
-_0804A29C: .4byte 0x00012bda
-_0804A2A0:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- beq _0804A2B8
- lsls r0, r6, 1
- ldr r5, _0804A2B4
- adds r0, r5
- adds r2, r7, r0
- b _0804A356
- .align 2, 0
-_0804A2B4: .4byte 0x00012bec
-_0804A2B8:
- ldr r0, [sp]
- cmp r0, 0
- beq _0804A2D0
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r2, _0804A2CC
- adds r1, r2
- b _0804A350
- .align 2, 0
-_0804A2CC: .4byte 0x00011884
-_0804A2D0:
- ldr r4, [r5, 0x14]
- cmp r4, 0
- beq _0804A318
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _0804A304
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804A2F0
- ldr r3, [sp, 0x4]
- cmp r3, 0
- beq _0804A304
-_0804A2F0:
- ldr r0, [r4, 0x70]
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r4, _0804A300
- adds r0, r4
- b _0804A334
- .align 2, 0
-_0804A300: .4byte 0x00012a18
-_0804A304:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r5, _0804A314
- adds r1, r5
- b _0804A350
- .align 2, 0
-_0804A314: .4byte 0x00011884
-_0804A318:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0804A344
- ldr r1, _0804A33C
- adds r0, r7, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r3, _0804A340
- adds r0, r3
-_0804A334:
- adds r0, r7, r0
- lsls r1, r6, 1
- adds r2, r0, r1
- b _0804A356
- .align 2, 0
-_0804A33C: .4byte 0x00003a12
-_0804A340: .4byte 0x00012a18
-_0804A344:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r4, _0804A3AC
- adds r1, r4
-_0804A350:
- adds r1, r7, r1
- lsls r0, r6, 1
- adds r2, r1, r0
-_0804A356:
- movs r5, 0x16
- str r5, [sp, 0x8]
-_0804A35A:
- movs r0, 0x1F
- ldr r1, [sp, 0x14]
- ands r1, r0
- str r1, [sp, 0x14]
- mov r3, r9
- ands r3, r0
- mov r9, r3
- lsls r1, 1
- lsls r0, r3, 6
- adds r1, r0
- ldr r4, _0804A3B0
- adds r1, r4
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x6
- movs r5, 0x1
- add r9, r5
- add r8, r5
- mov r0, r8
- cmp r0, 0x3
- beq _0804A386
- b _0804A476
-_0804A386:
- movs r1, 0
- mov r8, r1
- add r10, r5
- ldr r6, [sp, 0x10]
- ldr r0, [sp, 0xC]
- mov r1, r10
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804A3B8
- lsls r0, r6, 1
- ldr r2, _0804A3B4
- adds r0, r2
- adds r2, r7, r0
- b _0804A476
- .align 2, 0
-_0804A3AC: .4byte 0x00011884
-_0804A3B0: .4byte gUnknown_202C838
-_0804A3B4: .4byte 0x00012bda
-_0804A3B8:
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0804A3D4
- lsls r0, r6, 1
- ldr r4, _0804A3D0
- adds r0, r4
- adds r2, r7, r0
- b _0804A476
- .align 2, 0
-_0804A3D0: .4byte 0x00012bec
-_0804A3D4:
- ldr r0, [sp]
- cmp r0, 0
- beq _0804A3EC
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r2, _0804A3E8
- adds r1, r2
- b _0804A470
- .align 2, 0
-_0804A3E8: .4byte 0x00011884
-_0804A3EC:
- ldr r4, [r5, 0x14]
- cmp r4, 0
- beq _0804A434
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _0804A420
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804A40C
- ldr r3, [sp, 0x4]
- cmp r3, 0
- beq _0804A420
-_0804A40C:
- ldr r0, [r4, 0x70]
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r4, _0804A41C
- adds r0, r4
- b _0804A452
- .align 2, 0
-_0804A41C: .4byte 0x00012a18
-_0804A420:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r5, _0804A430
- adds r1, r5
- b _0804A470
- .align 2, 0
-_0804A430: .4byte 0x00011884
-_0804A434:
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0804A464
- ldr r3, _0804A45C
- adds r0, r7, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r5, _0804A460
- adds r0, r5
-_0804A452:
- adds r0, r7, r0
- lsls r1, r6, 1
- adds r2, r0, r1
- b _0804A476
- .align 2, 0
-_0804A45C: .4byte 0x00003a12
-_0804A460: .4byte 0x00012a18
-_0804A464:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r0, _0804A498
- adds r1, r0
-_0804A470:
- adds r1, r7, r1
- lsls r0, r6, 1
- adds r2, r1, r0
-_0804A476:
- ldr r1, [sp, 0x8]
- subs r1, 0x1
- str r1, [sp, 0x8]
- cmp r1, 0
- blt _0804A482
- b _0804A35A
-_0804A482:
- movs r0, 0x3
- bl sub_80098F8
- 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
-_0804A498: .4byte 0x00011884
- thumb_func_end sub_804A1F0
-
- thumb_func_start sub_804A49C
-sub_804A49C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- ldr r2, _0804A52C
- ldr r7, [r2]
- ldr r3, _0804A530
- adds r2, r7, r3
- ldrb r2, [r2]
- str r2, [sp]
- ldr r4, _0804A534
- adds r2, r7, r4
- ldrb r2, [r2]
- str r2, [sp, 0x4]
- subs r3, 0x20
- adds r2, r7, r3
- movs r4, 0
- ldrsh r2, [r2, r4]
- adds r2, r0
- adds r3, 0x2
- adds r0, r7, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r0, r1
- asrs r2, 3
- mov r8, r2
- asrs r0, 3
- str r0, [sp, 0x14]
- ldr r2, _0804A538
- mov r0, r8
- adds r0, 0x1E
- lsls r0, 1
- adds r1, r0, r2
- movs r4, 0
- ldrsh r3, [r1, r4]
- mov r9, r3
- ldr r1, _0804A53C
- adds r0, r1
- movs r4, 0
- ldrsh r3, [r0, r4]
- mov r10, r3
- ldr r0, [sp, 0x14]
- adds r0, 0x1E
- lsls r0, 1
- adds r2, r0, r2
- movs r4, 0
- ldrsh r3, [r2, r4]
- str r3, [sp, 0x10]
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- str r1, [sp, 0xC]
- lsls r0, r3, 1
- adds r0, r3
- mov r3, r9
- adds r6, r3, r0
- mov r0, r10
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804A544
- lsls r0, r6, 1
- ldr r4, _0804A540
- adds r0, r4
- adds r2, r7, r0
- b _0804A5DA
- .align 2, 0
-_0804A52C: .4byte gUnknown_203B418
-_0804A530: .4byte 0x00018210
-_0804A534: .4byte 0x0001820f
-_0804A538: .4byte gUnknown_80F6A4A
-_0804A53C: .4byte gUnknown_80F6C06
-_0804A540: .4byte 0x00012bda
-_0804A544:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- beq _0804A55C
- lsls r0, r6, 1
- ldr r1, _0804A558
- adds r0, r1
- adds r2, r7, r0
- b _0804A5DA
- .align 2, 0
-_0804A558: .4byte 0x00012bec
-_0804A55C:
- ldr r2, [sp]
- cmp r2, 0
- beq _0804A574
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r3, _0804A570
- adds r1, r3
- b _0804A5D4
- .align 2, 0
-_0804A570: .4byte 0x00011884
-_0804A574:
- ldr r4, [r5, 0x14]
- cmp r4, 0
- beq _0804A59A
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _0804A5C8
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804A594
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _0804A5C8
-_0804A594:
- ldr r0, [r4, 0x70]
- ldrb r1, [r0]
- b _0804A5AC
-_0804A59A:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0804A5C8
- ldr r3, _0804A5C0
- adds r0, r7, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
-_0804A5AC:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, _0804A5C4
- adds r0, r1
- adds r0, r7, r0
- lsls r1, r6, 1
- adds r2, r0, r1
- b _0804A5DA
- .align 2, 0
-_0804A5C0: .4byte 0x00003a12
-_0804A5C4: .4byte 0x00012a18
-_0804A5C8:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r2, _0804A638
- adds r1, r2
-_0804A5D4:
- adds r1, r7, r1
- lsls r0, r6, 1
- adds r2, r1, r0
-_0804A5DA:
- movs r3, 0x1E
- str r3, [sp, 0x8]
-_0804A5DE:
- movs r0, 0x1F
- mov r4, r8
- ands r4, r0
- mov r8, r4
- ldr r1, [sp, 0x14]
- ands r1, r0
- str r1, [sp, 0x14]
- lsls r1, r4, 1
- ldr r3, [sp, 0x14]
- lsls r0, r3, 6
- adds r1, r0
- ldr r4, _0804A63C
- adds r1, r4
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- movs r0, 0x1
- add r8, r0
- add r9, r0
- mov r1, r9
- cmp r1, 0x3
- beq _0804A60C
- b _0804A702
-_0804A60C:
- movs r2, 0
- mov r9, r2
- add r10, r0
- ldr r3, [sp, 0x10]
- lsls r0, r3, 1
- adds r6, r0, r3
- mov r0, r10
- ldr r1, [sp, 0xC]
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0804A644
- lsls r0, r6, 1
- ldr r4, _0804A640
- adds r0, r4
- adds r2, r7, r0
- b _0804A702
- .align 2, 0
-_0804A638: .4byte 0x00011884
-_0804A63C: .4byte gUnknown_202C838
-_0804A640: .4byte 0x00012bda
-_0804A644:
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0804A660
- lsls r0, r6, 1
- ldr r3, _0804A65C
- adds r0, r3
- adds r2, r7, r0
- b _0804A702
- .align 2, 0
-_0804A65C: .4byte 0x00012bec
-_0804A660:
- ldr r4, [sp]
- cmp r4, 0
- beq _0804A678
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r0, _0804A674
- adds r1, r0
- b _0804A6FC
- .align 2, 0
-_0804A674: .4byte 0x00011884
-_0804A678:
- ldr r4, [r5, 0x14]
- cmp r4, 0
- beq _0804A6C0
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _0804A6AC
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804A698
- ldr r1, [sp, 0x4]
- cmp r1, 0
- beq _0804A6AC
-_0804A698:
- ldr r0, [r4, 0x70]
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r2, _0804A6A8
- adds r0, r2
- b _0804A6DE
- .align 2, 0
-_0804A6A8: .4byte 0x00012a18
-_0804A6AC:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r3, _0804A6BC
- adds r1, r3
- b _0804A6FC
- .align 2, 0
-_0804A6BC: .4byte 0x00011884
-_0804A6C0:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0804A6F0
- ldr r1, _0804A6E8
- adds r0, r7, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r3, _0804A6EC
- adds r0, r3
-_0804A6DE:
- adds r0, r7, r0
- lsls r1, r6, 1
- adds r2, r0, r1
- b _0804A702
- .align 2, 0
-_0804A6E8: .4byte 0x00003a12
-_0804A6EC: .4byte 0x00012a18
-_0804A6F0:
- ldrb r0, [r5, 0x8]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 1
- ldr r4, _0804A724
- adds r1, r4
-_0804A6FC:
- adds r1, r7, r1
- lsls r0, r6, 1
- adds r2, r1, r0
-_0804A702:
- ldr r0, [sp, 0x8]
- subs r0, 0x1
- str r0, [sp, 0x8]
- cmp r0, 0
- blt _0804A70E
- b _0804A5DE
-_0804A70E:
- movs r0, 0x3
- bl sub_80098F8
- 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
-_0804A724: .4byte 0x00011884
- thumb_func_end sub_804A49C
-
- thumb_func_start sub_804A728
-sub_804A728:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- str r0, [sp, 0x1C]
- adds r5, r1, 0
- adds r4, r3, 0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x20]
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _0804A814
- ldr r0, [r6]
- mov r8, r0
- bl sub_8083600
- str r0, [sp, 0x24]
- ldr r0, _0804A818
- add r0, r8
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- str r0, [sp, 0x30]
- adds r1, r0, 0
- ldr r0, [r6]
- ldr r2, _0804A81C
- adds r0, r2
- strb r4, [r0]
- ldr r3, [sp, 0x1C]
- movs r4, 0
- ldrsh r7, [r3, r4]
- movs r0, 0x2
- ldrsh r6, [r3, r0]
- ldr r0, _0804A820
- lsls r5, 2
- adds r5, r0
- movs r2, 0
- ldrsh r4, [r5, r2]
- movs r0, 0x2
- ldrsh r3, [r5, r0]
- mov r0, sp
- movs r2, 0x5
-_0804A782:
- strh r7, [r0]
- strh r6, [r0, 0x2]
- adds r7, r4
- adds r6, r3
- adds r0, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _0804A782
- ldr r0, _0804A824
- adds r1, 0x1E
- lsls r1, 1
- adds r0, r1, r0
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r2, [sp, 0x28]
- ldr r0, _0804A828
- adds r1, r0
- movs r0, 0
- ldrsh r4, [r1, r0]
- mov r10, r4
- movs r7, 0
-_0804A7AC:
- ldr r0, _0804A82C
- add r0, r8
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- str r0, [sp, 0x34]
- ldr r0, _0804A824
- ldr r1, [sp, 0x34]
- adds r1, 0x1E
- lsls r1, 1
- adds r0, r1, r0
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r2, [sp, 0x2C]
- ldr r0, _0804A828
- adds r1, r0
- movs r0, 0
- ldrsh r4, [r1, r0]
- mov r9, r4
- lsls r0, r2, 1
- adds r0, r2
- ldr r1, [sp, 0x28]
- adds r5, r1, r0
- mov r2, r10
- lsls r0, r2, 16
- lsls r1, r4, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp, 0x18]
- ldr r3, [sp, 0x20]
- cmp r3, 0
- beq _0804A850
- ldr r4, [sp, 0x1C]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r10, r0
- bne _0804A834
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r9, r0
- bne _0804A834
- lsls r0, r5, 1
- ldr r3, _0804A830
- adds r0, r3
- mov r4, r8
- adds r2, r4, r0
- ldr r0, [sp, 0x28]
- adds r0, 0x1
- str r0, [sp, 0x3C]
- adds r1, r7, 0x1
- str r1, [sp, 0x38]
- b _0804A8FC
- .align 2, 0
-_0804A814: .4byte gUnknown_203B418
-_0804A818: .4byte 0x000181f0
-_0804A81C: .4byte 0x0001821a
-_0804A820: .4byte gUnknown_80F4448
-_0804A824: .4byte gUnknown_80F6A4A
-_0804A828: .4byte gUnknown_80F6C06
-_0804A82C: .4byte 0x000181f2
-_0804A830: .4byte 0x00012b92
-_0804A834:
- lsls r0, r5, 1
- ldr r2, _0804A84C
- adds r0, r2
- mov r3, r8
- adds r2, r3, r0
- ldr r4, [sp, 0x28]
- adds r4, 0x1
- str r4, [sp, 0x3C]
- adds r0, r7, 0x1
- str r0, [sp, 0x38]
- b _0804A8FC
- .align 2, 0
-_0804A84C: .4byte 0x00013554
-_0804A850:
- add r4, sp, 0x18
- ldr r0, [sp, 0x24]
- adds r1, r4, 0
- bl sub_807049C
- lsls r0, 24
- cmp r0, 0
- bne _0804A8E8
- ldr r0, [sp, 0x24]
- adds r1, r4, 0
- bl sub_8045AAC
- lsls r0, 24
- cmp r0, 0
- beq _0804A8E8
- movs r2, 0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r3, r5, 1
- ldr r4, [sp, 0x28]
- adds r4, 0x1
- str r4, [sp, 0x3C]
- adds r1, r7, 0x1
- str r1, [sp, 0x38]
- cmp r0, r10
- bne _0804A890
- mov r0, sp
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- cmp r0, r9
- beq _0804A8AC
-_0804A890:
- adds r2, 0x1
- cmp r2, 0x5
- bgt _0804A8AC
- lsls r0, r2, 2
- mov r4, sp
- adds r1, r4, r0
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, r10
- bne _0804A890
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, r9
- bne _0804A890
-_0804A8AC:
- cmp r2, 0x6
- bne _0804A8D8
- ldr r0, _0804A8C0
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _0804A8C8
- ldr r1, _0804A8C4
- adds r0, r3, r1
- b _0804A8DC
- .align 2, 0
-_0804A8C0: .4byte gUnknown_203B46C
-_0804A8C4: .4byte 0x00012b80
-_0804A8C8:
- ldr r4, _0804A8D4
- adds r0, r3, r4
- mov r1, r8
- adds r2, r1, r0
- b _0804A8FC
- .align 2, 0
-_0804A8D4: .4byte 0x00013554
-_0804A8D8:
- ldr r2, _0804A8E4
- adds r0, r3, r2
-_0804A8DC:
- mov r3, r8
- adds r2, r3, r0
- b _0804A8FC
- .align 2, 0
-_0804A8E4: .4byte 0x00012b92
-_0804A8E8:
- lsls r0, r5, 1
- ldr r4, _0804A968
- adds r0, r4
- mov r1, r8
- adds r2, r1, r0
- ldr r3, [sp, 0x28]
- adds r3, 0x1
- str r3, [sp, 0x3C]
- adds r4, r7, 0x1
- str r4, [sp, 0x38]
-_0804A8FC:
- movs r6, 0
-_0804A8FE:
- movs r0, 0x1F
- ldr r1, [sp, 0x30]
- ands r1, r0
- str r1, [sp, 0x30]
- ldr r3, [sp, 0x34]
- ands r3, r0
- lsls r0, r1, 1
- lsls r1, r3, 6
- adds r0, r1
- ldr r4, _0804A96C
- adds r0, r4
- ldrh r1, [r2]
- strh r1, [r0]
- adds r2, 0x6
- adds r3, 0x1
- str r3, [sp, 0x34]
- ldr r0, [sp, 0x2C]
- adds r0, 0x1
- str r0, [sp, 0x2C]
- adds r7, r6, 0x1
- cmp r0, 0x3
- beq _0804A92C
- b _0804AA20
-_0804A92C:
- movs r1, 0
- str r1, [sp, 0x2C]
- movs r2, 0x1
- add r9, r2
- ldr r5, [sp, 0x28]
- add r4, sp, 0x18
- mov r3, r10
- strh r3, [r4]
- adds r0, r4, 0
- mov r1, r9
- strh r1, [r0, 0x2]
- ldr r2, [sp, 0x20]
- cmp r2, 0
- beq _0804A984
- ldr r3, [sp, 0x1C]
- movs r4, 0
- ldrsh r0, [r3, r4]
- cmp r10, r0
- bne _0804A974
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r9, r0
- bne _0804A974
- ldr r2, [sp, 0x28]
- lsls r0, r2, 1
- ldr r3, _0804A970
- adds r0, r3
- mov r4, r8
- adds r2, r4, r0
- b _0804AA20
- .align 2, 0
-_0804A968: .4byte 0x00013554
-_0804A96C: .4byte gUnknown_202C038
-_0804A970: .4byte 0x00012b92
-_0804A974:
- lsls r0, r5, 1
- ldr r1, _0804A980
- adds r0, r1
- mov r3, r8
- adds r2, r3, r0
- b _0804AA1E
- .align 2, 0
-_0804A980: .4byte 0x00013554
-_0804A984:
- ldr r0, [sp, 0x24]
- adds r1, r4, 0
- bl sub_807049C
- lsls r0, 24
- cmp r0, 0
- bne _0804AA14
- ldr r0, [sp, 0x24]
- adds r1, r4, 0
- bl sub_8045AAC
- lsls r0, 24
- cmp r0, 0
- beq _0804AA14
- movs r2, 0
- mov r0, sp
- movs r4, 0
- ldrsh r0, [r0, r4]
- ldr r1, [sp, 0x28]
- lsls r3, r1, 1
- cmp r0, r10
- bne _0804A9BA
- mov r0, sp
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- cmp r0, r9
- beq _0804A9D6
-_0804A9BA:
- adds r2, 0x1
- cmp r2, 0x5
- bgt _0804A9D6
- lsls r0, r2, 2
- mov r4, sp
- adds r1, r4, r0
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, r10
- bne _0804A9BA
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, r9
- bne _0804A9BA
-_0804A9D6:
- cmp r2, 0x6
- bne _0804AA04
- ldr r0, _0804A9EC
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _0804A9F4
- ldr r1, _0804A9F0
- adds r0, r3, r1
- b _0804AA08
- .align 2, 0
-_0804A9EC: .4byte gUnknown_203B46C
-_0804A9F0: .4byte 0x00012b80
-_0804A9F4:
- ldr r4, _0804AA00
- adds r0, r3, r4
- mov r1, r8
- adds r2, r1, r0
- b _0804AA20
- .align 2, 0
-_0804AA00: .4byte 0x00013554
-_0804AA04:
- ldr r2, _0804AA10
- adds r0, r3, r2
-_0804AA08:
- mov r3, r8
- adds r2, r3, r0
- b _0804AA20
- .align 2, 0
-_0804AA10: .4byte 0x00012b92
-_0804AA14:
- lsls r0, r5, 1
- ldr r4, _0804AA5C
- adds r0, r4
- mov r1, r8
- adds r2, r1, r0
-_0804AA1E:
- adds r7, r6, 0x1
-_0804AA20:
- adds r6, r7, 0
- cmp r6, 0x14
- bgt _0804AA28
- b _0804A8FE
-_0804AA28:
- ldr r2, [sp, 0x30]
- adds r2, 0x1
- str r2, [sp, 0x30]
- ldr r3, [sp, 0x3C]
- str r3, [sp, 0x28]
- cmp r3, 0x3
- bne _0804AA3E
- movs r4, 0
- str r4, [sp, 0x28]
- movs r0, 0x1
- add r10, r0
-_0804AA3E:
- ldr r7, [sp, 0x38]
- cmp r7, 0x1E
- bgt _0804AA46
- b _0804A7AC
-_0804AA46:
- movs r0, 0x2
- bl sub_80098F8
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AA5C: .4byte 0x00013554
- thumb_func_end sub_804A728
-
- thumb_func_start sub_804AA60
-sub_804AA60:
- push {r4,lr}
- movs r1, 0
- ldr r0, _0804AAA0
- movs r3, 0
- movs r2, 0x80
- lsls r2, 5
- adds r4, r0, r2
-_0804AA6E:
- lsls r0, r1, 6
- adds r2, r1, 0x1
- movs r1, 0x1F
- adds r0, r4
- adds r0, 0x3E
-_0804AA78:
- strh r3, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0804AA78
- adds r1, r2, 0
- cmp r1, 0x1F
- ble _0804AA6E
- movs r4, 0
- movs r0, 0x2
- bl sub_80098F8
- ldr r0, _0804AAA4
- ldr r0, [r0]
- ldr r1, _0804AAA8
- adds r0, r1
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AAA0: .4byte gUnknown_202B038
-_0804AAA4: .4byte gUnknown_203B418
-_0804AAA8: .4byte 0x0001821a
- thumb_func_end sub_804AA60
-
- thumb_func_start sub_804AAAC
-sub_804AAAC:
- push {r4-r7,lr}
- movs r5, 0
- movs r7, 0
-_0804AAB2:
- movs r4, 0
- adds r6, r5, 0x1
-_0804AAB6:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- strh r7, [r0, 0x4]
- adds r4, 0x1
- cmp r4, 0x37
- ble _0804AAB6
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _0804AAB2
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804AAAC
-
- thumb_func_start sub_804AAD4
-sub_804AAD4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _0804AC04
- movs r0, 0
- mov r8, r0
- ldr r6, _0804AC08
- ldr r5, _0804AC0C
- movs r2, 0
- movs r3, 0x1F
-_0804AAEA:
- ldr r0, [r4]
- adds r0, r2
- ldr r1, _0804AC10
- adds r0, r1
- mov r7, r8
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, r2
- adds r1, 0x1
- adds r0, r1
- strb r7, [r0]
- ldr r0, [r4]
- adds r0, r2
- ldr r7, _0804AC14
- adds r1, r0, r7
- strh r6, [r1]
- adds r7, 0x2
- adds r1, r0, r7
- strh r6, [r1]
- adds r7, 0x2
- adds r1, r0, r7
- strh r5, [r1]
- ldr r1, _0804AC18
- adds r0, r1
- strh r5, [r0]
- adds r2, 0x1C
- subs r3, 0x1
- cmp r3, 0
- bge _0804AAEA
- movs r4, 0
- mov r9, r4
- movs r6, 0
- ldr r7, _0804AC04
- mov r8, r7
-_0804AB2E:
- movs r4, 0
- adds r5, r6, 0x1
-_0804AB32:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrb r2, [r0, 0x9]
- adds r3, r4, 0x1
- cmp r2, 0xFF
- beq _0804AB84
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r1, _0804AC10
- adds r0, r1
- mov r7, r8
- ldr r1, [r7]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r7, 0x2
- ldrsh r0, [r1, r7]
- cmp r0, r4
- ble _0804AB60
- strh r4, [r1, 0x2]
-_0804AB60:
- movs r4, 0x4
- ldrsh r0, [r1, r4]
- cmp r0, r6
- ble _0804AB6A
- strh r6, [r1, 0x4]
-_0804AB6A:
- movs r7, 0x6
- ldrsh r0, [r1, r7]
- cmp r0, r3
- bge _0804AB74
- strh r3, [r1, 0x6]
-_0804AB74:
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, r5
- bge _0804AB7E
- strh r5, [r1, 0x8]
-_0804AB7E:
- cmp r9, r2
- bge _0804AB84
- mov r9, r2
-_0804AB84:
- adds r4, r3, 0
- cmp r4, 0x37
- ble _0804AB32
- adds r6, r5, 0
- cmp r6, 0x1F
- ble _0804AB2E
- ldr r7, _0804AC04
- mov r8, r7
- mov r5, r9
- adds r5, 0x1
- mov r6, r8
- movs r4, 0
- movs r3, 0x1F
-_0804AB9E:
- ldr r1, _0804AC10
- adds r0, r4, r1
- ldr r1, [r6]
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _0804ABE4
- movs r7, 0x2
- ldrsh r1, [r2, r7]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- str r0, [r2, 0xC]
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- str r0, [r2, 0x10]
- movs r7, 0x6
- ldrsh r1, [r2, r7]
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- str r0, [r2, 0x14]
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- adds r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- str r0, [r2, 0x18]
-_0804ABE4:
- adds r4, 0x1C
- subs r3, 0x1
- cmp r3, 0
- bge _0804AB9E
- mov r1, r8
- ldr r0, [r1]
- ldr r4, _0804AC1C
- adds r0, r4
- strb r5, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AC04: .4byte gUnknown_203B418
-_0804AC08: .4byte 0x0000270f
-_0804AC0C: .4byte 0x0000d8f1
-_0804AC10: .4byte 0x000104c4
-_0804AC14: .4byte 0x000104c6
-_0804AC18: .4byte 0x000104cc
-_0804AC1C: .4byte 0x000104c0
- thumb_func_end sub_804AAD4
-
- thumb_func_start sub_804AC20
-sub_804AC20:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- ldr r0, _0804AC6C
- ldr r3, [r0]
- ldr r5, _0804AC70
- adds r0, r3, r5
- ldrb r2, [r0]
- adds r5, 0x1
- adds r0, r3, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804ACD4
- cmp r2, 0
- bne _0804AC52
- movs r2, 0x2
-_0804AC52:
- cmp r1, 0xFF
- bne _0804AC74
- movs r0, 0
- ldrsh r1, [r4, r0]
- subs r3, r1, r2
- mov r9, r3
- movs r5, 0x2
- ldrsh r0, [r4, r5]
- subs r3, r0, r2
- adds r6, r1, r2
- adds r0, r2
- mov r8, r0
- b _0804ACA2
- .align 2, 0
-_0804AC6C: .4byte gUnknown_203B418
-_0804AC70: .4byte 0x00018209
-_0804AC74:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0804ACE0
- adds r0, r1
- adds r2, r3, r0
- ldrb r0, [r2, 0x1]
- cmp r0, 0
- bne _0804ACD4
- movs r0, 0x1
- strb r0, [r2, 0x1]
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- subs r0, 0x1
- mov r9, r0
- movs r5, 0x4
- ldrsh r0, [r2, r5]
- subs r3, r0, 0x1
- movs r0, 0x6
- ldrsh r6, [r2, r0]
- movs r5, 0x8
- ldrsh r1, [r2, r5]
- mov r8, r1
-_0804ACA2:
- adds r5, r3, 0
- cmp r5, r8
- bgt _0804ACD4
-_0804ACA8:
- mov r4, r9
- adds r7, r5, 0x1
- cmp r4, r6
- bgt _0804ACCE
-_0804ACB0:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x3
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80402AC
- adds r4, 0x1
- cmp r4, r6
- ble _0804ACB0
-_0804ACCE:
- adds r5, r7, 0
- cmp r5, r8
- ble _0804ACA8
-_0804ACD4:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804ACE0: .4byte 0x000104c4
- thumb_func_end sub_804AC20
-
- thumb_func_start sub_804ACE4
-sub_804ACE4:
- push {lr}
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_804954C
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _0804AD06
- bl sub_80450F8
- cmp r0, 0x3
- bne _0804AD06
- movs r0, 0x1
- b _0804AD08
-_0804AD06:
- movs r0, 0
-_0804AD08:
- pop {r1}
- bx r1
- thumb_func_end sub_804ACE4
-
- thumb_func_start sub_804AD0C
-sub_804AD0C:
- push {lr}
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_804954C
- ldr r1, [r0, 0x10]
- cmp r1, 0
- beq _0804AD2C
- ldr r0, [r1]
- cmp r0, 0x1
- bne _0804AD2C
- adds r0, r1, 0
- b _0804AD2E
-_0804AD2C:
- movs r0, 0
-_0804AD2E:
- pop {r1}
- bx r1
- thumb_func_end sub_804AD0C
-
- thumb_func_start sub_804AD34
-sub_804AD34:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r0, 0
- mov r8, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0804ADB6
- movs r0, 0x88
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _0804ADB6
- movs r0, 0x1
- mov r8, r0
- ldr r0, _0804ADFC
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- movs r5, 0x1
- negs r5, r5
-_0804AD74:
- movs r4, 0x1
- negs r4, r4
- adds r7, r5, 0x1
-_0804AD7A:
- movs r1, 0
- ldrsh r0, [r6, r1]
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r1, r5, r1
- bl sub_80498A8
- movs r1, 0
- ldrsh r0, [r6, r1]
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r1, r5, r1
- bl sub_8049BB0
- movs r1, 0
- ldrsh r0, [r6, r1]
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r1, r5, r1
- bl sub_80402AC
- adds r4, 0x1
- cmp r4, 0x1
- ble _0804AD7A
- adds r5, r7, 0
- cmp r5, 0x1
- ble _0804AD74
-_0804ADB6:
- mov r0, r8
- cmp r0, 0
- beq _0804ADEE
- movs r5, 0
-_0804ADBE:
- ldr r0, _0804AE00
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0804AE04
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0804ADDE
- adds r0, r4, 0
- bl sub_806CF98
-_0804ADDE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0804ADBE
- bl sub_8049ED4
- adds r0, r6, 0
- bl sub_8042A14
-_0804ADEE:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804ADFC: .4byte 0x0000fffc
-_0804AE00: .4byte gUnknown_203B418
-_0804AE04: .4byte 0x000135cc
- thumb_func_end sub_804AD34
-
- thumb_func_start sub_804AE08
-sub_804AE08:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r0, 0
- mov r8, r0
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r2, 0x2
- ldrsh r1, [r7, r2]
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0804AE72
- movs r0, 0x88
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- bne _0804AE72
- movs r0, 0x1
- mov r8, r0
- ldr r0, _0804AE80
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- ldrh r1, [r2, 0x4]
- movs r0, 0x10
- orrs r0, r1
- strh r0, [r2, 0x4]
- movs r5, 0x1
- negs r5, r5
-_0804AE50:
- movs r4, 0x1
- negs r4, r4
- adds r6, r5, 0x1
-_0804AE56:
- movs r1, 0
- ldrsh r0, [r7, r1]
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r7, r2]
- adds r1, r5, r1
- bl sub_8049BB0
- adds r4, 0x1
- cmp r4, 0x1
- ble _0804AE56
- adds r5, r6, 0
- cmp r5, 0x1
- ble _0804AE50
-_0804AE72:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0804AE80: .4byte 0x0000fffc
- thumb_func_end sub_804AE08
-
- thumb_func_start sub_804AE84
-sub_804AE84:
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2, 0x4]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0804AF0E
- ldr r0, _0804AF14
- ands r0, r1
- strh r0, [r2, 0x4]
- movs r6, 0x1
- negs r6, r6
-_0804AEAA:
- movs r4, 0x1
- negs r4, r4
- adds r7, r6, 0x1
-_0804AEB0:
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- adds r1, r6, r1
- bl sub_80498A8
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- adds r1, r6, r1
- bl sub_80402AC
- adds r4, 0x1
- cmp r4, 0x1
- ble _0804AEB0
- adds r6, r7, 0
- cmp r6, 0x1
- ble _0804AEAA
- movs r6, 0
-_0804AEDE:
- ldr r0, _0804AF18
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0804AF1C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0804AEFE
- adds r0, r4, 0
- bl sub_806CF98
-_0804AEFE:
- adds r6, 0x1
- cmp r6, 0x13
- ble _0804AEDE
- bl sub_8049ED4
- adds r0, r5, 0
- bl sub_8042A14
-_0804AF0E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804AF14: .4byte 0x0000ffef
-_0804AF18: .4byte gUnknown_203B418
-_0804AF1C: .4byte 0x000135cc
- thumb_func_end sub_804AE84
-
- thumb_func_start sub_804AF20
-sub_804AF20:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- bl sub_804AF74
- lsls r0, 24
- cmp r0, 0
- beq _0804AF3C
- ldrh r1, [r4]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0804AF5E
- b _0804AF5C
-_0804AF3C:
- ldrh r1, [r4]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0804AF5C
- ldr r1, _0804AF68
- ldr r0, _0804AF6C
- ldr r0, [r0]
- ldr r2, _0804AF70
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0804AF5E
-_0804AF5C:
- movs r5, 0x1
-_0804AF5E:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0804AF68: .4byte gUnknown_810ACC0
-_0804AF6C: .4byte gUnknown_203B418
-_0804AF70: .4byte 0x00003a0e
- thumb_func_end sub_804AF20
-
- thumb_func_start sub_804AF74
-sub_804AF74:
- push {lr}
- ldr r0, _0804AF9C
- ldr r0, [r0]
- ldr r1, _0804AFA0
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0804AF96
- cmp r0, 0x31
- beq _0804AF96
- cmp r0, 0x20
- beq _0804AF96
- cmp r0, 0x21
- beq _0804AF96
- cmp r0, 0x36
- bne _0804AFA4
-_0804AF96:
- movs r0, 0x1
- b _0804AFA6
- .align 2, 0
-_0804AF9C: .4byte gUnknown_203B418
-_0804AFA0: .4byte 0x00003a0e
-_0804AFA4:
- movs r0, 0
-_0804AFA6:
- pop {r1}
- bx r1
- thumb_func_end sub_804AF74
-
- thumb_func_start sub_804AFAC
-sub_804AFAC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- movs r0, 0
- mov r10, r0
- ldr r4, _0804B0E8
- ldr r0, [r4]
- ldr r1, _0804B0EC
- adds r1, r0
- mov r8, r1
- ldr r0, _0804B0F0
- ldr r1, _0804B0F4
- bl OpenFileAndGetFileDataPtr
- ldr r2, [r4]
- ldr r3, _0804B0F8
- adds r1, r2, r3
- str r0, [r1]
- ldr r0, _0804B0FC
- mov r6, r10
- strb r6, [r0]
- ldr r0, _0804B100
- strb r6, [r0]
- ldr r0, _0804B104
- strb r6, [r0]
- ldr r5, _0804B108
- movs r3, 0
- ldr r1, _0804B10C
- ldr r0, _0804B110
- adds r2, r0
- movs r6, 0
- ldrsh r0, [r2, r6]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0804AFFC
- movs r3, 0x1
-_0804AFFC:
- strb r3, [r5]
- ldr r1, _0804B114
- movs r0, 0xFF
- strb r0, [r1]
- ldr r0, _0804B118
- mov r1, r10
- strb r1, [r0]
- ldr r1, _0804B11C
- mov r2, r8
- ldrb r0, [r2, 0x7]
- strh r0, [r1]
- ldr r1, _0804B120
- ldrb r0, [r2, 0x8]
- strh r0, [r1]
- ldr r1, _0804B124
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0804B128
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- str r0, [r1, 0x8]
- str r0, [r1, 0x4]
- str r0, [r1, 0xC]
- bl sub_804FD30
- ldr r3, [r4]
- mov r6, r8
- ldrb r2, [r6, 0x6]
- ldr r1, _0804B12C
- adds r0, r3, r1
- movs r1, 0
- strh r2, [r0]
- ldr r2, _0804B130
- adds r0, r3, r2
- strb r1, [r0]
- ldr r0, [r4]
- ldr r3, _0804B134
- adds r0, r3
- strb r1, [r0]
- ldr r1, _0804B138
- mov r6, r8
- ldrb r0, [r6, 0xC]
- str r0, [r1]
- movs r0, 0
- str r0, [sp, 0x40]
-_0804B058:
- ldr r0, _0804B0E8
- ldr r2, [r0]
- ldr r3, _0804B13C
- adds r1, r2, r3
- ldr r0, _0804B140
- strh r0, [r1]
- ldr r6, _0804B144
- adds r1, r2, r6
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- ldr r0, _0804B148
- adds r1, r2, r0
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- ldr r1, _0804B14C
- adds r2, r1
- strh r0, [r2]
- movs r2, 0
- mov r9, r2
-_0804B082:
- ldr r4, _0804B0E8
- ldr r0, [r4]
- ldr r3, _0804B150
- adds r0, r3
- movs r5, 0
- movs r1, 0
- mov r6, r9
- strh r6, [r0]
- mov r0, r9
- cmp r0, 0
- ble _0804B09C
- ldr r0, _0804B138
- str r1, [r0]
-_0804B09C:
- ldr r0, _0804B154
- strb r5, [r0]
- ldr r1, _0804B158
- ldr r0, _0804B140
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1, 0x2]
- bl sub_804FD30
- ldr r1, [r4]
- ldr r3, _0804B13C
- adds r2, r1, r3
- movs r0, 0x1
- negs r0, r0
- strh r0, [r2]
- ldr r6, _0804B144
- adds r2, r1, r6
- strh r0, [r2]
- ldr r0, _0804B15C
- adds r1, r0
- strb r5, [r1]
- ldr r0, [r4]
- ldr r2, _0804B160
- adds r1, r0, r2
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0804B164
- mov r1, r8
- bl sub_804C70C
- lsls r0, 24
- cmp r0, 0
- beq _0804B0E4
- b _0804B376
-_0804B0E4:
- b _0804B2F6
- .align 2, 0
-_0804B0E8: .4byte gUnknown_203B418
-_0804B0EC: .4byte 0x0001c574
-_0804B0F0: .4byte gUnknown_80F6DCC
-_0804B0F4: .4byte gUnknown_83B0000
-_0804B0F8: .4byte 0x00013568
-_0804B0FC: .4byte gUnknown_202F1AA
-_0804B100: .4byte gUnknown_202F1AB
-_0804B104: .4byte gUnknown_202F1AC
-_0804B108: .4byte gUnknown_202F1A8
-_0804B10C: .4byte gUnknown_810ACC0
-_0804B110: .4byte 0x00003a0e
-_0804B114: .4byte gUnknown_202F1B4
-_0804B118: .4byte gUnknown_202F1AE
-_0804B11C: .4byte gUnknown_202F1B0
-_0804B120: .4byte gUnknown_202F1B2
-_0804B124: .4byte gUnknown_202F1AD
-_0804B128: .4byte gUnknown_202F1B8
-_0804B12C: .4byte 0x00000664
-_0804B130: .4byte 0x00003a09
-_0804B134: .4byte 0x00003a0a
-_0804B138: .4byte gUnknown_202F1C8
-_0804B13C: .4byte 0x0000e218
-_0804B140: .4byte 0x0000ffff
-_0804B144: .4byte 0x0000e21a
-_0804B148: .4byte 0x0000e21c
-_0804B14C: .4byte 0x0000e21e
-_0804B150: .4byte 0x00003a16
-_0804B154: .4byte gUnknown_202F1A9
-_0804B158: .4byte gUnknown_202F1D8
-_0804B15C: .4byte 0x00003a08
-_0804B160: .4byte 0x00003a14
-_0804B164:
- mov r0, r8
- ldrb r7, [r0]
- movs r6, 0x20
-_0804B16A:
- cmp r7, 0x8
- beq _0804B17E
- movs r0, 0x2
- movs r1, 0x9
- bl sub_808411C
- adds r5, r0, 0
- movs r0, 0x2
- movs r1, 0x8
- b _0804B18C
-_0804B17E:
- movs r0, 0x2
- movs r1, 0x5
- bl sub_808411C
- adds r5, r0, 0
- movs r0, 0x2
- movs r1, 0x4
-_0804B18C:
- bl sub_808411C
- adds r4, r0, 0
- cmp r5, 0x6
- bgt _0804B19A
- cmp r4, 0x4
- ble _0804B1A4
-_0804B19A:
- subs r6, 0x1
- cmp r6, 0
- bne _0804B16A
- movs r5, 0x4
- movs r4, 0x4
-_0804B1A4:
- movs r0, 0x38
- adds r1, r5, 0
- bl __divsi3
- cmp r0, 0x7
- bgt _0804B1B2
- movs r5, 0x1
-_0804B1B2:
- movs r0, 0x20
- adds r1, r4, 0
- bl __divsi3
- cmp r0, 0x7
- bgt _0804B1C0
- movs r4, 0x1
-_0804B1C0:
- ldr r2, _0804B1EC
- ldr r0, [r2]
- ldr r1, _0804B1F0
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _0804B1F4
- adds r0, r2
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, _0804B1F8
- str r7, [r0]
- movs r0, 0xF
- ands r0, r7
- cmp r0, 0xB
- bhi _0804B274
- lsls r0, 2
- ldr r1, _0804B1FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804B1EC: .4byte gUnknown_203B418
-_0804B1F0: .4byte 0x00003a08
-_0804B1F4: .4byte 0x00003a0c
-_0804B1F8: .4byte gUnknown_202F1D0
-_0804B1FC: .4byte _0804B200
- .align 2, 0
-_0804B200:
- .4byte _0804B274
- .4byte _0804B230
- .4byte _0804B280
- .4byte _0804B298
- .4byte _0804B2A4
- .4byte _0804B2B0
- .4byte _0804B2CC
- .4byte _0804B2D8
- .4byte _0804B274
- .4byte _0804B2E0
- .4byte _0804B2E8
- .4byte _0804B250
-_0804B230:
- movs r0, 0x2
- bl sub_8084100
- adds r4, r0, 0x2
- ldr r1, _0804B24C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x4
- adds r1, r4, 0
- mov r2, r8
- bl sub_804B634
- b _0804B2AA
- .align 2, 0
-_0804B24C: .4byte gUnknown_202F1AE
-_0804B250:
- movs r0, 0x2
- bl sub_8084100
- adds r4, r0, 0x2
- ldr r1, _0804B270
- movs r0, 0x2
- strb r0, [r1]
- movs r0, 0x4
- adds r1, r4, 0
- mov r2, r8
- bl sub_804B634
- movs r6, 0x1
- mov r10, r6
- b _0804B2F6
- .align 2, 0
-_0804B270: .4byte gUnknown_202F1AE
-_0804B274:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r8
- bl sub_804B634
- b _0804B2D2
-_0804B280:
- bl sub_804C918
- ldr r0, _0804B290
- ldr r0, [r0]
- ldr r1, _0804B294
- adds r0, r1
- b _0804B2BC
- .align 2, 0
-_0804B290: .4byte gUnknown_203B418
-_0804B294: .4byte 0x00003a08
-_0804B298:
- mov r0, r8
- bl sub_804B72C
- movs r2, 0x1
- mov r10, r2
- b _0804B2F6
-_0804B2A4:
- mov r0, r8
- bl sub_804BC80
-_0804B2AA:
- movs r3, 0x1
- mov r10, r3
- b _0804B2F6
-_0804B2B0:
- bl sub_804C9D0
- ldr r0, _0804B2C4
- ldr r0, [r0]
- ldr r6, _0804B2C8
- adds r0, r6
-_0804B2BC:
- movs r1, 0x1
- strb r1, [r0]
- b _0804B2F6
- .align 2, 0
-_0804B2C4: .4byte gUnknown_203B418
-_0804B2C8: .4byte 0x00003a08
-_0804B2CC:
- mov r0, r8
- bl sub_804C0A8
-_0804B2D2:
- movs r0, 0x1
- mov r10, r0
- b _0804B2F6
-_0804B2D8:
- mov r0, r8
- bl sub_804C190
- b _0804B2F6
-_0804B2E0:
- mov r0, r8
- bl sub_804C2F4
- b _0804B2F6
-_0804B2E8:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r8
- bl sub_804C53C
- movs r1, 0x1
- mov r10, r1
-_0804B2F6:
- bl sub_80518F0
- bl sub_804FCCC
- ldr r0, _0804B4B4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0804B36A
- movs r7, 0
- movs r1, 0
- mov r0, sp
- adds r0, 0x3F
-_0804B30E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _0804B30E
- movs r5, 0
-_0804B318:
- movs r4, 0
- adds r6, r5, 0x1
-_0804B31C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- adds r1, r0, 0
- ldrh r0, [r1]
- movs r2, 0x3
- ands r2, r0
- cmp r2, 0x1
- bne _0804B340
- ldrb r0, [r1, 0x9]
- cmp r0, 0xF0
- bhi _0804B340
- adds r7, 0x1
- cmp r0, 0x3F
- bhi _0804B340
- add r0, sp
- strb r2, [r0]
-_0804B340:
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0804B31C
- adds r5, r6, 0
- cmp r5, 0x37
- ble _0804B318
- movs r1, 0
- movs r4, 0
-_0804B350:
- mov r2, sp
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804B35C
- adds r1, 0x1
-_0804B35C:
- adds r4, 0x1
- cmp r4, 0x3F
- ble _0804B350
- cmp r7, 0x1D
- ble _0804B36A
- cmp r1, 0x1
- bgt _0804B376
-_0804B36A:
- movs r3, 0x1
- add r9, r3
- mov r6, r9
- cmp r6, 0x9
- bgt _0804B376
- b _0804B082
-_0804B376:
- mov r0, r9
- cmp r0, 0xA
- bne _0804B398
- ldr r1, _0804B4B8
- ldr r0, _0804B4BC
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1, 0x2]
- bl sub_804C918
- ldr r0, _0804B4C0
- ldr r0, [r0]
- ldr r1, _0804B4C4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0804B398:
- bl sub_804E9DC
- mov r2, r10
- cmp r2, 0
- beq _0804B3AA
- movs r0, 0x1
- mov r1, r8
- bl sub_80506F0
-_0804B3AA:
- movs r0, 0x64
- bl sub_8084100
- movs r4, 0
- mov r3, r8
- ldrb r3, [r3, 0x19]
- cmp r0, r3
- bge _0804B3BC
- movs r4, 0x1
-_0804B3BC:
- mov r0, r8
- adds r1, r4, 0
- bl sub_804FF08
- mov r0, r8
- adds r1, r4, 0
- bl sub_8050438
- bl sub_804FBE8
- ldr r5, _0804B4C0
- ldr r1, [r5]
- ldr r6, _0804B4C8
- adds r0, r1, r6
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r4, 0x1
- negs r4, r4
- cmp r0, r4
- beq _0804B42A
- ldr r3, _0804B4CC
- adds r0, r1, r3
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, r4
- beq _0804B42A
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0804B436
- ldr r1, [r5]
- ldr r0, _0804B4D0
- adds r2, r1, r0
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, r4
- beq _0804B42A
- ldr r6, _0804B4D4
- adds r1, r6
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r4
- beq _0804B42A
- movs r6, 0
- ldrsh r0, [r2, r6]
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r2, 0
- bl sub_8050C30
- lsls r0, 24
- cmp r0, 0
- bne _0804B436
-_0804B42A:
- ldr r3, [sp, 0x40]
- adds r3, 0x1
- str r3, [sp, 0x40]
- cmp r3, 0x9
- bgt _0804B436
- b _0804B058
-_0804B436:
- ldr r6, [sp, 0x40]
- cmp r6, 0xA
- bne _0804B474
- ldr r1, _0804B4B8
- ldr r0, _0804B4BC
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1, 0x2]
- bl sub_804FD30
- bl sub_804C918
- ldr r0, _0804B4C0
- ldr r0, [r0]
- ldr r1, _0804B4C4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bl sub_804E9DC
- mov r0, r8
- movs r1, 0
- bl sub_804FF08
- mov r0, r8
- movs r1, 0
- bl sub_8050438
- bl sub_804FBE8
-_0804B474:
- ldr r1, _0804B4B8
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- blt _0804B498
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0
- blt _0804B498
- movs r6, 0
- ldrsh r0, [r1, r6]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- movs r2, 0xBE
- lsls r2, 1
- movs r3, 0
- bl sub_806C330
-_0804B498:
- ldr r0, _0804B4D8
- ldr r0, [r0]
- cmp r0, 0
- blt _0804B4E0
- mov r0, r8
- bl sub_8051654
- ldr r0, _0804B4C0
- ldr r0, [r0]
- ldr r3, _0804B4DC
- adds r0, r3
- movs r1, 0x1
- b _0804B4EA
- .align 2, 0
-_0804B4B4: .4byte gUnknown_202F1A9
-_0804B4B8: .4byte gUnknown_202F1D8
-_0804B4BC: .4byte 0x0000ffff
-_0804B4C0: .4byte gUnknown_203B418
-_0804B4C4: .4byte 0x00003a08
-_0804B4C8: .4byte 0x0000e218
-_0804B4CC: .4byte 0x0000e21a
-_0804B4D0: .4byte 0x0000e21c
-_0804B4D4: .4byte 0x0000e21e
-_0804B4D8: .4byte gUnknown_202F1B8
-_0804B4DC: .4byte 0x00003a0a
-_0804B4E0:
- ldr r0, _0804B524
- ldr r0, [r0]
- ldr r6, _0804B528
- adds r0, r6
- movs r1, 0
-_0804B4EA:
- strb r1, [r0]
- movs r0, 0
- movs r1, 0
- movs r2, 0x38
- movs r3, 0x20
- bl sub_804B534
- ldr r0, _0804B52C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804B504
- bl sub_804FC74
-_0804B504:
- ldr r0, _0804B524
- ldr r0, [r0]
- ldr r1, _0804B530
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B524: .4byte gUnknown_203B418
-_0804B528: .4byte 0x00003a0a
-_0804B52C: .4byte gUnknown_202F1A8
-_0804B530: .4byte 0x00013568
- thumb_func_end sub_804AFAC
-
- thumb_func_start sub_804B534
-sub_804B534:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r1, [sp]
- str r2, [sp, 0x4]
- mov r10, r3
- adds r5, r0, 0
- cmp r5, r2
- bge _0804B620
-_0804B54C:
- ldr r4, [sp]
- adds r0, r5, 0x1
- mov r9, r0
- cmp r4, r10
- bge _0804B618
- movs r6, 0x3
- mov r8, r6
-_0804B55A:
- movs r3, 0
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp, 0xC]
- bl sub_8049590
- adds r2, r0, 0
- ldrh r0, [r2]
- ldr r6, _0804B630
- adds r1, r6, 0
- ands r1, r0
- strh r1, [r2]
- ldrb r0, [r2, 0x9]
- adds r6, r4, 0x1
- ldr r3, [sp, 0xC]
- cmp r0, 0xFF
- bne _0804B612
- movs r7, 0x3
- adds r0, r1, 0
- ands r0, r7
- cmp r0, 0x1
- bne _0804B612
- cmp r5, 0
- ble _0804B5A4
- subs r0, r5, 0x1
- adds r1, r4, 0
- str r2, [sp, 0x8]
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- ldr r2, [sp, 0x8]
- ldr r3, [sp, 0xC]
- cmp r0, 0x1
- bne _0804B5A4
- movs r3, 0x1
-_0804B5A4:
- cmp r4, 0
- ble _0804B5C4
- subs r1, r4, 0x1
- adds r0, r5, 0
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x8]
- ldr r3, [sp, 0xC]
- cmp r0, 0x1
- bne _0804B5C4
- adds r3, 0x1
-_0804B5C4:
- cmp r5, 0x35
- bgt _0804B5E4
- mov r0, r9
- adds r1, r4, 0
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x8]
- ldr r3, [sp, 0xC]
- cmp r0, 0x1
- bne _0804B5E4
- adds r3, 0x1
-_0804B5E4:
- adds r6, r4, 0x1
- cmp r5, 0x1D
- bgt _0804B606
- adds r0, r5, 0
- adds r1, r6, 0
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x8]
- ldr r3, [sp, 0xC]
- cmp r0, 0x1
- bne _0804B606
- adds r3, 0x1
-_0804B606:
- cmp r3, 0x2
- ble _0804B612
- ldrh r1, [r2]
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r2]
-_0804B612:
- adds r4, r6, 0
- cmp r4, r10
- blt _0804B55A
-_0804B618:
- mov r5, r9
- ldr r0, [sp, 0x4]
- cmp r5, r0
- blt _0804B54C
-_0804B620:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B630: .4byte 0x0000fffb
- thumb_func_end sub_804B534
-
- thumb_func_start sub_804B634
-sub_804B634:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r4, _0804B718
- add sp, r4
- adds r4, r0, 0
- adds r5, r1, 0
- mov r9, r2
- ldr r0, _0804B71C
- add r0, sp
- mov r8, r0
- ldr r6, _0804B720
- add r6, sp
- adds r1, r6, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_804D024
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804D084
- mov r1, r9
- movs r3, 0x1
- ldrsb r3, [r1, r3]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804D154
- str r6, [sp]
- mov r1, r9
- ldrb r0, [r1, 0xD]
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl sub_804D2D0
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r9
- bl sub_804D5B0
- str r6, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl sub_804D8C8
- str r6, [sp]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl sub_804E590
- mov r0, r9
- ldrb r3, [r0, 0x9]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804F0D0
- ldr r0, _0804B724
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804EBC8
- ldr r0, _0804B728
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804EEE4
- mov r0, r9
- ldrb r3, [r0, 0x13]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804CBEC
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804E03C
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_804D534
- movs r3, 0xE5
- lsls r3, 5
- add sp, r3
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804B718: .4byte 0xffffe360
-_0804B71C: .4byte 0x00001c28
-_0804B720: .4byte 0x00001c64
-_0804B724: .4byte gUnknown_202F1B0
-_0804B728: .4byte gUnknown_202F1B2
- thumb_func_end sub_804B634
-
- thumb_func_start sub_804B72C
-sub_804B72C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0804B9AC
- add sp, r4
- movs r1, 0xE5
- lsls r1, 5
- add r1, sp
- str r0, [r1]
- movs r5, 0
- movs r6, 0x1
- ldr r1, _0804B9B0
- add r1, sp
- str r5, [r1]
- movs r0, 0x5
- str r0, [r1, 0x4]
- movs r0, 0x1C
- str r0, [r1, 0xC]
- movs r0, 0x33
- str r0, [r1, 0x14]
- movs r0, 0x38
- str r0, [r1, 0x18]
- movs r2, 0x10
- str r2, [r1, 0x8]
- movs r0, 0x27
- str r0, [r1, 0x10]
- ldr r1, _0804B9B4
- add r1, sp
- movs r0, 0x2
- str r0, [r1]
- movs r0, 0x7
- str r0, [r1, 0x4]
- str r2, [r1, 0x8]
- movs r0, 0x19
- str r0, [r1, 0xC]
- movs r0, 0x1E
- str r0, [r1, 0x10]
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- bl sub_804D084
- mov r2, sp
- adds r2, 0x3B
- ldr r3, _0804B9B8
- add r3, sp
- str r2, [r3]
- mov r4, sp
- adds r4, 0x3C
- ldr r0, _0804B9BC
- add r0, sp
- str r4, [r0]
- mov r1, sp
- adds r1, 0x5B
- ldr r2, _0804B9C0
- add r2, sp
- str r1, [r2]
- mov r3, sp
- adds r3, 0x5C
- movs r4, 0xE6
- lsls r4, 5
- add r4, sp
- str r3, [r4]
- mov r0, sp
- adds r0, 0x7B
- ldr r1, _0804B9C4
- add r1, sp
- str r0, [r1]
- mov r2, sp
- adds r2, 0x7E
- ldr r3, _0804B9C8
- add r3, sp
- str r2, [r3]
- add r1, sp, 0x68
- add r0, sp, 0x8
- movs r2, 0xF0
- lsls r2, 1
- movs r4, 0x6
-_0804B7CC:
- strb r5, [r0, 0xA]
- strb r5, [r1, 0xA]
- adds r1, r2
- adds r0, r2
- subs r4, 0x1
- cmp r4, 0
- bne _0804B7CC
- movs r2, 0x6
- subs r2, 0x1
- movs r4, 0x4
- cmp r4, 0
- beq _0804B80C
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- add r1, sp, 0x8
- ldr r3, _0804B9CC
- add r3, sp
- str r4, [r3]
-_0804B7F6:
- strb r5, [r1, 0xA]
- strb r5, [r0, 0xA]
- adds r0, 0x20
- adds r1, 0x20
- ldr r3, _0804B9CC
- add r3, sp
- ldr r4, [r3]
- subs r4, 0x1
- str r4, [r3]
- cmp r4, 0
- bne _0804B7F6
-_0804B80C:
- movs r4, 0x1
- cmp r4, r2
- bge _0804B848
- movs r1, 0x3
-_0804B814:
- adds r5, r4, 0x1
- mov r8, r5
- cmp r1, 0x1
- ble _0804B842
- lsls r0, r4, 4
- subs r0, r4
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- adds r0, 0x20
- subs r3, r1, 0x1
- ldr r4, _0804B9CC
- add r4, sp
- str r3, [r4]
-_0804B830:
- strb r6, [r0, 0xA]
- adds r0, 0x20
- ldr r3, _0804B9CC
- add r3, sp
- ldr r5, [r3]
- subs r5, 0x1
- str r5, [r3]
- cmp r5, 0
- bne _0804B830
-_0804B842:
- mov r4, r8
- cmp r4, r2
- blt _0804B814
-_0804B848:
- movs r4, 0
- ldr r5, _0804B9D0
- add r5, sp
- str r4, [r5]
- ldr r0, _0804B9CC
- add r0, sp
- str r4, [r0]
- cmp r4, 0x4
- blt _0804B85C
- b _0804BA8C
-_0804B85C:
- movs r4, 0
- ldr r2, _0804B9CC
- add r2, sp
- ldr r1, [r2]
- adds r1, 0x1
- ldr r2, _0804B9D4
- add r2, sp
- str r1, [r2]
- cmp r4, 0x6
- blt _0804B872
- b _0804BA7A
-_0804B872:
- ldr r3, _0804B9B0
- add r3, sp
- ldr r5, _0804B9D8
- add r5, sp
- str r3, [r5]
- ldr r0, _0804B9B4
- add r0, sp
- ldr r1, _0804B9DC
- add r1, sp
- str r0, [r1]
- ldr r2, _0804B9CC
- add r2, sp
- ldr r2, [r2]
- lsls r0, r2, 2
- ldr r3, [r1]
- adds r0, r3, r0
- ldr r3, _0804B9E0
- add r3, sp
- str r0, [r3]
-_0804B898:
- lsls r0, r4, 4
- subs r0, r4
- ldr r5, _0804B9CC
- add r5, sp
- ldr r5, [r5]
- adds r0, r5
- lsls r0, 5
- mov r7, sp
- adds r7, r0
- adds r7, 0x8
- ldrb r0, [r7, 0xA]
- cmp r0, 0
- bne _0804B8B4
- b _0804B9F4
-_0804B8B4:
- lsls r0, r4, 2
- ldr r1, _0804B9D8
- add r1, sp
- ldr r1, [r1]
- adds r0, r1, r0
- ldr r1, [r0]
- adds r2, r1, 0x2
- mov r10, r2
- ldr r3, _0804B9E0
- add r3, sp
- ldr r3, [r3]
- ldr r2, [r3]
- adds r5, r2, 0x2
- ldr r0, _0804B9E4
- add r0, sp
- str r5, [r0]
- adds r4, 0x1
- mov r9, r4
- lsls r0, r4, 2
- ldr r3, _0804B9D8
- add r3, sp
- ldr r3, [r3]
- adds r0, r3, r0
- ldr r4, [r0]
- subs r4, r1
- subs r4, 0x3
- ldr r5, _0804B9D4
- add r5, sp
- ldr r5, [r5]
- lsls r0, r5, 2
- ldr r1, _0804B9DC
- add r1, sp
- ldr r1, [r1]
- adds r0, r1, r0
- ldr r5, [r0]
- subs r5, r2
- subs r5, 0x3
- movs r0, 0x5
- adds r1, r4, 0
- bl sub_808411C
- mov r8, r0
- movs r0, 0x4
- adds r1, r5, 0
- bl sub_808411C
- adds r6, r0, 0
- mov r2, r8
- subs r4, r2
- adds r0, r4, 0
- bl sub_8084100
- adds r4, r0, 0
- add r4, r10
- subs r5, r6
- adds r0, r5, 0
- bl sub_8084100
- ldr r5, _0804B9E4
- add r5, sp
- ldr r3, [r5]
- adds r3, r0
- mov r10, r3
- mov r0, r8
- adds r3, r4, r0
- add r6, r10
- strh r4, [r7]
- strh r3, [r7, 0x4]
- mov r1, r10
- strh r1, [r7, 0x2]
- strh r6, [r7, 0x6]
- mov r8, r9
- ldr r5, _0804B9D0
- add r5, sp
- ldr r2, [r5]
- adds r2, 0x1
- ldr r5, _0804B9E8
- add r5, sp
- str r2, [r5]
- cmp r4, r3
- bge _0804B99E
-_0804B956:
- mov r5, r10
- adds r7, r4, 0x1
- cmp r5, r6
- bge _0804B998
- ldr r0, _0804B9EC
- mov r9, r0
-_0804B962:
- adds r0, r4, 0
- adds r1, r5, 0
- ldr r2, _0804B9F0
- add r2, sp
- str r3, [r2]
- bl sub_8049590
- ldrh r1, [r0]
- mov r2, r9
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- ldr r1, _0804B9D0
- add r1, sp
- ldrb r1, [r1]
- strb r1, [r0, 0x9]
- adds r5, 0x1
- ldr r2, _0804B9F0
- add r2, sp
- ldr r3, [r2]
- cmp r5, r6
- blt _0804B962
-_0804B998:
- adds r4, r7, 0
- cmp r4, r3
- blt _0804B956
-_0804B99E:
- ldr r3, _0804B9E8
- add r3, sp
- ldr r3, [r3]
- ldr r4, _0804B9D0
- add r4, sp
- str r3, [r4]
- b _0804BA72
- .align 2, 0
-_0804B9AC: .4byte 0xffffe320
-_0804B9B0: .4byte 0x00001c28
-_0804B9B4: .4byte 0x00001c64
-_0804B9B8: .4byte 0x00001cd4
-_0804B9BC: .4byte 0x00001cd8
-_0804B9C0: .4byte 0x00001cbc
-_0804B9C4: .4byte 0x00001cc4
-_0804B9C8: .4byte 0x00001cc8
-_0804B9CC: .4byte 0x00001ca4
-_0804B9D0: .4byte 0x00001ca8
-_0804B9D4: .4byte 0x00001ccc
-_0804B9D8: .4byte 0x00001cac
-_0804B9DC: .4byte 0x00001cb4
-_0804B9E0: .4byte 0x00001cb8
-_0804B9E4: .4byte 0x00001cb0
-_0804B9E8: .4byte 0x00001cd0
-_0804B9EC: .4byte 0x0000fffc
-_0804B9F0: .4byte 0x00001cdc
-_0804B9F4:
- lsls r0, r4, 2
- ldr r5, _0804BBE8
- add r5, sp
- ldr r5, [r5]
- adds r0, r5, r0
- ldr r2, [r0]
- adds r0, r2, 0x1
- ldr r1, _0804BBEC
- add r1, sp
- ldr r1, [r1]
- ldr r3, [r1]
- adds r6, r3, 0x1
- adds r4, 0x1
- mov r8, r4
- lsls r1, r4, 2
- adds r1, r5, r1
- ldr r1, [r1]
- subs r1, r2
- subs r1, 0x3
- ldr r5, _0804BBF0
- add r5, sp
- ldr r5, [r5]
- lsls r2, r5, 2
- ldr r4, _0804BBF4
- add r4, sp
- ldr r4, [r4]
- adds r2, r4, r2
- ldr r4, [r2]
- subs r4, r3
- subs r4, 0x3
- adds r1, r0, r1
- bl sub_808411C
- adds r5, r0, 0
- adds r4, r6, r4
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_808411C
- adds r4, r0, 0
- strh r5, [r7]
- adds r0, r5, 0x1
- strh r0, [r7, 0x4]
- strh r4, [r7, 0x2]
- adds r0, r4, 0x1
- strh r0, [r7, 0x6]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, _0804BBF8
- adds r2, r3, 0
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0xFF
- strb r1, [r0, 0x9]
-_0804BA72:
- mov r4, r8
- cmp r4, 0x6
- bge _0804BA7A
- b _0804B898
-_0804BA7A:
- ldr r4, _0804BBF0
- add r4, sp
- ldr r4, [r4]
- ldr r5, _0804BBFC
- add r5, sp
- str r4, [r5]
- cmp r4, 0x4
- bge _0804BA8C
- b _0804B85C
-_0804BA8C:
- add r1, sp, 0x8
- movs r6, 0
- movs r0, 0x1
- strb r0, [r1, 0x16]
- ldr r1, _0804BC00
- add r1, sp
- strb r0, [r1]
- movs r1, 0xFF
- lsls r1, 1
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC04
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC08
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC0C
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC10
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC14
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC18
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC1C
- add r1, sp
- strb r0, [r1]
- add r1, sp, 0x8
- strb r0, [r1, 0x14]
- ldr r5, _0804BC20
- add r5, sp
- ldr r5, [r5]
- strb r0, [r5]
- ldr r1, _0804BC24
- add r1, sp
- ldr r1, [r1]
- strb r0, [r1]
- ldr r2, _0804BC28
- add r2, sp
- ldr r2, [r2]
- strb r0, [r2]
- movs r3, 0xE6
- lsls r3, 5
- add r3, sp
- ldr r3, [r3]
- strb r0, [r3]
- ldr r4, _0804BC2C
- add r4, sp
- ldr r4, [r4]
- strb r0, [r4]
- ldr r5, _0804BC30
- add r5, sp
- ldr r5, [r5]
- strb r0, [r5]
- ldr r1, _0804BC34
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC38
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC3C
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC40
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC44
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC48
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC4C
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC50
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC54
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC58
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC5C
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC60
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC64
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC68
- add r1, sp
- strb r0, [r1]
- ldr r1, _0804BC6C
- add r1, sp
- strb r0, [r1]
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- movs r4, 0xE5
- lsls r4, 5
- add r4, sp
- ldr r3, [r4]
- bl sub_804D5B0
- ldr r5, _0804BC70
- add r5, sp
- ldr r4, _0804BC74
- add r4, sp
- str r4, [sp]
- str r6, [sp, 0x4]
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- adds r3, r5, 0
- bl sub_804D8C8
- str r4, [sp]
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- adds r3, r5, 0
- bl sub_804E590
- ldr r0, _0804BC78
- movs r5, 0
- ldrsh r3, [r0, r5]
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- bl sub_804EBC8
- ldr r0, _0804BC7C
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- bl sub_804EEE4
- movs r2, 0xE5
- lsls r2, 5
- add r2, sp
- ldr r2, [r2]
- ldrb r3, [r2, 0x13]
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- bl sub_804CBEC
- add r0, sp, 0x8
- movs r1, 0x6
- movs r2, 0x4
- bl sub_804E03C
- movs r3, 0xE7
- lsls r3, 5
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804BBE8: .4byte 0x00001cac
-_0804BBEC: .4byte 0x00001cb8
-_0804BBF0: .4byte 0x00001ccc
-_0804BBF4: .4byte 0x00001cb4
-_0804BBF8: .4byte 0x0000fffc
-_0804BBFC: .4byte 0x00001ca4
-_0804BC00: .4byte 0x000001fd
-_0804BC04: .4byte 0x000003dd
-_0804BC08: .4byte 0x000003de
-_0804BC0C: .4byte 0x000005bd
-_0804BC10: .4byte 0x000005be
-_0804BC14: .4byte 0x0000079d
-_0804BC18: .4byte 0x0000079e
-_0804BC1C: .4byte 0x0000097d
-_0804BC20: .4byte 0x00001cd4
-_0804BC24: .4byte 0x00001cd8
-_0804BC28: .4byte 0x00001cbc
-_0804BC2C: .4byte 0x00001cc4
-_0804BC30: .4byte 0x00001cc8
-_0804BC34: .4byte 0x0000025d
-_0804BC38: .4byte 0x0000025e
-_0804BC3C: .4byte 0x0000043d
-_0804BC40: .4byte 0x0000043e
-_0804BC44: .4byte 0x0000061d
-_0804BC48: .4byte 0x0000061e
-_0804BC4C: .4byte 0x000007fd
-_0804BC50: .4byte 0x000007fe
-_0804BC54: .4byte 0x000009dd
-_0804BC58: .4byte 0x0000097c
-_0804BC5C: .4byte 0x0000099b
-_0804BC60: .4byte 0x0000099c
-_0804BC64: .4byte 0x000009bb
-_0804BC68: .4byte 0x000009bc
-_0804BC6C: .4byte 0x000009db
-_0804BC70: .4byte 0x00001c28
-_0804BC74: .4byte 0x00001c64
-_0804BC78: .4byte gUnknown_202F1B0
-_0804BC7C: .4byte gUnknown_202F1B2
- thumb_func_end sub_804B72C
-
- thumb_func_start sub_804BC80
-sub_804BC80:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0804BED0
- add sp, r4
- movs r1, 0xE5
- lsls r1, 5
- add r1, sp
- str r0, [r1]
- movs r4, 0x1
- movs r5, 0
- ldr r1, _0804BED4
- add r1, sp
- str r5, [r1]
- movs r0, 0xB
- str r0, [r1, 0x4]
- movs r0, 0x16
- str r0, [r1, 0x8]
- movs r0, 0x21
- str r0, [r1, 0xC]
- movs r0, 0x2C
- str r0, [r1, 0x10]
- movs r0, 0x38
- str r0, [r1, 0x14]
- ldr r1, _0804BED8
- add r1, sp
- str r4, [r1]
- movs r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0x10
- str r0, [r1, 0x8]
- movs r0, 0x17
- str r0, [r1, 0xC]
- movs r0, 0x1F
- str r0, [r1, 0x10]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x4
- bl sub_804D084
- add r6, sp, 0x70
- add r1, sp, 0x68
- add r0, sp, 0x8
- movs r3, 0xF0
- lsls r3, 1
- movs r2, 0x5
-_0804BCE0:
- strb r4, [r0, 0xA]
- strb r4, [r1, 0xA]
- adds r1, r3
- adds r0, r3
- subs r2, 0x1
- cmp r2, 0
- bne _0804BCE0
- movs r3, 0x5
- subs r3, 0x1
- movs r2, 0x4
- cmp r2, 0
- beq _0804BD1A
- lsls r0, r3, 4
- subs r0, r3
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- add r1, sp, 0x8
- mov r10, r2
-_0804BD06:
- strb r4, [r1, 0xA]
- strb r4, [r0, 0xA]
- adds r0, 0x20
- adds r1, 0x20
- movs r2, 0x1
- negs r2, r2
- add r10, r2
- mov r2, r10
- cmp r2, 0
- bne _0804BD06
-_0804BD1A:
- movs r2, 0x1
- cmp r2, r3
- bge _0804BD58
- movs r1, 0x3
-_0804BD22:
- adds r4, r2, 0x1
- ldr r0, _0804BEDC
- add r0, sp
- str r4, [r0]
- cmp r1, 0x1
- ble _0804BD4E
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- adds r0, 0x20
- subs r2, r1, 0x1
- mov r10, r2
-_0804BD3E:
- strb r5, [r0, 0xA]
- adds r0, 0x20
- movs r4, 0x1
- negs r4, r4
- add r10, r4
- mov r2, r10
- cmp r2, 0
- bne _0804BD3E
-_0804BD4E:
- ldr r4, _0804BEDC
- add r4, sp
- ldr r2, [r4]
- cmp r2, r3
- blt _0804BD22
-_0804BD58:
- add r0, sp, 0x8
- movs r1, 0x1
- strb r1, [r0, 0x8]
- movs r0, 0xF2
- lsls r0, 3
- add r0, sp
- strb r1, [r0]
- strb r1, [r6]
- movs r0, 0xFE
- lsls r0, 3
- add r0, sp
- strb r1, [r0]
- movs r5, 0
- ldr r6, _0804BEE0
- add r6, sp
- str r5, [r6]
- mov r10, r5
- cmp r5, 0x4
- blt _0804BD80
- b _0804BFAC
-_0804BD80:
- movs r0, 0x4
- movs r1, 0xE6
- lsls r1, 5
- add r1, sp
- str r0, [r1]
-_0804BD8A:
- movs r2, 0
- cmp r2, 0x5
- blt _0804BD92
- b _0804BF94
-_0804BD92:
- ldr r3, _0804BED4
- add r3, sp
- ldr r4, _0804BEE4
- add r4, sp
- str r3, [r4]
- ldr r5, _0804BED8
- add r5, sp
- ldr r6, _0804BEE8
- add r6, sp
- str r5, [r6]
- mov r1, r10
- lsls r0, r1, 2
- adds r0, r5, r0
- ldr r3, _0804BEEC
- add r3, sp
- str r0, [r3]
-_0804BDB2:
- lsls r0, r2, 4
- subs r0, r2
- add r0, r10
- lsls r0, 5
- mov r7, sp
- adds r7, r0
- adds r7, 0x8
- ldrb r0, [r7, 0x8]
- adds r4, r2, 0x1
- ldr r5, _0804BEDC
- add r5, sp
- str r4, [r5]
- cmp r0, 0
- beq _0804BDD0
- b _0804BF88
-_0804BDD0:
- ldrb r0, [r7, 0xA]
- cmp r0, 0
- bne _0804BDD8
- b _0804BF00
-_0804BDD8:
- lsls r0, r2, 2
- ldr r6, _0804BEE4
- add r6, sp
- ldr r6, [r6]
- adds r0, r6, r0
- ldr r1, [r0]
- adds r0, r1, 0x2
- mov r9, r0
- ldr r3, _0804BEEC
- add r3, sp
- ldr r3, [r3]
- ldr r2, [r3]
- adds r4, r2, 0x2
- ldr r5, _0804BEF0
- add r5, sp
- str r4, [r5]
- ldr r6, _0804BEDC
- add r6, sp
- ldr r6, [r6]
- lsls r0, r6, 2
- ldr r3, _0804BEE4
- add r3, sp
- ldr r3, [r3]
- adds r0, r3, r0
- ldr r4, [r0]
- subs r4, r1
- subs r4, 0x3
- ldr r5, _0804BEE8
- add r5, sp
- ldr r5, [r5]
- movs r6, 0xE6
- lsls r6, 5
- add r6, sp
- ldr r6, [r6]
- adds r0, r5, r6
- ldr r5, [r0]
- subs r5, r2
- subs r5, 0x3
- movs r0, 0x5
- adds r1, r4, 0
- bl sub_808411C
- mov r8, r0
- movs r0, 0x4
- adds r1, r5, 0
- bl sub_808411C
- adds r6, r0, 0
- mov r0, r8
- subs r4, r0
- adds r0, r4, 0
- bl sub_8084100
- adds r4, r0, 0
- add r4, r9
- subs r5, r6
- adds r0, r5, 0
- bl sub_8084100
- ldr r2, _0804BEF0
- add r2, sp
- ldr r1, [r2]
- adds r1, r0
- mov r9, r1
- mov r5, r8
- adds r3, r4, r5
- add r6, r9
- strh r4, [r7]
- strh r3, [r7, 0x4]
- strh r1, [r7, 0x2]
- strh r6, [r7, 0x6]
- ldr r1, _0804BEE0
- add r1, sp
- ldr r0, [r1]
- adds r0, 0x1
- ldr r1, _0804BEF4
- add r1, sp
- str r0, [r1]
- cmp r4, r3
- bge _0804BEC0
-_0804BE78:
- mov r5, r9
- adds r7, r4, 0x1
- cmp r5, r6
- bge _0804BEBA
- ldr r2, _0804BEF8
- mov r8, r2
-_0804BE84:
- adds r0, r4, 0
- adds r1, r5, 0
- ldr r2, _0804BEFC
- add r2, sp
- str r3, [r2]
- bl sub_8049590
- ldrh r1, [r0]
- mov r2, r8
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- ldr r1, _0804BEE0
- add r1, sp
- ldrb r1, [r1]
- strb r1, [r0, 0x9]
- adds r5, 0x1
- ldr r2, _0804BEFC
- add r2, sp
- ldr r3, [r2]
- cmp r5, r6
- blt _0804BE84
-_0804BEBA:
- adds r4, r7, 0
- cmp r4, r3
- blt _0804BE78
-_0804BEC0:
- ldr r3, _0804BEF4
- add r3, sp
- ldr r3, [r3]
- ldr r4, _0804BEE0
- add r4, sp
- str r3, [r4]
- b _0804BF88
- .align 2, 0
-_0804BED0: .4byte 0xffffe338
-_0804BED4: .4byte 0x00001c28
-_0804BED8: .4byte 0x00001c64
-_0804BEDC: .4byte 0x00001cb8
-_0804BEE0: .4byte 0x00001ca4
-_0804BEE4: .4byte 0x00001ca8
-_0804BEE8: .4byte 0x00001cb0
-_0804BEEC: .4byte 0x00001cb4
-_0804BEF0: .4byte 0x00001cac
-_0804BEF4: .4byte 0x00001cbc
-_0804BEF8: .4byte 0x0000fffc
-_0804BEFC: .4byte 0x00001cc4
-_0804BF00:
- lsls r0, r2, 2
- ldr r4, _0804C080
- add r4, sp
- ldr r4, [r4]
- adds r0, r4, r0
- ldr r2, [r0]
- adds r0, r2, 0x1
- ldr r5, _0804C084
- add r5, sp
- ldr r5, [r5]
- ldr r3, [r5]
- adds r6, r3, 0x1
- mov r8, r6
- ldr r4, _0804C088
- add r4, sp
- ldr r4, [r4]
- lsls r1, r4, 2
- ldr r5, _0804C080
- add r5, sp
- ldr r5, [r5]
- adds r1, r5, r1
- ldr r1, [r1]
- subs r1, r2
- subs r1, 0x3
- ldr r6, _0804C08C
- add r6, sp
- ldr r6, [r6]
- movs r4, 0xE6
- lsls r4, 5
- add r4, sp
- ldr r4, [r4]
- adds r2, r6, r4
- ldr r4, [r2]
- subs r4, r3
- subs r4, 0x3
- adds r1, r0, r1
- bl sub_808411C
- adds r5, r0, 0
- add r4, r8
- mov r0, r8
- adds r1, r4, 0
- bl sub_808411C
- adds r4, r0, 0
- strh r5, [r7]
- adds r0, r5, 0x1
- strh r0, [r7, 0x4]
- strh r4, [r7, 0x2]
- adds r0, r4, 0x1
- strh r0, [r7, 0x6]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- ldr r6, _0804C090
- adds r2, r6, 0
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0xFF
- strb r1, [r0, 0x9]
-_0804BF88:
- ldr r0, _0804C088
- add r0, sp
- ldr r2, [r0]
- cmp r2, 0x5
- bge _0804BF94
- b _0804BDB2
-_0804BF94:
- movs r2, 0xE6
- lsls r2, 5
- add r2, sp
- ldr r1, [r2]
- adds r1, 0x4
- str r1, [r2]
- movs r3, 0x1
- add r10, r3
- mov r4, r10
- cmp r4, 0x4
- bge _0804BFAC
- b _0804BD8A
-_0804BFAC:
- movs r2, 0x1
- movs r1, 0x1
- movs r3, 0xF
- add r4, sp, 0x1C
-_0804BFB4:
- movs r5, 0
- mov r10, r5
- lsls r0, r3, 5
- adds r0, r4
-_0804BFBC:
- strb r1, [r0]
- strb r1, [r0, 0x1F]
- adds r0, 0x20
- movs r6, 0x1
- add r10, r6
- mov r5, r10
- cmp r5, 0x2
- ble _0804BFBC
- movs r0, 0xF0
- lsls r0, 1
- adds r3, 0xF
- adds r2, 0x1
- cmp r2, 0x3
- ble _0804BFB4
- mov r10, r6
- movs r5, 0x1
- adds r4, r0, 0
- mov r6, sp
- adds r6, r4
- adds r6, 0x8
-_0804BFE4:
- movs r2, 0
- mov r1, r10
- lsls r0, r1, 5
- mov r3, r10
- adds r3, 0x1
- adds r1, r0, r6
- add r0, sp
- adds r0, 0x8
-_0804BFF4:
- strb r5, [r0, 0x16]
- strb r5, [r1, 0x15]
- adds r1, r4
- adds r0, r4
- adds r2, 0x1
- cmp r2, 0x3
- ble _0804BFF4
- mov r10, r3
- cmp r3, 0x2
- ble _0804BFE4
- ldr r5, _0804C094
- add r5, sp
- ldr r4, _0804C098
- add r4, sp
- str r4, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x4
- adds r3, r5, 0
- bl sub_804D8C8
- str r4, [sp]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x4
- adds r3, r5, 0
- bl sub_804E590
- ldr r0, _0804C09C
- movs r2, 0
- ldrsh r3, [r0, r2]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x4
- bl sub_804EBC8
- ldr r0, _0804C0A0
- movs r4, 0
- ldrsh r3, [r0, r4]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x4
- bl sub_804EEE4
- movs r5, 0xE5
- lsls r5, 5
- add r5, sp
- ldr r5, [r5]
- ldrb r3, [r5, 0x13]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x4
- bl sub_804CBEC
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x4
- bl sub_804E03C
- ldr r3, _0804C0A4
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C080: .4byte 0x00001ca8
-_0804C084: .4byte 0x00001cb4
-_0804C088: .4byte 0x00001cb8
-_0804C08C: .4byte 0x00001cb0
-_0804C090: .4byte 0x0000fffc
-_0804C094: .4byte 0x00001c28
-_0804C098: .4byte 0x00001c64
-_0804C09C: .4byte gUnknown_202F1B0
-_0804C0A0: .4byte gUnknown_202F1B2
-_0804C0A4: .4byte 0x00001cc8
- thumb_func_end sub_804BC80
-
- thumb_func_start sub_804C0A8
-sub_804C0A8:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, _0804C17C
- add sp, r4
- adds r6, r0, 0
- ldr r4, _0804C180
- add r4, sp
- movs r0, 0
- str r0, [r4]
- movs r0, 0xB
- str r0, [r4, 0x4]
- movs r0, 0x16
- str r0, [r4, 0x8]
- movs r0, 0x21
- str r0, [r4, 0xC]
- movs r0, 0x2C
- str r0, [r4, 0x10]
- movs r0, 0x38
- str r0, [r4, 0x14]
- ldr r5, _0804C184
- add r5, sp
- movs r0, 0x4
- str r0, [r5]
- movs r0, 0xF
- str r0, [r5, 0x4]
- movs r0, 0x1
- mov r8, r0
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_804D084
- movs r3, 0x1
- ldrsb r3, [r6, r3]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_804D154
- str r5, [sp]
- ldrb r0, [r6, 0xD]
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- adds r3, r4, 0
- bl sub_804D2D0
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- adds r3, r6, 0
- bl sub_804D5B0
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- adds r3, r4, 0
- bl sub_804D8C8
- str r5, [sp]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- adds r3, r4, 0
- bl sub_804E590
- ldr r0, _0804C188
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_804EBC8
- ldr r0, _0804C18C
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_804EEE4
- ldrb r3, [r6, 0x13]
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_804CBEC
- add r0, sp, 0x8
- movs r1, 0x5
- movs r2, 0x1
- bl sub_804E03C
- movs r3, 0xE5
- lsls r3, 5
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C17C: .4byte 0xffffe360
-_0804C180: .4byte 0x00001c28
-_0804C184: .4byte 0x00001c64
-_0804C188: .4byte gUnknown_202F1B0
-_0804C18C: .4byte gUnknown_202F1B2
- thumb_func_end sub_804C0A8
-
- thumb_func_start sub_804C190
-sub_804C190:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0804C2CC
- add sp, r4
- mov r10, r0
- ldr r1, _0804C2D0
- add r1, sp
- movs r2, 0xB
- str r2, [r1]
- movs r0, 0x16
- str r0, [r1, 0x4]
- movs r0, 0x21
- str r0, [r1, 0x8]
- movs r0, 0x2C
- str r0, [r1, 0xC]
- ldr r1, _0804C2D4
- add r1, sp
- movs r0, 0x2
- str r0, [r1]
- str r2, [r1, 0x4]
- movs r0, 0x14
- str r0, [r1, 0x8]
- movs r0, 0x1E
- str r0, [r1, 0xC]
- movs r0, 0x3
- mov r8, r0
- movs r7, 0x3
- add r0, sp, 0x8
- movs r1, 0x3
- movs r2, 0x3
- bl sub_804D084
- movs r1, 0
- add r5, sp, 0x50
- movs r0, 0x3E
- add r0, sp
- mov r9, r0
- mov r0, r10
- ldrb r0, [r0, 0xD]
- mov r12, r0
-_0804C1E6:
- adds r3, r1, 0x1
- cmp r7, 0
- beq _0804C204
- lsls r0, r1, 4
- subs r0, r1
- movs r2, 0x1
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- adds r1, r7, 0
-_0804C1FA:
- strb r2, [r0, 0xA]
- adds r0, 0x20
- subs r1, 0x1
- cmp r1, 0
- bne _0804C1FA
-_0804C204:
- adds r1, r3, 0
- cmp r1, r8
- blt _0804C1E6
- add r0, sp, 0x8
- movs r4, 0x1
- strb r4, [r0, 0x8]
- add r0, sp, 0x3D0
- strb r4, [r0]
- strb r4, [r5]
- movs r0, 0x82
- lsls r0, 3
- add r0, sp
- strb r4, [r0]
- ldr r6, _0804C2D0
- add r6, sp
- ldr r5, _0804C2D4
- add r5, sp
- str r5, [sp]
- mov r1, r12
- str r1, [sp, 0x4]
- add r0, sp, 0x8
- mov r1, r8
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_804D2D0
- mov r0, r9
- strb r4, [r0]
- ldr r0, _0804C2D8
- add r0, sp
- strb r4, [r0]
- ldr r0, _0804C2DC
- add r0, sp
- strb r4, [r0]
- ldr r0, _0804C2E0
- add r0, sp
- strb r4, [r0]
- add r0, sp, 0x1FC
- strb r4, [r0]
- ldr r0, _0804C2E4
- add r0, sp
- strb r4, [r0]
- add r0, sp, 0x21C
- strb r4, [r0]
- ldr r0, _0804C2E8
- add r0, sp
- strb r4, [r0]
- str r5, [sp]
- str r4, [sp, 0x4]
- add r0, sp, 0x8
- mov r1, r8
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_804D8C8
- str r5, [sp]
- add r0, sp, 0x8
- mov r1, r8
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_804E590
- ldr r0, _0804C2EC
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- mov r1, r8
- adds r2, r7, 0
- bl sub_804EBC8
- ldr r0, _0804C2F0
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- mov r1, r8
- adds r2, r7, 0
- bl sub_804EEE4
- mov r0, r10
- ldrb r3, [r0, 0x13]
- add r0, sp, 0x8
- mov r1, r8
- adds r2, r7, 0
- bl sub_804CBEC
- add r0, sp, 0x8
- mov r1, r8
- adds r2, r7, 0
- bl sub_804E03C
- movs r3, 0xE5
- lsls r3, 5
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C2CC: .4byte 0xffffe360
-_0804C2D0: .4byte 0x00001c28
-_0804C2D4: .4byte 0x00001c64
-_0804C2D8: .4byte 0x0000021d
-_0804C2DC: .4byte 0x0000021e
-_0804C2E0: .4byte 0x000003fd
-_0804C2E4: .4byte 0x0000021b
-_0804C2E8: .4byte 0x0000023b
-_0804C2EC: .4byte gUnknown_202F1B0
-_0804C2F0: .4byte gUnknown_202F1B2
- thumb_func_end sub_804C190
-
- thumb_func_start sub_804C2F4
-sub_804C2F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0804C420
- add sp, r4
- mov r8, r0
- ldr r1, _0804C424
- add r1, sp
- movs r0, 0x5
- str r0, [r1]
- movs r0, 0xF
- str r0, [r1, 0x4]
- movs r0, 0x23
- str r0, [r1, 0x8]
- movs r0, 0x32
- str r0, [r1, 0xC]
- ldr r1, _0804C428
- add r1, sp
- movs r0, 0x2
- str r0, [r1]
- movs r0, 0xB
- str r0, [r1, 0x4]
- movs r0, 0x14
- str r0, [r1, 0x8]
- movs r0, 0x1E
- str r0, [r1, 0xC]
- movs r7, 0x3
- movs r6, 0x3
- add r0, sp, 0x8
- movs r1, 0x3
- movs r2, 0x3
- bl sub_804D084
- movs r1, 0
- mov r0, r8
- ldrb r4, [r0, 0xD]
-_0804C33C:
- adds r3, r1, 0x1
- cmp r6, 0
- beq _0804C35A
- lsls r0, r1, 4
- subs r0, r1
- movs r2, 0x1
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- adds r1, r6, 0
-_0804C350:
- strb r2, [r0, 0xA]
- adds r0, 0x20
- subs r1, 0x1
- cmp r1, 0
- bne _0804C350
-_0804C35A:
- adds r1, r3, 0
- cmp r1, r7
- blt _0804C33C
- ldr r3, _0804C424
- add r3, sp
- ldr r0, _0804C428
- add r0, sp
- str r0, [sp]
- str r4, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804D2D0
- movs r4, 0x1
- ldr r3, _0804C42C
- add r3, sp
- ldr r0, _0804C430
- add r0, sp
- add r2, sp, 0x8
- movs r1, 0x2
-_0804C384:
- strb r4, [r2, 0x16]
- strb r4, [r0]
- strb r4, [r0, 0x1]
- strb r4, [r3]
- adds r3, 0x20
- adds r0, 0x20
- adds r2, 0x20
- subs r1, 0x1
- cmp r1, 0
- bge _0804C384
- ldr r5, _0804C424
- add r5, sp
- ldr r4, _0804C428
- add r4, sp
- str r4, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_804D8C8
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- add r3, sp, 0x8
- bl sub_804C43C
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x2
- add r3, sp, 0x8
- bl sub_804C43C
- str r4, [sp]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_804E590
- ldr r0, _0804C434
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804EBC8
- ldr r0, _0804C438
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804EEE4
- mov r0, r8
- ldrb r3, [r0, 0x13]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804CBEC
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804E03C
- movs r3, 0xE5
- lsls r3, 5
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C420: .4byte 0xffffe360
-_0804C424: .4byte 0x00001c28
-_0804C428: .4byte 0x00001c64
-_0804C42C: .4byte 0x000003dd
-_0804C430: .4byte 0x000001fd
-_0804C434: .4byte gUnknown_202F1B0
-_0804C438: .4byte gUnknown_202F1B2
- thumb_func_end sub_804C2F4
-
- thumb_func_start sub_804C43C
-sub_804C43C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp]
- str r3, [sp, 0x4]
- lsls r7, r1, 5
- lsls r0, 4
- str r0, [sp, 0xC]
- ldr r3, [sp]
- subs r0, r3
- lsls r0, 5
- ldr r4, [sp, 0x4]
- adds r0, r4
- adds r3, r7, r0
- adds r6, r1, r2
- lsls r1, r6, 5
- adds r2, r1, r0
- movs r5, 0
- ldrsh r1, [r2, r5]
- adds r4, r1, 0
- ldrh r0, [r3]
- mov r8, r0
- movs r5, 0
- ldrsh r0, [r3, r5]
- cmp r1, r0
- ble _0804C478
- mov r4, r8
-_0804C478:
- lsls r0, r4, 16
- asrs r0, 16
- str r0, [sp, 0x8]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- mov r10, r0
- movs r4, 0x4
- ldrsh r1, [r2, r4]
- adds r4, r1, 0
- ldrh r5, [r3, 0x4]
- mov r8, r5
- movs r5, 0x4
- ldrsh r0, [r3, r5]
- cmp r1, r0
- bge _0804C498
- mov r4, r8
-_0804C498:
- lsls r0, r4, 16
- asrs r0, 16
- str r0, [sp, 0x10]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- mov r8, r0
- movs r2, 0
- ldrsh r0, [r3, r2]
- mov r1, r10
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- mov r9, r0
- ldr r5, [sp, 0x8]
- str r7, [sp, 0x1C]
- ldr r3, [sp, 0xC]
- str r3, [sp, 0x18]
- str r6, [sp, 0x14]
- ldr r4, [sp, 0x10]
- cmp r5, r4
- bge _0804C4F2
-_0804C4C2:
- mov r4, r10
- adds r6, r5, 0x1
- cmp r10, r8
- bge _0804C4EA
- ldr r0, _0804C538
- adds r7, r0, 0
-_0804C4CE:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- ands r1, r7
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- mov r1, r9
- strb r1, [r0, 0x9]
- adds r4, 0x1
- cmp r4, r8
- blt _0804C4CE
-_0804C4EA:
- adds r5, r6, 0
- ldr r2, [sp, 0x10]
- cmp r5, r2
- blt _0804C4C2
-_0804C4F2:
- ldr r3, [sp, 0x18]
- ldr r4, [sp]
- subs r1, r3, r4
- lsls r1, 5
- ldr r5, [sp, 0x4]
- adds r1, r5
- ldr r0, [sp, 0x1C]
- adds r2, r0, r1
- movs r3, 0
- mov r4, sp
- ldrh r4, [r4, 0x8]
- strh r4, [r2]
- mov r5, sp
- ldrh r5, [r5, 0x10]
- strh r5, [r2, 0x4]
- mov r0, r10
- strh r0, [r2, 0x2]
- mov r4, r8
- strh r4, [r2, 0x6]
- ldr r5, [sp, 0x14]
- lsls r0, r5, 5
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0, 0x12]
- strb r1, [r2, 0x12]
- strb r3, [r0, 0xB]
- strb r1, [r0, 0x11]
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C538: .4byte 0x0000fffc
- thumb_func_end sub_804C43C
-
- thumb_func_start sub_804C53C
-sub_804C53C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0804C6F8
- add sp, r4
- mov r10, r2
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r0, _0804C6FC
- add r0, sp
- ldr r1, _0804C700
- add r1, sp
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_804D024
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804D084
- movs r2, 0
- cmp r2, r7
- bge _0804C594
-_0804C570:
- adds r3, r2, 0x1
- cmp r6, 0
- ble _0804C58E
- lsls r0, r2, 4
- subs r0, r2
- movs r2, 0x1
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- adds r1, r6, 0
-_0804C584:
- strb r2, [r0, 0xA]
- adds r0, 0x20
- subs r1, 0x1
- cmp r1, 0
- bne _0804C584
-_0804C58E:
- adds r2, r3, 0
- cmp r2, r7
- blt _0804C570
-_0804C594:
- movs r2, 0x1
- subs r0, r7, 0x1
- mov r8, r0
- subs r1, r6, 0x1
- mov r9, r1
- mov r0, r10
- ldrb r0, [r0, 0xD]
- mov r12, r0
- cmp r2, r8
- bge _0804C5D2
- mov r4, r9
- mov r5, r8
-_0804C5AC:
- adds r3, r2, 0x1
- cmp r4, 0x1
- ble _0804C5CC
- lsls r0, r2, 4
- subs r0, r2
- movs r2, 0x1
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- adds r0, 0x20
- subs r1, r4, 0x1
-_0804C5C2:
- strb r2, [r0, 0x8]
- adds r0, 0x20
- subs r1, 0x1
- cmp r1, 0
- bne _0804C5C2
-_0804C5CC:
- adds r2, r3, 0
- cmp r2, r5
- blt _0804C5AC
-_0804C5D2:
- ldr r3, _0804C6FC
- add r3, sp
- ldr r0, _0804C700
- add r0, sp
- str r0, [sp]
- mov r1, r12
- str r1, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804D2D0
- movs r2, 0
- cmp r2, r8
- bge _0804C636
- movs r4, 0x1
- mov r0, r9
- lsls r5, r0, 5
- subs r1, r7, 0x2
- mov r12, r1
-_0804C5FA:
- cmp r2, 0
- beq _0804C614
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- mov r1, sp
- adds r1, r0
- adds r1, 0x8
- strb r4, [r1, 0x16]
- adds r0, r5, r0
- add r0, sp
- adds r0, 0x8
- strb r4, [r0, 0x16]
-_0804C614:
- adds r3, r2, 0x1
- cmp r2, r12
- bge _0804C630
- lsls r0, r3, 4
- subs r0, r3
- lsls r0, 5
- mov r1, sp
- adds r1, r0
- adds r1, 0x8
- strb r4, [r1, 0x15]
- adds r0, r5, r0
- add r0, sp
- adds r0, 0x8
- strb r4, [r0, 0x15]
-_0804C630:
- adds r2, r3, 0
- cmp r2, r8
- blt _0804C5FA
-_0804C636:
- movs r1, 0
- cmp r1, r9
- bge _0804C66A
- movs r3, 0x1
- mov r2, r8
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- add r0, sp
- adds r0, 0x8
- add r2, sp, 0x8
- subs r5, r6, 0x2
- mov r4, r9
-_0804C650:
- cmp r1, 0
- beq _0804C658
- strb r3, [r2, 0x13]
- strb r3, [r0, 0x13]
-_0804C658:
- cmp r1, r5
- bge _0804C660
- strb r3, [r2, 0x14]
- strb r3, [r0, 0x14]
-_0804C660:
- adds r0, 0x20
- adds r2, 0x20
- adds r1, 0x1
- cmp r1, r4
- blt _0804C650
-_0804C66A:
- ldr r5, _0804C6FC
- add r5, sp
- ldr r4, _0804C700
- add r4, sp
- str r4, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_804D8C8
- str r4, [sp]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_804E590
- mov r0, r10
- ldrb r3, [r0, 0x9]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804F0D0
- ldr r0, _0804C704
- movs r1, 0
- ldrsh r3, [r0, r1]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804EBC8
- ldr r0, _0804C708
- movs r2, 0
- ldrsh r3, [r0, r2]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804EEE4
- mov r0, r10
- ldrb r3, [r0, 0x13]
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804CBEC
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804E03C
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_804D534
- movs r3, 0xE5
- lsls r3, 5
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C6F8: .4byte 0xffffe360
-_0804C6FC: .4byte 0x00001c28
-_0804C700: .4byte 0x00001c64
-_0804C704: .4byte gUnknown_202F1B0
-_0804C708: .4byte gUnknown_202F1B2
- thumb_func_end sub_804C53C
-
- thumb_func_start sub_804C70C
-sub_804C70C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r7, r0, 0
- mov r8, r1
- ldr r0, _0804C73C
- ldr r0, [r0]
- ldr r1, _0804C740
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0, 0x4]
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r5, [r0]
- ldrb r6, [r0, 0x1]
- cmp r5, 0
- beq _0804C736
- cmp r6, 0
- bne _0804C744
-_0804C736:
- bl sub_804C918
- b _0804C782
- .align 2, 0
-_0804C73C: .4byte gUnknown_203B418
-_0804C740: .4byte 0x00013568
-_0804C744:
- cmp r7, 0x31
- bgt _0804C752
- adds r0, r7, 0
- bl sub_8051288
- movs r0, 0x1
- b _0804C784
-_0804C752:
- adds r1, r5, 0x4
- movs r0, 0x38
- bl __divsi3
- adds r4, r0, 0
- cmp r4, 0x1
- bgt _0804C762
- movs r4, 0x1
-_0804C762:
- adds r1, r6, 0x4
- movs r0, 0x20
- bl __divsi3
- adds r1, r0, 0
- cmp r1, 0x1
- bgt _0804C772
- movs r1, 0x1
-_0804C772:
- str r7, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_804C790
-_0804C782:
- movs r0, 0
-_0804C784:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804C70C
-
- thumb_func_start sub_804C790
-sub_804C790:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0804C81C
- add sp, r4
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, _0804C820
- add r0, sp
- str r2, [r0]
- ldr r1, _0804C824
- add r1, sp
- str r3, [r1]
- movs r2, 0
- mov r10, r2
- mov r8, r2
- ldr r0, _0804C828
- add r0, sp
- ldr r1, _0804C82C
- add r1, sp
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_804D024
- add r0, sp, 0x10
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_804D084
- ldr r0, _0804C830
- add r0, sp
- ldr r0, [r0]
- movs r3, 0x1
- ldrsb r3, [r0, r3]
- add r0, sp, 0x10
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_804D154
- mov r6, r8
- cmp r8, r5
- bge _0804C818
-_0804C7E8:
- movs r1, 0
- mov r8, r1
- adds r2, r6, 0x1
- cmp r8, r4
- bge _0804C812
- lsls r0, r6, 4
- subs r0, r6
- movs r1, 0x1
- lsls r0, 5
- add r0, sp
- adds r0, 0x10
- mov r8, r4
-_0804C800:
- strb r1, [r0, 0x1B]
- adds r0, 0x20
- movs r3, 0x1
- negs r3, r3
- add r8, r3
- mov r3, r8
- cmp r3, 0
- bne _0804C800
- mov r8, r4
-_0804C812:
- adds r6, r2, 0
- cmp r6, r5
- blt _0804C7E8
-_0804C818:
- movs r7, 0
- b _0804C836
- .align 2, 0
-_0804C81C: .4byte 0xffffe350
-_0804C820: .4byte 0x00001ca8
-_0804C824: .4byte 0x00001cac
-_0804C828: .4byte 0x00001c30
-_0804C82C: .4byte 0x00001c6c
-_0804C830: .4byte 0x00001cd4
-_0804C834:
- adds r7, 0x1
-_0804C836:
- cmp r7, 0x3F
- bgt _0804C864
- adds r0, r5, 0
- bl sub_8084100
- adds r6, r0, 0
- adds r0, r4, 0
- bl sub_8084100
- mov r8, r0
- mov r0, r8
- muls r0, r5
- adds r0, r6
- mov r10, r0
- lsls r0, r6, 4
- subs r0, r6
- add r0, r8
- lsls r0, 5
- add r0, sp
- adds r0, 0x10
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _0804C834
-_0804C864:
- ldr r0, _0804C8FC
- add r0, sp
- mov r9, r0
- ldr r7, _0804C900
- add r7, sp
- str r7, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- ldr r2, _0804C904
- add r2, sp
- ldr r2, [r2]
- str r2, [sp, 0x8]
- ldr r3, _0804C908
- add r3, sp
- ldr r3, [r3]
- str r3, [sp, 0xC]
- add r0, sp, 0x10
- adds r1, r5, 0
- adds r2, r4, 0
- mov r3, r9
- bl sub_8050F90
- cmp r5, 0x1
- bne _0804C898
- cmp r4, 0x1
- beq _0804C8D0
-_0804C898:
- mov r0, r8
- str r0, [sp]
- ldr r1, _0804C90C
- add r1, sp
- ldr r1, [r1]
- str r1, [sp, 0x4]
- add r0, sp, 0x10
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_804D5F0
- str r7, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- add r0, sp, 0x10
- adds r1, r5, 0
- adds r2, r4, 0
- mov r3, r9
- bl sub_804D8C8
- str r7, [sp]
- add r0, sp, 0x10
- adds r1, r5, 0
- adds r2, r4, 0
- mov r3, r9
- bl sub_804E590
-_0804C8D0:
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 5
- add r0, sp
- adds r0, 0x10
- mov r2, r8
- lsls r1, r2, 5
- adds r0, r1
- ldr r3, _0804C910
- add r3, sp
- ldr r1, [r3]
- bl sub_8051438
- ldr r3, _0804C914
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C8FC: .4byte 0x00001c30
-_0804C900: .4byte 0x00001c6c
-_0804C904: .4byte 0x00001ca8
-_0804C908: .4byte 0x00001cac
-_0804C90C: .4byte 0x00001cd4
-_0804C910: .4byte 0x00001cd0
-_0804C914: .4byte 0x00001cb0
- thumb_func_end sub_804C790
-
- thumb_func_start sub_804C918
-sub_804C918:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _0804C9C4
- add sp, r4
- mov r0, sp
- movs r1, 0x1
- movs r2, 0x1
- bl sub_804D084
- mov r0, sp
- movs r3, 0
- movs r2, 0x2
- strh r2, [r0]
- mov r1, sp
- movs r0, 0x36
- strh r0, [r1, 0x4]
- mov r0, sp
- strh r2, [r0, 0x2]
- movs r0, 0x1E
- strh r0, [r1, 0x6]
- mov r0, sp
- movs r1, 0x1
- strb r1, [r0, 0xA]
- strb r1, [r0, 0xB]
- strb r3, [r0, 0x8]
- movs r1, 0
- ldrsh r5, [r0, r1]
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- cmp r5, r0
- bge _0804C9A6
- mov r6, sp
-_0804C95C:
- movs r0, 0x2
- ldrsh r4, [r6, r0]
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- adds r7, r5, 0x1
- cmp r4, r0
- bge _0804C99C
- movs r2, 0
- mov r9, r2
- ldr r0, _0804C9C8
- mov r8, r0
-_0804C972:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- mov r2, r8
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- mov r1, r9
- strb r1, [r0, 0x9]
- adds r4, 0x1
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- cmp r4, r0
- blt _0804C972
-_0804C99C:
- adds r5, r7, 0
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r5, r0
- blt _0804C95C
-_0804C9A6:
- ldr r3, _0804C9CC
- mov r0, sp
- movs r1, 0x1
- movs r2, 0x1
- bl sub_804EEE4
- movs r3, 0xE1
- lsls r3, 5
- add sp, r3
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804C9C4: .4byte 0xffffe3e0
-_0804C9C8: .4byte 0x0000fffc
-_0804C9CC: .4byte 0x000003e7
- thumb_func_end sub_804C918
-
- thumb_func_start sub_804C9D0
-sub_804C9D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0804CBB4
- add sp, r4
- movs r0, 0
- movs r1, 0xE5
- lsls r1, 5
- add r1, sp
- str r0, [r1]
- ldr r1, _0804CBB8
- add r1, sp
- movs r2, 0x2
- str r2, [r1]
- movs r0, 0x1C
- str r0, [r1, 0x4]
- movs r0, 0x36
- str r0, [r1, 0x8]
- ldr r1, _0804CBBC
- add r1, sp
- str r2, [r1]
- movs r0, 0x1E
- str r0, [r1, 0x4]
- add r0, sp, 0x8
- movs r1, 0x2
- movs r2, 0x1
- bl sub_804D084
- movs r0, 0
- ldr r2, _0804CBB8
- add r2, sp
- ldr r3, _0804CBC0
- add r3, sp
- str r2, [r3]
- ldr r4, _0804CBBC
- add r4, sp
- ldr r1, _0804CBC4
- add r1, sp
- str r4, [r1]
-_0804CA22:
- movs r7, 0
- lsls r2, r0, 2
- ldr r3, _0804CBC8
- add r3, sp
- str r2, [r3]
- adds r4, r0, 0x1
- ldr r1, _0804CBCC
- add r1, sp
- str r4, [r1]
- lsls r0, 5
- ldr r2, _0804CBD0
- add r2, sp
- str r0, [r2]
-_0804CA3C:
- lsls r0, r7, 2
- ldr r3, _0804CBC0
- add r3, sp
- ldr r3, [r3]
- adds r0, r3, r0
- ldr r1, [r0]
- adds r4, r1, 0x1
- mov r10, r4
- ldr r2, _0804CBC4
- add r2, sp
- ldr r2, [r2]
- ldr r3, _0804CBC8
- add r3, sp
- ldr r3, [r3]
- adds r0, r2, r3
- ldr r2, [r0]
- adds r4, r2, 0x1
- ldr r0, _0804CBD4
- add r0, sp
- str r4, [r0]
- adds r3, r7, 0x1
- mov r9, r3
- lsls r0, r3, 2
- ldr r4, _0804CBC0
- add r4, sp
- ldr r4, [r4]
- adds r0, r4, r0
- ldr r4, [r0]
- subs r4, r1
- subs r4, 0x3
- ldr r1, _0804CBCC
- add r1, sp
- ldr r1, [r1]
- lsls r0, r1, 2
- ldr r3, _0804CBC4
- add r3, sp
- ldr r3, [r3]
- adds r0, r3, r0
- ldr r5, [r0]
- subs r5, r2
- subs r5, 0x3
- movs r0, 0xA
- adds r1, r4, 0
- bl sub_808411C
- mov r8, r0
- movs r0, 0x10
- adds r1, r5, 0
- bl sub_808411C
- adds r6, r0, 0
- mov r0, r8
- subs r4, r0
- adds r0, r4, 0
- bl sub_8084100
- adds r4, r0, 0
- add r4, r10
- subs r5, r6
- adds r0, r5, 0
- bl sub_8084100
- ldr r2, _0804CBD4
- add r2, sp
- ldr r1, [r2]
- adds r1, r0
- mov r10, r1
- mov r0, r8
- adds r3, r4, r0
- add r6, r10
- lsls r0, r7, 4
- subs r0, r7
- lsls r0, 5
- ldr r1, _0804CBD0
- add r1, sp
- ldr r1, [r1]
- adds r0, r1, r0
- add r0, sp
- adds r0, 0x8
- movs r1, 0x1
- strb r1, [r0, 0xA]
- strh r4, [r0]
- strh r3, [r0, 0x4]
- mov r2, r10
- strh r2, [r0, 0x2]
- strh r6, [r0, 0x6]
- mov r0, r9
- ldr r1, _0804CBD8
- add r1, sp
- str r0, [r1]
- movs r0, 0xE5
- lsls r0, 5
- add r0, sp
- ldr r2, [r0]
- adds r2, 0x1
- mov r9, r2
- cmp r4, r3
- bge _0804CB4E
-_0804CB00:
- mov r5, r10
- adds r7, r4, 0x1
- cmp r5, r6
- bge _0804CB48
- ldr r1, _0804CBDC
- mov r8, r1
-_0804CB0C:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xE6
- lsls r2, 5
- add r2, sp
- str r3, [r2]
- bl sub_8049590
- ldrh r1, [r0]
- mov r2, r8
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- movs r1, 0xE5
- lsls r1, 5
- add r1, sp
- ldrb r1, [r1]
- strb r1, [r0, 0x9]
- adds r5, 0x1
- movs r2, 0xE6
- lsls r2, 5
- add r2, sp
- ldr r3, [r2]
- cmp r5, r6
- blt _0804CB0C
-_0804CB48:
- adds r4, r7, 0
- cmp r4, r3
- blt _0804CB00
-_0804CB4E:
- mov r3, r9
- movs r4, 0xE5
- lsls r4, 5
- add r4, sp
- str r3, [r4]
- ldr r0, _0804CBD8
- add r0, sp
- ldr r7, [r0]
- cmp r7, 0x1
- bgt _0804CB64
- b _0804CA3C
-_0804CB64:
- ldr r1, _0804CBCC
- add r1, sp
- ldr r0, [r1]
- cmp r0, 0
- bgt _0804CB70
- b _0804CA22
-_0804CB70:
- add r0, sp, 0x8
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0, 0x16]
- ldr r0, _0804CBE0
- add r0, sp
- strb r1, [r0]
- ldr r3, _0804CBB8
- add r3, sp
- ldr r0, _0804CBBC
- add r0, sp
- str r0, [sp]
- str r2, [sp, 0x4]
- add r0, sp, 0x8
- movs r1, 0x2
- movs r2, 0x1
- bl sub_804D8C8
- ldr r3, _0804CBE4
- add r0, sp, 0x8
- movs r1, 0x2
- movs r2, 0x1
- bl sub_804EEE4
- ldr r3, _0804CBE8
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804CBB4: .4byte 0xffffe33c
-_0804CBB8: .4byte 0x00001c28
-_0804CBBC: .4byte 0x00001c64
-_0804CBC0: .4byte 0x00001ca4
-_0804CBC4: .4byte 0x00001cac
-_0804CBC8: .4byte 0x00001cb0
-_0804CBCC: .4byte 0x00001cbc
-_0804CBD0: .4byte 0x00001cb4
-_0804CBD4: .4byte 0x00001ca8
-_0804CBD8: .4byte 0x00001cb8
-_0804CBDC: .4byte 0x0000fffc
-_0804CBE0: .4byte 0x000001fd
-_0804CBE4: .4byte 0x000003e7
-_0804CBE8: .4byte 0x00001cc4
- thumb_func_end sub_804C9D0
-
- thumb_func_start sub_804CBEC
-sub_804CBEC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- cmp r3, 0
- bne _0804CC06
- b _0804D006
-_0804CC06:
- movs r5, 0
- cmp r5, r3
- blt _0804CC0E
- b _0804D006
-_0804CC0E:
- ldr r0, [sp, 0x4]
- bl sub_8084100
- mov r9, r0
- ldr r0, [sp, 0x8]
- bl sub_8084100
- mov r10, r0
- lsls r0, 5
- mov r2, r9
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 5
- ldr r3, [sp]
- adds r1, r3
- adds r4, r0, r1
- ldrb r0, [r4, 0xA]
- adds r5, 0x1
- str r5, [sp, 0x18]
- cmp r0, 0
- bne _0804CC3A
- b _0804CFFC
-_0804CC3A:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _0804CC42
- b _0804CFFC
-_0804CC42:
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _0804CC4A
- b _0804CFFC
-_0804CC4A:
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _0804CC52
- b _0804CFFC
-_0804CC52:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- bl sub_808411C
- adds r7, r0, 0
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_808411C
- adds r6, r0, 0
- movs r0, 0x4
- bl sub_8084100
- lsls r0, 1
- mov r8, r0
- ldr r1, [sp, 0x8]
- subs r1, 0x1
- movs r3, 0x2
- str r3, [sp, 0x10]
- ldr r0, [sp, 0x4]
- subs r0, 0x1
-_0804CC84:
- mov r2, r8
- cmp r2, 0
- bne _0804CC92
- cmp r10, r1
- blt _0804CC92
- movs r3, 0x2
- mov r8, r3
-_0804CC92:
- mov r2, r8
- cmp r2, 0x2
- bne _0804CCA0
- cmp r9, r0
- blt _0804CCA0
- movs r3, 0x4
- mov r8, r3
-_0804CCA0:
- mov r2, r8
- cmp r2, 0x4
- bne _0804CCB0
- mov r3, r10
- cmp r3, 0
- bgt _0804CCB0
- movs r2, 0x6
- mov r8, r2
-_0804CCB0:
- mov r3, r8
- cmp r3, 0x6
- bne _0804CCC0
- mov r2, r9
- cmp r2, 0
- bgt _0804CCC0
- movs r3, 0
- mov r8, r3
-_0804CCC0:
- ldr r2, [sp, 0x10]
- subs r2, 0x1
- str r2, [sp, 0x10]
- cmp r2, 0
- bge _0804CC84
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrb r5, [r0, 0x9]
- ldr r1, _0804CCE0
- mov r3, r8
- lsls r0, r3, 2
- adds r4, r0, r1
- b _0804CCF0
- .align 2, 0
-_0804CCE0: .4byte gUnknown_80F4448
-_0804CCE4:
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r7, r0
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r6, r0
-_0804CCF0:
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- cmp r5, r0
- beq _0804CCE4
- ldr r1, _0804CD08
- mov r3, r8
- lsls r0, r3, 2
- adds r4, r0, r1
- b _0804CD18
- .align 2, 0
-_0804CD08: .4byte gUnknown_80F4448
-_0804CD0C:
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r7, r0
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r6, r0
-_0804CD18:
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r5, 0x3
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x1
- beq _0804CD0C
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x2
- bne _0804CD40
- b _0804CFFC
-_0804CD40:
- movs r3, 0
- subs r2, r7, 0x2
- adds r4, r7, 0x2
- b _0804CD4A
-_0804CD48:
- adds r2, 0x1
-_0804CD4A:
- cmp r2, r4
- bgt _0804CD6C
- subs r0, r6, 0x2
- adds r1, r6, 0x2
- b _0804CD56
-_0804CD54:
- adds r0, 0x1
-_0804CD56:
- cmp r0, r1
- bgt _0804CD68
- cmp r2, 0x37
- bhi _0804CD66
- cmp r0, 0
- blt _0804CD66
- cmp r0, 0x1F
- ble _0804CD54
-_0804CD66:
- movs r3, 0x1
-_0804CD68:
- cmp r3, 0
- beq _0804CD48
-_0804CD6C:
- cmp r3, 0
- beq _0804CD72
- b _0804CFFC
-_0804CD72:
- ldr r2, _0804CDD4
- mov r1, r8
- adds r1, 0x2
- movs r4, 0x6
- ands r1, r4
- lsls r1, 2
- adds r1, r2
- movs r3, 0
- ldrsh r0, [r1, r3]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r0, r7, r0
- adds r1, r6, r1
- str r2, [sp, 0x1C]
- bl sub_804954C
- ldrh r1, [r0]
- movs r5, 0x3
- adds r0, r5, 0
- ands r0, r1
- ldr r2, [sp, 0x1C]
- cmp r0, 0x1
- bne _0804CDA2
- b _0804CFFC
-_0804CDA2:
- mov r1, r8
- subs r1, 0x2
- ands r1, r4
- lsls r1, 2
- adds r1, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r0, r7, r0
- adds r1, r6, r1
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CDC8
- b _0804CFFC
-_0804CDC8:
- movs r0, 0x3
- bl sub_8084100
- adds r0, 0x3
- str r0, [sp, 0x10]
- b _0804CFD4
- .align 2, 0
-_0804CDD4: .4byte gUnknown_80F4448
-_0804CDD8:
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0804CDEC
- b _0804CFFC
-_0804CDEC:
- movs r0, 0x1
- str r0, [sp, 0x14]
- adds r4, r7, 0x1
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r10
- ands r0, r1
- mov r9, r4
- cmp r0, 0x1
- bne _0804CE32
- adds r5, r6, 0x1
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r0, [r0]
- mov r4, r10
- ands r4, r0
- cmp r4, 0x1
- bne _0804CE32
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r0, [r0]
- mov r1, r10
- ands r0, r1
- eors r0, r4
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x14]
-_0804CE32:
- mov r0, r9
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r5, 0x3
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CE70
- subs r4, r6, 0x1
- mov r0, r9
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CE70
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CE70
- movs r2, 0
- str r2, [sp, 0x14]
-_0804CE70:
- subs r4, r7, 0x1
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r2, 0x3
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CEB6
- adds r5, r6, 0x1
- adds r0, r4, 0
- adds r1, r5, 0
- str r2, [sp, 0x1C]
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x1C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CEB6
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x1C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CEB6
- movs r3, 0
- str r3, [sp, 0x14]
-_0804CEB6:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r2, 0x3
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CEFA
- subs r5, r6, 0x1
- adds r0, r4, 0
- adds r1, r5, 0
- str r2, [sp, 0x1C]
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x1C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CEFA
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x1C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x1
- bne _0804CEFA
- movs r0, 0
- str r0, [sp, 0x14]
-_0804CEFA:
- ldr r1, [sp, 0x14]
- cmp r1, 0
- beq _0804CF16
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, _0804D018
- adds r2, r3, 0
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
-_0804CF16:
- ldr r2, _0804D01C
- movs r0, 0x2
- add r0, r8
- mov r9, r0
- movs r1, 0x6
- mov r10, r1
- mov r1, r9
- mov r3, r10
- ands r1, r3
- lsls r1, 2
- adds r1, r2
- movs r3, 0
- ldrsh r0, [r1, r3]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r0, r7, r0
- adds r1, r6, r1
- str r2, [sp, 0x1C]
- bl sub_804954C
- ldrh r1, [r0]
- movs r5, 0x3
- adds r0, r5, 0
- ands r0, r1
- ldr r2, [sp, 0x1C]
- cmp r0, 0x1
- beq _0804CFFC
- mov r4, r8
- subs r4, 0x2
- adds r1, r4, 0
- mov r0, r10
- ands r1, r0
- lsls r1, 2
- adds r1, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r0, r7, r0
- adds r1, r6, r1
- bl sub_804954C
- ldrh r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0x1
- beq _0804CFFC
- ldr r0, [sp, 0x10]
- subs r0, 0x1
- str r0, [sp, 0x10]
- cmp r0, 0
- bne _0804CFC0
- movs r0, 0x3
- bl sub_8084100
- adds r0, 0x3
- str r0, [sp, 0x10]
- movs r0, 0x64
- bl sub_8084100
- mov r8, r4
- cmp r0, 0x31
- bgt _0804CF96
- mov r8, r9
-_0804CF96:
- mov r1, r8
- mov r2, r10
- ands r1, r2
- mov r8, r1
- cmp r7, 0x1F
- ble _0804CFAE
- ldr r0, _0804D020
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0804CFAE
- cmp r1, 0x2
- beq _0804CFFC
-_0804CFAE:
- cmp r7, 0x2F
- ble _0804CFC0
- ldr r0, _0804D020
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0804CFC0
- mov r3, r8
- cmp r3, 0x2
- beq _0804CFFC
-_0804CFC0:
- ldr r0, _0804D01C
- mov r2, r8
- lsls r1, r2, 2
- adds r1, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- adds r7, r0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r6, r0
-_0804CFD4:
- cmp r7, 0x1
- ble _0804CFFC
- cmp r6, 0x1
- ble _0804CFFC
- cmp r7, 0x36
- bgt _0804CFFC
- cmp r6, 0x1E
- bgt _0804CFFC
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r3, 0x3
- mov r10, r3
- mov r0, r10
- ands r0, r1
- cmp r0, 0x1
- beq _0804CFFC
- b _0804CDD8
-_0804CFFC:
- ldr r5, [sp, 0x18]
- ldr r0, [sp, 0xC]
- cmp r5, r0
- bge _0804D006
- b _0804CC0E
-_0804D006:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D018: .4byte 0x0000fffc
-_0804D01C: .4byte gUnknown_80F4448
-_0804D020: .4byte gUnknown_202F1AE
- thumb_func_end sub_804CBEC
-
- thumb_func_start sub_804D024
-sub_804D024:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- mov r8, r1
- adds r5, r2, 0
- adds r6, r3, 0
- movs r4, 0
- cmp r4, r5
- bge _0804D04E
- movs r0, 0x38
- adds r1, r5, 0
- bl __divsi3
- adds r2, r7, 0
- adds r1, r5, 0
-_0804D044:
- stm r2!, {r4}
- adds r4, r0
- subs r1, 0x1
- cmp r1, 0
- bne _0804D044
-_0804D04E:
- lsls r0, r5, 2
- adds r0, r7
- str r4, [r0]
- movs r4, 0
- lsls r5, r6, 2
- cmp r4, r6
- bge _0804D072
- movs r0, 0x20
- adds r1, r6, 0
- bl __divsi3
- mov r2, r8
- adds r1, r6, 0
-_0804D068:
- stm r2!, {r4}
- adds r4, r0
- subs r1, 0x1
- cmp r1, 0
- bne _0804D068
-_0804D072:
- mov r1, r8
- adds r0, r5, r1
- str r4, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804D024
-
- thumb_func_start sub_804D084
-sub_804D084:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r8, r0
- adds r5, r1, 0
- mov r9, r2
- movs r2, 0
- cmp r2, r5
- bge _0804D144
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r0, 1
- str r0, [sp]
- movs r3, 0
-_0804D0A6:
- adds r0, r2, 0x1
- mov r10, r0
- mov r4, r9
- cmp r4, 0
- ble _0804D13E
- ldr r6, _0804D0D8
- ldrb r6, [r6]
- str r6, [sp, 0x4]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- mov r4, r8
- adds r1, r0, r4
- movs r7, 0
- movs r6, 0x1
- mov r12, r6
- mov r4, r9
-_0804D0C8:
- ldr r0, [sp, 0x4]
- cmp r0, 0x1
- bne _0804D0DC
- ldr r6, [sp]
- cmp r2, r6
- blt _0804D0DC
- strb r0, [r1, 0x8]
- b _0804D102
- .align 2, 0
-_0804D0D8: .4byte gUnknown_202F1AE
-_0804D0DC:
- ldr r6, _0804D0FC
- ldrb r0, [r6]
- cmp r0, 0x2
- bne _0804D100
- lsls r0, r5, 1
- adds r0, r5
- cmp r0, 0
- bge _0804D0EE
- adds r0, 0x3
-_0804D0EE:
- asrs r0, 2
- cmp r2, r0
- blt _0804D100
- mov r0, r12
- strb r0, [r1, 0x8]
- b _0804D102
- .align 2, 0
-_0804D0FC: .4byte gUnknown_202F1AE
-_0804D100:
- strb r3, [r1, 0x8]
-_0804D102:
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- add r0, r8
- adds r0, r7, r0
- mov r6, r12
- strb r6, [r0, 0xA]
- strb r3, [r0, 0xB]
- strb r3, [r0, 0xF]
- strb r3, [r0, 0xE]
- strb r3, [r0, 0xC]
- strb r3, [r0, 0x16]
- strb r3, [r0, 0x15]
- strb r3, [r0, 0x14]
- strb r3, [r0, 0x13]
- strb r3, [r0, 0x1A]
- strb r3, [r0, 0x19]
- strb r3, [r0, 0x18]
- strb r3, [r0, 0x17]
- strb r3, [r0, 0x9]
- strb r3, [r0, 0x11]
- strb r3, [r0, 0x10]
- strb r3, [r0, 0x12]
- strb r3, [r0, 0x1C]
- strb r3, [r0, 0x1D]
- adds r1, 0x20
- adds r7, 0x20
- subs r4, 0x1
- cmp r4, 0
- bne _0804D0C8
-_0804D13E:
- mov r2, r10
- cmp r2, r5
- blt _0804D0A6
-_0804D144:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804D084
-
- thumb_func_start sub_804D154
-sub_804D154:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x114
- str r0, [sp, 0x100]
- mov r9, r1
- mov r8, r2
- adds r4, r3, 0
- movs r0, 0x3
- bl sub_8084100
- adds r3, r0, 0
- cmp r4, 0
- bge _0804D17E
- negs r4, r4
- b _0804D180
-_0804D178:
- movs r0, 0x1
- strb r0, [r4, 0xA]
- b _0804D2B6
-_0804D17E:
- adds r4, r3
-_0804D180:
- movs r3, 0
- mov r0, r8
- mov r2, r9
- muls r2, r0
- cmp r3, r4
- bge _0804D19A
- movs r1, 0x1
-_0804D18E:
- mov r5, sp
- adds r0, r5, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, r4
- blt _0804D18E
-_0804D19A:
- cmp r3, 0xFF
- bgt _0804D1AC
- movs r1, 0
-_0804D1A0:
- mov r6, sp
- adds r0, r6, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0xFF
- ble _0804D1A0
-_0804D1AC:
- adds r5, r2, 0
- movs r6, 0x3F
-_0804D1B0:
- adds r0, r5, 0
- bl sub_8084100
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8084100
- mov r1, sp
- adds r2, r1, r4
- ldrb r3, [r2]
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- subs r6, 0x1
- cmp r6, 0
- bge _0804D1B0
- movs r3, 0
- ldr r0, _0804D24C
- str r3, [r0]
- movs r7, 0
- mov r12, r0
- cmp r7, r9
- bge _0804D262
-_0804D1E0:
- movs r5, 0
- adds r4, r7, 0x1
- str r4, [sp, 0x104]
- cmp r5, r8
- bge _0804D25C
- lsls r2, r7, 4
- subs r2, r7
- lsls r2, 5
- ldr r6, [sp, 0x100]
- adds r0, r2, r6
- mov r1, r9
- movs r4, 0x1
- ands r1, r4
- str r1, [sp, 0x110]
- mov r1, r9
- subs r1, 0x1
- adds r0, 0x20
- mov r10, r0
- adds r0, r6, 0
- adds r0, 0x8
- adds r2, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
-_0804D210:
- ldrb r4, [r2]
- cmp r4, 0
- bne _0804D254
- mov r6, r12
- ldr r0, [r6]
- cmp r0, 0x1F
- ble _0804D220
- strb r4, [r2, 0x2]
-_0804D220:
- mov r6, sp
- adds r0, r6, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804D250
- movs r0, 0x1
- strb r0, [r2, 0x2]
- mov r6, r12
- ldr r0, [r6]
- adds r0, 0x1
- str r0, [r6]
- ldr r0, [sp, 0x110]
- cmp r0, 0
- beq _0804D252
- cmp r7, r1
- bne _0804D252
- cmp r5, 0x1
- bne _0804D252
- mov r6, r10
- strb r4, [r6, 0xA]
- b _0804D252
- .align 2, 0
-_0804D24C: .4byte gUnknown_202F1CC
-_0804D250:
- strb r0, [r2, 0x2]
-_0804D252:
- adds r3, 0x1
-_0804D254:
- adds r2, 0x20
- adds r5, 0x1
- cmp r5, r8
- blt _0804D210
-_0804D25C:
- ldr r7, [sp, 0x104]
- cmp r7, r9
- blt _0804D1E0
-_0804D262:
- mov r1, r12
- ldr r0, [r1]
- cmp r0, 0x1
- bgt _0804D2BC
- movs r1, 0
- movs r2, 0
-_0804D26E:
- movs r7, 0
- cmp r2, r9
- bge _0804D2AC
- movs r6, 0
-_0804D276:
- movs r5, 0
- cmp r5, r8
- bge _0804D2A4
- lsls r0, r6, 5
- ldr r3, [sp, 0x100]
- adds r4, r0, r3
-_0804D282:
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- bne _0804D29C
- movs r0, 0x64
- str r1, [sp, 0x108]
- str r2, [sp, 0x10C]
- bl sub_8084100
- ldr r1, [sp, 0x108]
- ldr r2, [sp, 0x10C]
- cmp r0, 0x3B
- bgt _0804D29C
- b _0804D178
-_0804D29C:
- adds r4, 0x20
- adds r5, 0x1
- cmp r5, r8
- blt _0804D282
-_0804D2A4:
- adds r6, 0xF
- adds r7, 0x1
- cmp r7, r9
- blt _0804D276
-_0804D2AC:
- cmp r2, 0
- bne _0804D2B6
- adds r1, 0x1
- cmp r1, 0xC7
- ble _0804D26E
-_0804D2B6:
- ldr r1, _0804D2CC
- movs r0, 0
- strb r0, [r1]
-_0804D2BC:
- add sp, 0x114
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D2CC: .4byte gUnknown_202F1AD
- thumb_func_end sub_804D154
-
- thumb_func_start sub_804D2D0
-sub_804D2D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x10]
- movs r1, 0
- str r1, [sp, 0x14]
- cmp r1, r2
- blt _0804D2F2
- b _0804D520
-_0804D2F2:
- movs r2, 0
- mov r10, r2
- ldr r3, [sp, 0x14]
- adds r3, 0x1
- str r3, [sp, 0x28]
- ldr r4, [sp, 0x4]
- cmp r10, r4
- blt _0804D304
- b _0804D514
-_0804D304:
- ldr r5, [sp, 0x14]
- lsls r5, 5
- str r5, [sp, 0x1C]
-_0804D30A:
- mov r1, r10
- lsls r0, r1, 2
- ldr r2, [sp, 0xC]
- adds r0, r2
- ldr r3, [r0]
- adds r4, r3, 0x2
- mov r9, r4
- ldr r5, [sp, 0x14]
- lsls r1, r5, 2
- ldr r2, [sp, 0x58]
- adds r1, r2
- ldr r2, [r1]
- adds r4, r2, 0x2
- str r4, [sp, 0x18]
- ldr r0, [r0, 0x4]
- subs r0, r3
- subs r4, r0, 0x4
- ldr r0, [r1, 0x4]
- subs r0, r2
- subs r0, 0x3
- mov r8, r0
- mov r5, r10
- lsls r1, r5, 4
- subs r0, r1, r5
- lsls r0, 5
- ldr r2, [sp]
- adds r0, r2
- ldr r3, [sp, 0x1C]
- adds r7, r3, r0
- ldrb r0, [r7, 0x8]
- str r1, [sp, 0x2C]
- adds r5, 0x1
- str r5, [sp, 0x24]
- cmp r0, 0
- beq _0804D352
- b _0804D508
-_0804D352:
- ldrb r0, [r7, 0xA]
- cmp r0, 0
- bne _0804D35A
- b _0804D48C
-_0804D35A:
- movs r0, 0x5
- adds r1, r4, 0
- bl sub_808411C
- adds r6, r0, 0
- movs r0, 0x4
- mov r1, r8
- bl sub_808411C
- adds r5, r0, 0
- movs r1, 0x1
- adds r0, r6, 0
- orrs r0, r1
- cmp r0, r4
- bge _0804D37A
- adds r6, r0, 0
-_0804D37A:
- adds r0, r5, 0
- orrs r0, r1
- cmp r0, r8
- bge _0804D384
- adds r5, r0, 0
-_0804D384:
- lsls r0, r5, 1
- adds r0, r5
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r6, r0
- ble _0804D394
- adds r6, r0, 0
-_0804D394:
- lsls r0, r6, 1
- adds r0, r6
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r5, r0
- ble _0804D3A4
- adds r5, r0, 0
-_0804D3A4:
- subs r0, r4, r6
- bl sub_8084100
- adds r4, r0, 0
- add r4, r9
- mov r1, r8
- subs r0, r1, r5
- bl sub_8084100
- ldr r2, [sp, 0x18]
- adds r0, r2
- mov r8, r0
- adds r3, r4, r6
- adds r6, r0, r5
- strh r4, [r7]
- strh r3, [r7, 0x4]
- mov r5, r8
- strh r5, [r7, 0x2]
- strh r6, [r7, 0x6]
- ldr r0, [sp, 0x10]
- adds r0, 0x1
- str r0, [sp, 0x20]
- cmp r4, r3
- bge _0804D412
-_0804D3D4:
- mov r5, r8
- adds r7, r4, 0x1
- cmp r5, r6
- bge _0804D40C
- ldr r1, _0804D484
- mov r9, r1
-_0804D3E0:
- adds r0, r4, 0
- adds r1, r5, 0
- str r3, [sp, 0x34]
- bl sub_8049590
- ldrh r1, [r0]
- mov r2, r9
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- mov r1, sp
- ldrb r1, [r1, 0x10]
- strb r1, [r0, 0x9]
- adds r5, 0x1
- ldr r3, [sp, 0x34]
- cmp r5, r6
- blt _0804D3E0
-_0804D40C:
- adds r4, r7, 0
- cmp r4, r3
- blt _0804D3D4
-_0804D412:
- movs r5, 0x1
- movs r0, 0x64
- bl sub_8084100
- movs r1, 0
- cmp r0, 0x4F
- bgt _0804D422
- movs r1, 0x1
-_0804D422:
- adds r4, r1, 0
- ldr r0, _0804D488
- ldr r0, [r0]
- cmp r0, 0
- bne _0804D42E
- movs r4, 0
-_0804D42E:
- movs r0, 0x4
- ldr r2, [sp, 0x5C]
- ands r0, r2
- cmp r0, 0
- bne _0804D43A
- movs r5, 0
-_0804D43A:
- cmp r5, 0
- beq _0804D466
- cmp r4, 0
- beq _0804D44E
- movs r0, 0x64
- bl sub_8084100
- cmp r0, 0x31
- ble _0804D466
- movs r4, 0
-_0804D44E:
- cmp r5, 0
- beq _0804D466
- ldr r3, [sp, 0x2C]
- mov r5, r10
- subs r0, r3, r5
- lsls r0, 5
- ldr r1, [sp]
- adds r0, r1
- ldr r2, [sp, 0x1C]
- adds r0, r2, r0
- movs r1, 0x1
- strb r1, [r0, 0x1C]
-_0804D466:
- cmp r4, 0
- beq _0804D47E
- ldr r3, [sp, 0x2C]
- mov r4, r10
- subs r0, r3, r4
- lsls r0, 5
- ldr r5, [sp]
- adds r0, r5
- ldr r1, [sp, 0x1C]
- adds r0, r1, r0
- movs r1, 0x1
- strb r1, [r0, 0x1D]
-_0804D47E:
- ldr r2, [sp, 0x20]
- str r2, [sp, 0x10]
- b _0804D508
- .align 2, 0
-_0804D484: .4byte 0x0000fffc
-_0804D488: .4byte gUnknown_202F1C8
-_0804D48C:
- movs r1, 0x2
- movs r3, 0x4
- movs r6, 0x2
- movs r2, 0x4
- mov r5, r10
- cmp r5, 0
- bne _0804D49C
- movs r1, 0x1
-_0804D49C:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _0804D4A4
- movs r6, 0x1
-_0804D4A4:
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- cmp r10, r0
- bne _0804D4AE
- movs r3, 0x2
-_0804D4AE:
- ldr r0, [sp, 0x8]
- subs r0, 0x1
- ldr r5, [sp, 0x14]
- cmp r5, r0
- bne _0804D4BA
- movs r2, 0x2
-_0804D4BA:
- mov r5, r9
- adds r0, r5, r1
- adds r1, r5, r4
- subs r1, r3
- str r2, [sp, 0x30]
- bl sub_808411C
- adds r5, r0, 0
- ldr r1, [sp, 0x18]
- adds r0, r1, r6
- add r1, r8
- ldr r2, [sp, 0x30]
- subs r1, r2
- bl sub_808411C
- adds r4, r0, 0
- strh r5, [r7]
- adds r0, r5, 0x1
- strh r0, [r7, 0x4]
- strh r4, [r7, 0x2]
- adds r0, r4, 0x1
- strh r0, [r7, 0x6]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, _0804D530
- adds r2, r3, 0
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0xFE
- strb r1, [r0, 0x9]
-_0804D508:
- ldr r4, [sp, 0x24]
- mov r10, r4
- ldr r5, [sp, 0x4]
- cmp r10, r5
- bge _0804D514
- b _0804D30A
-_0804D514:
- ldr r0, [sp, 0x28]
- str r0, [sp, 0x14]
- ldr r1, [sp, 0x8]
- cmp r0, r1
- bge _0804D520
- b _0804D2F2
-_0804D520:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804D530: .4byte 0x0000fffc
- thumb_func_end sub_804D2D0
-
- thumb_func_start sub_804D534
-sub_804D534:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r3, r0, 0
- adds r7, r1, 0
- mov r9, r2
- movs r1, 0
- cmp r1, r9
- bge _0804D5A0
-_0804D54A:
- adds r0, r1, 0x1
- mov r8, r0
- cmp r7, 0
- ble _0804D59A
- lsls r1, 5
- adds r0, r1, 0
- adds r0, 0x8
- adds r4, r3, r0
- adds r5, r3, r1
- adds r6, r7, 0
-_0804D55E:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0804D58C
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _0804D58C
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- bne _0804D58C
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _0804D58C
- ldrb r0, [r4, 0x14]
- cmp r0, 0
- bne _0804D58C
- ldrb r0, [r4, 0x15]
- cmp r0, 0
- beq _0804D58C
- adds r0, r5, 0
- str r3, [sp]
- bl sub_804F694
- ldr r3, [sp]
-_0804D58C:
- movs r0, 0xF0
- lsls r0, 1
- adds r4, r0
- adds r5, r0
- subs r6, 0x1
- cmp r6, 0
- bne _0804D55E
-_0804D59A:
- mov r1, r8
- cmp r1, r9
- blt _0804D54A
-_0804D5A0:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804D534
-
- thumb_func_start sub_804D5B0
-sub_804D5B0:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- adds r0, r4, 0
- bl sub_8084100
- mov r8, r0
- adds r0, r5, 0
- bl sub_8084100
- str r0, [sp]
- str r6, [sp, 0x4]
- mov r0, r9
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl sub_804D5F0
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_804D5B0
-
- thumb_func_start sub_804D5F0
-sub_804D5F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- adds r7, r3, 0
- ldr r6, [sp, 0x40]
- ldr r0, [sp, 0x44]
- ldrb r0, [r0, 0x5]
- str r0, [sp, 0xC]
- movs r0, 0x4
- bl sub_8084100
- adds r5, r0, 0
- movs r1, 0
- mov r10, r1
- ldr r2, [sp, 0xC]
- cmp r10, r2
- blt _0804D620
- b _0804D726
-_0804D620:
- lsls r4, r6, 5
- mov r9, r4
- lsls r0, r7, 4
- subs r0, r7
- lsls r0, 5
- ldr r1, [sp]
- adds r0, r1
- mov r8, r0
-_0804D630:
- movs r0, 0x8
- bl sub_8084100
- adds r4, r0, 0
- movs r0, 0x4
- bl sub_8084100
- cmp r4, 0x3
- bgt _0804D644
- adds r5, r0, 0
-_0804D644:
- mov r4, r10
- adds r4, 0x1
-_0804D648:
- movs r1, 0
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0x1
- beq _0804D670
- cmp r0, 0x1
- bgt _0804D65C
- cmp r0, 0
- beq _0804D666
- b _0804D686
-_0804D65C:
- cmp r0, 0x2
- beq _0804D676
- cmp r0, 0x3
- beq _0804D67C
- b _0804D686
-_0804D666:
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- cmp r7, r0
- blt _0804D68A
- b _0804D684
-_0804D670:
- cmp r6, 0
- bgt _0804D68A
- b _0804D684
-_0804D676:
- cmp r7, 0
- bgt _0804D68A
- b _0804D684
-_0804D67C:
- ldr r0, [sp, 0x8]
- subs r0, 0x1
- cmp r6, r0
- blt _0804D68A
-_0804D684:
- adds r5, 0x1
-_0804D686:
- cmp r1, 0
- beq _0804D648
-_0804D68A:
- movs r1, 0x3
- ands r1, r5
- cmp r1, 0x1
- beq _0804D6C6
- cmp r1, 0x1
- bgt _0804D69C
- cmp r1, 0
- beq _0804D6A6
- b _0804D71E
-_0804D69C:
- cmp r1, 0x2
- beq _0804D6E2
- cmp r1, 0x3
- beq _0804D704
- b _0804D71E
-_0804D6A6:
- mov r1, r9
- add r1, r8
- movs r0, 0xF0
- lsls r0, 1
- adds r2, r1, r0
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804D71E
- movs r0, 0x1
- strb r0, [r1, 0x16]
- strb r0, [r2, 0x15]
- movs r1, 0xF0
- lsls r1, 1
- add r8, r1
- adds r7, 0x1
- b _0804D71E
-_0804D6C6:
- mov r2, r9
- add r2, r8
- adds r3, r2, 0
- subs r3, 0x20
- ldrb r0, [r3, 0x8]
- cmp r0, 0
- bne _0804D71E
- strb r1, [r2, 0x13]
- strb r1, [r3, 0x14]
- movs r2, 0x20
- negs r2, r2
- add r9, r2
- subs r6, 0x1
- b _0804D71E
-_0804D6E2:
- mov r1, r9
- add r1, r8
- ldr r0, _0804D700
- adds r2, r1, r0
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804D71E
- movs r0, 0x1
- strb r0, [r1, 0x15]
- strb r0, [r2, 0x16]
- ldr r1, _0804D700
- add r8, r1
- subs r7, 0x1
- b _0804D71E
- .align 2, 0
-_0804D700: .4byte 0xfffffe20
-_0804D704:
- mov r1, r9
- add r1, r8
- adds r2, r1, 0
- adds r2, 0x20
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804D71E
- movs r0, 0x1
- strb r0, [r1, 0x14]
- strb r0, [r2, 0x13]
- movs r1, 0x20
- add r9, r1
- adds r6, 0x1
-_0804D71E:
- mov r10, r4
- ldr r2, [sp, 0xC]
- cmp r10, r2
- blt _0804D630
-_0804D726:
- ldr r4, [sp, 0x44]
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- beq _0804D730
- b _0804D8B8
-_0804D730:
- movs r0, 0
- mov r9, r0
- movs r7, 0
- ldr r1, [sp, 0x4]
- cmp r9, r1
- blt _0804D73E
- b _0804D8B0
-_0804D73E:
- movs r2, 0x1
- mov r8, r2
-_0804D742:
- movs r6, 0
- adds r4, r7, 0x1
- str r4, [sp, 0x14]
- ldr r0, [sp, 0x8]
- cmp r6, r0
- blt _0804D750
- b _0804D8A6
-_0804D750:
- lsls r1, r7, 4
- str r1, [sp, 0x10]
- subs r0, r1, r7
- lsls r0, 5
- ldr r2, [sp]
- adds r3, r0, r2
-_0804D75C:
- lsls r0, r6, 5
- adds r2, r0, r3
- ldrb r1, [r2, 0x8]
- adds r4, r0, 0
- adds r0, r6, 0x1
- str r0, [sp, 0x18]
- cmp r1, 0
- beq _0804D76E
- b _0804D89C
-_0804D76E:
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _0804D776
- b _0804D89C
-_0804D776:
- ldrb r0, [r2, 0x13]
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- ldrb r0, [r2, 0x14]
- cmp r0, 0
- beq _0804D786
- adds r1, 0x1
-_0804D786:
- ldrb r0, [r2, 0x15]
- cmp r0, 0
- beq _0804D78E
- adds r1, 0x1
-_0804D78E:
- ldrb r0, [r2, 0x16]
- cmp r0, 0
- beq _0804D796
- adds r1, 0x1
-_0804D796:
- cmp r1, 0x1
- beq _0804D79C
- b _0804D89C
-_0804D79C:
- movs r0, 0x4
- str r3, [sp, 0x1C]
- bl sub_8084100
- adds r5, r0, 0
- movs r2, 0
- mov r10, r2
- ldr r1, [sp, 0x10]
- subs r0, r1, r7
- lsls r0, 5
- ldr r1, [sp]
- adds r0, r1
- adds r1, r4, r0
- ldr r3, [sp, 0x1C]
-_0804D7B8:
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0x1
- beq _0804D7E0
- cmp r0, 0x1
- bgt _0804D7CA
- cmp r0, 0
- beq _0804D7D4
- b _0804D800
-_0804D7CA:
- cmp r0, 0x2
- beq _0804D7E8
- cmp r0, 0x3
- beq _0804D7F0
- b _0804D800
-_0804D7D4:
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- cmp r7, r0
- bge _0804D7FE
- ldrb r0, [r1, 0x16]
- b _0804D7FA
-_0804D7E0:
- cmp r6, 0
- ble _0804D7FE
- ldrb r0, [r1, 0x13]
- b _0804D7FA
-_0804D7E8:
- cmp r7, 0
- ble _0804D7FE
- ldrb r0, [r1, 0x15]
- b _0804D7FA
-_0804D7F0:
- ldr r0, [sp, 0x8]
- subs r0, 0x1
- cmp r6, r0
- bge _0804D7FE
- ldrb r0, [r1, 0x14]
-_0804D7FA:
- cmp r0, 0
- beq _0804D80E
-_0804D7FE:
- adds r5, 0x1
-_0804D800:
- mov r0, r10
- cmp r0, 0
- bne _0804D80E
- adds r2, 0x1
- cmp r2, 0x7
- ble _0804D7B8
- b _0804D89C
-_0804D80E:
- movs r2, 0x3
- ands r2, r5
- cmp r2, 0x1
- beq _0804D844
- cmp r2, 0x1
- bgt _0804D820
- cmp r2, 0
- beq _0804D82A
- b _0804D89C
-_0804D820:
- cmp r2, 0x2
- beq _0804D85C
- cmp r2, 0x3
- beq _0804D880
- b _0804D89C
-_0804D82A:
- adds r1, r4, r3
- movs r4, 0xF0
- lsls r4, 1
- adds r2, r1, r4
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804D89C
- mov r0, r8
- strb r0, [r1, 0x16]
- strb r0, [r2, 0x15]
- movs r1, 0x1
- mov r9, r1
- b _0804D89C
-_0804D844:
- adds r1, r4, r3
- movs r4, 0xF0
- lsls r4, 1
- adds r0, r1, r4
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0804D89C
- strb r2, [r1, 0x13]
- adds r0, r1, 0
- subs r0, 0x20
- strb r2, [r0, 0x14]
- b _0804D898
-_0804D85C:
- adds r1, r4, r3
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0804D89C
- mov r4, r8
- strb r4, [r1, 0x15]
- ldr r2, _0804D87C
- adds r0, r1, r2
- strb r4, [r0, 0x16]
- movs r4, 0x1
- mov r9, r4
- b _0804D89C
- .align 2, 0
-_0804D87C: .4byte 0xfffffe20
-_0804D880:
- adds r1, r4, r3
- movs r2, 0xF0
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _0804D89C
- mov r4, r8
- strb r4, [r1, 0x14]
- adds r0, r1, 0
- adds r0, 0x20
- strb r4, [r0, 0x13]
-_0804D898:
- movs r0, 0x1
- mov r9, r0
-_0804D89C:
- ldr r6, [sp, 0x18]
- ldr r1, [sp, 0x8]
- cmp r6, r1
- bge _0804D8A6
- b _0804D75C
-_0804D8A6:
- ldr r7, [sp, 0x14]
- ldr r2, [sp, 0x4]
- cmp r7, r2
- bge _0804D8B0
- b _0804D742
-_0804D8B0:
- mov r4, r9
- cmp r4, 0
- beq _0804D8B8
- b _0804D730
-_0804D8B8:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804D5F0
-
- thumb_func_start sub_804D8C8
-sub_804D8C8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- str r2, [sp, 0x14]
- str r3, [sp, 0x18]
- ldr r0, [sp, 0x7C]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
- movs r0, 0
- str r0, [sp, 0x20]
- cmp r0, r1
- bge _0804D968
-_0804D8EC:
- movs r1, 0
- mov r10, r1
- ldr r2, [sp, 0x20]
- adds r2, 0x1
- str r2, [sp, 0x38]
- ldr r3, [sp, 0x14]
- cmp r10, r3
- bge _0804D95E
- ldr r4, [sp, 0x20]
- lsls r1, r4, 4
- subs r1, r4
- movs r3, 0
- lsls r1, 5
- ldr r0, [sp, 0xC]
- adds r0, 0x8
- adds r1, r0
-_0804D90C:
- ldrb r2, [r1]
- cmp r2, 0
- beq _0804D91C
- strb r3, [r1, 0xF]
- strb r3, [r1, 0x10]
- strb r3, [r1, 0x11]
- strb r3, [r1, 0x12]
- b _0804D952
-_0804D91C:
- ldr r5, [sp, 0x20]
- cmp r5, 0
- bgt _0804D924
- strb r2, [r1, 0xD]
-_0804D924:
- mov r6, r10
- cmp r6, 0
- bgt _0804D92C
- strb r2, [r1, 0xB]
-_0804D92C:
- ldr r0, [sp, 0x10]
- subs r0, 0x1
- ldr r7, [sp, 0x20]
- cmp r7, r0
- blt _0804D938
- strb r2, [r1, 0xE]
-_0804D938:
- ldr r0, [sp, 0x14]
- subs r0, 0x1
- cmp r10, r0
- blt _0804D942
- strb r2, [r1, 0xC]
-_0804D942:
- ldrb r0, [r1, 0xB]
- strb r0, [r1, 0xF]
- ldrb r0, [r1, 0xC]
- strb r0, [r1, 0x10]
- ldrb r0, [r1, 0xD]
- strb r0, [r1, 0x11]
- ldrb r0, [r1, 0xE]
- strb r0, [r1, 0x12]
-_0804D952:
- adds r1, 0x20
- movs r0, 0x1
- add r10, r0
- ldr r2, [sp, 0x14]
- cmp r10, r2
- blt _0804D90C
-_0804D95E:
- ldr r3, [sp, 0x38]
- str r3, [sp, 0x20]
- ldr r4, [sp, 0x10]
- cmp r3, r4
- blt _0804D8EC
-_0804D968:
- movs r5, 0
- str r5, [sp, 0x20]
- ldr r6, [sp, 0x10]
- cmp r5, r6
- blt _0804D974
- b _0804DBC6
-_0804D974:
- movs r7, 0
- mov r10, r7
- ldr r0, [sp, 0x20]
- adds r0, 0x1
- str r0, [sp, 0x38]
- ldr r1, [sp, 0x14]
- cmp r10, r1
- blt _0804D986
- b _0804DBBA
-_0804D986:
- ldr r2, [sp, 0x20]
- lsls r2, 4
- str r2, [sp, 0x40]
- ldr r3, [sp, 0x20]
- subs r1, r2, r3
- lsls r1, 5
- movs r4, 0
- str r4, [sp, 0x48]
- ldr r5, [sp, 0xC]
- movs r6, 0xF0
- lsls r6, 1
- adds r0, r5, r6
- adds r0, r1
- mov r8, r0
- adds r5, r1, r5
- ldr r7, [sp, 0xC]
- ldr r2, _0804DA0C
- adds r0, r7, r2
- adds r7, r1, r0
- ldr r3, [sp, 0x78]
- str r3, [sp, 0x4C]
- ldr r0, [sp, 0xC]
- adds r0, 0x20
- adds r0, r1, r0
- str r0, [sp, 0x50]
- ldr r0, [sp, 0xC]
- subs r0, 0x20
- adds r6, r1, r0
- ldr r4, [sp, 0x20]
- lsls r0, r4, 2
- ldr r1, [sp, 0x18]
- adds r0, r1
- str r0, [sp, 0x24]
-_0804D9C8:
- ldr r2, [sp, 0x20]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- ldr r3, [sp, 0xC]
- adds r0, r3
- ldr r1, [sp, 0x48]
- adds r4, r1, r0
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _0804D9E0
- b _0804DB92
-_0804D9E0:
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _0804DA10
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r0, 0x1
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- subs r1, 0x1
- bl sub_808411C
- mov r9, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x1
- bl sub_808411C
- adds r4, r0, 0
- b _0804DA1A
- .align 2, 0
-_0804DA0C: .4byte 0xfffffe20
-_0804DA10:
- movs r0, 0
- ldrsh r3, [r4, r0]
- mov r9, r3
- movs r1, 0x2
- ldrsh r4, [r4, r1]
-_0804DA1A:
- ldrb r0, [r5, 0x17]
- cmp r0, 0
- beq _0804DA74
- ldrb r0, [r6, 0x8]
- cmp r0, 0
- bne _0804DA68
- ldrb r0, [r6, 0xA]
- cmp r0, 0
- beq _0804DA40
- movs r2, 0
- ldrsh r0, [r6, r2]
- adds r0, 0x1
- movs r3, 0x4
- ldrsh r1, [r6, r3]
- subs r1, 0x1
- bl sub_808411C
- adds r2, r0, 0
- b _0804DA44
-_0804DA40:
- movs r0, 0
- ldrsh r2, [r6, r0]
-_0804DA44:
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- movs r0, 0x6
- ldrsh r3, [r6, r0]
- subs r3, 0x1
- mov r12, r3
- movs r3, 0x1
- str r3, [sp]
- ldr r3, [sp, 0x24]
- ldr r0, [r3]
- str r0, [sp, 0x4]
- ldr r3, [sp, 0x4C]
- ldr r0, [r3]
- str r0, [sp, 0x8]
- mov r0, r9
- mov r3, r12
- bl sub_804E328
-_0804DA68:
- movs r0, 0
- strb r0, [r5, 0x17]
- strb r0, [r6, 0x18]
- movs r1, 0x1
- strb r1, [r5, 0xB]
- strb r1, [r6, 0xB]
-_0804DA74:
- ldrb r0, [r5, 0x18]
- cmp r0, 0
- beq _0804DAD4
- ldr r2, [sp, 0x50]
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804DAC6
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _0804DA9C
- movs r3, 0x20
- ldrsh r0, [r5, r3]
- adds r0, 0x1
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- subs r1, 0x1
- bl sub_808411C
- adds r2, r0, 0
- b _0804DAA0
-_0804DA9C:
- movs r3, 0x20
- ldrsh r2, [r5, r3]
-_0804DAA0:
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- subs r1, 0x1
- movs r0, 0x22
- ldrsh r3, [r5, r0]
- mov r12, r3
- movs r3, 0x1
- str r3, [sp]
- ldr r3, [sp, 0x24]
- ldr r0, [r3]
- str r0, [sp, 0x4]
- ldr r3, [sp, 0x4C]
- ldr r0, [r3, 0x4]
- subs r0, 0x1
- str r0, [sp, 0x8]
- mov r0, r9
- mov r3, r12
- bl sub_804E328
-_0804DAC6:
- movs r0, 0
- strb r0, [r5, 0x18]
- ldr r1, [sp, 0x50]
- strb r0, [r1, 0x17]
- movs r2, 0x1
- strb r2, [r5, 0xB]
- strb r2, [r1, 0xB]
-_0804DAD4:
- ldrb r0, [r5, 0x19]
- cmp r0, 0
- beq _0804DB2E
- ldrb r0, [r7, 0x8]
- cmp r0, 0
- bne _0804DB22
- ldrb r0, [r7, 0xA]
- cmp r0, 0
- beq _0804DAFA
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- adds r0, 0x1
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- subs r1, 0x1
- bl sub_808411C
- adds r3, r0, 0
- b _0804DAFE
-_0804DAFA:
- movs r0, 0x2
- ldrsh r3, [r7, r0]
-_0804DAFE:
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0
- ldrsh r2, [r7, r1]
- subs r2, 0x1
- mov r9, r2
- movs r2, 0
- str r2, [sp]
- ldr r2, [sp, 0x24]
- ldr r1, [r2]
- str r1, [sp, 0x4]
- ldr r2, [sp, 0x4C]
- ldr r1, [r2]
- str r1, [sp, 0x8]
- adds r1, r4, 0
- mov r2, r9
- bl sub_804E328
-_0804DB22:
- movs r3, 0
- strb r3, [r5, 0x19]
- strb r3, [r7, 0x1A]
- movs r0, 0x1
- strb r0, [r5, 0xB]
- strb r0, [r7, 0xB]
-_0804DB2E:
- ldrb r0, [r5, 0x1A]
- cmp r0, 0
- beq _0804DB92
- mov r1, r8
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _0804DB84
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- beq _0804DB56
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- subs r1, 0x1
- bl sub_808411C
- adds r3, r0, 0
- b _0804DB5C
-_0804DB56:
- mov r0, r8
- movs r1, 0x2
- ldrsh r3, [r0, r1]
-_0804DB5C:
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- subs r0, 0x1
- mov r1, r8
- movs r2, 0
- ldrsh r1, [r1, r2]
- mov r9, r1
- movs r1, 0
- str r1, [sp]
- ldr r2, [sp, 0x24]
- ldr r1, [r2, 0x4]
- subs r1, 0x1
- str r1, [sp, 0x4]
- ldr r2, [sp, 0x4C]
- ldr r1, [r2]
- str r1, [sp, 0x8]
- adds r1, r4, 0
- mov r2, r9
- bl sub_804E328
-_0804DB84:
- movs r3, 0
- strb r3, [r5, 0x1A]
- mov r4, r8
- strb r3, [r4, 0x19]
- movs r0, 0x1
- strb r0, [r5, 0xB]
- strb r0, [r4, 0xB]
-_0804DB92:
- ldr r1, [sp, 0x48]
- adds r1, 0x20
- str r1, [sp, 0x48]
- movs r2, 0x20
- add r8, r2
- adds r5, 0x20
- adds r7, 0x20
- ldr r3, [sp, 0x4C]
- adds r3, 0x4
- str r3, [sp, 0x4C]
- ldr r4, [sp, 0x50]
- adds r4, 0x20
- str r4, [sp, 0x50]
- adds r6, 0x20
- movs r0, 0x1
- add r10, r0
- ldr r1, [sp, 0x14]
- cmp r10, r1
- bge _0804DBBA
- b _0804D9C8
-_0804DBBA:
- ldr r2, [sp, 0x38]
- str r2, [sp, 0x20]
- ldr r3, [sp, 0x10]
- cmp r2, r3
- bge _0804DBC6
- b _0804D974
-_0804DBC6:
- ldr r4, [sp, 0x1C]
- cmp r4, 0
- beq _0804DBCE
- b _0804E026
-_0804DBCE:
- movs r5, 0
- str r5, [sp, 0x20]
- ldr r6, [sp, 0x10]
- cmp r5, r6
- blt _0804DBDA
- b _0804E026
-_0804DBDA:
- movs r7, 0
- mov r10, r7
- ldr r0, [sp, 0x20]
- adds r0, 0x1
- str r0, [sp, 0x38]
- ldr r1, [sp, 0x14]
- cmp r10, r1
- blt _0804DBEC
- b _0804E018
-_0804DBEC:
- movs r0, 0x64
- bl sub_8084100
- mov r2, r10
- adds r2, 0x1
- str r2, [sp, 0x3C]
- cmp r0, 0x4
- ble _0804DBFE
- b _0804E00C
-_0804DBFE:
- mov r3, r10
- lsls r1, r3, 5
- ldr r4, [sp, 0x20]
- lsls r2, r4, 4
- subs r0, r2, r4
- lsls r0, 5
- ldr r5, [sp, 0xC]
- adds r0, r5
- adds r4, r1, r0
- ldrb r0, [r4, 0x8]
- str r1, [sp, 0x44]
- str r2, [sp, 0x40]
- cmp r0, 0
- beq _0804DC1C
- b _0804E00C
-_0804DC1C:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _0804DC24
- b _0804E00C
-_0804DC24:
- ldrb r0, [r4, 0x12]
- cmp r0, 0
- beq _0804DC2C
- b _0804E00C
-_0804DC2C:
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0804DC34
- b _0804E00C
-_0804DC34:
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- bne _0804DC3C
- b _0804E00C
-_0804DC3C:
- movs r0, 0x4
- bl sub_8084100
- cmp r0, 0x1
- bne _0804DC48
- b _0804DD50
-_0804DC48:
- cmp r0, 0x1
- bgt _0804DC52
- cmp r0, 0
- beq _0804DC60
- b _0804E00C
-_0804DC52:
- cmp r0, 0x2
- bne _0804DC58
- b _0804DE3C
-_0804DC58:
- cmp r0, 0x3
- bne _0804DC5E
- b _0804DF30
-_0804DC5E:
- b _0804E00C
-_0804DC60:
- ldr r6, [sp, 0x20]
- cmp r6, 0
- bgt _0804DC68
- b _0804E00C
-_0804DC68:
- ldr r7, _0804DD48
- adds r2, r4, r7
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- bne _0804DC74
- b _0804E00C
-_0804DC74:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0804DC7C
- b _0804E00C
-_0804DC7C:
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- bne _0804DC84
- b _0804E00C
-_0804DC84:
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- beq _0804DC8C
- b _0804E00C
-_0804DC8C:
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- beq _0804DC94
- b _0804E00C
-_0804DC94:
- movs r1, 0
- ldrsh r0, [r2, r1]
- str r0, [sp, 0x28]
- ldrh r3, [r4, 0x2]
- movs r5, 0x2
- ldrsh r1, [r4, r5]
- ldrh r5, [r2, 0x2]
- movs r6, 0x2
- ldrsh r0, [r2, r6]
- cmp r1, r0
- ble _0804DCAC
- adds r3, r5, 0
-_0804DCAC:
- lsls r0, r3, 16
- asrs r0, 16
- mov r9, r0
- movs r0, 0x4
- ldrsh r7, [r4, r0]
- mov r10, r7
- ldrh r3, [r4, 0x6]
- movs r5, 0x6
- ldrsh r1, [r4, r5]
- ldrh r5, [r2, 0x6]
- movs r6, 0x6
- ldrsh r0, [r2, r6]
- cmp r1, r0
- bge _0804DCCA
- adds r3, r5, 0
-_0804DCCA:
- lsls r0, r3, 16
- asrs r7, r0, 16
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- mov r8, r0
- ldr r5, [sp, 0x28]
- cmp r5, r10
- bge _0804DD16
-_0804DCE4:
- mov r4, r9
- adds r6, r5, 0x1
- cmp r9, r7
- bge _0804DD10
- ldr r0, _0804DD4C
- adds r3, r0, 0
-_0804DCF0:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp, 0x54]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, [sp, 0x54]
- ands r1, r3
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- mov r1, r8
- strb r1, [r0, 0x9]
- adds r4, 0x1
- cmp r4, r7
- blt _0804DCF0
-_0804DD10:
- adds r5, r6, 0
- cmp r5, r10
- blt _0804DCE4
-_0804DD16:
- ldr r2, [sp, 0x40]
- ldr r3, [sp, 0x20]
- subs r0, r2, r3
- lsls r0, 5
- ldr r4, [sp, 0xC]
- adds r0, r4
- ldr r5, [sp, 0x44]
- adds r0, r5, r0
- ldr r6, _0804DD48
- adds r3, r0, r6
- mov r1, sp
- ldrh r1, [r1, 0x28]
- strh r1, [r3]
- mov r2, r10
- strh r2, [r3, 0x4]
- mov r4, r9
- strh r4, [r3, 0x2]
- strh r7, [r3, 0x6]
- movs r5, 0x1
- strb r5, [r0, 0x12]
- strb r5, [r3, 0x12]
- movs r6, 0
- strb r6, [r0, 0xB]
- strb r5, [r0, 0x11]
- b _0804E00C
- .align 2, 0
-_0804DD48: .4byte 0xfffffe20
-_0804DD4C: .4byte 0x0000fffc
-_0804DD50:
- mov r7, r10
- cmp r7, 0
- bgt _0804DD58
- b _0804E00C
-_0804DD58:
- adds r2, r4, 0
- subs r2, 0x20
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- bne _0804DD64
- b _0804E00C
-_0804DD64:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0804DD6C
- b _0804E00C
-_0804DD6C:
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- bne _0804DD74
- b _0804E00C
-_0804DD74:
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- beq _0804DD7C
- b _0804E00C
-_0804DD7C:
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- beq _0804DD84
- b _0804E00C
-_0804DD84:
- ldrh r3, [r4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldrh r5, [r2]
- movs r6, 0
- ldrsh r0, [r2, r6]
- cmp r1, r0
- ble _0804DD96
- adds r3, r5, 0
-_0804DD96:
- lsls r0, r3, 16
- asrs r0, 16
- str r0, [sp, 0x2C]
- movs r0, 0x2
- ldrsh r7, [r2, r0]
- mov r10, r7
- ldrh r3, [r4, 0x4]
- movs r5, 0x4
- ldrsh r1, [r4, r5]
- ldrh r5, [r2, 0x4]
- movs r6, 0x4
- ldrsh r0, [r2, r6]
- cmp r1, r0
- bge _0804DDB4
- adds r3, r5, 0
-_0804DDB4:
- lsls r0, r3, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0x6
- ldrsh r7, [r4, r0]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- mov r9, r0
- ldr r5, [sp, 0x2C]
- cmp r5, r8
- bge _0804DE06
-_0804DDD4:
- mov r4, r10
- adds r6, r5, 0x1
- cmp r10, r7
- bge _0804DE00
- ldr r0, _0804DE38
- adds r3, r0, 0
-_0804DDE0:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp, 0x54]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, [sp, 0x54]
- ands r1, r3
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- mov r1, r9
- strb r1, [r0, 0x9]
- adds r4, 0x1
- cmp r4, r7
- blt _0804DDE0
-_0804DE00:
- adds r5, r6, 0
- cmp r5, r8
- blt _0804DDD4
-_0804DE06:
- ldr r2, [sp, 0x40]
- ldr r3, [sp, 0x20]
- subs r0, r2, r3
- lsls r0, 5
- ldr r4, [sp, 0xC]
- adds r0, r4
- ldr r5, [sp, 0x44]
- adds r0, r5, r0
- adds r3, r0, 0
- subs r3, 0x20
- mov r6, sp
- ldrh r6, [r6, 0x2C]
- strh r6, [r3]
- mov r1, r8
- strh r1, [r3, 0x4]
- mov r2, r10
- strh r2, [r3, 0x2]
- strh r7, [r3, 0x6]
- movs r4, 0x1
- strb r4, [r0, 0x12]
- strb r4, [r3, 0x12]
- movs r5, 0
- strb r5, [r0, 0xB]
- strb r4, [r0, 0x11]
- b _0804E00C
- .align 2, 0
-_0804DE38: .4byte 0x0000fffc
-_0804DE3C:
- ldr r0, [sp, 0x10]
- subs r0, 0x2
- ldr r6, [sp, 0x20]
- cmp r6, r0
- ble _0804DE48
- b _0804E00C
-_0804DE48:
- movs r7, 0xF0
- lsls r7, 1
- adds r2, r4, r7
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- bne _0804DE56
- b _0804E00C
-_0804DE56:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0804DE5E
- b _0804E00C
-_0804DE5E:
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- bne _0804DE66
- b _0804E00C
-_0804DE66:
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- beq _0804DE6E
- b _0804E00C
-_0804DE6E:
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- beq _0804DE76
- b _0804E00C
-_0804DE76:
- movs r1, 0
- ldrsh r0, [r4, r1]
- str r0, [sp, 0x30]
- ldrh r3, [r2, 0x2]
- movs r5, 0x2
- ldrsh r1, [r2, r5]
- ldrh r5, [r4, 0x2]
- movs r6, 0x2
- ldrsh r0, [r4, r6]
- cmp r1, r0
- ble _0804DE8E
- adds r3, r5, 0
-_0804DE8E:
- lsls r0, r3, 16
- asrs r0, 16
- mov r9, r0
- movs r0, 0x4
- ldrsh r7, [r2, r0]
- mov r10, r7
- ldrh r3, [r2, 0x6]
- movs r5, 0x6
- ldrsh r1, [r2, r5]
- ldrh r2, [r4, 0x6]
- movs r6, 0x6
- ldrsh r0, [r4, r6]
- cmp r1, r0
- bge _0804DEAC
- adds r3, r2, 0
-_0804DEAC:
- lsls r0, r3, 16
- asrs r7, r0, 16
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- ldr r0, [sp, 0x30]
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- mov r8, r0
- ldr r5, [sp, 0x30]
- cmp r5, r10
- bge _0804DEF6
-_0804DEC4:
- mov r4, r9
- adds r6, r5, 0x1
- cmp r9, r7
- bge _0804DEF0
- ldr r1, _0804DF2C
- adds r3, r1, 0
-_0804DED0:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp, 0x54]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, [sp, 0x54]
- ands r1, r3
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- mov r2, r8
- strb r2, [r0, 0x9]
- adds r4, 0x1
- cmp r4, r7
- blt _0804DED0
-_0804DEF0:
- adds r5, r6, 0
- cmp r5, r10
- blt _0804DEC4
-_0804DEF6:
- ldr r3, [sp, 0x40]
- ldr r4, [sp, 0x20]
- subs r0, r3, r4
- lsls r0, 5
- ldr r5, [sp, 0xC]
- adds r0, r5
- ldr r6, [sp, 0x44]
- adds r0, r6, r0
- mov r1, sp
- ldrh r1, [r1, 0x30]
- strh r1, [r0]
- mov r2, r10
- strh r2, [r0, 0x4]
- mov r3, r9
- strh r3, [r0, 0x2]
- strh r7, [r0, 0x6]
- movs r4, 0xF0
- lsls r4, 1
- adds r1, r0, r4
- movs r5, 0x1
- strb r5, [r1, 0x12]
- strb r5, [r0, 0x12]
- movs r6, 0
- strb r6, [r1, 0xB]
- strb r5, [r1, 0x11]
- b _0804E00C
- .align 2, 0
-_0804DF2C: .4byte 0x0000fffc
-_0804DF30:
- ldr r0, [sp, 0x14]
- subs r0, 0x2
- cmp r10, r0
- bgt _0804E00C
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r0, [r3, 0xB]
- cmp r0, 0
- beq _0804E00C
- ldrb r0, [r3, 0x8]
- cmp r0, 0
- bne _0804E00C
- ldrb r0, [r3, 0xA]
- cmp r0, 0
- beq _0804E00C
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- bne _0804E00C
- ldrb r0, [r3, 0x12]
- cmp r0, 0
- bne _0804E00C
- ldrh r2, [r4, 0x20]
- movs r7, 0x20
- ldrsh r1, [r4, r7]
- ldrh r5, [r4]
- movs r6, 0
- ldrsh r0, [r4, r6]
- cmp r1, r0
- ble _0804DF6C
- adds r2, r5, 0
-_0804DF6C:
- lsls r0, r2, 16
- asrs r0, 16
- str r0, [sp, 0x34]
- movs r7, 0x2
- ldrsh r6, [r4, r7]
- ldrh r2, [r3, 0x4]
- movs r0, 0x4
- ldrsh r1, [r3, r0]
- ldrh r5, [r4, 0x4]
- movs r7, 0x4
- ldrsh r0, [r4, r7]
- cmp r1, r0
- bge _0804DF88
- adds r2, r5, 0
-_0804DF88:
- lsls r0, r2, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0x6
- ldrsh r3, [r3, r0]
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r1, r6, 0
- str r3, [sp, 0x54]
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- mov r10, r0
- ldr r5, [sp, 0x34]
- ldr r3, [sp, 0x54]
- cmp r5, r8
- bge _0804DFDE
-_0804DFAA:
- adds r4, r6, 0
- adds r7, r5, 0x1
- cmp r6, r3
- bge _0804DFD8
- ldr r2, _0804E038
- mov r9, r2
-_0804DFB6:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp, 0x54]
- bl sub_8049590
- ldrh r1, [r0]
- mov r2, r9
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- mov r1, r10
- strb r1, [r0, 0x9]
- adds r4, 0x1
- ldr r3, [sp, 0x54]
- cmp r4, r3
- blt _0804DFB6
-_0804DFD8:
- adds r5, r7, 0
- cmp r5, r8
- blt _0804DFAA
-_0804DFDE:
- ldr r2, [sp, 0x40]
- ldr r4, [sp, 0x20]
- subs r0, r2, r4
- lsls r0, 5
- ldr r5, [sp, 0xC]
- adds r0, r5
- ldr r7, [sp, 0x44]
- adds r0, r7, r0
- mov r1, sp
- ldrh r1, [r1, 0x34]
- strh r1, [r0]
- mov r2, r8
- strh r2, [r0, 0x4]
- strh r6, [r0, 0x2]
- strh r3, [r0, 0x6]
- adds r1, r0, 0
- adds r1, 0x20
- movs r3, 0x1
- strb r3, [r1, 0x12]
- strb r3, [r0, 0x12]
- movs r4, 0
- strb r4, [r1, 0xB]
- strb r3, [r1, 0x11]
-_0804E00C:
- ldr r5, [sp, 0x3C]
- mov r10, r5
- ldr r6, [sp, 0x14]
- cmp r10, r6
- bge _0804E018
- b _0804DBEC
-_0804E018:
- ldr r7, [sp, 0x38]
- str r7, [sp, 0x20]
- adds r0, r7, 0
- ldr r1, [sp, 0x10]
- cmp r0, r1
- bge _0804E026
- b _0804DBDA
-_0804E026:
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E038: .4byte 0x0000fffc
- thumb_func_end sub_804D8C8
-
- thumb_func_start sub_804E03C
-sub_804E03C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- cmp r0, r1
- blt _0804E058
- b _0804E318
-_0804E058:
- movs r2, 0
- ldr r1, [sp, 0xC]
- adds r1, 0x1
- str r1, [sp, 0x28]
- ldr r3, [sp, 0x8]
- cmp r2, r3
- blt _0804E068
- b _0804E30C
-_0804E068:
- ldr r4, [sp, 0xC]
- lsls r4, 4
- str r4, [sp, 0x14]
- ldr r6, [sp, 0xC]
- subs r0, r4, r6
- lsls r0, 5
- ldr r1, [sp]
- adds r0, r1
- str r0, [sp, 0x18]
-_0804E07A:
- lsls r0, r2, 5
- ldr r3, [sp, 0x18]
- adds r4, r0, r3
- ldrb r1, [r4, 0x8]
- str r0, [sp, 0x34]
- adds r2, 0x1
- str r2, [sp, 0x2C]
- cmp r1, 0
- beq _0804E08E
- b _0804E302
-_0804E08E:
- ldrb r0, [r4, 0x11]
- cmp r0, 0
- beq _0804E096
- b _0804E302
-_0804E096:
- ldrb r0, [r4, 0x12]
- cmp r0, 0
- beq _0804E09E
- b _0804E302
-_0804E09E:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _0804E0A6
- b _0804E302
-_0804E0A6:
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- bne _0804E0AE
- b _0804E302
-_0804E0AE:
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0804E0B6
- b _0804E302
-_0804E0B6:
- ldrb r0, [r4, 0x10]
- cmp r0, 0
- beq _0804E0BE
- b _0804E302
-_0804E0BE:
- ldrb r0, [r4, 0x1C]
- cmp r0, 0
- bne _0804E0C6
- b _0804E302
-_0804E0C6:
- movs r0, 0x64
- bl sub_8084100
- cmp r0, 0x3B
- bgt _0804E0D2
- b _0804E302
-_0804E0D2:
- movs r6, 0x4
- ldrsh r2, [r4, r6]
- movs r1, 0
- ldrsh r0, [r4, r1]
- subs r2, r0
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- movs r6, 0x2
- ldrsh r1, [r4, r6]
- subs r0, r1
- adds r2, r0
- str r2, [sp, 0x10]
- adds r0, r2, 0
- cmp r2, 0
- bge _0804E0F2
- adds r0, 0x3
-_0804E0F2:
- asrs r0, 2
- str r0, [sp, 0x10]
- cmp r0, 0
- bne _0804E0FE
- movs r0, 0x1
- str r0, [sp, 0x10]
-_0804E0FE:
- movs r1, 0
- ldr r2, [sp, 0x10]
- cmp r1, r2
- blt _0804E108
- b _0804E302
-_0804E108:
- ldr r3, [sp, 0x14]
- ldr r4, [sp, 0xC]
- subs r0, r3, r4
- lsls r0, 5
- ldr r6, [sp]
- adds r0, r6
- ldr r2, [sp, 0x34]
- adds r0, r2, r0
- str r0, [sp, 0x20]
-_0804E11A:
- movs r4, 0
- adds r1, 0x1
- str r1, [sp, 0x30]
-_0804E120:
- movs r0, 0x4
- bl sub_8084100
- str r0, [sp, 0x1C]
- cmp r0, 0x1
- beq _0804E14A
- cmp r0, 0x1
- ble _0804E138
- cmp r0, 0x2
- beq _0804E168
- cmp r0, 0x3
- beq _0804E182
-_0804E138:
- ldr r3, [sp, 0x20]
- movs r6, 0
- ldrsh r7, [r3, r6]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- mov r8, r0
- cmp r4, 0
- bne _0804E19C
- b _0804E15C
-_0804E14A:
- ldr r2, [sp, 0x20]
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- subs r7, r0, 0x1
- movs r0, 0x2
- ldrsh r6, [r2, r0]
- mov r8, r6
- cmp r4, 0
- beq _0804E162
-_0804E15C:
- movs r3, 0
- movs r2, 0x1
- b _0804E1A0
-_0804E162:
- movs r3, 0x1
- negs r3, r3
- b _0804E19E
-_0804E168:
- ldr r1, [sp, 0x20]
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- subs r7, r0, 0x1
- movs r3, 0x6
- ldrsh r0, [r1, r3]
- subs r0, 0x1
- mov r8, r0
- cmp r4, 0
- beq _0804E194
- movs r3, 0x1
- negs r3, r3
- b _0804E19E
-_0804E182:
- ldr r6, [sp, 0x20]
- movs r0, 0
- ldrsh r7, [r6, r0]
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- subs r0, 0x1
- mov r8, r0
- cmp r4, 0
- beq _0804E19C
-_0804E194:
- movs r3, 0
- movs r2, 0x1
- negs r2, r2
- b _0804E1A0
-_0804E19C:
- movs r3, 0x1
-_0804E19E:
- movs r2, 0
-_0804E1A0:
- movs r6, 0
- mov r9, r6
- ldr r5, [sp, 0x34]
- ldr r0, [sp, 0x14]
- str r0, [sp, 0x40]
- ldr r6, [sp, 0x18]
- adds r1, r5, r6
- movs r6, 0
- ldrsh r0, [r1, r6]
- mov r10, r0
- adds r4, 0x1
- str r4, [sp, 0x24]
- cmp r7, r10
- bge _0804E1BE
- b _0804E2F0
-_0804E1BE:
- movs r4, 0x4
- ldrsh r0, [r1, r4]
- cmp r7, r0
- blt _0804E1C8
- b _0804E2F0
-_0804E1C8:
- ldr r6, [sp, 0x40]
- ldr r1, [sp, 0xC]
- subs r0, r6, r1
- lsls r0, 5
- ldr r4, [sp]
- adds r0, r4
- adds r4, r5, r0
- movs r6, 0x2
- ldrsh r0, [r4, r6]
- cmp r8, r0
- bge _0804E1E0
- b _0804E2F0
-_0804E1E0:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r8, r0
- blt _0804E1EA
- b _0804E2F0
-_0804E1EA:
- adds r0, r7, 0
- mov r1, r8
- str r2, [sp, 0x38]
- str r3, [sp, 0x3C]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- ldr r2, [sp, 0x38]
- ldr r3, [sp, 0x3C]
- cmp r0, 0x1
- bne _0804E2D0
- movs r6, 0
-_0804E206:
- ldr r1, _0804E228
- lsls r0, r6, 2
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r1, r7
- mov r10, r1
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- add r0, r8
- mov r9, r0
- movs r3, 0
- movs r5, 0x1
- negs r5, r5
-_0804E222:
- movs r4, 0x1
- negs r4, r4
- b _0804E22E
- .align 2, 0
-_0804E228: .4byte gUnknown_80F4448
-_0804E22C:
- adds r4, 0x1
-_0804E22E:
- cmp r4, 0x1
- bgt _0804E25A
- mov r1, r10
- adds r0, r1, r4
- mov r2, r9
- adds r1, r2, r5
- str r3, [sp, 0x3C]
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- ldr r3, [sp, 0x3C]
- cmp r0, 0x1
- bne _0804E22C
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- bne _0804E256
- movs r3, 0x1
-_0804E256:
- cmp r3, 0
- beq _0804E22C
-_0804E25A:
- cmp r3, 0
- bne _0804E26A
- adds r5, 0x1
- cmp r5, 0x1
- ble _0804E222
- adds r6, 0x1
- cmp r6, 0x7
- ble _0804E206
-_0804E26A:
- cmp r6, 0x8
- bne _0804E2F0
- movs r6, 0
- ldr r3, [sp, 0x1C]
- lsls r1, r3, 3
- ldr r0, _0804E2C4
- adds r4, r1, r0
-_0804E278:
- ldr r0, _0804E2C8
- lsls r1, r6, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- adds r0, r7, r0
- add r1, r8
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- movs r1, 0
- cmp r0, 0x1
- bne _0804E29C
- movs r1, 0x1
-_0804E29C:
- ldrb r0, [r4]
- cmp r0, r1
- bne _0804E2AA
- adds r4, 0x2
- adds r6, 0x2
- cmp r6, 0x7
- ble _0804E278
-_0804E2AA:
- cmp r6, 0x8
- bne _0804E2F0
- adds r0, r7, 0
- mov r1, r8
- bl sub_8049590
- ldrh r2, [r0]
- ldr r4, _0804E2CC
- adds r1, r4, 0
- ands r2, r1
- strh r2, [r0]
- b _0804E2F0
- .align 2, 0
-_0804E2C4: .4byte gUnknown_80F6DD5
-_0804E2C8: .4byte gUnknown_80F4448
-_0804E2CC: .4byte 0x0000fffc
-_0804E2D0:
- adds r7, r3
- add r8, r2
- movs r6, 0x1
- add r9, r6
- mov r0, r9
- cmp r0, 0x9
- bgt _0804E2F0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r7, r0
- blt _0804E2F0
- movs r6, 0x4
- ldrsh r0, [r4, r6]
- cmp r7, r0
- bge _0804E2F0
- b _0804E1C8
-_0804E2F0:
- ldr r4, [sp, 0x24]
- cmp r4, 0x1
- bgt _0804E2F8
- b _0804E120
-_0804E2F8:
- ldr r1, [sp, 0x30]
- ldr r0, [sp, 0x10]
- cmp r1, r0
- bge _0804E302
- b _0804E11A
-_0804E302:
- ldr r2, [sp, 0x2C]
- ldr r1, [sp, 0x8]
- cmp r2, r1
- bge _0804E30C
- b _0804E07A
-_0804E30C:
- ldr r2, [sp, 0x28]
- str r2, [sp, 0xC]
- ldr r3, [sp, 0x4]
- cmp r2, r3
- bge _0804E318
- b _0804E058
-_0804E318:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804E03C
-
- thumb_func_start sub_804E328
-sub_804E328:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- ldr r0, [sp, 0x28]
- lsls r0, 24
- mov r10, r5
- mov r9, r4
- ldr r1, [sp, 0x2C]
- mov r8, r1
- ldr r7, [sp, 0x30]
- cmp r0, 0
- bne _0804E350
- b _0804E470
-_0804E350:
- movs r6, 0
-_0804E352:
- cmp r4, r7
- beq _0804E3A8
- adds r0, r6, 0
- adds r6, 0x1
- cmp r0, 0x37
- ble _0804E360
- b _0804E57E
-_0804E360:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804E390
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- ldr r3, _0804E38C
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strh r2, [r0]
- b _0804E39C
- .align 2, 0
-_0804E38C: .4byte 0x0000fffc
-_0804E390:
- cmp r5, r10
- beq _0804E396
- b _0804E57E
-_0804E396:
- cmp r4, r9
- beq _0804E39C
- b _0804E57E
-_0804E39C:
- cmp r4, r7
- bge _0804E3A4
- adds r4, 0x1
- b _0804E352
-_0804E3A4:
- subs r4, 0x1
- b _0804E352
-_0804E3A8:
- movs r6, 0
- ldr r0, [sp]
- cmp r5, r0
- beq _0804E40A
- movs r7, 0
-_0804E3B2:
- adds r0, r6, 0
- adds r6, 0x1
- cmp r0, 0x37
- ble _0804E3BC
- b _0804E57E
-_0804E3BC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804E3EC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- ldr r3, _0804E3E8
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strh r2, [r0]
- b _0804E3F8
- .align 2, 0
-_0804E3E8: .4byte 0x0000fffc
-_0804E3EC:
- cmp r5, r10
- beq _0804E3F2
- b _0804E57E
-_0804E3F2:
- cmp r4, r9
- beq _0804E3F8
- b _0804E57E
-_0804E3F8:
- ldr r0, [sp]
- cmp r5, r0
- bge _0804E402
- adds r5, 0x1
- b _0804E404
-_0804E402:
- subs r5, 0x1
-_0804E404:
- ldr r1, [sp]
- cmp r5, r1
- bne _0804E3B2
-_0804E40A:
- movs r6, 0
- ldr r3, [sp, 0x4]
- cmp r4, r3
- bne _0804E414
- b _0804E57E
-_0804E414:
- movs r7, 0
-_0804E416:
- adds r0, r6, 0
- adds r6, 0x1
- cmp r0, 0x37
- ble _0804E420
- b _0804E57E
-_0804E420:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804E450
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- ldr r3, _0804E44C
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strh r2, [r0]
- b _0804E45C
- .align 2, 0
-_0804E44C: .4byte 0x0000fffc
-_0804E450:
- cmp r5, r10
- beq _0804E456
- b _0804E57E
-_0804E456:
- cmp r4, r9
- beq _0804E45C
- b _0804E57E
-_0804E45C:
- ldr r0, [sp, 0x4]
- cmp r4, r0
- bge _0804E466
- adds r4, 0x1
- b _0804E468
-_0804E466:
- subs r4, 0x1
-_0804E468:
- ldr r1, [sp, 0x4]
- cmp r4, r1
- bne _0804E416
- b _0804E57E
-_0804E470:
- movs r6, 0
- cmp r5, r8
- beq _0804E4C6
- movs r7, 0
-_0804E478:
- adds r0, r6, 0
- adds r6, 0x1
- cmp r0, 0x37
- ble _0804E482
- b _0804E57E
-_0804E482:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804E4B0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- ldr r3, _0804E4AC
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strh r2, [r0]
- b _0804E4B8
- .align 2, 0
-_0804E4AC: .4byte 0x0000fffc
-_0804E4B0:
- cmp r5, r10
- bne _0804E57E
- cmp r4, r9
- bne _0804E57E
-_0804E4B8:
- cmp r5, r8
- bge _0804E4C0
- adds r5, 0x1
- b _0804E4C2
-_0804E4C0:
- subs r5, 0x1
-_0804E4C2:
- cmp r5, r8
- bne _0804E478
-_0804E4C6:
- movs r6, 0
- ldr r0, [sp, 0x4]
- cmp r4, r0
- beq _0804E522
- movs r7, 0
-_0804E4D0:
- adds r0, r6, 0
- adds r6, 0x1
- cmp r0, 0x37
- bgt _0804E57E
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804E508
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- ldr r3, _0804E504
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strh r2, [r0]
- b _0804E510
- .align 2, 0
-_0804E504: .4byte 0x0000fffc
-_0804E508:
- cmp r5, r10
- bne _0804E57E
- cmp r4, r9
- bne _0804E57E
-_0804E510:
- ldr r0, [sp, 0x4]
- cmp r4, r0
- bge _0804E51A
- adds r4, 0x1
- b _0804E51C
-_0804E51A:
- subs r4, 0x1
-_0804E51C:
- ldr r1, [sp, 0x4]
- cmp r4, r1
- bne _0804E4D0
-_0804E522:
- movs r6, 0
- ldr r3, [sp]
- cmp r5, r3
- beq _0804E57E
- movs r7, 0
-_0804E52C:
- adds r0, r6, 0
- adds r6, 0x1
- cmp r0, 0x37
- bgt _0804E57E
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804E564
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- ldr r3, _0804E560
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strh r2, [r0]
- b _0804E56C
- .align 2, 0
-_0804E560: .4byte 0x0000fffc
-_0804E564:
- cmp r5, r10
- bne _0804E57E
- cmp r4, r9
- bne _0804E57E
-_0804E56C:
- ldr r0, [sp]
- cmp r5, r0
- bge _0804E576
- adds r5, 0x1
- b _0804E578
-_0804E576:
- subs r5, 0x1
-_0804E578:
- ldr r1, [sp]
- cmp r5, r1
- bne _0804E52C
-_0804E57E:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804E328
-
- thumb_func_start sub_804E590
-sub_804E590:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- str r2, [sp, 0x14]
- str r3, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x1C]
- cmp r0, r1
- blt _0804E5AE
- b _0804E8AA
-_0804E5AE:
- movs r1, 0x1
- mov r10, r1
-_0804E5B2:
- movs r2, 0
- str r2, [sp, 0x20]
- ldr r3, [sp, 0x1C]
- adds r3, 0x1
- str r3, [sp, 0x2C]
- ldr r4, [sp, 0x14]
- cmp r2, r4
- blt _0804E5C4
- b _0804E89E
-_0804E5C4:
- ldr r5, [sp, 0x1C]
- lsls r5, 4
- ldr r6, [sp, 0x1C]
- subs r1, r5, r6
- lsls r1, 5
- ldr r2, [sp, 0xC]
- movs r3, 0xF0
- lsls r3, 1
- adds r0, r2, r3
- adds r0, r1
- mov r8, r0
- adds r6, r1, r2
- ldr r4, _0804E6A4
- adds r0, r2, r4
- adds r7, r1, r0
- adds r0, r2, 0
- adds r0, 0x20
- adds r0, r1
- mov r9, r0
- ldr r5, [sp, 0x60]
- str r5, [sp, 0x34]
- adds r0, r2, 0
- subs r0, 0x20
- adds r1, r0
- str r1, [sp, 0x38]
- movs r0, 0
- str r0, [sp, 0x3C]
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 2
- ldr r2, [sp, 0x18]
- adds r0, r2
- str r0, [sp, 0x28]
-_0804E604:
- ldr r3, [sp, 0x1C]
- lsls r0, r3, 4
- subs r0, r3
- lsls r0, 5
- ldr r4, [sp, 0xC]
- adds r0, r4
- ldr r5, [sp, 0x3C]
- adds r4, r5, r0
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _0804E61C
- b _0804E874
-_0804E61C:
- ldrb r0, [r4, 0x11]
- cmp r0, 0
- beq _0804E624
- b _0804E874
-_0804E624:
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- beq _0804E62C
- b _0804E874
-_0804E62C:
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- bne _0804E634
- b _0804E848
-_0804E634:
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0804E63C
- b _0804E848
-_0804E63C:
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- subs r1, 0x1
- bl sub_808411C
- str r0, [sp, 0x24]
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- adds r0, 0x1
- movs r5, 0x6
- ldrsh r1, [r4, r5]
- subs r1, 0x1
- bl sub_808411C
- adds r5, r0, 0
- ldr r0, [sp, 0x20]
- cmp r0, 0
- ble _0804E6DC
- subs r4, 0x20
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- bne _0804E6DC
- ldrb r0, [r4, 0x12]
- cmp r0, 0
- bne _0804E6DC
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- beq _0804E6DC
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _0804E6A8
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- subs r1, 0x1
- bl sub_808411C
- adds r5, r0, 0
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- adds r0, 0x1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x1
- bl sub_808411C
- b _0804E6AC
- .align 2, 0
-_0804E6A4: .4byte 0xfffffe20
-_0804E6A8:
- movs r3, 0
- ldrsh r5, [r4, r3]
-_0804E6AC:
- movs r4, 0x2
- ldrsh r1, [r6, r4]
- ldr r0, [sp, 0x38]
- movs r2, 0x6
- ldrsh r3, [r0, r2]
- subs r3, 0x1
- mov r4, r10
- str r4, [sp]
- ldr r2, [sp, 0x28]
- ldr r0, [r2]
- str r0, [sp, 0x4]
- ldr r4, [sp, 0x34]
- ldr r0, [r4]
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x24]
- adds r2, r5, 0
- bl sub_804E328
- mov r5, r10
- strb r5, [r6, 0xB]
- strb r5, [r6, 0x13]
- ldr r0, [sp, 0x38]
- strb r5, [r0, 0x14]
- b _0804E874
-_0804E6DC:
- ldr r0, [sp, 0x14]
- subs r0, 0x1
- ldr r1, [sp, 0x20]
- cmp r1, r0
- bge _0804E758
- mov r2, r9
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804E758
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- bne _0804E758
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _0804E758
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _0804E724
- movs r3, 0x20
- ldrsh r0, [r6, r3]
- adds r0, 0x1
- movs r4, 0x24
- ldrsh r1, [r6, r4]
- subs r1, 0x1
- bl sub_808411C
- adds r5, r0, 0
- movs r1, 0x22
- ldrsh r0, [r6, r1]
- adds r0, 0x1
- movs r2, 0x26
- ldrsh r1, [r6, r2]
- subs r1, 0x1
- bl sub_808411C
- b _0804E728
-_0804E724:
- movs r3, 0x20
- ldrsh r5, [r6, r3]
-_0804E728:
- movs r4, 0x6
- ldrsh r1, [r6, r4]
- subs r1, 0x1
- movs r0, 0x22
- ldrsh r3, [r6, r0]
- mov r2, r10
- str r2, [sp]
- ldr r4, [sp, 0x28]
- ldr r0, [r4]
- str r0, [sp, 0x4]
- ldr r2, [sp, 0x34]
- ldr r0, [r2, 0x4]
- subs r0, 0x1
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x24]
- adds r2, r5, 0
- bl sub_804E328
- mov r3, r10
- strb r3, [r6, 0xB]
- strb r3, [r6, 0x14]
- mov r4, r9
- strb r3, [r4, 0x13]
- b _0804E874
-_0804E758:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- ble _0804E7C8
- ldrb r0, [r7, 0x8]
- cmp r0, 0
- bne _0804E7C8
- ldrb r0, [r7, 0x12]
- cmp r0, 0
- bne _0804E7C8
- ldrb r0, [r7, 0xB]
- cmp r0, 0
- beq _0804E7C8
- ldrb r0, [r7, 0xA]
- cmp r0, 0
- beq _0804E79A
- movs r1, 0
- ldrsh r0, [r7, r1]
- adds r0, 0x1
- movs r2, 0x4
- ldrsh r1, [r7, r2]
- subs r1, 0x1
- bl sub_808411C
- movs r3, 0x2
- ldrsh r0, [r7, r3]
- adds r0, 0x1
- movs r4, 0x6
- ldrsh r1, [r7, r4]
- subs r1, 0x1
- bl sub_808411C
- adds r3, r0, 0
- b _0804E79E
-_0804E79A:
- movs r0, 0x2
- ldrsh r3, [r7, r0]
-_0804E79E:
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r4, 0
- ldrsh r2, [r7, r4]
- subs r2, 0x1
- movs r1, 0
- str r1, [sp]
- ldr r4, [sp, 0x28]
- ldr r1, [r4]
- str r1, [sp, 0x4]
- ldr r4, [sp, 0x34]
- ldr r1, [r4]
- str r1, [sp, 0x8]
- adds r1, r5, 0
- bl sub_804E328
- mov r5, r10
- strb r5, [r6, 0xB]
- strb r5, [r6, 0x15]
- strb r5, [r7, 0x16]
- b _0804E874
-_0804E7C8:
- ldr r0, [sp, 0x10]
- subs r0, 0x1
- ldr r1, [sp, 0x1C]
- cmp r1, r0
- bge _0804E874
- mov r2, r8
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804E874
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- bne _0804E874
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _0804E874
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _0804E812
- movs r3, 0
- ldrsh r0, [r2, r3]
- adds r0, 0x1
- movs r4, 0x4
- ldrsh r1, [r2, r4]
- subs r1, 0x1
- bl sub_808411C
- mov r1, r8
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- subs r1, 0x1
- bl sub_808411C
- adds r3, r0, 0
- b _0804E818
-_0804E812:
- mov r4, r8
- movs r0, 0x2
- ldrsh r3, [r4, r0]
-_0804E818:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- subs r0, 0x1
- mov r4, r8
- movs r1, 0
- ldrsh r2, [r4, r1]
- movs r1, 0
- str r1, [sp]
- ldr r4, [sp, 0x28]
- ldr r1, [r4, 0x4]
- subs r1, 0x1
- str r1, [sp, 0x4]
- ldr r4, [sp, 0x34]
- ldr r1, [r4]
- str r1, [sp, 0x8]
- adds r1, r5, 0
- bl sub_804E328
- mov r5, r10
- strb r5, [r6, 0xB]
- strb r5, [r6, 0x16]
- mov r0, r8
- strb r5, [r0, 0x15]
- b _0804E874
-_0804E848:
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, _0804E99C
- adds r2, r3, 0
- ands r1, r2
- strh r1, [r0]
- ldrh r1, [r0, 0x4]
- ldr r4, _0804E9A0
- adds r2, r4, 0
- ands r1, r2
- ldr r5, _0804E9A4
- adds r2, r5, 0
- ands r1, r2
- subs r3, 0x1
- adds r2, r3, 0
- ands r1, r2
- strh r1, [r0, 0x4]
-_0804E874:
- movs r4, 0x20
- add r8, r4
- adds r6, 0x20
- adds r7, 0x20
- add r9, r4
- ldr r5, [sp, 0x34]
- adds r5, 0x4
- str r5, [sp, 0x34]
- ldr r0, [sp, 0x38]
- adds r0, 0x20
- str r0, [sp, 0x38]
- ldr r1, [sp, 0x3C]
- adds r1, 0x20
- str r1, [sp, 0x3C]
- ldr r2, [sp, 0x20]
- adds r2, 0x1
- str r2, [sp, 0x20]
- ldr r3, [sp, 0x14]
- cmp r2, r3
- bge _0804E89E
- b _0804E604
-_0804E89E:
- ldr r4, [sp, 0x2C]
- str r4, [sp, 0x1C]
- ldr r5, [sp, 0x10]
- cmp r4, r5
- bge _0804E8AA
- b _0804E5B2
-_0804E8AA:
- movs r6, 0
- str r6, [sp, 0x1C]
- ldr r0, [sp, 0x10]
- cmp r6, r0
- bge _0804E98A
-_0804E8B4:
- movs r1, 0
- str r1, [sp, 0x20]
- ldr r2, [sp, 0x1C]
- adds r2, 0x1
- str r2, [sp, 0x2C]
- ldr r3, [sp, 0x14]
- cmp r1, r3
- bge _0804E980
- ldr r4, [sp, 0x1C]
- lsls r4, 4
- mov r9, r4
-_0804E8CA:
- ldr r5, [sp, 0x20]
- lsls r2, r5, 5
- ldr r6, [sp, 0x1C]
- lsls r3, r6, 4
- subs r0, r3, r6
- lsls r0, 5
- ldr r1, [sp, 0xC]
- adds r4, r0, r1
- adds r1, r2, r4
- ldrb r0, [r1, 0x8]
- mov r8, r2
- adds r5, 0x1
- str r5, [sp, 0x30]
- cmp r0, 0
- bne _0804E976
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- bne _0804E976
- ldrb r0, [r1, 0xB]
- cmp r0, 0
- bne _0804E976
- ldrb r0, [r1, 0xF]
- cmp r0, 0
- bne _0804E976
- movs r6, 0
- ldrsh r5, [r1, r6]
- movs r6, 0x4
- ldrsh r0, [r1, r6]
- cmp r5, r0
- bge _0804E976
- mov r10, r4
-_0804E908:
- ldr r1, [sp, 0x1C]
- subs r0, r3, r1
- lsls r0, 5
- ldr r3, [sp, 0xC]
- adds r0, r3
- adds r0, r2, r0
- movs r6, 0x2
- ldrsh r4, [r0, r6]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- adds r7, r5, 0x1
- cmp r4, r0
- bge _0804E95C
- mov r6, r8
- add r6, r10
-_0804E926:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- ldr r3, _0804E99C
- adds r1, r3, 0
- ands r2, r1
- strh r2, [r0]
- ldrh r2, [r0, 0x4]
- adds r3, 0x1
- adds r1, r3, 0
- ands r2, r1
- adds r3, 0x1
- adds r1, r3, 0
- ands r2, r1
- subs r3, 0x3
- adds r1, r3, 0
- ands r2, r1
- strh r2, [r0, 0x4]
- movs r1, 0xFF
- strb r1, [r0, 0x9]
- adds r4, 0x1
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r4, r0
- blt _0804E926
-_0804E95C:
- adds r5, r7, 0
- mov r2, r8
- mov r3, r9
- ldr r4, [sp, 0x1C]
- subs r0, r3, r4
- lsls r0, 5
- ldr r6, [sp, 0xC]
- adds r0, r6
- adds r0, r2, r0
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0804E908
-_0804E976:
- ldr r2, [sp, 0x30]
- str r2, [sp, 0x20]
- ldr r3, [sp, 0x14]
- cmp r2, r3
- blt _0804E8CA
-_0804E980:
- ldr r4, [sp, 0x2C]
- str r4, [sp, 0x1C]
- ldr r5, [sp, 0x10]
- cmp r4, r5
- blt _0804E8B4
-_0804E98A:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E99C: .4byte 0x0000fffc
-_0804E9A0: .4byte 0x0000fffe
-_0804E9A4: .4byte 0x0000fffd
- thumb_func_end sub_804E590
-
- thumb_func_start sub_804E9A8
-sub_804E9A8:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldrh r0, [r4]
- ldr r5, _0804E9D8
- adds r3, r5, 0
- ands r3, r0
- strh r3, [r4]
- cmp r1, 0
- beq _0804E9D0
- ldrb r0, [r4, 0x9]
- cmp r0, r2
- bne _0804E9D0
- adds r0, r3, 0
- ands r0, r5
- movs r1, 0x2
- orrs r0, r1
- strh r0, [r4]
-_0804E9D0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0804E9D8: .4byte 0x0000fffc
- thumb_func_end sub_804E9A8
-
- thumb_func_start sub_804E9DC
-sub_804E9DC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- movs r0, 0x3
- mov r8, r0
- movs r7, 0x8
- ldr r3, _0804EAF0
- mov r9, r3
-_0804E9F2:
- movs r4, 0
- adds r6, r5, 0x1
- mov r10, r6
-_0804E9F8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- adds r6, r4, 0x1
- cmp r0, 0x1
- beq _0804EA0E
- b _0804EB0E
-_0804EA0E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- cmp r0, 0xFF
- bne _0804EAF4
- cmp r5, 0
- ble _0804EA4E
- subs r0, r5, 0x1
- adds r1, r4, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _0804EA4E
- ldrh r0, [r2]
- adds r1, r0, 0
- orrs r1, r7
- movs r3, 0
- strh r1, [r2]
- adds r0, r1, 0
- mov r6, r8
- ands r0, r6
- cmp r0, 0x2
- bne _0804EA4E
- mov r0, r9
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strh r1, [r2]
-_0804EA4E:
- cmp r4, 0
- ble _0804EA82
- subs r1, r4, 0x1
- adds r0, r5, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _0804EA82
- ldrh r0, [r2]
- adds r1, r0, 0
- orrs r1, r7
- movs r3, 0
- orrs r1, r7
- strh r1, [r2]
- adds r0, r1, 0
- mov r6, r8
- ands r0, r6
- cmp r0, 0x2
- bne _0804EA82
- mov r0, r9
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strh r1, [r2]
-_0804EA82:
- adds r6, r4, 0x1
- cmp r4, 0x1E
- bgt _0804EABA
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _0804EABA
- ldrh r0, [r2]
- adds r1, r0, 0
- orrs r1, r7
- movs r3, 0
- mov r12, r3
- orrs r1, r7
- strh r1, [r2]
- adds r0, r1, 0
- mov r3, r8
- ands r0, r3
- cmp r0, 0x2
- bne _0804EABA
- mov r0, r9
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strh r1, [r2]
-_0804EABA:
- cmp r5, 0x36
- bgt _0804EB0E
- mov r0, r10
- adds r1, r4, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _0804EB0E
- ldrh r0, [r2]
- adds r1, r0, 0
- orrs r1, r7
- movs r3, 0
- orrs r1, r7
- strh r1, [r2]
- adds r0, r1, 0
- mov r4, r8
- ands r0, r4
- cmp r0, 0x2
- bne _0804EB0E
- mov r0, r9
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strh r1, [r2]
- b _0804EB0E
- .align 2, 0
-_0804EAF0: .4byte 0x0000fffc
-_0804EAF4:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- cmp r0, 0xFE
- bne _0804EB0E
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0xFF
- strb r1, [r0, 0x9]
-_0804EB0E:
- adds r4, r6, 0
- cmp r4, 0x1F
- bgt _0804EB16
- b _0804E9F8
-_0804EB16:
- mov r5, r10
- cmp r5, 0x37
- bgt _0804EB1E
- b _0804E9F2
-_0804EB1E:
- bl sub_804EB30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804E9DC
-
- thumb_func_start sub_804EB30
-sub_804EB30:
- push {r4-r7,lr}
- ldr r0, _0804EBB4
- ldr r6, [r0]
- movs r2, 0
- movs r1, 0x1F
- ldr r3, _0804EBB8
- adds r0, r6, r3
-_0804EB3E:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _0804EB3E
- movs r5, 0
-_0804EB4A:
- movs r4, 0
- adds r7, r5, 0x1
-_0804EB4E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804EBA2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrb r3, [r0, 0x9]
- cmp r3, 0x1F
- bhi _0804EBA2
- lsls r0, r3, 1
- ldr r2, _0804EBBC
- adds r1, r6, r2
- adds r2, r1, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1F
- bgt _0804EBA2
- lsls r0, 2
- lsls r1, r3, 7
- adds r0, r1
- adds r0, r6, r0
- ldr r3, _0804EBC0
- adds r0, r3
- strh r5, [r0]
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r1
- adds r0, r6, r0
- ldr r1, _0804EBC4
- adds r0, r1
- strh r4, [r0]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_0804EBA2:
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0804EB4E
- adds r5, r7, 0
- cmp r5, 0x37
- ble _0804EB4A
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804EBB4: .4byte gUnknown_203B418
-_0804EBB8: .4byte 0x00010882
-_0804EBBC: .4byte 0x00010844
-_0804EBC0: .4byte 0x00010884
-_0804EBC4: .4byte 0x00010886
- thumb_func_end sub_804EB30
-
- thumb_func_start sub_804EBC8
-sub_804EBC8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- str r0, [sp, 0x40]
- str r1, [sp, 0x44]
- mov r10, r2
- adds r4, r3, 0
- ldr r0, _0804EE90
- ldr r0, [r0]
- mov r8, r0
- ldr r1, _0804EE94
- ldr r0, _0804EE98
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1, 0x2]
- ldr r0, _0804EE9C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804EBF8
- b _0804EED4
-_0804EBF8:
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0804EC06
- b _0804EED4
-_0804EC06:
- cmp r4, 0
- bne _0804EC0C
- b _0804EED4
-_0804EC0C:
- movs r0, 0x64
- bl sub_8084100
- cmp r4, r0
- bgt _0804EC18
- b _0804EED4
-_0804EC18:
- movs r5, 0
- add r7, sp, 0x20
- adds r1, r7, 0
- mov r0, sp
-_0804EC20:
- strh r5, [r0]
- strh r5, [r1]
- adds r1, 0x2
- adds r0, 0x2
- adds r5, 0x1
- cmp r5, 0xE
- ble _0804EC20
- movs r5, 0xC7
-_0804EC30:
- movs r0, 0xF
- bl sub_8084100
- adds r4, r0, 0
- movs r0, 0xF
- bl sub_8084100
- lsls r4, 1
- mov r1, sp
- adds r2, r1, r4
- movs r4, 0
- ldrsh r3, [r2, r4]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- strh r3, [r1]
- subs r5, 0x1
- cmp r5, 0
- bge _0804EC30
- adds r6, r7, 0
- movs r5, 0xC7
-_0804EC5C:
- movs r0, 0xF
- bl sub_8084100
- adds r4, r0, 0
- movs r0, 0xF
- bl sub_8084100
- lsls r4, 1
- adds r4, r6, r4
- movs r1, 0
- ldrsh r2, [r4, r1]
- lsls r0, 1
- adds r0, r6, r0
- ldrh r1, [r0]
- strh r1, [r4]
- strh r2, [r0]
- subs r5, 0x1
- cmp r5, 0
- bge _0804EC5C
- movs r5, 0
-_0804EC84:
- lsls r0, r5, 1
- add r0, sp
- movs r3, 0
- ldrsh r2, [r0, r3]
- mov r9, r2
- ldr r4, [sp, 0x44]
- cmp r9, r4
- blt _0804EC96
- b _0804EECC
-_0804EC96:
- movs r4, 0
-_0804EC98:
- lsls r0, r4, 1
- adds r0, r7, r0
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, r10
- blt _0804ECA6
- b _0804EEC4
-_0804ECA6:
- lsls r1, 5
- mov r3, r9
- lsls r2, r3, 4
- subs r0, r2, r3
- lsls r0, 5
- ldr r3, [sp, 0x40]
- adds r0, r3
- adds r3, r1, r0
- ldrb r0, [r3, 0x8]
- str r1, [sp, 0x4C]
- str r2, [sp, 0x48]
- cmp r0, 0
- beq _0804ECC2
- b _0804EEC4
-_0804ECC2:
- ldrb r0, [r3, 0x11]
- cmp r0, 0
- beq _0804ECCA
- b _0804EEC4
-_0804ECCA:
- ldrb r0, [r3, 0x12]
- cmp r0, 0
- beq _0804ECD2
- b _0804EEC4
-_0804ECD2:
- ldrb r0, [r3, 0xB]
- cmp r0, 0
- bne _0804ECDA
- b _0804EEC4
-_0804ECDA:
- ldrb r0, [r3, 0xA]
- cmp r0, 0
- bne _0804ECE2
- b _0804EEC4
-_0804ECE2:
- ldrb r0, [r3, 0x9]
- cmp r0, 0
- beq _0804ECEA
- b _0804EEC4
-_0804ECEA:
- ldrb r0, [r3, 0x10]
- cmp r0, 0
- beq _0804ECF2
- b _0804EEC4
-_0804ECF2:
- ldrb r0, [r3, 0x1D]
- cmp r0, 0
- beq _0804ECFA
- b _0804EEC4
-_0804ECFA:
- movs r0, 0x4
- ldrsh r1, [r3, r0]
- movs r2, 0
- ldrsh r0, [r3, r2]
- subs r1, r0
- cmp r1, 0
- bge _0804ED0A
- negs r1, r1
-_0804ED0A:
- cmp r1, 0x4
- bgt _0804ED10
- b _0804EEC4
-_0804ED10:
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- subs r1, r0
- cmp r1, 0
- bge _0804ED20
- negs r1, r1
-_0804ED20:
- cmp r1, 0x3
- bgt _0804ED26
- b _0804EEC4
-_0804ED26:
- ldr r1, _0804EEA0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r3, 0xC]
- ldr r2, _0804EEA4
- movs r4, 0
- ldrsh r0, [r3, r4]
- adds r0, 0x1
- str r0, [r2]
- movs r7, 0x4
- ldrsh r0, [r3, r7]
- subs r0, 0x1
- str r0, [r2, 0x8]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- adds r1, 0x1
- str r1, [r2, 0x4]
- movs r4, 0x6
- ldrsh r3, [r3, r4]
- subs r0, r3, 0x1
- str r0, [r2, 0xC]
- subs r0, r1
- mov r10, r2
- cmp r0, 0x2
- bgt _0804ED5C
- str r3, [r2, 0xC]
-_0804ED5C:
- ldr r0, _0804EEA8
- add r0, r8
- ldr r1, _0804EEAC
- str r1, [r0]
- ldr r0, _0804EEB0
- add r0, r8
- str r1, [r0]
- ldr r0, _0804EEB4
- add r0, r8
- ldr r1, _0804EEB8
- str r1, [r0]
- ldr r0, _0804EEBC
- add r0, r8
- str r1, [r0]
- mov r7, r10
- ldr r5, [r7]
- ldr r0, [r7, 0x8]
- cmp r5, r0
- bge _0804EDFA
- mov r3, r10
-_0804ED84:
- ldr r4, [r3, 0x4]
- ldr r0, [r3, 0xC]
- adds r1, r5, 0x1
- str r1, [sp, 0x54]
- cmp r4, r0
- bge _0804EDF0
- ldr r6, _0804EEA8
- add r6, r8
- ldr r2, _0804EEA4
- mov r10, r2
-_0804ED98:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp, 0x50]
- bl sub_8049590
- ldrh r2, [r0]
- movs r1, 0x20
- orrs r1, r2
- strh r1, [r0]
- ldrh r2, [r0, 0x4]
- ldr r7, _0804EEC0
- adds r1, r7, 0
- ands r2, r1
- adds r7, 0x7
- adds r1, r7, 0
- ands r2, r1
- strh r2, [r0, 0x4]
- ldr r0, [r6]
- ldr r3, [sp, 0x50]
- cmp r0, r5
- ble _0804EDC4
- str r5, [r6]
-_0804EDC4:
- ldr r1, _0804EEB0
- add r1, r8
- ldr r0, [r1]
- cmp r0, r4
- ble _0804EDD0
- str r4, [r1]
-_0804EDD0:
- ldr r1, _0804EEB4
- add r1, r8
- ldr r0, [r1]
- cmp r0, r5
- bge _0804EDDC
- str r5, [r1]
-_0804EDDC:
- ldr r1, _0804EEBC
- add r1, r8
- ldr r0, [r1]
- cmp r0, r4
- bge _0804EDE8
- str r4, [r1]
-_0804EDE8:
- adds r4, 0x1
- ldr r0, [r3, 0xC]
- cmp r4, r0
- blt _0804ED98
-_0804EDF0:
- ldr r5, [sp, 0x54]
- mov r1, r10
- ldr r0, [r1, 0x8]
- cmp r5, r0
- blt _0804ED84
-_0804EDFA:
- ldr r3, [sp, 0x4C]
- ldr r2, [sp, 0x48]
- mov r4, r9
- subs r0, r2, r4
- lsls r0, 5
- ldr r7, [sp, 0x40]
- adds r1, r0, r7
- adds r0, r3, r1
- movs r4, 0
- ldrsh r5, [r0, r4]
- movs r7, 0x4
- ldrsh r0, [r0, r7]
- cmp r5, r0
- bge _0804EE6C
- mov r8, r1
-_0804EE18:
- mov r1, r9
- subs r0, r2, r1
- lsls r0, 5
- ldr r2, [sp, 0x40]
- adds r0, r2
- adds r0, r3, r0
- movs r3, 0x2
- ldrsh r4, [r0, r3]
- movs r7, 0x6
- ldrsh r0, [r0, r7]
- adds r1, r5, 0x1
- str r1, [sp, 0x54]
- cmp r4, r0
- bge _0804EE52
- ldr r6, [sp, 0x4C]
- add r6, r8
-_0804EE38:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x10
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r4, 0x1
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- cmp r4, r0
- blt _0804EE38
-_0804EE52:
- ldr r5, [sp, 0x54]
- ldr r3, [sp, 0x4C]
- ldr r2, [sp, 0x48]
- mov r4, r9
- subs r0, r2, r4
- lsls r0, 5
- ldr r7, [sp, 0x40]
- adds r0, r7
- adds r0, r3, r0
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _0804EE18
-_0804EE6C:
- ldr r2, _0804EEA4
- ldr r0, [r2]
- ldr r1, [r2, 0x8]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r5, r0, 1
- ldr r0, [r2, 0x4]
- ldr r1, [r2, 0xC]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r4, r0, 1
- ldr r0, _0804EE94
- strh r5, [r0]
- strh r4, [r0, 0x2]
- b _0804EED4
- .align 2, 0
-_0804EE90: .4byte gUnknown_203B418
-_0804EE94: .4byte gUnknown_202F1D8
-_0804EE98: .4byte 0x0000ffff
-_0804EE9C: .4byte gUnknown_202F1AB
-_0804EEA0: .4byte gUnknown_202F1AA
-_0804EEA4: .4byte gUnknown_202F1B8
-_0804EEA8: .4byte 0x0000e240
-_0804EEAC: .4byte 0x0000270f
-_0804EEB0: .4byte 0x0000e244
-_0804EEB4: .4byte 0x0000e248
-_0804EEB8: .4byte 0xffffd8f1
-_0804EEBC: .4byte 0x0000e24c
-_0804EEC0: .4byte 0x0000fff7
-_0804EEC4:
- adds r4, 0x1
- cmp r4, 0xE
- bgt _0804EECC
- b _0804EC98
-_0804EECC:
- adds r5, 0x1
- cmp r5, 0xE
- bgt _0804EED4
- b _0804EC84
-_0804EED4:
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804EBC8
-
- thumb_func_start sub_804EEE4
-sub_804EEE4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x108
- str r0, [sp, 0x100]
- mov r8, r1
- adds r7, r2, 0
- adds r4, r3, 0
- ldr r5, _0804F094
- ldr r0, [r5]
- str r0, [sp, 0x104]
- cmp r4, 0
- bne _0804EF04
- b _0804F0C0
-_0804EF04:
- movs r0, 0x64
- bl sub_8084100
- cmp r4, r0
- bgt _0804EF10
- b _0804F0C0
-_0804EF10:
- ldr r0, _0804F098
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804EF1A
- b _0804F0C0
-_0804EF1A:
- ldr r0, [r5]
- movs r1, 0xD1
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _0804EF2C
- b _0804F0C0
-_0804EF2C:
- bl sub_8043D10
- lsls r0, 24
- cmp r0, 0
- beq _0804EF38
- b _0804F0C0
-_0804EF38:
- movs r6, 0
- movs r1, 0
- cmp r1, r8
- bge _0804EF94
-_0804EF40:
- adds r2, r1, 0x1
- cmp r7, 0
- ble _0804EF8E
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, [sp, 0x100]
- adds r1, 0x8
- adds r1, r0, r1
- adds r3, r7, 0
-_0804EF54:
- ldrb r0, [r1]
- cmp r0, 0
- bne _0804EF86
- ldrb r0, [r1, 0x9]
- cmp r0, 0
- bne _0804EF86
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- beq _0804EF86
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _0804EF86
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _0804EF86
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _0804EF86
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _0804EF86
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _0804EF86
- adds r6, 0x1
-_0804EF86:
- adds r1, 0x20
- subs r3, 0x1
- cmp r3, 0
- bne _0804EF54
-_0804EF8E:
- adds r1, r2, 0
- cmp r1, r8
- blt _0804EF40
-_0804EF94:
- cmp r6, 0
- bne _0804EF9A
- b _0804F0C0
-_0804EF9A:
- movs r1, 0
- mov r0, sp
- adds r0, 0xFF
-_0804EFA0:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _0804EFA0
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x3F
-_0804EFB0:
- adds r0, r6, 0
- bl sub_8084100
- adds r4, r0, 0
- adds r0, r6, 0
- bl sub_8084100
- mov r3, sp
- adds r2, r3, r4
- ldrb r3, [r2]
- mov r4, sp
- adds r1, r4, r0
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- subs r5, 0x1
- cmp r5, 0
- bge _0804EFB0
- movs r5, 0
- movs r1, 0
- cmp r1, r8
- bge _0804F0C0
- ldr r6, [sp, 0x100]
- mov r9, r6
- movs r4, 0
-_0804EFE2:
- movs r3, 0
- cmp r3, r7
- bge _0804F0B2
- mov r10, r3
- lsls r0, r4, 5
- ldr r6, [sp, 0x100]
- adds r2, r0, r6
-_0804EFF0:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804F0A6
- ldrb r0, [r2, 0x11]
- cmp r0, 0
- bne _0804F0A6
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _0804F0A6
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _0804F0A6
- ldrb r0, [r2, 0xC]
- cmp r0, 0
- bne _0804F0A6
- ldrb r0, [r2, 0xF]
- cmp r0, 0
- bne _0804F0A6
- ldrb r0, [r2, 0x10]
- cmp r0, 0
- bne _0804F0A6
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- bne _0804F0A6
- mov r6, sp
- adds r0, r6, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804F0A4
- ldr r1, _0804F09C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r2, 0xE]
- movs r0, 0
- ldrsh r5, [r2, r0]
- movs r1, 0x4
- ldrsh r0, [r2, r1]
- cmp r5, r0
- bge _0804F0C0
- mov r2, r10
- add r2, r9
- mov r8, r2
-_0804F046:
- mov r1, r10
- add r1, r9
- movs r3, 0x2
- ldrsh r4, [r1, r3]
- movs r6, 0x6
- ldrsh r0, [r1, r6]
- adds r7, r5, 0x1
- cmp r4, r0
- bge _0804F086
- adds r6, r1, 0
-_0804F05A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- movs r1, 0x40
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- ldr r2, [sp, 0x104]
- ldr r3, _0804F0A0
- adds r0, r2, r3
- strb r1, [r0]
- adds r4, 0x1
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r4, r0
- blt _0804F05A
-_0804F086:
- adds r5, r7, 0
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- cmp r5, r0
- blt _0804F046
- b _0804F0C0
- .align 2, 0
-_0804F094: .4byte gUnknown_203B418
-_0804F098: .4byte gUnknown_202F1AA
-_0804F09C: .4byte gUnknown_202F1AB
-_0804F0A0: .4byte 0x00003a0c
-_0804F0A4:
- adds r5, 0x1
-_0804F0A6:
- movs r6, 0x20
- add r10, r6
- adds r2, 0x20
- adds r3, 0x1
- cmp r3, r7
- blt _0804EFF0
-_0804F0B2:
- movs r0, 0xF0
- lsls r0, 1
- add r9, r0
- adds r4, 0xF
- adds r1, 0x1
- cmp r1, r8
- blt _0804EFE2
-_0804F0C0:
- add sp, 0x108
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804EEE4
-
- thumb_func_start sub_804F0D0
-sub_804F0D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x104
- str r0, [sp, 0x100]
- mov r10, r1
- mov r9, r2
- adds r4, r3, 0
- ldr r0, _0804F244
- ldr r5, [r0]
- cmp r4, 0
- bne _0804F0EE
- b _0804F266
-_0804F0EE:
- movs r0, 0x64
- bl sub_8084100
- cmp r4, r0
- bgt _0804F0FA
- b _0804F266
-_0804F0FA:
- ldr r1, _0804F248
- adds r0, r5, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- blt _0804F108
- b _0804F266
-_0804F108:
- movs r5, 0
- movs r6, 0
- cmp r6, r10
- bge _0804F184
-_0804F110:
- adds r7, r6, 0x1
- mov r4, r9
- cmp r4, 0
- ble _0804F17E
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 5
- ldr r6, [sp, 0x100]
- adds r2, r0, r6
-_0804F122:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804F176
- ldrb r0, [r2, 0x11]
- cmp r0, 0
- bne _0804F176
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _0804F176
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _0804F176
- ldrb r0, [r2, 0xC]
- cmp r0, 0
- bne _0804F176
- ldrb r0, [r2, 0xF]
- cmp r0, 0
- bne _0804F176
- ldrb r0, [r2, 0xE]
- cmp r0, 0
- bne _0804F176
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- bne _0804F176
- movs r1, 0x4
- ldrsh r0, [r2, r1]
- movs r3, 0
- ldrsh r1, [r2, r3]
- subs r0, r1
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0804F176
- movs r6, 0x6
- ldrsh r0, [r2, r6]
- movs r6, 0x2
- ldrsh r1, [r2, r6]
- subs r0, r1
- ands r0, r3
- cmp r0, 0
- beq _0804F176
- adds r5, 0x1
-_0804F176:
- adds r2, 0x20
- subs r4, 0x1
- cmp r4, 0
- bne _0804F122
-_0804F17E:
- adds r6, r7, 0
- cmp r6, r10
- blt _0804F110
-_0804F184:
- cmp r5, 0
- beq _0804F266
- movs r1, 0
- mov r0, sp
- adds r0, 0xFF
-_0804F18E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _0804F18E
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1]
- movs r7, 0x3F
- mov r8, r7
-_0804F1A0:
- adds r0, r5, 0
- bl sub_8084100
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8084100
- mov r1, sp
- adds r2, r1, r4
- ldrb r3, [r2]
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- movs r3, 0x1
- negs r3, r3
- add r8, r3
- mov r4, r8
- cmp r4, 0
- bge _0804F1A0
- movs r6, 0
- mov r8, r6
- cmp r6, r10
- bge _0804F266
- ldr r7, [sp, 0x100]
- mov r12, r7
-_0804F1D4:
- movs r4, 0
- cmp r4, r9
- bge _0804F25A
- mov r2, r12
- mov r5, r12
-_0804F1DE:
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _0804F250
- ldrb r0, [r2, 0x11]
- cmp r0, 0
- bne _0804F250
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _0804F250
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _0804F250
- ldrb r0, [r2, 0xC]
- cmp r0, 0
- bne _0804F250
- ldrb r0, [r2, 0xF]
- cmp r0, 0
- bne _0804F250
- ldrb r0, [r2, 0xE]
- cmp r0, 0
- bne _0804F250
- ldrb r0, [r2, 0x9]
- cmp r0, 0
- bne _0804F250
- movs r1, 0x4
- ldrsh r0, [r2, r1]
- movs r3, 0
- ldrsh r1, [r2, r3]
- subs r0, r1
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0804F250
- movs r7, 0x6
- ldrsh r0, [r2, r7]
- movs r7, 0x2
- ldrsh r1, [r2, r7]
- subs r0, r1
- ands r0, r3
- cmp r0, 0
- beq _0804F250
- mov r0, sp
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0804F24C
- adds r0, r5, 0
- movs r1, 0
- bl sub_804F278
- b _0804F266
- .align 2, 0
-_0804F244: .4byte gUnknown_203B418
-_0804F248: .4byte 0x00003a16
-_0804F24C:
- movs r0, 0x1
- add r8, r0
-_0804F250:
- adds r2, 0x20
- adds r5, 0x20
- adds r4, 0x1
- cmp r4, r9
- blt _0804F1DE
-_0804F25A:
- movs r1, 0xF0
- lsls r1, 1
- add r12, r1
- adds r6, 0x1
- cmp r6, r10
- blt _0804F1D4
-_0804F266:
- add sp, 0x104
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804F0D0
-
- thumb_func_start sub_804F278
-sub_804F278:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r1, _0804F2B0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r4, 0x10]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- mov r9, r0
- movs r5, 0
- ldrsh r0, [r4, r5]
- adds r6, r0, 0x1
- b _0804F2F0
- .align 2, 0
-_0804F2B0: .4byte gUnknown_202F1AC
-_0804F2B4:
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- subs r1, 0x1
- adds r0, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804F2EE
- movs r5, 0x2
- ldrsh r3, [r4, r5]
- subs r1, r3, 0x1
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- str r0, [sp]
- movs r5, 0x6
- ldrsh r0, [r4, r5]
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- mov r5, r9
- str r5, [sp, 0xC]
- adds r0, r6, 0
- bl sub_804F494
-_0804F2EE:
- adds r6, 0x2
-_0804F2F0:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- subs r0, 0x1
- cmp r6, r0
- blt _0804F2B4
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r5, r0, 0x1
- movs r6, 0x6
- ldrsh r0, [r4, r6]
- b _0804F342
-_0804F306:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804F33C
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- movs r6, 0
- ldrsh r2, [r4, r6]
- movs r1, 0x2
- ldrsh r3, [r4, r1]
- str r0, [sp]
- movs r6, 0x6
- ldrsh r1, [r4, r6]
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- mov r6, r9
- str r6, [sp, 0xC]
- adds r1, r5, 0
- bl sub_804F494
-_0804F33C:
- adds r5, 0x2
- movs r1, 0x6
- ldrsh r0, [r4, r1]
-_0804F342:
- subs r0, 0x1
- cmp r5, r0
- blt _0804F306
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r6, r0, 0x1
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- b _0804F392
-_0804F354:
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- adds r0, r6, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804F38C
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- movs r5, 0
- ldrsh r2, [r4, r5]
- movs r0, 0x2
- ldrsh r3, [r4, r0]
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- str r0, [sp]
- adds r0, r1, 0
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- mov r5, r9
- str r5, [sp, 0xC]
- adds r0, r6, 0
- bl sub_804F494
-_0804F38C:
- adds r6, 0x2
- movs r1, 0x4
- ldrsh r0, [r4, r1]
-_0804F392:
- subs r0, 0x1
- cmp r6, r0
- blt _0804F354
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- adds r5, r0, 0x1
- movs r6, 0x6
- ldrsh r0, [r4, r6]
- b _0804F3E4
-_0804F3A4:
- movs r1, 0
- ldrsh r0, [r4, r1]
- subs r0, 0x1
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804F3DE
- movs r6, 0
- ldrsh r2, [r4, r6]
- subs r0, r2, 0x1
- movs r1, 0x2
- ldrsh r3, [r4, r1]
- movs r6, 0x4
- ldrsh r1, [r4, r6]
- str r1, [sp]
- movs r6, 0x6
- ldrsh r1, [r4, r6]
- str r1, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- mov r6, r9
- str r6, [sp, 0xC]
- adds r1, r5, 0
- bl sub_804F494
-_0804F3DE:
- adds r5, 0x2
- movs r1, 0x6
- ldrsh r0, [r4, r1]
-_0804F3E4:
- subs r0, 0x1
- cmp r5, r0
- blt _0804F3A4
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r6, r0, 0x3
- b _0804F478
-_0804F3F2:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r5, r0, 0x3
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- subs r0, 0x3
- adds r1, r6, 0x2
- mov r10, r1
- cmp r5, r0
- bge _0804F476
- ldr r2, _0804F434
- adds r7, r2, 0
-_0804F40A:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0804F46A
- mov r0, r8
- cmp r0, 0
- beq _0804F438
- subs r0, r6, 0x1
- adds r1, r5, 0
- bl sub_8049590
- ldrh r1, [r0]
- ands r1, r7
- movs r2, 0x2
- orrs r1, r2
- b _0804F444
- .align 2, 0
-_0804F434: .4byte 0x0000fffc
-_0804F438:
- subs r0, r6, 0x1
- adds r1, r5, 0
- bl sub_8049590
- ldrh r1, [r0]
- ands r1, r7
-_0804F444:
- strh r1, [r0]
- movs r1, 0
- ldrsh r2, [r4, r1]
- movs r0, 0x2
- ldrsh r3, [r4, r0]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- str r0, [sp]
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- mov r1, r9
- str r1, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804F494
-_0804F46A:
- adds r5, 0x2
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- subs r0, 0x3
- cmp r5, r0
- blt _0804F40A
-_0804F476:
- mov r6, r10
-_0804F478:
- movs r5, 0x4
- ldrsh r0, [r4, r5]
- subs r0, 0x3
- cmp r6, r0
- blt _0804F3F2
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804F278
-
- thumb_func_start sub_804F494
-sub_804F494:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- ldr r0, [sp, 0x30]
- ldr r1, [sp, 0x34]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- mov r8, r1
- movs r0, 0x3
- mov r10, r0
-_0804F4BA:
- movs r0, 0x4
- bl sub_8084100
- adds r6, r0, 0
- movs r7, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- mov r1, r9
- mov r3, r8
- lsrs r2, r3, 24
- bl sub_804E9A8
-_0804F4D6:
- adds r0, r6, 0
- mov r1, r10
- ands r0, r1
- cmp r0, 0x1
- beq _0804F4F6
- cmp r0, 0x1
- bgt _0804F4EA
- cmp r0, 0
- beq _0804F4F0
- b _0804F506
-_0804F4EA:
- cmp r0, 0x2
- beq _0804F4FE
- b _0804F506
-_0804F4F0:
- movs r0, 0x2
- movs r1, 0
- b _0804F50A
-_0804F4F6:
- movs r0, 0
- movs r1, 0x2
- negs r1, r1
- b _0804F50A
-_0804F4FE:
- movs r0, 0x2
- negs r0, r0
- movs r1, 0
- b _0804F50A
-_0804F506:
- movs r0, 0
- movs r1, 0x2
-_0804F50A:
- adds r0, r5, r0
- ldr r2, [sp]
- cmp r2, r0
- bgt _0804F534
- ldr r3, [sp, 0x28]
- cmp r3, r0
- ble _0804F534
- adds r1, r4, r1
- ldr r2, [sp, 0x4]
- cmp r2, r1
- bgt _0804F534
- ldr r3, [sp, 0x2C]
- cmp r3, r1
- ble _0804F534
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r10
- ands r0, r1
- cmp r0, 0x1
- beq _0804F53E
-_0804F534:
- adds r6, 0x1
- adds r7, 0x1
- cmp r7, 0x3
- bgt _0804F5B2
- b _0804F4D6
-_0804F53E:
- mov r0, r10
- ands r0, r6
- cmp r0, 0x1
- beq _0804F570
- cmp r0, 0x1
- bgt _0804F550
- cmp r0, 0
- beq _0804F55A
- b _0804F4BA
-_0804F550:
- cmp r0, 0x2
- beq _0804F586
- cmp r0, 0x3
- beq _0804F59C
- b _0804F4BA
-_0804F55A:
- adds r0, r5, 0x1
- adds r1, r4, 0
- bl sub_8049590
- mov r1, r9
- mov r3, r8
- lsrs r2, r3, 24
- bl sub_804E9A8
- adds r5, 0x2
- b _0804F4BA
-_0804F570:
- subs r1, r4, 0x1
- adds r0, r5, 0
- bl sub_8049590
- mov r1, r9
- mov r3, r8
- lsrs r2, r3, 24
- bl sub_804E9A8
- subs r4, 0x2
- b _0804F4BA
-_0804F586:
- subs r0, r5, 0x1
- adds r1, r4, 0
- bl sub_8049590
- mov r1, r9
- mov r3, r8
- lsrs r2, r3, 24
- bl sub_804E9A8
- subs r5, 0x2
- b _0804F4BA
-_0804F59C:
- adds r1, r4, 0x1
- adds r0, r5, 0
- bl sub_8049590
- mov r1, r9
- mov r3, r8
- lsrs r2, r3, 24
- bl sub_804E9A8
- adds r4, 0x2
- b _0804F4BA
-_0804F5B2:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804F494
-
- thumb_func_start sub_804F5C4
-sub_804F5C4:
- ldrh r3, [r0]
- ldr r2, _0804F5D4
- ands r2, r3
- movs r3, 0x2
- orrs r2, r3
- orrs r2, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_0804F5D4: .4byte 0x0000fffc
- thumb_func_end sub_804F5C4
-
- thumb_func_start sub_804F5D8
-sub_804F5D8:
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r0, 0
- ldrsh r6, [r5, r0]
- b _0804F60C
-_0804F5E2:
- movs r0, 0x2
- ldrsh r4, [r5, r0]
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- adds r7, r6, 0x1
- cmp r4, r0
- bge _0804F60A
-_0804F5F0:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x20
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r4, 0x1
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- cmp r4, r0
- blt _0804F5F0
-_0804F60A:
- adds r6, r7, 0
-_0804F60C:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r6, r0
- blt _0804F5E2
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804F5D8
-
- thumb_func_start sub_804F61C
-sub_804F61C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- mov r8, r1
- movs r7, 0x1
- negs r7, r7
- b _0804F67A
-_0804F62E:
- movs r5, 0x1
- negs r5, r5
- b _0804F666
-_0804F634:
- cmp r7, 0
- beq _0804F63C
- cmp r5, 0
- bne _0804F660
-_0804F63C:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0804F660
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- cmp r0, 0xFF
- bne _0804F660
- movs r0, 0x1
- b _0804F686
-_0804F660:
- adds r5, 0x1
- cmp r5, 0x1
- bgt _0804F672
-_0804F666:
- mov r0, r8
- adds r4, r0, r5
- cmp r4, 0
- blt _0804F660
- cmp r4, 0x1F
- ble _0804F634
-_0804F672:
- adds r7, 0x1
- cmp r7, 0x1
- bgt _0804F684
- mov r0, r9
-_0804F67A:
- adds r6, r0, r7
- cmp r6, 0
- blt _0804F672
- cmp r6, 0x37
- ble _0804F62E
-_0804F684:
- movs r0, 0
-_0804F686:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_804F61C
-
- thumb_func_start sub_804F694
-sub_804F694:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r0, 0
- movs r0, 0x6
- bl sub_8084100
- subs r0, 0x1
- cmp r0, 0x4
- bls _0804F6B0
- b _0804FBD6
-_0804F6B0:
- lsls r0, 2
- ldr r1, _0804F6BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0804F6BC: .4byte _0804F6C0
- .align 2, 0
-_0804F6C0:
- .4byte _0804FB24
- .4byte _0804FA98
- .4byte _0804F9DC
- .4byte _0804F826
- .4byte _0804F6D4
-_0804F6D4:
- ldr r1, _0804F70C
- ldr r0, [r1]
- cmp r0, 0
- bne _0804F6DE
- b _0804FBD6
-_0804F6DE:
- subs r0, 0x1
- str r0, [r1]
- adds r0, r7, 0
- bl sub_804F5D8
- movs r0, 0x2
- bl sub_8084100
- cmp r0, 0
- beq _0804F78E
- movs r5, 0
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r2, 0x4
- ldrsh r1, [r7, r2]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- mov r8, r0
- movs r3, 0x2
- ldrsh r4, [r7, r3]
- b _0804F712
- .align 2, 0
-_0804F70C: .4byte gUnknown_202F1C8
-_0804F710:
- adds r4, 0x1
-_0804F712:
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- cmp r4, r0
- bge _0804F72A
- mov r0, r8
- adds r1, r4, 0
- bl sub_804F61C
- lsls r0, 24
- cmp r0, 0
- beq _0804F710
- movs r5, 0x1
-_0804F72A:
- cmp r5, 0
- beq _0804F730
- b _0804FBD6
-_0804F730:
- movs r2, 0x2
- ldrsh r4, [r7, r2]
- movs r3, 0x6
- ldrsh r0, [r7, r3]
- cmp r4, r0
- bge _0804F754
-_0804F73C:
- mov r0, r8
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
- adds r4, 0x1
- movs r5, 0x6
- ldrsh r0, [r7, r5]
- cmp r4, r0
- blt _0804F73C
-_0804F754:
- movs r0, 0
- ldrsh r5, [r7, r0]
- cmp r5, r8
- blt _0804F75E
- b _0804FBD2
-_0804F75E:
- movs r1, 0x2
- ldrsh r4, [r7, r1]
- movs r2, 0x6
- ldrsh r0, [r7, r2]
- adds r6, r5, 0x1
- cmp r4, r0
- bge _0804F786
-_0804F76C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strh r1, [r0]
- adds r4, 0x1
- movs r3, 0x6
- ldrsh r0, [r7, r3]
- cmp r4, r0
- blt _0804F76C
-_0804F786:
- adds r5, r6, 0
- cmp r5, r8
- blt _0804F75E
- b _0804FBD2
-_0804F78E:
- movs r5, 0
- movs r4, 0x2
- ldrsh r0, [r7, r4]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- mov r8, r0
- movs r3, 0
- ldrsh r4, [r7, r3]
- b _0804F7AA
-_0804F7A8:
- adds r4, 0x1
-_0804F7AA:
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- cmp r4, r0
- bge _0804F7C2
- adds r0, r4, 0
- mov r1, r8
- bl sub_804F61C
- lsls r0, 24
- cmp r0, 0
- beq _0804F7A8
- movs r5, 0x1
-_0804F7C2:
- cmp r5, 0
- beq _0804F7C8
- b _0804FBD6
-_0804F7C8:
- movs r2, 0
- ldrsh r4, [r7, r2]
- movs r3, 0x4
- ldrsh r0, [r7, r3]
- cmp r4, r0
- bge _0804F7EC
-_0804F7D4:
- adds r0, r4, 0
- mov r1, r8
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
- adds r4, 0x1
- movs r5, 0x4
- ldrsh r0, [r7, r5]
- cmp r4, r0
- blt _0804F7D4
-_0804F7EC:
- movs r0, 0x2
- ldrsh r5, [r7, r0]
- cmp r5, r8
- blt _0804F7F6
- b _0804FBD2
-_0804F7F6:
- movs r1, 0
- ldrsh r4, [r7, r1]
- movs r2, 0x4
- ldrsh r0, [r7, r2]
- adds r6, r5, 0x1
- cmp r4, r0
- bge _0804F81E
-_0804F804:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- ldrh r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strh r1, [r0]
- adds r4, 0x1
- movs r3, 0x4
- ldrsh r0, [r7, r3]
- cmp r4, r0
- blt _0804F804
-_0804F81E:
- adds r5, r6, 0
- cmp r5, r8
- blt _0804F7F6
- b _0804FBD2
-_0804F826:
- movs r4, 0x4
- ldrsh r3, [r7, r4]
- movs r5, 0
- ldrsh r1, [r7, r5]
- subs r0, r3, r1
- cmp r0, 0x5
- bgt _0804F836
- b _0804FBD6
-_0804F836:
- movs r0, 0x6
- ldrsh r4, [r7, r0]
- movs r5, 0x2
- ldrsh r2, [r7, r5]
- subs r0, r4, r2
- cmp r0, 0x5
- bgt _0804F846
- b _0804FBD6
-_0804F846:
- adds r0, r1, r3
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [sp]
- adds r0, r2, r4
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [sp, 0x4]
- ldr r1, _0804F9D8
- ldr r0, [r1]
- cmp r0, 0
- bne _0804F864
- b _0804FBD6
-_0804F864:
- subs r0, 0x1
- str r0, [r1]
- adds r0, r7, 0
- bl sub_804F5D8
- ldr r5, [sp]
- subs r5, 0x2
- ldr r0, [sp, 0x4]
- subs r0, 0x2
- mov r10, r0
- adds r0, r5, 0
- mov r1, r10
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- ldr r1, [sp]
- subs r1, 0x1
- mov r9, r1
- mov r0, r9
- mov r1, r10
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- ldr r0, [sp]
- mov r1, r10
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- ldr r2, [sp]
- adds r2, 0x1
- mov r8, r2
- mov r0, r8
- mov r1, r10
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- ldr r6, [sp, 0x4]
- subs r6, 0x1
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- adds r0, r5, 0
- ldr r1, [sp, 0x4]
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- ldr r4, [sp, 0x4]
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- mov r0, r9
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- ldr r0, [sp]
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- mov r0, r8
- mov r1, r10
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- mov r0, r8
- adds r1, r6, 0
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- mov r0, r8
- ldr r1, [sp, 0x4]
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- mov r0, r8
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0x4
- bl sub_804F5C4
- mov r0, r9
- adds r1, r6, 0
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x4
- orrs r1, r2
- strh r1, [r0, 0x4]
- mov r0, r9
- adds r1, r6, 0
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- movs r2, 0x40
- orrs r1, r2
- strh r1, [r0, 0x4]
- ldr r0, [sp]
- adds r1, r6, 0
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- movs r4, 0x2
- orrs r1, r4
- strh r1, [r0, 0x4]
- mov r0, r9
- ldr r1, [sp, 0x4]
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- orrs r1, r4
- strh r1, [r0, 0x4]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- orrs r1, r4
- strh r1, [r0, 0x4]
- mov r0, r9
- adds r1, r6, 0
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- movs r4, 0x10
- orrs r1, r4
- strh r1, [r0, 0x4]
- ldr r0, [sp]
- adds r1, r6, 0
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- orrs r1, r4
- strh r1, [r0, 0x4]
- mov r0, r9
- ldr r1, [sp, 0x4]
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- orrs r1, r4
- strh r1, [r0, 0x4]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- bl sub_8049590
- ldrh r1, [r0, 0x4]
- orrs r4, r1
- strh r4, [r0, 0x4]
- b _0804FBD2
- .align 2, 0
-_0804F9D8: .4byte gUnknown_202F1C8
-_0804F9DC:
- movs r4, 0x4
- ldrsh r3, [r7, r4]
- movs r5, 0
- ldrsh r2, [r7, r5]
- subs r0, r3, r2
- cmp r0, 0x4
- bgt _0804F9EC
- b _0804FBD6
-_0804F9EC:
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- movs r4, 0x2
- ldrsh r1, [r7, r4]
- subs r0, r1
- cmp r0, 0x4
- bgt _0804F9FC
- b _0804FBD6
-_0804F9FC:
- adds r0, r2, 0x2
- subs r1, r3, 0x3
- bl sub_808411C
- adds r4, r0, 0
- movs r5, 0x2
- ldrsh r0, [r7, r5]
- adds r0, 0x2
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- subs r1, 0x3
- bl sub_808411C
- mov r10, r0
- movs r3, 0
- ldrsh r0, [r7, r3]
- adds r0, 0x2
- movs r5, 0x4
- ldrsh r1, [r7, r5]
- subs r1, 0x3
- bl sub_808411C
- mov r9, r0
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- adds r0, 0x2
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- subs r1, 0x3
- bl sub_808411C
- adds r6, r0, 0
- ldr r1, _0804FA94
- ldr r0, [r1]
- cmp r0, 0
- bne _0804FA46
- b _0804FBD6
-_0804FA46:
- subs r0, 0x1
- str r0, [r1]
- adds r0, r7, 0
- bl sub_804F5D8
- cmp r4, r9
- ble _0804FA5A
- adds r0, r4, 0
- mov r4, r9
- mov r9, r0
-_0804FA5A:
- cmp r10, r6
- ble _0804FA64
- mov r0, r10
- mov r10, r6
- adds r6, r0, 0
-_0804FA64:
- adds r5, r4, 0
- cmp r5, r9
- ble _0804FA6C
- b _0804FBD2
-_0804FA6C:
- mov r4, r10
- adds r3, r5, 0x1
- mov r8, r3
- cmp r4, r6
- bgt _0804FA8A
-_0804FA76:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
- adds r4, 0x1
- cmp r4, r6
- ble _0804FA76
-_0804FA8A:
- mov r5, r8
- cmp r5, r9
- ble _0804FA6C
- b _0804FBD2
- .align 2, 0
-_0804FA94: .4byte gUnknown_202F1C8
-_0804FA98:
- movs r4, 0x4
- ldrsh r0, [r7, r4]
- movs r5, 0
- ldrsh r1, [r7, r5]
- subs r0, r1
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- bne _0804FAAC
- b _0804FBD6
-_0804FAAC:
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- movs r3, 0x2
- ldrsh r1, [r7, r3]
- subs r0, r1
- ands r0, r2
- cmp r0, 0
- bne _0804FABE
- b _0804FBD6
-_0804FABE:
- ldr r1, _0804FB20
- ldr r0, [r1]
- cmp r0, 0
- bne _0804FAC8
- b _0804FBD6
-_0804FAC8:
- subs r0, 0x1
- str r0, [r1]
- adds r0, r7, 0
- bl sub_804F5D8
- movs r6, 0x3F
-_0804FAD4:
- movs r4, 0x4
- ldrsh r0, [r7, r4]
- movs r5, 0
- ldrsh r1, [r7, r5]
- subs r0, r1
- bl sub_8084100
- adds r4, r0, 0
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- movs r2, 0x2
- ldrsh r1, [r7, r2]
- subs r0, r1
- bl sub_8084100
- adds r2, r0, 0
- adds r0, r4, r2
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- beq _0804FB14
- movs r3, 0
- ldrsh r0, [r7, r3]
- adds r0, r4
- movs r4, 0x2
- ldrsh r1, [r7, r4]
- adds r1, r2
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
-_0804FB14:
- subs r6, 0x1
- cmp r6, 0
- bge _0804FAD4
- strb r5, [r7, 0x9]
- b _0804FBD6
- .align 2, 0
-_0804FB20: .4byte gUnknown_202F1C8
-_0804FB24:
- ldr r1, _0804FBC0
- ldr r0, [r1]
- cmp r0, 0
- beq _0804FBD6
- subs r0, 0x1
- str r0, [r1]
- movs r5, 0x4
- ldrsh r3, [r7, r5]
- movs r0, 0
- ldrsh r2, [r7, r0]
- subs r6, r3, r2
- movs r4, 0x1
- adds r0, r6, 0
- ands r0, r4
- cmp r0, 0
- beq _0804FB54
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- movs r5, 0x2
- ldrsh r1, [r7, r5]
- subs r0, r1
- ands r0, r4
- cmp r0, 0
- bne _0804FBC4
-_0804FB54:
- adds r0, r2, r3
- lsrs r1, r0, 31
- adds r0, r1
- asrs r5, r0, 1
- movs r0, 0x2
- ldrsh r3, [r7, r0]
- movs r1, 0x6
- ldrsh r2, [r7, r1]
- adds r0, r3, r2
- lsrs r1, r0, 31
- adds r0, r1
- asrs r4, r0, 1
- cmp r6, 0x4
- ble _0804FBAE
- subs r0, r2, r3
- cmp r0, 0x4
- ble _0804FBAE
- adds r0, r5, 0x1
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
- adds r1, r4, 0x1
- adds r0, r5, 0
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
- subs r0, r5, 0x1
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
- subs r1, r4, 0x1
- adds r0, r5, 0
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
-_0804FBAE:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0
- bl sub_804F5C4
- b _0804FBD2
- .align 2, 0
-_0804FBC0: .4byte gUnknown_202F1C8
-_0804FBC4:
- adds r0, r7, 0
- bl sub_804F5D8
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_804F278
-_0804FBD2:
- movs r0, 0x1
- strb r0, [r7, 0x9]
-_0804FBD6:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804F694
-
- thumb_func_start sub_804FBE8
-sub_804FBE8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r0, _0804FC6C
- adds r5, r0, 0
-_0804FBF4:
- movs r4, 0
- adds r3, r6, 0x1
- mov r8, r3
-_0804FBFA:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0804FC2A
- movs r7, 0x88
- lsls r7, 1
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0804FC24
- ldrh r0, [r2, 0x4]
- ldr r3, _0804FC70
- adds r1, r3, 0
- ands r0, r1
- strh r0, [r2, 0x4]
-_0804FC24:
- ldrh r0, [r2, 0x4]
- ands r0, r5
- strh r0, [r2, 0x4]
-_0804FC2A:
- ldrh r3, [r2, 0x4]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0804FC46
- ldrh r0, [r2]
- movs r7, 0x80
- lsls r7, 2
- adds r1, r7, 0
- orrs r1, r0
- strh r1, [r2]
- adds r0, r3, 0
- ands r0, r5
- strh r0, [r2, 0x4]
-_0804FC46:
- ldrh r1, [r2, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804FC56
- adds r0, r1, 0
- ands r0, r5
- strh r0, [r2, 0x4]
-_0804FC56:
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0804FBFA
- mov r6, r8
- cmp r6, 0x37
- ble _0804FBF4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FC6C: .4byte 0x0000fffb
-_0804FC70: .4byte 0x0000fffd
- thumb_func_end sub_804FBE8
-
- thumb_func_start sub_804FC74
-sub_804FC74:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
- movs r0, 0x3
- mov r8, r0
- ldr r0, _0804FCC8
- adds r7, r0, 0
-_0804FC86:
- movs r4, 0
- adds r6, r5, 0x1
-_0804FC8A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0804FCAE
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- ands r1, r7
- mov r2, r8
- orrs r1, r2
- strh r1, [r0]
-_0804FCAE:
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0804FC8A
- adds r5, r6, 0
- cmp r5, 0x37
- ble _0804FC86
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FCC8: .4byte 0x0000fffc
- thumb_func_end sub_804FC74
-
- thumb_func_start sub_804FCCC
-sub_804FCCC:
- push {r4-r7,lr}
- movs r5, 0
- ldr r0, _0804FD0C
- adds r7, r0, 0
-_0804FCD4:
- movs r4, 0
- adds r6, r5, 0x1
-_0804FCD8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0804FCF8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- ands r1, r7
- strh r1, [r0]
-_0804FCF8:
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0804FCD8
- adds r5, r6, 0
- cmp r5, 0x37
- ble _0804FCD4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FD0C: .4byte 0x0000fffc
- thumb_func_end sub_804FCCC
-
- thumb_func_start sub_804FD10
-sub_804FD10:
- movs r2, 0
- movs r3, 0
- strh r3, [r0]
- strh r3, [r0, 0x4]
- movs r1, 0xFF
- strb r1, [r0, 0x9]
- strb r2, [r0, 0x8]
- strb r2, [r0, 0xA]
- strb r2, [r0, 0xB]
- strb r2, [r0, 0xC]
- strb r2, [r0, 0xD]
- strb r2, [r0, 0xE]
- str r3, [r0, 0x10]
- str r3, [r0, 0x14]
- bx lr
- thumb_func_end sub_804FD10
-
- thumb_func_start sub_804FD30
-sub_804FD30:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r6, 0
-_0804FD3A:
- movs r7, 0
- adds r4, r6, 0x1
-_0804FD3E:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8049590
- bl sub_804FD10
- subs r3, r7, 0x1
- cmp r6, 0
- blt _0804FD5C
- cmp r3, 0
- blt _0804FD5C
- cmp r6, 0x37
- bgt _0804FD5C
- cmp r3, 0x1F
- ble _0804FD60
-_0804FD5C:
- movs r0, 0x1
- b _0804FD62
-_0804FD60:
- movs r0, 0
-_0804FD62:
- cmp r0, 0
- bne _0804FE24
- cmp r4, 0
- blt _0804FD76
- cmp r3, 0
- blt _0804FD76
- cmp r4, 0x37
- bgt _0804FD76
- cmp r3, 0x1F
- ble _0804FD7A
-_0804FD76:
- movs r0, 0x1
- b _0804FD7C
-_0804FD7A:
- movs r0, 0
-_0804FD7C:
- cmp r0, 0
- bne _0804FE24
- cmp r4, 0
- blt _0804FD90
- cmp r3, 0
- blt _0804FD90
- cmp r4, 0x37
- bgt _0804FD90
- cmp r3, 0x1F
- ble _0804FD94
-_0804FD90:
- movs r0, 0x1
- b _0804FD96
-_0804FD94:
- movs r0, 0
-_0804FD96:
- cmp r0, 0
- bne _0804FE24
- adds r2, r7, 0x1
- cmp r4, 0
- blt _0804FDAC
- cmp r2, 0
- blt _0804FDAC
- cmp r4, 0x37
- bgt _0804FDAC
- cmp r2, 0x1F
- ble _0804FDB0
-_0804FDAC:
- movs r0, 0x1
- b _0804FDB2
-_0804FDB0:
- movs r0, 0
-_0804FDB2:
- cmp r0, 0
- bne _0804FE24
- cmp r6, 0
- blt _0804FDC6
- cmp r2, 0
- blt _0804FDC6
- cmp r6, 0x37
- bgt _0804FDC6
- cmp r2, 0x1F
- ble _0804FDCA
-_0804FDC6:
- movs r0, 0x1
- b _0804FDCC
-_0804FDCA:
- movs r0, 0
-_0804FDCC:
- cmp r0, 0
- bne _0804FE24
- adds r0, r2, 0
- subs r1, r6, 0x1
- cmp r1, 0
- blt _0804FDE4
- cmp r0, 0
- blt _0804FDE4
- cmp r1, 0x37
- bgt _0804FDE4
- cmp r2, 0x1F
- ble _0804FDE8
-_0804FDE4:
- movs r0, 0x1
- b _0804FDEA
-_0804FDE8:
- movs r0, 0
-_0804FDEA:
- cmp r0, 0
- bne _0804FE24
- cmp r1, 0
- blt _0804FDFE
- cmp r7, 0
- blt _0804FDFE
- cmp r1, 0x37
- bgt _0804FDFE
- cmp r7, 0x1F
- ble _0804FE02
-_0804FDFE:
- movs r0, 0x1
- b _0804FE04
-_0804FE02:
- movs r0, 0
-_0804FE04:
- cmp r0, 0
- bne _0804FE24
- adds r0, r3, 0
- cmp r1, 0
- blt _0804FE1A
- cmp r0, 0
- blt _0804FE1A
- cmp r1, 0x37
- bgt _0804FE1A
- cmp r3, 0x1F
- ble _0804FE1E
-_0804FE1A:
- movs r0, 0x1
- b _0804FE20
-_0804FE1E:
- movs r0, 0
-_0804FE20:
- cmp r0, 0
- beq _0804FE34
-_0804FE24:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8049590
- ldrh r2, [r0]
- movs r1, 0x10
- orrs r1, r2
- strh r1, [r0]
-_0804FE34:
- adds r7, 0x1
- cmp r7, 0x1F
- ble _0804FD3E
- adds r6, 0x1
- cmp r6, 0x37
- bgt _0804FE42
- b _0804FD3A
-_0804FE42:
- ldr r3, _0804FEB4
- ldr r1, [r3]
- ldr r0, _0804FEB8
- adds r2, r1, r0
- ldr r0, _0804FEBC
- strh r0, [r2]
- ldr r2, _0804FEC0
- adds r1, r2
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- movs r6, 0
- mov r8, r3
- ldr r1, _0804FEC4
-_0804FE5E:
- adds r5, r1, 0
- movs r4, 0
- movs r7, 0x7
-_0804FE64:
- mov r2, r8
- ldr r0, [r2]
- adds r0, r5
- adds r0, r4
- str r1, [sp]
- bl sub_804FD10
- adds r4, 0x18
- subs r7, 0x1
- ldr r1, [sp]
- cmp r7, 0
- bge _0804FE64
- adds r1, 0xC0
- adds r6, 0x1
- cmp r6, 0x7
- ble _0804FE5E
- ldr r0, _0804FEB4
- ldr r1, [r0]
- ldr r2, _0804FEC8
- adds r1, r2
- movs r2, 0
- strh r2, [r1]
- movs r6, 0
- adds r4, r0, 0
- ldr r3, _0804FECC
-_0804FE96:
- ldr r0, [r4]
- lsls r1, r6, 2
- adds r0, r3
- adds r0, r1
- ldr r0, [r0]
- str r2, [r0]
- adds r6, 0x1
- cmp r6, 0x3F
- ble _0804FE96
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0804FEB4: .4byte gUnknown_203B418
-_0804FEB8: .4byte 0x0000e21c
-_0804FEBC: .4byte 0x0000ffff
-_0804FEC0: .4byte 0x0000e21e
-_0804FEC4: .4byte 0x0000e27c
-_0804FEC8: .4byte 0x00003904
-_0804FECC: .4byte 0x0001371c
- thumb_func_end sub_804FD30
-
- thumb_func_start sub_804FED0
-sub_804FED0:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r5, r1, 0
- movs r6, 0
- b _0804FEFA
-_0804FEDA:
- adds r0, r5, 0
- bl sub_8084100
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8084100
- lsls r4, 2
- adds r4, r7
- ldr r2, [r4]
- lsls r0, 2
- adds r0, r7
- ldr r1, [r0]
- str r1, [r4]
- str r2, [r0]
- adds r6, 0x1
-_0804FEFA:
- lsls r0, r5, 1
- cmp r6, r0
- blt _0804FEDA
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_804FED0
-
- thumb_func_start sub_804FF08
-sub_804FF08:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08050234
- add sp, r4
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xE0
- lsls r0, 5
- add r0, sp
- str r1, [r0]
- ldr r0, _08050238
- ldr r0, [r0]
- mov r9, r0
- ldr r0, _0805023C
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0804FF46
- ldr r0, _08050240
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r1
- bne _08050038
-_0804FF46:
- movs r0, 0
- mov r8, r0
- movs r6, 0
-_0804FF4C:
- movs r5, 0
- mov r1, r8
- lsls r0, r1, 2
- mov r2, sp
- adds r4, r0, r2
-_0804FF56:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0x1
- bne _0804FFAA
- ldrb r0, [r1, 0x9]
- cmp r0, 0xFF
- beq _0804FFAA
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _0804FFAA
- ldrh r1, [r1, 0x4]
- movs r3, 0x8
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0804FFAA
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0804FFAA
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- bne _0804FFAA
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- bne _0804FFAA
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r2, 0x1
- add r8, r2
-_0804FFAA:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0804FF56
- adds r6, 0x1
- cmp r6, 0x37
- ble _0804FF4C
- mov r0, r8
- cmp r0, 0
- beq _08050038
- bl sub_8084100
- lsls r0, 2
- mov r1, sp
- adds r4, r1, r0
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- bl sub_8049590
- adds r5, r0, 0
- ldrh r1, [r5, 0x4]
- movs r0, 0x1
- orrs r0, r1
- ldr r1, _08050244
- ands r0, r1
- strh r0, [r5, 0x4]
- ldr r1, _08050248
- ldrb r0, [r5, 0x9]
- strb r0, [r1]
- ldrb r1, [r4]
- ldr r0, _0805023C
- add r0, r9
- strh r1, [r0]
- ldrb r1, [r4, 0x1]
- ldr r0, _08050240
- add r0, r9
- strh r1, [r0]
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08050038
- ldrb r4, [r5, 0x9]
- movs r6, 0
-_08050002:
- movs r5, 0
-_08050004:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8049590
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0x1
- bne _0805002C
- ldrb r0, [r1, 0x9]
- cmp r0, r4
- bne _0805002C
- movs r0, 0x40
- orrs r0, r2
- strh r0, [r1]
- ldrb r1, [r1, 0x9]
- ldr r0, _0805024C
- add r0, r9
- strb r1, [r0]
-_0805002C:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _08050004
- adds r6, 0x1
- cmp r6, 0x37
- ble _08050002
-_08050038:
- movs r2, 0
- mov r8, r2
- movs r6, 0
-_0805003E:
- movs r5, 0
- adds r7, r6, 0x1
- mov r1, r8
- lsls r0, r1, 2
- mov r2, sp
- adds r4, r0, r2
-_0805004A:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0x1
- bne _08050092
- ldrb r0, [r1, 0x9]
- cmp r0, 0xFF
- beq _08050092
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _08050092
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _08050092
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _08050092
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- bne _08050092
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r2, 0x1
- add r8, r2
-_08050092:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0805004A
- adds r6, r7, 0
- cmp r6, 0x37
- ble _0805003E
- mov r0, r8
- cmp r0, 0
- beq _080500FA
- mov r1, r10
- ldrb r4, [r1, 0xF]
- cmp r4, 0
- beq _080500FA
- subs r0, r4, 0x2
- adds r1, r4, 0x2
- bl sub_808411C
- adds r4, r0, 0
- cmp r4, 0
- bgt _080500BC
- movs r4, 0x1
-_080500BC:
- mov r0, sp
- mov r1, r8
- bl sub_804FED0
- mov r0, r8
- bl sub_8084100
- adds r5, r0, 0
- cmp r4, 0
- ble _080500FA
- adds r6, r4, 0
- lsls r0, r5, 2
- mov r2, sp
- adds r4, r0, r2
-_080500D8:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x2
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r8
- bne _080500F4
- mov r4, sp
- movs r5, 0
-_080500F4:
- subs r6, 0x1
- cmp r6, 0
- bne _080500D8
-_080500FA:
- movs r0, 0
- mov r8, r0
- movs r6, 0
-_08050100:
- movs r5, 0
- adds r7, r6, 0x1
- mov r1, r8
- lsls r0, r1, 2
- mov r2, sp
- adds r4, r0, r2
-_0805010C:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08050128
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r0, 0x1
- add r8, r0
-_08050128:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0805010C
- adds r6, r7, 0
- cmp r6, 0x37
- ble _08050100
- mov r1, r8
- cmp r1, 0
- beq _0805018E
- mov r2, r10
- ldrb r4, [r2, 0x14]
- cmp r4, 0
- beq _0805018E
- subs r0, r4, 0x2
- adds r1, r4, 0x2
- bl sub_808411C
- adds r4, r0, 0
- cmp r4, 0
- ble _0805018E
- mov r0, sp
- mov r1, r8
- bl sub_804FED0
- mov r0, r8
- bl sub_8084100
- adds r5, r0, 0
- cmp r4, 0
- ble _0805018E
- adds r6, r4, 0
- lsls r0, r5, 2
- mov r1, sp
- adds r4, r0, r1
-_0805016C:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x2
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r8
- bne _08050188
- mov r4, sp
- movs r5, 0
-_08050188:
- subs r6, 0x1
- cmp r6, 0
- bne _0805016C
-_0805018E:
- movs r2, 0
- mov r8, r2
- movs r0, 0xE0
- lsls r0, 5
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bne _080501E4
- movs r6, 0
-_080501A0:
- movs r5, 0
- adds r7, r6, 0x1
- mov r1, r8
- lsls r0, r1, 2
- mov r2, sp
- adds r4, r0, r2
-_080501AC:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080501D8
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080501D8
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080501D8
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r0, 0x1
- add r8, r0
-_080501D8:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _080501AC
- adds r6, r7, 0
- cmp r6, 0x37
- ble _080501A0
-_080501E4:
- mov r1, r8
- cmp r1, 0
- beq _08050294
- lsrs r4, r1, 31
- add r4, r8
- asrs r4, 1
- lsls r0, r1, 3
- movs r1, 0xA
- bl __divsi3
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_808411C
- adds r4, r0, 0
- cmp r4, 0x5
- bgt _08050208
- movs r4, 0x6
-_08050208:
- ldr r0, _08050250
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r4, r0
- blt _08050214
- adds r4, r0, 0
-_08050214:
- mov r0, sp
- mov r1, r8
- bl sub_804FED0
- mov r0, r8
- bl sub_8084100
- adds r5, r0, 0
- cmp r4, 0
- ble _08050294
- adds r6, r4, 0
- lsls r0, r5, 2
- mov r1, sp
- adds r7, r0, r1
-_08050230:
- ldrb r0, [r7]
- b _08050254
- .align 2, 0
-_08050234: .4byte 0xffffe3fc
-_08050238: .4byte gUnknown_203B418
-_0805023C: .4byte 0x0000e21c
-_08050240: .4byte 0x0000e21e
-_08050244: .4byte 0x0000fffd
-_08050248: .4byte gUnknown_202F1B4
-_0805024C: .4byte 0x00003a0c
-_08050250: .4byte gUnknown_80F4DA0
-_08050254:
- ldrb r1, [r7, 0x1]
- bl sub_8049590
- adds r4, r0, 0
- movs r0, 0x2
- bl sub_8084100
- cmp r0, 0
- beq _0805026C
- ldrh r0, [r4, 0x4]
- movs r1, 0x2
- b _0805027E
-_0805026C:
- ldr r0, _08050424
- ldr r0, [r0]
- ldr r2, _08050428
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08050282
- ldrh r0, [r4, 0x4]
- movs r1, 0x4
-_0805027E:
- orrs r0, r1
- strh r0, [r4, 0x4]
-_08050282:
- adds r7, 0x4
- adds r5, 0x1
- cmp r5, r8
- bne _0805028E
- mov r7, sp
- movs r5, 0
-_0805028E:
- subs r6, 0x1
- cmp r6, 0
- bne _08050230
-_08050294:
- movs r0, 0
- mov r8, r0
- movs r6, 0
-_0805029A:
- movs r5, 0
- adds r7, r6, 0x1
- mov r1, r8
- lsls r0, r1, 2
- mov r2, sp
- adds r4, r0, r2
-_080502A6:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0x1
- bne _080502F0
- ldrb r0, [r1, 0x9]
- cmp r0, 0xFF
- beq _080502F0
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _080502F0
- ldrh r1, [r1, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080502F0
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _080502F0
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- bne _080502F0
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r2, 0x1
- add r8, r2
-_080502F0:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _080502A6
- adds r6, r7, 0
- cmp r6, 0x37
- ble _0805029A
- mov r0, r8
- cmp r0, 0
- beq _08050356
- mov r2, r10
- ldrb r1, [r2, 0x10]
- lsrs r0, r1, 1
- bl sub_808411C
- adds r4, r0, 0
- cmp r4, 0
- ble _08050356
- cmp r4, 0x37
- ble _08050318
- movs r4, 0x38
-_08050318:
- mov r0, sp
- mov r1, r8
- bl sub_804FED0
- mov r0, r8
- bl sub_8084100
- adds r5, r0, 0
- cmp r4, 0
- ble _08050356
- adds r6, r4, 0
- lsls r0, r5, 2
- mov r1, sp
- adds r4, r0, r1
-_08050334:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x4
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r8
- bne _08050350
- mov r4, sp
- movs r5, 0
-_08050350:
- subs r6, 0x1
- cmp r6, 0
- bne _08050334
-_08050356:
- ldr r0, _0805042C
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _08050372
- ldr r0, _08050430
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r1
- bne _08050410
-_08050372:
- movs r0, 0
- mov r8, r0
- movs r6, 0
-_08050378:
- movs r5, 0
- adds r7, r6, 0x1
- mov r1, r8
- lsls r0, r1, 2
- mov r2, sp
- adds r4, r0, r2
-_08050384:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _080503E2
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _080503E2
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080503E2
- movs r3, 0x8
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080503E2
- movs r0, 0x80
- lsls r0, 1
- mov r10, r0
- mov r0, r10
- ands r0, r1
- cmp r0, 0
- bne _080503E2
- ldrh r1, [r2, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080503E2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080503E2
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080503E2
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r1, 0x1
- add r8, r1
-_080503E2:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _08050384
- adds r6, r7, 0
- cmp r6, 0x37
- ble _08050378
- mov r2, r8
- cmp r2, 0
- beq _08050410
- mov r0, r8
- bl sub_8084100
- lsls r0, 2
- mov r1, sp
- adds r2, r1, r0
- ldrb r1, [r2]
- ldr r0, _0805042C
- add r0, r9
- strh r1, [r0]
- ldrb r1, [r2, 0x1]
- ldr r0, _08050430
- add r0, r9
- strh r1, [r0]
-_08050410:
- ldr r3, _08050434
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08050424: .4byte gUnknown_203B418
-_08050428: .4byte 0x0000065c
-_0805042C: .4byte 0x0000e218
-_08050430: .4byte 0x0000e21a
-_08050434: .4byte 0x00001c04
- thumb_func_end sub_804FF08
-
- thumb_func_start sub_8050438
-sub_8050438:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08050470
- add sp, r4
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xE0
- lsls r2, 5
- add r2, sp
- str r1, [r2]
- ldr r1, _08050474
- ldr r1, [r1]
- mov r10, r1
- ldrb r1, [r0, 0x6]
- cmp r1, 0
- ble _08050478
- lsrs r0, r1, 1
- bl sub_808411C
- adds r7, r0, 0
- cmp r7, 0
- bgt _0805047A
- movs r7, 0x1
- b _0805047A
- .align 2, 0
-_08050470: .4byte 0xffffe3f8
-_08050474: .4byte gUnknown_203B418
-_08050478:
- adds r7, r1, 0
-_0805047A:
- movs r0, 0
- mov r8, r0
- movs r6, 0
-_08050480:
- movs r5, 0
- adds r1, r6, 0x1
- mov r9, r1
- mov r2, r8
- lsls r0, r2, 2
- mov r1, sp
- adds r4, r0, r1
-_0805048E:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r1, r0, 0
- ldrh r3, [r1]
- movs r2, 0x3
- ands r2, r3
- cmp r2, 0x1
- bne _080504F6
- ldrb r0, [r1, 0x9]
- cmp r0, 0xFF
- beq _080504F6
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- bne _080504F6
- ldrh r1, [r1, 0x4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080504F6
- ands r2, r1
- cmp r2, 0
- bne _080504F6
- movs r0, 0x8
- ands r0, r3
- cmp r0, 0
- bne _080504F6
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- bne _080504F6
- ldr r0, _080506A0
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r6, r0
- bne _080504EC
- ldr r0, _080506A4
- add r0, r10
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r5, r0
- beq _080504F6
-_080504EC:
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r0, 0x1
- add r8, r0
-_080504F6:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0805048E
- mov r6, r9
- cmp r6, 0x37
- ble _08050480
- mov r1, r8
- cmp r1, 0
- beq _0805055E
- ldr r0, _080506A8
- ldr r0, [r0]
- movs r2, 0xD1
- lsls r2, 3
- adds r0, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0805051C
- adds r7, 0x1
-_0805051C:
- cmp r7, 0
- beq _0805055E
- mov r0, sp
- mov r1, r8
- bl sub_804FED0
- mov r0, r8
- bl sub_8084100
- adds r5, r0, 0
- cmp r7, 0
- ble _0805055E
- adds r6, r7, 0
- lsls r0, r5, 2
- mov r2, sp
- adds r4, r0, r2
-_0805053C:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x8
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r8
- bne _08050558
- mov r4, sp
- movs r5, 0
-_08050558:
- subs r6, 0x1
- cmp r6, 0
- bne _0805053C
-_0805055E:
- ldr r0, _080506AC
- add r0, r10
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805056A
- b _0805068C
-_0805056A:
- ldr r0, _080506B0
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r2, _080506B4
- add r2, sp
- str r1, [r2]
- movs r0, 0
- mov r8, r0
- movs r1, 0xE0
- lsls r1, 5
- add r1, sp
- ldr r1, [r1]
- cmp r1, 0
- beq _0805058A
- movs r0, 0x3
- str r0, [r2]
-_0805058A:
- ldr r1, _080506B4
- add r1, sp
- ldr r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- ldr r1, _080506B4
- add r1, sp
- str r0, [r1]
- movs r6, 0
-_080505A2:
- movs r5, 0
- adds r2, r6, 0x1
- mov r9, r2
- mov r1, r8
- lsls r0, r1, 2
- mov r2, sp
- adds r4, r0, r2
-_080505B0:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0x1
- bne _08050608
- ldrb r0, [r1, 0x9]
- cmp r0, 0xFF
- beq _08050608
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _08050608
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- bne _08050608
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _08050608
- ldr r0, _080506A0
- add r0, r10
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r6, r0
- bne _080505FE
- ldr r0, _080506A4
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- beq _08050608
-_080505FE:
- strb r6, [r4]
- strb r5, [r4, 0x1]
- adds r4, 0x4
- movs r2, 0x1
- add r8, r2
-_08050608:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _080505B0
- mov r6, r9
- cmp r6, 0x37
- ble _080505A2
- mov r0, r8
- cmp r0, 0
- beq _0805068C
- lsls r4, r0, 3
- subs r0, r4, r0
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_808411C
- adds r7, r0, 0
- cmp r7, 0
- bne _0805063E
- movs r7, 0x1
-_0805063E:
- ldr r1, _080506B4
- add r1, sp
- ldr r1, [r1]
- cmp r7, r1
- blt _0805064E
- ldr r2, _080506B4
- add r2, sp
- ldr r7, [r2]
-_0805064E:
- mov r0, sp
- mov r1, r8
- bl sub_804FED0
- mov r0, r8
- bl sub_8084100
- adds r5, r0, 0
- cmp r7, 0
- ble _0805068C
- adds r6, r7, 0
- lsls r0, r5, 2
- mov r1, sp
- adds r4, r0, r1
-_0805066A:
- ldrb r0, [r4]
- ldrb r1, [r4, 0x1]
- bl sub_8049590
- ldrh r2, [r0, 0x4]
- movs r1, 0x8
- orrs r1, r2
- strh r1, [r0, 0x4]
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, r8
- bne _08050686
- mov r4, sp
- movs r5, 0
-_08050686:
- subs r6, 0x1
- cmp r6, 0
- bne _0805066A
-_0805068C:
- ldr r3, _080506B8
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080506A0: .4byte 0x0000e218
-_080506A4: .4byte 0x0000e21a
-_080506A8: .4byte gUnknown_203B418
-_080506AC: .4byte 0x00003a08
-_080506B0: .4byte gUnknown_80F4DA4
-_080506B4: .4byte 0x00001c04
-_080506B8: .4byte 0x00001c08
- thumb_func_end sub_8050438
-
- thumb_func_start sub_80506BC
-sub_80506BC:
- push {lr}
- adds r3, r0, 0
- movs r2, 0x1
- ldrh r1, [r3]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080506CE
- movs r2, 0
-_080506CE:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080506D8
- movs r2, 0
-_080506D8:
- cmp r2, 0
- beq _080506E6
- ldr r0, _080506EC
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strh r0, [r3]
-_080506E6:
- pop {r0}
- bx r0
- .align 2, 0
-_080506EC: .4byte 0x0000fffc
- thumb_func_end sub_80506BC
-
- thumb_func_start sub_80506F0
-sub_80506F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xA4
- str r1, [sp, 0x64]
- ldrb r1, [r1, 0xD]
- ands r1, r0
- cmp r1, 0
- bne _08050708
- b _08050C20
-_08050708:
- ldr r4, _08050738
- movs r0, 0x8
- bl sub_8084100
- lsls r0, 2
- adds r0, r4
- ldr r4, [r0]
- cmp r4, 0
- bne _0805071C
- b _08050A7C
-_0805071C:
- movs r0, 0x64
- bl sub_8084100
- cmp r0, 0x31
- bgt _0805073C
- movs r0, 0x1
- str r0, [sp, 0x74]
- movs r1, 0x1F
- mov r10, r1
- movs r2, 0x1
- negs r2, r2
- str r2, [sp, 0x70]
- b _08050746
- .align 2, 0
-_08050738: .4byte gUnknown_80F6DF8
-_0805073C:
- movs r0, 0
- str r0, [sp, 0x74]
- mov r10, r0
- movs r1, 0x1
- str r1, [sp, 0x70]
-_08050746:
- movs r0, 0x32
- bl sub_8084100
- adds r0, 0xA
- str r0, [sp, 0x78]
- movs r0, 0x2
- movs r1, 0x36
- bl sub_808411C
- mov r9, r0
- movs r2, 0
- str r2, [sp, 0x6C]
- subs r4, 0x1
- str r4, [sp, 0x98]
-_08050762:
- movs r0, 0x6
- bl sub_8084100
- adds r0, 0x2
- str r0, [sp, 0x68]
- cmp r0, 0
- bne _08050772
- b _08050A38
-_08050772:
- mov r0, r9
- cmp r0, 0x37
- bhi _080507B8
- mov r1, r10
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0805078A
- b _08050A74
-_0805078A:
- mov r1, r9
- cmp r1, 0
- blt _080507A2
- mov r2, r10
- cmp r2, 0
- blt _080507A2
- mov r0, r9
- cmp r0, 0x37
- bgt _080507A2
- mov r1, r10
- cmp r1, 0x1F
- ble _080507A6
-_080507A2:
- movs r0, 0x1
- b _080507A8
-_080507A6:
- movs r0, 0
-_080507A8:
- cmp r0, 0
- bne _080507B8
- mov r0, r9
- mov r1, r10
- bl sub_8049590
- bl sub_80506BC
-_080507B8:
- ldr r2, [sp, 0x68]
- subs r2, 0x1
- str r2, [sp, 0x68]
- ldr r0, [sp, 0x6C]
- add r9, r0
- ldr r1, [sp, 0x70]
- add r10, r1
- mov r2, r10
- cmp r2, 0x1F
- bls _080507CE
- b _08050A38
-_080507CE:
- ldr r0, [sp, 0x78]
- subs r0, 0x1
- str r0, [sp, 0x78]
- cmp r0, 0
- beq _080507DA
- b _08050A30
-_080507DA:
- movs r1, 0x3F
- str r1, [sp, 0x7C]
-_080507DE:
- movs r0, 0x7
- bl sub_8084100
- subs r0, 0x3
- str r0, [sp, 0x84]
- movs r0, 0x7
- bl sub_8084100
- subs r1, r0, 0x3
- ldr r6, [sp, 0x84]
- add r6, r9
- subs r0, r6, 0x2
- cmp r0, 0x33
- bhi _080508DA
- mov r2, r10
- adds r5, r1, r2
- cmp r5, 0x1
- ble _080508DA
- cmp r5, 0x1D
- bgt _080508DA
- adds r4, r6, 0x1
- adds r0, r5, 0x1
- mov r8, r0
- adds r0, r4, 0
- mov r1, r8
- bl sub_804954C
- ldrh r1, [r0]
- movs r2, 0x3
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- beq _080508B2
- adds r0, r4, 0
- adds r1, r5, 0
- str r2, [sp, 0x9C]
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x9C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- beq _080508B2
- subs r7, r5, 0x1
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x9C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- beq _080508B2
- adds r0, r6, 0
- mov r1, r8
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x9C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- beq _080508B2
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x9C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- beq _080508B2
- subs r4, r6, 0x1
- adds r0, r4, 0
- mov r1, r8
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x9C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- beq _080508B2
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x9C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- beq _080508B2
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_804954C
- ldrh r1, [r0]
- ldr r2, [sp, 0x9C]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0x2
- bne _080508DA
-_080508B2:
- ldr r0, [sp, 0x84]
- add r0, r9
- cmp r0, 0
- blt _080508C6
- cmp r5, 0
- blt _080508C6
- cmp r0, 0x37
- bgt _080508C6
- cmp r5, 0x1F
- ble _080508CA
-_080508C6:
- movs r1, 0x1
- b _080508CC
-_080508CA:
- movs r1, 0
-_080508CC:
- cmp r1, 0
- bne _080508DA
- adds r1, r5, 0
- bl sub_8049590
- bl sub_80506BC
-_080508DA:
- ldr r1, [sp, 0x7C]
- subs r1, 0x1
- str r1, [sp, 0x7C]
- cmp r1, 0
- blt _080508E6
- b _080507DE
-_080508E6:
- movs r0, 0x3
- negs r0, r0
-_080508EA:
- movs r2, 0x3
- negs r2, r2
- str r2, [sp, 0x80]
- mov r1, r9
- adds r1, r0, r1
- str r1, [sp, 0x90]
- adds r0, 0x1
- str r0, [sp, 0x8C]
- adds r7, r1, 0
- mov r5, r10
- subs r5, 0x3
-_08050900:
- movs r6, 0
- subs r0, r7, 0x2
- cmp r0, 0x33
- bls _0805090A
- b _08050A1A
-_0805090A:
- str r5, [sp, 0x88]
- str r5, [sp, 0x94]
- cmp r5, 0x1
- bgt _08050914
- b _08050A1A
-_08050914:
- cmp r5, 0x1D
- ble _0805091A
- b _08050A1A
-_0805091A:
- adds r4, r7, 0x1
- adds r3, r5, 0x1
- adds r0, r4, 0
- adds r1, r3, 0
- str r3, [sp, 0xA0]
- bl sub_804954C
- ldrh r1, [r0]
- movs r2, 0x3
- mov r8, r2
- mov r0, r8
- ands r0, r1
- ldr r3, [sp, 0xA0]
- cmp r0, 0x2
- bne _0805093A
- movs r6, 0x1
-_0805093A:
- adds r0, r4, 0
- adds r1, r5, 0
- str r3, [sp, 0xA0]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r3, [sp, 0xA0]
- cmp r0, 0x2
- bne _08050952
- adds r6, 0x1
-_08050952:
- subs r2, r5, 0x1
- adds r0, r4, 0
- adds r1, r2, 0
- str r2, [sp, 0x9C]
- str r3, [sp, 0xA0]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x9C]
- ldr r3, [sp, 0xA0]
- cmp r0, 0x2
- bne _08050970
- adds r6, 0x1
-_08050970:
- adds r0, r7, 0
- adds r1, r3, 0
- str r2, [sp, 0x9C]
- str r3, [sp, 0xA0]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x9C]
- ldr r3, [sp, 0xA0]
- cmp r0, 0x2
- bne _0805098C
- adds r6, 0x1
-_0805098C:
- adds r0, r7, 0
- adds r1, r2, 0
- str r2, [sp, 0x9C]
- str r3, [sp, 0xA0]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x9C]
- ldr r3, [sp, 0xA0]
- cmp r0, 0x2
- bne _080509A8
- adds r6, 0x1
-_080509A8:
- subs r4, r7, 0x1
- adds r0, r4, 0
- adds r1, r3, 0
- str r2, [sp, 0x9C]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x9C]
- cmp r0, 0x2
- bne _080509C2
- adds r6, 0x1
-_080509C2:
- adds r0, r4, 0
- adds r1, r5, 0
- str r2, [sp, 0x9C]
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- ldr r2, [sp, 0x9C]
- cmp r0, 0x2
- bne _080509DA
- adds r6, 0x1
-_080509DA:
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_804954C
- ldrh r1, [r0]
- mov r0, r8
- ands r0, r1
- cmp r0, 0x2
- bne _080509EE
- adds r6, 0x1
-_080509EE:
- cmp r6, 0x3
- ble _08050A1A
- cmp r7, 0
- blt _08050A04
- cmp r5, 0
- blt _08050A04
- cmp r7, 0x37
- bgt _08050A04
- ldr r0, [sp, 0x88]
- cmp r0, 0x1F
- ble _08050A08
-_08050A04:
- movs r0, 0x1
- b _08050A0A
-_08050A08:
- movs r0, 0
-_08050A0A:
- cmp r0, 0
- bne _08050A1A
- ldr r0, [sp, 0x90]
- ldr r1, [sp, 0x94]
- bl sub_8049590
- bl sub_80506BC
-_08050A1A:
- adds r5, 0x1
- ldr r1, [sp, 0x80]
- adds r1, 0x1
- str r1, [sp, 0x80]
- cmp r1, 0x3
- bgt _08050A28
- b _08050900
-_08050A28:
- ldr r0, [sp, 0x8C]
- cmp r0, 0x3
- bgt _08050A30
- b _080508EA
-_08050A30:
- ldr r2, [sp, 0x68]
- cmp r2, 0
- beq _08050A38
- b _08050772
-_08050A38:
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _08050A54
- movs r1, 0x1
- str r1, [sp, 0x70]
- ldr r2, [sp, 0x74]
- cmp r2, 0
- beq _08050A4E
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x70]
-_08050A4E:
- movs r1, 0
- str r1, [sp, 0x6C]
- b _08050A6C
-_08050A54:
- movs r0, 0x64
- bl sub_8084100
- movs r2, 0x1
- str r2, [sp, 0x6C]
- cmp r0, 0x31
- bgt _08050A68
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x6C]
-_08050A68:
- movs r1, 0
- str r1, [sp, 0x70]
-_08050A6C:
- mov r2, r10
- cmp r2, 0x1F
- bhi _08050A74
- b _08050762
-_08050A74:
- ldr r4, [sp, 0x98]
- cmp r4, 0
- beq _08050A7C
- b _0805071C
-_08050A7C:
- movs r0, 0
- ldr r1, [sp, 0x64]
- ldrb r1, [r1, 0x15]
- cmp r0, r1
- blt _08050A88
- b _08050BAE
-_08050A88:
- movs r2, 0
- mov r8, r2
- mov r9, r2
- movs r5, 0
- adds r0, 0x1
- mov r10, r0
- b _08050A98
-_08050A96:
- adds r5, 0x1
-_08050A98:
- cmp r5, 0xC7
- bgt _08050AC2
- movs r0, 0
- movs r1, 0x38
- bl sub_808411C
- mov r9, r0
- movs r0, 0
- movs r1, 0x20
- bl sub_808411C
- mov r8, r0
- mov r0, r9
- subs r0, 0x1
- cmp r0, 0x35
- bhi _08050A96
- mov r0, r8
- cmp r0, 0
- ble _08050A96
- cmp r0, 0x1E
- bgt _08050A96
-_08050AC2:
- cmp r5, 0xC8
- beq _08050BA2
- movs r7, 0
- movs r3, 0x1
- movs r1, 0
-_08050ACC:
- movs r2, 0
- lsls r0, r7, 2
- adds r4, r7, 0x1
- adds r0, r7
- lsls r0, 1
- add r0, sp
-_08050AD8:
- cmp r7, 0
- beq _08050AE8
- cmp r7, 0x9
- beq _08050AE8
- cmp r2, 0
- beq _08050AE8
- cmp r2, 0x9
- bne _08050AEC
-_08050AE8:
- strb r3, [r0]
- b _08050AEE
-_08050AEC:
- strb r1, [r0]
-_08050AEE:
- adds r0, 0x1
- adds r2, 0x1
- cmp r2, 0x9
- ble _08050AD8
- adds r7, r4, 0
- cmp r7, 0x9
- ble _08050ACC
- movs r5, 0x4F
-_08050AFE:
- movs r0, 0x8
- bl sub_8084100
- adds r4, r0, 0
- adds r7, r4, 0x1
- movs r0, 0x8
- bl sub_8084100
- adds r2, r0, 0x1
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 1
- adds r0, r2, r0
- add r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _08050B50
- adds r1, r7, 0x1
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, r2, r0
- add r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _08050B50
- lsls r0, r7, 2
- adds r0, r7
- lsls r1, r0, 1
- subs r0, r1, 0x1
- adds r0, r2, r0
- add r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _08050B50
- adds r0, r1, 0x1
- adds r0, r2, r0
- add r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _08050B60
-_08050B50:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 1
- adds r0, r2, r0
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_08050B60:
- subs r5, 0x1
- cmp r5, 0
- bge _08050AFE
- movs r7, 0
-_08050B68:
- lsls r0, r7, 2
- adds r4, r7, 0x1
- adds r0, r7
- lsls r0, 1
- mov r6, r8
- subs r6, 0x5
- mov r1, sp
- adds r5, r0, r1
- add r7, r9
- movs r2, 0x9
-_08050B7C:
- ldrb r0, [r5]
- cmp r0, 0
- bne _08050B92
- subs r0, r7, 0x5
- adds r1, r6, 0
- str r2, [sp, 0x9C]
- bl sub_8049590
- bl sub_80506BC
- ldr r2, [sp, 0x9C]
-_08050B92:
- adds r6, 0x1
- adds r5, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _08050B7C
- adds r7, r4, 0
- cmp r7, 0x9
- ble _08050B68
-_08050BA2:
- mov r0, r10
- ldr r2, [sp, 0x64]
- ldrb r2, [r2, 0x15]
- cmp r0, r2
- bge _08050BAE
- b _08050A88
-_08050BAE:
- movs r0, 0
- mov r9, r0
- movs r6, 0x1
- ldr r1, _08050BF4
- adds r5, r1, 0
-_08050BB8:
- movs r2, 0
- mov r10, r2
- mov r4, r9
- adds r4, 0x1
-_08050BC0:
- mov r0, r9
- mov r1, r10
- bl sub_8049590
- adds r2, r0, 0
- ldrh r3, [r2]
- movs r0, 0x3
- ands r0, r3
- cmp r0, 0x2
- bne _08050C10
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- bne _08050BEA
- ldrh r1, [r2, 0x4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08050BF8
-_08050BEA:
- adds r0, r3, 0
- ands r0, r5
- orrs r0, r6
- b _08050C0E
- .align 2, 0
-_08050BF4: .4byte 0x0000fffc
-_08050BF8:
- mov r0, r9
- subs r0, 0x2
- cmp r0, 0x34
- bhi _08050C0A
- mov r0, r10
- cmp r0, 0x1
- ble _08050C0A
- cmp r0, 0x1E
- ble _08050C10
-_08050C0A:
- ldrh r0, [r2]
- ands r0, r5
-_08050C0E:
- strh r0, [r2]
-_08050C10:
- movs r1, 0x1
- add r10, r1
- mov r2, r10
- cmp r2, 0x1F
- ble _08050BC0
- mov r9, r4
- cmp r4, 0x37
- ble _08050BB8
-_08050C20:
- add sp, 0xA4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80506F0
-
- thumb_func_start sub_8050C30
-sub_8050C30:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08050F3C
- add sp, r4
- mov r8, r0
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0xE0
- lsls r0, 3
- add r0, sp
- str r2, [r0]
- movs r7, 0
- mov r1, r8
- lsls r1, 5
- movs r2, 0xE2
- lsls r2, 3
- add r2, sp
- str r1, [r2]
-_08050C5C:
- movs r6, 0
- lsls r2, r7, 5
- adds r3, r7, 0x1
- mov r10, r3
- mov r5, sp
- adds r4, r2, r5
-_08050C68:
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r0, [r2]
- movs r3, 0x3
- ands r3, r0
- movs r0, 0
- strb r0, [r4]
- movs r0, 0xE0
- lsls r0, 3
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- beq _08050C92
- ldrh r0, [r2]
- ldr r5, _08050F40
- adds r1, r5, 0
- ands r0, r1
- strh r0, [r2]
-_08050C92:
- cmp r3, 0x1
- beq _08050CA8
- ldrh r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08050CA8
- ldrb r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
-_08050CA8:
- cmp r3, 0x2
- bne _08050CBE
- ldrh r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08050CBE
- ldrb r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4]
-_08050CBE:
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, 0x1F
- ble _08050C68
- mov r7, r10
- cmp r7, 0x37
- ble _08050C5C
- movs r1, 0xE2
- lsls r1, 3
- add r1, sp
- ldr r0, [r1]
- add r0, r9
- mov r3, sp
- adds r2, r3, r0
- ldrb r1, [r2]
- movs r0, 0x50
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _08050F44
- ldr r1, [r0]
- ldr r5, _08050F48
- adds r0, r1, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r8
- beq _08050CF4
- b _08050F36
-_08050CF4:
- ldr r3, _08050F4C
- adds r0, r1, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, r9
- beq _08050D02
- b _08050F36
-_08050D02:
- ldr r1, _08050F50
- movs r0, 0
- str r0, [r1]
- movs r0, 0x40
- mov r9, r0
-_08050D0C:
- movs r1, 0
- ldr r2, _08050F54
- add r2, sp
- str r1, [r2]
- ldr r3, _08050F50
- ldr r0, [r3]
- adds r0, 0x1
- str r0, [r3]
- movs r7, 0
-_08050D1E:
- movs r6, 0
- lsls r2, r7, 5
- adds r5, r7, 0x1
- mov r10, r5
- subs r0, r7, 0x1
- movs r1, 0xE1
- lsls r1, 3
- add r1, sp
- str r0, [r1]
- lsls r0, 5
- mov r1, sp
- subs r1, 0x1
- adds r5, r2, r1
- add r0, sp
- mov r8, r0
- mov r2, r10
- ldr r3, _08050F58
- add r3, sp
- str r2, [r3]
- lsls r0, r2, 5
- add r0, sp
- mov r12, r0
-_08050D4A:
- ldrb r1, [r5, 0x1]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08050D56
- b _08050EDA
-_08050D56:
- movs r3, 0x40
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _08050D62
- b _08050EDA
-_08050D62:
- ldr r2, _08050F54
- add r2, sp
- ldr r0, [r2]
- adds r0, 0x1
- str r0, [r2]
- movs r0, 0xBF
- ands r0, r1
- movs r2, 0
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r5, 0x1]
- cmp r7, 0
- ble _08050D90
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x83
- ands r0, r1
- cmp r0, 0
- bne _08050D90
- adds r0, r1, 0
- orrs r0, r3
- mov r1, r8
- strb r0, [r1]
-_08050D90:
- cmp r6, 0
- ble _08050DA4
- ldrb r1, [r5]
- movs r0, 0x83
- ands r0, r1
- cmp r0, 0
- bne _08050DA4
- mov r0, r9
- orrs r0, r1
- strb r0, [r5]
-_08050DA4:
- cmp r7, 0x36
- bgt _08050DBA
- mov r2, r12
- ldrb r1, [r2]
- movs r0, 0x83
- ands r0, r1
- cmp r0, 0
- bne _08050DBA
- mov r0, r9
- orrs r0, r1
- strb r0, [r2]
-_08050DBA:
- cmp r6, 0x1E
- bgt _08050DCE
- ldrb r1, [r5, 0x2]
- movs r0, 0x83
- ands r0, r1
- cmp r0, 0
- bne _08050DCE
- mov r0, r9
- orrs r0, r1
- strb r0, [r5, 0x2]
-_08050DCE:
- cmp r7, 0
- ble _08050E12
- cmp r6, 0
- ble _08050E12
- movs r3, 0xE1
- lsls r3, 3
- add r3, sp
- ldr r3, [r3]
- lsls r1, r3, 5
- subs r0, r1, 0x1
- adds r0, r6, r0
- mov r2, sp
- adds r4, r2, r0
- ldrb r3, [r4]
- movs r0, 0x87
- ands r0, r3
- cmp r0, 0
- bne _08050E12
- adds r0, r6, r1
- add r0, sp
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050E12
- ldrb r1, [r5]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050E12
- mov r0, r9
- orrs r0, r3
- strb r0, [r4]
-_08050E12:
- cmp r7, 0x36
- bgt _08050E54
- cmp r6, 0
- ble _08050E54
- ldr r3, _08050F58
- add r3, sp
- ldr r3, [r3]
- lsls r1, r3, 5
- subs r0, r1, 0x1
- adds r0, r6, r0
- mov r2, sp
- adds r4, r2, r0
- ldrb r3, [r4]
- movs r0, 0x87
- ands r0, r3
- cmp r0, 0
- bne _08050E54
- adds r0, r6, r1
- add r0, sp
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050E54
- ldrb r1, [r5]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050E54
- mov r0, r9
- orrs r0, r3
- strb r0, [r4]
-_08050E54:
- cmp r7, 0
- ble _08050E98
- cmp r6, 0x1E
- bgt _08050E98
- movs r3, 0xE1
- lsls r3, 3
- add r3, sp
- ldr r3, [r3]
- lsls r1, r3, 5
- adds r0, r1, 0x1
- adds r0, r6, r0
- mov r2, sp
- adds r4, r2, r0
- ldrb r3, [r4]
- movs r0, 0x87
- ands r0, r3
- cmp r0, 0
- bne _08050E98
- adds r0, r6, r1
- add r0, sp
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050E98
- ldrb r1, [r5, 0x2]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050E98
- mov r0, r9
- orrs r0, r3
- strb r0, [r4]
-_08050E98:
- cmp r7, 0x36
- bgt _08050EDA
- cmp r6, 0x1E
- bgt _08050EDA
- ldr r3, _08050F58
- add r3, sp
- ldr r3, [r3]
- lsls r1, r3, 5
- adds r0, r1, 0x1
- adds r0, r6, r0
- mov r2, sp
- adds r4, r2, r0
- ldrb r3, [r4]
- movs r0, 0x87
- ands r0, r3
- cmp r0, 0
- bne _08050EDA
- adds r0, r6, r1
- add r0, sp
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050EDA
- ldrb r1, [r5, 0x2]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050EDA
- mov r0, r9
- orrs r0, r3
- strb r0, [r4]
-_08050EDA:
- adds r5, 0x1
- movs r3, 0x1
- add r8, r3
- add r12, r3
- adds r6, 0x1
- cmp r6, 0x1F
- bgt _08050EEA
- b _08050D4A
-_08050EEA:
- mov r7, r10
- cmp r7, 0x37
- bgt _08050EF2
- b _08050D1E
-_08050EF2:
- ldr r5, _08050F54
- add r5, sp
- ldr r5, [r5]
- cmp r5, 0
- beq _08050EFE
- b _08050D0C
-_08050EFE:
- movs r7, 0
-_08050F00:
- movs r6, 0
- lsls r2, r7, 5
- mov r0, sp
- adds r4, r2, r0
-_08050F08:
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrb r1, [r4]
- movs r0, 0x87
- ands r0, r1
- cmp r0, 0
- bne _08050F68
- movs r1, 0xE0
- lsls r1, 3
- add r1, sp
- ldr r1, [r1]
- cmp r1, 0
- bne _08050F5C
- ldrh r0, [r2]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08050F68
-_08050F36:
- movs r0, 0
- b _08050F78
- .align 2, 0
-_08050F3C: .4byte 0xfffff8ec
-_08050F40: .4byte 0x00007fff
-_08050F44: .4byte gUnknown_203B418
-_08050F48: .4byte 0x0000e21c
-_08050F4C: .4byte 0x0000e21e
-_08050F50: .4byte gUnknown_202F1D4
-_08050F54: .4byte 0x00000704
-_08050F58: .4byte 0x0000070c
-_08050F5C:
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r2]
-_08050F68:
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, 0x1F
- ble _08050F08
- adds r7, 0x1
- cmp r7, 0x37
- ble _08050F00
- movs r0, 0x1
-_08050F78:
- ldr r3, _08050F8C
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08050F8C: .4byte 0x00000714
- thumb_func_end sub_8050C30
-
- thumb_func_start sub_8050F90
-sub_8050F90:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- str r0, [sp]
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x10]
- movs r1, 0
- str r1, [sp, 0x14]
- movs r2, 0
- b _080511D0
-_08050FB0:
- movs r4, 0
- str r4, [sp, 0x18]
- ldr r5, [sp, 0x1C]
- adds r5, 0x1
- str r5, [sp, 0x28]
- ldr r6, [sp, 0x4]
- cmp r4, r6
- blt _08050FC2
- b _080511CE
-_08050FC2:
- ldr r1, [sp, 0x18]
- lsls r0, r1, 2
- ldr r2, [sp, 0xC]
- adds r0, r2
- ldr r3, [r0]
- adds r4, r3, 0x2
- mov r9, r4
- ldr r5, [sp, 0x1C]
- lsls r1, r5, 2
- ldr r6, [sp, 0x5C]
- adds r1, r6
- ldr r2, [r1]
- adds r4, r2, 0x2
- mov r10, r4
- ldr r0, [r0, 0x4]
- subs r0, r3
- subs r4, r0, 0x4
- ldr r0, [r1, 0x4]
- subs r0, r2
- subs r7, r0, 0x4
- movs r3, 0x5
- movs r5, 0x5
- ldr r6, [sp, 0x4]
- cmp r6, 0x2
- bgt _08050FF8
- movs r3, 0xA
- movs r4, 0xE
-_08050FF8:
- ldr r0, [sp, 0x8]
- cmp r0, 0x1
- bne _08051002
- movs r5, 0x10
- movs r7, 0x18
-_08051002:
- ldr r2, [sp, 0x1C]
- lsls r1, r2, 5
- ldr r6, [sp, 0x18]
- lsls r2, r6, 4
- subs r0, r2, r6
- lsls r0, 5
- ldr r6, [sp]
- adds r0, r6
- adds r6, r1, r0
- ldrb r0, [r6, 0xA]
- str r1, [sp, 0x30]
- str r2, [sp, 0x2C]
- cmp r0, 0
- bne _08051020
- b _08051130
-_08051020:
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x60]
- cmp r0, r1
- beq _0805108C
- adds r0, r3, 0
- adds r1, r4, 0
- bl sub_808411C
- adds r6, r0, 0
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_808411C
- adds r5, r0, 0
- movs r1, 0x1
- adds r0, r6, 0
- orrs r0, r1
- cmp r0, r4
- bge _08051048
- adds r6, r0, 0
-_08051048:
- adds r0, r5, 0
- orrs r0, r1
- cmp r0, r7
- bge _08051052
- adds r5, r0, 0
-_08051052:
- lsls r0, r5, 1
- adds r0, r5
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r6, r0
- ble _08051062
- adds r6, r0, 0
-_08051062:
- lsls r0, r6, 1
- adds r0, r6
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- cmp r5, r0
- ble _08051072
- adds r5, r0, 0
-_08051072:
- subs r0, r4, r6
- bl sub_8084100
- mov r2, r9
- adds r4, r0, r2
- subs r0, r7, r5
- bl sub_8084100
- mov r3, r10
- adds r7, r0, r3
- adds r3, r4, r6
- adds r6, r7, r5
- b _08051098
-_0805108C:
- mov r4, r9
- mov r7, r10
- ldr r5, [sp, 0x64]
- adds r3, r4, r5
- ldr r0, [sp, 0x68]
- adds r6, r7, r0
-_08051098:
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x18]
- subs r0, r1, r2
- lsls r0, 5
- ldr r5, [sp]
- adds r0, r5
- ldr r1, [sp, 0x30]
- adds r0, r1, r0
- strh r4, [r0]
- strh r3, [r0, 0x4]
- strh r7, [r0, 0x2]
- strh r6, [r0, 0x6]
- adds r5, r4, 0
- ldr r2, [sp, 0x10]
- adds r2, 0x1
- str r2, [sp, 0x20]
- ldr r4, [sp, 0x14]
- adds r4, 0x1
- str r4, [sp, 0x24]
- ldr r0, [sp, 0x18]
- adds r0, 0x1
- mov r10, r0
- cmp r5, r3
- bge _08051108
-_080510C8:
- adds r4, r7, 0
- adds r1, r5, 0x1
- mov r8, r1
- cmp r4, r6
- bge _08051102
- ldr r2, _0805112C
- mov r9, r2
-_080510D6:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp, 0x38]
- bl sub_8049590
- ldrh r1, [r0]
- mov r2, r9
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- mov r1, sp
- ldrb r1, [r1, 0x10]
- strb r1, [r0, 0x9]
- adds r4, 0x1
- ldr r3, [sp, 0x38]
- cmp r4, r6
- blt _080510D6
-_08051102:
- mov r5, r8
- cmp r5, r3
- blt _080510C8
-_08051108:
- ldr r2, [sp, 0x14]
- ldr r3, [sp, 0x60]
- cmp r2, r3
- beq _08051124
- ldr r4, [sp, 0x2C]
- ldr r5, [sp, 0x18]
- subs r0, r4, r5
- lsls r0, 5
- ldr r6, [sp]
- adds r0, r6
- ldr r1, [sp, 0x30]
- adds r0, r1, r0
- movs r1, 0x1
- strb r1, [r0, 0x1D]
-_08051124:
- ldr r2, [sp, 0x20]
- str r2, [sp, 0x10]
- b _080511BE
- .align 2, 0
-_0805112C: .4byte 0x0000fffc
-_08051130:
- movs r1, 0x2
- movs r3, 0x4
- movs r2, 0x2
- mov r8, r3
- ldr r5, [sp, 0x18]
- cmp r5, 0
- bne _08051140
- movs r1, 0x1
-_08051140:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _08051148
- movs r2, 0x1
-_08051148:
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- ldr r5, [sp, 0x18]
- cmp r5, r0
- bne _08051154
- movs r3, 0x2
-_08051154:
- ldr r0, [sp, 0x8]
- subs r0, 0x1
- ldr r5, [sp, 0x1C]
- cmp r5, r0
- bne _08051162
- movs r0, 0x2
- mov r8, r0
-_08051162:
- mov r5, r9
- adds r0, r5, r1
- adds r1, r5, r4
- subs r1, r3
- str r2, [sp, 0x34]
- bl sub_808411C
- adds r5, r0, 0
- ldr r2, [sp, 0x34]
- mov r1, r10
- adds r0, r1, r2
- adds r1, r7
- mov r2, r8
- subs r1, r2
- bl sub_808411C
- adds r4, r0, 0
- strh r5, [r6]
- adds r0, r5, 0x1
- strh r0, [r6, 0x4]
- strh r4, [r6, 0x2]
- adds r0, r4, 0x1
- strh r0, [r6, 0x6]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r1, [r0]
- ldr r3, _080511EC
- adds r2, r3, 0
- ands r1, r2
- movs r2, 0x1
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- movs r1, 0xFF
- strb r1, [r0, 0x9]
- ldr r4, [sp, 0x14]
- adds r4, 0x1
- str r4, [sp, 0x24]
- ldr r5, [sp, 0x18]
- adds r5, 0x1
- mov r10, r5
-_080511BE:
- ldr r6, [sp, 0x24]
- str r6, [sp, 0x14]
- mov r0, r10
- str r0, [sp, 0x18]
- ldr r1, [sp, 0x4]
- cmp r0, r1
- bge _080511CE
- b _08050FC2
-_080511CE:
- ldr r2, [sp, 0x28]
-_080511D0:
- str r2, [sp, 0x1C]
- ldr r3, [sp, 0x8]
- cmp r2, r3
- bge _080511DA
- b _08050FB0
-_080511DA:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080511EC: .4byte 0x0000fffc
- thumb_func_end sub_8050F90
-
- thumb_func_start sub_80511F0
-sub_80511F0:
- push {r4-r6,lr}
- ldr r6, _08051204
- ldrb r0, [r6]
- cmp r0, 0
- beq _0805120C
- subs r0, 0x1
- strb r0, [r6]
- ldr r0, _08051208
- ldrb r0, [r0]
- b _08051244
- .align 2, 0
-_08051204: .4byte gUnknown_202F1E1
-_08051208: .4byte gUnknown_202F1E0
-_0805120C:
- ldr r1, _0805122C
- ldr r5, _08051230
- ldr r2, [r5]
- ldrb r3, [r2]
- strb r3, [r1]
- adds r4, r2, 0x1
- str r4, [r5]
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0xE
- bne _08051234
- ldrb r0, [r2, 0x1]
- strb r0, [r1]
- adds r0, r4, 0x1
- str r0, [r5]
- b _08051242
- .align 2, 0
-_0805122C: .4byte gUnknown_202F1E0
-_08051230: .4byte gUnknown_202F1DC
-_08051234:
- movs r0, 0xF
- ands r0, r3
- strb r0, [r6]
- movs r0, 0xF0
- ands r0, r3
- lsrs r0, 4
- strb r0, [r1]
-_08051242:
- ldrb r0, [r1]
-_08051244:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80511F0
-
- thumb_func_start sub_805124C
-sub_805124C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r5, [sp, 0x1C]
- lsls r1, 24
- lsrs r1, 24
- lsls r5, 24
- lsrs r5, 24
- ldrh r6, [r0]
- movs r7, 0x80
- lsls r7, 1
- adds r4, r7, 0
- movs r7, 0
- mov r8, r7
- orrs r4, r6
- strh r4, [r0]
- mov r4, r8
- strb r4, [r0, 0xE]
- str r5, [sp]
- bl sub_8051A74
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805124C
-
- thumb_func_start sub_8051288
-sub_8051288:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp, 0x4]
- ldr r0, _08051374
- ldr r7, [r0]
- ldr r0, _08051378
- adds r3, r7, r0
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- ldr r2, [sp, 0x4]
- lsls r1, r2, 2
- adds r0, r1, r0
- ldr r0, [r0]
- ldrb r2, [r0]
- mov r10, r2
- ldrb r0, [r0, 0x1]
- mov r9, r0
- ldr r2, _0805137C
- adds r0, r7, r2
- movs r4, 0
- mov r2, r10
- strh r2, [r0]
- ldr r2, _08051380
- adds r0, r7, r2
- mov r2, r9
- strh r2, [r0]
- ldr r2, _08051384
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldr r0, [r1]
- adds r0, 0x3
- str r0, [r2]
- ldr r0, _08051388
- strb r4, [r0]
- movs r6, 0x5
- mov r0, r9
- adds r0, 0x5
- cmp r6, r0
- bge _0805132E
- movs r1, 0x5
- add r1, r10
- mov r8, r1
- str r0, [sp, 0x8]
-_080512E8:
- movs r5, 0x5
- cmp r5, r8
- bge _08051326
-_080512EE:
- bl sub_80511F0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- movs r1, 0x1
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_805124C
- lsls r0, 24
- cmp r0, 0
- beq _08051320
- ldr r2, _0805138C
- adds r0, r7, r2
- strh r5, [r0]
- ldr r1, _08051390
- adds r0, r7, r1
- strh r6, [r0]
-_08051320:
- adds r5, 0x1
- cmp r5, r8
- blt _080512EE
-_08051326:
- adds r6, 0x1
- ldr r2, [sp, 0x8]
- cmp r6, r2
- blt _080512E8
-_0805132E:
- movs r6, 0
- ldr r0, _08051394
- adds r7, r0, 0
-_08051334:
- movs r5, 0
- adds r4, r6, 0x1
-_08051338:
- cmp r5, 0x4
- ble _08051350
- mov r0, r10
- adds r0, 0x5
- cmp r5, r0
- bge _08051350
- cmp r6, 0x4
- ble _08051350
- mov r0, r9
- adds r0, 0x5
- cmp r6, r0
- blt _080513A0
-_08051350:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x10
- movs r3, 0
- orrs r1, r0
- strh r1, [r2]
- ldr r0, _08051398
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805139C
- ands r1, r7
- movs r0, 0x3
- orrs r1, r0
- b _0805139E
- .align 2, 0
-_08051374: .4byte gUnknown_203B418
-_08051378: .4byte 0x00013568
-_0805137C: .4byte 0x0000e260
-_08051380: .4byte 0x0000e262
-_08051384: .4byte gUnknown_202F1DC
-_08051388: .4byte gUnknown_202F1E1
-_0805138C: .4byte 0x0000e21c
-_08051390: .4byte 0x0000e21e
-_08051394: .4byte 0x0000fffc
-_08051398: .4byte gUnknown_202F1A8
-_0805139C:
- ands r1, r7
-_0805139E:
- strh r1, [r2]
-_080513A0:
- adds r5, 0x1
- cmp r5, 0x37
- ble _08051338
- adds r6, r4, 0
- cmp r6, 0x1F
- ble _08051334
- ldr r1, [sp, 0x4]
- cmp r1, 0x4
- bne _080513DA
- movs r6, 0x5
- ldr r2, _0805142C
- adds r7, r2, 0
-_080513B8:
- movs r5, 0x2
- adds r4, r6, 0x1
-_080513BC:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- ldrh r2, [r0]
- movs r1, 0x10
- orrs r1, r2
- ands r1, r7
- strh r1, [r0]
- adds r5, 0x1
- cmp r5, 0x4
- ble _080513BC
- adds r6, r4, 0
- cmp r6, 0x10
- ble _080513B8
-_080513DA:
- ldr r0, _08051430
- ldr r0, [r0]
- ldr r1, _08051434
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x3F
- ble _08051416
- movs r6, 0
-_080513EC:
- movs r5, 0
- adds r4, r6, 0x1
-_080513F0:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0805140A
- movs r0, 0x10
- orrs r0, r1
- strh r0, [r2]
-_0805140A:
- adds r5, 0x1
- cmp r5, 0x37
- ble _080513F0
- adds r6, r4, 0
- cmp r6, 0x1F
- ble _080513EC
-_08051416:
- bl sub_804E9DC
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805142C: .4byte 0x0000fffc
-_08051430: .4byte gUnknown_203B418
-_08051434: .4byte 0x00003a0e
- thumb_func_end sub_8051288
-
- thumb_func_start sub_8051438
-sub_8051438:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r9, r0
- ldr r0, _080515AC
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldr r2, _080515B0
- ldr r4, _080515B4
- adds r3, r0, r4
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- lsls r1, 2
- adds r0, r1, r0
- ldr r0, [r0]
- adds r0, 0x3
- str r0, [r2]
- ldr r2, _080515B8
- movs r0, 0
- strb r0, [r2]
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- adds r1, r0
- ldr r0, [r1]
- ldrb r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805147A
- b _080515D8
-_0805147A:
- ldr r5, [sp, 0x4]
- ldr r0, _080515BC
- adds r1, r5, r0
- mov r2, r9
- movs r3, 0
- ldrsh r0, [r2, r3]
- str r0, [r1]
- ldr r4, _080515C0
- adds r1, r5, r4
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- str r0, [r1]
- ldr r0, [sp, 0x4]
- ldr r2, _080515C4
- adds r1, r0, r2
- mov r3, r9
- movs r4, 0x4
- ldrsh r0, [r3, r4]
- str r0, [r1]
- ldr r5, [sp, 0x4]
- ldr r0, _080515C8
- adds r1, r5, r0
- movs r2, 0x6
- ldrsh r0, [r3, r2]
- str r0, [r1]
- movs r3, 0
- str r3, [sp, 0x8]
- mov r4, r9
- movs r5, 0x2
- ldrsh r4, [r4, r5]
- mov r8, r4
- mov r1, r9
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r8, r0
- blt _080514C4
- b _08051640
-_080514C4:
- mov r3, r9
- movs r4, 0
- ldrsh r7, [r3, r4]
- movs r5, 0x4
- ldrsh r0, [r3, r5]
- ldr r1, [sp, 0x8]
- adds r1, 0x1
- str r1, [sp, 0x10]
- mov r2, r8
- adds r2, 0x1
- str r2, [sp, 0xC]
- cmp r7, r0
- bge _08051598
- ldr r4, _080515CC
- ldr r3, [sp, 0x4]
- adds r4, r3, r4
- str r4, [sp, 0x14]
- movs r5, 0
- str r5, [sp, 0x18]
- ldr r0, [sp, 0x8]
- mov r10, r0
-_080514EE:
- bl sub_80511F0
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r7, 0
- mov r1, r8
- bl sub_8049590
- adds r6, r0, 0
- ldr r1, [sp, 0x4]
- ldr r2, _080515D0
- adds r0, r1, r2
- add r0, r10
- strb r5, [r0]
- ldr r3, [sp, 0x8]
- lsls r4, r3, 1
- adds r4, r3
- lsls r4, 3
- ldr r1, [sp, 0x14]
- adds r0, r1, r4
- movs r2, 0
- str r2, [sp]
- adds r1, r5, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_805124C
- ldrb r1, [r6, 0x9]
- ldr r3, [sp, 0x18]
- adds r4, r3
- ldr r5, [sp, 0x4]
- adds r4, r5, r4
- adds r0, r6, 0
- ldr r2, _080515CC
- adds r4, r2
- ldm r4!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- ldm r4!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- mov r3, r9
- movs r4, 0
- ldrsh r0, [r3, r4]
- adds r0, 0x2
- cmp r7, r0
- blt _08051572
- movs r5, 0x4
- ldrsh r0, [r3, r5]
- subs r0, 0x2
- cmp r7, r0
- bge _08051572
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- adds r0, 0x2
- cmp r8, r0
- blt _08051572
- movs r4, 0x6
- ldrsh r0, [r3, r4]
- subs r0, 0x2
- cmp r8, r0
- bge _08051572
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r6]
- movs r0, 0xE
- strb r0, [r6, 0xE]
-_08051572:
- strb r1, [r6, 0x9]
- ldr r5, [sp, 0x4]
- ldr r2, _080515D4
- adds r0, r5, r2
- strb r1, [r0]
- ldr r3, [sp, 0x14]
- adds r3, 0xC0
- str r3, [sp, 0x14]
- ldr r4, [sp, 0x18]
- adds r4, 0xC0
- str r4, [sp, 0x18]
- movs r5, 0x8
- add r10, r5
- adds r7, 0x1
- mov r1, r9
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r7, r0
- blt _080514EE
-_08051598:
- ldr r3, [sp, 0x10]
- str r3, [sp, 0x8]
- ldr r4, [sp, 0xC]
- mov r8, r4
- mov r5, r9
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- cmp r8, r0
- blt _080514C4
- b _08051640
- .align 2, 0
-_080515AC: .4byte gUnknown_203B418
-_080515B0: .4byte gUnknown_202F1DC
-_080515B4: .4byte 0x00013568
-_080515B8: .4byte gUnknown_202F1E1
-_080515BC: .4byte 0x0000e250
-_080515C0: .4byte 0x0000e254
-_080515C4: .4byte 0x0000e258
-_080515C8: .4byte 0x0000e25c
-_080515CC: .4byte 0x0000e27c
-_080515D0: .4byte 0x0000e87c
-_080515D4: .4byte 0x0000e8bc
-_080515D8:
- mov r2, r9
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- mov r8, r2
- b _08051636
-_080515E2:
- mov r0, r9
- movs r1, 0
- ldrsh r7, [r0, r1]
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- mov r3, r8
- adds r3, 0x1
- str r3, [sp, 0xC]
- cmp r7, r0
- bge _08051632
-_080515F6:
- bl sub_80511F0
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- mov r1, r8
- bl sub_8049590
- adds r5, r0, 0
- ldrb r6, [r5, 0x9]
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_805124C
- strb r6, [r5, 0x9]
- ldr r4, [sp, 0x4]
- ldr r5, _08051650
- adds r0, r4, r5
- strb r6, [r0]
- adds r7, 0x1
- mov r1, r9
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r7, r0
- blt _080515F6
-_08051632:
- ldr r3, [sp, 0xC]
- mov r8, r3
-_08051636:
- mov r4, r9
- movs r5, 0x6
- ldrsh r0, [r4, r5]
- cmp r8, r0
- blt _080515E2
-_08051640:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08051650: .4byte 0x0000e8bc
- thumb_func_end sub_8051438
-
- thumb_func_start sub_8051654
-sub_8051654:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- str r0, [sp]
- ldr r4, _080516EC
- ldr r1, [r4, 0x8]
- ldr r0, [r4]
- subs r1, r0
- subs r1, 0x2
- movs r0, 0x3
- bl sub_808411C
- mov r8, r0
- cmp r0, 0x2
- bgt _0805167C
- movs r0, 0x3
- mov r8, r0
-_0805167C:
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x4]
- subs r1, r0
- subs r1, 0x2
- movs r0, 0x3
- bl sub_808411C
- mov r9, r0
- cmp r0, 0x2
- bgt _08051694
- movs r1, 0x3
- mov r9, r1
-_08051694:
- movs r0, 0x2
- movs r1, 0x4
- bl sub_808411C
- mov r10, r0
- movs r5, 0
- cmp r5, r10
- bge _08051734
- ldr r0, [r4, 0x8]
- ldr r1, [r4]
- subs r0, r1
- cmp r0, r8
- ble _08051734
- adds r6, r4, 0
-_080516B0:
- movs r0, 0x64
- bl sub_8084100
- cmp r0, 0x31
- bgt _080516F4
- ldr r4, [r6, 0x4]
- ldr r0, [r6, 0xC]
- adds r7, r5, 0x1
- cmp r4, r0
- bge _080516E4
- ldr r5, _080516EC
- ldr r0, _080516F0
- adds r2, r0, 0
-_080516CA:
- ldr r0, [r5]
- adds r1, r4, 0
- str r2, [sp, 0xC]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r2, [sp, 0xC]
- ands r1, r2
- strh r1, [r0]
- adds r4, 0x1
- ldr r0, [r5, 0xC]
- cmp r4, r0
- blt _080516CA
-_080516E4:
- ldr r0, [r6]
- adds r0, 0x1
- str r0, [r6]
- b _08051724
- .align 2, 0
-_080516EC: .4byte gUnknown_202F1B8
-_080516F0: .4byte 0x0000ffdf
-_080516F4:
- ldr r0, [r6, 0x8]
- subs r0, 0x1
- str r0, [r6, 0x8]
- ldr r4, [r6, 0x4]
- ldr r0, [r6, 0xC]
- adds r7, r5, 0x1
- cmp r4, r0
- bge _08051724
- ldr r5, _08051784
- ldr r1, _08051788
- adds r2, r1, 0
-_0805170A:
- ldr r0, [r5, 0x8]
- adds r1, r4, 0
- str r2, [sp, 0xC]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r2, [sp, 0xC]
- ands r1, r2
- strh r1, [r0]
- adds r4, 0x1
- ldr r0, [r5, 0xC]
- cmp r4, r0
- blt _0805170A
-_08051724:
- adds r5, r7, 0
- cmp r5, r10
- bge _08051734
- ldr r0, [r6, 0x8]
- ldr r1, [r6]
- subs r0, r1
- cmp r0, r8
- bgt _080516B0
-_08051734:
- movs r5, 0
- ldr r3, _08051784
- cmp r5, r10
- bge _080517CE
- ldr r0, [r3, 0xC]
- ldr r1, [r3, 0x4]
- subs r0, r1
- cmp r0, r9
- ble _080517CE
- adds r6, r3, 0
-_08051748:
- movs r0, 0x64
- bl sub_8084100
- cmp r0, 0x31
- bgt _0805178C
- ldr r4, [r6]
- ldr r0, [r6, 0x8]
- adds r7, r5, 0x1
- cmp r4, r0
- bge _0805177C
- ldr r5, _08051784
- ldr r0, _08051788
- adds r2, r0, 0
-_08051762:
- ldr r1, [r5, 0x4]
- adds r0, r4, 0
- str r2, [sp, 0xC]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r2, [sp, 0xC]
- ands r1, r2
- strh r1, [r0]
- adds r4, 0x1
- ldr r0, [r5, 0x8]
- cmp r4, r0
- blt _08051762
-_0805177C:
- ldr r0, [r6, 0x4]
- adds r0, 0x1
- str r0, [r6, 0x4]
- b _080517BC
- .align 2, 0
-_08051784: .4byte gUnknown_202F1B8
-_08051788: .4byte 0x0000ffdf
-_0805178C:
- ldr r0, [r6, 0xC]
- subs r0, 0x1
- str r0, [r6, 0xC]
- ldr r4, [r6]
- ldr r0, [r6, 0x8]
- adds r7, r5, 0x1
- cmp r4, r0
- bge _080517BC
- ldr r5, _080518E4
- ldr r1, _080518E8
- adds r2, r1, 0
-_080517A2:
- ldr r1, [r5, 0xC]
- adds r0, r4, 0
- str r2, [sp, 0xC]
- bl sub_8049590
- ldrh r1, [r0]
- ldr r2, [sp, 0xC]
- ands r1, r2
- strh r1, [r0]
- adds r4, 0x1
- ldr r0, [r5, 0x8]
- cmp r4, r0
- blt _080517A2
-_080517BC:
- adds r5, r7, 0
- ldr r3, _080518E4
- cmp r5, r10
- bge _080517CE
- ldr r1, [r6, 0xC]
- ldr r0, [r6, 0x4]
- subs r1, r0
- cmp r1, r9
- bgt _08051748
-_080517CE:
- ldr r7, [r3]
- ldr r0, [r3, 0x8]
- cmp r7, r0
- bge _08051824
- adds r4, r3, 0
- mov r9, r3
-_080517DA:
- ldr r5, [r4, 0x4]
- ldr r0, [r4, 0xC]
- adds r1, r7, 0x1
- mov r8, r1
- cmp r5, r0
- bge _0805181A
- ldr r3, _080518E4
- ldr r0, _080518E8
- adds r6, r0, 0
-_080517EC:
- adds r0, r7, 0
- adds r1, r5, 0
- str r3, [sp, 0x10]
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x20
- ands r0, r1
- ldr r3, [sp, 0x10]
- cmp r0, 0
- beq _08051812
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08051812
- adds r0, r1, 0
- ands r0, r6
- strh r0, [r2]
-_08051812:
- adds r5, 0x1
- ldr r0, [r4, 0xC]
- cmp r5, r0
- blt _080517EC
-_0805181A:
- mov r7, r8
- mov r1, r9
- ldr r0, [r1, 0x8]
- cmp r7, r0
- blt _080517DA
-_08051824:
- ldr r0, [r3]
- ldr r1, [r3, 0x8]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r2, r0, 1
- ldr r0, [r3, 0x4]
- ldr r1, [r3, 0xC]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r0, 0x1
- mov r10, r0
- movs r0, 0
- mov r9, r0
- subs r7, r2, 0x1
- adds r0, r2, 0x2
- cmp r7, r0
- bge _080518D2
- adds r2, r0, 0
- str r2, [sp, 0x4]
-_08051850:
- mov r5, r10
- adds r0, r5, 0x3
- adds r1, r7, 0x1
- mov r8, r1
- mov r1, r9
- adds r1, 0x1
- str r1, [sp, 0x8]
- cmp r5, r0
- bge _080518C6
- movs r3, 0
-_08051864:
- adds r0, r7, 0
- adds r1, r5, 0
- str r3, [sp, 0x10]
- bl sub_8049590
- adds r6, r0, 0
- ldrh r1, [r6]
- movs r0, 0x20
- ands r0, r1
- ldr r3, [sp, 0x10]
- cmp r0, 0
- beq _080518BA
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080518BA
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080518BA
- mov r0, r9
- lsls r2, r0, 1
- adds r2, r3
- ldr r0, [sp]
- ldrb r1, [r0, 0x18]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- adds r2, r0
- ldr r1, _080518EC
- adds r2, r1
- movs r0, 0
- ldrsh r4, [r2, r0]
- movs r0, 0x64
- bl sub_8084100
- ldr r3, [sp, 0x10]
- cmp r4, r0
- ble _080518BA
- ldrh r1, [r6, 0x4]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r6, 0x4]
-_080518BA:
- adds r5, 0x1
- adds r3, 0x6
- mov r0, r10
- adds r0, 0x3
- cmp r5, r0
- blt _08051864
-_080518C6:
- mov r7, r8
- ldr r1, [sp, 0x8]
- mov r9, r1
- ldr r0, [sp, 0x4]
- cmp r7, r0
- blt _08051850
-_080518D2:
- 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
-_080518E4: .4byte gUnknown_202F1B8
-_080518E8: .4byte 0x0000ffdf
-_080518EC: .4byte gUnknown_80F57D4
- thumb_func_end sub_8051654
-
- thumb_func_start sub_80518F0
-sub_80518F0:
- push {r4-r7,lr}
- movs r5, 0
- movs r6, 0x10
- movs r7, 0
-_080518F8:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8049590
- adds r4, r0, 0
- bl sub_804FD10
- cmp r5, 0
- beq _0805190E
- cmp r5, 0x37
- bne _08051914
-_0805190E:
- ldrh r0, [r4]
- orrs r0, r6
- strh r0, [r4]
-_08051914:
- adds r0, r5, 0
- movs r1, 0x1E
- bl sub_8049590
- adds r4, r0, 0
- bl sub_804FD10
- cmp r5, 0
- beq _0805192A
- cmp r5, 0x37
- bne _08051930
-_0805192A:
- ldrh r0, [r4]
- orrs r0, r6
- strh r0, [r4]
-_08051930:
- adds r5, 0x1
- cmp r5, 0x37
- ble _080518F8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80518F0
-
- thumb_func_start sub_805193C
-sub_805193C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r3, 0
- ldr r4, [sp, 0x18]
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsls r2, 16
- lsrs r1, 16
- orrs r1, r2
- str r1, [sp, 0x4]
- adds r0, r5, 0
- bl sub_805210C
- lsls r0, 24
- cmp r0, 0
- beq _0805196A
- mov r0, sp
- movs r1, 0x76
- movs r2, 0
- bl sub_8090A8C
- b _08051974
-_0805196A:
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0
- bl sub_8090A8C
-_08051974:
- mov r0, sp
- ldrb r0, [r0]
- orrs r4, r0
- mov r0, sp
- strb r4, [r0]
- cmp r6, 0
- beq _08051984
- strb r6, [r0, 0x1]
-_08051984:
- add r0, sp, 0x4
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_805193C
-
- thumb_func_start sub_8051998
-sub_8051998:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r8, r1
- mov r9, r2
- lsls r0, 16
- asrs r0, 16
- adds r1, r0, 0
- lsls r3, 24
- lsrs r6, r3, 24
- adds r7, r6, 0
- ldr r0, _080519E4
- cmp r1, r0
- bne _080519E8
- mov r1, sp
- movs r5, 0
- movs r4, 0
- movs r0, 0x3C
- strh r0, [r1]
- bl sub_803DA20
- mov r1, sp
- strh r0, [r1, 0x8]
- mov r0, sp
- strb r6, [r0, 0x2]
- str r4, [sp, 0x4]
- strb r5, [r0, 0x10]
- mov r1, r8
- strh r1, [r0, 0xC]
- mov r1, r9
- strh r1, [r0, 0xE]
- movs r1, 0x1
- bl sub_806B7F8
- b _08051A14
- .align 2, 0
-_080519E4: .4byte 0x000001a5
-_080519E8:
- cmp r1, 0
- beq _08051A14
- mov r0, sp
- movs r5, 0
- movs r4, 0
- strh r1, [r0]
- adds r0, r1, 0
- bl sub_803DA20
- mov r1, sp
- strh r0, [r1, 0x8]
- mov r0, sp
- strb r7, [r0, 0x2]
- str r4, [sp, 0x4]
- strb r5, [r0, 0x10]
- mov r1, r8
- strh r1, [r0, 0xC]
- mov r1, r9
- strh r1, [r0, 0xE]
- movs r1, 0x1
- bl sub_806B7F8
-_08051A14:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8051998
-
- thumb_func_start sub_8051A24
-sub_8051A24:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- adds r7, r0, 0
- lsls r4, 16
- lsls r5, 16
- lsrs r4, 16
- orrs r4, r5
- str r4, [sp]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0
- bl sub_8045684
- cmp r0, 0
- beq _08051A66
- str r0, [r7, 0x14]
- adds r0, 0x20
- mov r1, r8
- strb r1, [r0]
-_08051A66:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8051A24
-
- thumb_func_start sub_8051A74
-sub_8051A74:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x20]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r1, 0xF
- bls _08051AA2
- ldrh r0, [r4]
- ldr r1, _08051AB4
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strh r1, [r4]
-_08051AA2:
- mov r0, r8
- cmp r0, 0x45
- bls _08051AAA
- b _08051D68
-_08051AAA:
- lsls r0, 2
- ldr r1, _08051AB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08051AB4: .4byte 0x0000fffc
-_08051AB8: .4byte _08051ABC
- .align 2, 0
-_08051ABC:
- .4byte _08051BF0
- .4byte _08051C0C
- .4byte _08051D50
- .4byte _08051E1A
- .4byte _08051C20
- .4byte _08051C54
- .4byte _08051C64
- .4byte _08051C74
- .4byte _08051C94
- .4byte _08051D00
- .4byte _08051C7E
- .4byte _08051D10
- .4byte _08051D24
- .4byte _08051D50
- .4byte _08051D50
- .4byte _08051E1A
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051D68
- .4byte _08051C94
- .4byte _08051CD4
- .4byte _08051BD4
-_08051BD4:
- ldr r0, _08051BFC
- ldr r0, [r0]
- ldr r2, _08051C00
- adds r1, r0, r2
- strh r6, [r1]
- ldr r3, _08051C04
- adds r0, r3
- strh r7, [r0]
- movs r0, 0xB
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0
- bl sub_8051A24
-_08051BF0:
- ldrh r1, [r4]
- ldr r0, _08051C08
- ands r0, r1
- movs r1, 0x1
- movs r2, 0
- b _08051D42
- .align 2, 0
-_08051BFC: .4byte gUnknown_203B418
-_08051C00: .4byte 0x00000684
-_08051C04: .4byte 0x00000686
-_08051C08: .4byte 0x0000fffc
-_08051C0C:
- ldrh r1, [r4]
- ldr r0, _08051C18
- ands r0, r1
- ldr r1, _08051C1C
- ands r0, r1
- b _08051D5A
- .align 2, 0
-_08051C18: .4byte 0x0000fffc
-_08051C1C: .4byte 0x0000feff
-_08051C20:
- ldrh r1, [r4]
- ldr r0, _08051C44
- ands r0, r1
- movs r1, 0x1
- movs r2, 0
- orrs r0, r1
- strh r0, [r4]
- ldr r0, _08051C48
- ldr r0, [r0]
- ldr r3, _08051C4C
- adds r1, r0, r3
- strh r6, [r1]
- ldr r1, _08051C50
- adds r0, r1
- strh r7, [r0]
- strb r2, [r4, 0x9]
- b _08051E1A
- .align 2, 0
-_08051C44: .4byte 0x0000fffc
-_08051C48: .4byte gUnknown_203B418
-_08051C4C: .4byte 0x0000e218
-_08051C50: .4byte 0x0000e21a
-_08051C54:
- ldrh r1, [r4]
- ldr r0, _08051C60
- ands r0, r1
- movs r2, 0
- movs r1, 0x2
- b _08051D42
- .align 2, 0
-_08051C60: .4byte 0x0000fffc
-_08051C64:
- ldrh r1, [r4]
- ldr r0, _08051C70
- ands r0, r1
- movs r1, 0x3
- b _08051D58
- .align 2, 0
-_08051C70: .4byte 0x0000fffc
-_08051C74:
- ldr r1, _08051C8C
- movs r0, 0x1
- strb r0, [r1]
- bl sub_8049840
-_08051C7E:
- ldrh r1, [r4]
- ldr r0, _08051C90
- ands r0, r1
- movs r1, 0x3
- orrs r0, r1
- b _08051D56
- .align 2, 0
-_08051C8C: .4byte gUnknown_202F1A8
-_08051C90: .4byte 0x0000fffc
-_08051C94:
- ldrh r1, [r4]
- ldr r0, _08051CC0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- ldrh r0, [r4, 0x4]
- movs r2, 0
- orrs r0, r1
- ldr r1, _08051CC4
- ands r0, r1
- strh r0, [r4, 0x4]
- strb r2, [r4, 0x9]
- ldr r0, _08051CC8
- ldr r0, [r0]
- ldr r2, _08051CCC
- adds r1, r0, r2
- strh r6, [r1]
- ldr r3, _08051CD0
- adds r0, r3
- strh r7, [r0]
- b _08051E1A
- .align 2, 0
-_08051CC0: .4byte 0x0000fffc
-_08051CC4: .4byte 0x0000fffd
-_08051CC8: .4byte gUnknown_203B418
-_08051CCC: .4byte 0x0000e21c
-_08051CD0: .4byte 0x0000e21e
-_08051CD4:
- ldrh r1, [r4]
- movs r2, 0x80
- lsls r2, 4
- adds r0, r2, 0
- orrs r0, r1
- ldr r1, _08051CF8
- ands r0, r1
- movs r1, 0x1
- movs r2, 0
- orrs r0, r1
- strh r0, [r4]
- ldrh r1, [r4, 0x4]
- ldr r0, _08051CFC
- ands r0, r1
- strh r0, [r4, 0x4]
- strb r2, [r4, 0x9]
- b _08051E1A
- .align 2, 0
-_08051CF8: .4byte 0x0000fffc
-_08051CFC: .4byte 0x0000fffd
-_08051D00:
- ldrh r1, [r4]
- ldr r0, _08051D0C
- ands r0, r1
- movs r1, 0x1
- b _08051D58
- .align 2, 0
-_08051D0C: .4byte 0x0000fffc
-_08051D10:
- ldrh r1, [r4]
- ldr r0, _08051D20
- ands r0, r1
- movs r1, 0x1
- movs r2, 0
- orrs r0, r1
- b _08051D3C
- .align 2, 0
-_08051D20: .4byte 0x0000fffc
-_08051D24:
- ldrh r1, [r4]
- ldr r0, _08051D4C
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2, 0
- orrs r0, r1
- movs r1, 0x10
- orrs r0, r1
- movs r2, 0
-_08051D3C:
- movs r3, 0x80
- lsls r3, 4
- adds r1, r3, 0
-_08051D42:
- orrs r0, r1
- strh r0, [r4]
- strb r2, [r4, 0x9]
- b _08051E1A
- .align 2, 0
-_08051D4C: .4byte 0x0000fffc
-_08051D50:
- ldrh r1, [r4]
- ldr r0, _08051D64
- ands r0, r1
-_08051D56:
- movs r1, 0x10
-_08051D58:
- orrs r0, r1
-_08051D5A:
- strh r0, [r4]
- movs r0, 0xFF
- strb r0, [r4, 0x9]
- b _08051E1A
- .align 2, 0
-_08051D64: .4byte 0x0000fffc
-_08051D68:
- mov r0, r8
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xCB
- bhi _08051E1A
- mov r1, r8
- lsls r0, r1, 4
- ldr r1, _08051DA0
- adds r5, r0, r1
- ldrb r0, [r5, 0xC]
- strb r0, [r4, 0x9]
- ldrb r1, [r5]
- cmp r1, 0
- beq _08051DB8
- mov r2, r9
- cmp r2, 0
- beq _08051DA4
- ldrb r0, [r5]
- movs r1, 0x2
- ldrsh r3, [r5, r1]
- ldr r1, [r5, 0x4]
- str r1, [sp]
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_805193C
- b _08051DDC
- .align 2, 0
-_08051DA0: .4byte gUnknown_80F6D20
-_08051DA4:
- ldr r0, _08051DB0
- ldr r0, [r0]
- ldr r2, _08051DB4
- adds r0, r2
- strb r1, [r0]
- b _08051DDC
- .align 2, 0
-_08051DB0: .4byte gUnknown_203B418
-_08051DB4: .4byte 0x0000068b
-_08051DB8:
- ldr r2, [r5, 0x4]
- cmp r2, 0
- beq _08051DDC
- ldr r0, _08051E2C
- ldr r1, [r0]
- subs r0, r2, 0x1
- lsls r0, 2
- adds r0, r1, r0
- ldr r3, _08051E30
- adds r0, r3
- strh r6, [r0]
- ldr r0, [r5, 0x4]
- subs r0, 0x1
- lsls r0, 2
- adds r1, r0
- ldr r0, _08051E34
- adds r1, r0
- strh r7, [r1]
-_08051DDC:
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08051DF2
- ldrb r3, [r5, 0xA]
- mov r1, r8
- str r1, [sp]
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_8051998
-_08051DF2:
- ldrb r0, [r5, 0xB]
- cmp r0, 0x14
- beq _08051E08
- mov r2, r9
- cmp r2, 0
- beq _08051E08
- ldrb r3, [r5, 0xD]
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_8051A24
-_08051E08:
- ldrb r0, [r5, 0xE]
- cmp r0, 0
- beq _08051E1A
- ldrh r0, [r4]
- ldr r1, _08051E38
- ands r1, r0
- movs r0, 0x2
- orrs r1, r0
- strh r1, [r4]
-_08051E1A:
- movs r0, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08051E2C: .4byte gUnknown_203B418
-_08051E30: .4byte 0x0000e220
-_08051E34: .4byte 0x0000e222
-_08051E38: .4byte 0x0000fffc
- thumb_func_end sub_8051A74
-
- thumb_func_start sub_8051E3C
-sub_8051E3C:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r5, 0
-_08051E42:
- movs r4, 0
- adds r6, r5, 0x1
-_08051E46:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrb r0, [r2, 0xE]
- cmp r0, 0xF
- bls _08051E66
- adds r1, r0, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r2, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_8051A74
-_08051E66:
- adds r4, 0x1
- cmp r4, 0x37
- ble _08051E46
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _08051E42
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8051E3C
-
- thumb_func_start sub_8051E7C
-sub_8051E7C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r9, r0
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- mov r2, r9
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- subs r1, 0x1
- bl sub_8049590
- str r0, [sp, 0x8]
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- bne _08051EB8
- ldr r0, _08051EB4
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
- b _080520F6
- .align 2, 0
-_08051EB4: .4byte gUnknown_80FDDF0
-_08051EB8:
- ldr r0, _08051EF0
- ldr r0, [r0]
- ldr r1, _08051EF4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08051EC8
- b _080520EC
-_08051EC8:
- mov r2, r9
- ldrh r1, [r2, 0x6]
- subs r1, 0x1
- lsls r1, 16
- ldrh r0, [r2, 0x4]
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, r9
- bl sub_80450FC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- mov r3, r9
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- adds r6, r0, 0
- subs r6, 0x15
- b _08051FE0
- .align 2, 0
-_08051EF0: .4byte gUnknown_203B418
-_08051EF4: .4byte 0x00003a09
-_08051EF8:
- mov r2, r9
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- adds r5, r0, 0
- subs r5, 0x14
- adds r0, 0x14
- adds r1, r6, 0x1
- str r1, [sp, 0x10]
- cmp r5, r0
- bgt _08051FD8
- ldr r2, _080520C0
- mov r10, r2
-_08051F10:
- mov r0, r10
- ldr r3, [r0]
- ldr r1, _080520C4
- adds r0, r3, r1
- ldr r1, [r0]
- subs r2, r5, r1
- mov r8, r2
- ldr r2, _080520C8
- adds r0, r3, r2
- ldr r2, [r0]
- subs r7, r6, r2
- mov r0, r8
- cmp r0, 0
- blt _08051FCA
- cmp r7, 0
- blt _08051FCA
- cmp r0, 0x7
- bgt _08051FCA
- cmp r7, 0x7
- bgt _08051FCA
- adds r0, r1, 0x1
- cmp r5, r0
- blt _08051FCA
- adds r0, r2, 0x1
- cmp r6, r0
- blt _08051FCA
- ldr r1, _080520CC
- adds r0, r3, r1
- ldr r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- bge _08051FCA
- ldr r2, _080520D0
- adds r0, r3, r2
- ldr r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- bge _08051FCA
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- adds r4, r0, 0
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 1
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08051F9A
- mov r0, r10
- ldr r2, [r0]
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 3
- mov r3, r8
- lsls r0, r3, 1
- add r0, r8
- lsls r0, 6
- adds r1, r0
- adds r2, r1
- ldr r1, _080520D4
- adds r0, r2, r1
- ldrh r0, [r0]
- strh r0, [r4]
- ldr r3, _080520D8
- adds r2, r3
- ldrh r0, [r2]
- strh r0, [r4, 0x4]
-_08051F9A:
- mov r1, r10
- ldr r0, [r1]
- mov r2, r8
- lsls r1, r2, 3
- adds r1, r7, r1
- ldr r3, _080520DC
- adds r0, r3
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8051A74
- ldrh r1, [r4, 0x4]
- movs r0, 0x3
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r0, [sp, 0xC]
- cmp r0, 0xFF
- beq _08051FCA
- strb r0, [r4, 0x9]
-_08051FCA:
- adds r5, 0x1
- mov r2, r9
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- adds r0, 0x14
- cmp r5, r0
- ble _08051F10
-_08051FD8:
- ldr r6, [sp, 0x10]
- mov r1, r9
- movs r2, 0x6
- ldrsh r0, [r1, r2]
-_08051FE0:
- adds r0, 0x13
- cmp r6, r0
- ble _08051EF8
- mov r3, r9
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- adds r6, r0, 0
- subs r6, 0x15
- adds r0, 0x13
- ldr r7, _080520C0
- cmp r6, r0
- bgt _0805207A
-_08051FF8:
- mov r2, r9
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- adds r5, r0, 0
- subs r5, 0x14
- adds r0, 0x14
- adds r1, r6, 0x1
- str r1, [sp, 0x10]
- cmp r5, r0
- bgt _0805206C
- ldr r7, _080520C0
-_0805200E:
- ldr r0, _080520C0
- ldr r4, [r0]
- ldr r2, _080520C4
- adds r0, r4, r2
- ldr r2, [r0]
- subs r1, r5, r2
- ldr r3, _080520C8
- adds r0, r4, r3
- ldr r3, [r0]
- subs r0, r6, r3
- cmp r1, 0
- blt _0805205E
- cmp r0, 0
- blt _0805205E
- cmp r1, 0x7
- bgt _0805205E
- cmp r0, 0x7
- bgt _0805205E
- adds r0, r2, 0x1
- cmp r5, r0
- blt _0805205E
- adds r0, r3, 0x1
- cmp r6, r0
- blt _0805205E
- ldr r1, _080520CC
- adds r0, r4, r1
- ldr r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- bge _0805205E
- ldr r2, _080520D0
- adds r0, r4, r2
- ldr r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- bge _0805205E
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80498A8
-_0805205E:
- adds r5, 0x1
- mov r3, r9
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- adds r0, 0x14
- cmp r5, r0
- ble _0805200E
-_0805206C:
- ldr r6, [sp, 0x10]
- mov r2, r9
- movs r3, 0x6
- ldrsh r0, [r2, r3]
- adds r0, 0x13
- cmp r6, r0
- ble _08051FF8
-_0805207A:
- ldr r0, [r7]
- ldr r1, _080520E0
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, [sp, 0x8]
- ldrh r1, [r2]
- ldr r0, _080520E4
- ands r0, r1
- strh r0, [r2]
- mov r3, r9
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- movs r2, 0x6
- ldrsh r1, [r3, r2]
- subs r1, 0x1
- bl sub_80498A8
- bl sub_8049B8C
- bl sub_8049ED4
- add r0, sp, 0x4
- bl sub_80429FC
- ldr r0, _080520E8
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
- movs r0, 0x14
- movs r1, 0x3C
- bl sub_803E708
- b _080520F6
- .align 2, 0
-_080520C0: .4byte gUnknown_203B418
-_080520C4: .4byte 0x0000e250
-_080520C8: .4byte 0x0000e254
-_080520CC: .4byte 0x0000e258
-_080520D0: .4byte 0x0000e25c
-_080520D4: .4byte 0x0000e27c
-_080520D8: .4byte 0x0000e280
-_080520DC: .4byte 0x0000e87c
-_080520E0: .4byte 0x00003a09
-_080520E4: .4byte 0x0000efef
-_080520E8: .4byte gUnknown_80FDDD0
-_080520EC:
- ldr r0, _08052108
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
-_080520F6:
- 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
-_08052108: .4byte gUnknown_80FDDF0
- thumb_func_end sub_8051E7C
-
- thumb_func_start sub_805210C
-sub_805210C:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r7, _080521B4
- movs r4, 0x1
- ldr r2, [r7]
-_0805211A:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0805212A
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- beq _080521C8
-_0805212A:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _0805211A
- movs r3, 0
- ldr r0, _080521B8
- ldr r4, [r0]
- movs r6, 0x1
-_0805213A:
- movs r0, 0x64
- adds r2, r3, 0
- muls r2, r0
- adds r0, r2, r4
- ldr r1, _080521BC
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0805216C
- adds r0, r2, r4
- ldr r1, _080521C0
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- adds r1, r2, r4
- cmp r0, 0
- beq _0805216C
- ldr r2, _080521C4
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, r5
- beq _080521C8
-_0805216C:
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805213A
- movs r3, 0
- ldr r0, _080521B8
- ldr r4, [r0]
-_08052178:
- movs r0, 0x58
- muls r0, r3
- adds r2, r0, r4
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08052196
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- beq _08052196
- cmp r0, r5
- beq _080521C8
-_08052196:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _08052178
- ldr r0, [r7]
- lsls r1, r5, 1
- adds r0, 0x50
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080521C8
- movs r0, 0
- b _080521CA
- .align 2, 0
-_080521B4: .4byte gUnknown_203B460
-_080521B8: .4byte gUnknown_203B45C
-_080521BC: .4byte 0x00008df8
-_080521C0: .4byte 0x00008e38
-_080521C4: .4byte 0x00008e3a
-_080521C8:
- movs r0, 0x1
-_080521CA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805210C
-
- thumb_func_start sub_80521D0
-sub_80521D0:
- push {r4-r6,lr}
- movs r1, 0
- ldr r5, _08052200
- ldr r6, _08052204
- ldr r4, _08052208
- ldr r3, _0805220C
- movs r2, 0
-_080521DE:
- ldr r0, [r4]
- adds r0, r3
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x9
- ble _080521DE
- movs r0, 0
- str r0, [r5]
- movs r0, 0x1
- strb r0, [r6]
- movs r0, 0
- bl sub_8052210
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08052200: .4byte gUnknown_202F1E8
-_08052204: .4byte gUnknown_203B434
-_08052208: .4byte gUnknown_203B418
-_0805220C: .4byte 0x0001c054
- thumb_func_end sub_80521D0
-
- thumb_func_start sub_8052210
-sub_8052210:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r5, _08052280
-_0805221A:
- lsls r0, r4, 6
- ldr r1, [r5]
- adds r0, r1
- ldr r1, _08052284
- adds r0, r1
- ldr r1, _08052288
- bl strcpy
- adds r4, 0x1
- cmp r4, 0x9
- ble _0805221A
- ldr r1, _08052280
- ldr r0, [r1]
- ldr r2, _0805228C
- adds r0, r2
- movs r3, 0
- strb r3, [r0]
- ldr r0, [r1]
- adds r2, 0x1
- adds r1, r0, r2
- strh r3, [r1]
- adds r2, 0x2
- adds r1, r0, r2
- strh r3, [r1]
- adds r2, 0x2
- adds r1, r0, r2
- strh r3, [r1]
- ldr r1, _08052290
- adds r2, r0, r1
- movs r1, 0x4
- strh r1, [r2]
- ldr r2, _08052294
- adds r0, r2
- str r3, [r0]
- cmp r6, 0
- beq _08052278
- ldr r0, _08052298
- ldr r0, [r0]
- cmp r0, 0x3
- bne _08052278
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0xB
- bl sub_803E46C
-_08052278:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08052280: .4byte gUnknown_203B418
-_08052284: .4byte 0x0001bdd4
-_08052288: .4byte gUnknown_80F7AE8
-_0805228C: .4byte 0x0001c05f
-_08052290: .4byte 0x0001c066
-_08052294: .4byte 0x0001c06c
-_08052298: .4byte gUnknown_202EDD0
- thumb_func_end sub_8052210
-
- thumb_func_start sub_805229C
-sub_805229C:
- push {lr}
- movs r0, 0x50
- bl sub_80526D0
- pop {r0}
- bx r0
- thumb_func_end sub_805229C
-
- thumb_func_start sub_80522A8
-sub_80522A8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _080522C2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80523A8
-_080522C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80522A8
-
- thumb_func_start sub_80522C8
-sub_80522C8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _080522E2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_80523A8
-_080522E2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80522C8
-
- thumb_func_start sub_80522E8
-sub_80522E8:
- push {lr}
- movs r2, 0
- bl sub_80523A8
- pop {r0}
- bx r0
- thumb_func_end sub_80522E8
-
- thumb_func_start sub_80522F4
-sub_80522F4:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r7, r2, 0
- bl sub_8045888
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl sub_8052DC0
- lsls r0, 24
- cmp r0, 0
- beq _08052318
- movs r5, 0x1
-_08052318:
- cmp r5, 0
- beq _08052326
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_80523A8
-_08052326:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80522F4
-
- thumb_func_start sub_805232C
-sub_805232C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r7, r2, 0
- bl sub_8045888
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl sub_8052DC0
- lsls r0, 24
- cmp r0, 0
- beq _08052350
- movs r5, 0x1
-_08052350:
- cmp r5, 0
- beq _0805235E
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80523A8
-_0805235E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805232C
-
- thumb_func_start sub_8052364
-sub_8052364:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r7, r2, 0
- bl sub_8045888
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _08052388
- movs r5, 0x1
-_08052388:
- cmp r5, 0
- beq _08052396
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_80523A8
-_08052396:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8052364
-
- thumb_func_start sub_805239C
-sub_805239C:
- push {lr}
- movs r2, 0x1
- bl sub_80523A8
- pop {r0}
- bx r0
- thumb_func_end sub_805239C
-
- thumb_func_start sub_80523A8
-sub_80523A8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldr r0, _080523D0
- ldr r1, [r0]
- adds r2, r0, 0
- cmp r1, r3
- beq _080523D8
- movs r7, 0x1
- ldr r1, _080523D4
- b _080523DE
- .align 2, 0
-_080523D0: .4byte gUnknown_202F1E8
-_080523D4: .4byte gUnknown_203B434
-_080523D8:
- ldr r0, _080523F0
- ldrb r7, [r0]
- adds r1, r0, 0
-_080523DE:
- movs r0, 0x1
- mov r8, r0
- str r3, [r2]
- movs r0, 0
- strb r0, [r1]
- movs r1, 0
- mov r9, r1
- b _080523FA
- .align 2, 0
-_080523F0: .4byte gUnknown_203B434
-_080523F4:
- movs r0, 0
- bl sub_803E46C
-_080523FA:
- ldr r6, _0805249C
- ldr r2, [r6]
- ldr r3, _080524A0
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r1, 0x1
- cmp r1, 0xA
- bne _0805240E
- movs r1, 0
-_0805240E:
- ldr r3, _080524A4
- adds r0, r2, r3
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- beq _080523F4
- ldrb r0, [r4]
- cmp r0, 0
- beq _080524B0
- ldr r5, _080524A0
- adds r0, r2, r5
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, _080524A8
- adds r0, r2, r3
- adds r0, r1
- strb r7, [r0]
- adds r0, r4, 0
- mov r1, sp
- mov r2, sp
- adds r2, 0x3E
- movs r3, 0x80
- bl xxx_format_string
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xD
- bne _08052448
- adds r4, 0x1
-_08052448:
- ldrb r0, [r4]
- cmp r0, 0xA
- bne _08052450
- adds r4, 0x1
-_08052450:
- mov r0, sp
- adds r1, r7, 0
- mov r2, r8
- bl sub_8053210
- movs r7, 0
- movs r0, 0
- mov r8, r0
- mov r1, r10
- cmp r1, 0
- beq _080523FA
- movs r2, 0x1
- mov r9, r2
- ldr r1, [r6]
- adds r0, r1, r5
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 6
- adds r0, r1
- ldr r1, _080524AC
- adds r0, r1
- mov r1, sp
- movs r2, 0x40
- bl strncpy
- ldr r0, [r6]
- adds r1, r0, r5
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080523FA
- mov r2, r8
- strh r2, [r1]
- b _080523FA
- .align 2, 0
-_0805249C: .4byte gUnknown_203B418
-_080524A0: .4byte 0x0001c060
-_080524A4: .4byte 0x0001c062
-_080524A8: .4byte 0x0001c054
-_080524AC: .4byte 0x0001bdd4
-_080524B0:
- mov r3, r9
- cmp r3, 0
- beq _080524D4
- ldr r0, _080524E4
- ldr r2, [r0]
- ldr r3, _080524E8
- adds r1, r2, r3
- movs r0, 0xF0
- strh r0, [r1]
- ldr r0, _080524EC
- adds r2, r0
- ldr r0, [r2]
- cmp r0, 0
- bne _080524D0
- movs r0, 0x1
- str r0, [r2]
-_080524D0:
- bl sub_805E804
-_080524D4:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080524E4: .4byte gUnknown_203B418
-_080524E8: .4byte 0x0001c064
-_080524EC: .4byte 0x0001c06c
- thumb_func_end sub_80523A8
-
- thumb_func_start xxx_draw_string_80524F0
-xxx_draw_string_80524F0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x3C
- ldr r0, _0805251C
- ldr r0, [r0]
- ldr r1, _08052520
- adds r7, r0, r1
- ldr r2, _08052524
- adds r5, r0, r2
- ldr r1, [r5]
- cmp r1, 0x1
- beq _08052528
- cmp r1, 0x1
- bcs _08052510
- b _0805267C
-_08052510:
- cmp r1, 0x2
- beq _0805253C
- cmp r1, 0x3
- bne _0805251A
- b _0805265C
-_0805251A:
- b _0805267C
- .align 2, 0
-_0805251C: .4byte gUnknown_203B418
-_08052520: .4byte 0x0001bdd4
-_08052524: .4byte 0x0001c06c
-_08052528:
- bl sub_800EC74
- lsls r0, 24
- cmp r0, 0
- beq _08052534
- b _0805267C
-_08052534:
- movs r0, 0x3
- movs r1, 0
- bl sub_803EAF0
-_0805253C:
- ldr r3, _08052560
- adds r0, r7, r3
- movs r1, 0
- ldrsh r4, [r0, r1]
- movs r2, 0xA3
- lsls r2, 2
- adds r0, r7, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r4, r0
- bne _08052564
- movs r0, 0xA6
- lsls r0, 2
- adds r1, r7, r0
- movs r0, 0
- str r0, [r1]
- b _0805267C
- .align 2, 0
-_08052560: .4byte 0x0000028e
-_08052564:
- lsls r0, r4, 6
- adds r5, r7, r0
- add r1, sp, 0x4
- movs r0, 0x4
- strh r0, [r1]
- ldr r2, _080525B0
- adds r6, r7, r2
- ldrh r0, [r6]
- strh r0, [r1, 0x2]
- movs r3, 0x7
- mov r8, r3
- str r3, [sp, 0x14]
- movs r0, 0
- bl sub_80073B8
- movs r1, 0xA0
- lsls r1, 2
- adds r0, r7, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080525AA
- movs r2, 0
- ldrsh r0, [r6, r2]
- cmp r0, 0x7
- ble _080525AA
- adds r2, r0, 0
- subs r2, 0x1
- mov r0, r8
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r3, 0xE0
- bl sub_80078A4
-_080525AA:
- adds r6, r4, 0x1
- b _080525F2
- .align 2, 0
-_080525B0: .4byte 0x00000292
-_080525B4:
- add r1, sp, 0x38
- adds r0, r5, 0
- bl xxx_get_next_char_from_string
- adds r5, r0, 0
- ldr r4, [sp, 0x38]
- cmp r4, 0x60
- bne _080525D0
- add r1, sp, 0x4
- adds r0, r1, 0
- ldrh r0, [r0]
- adds r0, 0x6
- strh r0, [r1]
- b _080525F2
-_080525D0:
- add r0, sp, 0x4
- movs r1, 0
- ldrsh r0, [r0, r1]
- add r1, sp, 0x4
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r3, [sp, 0x14]
- movs r2, 0
- str r2, [sp]
- adds r2, r4, 0
- bl xxx_call_draw_char
- add r2, sp, 0x4
- adds r1, r2, 0
- ldrh r1, [r1]
- adds r1, r0
- strh r1, [r2]
-_080525F2:
- adds r0, r5, 0
- add r1, sp, 0x4
- bl sub_8009190
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0
- beq _0805260A
- cmp r0, 0xD
- beq _0805260A
- cmp r0, 0xA
- bne _080525B4
-_0805260A:
- movs r0, 0
- bl sub_80073E0
- movs r3, 0xA4
- lsls r3, 2
- adds r1, r7, r3
- movs r0, 0xF0
- strh r0, [r1]
- adds r4, r6, 0
- cmp r4, 0xA
- bne _08052622
- movs r4, 0
-_08052622:
- ldr r1, _08052654
- adds r0, r7, r1
- strh r4, [r0]
- ldr r2, _08052658
- adds r1, r7, r2
- ldrh r0, [r1]
- adds r0, 0xB
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _0805267C
- movs r0, 0x25
- strh r0, [r1]
- movs r3, 0xA5
- lsls r3, 2
- adds r1, r7, r3
- movs r0, 0
- strh r0, [r1]
- movs r0, 0xA6
- lsls r0, 2
- adds r1, r7, r0
- movs r0, 0x3
- str r0, [r1]
- b _0805267C
- .align 2, 0
-_08052654: .4byte 0x0000028e
-_08052658: .4byte 0x00000292
-_0805265C:
- ldr r1, _080526C4
- adds r4, r0, r1
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldr r0, _080526C8
- ldr r1, [r0]
- movs r0, 0
- bl _call_via_r1
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0xA
- ble _0805267C
- movs r0, 0x2
- str r0, [r5]
-_0805267C:
- ldr r3, _080526CC
- adds r0, r7, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080526B8
- movs r0, 0xA4
- lsls r0, 2
- adds r1, r7, r0
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080526B8
- subs r0, r2, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080526B8
- movs r2, 0xA6
- lsls r2, 2
- adds r0, r7, r2
- str r1, [r0]
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- bl sub_8052210
-_080526B8:
- add sp, 0x3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080526C4: .4byte 0x0001c068
-_080526C8: .4byte gUnknown_203B08C
-_080526CC: .4byte 0x0000028a
- thumb_func_end xxx_draw_string_80524F0
-
- thumb_func_start sub_80526D0
-sub_80526D0:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _0805272C
- ldr r1, [r0]
- ldr r0, _08052730
- adds r4, r1, r0
- ldr r2, _08052734
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _080526FA
- ldr r3, _08052738
- adds r0, r1, r3
- subs r2, 0xA
- adds r1, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r2, r0
- beq _08052724
-_080526FA:
- adds r0, r5, 0
- bl sub_803E46C
- movs r1, 0xA6
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _080526FA
- ldr r0, _0805272C
- ldr r0, [r0]
- ldr r2, _08052738
- adds r1, r0, r2
- ldr r3, _0805273C
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _080526FA
-_08052724:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805272C: .4byte gUnknown_203B418
-_08052730: .4byte 0x0001bdd4
-_08052734: .4byte 0x0001c06c
-_08052738: .4byte 0x0001c060
-_0805273C: .4byte 0x0001c062
- thumb_func_end sub_80526D0
-
- thumb_func_start sub_8052740
-sub_8052740:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r0, _080527B0
- ldr r4, [r0]
- ldr r0, _080527B4
- adds r7, r4, r0
- adds r0, r5, 0
- bl sub_80526D0
- movs r6, 0
- ldr r1, _080527B8
- adds r4, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xB3
- ble _080527A4
- ldr r2, _080527BC
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x3
- beq _080527A4
- adds r4, r2, 0
- ldr r0, _080527C0
- mov r8, r0
-_08052776:
- ldrh r0, [r4, 0x2]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _080527A4
- adds r0, r5, 0
- bl sub_803E46C
- adds r6, 0x1
- cmp r6, 0xEF
- bgt _080527A4
- movs r1, 0xA4
- lsls r1, 2
- adds r0, r7, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xB3
- ble _080527A4
- ldrh r1, [r4]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x3
- bne _08052776
-_080527A4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080527B0: .4byte gUnknown_203B418
-_080527B4: .4byte 0x0001bdd4
-_080527B8: .4byte 0x0001c064
-_080527BC: .4byte gUnknown_20255F0
-_080527C0: .4byte 0x0000030f
- thumb_func_end sub_8052740
-
- thumb_func_start PrintFieldMessage
-PrintFieldMessage:
- push {r4-r7,lr}
- sub sp, 0x28
- adds r4, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, _08052858
- ldrb r0, [r0]
- cmp r0, 0
- beq _080527DE
- movs r0, 0xA
- bl sub_8052740
-_080527DE:
- movs r0, 0x2
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- bl sub_8052210
- movs r5, 0
- str r5, [sp, 0x14]
- str r5, [sp, 0x18]
- ldr r0, _0805285C
- ldr r1, [r0]
- ldr r2, _08052860
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08052844
- adds r2, 0x6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08052844
- cmp r4, 0
- beq _08052844
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldrb r1, [r4, 0x2]
- bl sub_808DE10
- lsls r0, 24
- cmp r0, 0
- beq _08052844
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_808DDD0
- str r0, [sp, 0x14]
- ldr r0, [r0, 0x4]
- str r0, [sp, 0x18]
- add r1, sp, 0x14
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r0, 0x9
- strh r0, [r1, 0xA]
- ldrb r0, [r4, 0x2]
- strb r0, [r1, 0xC]
- adds r0, r1, 0
- strb r2, [r0, 0xD]
- strb r2, [r0, 0xE]
- adds r5, r0, 0
-_08052844:
- movs r1, 0
- str r1, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- str r5, [sp, 0xC]
- cmp r6, 0
- beq _08052868
- ldr r0, _08052864
- b _0805286C
- .align 2, 0
-_08052858: .4byte gUnknown_203B40C
-_0805285C: .4byte gUnknown_203B418
-_08052860: .4byte 0x0001820a
-_08052864: .4byte 0x00000701
-_08052868:
- movs r0, 0x80
- lsls r0, 3
-_0805286C:
- str r0, [sp, 0x10]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8014248
- ldr r0, _080528D0
- ldr r0, [r0]
- ldr r1, _080528D4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- add r4, sp, 0x24
-_08052888:
- bl xxx_draw_string_80144C4
- movs r0, 0x9
- bl sub_803E46C
- adds r0, r4, 0
- bl sub_80144A4
- adds r1, r0, 0
- cmp r1, 0
- bne _08052888
- ldr r0, _080528D0
- ldr r0, [r0]
- ldr r2, _080528D4
- adds r0, r2
- strb r1, [r0]
- ldr r0, [sp, 0x14]
- cmp r0, 0
- beq _080528B2
- bl CloseFile
-_080528B2:
- cmp r6, 0
- beq _080528E4
- bl sub_805E804
- bl sub_8040238
- ldr r0, _080528D8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080528DC
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- b _080528E4
- .align 2, 0
-_080528D0: .4byte gUnknown_203B418
-_080528D4: .4byte 0x0001c05f
-_080528D8: .4byte gUnknown_202EE01
-_080528DC:
- movs r0, 0x1
- movs r1, 0
- bl sub_803EAF0
-_080528E4:
- movs r0, 0x8
- movs r1, 0x9
- bl sub_803E708
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end PrintFieldMessage
-
- thumb_func_start sub_80528F4
-sub_80528F4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522E8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80528F4
-
- thumb_func_start sub_8052910
-sub_8052910:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r6, r0, 0
- bl sub_8085480
- adds r4, r0, 0
- bl sub_808548C
- adds r5, r0, 0
- movs r0, 0
- mov r9, r0
- cmp r4, 0
- beq _0805295C
- ldr r4, [r4, 0x70]
- ldr r2, _08052950
- ldrb r1, [r4, 0xA]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08052954
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _08052958
- bl sub_808DA0C
- movs r2, 0x4
- ldrsh r7, [r4, r2]
- b _08052966
- .align 2, 0
-_08052950: .4byte gUnknown_203B45C
-_08052954: .4byte 0x00008df8
-_08052958: .4byte gUnknown_202DF98
-_0805295C:
- movs r7, 0
- ldr r0, _08052988
- ldr r1, _0805298C
- bl strcpy
-_08052966:
- cmp r5, 0
- beq _0805299C
- ldr r4, [r5, 0x70]
- ldr r2, _08052990
- ldrb r1, [r4, 0xA]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08052994
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _08052998
- bl sub_808DA0C
- movs r2, 0x4
- ldrsh r4, [r4, r2]
- b _080529A6
- .align 2, 0
-_08052988: .4byte gUnknown_202DF98
-_0805298C: .4byte gUnknown_80F7AF8
-_08052990: .4byte gUnknown_203B45C
-_08052994: .4byte 0x00008df8
-_08052998: .4byte gUnknown_202DFE8
-_0805299C:
- movs r4, 0
- ldr r0, _080529C0
- ldr r1, _080529C4
- bl strcpy
-_080529A6:
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- movs r0, 0xD5
- lsls r0, 1
- cmp r1, r0
- beq _080529F0
- cmp r1, r0
- bgt _080529C8
- subs r0, 0x1
- cmp r1, r0
- beq _080529D4
- b _08052A1C
- .align 2, 0
-_080529C0: .4byte gUnknown_202DFE8
-_080529C4: .4byte gUnknown_80F7AF8
-_080529C8:
- ldr r0, _080529D0
- cmp r1, r0
- beq _08052A08
- b _08052A1C
- .align 2, 0
-_080529D0: .4byte 0x000001ab
-_080529D4:
- adds r4, r7, 0
- ldr r0, _080529E4
- ldr r1, _080529E8
- ldr r2, _080529EC
- bl sub_800D158
- b _08052A28
- .align 2, 0
-_080529E4: .4byte gUnknown_202E5D8
-_080529E8: .4byte gUnknown_80F7AFC
-_080529EC: .4byte gUnknown_202DF98
-_080529F0:
- ldr r0, _080529FC
- ldr r1, _08052A00
- ldr r2, _08052A04
- bl sub_800D158
- b _08052A28
- .align 2, 0
-_080529FC: .4byte gUnknown_202E5D8
-_08052A00: .4byte gUnknown_80F7AFC
-_08052A04: .4byte gUnknown_202DFE8
-_08052A08:
- movs r4, 0
- ldr r0, _08052A14
- ldr r1, _08052A18
- bl strcpy
- b _08052A28
- .align 2, 0
-_08052A14: .4byte gUnknown_202E5D8
-_08052A18: .4byte gUnknown_80F7B04
-_08052A1C:
- movs r1, 0x4
- ldrsh r4, [r6, r1]
- ldr r0, _08052A48
- adds r1, r4, 0
- bl sub_808D8E0
-_08052A28:
- ldrh r0, [r6]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08052A3C
- ldr r0, _08052A48
- ldr r1, _08052A4C
- bl strcpy
-_08052A3C:
- movs r2, 0x6
- ldrsh r0, [r6, r2]
- ldr r2, _08052A50
- add r7, sp, 0x10
- b _08052A8E
- .align 2, 0
-_08052A48: .4byte gUnknown_202E5D8
-_08052A4C: .4byte gUnknown_80F7B04
-_08052A50: .4byte gUnknown_203B418
-_08052A54:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- cmp r1, 0x1
- bne _08052A78
- cmp r4, 0x1
- beq _08052A9E
- cmp r4, 0x9B
- beq _08052A9E
- ldr r0, _08052B08
- cmp r4, r0
- beq _08052A9E
- cmp r4, 0x19
- beq _08052A9E
- cmp r4, 0x4
- beq _08052A9E
- subs r0, 0x6
- cmp r4, r0
- beq _08052A9E
-_08052A78:
- movs r0, 0x8C
- lsls r0, 1
- cmp r1, r0
- bne _08052A88
- cmp r4, r1
- beq _08052A9E
- cmp r4, 0x98
- beq _08052A9E
-_08052A88:
- adds r6, 0xC
- movs r1, 0x6
- ldrsh r0, [r6, r1]
-_08052A8E:
- cmp r0, 0
- beq _08052A9E
- cmp r0, 0x7
- bne _08052A54
- cmp r4, 0x7
- beq _08052A9E
- cmp r4, 0x9E
- bne _08052A54
-_08052A9E:
- ldr r1, [r2]
- ldr r2, _08052B0C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08052B14
- adds r2, 0x6
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r8, r0
- cmp r0, 0
- bne _08052B14
- ldrh r0, [r6]
- cmp r0, 0x4
- beq _08052B14
- ldrb r0, [r6, 0x2]
- cmp r0, 0x80
- beq _08052B14
- cmp r4, 0
- beq _08052B14
- ldrb r0, [r6, 0x3]
- bl sub_808CDB0
- adds r5, r0, 0
- mov r9, sp
- adds r0, r4, 0
- bl sub_808DDD0
- str r0, [sp]
- cmp r0, 0
- beq _08052B10
- ldr r0, [r0, 0x4]
- str r0, [sp, 0x4]
- mov r1, r8
- mov r0, r9
- strb r1, [r0, 0xE]
- ldrb r0, [r6, 0x2]
- mov r2, r9
- strb r0, [r2, 0xC]
- ldrb r0, [r5, 0x4]
- strb r0, [r2, 0xD]
- ldrh r0, [r5]
- strh r0, [r2, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _08052B14
- movs r0, 0x2
- strh r0, [r2, 0xA]
- b _08052B14
- .align 2, 0
-_08052B08: .4byte 0x0000011b
-_08052B0C: .4byte 0x0001820a
-_08052B10:
- movs r0, 0
- mov r9, r0
-_08052B14:
- movs r0, 0xA
- bl sub_8052740
- movs r0, 0x2
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- bl sub_8052210
- ldr r0, [r6, 0x8]
- ldr r2, _08052B88
- ldrh r1, [r6]
- lsls r1, 1
- adds r1, r2
- ldrh r3, [r1]
- movs r1, 0
- mov r2, r9
- bl sub_80141B4
-_08052B3C:
- bl xxx_draw_string_80144C4
- movs r0, 0x9
- bl sub_803E46C
- adds r0, r7, 0
- bl sub_80144A4
- cmp r0, 0
- bne _08052B3C
- mov r1, r9
- cmp r1, 0
- beq _08052B5C
- ldr r0, [r1]
- bl CloseFile
-_08052B5C:
- ldrh r0, [r6]
- cmp r0, 0x1
- beq _08052B72
- cmp r0, 0x3
- beq _08052B72
- bl sub_8040238
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
-_08052B72:
- movs r0, 0x8
- movs r1, 0x9
- bl sub_803E708
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08052B88: .4byte gUnknown_80F7AEA
- thumb_func_end sub_8052910
-
- thumb_func_start sub_8052B8C
-sub_8052B8C:
- push {r4-r7,lr}
- sub sp, 0x14
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- movs r0, 0xA
- bl sub_8052740
- movs r0, 0x2
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- bl sub_8052210
- movs r5, 0
- str r5, [sp]
- str r5, [sp, 0x4]
- ldr r0, _08052C14
- ldr r1, [r0]
- ldr r2, _08052C18
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08052C02
- adds r2, 0x6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08052C02
- cmp r4, 0
- beq _08052C02
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldrb r1, [r4, 0x2]
- bl sub_808DE10
- lsls r0, 24
- cmp r0, 0
- beq _08052C02
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_808DDD0
- str r0, [sp]
- ldr r0, [r0, 0x4]
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r0, 0x9
- strh r0, [r1, 0xA]
- ldrb r0, [r4, 0x2]
- strb r0, [r1, 0xC]
- mov r0, sp
- strb r2, [r0, 0xD]
- strb r2, [r0, 0xE]
- mov r5, sp
-_08052C02:
- cmp r7, 0x1
- bne _08052C1C
- movs r2, 0xC0
- lsls r2, 2
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80141E0
- b _08052C28
- .align 2, 0
-_08052C14: .4byte gUnknown_203B418
-_08052C18: .4byte 0x0001820a
-_08052C1C:
- movs r2, 0xC0
- lsls r2, 2
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8014214
-_08052C28:
- add r4, sp, 0x10
-_08052C2A:
- bl xxx_draw_string_80144C4
- movs r0, 0x9
- bl sub_803E46C
- adds r0, r4, 0
- bl sub_80144A4
- cmp r0, 0
- bne _08052C2A
- ldr r0, [sp]
- cmp r0, 0
- beq _08052C48
- bl CloseFile
-_08052C48:
- bl sub_8040238
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- ldr r0, [sp, 0x10]
- cmp r0, 0x1
- beq _08052C5E
- movs r0, 0
- b _08052C60
-_08052C5E:
- movs r0, 0x1
-_08052C60:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8052B8C
-
- thumb_func_start sub_8052C68
-sub_8052C68:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r2
- lsls r3, 16
- lsrs r6, r3, 16
- movs r0, 0xA
- bl sub_8052740
- movs r0, 0x2
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- bl sub_8052210
- movs r5, 0
- str r5, [sp, 0x14]
- str r5, [sp, 0x18]
- ldr r0, _08052D3C
- ldr r1, [r0]
- ldr r2, _08052D40
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08052CE6
- adds r2, 0x6
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08052CE6
- cmp r4, 0
- beq _08052CE6
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldrb r1, [r4, 0x2]
- bl sub_808DE10
- lsls r0, 24
- cmp r0, 0
- beq _08052CE6
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_808DDD0
- str r0, [sp, 0x14]
- ldr r0, [r0, 0x4]
- str r0, [sp, 0x18]
- add r1, sp, 0x14
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- movs r0, 0x9
- strh r0, [r1, 0xA]
- ldrb r0, [r4, 0x2]
- strb r0, [r1, 0xC]
- adds r0, r1, 0
- strb r2, [r0, 0xD]
- strb r2, [r0, 0xE]
- adds r5, r0, 0
-_08052CE6:
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- str r1, [sp]
- movs r0, 0x3
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- str r5, [sp, 0xC]
- str r6, [sp, 0x10]
- adds r0, r7, 0
- mov r3, r8
- bl sub_8014248
- add r4, sp, 0x24
-_08052D02:
- bl xxx_draw_string_80144C4
- movs r0, 0x9
- bl sub_803E46C
- adds r0, r4, 0
- bl sub_80144A4
- cmp r0, 0
- bne _08052D02
- ldr r0, [sp, 0x14]
- cmp r0, 0
- beq _08052D20
- bl CloseFile
-_08052D20:
- bl sub_8040238
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- ldr r0, [sp, 0x24]
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08052D3C: .4byte gUnknown_203B418
-_08052D40: .4byte 0x0001820a
- thumb_func_end sub_8052C68
-
- thumb_func_start sub_8052D44
-sub_8052D44:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _08052D70
- ldr r0, _08052D6C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, [r4, 0x70]
- ldrh r0, [r0, 0x4]
- strh r0, [r7]
- b _08052D7A
- .align 2, 0
-_08052D6C: .4byte gUnknown_202DF98
-_08052D70:
- ldr r0, _08052D9C
- ldr r1, _08052DA0
- bl strcpy
- strh r5, [r7]
-_08052D7A:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08052DA8
- ldr r0, _08052DA4
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, [r6, 0x70]
- ldrh r0, [r0, 0x4]
- strh r0, [r7, 0x2]
- b _08052DB2
- .align 2, 0
-_08052D9C: .4byte gUnknown_202DF98
-_08052DA0: .4byte gUnknown_80F7AF8
-_08052DA4: .4byte gUnknown_202DFE8
-_08052DA8:
- ldr r0, _08052DB8
- ldr r1, _08052DBC
- bl strcpy
- strh r4, [r7, 0x2]
-_08052DB2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08052DB8: .4byte gUnknown_202DFE8
-_08052DBC: .4byte gUnknown_80F7AF8
- thumb_func_end sub_8052D44
-
- thumb_func_start sub_8052DC0
-sub_8052DC0:
- push {lr}
- bl sub_8045888
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8052DC0
-
- thumb_func_start sub_8052DD0
-sub_8052DD0:
- push {r4-r6,lr}
- bl sub_8083600
- adds r5, r0, 0
- ldr r6, _08052E68
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- beq _08052E46
- ldr r6, _08052E6C
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- beq _08052E46
- ldr r6, _08052E70
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- beq _08052E46
- ldr r0, _08052E74
- ldr r0, [r0]
- ldr r1, _08052E78
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08052EB6
- ldr r6, _08052E7C
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- beq _08052E46
- ldr r6, _08052E80
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- beq _08052E46
- ldr r6, _08052E84
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- bne _08052E88
-_08052E46:
- adds r0, r4, 0
- bl sub_8098170
- bl sub_8083E28
- ldr r4, [r6, 0x4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl PrintFieldMessage
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522E8
- b _08052EB6
- .align 2, 0
-_08052E68: .4byte gUnknown_80FF020
-_08052E6C: .4byte gUnknown_80FF080
-_08052E70: .4byte gUnknown_80FF0D8
-_08052E74: .4byte gUnknown_203B418
-_08052E78: .4byte 0x00000644
-_08052E7C: .4byte gUnknown_80FF13C
-_08052E80: .4byte gUnknown_80FF1B4
-_08052E84: .4byte gUnknown_80FF22C
-_08052E88:
- ldr r6, _08052EBC
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- bne _08052EB6
- adds r0, r4, 0
- bl sub_8098170
- bl sub_8083E28
- ldr r4, [r6, 0x4]
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl PrintFieldMessage
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522E8
-_08052EB6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08052EBC: .4byte gUnknown_80FF290
- thumb_func_end sub_8052DD0
-
- thumb_func_start sub_8052EC0
-sub_8052EC0:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _08052EE0
- ldr r5, _08052EDC
- b _08052F22
- .align 2, 0
-_08052EDC: .4byte gUnknown_80FF310
-_08052EE0:
- cmp r4, 0x37
- bne _08052EEC
- ldr r5, _08052EE8
- b _08052F22
- .align 2, 0
-_08052EE8: .4byte gUnknown_80FF394
-_08052EEC:
- cmp r4, 0x43
- bne _08052EF8
- ldr r5, _08052EF4
- b _08052F22
- .align 2, 0
-_08052EF4: .4byte gUnknown_80FF3E8
-_08052EF8:
- cmp r4, 0x48
- bne _08052F04
- ldr r5, _08052F00
- b _08052F22
- .align 2, 0
-_08052F00: .4byte gUnknown_80FF440
-_08052F04:
- cmp r4, 0x7
- bne _08052F10
- ldr r5, _08052F0C
- b _08052F22
- .align 2, 0
-_08052F0C: .4byte gUnknown_80FF4A0
-_08052F10:
- cmp r4, 0x42
- bne _08052F1C
- ldr r5, _08052F18
- b _08052F22
- .align 2, 0
-_08052F18: .4byte gUnknown_80FF518
-_08052F1C:
- cmp r4, 0x45
- bne _08052F4C
- ldr r5, _08052F48
-_08052F22:
- ldr r4, [r5]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- bne _08052F74
- adds r0, r4, 0
- bl sub_8098170
- bl sub_8083E28
- ldr r1, [r5, 0x4]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08052F74
- .align 2, 0
-_08052F48: .4byte gUnknown_80FF57C
-_08052F4C:
- cmp r5, 0x69
- bne _08052F74
- ldr r5, _08052F7C
- ldr r4, [r5]
- adds r0, r4, 0
- bl sub_80981A0
- lsls r0, 24
- cmp r0, 0
- bne _08052F74
- adds r0, r4, 0
- bl sub_8098170
- bl sub_8083E28
- ldr r1, [r5, 0x4]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08052F74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08052F7C: .4byte gUnknown_80FF5E8
- thumb_func_end sub_8052EC0
-
- thumb_func_start sub_8052F80
-sub_8052F80:
- push {lr}
- ldr r0, _08052F9C
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _08052FA4
- ldr r0, _08052FA0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08052FB0
- .align 2, 0
-_08052F9C: .4byte gUnknown_203B418
-_08052FA0: .4byte gUnknown_80FF6F8
-_08052FA4:
- ldr r0, _08052FB4
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08052FB0:
- pop {r0}
- bx r0
- .align 2, 0
-_08052FB4: .4byte gUnknown_80FF6A4
- thumb_func_end sub_8052F80
-
- thumb_func_start sub_8052FB8
-sub_8052FB8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r3, r0, 0
- movs r0, 0
- mov r8, r0
- ldr r0, _08053030
- movs r2, 0
- adds r0, 0x2
- movs r1, 0x1C
-_08052FD2:
- strh r2, [r0]
- adds r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _08052FD2
- movs r0, 0
- str r0, [sp]
- movs r1, 0x2
- str r1, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r0, 0x30
- str r0, [sp, 0x10]
- adds r0, r3, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8014248
- movs r1, 0
- mov r9, r1
- ldr r7, _08053034
- ldr r2, _08053038
- mov r10, r2
-_08053002:
- mov r3, r8
- cmp r3, 0x3D
- bgt _08053040
- movs r4, 0x1
- add r8, r4
- movs r5, 0
- mov r1, r8
- lsrs r0, r1, 31
- adds r6, r1, r0
- ldr r4, _0805303C
-_08053016:
- adds r0, r5, 0
- adds r0, 0xF0
- adds r1, r4, 0
- asrs r2, r6, 1
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x7
- ble _08053016
- b _080530CA
- .align 2, 0
-_08053030: .4byte gUnknown_202B038
-_08053034: .4byte gUnknown_202F1F0
-_08053038: .4byte 0x0000f3ff
-_0805303C: .4byte gUnknown_202D038
-_08053040:
- movs r2, 0x1
- add r9, r2
- movs r0, 0x8
- mov r3, r9
- ands r0, r3
- cmp r0, 0
- beq _080530BE
- ldrh r0, [r7]
- ldr r4, _080530D8
- adds r1, r4, 0
- ands r0, r1
- ldr r2, _080530DC
- adds r1, r2, 0
- ands r0, r1
- mov r3, r10
- ands r0, r3
- ldr r4, _080530E0
- adds r1, r4, 0
- ands r0, r1
- ldr r2, _080530E4
- adds r1, r2, 0
- ands r0, r1
- ldr r3, _080530E8
- ands r0, r3
- movs r4, 0x80
- lsls r4, 7
- orrs r0, r4
- strh r0, [r7]
- movs r2, 0xFC
- lsls r2, 2
- ldrh r0, [r7, 0x4]
- movs r3, 0xFC
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- movs r4, 0
- orrs r0, r4
- mov r1, r10
- ands r0, r1
- movs r2, 0xF
- movs r3, 0xF0
- lsls r3, 8
- ldr r4, _080530EC
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r3
- strh r0, [r7, 0x4]
- movs r1, 0xF0
- lsls r1, 3
- ldrh r0, [r7, 0x6]
- ands r2, r0
- orrs r2, r1
- strh r2, [r7, 0x6]
- movs r0, 0x70
- strh r0, [r7, 0x2]
- adds r0, r7, 0
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080530BE:
- ldr r0, _080530F0
- ldrh r1, [r0, 0x2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080530F4
-_080530CA:
- bl xxx_draw_string_80144C4
- movs r0, 0x9
- bl sub_803E46C
- b _08053002
- .align 2, 0
-_080530D8: .4byte 0x0000feff
-_080530DC: .4byte 0x0000fdff
-_080530E0: .4byte 0x0000efff
-_080530E4: .4byte 0x0000dfff
-_080530E8: .4byte 0x00003fff
-_080530EC: .4byte 0x00000fff
-_080530F0: .4byte gUnknown_20255F0
-_080530F4:
- mov r0, r8
- cmp r0, 0
- blt _08053134
- ldr r1, _08053178
- mov r9, r1
-_080530FE:
- movs r5, 0
- mov r7, r8
- subs r7, 0x1
- mov r2, r8
- lsrs r0, r2, 31
- adds r6, r2, r0
- mov r4, r9
-_0805310C:
- adds r0, r5, 0
- adds r0, 0xF0
- adds r1, r4, 0
- asrs r2, r6, 1
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x7
- ble _0805310C
- bl xxx_draw_string_80144C4
- movs r0, 0x9
- bl sub_803E46C
- mov r8, r7
- mov r3, r8
- cmp r3, 0
- bge _080530FE
-_08053134:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0x9
- bl sub_803E46C
- bl sub_8040238
- movs r5, 0
- ldr r4, _08053178
-_0805314C:
- adds r0, r5, 0
- adds r0, 0xF0
- adds r1, r4, 0
- bl SetBGPaletteBufferColorArray
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x7
- ble _0805314C
- movs r0, 0x8
- movs r1, 0x9
- bl sub_803E708
- 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
-_08053178: .4byte gUnknown_202D038
- thumb_func_end sub_8052FB8
-
- thumb_func_start sub_805317C
-sub_805317C:
- push {lr}
- ldr r0, _08053198
- ldr r1, [r0]
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0805319C
- subs r2, 0x34
- adds r0, r1, r2
- ldrb r0, [r0]
- b _0805319E
- .align 2, 0
-_08053198: .4byte gUnknown_203B418
-_0805319C:
- movs r0, 0x3F
-_0805319E:
- bl sub_809009C
- pop {r1}
- bx r1
- thumb_func_end sub_805317C
-
- thumb_func_start sub_80531A8
-sub_80531A8:
- push {r4-r6,lr}
- ldr r2, _080531F0
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1, 0x16]
- movs r0, 0x1
- strb r0, [r1, 0xB]
- movs r4, 0
- movs r3, 0
- ldr r5, _080531F4
-_080531BC:
- ldr r0, [r2]
- lsls r1, r4, 6
- adds r0, r1
- adds r0, r5
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, r1
- ldr r6, _080531F8
- adds r0, r6
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, r1
- adds r6, 0x1
- adds r0, r6
- strb r3, [r0]
- ldr r0, [r2]
- adds r0, r1
- ldr r1, _080531FC
- adds r0, r1
- strb r3, [r0]
- adds r4, 0x1
- cmp r4, 0x13
- ble _080531BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080531F0: .4byte gUnknown_203B418
-_080531F4: .4byte 0x0001c073
-_080531F8: .4byte 0x0001c070
-_080531FC: .4byte 0x0001c072
- thumb_func_end sub_80531A8
-
- thumb_func_start sub_8053200
-sub_8053200:
- ldr r0, _0805320C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xB]
- bx lr
- .align 2, 0
-_0805320C: .4byte gUnknown_203B418
- thumb_func_end sub_8053200
-
- thumb_func_start sub_8053210
-sub_8053210:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, _08053264
- mov r12, r0
- ldr r3, [r0]
- movs r0, 0x16
- ldrsh r4, [r3, r0]
- lsls r4, 6
- ldr r5, _08053268
- adds r0, r4, r5
- adds r0, r3, r0
- adds r7, r0, 0x3
- adds r0, 0x3E
- mov r8, r0
- adds r3, r4
- adds r3, r5
- movs r0, 0x1
- strb r0, [r3]
- mov r4, r12
- ldr r3, [r4]
- movs r4, 0x16
- ldrsh r0, [r3, r4]
- lsls r0, 6
- adds r3, r0
- ldr r0, _0805326C
- adds r3, r0
- strb r1, [r3]
- mov r3, r12
- ldr r1, [r3]
- movs r4, 0x16
- ldrsh r0, [r1, r4]
- lsls r0, 6
- adds r1, r0
- ldr r0, _08053270
- adds r1, r0
- strb r2, [r1]
- ldrb r2, [r6]
- adds r0, r2, 0
- mov r1, r12
- b _08053282
- .align 2, 0
-_08053264: .4byte gUnknown_203B418
-_08053268: .4byte 0x0001c070
-_0805326C: .4byte 0x0001c071
-_08053270: .4byte 0x0001c072
-_08053274:
- cmp r7, r8
- bcs _0805327C
- strb r2, [r7]
- adds r7, 0x1
-_0805327C:
- adds r6, 0x1
- ldrb r2, [r6]
- adds r0, r2, 0
-_08053282:
- cmp r0, 0
- beq _0805328A
- cmp r0, 0xD
- bne _08053274
-_0805328A:
- movs r0, 0
- strb r0, [r7]
- ldr r2, [r1]
- ldrh r0, [r2, 0x16]
- adds r0, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080532A2
- movs r0, 0
- strh r0, [r2, 0x16]
-_080532A2:
- ldr r1, [r1]
- movs r0, 0x1
- strb r0, [r1, 0xB]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8053210
-
- thumb_func_start sub_80532B4
-sub_80532B4:
- push {r4-r6,lr}
- sub sp, 0xC
- mov r0, sp
- bl sub_801317C
- movs r0, 0x9
- movs r1, 0
- bl sub_803EAF0
-_080532C6:
- movs r0, 0xD
- bl sub_803E46C
- movs r0, 0
- bl sub_8008D8C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080532C6
- ldr r0, _08053374
- str r1, [r0]
- ldr r4, _08053378
- strb r1, [r4]
- bl sub_80533A4
- adds r6, r4, 0
-_080532E8:
- movs r5, 0
- strb r5, [r6]
- mov r0, sp
- movs r1, 0
- bl nullsub_34
- movs r0, 0
- ldr r1, _0805337C
- bl sub_8014140
- adds r4, r0, 0
- bl sub_8053430
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl sub_8053540
- lsls r0, 24
- cmp r0, 0
- beq _0805331A
- movs r5, 0x1
-_0805331A:
- cmp r5, 0
- bne _08053324
- movs r0, 0xD
- bl sub_803E46C
-_08053324:
- ldrb r1, [r6]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0805333A
- movs r0, 0x1
- movs r1, 0x8
- negs r1, r1
- bl sub_805363C
-_0805333A:
- ldrb r1, [r6]
- movs r4, 0x2
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0805334E
- movs r0, 0
- movs r1, 0x72
- bl sub_805363C
-_0805334E:
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- bne _080532E8
- ldr r0, _08053380
- ldrh r1, [r0, 0x2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _0805336C
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _08053384
-_0805336C:
- bl sub_8083D30
- b _08053390
- .align 2, 0
-_08053374: .4byte gUnknown_202F1F8
-_08053378: .4byte gUnknown_202F1FC
-_0805337C: .4byte gUnknown_8106990
-_08053380: .4byte gUnknown_20255F0
-_08053384:
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080532E8
- bl sub_8083D08
-_08053390:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x1
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80532B4
-
- thumb_func_start sub_80533A4
-sub_80533A4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r5, _08053428
- ldr r0, [r5]
- movs r1, 0x16
- ldrsh r4, [r0, r1]
- movs r6, 0x10
- subs r4, 0x8
- cmp r4, 0
- bge _080533BE
- adds r4, 0x14
-_080533BE:
- movs r0, 0
- bl sub_80073B8
- mov r8, r5
- movs r7, 0x7
-_080533C8:
- lsls r0, r4, 6
- ldr r2, _0805342C
- adds r0, r2
- mov r2, r8
- ldr r1, [r2]
- adds r5, r1, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _08053402
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _080533F0
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r6, 0
- movs r3, 0xE0
- bl sub_80078A4
-_080533F0:
- adds r1, r6, 0x3
- adds r2, r5, 0x3
- movs r0, 0xD
- str r0, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r6, 0xE
-_08053402:
- adds r4, 0x1
- cmp r4, 0x13
- ble _0805340A
- movs r4, 0
-_0805340A:
- subs r7, 0x1
- cmp r7, 0
- bge _080533C8
- movs r0, 0
- bl sub_80073E0
- movs r0, 0
- bl sub_8007334
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08053428: .4byte gUnknown_203B418
-_0805342C: .4byte 0x0001c070
- thumb_func_end sub_80533A4
-
- thumb_func_start sub_8053430
-sub_8053430:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r3, _08053454
- ldr r0, [r3]
- movs r2, 0x16
- ldrsh r1, [r0, r2]
- ldr r2, _08053458
- ldr r0, [r2]
- adds r1, r0
- movs r6, 0x2
- subs r1, 0x9
- cmp r1, 0
- bge _0805345E
-_0805344C:
- adds r1, 0x14
- cmp r1, 0
- blt _0805344C
- b _0805345E
- .align 2, 0
-_08053454: .4byte gUnknown_203B418
-_08053458: .4byte gUnknown_202F1F8
-_0805345C:
- subs r1, 0x14
-_0805345E:
- cmp r1, 0x13
- bgt _0805345C
- ldr r0, [r3]
- lsls r1, 6
- adds r0, r1
- ldr r3, _0805349C
- adds r0, r3
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0
- beq _08053498
- ldr r1, [r2]
- movs r0, 0xC
- negs r0, r0
- cmp r1, r0
- ble _08053498
- ldr r2, _080534A0
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080534A4
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080534A8
- cmp r5, 0x1
- beq _080534A8
-_08053498:
- movs r0, 0
- b _08053528
- .align 2, 0
-_0805349C: .4byte 0x0001c070
-_080534A0: .4byte gUnknown_202F1FC
-_080534A4: .4byte gUnknown_20255F0
-_080534A8:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08053530
- ldr r2, _08053534
- adds r1, r4, r2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080534FA
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xD0
- bl sub_80087EC
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _080534EA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r6, 0
- movs r3, 0xE0
- bl sub_80078A4
-_080534EA:
- adds r1, r6, 0x3
- adds r2, r4, 0x3
- movs r0, 0xD
- str r0, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
-_080534FA:
- movs r0, 0
- bl sub_80073E0
- movs r0, 0xD
- bl sub_803E46C
- ldr r5, _08053538
- movs r4, 0x6
-_0805350A:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0xD
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0805350A
- ldr r1, _0805353C
- ldr r0, [r1]
- subs r0, 0x1
- str r0, [r1]
- movs r0, 0x1
-_08053528:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08053530: .4byte gUnknown_203B418
-_08053534: .4byte 0x0001c070
-_08053538: .4byte gUnknown_203B084
-_0805353C: .4byte gUnknown_202F1F8
- thumb_func_end sub_8053430
-
- thumb_func_start sub_8053540
-sub_8053540:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r3, r0, 0
- ldr r0, _08053564
- ldr r0, [r0]
- movs r1, 0x16
- ldrsh r2, [r0, r1]
- ldr r1, _08053568
- ldr r0, [r1]
- adds r4, r2, r0
- movs r5, 0x80
- cmp r4, 0
- bge _0805356E
-_0805355A:
- adds r4, 0x14
- cmp r4, 0
- blt _0805355A
- b _0805356E
- .align 2, 0
-_08053564: .4byte gUnknown_203B418
-_08053568: .4byte gUnknown_202F1F8
-_0805356C:
- subs r4, 0x14
-_0805356E:
- cmp r4, 0x13
- bgt _0805356C
- ldr r0, [r1]
- cmp r0, 0
- bge _08053592
- ldr r2, _08053598
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0805359C
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080535A0
- cmp r3, 0x2
- beq _080535A0
-_08053592:
- movs r0, 0
- b _08053622
- .align 2, 0
-_08053598: .4byte gUnknown_202F1FC
-_0805359C: .4byte gUnknown_20255F0
-_080535A0:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- bl sub_80073B8
- ldr r1, _0805362C
- lsls r0, r4, 6
- ldr r2, _08053630
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080535F4
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0x68
- bl sub_80087EC
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _080535E4
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0xE0
- bl sub_80078A4
-_080535E4:
- adds r1, r5, 0x3
- adds r2, r4, 0x3
- movs r0, 0xD
- str r0, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
-_080535F4:
- movs r0, 0
- bl sub_80073E0
- movs r0, 0xD
- bl sub_803E46C
- ldr r5, _08053634
- movs r4, 0x6
-_08053604:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0xD
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08053604
- ldr r1, _08053638
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- movs r0, 0x1
-_08053622:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805362C: .4byte gUnknown_203B418
-_08053630: .4byte 0x0001c070
-_08053634: .4byte gUnknown_203B080
-_08053638: .4byte gUnknown_202F1F8
- thumb_func_end sub_8053540
-
- thumb_func_start sub_805363C
-sub_805363C:
- push {r4-r7,lr}
- mov r12, r1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, _080536D0
- ldr r0, _080536D4
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080536C8
- ldr r0, _080536D8
- ldrh r1, [r0]
- ldr r3, _080536DC
- ands r3, r1
- ldr r1, _080536E0
- ands r3, r1
- ldr r1, _080536E4
- ands r3, r1
- ldr r1, _080536E8
- ands r3, r1
- ldr r1, _080536EC
- ands r3, r1
- negs r1, r2
- orrs r1, r2
- asrs r1, 31
- movs r2, 0x80
- lsls r2, 6
- ands r2, r1
- ldrh r1, [r0, 0x2]
- ldr r4, _080536F0
- ands r4, r1
- orrs r4, r2
- movs r5, 0xF
- ldr r2, _080536F4
- movs r6, 0x2
- ldrsh r1, [r7, r6]
- lsls r1, 3
- add r1, r12
- ands r1, r2
- lsls r1, 4
- ldrh r2, [r0, 0x6]
- ands r5, r2
- orrs r5, r1
- strh r5, [r0, 0x6]
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r1, 3
- adds r1, 0x5C
- ldr r2, _080536F8
- ands r1, r2
- movs r2, 0xFE
- lsls r2, 8
- ands r4, r2
- orrs r4, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080536FC
- ands r3, r1
- orrs r3, r2
- strh r3, [r0]
- ands r4, r1
- strh r4, [r0, 0x2]
- ldr r1, _08053700
- strh r1, [r0, 0x4]
- movs r1, 0x7F
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080536C8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080536D0: .4byte gUnknown_2027370
-_080536D4: .4byte gUnknown_202EDCC
-_080536D8: .4byte gUnknown_202F200
-_080536DC: .4byte 0x0000feff
-_080536E0: .4byte 0x0000fdff
-_080536E4: .4byte 0x0000f3ff
-_080536E8: .4byte 0x0000efff
-_080536EC: .4byte 0x0000dfff
-_080536F0: .4byte 0x0000c1ff
-_080536F4: .4byte 0x00000fff
-_080536F8: .4byte 0x000001ff
-_080536FC: .4byte 0x00003fff
-_08053700: .4byte 0x0000f3f0
- thumb_func_end sub_805363C
-
- thumb_func_start sub_8053704
-sub_8053704:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x48
- str r0, [sp, 0x10]
- adds r7, r1, 0
- mov r8, r2
- mov r9, r3
- movs r0, 0
- str r0, [sp, 0x14]
- ldrh r1, [r2, 0x2]
- str r1, [sp, 0x18]
- bl _08055570
-_08053724:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08053734
- bl _0805556A
-_08053734:
- str r7, [sp, 0x1C]
- ldr r2, [r5, 0x70]
- str r2, [sp, 0x24]
- movs r3, 0xAD
- lsls r3, 1
- adds r0, r2, r3
- add r1, sp, 0x20
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r0, [sp, 0x18]
- bl sub_8092CD8
- lsls r0, 24
- cmp r0, 0
- beq _080537B4
- ldr r6, _080537A4
- ldr r0, [r6]
- ldr r2, _080537A8
- adds r0, r2
- ldr r4, [r0]
- cmp r4, 0
- beq _080537B4
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- beq _0805376C
- b _08053A1C
-_0805376C:
- cmp r4, r7
- bne _08053772
- b _08053A1C
-_08053772:
- ldr r1, [r4, 0x70]
- adds r1, 0x98
- ldr r0, [r6]
- ldr r3, _080537AC
- adds r0, r3
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- beq _08053786
- b _08053A1C
-_08053786:
- ldr r0, [sp, 0x24]
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0
- beq _08053792
- b _08053A1C
-_08053792:
- ldr r0, _080537B0
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r5, r4, 0
- b _08053A1C
- .align 2, 0
-_080537A4: .4byte gUnknown_203B418
-_080537A8: .4byte 0x00017b30
-_080537AC: .4byte 0x00017b3c
-_080537B0: .4byte gUnknown_80FCD28
-_080537B4:
- adds r0, r7, 0
- mov r1, r8
- bl sub_8071A1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08053854
- ldr r2, _08053844
- ldr r0, [r2]
- ldr r1, _08053848
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _08053854
- adds r4, r0, 0
- str r2, [sp, 0x44]
- bl sub_80450F8
- ldr r2, [sp, 0x44]
- cmp r0, 0x1
- beq _080537E2
- b _08053A1C
-_080537E2:
- ldr r6, [r4, 0x70]
- adds r1, r6, 0
- adds r1, 0x98
- ldr r0, [r2]
- ldr r2, _0805384C
- adds r0, r2
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- beq _080537F8
- b _08053A1C
-_080537F8:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0805380E
- b _08053A1C
-_0805380E:
- ldr r0, [sp, 0x24]
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0
- bne _08053822
- adds r0, r6, 0
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0
- beq _08053828
-_08053822:
- cmp r5, r4
- beq _08053828
- b _08053A1C
-_08053828:
- adds r0, r4, 0
- bl sub_8042930
- ldr r0, _08053850
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r5, r4, 0
- movs r3, 0x1
- str r3, [sp, 0x2C]
- b _08053A1C
- .align 2, 0
-_08053844: .4byte gUnknown_203B418
-_08053848: .4byte 0x00017b2c
-_0805384C: .4byte 0x00017b38
-_08053850: .4byte gUnknown_80FCD0C
-_08053854:
- adds r0, r5, 0
- movs r1, 0x2C
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _08053864
- b _08053A1C
-_08053864:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- beq _08053874
- b _08053A1C
-_08053874:
- adds r0, r7, 0
- mov r1, r8
- movs r2, 0
- bl sub_807CD64
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0
- beq _08053888
- b _08053A1C
-_08053888:
- ldr r1, [sp, 0x24]
- movs r2, 0x9E
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- bl sub_8094450
- ldr r1, _080538C4
- movs r3, 0
- ldrsh r1, [r1, r3]
- cmp r0, r1
- bge _080538A2
- b _08053A1C
-_080538A2:
- ldr r0, [sp, 0x24]
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0
- beq _080538AE
- b _08053A1C
-_080538AE:
- ldr r0, [sp, 0x24]
- adds r0, 0x46
- ldrb r4, [r0]
- mov r10, r4
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _080538CC
- ldr r0, _080538C8
- b _080539FA
- .align 2, 0
-_080538C4: .4byte gUnknown_80F5006
-_080538C8: .4byte gUnknown_80FDD88
-_080538CC:
- movs r0, 0
- str r0, [sp, 0x34]
- movs r2, 0x9E
- lsls r2, 1
- ldr r1, [sp, 0x24]
- adds r2, r1, r2
- str r2, [sp, 0x3C]
-_080538DA:
- movs r3, 0x1
- add r10, r3
- movs r0, 0x7
- mov r1, r10
- ands r1, r0
- mov r10, r1
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- ldr r1, _080539B4
- mov r3, r10
- lsls r2, r3, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r0, [r0, 0x10]
- str r0, [sp, 0x38]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080539DC
- ldr r0, [sp, 0x38]
- bl sub_80450F8
- cmp r0, 0x1
- bne _080539DC
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- mov r1, sp
- adds r1, 0xC
- str r1, [sp, 0x40]
- cmp r0, 0
- beq _0805397C
- movs r6, 0x17
-_08053932:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_806CE68
- movs r0, 0x2
- movs r1, 0x43
- bl sub_803E708
- adds r4, 0x1
- movs r2, 0x7
- ands r4, r2
- subs r6, 0x1
- cmp r6, 0
- bge _08053932
- cmp r4, r10
- beq _0805396C
- movs r6, 0x7
-_08053954:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_806CE68
- movs r0, 0x2
- movs r1, 0x43
- bl sub_803E708
- adds r4, 0x1
- ands r4, r6
- cmp r4, r10
- bne _08053954
-_0805396C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_806CE68
- movs r0, 0x2
- movs r1, 0x43
- bl sub_803E708
-_0805397C:
- ldr r3, [sp, 0x3C]
- ldr r4, [r3]
- ldr r0, _080539B8
- movs r2, 0
- ldrsh r1, [r0, r2]
- add r0, sp, 0x8
- bl sub_80943A0
- ldr r2, [sp, 0x8]
- ldr r0, [sp, 0x40]
- adds r1, r4, 0
- bl sub_80942C0
- ldr r0, [sp, 0xC]
- ldr r3, [sp, 0x3C]
- str r0, [r3]
- mov r0, r8
- ldrh r1, [r0, 0x2]
- ldr r0, _080539BC
- cmp r1, r0
- bne _080539C4
- ldr r0, _080539C0
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080539D0
- .align 2, 0
-_080539B4: .4byte gUnknown_80F4448
-_080539B8: .4byte gUnknown_80F5006
-_080539BC: .4byte 0x00000163
-_080539C0: .4byte gUnknown_80FDDA8
-_080539C4:
- ldr r0, _080539D8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080539D0:
- str r5, [sp, 0x20]
- ldr r5, [sp, 0x38]
- b _080539E8
- .align 2, 0
-_080539D8: .4byte gUnknown_80FDD20
-_080539DC:
- ldr r1, [sp, 0x34]
- adds r1, 0x1
- str r1, [sp, 0x34]
- cmp r1, 0x7
- bgt _080539E8
- b _080538DA
-_080539E8:
- ldr r2, [sp, 0x34]
- cmp r2, 0x8
- bne _08053A1C
- mov r3, r8
- ldrh r1, [r3, 0x2]
- ldr r0, _08053A08
- cmp r1, r0
- bne _08053A10
- ldr r0, _08053A0C
-_080539FA:
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08053A1C
- .align 2, 0
-_08053A08: .4byte 0x00000163
-_08053A0C: .4byte gUnknown_80FDDAC
-_08053A10:
- ldr r0, _08053AD8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08053A1C:
- ldr r1, _08053ADC
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r1, _08053AE0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r0, [r5, 0x70]
- str r0, [sp, 0x24]
- movs r6, 0xAD
- lsls r6, 1
- adds r1, r0, r6
- movs r0, 0
- strb r0, [r1]
- ldr r1, [sp, 0x24]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08053A4C
- movs r2, 0xB6
- lsls r2, 1
- adds r1, r2
- ldr r0, [r7, 0x4]
- str r0, [r1]
-_08053A4C:
- adds r0, r5, 0
- bl sub_806A1E8
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_807A96C
- movs r4, 0
- adds r0, r7, 0
- mov r1, r8
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- bne _08053A7E
- mov r3, r8
- ldrh r1, [r3, 0x2]
- adds r0, r7, 0
- bl sub_805755C
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
-_08053A7E:
- ldr r0, [sp, 0x2C]
- cmp r0, 0
- beq _08053A86
- b _08053BAE
-_08053A86:
- ldr r0, [sp, 0x24]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _08053AE8
- ldr r0, [sp, 0x18]
- bl sub_8092CC0
- lsls r0, 24
- cmp r0, 0
- beq _08053B5C
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_8055988
- lsls r0, 24
- cmp r0, 0
- beq _08053B5C
- ldr r0, _08053AE4
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- bl sub_8041B48
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80559DC
- adds r5, r7, 0
- ldr r1, [r7, 0x70]
- str r1, [sp, 0x24]
- adds r0, r1, r6
- add r2, sp, 0x2C
- ldrb r2, [r2]
- strb r2, [r0]
- movs r3, 0x1
- str r3, [sp, 0x30]
- b _08053B5C
- .align 2, 0
-_08053AD8: .4byte gUnknown_80FDD48
-_08053ADC: .4byte gUnknown_202F208
-_08053AE0: .4byte gUnknown_202F20C
-_08053AE4: .4byte gUnknown_80FC52C
-_08053AE8:
- cmp r0, 0xB
- bne _08053B5C
- adds r0, r7, 0
- mov r1, r8
- movs r2, 0
- bl sub_807CD64
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _08053C88
- ldr r2, [sp, 0x18]
- cmp r2, r0
- beq _08053B5C
- adds r0, 0x32
- cmp r2, r0
- beq _08053B5C
- cmp r4, 0
- bne _08053B5C
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _08053B20
- cmp r0, 0x4
- beq _08053B20
- cmp r0, 0x5
- beq _08053B20
- cmp r0, 0x2
- bne _08053B5C
-_08053B20:
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_8055988
- lsls r0, 24
- cmp r0, 0
- beq _08053B5C
- ldr r0, _08053C8C
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- bl sub_8041BA8
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80559DC
- adds r5, r7, 0
- ldr r3, [r7, 0x70]
- str r3, [sp, 0x24]
- movs r0, 0xAD
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- movs r1, 0x1
- str r1, [sp, 0x30]
-_08053B5C:
- ldr r2, [sp, 0x2C]
- cmp r2, 0
- bne _08053BAE
- ldr r0, [sp, 0x24]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08053BAE
- adds r0, r7, 0
- mov r1, r8
- movs r2, 0
- bl sub_807CD64
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 12
- ands r1, r0
- asrs r1, 16
- cmp r1, 0
- beq _08053B90
- cmp r1, 0x4
- beq _08053B90
- cmp r1, 0x5
- beq _08053B90
- cmp r1, 0x2
- bne _08053BAE
-_08053B90:
- cmp r4, 0
- bne _08053BAE
- ldr r0, _08053C90
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08053C94
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r3, 0
- str r3, [sp, 0x28]
-_08053BAE:
- adds r0, r5, 0
- mov r1, r8
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- beq _08053BC0
- movs r0, 0
- str r0, [sp, 0x28]
-_08053BC0:
- ldr r1, [sp, 0x28]
- cmp r1, 0
- beq _08053C4A
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08053BFA
- mov r0, r8
- bl sub_8092D08
- lsls r0, 24
- cmp r0, 0
- beq _08053BFA
- ldr r0, _08053C90
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08053C98
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r2, 0
- str r2, [sp, 0x28]
-_08053BFA:
- ldr r3, [sp, 0x28]
- cmp r3, 0
- beq _08053C4A
- movs r0, 0
- ldr r1, [sp, 0x30]
- cmp r1, 0
- bne _08053C0A
- movs r0, 0x1
-_08053C0A:
- adds r2, r0, 0
- mov r3, r8
- ldrh r1, [r3, 0x2]
- cmp r1, 0x68
- beq _08053C20
- ldr r0, _08053C9C
- cmp r1, r0
- beq _08053C20
- subs r0, 0x4
- cmp r1, r0
- bne _08053C22
-_08053C20:
- movs r2, 0
-_08053C22:
- str r2, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- movs r3, 0
- bl sub_8056B34
- lsls r0, 24
- cmp r0, 0
- bne _08053C3A
- movs r0, 0
- str r0, [sp, 0x28]
-_08053C3A:
- ldr r1, [sp, 0x28]
- cmp r1, 0
- beq _08053C4A
- ldr r2, [sp, 0x2C]
- cmp r2, 0
- beq _08053C4A
- movs r3, 0
- str r3, [sp, 0x28]
-_08053C4A:
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _08053C6A
- movs r0, 0x4
- movs r1, 0x4A
- bl sub_803E708
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- movs r3, 0
- bl sub_8041168
-_08053C6A:
- ldr r0, [sp, 0x28]
- cmp r0, 0
- beq _08053C72
- b _08053D72
-_08053C72:
- ldr r0, [r7, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _08053CA0
- movs r1, 0xAB
- lsls r1, 1
- adds r0, r7, 0
- bl sub_80421C0
- b _08053CA8
- .align 2, 0
-_08053C88: .4byte 0x00000163
-_08053C8C: .4byte gUnknown_80FC558
-_08053C90: .4byte gUnknown_202DFE8
-_08053C94: .4byte gUnknown_80FC574
-_08053C98: .4byte gUnknown_8100524
-_08053C9C: .4byte 0x00000131
-_08053CA0:
- ldr r1, _08053CC4
- adds r0, r7, 0
- bl sub_80421C0
-_08053CA8:
- ldr r0, _08053CC8
- ldr r1, [r5, 0x70]
- movs r2, 0
- bl sub_80708B4
- cmp r7, r5
- bne _08053CD0
- ldr r0, _08053CCC
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _08053D10
- .align 2, 0
-_08053CC4: .4byte 0x00000157
-_08053CC8: .4byte gUnknown_202DFE8
-_08053CCC: .4byte gUnknown_80F9380
-_08053CD0:
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _08053CEC
- ldr r0, _08053CE8
- b _08053CF4
- .align 2, 0
-_08053CE8: .4byte gUnknown_80F9384
-_08053CEC:
- ldr r1, [sp, 0x2C]
- cmp r1, 0
- beq _08053D04
- ldr r0, _08053D00
-_08053CF4:
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08053D10
- .align 2, 0
-_08053D00: .4byte gUnknown_80F93A4
-_08053D04:
- ldr r0, _08053D48
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08053D10:
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _08053D2A
- ldr r0, _08053D4C
- movs r3, 0x1
- negs r3, r3
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_803ED30
-_08053D2A:
- ldr r2, [sp, 0x18]
- cmp r2, 0xCC
- beq _08053D50
- cmp r2, 0xCE
- bne _08053D60
- movs r0, 0x1
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059FC8
- b _08053D60
- .align 2, 0
-_08053D48: .4byte gUnknown_80F9364
-_08053D4C: .4byte 0x0000270f
-_08053D50:
- movs r0, 0x1
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059E54
-_08053D60:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08053D6E
- bl _080555A2
-_08053D6E:
- bl _08055568
-_08053D72:
- ldr r0, [sp, 0x24]
- adds r0, 0xFB
- ldrb r3, [r0]
- mov r10, r3
- ldr r2, [sp, 0x24]
- ldrb r1, [r2, 0x6]
- adds r6, r0, 0
- cmp r1, 0
- beq _08053DA8
- mov r3, r8
- ldrh r1, [r3, 0x2]
- ldr r0, _08053E88
- cmp r1, r0
- beq _08053D9E
- mov r0, r9
- cmp r0, 0
- bne _08053D9E
- mov r1, r10
- cmp r1, 0
- bne _08053D9E
- movs r0, 0x1
- strb r0, [r6]
-_08053D9E:
- ldr r2, [sp, 0x68]
- cmp r2, 0x1
- bne _08053DA8
- movs r0, 0x2
- strb r0, [r6]
-_08053DA8:
- ldr r3, [sp, 0x24]
- movs r0, 0xB2
- lsls r0, 1
- adds r4, r3, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _08053DCE
- adds r0, r5, 0
- movs r1, 0xE3
- bl sub_80717A4
- lsls r0, 24
- cmp r0, 0
- beq _08053DCE
- adds r0, r5, 0x4
- adds r1, r7, 0x4
- bl sub_80983D8
- strb r0, [r4]
-_08053DCE:
- ldr r1, [sp, 0x24]
- ldr r2, _08053E8C
- adds r4, r1, r2
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _08053DF2
- adds r0, r5, 0
- movs r1, 0x19
- bl sub_80717A4
- lsls r0, 24
- cmp r0, 0
- beq _08053DF2
- adds r0, r5, 0x4
- adds r1, r7, 0x4
- bl sub_80983D8
- strb r0, [r4]
-_08053DF2:
- adds r0, r5, 0
- movs r1, 0x39
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08053E4A
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08053E4A
- mov r3, r8
- ldrh r1, [r3, 0x2]
- ldr r0, _08053E88
- cmp r1, r0
- beq _08053E4A
- subs r0, 0x3
- cmp r1, r0
- beq _08053E4A
- mov r0, r9
- cmp r0, 0
- bne _08053E4A
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _08053E4A
- ldrb r1, [r3, 0x1]
- movs r4, 0x10
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08053E42
- adds r0, r7, 0
- bl sub_8042950
-_08053E42:
- mov r1, r8
- ldrb r0, [r1, 0x1]
- orrs r0, r4
- strb r0, [r1, 0x1]
-_08053E4A:
- adds r0, r7, 0
- mov r1, r8
- movs r2, 0
- bl sub_807CD64
- movs r1, 0xF
- ands r1, r0
- cmp r1, 0
- bne _08053E64
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_806F450
-_08053E64:
- ldr r2, [sp, 0x24]
- movs r3, 0xAC
- lsls r3, 1
- adds r0, r2, r3
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0xCE
- lsls r0, 1
- ldr r1, [sp, 0x18]
- cmp r1, r0
- bls _08053E7E
- bl _080554C0
-_08053E7E:
- lsls r0, r1, 2
- ldr r1, _08053E90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08053E88: .4byte 0x00000163
-_08053E8C: .4byte 0x00000165
-_08053E90: .4byte _08053E94
- .align 2, 0
-_08053E94:
- .4byte _08054520
- .4byte _08054DB8
- .4byte _08054C18
- .4byte _08054888
- .4byte _08054878
- .4byte _08054D80
- .4byte _08054D8E
- .4byte _08054FB0
- .4byte _08054FE8
- .4byte _08054508
- .4byte _08054FF6
- .4byte _08055270
- .4byte _08055190
- .4byte _080548C8
- .4byte _080552B6
- .4byte _08054E1A
- .4byte _0805527E
- .4byte _080551F2
- .4byte _08054508
- .4byte _080549C8
- .4byte _08054EEC
- .4byte _08054968
- .4byte _08054EDE
- .4byte _0805528C
- .4byte _08054B18
- .4byte _08055422
- .4byte _08054E1A
- .4byte _08054AB8
- .4byte _08054508
- .4byte _0805529A
- .4byte _080547A8
- .4byte _08055200
- .4byte _0805460A
- .4byte _08054948
- .4byte _08054878
- .4byte _0805519E
- .4byte _080545AE
- .4byte _0805514A
- .4byte _08054CD4
- .4byte _08054508
- .4byte _08055396
- .4byte _08054EB4
- .4byte _08054A68
- .4byte _08054C28
- .4byte _08054A58
- .4byte _08054E8A
- .4byte _080547A8
- .4byte _08054DD4
- .4byte _080553DC
- .4byte _0805504A
- .4byte _080554A0
- .4byte _08054CD4
- .4byte _0805455E
- .4byte _0805456E
- .4byte _080552D2
- .4byte _080549B8
- .4byte _08055004
- .4byte _0805453E
- .4byte _08054F94
- .4byte _08054818
- .4byte _08054D56
- .4byte _08054CE2
- .4byte _080547B8
- .4byte _08054788
- .4byte _08054868
- .4byte _08054868
- .4byte _08054F16
- .4byte _08055112
- .4byte _080545AE
- .4byte _080545FA
- .4byte _08054F94
- .4byte _080546D8
- .4byte _08054F86
- .4byte _08054928
- .4byte _0805459E
- .4byte _08054D64
- .4byte _08054AD8
- .4byte _080550DA
- .4byte _08054E52
- .4byte _08054878
- .4byte _08054AD8
- .4byte _080545AE
- .4byte _080546E8
- .4byte _08054ED0
- .4byte _08054878
- .4byte _080550CC
- .4byte _0805462A
- .4byte _080545AE
- .4byte _08054E28
- .4byte _0805462A
- .4byte _080545AE
- .4byte _08054B78
- .4byte _08055120
- .4byte _080546E8
- .4byte _08054C48
- .4byte _08054CC6
- .4byte _080551D6
- .4byte _08054928
- .4byte _08054FA2
- .4byte _08054A38
- .4byte _08054B58
- .4byte _0805457E
- .4byte _08055090
- .4byte _080547E8
- .4byte _08055238
- .4byte _08054C18
- .4byte _08054A88
- .4byte _080546F8
- .4byte _08054DF0
- .4byte _0805464A
- .4byte _08054A78
- .4byte _08054878
- .4byte _08054B98
- .4byte _0805512E
- .4byte _080546F8
- .4byte _08055414
- .4byte _08054AF8
- .4byte _08054C78
- .4byte _0805452E
- .4byte _0805536C
- .4byte _08054768
- .4byte _080550DA
- .4byte _08054DC6
- .4byte _080550E8
- .4byte _08054858
- .4byte _080545FA
- .4byte _08054508
- .4byte _080547B8
- .4byte _08055104
- .4byte _08054898
- .4byte _08054BF8
- .4byte _080545CA
- .4byte _08054508
- .4byte _08054778
- .4byte _08054BE8
- .4byte _08054B08
- .4byte _08054508
- .4byte _080553B2
- .4byte _08055388
- .4byte _08054798
- .4byte _08054AE8
- .4byte _08054BD8
- .4byte _08054EA6
- .4byte _080545FA
- .4byte _08054768
- .4byte _08054508
- .4byte _08054EA6
- .4byte _08054738
- .4byte _080549F8
- .4byte _08054748
- .4byte _080545DA
- .4byte _08054B48
- .4byte _08054838
- .4byte _08054FBE
- .4byte _08054508
- .4byte _080550F6
- .4byte _08054FDA
- .4byte _0805456E
- .4byte _08054508
- .4byte _08054A48
- .4byte _08055166
- .4byte _08054508
- .4byte _080546C8
- .4byte _08054508
- .4byte _08054B38
- .4byte _08054C38
- .4byte _08054508
- .4byte _08054508
- .4byte _08054508
- .4byte _08054988
- .4byte _08054AC8
- .4byte _080548C8
- .4byte _080550BE
- .4byte _08054C58
- .4byte _08054508
- .4byte _08054508
- .4byte _08054508
- .4byte _080548B8
- .4byte _08054508
- .4byte _08054508
- .4byte _08054508
- .4byte _080549D8
- .4byte _08054508
- .4byte _080553C0
- .4byte _08055468
- .4byte _08055246
- .4byte _08054A28
- .4byte _08054F5C
- .4byte _08054758
- .4byte _08054508
- .4byte _08054508
- .4byte _080548C8
- .4byte _080548E8
- .4byte _08054908
- .4byte _080548A8
- .4byte _080549B8
- .4byte _080548D8
- .4byte _08054EC2
- .4byte _08054BA8
- .4byte _080548D8
- .4byte _0805463A
- .4byte _08054508
- .4byte _08054A28
- .4byte _08054AF8
- .4byte _0805509E
- .4byte _08054FCC
- .4byte _08054D28
- .4byte _080547D8
- .4byte _08054508
- .4byte _08054C98
- .4byte _08054B28
- .4byte _08054508
- .4byte _08054DAA
- .4byte _08054E98
- .4byte _08054CB8
- .4byte _08054A08
- .4byte _08054AC8
- .4byte _08054A98
- .4byte _08054C78
- .4byte _0805461A
- .4byte _080553A4
- .4byte _08054788
- .4byte _08054508
- .4byte _0805520E
- .4byte _08054DC6
- .4byte _08054E7C
- .4byte _08054828
- .4byte _08054D0C
- .4byte _0805521C
- .4byte _08055066
- .4byte _0805456E
- .4byte _08054878
- .4byte _08054C68
- .4byte _08054DE2
- .4byte _080546F8
- .4byte _08054768
- .4byte _08055182
- .4byte _08054D1A
- .4byte _0805458E
- .4byte _0805458E
- .4byte _08054508
- .4byte _08054508
- .4byte _0805458E
- .4byte _08054918
- .4byte _0805469C
- .4byte _08055174
- .4byte _08054938
- .4byte _080545DA
- .4byte _08054508
- .4byte _08055012
- .4byte _08054508
- .4byte _080545AE
- .4byte _08054F24
- .4byte _08054B78
- .4byte _080552E0
- .4byte _080546D8
- .4byte _08055074
- .4byte _08055254
- .4byte _08054A28
- .4byte _08054C08
- .4byte _08054508
- .4byte _08054778
- .4byte _0805456E
- .4byte _0805535E
- .4byte _080547C8
- .4byte _080549A8
- .4byte _08055326
- .4byte _08054AA8
- .4byte _08054958
- .4byte _0805530A
- .4byte _0805457E
- .4byte _08054788
- .4byte _08054D3A
- .4byte _08054EA6
- .4byte _080548C8
- .4byte _08054728
- .4byte _080547F8
- .4byte _08054BB8
- .4byte _0805513C
- .4byte _0805463A
- .4byte _0805463A
- .4byte _080548F8
- .4byte _080552A8
- .4byte _080546B8
- .4byte _08054958
- .4byte _08054508
- .4byte _080553F8
- .4byte _08054CB8
- .4byte _08054978
- .4byte _08054778
- .4byte _08054508
- .4byte _080545FA
- .4byte _0805456E
- .4byte _080551C8
- .4byte _08054B88
- .4byte _08054E0C
- .4byte _08054E60
- .4byte _08054508
- .4byte _08054D72
- .4byte _08054928
- .4byte _08054508
- .4byte _080550B0
- .4byte _08054A18
- .4byte _08054788
- .4byte _08055090
- .4byte _080550B0
- .4byte _08054508
- .4byte _08054DAA
- .4byte _08054508
- .4byte _08054708
- .4byte _080547C8
- .4byte _08054508
- .4byte _08054508
- .4byte _080551E4
- .4byte _08054EFA
- .4byte _080552D2
- .4byte _080551BA
- .4byte _08055074
- .4byte _08054C38
- .4byte _080549E8
- .4byte _08054AD8
- .4byte _08054508
- .4byte _08054508
- .4byte _08054508
- .4byte _08054D48
- .4byte _08054680
- .4byte _08054808
- .4byte _08055492
- .4byte _08055406
- .4byte _08054DFE
- .4byte _0805544C
- .4byte _08054F32
- .4byte _08054664
- .4byte _080549B8
- .4byte _080553EA
- .4byte _08054718
- .4byte _080545AE
- .4byte _08055430
- .4byte _08054BC8
- .4byte _08054E1A
- .4byte _08054CE2
- .4byte _08054848
- .4byte _08054768
- .4byte _08054998
- .4byte _0805457E
- .4byte _0805457E
- .4byte _08054508
- .4byte _08054508
- .4byte _08054E6E
- .4byte _08054FA2
- .4byte _08054508
- .4byte _08054A88
- .4byte _0805454E
- .4byte _08054508
- .4byte _08054AF8
- .4byte _08054512
- .4byte _080554C0
- .4byte _08054CF0
- .4byte _080554C0
- .4byte _080554C0
- .4byte _08054508
- .4byte _0805529A
- .4byte _08054508
- .4byte _08055158
- .4byte _08054CA8
- .4byte _08055318
- .4byte _08054508
- .4byte _08054F24
- .4byte _08054958
- .4byte _08054F5C
- .4byte _080552EE
- .4byte _08054B68
- .4byte _08054CC6
- .4byte _08054F40
- .4byte _08055058
- .4byte _080552FC
- .4byte _08055476
- .4byte _08055484
- .4byte _080553CE
- .4byte _08055326
- .4byte _08055090
- .4byte _08054E44
- .4byte _080548C8
- .4byte _08054F08
- .4byte _0805543E
- .4byte _08055350
- .4byte _08054C88
- .4byte _08054E36
- .4byte _08054F6A
- .4byte _08055020
- .4byte _08055334
- .4byte _080551AC
- .4byte _080545EA
- .4byte _0805545A
- .4byte _08054D9C
- .4byte _08055342
- .4byte _08055082
- .4byte _080554AE
- .4byte _08055262
- .4byte _0805522A
- .4byte _08054F4E
- .4byte _08054CFE
- .4byte _080554C0
- .4byte _0805537A
- .4byte _080554C0
- .4byte _080554C0
- .4byte _080554A0
- .4byte _080552C4
- .4byte _080554C0
- .4byte _08054F78
- .4byte _0805502E
- .4byte _080554C0
- .4byte _0805503C
-_08054508:
- movs r3, 0x80
- lsls r3, 1
- mov r2, r9
- str r2, [sp]
- b _080545B6
-_08054512:
- mov r3, r9
- str r3, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- movs r3, 0x80
- b _080545BC
-_08054520:
- mov r0, r9
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- movs r3, 0
- b _080545BC
-_0805452E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058F04
- bl _080554BA
-_0805453E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058270
- bl _080554BA
-_0805454E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B968
- bl _080554BA
-_0805455E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805816C
- bl _080554BA
-_0805456E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80581D0
- bl _080554BA
-_0805457E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058B3C
- bl _080554BA
-_0805458E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A568
- bl _080554BA
-_0805459E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057E1C
- bl _080554BA
-_080545AE:
- movs r3, 0x80
- lsls r3, 1
- mov r1, r9
- str r1, [sp]
-_080545B6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
-_080545BC:
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- bl _080554C2
-_080545CA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80590D4
- bl _080554BA
-_080545DA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80595EC
- bl _080554BA
-_080545EA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C138
- bl _080554BA
-_080545FA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B17C
- bl _080554BA
-_0805460A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057D20
- bl _080554BA
-_0805461A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A2E8
- bl _080554BA
-_0805462A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805889C
- bl _080554BA
-_0805463A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059E0C
- bl _080554BA
-_0805464A:
- ldr r0, _08054660
- ldr r3, [r0]
- mov r2, r9
- str r2, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_8058C98
- bl _080554BA
- .align 2, 0
-_08054660: .4byte gUnknown_8106A50
-_08054664:
- ldr r0, _0805467C
- ldr r3, [r0]
- mov r0, r9
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_8058C98
- bl _080554BA
- .align 2, 0
-_0805467C: .4byte gUnknown_8106A4C
-_08054680:
- ldr r0, _08054698
- ldr r3, [r0]
- mov r1, r9
- str r1, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_805B3FC
- bl _080554BA
- .align 2, 0
-_08054698: .4byte gUnknown_8106A4C
-_0805469C:
- ldr r0, _080546B4
- ldr r3, [r0]
- mov r2, r9
- str r2, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_805A5E8
- bl _080554BA
- .align 2, 0
-_080546B4: .4byte gUnknown_8106A4C
-_080546B8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B074
- bl _080554BA
-_080546C8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059928
- bl _080554BA
-_080546D8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058580
- bl _080554BA
-_080546E8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058930
- bl _080554BA
-_080546F8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058C00
- bl _080554BA
-_08054708:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B324
- bl _080554BA
-_08054718:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B910
- bl _080554BA
-_08054728:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AE74
- bl _080554BA
-_08054738:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059540
- bl _080554BA
-_08054748:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80595A0
- bl _080554BA
-_08054758:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059D00
- bl _080554BA
-_08054768:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058FBC
- bl _080554BA
-_08054778:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059190
- bl _080554BA
-_08054788:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058430
- bl _080554BA
-_08054798:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059424
- bl _080554BA
-_080547A8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057C88
- bl _080554BA
-_080547B8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80583D8
- bl _080554BA
-_080547C8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AC90
- bl _080554BA
-_080547D8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A0A8
- bl _080554BA
-_080547E8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058B84
- bl _080554BA
-_080547F8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AECC
- bl _080554BA
-_08054808:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B454
- bl _080554BA
-_08054818:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80582C4
- bl _080554BA
-_08054828:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A408
- bl _080554BA
-_08054838:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059714
- bl _080554BA
-_08054848:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B808
- bl _080554BA
-_08054858:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059050
- bl _080554BA
-_08054868:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058478
- bl _080554BA
-_08054878:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80576F8
- bl _080554BA
-_08054888:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80576D0
- bl _080554BA
-_08054898:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059080
- bl _080554BA
-_080548A8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059D98
- bl _080554BA
-_080548B8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059AF8
- bl _080554BA
-_080548C8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059AA8
- bl _080554BA
-_080548D8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059DA4
- bl _080554BA
-_080548E8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059D48
- bl _080554BA
-_080548F8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B028
- bl _080554BA
-_08054908:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059D58
- bl _080554BA
-_08054918:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A588
- bl _080554BA
-_08054928:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058638
- bl _080554BA
-_08054938:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A688
- bl _080554BA
-_08054948:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057D7C
- bl _080554BA
-_08054958:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B0BC
- bl _080554BA
-_08054968:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057A0C
- bl _080554BA
-_08054978:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B164
- bl _080554BA
-_08054988:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059A18
- bl _080554BA
-_08054998:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B884
- bl _080554BA
-_080549A8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805ACD8
- bl _080554BA
-_080549B8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80582D4
- bl _080554BA
-_080549C8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057954
- bl _080554BA
-_080549D8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059B94
- bl _080554BA
-_080549E8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B3B4
- bl _080554BA
-_080549F8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059588
- bl _080554BA
-_08054A08:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A2B0
- bl _080554BA
-_08054A18:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B2FC
- bl _080554BA
-_08054A28:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059CD8
- bl _080554BA
-_08054A38:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058A7C
- bl _080554BA
-_08054A48:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80598CC
- bl _080554BA
-_08054A58:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057F7C
- bl _080554BA
-_08054A68:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057ED0
- bl _080554BA
-_08054A78:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058CEC
- bl _080554BA
-_08054A88:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058BF0
- bl _080554BA
-_08054A98:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A2C8
- bl _080554BA
-_08054AA8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AD34
- bl _080554BA
-_08054AB8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057C68
- bl _080554BA
-_08054AC8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059A2C
- bl _080554BA
-_08054AD8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80586DC
- bl _080554BA
-_08054AE8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805946C
- bl _080554BA
-_08054AF8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058E5C
- bl _080554BA
-_08054B08:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80591E4
- bl _080554BA
-_08054B18:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057BC4
- bl _080554BA
-_08054B28:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A210
- bl _080554BA
-_08054B38:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059988
- bl _080554BA
-_08054B48:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805968C
- bl _080554BA
-_08054B58:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058AAC
- bl _080554BA
-_08054B68:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BE90
- bl _080554BA
-_08054B78:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80588B8
- bl _080554BA
-_08054B88:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B214
- bl _080554BA
-_08054B98:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058D38
- bl _080554BA
-_08054BA8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059DC4
- bl _080554BA
-_08054BB8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AF30
- bl _080554BA
-_08054BC8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B7FC
- bl _080554BA
-_08054BD8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80594E0
- bl _080554BA
-_08054BE8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80591D8
- bl _080554BA
-_08054BF8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80590C8
- bl _080554BA
-_08054C08:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AB48
- bl _080554BA
-_08054C18:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805768C
- bl _080554BA
-_08054C28:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057F24
- bl _080554BA
-_08054C38:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80599EC
- bl _080554BA
-_08054C48:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80589D4
- bl _080554BA
-_08054C58:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059AC4
- bl _080554BA
-_08054C68:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A4D4
- bl _080554BA
-_08054C78:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058EE0
- bl _080554BA
-_08054C88:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BD70
- bl _080554BA
-_08054C98:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A120
- bl _080554BA
-_08054CA8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BA50
- bl _080554BA
-_08054CB8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A2A0
- b _080554BA
-_08054CC6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058A08
- b _080554BA
-_08054CD4:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805815C
- b _080554BA
-_08054CE2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805834C
- b _080554BA
-_08054CF0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805836C
- b _080554BA
-_08054CFE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C3DC
- b _080554BA
-_08054D0C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A450
- b _080554BA
-_08054D1A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A55C
- b _080554BA
-_08054D28:
- movs r0, 0
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059FC8
- b _080554BA
-_08054D3A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AE3C
- b _080554BA
-_08054D48:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B3E0
- b _080554BA
-_08054D56:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80582EC
- b _080554BA
-_08054D64:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805867C
- b _080554BA
-_08054D72:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B2E4
- b _080554BA
-_08054D80:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057720
- b _080554BA
-_08054D8E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057748
- b _080554BA
-_08054D9C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C1BC
- b _080554BA
-_08054DAA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A23C
- b _080554BA
-_08054DB8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057634
- b _080554BA
-_08054DC6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A3DC
- b _080554BA
-_08054DD4:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057FF4
- b _080554BA
-_08054DE2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A4FC
- b _080554BA
-_08054DF0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058C48
- b _080554BA
-_08054DFE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B5F4
- b _080554BA
-_08054E0C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B220
- b _080554BA
-_08054E1A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80578EC
- b _080554BA
-_08054E28:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80588A8
- b _080554BA
-_08054E36:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BD7C
- b _080554BA
-_08054E44:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BC70
- b _080554BA
-_08054E52:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80587E8
- b _080554BA
-_08054E60:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B264
- b _080554BA
-_08054E6E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B8B0
- b _080554BA
-_08054E7C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A3FC
- b _080554BA
-_08054E8A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057FCC
- b _080554BA
-_08054E98:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A258
- b _080554BA
-_08054EA6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059528
- b _080554BA
-_08054EB4:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057E6C
- b _080554BA
-_08054EC2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059DB4
- b _080554BA
-_08054ED0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058838
- b _080554BA
-_08054EDE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057A98
- b _080554BA
-_08054EEC:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057974
- b _080554BA
-_08054EFA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B388
- b _080554BA
-_08054F08:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BC98
- b _080554BA
-_08054F16:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80584C0
- b _080554BA
-_08054F24:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BB74
- b _080554BA
-_08054F32:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B668
- b _080554BA
-_08054F40:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BEA0
- b _080554BA
-_08054F4E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C2AC
- b _080554BA
-_08054F5C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059CF0
- b _080554BA
-_08054F6A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BF34
- b _080554BA
-_08054F78:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C474
- b _080554BA
-_08054F86:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80585CC
- b _080554BA
-_08054F94:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80582AC
- b _080554BA
-_08054FA2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058A54
- b _080554BA
-_08054FB0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805777C
- b _080554BA
-_08054FBE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059790
- b _080554BA
-_08054FCC:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059F38
- b _080554BA
-_08054FDA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805983C
- b _080554BA
-_08054FE8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057788
- b _080554BA
-_08054FF6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057824
- b _080554BA
-_08055004:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805825C
- b _080554BA
-_08055012:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A6C8
- b _080554BA
-_08055020:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BF40
- b _080554BA
-_0805502E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C480
- b _080554BA
-_0805503C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C48C
- b _080554BA
-_0805504A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805810C
- b _080554BA
-_08055058:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BEAC
- b _080554BA
-_08055066:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A4C0
- b _080554BA
-_08055074:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AAD0
- b _080554BA
-_08055082:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C1F8
- b _080554BA
-_08055090:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B314
- b _080554BA
-_0805509E:
- movs r0, 0
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059E54
- b _080554BA
-_080550B0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B2F0
- b _080554BA
-_080550BE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059AB8
- b _080554BA
-_080550CC:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058858
- b _080554BA
-_080550DA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058770
- b _080554BA
-_080550E8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059004
- b _080554BA
-_080550F6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80597F0
- b _080554BA
-_08055104:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059060
- b _080554BA
-_08055112:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058548
- b _080554BA
-_08055120:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80588F4
- b _080554BA
-_0805512E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058D44
- b _080554BA
-_0805513C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AFA4
- b _080554BA
-_0805514A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057E28
- b _080554BA
-_08055158:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BA44
- b _080554BA
-_08055166:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805991C
- b _080554BA
-_08055174:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A640
- b _080554BA
-_08055182:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A508
- b _080554BA
-_08055190:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805785C
- b _080554BA
-_0805519E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057D9C
- b _080554BA
-_080551AC:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C128
- b _080554BA
-_080551BA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B3A8
- b _080554BA
-_080551C8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B208
- b _080554BA
-_080551D6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058A18
- b _080554BA
-_080551E4:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B37C
- b _080554BA
-_080551F2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057948
- b _080554BA
-_08055200:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057CD0
- b _080554BA
-_0805520E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A394
- b _080554BA
-_0805521C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A464
- b _080554BA
-_0805522A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C2A0
- b _080554BA
-_08055238:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058BE0
- b _080554BA
-_08055246:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059C8C
- b _080554BA
-_08055254:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AAE0
- b _080554BA
-_08055262:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C288
- b _080554BA
-_08055270:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805783C
- b _080554BA
-_0805527E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80578FC
- b _080554BA
-_0805528C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057BB4
- b _080554BA
-_0805529A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B9E8
- b _080554BA
-_080552A8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B038
- b _080554BA
-_080552B6:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_80578A4
- b _080554BA
-_080552C4:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C468
- b _080554BA
-_080552D2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058234
- b _080554BA
-_080552E0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A85C
- b _080554BA
-_080552EE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BD88
- b _080554BA
-_080552FC:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BB98
- b _080554BA
-_0805530A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AD54
- b _080554BA
-_08055318:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BB64
- b _080554BA
-_08055326:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AD04
- b _080554BA
-_08055334:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C080
- b _080554BA
-_08055342:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C1E4
- b _080554BA
-_08055350:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BED4
- b _080554BA
-_0805535E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805AB54
- b _080554BA
-_0805536C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058F58
- b _080554BA
-_0805537A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C3F8
- b _080554BA
-_08055388:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059340
- b _080554BA
-_08055396:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057E50
- b _080554BA
-_080553A4:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805A31C
- b _080554BA
-_080553B2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059290
- b _080554BA
-_080553C0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059BAC
- b _080554BA
-_080553CE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BBA8
- b _080554BA
-_080553DC:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805805C
- b _080554BA
-_080553EA:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B734
- b _080554BA
-_080553F8:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B0D0
- b _080554BA
-_08055406:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B53C
- b _080554BA
-_08055414:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8058DBC
- b _080554BA
-_08055422:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8057BEC
- b _080554BA
-_08055430:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B740
- b _080554BA
-_0805543E:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BD64
- b _080554BA
-_0805544C:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B618
- b _080554BA
-_0805545A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C1B0
- b _080554BA
-_08055468:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_8059C80
- b _080554BA
-_08055476:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BEB8
- b _080554BA
-_08055484:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805BEC8
- b _080554BA
-_08055492:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805B464
- b _080554BA
-_080554A0:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C45C
- b _080554BA
-_080554AE:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- bl sub_805C208
-_080554BA:
- lsls r0, 24
- lsrs r4, r0, 24
- b _080554C2
-_080554C0:
- movs r4, 0
-_080554C2:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080555A2
- ldr r0, [sp, 0x20]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080554E6
- ldr r3, [sp, 0x20]
- ldr r0, [r3, 0x70]
- adds r0, 0x46
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_806CE68
-_080554E6:
- cmp r4, 0
- bne _08055510
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055530
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055530
- ldr r1, [sp, 0x24]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08055530
- mov r2, r10
- strb r2, [r6]
- b _08055530
-_08055510:
- mov r0, r8
- bl sub_8057088
- lsls r0, 24
- cmp r0, 0
- beq _08055530
- adds r0, r7, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _08055530
- ldr r1, _08055614
- movs r0, 0x1
- strb r0, [r1]
-_08055530:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055548
- ldr r3, [sp, 0x24]
- movs r0, 0xAC
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_08055548:
- ldr r1, [sp, 0x18]
- cmp r1, 0x89
- beq _08055568
- adds r0, r7, 0
- bl sub_8055DDC
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_8069F9C
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_806A120
-_08055568:
- ldr r7, [sp, 0x1C]
-_0805556A:
- ldr r2, [sp, 0x14]
- adds r2, 0x1
- str r2, [sp, 0x14]
-_08055570:
- ldr r3, [sp, 0x14]
- cmp r3, 0x3F
- bgt _080555A2
- movs r0, 0
- str r0, [sp, 0x20]
- lsls r0, r3, 2
- ldr r1, [sp, 0x10]
- adds r0, r1
- ldr r5, [r0]
- movs r2, 0x1
- str r2, [sp, 0x28]
- movs r3, 0
- str r3, [sp, 0x2C]
- movs r0, 0
- str r0, [sp, 0x30]
- cmp r5, 0
- beq _080555A2
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080555A2
- bl _08053724
-_080555A2:
- bl sub_8044B28
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08055604
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080555D6
- ldr r0, [r7, 0x70]
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080555D6
- strb r4, [r1]
- adds r0, r7, 0
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_080555D6:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055604
- ldr r0, [r7, 0x70]
- ldr r3, _08055618
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- beq _08055604
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0805561C
- ldr r2, [r1]
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r7, 0
- adds r1, r7, 0
- movs r3, 0x2
- bl sub_8076E20
-_08055604:
- add sp, 0x48
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08055614: .4byte gUnknown_202F222
-_08055618: .4byte 0x00000155
-_0805561C: .4byte gUnknown_8106A50
- thumb_func_end sub_8053704
-
- thumb_func_start sub_8055620
-sub_8055620:
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08055636
- movs r0, 0x1
-_08055636:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8055620
-
- thumb_func_start sub_8055640
-sub_8055640:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- adds r6, r0, 0
- mov r10, r1
- adds r5, r2, 0
- mov r9, r3
- ldr r7, [sp, 0x44]
- adds r1, r5, 0
- bl sub_8071A1C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8071A44
- mov r8, r0
- adds r0, r5, 0
- bl sub_8092C24
- str r0, [sp]
- add r0, sp, 0x14
- str r0, [sp, 0x4]
- mov r0, r9
- str r0, [sp, 0x8]
- ldrh r0, [r5, 0x2]
- str r0, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- adds r0, r6, 0
- mov r1, r10
- adds r2, r4, 0
- mov r3, r8
- bl sub_806EAF4
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- adds r0, r6, 0
- mov r1, r10
- adds r2, r5, 0
- add r3, sp, 0x14
- bl sub_8055728
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8055640
-
- thumb_func_start sub_80556BC
-sub_80556BC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x24
- adds r6, r0, 0
- mov r9, r1
- adds r4, r2, 0
- adds r5, r3, 0
- ldr r7, [sp, 0x40]
- lsls r4, 24
- lsrs r4, 24
- adds r1, r5, 0
- bl sub_8071A44
- mov r8, r0
- adds r0, r5, 0
- bl sub_8092C24
- str r0, [sp]
- add r0, sp, 0x14
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- ldrh r0, [r5, 0x2]
- str r0, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- adds r0, r6, 0
- mov r1, r9
- adds r2, r4, 0
- mov r3, r8
- bl sub_806EAF4
- adds r0, r5, 0
- ldr r1, [sp, 0x44]
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- adds r0, r6, 0
- mov r1, r9
- adds r2, r5, 0
- add r3, sp, 0x14
- bl sub_8055728
- add sp, 0x24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80556BC
-
- thumb_func_start sub_8055728
-sub_8055728:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x30]
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- movs r7, 0x1
- str r7, [sp]
- adds r0, r6, 0
- movs r3, 0x1
- bl sub_8056B34
- lsls r0, 24
- cmp r0, 0
- beq _080557C0
- movs r0, 0
- mov r10, r0
- ldrh r1, [r5, 0x2]
- movs r0, 0x9D
- lsls r0, 1
- cmp r1, r0
- bne _08055768
- movs r1, 0x1
- mov r10, r1
-_08055768:
- adds r0, r4, 0
- movs r1, 0x2E
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08055790
- ldr r0, _080557AC
- ldr r1, [r0]
- ldr r0, _080557B0
- adds r2, r1, r0
- ldr r0, _080557B4
- strh r0, [r2]
- ldr r2, _080557B8
- adds r0, r1, r2
- str r4, [r0]
- ldr r0, _080557BC
- adds r1, r0
- ldrh r0, [r4, 0x26]
- str r0, [r1]
-_08055790:
- str r7, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, r8
- mov r3, r10
- bl sub_806D010
- b _08055826
- .align 2, 0
-_080557AC: .4byte gUnknown_203B418
-_080557B0: .4byte 0x00000662
-_080557B4: .4byte 0x000003e7
-_080557B8: .4byte 0x00017b34
-_080557BC: .4byte 0x00017b40
-_080557C0:
- ldr r0, _08055808
- ldr r1, [r4, 0x70]
- movs r2, 0
- bl sub_80708B4
- adds r0, r6, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _08055814
- adds r0, r4, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _08055814
- ldr r0, _0805580C
- movs r3, 0x1
- negs r3, r3
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_803ED30
- ldr r0, _08055810
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_805232C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8042238
- b _08055820
- .align 2, 0
-_08055808: .4byte gUnknown_202DFE8
-_0805580C: .4byte 0x0000270f
-_08055810: .4byte gUnknown_80F9688
-_08055814:
- ldr r0, _08055834
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08055820:
- movs r0, 0x1
- mov r2, r8
- strb r0, [r2, 0xF]
-_08055826:
- mov r1, r8
- ldrb r0, [r1, 0xF]
- cmp r0, 0
- beq _08055838
- movs r0, 0
- b _08055854
- .align 2, 0
-_08055834: .4byte gUnknown_80F9688
-_08055838:
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055850
- ldr r0, [r4, 0x70]
- movs r2, 0xAD
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
-_08055850:
- mov r1, r8
- ldr r0, [r1]
-_08055854:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8055728
-
- thumb_func_start sub_8055864
-sub_8055864:
- push {r4-r7,lr}
- sub sp, 0x20
- adds r4, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- adds r1, r5, 0
- bl sub_8071A1C
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- add r0, sp, 0x10
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r7, 0
- adds r3, r6, 0
- bl sub_806F2BC
- adds r0, r5, 0
- ldr r1, [sp, 0x34]
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x1
- str r5, [sp]
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- adds r0, r4, 0
- adds r1, r7, 0
- add r2, sp, 0x10
- movs r3, 0
- bl sub_806D010
- add r0, sp, 0x10
- ldrb r0, [r0, 0xF]
- cmp r0, 0
- beq _080558BA
- movs r0, 0
- b _080558D2
-_080558BA:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080558D0
- ldr r0, [r7, 0x70]
- movs r1, 0xAD
- lsls r1, 1
- adds r0, r1
- strb r5, [r0]
-_080558D0:
- ldr r0, [sp, 0x10]
-_080558D2:
- add sp, 0x20
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8055864
-
- thumb_func_start sub_80558DC
-sub_80558DC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r4, 0x1
- movs r2, 0
- mov r9, r2
- ldr r1, [r1, 0x70]
- mov r10, r1
- bl sub_8092B00
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- beq _08055902
- cmp r1, 0x7
- bne _08055906
-_08055902:
- movs r5, 0x1
- mov r9, r5
-_08055906:
- ldr r6, _08055944
- mov r8, r6
- mov r3, r10
- adds r3, 0x5C
- ldr r7, _08055948
- mov r12, r7
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- str r0, [sp, 0x10]
- adds r2, r3, 0
-_0805591C:
- mov r0, sp
- mov r1, r8
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldr r1, [r1]
- str r1, [r0]
- mov r0, r9
- cmp r0, 0
- beq _0805594C
- ldrb r0, [r2]
- cmp r0, 0xE
- bne _0805594C
- mov r0, r10
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805594C
- movs r0, 0
- b _0805595A
- .align 2, 0
-_08055944: .4byte gUnknown_81069BC
-_08055948: .4byte gUnknown_80F522C
-_0805594C:
- ldrb r0, [r2]
- lsls r0, 1
- ldr r1, [sp, 0x10]
- adds r0, r1
- add r0, r12
- movs r5, 0
- ldrsh r0, [r0, r5]
-_0805595A:
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- muls r4, r0
- cmp r4, 0
- beq _0805596E
- adds r2, 0x1
- adds r0, r3, 0x1
- cmp r2, r0
- ble _0805591C
-_0805596E:
- adds r0, r4, 0
- cmp r0, 0
- beq _08055976
- movs r0, 0x1
-_08055976:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80558DC
-
- thumb_func_start sub_8055988
-sub_8055988:
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- cmp r2, r4
- beq _080559D4
- movs r0, 0x4
- ldrsh r1, [r2, r0]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- subs r1, r0
- cmp r1, 0
- bge _080559A2
- negs r1, r1
-_080559A2:
- cmp r1, 0x1
- bgt _080559D4
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- subs r1, r0
- cmp r1, 0
- bge _080559B6
- negs r1, r1
-_080559B6:
- cmp r1, 0x1
- bgt _080559D4
- adds r0, r4, 0x4
- adds r1, r2, 0x4
- bl sub_80983D8
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8071138
- lsls r0, 24
- cmp r0, 0
- beq _080559D4
- movs r0, 0x1
- b _080559D6
-_080559D4:
- movs r0, 0
-_080559D6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8055988
-
- thumb_func_start sub_80559DC
-sub_80559DC:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, [r5, 0x70]
- adds r0, r5, 0x4
- adds r1, 0x4
- bl sub_80983D8
- adds r1, r0, 0
- movs r2, 0x7
- ands r0, r2
- adds r4, 0x46
- strb r0, [r4]
- adds r0, r5, 0
- bl sub_806CE68
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80559DC
-
- thumb_func_start sub_8055A00
-sub_8055A00:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- adds r5, r0, 0
- mov r9, r1
- str r2, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, [r5, 0x70]
- mov r10, r0
- mov r7, r9
- cmp r7, 0x3
- ble _08055A22
- movs r0, 0
- b _08055DB4
-_08055A22:
- movs r0, 0xBC
- lsls r0, 1
- add r0, r10
- movs r1, 0
- movs r2, 0
- strh r2, [r0]
- ldr r0, _08055A4C
- add r0, r10
- strb r1, [r0]
- mov r0, r10
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08055A58
- ldr r0, _08055A50
- adds r1, r5, 0
- bl sub_8045B94
- ldr r0, _08055A54
- b _08055A8A
- .align 2, 0
-_08055A4C: .4byte 0x00000159
-_08055A50: .4byte gUnknown_202DF98
-_08055A54: .4byte gUnknown_80FC714
-_08055A58:
- cmp r0, 0x7
- bne _08055A74
- ldr r0, _08055A6C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08055A70
- b _08055A8A
- .align 2, 0
-_08055A6C: .4byte gUnknown_202DF98
-_08055A70: .4byte gUnknown_80FC718
-_08055A74:
- mov r0, r10
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08055AA0
- ldr r0, _08055A98
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08055A9C
-_08055A8A:
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- movs r0, 0
- b _08055DB4
- .align 2, 0
-_08055A98: .4byte gUnknown_202DF98
-_08055A9C: .4byte gUnknown_80FC6A8
-_08055AA0:
- ldr r0, _08055B24
- strb r1, [r0]
- ldr r0, _08055B28
- str r2, [r0]
- ldr r0, _08055B2C
- strb r1, [r0]
- adds r0, r7, 0x1
- movs r2, 0
- movs r6, 0x3
- movs r1, 0xC0
- lsls r1, 1
- add r1, r10
-_08055AB8:
- strh r2, [r1]
- subs r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _08055AB8
- movs r6, 0
- movs r3, 0x1
- adds r7, r0, 0
- cmp r7, 0x3
- bgt _08055B06
- lsls r2, r7, 3
- mov r1, r10
- adds r0, r1, r2
- movs r4, 0x8C
- lsls r4, 1
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08055B06
- movs r0, 0x2
- mov r8, r0
- adds r0, r2, r4
- mov r1, r10
- adds r2, r0, r1
-_08055AEC:
- adds r6, 0x1
- cmp r6, 0x3
- bgt _08055B06
- adds r3, 0x1
- adds r2, 0x8
- adds r7, 0x1
- cmp r7, 0x3
- bgt _08055B06
- ldrb r1, [r2]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- bne _08055AEC
-_08055B06:
- movs r0, 0
- str r0, [sp, 0x28]
- cmp r3, 0x1
- ble _08055B12
- movs r1, 0x1
- str r1, [sp, 0x28]
-_08055B12:
- mov r7, r9
- lsls r0, r7, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- add r0, r10
- mov r8, r0
- b _08055CB4
- .align 2, 0
-_08055B24: .4byte gUnknown_202F222
-_08055B28: .4byte gUnknown_202F208
-_08055B2C: .4byte gUnknown_202F221
-_08055B30:
- mov r1, r8
- ldrh r0, [r1, 0x2]
- cmp r0, 0x19
- beq _08055B3C
- cmp r0, 0xE3
- bne _08055B4E
-_08055B3C:
- adds r0, r5, 0
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- bne _08055B5E
- adds r0, r5, 0
- movs r1, 0x1
- b _08055B52
-_08055B4E:
- adds r0, r5, 0
- movs r1, 0
-_08055B52:
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- beq _08055B5E
- b _08055CCE
-_08055B5E:
- ldr r0, _08055B9C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08055B68
- b _08055CCE
-_08055B68:
- ldrb r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08055B74
- b _08055C82
-_08055B74:
- movs r2, 0x1
- movs r0, 0
- str r0, [sp, 0x2C]
- adds r0, r5, 0
- adds r1, r6, 0
- str r2, [sp, 0x30]
- bl sub_80570AC
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6, 0x4]
- ldr r2, [sp, 0x30]
- cmp r0, 0
- beq _08055BA0
- cmp r4, 0
- bne _08055BBA
- movs r1, 0x1
- str r1, [sp, 0x2C]
- b _08055BBA
- .align 2, 0
-_08055B9C: .4byte gUnknown_202F221
-_08055BA0:
- cmp r4, 0
- bne _08055BBA
- ldr r0, _08055C08
- adds r1, r6, 0
- movs r2, 0
- bl sub_80928C0
- ldr r0, _08055C0C
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- movs r2, 0
-_08055BBA:
- cmp r2, 0
- beq _08055C82
- ldr r0, _08055C10
- ldr r0, [r0]
- mov r9, r0
- ldr r0, _08055C14
- add r0, r10
- strb r4, [r0]
- ldrh r0, [r6, 0x2]
- cmp r0, 0xE5
- bne _08055C20
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- adds r0, r5, 0
- bl sub_8057144
- lsls r0, 16
- ldr r2, _08055C18
- ldr r1, [sp, 0x8]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x8]
- ldr r0, _08055C08
- add r1, sp, 0x8
- movs r2, 0
- bl sub_80928C0
- ldr r0, _08055C1C
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- ldr r0, [sp, 0x28]
- str r0, [sp]
- add r1, sp, 0x8
- str r1, [sp, 0x4]
- b _08055C26
- .align 2, 0
-_08055C08: .4byte gUnknown_202DE58
-_08055C0C: .4byte gUnknown_80F93C8
-_08055C10: .4byte gUnknown_202F208
-_08055C14: .4byte 0x00000159
-_08055C18: .4byte 0x0000ffff
-_08055C1C: .4byte gUnknown_80FD2DC
-_08055C20:
- ldr r0, [sp, 0x28]
- str r0, [sp]
- str r6, [sp, 0x4]
-_08055C26:
- adds r0, r5, 0
- ldr r1, [sp, 0x20]
- ldr r2, [sp, 0x24]
- ldr r3, [sp, 0x54]
- bl sub_8055FA0
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp, 0x2C]
- cmp r1, 0
- beq _08055C56
- cmp r0, 0
- beq _08055C56
- ldrb r1, [r6, 0x1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08055C50
- movs r0, 0xFB
- ands r0, r1
- b _08055C54
-_08055C50:
- movs r0, 0x8
- orrs r0, r1
-_08055C54:
- strb r0, [r6, 0x1]
-_08055C56:
- ldr r0, _08055C70
- ldr r0, [r0]
- cmp r9, r0
- bne _08055C82
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bne _08055C78
- ldr r0, _08055C74
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _08055C82
- .align 2, 0
-_08055C70: .4byte gUnknown_202F208
-_08055C74: .4byte gUnknown_80FC690
-_08055C78:
- ldr r0, _08055DC4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_08055C82:
- movs r0, 0x1
- bl sub_804178C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055CCE
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08055CCE
- movs r1, 0x8
- add r8, r1
- adds r7, 0x1
- cmp r7, 0x3
- bgt _08055CCE
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08055CCE
-_08055CB4:
- mov r6, r8
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055CCE
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08055CCE
- b _08055B30
-_08055CCE:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055D54
- movs r6, 0
-_08055CDC:
- lsls r0, r6, 1
- movs r1, 0xBD
- lsls r1, 1
- add r1, r10
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- beq _08055D4E
- add r4, sp, 0x10
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8092AA8
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08055D48
- ldrh r0, [r4, 0x2]
- cmp r0, 0xE5
- bne _08055D36
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- adds r0, r5, 0
- bl sub_8057144
- lsls r0, 16
- ldr r2, _08055DC8
- ldr r1, [sp, 0x18]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x18]
- add r4, sp, 0x18
- ldr r0, _08055DCC
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- ldr r0, _08055DD0
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_08055D36:
- ldr r1, [sp, 0x28]
- str r1, [sp]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- ldr r2, [sp, 0x24]
- ldr r3, [sp, 0x54]
- bl sub_8055FA0
-_08055D48:
- movs r0, 0x1
- bl sub_804178C
-_08055D4E:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08055CDC
-_08055D54:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055DB2
- adds r0, r5, 0
- bl sub_8071DA4
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055DB2
- ldr r1, _08055DD4
- ldrb r0, [r1]
- cmp r0, 0
- beq _08055DB2
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08055DB2
- ldr r4, [r5, 0x70]
- ldr r1, _08055DD8
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r3, r0, 0
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8076090
- adds r4, 0xFB
- ldrb r0, [r4]
- cmp r0, 0
- bne _08055DB2
- movs r0, 0x1
- strb r0, [r4]
-_08055DB2:
- movs r0, 0x1
-_08055DB4:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08055DC4: .4byte gUnknown_80FC6A4
-_08055DC8: .4byte 0x0000ffff
-_08055DCC: .4byte gUnknown_202DE58
-_08055DD0: .4byte gUnknown_80FD2DC
-_08055DD4: .4byte gUnknown_202F222
-_08055DD8: .4byte gUnknown_80F4E70
- thumb_func_end sub_8055A00
-
- thumb_func_start sub_8055DDC
-sub_8055DDC:
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08055DEC
- b _08055F62
-_08055DEC:
- ldr r6, [r4, 0x70]
- movs r7, 0xBC
- lsls r7, 1
- adds r5, r6, r7
- ldrh r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08055E10
- ldr r0, _08055F68
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- bl sub_80769CC
-_08055E10:
- ldrh r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08055E2C
- ldr r0, _08055F6C
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- bl sub_80769CC
-_08055E2C:
- ldrh r1, [r5]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08055E48
- ldr r0, _08055F70
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- bl sub_80769CC
-_08055E48:
- ldrh r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08055E66
- ldr r0, _08055F74
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8077780
-_08055E66:
- ldrh r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08055E84
- ldr r0, _08055F78
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8077780
-_08055E84:
- ldrh r1, [r5]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08055EA2
- ldr r0, _08055F7C
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80763F8
-_08055EA2:
- ldrh r1, [r5]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08055EC0
- ldr r0, _08055F80
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80763F8
-_08055EC0:
- ldrh r1, [r5]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08055EEA
- ldr r0, _08055F84
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- ldr r1, _08055F88
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8075C58
-_08055EEA:
- ldrh r1, [r5]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08055F0C
- ldr r0, _08055F8C
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8076210
-_08055F0C:
- ldrh r1, [r5]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _08055F2C
- ldr r0, _08055F90
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_807614C
-_08055F2C:
- adds r5, r6, r7
- ldrh r1, [r5]
- movs r0, 0x80
- lsls r0, 3
- ands r0, r1
- cmp r0, 0
- beq _08055F5E
- ldr r0, _08055F94
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08055F98
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- adds r0, r4, 0
- bl sub_80428A0
- ldr r0, _08055F9C
- ldrh r1, [r0]
- adds r0, r6, 0
- adds r0, 0xFA
- strb r1, [r0]
-_08055F5E:
- movs r0, 0
- strh r0, [r5]
-_08055F62:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08055F68: .4byte gUnknown_80FEEA4
-_08055F6C: .4byte gUnknown_80FEEC8
-_08055F70: .4byte gUnknown_80FEEEC
-_08055F74: .4byte gUnknown_80FEF0C
-_08055F78: .4byte gUnknown_80FEF30
-_08055F7C: .4byte gUnknown_80FEF4C
-_08055F80: .4byte gUnknown_80FEF50
-_08055F84: .4byte gUnknown_80FEF54
-_08055F88: .4byte gUnknown_80F4E74
-_08055F8C: .4byte gUnknown_80FEF74
-_08055F90: .4byte gUnknown_80FEF98
-_08055F94: .4byte gUnknown_202DF98
-_08055F98: .4byte gUnknown_80FEFD0
-_08055F9C: .4byte gUnknown_80F5004
- thumb_func_end sub_8055DDC
-
- thumb_func_start sub_8055FA0
-sub_8055FA0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x130
- adds r5, r0, 0
- adds r6, r1, 0
- mov r10, r2
- str r3, [sp, 0x120]
- ldr r7, [sp, 0x154]
- movs r0, 0
- mov r8, r0
- str r0, [sp, 0xC]
- movs r0, 0x1
- bl sub_804178C
- ldrh r1, [r7, 0x2]
- movs r0, 0xA5
- lsls r0, 1
- cmp r1, r0
- bne _08056010
- movs r0, 0x69
- bl sub_8084100
- ldr r1, _08056004
- str r0, [r1]
- add r4, sp, 0x110
- ldr r1, _08056008
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_8092A88
- ldrb r1, [r7]
- add r0, sp, 0x110
- strb r1, [r0]
- ldrb r0, [r7, 0x1]
- strb r0, [r4, 0x1]
- ldr r0, _0805600C
- ldr r2, [r0]
- mov r1, r10
- str r1, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- mov r0, r8
- str r0, [sp, 0x8]
- b _08056056
- .align 2, 0
-_08056004: .4byte gUnknown_202F228
-_08056008: .4byte gUnknown_80F59C8
-_0805600C: .4byte gUnknown_80FECBC
-_08056010:
- cmp r1, 0x77
- bne _08056068
- ldr r0, _08056108
- ldr r0, [r0]
- ldr r1, _0805610C
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _08056026
- movs r0, 0
-_08056026:
- cmp r0, 0x4A
- ble _0805602C
- movs r0, 0x4A
-_0805602C:
- add r4, sp, 0x118
- ldr r1, _08056110
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_8092A88
- ldrb r1, [r7]
- add r0, sp, 0x118
- strb r1, [r0]
- ldrb r0, [r7, 0x1]
- strb r0, [r4, 0x1]
- ldr r0, _08056114
- ldr r2, [r0]
- mov r0, r10
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
-_08056056:
- adds r0, r5, 0
- adds r1, r7, 0
- add r3, sp, 0xC
- bl sub_8056468
- movs r0, 0x1
- bl sub_804178C
- adds r7, r4, 0
-_08056068:
- movs r2, 0
- str r2, [sp, 0x128]
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_807CD64
- movs r4, 0xF0
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0x50
- bne _08056084
- movs r0, 0xA
- str r0, [sp, 0x128]
-_08056084:
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_807CD64
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0x80
- bne _080560CC
- movs r1, 0x1
- str r1, [sp, 0x128]
- ldrh r0, [r7, 0x2]
- cmp r0, 0x97
- bne _080560AE
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080560CC
-_080560AE:
- ldrh r0, [r7, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- beq _080560CC
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- bne _080560CC
- movs r2, 0
- str r2, [sp, 0x128]
-_080560CC:
- ldr r0, _08056118
- ldr r1, [r5, 0x70]
- movs r2, 0
- bl sub_80708B4
- ldr r0, _0805611C
- adds r1, r7, 0
- movs r2, 0
- bl sub_80928C0
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _08056124
- ldr r0, _08056120
- ldr r0, [r0]
- mov r8, r0
- ldr r0, [r5, 0x70]
- adds r0, 0xFF
- movs r1, 0
- strb r1, [r0]
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_805744C
- b _08056142
- .align 2, 0
-_08056108: .4byte gUnknown_203B418
-_0805610C: .4byte 0x00003a0e
-_08056110: .4byte gUnknown_80F5D10
-_08056114: .4byte gUnknown_80FECE0
-_08056118: .4byte gUnknown_202DF98
-_0805611C: .4byte gUnknown_202DE58
-_08056120: .4byte gUnknown_80FC72C
-_08056124:
- mov r0, r10
- cmp r0, 0
- bne _08056132
- ldrh r0, [r7, 0x2]
- bl sub_8092CA8
- b _08056136
-_08056132:
- ldr r0, _08056194
- ldr r0, [r0]
-_08056136:
- mov r8, r0
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_80573CC
-_08056142:
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08056156
- cmp r6, 0
- beq _08056156
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_806ACE8
-_08056156:
- ldr r0, [r5, 0x70]
- adds r0, 0xEC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080561A0
- ldrh r0, [r7, 0x2]
- bl sub_8092CF0
- lsls r0, 24
- cmp r0, 0
- beq _080561A0
- ldr r0, _08056198
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- mov r1, r8
- bl sub_80522A8
- movs r0, 0xA
- movs r1, 0x3F
- bl sub_803E708
- ldr r0, _0805619C
-_08056188:
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_08056190:
- movs r0, 0
- b _08056446
- .align 2, 0
-_08056194: .4byte gUnknown_80F9158
-_08056198: .4byte gUnknown_202DF98
-_0805619C: .4byte gUnknown_80FC710
-_080561A0:
- cmp r4, 0
- bne _08056214
- ldr r0, _080561D4
- ldr r1, [r5, 0x70]
- movs r2, 0
- bl sub_80708B4
- mov r1, r10
- cmp r1, 0
- bne _080561E0
- ldr r0, _080561D8
- adds r1, r7, 0
- movs r2, 0
- bl sub_80928C0
- adds r0, r5, 0
- mov r1, r8
- bl sub_80522A8
- movs r0, 0xA
- movs r1, 0x3F
- bl sub_803E708
- ldr r0, _080561DC
- b _08056188
- .align 2, 0
-_080561D4: .4byte gUnknown_202DF98
-_080561D8: .4byte gUnknown_202DE58
-_080561DC: .4byte gUnknown_80FC6D0
-_080561E0:
- ldr r0, _0805620C
- mov r2, r10
- lsls r1, r2, 24
- lsrs r1, 24
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- mov r1, r8
- bl sub_80522A8
- movs r0, 0xA
- movs r1, 0x3F
- bl sub_803E708
- ldr r0, _08056210
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _08056190
- .align 2, 0
-_0805620C: .4byte gUnknown_202DE58
-_08056210: .4byte gUnknown_80FC6FC
-_08056214:
- ldr r0, _0805625C
- movs r1, 0
- str r1, [r0]
- ldr r0, _08056260
- str r1, [r0]
- ldr r0, _08056264
- str r1, [r0]
- ldr r0, _08056268
- strb r1, [r0]
- ldr r0, _0805626C
- strb r1, [r0]
- ldr r0, _08056270
- strb r1, [r0]
- ldr r0, _08056274
- str r1, [r0]
- ldr r0, _08056278
- strb r1, [r0]
- ldr r0, [sp, 0x150]
- cmp r0, 0
- beq _0805624C
- ldr r0, [r5, 0x70]
- ldr r2, _0805627C
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x3
- bhi _0805624C
- adds r0, 0x1
- strb r0, [r1]
-_0805624C:
- adds r0, r7, 0
- bl sub_8057070
- str r0, [sp, 0x124]
- movs r0, 0
- mov r9, r0
- b _080563E4
- .align 2, 0
-_0805625C: .4byte gUnknown_202F214
-_08056260: .4byte gUnknown_202F20C
-_08056264: .4byte gUnknown_202F210
-_08056268: .4byte gUnknown_202F218
-_0805626C: .4byte gUnknown_202F219
-_08056270: .4byte gUnknown_202F21A
-_08056274: .4byte gUnknown_202F21C
-_08056278: .4byte gUnknown_202F220
-_0805627C: .4byte 0x00000153
-_08056280:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0805628E
- b _08056444
-_0805628E:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0805629A
- b _08056444
-_0805629A:
- ldr r4, [r5, 0x70]
- ldr r0, [sp, 0x120]
- cmp r0, 0
- bne _080562AC
- ldrh r0, [r7, 0x2]
- cmp r0, 0x19
- beq _080562AC
- cmp r0, 0xE3
- bne _080562BE
-_080562AC:
- adds r0, r5, 0
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- bne _080562CE
- adds r0, r5, 0
- movs r1, 0x1
- b _080562C2
-_080562BE:
- adds r0, r5, 0
- movs r1, 0
-_080562C2:
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- beq _080562CE
- b _08056400
-_080562CE:
- movs r1, 0xA5
- lsls r1, 1
- adds r0, r4, r1
- movs r6, 0
- strb r6, [r0]
- ldrh r0, [r7, 0x2]
- cmp r0, 0x9
- bne _080562F4
- ldr r4, [r5, 0x70]
- movs r0, 0x8
- bl sub_8084100
- adds r4, 0x46
- strb r0, [r4]
- adds r0, r5, 0
- bl sub_8069DCC
- movs r2, 0
- str r2, [sp, 0x12C]
-_080562F4:
- ldr r0, _080563A0
- str r6, [r0]
- str r6, [sp, 0xC]
- ldr r0, [sp, 0x128]
- cmp r0, 0x1
- bhi _08056324
- add r0, sp, 0xC
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_8056CE8
- add r0, sp, 0xC
- adds r1, r5, 0
- bl sub_80574C4
- mov r1, r9
- cmp r1, 0
- beq _08056324
- ldr r2, [sp, 0x12C]
- cmp r2, 0
- beq _08056324
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _08056400
-_08056324:
- mov r0, r10
- str r0, [sp]
- movs r0, 0
- mov r1, r9
- cmp r1, 0
- bne _08056332
- movs r0, 0x1
-_08056332:
- str r0, [sp, 0x4]
- ldr r2, [sp, 0x128]
- str r2, [sp, 0x8]
- adds r0, r5, 0
- adds r1, r7, 0
- mov r2, r8
- add r3, sp, 0xC
- bl sub_8056468
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r8, r0
- ldr r0, _080563A0
- ldr r0, [r0]
- cmp r0, 0
- beq _08056358
- bl sub_806A1E8
-_08056358:
- ldr r1, [r5, 0x70]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805637C
- cmp r0, 0x4
- beq _0805637C
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r1, r2
- mov r2, r8
- strh r2, [r0]
- movs r2, 0xB7
- lsls r2, 1
- adds r0, r1, r2
- mov r1, r8
- strh r1, [r0]
-_0805637C:
- ldr r1, _080563A4
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r2, [sp, 0x128]
- cmp r2, 0
- beq _080563A8
- mov r0, r10
- str r0, [sp]
- ldr r1, [sp, 0x150]
- str r1, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r7, 0
- adds r3, r4, 0
- bl sub_80566F8
- b _080563B8
- .align 2, 0
-_080563A0: .4byte gUnknown_203B438
-_080563A4: .4byte gUnknown_202F214
-_080563A8:
- ldr r2, [sp, 0x150]
- str r2, [sp]
- add r0, sp, 0xC
- adds r1, r5, 0
- adds r2, r7, 0
- mov r3, r10
- bl sub_8053704
-_080563B8:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08056400
- adds r0, r5, 0
- bl sub_806CF18
- ldr r0, [r5, 0x70]
- movs r2, 0xA5
- lsls r2, 1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080563E0
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8079764
-_080563E0:
- movs r0, 0x1
- add r9, r0
-_080563E4:
- ldr r1, [sp, 0x124]
- cmp r9, r1
- bge _08056400
- movs r2, 0x1
- str r2, [sp, 0x12C]
- ldr r0, _08056458
- ldrb r0, [r0]
- cmp r0, 0
- bne _08056400
- ldr r0, _0805645C
- ldrb r0, [r0]
- cmp r0, 0
- bne _08056400
- b _08056280
-_08056400:
- ldr r0, _08056460
- ldrb r0, [r0]
- cmp r0, 0
- beq _08056418
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A324
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A6C8
-_08056418:
- ldr r0, _08056464
- ldrb r0, [r0]
- cmp r0, 0
- beq _08056444
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08056444
- ldr r4, [r5, 0x70]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8077AE4
- adds r4, 0xFB
- ldrb r0, [r4]
- cmp r0, 0
- bne _08056444
- movs r0, 0x1
- strb r0, [r4]
-_08056444:
- movs r0, 0x1
-_08056446:
- add sp, 0x130
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08056458: .4byte gUnknown_202F220
-_0805645C: .4byte gUnknown_202F221
-_08056460: .4byte gUnknown_202F21A
-_08056464: .4byte gUnknown_202F219
- thumb_func_end sub_8055FA0
-
- thumb_func_start sub_8056468
-sub_8056468:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- mov r9, r2
- adds r4, r3, 0
- ldr r0, [sp, 0x28]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- mov r10, r0
- adds r0, r6, 0
- bl sub_8045888
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r7, r1, 31
- mov r2, r9
- cmp r2, 0
- beq _08056518
- movs r5, 0
- b _080564A6
-_080564A2:
- adds r4, 0x4
- adds r5, 0x1
-_080564A6:
- cmp r5, 0x40
- bgt _080564BC
- ldr r0, [r4]
- cmp r0, 0
- beq _080564BC
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _080564A2
- movs r7, 0x1
-_080564BC:
- cmp r7, 0
- beq _080564F2
- ldr r0, _080564DC
- ldr r1, [r6, 0x70]
- movs r2, 0
- bl sub_80708B4
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bne _080564E4
- ldr r0, _080564E0
- mov r1, r8
- movs r2, 0
- bl sub_80928C0
- b _080564F2
- .align 2, 0
-_080564DC: .4byte gUnknown_202DF98
-_080564E0: .4byte gUnknown_202DE58
-_080564E4:
- ldr r0, _08056508
- ldr r2, [sp, 0x24]
- lsls r1, r2, 24
- lsrs r1, 24
- movs r2, 0
- bl sub_8090DC4
-_080564F2:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- ldr r0, _0805650C
- cmp r1, r0
- beq _08056510
- adds r0, r6, 0
- mov r1, r9
- bl sub_805239C
- b _08056518
- .align 2, 0
-_08056508: .4byte gUnknown_202DE58
-_0805650C: .4byte 0x00000163
-_08056510:
- adds r0, r6, 0
- mov r1, r9
- bl sub_80522E8
-_08056518:
- cmp r7, 0
- beq _08056544
- ldr r2, [sp]
- cmp r2, 0
- beq _0805652A
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0x1
- b _08056530
-_0805652A:
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
-_08056530:
- bl sub_8040BB0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r6, 0
- mov r1, r8
- bl sub_8040DA0
- b _08056550
-_08056544:
- ldr r0, [r6, 0x70]
- adds r0, 0x46
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_806CE68
-_08056550:
- mov r0, r10
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8056468
-
- thumb_func_start sub_8056564
-sub_8056564:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x18
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- adds r4, r3, 0
- ldr r0, [r6, 0x70]
- mov r8, r0
- ldr r0, _08056680
- ldr r0, [r0]
- ldr r1, _08056684
- adds r0, r1
- ldrb r0, [r0]
- mov r9, r0
- cmp r0, 0
- beq _0805658C
- b _080566E4
-_0805658C:
- mov r2, r8
- movs r1, 0x4
- ldrsh r0, [r2, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080565A4
- cmp r4, 0x1
- bne _080565A4
- b _080566E4
-_080565A4:
- ldrh r4, [r7, 0x2]
- adds r0, r6, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- bl sub_800ECB8
- movs r2, 0x6
- ldrsh r4, [r0, r2]
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 11
- movs r0, 0x2
- ldrsh r2, [r5, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 11
- movs r2, 0x80
- lsls r2, 5
- adds r3, r0, r2
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r1, r2
- cmp r0, 0
- bge _080565EC
- adds r0, 0xFF
-_080565EC:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _08056688
- ldr r2, [sp, 0x14]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x14]
- adds r0, r3, 0
- cmp r0, 0
- bge _08056602
- adds r0, 0xFF
-_08056602:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _0805668C
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x14]
- cmp r4, 0
- beq _080566E4
- ldrh r4, [r7, 0x2]
- adds r0, r6, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80412E0
- lsls r0, 16
- lsrs r0, 16
- bl sub_800EF10
- bl sub_800EF64
- movs r0, 0x5E
- bl sub_803E46C
- mov r0, r8
- movs r1, 0x4
- ldrsh r5, [r0, r1]
- ldrh r4, [r7, 0x2]
- adds r0, r6, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80412E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_800E710
- adds r2, r0, 0
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _08056690
- add r0, sp, 0x8
- adds r1, r6, 0
- adds r1, 0x28
- lsls r2, 24
- lsrs r2, 24
- bl sub_800569C
- b _08056694
- .align 2, 0
-_08056680: .4byte gUnknown_203B418
-_08056684: .4byte 0x0001820a
-_08056688: .4byte 0xffff0000
-_0805668C: .4byte 0x0000ffff
-_08056690:
- mov r2, r9
- str r2, [sp, 0x8]
-_08056694:
- ldrh r4, [r7, 0x2]
- adds r0, r6, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80412E0
- mov r1, sp
- strh r0, [r1]
- mov r2, r8
- ldrh r0, [r2, 0x4]
- strh r0, [r1, 0x2]
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _080566BC
- adds r0, 0xFF
-_080566BC:
- asrs r0, 8
- strh r0, [r1, 0x4]
- mov r1, sp
- ldr r0, [r6, 0x10]
- cmp r0, 0
- bge _080566CA
- adds r0, 0xFF
-_080566CA:
- asrs r0, 8
- strh r0, [r1, 0x6]
- mov r0, r8
- adds r0, 0x46
- ldrb r0, [r0]
- str r0, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x10]
- add r1, sp, 0x14
- mov r0, sp
- bl sub_800E308
- b _080566E8
-_080566E4:
- movs r0, 0x1
- negs r0, r0
-_080566E8:
- add sp, 0x18
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8056564
-
- thumb_func_start sub_80566F8
-sub_80566F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x54
- mov r10, r0
- str r1, [sp, 0x1C]
- str r2, [sp, 0x20]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x24]
- movs r0, 0
- str r0, [sp, 0x34]
- movs r7, 0
- mov r1, r10
- ldr r6, [r1, 0x70]
- ldr r2, [sp, 0x1C]
- ldrh r0, [r2, 0x2]
- bl sub_800ED20
- movs r1, 0x2
- str r1, [sp, 0x44]
- cmp r0, 0x1
- beq _08056736
- movs r2, 0x6
- str r2, [sp, 0x44]
- cmp r0, 0x2
- bne _08056736
- movs r0, 0x3
- str r0, [sp, 0x44]
-_08056736:
- mov r1, r10
- ldrh r0, [r1, 0x6]
- lsls r0, 16
- ldrh r3, [r1, 0x4]
- orrs r3, r0
- str r3, [sp, 0xC]
- ldr r1, _08056814
- adds r2, r6, 0
- adds r2, 0x46
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r6, [r0, r1]
- str r6, [sp, 0x28]
- movs r1, 0x2
- ldrsh r6, [r0, r1]
- str r6, [sp, 0x2C]
- movs r6, 0
- str r6, [sp, 0x30]
- mov r8, r2
- ldr r0, [sp, 0x20]
- cmp r6, r0
- bge _080567EC
- add r0, sp, 0xC
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- blt _080567EC
- asrs r0, r3, 16
- cmp r0, 0
- blt _080567EC
- cmp r1, 0x37
- bgt _080567EC
- cmp r0, 0x1F
- bgt _080567EC
- add r6, sp, 0xC
-_08056780:
- ldrh r0, [r6]
- ldr r1, [sp, 0x28]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08056818
- ands r2, r3
- orrs r2, r0
- asrs r0, r2, 16
- ldr r1, [sp, 0x2C]
- adds r0, r1
- lsls r0, 16
- ldr r1, _0805681C
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- adds r7, 0x1
- movs r2, 0
- ldrsh r0, [r6, r2]
- asrs r1, 16
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080567EC
- ldr r0, [r2, 0x10]
- cmp r0, 0
- beq _080567C6
- bl sub_80450F8
- cmp r0, 0x1
- beq _080567EC
-_080567C6:
- ldr r0, [sp, 0x30]
- adds r0, 0x1
- str r0, [sp, 0x30]
- ldr r1, [sp, 0x20]
- cmp r0, r1
- bge _080567EC
- movs r0, 0
- ldrsh r2, [r6, r0]
- cmp r2, 0
- blt _080567EC
- ldr r0, [sp, 0xC]
- asrs r1, r0, 16
- adds r3, r0, 0
- cmp r1, 0
- blt _080567EC
- cmp r2, 0x37
- bgt _080567EC
- cmp r1, 0x1F
- ble _08056780
-_080567EC:
- ldr r2, [sp, 0x1C]
- ldrh r1, [r2, 0x2]
- mov r0, r10
- bl sub_805755C
- lsls r0, 24
- cmp r0, 0
- beq _08056820
- mov r0, r10
- ldr r1, [sp, 0x1C]
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- bne _08056820
- movs r6, 0x1
- negs r6, r6
- str r6, [sp, 0x40]
- b _0805682E
- .align 2, 0
-_08056814: .4byte gUnknown_80F4448
-_08056818: .4byte 0xffff0000
-_0805681C: .4byte 0x0000ffff
-_08056820:
- mov r0, r10
- add r1, sp, 0xC
- ldr r2, [sp, 0x1C]
- ldr r3, [sp, 0x20]
- bl sub_8056564
- str r0, [sp, 0x40]
-_0805682E:
- mov r0, r10
- ldrh r1, [r0, 0x4]
- add r0, sp, 0xC
- strh r1, [r0]
- mov r2, r10
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0x2]
- ldr r1, _08056874
- mov r6, r8
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- str r1, [sp, 0x28]
- movs r1, 0x2
- ldrsh r6, [r0, r1]
- str r6, [sp, 0x2C]
- movs r0, 0x18
- ldr r1, [sp, 0x44]
- bl __divsi3
- adds r1, r7, 0
- muls r1, r0
- ldr r2, [sp, 0x20]
- cmp r2, 0x1
- ble _08056878
- adds r6, r1, 0
- adds r6, 0x8
- str r6, [sp, 0x38]
- cmp r6, 0x3F
- ble _0805687C
- movs r0, 0x40
- str r0, [sp, 0x38]
- b _0805687C
- .align 2, 0
-_08056874: .4byte gUnknown_80F4448
-_08056878:
- movs r2, 0x20
- str r2, [sp, 0x38]
-_0805687C:
- movs r6, 0
- mov r9, r6
- movs r0, 0x80
- lsls r0, 12
- bl __divsi3
- str r0, [sp, 0x48]
- ldr r1, _0805696C
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x3C]
- ldr r0, _08056970
- ldr r0, [r0]
- ldr r6, _08056974
- adds r0, r6
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0
- str r0, [sp, 0x30]
- ldr r1, [sp, 0x20]
- cmp r0, r1
- blt _080568B0
- b _08056AB6
-_080568B0:
- add r0, sp, 0xC
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bge _080568BC
- b _08056AB6
-_080568BC:
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080568C8
- b _08056AB6
-_080568C8:
- cmp r1, 0x37
- ble _080568CE
- b _08056AB6
-_080568CE:
- cmp r0, 0x1F
- ble _080568D4
- b _08056AB6
-_080568D4:
- add r7, sp, 0xC
-_080568D6:
- ldr r6, [sp, 0xC]
- ldrh r0, [r7]
- ldr r1, [sp, 0x28]
- adds r0, r1
- strh r0, [r7]
- ldrh r0, [r7, 0x2]
- ldr r2, [sp, 0x2C]
- adds r0, r2
- strh r0, [r7, 0x2]
- add r0, sp, 0xC
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- bne _080568F6
- b _08056A00
-_080568F6:
- ldr r0, _08056970
- ldr r0, [r0]
- ldr r1, _08056978
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08056906
- b _08056A00
-_08056906:
- lsls r1, r6, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r4, r0, r2
- asrs r1, r6, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r6, 0x80
- lsls r6, 5
- adds r5, r0, r6
- ldr r1, [sp, 0x28]
- lsls r0, r1, 8
- ldr r6, [sp, 0x44]
- adds r2, r6, 0
- muls r2, r0
- str r2, [sp, 0x4C]
- ldr r1, [sp, 0x2C]
- lsls r0, r1, 8
- adds r2, r6, 0
- muls r2, r0
- str r2, [sp, 0x50]
- movs r6, 0
- movs r0, 0x18
- ldr r1, [sp, 0x44]
- bl __divsi3
- mov r8, r0
- cmp r6, r8
- bge _08056A0E
-_0805694A:
- ldr r0, [sp, 0x40]
- cmp r0, 0
- blt _080569D4
- ldr r1, [sp, 0x24]
- cmp r1, 0
- beq _0805697C
- mov r0, r9
- cmp r0, 0
- bge _0805695E
- adds r0, 0xFF
-_0805695E:
- asrs r0, 8
- bl sub_8009C7C
- ldr r2, [sp, 0x38]
- adds r3, r0, 0
- muls r3, r2
- b _0805697E
- .align 2, 0
-_0805696C: .4byte gUnknown_81069D4
-_08056970: .4byte gUnknown_203B418
-_08056974: .4byte 0x0001c05e
-_08056978: .4byte 0x0001820a
-_0805697C:
- movs r3, 0
-_0805697E:
- adds r0, r4, 0
- cmp r4, 0
- bge _08056986
- adds r0, 0xFF
-_08056986:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _080569F0
- ldr r2, [sp, 0x10]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x10]
- subs r0, r5, r3
- cmp r0, 0
- bge _0805699C
- adds r0, 0xFF
-_0805699C:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _080569F4
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x10]
- adds r2, r5, 0
- cmp r2, 0
- bge _080569B2
- adds r2, 0xFF
-_080569B2:
- asrs r2, 8
- ldr r0, _080569F8
- ldr r0, [r0]
- ldr r1, _080569FC
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r2, r0
- lsrs r0, r2, 31
- adds r2, r0
- asrs r2, 1
- ldr r0, [sp, 0x3C]
- adds r2, r0
- ldr r0, [sp, 0x40]
- add r1, sp, 0x10
- bl sub_800E3AC
-_080569D4:
- movs r0, 0x30
- bl sub_803E46C
- ldr r1, [sp, 0x4C]
- adds r4, r1
- ldr r2, [sp, 0x50]
- adds r5, r2
- ldr r0, [sp, 0x48]
- add r9, r0
- adds r6, 0x1
- cmp r6, r8
- blt _0805694A
- b _08056A0E
- .align 2, 0
-_080569F0: .4byte 0xffff0000
-_080569F4: .4byte 0x0000ffff
-_080569F8: .4byte gUnknown_203B418
-_080569FC: .4byte 0x000181f2
-_08056A00:
- movs r0, 0x18
- ldr r1, [sp, 0x44]
- bl __divsi3
- ldr r1, [sp, 0x48]
- muls r0, r1
- add r9, r0
-_08056A0E:
- movs r2, 0
- ldrsh r0, [r7, r2]
- movs r6, 0x2
- ldrsh r1, [r7, r6]
- bl sub_804954C
- adds r6, r0, 0
- ldrh r1, [r6]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08056AB6
- ldr r0, [r6, 0x10]
- cmp r0, 0
- beq _08056A8E
- bl sub_80450F8
- cmp r0, 0x1
- bne _08056A8E
- ldr r0, [r6, 0x10]
- ldr r1, [sp, 0x1C]
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- bne _08056A8E
- ldr r0, [sp, 0x34]
- cmp r0, 0
- bgt _08056AB6
- movs r4, 0
- mov r2, r10
- ldr r1, [r2, 0x70]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrb r2, [r0]
- cmp r2, 0x2
- beq _08056A64
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08056A64
- cmp r2, 0x4
- bne _08056A66
-_08056A64:
- movs r4, 0x1
-_08056A66:
- mov r0, r10
- ldr r1, [sp, 0x1C]
- movs r2, 0
- bl sub_807CD64
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r0, [r6, 0x10]
- str r0, [sp]
- ldr r6, [sp, 0x1C]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r0, [sp, 0x34]
- add r1, sp, 0x14
- mov r3, r10
- bl sub_8056F80
- str r0, [sp, 0x34]
- b _08056AB6
-_08056A8E:
- ldr r0, [sp, 0x30]
- adds r0, 0x1
- str r0, [sp, 0x30]
- ldr r1, [sp, 0x20]
- cmp r0, r1
- bge _08056AB6
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0
- blt _08056AB6
- ldrh r0, [r7, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _08056AB6
- cmp r1, 0x37
- bgt _08056AB6
- cmp r0, 0x1F
- bgt _08056AB6
- b _080568D6
-_08056AB6:
- ldr r6, [sp, 0x40]
- cmp r6, 0
- blt _08056AC2
- adds r0, r6, 0
- bl sub_800DC14
-_08056AC2:
- movs r0, 0x1
- bl sub_804178C
- ldr r0, _08056AF4
- ldr r0, [r0]
- ldr r1, _08056AF8
- adds r0, r1
- movs r2, 0
- strb r2, [r0]
- ldr r6, [sp, 0x34]
- cmp r6, 0
- ble _08056AFC
- lsls r1, r6, 2
- add r0, sp, 0x14
- adds r1, r0
- str r2, [r1]
- ldr r1, [sp, 0x78]
- str r1, [sp]
- mov r1, r10
- ldr r2, [sp, 0x1C]
- ldr r3, [sp, 0x74]
- bl sub_8053704
- b _08056B22
- .align 2, 0
-_08056AF4: .4byte gUnknown_203B418
-_08056AF8: .4byte 0x0001c05e
-_08056AFC:
- ldr r0, [sp, 0x20]
- cmp r0, 0x1
- bne _08056B22
- add r0, sp, 0xC
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _08056B22
- movs r0, 0x1
- movs r1, 0x4A
- bl sub_803E708
- mov r0, r10
- movs r1, 0
- ldr r2, [sp, 0x1C]
- add r3, sp, 0xC
- bl sub_8041168
-_08056B22:
- add sp, 0x54
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80566F8
-
- thumb_func_start sub_8056B34
-sub_8056B34:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r1, r3, 0
- ldr r4, [sp, 0x24]
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- bl sub_8092BD8
- adds r5, r0, 0
- movs r0, 0x64
- bl sub_8084100
- str r0, [sp]
- ldr r0, [r7, 0x70]
- mov r9, r0
- ldr r1, [r6, 0x70]
- mov r10, r1
- cmp r4, 0
- beq _08056B70
- cmp r7, r6
- bne _08056B70
- b _08056CD4
-_08056B70:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- ldr r0, _08056CC4
- cmp r1, r0
- bne _08056B8A
- adds r0, r7, 0
- movs r1, 0x4
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08056B8A
- b _08056CD4
-_08056B8A:
- mov r0, r9
- adds r0, 0xDC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08056B96
- b _08056CD4
-_08056B96:
- cmp r0, 0x2
- bne _08056B9C
- b _08056CBE
-_08056B9C:
- cmp r5, 0x64
- ble _08056BA2
- b _08056CD4
-_08056BA2:
- adds r0, r6, 0
- movs r1, 0x23
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08056BB6
- ldr r0, _08056CC8
- ldr r0, [r0]
- subs r5, r0
-_08056BB6:
- adds r0, r6, 0
- movs r1, 0x5
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08056BCA
- ldr r0, _08056CCC
- ldr r0, [r0]
- subs r5, r0
-_08056BCA:
- mov r1, r9
- movs r0, 0x24
- ldrsh r4, [r1, r0]
- adds r0, r7, 0
- movs r1, 0x33
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08056BE0
- adds r4, 0x2
-_08056BE0:
- mov r1, r8
- ldrh r0, [r1, 0x2]
- cmp r0, 0x40
- bne _08056BFC
- adds r0, r7, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _08056CD4
- cmp r0, 0x1
- bne _08056BFC
- subs r4, 0x2
-_08056BFC:
- cmp r4, 0
- bge _08056C02
- movs r4, 0
-_08056C02:
- cmp r4, 0x14
- ble _08056C08
- movs r4, 0x14
-_08056C08:
- ldr r1, _08056CD0
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _08056C16
- movs r0, 0
-_08056C16:
- movs r1, 0xC8
- lsls r1, 7
- cmp r0, r1
- ble _08056C20
- adds r0, r1, 0
-_08056C20:
- muls r5, r0
- adds r0, r5, 0
- cmp r5, 0
- bge _08056C2A
- adds r0, 0xFF
-_08056C2A:
- asrs r5, r0, 8
- mov r0, r10
- movs r1, 0x26
- ldrsh r4, [r0, r1]
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- beq _08056C3C
- movs r4, 0xA
-_08056C3C:
- adds r0, r6, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08056C5A
- adds r0, r6, 0
- movs r1, 0x1D
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08056C5A
- adds r4, 0x2
-_08056C5A:
- adds r0, r7, 0
- movs r1, 0x30
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08056C86
- mov r0, r8
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092354
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _08056C80
- movs r1, 0x1
-_08056C80:
- cmp r1, 0
- bne _08056C86
- adds r4, 0x2
-_08056C86:
- cmp r4, 0
- bge _08056C8C
- movs r4, 0
-_08056C8C:
- cmp r4, 0x14
- ble _08056C92
- movs r4, 0x14
-_08056C92:
- ldr r0, _08056CD0
- lsls r1, r4, 2
- adds r0, 0x54
- adds r1, r0
- ldr r0, [r1]
- cmp r0, 0
- bge _08056CA2
- movs r0, 0
-_08056CA2:
- movs r1, 0xC8
- lsls r1, 7
- cmp r0, r1
- ble _08056CAC
- adds r0, r1, 0
-_08056CAC:
- muls r5, r0
- adds r0, r5, 0
- cmp r5, 0
- bge _08056CB6
- adds r0, 0xFF
-_08056CB6:
- asrs r5, r0, 8
- ldr r0, [sp]
- cmp r0, r5
- blt _08056CD4
-_08056CBE:
- movs r0, 0
- b _08056CD6
- .align 2, 0
-_08056CC4: .4byte 0x00000163
-_08056CC8: .4byte gUnknown_80F519C
-_08056CCC: .4byte gUnknown_80F51A0
-_08056CD0: .4byte gUnknown_80F50F4
-_08056CD4:
- movs r0, 0x1
-_08056CD6:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8056B34
-
- thumb_func_start sub_8056CE8
-sub_8056CE8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp, 0x10]
- adds r5, r1, 0
- mov r8, r2
- movs r0, 0
- mov r9, r0
- movs r3, 0
- ldr r1, [r5, 0x70]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrb r2, [r0]
- cmp r2, 0x2
- beq _08056D18
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08056D18
- cmp r2, 0x4
- bne _08056D1A
-_08056D18:
- movs r3, 0x1
-_08056D1A:
- mov r10, r3
- movs r1, 0
- ldr r0, [r5, 0x70]
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08056D2C
- cmp r0, 0x4
- bne _08056D2E
-_08056D2C:
- movs r1, 0x1
-_08056D2E:
- str r1, [sp, 0x14]
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08056D44
- movs r1, 0
- str r1, [sp, 0x14]
- mov r10, r1
-_08056D44:
- adds r0, r5, 0
- mov r1, r8
- movs r2, 0
- bl sub_807CD64
- lsls r0, 16
- asrs r7, r0, 16
- movs r0, 0xF
- ands r0, r7
- cmp r0, 0x4
- bne _08056D86
- adds r0, r5, 0
- mov r1, r8
- bl sub_80570AC
- lsls r0, 24
- lsrs r4, r0, 24
- mov r2, r8
- ldrh r0, [r2, 0x2]
- cmp r0, 0x97
- bne _08056D7E
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08056D7E
- movs r4, 0x1
-_08056D7E:
- movs r7, 0x73
- cmp r4, 0
- beq _08056D86
- movs r7, 0
-_08056D86:
- movs r1, 0xF0
- ands r1, r7
- cmp r1, 0
- bne _08056DA6
- adds r0, r5, 0
- bl sub_80696A8
- cmp r0, 0
- bne _08056D9A
- b _08056F64
-_08056D9A:
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- b _08056F56
-_08056DA6:
- cmp r1, 0x10
- beq _08056DAE
- cmp r1, 0x20
- bne _08056E34
-_08056DAE:
- ldr r0, [r5, 0x70]
- cmp r1, 0x20
- bne _08056DBC
- adds r0, 0x46
- ldrb r4, [r0]
- movs r0, 0x8
- b _08056DCA
-_08056DBC:
- adds r0, 0x46
- ldrb r0, [r0]
- subs r4, r0, 0x1
- movs r0, 0x3
- cmp r0, 0
- bne _08056DCA
- b _08056F64
-_08056DCA:
- adds r6, r0, 0
-_08056DCC:
- movs r0, 0x7
- ands r4, r0
- ldr r0, _08056E28
- lsls r3, r4, 2
- adds r3, r0
- ldrh r0, [r3]
- ldrh r2, [r5, 0x4]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08056E2C
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
- ldrh r2, [r3, 0x2]
- ldrh r0, [r5, 0x6]
- adds r2, r0
- lsls r2, 16
- ldr r0, _08056E30
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0xC]
- add r0, sp, 0xC
- bl sub_804AD0C
- cmp r0, 0
- beq _08056E1C
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- mov r2, r10
- str r2, [sp, 0x8]
- mov r0, r9
- ldr r1, [sp, 0x10]
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_8056F80
- mov r9, r0
-_08056E1C:
- subs r6, 0x1
- adds r4, 0x1
- cmp r6, 0
- bne _08056DCC
- b _08056F64
- .align 2, 0
-_08056E28: .4byte gUnknown_80F4448
-_08056E2C: .4byte 0xffff0000
-_08056E30: .4byte 0x0000ffff
-_08056E34:
- cmp r1, 0x30
- bne _08056E9C
- movs r6, 0
-_08056E3A:
- ldr r0, _08056E74
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08056E78
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08056E94
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8045A70
- lsls r0, 24
- cmp r0, 0
- beq _08056E94
- cmp r4, r5
- bne _08056E7C
- str r5, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x14]
- str r1, [sp, 0x8]
- b _08056E86
- .align 2, 0
-_08056E74: .4byte gUnknown_203B418
-_08056E78: .4byte 0x000135cc
-_08056E7C:
- str r4, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- mov r0, r10
- str r0, [sp, 0x8]
-_08056E86:
- mov r0, r9
- ldr r1, [sp, 0x10]
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_8056F80
- mov r9, r0
-_08056E94:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08056E3A
- b _08056F64
-_08056E9C:
- cmp r1, 0x40
- bne _08056EEA
- movs r4, 0
- adds r0, r5, 0
- bl sub_80696FC
- cmp r0, 0
- beq _08056ED0
- mov r4, r9
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- mov r2, r10
- str r2, [sp, 0x8]
- adds r0, r4, 0
- ldr r1, [sp, 0x10]
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_8056F80
- mov r9, r0
- mov r1, r9
- eors r1, r4
- negs r0, r1
- orrs r0, r1
- lsrs r4, r0, 31
-_08056ED0:
- cmp r4, 0
- bne _08056F64
- adds r0, r5, 0
- bl sub_806977C
- cmp r0, 0
- beq _08056F64
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- b _08056F56
-_08056EEA:
- cmp r1, 0x50
- beq _08056F64
- cmp r1, 0x80
- bne _08056F00
- adds r0, r5, 0
- bl sub_80696FC
- cmp r0, 0
- beq _08056F64
- str r0, [sp]
- b _08056F4E
-_08056F00:
- cmp r1, 0x60
- bne _08056F48
- movs r6, 0
-_08056F06:
- ldr r0, _08056F40
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08056F44
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08056F38
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- mov r0, r9
- ldr r1, [sp, 0x10]
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_8056F80
- mov r9, r0
-_08056F38:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08056F06
- b _08056F64
- .align 2, 0
-_08056F40: .4byte gUnknown_203B418
-_08056F44: .4byte 0x000135cc
-_08056F48:
- cmp r1, 0x70
- bne _08056F64
- str r5, [sp]
-_08056F4E:
- mov r2, r8
- str r2, [sp, 0x4]
- mov r0, r10
- str r0, [sp, 0x8]
-_08056F56:
- mov r0, r9
- ldr r1, [sp, 0x10]
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_8056F80
- mov r9, r0
-_08056F64:
- mov r1, r9
- lsls r0, r1, 2
- ldr r2, [sp, 0x10]
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8056CE8
-
- thumb_func_start sub_8056F80
-sub_8056F80:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- mov r8, r1
- adds r4, r3, 0
- ldr r7, [sp, 0x18]
- ldr r0, [sp, 0x20]
- lsls r2, 16
- asrs r2, 16
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r6, 0
- ldr r1, [r7, 0x70]
- ldr r3, [sp, 0x1C]
- ldrh r0, [r3, 0x2]
- cmp r0, 0xFC
- bne _08056FAA
- cmp r4, r7
- beq _08057060
-_08056FAA:
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- beq _08057060
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _08057060
- cmp r0, 0x1
- beq _08057060
- mov r0, r12
- cmp r0, 0
- bne _0805702C
- movs r0, 0xF
- ands r0, r2
- cmp r0, 0
- beq _08056FD0
- cmp r0, 0x4
- bne _08056FE6
-_08056FD0:
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0805702E
- b _0805702C
-_08056FE6:
- cmp r0, 0x1
- bne _08056FFE
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _0805702E
- b _0805702C
-_08056FFE:
- cmp r0, 0x2
- beq _0805702C
- cmp r0, 0x5
- bne _0805700C
- cmp r4, r7
- beq _0805702E
- b _0805702C
-_0805700C:
- cmp r0, 0x6
- bne _08057028
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _0805702E
- cmp r4, r7
- beq _0805702E
- b _0805702C
-_08057028:
- cmp r0, 0x3
- bne _0805702E
-_0805702C:
- movs r6, 0x1
-_0805702E:
- adds r0, r7, 0
- ldr r1, [sp, 0x1C]
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- beq _0805703E
- movs r6, 0
-_0805703E:
- cmp r6, 0
- beq _08057060
- cmp r5, 0x3F
- bgt _08057060
- lsls r0, r5, 2
- add r0, r8
- str r7, [r0]
- ldr r0, [r7, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0805705E
- ldr r1, _0805706C
- ldr r0, [r1]
- cmp r0, 0
- bne _0805705E
- str r7, [r1]
-_0805705E:
- adds r5, 0x1
-_08057060:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805706C: .4byte gUnknown_203B438
- thumb_func_end sub_8056F80
-
- thumb_func_start sub_8057070
-sub_8057070:
- push {lr}
- bl sub_8092BA8
- cmp r0, 0
- bne _08057082
- movs r0, 0x2
- movs r1, 0x6
- bl sub_808411C
-_08057082:
- pop {r1}
- bx r1
- thumb_func_end sub_8057070
-
- thumb_func_start sub_8057088
-sub_8057088:
- push {lr}
- ldrh r1, [r0, 0x2]
- cmp r1, 0xEE
- beq _080570A4
- cmp r1, 0xEF
- beq _080570A4
- cmp r1, 0xF2
- beq _080570A4
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- beq _080570A4
- movs r0, 0
- b _080570A6
-_080570A4:
- movs r0, 0x1
-_080570A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8057088
-
- thumb_func_start sub_80570AC
-sub_80570AC:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080570C2
- b _080570E8
-_080570BE:
- movs r0, 0x1
- b _080570EA
-_080570C2:
- ldr r0, [r4, 0x70]
- movs r3, 0
- ldr r2, _080570F0
- adds r4, r0, 0
- adds r4, 0xC0
-_080570CC:
- ldrh r1, [r2]
- cmp r1, 0
- beq _080570E8
- ldrh r0, [r5, 0x2]
- cmp r0, r1
- bne _080570E0
- ldrb r0, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- beq _080570BE
-_080570E0:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x63
- ble _080570CC
-_080570E8:
- movs r0, 0
-_080570EA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080570F0: .4byte gUnknown_81069F4
- thumb_func_end sub_80570AC
-
- thumb_func_start sub_80570F4
-sub_80570F4:
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805713C
- ldr r3, [r4, 0x70]
- movs r4, 0
- adds r6, r3, 0
- adds r6, 0xC0
- ldr r2, _08057138
-_08057110:
- ldrb r1, [r2]
- cmp r1, 0
- beq _0805713C
- ldrb r0, [r6]
- adds r5, r3, 0
- adds r5, 0xC0
- cmp r0, r1
- beq _08057132
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, 0x63
- ble _08057110
- cmp r7, 0
- beq _0805713C
- ldrb r0, [r5]
- cmp r0, 0xB
- bne _0805713C
-_08057132:
- movs r0, 0x1
- b _0805713E
- .align 2, 0
-_08057138: .4byte gUnknown_8106A1C
-_0805713C:
- movs r0, 0
-_0805713E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80570F4
-
- thumb_func_start sub_8057144
-sub_8057144:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x144
- mov r9, r0
- movs r7, 0
- movs r5, 0
-_08057154:
- ldr r0, _080571D4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080571D8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- adds r5, 0x1
- mov r8, r5
- cmp r0, 0
- beq _080571B8
- ldr r0, [r4, 0x70]
- movs r1, 0x8C
- lsls r1, 1
- adds r5, r0, r1
- adds r4, r5, 0
- lsls r0, r7, 2
- mov r1, sp
- adds r2, r0, r1
- movs r6, 0x3
-_08057184:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080571AE
- ldrh r1, [r4, 0x2]
- mov r0, r9
- str r2, [sp, 0x140]
- bl sub_805755C
- lsls r0, 24
- ldr r2, [sp, 0x140]
- cmp r0, 0
- bne _080571AE
- ldrh r0, [r4, 0x2]
- cmp r0, 0x8A
- beq _080571AE
- cmp r7, 0x4F
- bgt _080571AE
- stm r2!, {r5}
- adds r7, 0x1
-_080571AE:
- adds r4, 0x8
- adds r5, 0x8
- subs r6, 0x1
- cmp r6, 0
- bge _08057184
-_080571B8:
- mov r5, r8
- cmp r5, 0x13
- ble _08057154
- cmp r7, 0
- beq _080571DC
- adds r0, r7, 0
- bl sub_8084100
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldrh r0, [r0, 0x2]
- b _080571DE
- .align 2, 0
-_080571D4: .4byte gUnknown_203B418
-_080571D8: .4byte 0x000135cc
-_080571DC:
- ldr r0, _080571EC
-_080571DE:
- add sp, 0x144
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080571EC: .4byte 0x00000163
- thumb_func_end sub_8057144
-
- thumb_func_start sub_80571F0
-sub_80571F0:
- push {lr}
- ldr r0, [r0, 0x70]
- adds r2, r0, 0
- adds r2, 0xFF
- ldrb r2, [r2]
- cmp r2, 0x1
- bne _08057212
- ldrh r1, [r1, 0x2]
- cmp r1, 0x88
- beq _08057274
- cmp r1, 0xA2
- beq _08057274
- cmp r1, 0x39
- beq _08057274
- cmp r1, 0x40
- beq _08057274
- b _08057264
-_08057212:
- cmp r2, 0x2
- bne _08057274
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0x9
- bne _0805722A
- ldrh r1, [r1, 0x2]
- cmp r1, 0x20
- beq _08057274
- cmp r1, 0xDB
- bne _08057264
- b _08057274
-_0805722A:
- cmp r0, 0xA
- bne _08057264
- ldrh r1, [r1, 0x2]
- cmp r1, 0x76
- beq _08057274
- movs r0, 0x94
- lsls r0, 1
- cmp r1, r0
- beq _08057274
- cmp r1, 0x77
- bne _08057264
- ldr r0, _08057268
- ldr r0, [r0]
- ldr r1, _0805726C
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bge _08057252
- movs r1, 0
-_08057252:
- cmp r1, 0x4A
- ble _08057258
- movs r1, 0x4A
-_08057258:
- ldr r0, _08057270
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0x76
- beq _08057274
-_08057264:
- movs r0, 0x1
- b _08057276
- .align 2, 0
-_08057268: .4byte gUnknown_203B418
-_0805726C: .4byte 0x00003a0e
-_08057270: .4byte gUnknown_80F5D10
-_08057274:
- movs r0, 0
-_08057276:
- pop {r1}
- bx r1
- thumb_func_end sub_80571F0
-
- thumb_func_start sub_805727C
-sub_805727C:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080572FC
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080572FC
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080572FC
- ldr r1, [r5, 0x70]
- movs r2, 0xAC
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080572FC
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080572FC
- cmp r4, 0
- beq _080572DE
- adds r0, r6, 0
- movs r1, 0x26
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080572D2
- lsls r0, r4, 1
- b _080572D4
-_080572D2:
- adds r0, r4, 0
-_080572D4:
- bl sub_8084160
- lsls r0, 24
- lsrs r4, r0, 24
- b _080572E0
-_080572DE:
- movs r4, 0x1
-_080572E0:
- cmp r4, 0
- beq _08057300
- cmp r6, r5
- beq _08057300
- adds r0, r5, 0
- movs r1, 0x4C
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08057300
- adds r0, r5, 0
- bl sub_80429C8
-_080572FC:
- movs r0, 0
- b _08057302
-_08057300:
- adds r0, r4, 0
-_08057302:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805727C
-
- thumb_func_start sub_8057308
-sub_8057308:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0805731C
- movs r0, 0
- b _08057340
-_0805731C:
- cmp r4, 0
- bne _08057324
- movs r0, 0x1
- b _08057340
-_08057324:
- adds r0, r5, 0
- movs r1, 0x26
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _08057336
- adds r0, r4, 0
- b _08057338
-_08057336:
- lsls r0, r4, 1
-_08057338:
- bl sub_8084160
- lsls r0, 24
- lsrs r0, 24
-_08057340:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8057308
-
- thumb_func_start sub_8057348
-sub_8057348:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r6, [r7, 0x70]
- lsls r1, 3
- movs r0, 0x8C
- lsls r0, 1
- adds r1, r0
- adds r4, r6, r1
- ldrb r1, [r4]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080573BE
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080573BE
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080573BE
- ldrb r1, [r4, 0x1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805738E
- b _080573BE
-_0805738A:
- movs r0, 0x1
- b _080573C0
-_0805738E:
- movs r5, 0
- b _08057394
-_08057392:
- adds r5, 0x1
-_08057394:
- cmp r5, 0x3
- bgt _080573BE
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
- bl sub_80573CC
- lsls r0, 24
- cmp r0, 0
- bne _0805738A
- adds r4, 0x8
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r6, r1
- cmp r4, r0
- bcs _080573BE
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08057392
-_080573BE:
- movs r0, 0
-_080573C0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8057348
-
- thumb_func_start sub_80573CC
-sub_80573CC:
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r6, [r0, 0x70]
- ldrh r1, [r4, 0x2]
- ldr r0, _08057430
- cmp r1, r0
- beq _08057442
- ldrb r1, [r4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0805743E
- ldrb r1, [r4, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805743E
- cmp r2, 0
- beq _08057442
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0805743E
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x5
- bne _08057414
- adds r0, r4, 0
- bl sub_8092C54
- lsls r0, 24
- cmp r0, 0
- beq _0805743E
-_08057414:
- ldrb r0, [r5]
- cmp r0, 0x6
- bne _08057442
- ldrh r1, [r4, 0x2]
- movs r0, 0xB0
- lsls r0, 1
- cmp r1, r0
- bne _08057434
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- b _08057436
- .align 2, 0
-_08057430: .4byte 0x00000163
-_08057434:
- ldrb r1, [r4]
-_08057436:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08057442
-_0805743E:
- movs r0, 0
- b _08057444
-_08057442:
- movs r0, 0x1
-_08057444:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80573CC
-
- thumb_func_start sub_805744C
-sub_805744C:
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r6, [r0, 0x70]
- ldrh r1, [r4, 0x2]
- ldr r0, _080574A8
- cmp r1, r0
- beq _080574BA
- ldrb r1, [r4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080574B6
- ldrb r1, [r4, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080574B6
- cmp r2, 0
- beq _080574BA
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x5
- bne _0805748E
- adds r0, r4, 0
- bl sub_8092C54
- lsls r0, 24
- cmp r0, 0
- beq _080574B6
-_0805748E:
- ldrb r0, [r5]
- cmp r0, 0x6
- bne _080574BA
- ldrh r1, [r4, 0x2]
- movs r0, 0xB0
- lsls r0, 1
- cmp r1, r0
- bne _080574AC
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- b _080574AE
- .align 2, 0
-_080574A8: .4byte 0x00000163
-_080574AC:
- ldrb r1, [r4]
-_080574AE:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080574BA
-_080574B6:
- movs r0, 0
- b _080574BC
-_080574BA:
- movs r0, 0x1
-_080574BC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805744C
-
- thumb_func_start sub_80574C4
-sub_80574C4:
- push {r4-r6,lr}
- sub sp, 0x104
- adds r4, r0, 0
- adds r5, r1, 0
- movs r3, 0
- movs r2, 0
- ldr r0, [r4]
- cmp r0, 0
- beq _08057502
- cmp r0, r5
- beq _080574EA
-_080574DA:
- lsls r0, r3, 2
- mov r6, sp
- adds r1, r6, r0
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r3, 0x1
-_080574EA:
- adds r2, 0x1
- cmp r2, 0x40
- bgt _08057502
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _08057502
- cmp r0, r5
- beq _080574EA
- cmp r3, 0x3F
- ble _080574DA
-_08057502:
- movs r2, 0
- ldr r0, [r4]
- b _08057524
-_08057508:
- lsls r0, r3, 2
- mov r6, sp
- adds r1, r6, r0
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r3, 0x1
-_08057518:
- adds r2, 0x1
- cmp r2, 0x40
- bgt _08057530
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
-_08057524:
- cmp r0, 0
- beq _08057530
- cmp r0, r5
- bne _08057518
- cmp r3, 0x3F
- ble _08057508
-_08057530:
- cmp r3, 0x40
- bgt _08057542
- movs r1, 0
- lsls r0, r3, 2
- add r0, sp
-_0805753A:
- stm r0!, {r1}
- adds r3, 0x1
- cmp r3, 0x40
- ble _0805753A
-_08057542:
- mov r3, sp
- adds r1, r4, 0
- movs r2, 0x40
-_08057548:
- ldm r3!, {r0}
- stm r1!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _08057548
- add sp, 0x104
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80574C4
-
- thumb_func_start sub_805755C
-sub_805755C:
- push {r4,lr}
- lsls r1, 16
- lsrs r4, r1, 16
- cmp r4, 0x97
- bne _08057576
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08057576
- movs r0, 0
- b _08057580
-_08057576:
- adds r0, r4, 0
- bl sub_809422C
- lsls r0, 24
- lsrs r0, 24
-_08057580:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805755C
-
- thumb_func_start sub_8057588
-sub_8057588:
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080575F8
- ldr r5, [r4, 0x70]
- movs r3, 0
-_0805759E:
- lsls r0, r3, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- adds r4, r3, 0x1
- cmp r0, 0
- beq _080575F2
- movs r3, 0x1
- ldrb r1, [r2, 0x1]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080575C8
- movs r0, 0xEF
- ands r0, r1
- strb r0, [r2, 0x1]
- movs r3, 0x2
-_080575C8:
- ldrb r1, [r2, 0x1]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080575F2
- movs r0, 0xF7
- ands r0, r1
- strb r0, [r2, 0x1]
- cmp r6, 0
- beq _080575F2
- cmp r3, 0
- beq _080575F2
- adds r1, r3, 0
-_080575E2:
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- beq _080575EC
- subs r0, 0x1
- strb r0, [r2, 0x4]
-_080575EC:
- subs r1, 0x1
- cmp r1, 0
- bne _080575E2
-_080575F2:
- adds r3, r4, 0
- cmp r3, 0x3
- ble _0805759E
-_080575F8:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8057588
-
- thumb_func_start sub_8057600
-sub_8057600:
- push {r4,lr}
- ldrh r4, [r0, 0x2]
- adds r0, r1, 0
- bl sub_8057620
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8094828
- lsls r0, 16
- asrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8057600
-
- thumb_func_start sub_8057620
-sub_8057620:
- push {lr}
- cmp r0, 0
- beq _0805762C
- lsls r0, 24
- lsrs r0, 24
- b _0805762E
-_0805762C:
- movs r0, 0
-_0805762E:
- pop {r1}
- bx r1
- thumb_func_end sub_8057620
-
- thumb_func_start sub_8057634
-sub_8057634:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057678
- movs r7, 0x1
- ldr r0, _08057684
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08057678
- ldr r0, _08057688
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8076F80
-_08057678:
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057684: .4byte gUnknown_80F4DB4
-_08057688: .4byte gUnknown_8106A4C
- thumb_func_end sub_8057634
-
- thumb_func_start sub_805768C
-sub_805768C:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r3, 0
- movs r6, 0
- ldr r4, _080576B8
- ldr r3, [r4]
- adds r3, 0x1
- str r3, [r4]
- ldr r4, _080576BC
- lsls r3, 2
- adds r3, r4
- ldr r3, [r3]
- str r5, [sp]
- bl sub_8055640
- cmp r0, 0
- bne _080576C4
- ldr r1, _080576C0
- movs r0, 0x1
- strb r0, [r1]
- b _080576C6
- .align 2, 0
-_080576B8: .4byte gUnknown_202F21C
-_080576BC: .4byte gUnknown_8106A54
-_080576C0: .4byte gUnknown_202F220
-_080576C4:
- movs r6, 0x1
-_080576C6:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805768C
-
- thumb_func_start sub_80576D0
-sub_80576D0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _080576F4
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r2, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8075F34
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080576F4: .4byte gUnknown_80F4F28
- thumb_func_end sub_80576D0
-
- thumb_func_start sub_80576F8
-sub_80576F8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _0805771C
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8075C58
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805771C: .4byte gUnknown_80F4E74
- thumb_func_end sub_80576F8
-
- thumb_func_start sub_8057720
-sub_8057720:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _08057744
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8075DBC
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08057744: .4byte gUnknown_80F4E78
- thumb_func_end sub_8057720
-
- thumb_func_start sub_8057748
-sub_8057748:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _08057778
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_8077C44
- movs r0, 0x1
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08057778: .4byte gUnknown_80F502A
- thumb_func_end sub_8057748
-
- thumb_func_start sub_805777C
-sub_805777C:
- push {lr}
- bl sub_8079DB8
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805777C
-
- thumb_func_start sub_8057788
-sub_8057788:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- mov r8, r3
- movs r0, 0
- mov r9, r0
- adds r0, r4, 0
- bl sub_8045128
- adds r5, r0, 0
- bl sub_804AF20
- lsls r0, 24
- cmp r0, 0
- beq _080577BA
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _080577CC
-_080577BA:
- ldr r0, _080577C8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _0805780E
- .align 2, 0
-_080577C8: .4byte gUnknown_80FD14C
-_080577CC:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _080577F8
- ldr r0, _080577F4
- ldr r3, [r0]
- mov r0, r8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_8055640
- adds r0, r4, 0
- bl sub_8079764
- b _0805780A
- .align 2, 0
-_080577F4: .4byte gUnknown_80F4F68
-_080577F8:
- ldr r0, _08057820
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_8079618
-_0805780A:
- movs r0, 0x1
- mov r9, r0
-_0805780E:
- mov r0, r9
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057820: .4byte gUnknown_80FAD4C
- thumb_func_end sub_8057788
-
- thumb_func_start sub_8057824
-sub_8057824:
- push {lr}
- ldr r2, _08057838
- ldr r2, [r2]
- movs r3, 0x1
- bl sub_80775DC
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_08057838: .4byte gUnknown_8106A50
- thumb_func_end sub_8057824
-
- thumb_func_start sub_805783C
-sub_805783C:
- push {lr}
- sub sp, 0x4
- ldr r2, _08057858
- ldr r2, [r2]
- movs r3, 0x1
- str r3, [sp]
- movs r3, 0x80
- bl sub_80772C0
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_08057858: .4byte gUnknown_8106A4C
- thumb_func_end sub_805783C
-
- thumb_func_start sub_805785C
-sub_805785C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _08057894
- ldr r0, [r0]
- ldr r1, _08057898
- ldrh r1, [r1]
- ldr r2, _0805789C
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x1
- movs r1, 0
- bl sub_807EAA0
- lsls r0, 24
- cmp r0, 0
- bne _0805788A
- ldr r0, _080578A0
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0805788A:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08057894: .4byte gUnknown_203B418
-_08057898: .4byte gUnknown_80F4F42
-_0805789C: .4byte 0x0000e26b
-_080578A0: .4byte gUnknown_80FCF74
- thumb_func_end sub_805785C
-
- thumb_func_start sub_80578A4
-sub_80578A4:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _080578DC
- ldr r0, [r0]
- ldr r1, _080578E0
- ldrh r1, [r1]
- ldr r2, _080578E4
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x1
- movs r1, 0
- bl sub_807EAA0
- lsls r0, 24
- cmp r0, 0
- bne _080578D2
- ldr r0, _080578E8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080578D2:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080578DC: .4byte gUnknown_203B418
-_080578E0: .4byte gUnknown_80F4F42
-_080578E4: .4byte 0x0000e26c
-_080578E8: .4byte gUnknown_80FCF80
- thumb_func_end sub_80578A4
-
- thumb_func_start sub_80578EC
-sub_80578EC:
- push {lr}
- movs r2, 0x1
- movs r3, 0
- bl sub_8079F20
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80578EC
-
- thumb_func_start sub_80578FC
-sub_80578FC:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057938
- movs r7, 0x1
- ldr r0, _08057944
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08057938
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_80779F0
-_08057938:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057944: .4byte gUnknown_80F4DB6
- thumb_func_end sub_80578FC
-
- thumb_func_start sub_8057948
-sub_8057948:
- push {lr}
- bl sub_8078968
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8057948
-
- thumb_func_start sub_8057954
-sub_8057954:
- push {lr}
- sub sp, 0x4
- adds r3, r2, 0
- ldr r2, _08057970
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0xC
- bl sub_8079618
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_08057970: .4byte gUnknown_80FAC88
- thumb_func_end sub_8057954
-
- thumb_func_start sub_8057974
-sub_8057974:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r10, r0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r9, r3
- ldr r0, [r5, 0x70]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- mov r8, r0
- movs r6, 0
- add r0, sp, 0x18
- strb r6, [r0]
- mov r0, r8
- cmp r0, 0
- beq _080579E8
- adds r0, r7, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r7, 0
- mov r1, r9
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r6, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r6, [sp, 0x14]
- mov r0, r10
- adds r1, r5, 0
- mov r2, r8
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080579E4
- movs r2, 0x1
-_080579E4:
- strb r2, [r1]
- b _080579F4
-_080579E8:
- ldr r0, _08057A08
- ldr r2, [r0]
- mov r0, r10
- adds r1, r5, 0
- bl sub_80522F4
-_080579F4:
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057A08: .4byte gUnknown_80FD018
- thumb_func_end sub_8057974
-
- thumb_func_start sub_8057A0C
-sub_8057A0C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r2, [r5, 0x70]
- mov r8, r2
- ldr r0, [r6, 0x70]
- adds r3, r0, 0
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- movs r4, 0xE
- ldrsh r1, [r3, r4]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r2, 0xE]
- strh r0, [r3, 0xE]
- movs r7, 0xE
- ldrsh r1, [r2, r7]
- ldrh r4, [r2, 0x10]
- movs r7, 0x10
- ldrsh r0, [r2, r7]
- cmp r1, r0
- ble _08057A42
- strh r4, [r2, 0xE]
-_08057A42:
- movs r0, 0xE
- ldrsh r1, [r3, r0]
- ldrh r2, [r3, 0x10]
- movs r4, 0x10
- ldrsh r0, [r3, r4]
- cmp r1, r0
- ble _08057A52
- strh r2, [r3, 0xE]
-_08057A52:
- ldr r4, _08057A90
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- mov r1, r8
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _08057A78
- movs r0, 0x1
- strb r0, [r1]
-_08057A78:
- ldr r0, _08057A94
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80522F4
- movs r0, 0x1
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057A90: .4byte gUnknown_202DF98
-_08057A94: .4byte gUnknown_80FC7EC
- thumb_func_end sub_8057A0C
-
- thumb_func_start sub_8057A98
-sub_8057A98:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r10, r0
- mov r8, r1
- ldr r0, [r1, 0x70]
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r0, r1
- adds r5, r4, 0
- movs r0, 0x10
- mov r9, r0
- movs r7, 0x3
-_08057ABE:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08057B12
- movs r6, 0x20
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08057B04
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08057B12
- ldr r0, _08057AFC
- adds r1, r5, 0
- movs r2, 0
- bl sub_80928C0
- ldr r0, _08057B00
- ldr r2, [r0]
- mov r0, r10
- mov r1, r8
- bl sub_80522F4
- ldrb r0, [r4]
- orrs r0, r6
- strb r0, [r4]
- movs r1, 0x1
- str r1, [sp, 0xC]
- b _08057B12
- .align 2, 0
-_08057AFC: .4byte gUnknown_202DE58
-_08057B00: .4byte gUnknown_80FCFBC
-_08057B04:
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _08057B12
- movs r0, 0xDF
- ands r0, r1
- strb r0, [r4]
-_08057B12:
- adds r4, 0x8
- adds r5, 0x8
- subs r7, 0x1
- cmp r7, 0
- bge _08057ABE
- ldr r0, [sp, 0x8]
- movs r1, 0x9C
- lsls r1, 1
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08057B6C
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08057B7A
- movs r1, 0xB0
- lsls r1, 1
- mov r0, sp
- bl sub_8092A88
- ldrb r1, [r4]
- movs r0, 0x20
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0x1
- str r0, [sp, 0xC]
- ldr r0, _08057B64
- mov r1, sp
- movs r2, 0
- bl sub_80928C0
- ldr r0, _08057B68
- ldr r2, [r0]
- mov r0, r10
- mov r1, r8
- bl sub_80522F4
- b _08057B7A
- .align 2, 0
-_08057B64: .4byte gUnknown_202DE58
-_08057B68: .4byte gUnknown_80FCFBC
-_08057B6C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08057B7A
- movs r0, 0xDF
- ands r0, r1
- strb r0, [r4]
-_08057B7A:
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _08057B90
- ldr r1, [sp, 0x8]
- adds r1, 0xC0
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08057B9C
- movs r0, 0
- strb r0, [r1]
- b _08057B9C
-_08057B90:
- ldr r0, _08057BB0
- ldr r2, [r0]
- mov r0, r10
- mov r1, r8
- bl sub_80522F4
-_08057B9C:
- ldr r0, [sp, 0xC]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057BB0: .4byte gUnknown_80FCFE4
- thumb_func_end sub_8057A98
-
- thumb_func_start sub_8057BB4
-sub_8057BB4:
- push {lr}
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80779F0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8057BB4
-
- thumb_func_start sub_8057BC4
-sub_8057BC4:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8077AE4
- ldr r0, _08057BE8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x2
- bl sub_8077084
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08057BE8: .4byte gUnknown_8106A4C
- thumb_func_end sub_8057BC4
-
- thumb_func_start sub_8057BEC
-sub_8057BEC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- adds r6, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r4, 0
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- beq _08057C48
- movs r3, 0x80
- lsls r3, 1
- str r6, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057C54
- movs r1, 0x1
- mov r8, r1
- ldr r0, _08057C44
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08057C54
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_80776C0
- b _08057C54
- .align 2, 0
-_08057C44: .4byte gUnknown_80F4E0A
-_08057C48:
- ldr r0, _08057C64
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08057C54:
- mov r0, r8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057C64: .4byte gUnknown_80FC734
- thumb_func_end sub_8057BEC
-
- thumb_func_start sub_8057C68
-sub_8057C68:
- push {lr}
- sub sp, 0x4
- ldr r2, _08057C84
- ldr r2, [r2]
- movs r3, 0x1
- str r3, [sp]
- movs r3, 0x40
- bl sub_8077434
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_08057C84: .4byte gUnknown_8106A4C
- thumb_func_end sub_8057C68
-
- thumb_func_start sub_8057C88
-sub_8057C88:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057CC2
- movs r7, 0x1
- ldr r0, _08057CCC
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08057CC2
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80776C0
-_08057CC2:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057CCC: .4byte gUnknown_80F4DF6
- thumb_func_end sub_8057C88
-
- thumb_func_start sub_8057CD0
-sub_8057CD0:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r5, r3, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08057D18
- adds r1, r0, r1
- ldrb r2, [r1]
- ldr r1, _08057D1C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- str r5, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r6, 0
- mov r3, r8
- bl sub_80556BC
- cmp r0, 0
- beq _08057D0A
- movs r0, 0x1
-_08057D0A:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08057D18: .4byte gUnknown_80F51E4
-_08057D1C: .4byte gUnknown_80F51EC
- thumb_func_end sub_8057CD0
-
- thumb_func_start sub_8057D20
-sub_8057D20:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- movs r7, 0
- ldr r0, [r4, 0x70]
- adds r0, 0xC0
- ldrb r0, [r0]
- movs r6, 0x80
- lsls r6, 1
- cmp r0, 0x9
- bne _08057D3C
- movs r6, 0x80
- lsls r6, 2
-_08057D3C:
- str r3, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r3, r6, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057D6E
- movs r7, 0x1
- ldr r0, _08057D78
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08057D6E
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x3B
- movs r3, 0
- bl sub_80768DC
-_08057D6E:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057D78: .4byte gUnknown_80F4E08
- thumb_func_end sub_8057D20
-
- thumb_func_start sub_8057D7C
-sub_8057D7C:
- push {lr}
- sub sp, 0x8
- ldr r2, _08057D98
- ldr r2, [r2]
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- movs r3, 0x2
- bl sub_8076F80
- movs r0, 0x1
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_08057D98: .4byte gUnknown_8106A50
- thumb_func_end sub_8057D7C
-
- thumb_func_start sub_8057D9C
-sub_8057D9C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r0, [r4, 0x70]
- movs r5, 0
- ldr r1, _08057DF8
- mov r8, r1
- movs r1, 0x8C
- lsls r1, 1
- adds r2, r0, r1
- movs r0, 0x1
- mov r12, r0
- movs r7, 0x10
- movs r3, 0x3
-_08057DBC:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _08057DD4
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08057DD4
- movs r0, 0
- strb r0, [r2, 0x4]
- movs r5, 0x1
-_08057DD4:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08057DBC
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- cmp r5, 0
- beq _08057E00
- ldr r0, _08057DFC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08057E0C
- .align 2, 0
-_08057DF8: .4byte gUnknown_202DFE8
-_08057DFC: .4byte gUnknown_80FD350
-_08057E00:
- ldr r0, _08057E18
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08057E0C:
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057E18: .4byte gUnknown_80FD370
- thumb_func_end sub_8057D9C
-
- thumb_func_start sub_8057E1C
-sub_8057E1C:
- push {lr}
- bl sub_8078348
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8057E1C
-
- thumb_func_start sub_8057E28
-sub_8057E28:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _08057E4C
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807824C
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08057E4C: .4byte gUnknown_80F4EDC
- thumb_func_end sub_8057E28
-
- thumb_func_start sub_8057E50
-sub_8057E50:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_807A9D8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8079CA0
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8057E50
-
- thumb_func_start sub_8057E6C
-sub_8057E6C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r7, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r4, r3, 0
- movs r0, 0
- mov r8, r0
- ldr r1, [r7, 0x70]
- mov r9, r1
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_807A9D8
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057EBC
- movs r0, 0x1
- mov r8, r0
- adds r0, r7, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _08057EBC
- ldr r0, _08057ECC
- add r0, r9
- mov r1, r8
- strb r1, [r0]
-_08057EBC:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057ECC: .4byte 0x00000155
- thumb_func_end sub_8057E6C
-
- thumb_func_start sub_8057ED0
-sub_8057ED0:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057F12
- movs r7, 0x1
- ldr r0, _08057F1C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08057F12
- ldr r0, _08057F20
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x80
- bl sub_80772C0
-_08057F12:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057F1C: .4byte gUnknown_80F4E04
-_08057F20: .4byte gUnknown_8106A4C
- thumb_func_end sub_8057ED0
-
- thumb_func_start sub_8057F24
-sub_8057F24:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r1
- ldr r5, [r6, 0x70]
- movs r0, 0x1
- mov r9, r0
- movs r4, 0x1
- strh r4, [r5, 0xE]
- ldr r0, _08057F74
- ldr r2, [r0]
- str r4, [sp]
- adds r0, r6, 0
- movs r3, 0x40
- bl sub_80772C0
- ldr r0, _08057F78
- ldr r2, [r0]
- str r4, [sp]
- adds r0, r6, 0
- mov r1, r8
- movs r3, 0x40
- bl sub_80772C0
- movs r0, 0xAA
- lsls r0, 1
- adds r5, r0
- mov r0, r9
- strb r0, [r5]
- movs r0, 0x1
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08057F74: .4byte gUnknown_8106A4C
-_08057F78: .4byte gUnknown_8106A50
- thumb_func_end sub_8057F24
-
- thumb_func_start sub_8057F7C
-sub_8057F7C:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08057FBA
- movs r7, 0x1
- ldr r0, _08057FC4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08057FBA
- ldr r0, _08057FC8
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_80775DC
-_08057FBA:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08057FC4: .4byte gUnknown_80F4E02
-_08057FC8: .4byte gUnknown_8106A4C
- thumb_func_end sub_8057F7C
-
- thumb_func_start sub_8057FCC
-sub_8057FCC:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8077AE4
- ldr r0, _08057FF0
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_8077084
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08057FF0: .4byte gUnknown_8106A50
- thumb_func_end sub_8057FCC
-
- thumb_func_start sub_8057FF4
-sub_8057FF4:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_807723C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _08058048
- ldr r0, [r4, 0x70]
- movs r2, 0xA9
- lsls r2, 1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08058054
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0805802C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- cmp r6, 0x1
- bne _08058034
- ldr r0, _08058030
- b _08058036
- .align 2, 0
-_0805802C: .4byte gUnknown_202DFE8
-_08058030: .4byte gUnknown_80FAE00
-_08058034:
- ldr r0, _08058044
-_08058036:
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08058054
- .align 2, 0
-_08058044: .4byte gUnknown_80FADD8
-_08058048:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8076210
-_08058054:
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8057FF4
-
- thumb_func_start sub_805805C
-sub_805805C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r10, r0
- mov r9, r1
- adds r5, r2, 0
- mov r8, r3
- ldr r1, [r0, 0x70]
- movs r6, 0x1
- movs r2, 0
- ldr r4, _08058098
- movs r3, 0
- ldrsh r0, [r4, r3]
- cmp r0, 0
- blt _080580B0
- movs r7, 0xC
- ldrsh r3, [r1, r7]
- adds r1, r4, 0
- ldr r4, _0805809C
-_08058088:
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r3, r0
- bge _080580A0
- movs r0, 0x2
- ldrsh r6, [r1, r0]
- b _080580B0
- .align 2, 0
-_08058098: .4byte gUnknown_80F55BC
-_0805809C: .4byte 0x000003e6
-_080580A0:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, r4
- bgt _080580B0
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bge _08058088
-_080580B0:
- adds r0, r5, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- mov r0, r10
- mov r1, r9
- adds r2, r6, 0
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080580F4
- movs r2, 0x1
-_080580F4:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805805C
-
- thumb_func_start sub_805810C
-sub_805810C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r7, 0
- ldr r4, [r5, 0x70]
- ldr r0, _08058134
- movs r2, 0
- bl sub_8045B94
- adds r4, 0xF4
- ldrb r0, [r4]
- cmp r0, 0
- beq _0805813C
- ldr r0, _08058138
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _0805814E
- .align 2, 0
-_08058134: .4byte gUnknown_202DFE8
-_08058138: .4byte gUnknown_80FD2B4
-_0805813C:
- movs r0, 0x1
- strb r0, [r4]
- movs r7, 0x1
- ldr r0, _08058158
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0805814E:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058158: .4byte gUnknown_80FD294
- thumb_func_end sub_805810C
-
- thumb_func_start sub_805815C
-sub_805815C:
- push {lr}
- movs r2, 0x4
- bl sub_80797A0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805815C
-
- thumb_func_start sub_805816C
-sub_805816C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- adds r4, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r6, 0
- bl sub_807A9D8
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _080581BE
- movs r1, 0x1
- mov r8, r1
- ldr r0, _080581CC
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _080581BE
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl sub_8076210
-_080581BE:
- mov r0, r8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080581CC: .4byte gUnknown_80F4DB8
- thumb_func_end sub_805816C
-
- thumb_func_start sub_80581D0
-sub_80581D0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- adds r4, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r6, 0
- bl sub_807A9D8
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058222
- movs r1, 0x1
- mov r8, r1
- ldr r0, _08058230
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058222
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl sub_8076210
-_08058222:
- mov r0, r8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058230: .4byte gUnknown_80F4DBA
- thumb_func_end sub_80581D0
-
- thumb_func_start sub_8058234
-sub_8058234:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldrh r1, [r2, 0x2]
- ldr r0, _08058258
- movs r2, 0x51
- cmp r1, r0
- bne _08058246
- movs r2, 0x7A
-_08058246:
- adds r0, r3, 0
- adds r1, r4, 0
- bl sub_8078FDC
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08058258: .4byte 0x0000013b
- thumb_func_end sub_8058234
-
- thumb_func_start sub_805825C
-sub_805825C:
- push {lr}
- ldr r2, _0805826C
- ldr r2, [r2]
- bl sub_8077540
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0805826C: .4byte gUnknown_8106A50
- thumb_func_end sub_805825C
-
- thumb_func_start sub_8058270
-sub_8058270:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r2, 0
- adds r2, r3, 0
- movs r3, 0x1
- ldr r0, [r1, 0x70]
- adds r0, 0xC0
- ldrb r0, [r0]
- subs r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0805828E
- movs r3, 0x2
-_0805828E:
- lsls r3, 8
- str r2, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8058270
-
- thumb_func_start sub_80582AC
-sub_80582AC:
- push {lr}
- ldr r2, _080582C0
- ldr r2, [r2]
- movs r3, 0x1
- bl sub_8077160
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080582C0: .4byte gUnknown_8106A4C
- thumb_func_end sub_80582AC
-
- thumb_func_start sub_80582C4
-sub_80582C4:
- push {lr}
- movs r2, 0x1
- bl sub_8077780
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80582C4
-
- thumb_func_start sub_80582D4
-sub_80582D4:
- push {lr}
- ldr r2, _080582E8
- ldr r2, [r2]
- movs r3, 0x1
- bl sub_8077084
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_080582E8: .4byte gUnknown_8106A4C
- thumb_func_end sub_80582D4
-
- thumb_func_start sub_80582EC
-sub_80582EC:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- adds r1, r4, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _08058328
- ldr r0, _08058324
- ldr r3, [r0]
- str r6, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r5, 0
- bl sub_8079764
- b _0805833C
- .align 2, 0
-_08058324: .4byte gUnknown_80F4F50
-_08058328:
- ldr r0, _08058348
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x4
- adds r3, r4, 0
- bl sub_8079618
- movs r4, 0x1
-_0805833C:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058348: .4byte gUnknown_80FAC54
- thumb_func_end sub_80582EC
-
- thumb_func_start sub_805834C
-sub_805834C:
- push {lr}
- sub sp, 0x4
- adds r3, r2, 0
- ldr r2, _08058368
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0x1
- bl sub_8079618
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_08058368: .4byte gUnknown_80FAC74
- thumb_func_end sub_805834C
-
- thumb_func_start sub_805836C
-sub_805836C:
- push {r4-r7,lr}
- sub sp, 0x1C
- adds r6, r0, 0
- adds r7, r1, 0
- movs r5, 0
- add r0, sp, 0x18
- strb r5, [r0]
- ldr r0, [r6, 0x70]
- adds r0, 0xA0
- ldr r0, [r0]
- lsls r4, r0, 1
- ldr r0, _080583D0
- cmp r4, r0
- ble _0805838A
- adds r4, r0, 0
-_0805838A:
- adds r0, r2, 0
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- add r1, sp, 0x18
- str r1, [sp]
- str r0, [sp, 0x4]
- ldr r0, _080583D4
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r5, [sp, 0x14]
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080583C0
- movs r2, 0x1
-_080583C0:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080583D0: .4byte 0x000003e7
-_080583D4: .4byte 0x000001ff
- thumb_func_end sub_805836C
-
- thumb_func_start sub_80583D8
-sub_80583D8:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805841C
- movs r7, 0x1
- ldr r0, _08058428
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805841C
- ldr r0, _0805842C
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8076F80
-_0805841C:
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058428: .4byte gUnknown_80F4DC2
-_0805842C: .4byte gUnknown_8106A50
- thumb_func_end sub_80583D8
-
- thumb_func_start sub_8058430
-sub_8058430:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805846A
- movs r7, 0x1
- ldr r0, _08058474
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805846A
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80776C0
-_0805846A:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058474: .4byte gUnknown_80F4DEE
- thumb_func_end sub_8058430
-
- thumb_func_start sub_8058478
-sub_8058478:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080584B2
- movs r7, 0x1
- ldr r0, _080584BC
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _080584B2
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
-_080584B2:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080584BC: .4byte gUnknown_80F4DE6
- thumb_func_end sub_8058478
-
- thumb_func_start sub_80584C0
-sub_80584C0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r9, r0
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- movs r7, 0
- add r0, sp, 0x18
- strb r7, [r0]
- mov r0, r9
- ldr r2, [r0, 0x70]
- ldr r0, [r1, 0x70]
- movs r3, 0xE
- ldrsh r1, [r0, r3]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- subs r5, r1, r0
- cmp r5, 0
- bge _080584F0
- movs r5, 0
-_080584F0:
- adds r0, r6, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r7, [sp, 0x14]
- mov r0, r9
- mov r1, r10
- adds r2, r5, 0
- movs r3, 0
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08058532
- movs r2, 0x1
-_08058532:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80584C0
-
- thumb_func_start sub_8058548
-sub_8058548:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r5, 0x80
- lsls r5, 1
- ldr r0, [r4, 0x70]
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08058560
- ldr r0, _0805857C
- ldr r5, [r0]
-_08058560:
- str r3, [sp]
- adds r0, r4, 0
- adds r3, r5, 0
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805857C: .4byte gUnknown_80F4F6C
- thumb_func_end sub_8058548
-
- thumb_func_start sub_8058580
-sub_8058580:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080585BC
- movs r7, 0x1
- ldr r0, _080585C8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _080585BC
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_80779F0
-_080585BC:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080585C8: .4byte gUnknown_80F4DD4
- thumb_func_end sub_8058580
-
- thumb_func_start sub_80585CC
-sub_80585CC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- mov r8, r2
- adds r7, r3, 0
- movs r6, 0
- ldr r0, [r4, 0x70]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080585EC
- cmp r0, 0x3
- bne _08058602
-_080585EC:
- ldr r0, _08058620
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A4C8
- movs r6, 0x1
-_08058602:
- movs r3, 0x80
- lsls r3, 1
- str r7, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r8
- bl sub_8055640
- cmp r0, 0
- beq _08058624
- movs r0, 0x1
- orrs r0, r6
- lsls r0, 24
- b _08058626
- .align 2, 0
-_08058620: .4byte gUnknown_80FD104
-_08058624:
- lsls r0, r6, 24
-_08058626:
- lsrs r0, 24
- adds r6, r0, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80585CC
-
- thumb_func_start sub_8058638
-sub_8058638:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058670
- movs r7, 0x1
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058670
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_80779F0
-_08058670:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8058638
-
- thumb_func_start sub_805867C
-sub_805867C:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- adds r1, r4, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _080586B8
- ldr r0, _080586B4
- ldr r3, [r0]
- str r6, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r5, 0
- bl sub_8079764
- b _080586CC
- .align 2, 0
-_080586B4: .4byte gUnknown_80F4F54
-_080586B8:
- ldr r0, _080586D8
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x5
- adds r3, r4, 0
- bl sub_8079618
- movs r4, 0x1
-_080586CC:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080586D8: .4byte gUnknown_80FACA4
- thumb_func_end sub_805867C
-
- thumb_func_start sub_80586DC
-sub_80586DC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r5, r3, 0
- adds r0, r4, 0
- movs r1, 0x3A
- bl sub_8071824
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r3, 0x80
- lsls r3, 1
- str r5, [sp]
- adds r0, r7, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_8055640
- adds r4, r0, 0
- negs r0, r4
- orrs r0, r4
- lsrs r5, r0, 31
- cmp r5, 0
- beq _08058762
- adds r0, r7, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _08058762
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r2, r0, 1
- ldr r0, [r7, 0x70]
- movs r5, 0x1
- cmp r2, 0
- bgt _08058734
- movs r2, 0x1
-_08058734:
- adds r1, r0, 0
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _08058740
- strb r5, [r1]
-_08058740:
- mov r0, r8
- cmp r0, 0
- beq _08058756
- movs r3, 0xFD
- lsls r3, 1
- adds r0, r7, 0
- adds r1, r2, 0
- movs r2, 0xD
- bl sub_806F324
- b _08058762
-_08058756:
- str r5, [sp]
- adds r0, r7, 0
- adds r1, r7, 0
- movs r3, 0
- bl sub_8077C44
-_08058762:
- adds r0, r5, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80586DC
-
- thumb_func_start sub_8058770
-sub_8058770:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- mov r12, r2
- adds r5, r3, 0
- ldr r2, [r4, 0x70]
- movs r0, 0x10
- ldrsh r3, [r2, r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _0805878A
- adds r0, r3, 0x3
-_0805878A:
- movs r7, 0xE
- ldrsh r1, [r2, r7]
- asrs r0, 2
- cmp r1, r0
- bgt _08058798
- movs r3, 0
- b _080587BE
-_08058798:
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsrs r0, r3, 31
- adds r0, r3, r0
- asrs r0, 1
- cmp r1, r0
- bgt _080587AA
- movs r3, 0x1
- b _080587BE
-_080587AA:
- lsls r0, r3, 1
- adds r0, r3
- cmp r0, 0
- bge _080587B4
- adds r0, 0x3
-_080587B4:
- asrs r0, 2
- movs r3, 0x3
- cmp r1, r0
- bgt _080587BE
- movs r3, 0x2
-_080587BE:
- ldr r1, _080587E4
- lsls r0, r3, 2
- adds r0, r1
- ldr r3, [r0]
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r12
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080587E4: .4byte gUnknown_80F51A4
- thumb_func_end sub_8058770
-
- thumb_func_start sub_80587E8
-sub_80587E8:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- adds r1, r3, 0
- ldr r0, [r5, 0x70]
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0805881A
- movs r3, 0x80
- lsls r3, 2
- str r1, [sp]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_807A290
- b _0805882E
-_0805881A:
- movs r3, 0x80
- lsls r3, 1
- str r1, [sp]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
-_0805882E:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80587E8
-
- thumb_func_start sub_8058838
-sub_8058838:
- push {lr}
- sub sp, 0x8
- ldr r2, _08058854
- ldr r2, [r2]
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- movs r3, 0x3
- bl sub_8076F80
- movs r0, 0x1
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_08058854: .4byte gUnknown_8106A50
- thumb_func_end sub_8058838
-
- thumb_func_start sub_8058858
-sub_8058858:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r6, r0, 0
- mov r8, r1
- ldr r0, _08058898
- ldr r5, [r0]
- movs r4, 0x1
- str r4, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_8076E20
- str r4, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- mov r1, r8
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_8076F80
- movs r0, 0x1
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08058898: .4byte gUnknown_8106A4C
- thumb_func_end sub_8058858
-
- thumb_func_start sub_805889C
-sub_805889C:
- push {lr}
- bl sub_80769CC
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805889C
-
- thumb_func_start sub_80588A8
-sub_80588A8:
- push {lr}
- movs r2, 0x1
- bl sub_8079E34
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80588A8
-
- thumb_func_start sub_80588B8
-sub_80588B8:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080588E4
- movs r6, 0x1
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _080588E4
- ldr r0, _080588F0
- strb r6, [r0]
-_080588E4:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080588F0: .4byte gUnknown_202F219
- thumb_func_end sub_80588B8
-
- thumb_func_start sub_80588F4
-sub_80588F4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r0, [r5, 0x70]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bl sub_808DB78
- adds r3, r0, 0
- str r4, [sp]
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80588F4
-
- thumb_func_start sub_8058930
-sub_8058930:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- movs r0, 0
- mov r8, r0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r0, r7, 0
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080589B8
- movs r2, 0x1
- mov r8, r2
- ldr r0, _080589C8
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _080589B8
- ldr r6, [r7, 0x70]
- adds r0, r7, 0
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8077910
- ldr r0, _080589CC
- ldr r5, [r0]
- adds r0, r7, 0
- adds r1, r7, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_8077084
- ldr r0, _080589D0
- ldr r4, [r0]
- adds r0, r7, 0
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077084
- adds r0, r7, 0
- adds r1, r7, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_8077160
- adds r0, r7, 0
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077160
- adds r6, 0xFB
- ldrb r0, [r6]
- cmp r0, 0
- bne _080589B8
- mov r0, r8
- strb r0, [r6]
-_080589B8:
- mov r0, r8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080589C8: .4byte gUnknown_80F4DD6
-_080589CC: .4byte gUnknown_8106A4C
-_080589D0: .4byte gUnknown_8106A50
- thumb_func_end sub_8058930
-
- thumb_func_start sub_80589D4
-sub_80589D4:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _08058A04
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_8077C44
- movs r0, 0x1
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08058A04: .4byte gUnknown_80F500A
- thumb_func_end sub_80589D4
-
- thumb_func_start sub_8058A08
-sub_8058A08:
- push {lr}
- movs r2, 0
- movs r3, 0x1
- bl sub_8077910
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8058A08
-
- thumb_func_start sub_8058A18
-sub_8058A18:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058A44
- movs r6, 0x1
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _08058A44
- ldr r0, _08058A50
- strb r6, [r0]
-_08058A44:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08058A50: .4byte gUnknown_202F21A
- thumb_func_end sub_8058A18
-
- thumb_func_start sub_8058A54
-sub_8058A54:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _08058A78
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80781DC
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08058A78: .4byte gUnknown_80F4EB8
- thumb_func_end sub_8058A54
-
- thumb_func_start sub_8058A7C
-sub_8058A7C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _08058AA4
- ldr r2, [r0]
- adds r0, r4, 0
- movs r3, 0x1
- bl sub_8077160
- ldr r0, _08058AA8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_8077160
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08058AA4: .4byte gUnknown_8106A4C
-_08058AA8: .4byte gUnknown_8106A50
- thumb_func_end sub_8058A7C
-
- thumb_func_start sub_8058AAC
-sub_8058AAC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _08058B14
- ldr r0, _08058B0C
- ldr r3, [r0]
- str r7, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058B04
- movs r1, 0x1
- mov r8, r1
- ldr r0, _08058B10
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058B04
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80776C0
-_08058B04:
- adds r0, r4, 0
- bl sub_8079764
- b _08058B2A
- .align 2, 0
-_08058B0C: .4byte gUnknown_80F4F4C
-_08058B10: .4byte gUnknown_80F4DF4
-_08058B14:
- ldr r0, _08058B38
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x3
- adds r3, r5, 0
- bl sub_8079618
- movs r0, 0x1
- mov r8, r0
-_08058B2A:
- mov r0, r8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058B38: .4byte gUnknown_80FACC4
- thumb_func_end sub_8058AAC
-
- thumb_func_start sub_8058B3C
-sub_8058B3C:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058B76
- movs r7, 0x1
- ldr r0, _08058B80
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058B76
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80767B0
-_08058B76:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058B80: .4byte gUnknown_80F4DBC
- thumb_func_end sub_8058B3C
-
- thumb_func_start sub_8058B84
-sub_8058B84:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058BCC
- movs r6, 0x1
- ldr r0, _08058BD8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058BCC
- ldr r4, [r5, 0x70]
- ldr r0, _08058BDC
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_8077084
- adds r4, 0xFB
- ldrb r0, [r4]
- cmp r0, 0
- bne _08058BCC
- strb r6, [r4]
-_08058BCC:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08058BD8: .4byte gUnknown_80F4DD0
-_08058BDC: .4byte gUnknown_8106A4C
- thumb_func_end sub_8058B84
-
- thumb_func_start sub_8058BE0
-sub_8058BE0:
- push {lr}
- adds r1, r0, 0
- bl sub_8079C24
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8058BE0
-
- thumb_func_start sub_8058BF0
-sub_8058BF0:
- push {lr}
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80779F0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8058BF0
-
- thumb_func_start sub_8058C00
-sub_8058C00:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058C3A
- movs r7, 0x1
- ldr r0, _08058C44
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058C3A
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077AE4
-_08058C3A:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058C44: .4byte gUnknown_80F4DF8
- thumb_func_end sub_8058C00
-
- thumb_func_start sub_8058C48
-sub_8058C48:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- adds r5, r3, 0
- movs r1, 0xC0
- lsls r1, 1
- movs r0, 0x80
- bl sub_808411C
- adds r3, r0, 0
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x9]
- muls r0, r3
- cmp r0, 0
- bge _08058C6C
- adds r0, 0xFF
-_08058C6C:
- asrs r3, r0, 8
- cmp r3, 0
- bge _08058C74
- movs r3, 0x1
-_08058C74:
- cmp r3, 0xC7
- ble _08058C7A
- movs r3, 0xC7
-_08058C7A:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_8055864
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8058C48
-
- thumb_func_start sub_8058C98
-sub_8058C98:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x1C]
- movs r6, 0
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058CDE
- movs r6, 0x1
- ldr r0, _08058CE8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058CDE
- str r6, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_8076F80
-_08058CDE:
- adds r0, r6, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058CE8: .4byte gUnknown_80F4DC0
- thumb_func_end sub_8058C98
-
- thumb_func_start sub_8058CEC
-sub_8058CEC:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- movs r6, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058D28
- movs r6, 0x1
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _08058D28
- ldr r0, _08058D34
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r3, 0x2
- bl sub_8076E20
-_08058D28:
- adds r0, r6, 0
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08058D34: .4byte gUnknown_8106A50
- thumb_func_end sub_8058CEC
-
- thumb_func_start sub_8058D38
-sub_8058D38:
- push {lr}
- bl sub_8075FCC
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8058D38
-
- thumb_func_start sub_8058D44
-sub_8058D44:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- mov r12, r2
- adds r5, r3, 0
- ldr r2, [r4, 0x70]
- movs r0, 0x10
- ldrsh r3, [r2, r0]
- adds r0, r3, 0
- cmp r3, 0
- bge _08058D5E
- adds r0, r3, 0x3
-_08058D5E:
- movs r7, 0xE
- ldrsh r1, [r2, r7]
- asrs r0, 2
- cmp r1, r0
- bgt _08058D6C
- movs r3, 0
- b _08058D92
-_08058D6C:
- movs r0, 0xE
- ldrsh r1, [r2, r0]
- lsrs r0, r3, 31
- adds r0, r3, r0
- asrs r0, 1
- cmp r1, r0
- bgt _08058D7E
- movs r3, 0x1
- b _08058D92
-_08058D7E:
- lsls r0, r3, 1
- adds r0, r3
- cmp r0, 0
- bge _08058D88
- adds r0, 0x3
-_08058D88:
- asrs r0, 2
- movs r3, 0x3
- cmp r1, r0
- bgt _08058D92
- movs r3, 0x2
-_08058D92:
- ldr r1, _08058DB8
- lsls r0, r3, 2
- adds r0, r1
- ldr r3, [r0]
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r12
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058DB8: .4byte gUnknown_80F51B4
- thumb_func_end sub_8058D44
-
- thumb_func_start sub_8058DBC
-sub_8058DBC:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- ldr r5, [r7, 0x70]
- ldr r4, [r6, 0x70]
- adds r0, r6, 0
- bl nullsub_92
- movs r3, 0
-_08058DCE:
- lsls r2, r3, 1
- adds r1, r5, 0
- adds r1, 0x1C
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x1C
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, r5, 0
- adds r1, 0x20
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x20
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, r5, 0
- adds r1, 0x24
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x24
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r2, r3, 2
- adds r1, r5, 0
- adds r1, 0x2C
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x2C
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r5, 0
- adds r1, 0x34
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x34
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- adds r3, 0x1
- cmp r3, 0x1
- ble _08058DCE
- ldr r0, _08058E54
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08058E58
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80522F4
- adds r1, r5, 0
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _08058E4C
- movs r0, 0x1
- strb r0, [r1]
-_08058E4C:
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058E54: .4byte gUnknown_202DF98
-_08058E58: .4byte gUnknown_80FBD58
- thumb_func_end sub_8058DBC
-
- thumb_func_start sub_8058E5C
-sub_8058E5C:
- push {r4-r7,lr}
- sub sp, 0x18
- adds r5, r0, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058ED0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08058ED0
- ldr r0, [r5, 0x70]
- movs r1, 0x10
- ldrsh r2, [r0, r1]
- cmp r2, 0
- bge _08058E8C
- adds r2, 0x7
-_08058E8C:
- asrs r6, r2, 3
- cmp r6, 0
- bne _08058E94
- movs r6, 0x1
-_08058E94:
- movs r7, 0x1
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_8071824
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _08058ED0
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _08058ED0
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r0, _08058EDC
- str r0, [sp, 0x8]
- movs r0, 0x14
- str r0, [sp, 0xC]
- str r7, [sp, 0x10]
- str r4, [sp, 0x14]
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl sub_806F370
-_08058ED0:
- adds r0, r7, 0
- add sp, 0x18
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058EDC: .4byte 0x000001fd
- thumb_func_end sub_8058E5C
-
- thumb_func_start sub_8058EE0
-sub_8058EE0:
- push {lr}
- sub sp, 0x4
- ldr r2, [r1, 0x70]
- movs r3, 0x10
- ldrsh r2, [r2, r3]
- lsrs r3, r2, 31
- adds r2, r3
- asrs r2, 1
- movs r3, 0x1
- str r3, [sp]
- movs r3, 0
- bl sub_8077C44
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8058EE0
-
- thumb_func_start sub_8058F04
-sub_8058F04:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- adds r4, r1, 0
- mov r12, r2
- adds r5, r3, 0
- ldr r3, [r4, 0x70]
- movs r6, 0x1
- ldr r0, _08058F50
- ldr r1, [r0]
- movs r0, 0xC1
- lsls r0, 9
- adds r2, r1, r0
- movs r0, 0xC
- str r0, [r2]
- ldr r0, _08058F54
- adds r1, r0
- movs r0, 0
- str r0, [r1]
- adds r3, 0xC0
- ldrb r0, [r3]
- cmp r0, 0xA
- bne _08058F34
- movs r6, 0x2
-_08058F34:
- lsls r3, r6, 8
- str r5, [sp]
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r12
- bl sub_8055640
- cmp r0, 0
- beq _08058F48
- movs r0, 0x1
-_08058F48:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058F50: .4byte gUnknown_203B418
-_08058F54: .4byte 0x00018204
- thumb_func_end sub_8058F04
-
- thumb_func_start sub_8058F58
-sub_8058F58:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- mov r8, r3
- ldr r0, _08058FB0
- ldr r0, [r0]
- ldr r1, _08058FB4
- adds r0, r1
- movs r1, 0
- ldrsh r5, [r0, r1]
- cmp r5, 0
- bge _08058F78
- movs r5, 0
-_08058F78:
- cmp r5, 0x4A
- ble _08058F7E
- movs r5, 0x4A
-_08058F7E:
- ldr r4, _08058FB8
- lsls r5, 3
- adds r0, r5, r4
- ldrh r1, [r0]
- mov r0, sp
- bl sub_8092A88
- adds r4, 0x4
- adds r5, r4
- ldr r4, [r5]
- adds r0, r6, 0
- adds r1, r7, 0
- mov r2, sp
- mov r3, r8
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08058FB0: .4byte gUnknown_203B418
-_08058FB4: .4byte 0x00003a0e
-_08058FB8: .4byte gUnknown_80F5D10
- thumb_func_end sub_8058F58
-
- thumb_func_start sub_8058FBC
-sub_8058FBC:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08058FF6
- movs r7, 0x1
- ldr r0, _08059000
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08058FF6
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
-_08058FF6:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059000: .4byte gUnknown_80F4DE4
- thumb_func_end sub_8058FBC
-
- thumb_func_start sub_8059004
-sub_8059004:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- mov r9, r0
- mov r8, r1
- adds r5, r2, 0
- adds r6, r3, 0
- adds r0, r5, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- mov r2, r8
- adds r2, 0x4
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r9
- mov r1, r8
- movs r3, 0x1
- bl sub_807DF38
- movs r0, 0x1
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8059004
-
- thumb_func_start sub_8059050
-sub_8059050:
- push {lr}
- movs r2, 0x1
- bl sub_8077780
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059050
-
- thumb_func_start sub_8059060
-sub_8059060:
- push {lr}
- sub sp, 0x4
- adds r3, r2, 0
- ldr r2, _0805907C
- ldr r2, [r2]
- str r2, [sp]
- movs r2, 0xB
- bl sub_8079618
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_0805907C: .4byte gUnknown_80FAD6C
- thumb_func_end sub_8059060
-
- thumb_func_start sub_8059080
-sub_8059080:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080590BA
- movs r7, 0x1
- ldr r0, _080590C4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _080590BA
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
-_080590BA:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080590C4: .4byte gUnknown_80F4DE8
- thumb_func_end sub_8059080
-
- thumb_func_start sub_80590C8
-sub_80590C8:
- push {lr}
- bl sub_80798B0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80590C8
-
- thumb_func_start sub_80590D4
-sub_80590D4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- movs r0, 0
- mov r9, r0
- add r0, sp, 0x18
- mov r1, r9
- strb r1, [r0]
- adds r0, r5, 0
- bl sub_8092B00
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_806F4A4
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r6, 0
- movs r1, 0x37
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0805911C
- movs r4, 0
-_0805911C:
- cmp r4, 0
- bne _08059134
- ldr r0, _08059130
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
- b _0805917A
- .align 2, 0
-_08059130: .4byte gUnknown_80FEB88
-_08059134:
- adds r0, r5, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0805918C
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r0, [sp, 0x14]
- mov r0, r8
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08059178
- movs r2, 0x1
-_08059178:
- strb r2, [r1]
-_0805917A:
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805918C: .4byte 0x0000270f
- thumb_func_end sub_80590D4
-
- thumb_func_start sub_8059190
-sub_8059190:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080591CA
- movs r7, 0x1
- ldr r0, _080591D4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _080591CA
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80776C0
-_080591CA:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080591D4: .4byte gUnknown_80F4DEA
- thumb_func_end sub_8059190
-
- thumb_func_start sub_80591D8
-sub_80591D8:
- push {lr}
- bl sub_8079834
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80591D8
-
- thumb_func_start sub_80591E4
-sub_80591E4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r5, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0x3A
- bl sub_8071824
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r3, 0x80
- lsls r3, 1
- str r5, [sp]
- adds r0, r7, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_8055640
- adds r1, r0, 0
- cmp r1, 0
- beq _0805927E
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r4, r0, 1
- cmp r4, 0
- bgt _0805922A
- movs r4, 0x1
-_0805922A:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805927E
- ldr r0, [r7, 0x70]
- movs r1, 0x1
- mov r8, r1
- adds r1, r0, 0
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805924A
- mov r0, r8
- strb r0, [r1]
-_0805924A:
- adds r0, r7, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _0805927E
- mov r1, r9
- cmp r1, 0
- beq _0805926E
- movs r3, 0xFD
- lsls r3, 1
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0xD
- bl sub_806F324
- b _0805927E
-_0805926E:
- mov r0, r8
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r7, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_8077C44
-_0805927E:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80591E4
-
- thumb_func_start sub_8059290
-sub_8059290:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r7, [r4, 0x70]
- ldr r5, [r6, 0x70]
- adds r0, r6, 0
- movs r1, 0x35
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _080592BA
- adds r0, r4, 0
- movs r1, 0x35
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080592D0
-_080592BA:
- ldr r0, _080592CC
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80522F4
- movs r0, 0
- b _0805932E
- .align 2, 0
-_080592CC: .4byte gUnknown_80FC8C0
-_080592D0:
- movs r0, 0x5E
- adds r0, r5
- mov r12, r0
- ldrb r3, [r0]
- mov r8, r3
- adds r1, r5, 0
- adds r1, 0x5F
- ldrb r2, [r1]
- adds r5, r7, 0
- adds r5, 0x5E
- ldrb r0, [r5]
- mov r3, r12
- strb r0, [r3]
- movs r0, 0x5F
- adds r0, r7
- mov r12, r0
- ldrb r0, [r0]
- strb r0, [r1]
- mov r3, r8
- strb r3, [r5]
- mov r0, r12
- strb r2, [r0]
- ldr r0, _08059338
- ldr r0, [r0]
- movs r5, 0x1
- strb r5, [r0, 0xC]
- ldr r0, _0805933C
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80522F4
- adds r1, r7, 0
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805931C
- strb r5, [r1]
-_0805931C:
- adds r0, r4, 0
- adds r1, r4, 0
- bl sub_806ABAC
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_806ABAC
- movs r0, 0x1
-_0805932E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059338: .4byte gUnknown_203B418
-_0805933C: .4byte gUnknown_80FC888
- thumb_func_end sub_8059290
-
- thumb_func_start sub_8059340
-sub_8059340:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- movs r0, 0
- mov r10, r0
- ldr r1, [r6, 0x70]
- str r1, [sp]
- ldr r0, [r7, 0x70]
- movs r2, 0
- mov r12, r2
- movs r4, 0
- movs r1, 0x8C
- lsls r1, 1
- adds r3, r0, r1
- adds r1, r0, 0
- movs r2, 0x1
- mov r9, r2
- movs r0, 0x10
- mov r8, r0
-_08059372:
- ldrb r2, [r3]
- mov r0, r9
- ands r0, r2
- cmp r0, 0
- beq _08059384
- mov r0, r8
- ands r0, r2
- cmp r0, 0
- bne _080593A8
-_08059384:
- adds r3, 0x8
- adds r1, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _08059372
- movs r0, 0
- cmp r0, 0
- bne _080593B2
- ldr r0, _080593A4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80522F4
- movs r0, 0
- b _0805940A
- .align 2, 0
-_080593A4: .4byte gUnknown_80FE3BC
-_080593A8:
- movs r2, 0x8D
- lsls r2, 1
- adds r0, r1, r2
- ldrh r0, [r0]
- mov r12, r0
-_080593B2:
- mov r0, r12
- cmp r0, 0
- bne _080593CC
- ldr r0, _080593C8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _08059408
- .align 2, 0
-_080593C8: .4byte gUnknown_80FE3BC
-_080593CC:
- adds r0, r5, 0
- mov r1, r12
- bl sub_8092A88
- ldr r0, _0805941C
- adds r1, r5, 0
- movs r2, 0
- bl sub_80928C0
- ldrb r1, [r5, 0x1]
- movs r0, 0x4
- orrs r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r5, 0x1]
- ldr r0, _08059420
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80522F4
- ldr r1, [sp]
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _08059404
- movs r0, 0x1
- strb r0, [r1]
-_08059404:
- movs r1, 0x1
- mov r10, r1
-_08059408:
- mov r0, r10
-_0805940A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805941C: .4byte gUnknown_202DE58
-_08059420: .4byte gUnknown_80FE38C
- thumb_func_end sub_8059340
-
- thumb_func_start sub_8059424
-sub_8059424:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805945E
- movs r7, 0x1
- ldr r0, _08059468
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805945E
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80776C0
-_0805945E:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059468: .4byte gUnknown_80F4DF0
- thumb_func_end sub_8059424
-
- thumb_func_start sub_805946C
-sub_805946C:
- push {r4-r6,lr}
- sub sp, 0x18
- adds r5, r0, 0
- movs r6, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080594D2
- movs r6, 0x1
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_8071824
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080594D2
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _080594D2
- ldr r0, [r5, 0x70]
- movs r1, 0x10
- ldrsh r2, [r0, r1]
- cmp r2, 0
- bge _080594B0
- adds r2, 0x7
-_080594B0:
- asrs r2, 3
- cmp r2, 0
- bne _080594B8
- movs r2, 0x1
-_080594B8:
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r0, _080594DC
- str r0, [sp, 0x8]
- movs r0, 0x14
- str r0, [sp, 0xC]
- str r6, [sp, 0x10]
- str r4, [sp, 0x14]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r3, 0
- bl sub_806F370
-_080594D2:
- adds r0, r6, 0
- add sp, 0x18
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080594DC: .4byte 0x000001fd
- thumb_func_end sub_805946C
-
- thumb_func_start sub_80594E0
-sub_80594E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _08059518
- ldr r0, [r0]
- ldr r1, _0805951C
- ldrh r1, [r1]
- ldr r2, _08059520
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x1
- movs r1, 0
- bl sub_807EAA0
- lsls r0, 24
- cmp r0, 0
- bne _0805950E
- ldr r0, _08059524
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0805950E:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08059518: .4byte gUnknown_203B418
-_0805951C: .4byte gUnknown_80F4F42
-_08059520: .4byte 0x0000e269
-_08059524: .4byte gUnknown_80FCF78
- thumb_func_end sub_80594E0
-
- thumb_func_start sub_8059528
-sub_8059528:
- push {lr}
- ldr r2, _0805953C
- ldr r2, [r2]
- movs r3, 0x1
- bl sub_80775DC
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0805953C: .4byte gUnknown_8106A4C
- thumb_func_end sub_8059528
-
- thumb_func_start sub_8059540
-sub_8059540:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805957A
- movs r7, 0x1
- ldr r0, _08059584
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805957A
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80763F8
-_0805957A:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059584: .4byte gUnknown_80F4DC4
- thumb_func_end sub_8059540
-
- thumb_func_start sub_8059588
-sub_8059588:
- push {lr}
- ldr r2, _0805959C
- ldr r2, [r2]
- movs r3, 0x1
- bl sub_8077084
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0805959C: .4byte gUnknown_8106A50
- thumb_func_end sub_8059588
-
- thumb_func_start sub_80595A0
-sub_80595A0:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080595DC
- movs r7, 0x1
- ldr r0, _080595E8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _080595DC
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_8076210
-_080595DC:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080595E8: .4byte gUnknown_80F4DE0
- thumb_func_end sub_80595A0
-
- thumb_func_start sub_80595EC
-sub_80595EC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- mov r9, r0
- adds r6, r1, 0
- adds r5, r2, 0
- mov r8, r3
- movs r7, 0
- add r0, sp, 0x18
- strb r7, [r0]
- adds r0, r5, 0
- bl sub_8092B00
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_806F4A4
- lsls r0, 24
- cmp r0, 0
- bne _08059630
- ldr r0, _0805962C
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
- movs r0, 0
- b _08059678
- .align 2, 0
-_0805962C: .4byte gUnknown_80FEB8C
-_08059630:
- adds r0, r5, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- ldr r2, _08059688
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r7, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r7, [sp, 0x14]
- mov r0, r9
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08059672
- movs r2, 0x1
-_08059672:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
-_08059678:
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059688: .4byte 0x0000270f
- thumb_func_end sub_80595EC
-
- thumb_func_start sub_805968C
-sub_805968C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- mov r8, r1
- adds r6, r2, 0
- adds r7, r3, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _080596B6
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _080596EC
-_080596B6:
- ldr r0, _080596E8
- ldr r3, [r0]
- cmp r4, 0x2
- beq _080596C6
- cmp r4, 0x4
- beq _080596C6
- cmp r4, 0x5
- bne _080596CC
-_080596C6:
- lsrs r0, r3, 31
- adds r0, r3, r0
- asrs r3, r0, 1
-_080596CC:
- str r7, [sp]
- adds r0, r5, 0
- mov r1, r8
- adds r2, r6, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r5, 0
- bl sub_8079764
- b _08059700
- .align 2, 0
-_080596E8: .4byte gUnknown_80F4F48
-_080596EC:
- ldr r0, _08059710
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x2
- adds r3, r6, 0
- bl sub_8079618
- movs r4, 0x1
-_08059700:
- adds r0, r4, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059710: .4byte gUnknown_80FACE4
- thumb_func_end sub_805968C
-
- thumb_func_start sub_8059714
-sub_8059714:
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x1C
- mov r9, r0
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- movs r5, 0
- add r0, sp, 0x18
- strb r5, [r0]
- adds r0, r6, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0805978C
- movs r3, 0
- ldrsh r2, [r1, r3]
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r5, [sp, 0x14]
- mov r0, r9
- mov r1, r10
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08059774
- movs r2, 0x1
-_08059774:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805978C: .4byte gUnknown_80F4F7C
- thumb_func_end sub_8059714
-
- thumb_func_start sub_8059790
-sub_8059790:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- adds r1, r4, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _080597CC
- ldr r0, _080597C8
- ldr r3, [r0]
- str r6, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r5, 0
- bl sub_8079764
- b _080597E0
- .align 2, 0
-_080597C8: .4byte gUnknown_80F4F5C
-_080597CC:
- ldr r0, _080597EC
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x7
- adds r3, r4, 0
- bl sub_8079618
- movs r4, 0x1
-_080597E0:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080597EC: .4byte gUnknown_80FACFC
- thumb_func_end sub_8059790
-
- thumb_func_start sub_80597F0
-sub_80597F0:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- mov r9, r0
- mov r8, r1
- adds r5, r2, 0
- adds r6, r3, 0
- adds r0, r5, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- mov r2, r8
- adds r2, 0x4
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r9
- mov r1, r8
- movs r3, 0x2
- bl sub_807DF38
- movs r0, 0x1
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80597F0
-
- thumb_func_start sub_805983C
-sub_805983C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- mov r8, r3
- movs r6, 0
- bl sub_8045128
- bl sub_804AF20
- lsls r0, 24
- cmp r0, 0
- beq _08059870
- ldr r0, _0805986C
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _080598B8
- .align 2, 0
-_0805986C: .4byte gUnknown_80FD128
-_08059870:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _080598A4
- ldr r0, _080598A0
- ldr r3, [r0]
- mov r0, r8
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r6, r1, 31
- adds r0, r4, 0
- bl sub_8079764
- b _080598B8
- .align 2, 0
-_080598A0: .4byte gUnknown_80F4F64
-_080598A4:
- ldr r0, _080598C8
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x9
- adds r3, r5, 0
- bl sub_8079618
- movs r6, 0x1
-_080598B8:
- adds r0, r6, 0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080598C8: .4byte gUnknown_80FAD2C
- thumb_func_end sub_805983C
-
- thumb_func_start sub_80598CC
-sub_80598CC:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805990A
- movs r7, 0x1
- ldr r0, _08059914
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805990A
- ldr r0, _08059918
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_80775DC
-_0805990A:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059914: .4byte gUnknown_80F4E00
-_08059918: .4byte gUnknown_8106A4C
- thumb_func_end sub_80598CC
-
- thumb_func_start sub_805991C
-sub_805991C:
- push {lr}
- bl sub_80787E4
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805991C
-
- thumb_func_start sub_8059928
-sub_8059928:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, r3, 0
- movs r3, 0x1
- movs r6, 0
- ldr r0, [r4, 0x70]
- adds r0, 0xC0
- ldrb r0, [r0]
- subs r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08059948
- movs r3, 0x2
-_08059948:
- lsls r3, 8
- str r1, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08059978
- movs r6, 0x1
- ldr r0, _08059984
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08059978
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_80776C0
-_08059978:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08059984: .4byte gUnknown_80F4DEC
- thumb_func_end sub_8059928
-
- thumb_func_start sub_8059988
-sub_8059988:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _080599A8
- movs r7, 0x1
- ldr r0, _080599E0
- strb r7, [r0]
-_080599A8:
- ldr r0, _080599E0
- ldrb r0, [r0]
- cmp r0, 0
- beq _080599D6
- ldr r0, _080599E4
- ldr r0, [r0]
- cmp r0, 0x2
- bne _080599D6
- ldr r0, _080599E8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _080599D6
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80763F8
-_080599D6:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080599E0: .4byte gUnknown_202F218
-_080599E4: .4byte gUnknown_202F214
-_080599E8: .4byte gUnknown_80F4DC8
- thumb_func_end sub_8059988
-
- thumb_func_start sub_80599EC
-sub_80599EC:
- push {r4,lr}
- sub sp, 0x4
- adds r3, r0, 0
- ldr r0, [r1, 0x70]
- movs r4, 0x10
- ldrsh r2, [r0, r4]
- cmp r2, 0
- bge _080599FE
- adds r2, 0x3
-_080599FE:
- asrs r2, 2
- movs r0, 0x1
- str r0, [sp]
- adds r0, r3, 0
- movs r3, 0
- bl sub_8077C44
- movs r0, 0x1
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80599EC
-
- thumb_func_start sub_8059A18
-sub_8059A18:
- push {lr}
- ldr r2, _08059A28
- ldr r2, [r2]
- bl sub_8077540
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_08059A28: .4byte gUnknown_8106A50
- thumb_func_end sub_8059A18
-
- thumb_func_start sub_8059A2C
-sub_8059A2C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r9, r0
- adds r7, r1, 0
- adds r6, r2, 0
- mov r8, r3
- movs r5, 0
- add r0, sp, 0x18
- strb r5, [r0]
- mov r1, r9
- ldr r0, [r1, 0x70]
- ldrb r0, [r0, 0x9]
- mov r10, r0
- adds r0, r6, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r5, [sp, 0x14]
- mov r0, r9
- adds r1, r7, 0
- mov r2, r10
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08059A90
- movs r2, 0x1
-_08059A90:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8059A2C
-
- thumb_func_start sub_8059AA8
-sub_8059AA8:
- push {lr}
- movs r2, 0x1
- bl sub_8077AE4
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059AA8
-
- thumb_func_start sub_8059AB8
-sub_8059AB8:
- push {lr}
- bl sub_8078758
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059AB8
-
- thumb_func_start sub_8059AC4
-sub_8059AC4:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _08059AF4
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_8077C44
- movs r0, 0x1
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08059AF4: .4byte gUnknown_80F501A
- thumb_func_end sub_8059AC4
-
- thumb_func_start sub_8059AF8
-sub_8059AF8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x1C
- mov r9, r0
- adds r6, r1, 0
- adds r5, r2, 0
- mov r8, r3
- movs r7, 0
- add r0, sp, 0x18
- strb r7, [r0]
- adds r0, r5, 0
- bl sub_8092B00
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_806F4A4
- lsls r0, 24
- cmp r0, 0
- bne _08059B3C
- ldr r0, _08059B38
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
- movs r0, 0
- b _08059B82
- .align 2, 0
-_08059B38: .4byte gUnknown_80FEB90
-_08059B3C:
- adds r0, r5, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- ldr r2, _08059B90
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r7, [sp, 0xC]
- str r7, [sp, 0x10]
- str r7, [sp, 0x14]
- mov r0, r9
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08059B7C
- movs r2, 0x1
-_08059B7C:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
-_08059B82:
- add sp, 0x1C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059B90: .4byte 0x0000270f
- thumb_func_end sub_8059AF8
-
- thumb_func_start sub_8059B94
-sub_8059B94:
- push {lr}
- ldr r2, _08059BA8
- ldr r2, [r2]
- movs r3, 0x2
- bl sub_8077084
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_08059BA8: .4byte gUnknown_8106A4C
- thumb_func_end sub_8059B94
-
- thumb_func_start sub_8059BAC
-sub_8059BAC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r10, r0
- adds r5, r1, 0
- movs r0, 0
- mov r8, r0
- ldr r7, [r5, 0x70]
- adds r0, r5, 0
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08059BD8
- ldr r0, _08059BD4
- b _08059C5E
- .align 2, 0
-_08059BD4: .4byte gUnknown_81006F8
-_08059BD8:
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r7, r1
- mov r9, sp
- movs r6, 0x3
-_08059BE2:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08059C08
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8071A1C
- lsls r0, 24
- cmp r0, 0
- beq _08059C08
- mov r0, r9
- adds r0, 0x4
- mov r9, r0
- subs r0, 0x4
- stm r0!, {r4}
- movs r1, 0x1
- add r8, r1
-_08059C08:
- adds r4, 0x8
- subs r6, 0x1
- cmp r6, 0
- bge _08059BE2
- mov r0, r8
- cmp r0, 0
- beq _08059C5C
- bl sub_8084100
- lsls r0, 2
- mov r1, sp
- adds r4, r1, r0
- ldr r1, [r4]
- adds r0, r5, 0
- bl sub_8071A1C
- adds r1, r7, 0
- adds r1, 0x5C
- movs r2, 0
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0x5D
- strb r2, [r0]
- adds r1, 0x9A
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _08059C54
- ldr r1, [r4]
- bl sub_80928C0
- ldr r0, _08059C58
- ldr r2, [r0]
- mov r0, r10
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0x1
- b _08059C6A
- .align 2, 0
-_08059C54: .4byte gUnknown_202DE58
-_08059C58: .4byte gUnknown_80FE330
-_08059C5C:
- ldr r0, _08059C7C
-_08059C5E:
- ldr r2, [r0]
- mov r0, r10
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0
-_08059C6A:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059C7C: .4byte gUnknown_80FE36C
- thumb_func_end sub_8059BAC
-
- thumb_func_start sub_8059C80
-sub_8059C80:
- push {lr}
- bl sub_8079D1C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059C80
-
- thumb_func_start sub_8059C8C
-sub_8059C8C:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r6, 0
- cmp r5, r4
- bne _08059CA8
- ldr r0, _08059CA4
- ldr r2, [r0]
- adds r0, r4, 0
- bl sub_80522F4
- b _08059CC6
- .align 2, 0
-_08059CA4: .4byte gUnknown_80FEB60
-_08059CA8:
- ldr r0, _08059CD0
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8077084
- ldr r0, _08059CD4
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8077084
- movs r6, 0x1
-_08059CC6:
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08059CD0: .4byte gUnknown_8106A4C
-_08059CD4: .4byte gUnknown_8106A50
- thumb_func_end sub_8059C8C
-
- thumb_func_start sub_8059CD8
-sub_8059CD8:
- push {lr}
- ldr r2, _08059CEC
- ldr r2, [r2]
- movs r3, 0x2
- bl sub_8077160
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_08059CEC: .4byte gUnknown_8106A4C
- thumb_func_end sub_8059CD8
-
- thumb_func_start sub_8059CF0
-sub_8059CF0:
- push {lr}
- movs r2, 0
- movs r3, 0
- bl sub_807D148
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059CF0
-
- thumb_func_start sub_8059D00
-sub_8059D00:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08059D3A
- movs r7, 0x1
- ldr r0, _08059D44
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08059D3A
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
-_08059D3A:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059D44: .4byte gUnknown_80F4DE2
- thumb_func_end sub_8059D00
-
- thumb_func_start sub_8059D48
-sub_8059D48:
- push {lr}
- movs r2, 0x1
- bl sub_8077780
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059D48
-
- thumb_func_start sub_8059D58
-sub_8059D58:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08059D8E
- movs r7, 0x1
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08059D8E
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
-_08059D8E:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8059D58
-
- thumb_func_start sub_8059D98
-sub_8059D98:
- push {lr}
- bl sub_80769CC
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059D98
-
- thumb_func_start sub_8059DA4
-sub_8059DA4:
- push {lr}
- movs r2, 0x1
- bl sub_80763F8
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059DA4
-
- thumb_func_start sub_8059DB4
-sub_8059DB4:
- push {lr}
- movs r2, 0x1
- bl sub_80765E0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8059DB4
-
- thumb_func_start sub_8059DC4
-sub_8059DC4:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08059DFE
- movs r7, 0x1
- ldr r0, _08059E08
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08059DFE
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80765E0
-_08059DFE:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059E08: .4byte gUnknown_80F4DCA
- thumb_func_end sub_8059DC4
-
- thumb_func_start sub_8059E0C
-sub_8059E0C:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _08059E46
- movs r7, 0x1
- ldr r0, _08059E50
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08059E46
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80763F8
-_08059E46:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059E50: .4byte gUnknown_80F4DBE
- thumb_func_end sub_8059E0C
-
- thumb_func_start sub_8059E54
-sub_8059E54:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x2C
- adds r6, r0, 0
- mov r8, r1
- adds r7, r2, 0
- adds r1, r3, 0
- ldr r0, [sp, 0x48]
- lsls r0, 24
- movs r2, 0
- mov r9, r2
- cmp r0, 0
- bne _08059E8A
- movs r3, 0x80
- lsls r3, 1
- str r1, [sp]
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- mov r9, r1
-_08059E8A:
- mov r0, r9
- cmp r0, 0
- bne _08059F1A
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8071A1C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8071A44
- adds r5, r0, 0
- adds r0, r7, 0
- bl sub_8092C24
- str r0, [sp]
- add r2, sp, 0x18
- str r2, [sp, 0x4]
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp, 0x8]
- ldrh r0, [r7, 0x2]
- str r0, [sp, 0xC]
- mov r0, r9
- str r0, [sp, 0x10]
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_806EAF4
- ldr r0, _08059F2C
- ldr r1, [r6, 0x70]
- movs r2, 0
- bl sub_80708B4
- ldr r0, _08059F30
- ldr r2, [r0]
- adds r0, r6, 0
- mov r1, r8
- bl sub_80522F4
- ldr r0, [sp, 0x18]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [sp, 0x18]
- cmp r0, 0
- bne _08059EF6
- movs r0, 0x1
- str r0, [sp, 0x18]
-_08059EF6:
- ldr r2, [sp, 0x18]
- add r0, sp, 0x28
- str r0, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- ldr r0, _08059F34
- str r0, [sp, 0x8]
- movs r0, 0x13
- str r0, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- mov r0, r9
- str r0, [sp, 0x14]
- adds r0, r6, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_806F370
-_08059F1A:
- mov r0, r9
- add sp, 0x2C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059F2C: .4byte gUnknown_202DF98
-_08059F30: .4byte gUnknown_80FC7C8
-_08059F34: .4byte 0x000001f7
- thumb_func_end sub_8059E54
-
- thumb_func_start sub_8059F38
-sub_8059F38:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _08059FA0
- ldr r0, _08059F98
- ldr r3, [r0]
- str r7, [sp]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _08059F90
- movs r1, 0x1
- mov r8, r1
- ldr r0, _08059F9C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _08059F90
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
-_08059F90:
- adds r0, r4, 0
- bl sub_8079764
- b _08059FB6
- .align 2, 0
-_08059F98: .4byte gUnknown_80F4F60
-_08059F9C: .4byte gUnknown_80F4DCC
-_08059FA0:
- ldr r0, _08059FC4
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0x8
- adds r3, r5, 0
- bl sub_8079618
- movs r0, 0x1
- mov r8, r0
-_08059FB6:
- mov r0, r8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08059FC4: .4byte gUnknown_80FAD10
- thumb_func_end sub_8059F38
-
- thumb_func_start sub_8059FC8
-sub_8059FC8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x2C
- adds r6, r0, 0
- mov r8, r1
- adds r7, r2, 0
- adds r1, r3, 0
- ldr r0, [sp, 0x48]
- lsls r0, 24
- movs r2, 0
- mov r9, r2
- cmp r0, 0
- bne _08059FFE
- movs r3, 0x80
- lsls r3, 2
- str r1, [sp]
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- mov r9, r1
-_08059FFE:
- mov r0, r9
- cmp r0, 0
- bne _0805A090
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8071A1C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8071A44
- adds r5, r0, 0
- adds r0, r7, 0
- bl sub_8092C24
- str r0, [sp]
- add r2, sp, 0x18
- str r2, [sp, 0x4]
- movs r0, 0x80
- lsls r0, 2
- str r0, [sp, 0x8]
- ldrh r0, [r7, 0x2]
- str r0, [sp, 0xC]
- mov r0, r9
- str r0, [sp, 0x10]
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_806EAF4
- ldr r0, _0805A0A0
- ldr r1, [r6, 0x70]
- movs r2, 0
- bl sub_80708B4
- ldr r0, _0805A0A4
- ldr r2, [r0]
- adds r0, r6, 0
- mov r1, r8
- bl sub_80522F4
- ldr r0, [sp, 0x18]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [sp, 0x18]
- cmp r0, 0
- bne _0805A06A
- movs r0, 0x1
- str r0, [sp, 0x18]
-_0805A06A:
- ldr r2, [sp, 0x18]
- add r0, sp, 0x28
- str r0, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0xFC
- lsls r0, 1
- str r0, [sp, 0x8]
- movs r0, 0x13
- str r0, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- mov r0, r9
- str r0, [sp, 0x14]
- adds r0, r6, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_806F370
-_0805A090:
- mov r0, r9
- add sp, 0x2C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A0A0: .4byte gUnknown_202DF98
-_0805A0A4: .4byte gUnknown_80FC7C8
- thumb_func_end sub_8059FC8
-
- thumb_func_start sub_805A0A8
-sub_805A0A8:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A114
- movs r7, 0x1
- ldr r0, _0805A0F8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805A114
- movs r0, 0x3
- bl sub_8084100
- cmp r0, 0x1
- beq _0805A0FC
- cmp r0, 0x1
- ble _0805A0EA
- cmp r0, 0x2
- beq _0805A10A
-_0805A0EA:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
- b _0805A114
- .align 2, 0
-_0805A0F8: .4byte gUnknown_80F4DFC
-_0805A0FC:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_8076210
- b _0805A114
-_0805A10A:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80767B0
-_0805A114:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805A0A8
-
- thumb_func_start sub_805A120
-sub_805A120:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- movs r0, 0
- mov r10, r0
- ldr r1, [r6, 0x70]
- mov r9, r1
- mov r7, r9
- ldr r2, [r5, 0x70]
- mov r8, r2
- mov r0, r8
- str r0, [sp]
- ldr r4, _0805A16C
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- movs r1, 0x2C
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0805A174
- ldr r0, _0805A170
- b _0805A1B8
- .align 2, 0
-_0805A16C: .4byte gUnknown_202DF98
-_0805A170: .4byte gUnknown_80FCCE4
-_0805A174:
- adds r0, r5, 0
- movs r1, 0x24
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0805A18C
- ldr r0, _0805A188
- b _0805A1B8
- .align 2, 0
-_0805A188: .4byte gUnknown_80FD578
-_0805A18C:
- mov r0, r9
- adds r0, 0x60
- mov r2, r8
- adds r2, 0x60
- ldrb r1, [r0]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _0805A1A2
- mov r10, r4
-_0805A1A2:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _0805A1B0
- movs r1, 0x1
- mov r10, r1
-_0805A1B0:
- mov r2, r10
- cmp r2, 0
- beq _0805A1CC
- ldr r0, _0805A1C8
-_0805A1B8:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0
- b _0805A1FC
- .align 2, 0
-_0805A1C8: .4byte gUnknown_80FC7AC
-_0805A1CC:
- ldr r0, [r7, 0x60]
- ldr r2, [sp]
- ldr r1, [r2, 0x60]
- str r1, [r7, 0x60]
- str r0, [r2, 0x60]
- adds r0, r6, 0
- bl sub_806A6E8
- adds r0, r5, 0
- bl sub_806A6E8
- adds r1, r7, 0
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805A1EE
- strb r4, [r1]
-_0805A1EE:
- ldr r0, _0805A20C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0x1
-_0805A1FC:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A20C: .4byte gUnknown_80FC790
- thumb_func_end sub_805A120
-
- thumb_func_start sub_805A210
-sub_805A210:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r3, 0
- ldr r4, _0805A238
- ldr r3, [r4]
- adds r3, 0x1
- str r3, [r4]
- lsls r3, 8
- str r5, [sp]
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A238: .4byte gUnknown_202F210
- thumb_func_end sub_805A210
-
- thumb_func_start sub_805A23C
-sub_805A23C:
- push {lr}
- ldrh r0, [r2, 0x2]
- cmp r0, 0xD4
- bne _0805A24C
- movs r0, 0
- bl sub_807EA30
- b _0805A252
-_0805A24C:
- movs r0, 0x1
- bl sub_807EA30
-_0805A252:
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805A23C
-
- thumb_func_start sub_805A258
-sub_805A258:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A292
- movs r7, 0x1
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805A292
- ldr r0, _0805A29C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_80775DC
-_0805A292:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A29C: .4byte gUnknown_8106A4C
- thumb_func_end sub_805A258
-
- thumb_func_start sub_805A2A0
-sub_805A2A0:
- push {lr}
- bl sub_805BA50
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_805A2A0
-
- thumb_func_start sub_805A2B0
-sub_805A2B0:
- push {lr}
- ldr r2, _0805A2C4
- ldr r2, [r2]
- movs r3, 0x2
- bl sub_8077160
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0805A2C4: .4byte gUnknown_8106A50
- thumb_func_end sub_805A2B0
-
- thumb_func_start sub_805A2C8
-sub_805A2C8:
- push {lr}
- sub sp, 0x8
- ldr r2, _0805A2E4
- ldr r2, [r2]
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- bl sub_8076E20
- movs r0, 0x1
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_0805A2E4: .4byte gUnknown_8106A4C
- thumb_func_end sub_805A2C8
-
- thumb_func_start sub_805A2E8
-sub_805A2E8:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
- ldr r0, [r1, 0x70]
- adds r0, 0xC0
- ldrb r0, [r0]
- movs r4, 0x80
- lsls r4, 1
- cmp r0, 0x9
- bne _0805A302
- movs r4, 0x80
- lsls r4, 2
-_0805A302:
- str r3, [sp]
- adds r0, r5, 0
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A312
- movs r6, 0x1
-_0805A312:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805A2E8
-
- thumb_func_start sub_805A31C
-sub_805A31C:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, [r5, 0x70]
- ldr r7, [r6, 0x70]
- adds r0, r6, 0
- movs r1, 0x35
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0805A348
- ldr r0, _0805A344
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80522F4
- movs r0, 0
- b _0805A386
- .align 2, 0
-_0805A344: .4byte gUnknown_80FC854
-_0805A348:
- adds r0, r7, 0
- adds r0, 0x5E
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x5E
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0x5F
- ldrb r0, [r0]
- adds r1, 0x1
- strb r0, [r1]
- ldr r0, _0805A38C
- ldr r0, [r0]
- movs r2, 0x1
- strb r2, [r0, 0xC]
- adds r1, 0x9C
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805A370
- strb r2, [r1]
-_0805A370:
- ldr r0, _0805A390
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80522F4
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_806ABAC
- movs r0, 0x1
-_0805A386:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A38C: .4byte gUnknown_203B418
-_0805A390: .4byte gUnknown_80FC81C
- thumb_func_end sub_805A31C
-
- thumb_func_start sub_805A394
-sub_805A394:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _0805A3CC
- ldr r0, [r0]
- ldr r1, _0805A3D0
- ldrh r1, [r1]
- ldr r2, _0805A3D4
- adds r0, r2
- strb r1, [r0]
- movs r0, 0x1
- movs r1, 0
- bl sub_807EAA0
- lsls r0, 24
- cmp r0, 0
- bne _0805A3C2
- ldr r0, _0805A3D8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0805A3C2:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A3CC: .4byte gUnknown_203B418
-_0805A3D0: .4byte gUnknown_80F4F42
-_0805A3D4: .4byte 0x0000e268
-_0805A3D8: .4byte gUnknown_80FCF7C
- thumb_func_end sub_805A394
-
- thumb_func_start sub_805A3DC
-sub_805A3DC:
- push {lr}
- sub sp, 0x8
- ldr r2, _0805A3F8
- ldr r2, [r2]
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- bl sub_8076F80
- movs r0, 0x1
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_0805A3F8: .4byte gUnknown_8106A4C
- thumb_func_end sub_805A3DC
-
- thumb_func_start sub_805A3FC
-sub_805A3FC:
- push {lr}
- bl sub_807992C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805A3FC
-
- thumb_func_start sub_805A408
-sub_805A408:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A442
- movs r7, 0x1
- ldr r0, _0805A44C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805A442
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80776C0
-_0805A442:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A44C: .4byte gUnknown_80F4DF2
- thumb_func_end sub_805A408
-
- thumb_func_start sub_805A450
-sub_805A450:
- push {lr}
- ldr r2, _0805A460
- ldr r2, [r2]
- bl sub_80522F4
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0805A460: .4byte gUnknown_80FC730
- thumb_func_end sub_805A450
-
- thumb_func_start sub_805A464
-sub_805A464:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A4B4
- movs r7, 0x1
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _0805A4B4
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805A4B4
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- movs r1, 0x69
- movs r2, 0x2
- bl sub_8045C28
- add r3, sp, 0x8
- adds r0, r5, 0
- adds r1, r6, 0
- add r2, sp, 0x4
- bl sub_805A7D4
-_0805A4B4:
- adds r0, r7, 0
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805A464
-
- thumb_func_start sub_805A4C0
-sub_805A4C0:
- push {lr}
- ldr r2, _0805A4D0
- ldr r2, [r2]
- bl sub_80522F4
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0805A4D0: .4byte gUnknown_80FC74C
- thumb_func_end sub_805A4C0
-
- thumb_func_start sub_805A4D4
-sub_805A4D4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _0805A4F8
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8075E74
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A4F8: .4byte gUnknown_80F4E94
- thumb_func_end sub_805A4D4
-
- thumb_func_start sub_805A4FC
-sub_805A4FC:
- push {lr}
- bl sub_8076AA4
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805A4FC
-
- thumb_func_start sub_805A508
-sub_805A508:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r3, r1, 0
- ldr r0, [r3, 0x70]
- movs r1, 0x89
- lsls r1, 1
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _0805A540
- ldr r1, _0805A53C
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r3, 0
- movs r3, 0
- bl sub_8077C44
- movs r0, 0
- strb r0, [r4]
- b _0805A54C
- .align 2, 0
-_0805A53C: .4byte gUnknown_80F51D4
-_0805A540:
- ldr r0, _0805A558
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r3, 0
- bl sub_80522F4
-_0805A54C:
- movs r0, 0x1
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A558: .4byte gUnknown_80FC770
- thumb_func_end sub_805A508
-
- thumb_func_start sub_805A55C
-sub_805A55C:
- push {lr}
- bl sub_8078594
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805A55C
-
- thumb_func_start sub_805A568
-sub_805A568:
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805A568
-
- thumb_func_start sub_805A588
-sub_805A588:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A5D8
- movs r7, 0x1
- adds r0, r6, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805A5D8
- ldr r0, _0805A5E4
- ldr r5, [r0]
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_8076E20
- str r4, [sp]
- str r4, [sp, 0x4]
- adds r0, r6, 0
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_8076F80
-_0805A5D8:
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A5E4: .4byte gUnknown_8106A4C
- thumb_func_end sub_805A588
-
- thumb_func_start sub_805A5E8
-sub_805A5E8:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x18]
- movs r6, 0
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A632
- movs r6, 0x1
- ldr r0, _0805A63C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805A632
- ldr r4, [r5, 0x70]
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_8077160
- adds r4, 0xFB
- ldrb r0, [r4]
- cmp r0, 0
- bne _0805A632
- strb r6, [r4]
-_0805A632:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A63C: .4byte gUnknown_80F4DD2
- thumb_func_end sub_805A5E8
-
- thumb_func_start sub_805A640
-sub_805A640:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r1, r3, 0
- ldr r0, [r5, 0x70]
- movs r3, 0x89
- lsls r3, 1
- adds r4, r0, r3
- ldrb r0, [r4]
- cmp r0, 0
- beq _0805A66C
- adds r3, r0, 0
- lsls r3, 8
- str r1, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8055640
- movs r0, 0
- strb r0, [r4]
- b _0805A678
-_0805A66C:
- ldr r0, _0805A684
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80522F4
-_0805A678:
- movs r0, 0x1
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A684: .4byte gUnknown_80FCA3C
- thumb_func_end sub_805A640
-
- thumb_func_start sub_805A688
-sub_805A688:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805A6BE
- movs r7, 0x1
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805A6BE
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077AE4
-_0805A6BE:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805A688
-
- thumb_func_start sub_805A6C8
-sub_805A6C8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r0, [r6, 0x70]
- mov r9, r0
- ldr r7, [r5, 0x70]
- mov r8, r7
- ldr r4, _0805A708
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- movs r1, 0x2C
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0805A710
- ldr r0, _0805A70C
- b _0805A73A
- .align 2, 0
-_0805A708: .4byte gUnknown_202DF98
-_0805A70C: .4byte gUnknown_80FCCE8
-_0805A710:
- adds r0, r5, 0
- movs r1, 0x24
- bl sub_8046CB0
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0805A728
- ldr r0, _0805A724
- b _0805A73A
- .align 2, 0
-_0805A724: .4byte gUnknown_80FD57C
-_0805A728:
- ldr r0, [r7, 0x60]
- str r0, [sp]
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805A74C
- ldr r0, _0805A748
-_0805A73A:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0
- b _0805A7B4
- .align 2, 0
-_0805A748: .4byte gUnknown_80FD18C
-_0805A74C:
- mov r0, r8
- adds r0, 0x60
- strb r2, [r0, 0x2]
- strb r2, [r0, 0x1]
- strb r2, [r0]
- ldr r0, _0805A7C4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- ldr r4, _0805A7C8
- mov r3, r9
- adds r3, 0x46
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r2, [r0]
- ldr r0, _0805A7CC
- ldr r1, [sp, 0x4]
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0x4]
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- ldr r2, _0805A7D0
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x4]
- add r3, sp, 0x4
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_805A7D4
- adds r1, r5, 0x4
- adds r0, r5, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _0805A7B2
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_0805A7B2:
- movs r0, 0x1
-_0805A7B4:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805A7C4: .4byte gUnknown_80FD170
-_0805A7C8: .4byte gUnknown_80F4448
-_0805A7CC: .4byte 0xffff0000
-_0805A7D0: .4byte 0x0000ffff
- thumb_func_end sub_805A6C8
-
- thumb_func_start sub_805A7D4
-sub_805A7D4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x78
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- movs r0, 0x3
- str r0, [sp, 0x4]
- add r0, sp, 0x28
- movs r5, 0
- strb r5, [r0]
- add r1, sp, 0x24
- movs r0, 0x1
- strb r0, [r1]
- mov r0, sp
- adds r0, 0x26
- strb r5, [r0]
- str r6, [sp, 0x74]
- add r1, sp, 0x4
- ldrh r0, [r3]
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r1, 0x4]
- ldrh r0, [r3, 0x2]
- ldrh r2, [r4, 0x6]
- adds r0, r2
- strh r0, [r1, 0x6]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- add r0, sp, 0x4
- bl sub_8045394
- add r0, sp, 0x4
- strh r5, [r0, 0x26]
- ldr r0, _0805A858
- add r1, sp, 0x4
- movs r2, 0
- bl sub_8045B94
- str r5, [sp]
- mov r0, r8
- add r1, sp, 0x4
- adds r2, r6, 0
- movs r3, 0x1
- bl sub_804652C
- add sp, 0x78
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805A858: .4byte gUnknown_202DE58
- thumb_func_end sub_805A7D4
-
- thumb_func_start sub_805A85C
-sub_805A85C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- mov r8, r0
- adds r6, r1, 0
- mov r10, r2
- str r3, [sp, 0x24]
- ldr r0, [r6, 0x4]
- str r0, [sp, 0x18]
- adds r0, r6, 0
- movs r1, 0xA
- movs r2, 0x8
- bl sub_806CDD4
- movs r5, 0
-_0805A880:
- movs r0, 0x3
- bl sub_8084100
- adds r4, r0, 0
- movs r0, 0x3
- bl sub_8084100
- adds r2, r0, 0
- subs r4, 0x1
- subs r2, 0x1
- cmp r4, 0
- bne _0805A89C
- cmp r2, 0
- beq _0805A8BC
-_0805A89C:
- ldrh r0, [r6, 0x4]
- adds r0, r4
- lsls r0, 16
- ldrh r1, [r6, 0x6]
- adds r1, r2
- lsls r1, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp, 0x18]
- adds r0, r6, 0
- add r1, sp, 0x18
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- beq _0805A8C2
-_0805A8BC:
- adds r5, 0x1
- cmp r5, 0x27
- ble _0805A880
-_0805A8C2:
- cmp r5, 0x28
- bne _0805A8DC
- ldr r0, _0805A8D8
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
- movs r0, 0
- b _0805AAB8
- .align 2, 0
-_0805A8D8: .4byte gUnknown_80FEBDC
-_0805A8DC:
- add r0, sp, 0x18
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r3, 0xC0
- lsls r3, 4
- adds r0, r3
- ldr r1, [r6, 0xC]
- subs r0, r1
- movs r1, 0xC
- bl __divsi3
- str r0, [sp, 0x28]
- add r0, sp, 0x18
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3
- ldr r1, [r6, 0x10]
- subs r0, r1
- movs r1, 0xC
- bl __divsi3
- str r0, [sp, 0x2C]
- adds r4, r6, 0x4
- adds r0, r4, 0
- bl sub_803F428
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- bne _0805A934
- add r0, sp, 0x18
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _0805A94C
-_0805A934:
- movs r5, 0xB
-_0805A936:
- adds r0, r6, 0
- ldr r1, [sp, 0x28]
- ldr r2, [sp, 0x2C]
- bl sub_804539C
- movs r0, 0x2C
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _0805A936
-_0805A94C:
- add r0, sp, 0x18
- movs r1, 0
- ldrsh r0, [r0, r1]
- add r4, sp, 0x18
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_8049590
- ldr r5, [r0, 0x10]
- cmp r5, 0
- beq _0805AA4C
- adds r0, r5, 0
- bl sub_80450F8
- adds r7, r0, 0
- cmp r7, 0x1
- bne _0805A9FE
- add r4, sp, 0x1C
- ldr r1, _0805AA44
- adds r0, r4, 0
- bl sub_8092A88
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80571F0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0805A9B0
- mov r0, r10
- ldr r1, [sp, 0x24]
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0805AA48
- movs r3, 0
- ldrsh r2, [r1, r3]
- str r4, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- str r7, [sp, 0x10]
- str r4, [sp, 0x14]
- mov r0, r8
- adds r1, r5, 0
- movs r3, 0
- bl sub_806F370
-_0805A9B0:
- bl sub_8044B28
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0805AAB6
- mov r0, r8
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805AAB6
- ldr r0, _0805AA48
- movs r1, 0
- ldrsh r2, [r0, r1]
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r0, 0xFF
- lsls r0, 1
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- str r4, [sp, 0x14]
- mov r0, r8
- mov r1, r8
- movs r3, 0
- bl sub_806F370
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0805AAB6
- mov r0, r8
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805AAB6
-_0805A9FE:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805AAB6
- mov r0, r9
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- bne _0805AA22
- add r0, sp, 0x18
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _0805AA5E
-_0805AA22:
- ldr r2, [sp, 0x28]
- negs r7, r2
- ldr r3, [sp, 0x2C]
- negs r4, r3
- movs r5, 0xB
-_0805AA2C:
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_804539C
- movs r0, 0x2C
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _0805AA2C
- b _0805AA5E
- .align 2, 0
-_0805AA44: .4byte 0x00000163
-_0805AA48: .4byte gUnknown_80F4F82
-_0805AA4C:
- add r0, sp, 0x18
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r3, 0x2
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r3, 0
- bl sub_80694C0
-_0805AA5E:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805AAB6
- adds r0, r6, 0
- movs r1, 0
- bl sub_804535C
- mov r1, r9
- adds r0, r6, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _0805AA8C
- mov r0, r8
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_0805AA8C:
- ldr r0, [r6, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0805AAA0
- mov r0, r9
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
-_0805AAA0:
- adds r0, r6, 0
- bl sub_806A5B8
- ldr r0, _0805AAC8
- ldr r0, [r0]
- ldr r1, _0805AACC
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8075900
-_0805AAB6:
- movs r0, 0x1
-_0805AAB8:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805AAC8: .4byte gUnknown_203B418
-_0805AACC: .4byte 0x00003a08
- thumb_func_end sub_805A85C
-
- thumb_func_start sub_805AAD0
-sub_805AAD0:
- push {lr}
- adds r1, r0, 0
- bl sub_80782CC
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805AAD0
-
- thumb_func_start sub_805AAE0
-sub_805AAE0:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, [r4, 0x70]
- movs r7, 0
- movs r1, 0x9E
- lsls r1, 1
- adds r5, r0, r1
- ldr r0, [r5]
- bl sub_8094450
- cmp r0, 0x1
- ble _0805AB20
- ldr r0, _0805AB1C
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- movs r3, 0x63
- bl sub_8077084
- mov r0, sp
- movs r1, 0x1
- bl sub_80943A0
- ldr r0, [sp]
- str r0, [r5]
- movs r7, 0x1
- b _0805AB36
- .align 2, 0
-_0805AB1C: .4byte gUnknown_8106A4C
-_0805AB20:
- ldr r0, _0805AB40
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0805AB44
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80522F4
-_0805AB36:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805AB40: .4byte gUnknown_202DF98
-_0805AB44: .4byte gUnknown_80FC5CC
- thumb_func_end sub_805AAE0
-
- thumb_func_start sub_805AB48
-sub_805AB48:
- push {lr}
- bl sub_8079A24
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805AB48
-
- thumb_func_start sub_805AB54
-sub_805AB54:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- bne _0805AB70
- b _0805AC86
-_0805AB70:
- movs r7, 0x1
- ldr r0, _0805ABA8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- bne _0805AB88
- b _0805AC86
-_0805AB88:
- ldr r1, _0805ABAC
- ldr r0, _0805ABB0
- ldr r0, [r0]
- ldr r2, _0805ABB4
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _0805AC7C
- lsls r0, 2
- ldr r1, _0805ABB8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0805ABA8: .4byte gUnknown_80F4E06
-_0805ABAC: .4byte gUnknown_80F5978
-_0805ABB0: .4byte gUnknown_203B418
-_0805ABB4: .4byte 0x00003a0e
-_0805ABB8: .4byte _0805ABBC
- .align 2, 0
-_0805ABBC:
- .4byte _0805ABE0
- .4byte _0805ABEC
- .4byte _0805AC08
- .4byte _0805AC16
- .4byte _0805AC34
- .4byte _0805AC50
- .4byte _0805AC64
- .4byte _0805AC70
- .4byte _0805AC7C
-_0805ABE0:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80763F8
- b _0805AC86
-_0805ABEC:
- ldr r1, _0805AC04
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_8075C58
- b _0805AC86
- .align 2, 0
-_0805AC04: .4byte gUnknown_80F4E74
-_0805AC08:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_80779F0
- b _0805AC86
-_0805AC16:
- ldr r0, _0805AC30
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8076E20
- b _0805AC86
- .align 2, 0
-_0805AC30: .4byte gUnknown_8106A4C
-_0805AC34:
- ldr r0, _0805AC4C
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8076F80
- b _0805AC86
- .align 2, 0
-_0805AC4C: .4byte gUnknown_8106A4C
-_0805AC50:
- ldr r0, _0805AC60
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0
- bl sub_80775DC
- b _0805AC86
- .align 2, 0
-_0805AC60: .4byte gUnknown_8106A4C
-_0805AC64:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077AE4
- b _0805AC86
-_0805AC70:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80776C0
- b _0805AC86
-_0805AC7C:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077780
-_0805AC86:
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805AB54
-
- thumb_func_start sub_805AC90
-sub_805AC90:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805ACCA
- movs r7, 0x1
- ldr r0, _0805ACD4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805ACCA
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8077AE4
-_0805ACCA:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805ACD4: .4byte gUnknown_80F4DFA
- thumb_func_end sub_805AC90
-
- thumb_func_start sub_805ACD8
-sub_805ACD8:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, _0805AD00
- ldr r4, [r0]
- adds r0, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077084
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077160
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805AD00: .4byte gUnknown_8106A4C
- thumb_func_end sub_805ACD8
-
- thumb_func_start sub_805AD04
-sub_805AD04:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _0805AD30
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r3, r0, 0
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8076090
- movs r0, 0x1
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805AD30: .4byte gUnknown_80F4EE0
- thumb_func_end sub_805AD04
-
- thumb_func_start sub_805AD34
-sub_805AD34:
- push {lr}
- sub sp, 0x8
- ldr r2, _0805AD50
- ldr r2, [r2]
- movs r3, 0x1
- str r3, [sp]
- str r3, [sp, 0x4]
- movs r3, 0x2
- bl sub_8076E20
- movs r0, 0x1
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_0805AD50: .4byte gUnknown_8106A4C
- thumb_func_end sub_805AD34
-
- thumb_func_start sub_805AD54
-sub_805AD54:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- mov r9, r1
- movs r0, 0
- mov r10, r0
- ldr r1, [r5, 0x70]
- mov r8, r1
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _0805AD88
- ldr r0, _0805AD80
- ldr r0, [r0]
- ldr r1, _0805AD84
- adds r7, r0, r1
- movs r0, 0x10
- b _0805AD92
- .align 2, 0
-_0805AD80: .4byte gUnknown_203B418
-_0805AD84: .4byte 0x0001358c
-_0805AD88:
- ldr r0, _0805AD98
- ldr r0, [r0]
- ldr r1, _0805AD9C
- adds r7, r0, r1
- movs r0, 0x4
-_0805AD92:
- str r0, [sp]
- movs r6, 0
- b _0805AE0E
- .align 2, 0
-_0805AD98: .4byte gUnknown_203B418
-_0805AD9C: .4byte 0x0001357c
-_0805ADA0:
- lsls r0, r6, 2
- adds r0, r7
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805AE0C
- cmp r5, r4
- beq _0805AE0C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _0805AE0C
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0805AE0C
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0805ADE2
- cmp r0, 0x47
- bne _0805ADE6
-_0805ADE2:
- movs r0, 0x1
- b _0805ADE8
-_0805ADE6:
- movs r0, 0
-_0805ADE8:
- cmp r0, 0
- bne _0805AE0C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x2
- mov r3, r9
- adds r3, 0x4
- bl sub_807D148
- movs r0, 0x1
- mov r10, r0
- mov r1, r8
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805AE0C
- mov r0, r10
- strb r0, [r1]
-_0805AE0C:
- adds r6, 0x1
-_0805AE0E:
- ldr r1, [sp]
- cmp r6, r1
- blt _0805ADA0
- mov r0, r10
- cmp r0, 0
- bne _0805AE26
- ldr r0, _0805AE38
- ldr r2, [r0]
- adds r0, r5, 0
- mov r1, r9
- bl sub_80522F4
-_0805AE26:
- mov r0, r10
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805AE38: .4byte gUnknown_81004EC
- thumb_func_end sub_805AD54
-
- thumb_func_start sub_805AE3C
-sub_805AE3C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r4, r3, 0
- bl sub_807A9D8
- movs r3, 0x80
- lsls r3, 2
- str r4, [sp]
- adds r0, r5, 0
- adds r1, r6, 0
- mov r2, r8
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805AE3C
-
- thumb_func_start sub_805AE74
-sub_805AE74:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805AEB8
- movs r7, 0x1
- ldr r0, _0805AEC4
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805AEB8
- ldr r0, _0805AEC8
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8076F80
-_0805AEB8:
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805AEC4: .4byte gUnknown_80F4DDA
-_0805AEC8: .4byte gUnknown_8106A4C
- thumb_func_end sub_805AE74
-
- thumb_func_start sub_805AECC
-sub_805AECC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r7, r1, 0
- adds r5, r2, 0
- adds r4, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r6, 0
- bl sub_807A9D8
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805AF1E
- movs r1, 0x1
- mov r8, r1
- ldr r0, _0805AF2C
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805AF1E
- adds r0, r6, 0
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl sub_8076210
-_0805AF1E:
- mov r0, r8
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805AF2C: .4byte gUnknown_80F4DFE
- thumb_func_end sub_805AECC
-
- thumb_func_start sub_805AF30
-sub_805AF30:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r4, r3, 0
- movs r0, 0x64
- bl sub_8084100
- adds r1, r0, 0
- cmp r0, 0x9
- bgt _0805AF54
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0x78
- b _0805AF92
-_0805AF54:
- cmp r0, 0x1D
- bgt _0805AF78
- ldr r0, [r5, 0x70]
- movs r1, 0x10
- ldrsh r2, [r0, r1]
- cmp r2, 0
- bge _0805AF64
- adds r2, 0x3
-_0805AF64:
- asrs r2, 2
- movs r0, 0x1
- str r0, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- movs r3, 0
- bl sub_8077C44
- movs r0, 0x1
- b _0805AF9C
-_0805AF78:
- cmp r1, 0x3B
- bgt _0805AF88
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0x50
- b _0805AF92
-_0805AF88:
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0x28
-_0805AF92:
- bl sub_8055864
- negs r1, r0
- orrs r1, r0
- lsrs r0, r1, 31
-_0805AF9C:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805AF30
-
- thumb_func_start sub_805AFA4
-sub_805AFA4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r2
- adds r6, r3, 0
- bl sub_807A9D8
- ldr r3, [r4, 0x70]
- movs r0, 0x10
- ldrsh r2, [r3, r0]
- adds r0, r2, 0
- cmp r2, 0
- bge _0805AFC6
- adds r0, r2, 0x3
-_0805AFC6:
- movs r7, 0xE
- ldrsh r1, [r3, r7]
- asrs r0, 2
- cmp r1, r0
- bgt _0805AFD4
- movs r2, 0
- b _0805AFFA
-_0805AFD4:
- movs r0, 0xE
- ldrsh r1, [r3, r0]
- lsrs r0, r2, 31
- adds r0, r2, r0
- asrs r0, 1
- cmp r1, r0
- bgt _0805AFE6
- movs r2, 0x1
- b _0805AFFA
-_0805AFE6:
- lsls r0, r2, 1
- adds r0, r2
- cmp r0, 0
- bge _0805AFF0
- adds r0, 0x3
-_0805AFF0:
- asrs r0, 2
- movs r2, 0x3
- cmp r1, r0
- bgt _0805AFFA
- movs r2, 0x2
-_0805AFFA:
- ldr r1, _0805B024
- lsls r0, r2, 2
- adds r0, r1
- ldr r3, [r0]
- str r6, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_8055640
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B024: .4byte gUnknown_80F51C4
- thumb_func_end sub_805AFA4
-
- thumb_func_start sub_805B028
-sub_805B028:
- push {lr}
- movs r2, 0x1
- bl sub_8077780
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B028
-
- thumb_func_start sub_805B038
-sub_805B038:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- bl sub_80441BC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0805B05A
- strb r0, [r4, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8078E18
- movs r0, 0x1
- b _0805B068
-_0805B05A:
- ldr r0, _0805B070
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80522F4
- movs r0, 0
-_0805B068:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B070: .4byte gUnknown_80FEFF4
- thumb_func_end sub_805B038
-
- thumb_func_start sub_805B074
-sub_805B074:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805B0AE
- movs r7, 0x1
- ldr r0, _0805B0B8
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805B0AE
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80763F8
-_0805B0AE:
- adds r0, r7, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B0B8: .4byte gUnknown_80F4DC6
- thumb_func_end sub_805B074
-
- thumb_func_start sub_805B0BC
-sub_805B0BC:
- push {lr}
- ldr r2, [r0, 0x70]
- adds r2, 0x46
- ldrb r2, [r2]
- bl sub_807CD9C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B0BC
-
- thumb_func_start sub_805B0D0
-sub_805B0D0:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r5, r1, 0
- ldr r4, [r5, 0x70]
- ldr r1, _0805B134
- ldr r0, _0805B138
- ldr r0, [r0]
- ldr r2, _0805B13C
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r6, [r0]
- adds r0, r5, 0
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805B14C
- adds r0, r4, 0
- adds r0, 0x5C
- strb r6, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r4, 0
- adds r1, 0xF6
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0805B140
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r6, 0
- bl sub_8092334
- adds r1, r0, 0
- ldr r0, _0805B144
- bl strcpy
- ldr r0, _0805B148
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0x1
- b _0805B15A
- .align 2, 0
-_0805B134: .4byte gUnknown_80F561C
-_0805B138: .4byte gUnknown_203B418
-_0805B13C: .4byte 0x00003a0e
-_0805B140: .4byte gUnknown_202DFE8
-_0805B144: .4byte gUnknown_202DE58
-_0805B148: .4byte gUnknown_80FEB08
-_0805B14C:
- ldr r0, _0805B160
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0
-_0805B15A:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B160: .4byte gUnknown_81006F8
- thumb_func_end sub_805B0D0
-
- thumb_func_start sub_805B164
-sub_805B164:
- push {lr}
- ldr r2, _0805B178
- ldr r2, [r2]
- movs r3, 0x2
- bl sub_8077084
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0805B178: .4byte gUnknown_8106A50
- thumb_func_end sub_805B164
-
- thumb_func_start sub_805B17C
-sub_805B17C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- mov r8, r3
- movs r0, 0
- mov r9, r0
- ldrh r1, [r7, 0x2]
- ldr r0, _0805B1A8
- cmp r1, r0
- bne _0805B1AC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_807A9D8
- movs r6, 0x9E
- lsls r6, 1
- b _0805B1BA
- .align 2, 0
-_0805B1A8: .4byte 0x00000123
-_0805B1AC:
- movs r6, 0x75
- cmp r1, 0x45
- beq _0805B1BA
- movs r6, 0xF1
- cmp r1, 0x7D
- bne _0805B1BA
- movs r6, 0x7E
-_0805B1BA:
- movs r3, 0x80
- lsls r3, 1
- mov r1, r8
- str r1, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805B1F4
- movs r0, 0x1
- mov r9, r0
- ldr r0, _0805B204
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805B1F4
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl sub_80768DC
-_0805B1F4:
- mov r0, r9
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B204: .4byte gUnknown_80F4E08
- thumb_func_end sub_805B17C
-
- thumb_func_start sub_805B208
-sub_805B208:
- push {lr}
- bl sub_80788E8
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B208
-
- thumb_func_start sub_805B214
-sub_805B214:
- push {lr}
- bl sub_8076B48
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B214
-
- thumb_func_start sub_805B220
-sub_805B220:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r6, 0
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x6]
- movs r2, 0x1
- cmp r0, 0
- beq _0805B234
- movs r2, 0x2
-_0805B234:
- adds r0, r4, 0x4
- movs r1, 0x13
- bl sub_807FCD4
- lsls r0, 24
- cmp r0, 0
- beq _0805B246
- movs r6, 0x1
- b _0805B252
-_0805B246:
- ldr r0, _0805B260
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0805B252:
- bl sub_8049ED4
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B260: .4byte gUnknown_80FC5A8
- thumb_func_end sub_805B220
-
- thumb_func_start sub_805B264
-sub_805B264:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- adds r7, r1, 0
- mov r9, r2
- mov r12, r3
- ldr r4, [r7, 0x70]
- ldr r0, _0805B2D0
- ldr r3, [r0]
- movs r6, 0
- ldr r0, _0805B2D4
- ldr r1, [r0]
- movs r0, 0xC1
- lsls r0, 9
- adds r5, r1, r0
- ldr r2, _0805B2D8
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r5]
- ldr r0, _0805B2DC
- adds r1, r0
- str r6, [r1]
- ldr r0, _0805B2E0
- lsls r3, 1
- adds r3, r0
- movs r0, 0
- ldrsh r3, [r3, r0]
- adds r4, 0xC0
- ldrb r0, [r4]
- cmp r0, 0xA
- bne _0805B2AC
- lsls r3, 1
-_0805B2AC:
- mov r0, r12
- str r0, [sp]
- mov r0, r8
- adds r1, r7, 0
- mov r2, r9
- bl sub_8055864
- negs r1, r0
- orrs r1, r0
- lsrs r6, r1, 31
- adds r0, r6, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B2D0: .4byte gUnknown_202F224
-_0805B2D4: .4byte gUnknown_203B418
-_0805B2D8: .4byte gUnknown_8106A8C
-_0805B2DC: .4byte 0x00018204
-_0805B2E0: .4byte gUnknown_80F4F94
- thumb_func_end sub_805B264
-
- thumb_func_start sub_805B2E4
-sub_805B2E4:
- push {lr}
- bl sub_80799A8
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B2E4
-
- thumb_func_start sub_805B2F0
-sub_805B2F0:
- push {lr}
- bl sub_8079B1C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B2F0
-
- thumb_func_start sub_805B2FC
-sub_805B2FC:
- push {lr}
- ldr r2, _0805B310
- ldr r2, [r2]
- movs r3, 0x1
- bl sub_8077160
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0805B310: .4byte gUnknown_8106A4C
- thumb_func_end sub_805B2FC
-
- thumb_func_start sub_805B314
-sub_805B314:
- push {lr}
- movs r2, 0x1
- bl sub_80783C4
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B314
-
- thumb_func_start sub_805B324
-sub_805B324:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805B368
- movs r7, 0x1
- ldr r0, _0805B374
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805B368
- ldr r0, _0805B378
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8076E20
-_0805B368:
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B374: .4byte gUnknown_80F4DD8
-_0805B378: .4byte gUnknown_8106A50
- thumb_func_end sub_805B324
-
- thumb_func_start sub_805B37C
-sub_805B37C:
- push {lr}
- bl sub_80780E4
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B37C
-
- thumb_func_start sub_805B388
-sub_805B388:
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805B39E
- movs r0, 0x1
-_0805B39E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805B388
-
- thumb_func_start sub_805B3A8
-sub_805B3A8:
- push {lr}
- bl sub_8079BA8
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B3A8
-
- thumb_func_start sub_805B3B4
-sub_805B3B4:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, _0805B3DC
- ldr r4, [r0]
- adds r0, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077084
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077160
- movs r0, 0x1
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B3DC: .4byte gUnknown_8106A50
- thumb_func_end sub_805B3B4
-
- thumb_func_start sub_805B3E0
-sub_805B3E0:
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- movs r0, 0x1
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805B3E0
-
- thumb_func_start sub_805B3FC
-sub_805B3FC:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x18]
- movs r6, 0
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805B446
- movs r6, 0x1
- ldr r0, _0805B450
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805B446
- ldr r4, [r5, 0x70]
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_8077084
- adds r4, 0xFB
- ldrb r0, [r4]
- cmp r0, 0
- bne _0805B446
- strb r6, [r4]
-_0805B446:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B450: .4byte gUnknown_80F4DCE
- thumb_func_end sub_805B3FC
-
- thumb_func_start sub_805B454
-sub_805B454:
- push {lr}
- movs r2, 0x1
- bl sub_807614C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B454
-
- thumb_func_start sub_805B464
-sub_805B464:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r9, r1
- movs r0, 0
- str r0, [sp]
- ldr r1, [r6, 0x70]
- mov r8, r1
- mov r1, r9
- ldr r0, [r1, 0x70]
- movs r5, 0
- ldr r1, _0805B50C
- mov r10, r1
- subs r1, 0x2F
- adds r4, r0, r1
- movs r7, 0x3
-_0805B48C:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805B4D4
- ldrh r1, [r4, 0x2]
- adds r0, r6, 0
- bl sub_805755C
- lsls r0, 24
- cmp r0, 0
- bne _0805B4D4
- ldrh r2, [r4, 0x2]
- adds r0, r2, 0
- cmp r0, r10
- beq _0805B4D4
- cmp r0, 0xE5
- beq _0805B4D4
- cmp r0, 0x8A
- beq _0805B4D4
- cmp r0, 0x28
- beq _0805B4D4
- cmp r0, 0x11
- beq _0805B4D4
- ldrb r1, [r4]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0805B4D4
- lsls r1, r5, 1
- movs r0, 0xBD
- lsls r0, 1
- add r0, r8
- adds r0, r1
- strh r2, [r0]
- adds r5, 0x1
-_0805B4D4:
- adds r4, 0x8
- subs r7, 0x1
- cmp r7, 0
- bge _0805B48C
- ldr r0, _0805B510
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- cmp r5, 0
- beq _0805B518
- mov r1, r8
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805B4F8
- movs r0, 0x1
- strb r0, [r1]
-_0805B4F8:
- ldr r0, _0805B514
- ldr r2, [r0]
- adds r0, r6, 0
- mov r1, r9
- bl sub_80522F4
- movs r0, 0x1
- str r0, [sp]
- b _0805B524
- .align 2, 0
-_0805B50C: .4byte 0x00000147
-_0805B510: .4byte gUnknown_202DF98
-_0805B514: .4byte gUnknown_80FDCE4
-_0805B518:
- ldr r0, _0805B538
- ldr r2, [r0]
- adds r0, r6, 0
- mov r1, r9
- bl sub_80522F4
-_0805B524:
- ldr r0, [sp]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B538: .4byte gUnknown_80FDD00
- thumb_func_end sub_805B464
-
- thumb_func_start sub_805B53C
-sub_805B53C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r10, r0
- mov r9, r1
- adds r6, r2, 0
- mov r8, r3
- movs r0, 0
- add r1, sp, 0x18
- strb r0, [r1]
- mov r0, r10
- ldr r1, [r0, 0x70]
- movs r5, 0x1
- movs r2, 0
- ldr r4, _0805B580
- movs r3, 0
- ldrsh r0, [r4, r3]
- cmp r0, 0
- blt _0805B598
- movs r7, 0xC
- ldrsh r3, [r1, r7]
- adds r1, r4, 0
- ldr r4, _0805B584
-_0805B570:
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r3, r0
- bge _0805B588
- movs r0, 0x2
- ldrsh r5, [r1, r0]
- b _0805B598
- .align 2, 0
-_0805B580: .4byte gUnknown_80F55EC
-_0805B584: .4byte 0x000003e6
-_0805B588:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, r4
- bgt _0805B598
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bge _0805B570
-_0805B598:
- adds r0, r6, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- mov r0, r10
- mov r1, r9
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805B5DC
- movs r2, 0x1
-_0805B5DC:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805B53C
-
- thumb_func_start sub_805B5F4
-sub_805B5F4:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0x1
- bl sub_8077F40
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805B60E
- movs r0, 0x1
- strb r0, [r1]
-_0805B60E:
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805B5F4
-
- thumb_func_start sub_805B618
-sub_805B618:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r6, r0, 0
- mov r8, r1
- mov r9, r3
- ldr r0, _0805B660
- ldr r4, [r0]
- ldr r5, _0805B664
- lsls r4, 3
- adds r0, r4, r5
- ldrh r1, [r0]
- mov r0, sp
- bl sub_8092A88
- adds r5, 0x4
- adds r4, r5
- ldr r4, [r4]
- adds r0, r6, 0
- mov r1, r8
- mov r2, sp
- mov r3, r9
- bl _call_via_r4
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B660: .4byte gUnknown_202F228
-_0805B664: .4byte gUnknown_80F59C8
- thumb_func_end sub_805B618
-
- thumb_func_start sub_805B668
-sub_805B668:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- adds r7, r2, 0
- adds r6, r3, 0
- movs r0, 0
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0x3A
- bl sub_8071824
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r4, 0
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- beq _0805B712
- movs r3, 0x80
- lsls r3, 1
- str r6, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_8055640
- adds r1, r0, 0
- cmp r1, 0
- beq _0805B71E
- movs r0, 0x1
- mov r8, r0
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r4, r0, 1
- cmp r4, 0
- bgt _0805B6BE
- movs r4, 0x1
-_0805B6BE:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _0805B71E
- ldr r0, [r5, 0x70]
- adds r1, r0, 0
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805B6DC
- mov r0, r8
- strb r0, [r1]
-_0805B6DC:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _0805B71E
- mov r0, r9
- cmp r0, 0
- beq _0805B700
- movs r3, 0xFD
- lsls r3, 1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0xD
- bl sub_806F324
- b _0805B71E
-_0805B700:
- mov r0, r8
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_8077C44
- b _0805B71E
-_0805B712:
- ldr r0, _0805B730
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0805B71E:
- mov r0, r8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B730: .4byte gUnknown_810024C
- thumb_func_end sub_805B668
-
- thumb_func_start sub_805B734
-sub_805B734:
- push {lr}
- bl sub_8078678
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B734
-
- thumb_func_start sub_805B740
-sub_805B740:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- adds r6, r1, 0
- ldr r5, [r6, 0x70]
- movs r7, 0
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _0805B7C2
- movs r4, 0
- movs r0, 0x60
- adds r0, r5
- mov r8, r0
-_0805B75E:
- lsls r1, r4, 2
- ldr r0, _0805B7D4
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805B790
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0805B790
- ldrb r0, [r2, 0x2]
- cmp r0, 0x7C
- bne _0805B790
- ldrb r1, [r2, 0x1]
- adds r1, 0x7D
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- movs r2, 0
- bl sub_8090A8C
- movs r7, 0x1
-_0805B790:
- adds r4, 0x1
- cmp r4, 0x13
- ble _0805B75E
- mov r0, r8
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805B7C2
- adds r0, r5, 0
- adds r0, 0x62
- ldrb r0, [r0]
- cmp r0, 0x7C
- bne _0805B7C2
- adds r0, r5, 0
- adds r0, 0x61
- ldrb r1, [r0]
- adds r1, 0x7D
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- movs r2, 0
- bl sub_8090A8C
- movs r7, 0x1
-_0805B7C2:
- cmp r7, 0
- beq _0805B7DC
- ldr r0, _0805B7D8
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
- b _0805B7E8
- .align 2, 0
-_0805B7D4: .4byte gUnknown_203B460
-_0805B7D8: .4byte gUnknown_80FDC9C
-_0805B7DC:
- ldr r0, _0805B7F8
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
-_0805B7E8:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B7F8: .4byte gUnknown_80FDCA0
- thumb_func_end sub_805B740
-
- thumb_func_start sub_805B7FC
-sub_805B7FC:
- push {lr}
- bl sub_8079AA0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805B7FC
-
- thumb_func_start sub_805B808
-sub_805B808:
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x1C
- mov r9, r0
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- movs r5, 0
- add r0, sp, 0x18
- strb r5, [r0]
- adds r0, r6, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0805B880
- movs r3, 0
- ldrsh r2, [r1, r3]
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r5, [sp, 0x14]
- mov r0, r9
- mov r1, r10
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805B868
- movs r2, 0x1
-_0805B868:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B880: .4byte gUnknown_80F4F7E
- thumb_func_end sub_805B808
-
- thumb_func_start sub_805B884
-sub_805B884:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _0805B8AC
- ldr r2, [r0]
- adds r0, r4, 0
- movs r3, 0x1
- bl sub_8077084
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8077910
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B8AC: .4byte gUnknown_8106A4C
- thumb_func_end sub_805B884
-
- thumb_func_start sub_805B8B0
-sub_805B8B0:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r7, r1, 0
- adds r4, r2, 0
- adds r6, r3, 0
- adds r1, r4, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _0805B8EC
- ldr r0, _0805B8E8
- ldr r3, [r0]
- str r6, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_8055640
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- adds r0, r5, 0
- bl sub_8079764
- b _0805B900
- .align 2, 0
-_0805B8E8: .4byte gUnknown_80F4F58
-_0805B8EC:
- ldr r0, _0805B90C
- ldr r0, [r0]
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x6
- adds r3, r4, 0
- bl sub_8079618
- movs r4, 0x1
-_0805B900:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B90C: .4byte gUnknown_80FAFF0
- thumb_func_end sub_805B8B0
-
- thumb_func_start sub_805B910
-sub_805B910:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- movs r7, 0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805B954
- movs r7, 0x1
- ldr r0, _0805B960
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805B954
- ldr r0, _0805B964
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8076F80
-_0805B954:
- adds r0, r7, 0
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805B960: .4byte gUnknown_80F4DDC
-_0805B964: .4byte gUnknown_8106A50
- thumb_func_end sub_805B910
-
- thumb_func_start sub_805B968
-sub_805B968:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r5, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- movs r0, 0
- mov r8, r0
- movs r3, 0x80
- lsls r3, 1
- str r7, [sp]
- adds r0, r5, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805B9D8
- movs r1, 0x1
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0
- bl sub_8057308
- lsls r0, 24
- cmp r0, 0
- beq _0805B9D8
- ldr r0, [r5, 0x70]
- movs r1, 0x10
- ldrsh r2, [r0, r1]
- cmp r2, 0
- bge _0805B9A8
- adds r2, 0x3
-_0805B9A8:
- asrs r4, r2, 2
- cmp r4, 0
- bgt _0805B9B0
- movs r4, 0x1
-_0805B9B0:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- mov r0, r8
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_806F370
-_0805B9D8:
- mov r0, r8
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805B968
-
- thumb_func_start sub_805B9E8
-sub_805B9E8:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- movs r6, 0
- mov r0, sp
- bl sub_8069D18
- lsls r0, 24
- cmp r0, 0
- beq _0805BA08
- ldr r0, _0805BA04
- b _0805BA18
- .align 2, 0
-_0805BA04: .4byte gUnknown_80FD430
-_0805BA08:
- mov r0, sp
- bl sub_804AD34
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0805BA28
- ldr r0, _0805BA24
-_0805BA18:
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _0805BA34
- .align 2, 0
-_0805BA24: .4byte gUnknown_80FD3F0
-_0805BA28:
- ldr r0, _0805BA40
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0805BA34:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805BA40: .4byte gUnknown_80FD40C
- thumb_func_end sub_805B9E8
-
- thumb_func_start sub_805BA44
-sub_805BA44:
- push {lr}
- bl sub_807D3CC
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BA44
-
- thumb_func_start sub_805BA50
-sub_805BA50:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r6, r0, 0
- adds r5, r1, 0
- movs r0, 0
- mov r9, r0
- movs r4, 0x80
- lsls r4, 1
- str r3, [sp]
- adds r0, r6, 0
- adds r3, r4, 0
- bl sub_8055640
- cmp r0, 0
- beq _0805BB4C
- movs r1, 0x1
- mov r9, r1
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_805727C
- lsls r0, 24
- cmp r0, 0
- beq _0805BB4C
- ldr r0, [r6, 0x70]
- mov r8, r0
- mov r10, r8
- ldr r7, [r5, 0x70]
- str r7, [sp, 0x4]
- ldr r4, _0805BAC0
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- movs r1, 0x2C
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0805BAC4
- movs r0, 0x1
- b _0805BB4E
- .align 2, 0
-_0805BAC0: .4byte gUnknown_202DF98
-_0805BAC4:
- adds r0, r5, 0
- movs r1, 0x24
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0805BADC
- ldr r0, _0805BAD8
- b _0805BB04
- .align 2, 0
-_0805BAD8: .4byte gUnknown_80FD574
-_0805BADC:
- mov r0, r8
- adds r0, 0x60
- adds r3, r7, 0
- adds r3, 0x60
- ldrb r0, [r0]
- mov r2, r9
- ands r2, r0
- cmp r2, 0
- beq _0805BAF8
- ldr r0, _0805BAF4
- b _0805BB04
- .align 2, 0
-_0805BAF4: .4byte gUnknown_80FC654
-_0805BAF8:
- ldrb r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0805BB18
- ldr r0, _0805BB14
-_0805BB04:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- movs r0, 0x1
- b _0805BB4E
- .align 2, 0
-_0805BB14: .4byte gUnknown_80FC678
-_0805BB18:
- ldr r1, [sp, 0x4]
- ldr r0, [r1, 0x60]
- mov r1, r10
- str r0, [r1, 0x60]
- strb r2, [r3, 0x2]
- strb r2, [r3, 0x1]
- strb r2, [r3]
- adds r0, r6, 0
- bl sub_806A6E8
- adds r0, r5, 0
- bl sub_806A6E8
- mov r1, r10
- adds r1, 0xFB
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805BB40
- mov r0, r9
- strb r0, [r1]
-_0805BB40:
- ldr r0, _0805BB60
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0805BB4C:
- mov r0, r9
-_0805BB4E:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805BB60: .4byte gUnknown_80FC614
- thumb_func_end sub_805BA50
-
- thumb_func_start sub_805BB64
-sub_805BB64:
- push {lr}
- movs r2, 0xA
- bl sub_80797A0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BB64
-
- thumb_func_start sub_805BB74
-sub_805BB74:
- push {lr}
- adds r3, r0, 0
- ldr r0, [r3, 0x70]
- adds r2, r0, 0
- adds r2, 0xFB
- ldrb r0, [r2]
- cmp r0, 0
- bne _0805BB88
- movs r0, 0x1
- strb r0, [r2]
-_0805BB88:
- adds r0, r3, 0
- movs r2, 0x1
- bl sub_807E254
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BB74
-
- thumb_func_start sub_805BB98
-sub_805BB98:
- push {lr}
- movs r2, 0x1
- movs r3, 0
- bl sub_807D148
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BB98
-
- thumb_func_start sub_805BBA8
-sub_805BBA8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r6, r1, 0
- ldr r0, [r6, 0x70]
- movs r7, 0
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0805BC30
- movs r5, 0
- ldr r3, _0805BC44
-_0805BBC0:
- lsls r1, r5, 2
- ldr r0, [r3]
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0805BBE8
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _0805BBE8
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _0805BBE8
- movs r0, 0xF7
- ands r0, r2
- strb r0, [r1]
- movs r7, 0x1
-_0805BBE8:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0805BBC0
- movs r5, 0
-_0805BBF0:
- ldr r0, _0805BC48
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0805BC4C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805BC2A
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805BC2A
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0805BC2A
- movs r0, 0xF7
- ands r0, r1
- strb r0, [r2]
- movs r7, 0x1
-_0805BC2A:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0805BBF0
-_0805BC30:
- cmp r7, 0
- beq _0805BC54
- ldr r0, _0805BC50
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
- b _0805BC60
- .align 2, 0
-_0805BC44: .4byte gUnknown_203B460
-_0805BC48: .4byte gUnknown_203B418
-_0805BC4C: .4byte 0x0001357c
-_0805BC50: .4byte gUnknown_80FC8F0
-_0805BC54:
- ldr r0, _0805BC6C
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
-_0805BC60:
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805BC6C: .4byte gUnknown_80FC920
- thumb_func_end sub_805BBA8
-
- thumb_func_start sub_805BC70
-sub_805BC70:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _0805BC94
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8075C58
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805BC94: .4byte gUnknown_80F4E74
- thumb_func_end sub_805BC70
-
- thumb_func_start sub_805BC98
-sub_805BC98:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r6, r0, 0
- mov r8, r1
- mov r10, r2
- str r3, [sp, 0x1C]
- movs r5, 0
- add r0, sp, 0x18
- strb r5, [r0]
- mov r7, sp
- adds r7, 0x19
- strb r5, [r7]
- ldr r0, [r6, 0x70]
- mov r9, r0
- ldr r0, [r1, 0x70]
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- subs r4, r0, 0x1
- cmp r4, 0
- bge _0805BCCA
- movs r4, 0
-_0805BCCA:
- mov r0, r10
- ldr r1, [sp, 0x1C]
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- add r2, sp, 0x18
- str r2, [sp]
- str r5, [sp, 0x4]
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- str r5, [sp, 0x10]
- str r5, [sp, 0x14]
- adds r0, r6, 0
- mov r1, r8
- adds r2, r4, 0
- movs r3, 0
- bl sub_806F370
- mov r1, r9
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r4, r0, 1
- cmp r4, 0
- bge _0805BD02
- movs r4, 0
-_0805BD02:
- mov r0, r10
- ldr r1, [sp, 0x1C]
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- str r7, [sp]
- str r5, [sp, 0x4]
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- str r5, [sp, 0x10]
- str r5, [sp, 0x14]
- adds r0, r6, 0
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805BD34
- movs r2, 0x1
-_0805BD34:
- strb r2, [r1]
- movs r1, 0
- ldrb r0, [r7]
- cmp r0, 0
- bne _0805BD40
- movs r1, 0x1
-_0805BD40:
- strb r1, [r7]
- movs r2, 0
- add r0, sp, 0x18
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805BD50
- cmp r1, 0
- beq _0805BD52
-_0805BD50:
- movs r2, 0x1
-_0805BD52:
- adds r0, r2, 0
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805BC98
-
- thumb_func_start sub_805BD64
-sub_805BD64:
- push {lr}
- bl sub_8078D8C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BD64
-
- thumb_func_start sub_805BD70
-sub_805BD70:
- push {lr}
- bl sub_8077DDC
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BD70
-
- thumb_func_start sub_805BD7C
-sub_805BD7C:
- push {lr}
- bl sub_8077ED0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BD7C
-
- thumb_func_start sub_805BD88
-sub_805BD88:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- adds r7, r1, 0
- movs r0, 0
- str r0, [sp]
- ldr r1, [r7, 0x70]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _0805BE60
- mov r9, r1
- movs r2, 0x2
- ldrsh r5, [r1, r2]
- mov r8, r5
- ldr r0, _0805BDD0
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- mov r0, r9
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805BDD8
- ldr r0, _0805BDD4
- ldr r2, [r0]
- mov r0, r10
- adds r1, r7, 0
- bl sub_80522F4
- movs r0, 0
- b _0805BE78
- .align 2, 0
-_0805BDD0: .4byte gUnknown_202DF98
-_0805BDD4: .4byte gUnknown_80FD450
-_0805BDD8:
- movs r6, 0
- b _0805BDDE
-_0805BDDC:
- adds r6, 0x1
-_0805BDDE:
- cmp r6, 0x1D
- bgt _0805BE14
- movs r0, 0
- bl sub_803D970
- lsls r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- movs r1, 0
- bl sub_806AA0C
- lsls r0, 24
- cmp r0, 0
- beq _0805BDDC
- cmp r8, r5
- beq _0805BDDC
- mov r0, r8
- bl sub_808DACC
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_808DACC
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0805BDDC
-_0805BE14:
- cmp r6, 0x1E
- beq _0805BE22
- mov r1, r9
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, r5
- bne _0805BE34
-_0805BE22:
- ldr r0, _0805BE30
- ldr r2, [r0]
- mov r0, r10
- adds r1, r7, 0
- bl sub_80522F4
- b _0805BE76
- .align 2, 0
-_0805BE30: .4byte gUnknown_80FD450
-_0805BE34:
- ldr r0, _0805BE58
- adds r1, r5, 0
- bl sub_808D908
- ldr r0, _0805BE5C
- ldr r2, [r0]
- mov r0, r10
- adds r1, r7, 0
- bl sub_80522F4
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_806BB6C
- movs r0, 0x1
- str r0, [sp]
- b _0805BE76
- .align 2, 0
-_0805BE58: .4byte gUnknown_202DFE8
-_0805BE5C: .4byte gUnknown_80FD434
-_0805BE60:
- ldr r0, _0805BE88
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0805BE8C
- ldr r2, [r0]
- mov r0, r10
- adds r1, r7, 0
- bl sub_80522F4
-_0805BE76:
- ldr r0, [sp]
-_0805BE78:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805BE88: .4byte gUnknown_202DF98
-_0805BE8C: .4byte gUnknown_80FD450
- thumb_func_end sub_805BD88
-
- thumb_func_start sub_805BE90
-sub_805BE90:
- push {lr}
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80779F0
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BE90
-
- thumb_func_start sub_805BEA0
-sub_805BEA0:
- push {lr}
- bl sub_804002C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BEA0
-
- thumb_func_start sub_805BEAC
-sub_805BEAC:
- push {lr}
- bl sub_8076D10
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BEAC
-
- thumb_func_start sub_805BEB8
-sub_805BEB8:
- push {lr}
- movs r2, 0x8
- bl sub_807DA14
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BEB8
-
- thumb_func_start sub_805BEC8
-sub_805BEC8:
- push {lr}
- bl sub_807D510
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BEC8
-
- thumb_func_start sub_805BED4
-sub_805BED4:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, _0805BF00
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r5, _0805BF04
- ldr r0, [r5]
- ldr r1, _0805BF08
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805BF10
- ldr r0, _0805BF0C
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80522F4
- b _0805BF26
- .align 2, 0
-_0805BF00: .4byte gUnknown_202DF98
-_0805BF04: .4byte gUnknown_203B418
-_0805BF08: .4byte 0x0000066e
-_0805BF0C: .4byte gUnknown_80FD4DC
-_0805BF10:
- ldr r0, _0805BF30
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80522F4
- ldr r0, [r5]
- movs r1, 0x1
- strb r1, [r0, 0x4]
- ldr r0, [r5]
- strb r1, [r0, 0x11]
-_0805BF26:
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805BF30: .4byte gUnknown_80FD4C4
- thumb_func_end sub_805BED4
-
- thumb_func_start sub_805BF34
-sub_805BF34:
- push {lr}
- bl sub_807DB74
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805BF34
-
- thumb_func_start sub_805BF40
-sub_805BF40:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0x10]
- adds r0, r1, 0
- bl sub_8045128
- adds r4, r0, 0
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _0805BF78
- ldr r0, _0805BF74
- ldr r1, [r0]
- ldr r0, [sp, 0x4]
- bl sub_80522A8
- movs r0, 0
- b _0805C06A
- .align 2, 0
-_0805BF74: .4byte gUnknown_80FD1EC
-_0805BF78:
- ldrb r0, [r4, 0x9]
- cmp r0, 0xFF
- bne _0805BFAC
- ldr r2, [sp, 0x8]
- movs r3, 0x4
- ldrsh r1, [r2, r3]
- ldr r0, _0805BFA4
- ldr r0, [r0]
- ldr r4, _0805BFA8
- adds r0, r4
- ldrb r0, [r0]
- subs r2, r1, r0
- ldr r3, [sp, 0x8]
- movs r4, 0x6
- ldrsh r1, [r3, r4]
- subs r1, r0
- str r1, [sp, 0xC]
- adds r1, r2, r0
- mov r10, r1
- ldr r3, [sp, 0xC]
- adds r7, r3, r0
- b _0805BFDA
- .align 2, 0
-_0805BFA4: .4byte gUnknown_203B418
-_0805BFA8: .4byte 0x00018209
-_0805BFAC:
- ldr r2, _0805C050
- ldrb r1, [r4, 0x9]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r4, _0805C054
- adds r0, r4
- ldr r1, [r2]
- adds r1, r0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r2, r0, 0x1
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- subs r0, 0x1
- str r0, [sp, 0xC]
- movs r4, 0x6
- ldrsh r0, [r1, r4]
- adds r0, 0x1
- mov r10, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- adds r7, r0, 0x1
-_0805BFDA:
- adds r6, r2, 0
- cmp r6, r10
- bgt _0805C034
-_0805BFE0:
- ldr r5, [sp, 0xC]
- adds r4, r6, 0x1
- mov r9, r4
- cmp r5, r7
- bgt _0805C02E
- lsls r0, r6, 16
- lsrs r0, 16
- mov r8, r0
-_0805BFF0:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8049590
- ldr r4, [r0, 0x14]
- cmp r4, 0
- beq _0805C028
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _0805C028
- adds r0, r4, 0
- bl sub_8045104
- ldrb r0, [r0]
- cmp r0, 0x11
- beq _0805C028
- lsls r0, r5, 16
- mov r1, r8
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- movs r1, 0
- bl sub_807FE04
- movs r2, 0x1
- str r2, [sp, 0x10]
-_0805C028:
- adds r5, 0x1
- cmp r5, r7
- ble _0805BFF0
-_0805C02E:
- mov r6, r9
- cmp r6, r10
- ble _0805BFE0
-_0805C034:
- ldr r3, [sp, 0x10]
- cmp r3, 0
- beq _0805C05C
- ldr r0, _0805C058
- ldr r2, [r0]
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x8]
- bl sub_80522F4
- bl sub_8040A84
- bl sub_8049ED4
- b _0805C068
- .align 2, 0
-_0805C050: .4byte gUnknown_203B418
-_0805C054: .4byte 0x000104c4
-_0805C058: .4byte gUnknown_80FD1B0
-_0805C05C:
- ldr r0, _0805C07C
- ldr r2, [r0]
- ldr r0, [sp, 0x4]
- ldr r1, [sp, 0x8]
- bl sub_80522F4
-_0805C068:
- ldr r0, [sp, 0x10]
-_0805C06A:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C07C: .4byte gUnknown_80FD1CC
- thumb_func_end sub_805BF40
-
- thumb_func_start sub_805C080
-sub_805C080:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- mov r9, r1
- movs r0, 0
- mov r8, r0
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0805C0AC
- ldr r0, _0805C0A4
- ldr r0, [r0]
- ldr r1, _0805C0A8
- adds r0, r1
- movs r1, 0x10
- b _0805C0BA
- .align 2, 0
-_0805C0A4: .4byte gUnknown_203B418
-_0805C0A8: .4byte 0x0001358c
-_0805C0AC:
- ldr r0, _0805C11C
- ldr r0, [r0]
- ldr r1, _0805C120
- adds r0, r1
- movs r1, 0x4
- cmp r1, 0
- beq _0805C0FA
-_0805C0BA:
- adds r6, r0, 0
- adds r7, r1, 0
-_0805C0BE:
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805C0F2
- cmp r5, r4
- beq _0805C0F2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _0805C0F2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x2
- adds r3, r5, 0x4
- bl sub_807D148
- movs r0, 0x1
- mov r8, r0
-_0805C0F2:
- adds r6, 0x4
- subs r7, 0x1
- cmp r7, 0
- bne _0805C0BE
-_0805C0FA:
- mov r1, r8
- cmp r1, 0
- bne _0805C10C
- ldr r0, _0805C124
- ldr r2, [r0]
- adds r0, r5, 0
- mov r1, r9
- bl sub_80522F4
-_0805C10C:
- mov r0, r8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C11C: .4byte gUnknown_203B418
-_0805C120: .4byte 0x0001357c
-_0805C124: .4byte gUnknown_81004F0
- thumb_func_end sub_805C080
-
- thumb_func_start sub_805C128
-sub_805C128:
- push {lr}
- adds r1, r0, 0
- bl sub_807885C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C128
-
- thumb_func_start sub_805C138
-sub_805C138:
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x1C
- mov r9, r0
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- movs r5, 0
- add r0, sp, 0x18
- strb r5, [r0]
- adds r0, r6, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0805C1AC
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r5, [sp, 0x14]
- mov r0, r9
- mov r1, r10
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805C194
- movs r2, 0x1
-_0805C194:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C1AC: .4byte 0x0000270f
- thumb_func_end sub_805C138
-
- thumb_func_start sub_805C1B0
-sub_805C1B0:
- push {lr}
- bl sub_80790C8
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C1B0
-
- thumb_func_start sub_805C1BC
-sub_805C1BC:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, _0805C1E0
- movs r5, 0
- ldrsh r4, [r4, r5]
- str r3, [sp]
- adds r3, r4, 0
- bl sub_8055864
- adds r1, r0, 0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C1E0: .4byte gUnknown_80F4F80
- thumb_func_end sub_805C1BC
-
- thumb_func_start sub_805C1E4
-sub_805C1E4:
- push {lr}
- ldr r2, _0805C1F4
- ldr r2, [r2]
- bl sub_80522F4
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0805C1F4: .4byte gUnknown_80FD454
- thumb_func_end sub_805C1E4
-
- thumb_func_start sub_805C1F8
-sub_805C1F8:
- push {lr}
- movs r2, 0x1
- bl sub_8077BB4
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C1F8
-
- thumb_func_start sub_805C208
-sub_805C208:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r7, r0, 0
- mov r9, r1
- adds r6, r2, 0
- mov r8, r3
- movs r5, 0
- add r0, sp, 0x18
- strb r5, [r0]
- ldr r0, [r1, 0x70]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bl sub_808DB90
- mov r10, r0
- adds r0, r6, 0
- bl sub_8092B00
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- mov r1, r8
- bl sub_8057600
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x18
- str r1, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- movs r0, 0x1
- str r0, [sp, 0x10]
- str r5, [sp, 0x14]
- adds r0, r7, 0
- mov r1, r9
- mov r2, r10
- movs r3, 0x1
- bl sub_806F370
- add r1, sp, 0x18
- movs r2, 0
- adds r0, r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805C270
- movs r2, 0x1
-_0805C270:
- strb r2, [r1]
- add r0, sp, 0x18
- ldrb r0, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805C208
-
- thumb_func_start sub_805C288
-sub_805C288:
- push {lr}
- ldr r2, _0805C29C
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r3, 0
- bl sub_8078A58
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_0805C29C: .4byte gUnknown_80F4FC6
- thumb_func_end sub_805C288
-
- thumb_func_start sub_805C2A0
-sub_805C2A0:
- push {lr}
- bl sub_807DC68
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C2A0
-
- thumb_func_start sub_805C2AC
-sub_805C2AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- adds r7, r1, 0
- movs r0, 0
- mov r9, r0
- ldr r5, [r7, 0x70]
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _0805C2DC
- ldr r0, _0805C2D8
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
- movs r0, 0
- b _0805C3CA
- .align 2, 0
-_0805C2D8: .4byte gUnknown_80FD0B8
-_0805C2DC:
- ldr r4, _0805C3A0
- adds r3, r5, 0
- adds r3, 0x46
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0]
- ldrh r1, [r7, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0805C3A4
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x2]
- ldrh r2, [r7, 0x6]
- adds r0, r2
- lsls r0, 16
- ldr r2, _0805C3A8
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r4, sp
- mov r0, sp
- bl sub_8042A54
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0805C36C
- ldr r0, _0805C3AC
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- movs r5, 0x1
- negs r5, r5
- mov r6, sp
-_0805C344:
- movs r4, 0x1
- negs r4, r4
-_0805C348:
- movs r1, 0
- ldrsh r0, [r6, r1]
- adds r0, r4
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r1, r5
- bl sub_80498A8
- adds r4, 0x1
- cmp r4, 0x1
- ble _0805C348
- adds r5, 0x1
- cmp r5, 0x1
- ble _0805C344
- movs r0, 0x1
- mov r9, r0
- bl sub_806CF60
-_0805C36C:
- movs r5, 0
-_0805C36E:
- movs r4, 0
- adds r6, r5, 0x1
-_0805C372:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049BB0
- adds r4, 0x1
- cmp r4, 0x37
- ble _0805C372
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _0805C36E
- mov r1, r9
- cmp r1, 0
- beq _0805C3B4
- mov r0, sp
- bl sub_8042A64
- ldr r0, _0805C3B0
- ldr r2, [r0]
- mov r0, r8
- adds r1, r7, 0
- bl sub_80522F4
- b _0805C3C0
- .align 2, 0
-_0805C3A0: .4byte gUnknown_80F4448
-_0805C3A4: .4byte 0xffff0000
-_0805C3A8: .4byte 0x0000ffff
-_0805C3AC: .4byte 0x0000fffc
-_0805C3B0: .4byte gUnknown_80FD0B4
-_0805C3B4:
- ldr r0, _0805C3D8
- ldr r2, [r0]
- mov r0, r8
- adds r1, r7, 0
- bl sub_80522F4
-_0805C3C0:
- bl sub_8040A84
- bl sub_8049ED4
- mov r0, r9
-_0805C3CA:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C3D8: .4byte gUnknown_80FD0B8
- thumb_func_end sub_805C2AC
-
- thumb_func_start sub_805C3DC
-sub_805C3DC:
- push {lr}
- ldr r0, [r1, 0x70]
- ldrb r0, [r0, 0x6]
- movs r2, 0x1
- cmp r0, 0
- beq _0805C3EA
- movs r2, 0x2
-_0805C3EA:
- adds r0, r1, 0x4
- movs r1, 0x14
- bl sub_807FC3C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C3DC
-
- thumb_func_start sub_805C3F8
-sub_805C3F8:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, [r4, 0x4]
- str r0, [sp, 0x4]
- ldr r0, [r4, 0x70]
- adds r0, 0xA4
- ldrb r1, [r0]
- cmp r1, 0
- bne _0805C442
- adds r0, r4, 0
- adds r0, 0x20
- strb r1, [r0]
- movs r0, 0
- bl sub_803D73C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- movs r2, 0
- bl sub_8045C28
- add r1, sp, 0x4
- adds r0, r5, 0
- mov r2, sp
- bl sub_80464C8
- movs r1, 0x86
- lsls r1, 2
- adds r0, r4, 0
- adds r2, r5, 0
- bl sub_8068FE0
- movs r0, 0x1
- b _0805C450
-_0805C442:
- ldr r0, _0805C458
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0
-_0805C450:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0805C458: .4byte gUnknown_80FF678
- thumb_func_end sub_805C3F8
-
- thumb_func_start sub_805C45C
-sub_805C45C:
- push {lr}
- bl sub_807F43C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C45C
-
- thumb_func_start sub_805C468
-sub_805C468:
- push {lr}
- bl sub_8078F50
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C468
-
- thumb_func_start sub_805C474
-sub_805C474:
- push {lr}
- bl sub_8077E4C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C474
-
- thumb_func_start sub_805C480
-sub_805C480:
- push {lr}
- bl sub_8079570
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C480
-
- thumb_func_start sub_805C48C
-sub_805C48C:
- push {lr}
- bl sub_80795C4
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_805C48C
-
- thumb_func_start sub_805C498
-sub_805C498:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r2, [r5, 0x70]
- ldrh r0, [r1, 0x2]
- subs r1, r0, 0x7
- ldr r0, _0805C4B8
- cmp r1, r0
- bls _0805C4AC
- bl _0805CEA8
-_0805C4AC:
- lsls r0, r1, 2
- ldr r1, _0805C4BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0805C4B8: .4byte 0x0000018f
-_0805C4BC: .4byte _0805C4C0
- .align 2, 0
-_0805C4C0:
- .4byte _0805CDE8
- .4byte _0805CCE4
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC70
- .4byte _0805CEA8
- .4byte _0805CB00
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB0C
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB12
- .4byte _0805CEA8
- .4byte _0805CB18
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDE8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD48
- .4byte _0805CEA8
- .4byte _0805CB12
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB1E
- .4byte _0805CD8A
- .4byte _0805CEA8
- .4byte _0805CB40
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB46
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB40
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CCA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB4C
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB56
- .4byte _0805CB5C
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD50
- .4byte _0805CEA8
- .4byte _0805CB62
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB72
- .4byte _0805CEA8
- .4byte _0805CB80
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC94
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC7C
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD90
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CCD8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD64
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB94
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD96
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDF4
- .4byte _0805CE00
- .4byte _0805CB40
- .4byte _0805CDE8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB1E
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB40
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD20
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDD2
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC88
- .4byte _0805CEA8
- .4byte _0805CD9C
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CCC2
- .4byte _0805CB9A
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CBBA
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CBD0
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CBDA
- .4byte _0805CB24
- .4byte _0805CB40
- .4byte _0805CB8E
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CBE0
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDE8
- .4byte _0805CDE8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDB0
- .4byte _0805CEA8
- .4byte _0805CDE8
- .4byte _0805CEA8
- .4byte _0805CBF0
- .4byte _0805CEA8
- .4byte _0805CC18
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDBC
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC54
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC62
- .4byte _0805CB40
- .4byte _0805CEA8
- .4byte _0805CD50
- .4byte _0805CC62
- .4byte _0805CEA8
- .4byte _0805CD34
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC1E
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC24
- .4byte _0805CBDA
- .4byte _0805CEA8
- .4byte _0805CDCA
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB1E
- .4byte _0805CDDC
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC32
- .4byte _0805CEA8
- .4byte _0805CB46
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CC38
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CB56
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CCB6
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDE8
- .4byte _0805CDE8
- .4byte _0805CDE8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDE8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD74
- .4byte _0805CEA8
- .4byte _0805CD50
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CD06
- .4byte _0805CEA8
- .4byte _0805CC9A
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CEA8
- .4byte _0805CDE8
-_0805CB00:
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- b _0805CC5A
-_0805CB0C:
- adds r0, r2, 0
- adds r0, 0xC0
- b _0805CDF8
-_0805CB12:
- adds r0, r2, 0
- adds r0, 0xC4
- b _0805CCAC
-_0805CB18:
- adds r0, r2, 0
- adds r0, 0xC4
- b _0805CB76
-_0805CB1E:
- movs r1, 0x1C
- ldrsh r0, [r2, r1]
- b _0805CDD6
-_0805CB24:
- movs r3, 0x1C
- ldrsh r0, [r2, r3]
- cmp r0, 0x13
- bgt _0805CB6E
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- ble _0805CB3E
- b _0805CEA8
-_0805CB3E:
- b _0805CB6E
-_0805CB40:
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- b _0805CDD6
-_0805CB46:
- adds r0, r2, 0
- adds r0, 0xC0
- b _0805CC9E
-_0805CB4C:
- ldr r0, [r5, 0x70]
- movs r2, 0x82
- lsls r2, 1
- adds r0, r2
- b _0805CC4A
-_0805CB56:
- adds r0, r2, 0
- adds r0, 0xDC
- b _0805CC9E
-_0805CB5C:
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- b _0805CDCE
-_0805CB62:
- adds r0, r2, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x9
- beq _0805CB6E
- b _0805CEA8
-_0805CB6E:
- movs r0, 0
- b _0805CEAA
-_0805CB72:
- adds r0, r2, 0
- adds r0, 0xC0
-_0805CB76:
- ldrb r0, [r0]
- cmp r0, 0xB
- beq _0805CB7E
- b _0805CEA8
-_0805CB7E:
- b _0805CB6E
-_0805CB80:
- adds r0, r2, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xE
- beq _0805CB8C
- b _0805CEA8
-_0805CB8C:
- b _0805CB6E
-_0805CB8E:
- adds r0, r2, 0
- adds r0, 0xC4
- b _0805CDE0
-_0805CB94:
- movs r3, 0x26
- ldrsh r0, [r2, r3]
- b _0805CDD6
-_0805CB9A:
- adds r0, r2, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _0805CB6E
- movs r1, 0x10
- ldrsh r0, [r2, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r3, 0xE
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _0805CBB8
- b _0805CEA8
-_0805CBB8:
- b _0805CB6E
-_0805CBBA:
- movs r0, 0x10
- ldrsh r1, [r2, r0]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r1, r0
- ble _0805CB6E
- movs r1, 0x89
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- b _0805CDC4
-_0805CBD0:
- movs r3, 0x89
- lsls r3, 1
- adds r0, r2, r3
- ldrb r0, [r0]
- b _0805CDC4
-_0805CBDA:
- adds r0, r2, 0
- adds r0, 0xDC
- b _0805CDE0
-_0805CBE0:
- movs r1, 0x1C
- ldrsh r0, [r2, r1]
- cmp r0, 0x13
- bgt _0805CBEA
- b _0805CEA8
-_0805CBEA:
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- b _0805CDD6
-_0805CBF0:
- ldr r1, _0805CC0C
- ldr r0, _0805CC10
- ldr r0, [r0]
- ldr r2, _0805CC14
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8071858
- b _0805CDEC
- .align 2, 0
-_0805CC0C: .4byte gUnknown_80F561C
-_0805CC10: .4byte gUnknown_203B418
-_0805CC14: .4byte 0x00003a0e
-_0805CC18:
- movs r1, 0x1E
- ldrsh r0, [r2, r1]
- b _0805CDD6
-_0805CC1E:
- adds r0, r2, 0
- adds r0, 0xD0
- b _0805CDB4
-_0805CC24:
- adds r0, r2, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x8
- beq _0805CC30
- b _0805CEA8
-_0805CC30:
- b _0805CB6E
-_0805CC32:
- adds r0, r2, 0
- adds r0, 0xC4
- b _0805CC9E
-_0805CC38:
- movs r3, 0x1C
- ldrsh r0, [r2, r3]
- cmp r0, 0x13
- bgt _0805CC42
- b _0805CEA8
-_0805CC42:
- ldr r0, [r5, 0x70]
- movs r1, 0x82
- lsls r1, 1
- adds r0, r1
-_0805CC4A:
- ldr r0, [r0]
- cmp r0, 0x3
- bgt _0805CC52
- b _0805CEA8
-_0805CC52:
- b _0805CB6E
-_0805CC54:
- adds r0, r2, 0
- adds r0, 0xC4
- ldrb r0, [r0]
-_0805CC5A:
- cmp r0, 0x5
- beq _0805CC60
- b _0805CEA8
-_0805CC60:
- b _0805CB6E
-_0805CC62:
- adds r0, r2, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _0805CC6E
- b _0805CEA8
-_0805CC6E:
- b _0805CB6E
-_0805CC70:
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- b _0805CCAE
-_0805CC7C:
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- b _0805CDB6
-_0805CC88:
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- b _0805CCA0
-_0805CC94:
- adds r0, r2, 0
- adds r0, 0xC4
- b _0805CDB4
-_0805CC9A:
- adds r0, r2, 0
- adds r0, 0xE4
-_0805CC9E:
- ldrb r0, [r0]
-_0805CCA0:
- cmp r0, 0x1
- beq _0805CCA6
- b _0805CEA8
-_0805CCA6:
- b _0805CB6E
-_0805CCA8:
- adds r0, r2, 0
- adds r0, 0xDC
-_0805CCAC:
- ldrb r0, [r0]
-_0805CCAE:
- cmp r0, 0x4
- beq _0805CCB4
- b _0805CEA8
-_0805CCB4:
- b _0805CB6E
-_0805CCB6:
- adds r0, r2, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- b _0805CDEE
-_0805CCC2:
- adds r0, r5, 0
- bl sub_8070B48
- lsls r0, 24
- cmp r0, 0
- beq _0805CCD0
- b _0805CEA8
-_0805CCD0:
- adds r0, r5, 0
- bl sub_8070A58
- b _0805CDC2
-_0805CCD8:
- adds r0, r5, 0
- bl sub_8045128
- bl sub_804AF20
- b _0805CDEC
-_0805CCE4:
- adds r0, r5, 0
- bl sub_8045128
- adds r4, r0, 0
- bl sub_804AF20
- lsls r0, 24
- cmp r0, 0
- bne _0805CCF8
- b _0805CB6E
-_0805CCF8:
- ldrh r1, [r4]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0805CD04
- b _0805CEA8
-_0805CD04:
- b _0805CB6E
-_0805CD06:
- adds r0, r5, 0
- bl sub_8045128
- ldr r0, [r0, 0x14]
- cmp r0, 0
- bne _0805CD14
- b _0805CB6E
-_0805CD14:
- bl sub_80450F8
- cmp r0, 0x2
- bne _0805CD1E
- b _0805CEA8
-_0805CD1E:
- b _0805CB6E
-_0805CD20:
- ldr r0, _0805CD2C
- ldr r0, [r0]
- ldr r2, _0805CD30
- adds r0, r2
- ldrb r0, [r0]
- b _0805CDEE
- .align 2, 0
-_0805CD2C: .4byte gUnknown_203B418
-_0805CD30: .4byte 0x0000e277
-_0805CD34:
- ldr r0, _0805CD40
- ldr r0, [r0]
- ldr r3, _0805CD44
- adds r0, r3
- ldrb r0, [r0]
- b _0805CDEE
- .align 2, 0
-_0805CD40: .4byte gUnknown_203B418
-_0805CD44: .4byte 0x0000e278
-_0805CD48:
- adds r0, r2, 0
- adds r0, 0xF4
- ldrb r0, [r0]
- b _0805CDEE
-_0805CD50:
- ldr r0, _0805CD5C
- ldr r0, [r0]
- ldr r1, _0805CD60
- adds r0, r1
- ldrb r0, [r0]
- b _0805CDEE
- .align 2, 0
-_0805CD5C: .4byte gUnknown_203B418
-_0805CD60: .4byte 0x000037fc
-_0805CD64:
- movs r3, 0x89
- lsls r3, 1
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0x2
- bhi _0805CD72
- b _0805CEA8
-_0805CD72:
- b _0805CB6E
-_0805CD74:
- adds r0, r2, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805CD84
- b _0805CEA8
-_0805CD84:
- movs r0, 0x8
- ands r0, r1
- b _0805CDC4
-_0805CD8A:
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- b _0805CDD6
-_0805CD90:
- movs r3, 0x1E
- ldrsh r0, [r2, r3]
- b _0805CDD6
-_0805CD96:
- movs r1, 0x1C
- ldrsh r0, [r2, r1]
- b _0805CDD6
-_0805CD9C:
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0805CDA4
- b _0805CB6E
-_0805CDA4:
- adds r0, r2, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _0805CEA8
- b _0805CB6E
-_0805CDB0:
- adds r0, r2, 0
- adds r0, 0xE4
-_0805CDB4:
- ldrb r0, [r0]
-_0805CDB6:
- cmp r0, 0x2
- bne _0805CEA8
- b _0805CB6E
-_0805CDBC:
- adds r0, r5, 0x4
- bl sub_807FC80
-_0805CDC2:
- lsls r0, 24
-_0805CDC4:
- cmp r0, 0
- bne _0805CEA8
- b _0805CB6E
-_0805CDCA:
- movs r3, 0x1E
- ldrsh r0, [r2, r3]
-_0805CDCE:
- cmp r0, 0x13
- ble _0805CEA8
-_0805CDD2:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
-_0805CDD6:
- cmp r0, 0x13
- ble _0805CEA8
- b _0805CB6E
-_0805CDDC:
- adds r0, r2, 0
- adds r0, 0xC8
-_0805CDE0:
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0805CEA8
- b _0805CB6E
-_0805CDE8:
- bl sub_80441BC
-_0805CDEC:
- lsls r0, 24
-_0805CDEE:
- cmp r0, 0
- beq _0805CEA8
- b _0805CB6E
-_0805CDF4:
- adds r0, r2, 0
- adds r0, 0xC4
-_0805CDF8:
- ldrb r0, [r0]
- cmp r0, 0xC
- bne _0805CEA8
- b _0805CB6E
-_0805CE00:
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0805CE5C
- movs r6, 0
-_0805CE08:
- ldr r0, _0805CE54
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0805CE58
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805CE46
- cmp r4, r5
- beq _0805CE46
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _0805CE46
- ldr r1, [r4, 0x70]
- movs r3, 0x1C
- ldrsh r0, [r1, r3]
- cmp r0, 0x13
- bgt _0805CE46
- movs r2, 0x1E
- ldrsh r0, [r1, r2]
- cmp r0, 0x13
- ble _0805CE4C
-_0805CE46:
- adds r6, 0x1
- cmp r6, 0xF
- ble _0805CE08
-_0805CE4C:
- cmp r6, 0x10
- bne _0805CEA8
- b _0805CB6E
- .align 2, 0
-_0805CE54: .4byte gUnknown_203B418
-_0805CE58: .4byte 0x0001358c
-_0805CE5C:
- movs r6, 0
-_0805CE5E:
- ldr r0, _0805CEB0
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, _0805CEB4
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805CE9C
- cmp r4, r5
- beq _0805CE9C
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _0805CE9C
- ldr r1, [r4, 0x70]
- movs r2, 0x1C
- ldrsh r0, [r1, r2]
- cmp r0, 0x13
- bgt _0805CE9C
- movs r3, 0x1E
- ldrsh r0, [r1, r3]
- cmp r0, 0x13
- ble _0805CEA2
-_0805CE9C:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805CE5E
-_0805CEA2:
- cmp r6, 0x4
- bne _0805CEA8
- b _0805CB6E
-_0805CEA8:
- movs r0, 0x1
-_0805CEAA:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0805CEB0: .4byte gUnknown_203B418
-_0805CEB4: .4byte 0x0001357c
- thumb_func_end sub_805C498
-
- thumb_func_start sub_805CEB8
-sub_805CEB8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r5, [r0, 0x70]
- ldr r4, [r6, 0x70]
- adds r0, r4, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0805CEE0
- adds r0, r7, 0
- bl sub_8092C3C
- lsls r0, 24
- cmp r0, 0
- beq _0805CEE0
- b _0805D540
-_0805CEE0:
- ldrh r0, [r7, 0x2]
- subs r2, r0, 0x3
- ldr r0, _0805CEF8
- cmp r2, r0
- bls _0805CEEE
- bl _0805D802
-_0805CEEE:
- lsls r0, r2, 2
- ldr r1, _0805CEFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0805CEF8: .4byte 0x0000017b
-_0805CEFC: .4byte _0805CF00
- .align 2, 0
-_0805CF00:
- .4byte _0805D4FA
- .4byte _0805D4F0
- .4byte _0805D50E
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D516
- .4byte _0805D51C
- .4byte _0805D802
- .4byte _0805D7F6
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D520
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D52C
- .4byte _0805D532
- .4byte _0805D544
- .4byte _0805D55A
- .4byte _0805D7F6
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D566
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D56A
- .4byte _0805D4F0
- .4byte _0805D570
- .4byte _0805D802
- .4byte _0805D57E
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D584
- .4byte _0805D802
- .4byte _0805D7F6
- .4byte _0805D802
- .4byte _0805D596
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D59C
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D5C8
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D5D0
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D4F0
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D5E2
- .4byte _0805D4F0
- .4byte _0805D5E8
- .4byte _0805D5F8
- .4byte _0805D802
- .4byte _0805D5FE
- .4byte _0805D5F8
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D55A
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D4F0
- .4byte _0805D662
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D668
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D5DC
- .4byte _0805D802
- .4byte _0805D5C8
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D7AC
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D704
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D704
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D7F6
- .4byte _0805D70A
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D7F6
- .4byte _0805D5C8
- .4byte _0805D802
- .4byte _0805D5F8
- .4byte _0805D802
- .4byte _0805D7E4
- .4byte _0805D7DC
- .4byte _0805D802
- .4byte _0805D7E4
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D716
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D740
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D74A
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D5DC
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D4F0
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D75C
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D734
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D782
- .4byte _0805D740
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D704
- .4byte _0805D7F6
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D5C8
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D7A0
- .4byte _0805D7CA
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D78A
- .4byte _0805D59C
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D7BE
- .4byte _0805D7AC
- .4byte _0805D802
- .4byte _0805D794
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D55A
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D782
- .4byte _0805D802
- .4byte _0805D802
- .4byte _0805D7F6
-_0805D4F0:
- adds r0, r6, 0
- bl sub_8070B28
- lsls r0, 24
- b _0805D7A6
-_0805D4FA:
- adds r0, r4, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0805D540
- adds r0, r6, 0
- bl sub_8070B28
- lsls r0, 24
- b _0805D7A6
-_0805D50E:
- adds r0, r4, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- b _0805D7F0
-_0805D516:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- b _0805D744
-_0805D51C:
- ldr r0, [r4, 0x2C]
- b _0805D58E
-_0805D520:
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _0805D540
- b _0805D7AC
-_0805D52C:
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- b _0805D78E
-_0805D532:
- movs r7, 0xE
- ldrsh r1, [r4, r7]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r1, r0
- ble _0805D540
- b _0805D802
-_0805D540:
- movs r0, 0
- b _0805D804
-_0805D544:
- movs r3, 0x8C
- lsls r3, 1
- adds r4, r3
- adds r0, r4, 0
- bl sub_805D810
- lsls r0, 24
- cmp r0, 0
- bne _0805D540
- adds r0, r4, 0
- b _0805D7B2
-_0805D55A:
- ldr r0, [r6, 0x70]
- movs r7, 0x82
- lsls r7, 1
- adds r0, r7
- ldr r0, [r0]
- b _0805D744
-_0805D566:
- ldr r0, [r4, 0x34]
- b _0805D58E
-_0805D56A:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- b _0805D744
-_0805D570:
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r4, r2
- bl sub_805D850
- lsls r0, 24
- b _0805D7A6
-_0805D57E:
- adds r0, r4, 0
- adds r0, 0xDC
- b _0805D7FA
-_0805D584:
- ldr r0, [r4, 0x2C]
- cmp r0, 0x3E
- ble _0805D58C
- b _0805D802
-_0805D58C:
- ldr r0, [r4, 0x30]
-_0805D58E:
- cmp r0, 0x3E
- ble _0805D594
- b _0805D802
-_0805D594:
- b _0805D540
-_0805D596:
- adds r0, r4, 0
- adds r0, 0xAC
- b _0805D798
-_0805D59C:
- adds r0, r4, 0
- adds r0, 0x5C
- ldrb r0, [r0]
- cmp r0, 0xE
- beq _0805D5B0
- adds r0, r4, 0
- adds r0, 0x5D
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _0805D5BC
-_0805D5B0:
- adds r0, r4, 0
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805D5BC
- b _0805D802
-_0805D5BC:
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- cmp r0, 0xA
- ble _0805D5C6
- b _0805D802
-_0805D5C6:
- b _0805D540
-_0805D5C8:
- adds r0, r4, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- b _0805D7D6
-_0805D5D0:
- movs r7, 0xE
- ldrsh r0, [r4, r7]
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- subs r0, r1
- b _0805D744
-_0805D5DC:
- movs r3, 0x20
- ldrsh r0, [r4, r3]
- b _0805D744
-_0805D5E2:
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- b _0805D744
-_0805D5E8:
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _0805D5F2
- b _0805D802
-_0805D5F2:
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- b _0805D744
-_0805D5F8:
- adds r0, r4, 0
- adds r0, 0xB0
- b _0805D7FA
-_0805D5FE:
- movs r6, 0
- adds r2, r4, 0
- adds r2, 0x1C
- movs r3, 0x1C
- ldrsh r0, [r4, r3]
- cmp r0, 0x9
- ble _0805D6FC
- adds r1, r4, 0
- adds r1, 0x20
- movs r7, 0x20
- ldrsh r0, [r4, r7]
- cmp r0, 0x9
- ble _0805D6FC
- adds r3, r1, 0
- movs r5, 0
-_0805D61C:
- adds r0, r4, 0
- adds r0, 0x24
- adds r0, r5
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- ble _0805D6FC
- lsls r1, r6, 2
- adds r0, r4, 0
- adds r0, 0x2C
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xFF
- ble _0805D6FC
- adds r0, r4, 0
- adds r0, 0x34
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0xFF
- ble _0805D6FC
- adds r3, 0x2
- adds r2, 0x2
- adds r5, 0x2
- adds r6, 0x1
- cmp r6, 0x1
- bgt _0805D6FC
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r0, 0x9
- ble _0805D6FC
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0x9
- bgt _0805D61C
- b _0805D6FC
-_0805D662:
- adds r0, r4, 0
- adds r0, 0xA8
- b _0805D7FA
-_0805D668:
- movs r6, 0
- adds r3, r5, 0
- adds r3, 0x1C
- adds r2, r4, 0
- adds r2, 0x1C
- movs r7, 0x1C
- ldrsh r1, [r5, r7]
- movs r7, 0x1C
- ldrsh r0, [r4, r7]
- cmp r1, r0
- blt _0805D6FC
- mov r12, r2
- mov r8, r3
- movs r3, 0
-_0805D684:
- adds r1, r5, 0
- adds r1, 0x20
- adds r1, r3
- adds r0, r4, 0
- adds r0, 0x20
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r1, r0
- blt _0805D6FC
- adds r1, r5, 0
- adds r1, 0x24
- adds r1, r3
- adds r0, r4, 0
- adds r0, 0x24
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r1, r0
- blt _0805D6FC
- lsls r2, r6, 2
- adds r1, r5, 0
- adds r1, 0x2C
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x2C
- adds r0, r2
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- blt _0805D6FC
- adds r1, r5, 0
- adds r1, 0x34
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x34
- adds r0, r2
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- blt _0805D6FC
- movs r0, 0x2
- add r12, r0
- add r8, r0
- adds r3, 0x2
- adds r6, 0x1
- cmp r6, 0x1
- bgt _0805D6FC
- mov r2, r8
- movs r7, 0
- ldrsh r1, [r2, r7]
- mov r2, r12
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _0805D684
-_0805D6FC:
- cmp r6, 0x2
- beq _0805D702
- b _0805D802
-_0805D702:
- b _0805D540
-_0805D704:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- b _0805D744
-_0805D70A:
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _0805D802
- b _0805D540
-_0805D716:
- adds r0, r5, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0805D728
- b _0805D540
-_0805D728:
- adds r0, r4, 0
- adds r0, 0x60
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- b _0805D7B8
-_0805D734:
- adds r0, r4, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- b _0805D7B8
-_0805D740:
- movs r2, 0x1C
- ldrsh r0, [r4, r2]
-_0805D744:
- cmp r0, 0
- bgt _0805D802
- b _0805D540
-_0805D74A:
- adds r0, r5, 0
- adds r0, 0x5E
- adds r1, r4, 0
- adds r1, 0x5E
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bne _0805D802
- b _0805D540
-_0805D75C:
- mov r0, r8
- movs r1, 0xE
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0805D770
- adds r0, r4, 0
- adds r0, 0xC8
- b _0805D798
-_0805D770:
- movs r3, 0x1C
- ldrsh r0, [r5, r3]
- cmp r0, 0x13
- ble _0805D802
- movs r7, 0x20
- ldrsh r0, [r5, r7]
- cmp r0, 0x13
- ble _0805D802
- b _0805D540
-_0805D782:
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- b _0805D7F0
-_0805D78A:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
-_0805D78E:
- cmp r0, 0x1
- bgt _0805D802
- b _0805D540
-_0805D794:
- adds r0, r4, 0
- adds r0, 0xD0
-_0805D798:
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0805D802
- b _0805D540
-_0805D7A0:
- adds r0, r4, 0
- adds r0, 0xFD
- ldrb r0, [r0]
-_0805D7A6:
- cmp r0, 0
- beq _0805D802
- b _0805D540
-_0805D7AC:
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r4, r2
-_0805D7B2:
- bl sub_805D888
- lsls r0, 24
-_0805D7B8:
- cmp r0, 0
- bne _0805D802
- b _0805D540
-_0805D7BE:
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _0805D802
- b _0805D540
-_0805D7CA:
- adds r0, r4, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0805D7D6
- b _0805D540
-_0805D7D6:
- cmp r0, 0x4
- bne _0805D802
- b _0805D540
-_0805D7DC:
- adds r0, r4, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- b _0805D7F0
-_0805D7E4:
- adds r0, r4, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0805D7F0
- b _0805D540
-_0805D7F0:
- cmp r0, 0x3
- bne _0805D802
- b _0805D540
-_0805D7F6:
- adds r0, r4, 0
- adds r0, 0xBC
-_0805D7FA:
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0805D802
- b _0805D540
-_0805D802:
- movs r0, 0x1
-_0805D804:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805CEB8
-
- thumb_func_start sub_805D810
-sub_805D810:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r6, 0x1
- movs r5, 0x20
- adds r2, r4, 0
-_0805D81C:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0805D82E
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0805D848
-_0805D82E:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805D81C
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0805D848
- movs r0, 0
- b _0805D84A
-_0805D848:
- movs r0, 0x1
-_0805D84A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805D810
-
- thumb_func_start sub_805D850
-sub_805D850:
- push {r4,r5,lr}
- movs r3, 0
- movs r5, 0x1
- adds r2, r0, 0
- movs r4, 0x10
-_0805D85A:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0805D876
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0805D876
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- bne _0805D876
- movs r0, 0x1
- b _0805D880
-_0805D876:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805D85A
- movs r0, 0
-_0805D880:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805D850
-
- thumb_func_start sub_805D888
-sub_805D888:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r6, 0x1
- movs r5, 0x10
- adds r2, r4, 0
-_0805D894:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0805D8A6
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0805D8C0
-_0805D8A6:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805D894
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0805D8C0
- movs r0, 0
- b _0805D8C2
-_0805D8C0:
- movs r0, 0x1
-_0805D8C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805D888
-
- thumb_func_start sub_805D8C8
-sub_805D8C8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r4, _0805D90C
- ldr r1, [r4]
- ldr r0, _0805D910
- adds r0, r1, r0
- str r0, [sp, 0x10]
- movs r2, 0x3
- str r2, [sp, 0xC]
- movs r5, 0
- movs r0, 0
- strh r0, [r1, 0x12]
- bl sub_8083600
- movs r1, 0x1
- bl sub_806A2BC
- bl sub_8083600
- bl sub_80701A4
- lsls r0, 24
- cmp r0, 0
- beq _0805D928
- movs r0, 0x3C
- movs r1, 0x10
- bl sub_803E708
- bl _0805E2B0
- .align 2, 0
-_0805D90C: .4byte gUnknown_203B418
-_0805D910: .4byte 0x000181e8
-_0805D914:
- mov r1, r8
- adds r1, 0x44
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x48
- strb r2, [r0]
- bl _0805E2B0
-_0805D928:
- ldr r0, [r4]
- ldr r3, _0805D9D4
- adds r0, r3
- strb r5, [r0]
- bl sub_8040A78
- ldr r1, [r4]
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _0805D976
- strb r5, [r1, 0x1]
- bl sub_8083600
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- bne _0805D976
- movs r0, 0x1
- bl sub_8044C10
- bl sub_805E804
- bl sub_8083600
- bl sub_80647F0
- bl sub_80048D0
- bl sub_8004914
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- beq _0805D976
- bl _0805E2B0
-_0805D976:
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_806A914
-_0805D980:
- bl sub_8083600
- mov r10, r0
- ldr r5, [r0, 0x70]
- mov r8, r5
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_80978C8
- ldr r2, _0805D9D8
- ldr r0, [r2]
- ldr r3, _0805D9DC
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805D9AE
- bl sub_805E874
- lsls r0, 24
- cmp r0, 0
- bne _0805D914
- bl sub_805E804
-_0805D9AE:
- ldr r0, _0805D9E0
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0805D9E4
- strb r1, [r0]
- ldr r5, _0805D9D8
- ldr r0, [r5]
- movs r1, 0xB8
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _0805D9CA
- b _0805DAE8
-_0805D9CA:
- ldr r0, _0805D9E8
- ands r6, r0
- movs r2, 0x1
- orrs r6, r2
- b _0805DAEC
- .align 2, 0
-_0805D9D4: .4byte 0x00000673
-_0805D9D8: .4byte gUnknown_203B418
-_0805D9DC: .4byte 0x0000066c
-_0805D9E0: .4byte gUnknown_202F22D
-_0805D9E4: .4byte gUnknown_202F22C
-_0805D9E8: .4byte 0xffffff00
-_0805D9EC:
- movs r0, 0x1
- bl sub_8044C50
- ldr r3, _0805DA00
- ldr r0, [r3]
- ldr r5, _0805DA04
- adds r0, r5
- strb r4, [r0]
- b _0805E1AE
- .align 2, 0
-_0805DA00: .4byte gUnknown_203B418
-_0805DA04: .4byte 0x00000673
-_0805DA08:
- ldr r0, _0805DA14
- ldr r1, [r0]
- mov r0, r10
- bl sub_80522A8
- b _0805DBDA
- .align 2, 0
-_0805DA14: .4byte gUnknown_80FD4B0
-_0805DA18:
- ldr r0, _0805DA1C
- b _0805DCBC
- .align 2, 0
-_0805DA1C: .4byte gUnknown_80F8A28
-_0805DA20:
- ldr r0, [sp, 0x1C]
- movs r1, 0x17
- bl sub_8044C94
- b _0805E1AE
-_0805DA2A:
- ldr r0, _0805DA38
- ands r6, r0
- movs r3, 0x1
- orrs r6, r3
- ldr r0, _0805DA3C
- ands r6, r0
- b _0805DAD6
- .align 2, 0
-_0805DA38: .4byte 0xffffff00
-_0805DA3C: .4byte 0xffff00ff
-_0805DA40:
- ldr r5, _0805DA58
- ldr r0, [r5]
- movs r2, 0xB8
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- ldr r0, _0805DA5C
- ands r6, r0
- movs r3, 0x1
- orrs r6, r3
- b _0805DAA8
- .align 2, 0
-_0805DA58: .4byte gUnknown_203B418
-_0805DA5C: .4byte 0xffffff00
-_0805DA60:
- ldr r5, _0805DA78
- ldr r0, [r5]
- movs r1, 0xB8
- lsls r1, 3
- adds r0, r1
- movs r2, 0x1
- str r2, [r0]
- ldr r0, _0805DA7C
- ands r6, r0
- orrs r6, r2
- b _0805DAA8
- .align 2, 0
-_0805DA78: .4byte gUnknown_203B418
-_0805DA7C: .4byte 0xffffff00
-_0805DA80:
- ldr r3, _0805DA98
- ldr r0, [r3]
- movs r5, 0xB8
- lsls r5, 3
- adds r0, r5
- str r2, [r0]
- ldr r0, _0805DA9C
- ands r6, r0
- movs r0, 0x1
- orrs r6, r0
- b _0805DAA8
- .align 2, 0
-_0805DA98: .4byte gUnknown_203B418
-_0805DA9C: .4byte 0xffffff00
-_0805DAA0:
- ldr r0, _0805DAB8
- ands r6, r0
- movs r1, 0x1
- orrs r6, r1
-_0805DAA8:
- ldr r0, _0805DABC
- ands r6, r0
- ldr r0, _0805DAC0
- ands r6, r0
- movs r0, 0x80
- lsls r0, 9
- orrs r6, r0
- b _0805E1AE
- .align 2, 0
-_0805DAB8: .4byte 0xffffff00
-_0805DABC: .4byte 0xffff00ff
-_0805DAC0: .4byte 0xff00ffff
-_0805DAC4:
- ldr r0, _0805DADC
- ands r6, r0
- movs r2, 0x1
- orrs r6, r2
- ldr r0, _0805DAE0
- ands r6, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r6, r0
-_0805DAD6:
- ldr r0, _0805DAE4
- ands r6, r0
- b _0805E1AE
- .align 2, 0
-_0805DADC: .4byte 0xffffff00
-_0805DAE0: .4byte 0xffff00ff
-_0805DAE4: .4byte 0xff00ffff
-_0805DAE8:
- ldr r0, _0805DB3C
- ands r6, r0
-_0805DAEC:
- ldr r0, _0805DB40
- ands r6, r0
- ldr r0, _0805DB44
- ands r6, r0
- movs r3, 0
- str r3, [sp, 0x8]
- movs r0, 0
- bl sub_8044C50
- ldr r0, _0805DB48
- mov r5, sp
- ldrb r5, [r5, 0x8]
- strb r5, [r0]
- ldr r0, _0805DB4C
- mov r1, sp
- ldrb r1, [r1, 0x8]
- strb r1, [r0]
- lsls r0, r6, 24
- mov r2, r8
- adds r2, 0x44
- str r2, [sp, 0x1C]
- str r0, [sp, 0x14]
- ldr r3, [sp, 0x10]
- adds r3, 0x32
- str r3, [sp, 0x18]
- cmp r0, 0
- beq _0805DB24
- b _0805E1AE
-_0805DB24:
- ldr r0, _0805DB50
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- ldr r5, [sp, 0x18]
- ldrb r0, [r5]
- cmp r0, 0
- beq _0805DB54
- movs r0, 0
- str r0, [sp, 0x8]
- b _0805DB5A
- .align 2, 0
-_0805DB3C: .4byte 0xffffff00
-_0805DB40: .4byte 0xffff00ff
-_0805DB44: .4byte 0xff00ffff
-_0805DB48: .4byte gUnknown_202F230
-_0805DB4C: .4byte gUnknown_202F231
-_0805DB50: .4byte gUnknown_202F22E
-_0805DB54:
- ldr r1, [sp, 0x8]
- adds r1, 0x1
- str r1, [sp, 0x8]
-_0805DB5A:
- ldr r2, [sp, 0xC]
- cmp r2, 0
- beq _0805DB6E
- subs r2, 0x1
- str r2, [sp, 0xC]
- cmp r2, 0
- bne _0805DB6E
- movs r0, 0
- bl sub_8075680
-_0805DB6E:
- mov r0, r10
- bl sub_805E2C4
- movs r7, 0
- movs r1, 0
- add r0, sp, 0x4
-_0805DB7A:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _0805DB7A
- ldr r0, _0805DBEC
- ldrh r1, [r0]
- movs r4, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DBAA
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DBAA
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- beq _0805DBAA
- b _0805D9EC
-_0805DBAA:
- movs r3, 0
- mov r9, r3
- ldr r4, _0805DBEC
- ldrh r1, [r4, 0x2]
- movs r5, 0x1
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805DBBE
- b _0805DD02
-_0805DBBE:
- ldrh r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DBF8
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- bne _0805DBDA
- b _0805DD02
-_0805DBDA:
- movs r0, 0x1
- bl sub_8044C50
- ldr r1, _0805DBF0
- ldr r0, [r1]
- ldr r2, _0805DBF4
- adds r0, r2
- strb r5, [r0]
- b _0805E1AE
- .align 2, 0
-_0805DBEC: .4byte gUnknown_20255F0
-_0805DBF0: .4byte gUnknown_203B418
-_0805DBF4: .4byte 0x00000673
-_0805DBF8:
- mov r0, r10
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _0805DC08
- b _0805DA08
-_0805DC08:
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 2
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DCE8
- movs r4, 0
- movs r2, 0x8C
- lsls r2, 1
- add r2, r8
- movs r3, 0x8
-_0805DC20:
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DC32
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DC3A
-_0805DC32:
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _0805DC20
-_0805DC3A:
- cmp r4, 0x4
- bne _0805DC40
- b _0805DA18
-_0805DC40:
- movs r3, 0
- movs r5, 0x8C
- lsls r5, 1
- movs r7, 0x1
- mov r2, r8
-_0805DC4A:
- lsls r0, r3, 3
- add r0, r8
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DC66
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DC6E
-_0805DC66:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _0805DC4A
-_0805DC6E:
- cmp r3, 0x4
- bne _0805DC74
- b _0805DA20
-_0805DC74:
- movs r7, 0
- adds r3, r4, 0
- cmp r4, 0x3
- bgt _0805DCB6
- lsls r0, r4, 3
- adds r2, r0, 0
- add r2, r8
- mov r12, r2
- movs r5, 0x8E
- lsls r5, 1
- adds r0, r5
- mov r1, r8
- adds r2, r0, r1
- movs r5, 0x2
-_0805DC90:
- ldrb r0, [r2]
- cmp r0, 0
- bne _0805DCCC
- movs r0, 0x8
- add r12, r0
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- bgt _0805DCB6
- cmp r3, r4
- beq _0805DC90
- movs r0, 0x8C
- lsls r0, 1
- add r0, r12
- ldrb r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DC90
-_0805DCB6:
- cmp r7, 0
- bne _0805DCCC
- ldr r0, _0805DCC8
-_0805DCBC:
- ldr r1, [r0]
- mov r0, r10
- bl sub_80522A8
- b _0805E1AE
- .align 2, 0
-_0805DCC8: .4byte gUnknown_80F8A4C
-_0805DCCC:
- ldr r0, [sp, 0x1C]
- movs r1, 0x14
- bl sub_8044C94
- mov r0, r10
- bl sub_8045B60
- mov r1, r8
- adds r1, 0x48
- strb r0, [r1]
- mov r0, r8
- adds r0, 0x50
- strb r4, [r0]
- b _0805E1AE
-_0805DCE8:
- mov r0, r10
- mov r1, r8
- bl sub_805EF60
- lsls r0, 24
- cmp r0, 0
- beq _0805DCF8
- b _0805E1AE
-_0805DCF8:
- ldr r0, [sp, 0x1C]
- movs r1, 0x32
- bl sub_8044C94
- b _0805E1AE
-_0805DD02:
- ldr r3, _0805DDC8
- ldrh r1, [r3, 0x6]
- movs r2, 0x2
- adds r0, r2, 0
- ands r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0805DD16
- b _0805DA2A
-_0805DD16:
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _0805DD20
- b _0805DA40
-_0805DD20:
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0805DD2A
- b _0805DA60
-_0805DD2A:
- mov r0, sp
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _0805DD34
- b _0805DA80
-_0805DD34:
- mov r0, sp
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0805DD3E
- b _0805DAA0
-_0805DD3E:
- ldr r0, _0805DDCC
- ldr r1, [sp, 0x8]
- cmp r1, r0
- ble _0805DD48
- b _0805DAC4
-_0805DD48:
- ldr r0, _0805DDD0
- ldr r0, [r0]
- ldrb r4, [r0, 0x9]
- cmp r4, 0
- bne _0805DD7E
- ldrh r1, [r3, 0x2]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DD66
- cmp r7, 0
- bne _0805DD7E
- movs r2, 0
- cmp r2, 0
- beq _0805DD7E
-_0805DD66:
- ldr r3, [sp, 0x18]
- ldrb r0, [r3]
- cmp r0, 0
- beq _0805DD7E
- bl sub_804AA60
- ldr r0, _0805DDD4
- strb r4, [r0]
- bl sub_80048D0
- bl sub_8004914
-_0805DD7E:
- ldr r2, _0805DDC8
- ldrh r0, [r2]
- movs r5, 0x80
- lsls r5, 2
- adds r1, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DDA4
- ldrh r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DDA4
- bl sub_80532B4
- bl sub_80048D0
- bl sub_8004914
-_0805DDA4:
- movs r4, 0
- ldr r0, _0805DDC8
- ldrh r0, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805DDFA
- ldr r1, _0805DDD8
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805DDC2
- ldr r0, _0805DDDC
- strh r4, [r0]
-_0805DDC2:
- movs r3, 0x1
- strb r3, [r1]
- b _0805DDFE
- .align 2, 0
-_0805DDC8: .4byte gUnknown_20255F0
-_0805DDCC: .4byte 0x00000707
-_0805DDD0: .4byte gUnknown_203B46C
-_0805DDD4: .4byte gUnknown_202F22D
-_0805DDD8: .4byte gUnknown_202F22C
-_0805DDDC: .4byte gUnknown_202F22E
-_0805DDE0:
- movs r0, 0xB
- bl sub_8044C50
- adds r2, r4, 0x1
- mov r0, r8
- adds r0, 0x48
- movs r1, 0
- strb r2, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- b _0805DE92
-_0805DDFA:
- ldr r0, _0805DEF8
- strb r4, [r0]
-_0805DDFE:
- movs r3, 0
- ldr r0, _0805DEFC
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _0805DE2C
- ldr r2, _0805DF00
- ldrh r0, [r2, 0x6]
- movs r5, 0x80
- lsls r5, 1
- adds r1, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DE2A
- mov r0, r9
- cmp r0, 0
- bne _0805DE2A
- ldrh r1, [r2, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0805DE2C
-_0805DE2A:
- movs r3, 0x1
-_0805DE2C:
- cmp r3, 0
- beq _0805DE54
- mov r0, r10
- bl sub_805E738
- ldr r0, _0805DF04
- movs r1, 0x1
- strb r1, [r0]
- mov r0, r8
- adds r0, 0x46
- ldrb r0, [r0]
- ldr r1, [sp, 0x10]
- adds r1, 0x33
- strb r0, [r1]
- ldr r1, [sp, 0x10]
- adds r1, 0x34
- movs r0, 0xFF
- strb r0, [r1]
- bl sub_80048D0
-_0805DE54:
- ldr r0, _0805DF00
- ldr r1, [r0]
- ldr r0, _0805DF08
- ands r1, r0
- cmp r1, r0
- bne _0805DE62
- movs r4, 0x1
-_0805DE62:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805DE6C
- movs r4, 0x1
-_0805DE6C:
- cmp r4, 0
- beq _0805DE9C
- movs r4, 0
- ldr r0, _0805DF0C
- ldr r2, [r0]
- movs r3, 0x10
-_0805DE78:
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DE8A
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0805DDE0
-_0805DE8A:
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, 0x13
- ble _0805DE78
-_0805DE92:
- ldr r2, [sp, 0x1C]
- ldrh r0, [r2]
- cmp r0, 0
- beq _0805DE9C
- b _0805E1AE
-_0805DE9C:
- ldr r5, _0805DF10
- ldr r3, [r5]
- ldr r1, _0805DF14
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DF82
- ldr r0, _0805DEFC
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- cmp r0, 0x6
- beq _0805DF82
- ldr r0, _0805DF00
- ldrh r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805DF82
- ldrb r4, [r2, 0x4]
- ldr r0, _0805DF18
- movs r2, 0x1
- strb r2, [r0]
- ldr r5, _0805DF1C
- adds r0, r3, r5
- strb r2, [r0]
- bl sub_8094C48
- lsls r0, 24
- cmp r0, 0
- bne _0805DEDC
- bl sub_8094C88
-_0805DEDC:
- movs r0, 0x1
- bl sub_8052210
- bl sub_8040A84
- movs r0, 0x1E
- bl SetBGOBJEnableFlags
- movs r0, 0xA
- movs r1, 0x2F
- bl sub_803E708
- b _0805DF3A
- .align 2, 0
-_0805DEF8: .4byte gUnknown_202F22C
-_0805DEFC: .4byte gUnknown_203B46C
-_0805DF00: .4byte gUnknown_20255F0
-_0805DF04: .4byte gUnknown_202F22D
-_0805DF08: .4byte 0x01000200
-_0805DF0C: .4byte gUnknown_203B460
-_0805DF10: .4byte gUnknown_203B418
-_0805DF14: .4byte 0x0001820a
-_0805DF18: .4byte gUnknown_202EE00
-_0805DF1C: .4byte 0x00018214
-_0805DF20:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805DF3A
- ldr r2, _0805DFA0
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0805DF34
- movs r1, 0x1
-_0805DF34:
- strb r1, [r2]
- bl sub_8040A84
-_0805DF3A:
- movs r0, 0x2F
- bl sub_803E46C
- ldr r0, _0805DFA4
- ldrh r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0805DF54
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805DF20
-_0805DF54:
- ldr r1, _0805DFA8
- ldr r0, [r1]
- ldr r2, _0805DFAC
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0805DFB0
- ldr r0, [r0]
- strb r4, [r0, 0x4]
- ldr r0, _0805DFA0
- movs r3, 0x1
- strb r3, [r0]
- bl sub_8040A84
- movs r0, 0
- bl SetBGOBJEnableFlags
- movs r0, 0x2F
- bl sub_803E46C
- movs r0, 0x2F
- bl sub_803E46C
-_0805DF82:
- ldr r5, _0805DFA8
- ldr r0, [r5]
- ldr r1, _0805DFB4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805DFBC
- ldr r0, _0805DFB8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805DFBC
- ldr r0, _0805DFA4
- ldrh r2, [r0, 0x2]
- adds r1, r2, 0
- b _0805DFCC
- .align 2, 0
-_0805DFA0: .4byte gUnknown_202EE00
-_0805DFA4: .4byte gUnknown_20255F0
-_0805DFA8: .4byte gUnknown_203B418
-_0805DFAC: .4byte 0x00018214
-_0805DFB0: .4byte gUnknown_203B46C
-_0805DFB4: .4byte 0x0000066d
-_0805DFB8: .4byte gUnknown_202F22C
-_0805DFBC:
- ldr r3, _0805E05C
- ldrh r1, [r3]
- ldr r2, [sp, 0x18]
- ldrb r0, [r2]
- adds r2, r1, 0
- cmp r0, 0
- beq _0805DFCC
- ldrh r2, [r3, 0x2]
-_0805DFCC:
- movs r0, 0xF0
- ands r1, r0
- ands r2, r0
- movs r5, 0x1
- negs r5, r5
- cmp r1, 0x50
- bne _0805DFDC
- movs r5, 0x3
-_0805DFDC:
- cmp r1, 0x60
- bne _0805DFE2
- movs r5, 0x5
-_0805DFE2:
- cmp r1, 0x90
- bne _0805DFE8
- movs r5, 0x1
-_0805DFE8:
- cmp r1, 0xA0
- bne _0805DFEE
- movs r5, 0x7
-_0805DFEE:
- cmp r2, 0x40
- bne _0805DFF4
- movs r5, 0x4
-_0805DFF4:
- cmp r2, 0x80
- bne _0805DFFA
- movs r5, 0
-_0805DFFA:
- cmp r2, 0x10
- bne _0805E000
- movs r5, 0x2
-_0805E000:
- cmp r2, 0x20
- bne _0805E006
- movs r5, 0x6
-_0805E006:
- cmp r5, 0
- bge _0805E00C
- b _0805E1A0
-_0805E00C:
- ldr r0, _0805E060
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E020
- adds r0, r5, 0
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- bne _0805E020
- b _0805E1A0
-_0805E020:
- mov r2, r8
- adds r2, 0x46
- ldrb r1, [r2]
- eors r1, r5
- negs r0, r1
- orrs r0, r1
- lsrs r7, r0, 31
- movs r1, 0x7
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
- ldr r0, _0805E064
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E068
- ldr r0, [sp, 0x10]
- adds r0, 0x33
- strb r5, [r0]
- mov r0, r10
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r10
- adds r2, r5, 0
- bl sub_806CDD4
- b _0805E1A0
- .align 2, 0
-_0805E05C: .4byte gUnknown_20255F0
-_0805E060: .4byte gUnknown_202F22C
-_0805E064: .4byte gUnknown_202F22D
-_0805E068:
- movs r4, 0
- movs r3, 0
- mov r0, r10
- movs r1, 0x1
- str r3, [sp, 0x20]
- bl sub_805EC4C
- lsls r0, 24
- ldr r3, [sp, 0x20]
- cmp r0, 0
- beq _0805E080
- b _0805E1AE
-_0805E080:
- mov r0, r8
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0805E094
- ldr r0, _0805E090
- b _0805E0BE
- .align 2, 0
-_0805E090: .4byte gUnknown_80F8A84
-_0805E094:
- cmp r0, 0x7
- bne _0805E0A0
- ldr r0, _0805E09C
- b _0805E0BE
- .align 2, 0
-_0805E09C: .4byte gUnknown_80F8A6C
-_0805E0A0:
- cmp r0, 0x5
- bne _0805E0AC
- ldr r0, _0805E0A8
- b _0805E0BE
- .align 2, 0
-_0805E0A8: .4byte gUnknown_80F8AB0
-_0805E0AC:
- cmp r0, 0x3
- bne _0805E0B8
- ldr r0, _0805E0B4
- b _0805E0BE
- .align 2, 0
-_0805E0B4: .4byte gUnknown_80F8ADC
-_0805E0B8:
- cmp r0, 0x4
- bne _0805E0C2
- ldr r0, _0805E128
-_0805E0BE:
- ldr r3, [r0]
- movs r4, 0x1
-_0805E0C2:
- mov r0, r10
- adds r1, r5, 0
- str r3, [sp, 0x20]
- bl sub_8070D6C
- lsls r0, 24
- ldr r3, [sp, 0x20]
- cmp r0, 0
- bne _0805E0D8
- movs r0, 0x2
- orrs r4, r0
-_0805E0D8:
- cmp r7, 0
- beq _0805E0F4
- mov r0, r10
- str r3, [sp, 0x20]
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r10
- adds r2, r5, 0
- bl sub_806CDD4
- ldr r3, [sp, 0x20]
-_0805E0F4:
- movs r7, 0x2
- adds r0, r4, 0
- ands r0, r7
- cmp r0, 0
- bne _0805E192
- movs r5, 0x1
- mov r9, r5
- ands r5, r4
- cmp r5, 0
- beq _0805E134
- cmp r3, 0
- beq _0805E114
- mov r0, r10
- adds r1, r3, 0
- bl sub_80522A8
-_0805E114:
- movs r0, 0x1
- bl sub_8044C50
- ldr r1, _0805E12C
- ldr r0, [r1]
- ldr r2, _0805E130
- adds r0, r2
- mov r3, r9
- strb r3, [r0]
- b _0805E1AE
- .align 2, 0
-_0805E128: .4byte gUnknown_80F8B0C
-_0805E12C: .4byte gUnknown_203B418
-_0805E130: .4byte 0x00000673
-_0805E134:
- movs r0, 0x2
- bl sub_8044C50
- ldr r0, _0805E17C
- ldrh r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0805E14C
- movs r0, 0
- cmp r0, 0
- beq _0805E188
-_0805E14C:
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- beq _0805E188
- mov r1, r10
- ldr r0, [r1, 0x70]
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805E174
- ldr r2, _0805E180
- ldr r0, [r2]
- ldr r3, _0805E184
- adds r0, r3
- mov r1, r9
- strb r1, [r0]
-_0805E174:
- mov r0, r8
- adds r0, 0x48
- strb r5, [r0]
- b _0805E1AE
- .align 2, 0
-_0805E17C: .4byte gUnknown_20255F0
-_0805E180: .4byte gUnknown_203B418
-_0805E184: .4byte 0x0000066c
-_0805E188:
- mov r0, r8
- adds r0, 0x48
- movs r2, 0x1
- strb r2, [r0]
- b _0805E1AE
-_0805E192:
- movs r3, 0x1
- ands r4, r3
- cmp r4, 0
- beq _0805E1A0
- movs r0, 0x23
- bl sub_803E724
-_0805E1A0:
- movs r0, 0xF
- bl sub_803E46C
- ldr r5, [sp, 0x14]
- cmp r5, 0
- bne _0805E1AE
- b _0805DB24
-_0805E1AE:
- ldr r1, [sp, 0x18]
- ldrb r0, [r1]
- cmp r0, 0
- beq _0805E1BA
- bl sub_804AA60
-_0805E1BA:
- ldr r4, [sp, 0x1C]
- ldrh r0, [r4]
- cmp r0, 0x2D
- beq _0805E1C6
- cmp r0, 0x13
- bne _0805E1E0
-_0805E1C6:
- mov r0, r10
- bl sub_8067510
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0805E2B0
- movs r0, 0
- bl sub_8044C50
- bl _0805D980
-_0805E1E0:
- lsls r0, r6, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805E222
- ldr r2, _0805E210
- ldr r0, [r2]
- ldr r3, _0805E214
- adds r0, r3
- strb r1, [r0]
- ldrh r0, [r4]
- cmp r0, 0
- beq _0805E218
- mov r0, r10
- movs r1, 0
- bl sub_8045028
- lsls r0, 24
- cmp r0, 0
- bne _0805E2B0
- movs r0, 0xF
- bl sub_803E46C
- b _0805E2B0
- .align 2, 0
-_0805E210: .4byte gUnknown_203B418
-_0805E214: .4byte 0x0000066d
-_0805E218:
- movs r0, 0xF
- bl sub_803E46C
- bl _0805D980
-_0805E222:
- movs r0, 0xF
- bl sub_803E46C
- bl sub_8047158
- movs r2, 0
- lsrs r0, r6, 8
- lsls r0, 24
- cmp r0, 0
- bne _0805E238
- movs r2, 0x1
-_0805E238:
- lsrs r1, r6, 16
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl ShowFieldMenu
- bl sub_80048D0
- bl sub_8004914
- ldr r1, _0805E294
- movs r0, 0
- strb r0, [r1]
- movs r0, 0
- ldr r5, [sp, 0x18]
- strb r0, [r5]
- bl sub_804AA60
- bl sub_8044B28
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0805E2B0
- ldrh r0, [r4]
- cmp r0, 0
- beq _0805E29C
- cmp r0, 0x2B
- bne _0805E27E
- ldr r2, _0805E298
- ldr r0, [r2]
- movs r3, 0x1
- strb r3, [r0, 0x4]
- ldr r0, [r2]
- strb r3, [r0, 0x3]
-_0805E27E:
- ldr r5, [sp, 0x1C]
- ldrh r0, [r5]
- cmp r0, 0x2E
- bne _0805E2B0
- ldr r2, _0805E298
- ldr r0, [r2]
- movs r3, 0x1
- strb r3, [r0, 0x4]
- ldr r0, [r2]
- strb r1, [r0, 0x3]
- b _0805E2B0
- .align 2, 0
-_0805E294: .4byte gUnknown_202F22D
-_0805E298: .4byte gUnknown_203B418
-_0805E29C:
- movs r0, 0xF
- bl sub_803E46C
- ldr r5, _0805E2C0
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _0805E2B0
- bl _0805D980
-_0805E2B0:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805E2C0: .4byte gUnknown_203B418
- thumb_func_end sub_805D8C8
-
- thumb_func_start sub_805E2C4
-sub_805E2C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- str r0, [sp, 0x10]
- ldr r0, _0805E47C
- ldr r1, [r0]
- ldr r0, _0805E480
- adds r0, r1, r0
- str r0, [sp, 0x14]
- ldr r0, _0805E484
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805E2E6
- b _0805E4C4
-_0805E2E6:
- movs r1, 0
- str r1, [sp, 0x18]
- mov r7, sp
- ldr r2, _0805E488
- mov r10, r2
-_0805E2F0:
- ldrh r0, [r7]
- ldr r3, _0805E48C
- adds r1, r3, 0
- ands r1, r0
- ldr r0, [sp]
- mov r4, r10
- ands r0, r4
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r7]
- mov r2, r10
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- ldrh r0, [r7]
- ldr r5, _0805E490
- adds r1, r5, 0
- ands r1, r0
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r2, [r7]
- mov r1, r10
- ands r1, r0
- orrs r1, r2
- str r1, [sp]
- ldrh r2, [r7]
- ldr r0, _0805E494
- ands r0, r2
- mov r3, r10
- ands r3, r1
- orrs r3, r0
- str r3, [sp]
- ldrh r1, [r7]
- movs r0, 0x80
- lsls r0, 3
- orrs r0, r1
- movs r6, 0
- orrs r0, r6
- mov r2, r10
- ands r2, r3
- orrs r2, r0
- str r2, [sp]
- ldrh r0, [r7]
- ldr r3, _0805E498
- adds r1, r3, 0
- ands r1, r0
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r7]
- mov r2, r10
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- ldrh r0, [r7]
- ldr r4, _0805E49C
- adds r1, r4, 0
- ands r1, r0
- mov r0, r10
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r7]
- mov r2, r10
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- ldrh r1, [r7]
- ldr r0, _0805E4A0
- ands r0, r1
- mov r1, r10
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- ldrh r2, [r7]
- mov r0, r10
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- ldr r1, _0805E4A4
- ldr r5, [sp, 0x18]
- lsls r0, r5, 3
- adds r0, r1
- mov r12, r0
- ldrb r1, [r0, 0x4]
- negs r0, r1
- orrs r0, r1
- asrs r1, r0, 31
- movs r0, 0x8
- ands r1, r0
- mov r6, r12
- ldrb r0, [r6, 0x5]
- cmp r0, 0
- beq _0805E3B4
- adds r1, 0x10
-_0805E3B4:
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 9
- ldrh r3, [r7, 0x2]
- ldr r2, _0805E4A8
- adds r0, r2, 0
- ands r3, r0
- orrs r3, r1
- ldr r4, _0805E4A0
- ands r3, r4
- strh r3, [r7, 0x2]
- ldr r2, _0805E4AC
- ldrh r0, [r7, 0x4]
- movs r5, 0xFC
- lsls r5, 8
- adds r1, r5, 0
- ands r0, r1
- orrs r0, r2
- movs r6, 0
- orrs r0, r6
- movs r1, 0x80
- lsls r1, 4
- ldr r2, _0805E494
- ands r0, r2
- orrs r0, r1
- orrs r0, r6
- ldr r4, _0805E4B0
- mov r9, r4
- ands r0, r4
- strh r0, [r7, 0x4]
- ldrh r4, [r7, 0x6]
- ldr r5, _0805E4B4
- adds r0, r5, 0
- ands r4, r0
- ldr r6, _0805E4B8
- adds r0, r6, 0
- ands r4, r0
- strh r4, [r7, 0x6]
- mov r0, r12
- movs r1, 0
- ldrsh r5, [r0, r1]
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 1
- ldr r6, _0805E4BC
- mov r8, r6
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r6, 0x7
- ands r0, r6
- muls r0, r5
- adds r0, r2
- adds r0, 0x74
- ldr r1, _0805E4C0
- ands r0, r1
- movs r2, 0xFE
- lsls r2, 8
- adds r1, r2, 0
- ands r3, r1
- orrs r3, r0
- strh r3, [r7, 0x2]
- mov r5, r12
- movs r0, 0x2
- ldrsh r3, [r5, r0]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 1
- mov r1, r8
- movs r5, 0
- ldrsh r0, [r1, r5]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- ands r0, r6
- muls r0, r3
- adds r0, r2
- adds r0, 0x52
- mov r6, r9
- ands r0, r6
- lsls r0, 4
- movs r1, 0xF
- ands r4, r1
- orrs r4, r0
- strh r4, [r7, 0x6]
- mov r0, sp
- adds r1, 0xF1
- movs r2, 0
- movs r3, 0
- bl AddSprite
- ldr r2, [sp, 0x18]
- adds r2, 0x1
- str r2, [sp, 0x18]
- cmp r2, 0x3
- bgt _0805E47A
- b _0805E2F0
-_0805E47A:
- b _0805E6AC
- .align 2, 0
-_0805E47C: .4byte gUnknown_203B418
-_0805E480: .4byte 0x000181e8
-_0805E484: .4byte gUnknown_202F22C
-_0805E488: .4byte 0xffff0000
-_0805E48C: .4byte 0x0000feff
-_0805E490: .4byte 0x0000fdff
-_0805E494: .4byte 0x0000f3ff
-_0805E498: .4byte 0x0000efff
-_0805E49C: .4byte 0x0000dfff
-_0805E4A0: .4byte 0x00003fff
-_0805E4A4: .4byte gUnknown_8106AC8
-_0805E4A8: .4byte 0x0000c1ff
-_0805E4AC: .4byte 0x00000213
-_0805E4B0: .4byte 0x00000fff
-_0805E4B4: .4byte 0x0000fffe
-_0805E4B8: .4byte 0x0000fffd
-_0805E4BC: .4byte gUnknown_202F22E
-_0805E4C0: .4byte 0x000001ff
-_0805E4C4:
- ldr r3, _0805E6E4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0805E4D0
- b _0805E6AC
-_0805E4D0:
- ldr r4, _0805E6E8
- adds r0, r1, r4
- ldrb r0, [r0]
- str r0, [sp, 0x1C]
- cmp r0, 0x7
- bls _0805E4DE
- b _0805E6AC
-_0805E4DE:
- ldr r0, _0805E6EC
- ldrb r0, [r0]
- movs r7, 0x1
- cmp r0, 0
- beq _0805E4F2
- ldr r0, _0805E6F0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E4F2
- movs r7, 0x3
-_0805E4F2:
- ldr r5, _0805E6F4
- mov r12, r5
- ldr r6, [sp, 0x1C]
- lsls r5, r6, 1
- adds r3, r5, r6
- lsls r3, 2
- add r3, r12
- movs r0, 0
- ldrsh r4, [r3, r0]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 1
- ldr r0, _0805E6F8
- movs r6, 0
- ldrsh r2, [r0, r6]
- lsrs r0, r2, 31
- adds r2, r0
- asrs r2, 1
- movs r0, 0x7
- ands r2, r0
- adds r0, r4, 0
- muls r0, r2
- adds r0, r1
- adds r0, 0x74
- str r0, [sp, 0x20]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- muls r0, r2
- adds r0, r1
- adds r0, 0x52
- mov r10, r0
- str r5, [sp, 0x24]
- cmp r7, 0
- bne _0805E53E
- b _0805E6AC
-_0805E53E:
- add r6, sp, 0x8
- ldr r2, _0805E6FC
- mov r8, r2
- mov r9, r7
-_0805E546:
- ldrh r0, [r6]
- ldr r3, _0805E700
- adds r1, r3, 0
- ands r1, r0
- ldr r0, [sp, 0x8]
- mov r4, r8
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r1, [r6]
- mov r2, r8
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x8]
- ldrh r0, [r6]
- ldr r5, _0805E704
- adds r1, r5, 0
- ands r1, r0
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r2, [r6]
- mov r1, r8
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0x8]
- ldrh r2, [r6]
- ldr r0, _0805E708
- ands r0, r2
- mov r3, r8
- ands r3, r1
- orrs r3, r0
- str r3, [sp, 0x8]
- ldrh r1, [r6]
- movs r0, 0x80
- lsls r0, 3
- orrs r0, r1
- movs r1, 0
- orrs r0, r1
- mov r2, r8
- ands r2, r3
- orrs r2, r0
- str r2, [sp, 0x8]
- ldrh r0, [r6]
- ldr r3, _0805E70C
- adds r1, r3, 0
- ands r1, r0
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r1, [r6]
- mov r2, r8
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x8]
- ldrh r0, [r6]
- ldr r4, _0805E710
- adds r1, r4, 0
- ands r1, r0
- mov r0, r8
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x8]
- ldrh r1, [r6]
- mov r2, r8
- ands r2, r0
- orrs r2, r1
- str r2, [sp, 0x8]
- ldrh r1, [r6]
- ldr r0, _0805E714
- ands r0, r1
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x8]
- ldrh r2, [r6]
- mov r0, r8
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x8]
- ldr r5, [sp, 0x24]
- ldr r1, [sp, 0x1C]
- adds r0, r5, r1
- lsls r2, r0, 2
- ldr r3, _0805E6F4
- adds r7, r2, r3
- ldrb r1, [r7, 0x8]
- negs r0, r1
- orrs r0, r1
- asrs r1, r0, 31
- movs r0, 0x8
- ands r1, r0
- ldrb r0, [r7, 0x9]
- cmp r0, 0
- beq _0805E60A
- adds r1, 0x10
-_0805E60A:
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 9
- ldrh r3, [r6, 0x2]
- ldr r4, _0805E718
- adds r0, r4, 0
- ands r3, r0
- orrs r3, r1
- ldr r5, _0805E714
- ands r3, r5
- strh r3, [r6, 0x2]
- ldr r1, _0805E71C
- adds r0, r2, r1
- ldr r2, [r0]
- ldr r0, _0805E720
- ands r2, r0
- ldrh r0, [r6, 0x4]
- movs r4, 0xFC
- lsls r4, 8
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- movs r1, 0x80
- lsls r1, 4
- ldr r5, _0805E708
- ands r0, r5
- orrs r0, r1
- movs r1, 0
- orrs r0, r1
- movs r2, 0xF
- mov r12, r2
- ldr r4, _0805E724
- ands r0, r4
- strh r0, [r6, 0x4]
- ldrh r1, [r6, 0x6]
- ldr r5, _0805E728
- adds r0, r5, 0
- ands r1, r0
- ldr r2, _0805E72C
- adds r0, r2, 0
- ands r1, r0
- ldr r0, _0805E730
- ldr r5, [sp, 0x20]
- ands r0, r5
- movs r5, 0xFE
- lsls r5, 8
- adds r2, r5, 0
- ands r3, r2
- orrs r3, r0
- strh r3, [r6, 0x2]
- mov r0, r10
- ands r0, r4
- lsls r0, 4
- mov r2, r12
- ands r1, r2
- orrs r1, r0
- strh r1, [r6, 0x6]
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0
- movs r3, 0
- bl AddSprite
- movs r3, 0
- ldrsh r0, [r7, r3]
- lsls r0, 2
- ldr r4, [sp, 0x20]
- adds r4, r0
- str r4, [sp, 0x20]
- movs r5, 0x2
- ldrsh r0, [r7, r5]
- lsls r0, 2
- add r10, r0
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r1, r9
- cmp r1, 0
- beq _0805E6AC
- b _0805E546
-_0805E6AC:
- ldr r4, _0805E734
- ldrb r0, [r4]
- cmp r0, 0
- beq _0805E6D4
- ldr r2, [sp, 0x14]
- adds r2, 0x34
- ldr r3, [sp, 0x14]
- adds r3, 0x33
- ldrb r1, [r3]
- ldrb r0, [r2]
- cmp r0, r1
- beq _0805E6D4
- strb r1, [r2]
- ldr r0, [sp, 0x10]
- adds r0, 0x4
- ldrb r1, [r3]
- ldrb r3, [r4]
- movs r2, 0
- bl sub_804A728
-_0805E6D4:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805E6E4: .4byte 0x0001821a
-_0805E6E8: .4byte 0x0001821b
-_0805E6EC: .4byte gUnknown_202F231
-_0805E6F0: .4byte gUnknown_202F230
-_0805E6F4: .4byte gUnknown_8106AE8
-_0805E6F8: .4byte gUnknown_202F22E
-_0805E6FC: .4byte 0xffff0000
-_0805E700: .4byte 0x0000feff
-_0805E704: .4byte 0x0000fdff
-_0805E708: .4byte 0x0000f3ff
-_0805E70C: .4byte 0x0000efff
-_0805E710: .4byte 0x0000dfff
-_0805E714: .4byte 0x00003fff
-_0805E718: .4byte 0x0000c1ff
-_0805E71C: .4byte gUnknown_8106AEC
-_0805E720: .4byte 0x000003ff
-_0805E724: .4byte 0x00000fff
-_0805E728: .4byte 0x0000fffe
-_0805E72C: .4byte 0x0000fffd
-_0805E730: .4byte 0x000001ff
-_0805E734: .4byte gUnknown_202F22D
- thumb_func_end sub_805E2C4
-
- thumb_func_start sub_805E738
-sub_805E738:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- ldr r1, [r6, 0x70]
- adds r0, r1, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0805E7F6
- movs r0, 0
- mov r8, r0
- adds r1, 0x46
- mov r10, r1
-_0805E75E:
- movs r1, 0
- mov r9, r1
- mov r3, r10
- ldrb r5, [r3]
- adds r5, 0x1
- movs r7, 0x1
-_0805E76A:
- movs r0, 0x7
- ands r5, r0
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- ldr r1, _0805E7E8
- lsls r2, r5, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r6, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0805E7B8
- bl sub_80450F8
- cmp r0, 0x1
- bne _0805E7B8
- ldr r1, [r4, 0x10]
- ldr r4, [r1, 0x70]
- adds r0, r6, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _0805E7B8
- mov r0, r8
- cmp r0, 0
- bne _0805E7C6
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _0805E7C6
-_0805E7B8:
- adds r7, 0x1
- adds r5, 0x1
- cmp r7, 0x7
- ble _0805E76A
- mov r1, r9
- cmp r1, 0
- beq _0805E7EC
-_0805E7C6:
- ldr r1, [r6, 0x70]
- movs r2, 0x7
- adds r0, r5, 0
- ands r0, r2
- adds r1, 0x46
- strb r0, [r1]
- adds r0, r6, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r5, 0
- bl sub_806CDD4
- b _0805E7F6
- .align 2, 0
-_0805E7E8: .4byte gUnknown_80F4448
-_0805E7EC:
- movs r3, 0x1
- add r8, r3
- mov r0, r8
- cmp r0, 0
- ble _0805E75E
-_0805E7F6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805E738
-
- thumb_func_start sub_805E804
-sub_805E804:
- push {r4,r5,lr}
- ldr r2, _0805E864
- ldr r1, [r2]
- ldr r5, _0805E868
- adds r3, r1, r5
- ldr r4, _0805E86C
- adds r1, r4
- ldrb r0, [r3]
- ldrb r1, [r1]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3]
- ldr r0, [r2]
- adds r0, r4
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E85C
- ldr r0, _0805E870
- ldrh r1, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805E85C
- adds r4, r2, 0
-_0805E83E:
- movs r0, 0x54
- bl sub_803E46C
- ldr r0, _0805E864
- ldr r0, [r0]
- ldr r1, _0805E868
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805E85C
- ldr r0, _0805E870
- ldrh r0, [r0]
- ands r0, r4
- cmp r0, 0
- bne _0805E83E
-_0805E85C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0805E864: .4byte gUnknown_203B418
-_0805E868: .4byte 0x0000066d
-_0805E86C: .4byte 0x0000066c
-_0805E870: .4byte gUnknown_20255F0
- thumb_func_end sub_805E804
-
- thumb_func_start sub_805E874
-sub_805E874:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- ldr r0, _0805E90C
- ldr r4, [r0]
- bl sub_8083600
- mov r9, r0
- ldr r0, [r0, 0x70]
- adds r0, 0x46
- ldrb r0, [r0]
- str r0, [sp, 0x18]
- mov r0, r9
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- mov r10, r0
- mov r2, r9
- movs r3, 0x6
- ldrsh r2, [r2, r3]
- str r2, [sp, 0x1C]
- adds r1, r2, 0
- bl sub_804954C
- adds r5, r0, 0
- ldr r1, _0805E910
- ldr r2, [sp, 0x18]
- lsls r0, r2, 2
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r2, r10
- adds r7, r2, r1
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0x1C]
- adds r6, r1, r0
- ldr r2, _0805E914
- adds r4, r2
- ldrb r0, [r4]
- cmp r0, 0
- beq _0805E906
- ldr r0, [r5, 0x14]
- cmp r0, 0
- bne _0805E906
- mov r0, r9
- mov r1, r10
- ldr r2, [sp, 0x1C]
- bl sub_805EC2C
- lsls r0, 24
- cmp r0, 0
- bne _0805E906
- mov r0, r9
- ldr r1, [sp, 0x18]
- bl sub_8070F14
- lsls r0, 24
- cmp r0, 0
- beq _0805E906
- ldrb r3, [r5, 0x9]
- str r3, [sp, 0x20]
- cmp r3, 0xFF
- bne _0805E918
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- cmp r0, 0xFF
- beq _0805E922
-_0805E906:
- movs r0, 0
- b _0805EC1A
- .align 2, 0
-_0805E90C: .4byte gUnknown_203B418
-_0805E910: .4byte gUnknown_80F4448
-_0805E914: .4byte 0x0000066c
-_0805E918:
- ldrh r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0805E906
-_0805E922:
- movs r4, 0x1
- negs r4, r4
- ldr r7, _0805EA54
- movs r5, 0x80
- lsls r5, 2
- adds r6, r5, 0
-_0805E92E:
- ldr r0, [sp, 0x18]
- adds r1, r0, r4
- movs r5, 0x7
- ands r1, r5
- lsls r1, 2
- adds r1, r7
- movs r2, 0
- ldrsh r0, [r1, r2]
- add r0, r10
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- ldr r2, [sp, 0x1C]
- adds r1, r2, r1
- bl sub_804954C
- adds r1, r0, 0
- ldr r0, [r1, 0x10]
- cmp r0, 0
- bne _0805E906
- ldrh r0, [r1]
- ands r0, r6
- cmp r0, 0
- bne _0805E906
- adds r4, 0x1
- cmp r4, 0x1
- ble _0805E92E
- ldr r4, _0805EA54
- ldr r3, [sp, 0x18]
- adds r3, 0x3
- ands r3, r5
- lsls r3, 2
- adds r3, r4
- movs r1, 0
- ldrsh r0, [r3, r1]
- add r0, r10
- str r0, [sp]
- ldr r2, [sp, 0x18]
- adds r2, 0x4
- ands r2, r5
- lsls r2, 2
- adds r2, r4
- movs r1, 0
- ldrsh r0, [r2, r1]
- add r0, r10
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x18]
- adds r1, 0x5
- ands r1, r5
- lsls r1, 2
- adds r1, r4
- movs r4, 0
- ldrsh r0, [r1, r4]
- add r0, r10
- str r0, [sp, 0x8]
- add r4, sp, 0xC
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- ldr r3, [sp, 0x1C]
- adds r0, r3, r0
- str r0, [sp, 0xC]
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- adds r0, r3, r0
- str r0, [r4, 0x4]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, r3, r0
- str r0, [r4, 0x8]
- movs r3, 0x1
- negs r3, r3
- mov r8, r3
-_0805E9BC:
- movs r4, 0x1
- negs r4, r4
- mov r7, r10
- add r7, r8
- ldr r6, [sp, 0x1C]
- subs r6, 0x1
-_0805E9C8:
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_804954C
- adds r5, r0, 0
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0805EA14
- movs r2, 0
- ldr r0, [sp]
- cmp r7, r0
- bne _0805E9E6
- ldr r0, [sp, 0xC]
- cmp r6, r0
- beq _0805EA04
-_0805E9E6:
- adds r2, 0x1
- cmp r2, 0x2
- bgt _0805EA04
- lsls r1, r2, 2
- mov r3, sp
- adds r0, r3, r1
- ldr r0, [r0]
- cmp r7, r0
- bne _0805E9E6
- mov r0, sp
- adds r0, r1
- adds r0, 0xC
- ldr r0, [r0]
- cmp r6, r0
- bne _0805E9E6
-_0805EA04:
- cmp r2, 0x3
- bne _0805EA14
- ldr r0, [r5, 0x14]
- bl sub_80450F8
- cmp r0, 0x3
- bne _0805EA14
- b _0805E906
-_0805EA14:
- movs r0, 0x1
- ldr r1, [sp, 0x18]
- ands r0, r1
- cmp r0, 0
- beq _0805EA60
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0805EA94
- bl sub_80450F8
- cmp r0, 0x2
- bne _0805EA94
- ldr r0, [r5, 0x14]
- bl sub_80450F8
- cmp r0, 0x2
- bne _0805EA94
- ldr r0, [r5, 0x14]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA42
- b _0805E906
-_0805EA42:
- ldr r0, _0805EA58
- ldr r0, [r0]
- ldr r2, _0805EA5C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA94
- b _0805E906
- .align 2, 0
-_0805EA54: .4byte gUnknown_80F4448
-_0805EA58: .4byte gUnknown_203B418
-_0805EA5C: .4byte 0x0001820f
-_0805EA60:
- mov r3, r8
- cmp r3, 0
- beq _0805EA6A
- cmp r4, 0
- bne _0805EA94
-_0805EA6A:
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _0805EA94
- bl sub_80450F8
- cmp r0, 0x2
- bne _0805EA94
- ldr r0, [r5, 0x14]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA84
- b _0805E906
-_0805EA84:
- ldr r0, _0805EAA0
- ldr r0, [r0]
- ldr r1, _0805EAA4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805EA94
- b _0805E906
-_0805EA94:
- mov r2, r8
- cmp r2, 0
- beq _0805EAA8
- cmp r4, 0
- bne _0805EAD6
- b _0805EAAC
- .align 2, 0
-_0805EAA0: .4byte gUnknown_203B418
-_0805EAA4: .4byte 0x0001820f
-_0805EAA8:
- cmp r4, 0
- beq _0805EAD6
-_0805EAAC:
- ldr r0, [sp, 0x4]
- cmp r0, r7
- bne _0805EAB8
- ldr r0, [sp, 0x10]
- cmp r0, r6
- beq _0805EAD6
-_0805EAB8:
- mov r0, r9
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_805EC2C
- lsls r0, 24
- cmp r0, 0
- bne _0805EAD6
- ldr r3, [sp, 0x20]
- cmp r3, 0xFF
- beq _0805EAD6
- ldrb r5, [r5, 0x9]
- cmp r3, r5
- beq _0805EAD6
- b _0805E906
-_0805EAD6:
- adds r6, 0x1
- adds r4, 0x1
- cmp r4, 0x1
- bgt _0805EAE0
- b _0805E9C8
-_0805EAE0:
- movs r4, 0x1
- add r8, r4
- mov r5, r8
- cmp r5, 0x1
- bgt _0805EAEC
- b _0805E9BC
-_0805EAEC:
- movs r0, 0x1
- ldr r1, [sp, 0x18]
- ands r0, r1
- cmp r0, 0
- beq _0805EAF8
- b _0805EC18
-_0805EAF8:
- cmp r1, 0
- beq _0805EB00
- cmp r1, 0x4
- bne _0805EB8C
-_0805EB00:
- mov r4, r10
- subs r4, 0x1
- ldr r6, [sp, 0x1C]
- subs r6, 0x1
- mov r0, r9
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- adds r1, r4, 0
- ldr r2, [sp, 0x1C]
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, [sp, 0x1C]
- adds r5, 0x1
- mov r0, r9
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- adds r2, r6, 0
- cmp r7, 0
- bne _0805EB4C
- mov r3, r8
- cmp r3, 0
- beq _0805EB46
- b _0805E906
-_0805EB46:
- cmp r7, r0
- beq _0805EB4C
- b _0805E906
-_0805EB4C:
- mov r4, r10
- adds r4, 0x1
- mov r0, r9
- adds r1, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- adds r1, r4, 0
- ldr r2, [sp, 0x1C]
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- cmp r7, 0
- bne _0805EC18
- mov r4, r8
- cmp r4, 0
- beq _0805EB86
- b _0805E906
-_0805EB86:
- cmp r7, r0
- beq _0805EC18
- b _0805E906
-_0805EB8C:
- mov r6, r10
- subs r6, 0x1
- ldr r4, [sp, 0x1C]
- subs r4, 0x1
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- mov r1, r10
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- mov r5, r10
- adds r5, 0x1
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, 0
- cmp r7, 0
- bne _0805EBD8
- mov r2, r8
- cmp r2, 0
- beq _0805EBD2
- b _0805E906
-_0805EBD2:
- cmp r7, r0
- beq _0805EBD8
- b _0805E906
-_0805EBD8:
- ldr r4, [sp, 0x1C]
- adds r4, 0x1
- mov r0, r9
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- mov r1, r10
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_805EC2C
- lsls r0, 24
- lsrs r0, 24
- cmp r7, 0
- bne _0805EC18
- mov r3, r8
- cmp r3, 0
- beq _0805EC12
- b _0805E906
-_0805EC12:
- cmp r7, r0
- beq _0805EC18
- b _0805E906
-_0805EC18:
- movs r0, 0x1
-_0805EC1A:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_805E874
-
- thumb_func_start sub_805EC2C
-sub_805EC2C:
- push {lr}
- sub sp, 0x4
- lsls r1, 16
- lsls r2, 16
- lsrs r1, 16
- orrs r1, r2
- str r1, [sp]
- mov r1, sp
- bl sub_8070564
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_805EC2C
-
- thumb_func_start sub_805EC4C
-sub_805EC4C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r7, [r5, 0x70]
- ldr r1, _0805ECC8
- adds r0, r7, 0
- adds r0, 0x46
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- ldrh r3, [r5, 0x4]
- adds r1, r3
- lsls r1, 16
- ldrh r0, [r0, 0x2]
- ldrh r3, [r5, 0x6]
- adds r0, r3
- lsls r0, 16
- lsrs r2, r1, 16
- orrs r2, r0
- lsls r0, r2, 16
- asrs r0, 16
- asrs r1, r2, 16
- bl sub_804954C
- ldr r0, [r0, 0x10]
- mov r8, r0
- cmp r0, 0
- bne _0805EC94
- b _0805ED96
-_0805EC94:
- mov r0, r8
- bl sub_80450F8
- cmp r0, 0x1
- bne _0805ED96
- mov r0, r8
- ldr r6, [r0, 0x70]
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _0805ECDC
- ldrb r0, [r6, 0x8]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0805ECDC
- adds r0, r6, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0805ECC2
- cmp r0, 0x47
- bne _0805ECCC
-_0805ECC2:
- movs r0, 0x1
- b _0805ECCE
- .align 2, 0
-_0805ECC8: .4byte gUnknown_80F4448
-_0805ECCC:
- movs r0, 0
-_0805ECCE:
- cmp r0, 0
- bne _0805ECDC
- adds r0, r6, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0805ED96
-_0805ECDC:
- adds r0, r7, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- cmp r0, 0x1
- beq _0805ED96
- cmp r0, 0x7
- beq _0805ED96
- cmp r0, 0x5
- beq _0805ED96
- cmp r0, 0x3
- beq _0805ED96
- cmp r0, 0x4
- beq _0805ED96
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- cmp r0, 0x1
- beq _0805ED96
- cmp r0, 0x7
- beq _0805ED96
- cmp r0, 0x5
- beq _0805ED96
- cmp r0, 0x3
- beq _0805ED96
- cmp r0, 0x4
- beq _0805ED96
- adds r0, r7, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0805ED96
- adds r0, r6, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805ED3E
- cmp r0, 0x2
- beq _0805ED3E
- cmp r0, 0x4
- bne _0805ED96
-_0805ED3E:
- adds r0, r7, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805ED50
- cmp r0, 0x2
- beq _0805ED50
- cmp r0, 0x4
- bne _0805ED96
-_0805ED50:
- mov r0, r8
- movs r1, 0
- bl sub_80570F4
- lsls r0, 24
- cmp r0, 0
- bne _0805ED96
- adds r4, r7, 0
- adds r4, 0x46
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8070F80
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- beq _0805ED96
- mov r1, r10
- cmp r1, 0
- beq _0805EDA0
- adds r1, r5, 0x4
- mov r0, r8
- bl sub_807049C
- lsls r0, 24
- cmp r0, 0
- beq _0805EDA0
- ldr r0, _0805ED9C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0
- bne _0805EDA0
-_0805ED96:
- movs r0, 0
- b _0805EE1E
- .align 2, 0
-_0805ED9C: .4byte gUnknown_8100208
-_0805EDA0:
- adds r0, r7, 0
- adds r0, 0x44
- movs r1, 0x2
- bl sub_8044C94
- ldr r0, _0805EDC0
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0805EDC4
- adds r1, r7, 0
- adds r1, 0x48
- movs r0, 0
- b _0805EDCA
- .align 2, 0
-_0805EDC0: .4byte gUnknown_20255F0
-_0805EDC4:
- adds r1, r7, 0
- adds r1, 0x48
- movs r0, 0x1
-_0805EDCA:
- strb r0, [r1]
- ldrh r0, [r7]
- movs r2, 0x80
- lsls r2, 8
- adds r5, r2, 0
- movs r4, 0
- orrs r0, r5
- strh r0, [r7]
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x2
- bl sub_8044C94
- adds r0, r6, 0
- adds r0, 0x48
- strb r4, [r0]
- mov r3, r9
- ldrb r0, [r3]
- adds r0, 0x4
- movs r1, 0x7
- ands r0, r1
- adds r1, r6, 0
- adds r1, 0x46
- strb r0, [r1]
- ldrh r0, [r6]
- orrs r0, r5
- strh r0, [r6]
- mov r0, r8
- ldrh r1, [r0, 0x4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r6, r2
- strh r1, [r0]
- mov r3, r8
- ldrh r0, [r3, 0x6]
- adds r2, 0x2
- adds r1, r6, r2
- strh r0, [r1]
- ldr r0, _0805EE2C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xE]
-_0805EE1E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0805EE2C: .4byte gUnknown_203B418
- thumb_func_end sub_805EC4C
-
- thumb_func_start sub_805EE30
-sub_805EE30:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl sub_8083600
- adds r5, r0, 0
- cmp r5, 0
- bne _0805EE42
- b _0805EF52
-_0805EE42:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0805EE4E
- b _0805EF52
-_0805EE4E:
- adds r0, r5, 0
- bl sub_8045128
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0805EE82
- ldr r0, [r5, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0805EE82
- adds r0, r5, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _0805EE82
- adds r0, r5, 0x4
- bl sub_804AE84
-_0805EE82:
- ldrh r1, [r4]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0805EE96
- ldr r0, _0805EEB0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x1]
-_0805EE96:
- ldr r4, [r4, 0x14]
- cmp r4, 0
- beq _0805EF52
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x5
- bhi _0805EF52
- lsls r0, 2
- ldr r1, _0805EEB4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0805EEB0: .4byte gUnknown_203B418
-_0805EEB4: .4byte _0805EEB8
- .align 2, 0
-_0805EEB8:
- .4byte _0805EF52
- .4byte _0805EF52
- .4byte _0805EED0
- .4byte _0805EF2A
- .4byte _0805EF52
- .4byte _0805EF52
-_0805EED0:
- adds r0, r4, 0
- bl sub_8045104
- adds r6, r0, 0
- movs r0, 0
- mov r8, r0
- movs r7, 0
- adds r0, r5, 0
- movs r1, 0x13
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0805EF00
- adds r1, r4, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- bne _0805EF00
- movs r0, 0x1
- strb r0, [r1]
- bl sub_8049ED4
- movs r7, 0x1
-_0805EF00:
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _0805EF18
- cmp r0, 0x1
- beq _0805EF52
- cmp r0, 0x2
- bne _0805EF12
- movs r1, 0x1
- mov r8, r1
-_0805EF12:
- mov r0, r8
- cmp r0, 0
- beq _0805EF52
-_0805EF18:
- cmp r7, 0
- bne _0805EF52
- adds r1, r5, 0x4
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_807FE9C
- b _0805EF52
-_0805EF2A:
- adds r0, r4, 0
- bl sub_8045108
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0805EF44
- adds r0, r5, 0x4
- movs r1, 0x1
- bl sub_8045DB4
- b _0805EF52
-_0805EF44:
- ldr r0, _0805EF5C
- ldr r0, [r0]
- movs r1, 0xB8
- lsls r1, 3
- adds r0, r1
- movs r1, 0x4
- str r1, [r0]
-_0805EF52:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805EF5C: .4byte gUnknown_203B418
- thumb_func_end sub_805EE30
-
- thumb_func_start sub_805EF60
-sub_805EF60:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- bl sub_80696A8
- adds r4, r0, 0
- cmp r4, 0
- beq _0805EF9E
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0805EF9E
- adds r0, r5, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- beq _0805EF9E
- ldr r1, [r4, 0x70]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _0805EFA2
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0805EFA2
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- beq _0805EFA2
-_0805EF9E:
- movs r0, 0
- b _0805EFAE
-_0805EFA2:
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x13
- bl sub_8044C94
- movs r0, 0x1
-_0805EFAE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_805EF60
-
- thumb_func_start sub_805EFB4
-sub_805EFB4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- bl sub_8083654
- adds r6, r0, 0
- cmp r7, 0
- beq _0805EFE2
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0805EFE2
- adds r0, r6, 0
- adds r0, 0x46
- ldrb r1, [r0]
- adds r1, 0x4
- movs r2, 0x7
- ands r1, r2
- strb r1, [r0]
- b _0805F020
-_0805EFE2:
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0805F020
- movs r0, 0x8
- bl sub_8084100
- adds r4, r0, 0
- movs r5, 0
-_0805EFF6:
- cmp r7, 0
- bne _0805F008
- mov r0, r8
- adds r1, r4, 0
- bl sub_8070D6C
- lsls r0, 24
- cmp r0, 0
- beq _0805F014
-_0805F008:
- movs r0, 0x7
- ands r4, r0
- adds r0, r6, 0
- adds r0, 0x46
- strb r4, [r0]
- b _0805F020
-_0805F014:
- adds r4, 0x1
- movs r0, 0x7
- ands r4, r0
- adds r5, 0x1
- cmp r5, 0x7
- ble _0805EFF6
-_0805F020:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_805EFB4
-
- thumb_func_start sub_805F02C
-sub_805F02C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r5, _0805F058
- ldr r0, [r5]
- adds r0, 0xBC
- ldr r7, [r0]
- bl sub_8083600
- mov r9, r0
- ldr r0, [r7, 0x70]
- mov r8, r0
- mov r1, r9
- ldr r4, [r1, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0805F060
- ldr r0, _0805F05C
- b _0805F08E
- .align 2, 0
-_0805F058: .4byte gUnknown_203B418
-_0805F05C: .4byte gUnknown_80F9BD8
-_0805F060:
- movs r0, 0x2
- bl sub_8047084
- lsls r0, 24
- cmp r0, 0
- bne _0805F076
- bl sub_807EF48
- lsls r0, 24
- cmp r0, 0
- beq _0805F080
-_0805F076:
- ldr r0, _0805F07C
- b _0805F08E
- .align 2, 0
-_0805F07C: .4byte gUnknown_80F9C08
-_0805F080:
- ldr r2, [r5]
- ldr r3, _0805F098
- adds r0, r2, r3
- ldrb r1, [r0]
- cmp r1, 0
- beq _0805F0A0
- ldr r0, _0805F09C
-_0805F08E:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_805239C
- b _0805F184
- .align 2, 0
-_0805F098: .4byte 0x0000066e
-_0805F09C: .4byte gUnknown_80F9C2C
-_0805F0A0:
- ldr r5, _0805F114
- adds r0, r2, r5
- strb r1, [r0]
- movs r0, 0x1
- mov r2, r8
- strb r0, [r2, 0x7]
- strb r1, [r4, 0x7]
- movs r6, 0
- movs r3, 0x44
- add r3, r8
- mov r10, r3
- adds r5, r4, 0
- adds r5, 0x44
- str r5, [sp]
- adds r2, 0x64
- str r2, [sp, 0x4]
- adds r4, 0x64
- str r4, [sp, 0x8]
- ldr r3, _0805F118
- movs r2, 0x1
-_0805F0C8:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _0805F11C
- adds r0, r1
- ldr r1, [r3]
- adds r4, r1, r0
- movs r5, 0
- ldrb r1, [r4]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805F12A
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- str r2, [sp, 0xC]
- str r3, [sp, 0x10]
- bl sub_806A538
- lsls r0, 24
- ldr r2, [sp, 0xC]
- ldr r3, [sp, 0x10]
- cmp r0, 0
- bne _0805F102
- movs r5, 0xA
- ldrsh r1, [r4, r5]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r3]
- adds r5, r0, r1
-_0805F102:
- mov r0, r8
- ldrb r0, [r0, 0xA]
- cmp r6, r0
- bne _0805F120
- strb r2, [r4, 0x2]
- cmp r5, 0
- beq _0805F12A
- strb r2, [r5, 0x2]
- b _0805F12A
- .align 2, 0
-_0805F114: .4byte 0x00000679
-_0805F118: .4byte gUnknown_203B45C
-_0805F11C: .4byte 0x00008df8
-_0805F120:
- movs r0, 0
- strb r0, [r4, 0x2]
- cmp r5, 0
- beq _0805F12A
- strb r0, [r5, 0x2]
-_0805F12A:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805F0C8
- ldr r0, _0805F194
- movs r4, 0
- str r4, [r0]
- mov r1, r10
- ldr r0, [sp]
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- adds r0, r7, 0
- bl sub_803F508
- mov r0, r9
- bl sub_8041AD0
- bl sub_8083600
- bl sub_8041AE0
- ldr r0, _0805F198
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0805F19C
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- movs r0, 0
- bl sub_807EC28
- ldr r0, [sp, 0x4]
- strb r4, [r0]
- ldr r1, [sp, 0x8]
- strb r4, [r1]
- mov r0, r9
- bl sub_806A6E8
- adds r0, r7, 0
- bl sub_806A6E8
-_0805F184:
- 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
-_0805F194: .4byte gUnknown_203B450
-_0805F198: .4byte gUnknown_202DF98
-_0805F19C: .4byte gUnknown_80F9BB0
- thumb_func_end sub_805F02C
-
- thumb_func_start sub_805F1A0
-sub_805F1A0:
- push {lr}
- bl sub_8083654
- adds r0, 0x44
- pop {r1}
- bx r1
- thumb_func_end sub_805F1A0
-
- thumb_func_start sub_805F1AC
-sub_805F1AC:
- push {lr}
- bl sub_8083654
- adds r0, 0x44
- ldrh r0, [r0]
- pop {r1}
- bx r1
- thumb_func_end sub_805F1AC
-
- thumb_func_start ShowFieldMenu
-ShowFieldMenu:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- ldr r0, _0805F208
- ldr r1, [r0]
- movs r0, 0xB8
- lsls r0, 3
- adds r1, r0
- ldr r3, [r1]
- mov r10, r3
- movs r0, 0
- str r0, [sp, 0x10]
- mvns r0, r3
- lsrs r0, 31
- str r0, [sp, 0x14]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- cmp r3, 0
- blt _0805F1F8
- mov r1, r10
- str r1, [sp, 0x10]
-_0805F1F8:
- cmp r2, 0
- beq _0805F23C
- ldr r0, _0805F20C
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
- b _0805F240
- .align 2, 0
-_0805F208: .4byte gUnknown_203B418
-_0805F20C: .4byte 0x00000137
-_0805F210:
- bl sub_8083600
- movs r1, 0x1
- bl sub_806675C
- b _0805F226
-_0805F21C:
- bl sub_8083600
- movs r1, 0x1
- bl sub_806684C
-_0805F226:
- movs r0, 0x1
- bl sub_8044C10
- movs r0, 0x50
- movs r1, 0x4D
- bl sub_803E708
- movs r0, 0
- bl sub_8052210
- b _0805F92A
-_0805F23C:
- bl sub_8083D44
-_0805F240:
- mov r2, r10
- cmp r2, 0
- bge _0805F2FA
- movs r0, 0x1
- bl sub_8044C10
- ldr r0, _0805F388
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- ldr r0, [sp, 0xC]
- bl DrawFieldMenu
- bl sub_8083600
- movs r1, 0
- bl sub_806A2BC
- ldr r4, _0805F38C
- ldr r5, _0805F390
- adds r6, r4, 0
- adds r6, 0x2A
-_0805F26C:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1D
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0805F290
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_0805F290:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0805F2A8
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_0805F2A8:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0805F2BC
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _0805F2D0
-_0805F2BC:
- ldr r0, _0805F394
- movs r3, 0x18
- ldrsh r1, [r4, r3]
- adds r1, 0x1
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x7
- beq _0805F3A8
- bl sub_8083D30
-_0805F2D0:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0805F2E0
- ldrb r0, [r6]
- cmp r0, 0
- beq _0805F26C
-_0805F2E0:
- bl sub_8083D30
- movs r0, 0x1
- negs r0, r0
-_0805F2E8:
- str r0, [sp, 0x10]
- ldr r0, _0805F38C
- bl AddMenuCursorSprite
- movs r0, 0x1D
- bl sub_803E46C
- movs r1, 0x1
- str r1, [sp, 0xC]
-_0805F2FA:
- ldr r2, [sp, 0x10]
- mov r10, r2
- cmp r2, 0x1
- beq _0805F304
- b _0805F428
-_0805F304:
- movs r0, 0x1
- bl sub_8044C10
- ldr r1, _0805F398
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, _0805F39C
- ands r0, r1
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0805F3A0
- ands r0, r1
- ldr r1, _0805F3A4
- ands r0, r1
- str r0, [sp, 0x4]
- bl sub_8083600
- add r1, sp, 0x4
- bl sub_805FD74
- lsls r0, 24
- cmp r0, 0
- beq _0805F33A
- movs r3, 0x1
- negs r3, r3
- mov r10, r3
-_0805F33A:
- add r0, sp, 0x4
- bl sub_805FD3C
- lsls r0, 24
- cmp r0, 0
- beq _0805F35C
- bl sub_8083600
- add r1, sp, 0x4
- bl sub_805FD74
- lsls r0, 24
- cmp r0, 0
- beq _0805F35C
- movs r0, 0x1
- bl sub_8044C10
-_0805F35C:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC
- bne _0805F3B2
- bl sub_8083600
- movs r1, 0
- movs r2, 0xC
- bl sub_8044D90
- ldrb r2, [r0]
- movs r1, 0x4
- orrs r1, r2
- strb r1, [r0]
- bl sub_805F1A0
- bl sub_8060D24
- b _0805F412
- .align 2, 0
-_0805F388: .4byte gUnknown_202F260
-_0805F38C: .4byte gUnknown_202EE10
-_0805F390: .4byte gUnknown_20255F0
-_0805F394: .4byte gUnknown_202749A
-_0805F398: .4byte 0xffffff00
-_0805F39C: .4byte 0xffff00ff
-_0805F3A0: .4byte 0xff00ffff
-_0805F3A4: .4byte 0x00ffffff
-_0805F3A8:
- bl sub_8083D08
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- b _0805F2E8
-_0805F3B2:
- cmp r0, 0x35
- bne _0805F3D0
- bl sub_8083600
- movs r1, 0
- movs r2, 0xD
- bl sub_8044D90
- adds r4, r0, 0
- bl sub_8083600
- adds r1, r4, 0
- bl sub_8048A68
- b _0805F40A
-_0805F3D0:
- cmp r0, 0x10
- bne _0805F3EE
- bl sub_8083600
- movs r1, 0
- movs r2, 0xE
- bl sub_8044D90
- adds r4, r0, 0
- bl sub_8083600
- adds r1, r4, 0
- bl sub_8048950
- b _0805F40A
-_0805F3EE:
- cmp r0, 0x2C
- bne _0805F41A
- bl sub_8083600
- movs r1, 0
- movs r2, 0xF
- bl sub_8044D90
- adds r4, r0, 0
- bl sub_8083600
- adds r1, r4, 0
- bl sub_8048B9C
-_0805F40A:
- lsls r0, 24
- cmp r0, 0
- beq _0805F412
- b _0805F72C
-_0805F412:
- movs r0, 0x1
- bl sub_8044C10
- b _0805F72C
-_0805F41A:
- cmp r0, 0x3C
- bne _0805F420
- b _0805F210
-_0805F420:
- cmp r0, 0x3D
- bne _0805F426
- b _0805F21C
-_0805F426:
- b _0805F72C
-_0805F428:
- ldr r2, [sp, 0x10]
- cmp r2, 0x2
- beq _0805F430
- b _0805F52E
-_0805F430:
- movs r0, 0x1
- bl sub_8044C10
- bl sub_8083600
- bl sub_8060E38
- lsls r0, 24
- cmp r0, 0
- beq _0805F44A
- movs r3, 0x1
- negs r3, r3
- mov r10, r3
-_0805F44A:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1B
- bne _0805F45E
- bl sub_805F1A0
- movs r1, 0
- b _0805F4B2
-_0805F45E:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1C
- bne _0805F474
- bl sub_805F1A0
- bl sub_806752C
- b _0805F4B6
-_0805F474:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x34
- bne _0805F48A
- bl sub_805F1A0
- bl sub_8067768
- b _0805F4B6
-_0805F48A:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1A
- bne _0805F4A0
- bl sub_805F1A0
- bl sub_80615E8
- b _0805F4B6
-_0805F4A0:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x30
- bne _0805F4BE
- bl sub_805F1A0
- movs r1, 0x1
-_0805F4B2:
- bl sub_8061A38
-_0805F4B6:
- movs r0, 0x1
- bl sub_8044C10
- b _0805F72C
-_0805F4BE:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x19
- beq _0805F4CC
- b _0805F72C
-_0805F4CC:
- bl sub_805F1A0
- bl sub_8062D8C
- movs r6, 0
- movs r4, 0
-_0805F4D8:
- ldr r0, _0805F518
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0805F51C
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805F526
- bl sub_805F1A0
- ldrb r0, [r0, 0x4]
- cmp r4, r0
- bne _0805F524
- ldr r0, _0805F520
- str r6, [r0]
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _0805F50C
- b _0805F72C
-_0805F50C:
- adds r0, r5, 0
- movs r1, 0
- bl sub_806A2BC
- b _0805F72C
- .align 2, 0
-_0805F518: .4byte gUnknown_203B418
-_0805F51C: .4byte 0x0001357c
-_0805F520: .4byte gUnknown_202F260
-_0805F524:
- adds r6, 0x1
-_0805F526:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0805F4D8
- b _0805F72C
-_0805F52E:
- ldr r3, [sp, 0x10]
- cmp r3, 0
- beq _0805F536
- b _0805F73A
-_0805F536:
- movs r7, 0
- movs r0, 0x1
- bl sub_8044C10
- movs r5, 0
- b _0805F544
-_0805F542:
- adds r5, 0x1
-_0805F544:
- cmp r5, 0x3
- bgt _0805F56C
- ldr r0, _0805F600
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0805F604
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805F542
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0805F542
- adds r7, r5, 0
-_0805F56C:
- movs r0, 0
- bl sub_8044C10
-_0805F572:
- movs r6, 0
- mov r9, r6
- mov r8, r6
- movs r5, 0
-_0805F57A:
- ldr r0, _0805F600
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r3, _0805F604
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _0805F5A0
- cmp r5, r7
- bne _0805F59C
- mov r9, r8
- adds r6, r4, 0
-_0805F59C:
- movs r0, 0x1
- add r8, r0
-_0805F5A0:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0805F57A
- cmp r6, 0
- bne _0805F5B0
- bl sub_8083600
- adds r6, r0, 0
-_0805F5B0:
- adds r0, r6, 0
- movs r1, 0
- bl sub_806A2BC
- adds r0, r6, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
- bl sub_8083654
- adds r0, 0x48
- strb r7, [r0]
- movs r0, 0
- bl sub_8044C10
- mov r1, r8
- str r1, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x1
- mov r3, r9
- bl sub_8062F90
- lsls r0, 24
- cmp r0, 0
- beq _0805F5EE
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
-_0805F5EE:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bne _0805F63C
- adds r4, r7, 0
- movs r5, 0
- b _0805F60A
- .align 2, 0
-_0805F600: .4byte gUnknown_203B418
-_0805F604: .4byte 0x0001357c
-_0805F608:
- adds r5, 0x1
-_0805F60A:
- cmp r5, 0x3
- bgt _0805F676
- adds r7, 0x1
- cmp r7, 0x3
- ble _0805F616
- movs r7, 0
-_0805F616:
- ldr r0, _0805F634
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r3, _0805F638
- adds r0, r3
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _0805F608
- b _0805F676
- .align 2, 0
-_0805F634: .4byte gUnknown_203B418
-_0805F638: .4byte 0x0001357c
-_0805F63C:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bne _0805F694
- adds r4, r7, 0
- movs r5, 0
- b _0805F650
-_0805F64E:
- adds r5, 0x1
-_0805F650:
- cmp r5, 0x3
- bgt _0805F676
- subs r7, 0x1
- cmp r7, 0
- bge _0805F65C
- movs r7, 0x3
-_0805F65C:
- ldr r0, _0805F68C
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _0805F690
- adds r0, r2
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _0805F64E
-_0805F676:
- bl sub_8083654
- adds r0, 0x48
- strb r7, [r0]
- cmp r4, r7
- bne _0805F684
- b _0805F572
-_0805F684:
- movs r0, 0
- bl sub_8083CE0
- b _0805F572
- .align 2, 0
-_0805F68C: .4byte gUnknown_203B418
-_0805F690: .4byte 0x0001357c
-_0805F694:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bne _0805F6AA
- bl sub_805F1A0
- bl sub_80637E8
- b _0805F56C
-_0805F6AA:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- beq _0805F6C2
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x33
- bne _0805F6CE
-_0805F6C2:
- bl sub_805F1A0
- movs r1, 0
- bl sub_8063A70
- b _0805F56C
-_0805F6CE:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1F
- bne _0805F6E4
- bl sub_805F1A0
- bl sub_8063B54
- b _0805F56C
-_0805F6E4:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x20
- bne _0805F6FA
- bl sub_805F1A0
- bl sub_8063BB4
- b _0805F56C
-_0805F6FA:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x21
- bne _0805F712
- bl sub_805F1A0
- movs r1, 0
- bl sub_8063CF0
- b _0805F56C
-_0805F712:
- bl sub_8083600
- movs r1, 0
- bl sub_806A2BC
- bl sub_8083600
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_0805F72C:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- beq _0805F738
- b _0805F92A
-_0805F738:
- b _0805F904
-_0805F73A:
- ldr r3, [sp, 0x10]
- cmp r3, 0x4
- beq _0805F742
- b _0805F8E0
-_0805F742:
- bl sub_8083600
- movs r1, 0x4
- ldrsh r2, [r0, r1]
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_804954C
- ldr r4, [r0, 0x14]
- cmp r4, 0
- bne _0805F75C
- b _0805F88C
-_0805F75C:
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x3
- beq _0805F768
- b _0805F872
-_0805F768:
- movs r0, 0x1
- bl sub_8044C10
- ldr r1, _0805F7F0
- ldr r0, [sp, 0x8]
- ands r0, r1
- ldr r1, _0805F7F4
- ands r0, r1
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0805F7F8
- ands r0, r1
- movs r1, 0x80
- lsls r1, 9
- orrs r0, r1
- ldr r1, _0805F7FC
- ands r0, r1
- adds r1, 0x1
- orrs r0, r1
- str r0, [sp, 0x8]
- bl sub_8083600
- add r4, sp, 0x8
- adds r1, r4, 0
- bl sub_805FD74
- lsls r0, 24
- adds r0, r4, 0
- bl sub_805FD3C
- lsls r0, 24
- cmp r0, 0
- beq _0805F7C2
- bl sub_8083600
- adds r1, r4, 0
- bl sub_805FD74
- lsls r0, 24
- cmp r0, 0
- beq _0805F7C2
- movs r0, 0x1
- bl sub_8044C10
-_0805F7C2:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0xC
- bne _0805F800
- bl sub_8083600
- movs r1, 0
- movs r2, 0x10
- bl sub_8044D90
- ldrb r2, [r0]
- movs r1, 0x4
- orrs r1, r2
- strb r1, [r0]
- bl sub_805F1A0
- bl sub_8060D24
- b _0805F840
- .align 2, 0
-_0805F7F0: .4byte 0xffffff00
-_0805F7F4: .4byte 0xffff00ff
-_0805F7F8: .4byte 0xff00ffff
-_0805F7FC: .4byte 0x00ffffff
-_0805F800:
- cmp r0, 0x35
- bne _0805F81E
- bl sub_8083600
- movs r1, 0
- movs r2, 0x11
- bl sub_8044D90
- adds r4, r0, 0
- bl sub_8083600
- adds r1, r4, 0
- bl sub_8048A68
- b _0805F83A
-_0805F81E:
- cmp r0, 0x10
- bne _0805F848
- bl sub_8083600
- movs r1, 0
- movs r2, 0x12
- bl sub_8044D90
- adds r4, r0, 0
- bl sub_8083600
- adds r1, r4, 0
- bl sub_8048950
-_0805F83A:
- lsls r0, 24
- cmp r0, 0
- bne _0805F8A8
-_0805F840:
- movs r0, 0x1
- bl sub_8044C10
- b _0805F8A8
-_0805F848:
- cmp r1, 0x2C
- bne _0805F8A8
- bl sub_8083600
- movs r1, 0
- movs r2, 0x13
- bl sub_8044D90
- adds r4, r0, 0
- bl sub_8083600
- adds r1, r4, 0
- bl sub_8048B9C
- lsls r0, 24
- cmp r0, 0
- bne _0805F8A8
- movs r0, 0x1
- bl sub_8044C10
- b _0805F8A8
-_0805F872:
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _0805F8CE
- movs r0, 0x1
- bl sub_8044C10
- bl sub_8083600
- bl sub_80643AC
- b _0805F8A8
-_0805F88C:
- ldrh r0, [r0]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0805F8B4
- movs r0, 0x1
- bl sub_8044C10
- bl sub_8083600
- bl sub_80647F0
-_0805F8A8:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _0805F92A
- b _0805F8CE
-_0805F8B4:
- bl sub_8083600
- adds r1, r0, 0
- ldr r0, _0805F8D8
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0805F8DC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0805F8CE:
- movs r3, 0x1
- negs r3, r3
- mov r10, r3
- b _0805F904
- .align 2, 0
-_0805F8D8: .4byte gUnknown_202DF98
-_0805F8DC: .4byte gUnknown_80FDE18
-_0805F8E0:
- ldr r0, [sp, 0x10]
- cmp r0, 0x3
- bne _0805F904
- bl sub_8064BE0
- ldr r0, _0805F91C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _0805F92A
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _0805F92A
- movs r1, 0x1
- negs r1, r1
- mov r10, r1
-_0805F904:
- ldr r2, [sp, 0x10]
- cmp r2, 0
- blt _0805F92A
- ldr r3, [sp, 0x14]
- cmp r3, 0
- bne _0805F920
- bl sub_80048D0
- bl sub_8004914
- b _0805F240
- .align 2, 0
-_0805F91C: .4byte gUnknown_203B418
-_0805F920:
- bl sub_8083600
- movs r1, 0
- bl sub_806A2BC
-_0805F92A:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_80048D0
- bl sub_8004914
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ShowFieldMenu
-
- thumb_func_start DrawFieldMenu
-DrawFieldMenu:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _0805F994
- movs r0, 0
- strh r0, [r4, 0x18]
- movs r1, 0x5
- strh r1, [r4, 0x1A]
- strh r1, [r4, 0x1C]
- strh r0, [r4, 0x1E]
- strh r0, [r4, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x6]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- str r0, [r4]
- strh r0, [r4, 0x14]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- movs r1, 0x38
- bl sub_80137B0
- cmp r5, 0
- beq _0805F998
- movs r0, 0x7
- movs r1, 0
- bl sub_803EAF0
- b _0805F9A0
- .align 2, 0
-_0805F994: .4byte gUnknown_202EE10
-_0805F998:
- movs r0, 0x6
- movs r1, 0
- bl sub_803EAF0
-_0805F9A0:
- movs r0, 0
- bl sub_80073B8
- bl sub_8083600
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _0805F9CC
- ldr r0, _0805F9C8
- movs r2, 0x2
- strb r2, [r0, 0x1]
- strb r2, [r0, 0x2]
- strb r2, [r0, 0x3]
- movs r1, 0x7
- strb r1, [r0, 0x4]
- strb r2, [r0, 0x5]
- b _0805F9DA
- .align 2, 0
-_0805F9C8: .4byte gUnknown_202749A
-_0805F9CC:
- ldr r1, _0805FBA0
- movs r0, 0x7
- strb r0, [r1, 0x1]
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x3]
- strb r0, [r1, 0x4]
- strb r0, [r1, 0x5]
-_0805F9DA:
- ldr r4, _0805FBA4
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBA8
- ldr r2, [r0]
- movs r6, 0
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBAC
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBB0
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBB4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _0805FBB8
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- cmp r5, 0
- bne _0805FA62
- b _0805FB92
-_0805FA62:
- bl sub_8083600
- ldr r7, [r0, 0x70]
- bl sub_805317C
- adds r5, r0, 0
- bl sub_8008ED0
- movs r4, 0x88
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r4, 1
- movs r0, 0x1
- bl sub_80073B8
- str r6, [sp]
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- movs r3, 0x1
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_80073E0
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _0805FBBC
- ldr r0, [r0]
- add r2, sp, 0x8
- add r3, sp, 0xC
- add r1, sp, 0x4
- bl sub_8095014
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- bl sub_8094450
- ldr r4, _0805FBC0
- str r0, [r4]
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- bl sub_8094450
- str r0, [r4, 0x4]
- ldr r0, _0805FBC4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0
- movs r3, 0x2
- bl sub_8014FF0
- ldr r0, _0805FBC8
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4]
- ldr r0, _0805FBCC
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0xC
- movs r3, 0x2
- bl sub_8014FF0
- ldr r5, _0805FBD0
- movs r0, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_807EA18
- ldr r0, _0805FBD4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0x18
- movs r3, 0x2
- bl sub_8014FF0
- ldr r0, [sp, 0x4]
- str r0, [r4]
- ldr r0, [sp, 0x8]
- str r0, [r4, 0x4]
- ldr r0, [sp, 0xC]
- str r0, [r4, 0x8]
- ldr r0, _0805FBD8
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x73
- movs r1, 0x24
- movs r3, 0x2
- bl sub_8014FF0
- movs r7, 0
- mov r8, r4
-_0805FB3A:
- ldr r0, _0805FBDC
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0805FBE0
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0805FB86
- ldr r4, [r5, 0x70]
- ldr r0, _0805FBD0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- mov r2, r8
- str r0, [r2]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- str r0, [r2, 0x4]
- ldr r0, _0805FBE4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r7, 0
- movs r3, 0x2
- bl sub_8014FF0
- adds r7, 0xC
- cmp r7, 0x2F
- bgt _0805FB8C
-_0805FB86:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0805FB3A
-_0805FB8C:
- movs r0, 0x2
- bl sub_80073E0
-_0805FB92:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0805FBA0: .4byte gUnknown_202749A
-_0805FBA4: .4byte gUnknown_202EE10
-_0805FBA8: .4byte gUnknown_80FE988
-_0805FBAC: .4byte gUnknown_80FE998
-_0805FBB0: .4byte gUnknown_80FE9A8
-_0805FBB4: .4byte gUnknown_80FE9B8
-_0805FBB8: .4byte gUnknown_80FE9C8
-_0805FBBC: .4byte gUnknown_203B47C
-_0805FBC0: .4byte gUnknown_202DE30
-_0805FBC4: .4byte gUnknown_80F9174
-_0805FBC8: .4byte gUnknown_203B460
-_0805FBCC: .4byte gUnknown_80F9190
-_0805FBD0: .4byte gUnknown_202DF98
-_0805FBD4: .4byte gUnknown_80F91A8
-_0805FBD8: .4byte gUnknown_80F91C8
-_0805FBDC: .4byte gUnknown_203B418
-_0805FBE0: .4byte 0x0001357c
-_0805FBE4: .4byte gUnknown_80F91E0
- thumb_func_end DrawFieldMenu
-
- thumb_func_start sub_805FBE8
-sub_805FBE8:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x8
- adds r1, r5, 0
- bl sub_803EAF0
-_0805FBF4:
- movs r0, 0xE
- bl sub_803E46C
- bl xxx_draw_string_80144C4
- bl sub_8016080
- adds r4, r0, 0
- cmp r4, 0
- beq _0805FBF4
- bl sub_80160D8
- movs r0, 0xE
- bl sub_803E46C
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- cmp r4, 0x3
- bne _0805FC28
- ldrb r0, [r5]
- cmp r0, 0
- beq _0805FC28
- movs r0, 0x1
- b _0805FC2A
-_0805FC28:
- movs r0, 0
-_0805FC2A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_805FBE8
-
- thumb_func_start sub_805FC30
-sub_805FC30:
- push {r4-r6,lr}
- sub sp, 0x78
- adds r4, r0, 0
- adds r6, r1, 0
- add r5, sp, 0x4
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r3, 0x3
- str r3, [sp, 0x8]
- str r3, [sp, 0x20]
- movs r2, 0
- movs r0, 0x16
- strh r0, [r5, 0x20]
- movs r1, 0x4
- strh r1, [r5, 0x22]
- movs r0, 0x6
- strh r0, [r5, 0x24]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x28]
- str r3, [sp, 0x38]
- str r3, [sp, 0x50]
- add r0, sp, 0x4
- ldm r4!, {r1,r3,r5}
- stm r0!, {r1,r3,r5}
- ldm r4!, {r1,r3,r5}
- stm r0!, {r1,r3,r5}
- add r1, sp, 0x4
- movs r0, 0x80
- strb r0, [r1]
- ldr r4, _0805FD30
- strh r2, [r4, 0x18]
- ldr r5, _0805FD34
- ldr r0, [r5]
- strh r0, [r4, 0x1C]
- strh r0, [r4, 0x1A]
- strh r2, [r4, 0x1E]
- strh r2, [r4, 0x20]
- strh r2, [r4, 0x4]
- strh r2, [r4, 0x6]
- movs r0, 0x1
- str r0, [r4]
- strh r2, [r4, 0xC]
- strh r2, [r4, 0xE]
- ldr r0, [r4, 0x8]
- str r0, [r4, 0x14]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- strh r6, [r0, 0x20]
- adds r1, r0, 0
- movs r0, 0x1C
- subs r0, r6
- strh r0, [r1, 0x24]
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- movs r1, 0
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- strh r0, [r1, 0x28]
- strh r0, [r2, 0x26]
- adds r0, r1, 0
- movs r1, 0
- bl sub_803ECB4
- add r0, sp, 0x4
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- lsls r1, 3
- adds r0, r4, 0
- bl sub_80137B0
- movs r0, 0x1
- bl sub_80073B8
- movs r6, 0
- ldr r0, [r5]
- cmp r6, r0
- bge _0805FD20
- add r5, sp, 0x64
-_0805FCDC:
- adds r0, r6, 0
- bl sub_8044F3C
- lsls r0, 24
- movs r4, 0x2
- cmp r0, 0
- beq _0805FCEC
- movs r4, 0x7
-_0805FCEC:
- adds r0, r6, 0
- bl sub_8044EC8
- adds r3, r0, 0
- adds r0, r5, 0
- ldr r1, _0805FD38
- adds r2, r4, 0
- bl sub_800D158
- ldr r0, _0805FD30
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0x1
- bl xxx_call_draw_string
- adds r6, 0x1
- ldr r0, _0805FD34
- ldr r0, [r0]
- cmp r6, r0
- blt _0805FCDC
-_0805FD20:
- movs r0, 0x1
- bl sub_80073E0
- add sp, 0x78
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0805FD30: .4byte gUnknown_202EE10
-_0805FD34: .4byte gUnknown_202EE6C
-_0805FD38: .4byte gUnknown_8106B50
- thumb_func_end sub_805FC30
-
- thumb_func_start sub_805FD3C
-sub_805FD3C:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- adds r2, r0, 0
- movs r1, 0
- strb r1, [r4]
- strb r1, [r4, 0x1]
- strb r1, [r4, 0x2]
- strb r1, [r4, 0x3]
- cmp r2, 0xA
- bne _0805FD5E
- movs r0, 0x1
- strb r0, [r4]
- strb r0, [r4, 0x3]
-_0805FD5E:
- cmp r2, 0x3E
- bne _0805FD6A
- movs r0, 0x1
- strb r0, [r4]
- strb r1, [r4, 0x1]
- strb r0, [r4, 0x3]
-_0805FD6A:
- ldrb r0, [r4]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_805FD3C
-
- thumb_func_start sub_805FD74
-sub_805FD74:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE4
- mov r10, r0
- adds r7, r1, 0
- movs r0, 0
- mov r9, r0
- movs r1, 0x1
- str r1, [sp, 0xD0]
- movs r2, 0
- str r2, [sp, 0xD4]
- movs r5, 0
- str r5, [sp, 0xD8]
- str r0, [sp, 0xDC]
- mov r1, r10
- ldr r1, [r1, 0x70]
- str r1, [sp, 0xE0]
- add r4, sp, 0x68
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x6C]
- add r0, sp, 0x70
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x74
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x76
- movs r1, 0x10
- strh r1, [r0]
- add r0, sp, 0x78
- strh r1, [r0]
- add r5, sp, 0xC8
- str r5, [sp, 0x7C]
- movs r1, 0x3
- str r1, [sp, 0x84]
- add r0, sp, 0x98
- str r1, [r0, 0x4]
- add r0, sp, 0xB0
- str r1, [r0, 0x4]
- add r0, sp, 0x8
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r0, _0805FE40
- strb r6, [r0]
- mov r2, r9
- strh r2, [r0, 0x4]
- strh r2, [r0, 0x6]
- cmp r7, 0
- beq _0805FE18
- ldrb r1, [r7]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xD8]
- ldrb r1, [r7, 0x1]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xD0]
- ldrb r1, [r7, 0x2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xD4]
- ldrb r1, [r7, 0x3]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xDC]
-_0805FE18:
- ldr r0, _0805FE44
- mov r5, r10
- str r5, [sp]
- ldr r1, [sp, 0xD4]
- ldr r2, [sp, 0xD0]
- ldr r3, [sp, 0xDC]
- bl sub_8060D64
- ldr r1, _0805FE48
- str r0, [r1]
- cmp r0, 0
- bne _0805FEA6
- ldr r0, _0805FE4C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0x1
- b _080603BE
- .align 2, 0
-_0805FE40: .4byte gUnknown_202F238
-_0805FE44: .4byte gUnknown_202F248
-_0805FE48: .4byte gUnknown_202F258
-_0805FE4C: .4byte gUnknown_80F8B24
-_0805FE50:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x1
- mov r9, r0
- b _0806039C
-_0805FE5E:
- ldr r0, [sp, 0xE0]
- adds r0, 0x44
- movs r1, 0xC
- bl sub_8044C94
- ldr r0, _0805FE78
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x48]
- str r1, [r2, 0x4C]
- b _0805FE88
- .align 2, 0
-_0805FE78: .4byte gUnknown_202F238
-_0805FE7C:
- ldr r0, _0805FE98
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x50]
- str r1, [r2, 0x54]
-_0805FE88:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r5, 0
- mov r9, r5
- b _0806039C
- .align 2, 0
-_0805FE98: .4byte gUnknown_202F238
-_0805FE9C:
- ldr r1, [r1]
- ldr r0, [sp, 0xE0]
- adds r0, 0x50
- strb r1, [r0]
- b _0806033C
-_0805FEA6:
- movs r1, 0
- mov r8, r1
- ldr r0, _0805FFA8
- mov r2, r9
- str r2, [r0]
-_0805FEB0:
- movs r5, 0
- mov r9, r5
- movs r4, 0
- ldr r6, _0805FFAC
-_0805FEB8:
- lsls r1, r4, 2
- ldr r0, [r6]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805FEEC
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805FEEC
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- ldr r1, _0805FFA8
- str r0, [r1]
-_0805FEEC:
- adds r4, 0x1
- cmp r4, 0x13
- ble _0805FEB8
- movs r6, 0
-_0805FEF4:
- ldr r0, _0805FFB0
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0805FFB4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- adds r5, r6, 0x1
- mov r12, r5
- cmp r0, 0
- beq _0805FF66
- ldr r0, [r4, 0x70]
- adds r2, r0, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0805FF66
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0805FF66
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
- movs r4, 0
- ldr r0, _0805FFB8
- ldr r1, [r0]
- adds r5, r0, 0
- ldr r7, _0805FFA8
- cmp r4, r1
- bge _0805FF62
- ldr r0, _0805FFBC
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- adds r2, r6, 0x4
- cmp r1, r2
- beq _0805FF60
-_0805FF4C:
- adds r4, 0x1
- ldr r0, [r5]
- cmp r4, r0
- bge _0805FF62
- lsls r0, r4, 1
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, r2
- bne _0805FF4C
-_0805FF60:
- mov r8, r4
-_0805FF62:
- movs r0, 0
- str r0, [r7]
-_0805FF66:
- mov r6, r12
- cmp r6, 0x3
- ble _0805FEF4
- add r2, sp, 0x8
- str r2, [sp]
- add r5, sp, 0xC8
- str r5, [sp, 0x4]
- mov r0, r8
- mov r1, r10
- ldr r2, [sp, 0xD8]
- ldr r3, [sp, 0xD4]
- bl sub_80603D8
- ldr r1, _0805FFBC
- ldr r0, _0805FFC0
- movs r2, 0x1E
- ldrsh r0, [r0, r2]
- lsls r0, 1
- adds r0, r1
- movs r5, 0
- ldrsh r2, [r0, r5]
- cmp r2, 0x3
- ble _0805FFE6
- ldr r0, _0805FFB0
- ldr r1, [r0]
- subs r0, r2, 0x4
- lsls r0, 2
- ldr r2, _0805FFB4
- adds r1, r2
- adds r1, r0
- ldr r4, [r1]
- b _0805FFE8
- .align 2, 0
-_0805FFA8: .4byte gUnknown_202F240
-_0805FFAC: .4byte gUnknown_203B460
-_0805FFB0: .4byte gUnknown_203B418
-_0805FFB4: .4byte 0x0001357c
-_0805FFB8: .4byte gUnknown_202F258
-_0805FFBC: .4byte gUnknown_202F248
-_0805FFC0: .4byte gUnknown_202EE10
-_0805FFC4:
- bl sub_8083D44
- mov r0, r10
- adds r0, 0x4
- bl sub_8060890
- movs r5, 0x3
- mov r9, r5
- b _08060200
-_0805FFD6:
- bl sub_8083D08
- ldr r0, [sp, 0xE0]
- adds r0, 0x44
- bl sub_8060CE8
- movs r0, 0
- b _080602F0
-_0805FFE6:
- mov r4, r10
-_0805FFE8:
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r0, r4, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
- ldr r6, _08060050
- adds r7, r6, 0
- adds r7, 0x2B
-_08060002:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldr r1, [sp, 0xD4]
- cmp r1, 0
- beq _08060016
- b _080601F4
-_08060016:
- ldr r4, _08060054
- ldr r0, [r4]
- cmp r0, 0x1
- ble _0806008C
- ldr r0, _08060058
- ldrh r1, [r0, 0x2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08060034
- adds r0, r6, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806005C
-_08060034:
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x1
- negs r2, r2
- add r8, r2
- mov r5, r8
- cmp r5, 0
- bge _0806007E
- ldr r0, [r4]
- subs r0, 0x1
- mov r8, r0
- b _0806007E
- .align 2, 0
-_08060050: .4byte gUnknown_202EE10
-_08060054: .4byte gUnknown_202F258
-_08060058: .4byte gUnknown_20255F0
-_0806005C:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0806006A
- ldrb r0, [r7]
- cmp r0, 0
- beq _0806008C
-_0806006A:
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x1
- add r8, r2
- ldr r0, [r4]
- cmp r8, r0
- bne _0806007E
- movs r5, 0
- mov r8, r5
-_0806007E:
- ldr r0, [sp, 0xD4]
- ldr r1, _08060088
- str r0, [r1]
- b _08060200
- .align 2, 0
-_08060088: .4byte gUnknown_202F240
-_0806008C:
- ldr r0, _08060134
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080600B2
- mov r0, r8
- bl sub_8060860
- lsls r0, 24
- cmp r0, 0
- beq _080600B2
- movs r0, 0x1
- bl sub_8083CE0
- ldr r0, _08060138
- movs r1, 0x1
- bl sub_80136E0
-_080600B2:
- ldr r0, _08060134
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080600D8
- mov r0, r8
- bl sub_8060860
- lsls r0, 24
- cmp r0, 0
- beq _080600D8
- movs r0, 0x1
- bl sub_8083CE0
- ldr r0, _08060138
- movs r1, 0x1
- bl sub_8013744
-_080600D8:
- ldr r0, _08060134
- ldrh r2, [r0, 0x2]
- movs r1, 0x4
- ands r1, r2
- adds r2, r0, 0
- cmp r1, 0
- beq _080601A0
- ldr r4, _0806013C
- mov r5, r8
- lsls r0, r5, 1
- adds r0, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bgt _080601A0
- movs r7, 0x1
- movs r0, 0x99
- lsls r0, 1
- bl sub_8083E38
- bl sub_8047158
- bl sub_80912C8
- movs r0, 0
- ldr r2, _08060140
- str r0, [r2]
- mov r5, r10
- str r5, [sp]
- add r0, sp, 0x68
- ldr r1, [sp, 0xD4]
- ldr r2, [sp, 0xD0]
- ldr r3, [sp, 0xDC]
- bl sub_8060D64
- adds r3, r0, 0
- ldr r0, _08060144
- ldr r0, [r0]
- cmp r0, r3
- bne _08060164
- movs r6, 0
- cmp r6, r3
- bge _0806015E
- add r2, sp, 0x68
- b _08060152
- .align 2, 0
-_08060134: .4byte gUnknown_20255F0
-_08060138: .4byte gUnknown_202EE10
-_0806013C: .4byte gUnknown_202F248
-_08060140: .4byte gUnknown_202F240
-_08060144: .4byte gUnknown_202F258
-_08060148:
- adds r4, 0x2
- adds r2, 0x2
- adds r6, 0x1
- cmp r6, r3
- bge _0806015E
-_08060152:
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r5, 0
- ldrsh r0, [r4, r5]
- cmp r1, r0
- beq _08060148
-_0806015E:
- cmp r6, r3
- bne _08060164
- movs r7, 0
-_08060164:
- cmp r7, 0
- beq _08060200
- movs r0, 0
- mov r8, r0
- ldr r1, _08060194
- str r0, [r1]
- ldr r0, _08060198
- str r3, [r0]
- movs r6, 0
- adds r5, r0, 0
- cmp r6, r3
- bge _08060200
- adds r3, r5, 0
- add r1, sp, 0x68
- ldr r2, _0806019C
-_08060182:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- adds r6, 0x1
- ldr r0, [r3]
- cmp r6, r0
- blt _08060182
- b _08060200
- .align 2, 0
-_08060194: .4byte gUnknown_202F240
-_08060198: .4byte gUnknown_202F258
-_0806019C: .4byte gUnknown_202F248
-_080601A0:
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080601B6
- ldr r2, _080601C8
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080601CC
-_080601B6:
- bl sub_8083D08
- mov r0, r10
- adds r0, 0x4
- bl sub_8060890
- movs r2, 0x1
- mov r9, r2
- b _08060200
- .align 2, 0
-_080601C8: .4byte gUnknown_202EE10
-_080601CC:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080601D6
- b _0805FFC4
-_080601D6:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080601EA
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080601EA
- b _08060002
-_080601EA:
- bl sub_8083D30
- movs r5, 0x2
- mov r9, r5
- b _08060200
-_080601F4:
- mov r0, r10
- adds r0, 0x4
- bl sub_8060890
- movs r0, 0x1
- mov r9, r0
-_08060200:
- ldr r4, _0806034C
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldr r1, _08060350
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0x1
- bgt _08060232
- ldr r0, _08060354
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08060232
- movs r0, 0x2
- mov r9, r0
-_08060232:
- mov r1, r9
- cmp r1, 0x2
- bne _0806023A
- b _0805FE50
-_0806023A:
- cmp r1, 0
- bne _08060240
- b _0805FEB0
-_08060240:
- cmp r1, 0x3
- bne _08060246
- b _0805FE5E
-_08060246:
- ldr r4, _0806034C
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- ldr r5, _08060358
- str r0, [r5]
- ldr r0, [sp, 0xD8]
- cmp r0, 0
- beq _08060258
- b _0805FE7C
-_08060258:
- mov r0, r10
- bl sub_8060900
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- add r0, sp, 0xC8
- bl sub_8060800
- add r0, sp, 0x8
- movs r1, 0x16
- bl sub_805FC30
- ldr r6, _0806035C
- adds r7, r4, 0
- adds r7, 0x2A
-_08060276:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806029A
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_0806029A:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080602B2
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_080602B2:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080602C6
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080602DA
-_080602C6:
- movs r5, 0x18
- ldrsh r0, [r4, r5]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _080602D6
- b _0805FFD6
-_080602D6:
- bl sub_8083D30
-_080602DA:
- ldrh r1, [r6, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080602EA
- ldrb r0, [r7]
- cmp r0, 0
- beq _08060276
-_080602EA:
- bl sub_8083D30
- movs r0, 0x1
-_080602F0:
- mov r9, r0
- ldr r0, _0806034C
- bl AddMenuCursorSprite
- movs r0, 0x14
- bl sub_803E46C
- ldr r0, _08060360
- ldr r0, [r0]
- ldr r1, _08060364
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- mov r2, r9
- cmp r2, 0x1
- bne _08060318
- ldr r5, [sp, 0xD4]
- cmp r5, 0
- bne _08060318
- b _0805FEB0
-_08060318:
- ldr r0, [sp, 0xE0]
- adds r0, 0x44
- ldrh r1, [r0]
- adds r0, r1, 0
- subs r0, 0x37
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08060330
- adds r0, r1, 0
- cmp r0, 0x3E
- bne _0806036C
-_08060330:
- ldr r0, _08060368
- ldrb r0, [r0]
- subs r0, 0x90
- ldr r1, [sp, 0xE0]
- adds r1, 0x48
- strb r0, [r1]
-_0806033C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0
- mov r9, r0
- b _0806039C
- .align 2, 0
-_0806034C: .4byte gUnknown_202EE10
-_08060350: .4byte gUnknown_202F248
-_08060354: .4byte gUnknown_203B460
-_08060358: .4byte gUnknown_202F240
-_0806035C: .4byte gUnknown_20255F0
-_08060360: .4byte gUnknown_203B418
-_08060364: .4byte 0x00018212
-_08060368: .4byte gUnknown_202F238
-_0806036C:
- cmp r0, 0x36
- bne _08060390
- add r0, sp, 0xCC
- movs r1, 0x2
- bl sub_8062978
- add r1, sp, 0xCC
- cmp r0, 0
- beq _08060380
- b _0805FE9C
-_08060380:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x1
- bl sub_8044C10
- b _0805FEB0
-_08060390:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r1, 0
- mov r9, r1
-_0806039C:
- ldr r0, _080603D0
- ldr r0, [r0]
- ldr r2, _080603D4
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x2
- movs r1, 0x61
- bl sub_803E708
- bl sub_804AA60
- movs r0, 0x2
- movs r1, 0x61
- bl sub_803E708
- mov r0, r9
-_080603BE:
- add sp, 0xE4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080603D0: .4byte gUnknown_203B418
-_080603D4: .4byte 0x00018212
- thumb_func_end sub_805FD74
-
- thumb_func_start sub_80603D8
-sub_80603D8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x78
- adds r7, r0, 0
- mov r9, r1
- ldr r6, [sp, 0x98]
- ldr r0, [sp, 0x9C]
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x6C]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x70]
- add r1, sp, 0x4
- ldr r0, _08060478
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, r9
- ldr r0, [r0, 0x70]
- str r0, [sp, 0x74]
- mov r0, r8
- adds r1, r7, 0
- bl sub_8060800
- mov r10, r0
- ldr r5, _0806047C
- ldr r0, _08060480
- ldr r0, [r0]
- movs r4, 0
- movs r1, 0
- strh r0, [r5, 0x18]
- strh r1, [r5, 0x1A]
- strh r7, [r5, 0x1E]
- ldr r0, _08060484
- ldr r0, [r0]
- strh r0, [r5, 0x20]
- strh r1, [r5, 0x4]
- str r1, [r5]
- strh r1, [r5, 0x14]
- adds r0, r5, 0
- adds r0, 0x28
- bl sub_801317C
- ldr r3, _08060488
- ldr r0, [r3]
- ldr r2, _0806048C
- adds r0, r2
- strb r4, [r0]
- ldr r1, _08060490
- lsls r0, r7, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- beq _08060494
- cmp r0, 0x2
- bgt _080604AA
- cmp r0, 0
- blt _080604AA
- movs r1, 0x10
- strh r1, [r6, 0x10]
- strh r1, [r6, 0xE]
- movs r0, 0xC
- mov r4, r8
- strb r0, [r4, 0x2]
- strh r1, [r5, 0x6]
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r0, [r3]
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _080604C0
- .align 2, 0
-_08060478: .4byte gUnknown_8106B6C
-_0806047C: .4byte gUnknown_202EE10
-_08060480: .4byte gUnknown_202F240
-_08060484: .4byte gUnknown_202F258
-_08060488: .4byte gUnknown_203B418
-_0806048C: .4byte 0x00018212
-_08060490: .4byte gUnknown_202F248
-_08060494:
- movs r0, 0x4
- strh r0, [r6, 0x10]
- strh r0, [r6, 0xE]
- movs r0, 0x6
- mov r1, r8
- strb r0, [r1, 0x2]
- movs r0, 0x12
- strh r0, [r5, 0x6]
- movs r0, 0x1
- strh r0, [r5, 0x1C]
- b _080604C0
-_080604AA:
- movs r0, 0x4
- strh r0, [r6, 0x10]
- strh r0, [r6, 0xE]
- movs r0, 0xC
- mov r2, r8
- strb r0, [r2, 0x2]
- ldr r1, _080604DC
- movs r0, 0x12
- strh r0, [r1, 0x6]
- movs r0, 0x1
- strh r0, [r1, 0x1C]
-_080604C0:
- ldr r3, [sp, 0x6C]
- cmp r3, 0
- beq _080604E0
- ldr r1, _080604DC
- ldrh r0, [r1, 0xC]
- adds r0, 0x40
- strh r0, [r1, 0xC]
- movs r0, 0xA
- strh r0, [r6, 0x8]
- adds r1, r6, 0
- adds r1, 0x18
- add r0, sp, 0x4
- b _080604EC
- .align 2, 0
-_080604DC: .4byte gUnknown_202EE10
-_080604E0:
- movs r0, 0x2
- strh r0, [r6, 0x8]
- adds r1, r6, 0
- adds r1, 0x18
- adds r0, r6, 0
- adds r0, 0x48
-_080604EC:
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_803ECB4
- ldr r1, _0806054C
- ldr r5, _08060550
- movs r4, 0
- ldrsh r0, [r1, r4]
- adds r0, 0x10
- lsls r0, 3
- movs r2, 0
- mov r8, r2
- strh r0, [r5, 0xC]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r5, 0xE]
- adds r0, r5, 0
- movs r1, 0x70
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- mov r4, r10
- subs r0, r7, r4
- lsls r0, 3
- adds r6, r0, 0
- adds r6, 0xC
- ldr r0, _08060554
- lsls r1, r7, 1
- adds r0, r1, r0
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x1
- beq _080605CC
- cmp r0, 0x1
- bgt _08060558
- cmp r0, 0
- beq _08060564
- b _08060718
- .align 2, 0
-_0806054C: .4byte gUnknown_2027370
-_08060550: .4byte gUnknown_202EE10
-_08060554: .4byte gUnknown_202F248
-_08060558:
- cmp r0, 0x2
- beq _0806063C
- cmp r0, 0x3
- bne _08060562
- b _080606B0
-_08060562:
- b _08060718
-_08060564:
- ldr r0, _080605C0
- ldr r2, [r0]
- mov r3, r8
- str r3, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- movs r4, 0
- adds r6, r5, 0
- movs r7, 0
- add r5, sp, 0x1C
-_0806057E:
- lsls r1, r4, 2
- ldr r0, _080605C4
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08060592
- b _08060794
-_08060592:
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- adds r0, r5, 0
- adds r1, r2, 0
- ldr r2, _080605C8
- bl sub_8090E14
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- str r7, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0
- bl sub_8014FF0
- adds r4, 0x1
- cmp r4, 0x9
- ble _0806057E
- b _08060794
- .align 2, 0
-_080605C0: .4byte gUnknown_80FE90C
-_080605C4: .4byte gUnknown_203B460
-_080605C8: .4byte gUnknown_8106B60
-_080605CC:
- ldr r0, _08060630
- ldr r2, [r0]
- mov r4, r8
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- movs r4, 0
- adds r6, r5, 0
- movs r7, 0
- add r5, sp, 0x1C
-_080605E6:
- lsls r3, r4, 2
- ldr r0, _08060634
- ldr r2, [r0]
- adds r0, r3, r2
- adds r0, 0x28
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080605FC
- b _08060794
-_080605FC:
- ldrh r0, [r6, 0x1A]
- adds r0, 0x1
- strh r0, [r6, 0x1A]
- adds r1, r3, 0
- adds r1, 0x28
- adds r1, r2, r1
- adds r0, r5, 0
- ldr r2, _08060638
- bl sub_8090E14
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- str r7, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0
- bl sub_8014FF0
- adds r4, 0x1
- cmp r4, 0x9
- ble _080605E6
- b _08060794
- .align 2, 0
-_08060630: .4byte gUnknown_80FE920
-_08060634: .4byte gUnknown_203B460
-_08060638: .4byte gUnknown_8106B60
-_0806063C:
- mov r1, r9
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- bl sub_804954C
- ldr r0, [r0, 0x14]
- bl sub_8045108
- adds r7, r0, 0
- ldr r0, _080606A8
- ldr r2, [r0]
- mov r4, r8
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060698
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- strh r0, [r5, 0x1A]
- add r4, sp, 0x1C
- ldr r2, _080606AC
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_8090E14
- adds r0, r5, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- adds r2, r4, 0
- movs r3, 0
- bl sub_8014FF0
-_08060698:
- ldr r1, [sp, 0x70]
- cmp r1, 0
- beq _08060794
- mov r2, r8
- strh r2, [r5, 0xA]
- strh r2, [r5, 0x8]
- b _08060794
- .align 2, 0
-_080606A8: .4byte gUnknown_80FE92C
-_080606AC: .4byte gUnknown_8106B60
-_080606B0:
- mov r3, r9
- ldr r0, [r3, 0x70]
- adds r7, r0, 0
- adds r7, 0x60
- ldr r0, _0806070C
- ldr r1, [sp, 0x74]
- movs r2, 0
- bl sub_80708B4
- ldr r0, _08060710
- ldr r2, [r0]
- mov r4, r8
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060794
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- strh r0, [r5, 0x1A]
- add r4, sp, 0x1C
- ldr r2, _08060714
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_8090E14
- adds r0, r5, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- adds r2, r4, 0
- movs r3, 0
- bl sub_8014FF0
- b _08060794
- .align 2, 0
-_0806070C: .4byte gUnknown_202DF98
-_08060710: .4byte gUnknown_80FE940
-_08060714: .4byte gUnknown_8106B60
-_08060718:
- ldr r0, _080607E0
- ldr r1, [r0]
- ldr r0, _080607E4
- adds r0, r2, r0
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r0, 0x4
- lsls r0, 2
- ldr r3, _080607E8
- adds r1, r3
- adds r1, r0
- ldr r4, [r1]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08060794
- ldr r1, [r4, 0x70]
- adds r7, r1, 0
- adds r7, 0x60
- ldr r0, _080607EC
- movs r2, 0
- bl sub_80708B4
- ldr r0, _080607F0
- ldr r2, [r0]
- movs r4, 0
- mov r8, r4
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060794
- ldr r4, _080607F4
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- add r5, sp, 0x1C
- ldr r2, _080607F8
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8090E14
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- mov r0, r8
- str r0, [sp]
- movs r0, 0x8
- adds r2, r5, 0
- movs r3, 0
- bl sub_8014FF0
-_08060794:
- ldr r2, _080607F4
- movs r3, 0x18
- ldrsh r1, [r2, r3]
- movs r4, 0x1A
- ldrsh r0, [r2, r4]
- cmp r1, r0
- blt _080607A6
- movs r0, 0
- strh r0, [r2, 0x18]
-_080607A6:
- movs r0, 0
- bl sub_80073E0
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _080607D0
- movs r0, 0x1
- bl sub_80073B8
- ldr r0, _080607FC
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0x2
- movs r3, 0x1
- bl sub_8014FF0
- movs r0, 0x1
- bl sub_80073E0
-_080607D0:
- add sp, 0x78
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080607E0: .4byte gUnknown_203B418
-_080607E4: .4byte gUnknown_202F248
-_080607E8: .4byte 0x0001357c
-_080607EC: .4byte gUnknown_202DF98
-_080607F0: .4byte gUnknown_80FE940
-_080607F4: .4byte gUnknown_202EE10
-_080607F8: .4byte gUnknown_8106B60
-_080607FC: .4byte gUnknown_80FE94C
- thumb_func_end sub_80603D8
-
- thumb_func_start sub_8060800
-sub_8060800:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- ldr r0, _0806083C
- ldr r2, [r0]
- mov r12, r0
- ldr r6, _08060840
- cmp r1, r2
- bge _08060828
- adds r3, r6, 0
-_08060816:
- movs r7, 0
- ldrsh r0, [r3, r7]
- cmp r0, 0x1
- bgt _08060820
- adds r1, 0x1
-_08060820:
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _08060816
-_08060828:
- lsls r0, r4, 1
- adds r0, r6
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- bgt _08060844
- adds r3, r4, 0
- adds r2, r1, 0
- movs r1, 0
- b _0806084C
- .align 2, 0
-_0806083C: .4byte gUnknown_202F258
-_08060840: .4byte gUnknown_202F248
-_08060844:
- subs r3, r4, r1
- mov r7, r12
- ldr r0, [r7]
- subs r2, r0, r1
-_0806084C:
- cmp r5, 0
- beq _08060858
- movs r0, 0
- strb r2, [r5]
- strb r3, [r5, 0x1]
- strb r0, [r5, 0x3]
-_08060858:
- adds r0, r1, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8060800
-
- thumb_func_start sub_8060860
-sub_8060860:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08060880
- movs r2, 0x1A
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- ble _0806087C
- ldr r0, _08060884
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- ble _08060888
-_0806087C:
- movs r0, 0
- b _0806088A
- .align 2, 0
-_08060880: .4byte gUnknown_202EE10
-_08060884: .4byte gUnknown_202F248
-_08060888:
- movs r0, 0x1
-_0806088A:
- pop {r1}
- bx r1
- thumb_func_end sub_8060860
-
- thumb_func_start sub_8060890
-sub_8060890:
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, _080608B4
- ldr r2, _080608B8
- movs r4, 0x1E
- ldrsh r0, [r2, r4]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080608D0
- cmp r0, 0x1
- bgt _080608BC
- cmp r0, 0
- beq _080608C2
- b _080608E8
- .align 2, 0
-_080608B4: .4byte gUnknown_202F248
-_080608B8: .4byte gUnknown_202EE10
-_080608BC:
- cmp r0, 0x2
- beq _080608DC
- b _080608E8
-_080608C2:
- ldr r1, _080608CC
- ldrb r0, [r2, 0x18]
- adds r0, 0x1
- b _080608EC
- .align 2, 0
-_080608CC: .4byte gUnknown_202F238
-_080608D0:
- ldr r1, _080608D8
- ldrb r0, [r2, 0x18]
- adds r0, 0xB
- b _080608EC
- .align 2, 0
-_080608D8: .4byte gUnknown_202F238
-_080608DC:
- ldr r1, _080608E4
- movs r0, 0x80
- b _080608EC
- .align 2, 0
-_080608E4: .4byte gUnknown_202F238
-_080608E8:
- ldr r1, _080608FC
- subs r0, 0x74
-_080608EC:
- strb r0, [r1]
- ldrh r0, [r3]
- strh r0, [r1, 0x4]
- ldrh r0, [r3, 0x2]
- strh r0, [r1, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080608FC: .4byte gUnknown_202F238
- thumb_func_end sub_8060890
-
- thumb_func_start sub_8060900
-sub_8060900:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- ldr r4, _08060964
- adds r1, r4, 0
- movs r2, 0xA
- bl sub_8044CC8
- adds r7, r0, 0
- mov r0, r9
- ldr r0, [r0, 0x70]
- mov r10, r0
- ldr r1, _08060968
- movs r0, 0
- str r0, [r1]
- ldrb r0, [r4]
- cmp r0, 0x8F
- bls _0806092C
- b _08060BD0
-_0806092C:
- cmp r0, 0x80
- bne _080609B0
- ldrb r1, [r7, 0x2]
- movs r0, 0x9
- bl sub_8044F5C
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08060992
- movs r2, 0
- ldr r0, _0806096C
- ldr r0, [r0]
- ldr r1, _08060970
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060978
- ldr r0, _08060974
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r0, [r0]
- movs r2, 0x1
- ands r2, r0
- b _08060988
- .align 2, 0
-_08060964: .4byte gUnknown_202F238
-_08060968: .4byte gUnknown_202EE6C
-_0806096C: .4byte gUnknown_203B418
-_08060970: .4byte 0x0000065b
-_08060974: .4byte gUnknown_203B460
-_08060978:
- mov r0, r10
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060988
- movs r2, 0x1
-_08060988:
- cmp r2, 0
- beq _08060992
- movs r0, 0x9
- bl sub_8044FF0
-_08060992:
- ldr r0, _08060A20
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _080609B0
- ldr r0, _08060A24
- ldr r0, [r0]
- ldr r2, _08060A28
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080609B0
- ldrb r1, [r7, 0x2]
- movs r0, 0xA
- bl sub_8044F5C
-_080609B0:
- adds r0, r7, 0
- bl sub_8044DC8
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080609E8
- ldrb r1, [r7, 0x2]
- adds r0, r4, 0
- bl sub_8044F5C
- ldrb r1, [r7]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080609D6
- adds r0, r4, 0
- bl sub_8044FF0
-_080609D6:
- adds r0, r7, 0
- bl sub_8046F00
- lsls r0, 24
- cmp r0, 0
- bne _080609E8
- adds r0, r4, 0
- bl sub_8044FF0
-_080609E8:
- ldr r0, _08060A20
- ldrb r0, [r0]
- cmp r0, 0x14
- bhi _08060A6C
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _08060A0A
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08060A6C
-_08060A0A:
- ldrb r1, [r7]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08060A3A
- ldrb r1, [r7, 0x2]
- movs r0, 0x3D
- bl sub_8044F5C
- b _08060A42
- .align 2, 0
-_08060A20: .4byte gUnknown_202F238
-_08060A24: .4byte gUnknown_203B418
-_08060A28: .4byte 0x0000065b
-_08060A2C:
- movs r0, 0x3C
- bl sub_8044FF0
- movs r0, 0x3D
- bl sub_8044FF0
- b _08060A6C
-_08060A3A:
- ldrb r1, [r7, 0x2]
- movs r0, 0x3C
- bl sub_8044F5C
-_08060A42:
- movs r3, 0
- ldr r0, _08060AD4
- ldr r2, [r0]
- movs r4, 0x1
-_08060A4A:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08060A64
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08060A64
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08060A2C
-_08060A64:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _08060A4A
-_08060A6C:
- ldr r0, _08060AD8
- ldrb r0, [r0]
- cmp r0, 0x81
- beq _08060AE8
- cmp r0, 0x80
- beq _08060B3C
- movs r3, 0
- mov r8, r3
- ldrb r1, [r7, 0x2]
- movs r0, 0x36
- bl sub_8044F5C
- movs r6, 0
-_08060A86:
- ldr r0, _08060ADC
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08060AE0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08060ABE
- ldr r0, [r4, 0x70]
- ldr r3, _08060AE4
- adds r5, r0, r3
- movs r0, 0
- strb r0, [r5]
- adds r0, r4, 0
- bl sub_8070C60
- lsls r0, 24
- cmp r0, 0
- bne _08060ABE
- movs r0, 0x1
- mov r8, r0
- mov r1, r8
- strb r1, [r5]
-_08060ABE:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08060A86
- mov r2, r8
- cmp r2, 0
- bne _08060B3C
- movs r0, 0x36
- bl sub_8044FF0
- b _08060B3C
- .align 2, 0
-_08060AD4: .4byte gUnknown_203B460
-_08060AD8: .4byte gUnknown_202F238
-_08060ADC: .4byte gUnknown_203B418
-_08060AE0: .4byte 0x0001357c
-_08060AE4: .4byte 0x00000157
-_08060AE8:
- ldr r0, _08060B10
- ldr r0, [r0]
- ldr r3, _08060B14
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060B3C
- ldr r0, _08060B18
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060B1C
- ldrb r1, [r7, 0x2]
- movs r0, 0x3E
- bl sub_8044F5C
- b _08060B24
- .align 2, 0
-_08060B10: .4byte gUnknown_203B418
-_08060B14: .4byte 0x0000065b
-_08060B18: .4byte gUnknown_203B460
-_08060B1C:
- ldrb r1, [r7, 0x2]
- movs r0, 0x37
- bl sub_8044F5C
-_08060B24:
- mov r0, r9
- bl sub_8070C60
- lsls r0, 24
- cmp r0, 0
- beq _08060B3C
- movs r0, 0x37
- bl sub_8044FF0
- movs r0, 0x3E
- bl sub_8044FF0
-_08060B3C:
- ldr r0, _08060B64
- ldrb r0, [r0]
- cmp r0, 0x14
- bhi _08060B78
- mov r1, r9
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- bl sub_804954C
- ldr r0, [r0, 0x14]
- cmp r0, 0
- bne _08060B68
- ldrb r1, [r7, 0x2]
- movs r0, 0x8
- bl sub_8044F5C
- b _08060B78
- .align 2, 0
-_08060B64: .4byte gUnknown_202F238
-_08060B68:
- bl sub_80450F8
- cmp r0, 0x3
- bne _08060B78
- ldrb r1, [r7, 0x2]
- movs r0, 0x3A
- bl sub_8044F5C
-_08060B78:
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- bne _08060B8E
- ldrb r1, [r7, 0x2]
- movs r0, 0x27
- bl sub_8044F5C
- b _08060BAE
-_08060B8E:
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08060BA6
- ldrb r1, [r7, 0x2]
- movs r0, 0x41
- bl sub_8044F5C
- b _08060BAE
-_08060BA6:
- ldrb r1, [r7, 0x2]
- movs r0, 0xB
- bl sub_8044F5C
-_08060BAE:
- mov r0, r10
- bl sub_8071A70
- lsls r0, 24
- cmp r0, 0
- beq _08060BBC
- b _08060CCC
-_08060BBC:
- movs r0, 0x27
- bl sub_8044FF0
- movs r0, 0x41
- bl sub_8044FF0
- movs r0, 0xB
- bl sub_8044FF0
- b _08060CCC
-_08060BD0:
- ldrb r1, [r4]
- subs r1, 0x90
- ldr r0, _08060C50
- mov r9, r0
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _08060C54
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08060CCC
- ldr r3, [r4, 0x70]
- mov r8, r3
- movs r5, 0
- adds r0, r4, 0
- bl sub_8070C60
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r6, r1, 31
- ldr r0, _08060C58
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r0, [r0]
- movs r4, 0x1
- ands r4, r0
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08060C22
- movs r5, 0x1
-_08060C22:
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _08060C32
- movs r5, 0x1
-_08060C32:
- mov r1, r9
- ldr r0, [r1]
- ldr r2, _08060C5C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060C78
- cmp r4, 0
- beq _08060C60
- ldrb r1, [r7, 0x2]
- movs r0, 0x3E
- bl sub_8044F5C
- b _08060C68
- .align 2, 0
-_08060C50: .4byte gUnknown_203B418
-_08060C54: .4byte 0x0001357c
-_08060C58: .4byte gUnknown_203B460
-_08060C5C: .4byte 0x0000065b
-_08060C60:
- ldrb r1, [r7, 0x2]
- movs r0, 0x37
- bl sub_8044F5C
-_08060C68:
- cmp r6, 0
- beq _08060C78
- movs r0, 0x37
- bl sub_8044FF0
- movs r0, 0x3E
- bl sub_8044FF0
-_08060C78:
- mov r3, r8
- ldrb r0, [r3, 0x7]
- cmp r0, 0
- beq _08060CBA
- adds r0, r7, 0
- bl sub_8044DC8
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08060CCC
- ldrb r1, [r7, 0x2]
- adds r0, r4, 0
- bl sub_8044F5C
- ldrb r1, [r7]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08060CA6
- adds r0, r4, 0
- bl sub_8044FF0
-_08060CA6:
- adds r0, r7, 0
- bl sub_8046F00
- lsls r0, 24
- cmp r0, 0
- bne _08060CCC
- adds r0, r4, 0
- bl sub_8044FF0
- b _08060CCC
-_08060CBA:
- ldrb r1, [r7, 0x2]
- movs r0, 0x38
- bl sub_8044F5C
- cmp r5, 0
- beq _08060CCC
- movs r0, 0x38
- bl sub_8044FF0
-_08060CCC:
- ldrb r1, [r7, 0x2]
- movs r0, 0xC
- bl sub_8044F5C
- bl sub_8045064
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8060900
-
- thumb_func_start sub_8060CE8
-sub_8060CE8:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08060D18
- ldr r0, _08060D1C
- movs r2, 0x18
- ldrsh r0, [r0, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_8044C94
- ldr r0, _08060D20
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r4, 0x4]
- str r1, [r4, 0x8]
- movs r0, 0
- strb r0, [r4, 0xC]
- strh r0, [r4, 0x10]
- strh r0, [r4, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08060D18: .4byte gUnknown_202EE44
-_08060D1C: .4byte gUnknown_202EE10
-_08060D20: .4byte gUnknown_202F238
- thumb_func_end sub_8060CE8
-
- thumb_func_start sub_8060D24
-sub_8060D24:
- push {r4,lr}
- bl sub_8083600
- movs r1, 0
- movs r2, 0xB
- bl sub_8044D90
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- bl sub_803ECB4
- adds r0, r4, 0
- bl sub_801B3C0
-_08060D42:
- movs r0, 0x16
- bl sub_803E46C
- bl sub_801B410
- cmp r0, 0
- beq _08060D42
- bl sub_801B450
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8060D24
-
- thumb_func_start sub_8060D64
-sub_8060D64:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r7, 0
- ldr r0, _08060E28
- ldr r0, [r0]
- ldr r1, _08060E2C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08060DB8
- cmp r6, 0
- bne _08060DB8
- ldr r5, _08060E30
- ldr r0, [r5]
- ldrb r1, [r0]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08060DA2
- strh r7, [r4]
- movs r7, 0x1
-_08060DA2:
- ldr r0, [r5]
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08060DB8
- lsls r0, r7, 1
- adds r0, r4
- strh r3, [r0]
- adds r7, 0x1
-_08060DB8:
- cmp r2, 0
- beq _08060DD4
- ldr r0, [sp, 0x18]
- adds r0, 0x4
- bl sub_804ACE4
- lsls r0, 24
- cmp r0, 0
- beq _08060DD4
- lsls r0, r7, 1
- adds r0, r4
- movs r1, 0x2
- strh r1, [r0]
- adds r7, 0x1
-_08060DD4:
- cmp r6, 0
- bne _08060E1A
- mov r2, r8
- cmp r2, 0
- bne _08060E1A
- movs r5, 0
- lsls r0, r7, 1
- adds r6, r0, r4
-_08060DE4:
- ldr r0, _08060E28
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08060E34
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08060E14
- ldr r0, [r4, 0x70]
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08060E14
- adds r0, r5, 0x4
- strh r0, [r6]
- adds r6, 0x2
- adds r7, 0x1
-_08060E14:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08060DE4
-_08060E1A:
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08060E28: .4byte gUnknown_203B418
-_08060E2C: .4byte 0x0000065b
-_08060E30: .4byte gUnknown_203B460
-_08060E34: .4byte 0x0001357c
- thumb_func_end sub_8060D64
-
- thumb_func_start sub_8060E38
-sub_8060E38:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x7C
- str r0, [sp, 0x78]
- add r4, sp, 0x18
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [r4, 0x4]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- movs r0, 0xE
- strh r0, [r4, 0xC]
- movs r0, 0x10
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- ldr r0, _08061018
- str r0, [r4, 0x14]
- movs r0, 0x3
- str r0, [r4, 0x1C]
- str r0, [r4, 0x34]
- str r0, [r4, 0x4C]
- movs r5, 0
- mov r9, r4
- add r0, sp, 0x4
- mov r8, r0
-_08060E7A:
- ldr r6, _0806101C
- ldr r0, [r6]
- lsls r1, r5, 2
- ldr r2, _08061020
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08060E9E
- ldr r0, [r4, 0x70]
- ldr r2, _08061024
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
-_08060E9E:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08060E7A
- ldr r0, [r6]
- ldr r1, _08061028
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08060EBC
- movs r0, 0x3
- mov r2, r9
- str r0, [r2, 0x4]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
-_08060EBC:
- ldr r6, _0806102C
-_08060EBE:
- movs r7, 0
- mov r0, sp
- mov r1, r9
- movs r2, 0x1
- bl sub_8061130
- movs r0, 0
- mov r10, r0
-_08060ECE:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- lsls r0, 2
- add r0, r8
- ldr r1, [r0]
- cmp r1, 0
- blt _08060F00
- ldr r0, _0806101C
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _08061020
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r4, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08060F00:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldr r4, _08061030
- ldrh r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08060F26
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_08060F26:
- ldrh r1, [r4, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08060F3E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08060F3E:
- ldrh r1, [r4, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08060F5A
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- add r1, sp, 0x14
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08061046
- bl sub_8083D30
-_08060F5A:
- ldrh r1, [r4, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08060F6C
- ldr r2, _08061034
- ldrb r0, [r2]
- cmp r0, 0
- beq _08060F7E
-_08060F6C:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- add r1, sp, 0x14
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08061040
- bl sub_8083D30
-_08060F7E:
- ldr r0, _08061030
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08060F92
- ldr r2, _08061038
- ldrb r0, [r2]
- cmp r0, 0
- beq _08060ECE
-_08060F92:
- bl sub_8083D30
- movs r7, 0x1
-_08060F98:
- ldr r5, _0806102C
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r0, 2
- add r0, r8
- ldr r1, [r0]
- cmp r1, 0
- blt _08060FCC
- ldr r0, _0806101C
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _08061020
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r4, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08060FCC:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- bl sub_804AA60
- cmp r7, 0
- beq _08060FE2
- b _0806110C
-_08060FE2:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- str r0, [sp]
- ldr r1, _0806103C
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- str r0, [r1]
- mov r0, sp
- bl sub_806145C
- mov r0, r10
- cmp r0, 0
- beq _08061064
- ldr r1, [sp, 0x78]
- ldr r4, [r1, 0x70]
- adds r0, r4, 0
- adds r0, 0x44
- movs r1, 0x1B
- bl sub_8044C94
- ldr r0, [sp]
- lsls r0, 2
- add r0, r8
- ldr r0, [r0]
- adds r4, 0x48
- strb r0, [r4]
- b _08061116
- .align 2, 0
-_08061018: .4byte gUnknown_202F270
-_0806101C: .4byte gUnknown_203B418
-_08061020: .4byte 0x0001357c
-_08061024: .4byte 0x00000157
-_08061028: .4byte 0x0000065b
-_0806102C: .4byte gUnknown_202EE10
-_08061030: .4byte gUnknown_20255F0
-_08061034: .4byte gUnknown_202EE39
-_08061038: .4byte gUnknown_202EE3A
-_0806103C: .4byte gUnknown_202F260
-_08061040:
- bl sub_8083D08
- b _08060F98
-_08061046:
- bl sub_8083D44
- movs r2, 0x1
- mov r10, r2
- b _08060F98
-_08061050:
- ldr r1, [sp, 0x78]
- ldr r0, [r1, 0x70]
- adds r0, 0x44
- mov r1, sp
- bl sub_80615B4
- bl sub_8083D08
- movs r4, 0
- b _080610EA
-_08061064:
- mov r0, r9
- movs r1, 0x12
- bl sub_805FC30
- adds r4, r5, 0
- ldr r5, _08061100
- adds r7, r4, 0
- adds r7, 0x2A
-_08061074:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061098
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08061098:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080610B0
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_080610B0:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080610C2
- ldr r2, _08061104
- ldrb r0, [r2]
- cmp r0, 0
- beq _080610D4
-_080610C2:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _08061050
- bl sub_8083D30
-_080610D4:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080610E4
- ldrb r0, [r7]
- cmp r0, 0
- beq _08061074
-_080610E4:
- bl sub_8083D30
- movs r4, 0x1
-_080610EA:
- ldr r0, _08061108
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- cmp r4, 0x1
- bne _080610FC
- b _08060EBE
-_080610FC:
- movs r7, 0
- b _08061116
- .align 2, 0
-_08061100: .4byte gUnknown_20255F0
-_08061104: .4byte gUnknown_202EE39
-_08061108: .4byte gUnknown_202EE10
-_0806110C:
- bl sub_8083600
- movs r1, 0
- bl sub_806A2BC
-_08061116:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- adds r0, r7, 0
- add sp, 0x7C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8060E38
-
- thumb_func_start sub_8061130
-sub_8061130:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r0
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x8]
- movs r7, 0
- movs r1, 0
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, 0x6
- bne _08061154
- movs r1, 0x1
-_08061154:
- mov r10, r1
- bl sub_8083600
- adds r1, r0, 0
- add r0, sp, 0x4
- bl sub_8069D18
- movs r6, 0
-_08061164:
- ldr r0, _08061318
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, _0806131C
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080611AC
- lsls r1, r7, 2
- mov r0, r9
- adds r0, 0x4
- adds r0, r1
- str r6, [r0]
- ldr r0, [r4, 0x70]
- mov r1, r9
- adds r1, 0x14
- adds r1, r7
- ldr r5, _08061320
- adds r0, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r1, [sp, 0x4]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- bne _080611AA
- ldr r1, _08061324
- ldr r0, [r1]
- cmp r0, 0
- bge _080611AA
- str r7, [r1]
-_080611AA:
- adds r7, 0x1
-_080611AC:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08061164
- ldr r0, _08061324
- ldr r1, [r0]
- adds r5, r0, 0
- cmp r1, r7
- blt _080611C0
- subs r0, r7, 0x1
- str r0, [r5]
-_080611C0:
- ldr r0, [r5]
- cmp r0, 0
- bge _080611CA
- movs r0, 0
- str r0, [r5]
-_080611CA:
- adds r6, r7, 0
- mov r0, r10
- negs r3, r0
- cmp r7, 0x3
- bgt _080611F4
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- mov r2, r9
- adds r2, 0x14
- movs r4, 0
- lsls r0, r7, 2
- adds r1, r0, 0x4
- add r1, r9
-_080611E6:
- mov r0, r12
- stm r1!, {r0}
- adds r0, r2, r6
- strb r4, [r0]
- adds r6, 0x1
- cmp r6, 0x3
- ble _080611E6
-_080611F4:
- ldr r1, _08061328
- movs r4, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r0, _0806132C
- ldr r1, [r5]
- strh r1, [r0, 0x18]
- strh r7, [r0, 0x1A]
- strh r7, [r0, 0x1C]
- strh r4, [r0, 0x1E]
- strh r4, [r0, 0x20]
- strh r4, [r0, 0x4]
- mov r1, r10
- orrs r3, r1
- asrs r1, r3, 31
- movs r2, 0x10
- ands r1, r2
- strh r1, [r0, 0x6]
- strh r4, [r0, 0xC]
- strh r4, [r0, 0xE]
- strh r4, [r0, 0x14]
- str r4, [r0]
- adds r0, 0x28
- bl sub_801317C
- adds r0, r7, 0
- movs r1, 0
- bl sub_80095E4
- mov r2, r10
- cmp r2, 0
- beq _0806123A
- adds r0, 0x2
-_0806123A:
- mov r3, r8
- strh r0, [r3, 0x10]
- strh r0, [r3, 0xE]
- movs r0, 0x8
- ldr r5, _08061328
- strb r0, [r5, 0x2]
- ldr r0, [sp, 0x8]
- cmp r0, 0
- beq _0806125C
- mov r1, r8
- adds r1, 0x18
- mov r0, r8
- adds r0, 0x48
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_0806125C:
- mov r0, r8
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, _0806132C
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- mov r0, r10
- cmp r0, 0
- beq _08061286
- ldr r2, _08061330
- str r4, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
-_08061286:
- movs r6, 0
- cmp r6, r7
- blt _0806128E
- b _08061440
-_0806128E:
- lsls r1, r6, 2
- mov r0, r9
- adds r0, 0x4
- adds r0, r1
- ldr r1, [r0]
- cmp r1, 0
- bge _0806129E
- b _08061438
-_0806129E:
- ldr r0, _08061318
- ldr r0, [r0]
- lsls r1, 2
- ldr r2, _0806131C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080612BA
- b _08061438
-_080612BA:
- ldr r5, [r4, 0x70]
- mov r0, r9
- adds r0, 0x14
- adds r0, r6
- ldrb r0, [r0]
- movs r2, 0x2
- cmp r0, 0
- beq _080612CC
- movs r2, 0x6
-_080612CC:
- ldr r4, _08061334
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8070968
- ldr r0, _08061338
- ldr r1, [r0]
- ldrb r2, [r5, 0xA]
- movs r0, 0x64
- muls r0, r2
- adds r1, r0
- ldr r3, _0806133C
- adds r1, r3
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_806A538
- lsls r0, 24
- cmp r0, 0
- beq _08061388
- movs r3, 0x10
- ldrsh r2, [r5, r3]
- adds r1, r2, 0
- cmp r2, 0
- bge _08061300
- adds r1, r2, 0x3
-_08061300:
- movs r3, 0xE
- ldrsh r0, [r5, r3]
- asrs r1, 2
- cmp r0, r1
- bgt _08061344
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _08061340
- bl strcpy
- b _080613EE
- .align 2, 0
-_08061318: .4byte gUnknown_203B418
-_0806131C: .4byte 0x0001357c
-_08061320: .4byte 0x00000157
-_08061324: .4byte gUnknown_202F260
-_08061328: .4byte gUnknown_202F270
-_0806132C: .4byte gUnknown_202EE10
-_08061330: .4byte gUnknown_8106BB0
-_08061334: .4byte gUnknown_202DF98
-_08061338: .4byte gUnknown_203B45C
-_0806133C: .4byte 0x00008e02
-_08061340: .4byte gUnknown_8106BB4
-_08061344:
- movs r0, 0xE
- ldrsh r3, [r5, r0]
- lsls r0, r1, 1
- cmp r3, r0
- bgt _08061360
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _0806135C
- bl strcpy
- b _080613EE
- .align 2, 0
-_0806135C: .4byte gUnknown_8106BB8
-_08061360:
- adds r0, r1
- cmp r3, r0
- bgt _08061378
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _08061374
- bl strcpy
- b _080613EE
- .align 2, 0
-_08061374: .4byte gUnknown_8106BBC
-_08061378:
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _08061384
- bl strcpy
- b _080613EE
- .align 2, 0
-_08061384: .4byte gUnknown_8106BC0
-_08061388:
- movs r1, 0x10
- ldrsh r2, [r5, r1]
- adds r1, r2, 0
- cmp r2, 0
- bge _08061394
- adds r1, r2, 0x3
-_08061394:
- movs r3, 0xE
- ldrsh r0, [r5, r3]
- asrs r1, 2
- cmp r0, r1
- bgt _080613B0
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _080613AC
- bl strcpy
- b _080613EE
- .align 2, 0
-_080613AC: .4byte gUnknown_8106BC4
-_080613B0:
- movs r0, 0xE
- ldrsh r3, [r5, r0]
- lsls r0, r1, 1
- cmp r3, r0
- bgt _080613CC
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _080613C8
- bl strcpy
- b _080613EE
- .align 2, 0
-_080613C8: .4byte gUnknown_8106BC8
-_080613CC:
- adds r0, r1
- cmp r3, r0
- bgt _080613E4
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _080613E0
- bl strcpy
- b _080613EE
- .align 2, 0
-_080613E0: .4byte gUnknown_8106BCC
-_080613E4:
- adds r0, r4, 0
- adds r0, 0x50
- ldr r1, _0806141C
- bl strcpy
-_080613EE:
- ldr r0, _08061420
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- str r1, [r0]
- movs r3, 0x10
- ldrsh r1, [r5, r3]
- str r1, [r0, 0x4]
- ldr r0, _08061424
- adds r1, r6, 0
- bl sub_8013800
- adds r1, r0, 0
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0806142C
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- ldr r2, _08061428
- movs r3, 0
- bl sub_8014FF0
- b _08061438
- .align 2, 0
-_0806141C: .4byte gUnknown_8106BD0
-_08061420: .4byte gUnknown_202DE30
-_08061424: .4byte gUnknown_202EE10
-_08061428: .4byte gUnknown_8106BD4
-_0806142C:
- str r0, [sp]
- movs r0, 0x9
- ldr r2, _08061458
- movs r3, 0
- bl sub_8014FF0
-_08061438:
- adds r6, 0x1
- cmp r6, r7
- bge _08061440
- b _0806128E
-_08061440:
- movs r0, 0
- bl sub_80073E0
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08061458: .4byte gUnknown_8106BE0
- thumb_func_end sub_8061130
-
- thumb_func_start sub_806145C
-sub_806145C:
- push {r4-r6,lr}
- ldr r2, _08061560
- movs r1, 0
- str r1, [r2]
- ldr r5, _08061564
- ldr r2, [r5]
- ldr r1, _08061568
- movs r3, 0x18
- ldrsh r1, [r1, r3]
- lsls r1, 2
- adds r0, 0x4
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 2
- ldr r1, _0806156C
- adds r2, r1
- adds r2, r0
- ldr r6, [r2]
- ldr r4, [r6, 0x70]
- movs r0, 0x1B
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x19
- movs r1, 0
- bl sub_8044F5C
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _080614C8
- ldr r2, [r5]
- ldr r3, _08061570
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080614C0
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080614B8
- ldr r1, _08061574
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080614C0
-_080614B8:
- movs r0, 0x34
- movs r1, 0
- bl sub_8044F5C
-_080614C0:
- movs r0, 0x1C
- movs r1, 0
- bl sub_8044F5C
-_080614C8:
- movs r0, 0x30
- movs r1, 0
- bl sub_8044F5C
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _0806154C
- movs r0, 0x1A
- movs r1, 0
- bl sub_8044F5C
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _0806154C
- ldr r0, _08061564
- ldr r1, [r0]
- ldr r2, _08061574
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806154C
- ldr r3, _08061578
- adds r0, r1, r3
- ldrb r0, [r0]
- bl sub_8090158
- lsls r0, 24
- cmp r0, 0
- beq _0806154C
- movs r0, 0x3B
- movs r1, 0
- bl sub_8044F5C
- movs r5, 0x1
- ldrb r0, [r4, 0xA]
- cmp r0, 0x3
- bhi _08061530
- ldr r2, _0806157C
- ldrb r1, [r4, 0xA]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _08061580
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- bl sub_806A538
- lsls r0, 24
- cmp r0, 0
- beq _08061532
-_08061530:
- movs r5, 0
-_08061532:
- adds r0, r6, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08061542
- movs r5, 0
-_08061542:
- cmp r5, 0
- bne _0806154C
- movs r0, 0x3B
- bl sub_8044FF0
-_0806154C:
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0806155A
- cmp r0, 0x47
- bne _08061584
-_0806155A:
- movs r0, 0x1
- b _08061586
- .align 2, 0
-_08061560: .4byte gUnknown_202EE6C
-_08061564: .4byte gUnknown_203B418
-_08061568: .4byte gUnknown_202EE10
-_0806156C: .4byte 0x0001357c
-_08061570: .4byte 0x0000065d
-_08061574: .4byte 0x0000065c
-_08061578: .4byte 0x00000644
-_0806157C: .4byte gUnknown_203B45C
-_08061580: .4byte 0x00008df8
-_08061584:
- movs r0, 0
-_08061586:
- cmp r0, 0
- beq _080615A8
- movs r0, 0x19
- bl sub_8044FF0
- movs r0, 0x3B
- bl sub_8044FF0
- movs r0, 0x1A
- bl sub_8044FF0
- movs r0, 0x30
- bl sub_8044FF0
- movs r0, 0x34
- bl sub_8044FF0
-_080615A8:
- bl sub_8045064
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806145C
-
- thumb_func_start sub_80615B4
-sub_80615B4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r1, _080615E0
- ldr r0, _080615E4
- movs r2, 0x18
- ldrsh r0, [r0, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r5, 0
- bl sub_8044C94
- ldm r4!, {r0}
- lsls r0, 2
- adds r4, r0
- ldr r0, [r4]
- strb r0, [r5, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080615E0: .4byte gUnknown_202EE44
-_080615E4: .4byte gUnknown_202EE10
- thumb_func_end sub_80615B4
-
- thumb_func_start sub_80615E8
-sub_80615E8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x7C
- adds r5, r0, 0
- mov r4, sp
- mov r0, sp
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r2, 0x12
- strh r2, [r4, 0xC]
- movs r0, 0xE
- strh r0, [r4, 0xE]
- strh r2, [r4, 0x10]
- strh r1, [r4, 0x12]
- ldr r0, _08061720
- str r0, [sp, 0x14]
- movs r0, 0x3
- str r0, [sp, 0x1C]
- str r0, [sp, 0x34]
- str r0, [sp, 0x4C]
- ldr r0, _08061724
- ldr r1, [r0]
- ldrb r0, [r5, 0x4]
- lsls r0, 2
- ldr r2, _08061728
- adds r1, r2
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x74]
- ldr r0, [r1, 0x70]
- mov r8, r0
- movs r1, 0
- str r1, [sp, 0x70]
- movs r2, 0
- str r2, [sp, 0x6C]
- add r0, sp, 0x60
- mov r10, r0
-_08061646:
- movs r1, 0x1
- str r1, [sp, 0x78]
- movs r7, 0
- ldr r0, _08061720
- strb r1, [r0]
- strb r7, [r0, 0x1]
- movs r1, 0xA
- strb r1, [r0, 0x2]
- strb r7, [r0, 0x3]
- mov r0, sp
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, [sp, 0x6C]
- mov r1, r10
- mov r2, r8
- movs r3, 0
- bl sub_806195C
- movs r2, 0
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0xB
- beq _08061684
-_08061676:
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08061684
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xB
- bne _08061676
-_08061684:
- ldr r4, _0806172C
- movs r1, 0
- strh r2, [r4, 0x1A]
- movs r0, 0x8
- strh r0, [r4, 0x1C]
- strh r1, [r4, 0x1E]
- strh r1, [r4, 0x20]
- strh r1, [r4, 0x4]
- movs r0, 0x10
- strh r0, [r4, 0x6]
- strh r1, [r4, 0xC]
- strh r1, [r4, 0xE]
- strh r1, [r4, 0x14]
- str r1, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- add r2, sp, 0x70
- ldrh r2, [r2]
- strh r2, [r4, 0x18]
- mov r9, r4
- mov r6, r10
-_080616BA:
- mov r0, r9
- bl AddMenuCursorSprite
- ldrb r0, [r6, 0x8]
- cmp r0, 0xB
- beq _080616CA
- bl sub_80623B0
-_080616CA:
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _080616D4
- bl sub_8062230
-_080616D4:
- movs r0, 0x3D
- bl sub_803E46C
- ldr r0, _08061730
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061740
- movs r0, 0x1
- bl sub_8083CE0
- mov r1, r9
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08061738
- ldrb r0, [r6, 0x8]
- cmp r0, 0xB
- beq _0806171A
- ldr r5, [sp, 0x6C]
- adds r5, 0x1
- ldr r6, _08061734
- movs r4, 0x5
-_08061704:
- ldr r1, [r6]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x3D
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061704
- str r5, [sp, 0x6C]
-_0806171A:
- movs r0, 0x7
- str r0, [sp, 0x70]
- b _08061926
- .align 2, 0
-_08061720: .4byte gUnknown_202F270
-_08061724: .4byte gUnknown_203B418
-_08061728: .4byte 0x0001357c
-_0806172C: .4byte gUnknown_202EE10
-_08061730: .4byte gUnknown_20255F0
-_08061734: .4byte gUnknown_203B080
-_08061738:
- mov r0, r9
- movs r1, 0
- bl sub_80136E0
-_08061740:
- ldr r0, _08061788
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806179C
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _0806178C
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08061794
- ldr r0, [sp, 0x6C]
- cmp r0, 0
- beq _08061780
- adds r5, r0, 0
- subs r5, 0x1
- ldr r6, _08061790
- movs r4, 0x5
-_0806176A:
- ldr r1, [r6]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x3D
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0806176A
- str r5, [sp, 0x6C]
-_08061780:
- movs r1, 0
- str r1, [sp, 0x70]
- b _08061926
- .align 2, 0
-_08061788: .4byte gUnknown_20255F0
-_0806178C: .4byte gUnknown_202EE10
-_08061790: .4byte gUnknown_203B084
-_08061794:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
-_0806179C:
- ldr r4, _080617C8
- ldrh r1, [r4, 0x2]
- movs r0, 0x8
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080617DE
- mov r2, r9
- movs r1, 0x18
- ldrsh r0, [r2, r1]
- mov r2, r10
- adds r1, r2, r0
- ldrb r4, [r1]
- str r0, [sp, 0x70]
- bl sub_8083D44
- adds r0, r4, 0
- bl sub_8062748
-_080617C4:
- movs r7, 0
- b _08061926
- .align 2, 0
-_080617C8: .4byte gUnknown_20255F0
-_080617CC:
- bl sub_8083D08
- mov r0, r9
- movs r1, 0x18
- ldrsh r4, [r0, r1]
- cmp r4, 0
- beq _080617DC
- b _08061900
-_080617DC:
- b _080618C4
-_080617DE:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080617F4
- ldr r2, _080618BC
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- bne _080617F4
- b _0806190C
-_080617F4:
- mov r2, r9
- movs r0, 0x18
- ldrsh r1, [r2, r0]
- mov r2, r10
- adds r0, r2, r1
- ldrb r7, [r0]
- str r1, [sp, 0x70]
- bl sub_8062D68
- bl sub_8083D08
- ldr r0, _080618C0
- str r5, [r0]
- movs r0, 0x2F
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- ldr r0, [sp, 0x74]
- movs r1, 0x1
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08061832
- movs r0, 0x2F
- bl sub_8044FF0
-_08061832:
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
- ldr r5, _080618BC
- adds r6, r4, 0
- adds r4, r5, 0
- adds r4, 0x2A
-_08061842:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x3D
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061866
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08061866:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806187E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_0806187E:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08061892
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080618A4
-_08061892:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080617CC
- bl sub_8083D30
-_080618A4:
- ldrh r1, [r6, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080618B4
- ldrb r0, [r4]
- cmp r0, 0
- beq _08061842
-_080618B4:
- bl sub_8083D30
- b _080617C4
- .align 2, 0
-_080618BC: .4byte gUnknown_202EE10
-_080618C0: .4byte gUnknown_202EE6C
-_080618C4:
- ldr r0, _080618FC
- bl sub_8083E38
- mov r0, r8
- adds r0, 0x94
- strb r7, [r0]
- mov r1, r8
- adds r1, 0x78
- movs r0, 0x6
- strb r0, [r1]
- mov r0, r8
- adds r0, 0x80
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- subs r0, 0x8
- strh r4, [r0]
- mov r2, r8
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- beq _080618F0
- b _080617C4
-_080618F0:
- ldr r0, [sp, 0x74]
- movs r1, 0x1
- bl sub_807ADB8
- b _080617C4
- .align 2, 0
-_080618FC: .4byte 0x00000133
-_08061900:
- adds r0, r7, 0
- bl sub_8062748
- movs r0, 0
- str r0, [sp, 0x78]
- b _080617C4
-_0806190C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08061920
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _08061920
- b _080616BA
-_08061920:
- bl sub_8083D30
- movs r7, 0x1
-_08061926:
- ldr r1, [sp, 0x78]
- cmp r1, 0
- beq _08061932
- ldr r0, _08061958
- bl AddMenuCursorSprite
-_08061932:
- movs r0, 0x3D
- bl sub_803E46C
- cmp r7, 0
- bne _0806193E
- b _08061646
-_0806193E:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x7C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08061958: .4byte gUnknown_202EE10
- thumb_func_end sub_80615E8
-
- thumb_func_start sub_806195C
-sub_806195C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r5, r0, 0
- mov r9, r1
- str r2, [sp, 0x10]
- adds r7, r3, 0
- subs r5, 0x1
- adds r0, r7, 0
- bl sub_80073B8
- ldr r0, _080619B4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r3, r7, 0
- bl xxx_call_draw_string
- movs r0, 0x14
- mov r8, r0
- movs r1, 0xB
- mov r0, r9
- adds r0, 0x8
-_08061994:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r9
- bge _08061994
- bl sub_8083654
- ldrb r1, [r0, 0x9]
- add r0, sp, 0x4
- bl sub_808EB0C
- movs r6, 0x1
- negs r6, r6
- movs r1, 0
- mov r10, r1
- b _080619FC
- .align 2, 0
-_080619B4: .4byte gUnknown_80FE954
-_080619B8:
- ldr r0, _080619DC
- adds r1, r4, 0
- bl sub_808EAC0
- ldr r0, [sp, 0x10]
- adds r0, 0x94
- ldrb r0, [r0]
- cmp r0, r4
- bne _080619E4
- mov r0, r10
- str r0, [sp]
- movs r0, 0x10
- mov r1, r8
- ldr r2, _080619E0
- adds r3, r7, 0
- bl sub_8014FF0
- b _080619F4
- .align 2, 0
-_080619DC: .4byte gUnknown_202DF98
-_080619E0: .4byte gUnknown_8106BEC
-_080619E4:
- mov r1, r10
- str r1, [sp]
- movs r0, 0x10
- mov r1, r8
- ldr r2, _08061A34
- adds r3, r7, 0
- bl sub_8014FF0
-_080619F4:
- adds r6, 0x1
- movs r0, 0xC
- add r8, r0
- adds r5, 0x1
-_080619FC:
- cmp r6, 0x9
- bgt _08061A1E
- cmp r5, 0
- blt _080619F4
- cmp r5, 0xB
- bgt _080619F4
- mov r0, sp
- adds r0, r5
- adds r0, 0x4
- ldrb r4, [r0]
- cmp r6, 0x8
- bhi _08061A1A
- mov r1, r9
- adds r0, r1, r6
- strb r4, [r0]
-_08061A1A:
- cmp r4, 0xB
- bne _080619B8
-_08061A1E:
- adds r0, r7, 0
- bl sub_80073E0
- 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
-_08061A34: .4byte gUnknown_8106BF4
- thumb_func_end sub_806195C
-
- thumb_func_start sub_8061A38
-sub_8061A38:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x130
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- add r4, sp, 0xB0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [r4, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r2, 0x12
- strh r2, [r4, 0xC]
- movs r0, 0xE
- strh r0, [r4, 0xE]
- strh r2, [r4, 0x10]
- strh r1, [r4, 0x12]
- ldr r0, _08061AA4
- str r0, [r4, 0x14]
- movs r0, 0x3
- str r0, [r4, 0x1C]
- str r0, [r4, 0x34]
- str r0, [r4, 0x4C]
- movs r0, 0
- str r0, [sp, 0x114]
- mov r8, r0
- ldr r0, _08061AA8
- ldr r1, [r0]
- ldrb r0, [r5, 0x4]
- lsls r0, 2
- ldr r2, _08061AAC
- adds r1, r2
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x110]
- ldr r0, [r1, 0x70]
- str r0, [sp, 0x11C]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08061AA0
- cmp r0, 0x47
- bne _08061AB0
-_08061AA0:
- movs r0, 0x1
- b _08061AB2
- .align 2, 0
-_08061AA4: .4byte gUnknown_202F270
-_08061AA8: .4byte gUnknown_203B418
-_08061AAC: .4byte 0x0001357c
-_08061AB0:
- movs r0, 0
-_08061AB2:
- adds r1, r0, 0
- cmp r1, 0
- beq _08061ACE
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- str r0, [sp, 0x14]
- str r0, [sp, 0x18]
- movs r1, 0x1
- str r1, [sp, 0x118]
- b _08061AFE
-_08061ACE:
- cmp r6, 0
- beq _08061AE6
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- str r1, [sp, 0x18]
- movs r2, 0x1
- str r2, [sp, 0x118]
- b _08061AFE
-_08061AE6:
- movs r0, 0x2
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- movs r0, 0x5
- str r0, [sp, 0x10]
- str r6, [sp, 0x14]
- str r6, [sp, 0x18]
- movs r0, 0x4
- str r0, [sp, 0x118]
-_08061AFE:
- add r2, sp, 0x5C
- movs r0, 0
- strh r0, [r2]
- mov r1, sp
- adds r1, 0x72
- strh r0, [r1]
- ldr r3, _08061BB4
- strh r0, [r3, 0x18]
- subs r1, 0x56
- str r1, [sp, 0x12C]
- add r2, sp, 0x80
- mov r9, r2
- adds r7, r3, 0
-_08061B18:
- movs r0, 0
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x120]
- movs r2, 0
- str r2, [sp, 0x124]
- movs r0, 0x1
- str r0, [sp, 0x128]
- ldr r4, _08061BB8
- ldr r1, _08061BBC
- add r2, sp, 0x118
- ldrb r2, [r2]
- strb r2, [r1]
- add r0, sp, 0x114
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- movs r0, 0xA
- strb r0, [r1, 0x2]
- mov r2, r10
- strb r2, [r1, 0x3]
- add r0, sp, 0xB0
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, [sp, 0x12C]
- ldr r1, [sp, 0x110]
- bl sub_8069844
- ldr r1, [sp, 0x114]
- lsls r0, r1, 2
- mov r5, sp
- adds r5, r0
- adds r5, 0x4
- ldr r0, [r5]
- mov r2, r10
- str r2, [sp]
- ldr r2, [sp, 0x12C]
- add r3, sp, 0x80
- bl sub_808F844
- add r0, sp, 0x114
- ldrh r0, [r0]
- strh r0, [r7, 0x1E]
- add r1, sp, 0x118
- ldrh r1, [r1]
- strh r1, [r7, 0x20]
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r0, 0xF
- lsls r0, 3
- strh r0, [r7, 0xC]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r7, 0xE]
- mov r2, r10
- strh r2, [r7, 0x14]
- strh r2, [r7, 0x4]
- movs r0, 0x10
- strh r0, [r7, 0x6]
- mov r0, r10
- str r0, [r7]
- adds r0, r7, 0
- adds r0, 0x28
- bl sub_801317C
- mov r1, r10
- strh r1, [r7, 0x18]
- strh r1, [r7, 0x1A]
- strh r1, [r7, 0x1C]
- ldr r5, [r5]
- cmp r5, 0x1
- bne _08061C10
- movs r2, 0
- add r1, sp, 0x8C
- b _08061BC8
- .align 2, 0
-_08061BB4: .4byte gUnknown_202EE10
-_08061BB8: .4byte gUnknown_2027370
-_08061BBC: .4byte gUnknown_202F270
-_08061BC0:
- adds r1, 0x4
- adds r2, 0x1
- cmp r2, 0x7
- bgt _08061BCE
-_08061BC8:
- ldr r0, [r1]
- cmp r0, 0
- bne _08061BC0
-_08061BCE:
- cmp r2, 0
- beq _08061C44
- movs r0, 0x1
- str r0, [sp, 0x124]
- strh r2, [r7, 0x1A]
- b _08061C38
-_08061BDA:
- movs r0, 0x18
- ldrsh r2, [r7, r0]
- lsls r1, r2, 2
- add r0, sp, 0x8C
- adds r0, r1
- ldr r4, [r0]
- mov r8, r2
- bl sub_8083D44
- adds r0, r4, 0
- bl sub_806285C
- movs r1, 0
- str r1, [sp, 0x128]
- b _080621E4
-_08061BF8:
- movs r2, 0x18
- ldrsh r0, [r7, r2]
- mov r2, r9
- adds r1, r2, r0
- ldrb r4, [r1]
- mov r8, r0
- bl sub_8083D44
- adds r0, r4, 0
- bl sub_806262C
- b _08062082
-_08061C10:
- cmp r5, 0x4
- bne _08061C48
- movs r1, 0
- add r2, sp, 0x80
- ldrb r0, [r2]
- cmp r0, 0
- beq _08061C2E
- mov r2, r9
-_08061C20:
- adds r1, 0x1
- cmp r1, 0x7
- bgt _08061C2E
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08061C20
-_08061C2E:
- cmp r1, 0
- beq _08061C44
- movs r0, 0x1
- str r0, [sp, 0x120]
- strh r1, [r7, 0x1A]
-_08061C38:
- movs r0, 0x8
- strh r0, [r7, 0x1C]
- adds r0, r7, 0
- movs r1, 0
- bl sub_80137B0
-_08061C44:
- mov r1, r8
- strh r1, [r7, 0x18]
-_08061C48:
- ldr r0, _08061CF8
- bl AddMenuCursorSprite
- movs r0, 0
- ldr r1, _08061CFC
- bl sub_8014140
- adds r4, r0, 0
- movs r5, 0
- movs r6, 0
- ldr r2, [sp, 0x120]
- cmp r2, 0
- beq _08061C80
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08061C70
- movs r5, 0x1
- bl sub_80623B0
-_08061C70:
- add r1, sp, 0x5C
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08061C80
- movs r6, 0x1
- bl sub_8062230
-_08061C80:
- ldr r2, [sp, 0x124]
- cmp r2, 0
- beq _08061CA6
- mov r1, r9
- ldr r0, [r1, 0x2C]
- cmp r0, 0
- beq _08061C94
- movs r5, 0x1
- bl sub_80623B0
-_08061C94:
- movs r1, 0x72
- add r1, sp
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08061CA6
- movs r6, 0x1
- bl sub_8062230
-_08061CA6:
- movs r0, 0x1C
- bl sub_803E46C
- ldr r0, _08061D00
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _08061D4E
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- bne _08061D4E
- ldr r0, _08061D04
- ldrh r1, [r0, 0x2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08061CD6
- ldr r2, _08061CF8
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08061D08
-_08061CD6:
- movs r0, 0
- bl sub_8083CE0
- ldr r2, [sp, 0x114]
- adds r2, 0x1
- str r2, [sp, 0x114]
- lsls r0, r2, 2
- add r0, sp
- adds r0, 0x4
- ldr r0, [r0]
- cmp r0, 0
- beq _08061CF0
- b _080621E6
-_08061CF0:
- movs r0, 0
- str r0, [sp, 0x114]
- b _080621E6
- .align 2, 0
-_08061CF8: .4byte gUnknown_202EE10
-_08061CFC: .4byte gUnknown_8106B8C
-_08061D00: .4byte gUnknown_202F270
-_08061D04: .4byte gUnknown_20255F0
-_08061D08:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08061D1A
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08061D4E
-_08061D1A:
- movs r0, 0
- bl sub_8083CE0
- ldr r1, [sp, 0x114]
- subs r1, 0x1
- str r1, [sp, 0x114]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08061D30
- b _080621E6
-_08061D30:
- movs r2, 0x5
- str r2, [sp, 0x114]
- ldr r0, [sp, 0x18]
- cmp r0, 0
- beq _08061D3C
- b _080621E6
-_08061D3C:
- add r1, sp, 0x18
-_08061D3E:
- subs r1, 0x4
- ldr r0, [sp, 0x114]
- subs r0, 0x1
- str r0, [sp, 0x114]
- ldr r0, [r1]
- cmp r0, 0
- beq _08061D3E
- b _080621E6
-_08061D4E:
- ldr r1, [sp, 0x124]
- cmp r1, 0
- bne _08061D56
- b _08061E8A
-_08061D56:
- cmp r4, 0x2
- bne _08061D98
- cmp r5, 0
- beq _08061D98
- movs r0, 0
- bl sub_8083CE0
- mov r2, r9
- ldr r0, [r2, 0x2C]
- cmp r0, 0
- beq _08061D8E
- ldr r5, _08061D94
- movs r4, 0x5
-_08061D70:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061D70
- movs r1, 0x72
- add r1, sp
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_08061D8E:
- movs r2, 0x7
- mov r8, r2
- b _080621E6
- .align 2, 0
-_08061D94: .4byte gUnknown_203B080
-_08061D98:
- ldr r0, _08061DDC
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061DF0
- movs r0, 0
- bl sub_8083CE0
- ldr r1, _08061DE0
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08061DE8
- mov r1, r9
- ldr r0, [r1, 0x2C]
- cmp r0, 0
- bne _08061DBE
- b _08061F04
-_08061DBE:
- ldr r5, _08061DE4
- movs r4, 0x5
-_08061DC2:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061DC2
- movs r2, 0x72
- add r2, sp
- b _08061EFE
- .align 2, 0
-_08061DDC: .4byte gUnknown_20255F0
-_08061DE0: .4byte gUnknown_202EE10
-_08061DE4: .4byte gUnknown_203B080
-_08061DE8:
- adds r0, r1, 0
- movs r1, 0
- bl sub_80136E0
-_08061DF0:
- cmp r4, 0x1
- bne _08061E28
- cmp r6, 0
- beq _08061E28
- movs r2, 0x72
- add r2, sp
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08061E06
- b _08061F96
-_08061E06:
- ldr r5, _08061E24
- movs r4, 0x5
-_08061E0A:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061E0A
- movs r1, 0x72
- add r1, sp
- b _08061F90
- .align 2, 0
-_08061E24: .4byte gUnknown_203B084
-_08061E28:
- ldr r0, _08061E74
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08061E36
- b _08061FB0
-_08061E36:
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08061E78
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08061E80
- movs r2, 0x72
- add r2, sp
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _08061E54
- b _08061F96
-_08061E54:
- ldr r5, _08061E7C
- movs r4, 0x5
-_08061E58:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061E58
- movs r1, 0x72
- add r1, sp
- b _08061F90
- .align 2, 0
-_08061E74: .4byte gUnknown_20255F0
-_08061E78: .4byte gUnknown_202EE10
-_08061E7C: .4byte gUnknown_203B084
-_08061E80:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
- b _08061FB0
-_08061E8A:
- ldr r0, [sp, 0x120]
- cmp r0, 0
- bne _08061E92
- b _08061FB0
-_08061E92:
- cmp r4, 0x2
- bne _08061EC0
- cmp r5, 0
- beq _08061EC0
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08061F04
- ldr r5, _08061EBC
- movs r4, 0x5
-_08061EA6:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061EA6
- b _08061EFC
- .align 2, 0
-_08061EBC: .4byte gUnknown_203B080
-_08061EC0:
- ldr r0, _08061F0C
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08061F20
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08061F10
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08061F18
- mov r1, r9
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _08061F04
- ldr r5, _08061F14
- movs r4, 0x5
-_08061EE8:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061EE8
-_08061EFC:
- add r2, sp, 0x5C
-_08061EFE:
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_08061F04:
- movs r0, 0x7
- mov r8, r0
- b _080621E6
- .align 2, 0
-_08061F0C: .4byte gUnknown_20255F0
-_08061F10: .4byte gUnknown_202EE10
-_08061F14: .4byte gUnknown_203B080
-_08061F18:
- adds r0, r1, 0
- movs r1, 0
- bl sub_80136E0
-_08061F20:
- cmp r4, 0x1
- bne _08061F50
- cmp r6, 0
- beq _08061F50
- add r2, sp, 0x5C
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08061F96
- ldr r5, _08061F4C
- movs r4, 0x5
-_08061F36:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061F36
- b _08061F8E
- .align 2, 0
-_08061F4C: .4byte gUnknown_203B084
-_08061F50:
- ldr r0, _08061F9C
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08061FB0
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08061FA0
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08061FA8
- add r2, sp, 0x5C
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08061F96
- ldr r5, _08061FA4
- movs r4, 0x5
-_08061F7A:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08061F7A
-_08061F8E:
- add r1, sp, 0x5C
-_08061F90:
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_08061F96:
- movs r2, 0
- mov r8, r2
- b _080621E6
- .align 2, 0
-_08061F9C: .4byte gUnknown_20255F0
-_08061FA0: .4byte gUnknown_202EE10
-_08061FA4: .4byte gUnknown_203B084
-_08061FA8:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
-_08061FB0:
- bl sub_80048C8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08061FBE
- b _08061C48
-_08061FBE:
- ldr r5, _0806208C
- ldrh r1, [r5, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08061FDA
- ldr r0, [sp, 0x124]
- cmp r0, 0
- beq _08061FD2
- b _08061BDA
-_08061FD2:
- ldr r2, [sp, 0x120]
- cmp r2, 0
- beq _08061FDA
- b _08061BF8
-_08061FDA:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08061FF0
- ldr r2, _08062090
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- bne _08061FF0
- b _080621CA
-_08061FF0:
- ldr r0, [sp, 0x124]
- cmp r0, 0
- beq _080620BC
- movs r1, 0x18
- ldrsh r2, [r7, r1]
- lsls r1, r2, 2
- add r0, sp, 0x8C
- adds r0, r1
- ldr r6, [r0]
- mov r8, r2
- bl sub_8062D68
- ldr r0, _08062094
- str r4, [r0]
- bl sub_8083D08
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- add r0, sp, 0xB0
- movs r1, 0x16
- bl sub_805FC30
- ldr r4, _08062090
- movs r2, 0x2A
- adds r2, r4
- mov r10, r2
-_08062028:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1C
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806204C
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_0806204C:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08062064
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08062064:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062078
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08062098
-_08062078:
- bl sub_8083D08
- adds r0, r6, 0
- bl sub_806285C
-_08062082:
- movs r0, 0
- str r0, [sp, 0x128]
- mov r10, r0
- b _080621E6
- .align 2, 0
-_0806208C: .4byte gUnknown_20255F0
-_08062090: .4byte gUnknown_202EE10
-_08062094: .4byte gUnknown_202EE6C
-_08062098:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080620A8
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0
- beq _08062028
-_080620A8:
- bl sub_8083D30
- b _080621BA
-_080620AE:
- bl sub_8083D08
- movs r1, 0x18
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _080621B0
- b _08062198
-_080620BC:
- ldr r2, [sp, 0x120]
- cmp r2, 0
- bne _080620C4
- b _080621C0
-_080620C4:
- movs r0, 0x18
- ldrsh r1, [r7, r0]
- mov r2, r9
- adds r0, r2, r1
- ldrb r6, [r0]
- mov r8, r1
- bl sub_8062D68
- ldr r0, _08062190
- ldr r1, [sp, 0x124]
- str r1, [r0]
- bl sub_8083D08
- movs r0, 0x28
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- ldr r0, [sp, 0x110]
- movs r1, 0x1
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08062102
- movs r0, 0x28
- bl sub_8044FF0
-_08062102:
- add r0, sp, 0xB0
- movs r1, 0x16
- bl sub_805FC30
- ldr r4, _08062194
- movs r2, 0x2A
- adds r2, r4
- mov r10, r2
-_08062112:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1C
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08062136
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08062136:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806214E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_0806214E:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062162
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08062174
-_08062162:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080620AE
- bl sub_8083D30
-_08062174:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08062186
- mov r2, r10
- ldrb r0, [r2]
- cmp r0, 0
- beq _08062112
-_08062186:
- bl sub_8083D30
- movs r0, 0
- mov r10, r0
- b _080621E6
- .align 2, 0
-_08062190: .4byte gUnknown_202EE6C
-_08062194: .4byte gUnknown_202EE10
-_08062198:
- ldr r0, _080621AC
- bl sub_8083E38
- ldr r0, [sp, 0x11C]
- adds r0, 0x8C
- adds r1, r6, 0
- bl sub_808EBF4
- b _080621BA
- .align 2, 0
-_080621AC: .4byte 0x00000133
-_080621B0:
- adds r0, r6, 0
- bl sub_806262C
- movs r1, 0
- str r1, [sp, 0x128]
-_080621BA:
- movs r2, 0
- mov r10, r2
- b _080621E6
-_080621C0:
- bl sub_8083D08
- movs r0, 0x1
- mov r10, r0
- b _080621E6
-_080621CA:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080621DE
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080621DE
- b _08061C48
-_080621DE:
- bl sub_8083D30
- movs r1, 0x1
-_080621E4:
- mov r10, r1
-_080621E6:
- ldr r2, [sp, 0x128]
- cmp r2, 0
- beq _08062204
- ldr r0, [sp, 0x120]
- cmp r0, 0
- bne _080621F8
- ldr r1, [sp, 0x124]
- cmp r1, 0
- beq _080621FE
-_080621F8:
- ldr r0, _0806222C
- bl AddMenuCursorSprite
-_080621FE:
- movs r0, 0x1C
- bl sub_803E46C
-_08062204:
- mov r2, r10
- cmp r2, 0
- bne _0806220C
- b _08061B18
-_0806220C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- ldr r0, [sp, 0x110]
- bl sub_807191C
- add sp, 0x130
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806222C: .4byte gUnknown_202EE10
- thumb_func_end sub_8061A38
-
- thumb_func_start sub_8062230
-sub_8062230:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- ldr r0, _08062380
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08062248
- b _08062372
-_08062248:
- ldr r0, _08062384
- mov r9, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _08062388
- ands r1, r0
- ldr r3, _0806238C
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08062390
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _08062394
- mov r8, r6
- mov r0, r8
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08062398
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _0806239C
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _080623A0
- adds r0, r6, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- movs r1, 0x80
- lsls r1, 6
- mov r5, sp
- ldrh r0, [r5, 0x2]
- ldr r2, _080623A4
- ands r2, r0
- orrs r2, r1
- ands r2, r6
- movs r3, 0xFC
- lsls r3, 2
- ldrh r1, [r5, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r3
- mov r1, r8
- ands r0, r1
- movs r3, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _080623A8
- ands r0, r4
- orrs r0, r1
- strh r0, [r5, 0x4]
- mov r6, r9
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x8
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r5, 0x6]
- ands r3, r1
- orrs r3, r0
- strh r3, [r5, 0x6]
- movs r3, 0
- ldrsh r0, [r6, r3]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _080623AC
- ands r0, r1
- movs r1, 0xFE
- lsls r1, 8
- ands r2, r1
- orrs r2, r0
- strh r2, [r5, 0x2]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08062372:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08062380: .4byte gUnknown_202EDCC
-_08062384: .4byte gUnknown_2027370
-_08062388: .4byte 0x0000feff
-_0806238C: .4byte 0xffff0000
-_08062390: .4byte 0x0000fdff
-_08062394: .4byte 0x0000f3ff
-_08062398: .4byte 0x0000efff
-_0806239C: .4byte 0x0000dfff
-_080623A0: .4byte 0x00003fff
-_080623A4: .4byte 0x0000c1ff
-_080623A8: .4byte 0x00000fff
-_080623AC: .4byte 0x000001ff
- thumb_func_end sub_8062230
-
- thumb_func_start sub_80623B0
-sub_80623B0:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _080624D4
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080623C2
- b _080624CA
-_080623C2:
- ldr r6, _080624D8
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _080624DC
- ands r1, r0
- ldr r3, _080624E0
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624E4
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r5, _080624E8
- adds r0, r5, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624EC
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624F0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080624F4
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- mov r3, sp
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r5
- movs r2, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _080624F8
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x70
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r3, 0x6]
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x6]
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _080624FC
- ands r0, r1
- strh r0, [r3, 0x2]
- subs r1, 0xFF
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080624CA:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080624D4: .4byte gUnknown_202EDCC
-_080624D8: .4byte gUnknown_2027370
-_080624DC: .4byte 0x0000feff
-_080624E0: .4byte 0xffff0000
-_080624E4: .4byte 0x0000fdff
-_080624E8: .4byte 0x0000f3ff
-_080624EC: .4byte 0x0000efff
-_080624F0: .4byte 0x0000dfff
-_080624F4: .4byte 0x00003fff
-_080624F8: .4byte 0x00000fff
-_080624FC: .4byte 0x000001ff
- thumb_func_end sub_80623B0
-
- thumb_func_start sub_8062500
-sub_8062500:
- push {r4,r5,lr}
- ldr r0, _0806257C
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08062574
- ldr r5, _08062580
- ldr r0, _08062584
- ldrh r2, [r0]
- ldr r1, _08062588
- ands r1, r2
- ldr r2, _0806258C
- ands r1, r2
- ldr r4, _08062590
- ands r1, r4
- ldr r2, _08062594
- ands r1, r2
- ldr r2, _08062598
- ands r1, r2
- movs r3, 0x80
- lsls r3, 7
- ldr r2, _0806259C
- ands r1, r2
- orrs r1, r3
- strh r1, [r0]
- movs r3, 0xFC
- lsls r3, 2
- ldrh r2, [r0, 0x4]
- movs r1, 0xFC
- lsls r1, 8
- ands r1, r2
- orrs r1, r3
- ands r1, r4
- movs r3, 0xF
- movs r2, 0xF0
- lsls r2, 8
- ldr r4, _080625A0
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x4]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- lsls r1, 3
- adds r1, 0x60
- ands r1, r4
- lsls r1, 4
- ldrh r2, [r0, 0x6]
- ands r3, r2
- orrs r3, r1
- strh r3, [r0, 0x6]
- movs r1, 0x70
- strh r1, [r0, 0x2]
- adds r1, 0x90
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08062574:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806257C: .4byte gUnknown_202EDCC
-_08062580: .4byte gUnknown_2027370
-_08062584: .4byte gUnknown_202F268
-_08062588: .4byte 0x0000feff
-_0806258C: .4byte 0x0000fdff
-_08062590: .4byte 0x0000f3ff
-_08062594: .4byte 0x0000efff
-_08062598: .4byte 0x0000dfff
-_0806259C: .4byte 0x00003fff
-_080625A0: .4byte 0x00000fff
- thumb_func_end sub_8062500
-
- thumb_func_start sub_80625A4
-sub_80625A4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r7, r0, 0
- mov r9, r1
- mov r0, sp
- bl sub_801317C
- movs r4, 0
- cmp r4, r7
- bge _0806261A
- subs r0, r7, 0x1
- mov r8, r0
- mov r5, sp
-_080625C4:
- lsls r0, r4, 2
- add r0, r9
- ldr r0, [r0]
- mov r1, sp
- bl sub_80639E4
- adds r6, r4, 0x1
- b _080625E8
-_080625D4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080625E2
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _080625E8
-_080625E2:
- bl sub_8083D30
- b _08062614
-_080625E8:
- cmp r4, r8
- bge _080625F0
- bl sub_8062500
-_080625F0:
- mov r0, sp
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08062628
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062610
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _080625D4
-_08062610:
- bl sub_8083D08
-_08062614:
- adds r4, r6, 0
- cmp r4, r7
- blt _080625C4
-_0806261A:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08062628: .4byte gUnknown_20255F0
- thumb_func_end sub_80625A4
-
- thumb_func_start sub_806262C
-sub_806262C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x88
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0x84]
- add r0, sp, 0x10
- mov r8, r0
- movs r0, 0
- mov r9, r0
- add r7, sp, 0x4
- add r6, sp, 0x80
-_08062650:
- add r0, sp, 0x4
- bl sub_801317C
- mov r0, r8
- bl sub_80140B4
- mov r0, r8
- str r6, [r0, 0x14]
- movs r1, 0x1
- add r0, sp, 0x80
- strb r1, [r0]
- mov r0, r9
- strb r0, [r6, 0x1]
- movs r0, 0x10
- strb r0, [r6, 0x2]
- mov r0, r9
- strb r0, [r6, 0x3]
- mov r0, r8
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- mov r0, r10
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r0, _080626CC
- bl strcpy
- ldr r0, _080626D0
- ldr r2, [r0]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- mov r0, r10
- bl sub_808EADC
- adds r2, r0, 0
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- mov r0, r10
- bl sub_808EADC
- ldr r1, [sp, 0x84]
- bl sub_8097DF0
- adds r5, r0, 0
- b _080626EA
- .align 2, 0
-_080626CC: .4byte gUnknown_202DE58
-_080626D0: .4byte gUnknown_80FE95C
-_080626D4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080626E2
- ldrb r0, [r7, 0x2]
- cmp r0, 0
- beq _080626EA
-_080626E2:
- movs r4, 0x1
- bl sub_8083D30
- b _08062718
-_080626EA:
- cmp r5, 0
- beq _080626F2
- bl sub_8062500
-_080626F2:
- add r0, sp, 0x4
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _0806272C
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062712
- ldrb r0, [r7, 0x1]
- cmp r0, 0
- beq _080626D4
-_08062712:
- movs r4, 0
- bl sub_8083D08
-_08062718:
- cmp r4, 0
- bne _08062730
- cmp r5, 0
- beq _08062730
- adds r0, r5, 0
- ldr r1, [sp, 0x84]
- bl sub_80625A4
- b _08062650
- .align 2, 0
-_0806272C: .4byte gUnknown_20255F0
-_08062730:
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- add sp, 0x88
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806262C
-
- thumb_func_start sub_8062748
-sub_8062748:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x88
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0x84]
- add r0, sp, 0x10
- mov r8, r0
- movs r0, 0
- mov r9, r0
- add r7, sp, 0x4
- add r6, sp, 0x80
-_0806276C:
- add r0, sp, 0x4
- bl sub_801317C
- mov r0, r8
- bl sub_80140B4
- mov r0, r8
- str r6, [r0, 0x14]
- movs r1, 0x1
- add r0, sp, 0x80
- strb r1, [r0]
- mov r0, r9
- strb r0, [r6, 0x1]
- movs r0, 0x10
- strb r0, [r6, 0x2]
- mov r0, r9
- strb r0, [r6, 0x3]
- mov r0, r8
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- ldr r0, _080627E0
- mov r1, r10
- bl sub_808EAC0
- ldr r0, _080627E4
- ldr r2, [r0]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- mov r0, r10
- bl sub_808EAEC
- adds r2, r0, 0
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- mov r0, r10
- bl sub_808EAEC
- ldr r1, [sp, 0x84]
- bl sub_8097DF0
- adds r5, r0, 0
- b _080627FE
- .align 2, 0
-_080627E0: .4byte gUnknown_202DE58
-_080627E4: .4byte gUnknown_80FE960
-_080627E8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080627F6
- ldrb r0, [r7, 0x2]
- cmp r0, 0
- beq _080627FE
-_080627F6:
- movs r4, 0x1
- bl sub_8083D30
- b _0806282C
-_080627FE:
- cmp r5, 0
- beq _08062806
- bl sub_8062500
-_08062806:
- add r0, sp, 0x4
- movs r1, 0
- bl nullsub_34
- movs r0, 0x3E
- bl sub_803E46C
- ldr r0, _08062840
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062826
- ldrb r0, [r7, 0x1]
- cmp r0, 0
- beq _080627E8
-_08062826:
- movs r4, 0
- bl sub_8083D08
-_0806282C:
- cmp r4, 0
- bne _08062844
- cmp r5, 0
- beq _08062844
- adds r0, r5, 0
- ldr r1, [sp, 0x84]
- bl sub_80625A4
- b _0806276C
- .align 2, 0
-_08062840: .4byte gUnknown_20255F0
-_08062844:
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- add sp, 0x88
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8062748
-
- thumb_func_start sub_806285C
-sub_806285C:
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0xD4
- mov r10, r0
- add r0, sp, 0x10
- mov r8, r0
- add r5, sp, 0x70
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x74]
- add r1, sp, 0x78
- movs r6, 0
- movs r0, 0
- mov r9, r0
- movs r0, 0x2
- strh r0, [r1]
- strh r0, [r1, 0x2]
- add r1, sp, 0x7C
- movs r0, 0x1A
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x7E
- movs r1, 0xC
- strh r1, [r0]
- add r0, sp, 0x80
- strh r1, [r0]
- add r0, sp, 0x84
- add r4, sp, 0xD0
- str r4, [r0]
- add r0, sp, 0x88
- movs r1, 0x3
- str r1, [r0, 0x4]
- add r0, sp, 0xA0
- str r1, [r0, 0x4]
- add r0, sp, 0xB8
- str r1, [r0, 0x4]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x60
- bl memcpy
- add r0, sp, 0x4
- bl sub_801317C
- movs r0, 0x1
- strb r0, [r4]
- strb r6, [r4, 0x1]
- movs r0, 0x10
- strb r0, [r4, 0x2]
- strb r6, [r4, 0x3]
- mov r0, r8
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- mov r0, r10
- bl sub_808E4FC
- adds r1, r0, 0
- ldr r0, _0806291C
- bl strcpy
- ldr r0, _08062920
- ldr r2, [r0]
- mov r0, r9
- str r0, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- mov r0, r10
- bl sub_808E51C
- adds r2, r0, 0
- mov r0, r9
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- add r4, sp, 0x4
- b _08062938
- .align 2, 0
-_0806291C: .4byte gUnknown_202DE58
-_08062920: .4byte gUnknown_80FE964
-_08062924:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08062932
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _08062938
-_08062932:
- bl sub_8083D30
- b _0806295C
-_08062938:
- add r0, sp, 0x4
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08062974
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062958
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08062924
-_08062958:
- bl sub_8083D08
-_0806295C:
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- add sp, 0xD4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08062974: .4byte gUnknown_20255F0
- thumb_func_end sub_806285C
-
- thumb_func_start sub_8062978
-sub_8062978:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x80
- mov r8, r0
- adds r6, r1, 0
- add r4, sp, 0x1C
- ldr r1, _080629AC
- adds r0, r4, 0
- movs r2, 0x60
- bl memcpy
- movs r0, 0
- str r0, [sp, 0x7C]
- mov r1, r8
- cmp r1, 0
- beq _080629A2
- subs r0, 0x1
- str r0, [r1]
-_080629A2:
- cmp r6, 0x1
- bne _080629BA
- add r1, sp, 0x4C
- ldr r0, _080629B0
- b _080629C2
- .align 2, 0
-_080629AC: .4byte gUnknown_8106C30
-_080629B0: .4byte gUnknown_8106C00
-_080629B4:
- bl sub_8083D08
- b _08062AF4
-_080629BA:
- cmp r6, 0x2
- bne _080629CA
- add r1, sp, 0x4C
- ldr r0, _08062A38
-_080629C2:
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_080629CA:
- add r0, sp, 0x4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8061130
- movs r0, 0x1
- bl sub_80073B8
- ldr r0, _08062A3C
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0x3
- movs r3, 0x1
- bl xxx_call_draw_string
- movs r0, 0x1
- bl sub_80073E0
- ldr r0, _08062A40
- mov r9, r0
- add r7, sp, 0x8
- ldr r1, _08062A44
- mov r10, r1
-_080629FC:
- mov r2, r10
- movs r3, 0x18
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r0, r7, r0
- ldr r5, [r0]
- cmp r5, 0
- blt _08062A70
- ldr r0, _08062A48
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062A4C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08062A5A
- cmp r9, r5
- beq _08062A5A
- cmp r6, 0x1
- bne _08062A50
- adds r0, r4, 0
- bl sub_8062B74
- b _08062A5A
- .align 2, 0
-_08062A38: .4byte gUnknown_8106C18
-_08062A3C: .4byte gUnknown_80FE950
-_08062A40: .4byte 0xfffffc27
-_08062A44: .4byte gUnknown_202EE10
-_08062A48: .4byte gUnknown_203B418
-_08062A4C: .4byte 0x0001357c
-_08062A50:
- cmp r6, 0x2
- bne _08062A5A
- adds r0, r4, 0
- bl sub_8062CA8
-_08062A5A:
- mov r9, r5
- adds r0, r4, 0
- movs r1, 0
- bl sub_806A2BC
- adds r0, r4, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08062A70:
- ldr r5, _08062B40
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldr r4, _08062B44
- ldrh r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08062A98
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08062A98:
- ldrh r1, [r4, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08062AB0
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_08062AB0:
- ldrh r1, [r4, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062AC4
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08062AD8
-_08062AC4:
- movs r3, 0x18
- ldrsh r0, [r5, r3]
- add r1, sp, 0x18
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08062AD4
- b _080629B4
-_08062AD4:
- bl sub_8083D30
-_08062AD8:
- ldr r0, _08062B44
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08062AEC
- ldr r5, _08062B48
- ldrb r0, [r5]
- cmp r0, 0
- beq _080629FC
-_08062AEC:
- bl sub_8083D30
- movs r0, 0x1
- str r0, [sp, 0x7C]
-_08062AF4:
- ldr r4, _08062B40
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- bl sub_804AA60
- bl sub_8083600
- movs r1, 0
- bl sub_806A2BC
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x4
- movs r1, 0x3E
- bl sub_803E708
- ldr r1, [sp, 0x7C]
- cmp r1, 0
- bne _08062B3C
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r7, r0
- ldr r5, [r0]
- mov r3, r8
- cmp r3, 0
- beq _08062B38
- str r5, [r3]
-_08062B38:
- cmp r5, 0
- bge _08062B4C
-_08062B3C:
- movs r0, 0
- b _08062B5A
- .align 2, 0
-_08062B40: .4byte gUnknown_202EE10
-_08062B44: .4byte gUnknown_20255F0
-_08062B48: .4byte gUnknown_202EE3A
-_08062B4C:
- ldr r0, _08062B6C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r5, _08062B70
- adds r0, r5
- adds r0, r1
- ldr r0, [r0]
-_08062B5A:
- add sp, 0x80
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08062B6C: .4byte gUnknown_203B418
-_08062B70: .4byte 0x0001357c
- thumb_func_end sub_8062978
-
- thumb_func_start sub_8062B74
-sub_8062B74:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r10, r0
- ldr r0, [r0, 0x70]
- mov r9, r0
- movs r0, 0x2
- bl sub_8008C54
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _08062BD0
- mov r1, r10
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08062BD4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0x2
- bl sub_8014FF0
- movs r1, 0x10
- mov r8, r1
- mov r0, r9
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08062BDE
- mov r0, r9
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08062BCA
- cmp r0, 0x47
- bne _08062BD8
-_08062BCA:
- movs r0, 0x1
- b _08062BDA
- .align 2, 0
-_08062BD0: .4byte gUnknown_202DF98
-_08062BD4: .4byte gUnknown_80FE978
-_08062BD8:
- movs r0, 0
-_08062BDA:
- cmp r0, 0
- beq _08062BF4
-_08062BDE:
- ldr r2, _08062BF0
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- mov r1, r8
- movs r3, 0x2
- bl sub_8014FF0
- b _08062C8A
- .align 2, 0
-_08062BF0: .4byte gUnknown_8106C90
-_08062BF4:
- movs r7, 0
- movs r4, 0x8C
- lsls r4, 1
- add r4, r9
- adds r5, r4, 0
-_08062BFE:
- add r0, sp, 0x4
- movs r1, 0
- movs r2, 0xC
- bl memset
- movs r0, 0x6A
- str r0, [sp, 0x8]
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08062C80
- mov r1, r9
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08062C22
- movs r0, 0x2
- b _08062C24
-_08062C22:
- movs r0, 0x4
-_08062C24:
- str r0, [sp, 0x4]
- mov r0, r10
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80573CC
- add r1, sp, 0x4
- movs r2, 0
- lsls r0, 24
- cmp r0, 0
- bne _08062C3C
- movs r2, 0x1
-_08062C3C:
- strb r2, [r1, 0x8]
- ldr r0, _08062CA0
- adds r1, r5, 0
- add r2, sp, 0x4
- bl sub_80928C0
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- movs r6, 0xD
- cmp r0, 0
- bne _08062C6C
- movs r6, 0x8
- cmp r7, 0
- beq _08062C6C
- mov r2, r8
- subs r2, 0x2
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0x2
- movs r1, 0xC
- movs r3, 0x78
- bl sub_80078A4
-_08062C6C:
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- mov r1, r8
- ldr r2, _08062CA4
- movs r3, 0x2
- bl sub_8014FF0
- movs r0, 0xC
- add r8, r0
-_08062C80:
- adds r4, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x3
- ble _08062BFE
-_08062C8A:
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08062CA0: .4byte gUnknown_202DE58
-_08062CA4: .4byte gUnknown_8106C98
- thumb_func_end sub_8062B74
-
- thumb_func_start sub_8062CA8
-sub_8062CA8:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r5, [r4, 0x70]
- movs r0, 0x2
- bl sub_8008C54
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _08062CF8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08062CFC
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0x2
- bl sub_8014FF0
- movs r7, 0x8
- movs r6, 0x12
- adds r0, r5, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08062D08
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08062CF4
- cmp r0, 0x47
- bne _08062D00
-_08062CF4:
- movs r0, 0x1
- b _08062D02
- .align 2, 0
-_08062CF8: .4byte gUnknown_202DF98
-_08062CFC: .4byte gUnknown_80FE940
-_08062D00:
- movs r0, 0
-_08062D02:
- adds r4, r0, 0
- cmp r4, 0
- beq _08062D18
-_08062D08:
- ldr r2, _08062D14
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- b _08062D2C
- .align 2, 0
-_08062D14: .4byte gUnknown_8106C90
-_08062D18:
- adds r2, r5, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08062D3C
- ldr r2, _08062D38
- str r4, [sp]
- adds r0, r7, 0
-_08062D2C:
- adds r1, r6, 0
- movs r3, 0x2
- bl sub_8014FF0
- b _08062D52
- .align 2, 0
-_08062D38: .4byte gUnknown_8106C9C
-_08062D3C:
- ldr r0, _08062D60
- adds r1, r2, 0
- bl sub_8045C18
- ldr r2, _08062D64
- str r4, [sp]
- adds r0, r7, 0
- adds r1, r6, 0
- movs r3, 0x2
- bl sub_8014FF0
-_08062D52:
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08062D60: .4byte gUnknown_202DE58
-_08062D64: .4byte gUnknown_8106C98
- thumb_func_end sub_8062CA8
-
- thumb_func_start sub_8062D68
-sub_8062D68:
- push {lr}
- ldr r0, _08062D84
- movs r1, 0
- strh r1, [r0, 0x1E]
- strh r1, [r0, 0x20]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- strh r1, [r0, 0x14]
- adds r0, 0x28
- bl sub_801317C
- pop {r0}
- bx r0
- .align 2, 0
-_08062D84: .4byte gUnknown_202EE10
- thumb_func_end sub_8062D68
-
- thumb_func_start sub_8062D88
-sub_8062D88:
- movs r0, 0x1
- bx lr
- thumb_func_end sub_8062D88
-
- thumb_func_start sub_8062D8C
-sub_8062D8C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r0
- ldrb r5, [r0, 0x4]
- ldr r0, _08062E24
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062E28
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x4]
- adds r7, r0, 0
-_08062DAE:
- movs r0, 0
- mov r9, r0
- movs r6, 0
- movs r4, 0
- adds r2, r7, 0x4
- mov r8, r2
-_08062DBA:
- ldr r0, _08062E24
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _08062E28
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _08062DDA
- cmp r4, r5
- bne _08062DD8
- mov r9, r6
-_08062DD8:
- adds r6, 0x1
-_08062DDA:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08062DBA
- adds r0, r7, 0
- movs r1, 0
- bl sub_806A2BC
- mov r0, r8
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
- movs r0, 0x1
- bl sub_8044C10
- str r6, [sp]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x1
- mov r3, r9
- bl sub_8062F90
- lsls r0, 24
- cmp r0, 0
- beq _08062E10
- b _08062F80
-_08062E10:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x6
- bne _08062E6C
- adds r6, r5, 0
- movs r4, 0
- b _08062E2E
- .align 2, 0
-_08062E24: .4byte gUnknown_203B418
-_08062E28: .4byte 0x0001357c
-_08062E2C:
- adds r4, 0x1
-_08062E2E:
- cmp r4, 0x3
- bgt _08062E54
- adds r5, 0x1
- cmp r5, 0x3
- ble _08062E3A
- movs r5, 0
-_08062E3A:
- ldr r0, _08062E64
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062E68
- adds r0, r2
- adds r0, r1
- ldr r7, [r0]
- adds r0, r7, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _08062E2C
-_08062E54:
- mov r0, r10
- strb r5, [r0, 0x4]
- cmp r6, r5
- beq _08062F32
- movs r0, 0
- bl sub_8083CE0
- b _08062F32
- .align 2, 0
-_08062E64: .4byte gUnknown_203B418
-_08062E68: .4byte 0x0001357c
-_08062E6C:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bne _08062EC0
- adds r6, r5, 0
- movs r4, 0
- b _08062E80
-_08062E7E:
- adds r4, 0x1
-_08062E80:
- cmp r4, 0x3
- bgt _08062EA6
- subs r5, 0x1
- cmp r5, 0
- bge _08062E8C
- movs r5, 0x3
-_08062E8C:
- ldr r0, _08062EB8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08062EBC
- adds r0, r2
- adds r0, r1
- ldr r7, [r0]
- adds r0, r7, 0
- bl sub_8071A8C
- lsls r0, 24
- cmp r0, 0
- beq _08062E7E
-_08062EA6:
- mov r0, r10
- strb r5, [r0, 0x4]
- cmp r6, r5
- beq _08062F32
- movs r0, 0
- bl sub_8083CE0
- b _08062F32
- .align 2, 0
-_08062EB8: .4byte gUnknown_203B418
-_08062EBC: .4byte 0x0001357c
-_08062EC0:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1D
- bne _08062ED6
- bl sub_805F1A0
- bl sub_80637E8
- b _08062F32
-_08062ED6:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bne _08062EF6
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- movs r1, 0x1
- bl sub_8063A70
- b _08062F32
-_08062EF6:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x33
- bne _08062F16
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- movs r1, 0
- bl sub_8063A70
- b _08062F32
-_08062F16:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1F
- bne _08062F3A
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- bl sub_8063B54
-_08062F32:
- movs r0, 0x1
- bl sub_8044C10
- b _08062F5E
-_08062F3A:
- bl sub_805F1AC
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x21
- bne _08062F5E
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- bl sub_805F1A0
- movs r1, 0x1
- bl sub_8063CF0
- movs r0, 0x1
- bl sub_8044C10
-_08062F5E:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _08062F6A
- b _08062DAE
-_08062F6A:
- ldr r0, [sp, 0x4]
- movs r1, 0
- bl sub_806A2BC
- ldr r0, [sp, 0x4]
- adds r0, 0x4
- movs r1, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_804A728
-_08062F80:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8062D8C
-
- thumb_func_start sub_8062F90
-sub_8062F90:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE8
- mov r8, r0
- str r3, [sp, 0xDC]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0xD4]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xD8]
- ldr r0, [r0, 0x70]
- mov r9, r0
- bl sub_8083600
- ldr r0, [r0, 0x70]
- str r0, [sp, 0xE4]
- add r4, sp, 0x70
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x74]
- add r0, sp, 0x78
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x7C
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x7E
- movs r1, 0x10
- strh r1, [r0]
- add r0, sp, 0x80
- strh r1, [r0]
- add r5, sp, 0xD0
- str r5, [sp, 0x84]
- movs r1, 0x3
- str r1, [sp, 0x8C]
- add r0, sp, 0xA0
- str r1, [r0, 0x4]
- add r0, sp, 0xB8
- str r1, [r0, 0x4]
- add r0, sp, 0x10
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r0, _080630A4
- str r6, [r0]
- movs r3, 0
- ldr r7, [sp, 0xE4]
- adds r7, 0x44
-_08063008:
- lsls r0, r3, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- mov r1, r9
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063032
- ldrb r1, [r2, 0x1]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063032
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2, 0x1]
- ldr r0, _080630A4
- str r3, [r0]
-_08063032:
- adds r3, 0x1
- cmp r3, 0x3
- ble _08063008
-_08063038:
- movs r5, 0
- movs r2, 0
- str r2, [sp, 0xE0]
- mov r10, r2
- add r0, sp, 0xD0
- str r0, [sp]
- add r1, sp, 0x70
- str r1, [sp, 0x4]
- ldr r2, [sp, 0xDC]
- str r2, [sp, 0x8]
- ldr r0, [sp, 0x108]
- str r0, [sp, 0xC]
- mov r0, r8
- mov r1, r9
- ldr r2, [sp, 0xD4]
- add r3, sp, 0x10
- bl sub_80633E4
-_0806305C:
- ldr r0, _080630A8
- add r1, sp, 0x70
- bl AddMenuCursorSprite_
- movs r0, 0x1E
- bl sub_803E46C
- ldr r2, _080630AC
- ldrh r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080630DE
- ldrh r0, [r2]
- lsrs r0, 8
- movs r1, 0x1
- ands r0, r1
- ldr r1, _080630A8
- movs r2, 0x18
- ldrsh r6, [r1, r2]
- cmp r0, 0
- beq _080630BA
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8092F80
- ldr r1, _080630A4
- str r0, [r1]
- cmp r6, r0
- beq _080630B0
- movs r0, 0
- bl sub_8083CE0
- b _080630B4
- .align 2, 0
-_080630A4: .4byte gUnknown_202F2D8
-_080630A8: .4byte gUnknown_202EE10
-_080630AC: .4byte gUnknown_20255F0
-_080630B0:
- bl sub_8083D30
-_080630B4:
- movs r0, 0x1
- mov r10, r0
- b _080631F4
-_080630BA:
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8092D80
- adds r1, r0, 0
- ldr r0, _08063118
- bl sub_8013780
- ldr r1, _08063118
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r6, r0
- beq _080630DE
- movs r0, 0
- bl sub_8083CE0
-_080630DE:
- ldr r2, _0806311C
- ldrh r1, [r2, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08063150
- ldrh r0, [r2]
- lsrs r0, 8
- movs r1, 0x1
- ands r0, r1
- ldr r4, _08063118
- movs r1, 0x18
- ldrsh r6, [r4, r1]
- cmp r0, 0
- beq _0806312E
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8093130
- ldr r1, _08063120
- str r0, [r1]
- cmp r6, r0
- beq _08063124
- movs r0, 0
- bl sub_8083CE0
- b _08063128
- .align 2, 0
-_08063118: .4byte gUnknown_202EE10
-_0806311C: .4byte gUnknown_20255F0
-_08063120: .4byte gUnknown_202F2D8
-_08063124:
- bl sub_8083D30
-_08063128:
- movs r2, 0x1
- mov r10, r2
- b _080631F4
-_0806312E:
- movs r0, 0x8C
- lsls r0, 1
- add r0, r9
- adds r1, r6, 0
- bl sub_8092DB8
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8013780
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r6, r0
- beq _08063150
- movs r0, 0
- bl sub_8083CE0
-_08063150:
- ldr r4, _08063174
- ldrh r1, [r4, 0x4]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08063168
- ldr r6, _08063178
- adds r0, r6, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806317C
-_08063168:
- adds r0, r7, 0
- movs r1, 0x6
- bl sub_8044C94
- b _080631F4
- .align 2, 0
-_08063174: .4byte gUnknown_20255F0
-_08063178: .4byte gUnknown_202EE10
-_0806317C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0806318E
- adds r0, r6, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063198
-_0806318E:
- adds r0, r7, 0
- movs r1, 0x7
- bl sub_8044C94
- b _080631F4
-_08063198:
- bl sub_8062D88
- ldrh r1, [r4, 0x2]
- ands r0, r1
- cmp r0, 0
- bne _080631AE
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080631C8
-_080631AE:
- ldr r2, [sp, 0xD4]
- cmp r2, 0
- beq _080631C2
- ldrh r0, [r4]
- lsrs r0, 8
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080631C2
- movs r5, 0x3
-_080631C2:
- bl sub_8083D08
- b _080631F4
-_080631C8:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806321C
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08063214
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080631EC
- adds r0, r6, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080631EC
- b _0806305C
-_080631EC:
- bl sub_8083D30
- movs r0, 0x1
- str r0, [sp, 0xE0]
-_080631F4:
- ldr r4, _08063210
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1E
- bl sub_803E46C
- ldrh r0, [r7]
- subs r0, 0x6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _08063224
- b _080633CC
- .align 2, 0
-_08063210: .4byte gUnknown_202EE10
-_08063214:
- movs r5, 0x2
- bl sub_8083D44
- b _080631F4
-_0806321C:
- movs r5, 0x1
- bl sub_8083D44
- b _080631F4
-_08063224:
- mov r1, r10
- cmp r1, 0
- beq _0806322C
- b _08063038
-_0806322C:
- ldr r2, [sp, 0xE0]
- cmp r2, 0
- beq _08063234
- b _080633B6
-_08063234:
- ldr r6, _08063270
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- str r0, [r6]
- cmp r5, 0x1
- bne _08063274
- adds r0, r7, 0
- movs r1, 0x1D
- bl sub_8044C94
- mov r0, r8
- adds r0, 0x24
- ldrb r1, [r0]
- ldr r0, [sp, 0xE4]
- adds r0, 0x48
- strb r1, [r0]
- ldr r1, [r6]
- ldr r0, [sp, 0xE4]
- adds r0, 0x50
- strb r1, [r0]
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x8
- movs r1, 0x1B
- bl sub_803E708
- b _080633B6
- .align 2, 0
-_08063270: .4byte gUnknown_202F2D8
-_08063274:
- mov r0, r8
- ldr r1, [sp, 0xD4]
- ldr r2, [sp, 0xD8]
- bl sub_8063698
- cmp r5, 0x3
- bne _08063298
- movs r0, 0x20
- bl sub_8044FB4
- adds r6, r0, 0
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080632CC
- movs r0, 0x21
- b _080632BC
-_08063298:
- cmp r5, 0x2
- bne _080632DE
- mov r2, r9
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- beq _080632BA
- movs r0, 0x1E
- bl sub_8044FB4
- adds r6, r0, 0
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _080632CC
- movs r0, 0x33
- b _080632BC
-_080632BA:
- movs r0, 0x1F
-_080632BC:
- bl sub_8044FB4
- adds r6, r0, 0
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _080632DE
-_080632CC:
- mov r0, r8
- bl sub_8045B60
- adds r2, r0, 0
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80637BC
- b _080633B6
-_080632DE:
- movs r0, 0x2
- bl sub_8009524
- add r0, sp, 0x10
- movs r1, 0x16
- bl sub_805FC30
- ldr r6, _0806337C
- ldr r5, _08063380
- movs r0, 0x2A
- adds r0, r6
- mov r10, r0
- adds r4, r7, 0
-_080632F8:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0806331C
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_0806331C:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08063334
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08063334:
- bl sub_8062D88
- ldrh r1, [r5, 0x2]
- ands r1, r0
- cmp r1, 0
- bne _0806334A
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063388
-_0806334A:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _08063384
- mov r0, r8
- bl sub_8045B60
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80637A4
- ldrh r0, [r4]
- subs r0, 0x14
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _08063376
- bl sub_8083D08
-_08063376:
- movs r6, 0
- b _080633A0
- .align 2, 0
-_0806337C: .4byte gUnknown_202EE10
-_08063380: .4byte gUnknown_20255F0
-_08063384:
- bl sub_8083D30
-_08063388:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806339A
- mov r2, r10
- ldrb r0, [r2]
- cmp r0, 0
- beq _080632F8
-_0806339A:
- bl sub_8083D30
- movs r6, 0x1
-_080633A0:
- ldr r0, _080633E0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- cmp r6, 0x1
- bne _080633B2
- b _08063038
-_080633B2:
- movs r0, 0
- str r0, [sp, 0xE0]
-_080633B6:
- movs r0, 0x1
- cmp r0, 0
- beq _080633CC
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x8
- movs r1, 0x1E
- bl sub_803E708
-_080633CC:
- ldr r0, [sp, 0xE0]
- add sp, 0xE8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080633E0: .4byte gUnknown_202EE10
- thumb_func_end sub_8062F90
-
- thumb_func_start sub_80633E4
-sub_80633E4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0x20]
- adds r7, r1, 0
- adds r4, r3, 0
- ldr r0, [sp, 0x44]
- mov r8, r0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- add r1, sp, 0x8
- ldr r0, _08063508
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- movs r0, 0
- add r5, sp, 0x50
- ldrb r6, [r5]
- mov r5, r8
- strb r6, [r5]
- add r6, sp, 0x4C
- ldrb r6, [r6]
- strb r6, [r5, 0x1]
- strb r0, [r5, 0x3]
- movs r6, 0
- ldr r5, _0806350C
- ldr r0, _08063510
- mov r9, r0
- movs r1, 0x1
- mov r12, r1
- movs r3, 0x8C
- lsls r3, 1
- adds r2, r7, r3
- movs r3, 0x3
-_08063432:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _0806343E
- adds r6, 0x1
-_0806343E:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08063432
- movs r3, 0x4
- mov r1, r9
- ldr r0, [r1]
- movs r1, 0
- strh r0, [r5, 0x18]
- strh r6, [r5, 0x1A]
- strh r3, [r5, 0x1C]
- add r2, sp, 0x4C
- ldrh r2, [r2]
- strh r2, [r5, 0x1E]
- add r3, sp, 0x50
- ldrh r3, [r3]
- strh r3, [r5, 0x20]
- strh r1, [r5, 0x4]
- movs r0, 0x10
- strh r0, [r5, 0x6]
- strh r1, [r5, 0x14]
- str r1, [r5]
- adds r0, r5, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0x4
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- strh r0, [r4, 0x10]
- strh r0, [r4, 0xE]
- movs r0, 0xD
- mov r6, r8
- strb r0, [r6, 0x2]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- adds r1, r4, 0
- adds r1, 0x18
- adds r0, r4, 0
- adds r0, 0x48
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- adds r1, r4, 0
- adds r1, 0x30
- add r0, sp, 0x8
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r5, 0
- movs r1, 0
- bl sub_80137B0
- ldr r1, _08063514
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x10
- lsls r0, 3
- strh r0, [r5, 0xC]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r5, 0xE]
- ldr r0, _08063518
- adds r1, r7, 0
- movs r2, 0
- bl sub_80708B4
- movs r3, 0
- movs r5, 0x1
-_080634DE:
- lsls r1, r3, 3
- movs r4, 0x8C
- lsls r4, 1
- adds r1, r4
- adds r1, r7, r1
- ldr r6, [sp, 0x48]
- adds r4, r6, r3
- movs r0, 0
- strb r0, [r4]
- ldrb r1, [r1]
- adds r2, r5, 0
- ands r2, r1
- cmp r2, 0
- bne _0806351C
- ldr r1, _0806350C
- movs r4, 0x18
- ldrsh r0, [r1, r4]
- cmp r0, r3
- bne _08063526
- strh r2, [r1, 0x18]
- b _08063526
- .align 2, 0
-_08063508: .4byte gUnknown_8106CAC
-_0806350C: .4byte gUnknown_202EE10
-_08063510: .4byte gUnknown_202F2D8
-_08063514: .4byte gUnknown_2027370
-_08063518: .4byte gUnknown_202DF98
-_0806351C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063526
- strb r5, [r4]
-_08063526:
- adds r3, 0x1
- cmp r3, 0x3
- ble _080634DE
- movs r5, 0x8C
- lsls r5, 1
- adds r2, r7, r5
- mov r6, r10
- str r6, [sp]
- ldr r0, [sp, 0x4C]
- str r0, [sp, 0x4]
- movs r0, 0x4
- ldr r1, [sp, 0x20]
- movs r3, 0
- bl sub_8063578
- movs r0, 0x2
- bl sub_80073B8
- ldr r0, _08063574
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- movs r1, 0
- movs r3, 0x2
- bl sub_8014FF0
- movs r0, 0x2
- bl sub_80073E0
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063574: .4byte gUnknown_80FDFE8
- thumb_func_end sub_80633E4
-
- thumb_func_start sub_8063578
-sub_8063578:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- adds r5, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x40]
- ldr r4, [sp, 0x44]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- ldr r0, [r1, 0x70]
- str r0, [sp, 0x1C]
- mov r0, r8
- bl sub_80073B8
- ldr r0, _080635FC
- ldr r1, [sp, 0x14]
- movs r2, 0
- bl sub_8045B94
- lsls r4, 3
- adds r4, 0xA
- ldr r0, _08063600
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- mov r3, r8
- bl sub_8014FF0
- movs r1, 0
- mov r9, r1
- ldr r0, [sp, 0x10]
- cmp r9, r0
- bge _08063676
- add r1, sp, 0x4
- mov r10, r1
- adds r7, r5, 0
-_080635D0:
- movs r0, 0
- str r0, [sp, 0x4]
- movs r0, 0x6A
- str r0, [sp, 0x8]
- movs r0, 0
- mov r1, r10
- strb r0, [r1, 0x8]
- mov r1, sp
- ldrb r0, [r1, 0x18]
- mov r1, r10
- strb r0, [r1, 0x9]
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063668
- ldr r1, [sp, 0x1C]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _08063604
- movs r0, 0x2
- b _08063606
- .align 2, 0
-_080635FC: .4byte gUnknown_202DF98
-_08063600: .4byte gUnknown_80FE978
-_08063604:
- movs r0, 0x4
-_08063606:
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x14]
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80573CC
- add r1, sp, 0x4
- movs r2, 0
- lsls r0, 24
- cmp r0, 0
- bne _0806361E
- movs r2, 0x1
-_0806361E:
- strb r2, [r1, 0x8]
- ldr r0, _0806368C
- adds r1, r5, 0
- add r2, sp, 0x4
- bl sub_80928C0
- ldr r0, _08063690
- mov r1, r9
- bl sub_8013800
- adds r4, r0, 0
- ldrb r1, [r7]
- movs r0, 0x2
- ands r0, r1
- movs r6, 0xD
- cmp r0, 0
- bne _08063658
- movs r6, 0x8
- mov r0, r9
- cmp r0, 0
- beq _08063658
- subs r2, r4, 0x2
- movs r0, 0x7
- str r0, [sp]
- mov r0, r8
- movs r1, 0xC
- movs r3, 0x78
- bl sub_80078A4
-_08063658:
- movs r1, 0
- str r1, [sp]
- adds r0, r6, 0
- adds r1, r4, 0
- ldr r2, _08063694
- mov r3, r8
- bl sub_8014FF0
-_08063668:
- adds r7, 0x8
- adds r5, 0x8
- movs r0, 0x1
- add r9, r0
- ldr r1, [sp, 0x10]
- cmp r9, r1
- blt _080635D0
-_08063676:
- mov r0, r8
- bl sub_80073E0
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806368C: .4byte gUnknown_202DE58
-_08063690: .4byte gUnknown_202EE10
-_08063694: .4byte gUnknown_8106CC4
- thumb_func_end sub_8063578
-
- thumb_func_start sub_8063698
-sub_8063698:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r4, [r0, 0x70]
- ldr r0, _080636E8
- ldr r0, [r0]
- lsls r0, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r5, r4, r0
- ldr r1, _080636EC
- movs r0, 0
- str r0, [r1]
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _080636FA
- cmp r7, 0
- beq _080636D0
- movs r0, 0x14
- movs r1, 0
- bl sub_8044F5C
-_080636D0:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063702
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080636F0
- movs r0, 0x33
- b _080636F2
- .align 2, 0
-_080636E8: .4byte gUnknown_202F2D8
-_080636EC: .4byte gUnknown_202EE6C
-_080636F0:
- movs r0, 0x1E
-_080636F2:
- movs r1, 0
- bl sub_8044F5C
- b _08063702
-_080636FA:
- movs r0, 0x1F
- movs r1, 0
- bl sub_8044F5C
-_08063702:
- cmp r6, 0
- beq _08063716
- movs r0, 0x20
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x21
- movs r1, 0
- bl sub_8044F5C
-_08063716:
- movs r0, 0x1D
- movs r1, 0
- bl sub_8044F5C
- cmp r6, 0
- bne _0806372A
- movs r0, 0x20
- bl sub_8044FF0
- b _08063754
-_0806372A:
- ldr r5, _080637A0
- ldr r1, [r5]
- adds r0, r4, 0
- bl sub_8063C88
- lsls r0, 24
- cmp r0, 0
- bne _08063740
- movs r0, 0x20
- bl sub_8044FF0
-_08063740:
- ldr r1, [r5]
- adds r0, r4, 0
- bl sub_8063DD4
- lsls r0, 24
- cmp r0, 0
- bne _08063754
- movs r0, 0x21
- bl sub_8044FF0
-_08063754:
- ldr r5, _080637A0
- ldr r1, [r5]
- adds r0, r4, 0
- bl sub_8063DD4
- lsls r0, 24
- cmp r0, 0
- bne _0806376A
- movs r0, 0x21
- bl sub_8044FF0
-_0806376A:
- cmp r7, 0
- beq _08063792
- movs r0, 0
- ldr r1, [r5]
- cmp r1, 0x3
- bgt _08063788
- mov r0, r8
- movs r2, 0x1
- bl sub_8057348
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r0, r1, 31
-_08063788:
- cmp r0, 0
- bne _08063792
- movs r0, 0x14
- bl sub_8044FF0
-_08063792:
- bl sub_8045064
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080637A0: .4byte gUnknown_202F2D8
- thumb_func_end sub_8063698
-
- thumb_func_start sub_80637A4
-sub_80637A4:
- push {lr}
- adds r2, r1, 0
- ldr r1, _080637B8
- movs r3, 0x18
- ldrsh r1, [r1, r3]
- bl sub_80637BC
- pop {r0}
- bx r0
- .align 2, 0
-_080637B8: .4byte gUnknown_202EE10
- thumb_func_end sub_80637A4
-
- thumb_func_start sub_80637BC
-sub_80637BC:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- ldr r0, _080637E0
- lsls r1, 2
- adds r1, r0
- ldrh r1, [r1]
- adds r0, r4, 0
- bl sub_8044C94
- strb r5, [r4, 0x4]
- ldr r0, _080637E4
- ldr r0, [r0]
- strb r0, [r4, 0xC]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080637E0: .4byte gUnknown_202EE44
-_080637E4: .4byte gUnknown_202F2D8
- thumb_func_end sub_80637BC
-
- thumb_func_start sub_80637E8
-sub_80637E8:
- push {lr}
- adds r3, r0, 0
- ldr r0, _08063828
- ldr r1, [r0]
- ldrb r0, [r3, 0x4]
- lsls r0, 2
- ldr r2, _0806382C
- adds r1, r2
- adds r1, r0
- ldr r0, [r1]
- ldr r0, [r0, 0x70]
- ldrb r1, [r3, 0xC]
- lsls r1, 3
- adds r1, r0, r1
- ldr r2, _08063830
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- movs r1, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- ldrb r1, [r3, 0xC]
- movs r2, 0x4
- bl sub_8063834
- pop {r0}
- bx r0
- .align 2, 0
-_08063828: .4byte gUnknown_203B418
-_0806382C: .4byte 0x0001357c
-_08063830: .4byte 0x00000119
- thumb_func_end sub_80637E8
-
- thumb_func_start sub_8063834
-sub_8063834:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x7C
- str r0, [sp, 0x74]
- str r1, [sp, 0x78]
- adds r4, r2, 0
- mov r0, sp
- bl sub_80140B4
- add r0, sp, 0x70
- str r0, [sp, 0x14]
- movs r1, 0x1
- mov r9, r1
- ldr r3, [sp, 0x78]
- adds r3, 0x1
- add r2, sp, 0x60
- mov r10, r2
- cmp r3, r4
- bge _08063894
- lsls r0, r3, 3
- ldr r1, [sp, 0x74]
- adds r2, r0, r1
- ldrb r1, [r2]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08063894
- movs r6, 0x2
- movs r5, 0x1
-_08063874:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08063894
- movs r0, 0x1
- add r9, r0
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, r4
- bge _08063894
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08063874
-_08063894:
- movs r4, 0
- ldr r6, _0806393C
-_08063898:
- movs r7, 0
- mov r1, r9
- add r2, sp, 0x70
- strb r1, [r2]
- adds r1, r2, 0
- strb r4, [r1, 0x1]
- movs r0, 0xC
- strb r0, [r1, 0x2]
- strb r7, [r1, 0x3]
- strh r4, [r6, 0x1E]
- mov r0, r9
- strh r0, [r6, 0x20]
- ldr r1, _08063940
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x17
- lsls r0, 3
- strh r0, [r6, 0xC]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r6, 0xE]
- strh r7, [r6, 0x14]
- strh r7, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- str r7, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- strh r7, [r6, 0x18]
- strh r7, [r6, 0x1A]
- strh r7, [r6, 0x1C]
- mov r0, sp
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, [sp, 0x78]
- adds r1, r0, r4
- lsls r1, 3
- ldr r2, [sp, 0x74]
- adds r1, r2, r1
- adds r0, r4, 0
- movs r2, 0
- mov r3, r10
- bl sub_8093DE8
- mov r8, r0
-_080638FE:
- mov r0, r8
- cmp r0, 0
- beq _08063908
- bl sub_8062500
-_08063908:
- ldr r5, _08063944
- adds r0, r5, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x1C
- bl sub_803E46C
- bl sub_8062D88
- ldr r1, _08063948
- ldrh r1, [r1, 0x2]
- ands r0, r1
- cmp r0, 0
- bne _0806392C
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _0806394C
-_0806392C:
- bl sub_8083D08
- movs r7, 0x1
- mov r1, r8
- cmp r1, 0
- beq _080639AE
- movs r7, 0x2
- b _080639AE
- .align 2, 0
-_0806393C: .4byte gUnknown_202EE10
-_08063940: .4byte gUnknown_2027370
-_08063944: .4byte gUnknown_202EE38
-_08063948: .4byte gUnknown_20255F0
-_0806394C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806395A
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _08063962
-_0806395A:
- bl sub_8083D30
- movs r7, 0x1
- b _080639AE
-_08063962:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08063970
- ldrb r0, [r5, 0x4]
- cmp r0, 0
- beq _08063986
-_08063970:
- adds r0, r4, 0
- cmp r4, 0
- bne _08063978
- mov r4, r9
-_08063978:
- subs r4, 0x1
- cmp r0, r4
- beq _080639AE
- movs r0, 0
- bl sub_8083CE0
- b _080639AE
-_08063986:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08063994
- ldrb r0, [r5, 0x3]
- cmp r0, 0
- beq _080638FE
-_08063994:
- adds r1, r4, 0
- mov r0, r9
- subs r0, 0x1
- cmp r4, r0
- bne _080639A2
- movs r4, 0
- b _080639A4
-_080639A2:
- adds r4, 0x1
-_080639A4:
- cmp r1, r4
- beq _080639AE
- movs r0, 0
- bl sub_8083CE0
-_080639AE:
- cmp r7, 0x1
- beq _080639CA
- cmp r7, 0
- bne _080639B8
- b _08063898
-_080639B8:
- mov r2, r8
- cmp r2, 0
- bne _080639C0
- b _08063898
-_080639C0:
- mov r0, r8
- mov r1, r10
- bl sub_80625A4
- b _08063898
-_080639CA:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x7C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8063834
-
- thumb_func_start sub_80639E4
-sub_80639E4:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _08063A5C
- adds r0, r4, 0
- bl sub_80140B4
- ldr r0, _08063A60
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08063A64
- ldr r1, [r5]
- bl strcpy
- ldr r2, _08063A68
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldr r2, [r5, 0x4]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x10
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- ldr r0, _08063A6C
- strh r4, [r0, 0x1E]
- strh r4, [r0, 0x20]
- strh r4, [r0, 0xC]
- strh r4, [r0, 0xE]
- strh r4, [r0, 0x14]
- strh r4, [r0, 0x4]
- movs r1, 0x10
- strh r1, [r0, 0x6]
- str r4, [r0]
- strh r4, [r0, 0x18]
- strh r4, [r0, 0x1A]
- strh r4, [r0, 0x1C]
- adds r0, r6, 0
- bl sub_801317C
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08063A5C: .4byte gUnknown_202F278
-_08063A60: .4byte gUnknown_8106CC8
-_08063A64: .4byte gUnknown_202DF98
-_08063A68: .4byte gUnknown_8106CCC
-_08063A6C: .4byte gUnknown_202EE10
- thumb_func_end sub_80639E4
-
- thumb_func_start sub_8063A70
-sub_8063A70:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r1, _08063B1C
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063B20
- adds r2, r3
- adds r2, r1
- ldr r6, [r2]
- ldr r5, [r6, 0x70]
- ldrb r0, [r0, 0xC]
- lsls r0, 3
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r2
- adds r4, r5, r0
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r0, 31
- mov r8, r0
- ldr r0, _08063B24
- mov r9, r0
- movs r1, 0x1
- mov r12, r1
- adds r2, r5, r2
- movs r7, 0xF7
- movs r3, 0x3
-_08063ABC:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _08063ACC
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r2]
-_08063ACC:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08063ABC
- mov r0, r9
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- mov r3, r8
- cmp r3, 0
- bne _08063AEC
- ldrb r1, [r4]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r4]
-_08063AEC:
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r5, r1
- bl sub_80936D8
- ldrb r1, [r4, 0x1]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _08063B28
- bl sub_8083E38
- mov r3, r10
- cmp r3, 0
- beq _08063B42
- mov r0, r8
- cmp r0, 0
- bne _08063B30
- ldr r0, _08063B2C
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _08063B3A
- .align 2, 0
-_08063B1C: .4byte gUnknown_203B418
-_08063B20: .4byte 0x0001357c
-_08063B24: .4byte gUnknown_202DE58
-_08063B28: .4byte 0x00000133
-_08063B2C: .4byte gUnknown_80F8B40
-_08063B30:
- ldr r0, _08063B50
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
-_08063B3A:
- movs r0, 0x78
- movs r1, 0x1F
- bl sub_803E708
-_08063B42:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063B50: .4byte gUnknown_80F8B64
- thumb_func_end sub_8063A70
-
- thumb_func_start sub_8063B54
-sub_8063B54:
- push {r4-r6,lr}
- ldr r1, _08063BA4
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063BA8
- adds r2, r3
- adds r2, r1
- ldr r1, [r2]
- ldr r5, [r1, 0x70]
- ldrb r4, [r0, 0xC]
- lsls r4, 3
- movs r6, 0x8C
- lsls r6, 1
- adds r4, r6
- adds r4, r5, r4
- ldr r0, _08063BAC
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- ldrb r0, [r4]
- movs r1, 0x4
- eors r0, r1
- strb r0, [r4]
- adds r5, r6
- adds r0, r5, 0
- bl sub_80936D8
- ldrb r1, [r4, 0x1]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _08063BB0
- bl sub_8083E38
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08063BA4: .4byte gUnknown_203B418
-_08063BA8: .4byte 0x0001357c
-_08063BAC: .4byte gUnknown_202DE58
-_08063BB0: .4byte 0x00000133
- thumb_func_end sub_8063B54
-
- thumb_func_start sub_8063BB4
-sub_8063BB4:
- push {r4-r7,lr}
- ldr r1, _08063C70
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063C74
- adds r2, r3
- adds r2, r1
- ldr r1, [r2]
- ldr r6, [r1, 0x70]
- ldrb r5, [r0, 0xC]
- ldr r0, _08063C78
- lsls r4, r5, 3
- movs r7, 0x8C
- lsls r7, 1
- adds r1, r4, r7
- adds r1, r6, r1
- movs r2, 0
- bl sub_80928C0
- adds r4, r6, r4
- ldr r0, _08063C7C
- adds r2, r4, r0
- ldrb r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r2]
- movs r3, 0
- adds r5, 0x1
- cmp r5, 0x3
- bgt _08063C2C
- lsls r2, r5, 3
- adds r0, r2, r6
- adds r1, r7, 0
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063C2C
- adds r0, r2, r7
- adds r2, r0, r6
- movs r4, 0x2
-_08063C0A:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08063C2C
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08063C2C
- adds r2, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bgt _08063C2C
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08063C0A
-_08063C2C:
- lsls r0, r5, 3
- adds r0, r6
- movs r4, 0x8C
- lsls r4, 1
- adds r0, r4
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08063C42
- movs r5, 0x4
-_08063C42:
- cmp r5, 0x3
- bgt _08063C5C
- lsls r1, r5, 3
- adds r1, r4
- adds r1, r6, r1
- ldrb r2, [r1]
- movs r0, 0x2
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _08063C80
- movs r2, 0
- bl sub_80928C0
-_08063C5C:
- adds r0, r6, r4
- bl sub_80936D8
- ldr r0, _08063C84
- bl sub_8083E38
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063C70: .4byte gUnknown_203B418
-_08063C74: .4byte 0x0001357c
-_08063C78: .4byte gUnknown_202DE58
-_08063C7C: .4byte 0x00000119
-_08063C80: .4byte gUnknown_202DEA8
-_08063C84: .4byte 0x00000133
- thumb_func_end sub_8063BB4
-
- thumb_func_start sub_8063C88
-sub_8063C88:
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r7, 0
- adds r5, r1, 0
- lsls r0, r5, 3
- adds r0, r4, r0
- movs r1, 0x8D
- lsls r1, 1
- adds r0, r1
- ldrh r0, [r0]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- beq _08063CAE
-_08063CA6:
- movs r0, 0
- b _08063CEA
-_08063CAA:
- movs r7, 0x1
- b _08063CE8
-_08063CAE:
- adds r5, 0x1
- movs r6, 0
- lsls r0, r5, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r4, r0, r4
-_08063CBC:
- ldrh r0, [r4, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- bne _08063CA6
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08063CE8
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063CAA
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- bgt _08063CE8
- adds r6, 0x1
- cmp r6, 0x3
- ble _08063CBC
-_08063CE8:
- adds r0, r7, 0
-_08063CEA:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8063C88
-
- thumb_func_start sub_8063CF0
-sub_8063CF0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r1, _08063D98
- ldr r2, [r1]
- ldrb r1, [r0, 0x4]
- lsls r1, 2
- ldr r3, _08063D9C
- adds r2, r3
- adds r2, r1
- ldr r7, [r2]
- ldr r6, [r7, 0x70]
- ldrb r5, [r0, 0xC]
- movs r0, 0
- mov r8, r0
- ldr r0, _08063DA0
- lsls r4, r5, 3
- movs r1, 0x8C
- lsls r1, 1
- mov r9, r1
- adds r1, r4, r1
- adds r1, r6, r1
- movs r2, 0
- bl sub_80928C0
- adds r4, r6, r4
- ldr r3, _08063DA4
- adds r2, r4, r3
- ldrb r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strb r0, [r2]
- adds r5, 0x1
- movs r3, 0
- cmp r5, 0x3
- bgt _08063D70
- movs r0, 0x2
- mov r12, r0
- lsls r0, r5, 3
- add r0, r9
- adds r2, r0, r6
- movs r4, 0xFD
-_08063D4E:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _08063D70
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2]
- movs r1, 0x1
- mov r8, r1
- adds r2, 0x8
- adds r5, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08063D70
- cmp r5, 0x3
- ble _08063D4E
-_08063D70:
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r6, r2
- bl sub_80936D8
- ldr r0, _08063DA8
- bl sub_8083E38
- mov r3, r10
- cmp r3, 0
- beq _08063DC2
- mov r0, r8
- cmp r0, 0
- beq _08063DB0
- ldr r0, _08063DAC
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _08063DBA
- .align 2, 0
-_08063D98: .4byte gUnknown_203B418
-_08063D9C: .4byte 0x0001357c
-_08063DA0: .4byte gUnknown_202DE58
-_08063DA4: .4byte 0x00000119
-_08063DA8: .4byte 0x00000133
-_08063DAC: .4byte gUnknown_80F8B88
-_08063DB0:
- ldr r0, _08063DD0
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_08063DBA:
- movs r0, 0x78
- movs r1, 0x1F
- bl sub_803E708
-_08063DC2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08063DD0: .4byte gUnknown_80F8BB4
- thumb_func_end sub_8063CF0
-
- thumb_func_start sub_8063DD4
-sub_8063DD4:
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r5, 0
- adds r2, 0x1
- movs r4, 0
- cmp r2, 0x3
- bgt _08063E20
- lsls r0, r2, 3
- movs r6, 0x8C
- lsls r6, 1
- adds r0, r6
- adds r0, r3, r0
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08063E20
- movs r5, 0x1
- adds r2, 0x1
- movs r7, 0x2
- lsls r0, r2, 3
- adds r0, r6
- adds r3, r0, r3
-_08063E04:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08063E20
- cmp r2, 0x3
- bgt _08063E20
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08063E20
- movs r5, 0x1
- adds r3, 0x8
- adds r2, 0x1
- b _08063E04
-_08063E20:
- cmp r5, 0
- bne _08063E28
- movs r0, 0
- b _08063E2A
-_08063E28:
- movs r0, 0x1
-_08063E2A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8063DD4
-
- thumb_func_start sub_8063E30
-sub_8063E30:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r1, 0x1
- movs r4, 0
- cmp r1, 0x7
- bgt _08063E62
- movs r7, 0x2
- movs r6, 0xFD
- lsls r0, r1, 3
- adds r3, r0, r5
-_08063E44:
- ldrb r2, [r3]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _08063E62
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r3]
- adds r3, 0x8
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0x7
- bgt _08063E62
- cmp r1, 0x7
- ble _08063E44
-_08063E62:
- adds r0, r5, 0
- bl sub_80936F4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8063E30
-
- thumb_func_start sub_8063E70
-sub_8063E70:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xD0
- str r0, [sp, 0xC4]
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xC8]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xCC]
- add r4, sp, 0x60
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x64]
- add r0, sp, 0x68
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x6C
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x6E
- movs r1, 0x10
- strh r1, [r0]
- add r0, sp, 0x70
- strh r1, [r0]
- add r5, sp, 0xC0
- str r5, [sp, 0x74]
- movs r1, 0x3
- str r1, [sp, 0x7C]
- add r0, sp, 0x90
- str r1, [r0, 0x4]
- add r0, sp, 0xA8
- str r1, [r0, 0x4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r0, _08063F80
- str r6, [r0]
- ldr r1, _08063F84
- mov r8, r1
- mov r9, r0
- ldr r2, _08063F88
- mov r10, r2
-_08063EE0:
- ldr r0, [sp, 0xC4]
- adds r1, r7, 0
- mov r2, sp
- add r3, sp, 0xC0
- bl sub_8064228
-_08063EEC:
- mov r0, r8
- bl AddMenuCursorSprite
- movs r0, 0x1E
- bl sub_803E46C
- mov r0, r10
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08063F2A
- mov r1, r8
- movs r2, 0x18
- ldrsh r4, [r1, r2]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8092E1C
- adds r1, r0, 0
- mov r0, r8
- bl sub_8013780
- mov r1, r8
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r4, r0
- beq _08063F2A
- movs r0, 0
- bl sub_8083CE0
-_08063F2A:
- mov r0, r10
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08063F5C
- mov r1, r8
- movs r2, 0x18
- ldrsh r4, [r1, r2]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8092E8C
- adds r1, r0, 0
- mov r0, r8
- bl sub_8013780
- mov r1, r8
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r4, r0
- beq _08063F5C
- movs r0, 0
- bl sub_8083CE0
-_08063F5C:
- bl sub_8062D88
- mov r2, r10
- ldrh r1, [r2, 0x2]
- ands r0, r1
- cmp r0, 0
- bne _08063F76
- ldr r2, _08063F84
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063F8C
-_08063F76:
- bl sub_8083D08
- movs r4, 0
- b _08063FB2
- .align 2, 0
-_08063F80: .4byte gUnknown_202F2D8
-_08063F84: .4byte gUnknown_202EE10
-_08063F88: .4byte gUnknown_20255F0
-_08063F8C:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08063FD4
- ldr r0, [sp, 0xCC]
- cmp r0, 0
- beq _08063EEC
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08063FAC
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _08063EEC
-_08063FAC:
- bl sub_8083D30
- movs r4, 0x1
-_08063FB2:
- ldr r5, _08063FD0
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x1E
- bl sub_803E46C
- cmp r4, 0x1
- bne _08063FDC
- movs r0, 0x1
- negs r0, r0
- mov r1, r9
- str r0, [r1]
- b _080640FA
- .align 2, 0
-_08063FD0: .4byte gUnknown_202EE10
-_08063FD4:
- bl sub_8083D44
- movs r4, 0x2
- b _08063FB2
-_08063FDC:
- ldr r6, _08064004
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- str r0, [r6]
- cmp r4, 0x2
- bne _08064008
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- movs r0, 0x8
- movs r1, 0x1B
- bl sub_803E708
- ldr r1, [r6]
- adds r0, r7, 0
- movs r2, 0x4
- bl sub_8063834
- b _08063EE0
- .align 2, 0
-_08064004: .4byte gUnknown_202F2D8
-_08064008:
- adds r0, r7, 0
- bl sub_8064310
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
- adds r4, r5, 0
- ldr r6, _0806408C
- adds r5, 0x2A
-_0806401C:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064040
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064040:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064058
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08064058:
- bl sub_8062D88
- ldrh r1, [r6, 0x2]
- ands r1, r0
- cmp r1, 0
- bne _0806406E
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806409C
-_0806406E:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _08064098
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0x2
- bne _08064090
- bl sub_8083D08
- b _08064094
- .align 2, 0
-_0806408C: .4byte gUnknown_20255F0
-_08064090:
- bl sub_8083D1C
-_08064094:
- movs r4, 0
- b _080640B2
-_08064098:
- bl sub_8083D30
-_0806409C:
- ldrh r1, [r6, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080640AC
- ldrb r0, [r5]
- cmp r0, 0
- beq _0806401C
-_080640AC:
- bl sub_8083D30
- movs r4, 0x1
-_080640B2:
- ldr r6, _080640E4
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x1B
- bl sub_803E46C
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- cmp r4, 0x1
- bne _080640CE
- b _08063EE0
-_080640CE:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _080640E8
- mov r2, r9
- ldr r1, [r2]
- adds r0, r7, 0
- bl sub_8063E30
- b _08063EE0
- .align 2, 0
-_080640E4: .4byte gUnknown_202EE10
-_080640E8:
- cmp r0, 0x2
- bne _080640FA
- mov r0, r9
- ldr r1, [r0]
- adds r0, r7, 0
- movs r2, 0x8
- bl sub_8063834
- b _08063EE0
-_080640FA:
- ldr r1, _08064140
- ldr r2, [r1]
- cmp r2, 0
- bge _08064104
- b _08064214
-_08064104:
- ldr r0, [sp, 0xC8]
- cmp r0, 0
- beq _08064160
- movs r4, 0
- lsls r0, r2, 3
- adds r1, r7, r0
- adds r0, r2, 0x1
- cmp r0, 0x7
- bgt _08064130
- lsls r0, 3
- adds r0, r7
- ldrb r2, [r0]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08064130
- movs r0, 0x2
- ands r0, r2
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r4, r0, 31
-_08064130:
- ldr r0, _08064144
- movs r2, 0
- bl sub_80928C0
- cmp r4, 0
- beq _0806414C
- ldr r0, _08064148
- b _0806414E
- .align 2, 0
-_08064140: .4byte gUnknown_202F2D8
-_08064144: .4byte gUnknown_202DE58
-_08064148: .4byte gUnknown_80FDF00
-_0806414C:
- ldr r0, _0806415C
-_0806414E:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- adds r3, r0, 0
- b _08064162
- .align 2, 0
-_0806415C: .4byte gUnknown_80FDF70
-_08064160:
- movs r3, 0x1
-_08064162:
- cmp r3, 0x1
- beq _08064168
- b _08063EE0
-_08064168:
- mov r1, r9
- ldr r0, [r1]
- lsls r0, 3
- adds r0, r7
- movs r1, 0
- strb r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r2, r0, 0x1
- cmp r2, 0x7
- bgt _080641BC
- lsls r0, r2, 3
- adds r4, r7, r0
- ldrb r1, [r4]
- ands r3, r1
- cmp r3, 0
- beq _080641BC
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080641BC
- movs r0, 0
- mov r12, r0
- movs r6, 0x1
- adds r3, r4, 0
- movs r5, 0x2
-_0806419C:
- mov r1, r12
- strb r1, [r4]
- adds r3, 0x8
- adds r2, 0x1
- cmp r2, 0x7
- bgt _080641BC
- adds r4, r3, 0
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080641BC
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0806419C
-_080641BC:
- movs r4, 0
- movs r6, 0x1
- adds r3, r7, 0
- add r5, sp, 0x60
- movs r2, 0x7
-_080641C6:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080641D8
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- stm r5!, {r0,r1}
- adds r4, 0x1
-_080641D8:
- adds r3, 0x8
- subs r2, 0x1
- cmp r2, 0
- bge _080641C6
- cmp r4, 0x7
- bgt _080641F4
- movs r1, 0
-_080641E6:
- lsls r0, r4, 3
- add r0, sp
- adds r0, 0x60
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x7
- ble _080641E6
-_080641F4:
- add r4, sp, 0x60
- adds r3, r7, 0
- movs r2, 0x7
-_080641FA:
- ldm r4!, {r0,r1}
- stm r3!, {r0,r1}
- subs r2, 0x1
- cmp r2, 0
- bge _080641FA
- ldr r2, _08064210
- ldr r0, [r2]
- cmp r0, 0
- blt _08064214
- movs r0, 0x1
- b _08064216
- .align 2, 0
-_08064210: .4byte gUnknown_202F2D8
-_08064214:
- movs r0, 0
-_08064216:
- add sp, 0xD0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8063E70
-
- thumb_func_start sub_8064228
-sub_8064228:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- mov r10, r1
- adds r5, r2, 0
- adds r7, r3, 0
- movs r1, 0
- movs r0, 0x1
- strb r0, [r7]
- strb r1, [r7, 0x1]
- strb r1, [r7, 0x3]
- mov r8, r1
- ldr r6, _08064304
- ldr r0, _08064308
- mov r12, r0
- movs r4, 0x1
- mov r2, r10
- movs r3, 0x7
-_08064254:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08064262
- movs r1, 0x1
- add r8, r1
-_08064262:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08064254
- mov r2, r12
- ldr r0, [r2]
- movs r4, 0
- strh r0, [r6, 0x18]
- mov r3, r8
- strh r3, [r6, 0x1A]
- strh r3, [r6, 0x1C]
- strh r4, [r6, 0x1E]
- strh r4, [r6, 0x20]
- strh r4, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- strh r4, [r6, 0xC]
- strh r4, [r6, 0xE]
- strh r4, [r6, 0x14]
- str r4, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- mov r0, r8
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- strh r0, [r5, 0x10]
- strh r0, [r5, 0xE]
- movs r0, 0xE
- strb r0, [r7, 0x2]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- adds r1, r5, 0
- adds r1, 0x18
- adds r0, r5, 0
- adds r0, 0x48
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r1, r5, 0
- adds r1, 0x30
- adds r0, r5, 0
- adds r0, 0x48
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r6, 0
- movs r1, 0
- bl sub_80137B0
- ldr r0, _0806430C
- mov r7, r9
- ldr r1, [r7, 0x70]
- movs r2, 0
- bl sub_80708B4
- str r4, [sp]
- str r4, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- mov r2, r10
- movs r3, 0
- bl sub_8063578
- 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
-_08064304: .4byte gUnknown_202EE10
-_08064308: .4byte gUnknown_202F2D8
-_0806430C: .4byte gUnknown_202DF98
- thumb_func_end sub_8064228
-
- thumb_func_start sub_8064310
-sub_8064310:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08064350
- movs r0, 0
- str r0, [r1]
- movs r0, 0x22
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x21
- movs r1, 0
- bl sub_8044F5C
- ldr r0, _08064354
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_8064358
- lsls r0, 24
- cmp r0, 0
- bne _08064340
- movs r0, 0x21
- bl sub_8044FF0
-_08064340:
- movs r0, 0x1D
- movs r1, 0
- bl sub_8044F5C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08064350: .4byte gUnknown_202EE6C
-_08064354: .4byte gUnknown_202F2D8
- thumb_func_end sub_8064310
-
- thumb_func_start sub_8064358
-sub_8064358:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r5, 0
- adds r2, 0x1
- movs r4, 0
- cmp r2, 0x7
- bgt _0806439C
- lsls r0, r2, 3
- adds r0, r3, r0
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0806439C
- movs r5, 0x1
- adds r2, 0x1
- movs r6, 0x2
- lsls r0, r2, 3
- adds r3, r0, r3
-_08064380:
- adds r4, 0x1
- cmp r4, 0x7
- bgt _0806439C
- cmp r2, 0x7
- bgt _0806439C
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0806439C
- movs r5, 0x1
- adds r3, 0x8
- adds r2, 0x1
- b _08064380
-_0806439C:
- cmp r5, 0
- bne _080643A4
- movs r0, 0
- b _080643A6
-_080643A4:
- movs r0, 0x1
-_080643A6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8064358
-
- thumb_func_start sub_80643AC
-sub_80643AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE4
- adds r7, r0, 0
- add r0, sp, 0x68
- mov r9, r0
- mov r1, sp
- adds r1, 0x6C
- str r1, [sp, 0xD0]
- mov r2, sp
- adds r2, 0x6E
- str r2, [sp, 0xD4]
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0xD8]
- adds r1, 0xC
- str r1, [sp, 0xDC]
- adds r2, 0x22
- str r2, [sp, 0xE0]
- adds r0, 0x38
- str r0, [sp, 0xC8]
- subs r1, 0x18
- str r1, [sp, 0xC4]
- add r2, sp, 0xC0
- mov r10, r2
- ldr r5, _080644C8
- adds r0, r7, 0x4
- str r0, [sp, 0xCC]
- ldr r1, _080644CC
- mov r8, r1
- movs r6, 0
-_080643F0:
- movs r4, 0
- ldr r0, [sp, 0xC4]
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x64]
- movs r0, 0x2
- mov r2, r9
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0x12
- ldr r1, [sp, 0xD0]
- strh r0, [r1]
- movs r0, 0x4
- ldr r2, [sp, 0xD4]
- strh r0, [r2]
- movs r0, 0x10
- ldr r1, [sp, 0xD8]
- strh r0, [r1]
- mov r2, r10
- str r2, [sp, 0x74]
- movs r0, 0x3
- ldr r1, [sp, 0xDC]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x4]
- ldr r1, [sp, 0xC8]
- str r0, [r1, 0x4]
- mov r0, sp
- ldr r1, [sp, 0xC4]
- movs r2, 0x60
- bl memcpy
- bl sub_8083D44
- adds r0, r7, 0x4
- mov r1, sp
- mov r2, r10
- bl sub_806455C
- movs r0, 0x2D
- bl sub_803E46C
- adds r0, r7, 0
- bl sub_80645D4
- strh r4, [r5, 0x8]
- strh r4, [r5, 0xA]
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
-_0806445C:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x2D
- bl sub_803E46C
- mov r2, r8
- ldrh r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064482
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064482:
- mov r0, r8
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0806449C
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_0806449C:
- mov r2, r8
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080644B2
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064510
-_080644B2:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080644D0
- bl sub_8083D08
- ldr r0, [sp, 0xCC]
- bl sub_80645F8
- movs r4, 0x2
- b _0806452A
- .align 2, 0
-_080644C8: .4byte gUnknown_202EE10
-_080644CC: .4byte gUnknown_20255F0
-_080644D0:
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _0806450C
- ldr r4, [r7, 0x70]
- adds r4, 0x44
- ldr r1, _08064508
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_8044C94
- bl sub_8083D08
- strb r6, [r4, 0x4]
- strh r6, [r4, 0x8]
- strh r6, [r4, 0xA]
- strb r6, [r4, 0xC]
- strh r6, [r4, 0x10]
- strh r6, [r4, 0x12]
- movs r4, 0
- b _0806452A
- .align 2, 0
-_08064508: .4byte gUnknown_202EE44
-_0806450C:
- bl sub_8083D30
-_08064510:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064524
- ldr r1, _08064554
- ldrb r0, [r1]
- cmp r0, 0
- beq _0806445C
-_08064524:
- bl sub_8083D30
- movs r4, 0x1
-_0806452A:
- ldr r0, _08064558
- bl AddMenuCursorSprite
- movs r0, 0x2D
- bl sub_803E46C
- cmp r4, 0x2
- bne _0806453C
- b _080643F0
-_0806453C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0xE4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08064554: .4byte gUnknown_202EE3A
-_08064558: .4byte gUnknown_202EE10
- thumb_func_end sub_80643AC
-
- thumb_func_start sub_806455C
-sub_806455C:
- push {r4,r5,lr}
- sub sp, 0x54
- adds r4, r0, 0
- adds r0, r1, 0
- movs r5, 0
- movs r1, 0x1
- strb r1, [r2]
- strb r5, [r2, 0x1]
- movs r1, 0xC
- strb r1, [r2, 0x2]
- strb r5, [r2, 0x3]
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, _080645D0
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, [r4, 0x14]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080645C0
- ldr r1, [r4, 0x14]
- add r0, sp, 0x4
- movs r2, 0
- bl sub_8045B94
- str r5, [sp]
- movs r0, 0x8
- movs r1, 0x12
- add r2, sp, 0x4
- movs r3, 0
- bl xxx_call_draw_string
-_080645C0:
- movs r0, 0
- bl sub_80073E0
- add sp, 0x54
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080645D0: .4byte gUnknown_80FE708
- thumb_func_end sub_806455C
-
- thumb_func_start sub_80645D4
-sub_80645D4:
- push {lr}
- ldr r1, _080645F4
- movs r0, 0
- str r0, [r1]
- movs r0, 0x25
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- bl sub_8045064
- pop {r0}
- bx r0
- .align 2, 0
-_080645F4: .4byte gUnknown_202EE6C
- thumb_func_end sub_80645D4
-
- thumb_func_start sub_80645F8
-sub_80645F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x110
- str r0, [sp, 0xE4]
- mov r0, sp
- adds r0, 0x84
- str r0, [sp, 0xF4]
- mov r1, sp
- adds r1, 0x88
- str r1, [sp, 0xF8]
- mov r2, sp
- adds r2, 0x8C
- str r2, [sp, 0xFC]
- mov r3, sp
- adds r3, 0x8E
- str r3, [sp, 0x100]
- adds r0, 0xC
- str r0, [sp, 0x104]
- adds r1, 0xC
- str r1, [sp, 0x108]
- adds r2, 0xC
- str r2, [sp, 0x10C]
- adds r3, 0x22
- str r3, [sp, 0xEC]
- adds r0, 0x38
- str r0, [sp, 0xF0]
- add r6, sp, 0x14
- subs r1, 0x74
- str r1, [sp, 0xE8]
- add r2, sp, 0x80
- mov r10, r2
- add r3, sp, 0xE0
- mov r9, r3
-_08064640:
- movs r7, 0
- mov r0, r10
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- ldr r1, [sp, 0xF4]
- str r0, [r1]
- movs r0, 0x2
- ldr r2, [sp, 0xF8]
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0x1A
- ldr r3, [sp, 0xFC]
- strh r0, [r3]
- movs r0, 0xC
- ldr r1, [sp, 0x100]
- strh r0, [r1]
- ldr r2, [sp, 0x104]
- strh r0, [r2]
- mov r3, r9
- ldr r0, [sp, 0x108]
- str r3, [r0]
- movs r0, 0x3
- ldr r1, [sp, 0x10C]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xEC]
- str r0, [r2, 0x4]
- ldr r3, [sp, 0xF0]
- str r0, [r3, 0x4]
- ldr r0, [sp, 0xE8]
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- adds r0, r6, 0
- bl sub_801317C
- movs r1, 0x1
- add r0, sp, 0xE0
- strb r1, [r0]
- movs r1, 0
- mov r0, r9
- strb r1, [r0, 0x1]
- movs r0, 0x10
- mov r2, r9
- strb r0, [r2, 0x2]
- strb r1, [r2, 0x3]
- ldr r3, [sp, 0xE4]
- movs r1, 0
- ldrsh r0, [r3, r1]
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl sub_804954C
- ldr r4, [r0, 0x14]
- cmp r4, 0
- bne _080646B8
- b _080647D8
-_080646B8:
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- beq _080646C4
- b _080647D8
-_080646C4:
- ldr r0, [sp, 0xE8]
- movs r1, 0
- bl sub_803ECB4
- adds r0, r4, 0
- bl sub_8045104
- adds r4, r0, 0
- ldrb r1, [r4]
- mov r0, r10
- bl sub_807FE84
- movs r0, 0
- bl sub_80073B8
- str r7, [sp]
- movs r0, 0x10
- movs r1, 0
- mov r2, r10
- movs r3, 0
- bl xxx_call_draw_string
- ldr r5, _08064720
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r5
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r1, 0x18
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- add r1, sp, 0x4
- bl sub_8097DF0
- adds r5, r0, 0
- b _08064738
- .align 2, 0
-_08064720: .4byte gUnknown_80F8130
-_08064724:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064732
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- beq _08064738
-_08064732:
- bl sub_8083D30
- b _080647D8
-_08064738:
- cmp r5, 0
- beq _08064740
- bl sub_8062500
-_08064740:
- adds r0, r6, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08064788
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064760
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _08064724
-_08064760:
- bl sub_8083D08
- cmp r5, 0
- beq _080647D8
- movs r4, 0
- cmp r4, r5
- blt _08064770
- b _08064640
-_08064770:
- subs r3, r5, 0x1
- mov r8, r3
-_08064774:
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0x4
- ldr r0, [r0]
- adds r1, r6, 0
- bl sub_80639E4
- adds r7, r4, 0x1
- b _080647A0
- .align 2, 0
-_08064788: .4byte gUnknown_20255F0
-_0806478C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806479A
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- beq _080647A0
-_0806479A:
- bl sub_8083D30
- b _080647CC
-_080647A0:
- cmp r4, r8
- bge _080647A8
- bl sub_8062500
-_080647A8:
- adds r0, r6, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _080647D4
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080647C8
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _0806478C
-_080647C8:
- bl sub_8083D08
-_080647CC:
- adds r4, r7, 0
- cmp r4, r5
- blt _08064774
- b _08064640
- .align 2, 0
-_080647D4: .4byte gUnknown_20255F0
-_080647D8:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x110
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80645F8
-
- thumb_func_start sub_80647F0
-sub_80647F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE4
- adds r7, r0, 0
- add r0, sp, 0x68
- mov r9, r0
- mov r1, sp
- adds r1, 0x6C
- str r1, [sp, 0xD0]
- mov r2, sp
- adds r2, 0x6E
- str r2, [sp, 0xD4]
- mov r0, sp
- adds r0, 0x70
- str r0, [sp, 0xD8]
- adds r1, 0xC
- str r1, [sp, 0xDC]
- adds r2, 0x22
- str r2, [sp, 0xE0]
- adds r0, 0x38
- str r0, [sp, 0xC8]
- subs r1, 0x18
- str r1, [sp, 0xC4]
- add r2, sp, 0xC0
- mov r10, r2
- ldr r5, _0806490C
- adds r0, r7, 0x4
- str r0, [sp, 0xCC]
- ldr r1, _08064910
- mov r8, r1
- movs r6, 0
-_08064834:
- movs r4, 0
- ldr r0, [sp, 0xC4]
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x64]
- movs r0, 0x2
- mov r2, r9
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0x12
- ldr r1, [sp, 0xD0]
- strh r0, [r1]
- movs r0, 0x4
- ldr r2, [sp, 0xD4]
- strh r0, [r2]
- movs r0, 0x10
- ldr r1, [sp, 0xD8]
- strh r0, [r1]
- mov r2, r10
- str r2, [sp, 0x74]
- movs r0, 0x3
- ldr r1, [sp, 0xDC]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xE0]
- str r0, [r2, 0x4]
- ldr r1, [sp, 0xC8]
- str r0, [r1, 0x4]
- mov r0, sp
- ldr r1, [sp, 0xC4]
- movs r2, 0x60
- bl memcpy
- bl sub_8083D44
- adds r0, r7, 0x4
- mov r1, sp
- mov r2, r10
- bl sub_80649A0
- movs r0, 0x2E
- bl sub_803E46C
- adds r0, r7, 0
- bl sub_8064A18
- strh r4, [r5, 0x8]
- strh r4, [r5, 0xA]
- mov r0, sp
- movs r1, 0x16
- bl sub_805FC30
-_080648A0:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x2E
- bl sub_803E46C
- mov r2, r8
- ldrh r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080648C6
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_080648C6:
- mov r0, r8
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080648E0
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_080648E0:
- mov r2, r8
- ldrh r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080648F6
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064954
-_080648F6:
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08064914
- bl sub_8083D08
- ldr r0, [sp, 0xCC]
- bl sub_8064A3C
- movs r4, 0x2
- b _0806496E
- .align 2, 0
-_0806490C: .4byte gUnknown_202EE10
-_08064910: .4byte gUnknown_20255F0
-_08064914:
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- beq _08064950
- ldr r4, [r7, 0x70]
- adds r4, 0x44
- ldr r1, _0806494C
- movs r2, 0x18
- ldrsh r0, [r5, r2]
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_8044C94
- bl sub_8083D08
- strb r6, [r4, 0x4]
- strh r6, [r4, 0x8]
- strh r6, [r4, 0xA]
- strb r6, [r4, 0xC]
- strh r6, [r4, 0x10]
- strh r6, [r4, 0x12]
- movs r4, 0
- b _0806496E
- .align 2, 0
-_0806494C: .4byte gUnknown_202EE44
-_08064950:
- bl sub_8083D30
-_08064954:
- mov r0, r8
- ldrh r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064968
- ldr r1, _08064998
- ldrb r0, [r1]
- cmp r0, 0
- beq _080648A0
-_08064968:
- bl sub_8083D30
- movs r4, 0x1
-_0806496E:
- ldr r0, _0806499C
- bl AddMenuCursorSprite
- movs r0, 0x2E
- bl sub_803E46C
- cmp r4, 0x2
- bne _08064980
- b _08064834
-_08064980:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0xE4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08064998: .4byte gUnknown_202EE3A
-_0806499C: .4byte gUnknown_202EE10
- thumb_func_end sub_80647F0
-
- thumb_func_start sub_80649A0
-sub_80649A0:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r0, r1, 0
- movs r3, 0
- movs r1, 0x1
- strb r1, [r2]
- strb r3, [r2, 0x1]
- movs r1, 0xB
- strb r1, [r2, 0x2]
- strb r3, [r2, 0x3]
- movs r1, 0x1
- bl sub_803ECB4
- movs r0, 0
- bl sub_80073B8
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080649E4
- cmp r0, 0x1
- ble _080649D4
- cmp r0, 0x2
- beq _080649DC
-_080649D4:
- ldr r0, _080649D8
- b _080649E6
- .align 2, 0
-_080649D8: .4byte gUnknown_80FE70C
-_080649DC:
- ldr r0, _080649E0
- b _080649E6
- .align 2, 0
-_080649E0: .4byte gUnknown_80FE720
-_080649E4:
- ldr r0, _08064A14
-_080649E6:
- ldr r5, [r0]
- movs r4, 0
- str r4, [sp]
- movs r0, 0xC
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0
- bl xxx_call_draw_string
- str r4, [sp]
- movs r0, 0x8
- movs r1, 0x12
- adds r2, r5, 0
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08064A14: .4byte gUnknown_80FE724
- thumb_func_end sub_80649A0
-
- thumb_func_start sub_8064A18
-sub_8064A18:
- push {lr}
- ldr r1, _08064A38
- movs r0, 0
- str r0, [r1]
- movs r0, 0x26
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0xC
- movs r1, 0
- bl sub_8044F5C
- bl sub_8045064
- pop {r0}
- bx r0
- .align 2, 0
-_08064A38: .4byte gUnknown_202EE6C
- thumb_func_end sub_8064A18
-
- thumb_func_start sub_8064A3C
-sub_8064A3C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xE8
- mov r0, sp
- adds r0, 0x20
- str r0, [sp, 0xE4]
- add r1, sp, 0x80
- mov r10, r1
- add r0, sp, 0xE0
- mov r9, r0
- add r5, sp, 0x14
-_08064A58:
- mov r0, r10
- movs r1, 0
- movs r2, 0x60
- bl memset
- add r1, sp, 0x84
- movs r0, 0x6
- str r0, [r1]
- add r0, sp, 0x88
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r1, sp, 0x8C
- movs r0, 0x1A
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x8E
- movs r1, 0xC
- strh r1, [r0]
- add r0, sp, 0x90
- strh r1, [r0]
- add r0, sp, 0x94
- mov r1, r9
- str r1, [r0]
- add r0, sp, 0x98
- movs r1, 0x3
- str r1, [r0, 0x4]
- add r0, sp, 0xB0
- str r1, [r0, 0x4]
- add r0, sp, 0xC8
- str r1, [r0, 0x4]
- ldr r0, [sp, 0xE4]
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- add r0, sp, 0x14
- bl sub_801317C
- movs r0, 0x1
- mov r1, r9
- strb r0, [r1]
- movs r0, 0
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x3]
- ldr r0, [sp, 0xE4]
- movs r1, 0
- bl sub_803ECB4
- bl sub_8043D10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08064B0C
- lsls r4, 2
- adds r0, r4, r0
- ldr r2, [r0]
- movs r1, 0
- str r1, [sp]
- movs r0, 0x10
- movs r3, 0
- bl xxx_call_draw_string
- ldr r0, _08064B10
- adds r4, r0
- ldr r4, [r4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x18
- adds r2, r4, 0
- movs r3, 0
- bl xxx_call_draw_string
- movs r0, 0
- bl sub_80073E0
- adds r0, r4, 0
- add r1, sp, 0x4
- bl sub_8097DF0
- adds r6, r0, 0
- b _08064B28
- .align 2, 0
-_08064B0C: .4byte gUnknown_80F8104
-_08064B10: .4byte gUnknown_80F7F70
-_08064B14:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064B22
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _08064B28
-_08064B22:
- bl sub_8083D30
- b _08064BC8
-_08064B28:
- cmp r6, 0
- beq _08064B30
- bl sub_8062500
-_08064B30:
- adds r0, r5, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08064B78
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064B50
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _08064B14
-_08064B50:
- bl sub_8083D08
- cmp r6, 0
- beq _08064BC8
- movs r4, 0
- cmp r4, r6
- blt _08064B60
- b _08064A58
-_08064B60:
- subs r1, r6, 0x1
- mov r8, r1
-_08064B64:
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0x4
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_80639E4
- adds r7, r4, 0x1
- b _08064B90
- .align 2, 0
-_08064B78: .4byte gUnknown_20255F0
-_08064B7C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064B8A
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _08064B90
-_08064B8A:
- bl sub_8083D30
- b _08064BBC
-_08064B90:
- cmp r4, r8
- bge _08064B98
- bl sub_8062500
-_08064B98:
- adds r0, r5, 0
- movs r1, 0
- bl nullsub_34
- movs r0, 0x16
- bl sub_803E46C
- ldr r0, _08064BC4
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064BB8
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _08064B7C
-_08064BB8:
- bl sub_8083D08
-_08064BBC:
- adds r4, r7, 0
- cmp r4, r6
- blt _08064B64
- b _08064A58
- .align 2, 0
-_08064BC4: .4byte gUnknown_20255F0
-_08064BC8:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0xE8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8064A3C
-
- thumb_func_start sub_8064BE0
-sub_8064BE0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _08064C94
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x4
- mov r9, r1
- cmp r0, 0
- beq _08064C02
- movs r0, 0x5
- mov r9, r0
-_08064C02:
- ldr r1, _08064C98
- movs r0, 0
- str r0, [r1]
- mov r10, r0
- ldr r6, _08064C9C
- ldr r7, _08064CA0
- movs r1, 0x2A
- adds r1, r6
- mov r8, r1
-_08064C14:
- movs r5, 0
- bl sub_8065250
-_08064C1A:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r7, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064C3E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064C3E:
- ldrh r1, [r7, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064C56
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08064C56:
- ldrh r1, [r7, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064C6A
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064CAA
-_08064C6A:
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0x4
- bne _08064C8C
- ldr r0, _08064C94
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064CA4
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _08064CA4
-_08064C8C:
- bl sub_8083D08
- b _08064CC0
- .align 2, 0
-_08064C94: .4byte gUnknown_203B418
-_08064C98: .4byte gUnknown_202F2E0
-_08064C9C: .4byte gUnknown_202EE10
-_08064CA0: .4byte gUnknown_20255F0
-_08064CA4:
- bl sub_8083D30
- b _08064CC0
-_08064CAA:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064CBA
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08064C1A
-_08064CBA:
- bl sub_8083D30
- movs r5, 0x1
-_08064CC0:
- ldr r4, _08064D68
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- mov r0, r10
- cmp r0, 0
- bne _08064C14
- cmp r5, 0
- bne _08064D4C
- ldr r5, _08064D6C
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- str r0, [r5]
- cmp r0, 0
- bne _08064CE8
- bl sub_8064D74
-_08064CE8:
- ldr r0, [r5]
- cmp r0, 0x1
- bne _08064CF2
- bl sub_80650C0
-_08064CF2:
- ldr r0, [r5]
- cmp r0, 0x2
- bne _08064CFC
- bl sub_80532B4
-_08064CFC:
- ldr r0, [r5]
- cmp r0, 0x3
- bne _08064D06
- bl sub_806519C
-_08064D06:
- ldr r0, _08064D70
- ldr r0, [r0]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064D2A
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _08064D2A
- ldr r0, [r5]
- cmp r0, 0x4
- bne _08064D2A
- bl sub_8065FB4
-_08064D2A:
- ldr r0, _08064D6C
- ldr r0, [r0]
- cmp r0, r9
- bne _08064D36
- bl sub_8065BF4
-_08064D36:
- ldr r0, _08064D70
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08064D4C
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- bne _08064D4C
- b _08064C14
-_08064D4C:
- bl sub_8040A84
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08064D68: .4byte gUnknown_202EE10
-_08064D6C: .4byte gUnknown_202F2E0
-_08064D70: .4byte gUnknown_203B418
- thumb_func_end sub_8064BE0
-
- thumb_func_start sub_8064D74
-sub_8064D74:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r6, _08064DE0
- ldr r7, _08064DE4
- movs r0, 0x2A
- adds r0, r6
- mov r8, r0
-_08064D84:
- movs r5, 0
- bl sub_8065574
-_08064D8A:
- adds r0, r6, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r7, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064DAE
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064DAE:
- ldrh r1, [r7, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064DC6
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8013744
-_08064DC6:
- ldrh r1, [r7, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064DDA
- adds r0, r6, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08064DE8
-_08064DDA:
- bl sub_8083D08
- b _08064DFE
- .align 2, 0
-_08064DE0: .4byte gUnknown_202EE10
-_08064DE4: .4byte gUnknown_20255F0
-_08064DE8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08064DF8
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08064D8A
-_08064DF8:
- bl sub_8083D30
- movs r5, 0x1
-_08064DFE:
- ldr r4, _08064E2C
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r5, 0
- bne _08064E56
- ldr r0, _08064E30
- ldr r1, _08064E34
- ldr r0, [r0]
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08064E38
- bl sub_8064E68
- b _08064E40
- .align 2, 0
-_08064E2C: .4byte gUnknown_202EE10
-_08064E30: .4byte gUnknown_203B46C
-_08064E34: .4byte gUnknown_202F2E8
-_08064E38:
- cmp r0, 0x1
- bne _08064E4C
- bl sub_8064F50
-_08064E40:
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8065040
- b _08064D84
-_08064E4C:
- cmp r0, 0x2
- bne _08064D84
- bl sub_806509C
- b _08064D84
-_08064E56:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8064D74
-
- thumb_func_start sub_8064E68
-sub_8064E68:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r0, _08064EDC
- strh r7, [r0, 0x18]
- adds r4, r0, 0
- ldr r6, _08064EE0
- movs r0, 0x2A
- adds r0, r4
- mov r8, r0
-_08064E7E:
- movs r7, 0
- movs r5, 0
- bl sub_80656C0
-_08064E86:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064EAA
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064EAA:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064EC2
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08064EC2:
- ldrh r1, [r6, 0x4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08064EE4
- movs r0, 0
- bl sub_8083CE0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8065A8C
- b _08064F2E
- .align 2, 0
-_08064EDC: .4byte gUnknown_202EE10
-_08064EE0: .4byte gUnknown_20255F0
-_08064EE4:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08064EFC
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- bl sub_8065B3C
- b _08064F2E
-_08064EFC:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064F0E
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0
- beq _08064F14
-_08064F0E:
- bl sub_8083D08
- b _08064F30
-_08064F14:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08064F24
- bl sub_8083D30
- movs r7, 0x1
- b _08064F30
-_08064F24:
- bl sub_8065BEC
- lsls r0, 24
- cmp r0, 0
- beq _08064E86
-_08064F2E:
- movs r5, 0x1
-_08064F30:
- ldr r0, _08064F4C
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r5, 0
- bne _08064E7E
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08064F4C: .4byte gUnknown_202EE10
- thumb_func_end sub_8064E68
-
- thumb_func_start sub_8064F50
-sub_8064F50:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r0, _08064FC8
- strh r7, [r0, 0x18]
- adds r4, r0, 0
- ldr r6, _08064FCC
- movs r0, 0x2A
- adds r0, r4
- mov r8, r0
-_08064F66:
- movs r7, 0
- movs r5, 0
- bl sub_8065948
-_08064F6E:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08064F92
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08064F92:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08064FAA
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08064FAA:
- ldrh r1, [r6, 0x4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08064FD0
- movs r0, 0
- bl sub_8083CE0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- adds r0, 0x5
- bl sub_8065A8C
- b _0806501C
- .align 2, 0
-_08064FC8: .4byte gUnknown_202EE10
-_08064FCC: .4byte gUnknown_20255F0
-_08064FD0:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08064FEA
- movs r0, 0
- bl sub_8083CE0
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- adds r0, 0x5
- bl sub_8065B3C
- b _0806501C
-_08064FEA:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08064FFC
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0
- beq _08065002
-_08064FFC:
- bl sub_8083D08
- b _0806501E
-_08065002:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08065012
- bl sub_8083D30
- movs r7, 0x1
- b _0806501E
-_08065012:
- bl sub_8065BF0
- lsls r0, 24
- cmp r0, 0
- beq _08064F6E
-_0806501C:
- movs r5, 0x1
-_0806501E:
- ldr r0, _0806503C
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r5, 0
- bne _08064F66
- adds r0, r7, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806503C: .4byte gUnknown_202EE10
- thumb_func_end sub_8064F50
-
- thumb_func_start sub_8065040
-sub_8065040:
- push {r4,lr}
- lsls r0, 24
- movs r4, 0
- cmp r0, 0
- beq _0806505C
- ldr r0, _08065058
- bl sub_80949DC
- lsls r0, 24
- cmp r0, 0
- bne _0806505E
- b _08065062
- .align 2, 0
-_08065058: .4byte gUnknown_202F2E8
-_0806505C:
- movs r4, 0x1
-_0806505E:
- cmp r4, 0
- beq _08065088
-_08065062:
- ldr r0, _08065090
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08065088
- ldr r0, _08065094
- ldr r1, [r0]
- ldr r0, _08065098
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- bl sub_803E13C
- bl sub_8040238
-_08065088:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08065090: .4byte gUnknown_80FEBF8
-_08065094: .4byte gUnknown_203B46C
-_08065098: .4byte gUnknown_202F2E8
- thumb_func_end sub_8065040
-
- thumb_func_start sub_806509C
-sub_806509C:
- push {lr}
- ldr r0, _080650BC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _080650B8
- movs r0, 0
- bl sub_8094998
- bl sub_803E13C
-_080650B8:
- pop {r0}
- bx r0
- .align 2, 0
-_080650BC: .4byte gUnknown_80FEC28
- thumb_func_end sub_806509C
-
- thumb_func_start sub_80650C0
-sub_80650C0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r9, r0
- ldr r5, _08065134
- ldr r6, _08065138
- movs r1, 0x2A
- adds r1, r5
- mov r8, r1
-_080650D6:
- movs r7, 0
- bl sub_806544C
-_080650DC:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08065100
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08065100:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08065118
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_08065118:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0806512C
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806513C
-_0806512C:
- bl sub_8083D08
- b _08065152
- .align 2, 0
-_08065134: .4byte gUnknown_202EE10
-_08065138: .4byte gUnknown_20255F0
-_0806513C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0806514C
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _080650DC
-_0806514C:
- bl sub_8083D30
- movs r7, 0x1
-_08065152:
- ldr r4, _08065178
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- mov r0, r9
- cmp r0, 0
- bne _080650D6
- cmp r7, 0
- bne _0806518E
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _0806517C
- bl sub_80651D0
- b _08065184
- .align 2, 0
-_08065178: .4byte gUnknown_202EE10
-_0806517C:
- cmp r0, 0x1
- bne _08065184
- bl sub_80651FC
-_08065184:
- bl sub_805F1AC
- lsls r0, 16
- cmp r0, 0
- beq _080650D6
-_0806518E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80650C0
-
- thumb_func_start sub_806519C
-sub_806519C:
- push {lr}
- ldr r0, _080651CC
- ldr r1, [r0]
- movs r2, 0xCF
- lsls r2, 3
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r2, 0x34
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0
- bl sub_80319A4
-_080651B6:
- movs r0, 0x47
- bl sub_803E46C
- bl sub_80319F8
- cmp r0, 0
- beq _080651B6
- bl sub_8031A3C
- pop {r0}
- bx r0
- .align 2, 0
-_080651CC: .4byte gUnknown_203B418
- thumb_func_end sub_806519C
-
- thumb_func_start sub_80651D0
-sub_80651D0:
- push {lr}
- ldr r0, _080651F0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _080651F4
- bl sub_805F1A0
- movs r1, 0x2B
- bl sub_8044C94
- movs r0, 0
- b _080651F6
- .align 2, 0
-_080651F0: .4byte gUnknown_80FDE6C
-_080651F4:
- movs r0, 0x1
-_080651F6:
- pop {r1}
- bx r1
- thumb_func_end sub_80651D0
-
- thumb_func_start sub_80651FC
-sub_80651FC:
- push {r4,r5,lr}
- ldr r0, _08065238
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- adds r5, r0, 0
- cmp r5, 0x1
- bne _08065248
- bl sub_805F1A0
- movs r1, 0x2E
- bl sub_8044C94
- ldr r4, _0806523C
- bl sub_8083600
- adds r2, r0, 0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8083AB0
- ldr r0, _08065240
- ldr r0, [r0]
- ldr r1, _08065244
- adds r0, r1
- strb r5, [r0]
- movs r0, 0
- b _0806524A
- .align 2, 0
-_08065238: .4byte gUnknown_80FDEB8
-_0806523C: .4byte 0x0000021b
-_08065240: .4byte gUnknown_203B418
-_08065244: .4byte 0x00000654
-_08065248:
- movs r0, 0x1
-_0806524A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80651FC
-
- thumb_func_start sub_8065250
-sub_8065250:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC8
- add r5, sp, 0x64
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r7, 0
- movs r1, 0x2
- mov r9, r1
- mov r1, r9
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r0, sp, 0x70
- movs r1, 0x12
- mov r10, r1
- mov r1, r10
- strh r1, [r0]
- adds r0, 0x2
- movs r1, 0x10
- mov r8, r1
- mov r1, r8
- strh r1, [r0]
- add r0, sp, 0x74
- strh r1, [r0]
- add r6, sp, 0xC4
- str r6, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- adds r1, r5, 0
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- strb r0, [r6]
- strb r4, [r6, 0x1]
- strb r4, [r6, 0x3]
- ldr r4, _080653D0
- ldr r0, _080653D4
- ldr r0, [r0]
- strh r0, [r4, 0x18]
- ldr r1, _080653D8
- ldr r0, [r1]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- movs r5, 0x5
- cmp r0, 0
- beq _080652D2
- movs r5, 0x6
-_080652D2:
- strh r5, [r4, 0x1A]
- strh r5, [r4, 0x1C]
- strh r7, [r4, 0x1E]
- strh r7, [r4, 0x20]
- strh r7, [r4, 0x4]
- mov r0, r8
- strh r0, [r4, 0x6]
- strh r7, [r4, 0xC]
- strh r7, [r4, 0xE]
- strh r7, [r4, 0x14]
- str r7, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- mov r1, r10
- strh r1, [r0, 0xC]
- adds r0, r5, 0
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- strb r0, [r6, 0x2]
- adds r0, r1, 0
- mov r1, r9
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- movs r5, 0
- ldr r0, _080653DC
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653E0
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653E4
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653E8
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- movs r5, 0x4
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653EC
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r1, _080653D8
- ldr r0, [r1]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806540E
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _080653F4
- movs r5, 0x5
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _080653F0
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- b _0806540E
- .align 2, 0
-_080653D0: .4byte gUnknown_202EE10
-_080653D4: .4byte gUnknown_202F2E0
-_080653D8: .4byte gUnknown_203B418
-_080653DC: .4byte gUnknown_80FE8F8
-_080653E0: .4byte gUnknown_80FE9CC
-_080653E4: .4byte gUnknown_80FE9E8
-_080653E8: .4byte gUnknown_80FE9F8
-_080653EC: .4byte gUnknown_80FEA10
-_080653F0: .4byte gUnknown_80FEA28
-_080653F4:
- movs r5, 0x5
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _08065440
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
-_0806540E:
- ldr r0, _08065444
- adds r1, r5, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r0, _08065448
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- add sp, 0xC8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065440: .4byte gUnknown_80FEA44
-_08065444: .4byte gUnknown_202EE10
-_08065448: .4byte gUnknown_80FEA50
- thumb_func_end sub_8065250
-
- thumb_func_start sub_806544C
-sub_806544C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC8
- add r0, sp, 0x64
- mov r10, r0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r5, 0
- movs r1, 0x2
- mov r9, r1
- mov r2, r9
- strh r2, [r0]
- strh r2, [r0, 0x2]
- add r0, sp, 0x70
- movs r7, 0x12
- strh r7, [r0]
- adds r0, 0x2
- movs r6, 0x10
- strh r6, [r0]
- add r0, sp, 0x74
- strh r6, [r0]
- add r0, sp, 0xC4
- mov r8, r0
- str r0, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r4, _08065568
- strh r5, [r4, 0x18]
- mov r2, r9
- strh r2, [r4, 0x1A]
- strh r2, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- strh r6, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- strh r7, [r0, 0xC]
- movs r0, 0x2
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- mov r1, r8
- strb r0, [r1, 0x2]
- adds r0, r2, 0
- mov r2, r9
- strh r2, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- ldr r0, _0806556C
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- adds r1, r0, 0
- ldr r6, _08065570
- movs r2, 0xAC
- lsls r2, 1
- adds r0, r6, r2
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- adds r1, r0, 0
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r6, r2
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- add sp, 0xC8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065568: .4byte gUnknown_202EE10
-_0806556C: .4byte gUnknown_80FE8F4
-_08065570: .4byte gUnknown_80F7C50
- thumb_func_end sub_806544C
-
- thumb_func_start sub_8065574
-sub_8065574:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xD4
- add r0, sp, 0x10
- mov r10, r0
- add r7, sp, 0x70
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x74]
- add r0, sp, 0x78
- movs r4, 0
- movs r6, 0
- movs r1, 0x2
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r0, sp, 0x7C
- movs r1, 0xC
- strh r1, [r0]
- adds r0, 0x2
- movs r1, 0x10
- mov r9, r1
- mov r1, r9
- strh r1, [r0]
- add r0, sp, 0x80
- strh r1, [r0]
- add r0, sp, 0x84
- add r1, sp, 0xD0
- mov r8, r1
- str r1, [r0]
- add r0, sp, 0x88
- movs r5, 0x3
- str r5, [r0, 0x4]
- add r0, sp, 0xA0
- str r5, [r0, 0x4]
- add r0, sp, 0xB8
- str r5, [r0, 0x4]
- mov r0, r10
- adds r1, r7, 0
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r4, _080656AC
- strh r6, [r4, 0x18]
- strh r5, [r4, 0x1A]
- strh r5, [r4, 0x1C]
- strh r6, [r4, 0x1E]
- strh r6, [r4, 0x20]
- strh r6, [r4, 0x4]
- mov r0, r9
- strh r0, [r4, 0x6]
- strh r6, [r4, 0xC]
- strh r6, [r4, 0xE]
- strh r6, [r4, 0x14]
- str r6, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0xC
- mov r1, r10
- strh r0, [r1, 0xC]
- movs r0, 0x3
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- mov r1, r10
- strh r0, [r1, 0x10]
- strh r0, [r1, 0xE]
- movs r0, 0xA
- mov r1, r8
- strb r0, [r1, 0x2]
- movs r1, 0x2
- mov r0, r10
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- str r0, [sp, 0xC]
- movs r0, 0
- bl sub_80073B8
- ldr r0, _080656B0
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0x4]
- ldr r0, _080656B4
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0x8]
- ldr r0, _080656B8
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0xC]
- ldr r0, _080656BC
- ldr r2, [r0]
- str r6, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- add sp, 0xD4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080656AC: .4byte gUnknown_202EE10
-_080656B0: .4byte gUnknown_80FE8F0
-_080656B4: .4byte gUnknown_80FE730
-_080656B8: .4byte gUnknown_80FE73C
-_080656BC: .4byte gUnknown_80FE748
- thumb_func_end sub_8065574
-
- thumb_func_start sub_80656C0
-sub_80656C0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xDC
- add r0, sp, 0x18
- mov r9, r0
- add r7, sp, 0x78
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x7C]
- add r0, sp, 0x80
- movs r5, 0
- movs r1, 0x2
- mov r10, r1
- mov r2, r10
- strh r2, [r0]
- strh r2, [r0, 0x2]
- add r1, sp, 0x84
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x86
- movs r3, 0x10
- mov r8, r3
- mov r4, r8
- strh r4, [r0]
- add r0, sp, 0x88
- strh r4, [r0]
- add r0, sp, 0x8C
- add r6, sp, 0xD8
- str r6, [r0]
- add r0, sp, 0x90
- movs r1, 0x3
- str r1, [r0, 0x4]
- add r0, sp, 0xA8
- str r1, [r0, 0x4]
- add r0, sp, 0xC0
- str r1, [r0, 0x4]
- mov r0, r9
- adds r1, r7, 0
- movs r2, 0x60
- bl memcpy
- adds r1, r7, 0
- ldr r0, _0806583C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x1
- strb r0, [r6]
- movs r0, 0
- strb r0, [r6, 0x1]
- strb r0, [r6, 0x3]
- ldr r4, _08065840
- movs r0, 0x5
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- mov r1, r8
- strh r1, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0x18
- mov r2, r9
- strh r0, [r2, 0xC]
- movs r0, 0x5
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- mov r3, r9
- strh r0, [r3, 0x10]
- strh r0, [r3, 0xE]
- movs r0, 0xA
- strb r0, [r6, 0x2]
- mov r0, r10
- strh r0, [r3, 0x8]
- mov r0, r9
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8013800
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013800
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8013800
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8013800
- str r0, [sp, 0x10]
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8013800
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08065844
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0x4]
- ldr r0, _08065848
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0x8]
- ldr r0, _0806584C
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0xC]
- ldr r0, _08065850
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0x10]
- ldr r0, _08065854
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [sp, 0x14]
- ldr r0, _08065858
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r0, _0806585C
- ldrb r0, [r0]
- adds r4, r7, 0
- cmp r0, 0
- beq _08065860
- ldr r2, [sp, 0x4]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0x15
- bl sub_80078A4
- b _08065872
- .align 2, 0
-_0806583C: .4byte gUnknown_8106CE8
-_08065840: .4byte gUnknown_202EE10
-_08065844: .4byte gUnknown_80FE730
-_08065848: .4byte gUnknown_80FE764
-_0806584C: .4byte gUnknown_80FE788
-_08065850: .4byte gUnknown_80FE7A8
-_08065854: .4byte gUnknown_80FE7C0
-_08065858: .4byte gUnknown_80FE7E4
-_0806585C: .4byte gUnknown_202F2E8
-_08065860:
- ldr r2, [sp, 0x4]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0x16
- bl sub_80078A4
-_08065872:
- ldr r0, _08065890
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _08065894
- ldr r2, [sp, 0x8]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0x16
- bl sub_80078A4
- b _080658A6
- .align 2, 0
-_08065890: .4byte gUnknown_202F2E8
-_08065894:
- ldr r2, [sp, 0x8]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0x12
- bl sub_80078A4
-_080658A6:
- ldr r0, _080658C4
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080658C8
- ldr r2, [sp, 0xC]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0x10
- bl sub_80078A4
- b _080658DA
- .align 2, 0
-_080658C4: .4byte gUnknown_202F2E8
-_080658C8:
- ldr r2, [sp, 0xC]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0xC
- bl sub_80078A4
-_080658DA:
- ldr r0, _080658F8
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080658FC
- ldr r2, [sp, 0x10]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x88
- movs r3, 0xC
- bl sub_80078A4
- b _0806590E
- .align 2, 0
-_080658F8: .4byte gUnknown_202F2E8
-_080658FC:
- ldr r2, [sp, 0x10]
- adds r2, 0xA
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- movs r1, 0x50
- movs r3, 0x10
- bl sub_80078A4
-_0806590E:
- ldr r0, _08065944
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 2
- adds r1, r0, r1
- lsls r1, 3
- adds r1, 0x50
- ldr r2, [sp, 0x14]
- adds r2, 0xA
- adds r0, r4, r0
- ldr r3, [r0]
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- bl sub_80078A4
- movs r0, 0
- bl sub_80073E0
- add sp, 0xDC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065944: .4byte gUnknown_202F2E8
- thumb_func_end sub_80656C0
-
- thumb_func_start sub_8065948
-sub_8065948:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xCC
- add r0, sp, 0x64
- mov r10, r0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r5, 0
- movs r1, 0x2
- mov r9, r1
- mov r2, r9
- strh r2, [r0]
- strh r2, [r0, 0x2]
- add r1, sp, 0x70
- movs r0, 0x12
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x72
- movs r6, 0x10
- strh r6, [r0]
- add r0, sp, 0x74
- strh r6, [r0]
- add r3, sp, 0xC4
- mov r8, r3
- str r3, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- mov r1, r10
- ldr r0, _08065A78
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- movs r0, 0x1
- mov r7, r8
- strb r0, [r7]
- strb r4, [r7, 0x1]
- strb r4, [r7, 0x3]
- ldr r4, _08065A7C
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- strh r6, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r1, sp, 0x4
- movs r0, 0x18
- strh r0, [r1, 0xC]
- movs r0, 0x1
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- strb r0, [r7, 0x2]
- adds r0, r1, 0
- mov r1, r9
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r4, 0
- mov r7, r10
- add r6, sp, 0xC8
- adds r5, r6, 0
-_08065A0A:
- ldr r0, _08065A7C
- adds r1, r4, 0
- bl sub_8013800
- stm r5!, {r0}
- adds r4, 0x1
- cmp r4, 0
- ble _08065A0A
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08065A80
- ldr r2, [r0]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldr r1, [r6]
- ldr r0, _08065A84
- ldr r2, [r0]
- str r4, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- ldr r0, _08065A88
- ldrb r1, [r0, 0x8]
- lsls r3, r1, 2
- adds r1, r3, r1
- lsls r1, 3
- adds r1, 0x50
- add r0, sp, 0xC8
- ldr r2, [r0]
- adds r2, 0xA
- adds r3, r7, r3
- ldr r3, [r3]
- movs r0, 0x7
- str r0, [sp]
- movs r0, 0
- bl sub_80078A4
- movs r0, 0
- bl sub_80073E0
- add sp, 0xCC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065A78: .4byte gUnknown_8106CF4
-_08065A7C: .4byte gUnknown_202EE10
-_08065A80: .4byte gUnknown_80FE73C
-_08065A84: .4byte gUnknown_80FE808
-_08065A88: .4byte gUnknown_202F2E8
- thumb_func_end sub_8065948
-
- thumb_func_start sub_8065A8C
-sub_8065A8C:
- push {lr}
- cmp r0, 0x5
- bhi _08065B38
- lsls r0, 2
- ldr r1, _08065A9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08065A9C: .4byte _08065AA0
- .align 2, 0
-_08065AA0:
- .4byte _08065AB8
- .4byte _08065ACC
- .4byte _08065AE0
- .4byte _08065AF4
- .4byte _08065B08
- .4byte _08065B22
-_08065AB8:
- ldr r2, _08065AC8
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _08065AC4
- movs r1, 0x1
-_08065AC4:
- strb r1, [r2]
- b _08065B38
- .align 2, 0
-_08065AC8: .4byte gUnknown_202F2E8
-_08065ACC:
- ldr r2, _08065ADC
- movs r1, 0
- ldrb r0, [r2, 0x1]
- cmp r0, 0
- bne _08065AD8
- movs r1, 0x1
-_08065AD8:
- strb r1, [r2, 0x1]
- b _08065B38
- .align 2, 0
-_08065ADC: .4byte gUnknown_202F2E8
-_08065AE0:
- ldr r2, _08065AF0
- movs r1, 0
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _08065AEC
- movs r1, 0x1
-_08065AEC:
- strb r1, [r2, 0x2]
- b _08065B38
- .align 2, 0
-_08065AF0: .4byte gUnknown_202F2E8
-_08065AF4:
- ldr r2, _08065B04
- movs r1, 0
- ldrb r0, [r2, 0x3]
- cmp r0, 0
- bne _08065B00
- movs r1, 0x1
-_08065B00:
- strb r1, [r2, 0x3]
- b _08065B38
- .align 2, 0
-_08065B04: .4byte gUnknown_202F2E8
-_08065B08:
- ldr r1, _08065B18
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _08065B1C
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08065B38
- .align 2, 0
-_08065B18: .4byte gUnknown_202F2E8
-_08065B1C:
- subs r0, 0x1
- strb r0, [r1, 0x4]
- b _08065B38
-_08065B22:
- ldr r1, _08065B30
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _08065B34
- movs r0, 0x2
- b _08065B36
- .align 2, 0
-_08065B30: .4byte gUnknown_202F2E8
-_08065B34:
- subs r0, 0x1
-_08065B36:
- strb r0, [r1, 0x8]
-_08065B38:
- pop {r0}
- bx r0
- thumb_func_end sub_8065A8C
-
- thumb_func_start sub_8065B3C
-sub_8065B3C:
- push {lr}
- cmp r0, 0x5
- bhi _08065BE8
- lsls r0, 2
- ldr r1, _08065B4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08065B4C: .4byte _08065B50
- .align 2, 0
-_08065B50:
- .4byte _08065B68
- .4byte _08065B7C
- .4byte _08065B90
- .4byte _08065BA4
- .4byte _08065BB8
- .4byte _08065BD2
-_08065B68:
- ldr r2, _08065B78
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _08065B74
- movs r1, 0x1
-_08065B74:
- strb r1, [r2]
- b _08065BE8
- .align 2, 0
-_08065B78: .4byte gUnknown_202F2E8
-_08065B7C:
- ldr r2, _08065B8C
- movs r1, 0
- ldrb r0, [r2, 0x1]
- cmp r0, 0
- bne _08065B88
- movs r1, 0x1
-_08065B88:
- strb r1, [r2, 0x1]
- b _08065BE8
- .align 2, 0
-_08065B8C: .4byte gUnknown_202F2E8
-_08065B90:
- ldr r2, _08065BA0
- movs r1, 0
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _08065B9C
- movs r1, 0x1
-_08065B9C:
- strb r1, [r2, 0x2]
- b _08065BE8
- .align 2, 0
-_08065BA0: .4byte gUnknown_202F2E8
-_08065BA4:
- ldr r2, _08065BB4
- movs r1, 0
- ldrb r0, [r2, 0x3]
- cmp r0, 0
- bne _08065BB0
- movs r1, 0x1
-_08065BB0:
- strb r1, [r2, 0x3]
- b _08065BE8
- .align 2, 0
-_08065BB4: .4byte gUnknown_202F2E8
-_08065BB8:
- ldr r1, _08065BC8
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2
- bne _08065BCC
- movs r0, 0
- strb r0, [r1, 0x4]
- b _08065BE8
- .align 2, 0
-_08065BC8: .4byte gUnknown_202F2E8
-_08065BCC:
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08065BE8
-_08065BD2:
- ldr r1, _08065BE0
- ldrb r0, [r1, 0x8]
- cmp r0, 0x2
- bne _08065BE4
- movs r0, 0
- b _08065BE6
- .align 2, 0
-_08065BE0: .4byte gUnknown_202F2E8
-_08065BE4:
- adds r0, 0x1
-_08065BE6:
- strb r0, [r1, 0x8]
-_08065BE8:
- pop {r0}
- bx r0
- thumb_func_end sub_8065B3C
-
- thumb_func_start sub_8065BEC
-sub_8065BEC:
- movs r0, 0
- bx lr
- thumb_func_end sub_8065BEC
-
- thumb_func_start sub_8065BF0
-sub_8065BF0:
- movs r0, 0
- bx lr
- thumb_func_end sub_8065BF0
-
- thumb_func_start sub_8065BF4
-sub_8065BF4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _08065C60
- ldr r6, _08065C64
- movs r0, 0x2A
- adds r0, r5
- mov r8, r0
-_08065C04:
- movs r7, 0
- bl sub_8065CAC
-_08065C0A:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldrh r1, [r6, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08065C2E
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80136E0
-_08065C2E:
- ldrh r1, [r6, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08065C46
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8013744
-_08065C46:
- ldrh r1, [r6, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08065C5A
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065C68
-_08065C5A:
- bl sub_8083D08
- b _08065C7E
- .align 2, 0
-_08065C60: .4byte gUnknown_202EE10
-_08065C64: .4byte gUnknown_20255F0
-_08065C68:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08065C78
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0
- beq _08065C0A
-_08065C78:
- bl sub_8083D30
- movs r7, 0x1
-_08065C7E:
- ldr r4, _08065C9C
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- cmp r7, 0
- bne _08065CA0
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- bl sub_8065DBC
- b _08065C04
- .align 2, 0
-_08065C9C: .4byte gUnknown_202EE10
-_08065CA0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8065BF4
-
- thumb_func_start sub_8065CAC
-sub_8065CAC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC8
- add r0, sp, 0x64
- mov r10, r0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- add r0, sp, 0x6C
- movs r4, 0
- movs r5, 0
- movs r1, 0x2
- mov r9, r1
- mov r1, r9
- strh r1, [r0]
- strh r1, [r0, 0x2]
- add r0, sp, 0x70
- movs r7, 0xC
- strh r7, [r0]
- adds r0, 0x2
- movs r6, 0x10
- strh r6, [r0]
- add r0, sp, 0x74
- strh r6, [r0]
- add r0, sp, 0xC4
- mov r8, r0
- str r0, [sp, 0x78]
- movs r1, 0x3
- str r1, [sp, 0x80]
- add r0, sp, 0x94
- str r1, [r0, 0x4]
- add r0, sp, 0xAC
- str r1, [r0, 0x4]
- add r0, sp, 0x4
- mov r1, r10
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- strb r4, [r1, 0x1]
- strb r4, [r1, 0x3]
- ldr r4, _08065DB0
- strh r5, [r4, 0x18]
- movs r0, 0x7
- strh r0, [r4, 0x1A]
- strh r0, [r4, 0x1C]
- strh r5, [r4, 0x1E]
- strh r5, [r4, 0x20]
- strh r5, [r4, 0x4]
- strh r6, [r4, 0x6]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- strh r5, [r4, 0x14]
- str r5, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x4
- strh r7, [r0, 0xC]
- movs r0, 0x7
- movs r1, 0xC
- bl sub_80095E4
- add r2, sp, 0x4
- adds r1, r2, 0
- adds r0, 0x2
- strh r0, [r1, 0x10]
- strh r0, [r2, 0xE]
- movs r0, 0xA
- mov r1, r8
- strb r0, [r1, 0x2]
- adds r0, r2, 0
- mov r1, r9
- strh r1, [r0, 0x8]
- movs r1, 0x1
- bl sub_803ECB4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08065DB4
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- movs r4, 0
- ldr r5, _08065DB8
-_08065D7A:
- ldr r0, _08065DB0
- adds r1, r4, 0
- bl sub_8013800
- adds r1, r0, 0
- ldm r5!, {r2}
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r3, 0
- bl sub_8014FF0
- adds r4, 0x1
- cmp r4, 0x6
- ble _08065D7A
- movs r0, 0
- bl sub_80073E0
- add sp, 0xC8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065DB0: .4byte gUnknown_202EE10
-_08065DB4: .4byte gUnknown_80FF770
-_08065DB8: .4byte gUnknown_80FF774
- thumb_func_end sub_8065CAC
-
- thumb_func_start sub_8065DBC
-sub_8065DBC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xEC
- adds r6, r0, 0
- ldr r0, _08065F28
- ldr r0, [r0]
- ldrb r1, [r0, 0x9]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- str r0, [sp, 0xC8]
- mov r0, sp
- adds r0, 0x6C
- str r0, [sp, 0xD4]
- mov r1, sp
- adds r1, 0x70
- str r1, [sp, 0xD8]
- mov r2, sp
- adds r2, 0x72
- str r2, [sp, 0xDC]
- adds r0, 0x8
- str r0, [sp, 0xE0]
- adds r1, 0xC
- str r1, [sp, 0xE4]
- adds r2, 0x22
- str r2, [sp, 0xE8]
- adds r0, 0x38
- str r0, [sp, 0xD0]
- subs r1, 0x18
- str r1, [sp, 0xCC]
- movs r2, 0x10
- mov r10, r2
- ldr r5, _08065F2C
- add r0, sp, 0xC4
- mov r9, r0
- add r1, sp, 0x4
- mov r8, r1
-_08065E0C:
- movs r7, 0
- ldr r0, [sp, 0xCC]
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x68]
- movs r0, 0x2
- ldr r2, [sp, 0xD4]
- strh r0, [r2]
- strh r0, [r2, 0x2]
- movs r0, 0xC
- ldr r1, [sp, 0xD8]
- strh r0, [r1]
- mov r0, r10
- ldr r2, [sp, 0xDC]
- strh r0, [r2]
- ldr r1, [sp, 0xE0]
- strh r0, [r1]
- mov r2, r9
- str r2, [sp, 0x78]
- movs r0, 0x3
- ldr r1, [sp, 0xE4]
- str r0, [r1, 0x4]
- ldr r2, [sp, 0xE8]
- str r0, [r2, 0x4]
- ldr r1, [sp, 0xD0]
- str r0, [r1, 0x4]
- add r0, sp, 0x4
- ldr r1, [sp, 0xCC]
- movs r2, 0x60
- bl memcpy
- movs r1, 0x7
- add r0, sp, 0xC4
- strb r1, [r0]
- mov r2, r9
- strb r6, [r2, 0x1]
- movs r0, 0
- strb r0, [r2, 0x3]
- strh r6, [r5, 0x1E]
- strh r1, [r5, 0x20]
- strh r7, [r5, 0x1A]
- strh r7, [r5, 0x18]
- strh r7, [r5, 0x1C]
- strh r7, [r5, 0x4]
- mov r1, r10
- strh r1, [r5, 0x6]
- strh r7, [r5, 0x14]
- str r7, [r5]
- adds r0, r5, 0
- adds r0, 0x28
- bl sub_801317C
- movs r0, 0x18
- mov r2, r8
- strh r0, [r2, 0xC]
- movs r0, 0x8
- movs r1, 0xC
- bl sub_80095E4
- adds r0, 0x2
- mov r1, r8
- strh r0, [r1, 0x10]
- strh r0, [r1, 0xE]
- movs r0, 0xA
- mov r2, r9
- strb r0, [r2, 0x2]
- movs r0, 0x2
- strh r0, [r1, 0x8]
- add r0, sp, 0x4
- movs r1, 0x1
- bl sub_803ECB4
- ldr r1, _08065F30
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x13
- lsls r0, 3
- strh r0, [r5, 0xC]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r5, 0xE]
- movs r0, 0
- bl sub_80073B8
- lsls r0, r6, 3
- adds r0, 0x10
- ldr r1, _08065F34
- lsls r4, r6, 2
- adds r1, r4, r1
- ldr r2, [r1]
- str r7, [sp]
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- ldr r1, _08065F38
- ldr r2, [sp, 0xC8]
- lsls r0, r2, 5
- adds r4, r0
- adds r4, r1
- ldr r2, [r4]
- str r7, [sp]
- movs r0, 0x8
- movs r1, 0x10
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
-_08065EF4:
- adds r0, r5, 0
- bl AddMenuCursorSprite
- movs r0, 0x24
- bl sub_803E46C
- ldr r0, _08065F3C
- ldrh r1, [r0, 0x2]
- mov r0, r10
- ands r0, r1
- cmp r0, 0
- bne _08065F16
- adds r0, r5, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065F40
-_08065F16:
- movs r0, 0
- bl sub_8083CE0
- adds r6, 0x1
- cmp r6, 0x7
- bne _08065F64
- movs r6, 0
- b _08065F64
- .align 2, 0
-_08065F28: .4byte gUnknown_203B46C
-_08065F2C: .4byte gUnknown_202EE10
-_08065F30: .4byte gUnknown_2027370
-_08065F34: .4byte gUnknown_80FF774
-_08065F38: .4byte gUnknown_80FF7EC
-_08065F3C: .4byte gUnknown_20255F0
-_08065F40:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08065F52
- adds r0, r5, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065F68
-_08065F52:
- movs r0, 0
- bl sub_8083CE0
- subs r6, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r6, r0
- bne _08065F64
- movs r6, 0x6
-_08065F64:
- movs r7, 0x1
- b _08065F94
-_08065F68:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08065F7A
- adds r0, r5, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08065F80
-_08065F7A:
- bl sub_8083D08
- b _08065F94
-_08065F80:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08065F90
- ldr r1, _08065FB0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08065EF4
-_08065F90:
- bl sub_8083D30
-_08065F94:
- movs r0, 0x24
- bl sub_803E46C
- cmp r7, 0
- beq _08065FA0
- b _08065E0C
-_08065FA0:
- add sp, 0xEC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08065FB0: .4byte gUnknown_202EE3A
- thumb_func_end sub_8065DBC
-
- thumb_func_start sub_8065FB4
-sub_8065FB4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08065FE0
- add sp, r4
- movs r0, 0
- mov r10, r0
- ldr r4, _08065FE4
- ldr r0, [r4]
- ldr r1, _08065FE8
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8090148
- lsls r0, 24
- cmp r0, 0
- bne _08065FF0
- ldr r0, _08065FEC
- b _08065FFE
- .align 2, 0
-_08065FE0: .4byte 0xfffff608
-_08065FE4: .4byte gUnknown_203B418
-_08065FE8: .4byte 0x00000644
-_08065FEC: .4byte gUnknown_80FA5F4
-_08065FF0:
- ldr r0, [r4]
- ldr r2, _0806600C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08066014
- ldr r0, _08066010
-_08065FFE:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08066194
- .align 2, 0
-_0806600C: .4byte 0x0000065d
-_08066010: .4byte gUnknown_80FA61C
-_08066014:
- mov r0, sp
- bl sub_80664FC
- ldr r6, _08066130
-_0806601C:
- movs r0, 0
- mov r8, r0
- mov r1, r10
- lsls r0, r1, 2
- add r0, r10
- lsls r0, 6
- subs r0, r1
- lsls r0, 2
- add r0, sp
- mov r9, r0
- ldr r0, _08066134
- strb r1, [r0, 0x1]
- ldr r0, _08066138
- movs r1, 0x1
- bl sub_803ECB4
- mov r2, r8
- strh r2, [r6, 0x1A]
- strh r2, [r6, 0x18]
- strh r2, [r6, 0x1C]
- mov r0, r10
- strh r0, [r6, 0x1E]
- movs r0, 0x2
- strh r0, [r6, 0x20]
- strh r2, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- strh r2, [r6, 0x14]
- mov r1, r8
- str r1, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- ldr r0, _0806613C
- mov r2, r8
- str r2, [r0]
- movs r1, 0
- ldr r0, _08066140
- strb r1, [r0]
- mov r0, r9
- mov r1, r10
- bl sub_80661AC
- ldr r1, _08066144
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0x10
- lsls r0, 3
- strh r0, [r6, 0xC]
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r6, 0xE]
-_0806608C:
- movs r5, 0
- ldr r0, _08066140
- strb r5, [r0]
- movs r0, 0
- ldr r1, _08066148
- bl sub_8014140
- adds r4, r0, 0
- mov r0, r9
- adds r1, r4, 0
- bl sub_8066288
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- mov r0, r9
- adds r1, r4, 0
- bl sub_8066358
- lsls r0, 24
- cmp r0, 0
- beq _080660BE
- movs r5, 0x1
-_080660BE:
- cmp r5, 0
- bne _080660CE
- ldr r0, _08066130
- bl AddMenuCursorSprite
- movs r0, 0x45
- bl sub_803E46C
-_080660CE:
- ldr r2, _08066140
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080660E2
- movs r0, 0x1
- movs r1, 0x8
- bl sub_8066434
-_080660E2:
- ldr r0, _08066140
- ldrb r1, [r0]
- movs r7, 0x2
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080660F8
- movs r0, 0
- movs r1, 0x70
- bl sub_8066434
-_080660F8:
- ldr r5, _0806614C
- ldrh r1, [r5, 0x2]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- bne _0806611A
- ldr r4, _08066130
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806611A
- adds r0, r4, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _08066150
-_0806611A:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- mov r1, r10
- cmp r1, 0
- bne _0806612A
- movs r0, 0x1
-_0806612A:
- mov r10, r0
- b _08066184
- .align 2, 0
-_08066130: .4byte gUnknown_202EE10
-_08066134: .4byte gUnknown_203B43C
-_08066138: .4byte gUnknown_8106D08
-_0806613C: .4byte gUnknown_202F2F8
-_08066140: .4byte gUnknown_202F2FC
-_08066144: .4byte gUnknown_2027370
-_08066148: .4byte gUnknown_8106D68
-_0806614C: .4byte gUnknown_20255F0
-_08066150:
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- bne _0806608C
- ldrh r1, [r5, 0x2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0806616E
- adds r0, r4, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _08066174
-_0806616E:
- bl sub_8083D30
- b _0806618C
-_08066174:
- movs r0, 0xC
- ands r0, r1
- cmp r0, 0
- beq _0806608C
- bl sub_8083D08
- movs r2, 0x1
- mov r8, r2
-_08066184:
- mov r0, r8
- cmp r0, 0
- bne _0806618C
- b _0806601C
-_0806618C:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
-_08066194:
- ldr r3, _080661A8
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080661A8: .4byte 0x000009f8
- thumb_func_end sub_8065FB4
-
- thumb_func_start sub_80661AC
-sub_80661AC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x44
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r0, _080661DC
- ldr r4, [r0]
- movs r0, 0x20
- mov r8, r0
- movs r0, 0
- bl sub_80073B8
- cmp r5, 0
- bne _080661E4
- ldr r0, _080661E0
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
- b _080661F6
- .align 2, 0
-_080661DC: .4byte gUnknown_202F2F8
-_080661E0: .4byte gUnknown_80FEA68
-_080661E4:
- ldr r0, _08066254
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x14
- movs r1, 0
- movs r3, 0
- bl xxx_call_draw_string
-_080661F6:
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r6, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _08066260
- movs r7, 0x7
- lsls r0, r4, 1
- adds r5, r0, r6
-_08066208:
- cmp r4, 0
- blt _08066244
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r6, r1
- ldr r0, [r0]
- cmp r4, r0
- bge _08066244
- movs r1, 0xD4
- lsls r1, 2
- adds r0, r6, r1
- adds r0, r4
- ldrb r2, [r0]
- add r0, sp, 0x4
- ldr r1, _08066258
- bl sub_800D158
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldr r0, _0806625C
- bl sub_808D930
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- mov r1, r8
- add r2, sp, 0x4
- movs r3, 0
- bl sub_8014FF0
-_08066244:
- subs r7, 0x1
- adds r5, 0x2
- adds r4, 0x1
- movs r1, 0xC
- add r8, r1
- cmp r7, 0
- bge _08066208
- b _08066270
- .align 2, 0
-_08066254: .4byte gUnknown_80FEA80
-_08066258: .4byte gUnknown_8106D8C
-_0806625C: .4byte gUnknown_202DF98
-_08066260:
- ldr r0, _08066284
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x8
- mov r1, r8
- movs r3, 0
- bl xxx_call_draw_string
-_08066270:
- movs r0, 0
- bl sub_80073E0
- add sp, 0x44
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066284: .4byte gUnknown_80FEA8C
- thumb_func_end sub_80661AC
-
- thumb_func_start sub_8066288
-sub_8066288:
- push {r4,r5,lr}
- sub sp, 0x44
- adds r5, r0, 0
- adds r3, r1, 0
- ldr r0, _080662B8
- ldr r4, [r0]
- cmp r4, 0
- beq _080662B4
- subs r4, 0x1
- ldr r2, _080662BC
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080662C0
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080662C4
- cmp r3, 0x1
- beq _080662C4
-_080662B4:
- movs r0, 0
- b _0806633E
- .align 2, 0
-_080662B8: .4byte gUnknown_202F2F8
-_080662BC: .4byte gUnknown_202F2FC
-_080662C0: .4byte gUnknown_20255F0
-_080662C4:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- bl sub_80073B8
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x90
- bl sub_80087EC
- ldr r1, _08066348
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r5, r2
- adds r0, r4
- ldrb r2, [r0]
- add r0, sp, 0x4
- bl sub_800D158
- ldr r0, _0806634C
- lsls r1, r4, 1
- adds r1, r5, r1
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl sub_808D930
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x14
- add r2, sp, 0x4
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- movs r0, 0x45
- bl sub_803E46C
- ldr r5, _08066350
- movs r4, 0x5
-_08066320:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x45
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08066320
- ldr r1, _08066354
- ldr r0, [r1]
- subs r0, 0x1
- str r0, [r1]
- movs r0, 0x1
-_0806633E:
- add sp, 0x44
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08066348: .4byte gUnknown_8106D8C
-_0806634C: .4byte gUnknown_202DF98
-_08066350: .4byte gUnknown_203B084
-_08066354: .4byte gUnknown_202F2F8
- thumb_func_end sub_8066288
-
- thumb_func_start sub_8066358
-sub_8066358:
- push {r4-r6,lr}
- sub sp, 0x44
- adds r5, r0, 0
- adds r3, r1, 0
- ldr r0, _08066394
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0x8
- movs r6, 0x80
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r5, r1
- ldr r0, [r0]
- cmp r0, r4
- ble _08066390
- ldr r2, _08066398
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _0806639C
- ldrh r1, [r0, 0x4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080663A0
- cmp r3, 0x2
- beq _080663A0
-_08066390:
- movs r0, 0
- b _0806641A
- .align 2, 0
-_08066394: .4byte gUnknown_202F2F8
-_08066398: .4byte gUnknown_202F2FC
-_0806639C: .4byte gUnknown_20255F0
-_080663A0:
- movs r0, 0
- bl sub_8083CE0
- movs r0, 0
- bl sub_80073B8
- movs r0, 0x10
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r6, 0
- movs r3, 0x48
- bl sub_80087EC
- ldr r1, _08066424
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r5, r2
- adds r0, r4
- ldrb r2, [r0]
- add r0, sp, 0x4
- bl sub_800D158
- ldr r0, _08066428
- lsls r1, r4, 1
- adds r1, r5, r1
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl sub_808D930
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- adds r1, r6, 0
- add r2, sp, 0x4
- movs r3, 0
- bl sub_8014FF0
- movs r0, 0
- bl sub_80073E0
- movs r0, 0xD
- bl sub_803E46C
- ldr r5, _0806642C
- movs r4, 0x5
-_080663FC:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0xD
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _080663FC
- ldr r1, _08066430
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- movs r0, 0x1
-_0806641A:
- add sp, 0x44
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08066424: .4byte gUnknown_8106D8C
-_08066428: .4byte gUnknown_202DF98
-_0806642C: .4byte gUnknown_203B080
-_08066430: .4byte gUnknown_202F2F8
- thumb_func_end sub_8066358
-
- thumb_func_start sub_8066434
-sub_8066434:
- push {r4-r7,lr}
- mov r12, r1
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r7, _080664C8
- ldr r0, _080664CC
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080664C0
- ldr r0, _080664D0
- ldrh r1, [r0]
- ldr r3, _080664D4
- ands r3, r1
- ldr r1, _080664D8
- ands r3, r1
- ldr r1, _080664DC
- ands r3, r1
- ldr r1, _080664E0
- ands r3, r1
- ldr r1, _080664E4
- ands r3, r1
- negs r1, r2
- orrs r1, r2
- asrs r1, 31
- movs r2, 0x80
- lsls r2, 6
- ands r2, r1
- ldrh r1, [r0, 0x2]
- ldr r4, _080664E8
- ands r4, r1
- orrs r4, r2
- movs r5, 0xF
- ldr r2, _080664EC
- movs r6, 0x2
- ldrsh r1, [r7, r6]
- lsls r1, 3
- add r1, r12
- ands r1, r2
- lsls r1, 4
- ldrh r2, [r0, 0x6]
- ands r5, r2
- orrs r5, r1
- strh r5, [r0, 0x6]
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r1, 3
- adds r1, 0x40
- ldr r2, _080664F0
- ands r1, r2
- movs r2, 0xFE
- lsls r2, 8
- ands r4, r2
- orrs r4, r1
- movs r2, 0x80
- lsls r2, 7
- ldr r1, _080664F4
- ands r3, r1
- orrs r3, r2
- strh r3, [r0]
- ands r4, r1
- strh r4, [r0, 0x2]
- ldr r1, _080664F8
- strh r1, [r0, 0x4]
- movs r1, 0x7F
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080664C0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080664C8: .4byte gUnknown_2027370
-_080664CC: .4byte gUnknown_202EDCC
-_080664D0: .4byte gUnknown_202F300
-_080664D4: .4byte 0x0000feff
-_080664D8: .4byte 0x0000fdff
-_080664DC: .4byte 0x0000f3ff
-_080664E0: .4byte 0x0000efff
-_080664E4: .4byte 0x0000dfff
-_080664E8: .4byte 0x0000c1ff
-_080664EC: .4byte 0x00000fff
-_080664F0: .4byte 0x000001ff
-_080664F4: .4byte 0x00003fff
-_080664F8: .4byte 0x0000f3f0
- thumb_func_end sub_8066434
-
- thumb_func_start sub_80664FC
-sub_80664FC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C0
- str r0, [sp, 0x1A8]
- movs r7, 0
- ldr r2, _08066604
- ldr r3, _08066608
- movs r1, 0
-_08066512:
- mov r4, sp
- adds r0, r4, r7
- strb r1, [r0]
- adds r7, 0x1
- cmp r7, r2
- ble _08066512
- movs r4, 0
- adds r1, r3, 0
- ldr r0, [r3]
- ldr r7, _0806660C
- adds r0, r7
- ldr r0, [r0]
- cmp r4, r0
- bge _08066578
- ldr r6, _08066610
-_08066530:
- movs r5, 0x1
- ldr r2, [r1]
- lsls r0, r4, 3
- adds r0, r2, r0
- ldr r7, _08066614
- adds r1, r0, r7
- movs r7, 0
- ldrsh r1, [r1, r7]
- movs r7, 0xD1
- lsls r7, 6
- adds r0, r7
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r1, 0
- bne _08066554
- cmp r0, 0
- beq _08066566
- movs r5, 0x2
-_08066554:
- adds r0, r2, r6
- str r3, [sp, 0x1BC]
- bl sub_808E9B8
- lsls r0, 16
- asrs r0, 16
- add r0, sp
- strb r5, [r0]
- ldr r3, [sp, 0x1BC]
-_08066566:
- adds r6, 0x8
- adds r4, 0x1
- ldr r1, _08066608
- ldr r0, [r1]
- ldr r2, _0806660C
- adds r0, r2
- ldr r0, [r0]
- cmp r4, r0
- blt _08066530
-_08066578:
- ldr r0, [r3]
- ldr r4, _08066618
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806658A
- add r1, sp, 0x17C
- movs r0, 0x1
- strb r0, [r1]
-_0806658A:
- movs r0, 0x5
-_0806658C:
- subs r0, 0x1
- cmp r0, 0
- bge _0806658C
- movs r7, 0
-_08066594:
- movs r0, 0
- mov r8, r0
- movs r1, 0x1
- adds r2, r7, 0x1
- str r2, [sp, 0x1AC]
- lsls r4, r7, 2
- str r4, [sp, 0x1B0]
-_080665A2:
- lsls r0, r1, 16
- asrs r6, r0, 16
- movs r0, 0x7
- mov r10, r0
- movs r2, 0
- mov r9, r2
- mov r4, sp
- adds r0, r4, r6
- ldrb r0, [r0]
- adds r1, 0x1
- str r1, [sp, 0x1B4]
- cmp r0, 0
- bne _080665BE
- b _08066704
-_080665BE:
- cmp r7, 0
- bne _08066620
- adds r0, r6, 0
- bl sub_806F9BC
- lsls r0, 24
- cmp r0, 0
- bne _080665D0
- b _08066704
-_080665D0:
- adds r0, r6, 0
- bl sub_80981DC
- lsls r0, 24
- cmp r0, 0
- bne _080665DE
- b _08066704
-_080665DE:
- adds r0, r6, 0
- bl sub_808DCC0
- lsls r0, 16
- ldr r1, _0806661C
- cmp r0, r1
- bne _080665EE
- b _08066704
-_080665EE:
- cmp r6, 0x97
- bne _0806669E
- movs r0, 0x7A
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- bne _08066600
- b _08066704
-_08066600:
- b _0806669E
- .align 2, 0
-_08066604: .4byte 0x000001a7
-_08066608: .4byte gUnknown_203B418
-_0806660C: .4byte 0x000037e4
-_08066610: .4byte 0x0000343c
-_08066614: .4byte 0x0000343e
-_08066618: .4byte 0x0000066e
-_0806661C: .4byte 0xfc190000
-_08066620:
- movs r5, 0
- ldr r0, _080666CC
- ldr r2, [r0]
- movs r4, 0x1
- movs r3, 0xCE
- lsls r3, 1
-_0806662C:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0806663E
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _08066646
-_0806663E:
- adds r2, 0x58
- adds r5, 0x1
- cmp r5, r3
- ble _0806662C
-_08066646:
- ldr r0, _080666D0
- cmp r5, r0
- beq _08066650
- movs r2, 0x1
- mov r9, r2
-_08066650:
- mov r4, r9
- cmp r4, 0
- bne _0806669E
- movs r5, 0
- ldr r2, _080666CC
-_0806665A:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080666D4
- adds r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806668C
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- str r2, [sp, 0x1B8]
- bl sub_806A564
- lsls r0, 24
- ldr r2, [sp, 0x1B8]
- cmp r0, 0
- bne _0806668C
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, r6
- beq _08066692
-_0806668C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806665A
-_08066692:
- cmp r5, 0x4
- beq _0806669E
- movs r2, 0x1
- mov r9, r2
- movs r4, 0x6
- mov r10, r4
-_0806669E:
- cmp r7, 0
- bne _080666D8
- mov r1, sp
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080666B0
- movs r2, 0x2
- mov r10, r2
-_080666B0:
- mov r4, r8
- lsls r0, r4, 1
- ldr r1, [sp, 0x1A8]
- adds r0, r1, r0
- strh r6, [r0]
- movs r2, 0xD4
- lsls r2, 2
- adds r0, r1, r2
- add r0, r8
- mov r4, r10
- strb r4, [r0]
- movs r0, 0x1
- add r8, r0
- b _08066704
- .align 2, 0
-_080666CC: .4byte gUnknown_203B45C
-_080666D0: .4byte 0x0000019d
-_080666D4: .4byte 0x00008df8
-_080666D8:
- mov r1, r9
- cmp r1, 0
- beq _08066704
- ldr r2, [sp, 0x1B0]
- adds r0, r2, r7
- lsls r0, 6
- subs r0, r7
- lsls r0, 2
- ldr r4, [sp, 0x1A8]
- adds r0, r4
- mov r2, r8
- lsls r1, r2, 1
- adds r1, r0, r1
- strh r6, [r1]
- movs r4, 0xD4
- lsls r4, 2
- adds r0, r4
- add r0, r8
- mov r1, r10
- strb r1, [r0]
- movs r2, 0x1
- add r8, r2
-_08066704:
- ldr r1, [sp, 0x1B4]
- ldr r0, _08066740
- cmp r1, r0
- bgt _0806670E
- b _080665A2
-_0806670E:
- ldr r4, [sp, 0x1B0]
- adds r0, r4, r7
- lsls r0, 6
- subs r0, r7
- lsls r0, 2
- ldr r7, [sp, 0x1A8]
- adds r0, r7
- movs r1, 0x9F
- lsls r1, 3
- adds r0, r1
- mov r2, r8
- str r2, [r0]
- ldr r7, [sp, 0x1AC]
- cmp r7, 0x1
- bgt _0806672E
- b _08066594
-_0806672E:
- add sp, 0x1C0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066740: .4byte 0x000001a3
- thumb_func_end sub_80664FC
-
- thumb_func_start sub_8066744
-sub_8066744:
- push {lr}
- ldr r1, [r0, 0x70]
- adds r1, 0x48
- movs r2, 0x1
- strb r2, [r1]
- adds r0, 0x4
- movs r1, 0
- bl sub_8045DB4
- pop {r0}
- bx r0
- thumb_func_end sub_8066744
-
- thumb_func_start sub_806675C
-sub_806675C:
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r1, 0
- movs r2, 0xFE
- bl sub_8044D90
- adds r4, r0, 0
- movs r3, 0
- ldr r6, _080667C0
-_08066772:
- lsls r1, r3, 2
- ldr r0, [r6]
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08066798
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _08066798
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _080667EC
- movs r0, 0xEF
- ands r0, r2
- strb r0, [r1]
-_08066798:
- adds r3, 0x1
- cmp r3, 0x13
- ble _08066772
- ldr r0, _080667C4
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _080667C8
- bl sub_8083E38
- cmp r7, 0
- beq _08066812
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080667D0
- ldr r0, _080667CC
- b _080667DE
- .align 2, 0
-_080667C0: .4byte gUnknown_203B460
-_080667C4: .4byte gUnknown_202DE58
-_080667C8: .4byte 0x00000133
-_080667CC: .4byte gUnknown_80F8D04
-_080667D0:
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- bne _08066808
- ldr r0, _080667E8
-_080667DE:
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _08066812
- .align 2, 0
-_080667E8: .4byte gUnknown_80F8CE4
-_080667EC:
- ldr r0, _08066800
- bl sub_8045BF8
- ldr r0, _08066804
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _08066838
- .align 2, 0
-_08066800: .4byte gUnknown_202DE58
-_08066804: .4byte gUnknown_80F8C7C
-_08066808:
- ldr r0, _08066840
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_08066812:
- ldrb r0, [r4]
- movs r1, 0x10
- orrs r1, r0
- strb r1, [r4]
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _08066838
- cmp r7, 0
- beq _08066838
- ldr r0, _08066844
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _08066848
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_08066838:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066840: .4byte gUnknown_80F8CE8
-_08066844: .4byte gUnknown_202DE58
-_08066848: .4byte gUnknown_80F8BE0
- thumb_func_end sub_806675C
-
- thumb_func_start sub_806684C
-sub_806684C:
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- movs r4, 0
-_08066856:
- ldr r0, _0806688C
- lsls r1, r4, 2
- ldr r0, [r0]
- adds r1, r0, r1
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080668B8
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080668B8
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08066898
- ldr r0, _08066890
- bl sub_8045BF8
- ldr r0, _08066894
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _080668BE
- .align 2, 0
-_0806688C: .4byte gUnknown_203B460
-_08066890: .4byte gUnknown_202DE58
-_08066894: .4byte gUnknown_80F8C7C
-_08066898:
- movs r0, 0xEF
- ands r0, r2
- strb r0, [r1]
- ldr r0, _080668C4
- bl sub_8045BF8
- ldr r0, _080668C8
- bl sub_8083E38
- cmp r6, 0
- beq _080668B8
- ldr r0, _080668CC
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_080668B8:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08066856
-_080668BE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080668C4: .4byte gUnknown_202DE58
-_080668C8: .4byte 0x00000133
-_080668CC: .4byte gUnknown_80F8D20
- thumb_func_end sub_806684C
-
- thumb_func_start sub_80668D0
-sub_80668D0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8044DA4
- mov r8, r0
- ldr r4, [r6, 0x70]
- ldr r7, [r0, 0x70]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x2
- bl sub_8044D90
- adds r5, r0, 0
- adds r4, 0x48
- ldrb r0, [r4]
- movs r1, 0
- mov r9, r1
- cmp r0, 0x80
- bne _08066904
- movs r2, 0x1
- mov r9, r2
-_08066904:
- mov r0, r9
- cmp r0, 0
- bne _08066928
- ldrb r1, [r5]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066928
- ldr r0, _08066920
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08066924
- b _08066950
- .align 2, 0
-_08066920: .4byte gUnknown_202DEA8
-_08066924: .4byte gUnknown_80F8C44
-_08066928:
- ldr r0, _0806695C
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- adds r1, r7, 0
- adds r1, 0x60
- ldrb r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _08066A04
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08066968
- ldr r0, _08066960
- bl sub_8045BF8
- ldr r0, _08066964
-_08066950:
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _08066A96
- .align 2, 0
-_0806695C: .4byte gUnknown_202DFE8
-_08066960: .4byte gUnknown_202DEA8
-_08066964: .4byte gUnknown_80F8C40
-_08066968:
- ldr r1, [r7, 0x60]
- str r1, [sp]
- ldr r2, [r5]
- str r2, [sp, 0x4]
- movs r4, 0xEF
- mov r0, sp
- ldrb r0, [r0]
- ands r0, r4
- ldr r3, _080669A8
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- add r5, sp, 0x4
- ldrb r0, [r5]
- ands r0, r4
- ands r2, r3
- orrs r2, r0
- str r2, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x64
- bl sub_8044DF0
- mov r1, r9
- cmp r1, 0
- beq _080669AC
- adds r0, r6, 0x4
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
- b _080669B2
- .align 2, 0
-_080669A8: .4byte 0xffffff00
-_080669AC:
- mov r0, sp
- bl sub_8091290
-_080669B2:
- ldr r0, [sp, 0x4]
- str r0, [r7, 0x60]
- ldr r4, _080669F4
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8045BF8
- adds r4, 0x50
- adds r0, r4, 0
- mov r1, sp
- bl sub_8045BF8
- ldr r0, _080669F8
- bl sub_8083E38
- ldr r0, _080669FC
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- add r0, sp, 0x4
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066A52
- ldr r0, _08066A00
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _08066A52
- .align 2, 0
-_080669F4: .4byte gUnknown_202DE58
-_080669F8: .4byte 0x0000014d
-_080669FC: .4byte gUnknown_80F8CA8
-_08066A00: .4byte gUnknown_80F8BE0
-_08066A04:
- ldr r2, [r5]
- str r2, [sp, 0x8]
- movs r1, 0xEF
- add r4, sp, 0x8
- ldrb r0, [r4]
- ands r0, r1
- ldr r1, _08066AA4
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x8]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x65
- bl sub_8044DF0
- ldr r0, [sp, 0x8]
- str r0, [r7, 0x60]
- ldr r0, _08066AA8
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _08066AAC
- bl sub_8083E38
- ldr r0, _08066AB0
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066A52
- ldr r0, _08066AB4
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
-_08066A52:
- mov r0, r8
- bl sub_806A6E8
- mov r1, r8
- adds r1, 0x4
- mov r0, r8
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _08066A74
- adds r0, r6, 0
- mov r1, r8
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_08066A74:
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _08066A86
- ldrh r1, [r7]
- movs r2, 0x80
- lsls r2, 7
- adds r0, r2, 0
- orrs r0, r1
- strh r0, [r7]
-_08066A86:
- ldr r0, _08066AB8
- ldr r0, [r0]
- ldr r1, _08066ABC
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_807AB38
-_08066A96:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066AA4: .4byte 0xffffff00
-_08066AA8: .4byte gUnknown_202DE58
-_08066AAC: .4byte 0x0000014d
-_08066AB0: .4byte gUnknown_80F8D44
-_08066AB4: .4byte gUnknown_80F8BE0
-_08066AB8: .4byte gUnknown_203B418
-_08066ABC: .4byte 0x00003a08
- thumb_func_end sub_80668D0
-
- thumb_func_start sub_8066AC0
-sub_8066AC0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r0, 0
- movs r1, 0
- bl sub_8044DA4
- adds r6, r0, 0
- ldr r2, [r6, 0x70]
- mov r8, r2
- adds r5, r2, 0
- adds r5, 0x60
- ldr r0, _08066AF0
- ldr r0, [r0]
- adds r0, 0x4C
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08066AF8
- ldr r0, _08066AF4
- b _08066B10
- .align 2, 0
-_08066AF0: .4byte gUnknown_203B460
-_08066AF4: .4byte gUnknown_80F8D60
-_08066AF8:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08066B24
- ldr r0, _08066B1C
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08066B20
-_08066B10:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _08066BAC
- .align 2, 0
-_08066B1C: .4byte gUnknown_202DE58
-_08066B20: .4byte gUnknown_80F8BE0
-_08066B24:
- ldr r2, [r2, 0x60]
- str r2, [sp]
- movs r1, 0xEF
- mov r0, sp
- ldrb r0, [r0]
- ands r0, r1
- ldr r1, _08066BB8
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldr r0, _08066BBC
- mov r1, sp
- bl sub_8045BF8
- ldr r0, _08066BC0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- strb r4, [r5, 0x2]
- strb r4, [r5, 0x1]
- strb r4, [r5]
- mov r0, sp
- bl sub_8091290
- ldr r0, _08066BC4
- bl sub_8083E38
- ldr r0, _08066BC8
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- adds r0, r6, 0
- bl sub_806A6E8
- adds r1, r6, 0x4
- adds r0, r6, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _08066B86
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_08066B86:
- mov r1, r8
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _08066B9C
- ldrh r1, [r1]
- movs r2, 0x80
- lsls r2, 7
- adds r0, r2, 0
- orrs r0, r1
- mov r1, r8
- strh r0, [r1]
-_08066B9C:
- ldr r0, _08066BCC
- ldr r0, [r0]
- ldr r2, _08066BD0
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_807AB38
-_08066BAC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066BB8: .4byte 0xffffff00
-_08066BBC: .4byte gUnknown_202DE58
-_08066BC0: .4byte gUnknown_202DF98
-_08066BC4: .4byte 0x0000014d
-_08066BC8: .4byte gUnknown_80F8D7C
-_08066BCC: .4byte gUnknown_203B418
-_08066BD0: .4byte 0x00003a08
- thumb_func_end sub_8066AC0
-
- thumb_func_start sub_8066BD4
-sub_8066BD4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- movs r1, 0
- bl sub_8044DA4
- mov r9, r0
- ldr r0, [r0, 0x70]
- mov r8, r0
- mov r10, r8
- mov r6, r8
- adds r6, 0x60
- ldr r2, _08066C10
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8044D90
- adds r5, r0, 0
- ldrb r2, [r6]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08066C18
- ldr r0, _08066C14
- adds r1, r6, 0
- b _08066C26
- .align 2, 0
-_08066C10: .4byte 0x00001565
-_08066C14: .4byte gUnknown_202DE58
-_08066C18:
- ldrb r1, [r5]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066C40
- ldr r0, _08066C38
- adds r1, r5, 0
-_08066C26:
- bl sub_8045BF8
- ldr r0, _08066C3C
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _08066CC8
- .align 2, 0
-_08066C38: .4byte gUnknown_202DE58
-_08066C3C: .4byte gUnknown_80F8BE0
-_08066C40:
- movs r1, 0xEF
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r6]
- ldrb r0, [r5]
- ands r1, r0
- strb r1, [r5]
- ldr r4, _08066CD8
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8045BF8
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08066CDC
- mov r1, r9
- movs r2, 0
- bl sub_8045B94
- mov r2, r8
- ldr r1, [r2, 0x60]
- ldr r0, [r5]
- str r0, [r2, 0x60]
- str r1, [r5]
- ldr r0, _08066CE0
- bl sub_8083E38
- ldr r0, _08066CE4
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- mov r1, r9
- adds r1, 0x4
- mov r0, r9
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _08066CA2
- adds r0, r7, 0
- mov r1, r9
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_08066CA2:
- mov r1, r10
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _08066CB8
- ldrh r1, [r1]
- movs r2, 0x80
- lsls r2, 7
- adds r0, r2, 0
- orrs r0, r1
- mov r1, r10
- strh r0, [r1]
-_08066CB8:
- ldr r0, _08066CE8
- ldr r0, [r0]
- ldr r2, _08066CEC
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_807AB38
-_08066CC8:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066CD8: .4byte gUnknown_202DE58
-_08066CDC: .4byte gUnknown_202DFE8
-_08066CE0: .4byte 0x0000014d
-_08066CE4: .4byte gUnknown_80F8DB4
-_08066CE8: .4byte gUnknown_203B418
-_08066CEC: .4byte 0x00003a08
- thumb_func_end sub_8066BD4
-
- thumb_func_start sub_8066CF0
-sub_8066CF0:
- push {lr}
- movs r1, 0
- bl sub_8044DA4
- ldr r0, [r0, 0x70]
- adds r0, 0xFC
- movs r1, 0x1
- strb r1, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_8066CF0
-
- thumb_func_start sub_8066D04
-sub_8066D04:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, [r4, 0x70]
- movs r1, 0
- movs r2, 0x4
- bl sub_8044D90
- adds r5, r0, 0
- ldr r0, _08066D2C
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r6, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x80
- bne _08066D34
- ldr r0, _08066D30
- b _08066DB2
- .align 2, 0
-_08066D2C: .4byte gUnknown_202DE58
-_08066D30: .4byte gUnknown_80F8DE0
-_08066D34:
- cmp r0, 0x14
- bhi _08066D4C
- ldrb r1, [r5]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066D4C
- ldr r0, _08066D48
- b _08066DB2
- .align 2, 0
-_08066D48: .4byte gUnknown_80F8BE0
-_08066D4C:
- adds r0, r6, 0
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x81
- bne _08066D68
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066D68
- ldr r0, _08066D64
- b _08066DB2
- .align 2, 0
-_08066D64: .4byte gUnknown_80F8BE0
-_08066D68:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _08066DB0
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _08066DB0
- ldr r6, [r2, 0x14]
- cmp r6, 0
- bne _08066DB0
- ldrb r1, [r5]
- movs r0, 0xEF
- ands r0, r1
- strb r0, [r5]
- ldr r0, _08066DBC
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r4, 0x4
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- bne _08066DC4
-_08066DB0:
- ldr r0, _08066DC0
-_08066DB2:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _08066DF8
- .align 2, 0
-_08066DBC: .4byte gUnknown_202DE58
-_08066DC0: .4byte gUnknown_80F8E04
-_08066DC4:
- strb r6, [r5, 0x2]
- strb r6, [r5, 0x1]
- strb r6, [r5]
- bl sub_80910B4
- ldr r0, _08066E00
- bl sub_8083E38
- ldr r0, _08066E04
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08066E08
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- ldr r0, _08066E0C
- ldr r0, [r0]
- ldr r1, _08066E10
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_807AB38
-_08066DF8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08066E00: .4byte 0x0000014d
-_08066E04: .4byte gUnknown_202DF98
-_08066E08: .4byte gUnknown_80F8E28
-_08066E0C: .4byte gUnknown_203B418
-_08066E10: .4byte 0x00003a08
- thumb_func_end sub_8066D04
-
- thumb_func_start sub_8066E14
-sub_8066E14:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r0
- ldr r0, [r0, 0x70]
- mov r10, r0
- mov r0, r9
- movs r1, 0
- movs r2, 0x5
- bl sub_8044D90
- adds r6, r0, 0
- mov r0, r9
- movs r1, 0x1
- movs r2, 0x6
- bl sub_8044D90
- adds r2, r0, 0
- adds r7, r2, 0
- mov r0, r10
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x80
- beq _08066E54
- ldr r0, _08066E50
- b _08066F1E
- .align 2, 0
-_08066E50: .4byte gUnknown_80F8E2C
-_08066E54:
- mov r0, r10
- adds r0, 0x50
- ldrb r1, [r0]
- str r0, [sp, 0x8]
- cmp r1, 0x14
- bhi _08066E80
- ldrb r1, [r2]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08066E80
- ldr r0, _08066E78
- adds r1, r2, 0
- bl sub_8045BF8
- ldr r0, _08066E7C
- b _08066F1E
- .align 2, 0
-_08066E78: .4byte gUnknown_202DE58
-_08066E7C: .4byte gUnknown_80F8BE0
-_08066E80:
- ldr r1, [sp, 0x8]
- ldrb r0, [r1]
- cmp r0, 0x81
- bne _08066EA8
- adds r2, r7, 0
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08066EA8
- ldr r0, _08066EA0
- adds r1, r2, 0
- bl sub_8045BF8
- ldr r0, _08066EA4
- b _08066F1E
- .align 2, 0
-_08066EA0: .4byte gUnknown_202DEA8
-_08066EA4: .4byte gUnknown_80F8C48
-_08066EA8:
- mov r2, r9
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- bl sub_804954C
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _08066ECC
- bl sub_80450F8
- cmp r0, 0x3
- beq _08066ECC
- ldr r0, _08066EC8
- b _08066F1E
- .align 2, 0
-_08066EC8: .4byte gUnknown_80F8E54
-_08066ECC:
- adds r0, r6, 0
- ldr r5, [r0]
- str r5, [sp]
- adds r4, r7, 0
- ldr r6, [r4]
- mov r8, sp
- str r6, [sp, 0x4]
- movs r3, 0xEF
- mov r0, sp
- ldrb r2, [r0]
- ands r2, r3
- ldr r1, _08066F28
- adds r0, r1, 0
- ands r0, r5
- orrs r0, r2
- str r0, [sp]
- mov r2, r8
- ldrb r0, [r2, 0x4]
- ands r0, r3
- ands r1, r6
- orrs r1, r0
- str r1, [sp, 0x4]
- mov r5, r10
- adds r5, 0x4C
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80461C8
- movs r0, 0
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x1]
- strb r0, [r4]
- add r1, sp, 0x4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- bne _08066F30
- ldr r0, _08066F2C
-_08066F1E:
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
- b _08066F7E
- .align 2, 0
-_08066F28: .4byte 0xffffff00
-_08066F2C: .4byte gUnknown_80F8E78
-_08066F30:
- ldr r3, [sp, 0x8]
- ldrb r0, [r3]
- cmp r0, 0x81
- bne _08066F40
- ldr r0, [sp]
- mov r1, r10
- str r0, [r1, 0x60]
- b _08066F46
-_08066F40:
- mov r0, sp
- bl sub_8091290
-_08066F46:
- bl sub_80910B4
- ldr r4, _08066F90
- add r1, sp, 0x4
- adds r0, r4, 0
- bl sub_8045BF8
- adds r4, 0x50
- adds r0, r4, 0
- mov r1, sp
- bl sub_8045BF8
- ldr r0, _08066F94
- bl sub_8083E38
- ldr r0, _08066F98
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
- ldr r0, _08066F9C
- ldr r0, [r0]
- ldr r2, _08066FA0
- adds r0, r2
- ldrb r1, [r0]
- mov r0, r9
- bl sub_807AB38
-_08066F7E:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08066F90: .4byte gUnknown_202DE58
-_08066F94: .4byte 0x0000014d
-_08066F98: .4byte gUnknown_80F8EAC
-_08066F9C: .4byte gUnknown_203B418
-_08066FA0: .4byte 0x00003a08
- thumb_func_end sub_8066E14
-
- thumb_func_start sub_8066FA4
-sub_8066FA4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r7, r0, 0
- ldr r0, [r7, 0x70]
- mov r9, r0
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- bl sub_804954C
- mov r10, r0
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0x7
- bl sub_8044D90
- adds r4, r0, 0
- adds r5, r4, 0
- ldr r0, _08067000
- mov r8, r0
- adds r1, r4, 0
- bl sub_8045BF8
- mov r0, r9
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x14
- bhi _08067008
- ldrb r1, [r4]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- bne _08067008
- mov r0, r8
- adds r0, 0x50
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _08067004
- b _0806709E
- .align 2, 0
-_08067000: .4byte gUnknown_202DE58
-_08067004: .4byte gUnknown_80F8C48
-_08067008:
- mov r0, r9
- adds r0, 0x48
- ldrb r1, [r0]
- str r0, [sp, 0x8]
- cmp r1, 0x81
- bne _08067028
- adds r0, r5, 0
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08067028
- ldr r0, _08067024
- b _0806709E
- .align 2, 0
-_08067024: .4byte gUnknown_80F8C44
-_08067028:
- mov r1, r10
- ldr r0, [r1, 0x14]
- cmp r0, 0
- beq _08067040
- bl sub_80450F8
- cmp r0, 0x3
- beq _08067040
- ldr r0, _0806703C
- b _0806709E
- .align 2, 0
-_0806703C: .4byte gUnknown_80F8E54
-_08067040:
- mov r2, r10
- ldr r0, [r2, 0x14]
- bl sub_8045108
- adds r4, r0, 0
- ldr r0, _080670A8
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r6, [r5]
- str r6, [sp]
- ldr r4, [r4]
- mov r8, sp
- str r4, [sp, 0x4]
- movs r3, 0xEF
- mov r0, sp
- ldrb r2, [r0]
- ands r2, r3
- ldr r1, _080670AC
- adds r0, r1, 0
- ands r0, r6
- orrs r0, r2
- str r0, [sp]
- mov r2, r8
- ldrb r0, [r2, 0x4]
- ands r0, r3
- ands r1, r4
- orrs r1, r0
- str r1, [sp, 0x4]
- adds r4, r7, 0x4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80461C8
- movs r0, 0
- strb r0, [r5, 0x2]
- strb r0, [r5, 0x1]
- strb r0, [r5]
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_80460F8
- lsls r0, 24
- cmp r0, 0
- bne _080670B4
- ldr r0, _080670B0
-_0806709E:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _080670EE
- .align 2, 0
-_080670A8: .4byte gUnknown_202DEA8
-_080670AC: .4byte 0xffffff00
-_080670B0: .4byte gUnknown_80F8E78
-_080670B4:
- ldr r1, [sp, 0x8]
- ldrb r0, [r1]
- cmp r0, 0x81
- bne _080670C4
- ldr r0, [sp, 0x4]
- mov r2, r9
- str r0, [r2, 0x60]
- b _080670CA
-_080670C4:
- add r0, sp, 0x4
- bl sub_8091290
-_080670CA:
- bl sub_80910B4
- ldr r0, _08067100
- bl sub_8083E38
- ldr r0, _08067104
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- ldr r0, _08067108
- ldr r0, [r0]
- ldr r1, _0806710C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_807AB38
-_080670EE:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067100: .4byte 0x0000014d
-_08067104: .4byte gUnknown_80F8EAC
-_08067108: .4byte gUnknown_203B418
-_0806710C: .4byte 0x00003a08
- thumb_func_end sub_8066FA4
-
- thumb_func_start sub_8067110
-sub_8067110:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldr r4, [r5, 0x70]
- movs r1, 0
- movs r2, 0x8
- bl sub_8044D90
- adds r6, r0, 0
- ldr r0, _08067190
- adds r1, r6, 0
- bl sub_8045BF8
- ldr r0, _08067194
- adds r1, r4, 0
- movs r2, 0
- bl sub_80708B4
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8048D50
- lsls r0, 24
- cmp r0, 0
- beq _08067188
- adds r0, r6, 0
- bl sub_80464AC
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_80522A8
- ldr r0, [r6]
- str r0, [sp, 0x8]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x66
- bl sub_8044DF0
- movs r0, 0x1E
- movs r1, 0x11
- bl sub_803E708
- str r5, [sp]
- add r0, sp, 0x8
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- adds r3, r5, 0
- bl sub_80479B8
- ldr r0, _08067198
- ldr r0, [r0]
- ldr r1, _0806719C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_807AB38
-_08067188:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08067190: .4byte gUnknown_202DE58
-_08067194: .4byte gUnknown_202DF98
-_08067198: .4byte gUnknown_203B418
-_0806719C: .4byte 0x00003a08
- thumb_func_end sub_8067110
-
- thumb_func_start sub_80671A0
-sub_80671A0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x9
- bl sub_8044D90
- adds r4, r0, 0
- mov r0, r8
- adds r0, 0x48
- ldrb r0, [r0]
- cmp r0, 0x81
- bne _080671E8
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080671E8
- ldr r0, _080671E0
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _080671E4
- b _08067230
- .align 2, 0
-_080671E0: .4byte gUnknown_202DE58
-_080671E4: .4byte gUnknown_80F8BE0
-_080671E8:
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _08067202
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08067220
-_08067202:
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08067220
- ldr r0, _08067218
- adds r1, r4, 0
- bl sub_8045BF8
- ldr r0, _0806721C
- b _08067230
- .align 2, 0
-_08067218: .4byte gUnknown_202DE58
-_0806721C: .4byte gUnknown_80F8BE0
-_08067220:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _08067248
- ldr r0, _08067244
-_08067230:
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- movs r0, 0x14
- movs r1, 0x4C
- bl sub_803E708
- b _080674F8
- .align 2, 0
-_08067244: .4byte gUnknown_80FF76C
-_08067248:
- ldr r2, [r4]
- str r2, [sp, 0x4]
- movs r1, 0xEF
- add r0, sp, 0x4
- ldrb r0, [r0]
- ands r0, r1
- ldr r1, _080672C0
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- mov r0, r8
- adds r0, 0x48
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x80
- bne _08067272
- movs r4, 0
- adds r0, 0x4
- movs r1, 0x1
- bl sub_80461C8
-_08067272:
- movs r7, 0x1
- ldr r0, [sp, 0x4]
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _0806729A
- ldr r0, [sp, 0x4]
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080672A8
-_0806729A:
- ldr r0, [sp, 0x4]
- lsrs r0, 8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080672A8
- movs r7, 0
-_080672A8:
- cmp r7, 0
- beq _080672C4
- ldrb r0, [r5]
- cmp r0, 0x80
- beq _080672F6
- movs r0, 0
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x1]
- strb r0, [r4]
- bl sub_80910B4
- b _080672F6
- .align 2, 0
-_080672C0: .4byte 0xffffff00
-_080672C4:
- ldrb r0, [r5]
- cmp r0, 0x80
- bne _080672F0
- ldr r2, [sp, 0x4]
- lsrs r0, r2, 8
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 16
- ldr r1, _080672EC
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- mov r0, r8
- adds r0, 0x4C
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_80460F8
- b _080672F6
- .align 2, 0
-_080672EC: .4byte 0xffff00ff
-_080672F0:
- ldrb r0, [r4, 0x1]
- subs r0, 0x1
- strb r0, [r4, 0x1]
-_080672F6:
- adds r0, r6, 0
- movs r1, 0x29
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08067310
- movs r0, 0x8
- bl sub_8084100
- mov r1, r8
- adds r1, 0x46
- strb r0, [r1]
-_08067310:
- adds r0, r6, 0
- bl sub_8045888
- lsls r0, 24
- movs r1, 0xE0
- add r1, r8
- mov r10, r1
- adds r1, r6, 0x4
- str r1, [sp, 0x10]
- add r1, sp, 0xC
- mov r9, r1
- cmp r0, 0
- beq _08067364
- mov r0, r8
- adds r0, 0x46
- ldrb r4, [r0]
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r6, 0
- bl sub_80421C0
- movs r7, 0x7
- movs r5, 0x7
-_0806733E:
- subs r4, 0x1
- ands r4, r7
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_806CDD4
- movs r0, 0x2
- movs r1, 0x15
- bl sub_803E708
- subs r5, 0x1
- cmp r5, 0
- bge _0806733E
- movs r1, 0xB3
- lsls r1, 1
- add r1, r8
- movs r0, 0x4
- strb r0, [r1]
-_08067364:
- add r4, sp, 0x4
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _08067380
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08067384
-_08067380:
- movs r0, 0x1
- strb r0, [r4, 0x1]
-_08067384:
- ldr r0, _080673B0
- add r4, sp, 0x4
- adds r1, r4, 0
- bl sub_8045C08
- ldr r0, _080673B4
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- bne _080673BC
- ldr r0, _080673B8
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _080673C6
- .align 2, 0
-_080673B0: .4byte gUnknown_202DE58
-_080673B4: .4byte gUnknown_202DF98
-_080673B8: .4byte gUnknown_80F8EC8
-_080673BC:
- ldr r0, _080673F8
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
-_080673C6:
- add r0, sp, 0x4
- ldrb r0, [r0, 0x2]
- bl sub_8090BD0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_8042208
- adds r0, r6, 0
- movs r1, 0x27
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08067400
- ldr r0, _080673FC
- ldr r1, [sp, 0xC]
- ands r1, r0
- movs r0, 0x80
- lsls r0, 1
- orrs r1, r0
- str r1, [sp, 0xC]
- b _08067408
- .align 2, 0
-_080673F8: .4byte gUnknown_80F8EC4
-_080673FC: .4byte 0xffff00ff
-_08067400:
- ldr r1, _0806741C
- ldr r0, [sp, 0xC]
- ands r0, r1
- str r0, [sp, 0xC]
-_08067408:
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08067440
- cmp r0, 0x1
- bgt _08067420
- cmp r0, 0
- beq _08067426
- b _08067462
- .align 2, 0
-_0806741C: .4byte 0xffff00ff
-_08067420:
- cmp r0, 0x2
- beq _0806744C
- b _08067462
-_08067426:
- ldr r1, _08067438
- ldr r0, [sp, 0xC]
- ands r0, r1
- ldr r1, _0806743C
- ands r0, r1
- movs r1, 0xA0
- lsls r1, 12
- b _0806745E
- .align 2, 0
-_08067438: .4byte 0xffffff00
-_0806743C: .4byte 0x0000ffff
-_08067440:
- ldr r1, _08067448
- ldr r0, [sp, 0xC]
- ands r0, r1
- b _08067456
- .align 2, 0
-_08067448: .4byte 0xffffff00
-_0806744C:
- ldr r1, _080674B4
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
-_08067456:
- ldr r1, _080674B8
- ands r0, r1
- movs r1, 0xC6
- lsls r1, 15
-_0806745E:
- orrs r0, r1
- str r0, [sp, 0xC]
-_08067462:
- adds r0, r6, 0
- movs r1, 0xF
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08067486
- ldr r1, _080674B4
- ldr r0, [sp, 0xC]
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- ldr r1, _080674B8
- ands r0, r1
- movs r1, 0xC6
- lsls r1, 15
- orrs r0, r1
- str r0, [sp, 0xC]
-_08067486:
- add r0, sp, 0x4
- ldrb r0, [r0, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080674BC
- add r4, sp, 0x8
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8083904
- mov r0, r9
- str r0, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- ldr r2, [sp, 0x10]
- adds r3, r4, 0
- bl sub_80475C4
- b _080674D0
- .align 2, 0
-_080674B4: .4byte 0xffffff00
-_080674B8: .4byte 0x0000ffff
-_080674BC:
- mov r0, r8
- adds r0, 0x46
- ldrb r3, [r0]
- mov r1, r9
- str r1, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- ldr r2, [sp, 0x10]
- bl sub_8047190
-_080674D0:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080674F8
- mov r0, r8
- adds r0, 0x46
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_806CE68
- ldr r0, _08067508
- ldr r0, [r0]
- ldr r1, _0806750C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_807AB38
-_080674F8:
- 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
-_08067508: .4byte gUnknown_203B418
-_0806750C: .4byte 0x00003a08
- thumb_func_end sub_80671A0
-
- thumb_func_start sub_8067510
-sub_8067510:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_806773C
- adds r1, r0, 0
- movs r2, 0x1
- negs r2, r2
- adds r0, r4, 0
- bl sub_8067558
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8067510
-
- thumb_func_start sub_806752C
-sub_806752C:
- push {r4,lr}
- ldr r1, _08067550
- ldr r1, [r1]
- ldrb r0, [r0, 0x4]
- lsls r0, 2
- ldr r2, _08067554
- adds r1, r2
- adds r1, r0
- ldr r4, [r1]
- bl sub_8083600
- adds r1, r4, 0
- movs r2, 0
- bl sub_8067558
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08067550: .4byte gUnknown_203B418
-_08067554: .4byte 0x0001357c
- thumb_func_end sub_806752C
-
- thumb_func_start sub_8067558
-sub_8067558:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x12C
- adds r6, r0, 0
- adds r5, r1, 0
- mov r9, r2
- ldr r0, [r6, 0x70]
- mov r8, r0
- cmp r5, 0
- bne _0806757C
- ldr r0, _08067578
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067578: .4byte gUnknown_80F8EE4
-_0806757C:
- adds r0, r6, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- bne _08067594
- ldr r0, _08067590
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067590: .4byte gUnknown_80F8EE4
-_08067594:
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080675AA
- b _0806771E
-_080675AA:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080675C0
- b _0806771E
-_080675C0:
- ldr r7, [r5, 0x70]
- ldr r4, _08067608
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_80708B4
- adds r4, 0x50
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x7
- bl sub_80708B4
- bl sub_8084778
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_807A96C
- adds r0, r5, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- beq _08067600
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08067610
-_08067600:
- ldr r0, _0806760C
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067608: .4byte gUnknown_202DF98
-_0806760C: .4byte gUnknown_80FE008
-_08067610:
- adds r0, r6, 0x4
- adds r1, r5, 0x4
- bl sub_80983D8
- adds r1, r0, 0
- adds r0, r6, 0
- bl sub_806CEFC
- mov r1, r9
- cmp r1, 0
- blt _0806762E
- adds r0, r5, 0
- bl sub_806CEFC
- b _0806763C
-_0806762E:
- mov r0, r8
- adds r0, 0x46
- ldrb r1, [r0]
- adds r1, 0x4
- adds r0, r5, 0
- bl sub_806CEFC
-_0806763C:
- ldrb r0, [r7, 0x8]
- cmp r0, 0x1
- bne _08067648
- bl sub_807EF84
- b _0806772A
-_08067648:
- adds r0, r7, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08067694
- ldr r0, _08067668
- ldr r1, [r0]
- ldr r2, _0806766C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08067674
- ldr r0, _08067670
- ldr r1, [r0]
- movs r0, 0
- b _08067716
- .align 2, 0
-_08067668: .4byte gUnknown_203B418
-_0806766C: .4byte 0x0000066e
-_08067670: .4byte gUnknown_80FF674
-_08067674:
- ldr r3, _08067688
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806768C
- adds r0, r5, 0
- bl sub_80845E0
- b _0806772A
- .align 2, 0
-_08067688: .4byte 0x00000677
-_0806768C:
- adds r0, r5, 0
- bl sub_8084448
- b _0806772A
-_08067694:
- movs r0, 0x4
- ldrsh r5, [r7, r0]
- movs r6, 0
- adds r0, r7, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- bne _080676AA
- movs r5, 0xD2
- lsls r5, 1
- b _080676CC
-_080676AA:
- cmp r0, 0x47
- bne _080676B8
- ldr r5, _080676B4
- b _080676CC
- .align 2, 0
-_080676B4: .4byte 0x000001a5
-_080676B8:
- cmp r0, 0x41
- bne _080676CC
- ldr r0, _080676E8
- ldr r0, [r0]
- ldr r1, _080676EC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080676CC
- movs r6, 0x1
-_080676CC:
- movs r3, 0x10
- ldrsh r2, [r7, r3]
- adds r0, r2, 0
- cmp r2, 0
- bge _080676D8
- adds r0, r2, 0x3
-_080676D8:
- movs r3, 0xE
- ldrsh r1, [r7, r3]
- asrs r0, 2
- cmp r1, r0
- bgt _080676F0
- movs r2, 0x2
- b _08067708
- .align 2, 0
-_080676E8: .4byte gUnknown_203B418
-_080676EC: .4byte 0x0000065c
-_080676F0:
- movs r0, 0xE
- ldrsh r4, [r7, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 1
- movs r1, 0xA
- bl __divsi3
- movs r2, 0
- cmp r4, r0
- bgt _08067708
- movs r2, 0x1
-_08067708:
- mov r0, sp
- adds r1, r5, 0
- adds r3, r6, 0
- bl sub_806A3D4
- movs r0, 0
- mov r1, sp
-_08067716:
- movs r2, 0x1
- bl PrintFieldMessage
- b _0806772A
-_0806771E:
- ldr r0, _08067738
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806772A:
- add sp, 0x12C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067738: .4byte gUnknown_80F8EE4
- thumb_func_end sub_8067558
-
- thumb_func_start sub_806773C
-sub_806773C:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_80696A8
- adds r4, r0, 0
- cmp r4, 0
- beq _08067760
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _08067760
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _08067760
- adds r0, r4, 0
- b _08067762
-_08067760:
- movs r0, 0
-_08067762:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806773C
-
- thumb_func_start sub_8067768
-sub_8067768:
- push {r4,lr}
- ldr r1, _0806778C
- ldr r1, [r1]
- ldrb r0, [r0, 0x4]
- lsls r0, 2
- ldr r2, _08067790
- adds r1, r2
- adds r1, r0
- ldr r4, [r1]
- bl sub_8083600
- adds r1, r4, 0
- movs r2, 0
- bl sub_8067794
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0806778C: .4byte gUnknown_203B418
-_08067790: .4byte 0x0001357c
- thumb_func_end sub_8067768
-
- thumb_func_start sub_8067794
-sub_8067794:
- push {r4-r7,lr}
- sub sp, 0x40
- adds r7, r1, 0
- ldr r4, [r7, 0x70]
- cmp r7, 0
- bne _080677B4
- ldr r0, _080677B0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _0806786C
- .align 2, 0
-_080677B0: .4byte gUnknown_80F8F08
-_080677B4:
- ldr r0, _080677F0
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080677F4
- ldr r5, [r0]
- ldr r0, _080677F8
- ldr r6, [r0]
- ldrb r2, [r4, 0xA]
- cmp r2, 0
- blt _08067834
- ldr r1, _080677FC
- movs r0, 0x64
- muls r0, r2
- ldr r2, _08067800
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl sub_806A564
- lsls r0, 24
- cmp r0, 0
- beq _0806780C
- ldr r0, _08067804
- ldr r5, [r0]
- ldr r0, _08067808
- b _08067832
- .align 2, 0
-_080677F0: .4byte gUnknown_202DF98
-_080677F4: .4byte gUnknown_80F9094
-_080677F8: .4byte gUnknown_80F913C
-_080677FC: .4byte gUnknown_203B45C
-_08067800: .4byte 0x00008df8
-_08067804: .4byte gUnknown_80F9114
-_08067808: .4byte gUnknown_80F9154
-_0806780C:
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _08067834
- bl sub_8044210
- lsls r0, 24
- cmp r0, 0
- beq _0806782C
- ldr r0, _08067828
- b _0806782E
- .align 2, 0
-_08067828: .4byte gUnknown_80F90DC
-_0806782C:
- ldr r0, _08067874
-_0806782E:
- ldr r5, [r0]
- ldr r0, _08067878
-_08067832:
- ldr r6, [r0]
-_08067834:
- movs r0, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _0806786C
- ldr r4, _0806787C
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x40
- bl strncpy
- ldr r1, _08067880
- adds r0, r7, 0
- movs r2, 0
- bl sub_8068FE0
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0x40
- bl strncpy
- movs r0, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806786C:
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067874: .4byte gUnknown_80F90C8
-_08067878: .4byte gUnknown_80F9150
-_0806787C: .4byte gUnknown_202DF98
-_08067880: .4byte 0x0000021d
- thumb_func_end sub_8067794
-
- thumb_func_start sub_8067884
-sub_8067884:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r6, 0
- b _0806789A
-_0806788E:
- ldr r1, _08067900
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080678C6
- adds r6, 0x1
-_0806789A:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8070828
- cmp r6, r0
- bge _080678C6
- ldr r4, [r5, 0x70]
- adds r0, r4, 0
- adds r0, 0x50
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8055A00
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0806788E
-_080678C6:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8057588
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _080678F6
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080678F0
- ldr r0, [r5, 0x70]
- adds r0, 0x50
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_806A9B4
-_080678F0:
- adds r0, r5, 0
- bl sub_806A1B0
-_080678F6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08067900: .4byte 0x00000159
- thumb_func_end sub_8067884
-
- thumb_func_start sub_8067904
-sub_8067904:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r5, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r6, [r5, 0x70]
- ldr r1, _08067940
- movs r0, 0
- str r0, [r1]
- add r0, sp, 0x8
- mov r1, r9
- bl sub_8092A88
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806794C
- ldr r0, _08067944
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08067948
- b _08067962
- .align 2, 0
-_08067940: .4byte gUnknown_202F208
-_08067944: .4byte gUnknown_202DF98
-_08067948: .4byte gUnknown_80F8F20
-_0806794C:
- adds r0, r6, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08067974
- ldr r0, _0806796C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08067970
-_08067962:
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _08067A56
- .align 2, 0
-_0806796C: .4byte gUnknown_202DF98
-_08067970: .4byte gUnknown_80F8F38
-_08067974:
- movs r0, 0xB0
- lsls r0, 1
- movs r1, 0
- mov r10, r1
- cmp r9, r0
- bne _08067984
- movs r2, 0x1
- mov r10, r2
-_08067984:
- movs r0, 0
- mov r8, r0
- movs r7, 0
- add r4, sp, 0x8
- b _080679D2
-_0806798E:
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r6, r1
- strh r7, [r0]
- ldrb r0, [r4]
- movs r1, 0x8
- orrs r0, r1
- orrs r0, r7
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- movs r0, 0xA
- strb r0, [r4, 0x4]
- str r7, [sp]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- mov r1, r10
- movs r2, 0
- movs r3, 0
- bl sub_8055FA0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080679DE
- ldr r2, _08067A68
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080679DE
- movs r0, 0x1
- add r8, r0
-_080679D2:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8070828
- cmp r8, r0
- blt _0806798E
-_080679DE:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08067A56
- movs r0, 0xB0
- lsls r0, 1
- cmp r9, r0
- bne _08067A04
- ldr r0, _08067A6C
- ldr r0, [r0]
- cmp r0, 0
- bne _08067A04
- ldr r0, _08067A70
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_08067A04:
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _08067A50
- movs r0, 0xB0
- lsls r0, 1
- cmp r9, r0
- beq _08067A50
- ldr r4, _08067A74
- adds r3, r6, 0
- adds r3, 0x46
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08067A78
- ldr r1, [sp, 0x10]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x10]
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x2]
- ldrh r2, [r5, 0x6]
- adds r0, r2
- lsls r0, 16
- ldr r2, _08067A7C
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x10]
- add r0, sp, 0x10
- movs r1, 0x1
- bl sub_807FE44
-_08067A50:
- adds r0, r5, 0
- bl sub_8071DA4
-_08067A56:
- 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
-_08067A68: .4byte 0x00000159
-_08067A6C: .4byte gUnknown_202F208
-_08067A70: .4byte gUnknown_80FC690
-_08067A74: .4byte gUnknown_80F4448
-_08067A78: .4byte 0xffff0000
-_08067A7C: .4byte 0x0000ffff
- thumb_func_end sub_8067904
-
- thumb_func_start sub_8067A80
-sub_8067A80:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x6C
- str r1, [sp, 0x68]
- mov r8, r2
- mov r9, r3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x64]
- ldr r1, _08067AC8
- add r0, sp, 0x4
- movs r2, 0x60
- bl memcpy
- ldr r1, _08067ACC
- movs r0, 0
- str r0, [r1]
- mov r10, r0
- cmp r10, r8
- blt _08067AB0
- b _08067ED8
-_08067AB0:
- ldr r5, _08067AD0
- mov r4, r9
- mov r3, r8
-_08067AB6:
- ldm r4!, {r2}
- ldrh r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strh r0, [r2]
- subs r3, 0x1
- cmp r3, 0
- bne _08067AB6
- b _08067ED8
- .align 2, 0
-_08067AC8: .4byte gUnknown_8106DC8
-_08067ACC: .4byte gUnknown_202F30C
-_08067AD0: .4byte 0x00007fff
-_08067AD4:
- movs r7, 0
- ldr r1, _08067B98
- movs r0, 0x1
- strb r0, [r1]
- strb r7, [r1, 0x1]
- movs r0, 0xE
- strb r0, [r1, 0x2]
- strb r7, [r1, 0x3]
- add r0, sp, 0x4
- movs r1, 0x1
- bl sub_803ECB4
- ldr r5, _08067B9C
- ldr r2, [r5]
- ldr r0, [sp, 0x68]
- str r0, [sp]
- ldr r0, [sp, 0x64]
- mov r1, r9
- mov r3, r8
- bl sub_8067F00
- ldr r4, _08067BA0
- mov r0, r8
- cmp r0, 0x8
- ble _08067B08
- movs r0, 0x8
-_08067B08:
- strh r0, [r4, 0x1A]
- mov r1, r10
- strh r1, [r4, 0x18]
- movs r0, 0x8
- strh r0, [r4, 0x1C]
- strh r7, [r4, 0x1E]
- strh r7, [r4, 0x20]
- strh r7, [r4, 0x4]
- movs r0, 0x12
- strh r0, [r4, 0x6]
- strh r7, [r4, 0xC]
- strh r7, [r4, 0xE]
- strh r7, [r4, 0x14]
- str r7, [r4]
- adds r0, r4, 0
- adds r0, 0x28
- bl sub_801317C
- adds r0, r4, 0
- movs r1, 0
- bl sub_80137B0
- adds r6, r5, 0
-_08067B36:
- ldr r0, _08067BA0
- bl AddMenuCursorSprite
- movs r5, 0
- movs r7, 0
- ldr r0, [r6]
- mov r2, r8
- subs r0, r2, r0
- cmp r0, 0x8
- ble _08067B50
- movs r5, 0x1
- bl sub_80684C4
-_08067B50:
- ldr r0, [r6]
- cmp r0, 0
- beq _08067B5C
- movs r7, 0x1
- bl sub_8068344
-_08067B5C:
- movs r0, 0
- ldr r1, _08067BA4
- bl sub_8014140
- adds r4, r0, 0
- movs r0, 0x37
- bl sub_803E46C
- cmp r4, 0x2
- bne _08067BAC
- cmp r5, 0
- beq _08067BAC
- ldr r0, [r6]
- mov r3, r8
- subs r0, r3, r0
- cmp r0, 0x8
- ble _08067BF0
- ldr r5, _08067BA8
- movs r4, 0x5
-_08067B82:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067B82
- b _08067BEA
- .align 2, 0
-_08067B98: .4byte gUnknown_202F308
-_08067B9C: .4byte gUnknown_202F30C
-_08067BA0: .4byte gUnknown_202EE10
-_08067BA4: .4byte gUnknown_8106DA4
-_08067BA8: .4byte gUnknown_203B080
-_08067BAC:
- ldr r0, _08067BF8
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08067C0C
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08067BFC
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0x7
- bne _08067C04
- ldr r0, [r6]
- mov r3, r8
- subs r0, r3, r0
- cmp r0, 0x8
- ble _08067BF0
- ldr r5, _08067C00
- movs r4, 0x5
-_08067BD6:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067BD6
-_08067BEA:
- ldr r0, [r6]
- adds r0, 0x1
- str r0, [r6]
-_08067BF0:
- movs r7, 0
- movs r0, 0x7
- mov r10, r0
- b _08067CF6
- .align 2, 0
-_08067BF8: .4byte gUnknown_20255F0
-_08067BFC: .4byte gUnknown_202EE10
-_08067C00: .4byte gUnknown_203B080
-_08067C04:
- adds r0, r1, 0
- movs r1, 0
- bl sub_80136E0
-_08067C0C:
- cmp r4, 0x1
- bne _08067C44
- cmp r7, 0
- beq _08067C44
- ldr r0, [r6]
- cmp r0, 0
- beq _08067C38
- ldr r5, _08067C40
- movs r4, 0x5
-_08067C1E:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067C1E
- ldr r0, [r6]
- subs r0, 0x1
- str r0, [r6]
-_08067C38:
- movs r7, 0
- movs r1, 0
- mov r10, r1
- b _08067CF6
- .align 2, 0
-_08067C40: .4byte gUnknown_203B084
-_08067C44:
- ldr r0, _08067C8C
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08067CA0
- movs r0, 0x1
- bl sub_8083CE0
- ldr r1, _08067C90
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08067C98
- ldr r0, [r6]
- cmp r0, 0
- beq _08067C84
- ldr r5, _08067C94
- movs r4, 0x5
-_08067C6A:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x37
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08067C6A
- ldr r0, [r6]
- subs r0, 0x1
- str r0, [r6]
-_08067C84:
- movs r7, 0
- movs r3, 0
- mov r10, r3
- b _08067CF6
- .align 2, 0
-_08067C8C: .4byte gUnknown_20255F0
-_08067C90: .4byte gUnknown_202EE10
-_08067C94: .4byte gUnknown_203B084
-_08067C98:
- adds r0, r1, 0
- movs r1, 0
- bl sub_8013744
-_08067CA0:
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- beq _08067CAC
- b _08067B36
-_08067CAC:
- ldr r0, _08067CD4
- ldrh r1, [r0, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08067D40
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08067CCC
- ldr r2, _08067CD8
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08067CDC
-_08067CCC:
- bl sub_8083D08
- movs r7, 0x1
- b _08067CF6
- .align 2, 0
-_08067CD4: .4byte gUnknown_20255F0
-_08067CD8: .4byte gUnknown_202EE10
-_08067CDC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08067CF0
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _08067CF0
- b _08067B36
-_08067CF0:
- bl sub_8083D30
- movs r7, 0x2
-_08067CF6:
- ldr r4, _08067D34
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x37
- bl sub_803E46C
- cmp r7, 0
- bne _08067D0A
- b _08067AD4
-_08067D0A:
- cmp r7, 0x2
- bne _08067D48
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- mov r10, r0
- ldr r0, _08067D38
- ldr r0, [r0]
- ldr r2, [sp, 0x68]
- cmp r0, r2
- bge _08067D20
- b _08067AD4
-_08067D20:
- ldr r0, _08067D3C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08067D32
- b _08067ED8
-_08067D32:
- b _08067AD4
- .align 2, 0
-_08067D34: .4byte gUnknown_202EE10
-_08067D38: .4byte gUnknown_202F310
-_08067D3C: .4byte gUnknown_80FDFB8
-_08067D40:
- bl sub_8083D1C
- movs r7, 0x3
- b _08067CF6
-_08067D48:
- cmp r7, 0x3
- bne _08067D64
- movs r0, 0x18
- ldrsh r3, [r4, r0]
- mov r10, r3
- ldr r0, _08067D60
- ldr r0, [r0]
- add r0, r10
- lsls r0, 2
- add r0, r9
- b _08067ED0
- .align 2, 0
-_08067D60: .4byte gUnknown_202F30C
-_08067D64:
- movs r2, 0x18
- ldrsh r1, [r4, r2]
- mov r10, r1
- ldr r0, _08067DAC
- ldr r0, [r0]
- adds r4, r0, r1
- ldr r1, _08067DB0
- movs r0, 0
- str r0, [r1]
- movs r0, 0x29
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x2A
- movs r1, 0
- bl sub_8044F5C
- movs r0, 0x40
- movs r1, 0
- bl sub_8044F5C
- lsls r0, r4, 2
- add r0, r9
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08067DBC
- movs r0, 0x29
- bl sub_8044FF0
- b _08067DC2
- .align 2, 0
-_08067DAC: .4byte gUnknown_202F30C
-_08067DB0: .4byte gUnknown_202EE6C
-_08067DB4:
- bl sub_8083D08
- movs r7, 0x1
- b _08067E6E
-_08067DBC:
- movs r0, 0x2A
- bl sub_8044FF0
-_08067DC2:
- lsls r0, r4, 2
- mov r2, r9
- adds r1, r0, r2
- ldr r2, [r1]
- ldrb r1, [r2, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- bne _08067DDC
- ldrb r1, [r2, 0x4]
- cmp r1, 0x40
- beq _08067DDC
- cmp r1, 0x41
- bne _08067DE2
-_08067DDC:
- movs r0, 0x29
- bl sub_8044FF0
-_08067DE2:
- bl sub_8045064
- add r0, sp, 0x4
- movs r1, 0x15
- bl sub_805FC30
- ldr r4, _08067EA0
- ldr r5, _08067EA4
- adds r7, r4, 0
- adds r7, 0x2A
-_08067DF6:
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x37
- bl sub_803E46C
- ldrh r1, [r5, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08067E1A
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80136E0
-_08067E1A:
- ldrh r1, [r5, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08067E32
- movs r0, 0x1
- bl sub_8083CE0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8013744
-_08067E32:
- ldrh r1, [r5, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08067E46
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _08067E58
-_08067E46:
- movs r3, 0x18
- ldrsh r0, [r4, r3]
- bl sub_8044F3C
- lsls r0, 24
- cmp r0, 0
- bne _08067DB4
- bl sub_8083D30
-_08067E58:
- ldrh r1, [r5, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08067E68
- ldrb r0, [r7]
- cmp r0, 0
- beq _08067DF6
-_08067E68:
- bl sub_8083D30
- movs r7, 0
-_08067E6E:
- ldr r4, _08067EA0
- adds r0, r4, 0
- bl AddMenuCursorSprite
- movs r0, 0x37
- bl sub_803E46C
- cmp r7, 0
- bne _08067E82
- b _08067AD4
-_08067E82:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08067EA8
- mov r2, r9
- adds r0, r6, r2
- ldr r1, [r0]
- ldrh r2, [r1]
- movs r3, 0x80
- lsls r3, 8
- adds r0, r3, 0
- orrs r0, r2
- strh r0, [r1]
- b _08067EBC
- .align 2, 0
-_08067EA0: .4byte gUnknown_202EE10
-_08067EA4: .4byte gUnknown_20255F0
-_08067EA8:
- cmp r0, 0x1
- bne _08067ECC
- mov r1, r9
- adds r0, r6, r1
- ldr r2, [r0]
- ldrh r0, [r2]
- ldr r3, _08067EC8
- adds r1, r3, 0
- ands r0, r1
- strh r0, [r2]
-_08067EBC:
- mov r0, r8
- mov r1, r9
- bl sub_8068310
- b _08067AD4
- .align 2, 0
-_08067EC8: .4byte 0x00007fff
-_08067ECC:
- mov r1, r9
- adds r0, r6, r1
-_08067ED0:
- ldr r0, [r0]
- bl sub_806806C
- b _08067AD4
-_08067ED8:
- mov r0, r8
- mov r1, r9
- bl sub_8068310
- ldr r0, _08067EFC
- ldr r0, [r0]
- ldr r2, [sp, 0x68]
- cmp r0, r2
- bge _08067EEC
- b _08067AD4
-_08067EEC:
- add sp, 0x6C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08067EFC: .4byte gUnknown_202F310
- thumb_func_end sub_8067A80
-
- thumb_func_start sub_8067F00
-sub_8067F00:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- mov r9, r1
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r4, 24
- subs r7, r2, 0x1
- movs r0, 0x16
- mov r8, r0
- movs r0, 0
- bl sub_80073B8
- ldr r0, _08067F44
- adds r1, r4, 0
- movs r2, 0
- bl sub_8092578
- ldr r2, _08067F48
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- movs r1, 0
- movs r3, 0
- bl sub_8014FF0
- movs r1, 0
- mov r10, r1
- b _08067FF6
- .align 2, 0
-_08067F44: .4byte gUnknown_202DF98
-_08067F48: .4byte gUnknown_8106E28
-_08067F4C:
- ldr r4, _08067F8C
- lsls r6, r7, 2
- mov r0, r9
- adds r5, r6, r0
- ldr r1, [r5]
- adds r0, r4, 0
- movs r2, 0
- bl sub_808D9AC
- adds r4, 0x50
- ldr r0, [r5]
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_808D930
- ldr r1, _08067F90
- adds r0, r7, 0x1
- str r0, [r1]
- ldr r0, [r5]
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08067F9C
- ldr r0, _08067F94
- ldr r1, _08067F98
- bl strcpy
- b _08067FA4
- .align 2, 0
-_08067F8C: .4byte gUnknown_202DF98
-_08067F90: .4byte gUnknown_202DE30
-_08067F94: .4byte gUnknown_202DE58
-_08067F98: .4byte gUnknown_8106E2C
-_08067F9C:
- ldr r0, _08067FCC
- ldr r1, _08067FD0
- bl strcpy
-_08067FA4:
- mov r1, r9
- adds r0, r6, r1
- ldr r0, [r0]
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 7
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _08067FD8
- ldr r2, _08067FD4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x7
- mov r1, r8
- movs r3, 0
- bl sub_8014FF0
- b _08067FE6
- .align 2, 0
-_08067FCC: .4byte gUnknown_202DE58
-_08067FD0: .4byte gUnknown_8106E30
-_08067FD4: .4byte gUnknown_8106E34
-_08067FD8:
- ldr r2, _08068028
- str r0, [sp]
- movs r0, 0x7
- mov r1, r8
- movs r3, 0
- bl sub_8014FF0
-_08067FE6:
- movs r2, 0x1
- add r10, r2
- movs r0, 0xC
- add r8, r0
- adds r7, 0x1
- mov r1, r10
- cmp r1, 0x9
- bgt _08068000
-_08067FF6:
- cmp r7, 0
- blt _08067FE6
- ldr r2, [sp, 0x4]
- cmp r7, r2
- blt _08067F4C
-_08068000:
- movs r0, 0
- bl sub_80073E0
- movs r0, 0x1
- bl sub_80073B8
- ldr r0, _0806802C
- ldr r0, [r0]
- ldr r1, [sp, 0x28]
- cmp r0, r1
- blt _08068034
- ldr r2, _08068030
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x2
- movs r3, 0x1
- bl sub_8014FF0
- b _0806804C
- .align 2, 0
-_08068028: .4byte gUnknown_8106E48
-_0806802C: .4byte gUnknown_202F310
-_08068030: .4byte gUnknown_8106E5C
-_08068034:
- ldr r1, _08068064
- ldr r2, [sp, 0x28]
- subs r0, r2, r0
- str r0, [r1]
- ldr r2, _08068068
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8
- movs r1, 0x2
- movs r3, 0x1
- bl sub_8014FF0
-_0806804C:
- movs r0, 0x1
- bl sub_80073E0
- 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
-_08068064: .4byte gUnknown_202DE30
-_08068068: .4byte gUnknown_8106E6C
- thumb_func_end sub_8067F00
-
- thumb_func_start sub_806806C
-sub_806806C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x110
- str r0, [sp, 0x108]
- add r4, sp, 0x98
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [r4, 0x4]
- movs r1, 0x2
- strh r1, [r4, 0x8]
- strh r1, [r4, 0xA]
- movs r2, 0x12
- strh r2, [r4, 0xC]
- movs r0, 0xE
- strh r0, [r4, 0xE]
- strh r2, [r4, 0x10]
- strh r1, [r4, 0x12]
- ldr r0, _080681B4
- str r0, [r4, 0x14]
- movs r0, 0x3
- str r0, [r4, 0x1C]
- str r0, [r4, 0x34]
- str r0, [r4, 0x4C]
- movs r7, 0
- add r1, sp, 0x44
- strh r7, [r1]
- mov r0, sp
- adds r0, 0x5A
- strh r7, [r0]
- ldr r0, _080681B8
- strh r7, [r0, 0x18]
- mov r9, r1
- adds r1, 0xB4
- str r1, [sp, 0x10C]
- add r2, sp, 0x68
- mov r10, r2
- adds r6, r0, 0
-_080680C4:
- movs r3, 0
- mov r8, r3
- add r1, sp, 0xF8
- ldr r0, _080681BC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, _080681B4
- movs r2, 0x4
- strb r2, [r1]
- strb r7, [r1, 0x1]
- movs r0, 0xA
- strb r0, [r1, 0x2]
- mov r4, r8
- strb r4, [r1, 0x3]
- strh r7, [r6, 0x1E]
- strh r2, [r6, 0x20]
- mov r0, r8
- strh r0, [r6, 0x1A]
- strh r0, [r6, 0x18]
- strh r0, [r6, 0x1C]
- strh r0, [r6, 0x4]
- movs r0, 0x10
- strh r0, [r6, 0x6]
- mov r1, r8
- strh r1, [r6, 0x14]
- mov r2, r8
- str r2, [r6]
- adds r0, r6, 0
- adds r0, 0x28
- bl sub_801317C
- add r0, sp, 0x98
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, _080681C0
- ldr r0, [r0]
- ldr r3, _080681C4
- adds r0, r3
- ldrb r2, [r0]
- add r0, sp, 0x4
- ldr r1, [sp, 0x108]
- bl sub_808FF20
- lsls r4, r7, 2
- mov r0, sp
- adds r0, r4
- adds r0, 0xF8
- ldr r0, [r0]
- mov r1, r8
- str r1, [sp]
- adds r1, r7, 0
- add r2, sp, 0x4
- mov r3, r10
- bl sub_808F844
- ldr r1, _080681C8
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r0, 0xF
- lsls r0, 3
- strh r0, [r6, 0xC]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- lsls r0, 3
- subs r0, 0x2
- strh r0, [r6, 0xE]
-_08068150:
- ldr r0, _080681B8
- bl AddMenuCursorSprite
- ldr r1, [sp, 0x10C]
- adds r0, r1, r4
- ldr r0, [r0]
- cmp r0, 0x4
- bne _0806817A
- mov r2, r10
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0806816C
- bl sub_80684C4
-_0806816C:
- mov r3, r9
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0806817A
- bl sub_8068344
-_0806817A:
- movs r0, 0
- ldr r1, _080681CC
- bl sub_8014140
- adds r5, r0, 0
- movs r0, 0x1C
- bl sub_803E46C
- ldr r3, _080681D0
- ldrh r1, [r3, 0x2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080681A2
- ldr r2, _080681B8
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _080681D4
-_080681A2:
- movs r0, 0
- bl sub_8083CE0
- adds r7, 0x1
- cmp r7, 0x4
- beq _080681B0
- b _080682E8
-_080681B0:
- movs r7, 0
- b _080682E8
- .align 2, 0
-_080681B4: .4byte gUnknown_202F308
-_080681B8: .4byte gUnknown_202EE10
-_080681BC: .4byte gUnknown_8106E80
-_080681C0: .4byte gUnknown_203B418
-_080681C4: .4byte 0x0000065a
-_080681C8: .4byte gUnknown_2027370
-_080681CC: .4byte gUnknown_8106DA4
-_080681D0: .4byte gUnknown_20255F0
-_080681D4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _080681E6
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080681FA
-_080681E6:
- movs r0, 0
- bl sub_8083CE0
- subs r7, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r7, r0
- bne _080682E8
- movs r7, 0x3
- b _080682E8
-_080681FA:
- ldr r2, [sp, 0x10C]
- adds r0, r2, r4
- ldr r0, [r0]
- cmp r0, 0x4
- bne _08068294
- ldrh r1, [r3, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08068212
- cmp r5, 0x2
- bne _08068248
-_08068212:
- mov r3, r10
- ldrb r0, [r3, 0x8]
- cmp r0, 0
- beq _08068248
- movs r0, 0
- bl sub_8083CE0
- ldr r5, _08068244
- movs r4, 0x5
-_08068224:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08068224
- mov r4, r9
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080682E8
- .align 2, 0
-_08068244: .4byte gUnknown_203B080
-_08068248:
- ldr r0, _0806828C
- ldrh r1, [r0, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _08068258
- cmp r5, 0x1
- bne _08068294
-_08068258:
- mov r1, r9
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08068294
- movs r0, 0
- bl sub_8083CE0
- ldr r5, _08068290
- movs r4, 0x5
-_0806826C:
- ldr r1, [r5]
- movs r0, 0
- bl _call_via_r1
- movs r0, 0x1C
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0806826C
- mov r3, r9
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- b _080682E8
- .align 2, 0
-_0806828C: .4byte gUnknown_20255F0
-_08068290: .4byte gUnknown_203B084
-_08068294:
- bl sub_80048C8
- lsls r0, 24
- cmp r0, 0
- beq _080682A0
- b _08068150
-_080682A0:
- ldr r0, _080682C4
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080682B8
- ldr r2, _080682C8
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- cmp r0, 0
- beq _080682CC
-_080682B8:
- bl sub_8083D08
- movs r4, 0x1
- mov r8, r4
- b _080682E8
- .align 2, 0
-_080682C4: .4byte gUnknown_20255F0
-_080682C8: .4byte gUnknown_202EE10
-_080682CC:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080682E0
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- bne _080682E0
- b _08068150
-_080682E0:
- bl sub_8083D30
- movs r0, 0x1
- mov r8, r0
-_080682E8:
- movs r0, 0x37
- bl sub_803E46C
- mov r1, r8
- cmp r1, 0
- bne _080682F6
- b _080680C4
-_080682F6:
- movs r0, 0
- movs r1, 0
- bl sub_803EAF0
- add sp, 0x110
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806806C
-
- thumb_func_start sub_8068310
-sub_8068310:
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _08068340
- cmp r4, r0
- bge _08068338
- movs r5, 0x80
- lsls r5, 8
- adds r3, r1, 0
- adds r2, r0, 0
-_08068322:
- ldr r0, [r3]
- ldrh r1, [r0]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08068330
- adds r4, 0x1
-_08068330:
- adds r3, 0x4
- subs r2, 0x1
- cmp r2, 0
- bne _08068322
-_08068338:
- str r4, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068340: .4byte gUnknown_202F310
- thumb_func_end sub_8068310
-
- thumb_func_start sub_8068344
-sub_8068344:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- ldr r0, _08068494
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806835C
- b _08068486
-_0806835C:
- ldr r0, _08068498
- mov r9, r0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _0806849C
- ands r1, r0
- ldr r3, _080684A0
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080684A4
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _080684A8
- mov r8, r6
- mov r0, r8
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080684AC
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080684B0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r6, _080684B4
- adds r0, r6, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- movs r1, 0x80
- lsls r1, 6
- mov r5, sp
- ldrh r0, [r5, 0x2]
- ldr r2, _080684B8
- ands r2, r0
- orrs r2, r1
- ands r2, r6
- movs r3, 0xFC
- lsls r3, 2
- ldrh r1, [r5, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r3
- mov r1, r8
- ands r0, r1
- movs r3, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _080684BC
- ands r0, r4
- orrs r0, r1
- strh r0, [r5, 0x4]
- mov r6, r9
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x8
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r5, 0x6]
- ands r3, r1
- orrs r3, r0
- strh r3, [r5, 0x6]
- movs r3, 0
- ldrsh r0, [r6, r3]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _080684C0
- ands r0, r1
- movs r1, 0xFE
- lsls r1, 8
- ands r2, r1
- orrs r2, r0
- strh r2, [r5, 0x2]
- movs r1, 0x80
- lsls r1, 1
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_08068486:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068494: .4byte gUnknown_202EDCC
-_08068498: .4byte gUnknown_2027370
-_0806849C: .4byte 0x0000feff
-_080684A0: .4byte 0xffff0000
-_080684A4: .4byte 0x0000fdff
-_080684A8: .4byte 0x0000f3ff
-_080684AC: .4byte 0x0000efff
-_080684B0: .4byte 0x0000dfff
-_080684B4: .4byte 0x00003fff
-_080684B8: .4byte 0x0000c1ff
-_080684BC: .4byte 0x00000fff
-_080684C0: .4byte 0x000001ff
- thumb_func_end sub_8068344
-
- thumb_func_start sub_80684C4
-sub_80684C4:
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _080685E8
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080684D6
- b _080685DE
-_080684D6:
- ldr r6, _080685EC
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- ldrh r0, [r0]
- ldr r1, _080685F0
- ands r1, r0
- ldr r3, _080685F4
- ldr r0, [sp]
- ands r0, r3
- orrs r0, r1
- str r0, [sp]
- mov r1, sp
- ldrh r1, [r1]
- adds r2, r3, 0
- ands r2, r0
- orrs r2, r1
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080685F8
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r5, _080685FC
- adds r0, r5, 0
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08068600
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08068604
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- adds r2, r3, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- movs r4, 0x80
- lsls r4, 7
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _08068608
- ands r0, r1
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- ldrh r0, [r0]
- orrs r4, r0
- ands r3, r1
- orrs r3, r4
- str r3, [sp]
- mov r3, sp
- movs r2, 0xFC
- lsls r2, 2
- ldrh r1, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r1
- orrs r0, r2
- ands r0, r5
- movs r2, 0xF
- movs r1, 0xF0
- lsls r1, 8
- ldr r4, _0806860C
- ands r0, r4
- orrs r0, r1
- strh r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x70
- ands r0, r4
- lsls r0, 4
- ldrh r1, [r3, 0x6]
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x6]
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsls r0, 3
- adds r0, 0x40
- ldr r1, _08068610
- ands r0, r1
- strh r0, [r3, 0x2]
- subs r1, 0xFF
- mov r0, sp
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_080685DE:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080685E8: .4byte gUnknown_202EDCC
-_080685EC: .4byte gUnknown_2027370
-_080685F0: .4byte 0x0000feff
-_080685F4: .4byte 0xffff0000
-_080685F8: .4byte 0x0000fdff
-_080685FC: .4byte 0x0000f3ff
-_08068600: .4byte 0x0000efff
-_08068604: .4byte 0x0000dfff
-_08068608: .4byte 0x00003fff
-_0806860C: .4byte 0x00000fff
-_08068610: .4byte 0x000001ff
- thumb_func_end sub_80684C4
-
- thumb_func_start sub_8068614
-sub_8068614:
- push {lr}
- ldr r0, _0806862C
- ldr r1, _08068630
- bl OpenFileAndGetFileDataPtr
- ldr r1, _08068634
- ldr r1, [r1]
- ldr r2, _08068638
- adds r1, r2
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0806862C: .4byte gUnknown_8106E98
-_08068630: .4byte gUnknown_8510000
-_08068634: .4byte gUnknown_203B418
-_08068638: .4byte 0x000181e4
- thumb_func_end sub_8068614
-
- thumb_func_start sub_806863C
-sub_806863C:
- push {lr}
- ldr r0, _08068650
- ldr r0, [r0]
- ldr r1, _08068654
- adds r0, r1
- ldr r0, [r0]
- bl CloseFile
- pop {r0}
- bx r0
- .align 2, 0
-_08068650: .4byte gUnknown_203B418
-_08068654: .4byte 0x000181e4
- thumb_func_end sub_806863C
-
- thumb_func_start sub_8068658
-sub_8068658:
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _08068740
- ldr r5, _08068744
- ldr r3, _08068748
- movs r2, 0
-_08068664:
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, r3
- adds r0, r1
- str r2, [r0]
- adds r4, 0x1
- cmp r4, r6
- ble _08068664
- ldr r0, _0806874C
- movs r1, 0x1
- bl sub_8068838
- movs r4, 0
- ldr r1, _08068744
- ldr r0, [r1]
- ldr r2, _08068750
- adds r0, r2
- ldr r0, [r0]
- cmp r4, r0
- bge _080686B2
- adds r6, r1, 0
- ldr r5, _08068754
-_08068690:
- ldr r0, [r6]
- adds r0, r5
- bl sub_808E9B8
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- bl sub_8068838
- adds r5, 0x8
- adds r4, 0x1
- ldr r0, [r6]
- ldr r1, _08068750
- adds r0, r1
- ldr r0, [r0]
- cmp r4, r0
- blt _08068690
-_080686B2:
- ldr r0, _08068744
- ldr r0, [r0]
- movs r2, 0xD1
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080686CA
- movs r1, 0x1
- bl sub_8068838
-_080686CA:
- movs r4, 0
- ldr r6, _08068758
- movs r5, 0x1
-_080686D0:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _0806875C
- adds r0, r1
- ldr r1, [r6]
- adds r1, r0
- ldrh r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _080686F8
- lsrs r0, r2, 1
- ands r0, r5
- cmp r0, 0
- beq _080686F8
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- movs r1, 0
- bl sub_8068838
-_080686F8:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080686D0
- ldr r0, _08068744
- ldr r0, [r0]
- ldr r1, _08068760
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x31
- bne _08068738
- movs r4, 0
- ldr r5, _08068758
-_08068712:
- movs r0, 0x58
- muls r0, r4
- ldr r1, _08068764
- adds r0, r1
- ldr r1, [r5]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068732
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- movs r1, 0x1
- bl sub_8068838
-_08068732:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08068712
-_08068738:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068740: .4byte 0x000001a7
-_08068744: .4byte gUnknown_203B418
-_08068748: .4byte 0x00017b44
-_0806874C: .4byte 0x000001a5
-_08068750: .4byte 0x000037e4
-_08068754: .4byte 0x0000343c
-_08068758: .4byte gUnknown_203B45C
-_0806875C: .4byte 0x00008df8
-_08068760: .4byte 0x00003a14
-_08068764: .4byte 0x00008f88
- thumb_func_end sub_8068658
-
- thumb_func_start sub_8068768
-sub_8068768:
- push {r4,r5,lr}
- movs r5, 0
-_0806876C:
- ldr r0, _080687A4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080687A8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _08068796
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08068796
- ldr r0, [r4, 0x70]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0
- bl sub_8068838
-_08068796:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806876C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080687A4: .4byte gUnknown_203B418
-_080687A8: .4byte 0x000135cc
- thumb_func_end sub_8068768
-
- thumb_func_start sub_80687AC
-sub_80687AC:
- ldr r0, _080687C4
- ldr r1, [r0]
- ldr r0, _080687C8
- adds r2, r1, r0
- movs r0, 0x80
- lsls r0, 3
- str r0, [r2]
- ldr r0, _080687CC
- adds r1, r0
- movs r0, 0xA
- str r0, [r1]
- bx lr
- .align 2, 0
-_080687C4: .4byte gUnknown_203B418
-_080687C8: .4byte 0x000037f0
-_080687CC: .4byte 0x000037f4
- thumb_func_end sub_80687AC
-
- thumb_func_start sub_80687D0
-sub_80687D0:
- lsls r0, 16
- ldr r1, _080687E4
- ldr r1, [r1]
- asrs r0, 14
- ldr r2, _080687E8
- adds r1, r2
- adds r1, r0
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_080687E4: .4byte gUnknown_203B418
-_080687E8: .4byte 0x00017b44
- thumb_func_end sub_80687D0
-
- thumb_func_start sub_80687EC
-sub_80687EC:
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- ldr r5, _08068828
- ldr r0, [r5]
- lsls r4, r2, 2
- ldr r1, _0806882C
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _08068820
- ldr r1, _08068830
- mov r0, sp
- bl sprintf
- ldr r1, _08068834
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- ldr r1, [r5]
- ldr r2, _0806882C
- adds r1, r2
- adds r1, r4
- str r0, [r1]
-_08068820:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068828: .4byte gUnknown_203B418
-_0806882C: .4byte 0x00017b44
-_08068830: .4byte gUnknown_8106EA0
-_08068834: .4byte gUnknown_8510000
- thumb_func_end sub_80687EC
-
- thumb_func_start sub_8068838
-sub_8068838:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- cmp r1, 0
- bne _08068864
- movs r0, 0xCF
- lsls r0, 1
- cmp r4, r0
- beq _0806885E
- adds r0, 0x3
- cmp r4, r0
- beq _0806885E
- adds r0, 0x1
- cmp r4, r0
- beq _0806885E
- adds r0, 0x1
- cmp r4, r0
- bne _08068864
-_0806885E:
- bl sub_80688B0
- b _0806887A
-_08068864:
- adds r0, r4, 0
- bl sub_80687EC
- ldr r1, _08068880
- adds r0, r4, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _0806887A
- bl sub_8068884
-_0806887A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08068880: .4byte 0xfffffe88
- thumb_func_end sub_8068838
-
- thumb_func_start sub_8068884
-sub_8068884:
- push {lr}
- movs r0, 0xBC
- lsls r0, 1
- bl sub_80687EC
- ldr r0, _080688A8
- bl sub_80687EC
- movs r0, 0xBD
- lsls r0, 1
- bl sub_80687EC
- ldr r0, _080688AC
- bl sub_80687EC
- pop {r0}
- bx r0
- .align 2, 0
-_080688A8: .4byte 0x00000179
-_080688AC: .4byte 0x0000017b
- thumb_func_end sub_8068884
-
- thumb_func_start sub_80688B0
-sub_80688B0:
- push {lr}
- ldr r0, _080688C8
- ldr r0, [r0]
- movs r1, 0xE0
- lsls r1, 6
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80687EC
- pop {r0}
- bx r0
- .align 2, 0
-_080688C8: .4byte gUnknown_203B418
- thumb_func_end sub_80688B0
-
- thumb_func_start sub_80688CC
-sub_80688CC:
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _08068900
-_080688D2:
- ldr r0, [r6]
- lsls r4, r5, 2
- ldr r1, _08068904
- adds r0, r1
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080688F2
- bl CloseFile
- ldr r0, [r6]
- ldr r1, _08068904
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080688F2:
- adds r5, 0x1
- ldr r0, _08068908
- cmp r5, r0
- ble _080688D2
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08068900: .4byte gUnknown_203B418
-_08068904: .4byte 0x00017b44
-_08068908: .4byte 0x000001a7
- thumb_func_end sub_80688CC
-
- thumb_func_start sub_806890C
-sub_806890C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x64
- movs r0, 0
- mov r8, r0
- mov r10, r0
- ldr r6, _08068A60
- add r5, sp, 0x8
-_08068922:
- movs r0, 0x58
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- ldr r2, [r6]
- adds r7, r2, r0
- ldrh r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068A1C
- lsrs r0, r1, 1
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _08068A1C
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- ldr r0, _08068A64
- adds r0, r4
- mov r9, r0
- adds r0, r2, r0
- mov r1, r10
- bl sub_808DE30
- ldr r0, _08068A68
- ldr r0, [r0]
- ldr r1, _08068A6C
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8090104
- lsls r0, 24
- cmp r0, 0
- beq _08068A06
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp, 0x60]
- movs r2, 0x8
- ldrsh r1, [r7, r2]
- add r0, sp, 0x60
- str r0, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- add r0, sp, 0x8
- movs r2, 0
- bl sub_808CFD0
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x3]
- ldr r2, _08068A70
- adds r0, r2
- strb r1, [r0]
- ldr r1, [r6]
- adds r1, r4
- ldrh r2, [r5, 0x14]
- movs r3, 0x8E
- lsls r3, 8
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r2, [r5, 0x16]
- adds r3, 0x8
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r2, [r5, 0x16]
- adds r3, 0x2
- adds r0, r1, r3
- strh r2, [r0]
- ldrb r0, [r5, 0x18]
- ldr r2, _08068A74
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x19]
- adds r3, 0x3
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x1A]
- adds r2, 0x2
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r5, 0x1B]
- adds r3, 0x2
- adds r0, r3
- strb r1, [r0]
- ldr r2, [r6]
- ldr r1, _08068A78
- adds r0, r2, r1
- adds r0, r4
- ldr r1, [sp, 0x24]
- str r1, [r0]
- adds r2, r4
- adds r3, 0x35
- adds r1, r2, r3
- ldr r0, [sp, 0x28]
- str r0, [r1]
- add r0, sp, 0x2C
- ldrb r0, [r0]
- ldr r1, _08068A7C
- adds r2, r1
- strb r0, [r2]
- ldr r0, [r6]
- add r0, r9
- adds r0, 0x1C
- add r1, sp, 0x34
- bl sub_8093F50
-_08068A06:
- ldr r0, [r6]
- adds r0, r4
- ldr r2, _08068A80
- adds r0, r2
- mov r3, r8
- strh r3, [r0]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x4
- beq _08068A2A
-_08068A1C:
- movs r2, 0x1
- add r10, r2
- movs r0, 0xCE
- lsls r0, 1
- cmp r10, r0
- bgt _08068A2A
- b _08068922
-_08068A2A:
- mov r3, r8
- cmp r3, 0x3
- bgt _08068A50
- ldr r4, _08068A60
- ldr r3, _08068A64
- movs r2, 0
- movs r0, 0x64
- mov r1, r8
- muls r1, r0
-_08068A3C:
- ldr r0, [r4]
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- adds r1, 0x64
- movs r0, 0x1
- add r8, r0
- mov r0, r8
- cmp r0, 0x3
- ble _08068A3C
-_08068A50:
- add sp, 0x64
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068A60: .4byte gUnknown_203B45C
-_08068A64: .4byte 0x00008df8
-_08068A68: .4byte gUnknown_203B418
-_08068A6C: .4byte 0x00000644
-_08068A70: .4byte 0x00008dfb
-_08068A74: .4byte 0x00008e0c
-_08068A78: .4byte 0x00008e10
-_08068A7C: .4byte 0x00008e48
-_08068A80: .4byte 0x00008e04
- thumb_func_end sub_806890C
-
- thumb_func_start sub_8068A84
-sub_8068A84:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r4, 0
- movs r5, 0
- ldr r7, _08068AE0
-_08068A8E:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08068AE4
- adds r0, r1
- ldr r1, [r7]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068AB2
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0
-_08068AB2:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08068A8E
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0
- cmp r4, 0x6
- ble _08068B04
- ldr r0, _08068AE8
- adds r1, r6, 0
- movs r2, 0
- bl sub_808D9AC
- ldrb r0, [r6, 0x4]
- cmp r0, 0x4A
- bne _08068AF0
- ldr r0, _08068AEC
- b _08068BB2
- .align 2, 0
-_08068AE0: .4byte gUnknown_203B45C
-_08068AE4: .4byte 0x00008df8
-_08068AE8: .4byte gUnknown_202DF98
-_08068AEC: .4byte gUnknown_80FE0F4
-_08068AF0:
- cmp r0, 0x47
- bne _08068AFC
- ldr r0, _08068AF8
- b _08068BB2
- .align 2, 0
-_08068AF8: .4byte gUnknown_80FE0F8
-_08068AFC:
- ldr r0, _08068B00
- b _08068BB2
- .align 2, 0
-_08068B00: .4byte gUnknown_80FE0AC
-_08068B04:
- movs r5, 0
- ldr r2, _08068B6C
-_08068B08:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _08068B70
- adds r0, r1
- ldr r1, [r2]
- adds r4, r1, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08068B80
- adds r0, r4, 0
- adds r1, r6, 0
- ldr r2, _08068B74
- bl sub_808DE50
- ldrh r0, [r4]
- movs r1, 0x1
- movs r2, 0
- orrs r1, r0
- strh r1, [r4]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x19
- bgt _08068B3E
- movs r0, 0x1A
- strh r0, [r4, 0x8]
-_08068B3E:
- ldrh r0, [r4]
- movs r1, 0x2
- orrs r0, r1
- strh r0, [r4]
- strh r5, [r4, 0xC]
- adds r0, r4, 0
- adds r0, 0x40
- strb r2, [r0, 0x2]
- strb r2, [r0, 0x1]
- strb r2, [r0]
- ldr r0, _08068B78
- adds r1, r6, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldrb r0, [r6, 0x4]
- cmp r0, 0x4A
- beq _08068BB0
- cmp r0, 0x47
- beq _08068BD0
- ldr r0, _08068B7C
- b _08068BB2
- .align 2, 0
-_08068B6C: .4byte gUnknown_203B45C
-_08068B70: .4byte 0x00008df8
-_08068B74: .4byte 0x000055aa
-_08068B78: .4byte gUnknown_202DF98
-_08068B7C: .4byte gUnknown_80FE134
-_08068B80:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08068B08
- ldr r0, _08068B9C
- adds r1, r6, 0
- movs r2, 0x6
- bl sub_808D9AC
- ldrb r0, [r6, 0x4]
- cmp r0, 0x4A
- bne _08068BA4
- ldr r0, _08068BA0
- b _08068BB2
- .align 2, 0
-_08068B9C: .4byte gUnknown_202DF98
-_08068BA0: .4byte gUnknown_80FE0F4
-_08068BA4:
- cmp r0, 0x47
- bne _08068BC4
- ldr r0, _08068BAC
- b _08068BB2
- .align 2, 0
-_08068BAC: .4byte gUnknown_80FE0F8
-_08068BB0:
- ldr r0, _08068BC0
-_08068BB2:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08068BD0
- .align 2, 0
-_08068BC0: .4byte gUnknown_80FE168
-_08068BC4:
- ldr r0, _08068BD8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08068BD0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068BD8: .4byte gUnknown_80FE0AC
- thumb_func_end sub_8068A84
-
- thumb_func_start sub_8068BDC
-sub_8068BDC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08068CC4
- add sp, r4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x220]
- movs r1, 0
- mov r0, sp
- adds r0, 0x39
-_08068BF6:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _08068BF6
- movs r6, 0
- ldr r0, _08068CC8
- mov r8, r0
- movs r7, 0x1
-_08068C06:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08068CCC
- adds r0, r1
- mov r2, r8
- ldr r1, [r2]
- adds r4, r1, r0
- ldrb r1, [r4]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08068C50
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A564
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08068C50
- adds r4, 0x40
- ldrb r1, [r4]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08068C50
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08068C50
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08068C50:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068C06
- movs r6, 0
- movs r5, 0x1
-_08068C5A:
- ldr r1, _08068CC8
- movs r0, 0x64
- muls r0, r6
- ldr r2, _08068CCC
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- ldrb r1, [r4]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08068CFE
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A564
- lsls r0, 24
- cmp r0, 0
- bne _08068CFE
- ldr r1, _08068CD0
- adds r0, r1, 0
- ldrh r2, [r4, 0xE]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _08068C96
- movs r0, 0xBC
- lsls r0, 1
- strh r0, [r4, 0xE]
-_08068C96:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _08068CE8
- ldr r0, _08068CD4
- ldr r0, [r0]
- ldr r1, _08068CD8
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8090104
- lsls r0, 24
- cmp r0, 0
- beq _08068CDC
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r1, r4, 0
- bl sub_808DFDC
- b _08068CFE
- .align 2, 0
-_08068CC4: .4byte 0xfffffdd8
-_08068CC8: .4byte gUnknown_203B45C
-_08068CCC: .4byte 0x00008df8
-_08068CD0: .4byte 0xfffffe87
-_08068CD4: .4byte gUnknown_203B418
-_08068CD8: .4byte 0x00000644
-_08068CDC:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- adds r1, r4, 0
- bl sub_808DF2C
- b _08068CFE
-_08068CE8:
- ldr r0, [sp, 0x220]
- cmp r0, 0
- beq _08068CFE
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- add r0, sp
- strb r5, [r0]
-_08068CFE:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068C5A
- movs r1, 0
-_08068D06:
- lsls r0, r1, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- add r0, r8
- ldrb r0, [r0]
- adds r1, 0x1
- str r1, [sp, 0x224]
- cmp r0, 0
- bne _08068D1C
- b _08068F08
-_08068D1C:
- mov r0, r8
- add r1, sp, 0x1F0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8092404
- mov r0, r8
- add r1, sp, 0x214
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- movs r7, 0
- add r1, sp, 0x1F0
- ldrh r0, [r1]
- ldr r2, _08068E10
- cmp r0, r2
- beq _08068D60
- ldr r0, _08068E14
- ldr r3, [r0]
- adds r5, r2, 0
- add r2, sp, 0x3C
- movs r4, 0x58
-_08068D4A:
- ldrh r0, [r1]
- muls r0, r4
- adds r0, r3, r0
- stm r2!, {r0}
- adds r1, 0x2
- adds r7, 0x1
- cmp r7, 0x14
- bgt _08068D60
- ldrh r0, [r1]
- cmp r0, r5
- bne _08068D4A
-_08068D60:
- movs r6, 0
- ldr r2, _08068E14
- mov r10, r2
- movs r3, 0
- mov r9, r3
-_08068D6A:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08068E18
- adds r0, r1
- mov r2, r10
- ldr r1, [r2]
- adds r5, r1, r0
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068DD6
- movs r3, 0xA
- ldrsh r0, [r5, r3]
- bl sub_806A5A4
- lsls r0, 24
- cmp r0, 0
- beq _08068DD6
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r8
- bne _08068DD6
- ldr r2, [sp, 0x220]
- cmp r2, 0
- beq _08068DD6
- add r4, sp, 0x3C
- lsls r0, r7, 2
- adds r4, r0
- add r0, sp, 0x90
- movs r1, 0x58
- muls r1, r6
- adds r0, r1
- str r0, [r4]
- adds r1, r5, 0
- bl sub_808DF44
- ldr r2, [r4]
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r0, [r4]
- mov r1, r9
- strb r1, [r0, 0xC]
- ldr r0, [r4]
- strb r1, [r0, 0x10]
- adds r7, 0x1
-_08068DD6:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068D6A
- add r0, sp, 0x214
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bgt _08068E1C
- cmp r7, 0
- bgt _08068DEC
- b _08068F08
-_08068DEC:
- add r5, sp, 0x3C
- movs r3, 0x80
- lsls r3, 7
- adds r6, r3, 0
- adds r4, r7, 0
-_08068DF6:
- ldr r1, [r5]
- ldrh r0, [r1]
- ands r0, r6
- cmp r0, 0
- beq _08068E06
- adds r0, r1, 0
- bl sub_808D1DC
-_08068E06:
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bne _08068DF6
- b _08068F08
- .align 2, 0
-_08068E10: .4byte 0x0000ffff
-_08068E14: .4byte gUnknown_203B45C
-_08068E18: .4byte 0x00008df8
-_08068E1C:
- ldr r0, _08068E78
- mov r1, r8
- movs r2, 0
- bl sub_8092578
- ldr r0, _08068E7C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- add r4, sp, 0x3C
-_08068E34:
- add r0, sp, 0x214
- movs r2, 0
- ldrsh r1, [r0, r2]
- subs r1, r7, r1
- mov r0, r8
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_8067A80
- movs r6, 0
- cmp r6, r7
- bge _08068E8E
- movs r5, 0x80
- lsls r5, 8
- adds r3, r4, 0
-_08068E52:
- ldr r2, [r3]
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068E86
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08068E86
- ldrb r0, [r2, 0x4]
- subs r0, 0x44
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08068E80
- movs r0, 0x1
- b _08068E82
- .align 2, 0
-_08068E78: .4byte gUnknown_202DE58
-_08068E7C: .4byte gUnknown_80FE1A4
-_08068E80:
- movs r0, 0
-_08068E82:
- cmp r0, 0
- bne _08068E8E
-_08068E86:
- adds r3, 0x4
- adds r6, 0x1
- cmp r6, r7
- blt _08068E52
-_08068E8E:
- cmp r6, r7
- beq _08068EA2
- ldr r0, _08068F24
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08068E34
-_08068EA2:
- cmp r7, 0
- ble _08068ED4
- movs r3, 0x80
- lsls r3, 8
- mov r9, r3
- adds r3, r4, 0
- movs r0, 0x1
- mov r8, r0
- movs r5, 0
- adds r6, r7, 0
-_08068EB6:
- ldr r2, [r3]
- ldrh r1, [r2]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _08068ECC
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _08068ECC
- strh r5, [r2]
-_08068ECC:
- adds r3, 0x4
- subs r6, 0x1
- cmp r6, 0
- bne _08068EB6
-_08068ED4:
- cmp r7, 0
- ble _08068F08
- movs r1, 0x80
- lsls r1, 7
- adds r5, r1, 0
- adds r6, r7, 0
-_08068EE0:
- ldr r2, [r4]
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068F00
- adds r0, r1, 0
- ands r0, r5
- cmp r0, 0
- beq _08068F00
- adds r0, r2, 0
- bl sub_808D1DC
- ldr r1, [r4]
- movs r0, 0
- strh r0, [r1]
-_08068F00:
- adds r4, 0x4
- subs r6, 0x1
- cmp r6, 0
- bne _08068EE0
-_08068F08:
- ldr r1, [sp, 0x224]
- cmp r1, 0x39
- bgt _08068F10
- b _08068D06
-_08068F10:
- movs r3, 0x8A
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08068F24: .4byte gUnknown_80FE20C
- thumb_func_end sub_8068BDC
-
- thumb_func_start sub_8068F28
-sub_8068F28:
- push {r4-r7,lr}
- movs r6, 0
- ldr r7, _08068F5C
-_08068F2E:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _08068F60
- adds r0, r1
- ldr r1, [r7]
- adds r4, r1, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08068F74
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl sub_806A564
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _08068F64
- movs r0, 0
- strh r0, [r4]
- b _08068F74
- .align 2, 0
-_08068F5C: .4byte gUnknown_203B45C
-_08068F60: .4byte 0x00008df8
-_08068F64:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- bl sub_806A538
- lsls r0, 24
- cmp r0, 0
- beq _08068F74
- strh r5, [r4]
-_08068F74:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08068F2E
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8068F28
-
- thumb_func_start sub_8068F80
-sub_8068F80:
- push {r4,r5,lr}
- bl sub_8083600
- adds r5, r0, 0
- ldr r0, _08068FD4
- ldr r4, [r0]
- ldr r1, _08068FD8
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _08068FDC
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, 0x6
- adds r0, r4, r2
- strb r1, [r0]
- adds r0, r4, 0
- adds r0, 0xC0
- str r1, [r0]
- cmp r5, 0
- beq _08068FCC
- adds r0, r5, 0
- bl sub_8045128
- ldrh r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- ands r0, r1
- movs r2, 0xD3
- lsls r2, 3
- adds r1, r4, r2
- strb r0, [r1]
- adds r2, 0x1
- adds r1, r4, r2
- strb r0, [r1]
- adds r0, r5, 0x4
- bl sub_804AC20
-_08068FCC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08068FD4: .4byte gUnknown_203B418
-_08068FD8: .4byte 0x0000066c
-_08068FDC: .4byte 0x0000066d
- thumb_func_end sub_8068F80
-
- thumb_func_start sub_8068FE0
-sub_8068FE0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x84
- mov r8, r0
- str r2, [sp, 0x74]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- ldr r7, [r0, 0x70]
- bl sub_8045128
- adds r4, r0, 0
- ldr r0, [sp, 0x74]
- cmp r0, 0
- bne _0806900E
- mov r0, sp
- bl sub_80457DC
- mov r1, sp
- str r1, [sp, 0x74]
-_0806900E:
- ldr r0, [r4, 0x10]
- cmp r0, r8
- bne _08069018
- movs r0, 0
- str r0, [r4, 0x10]
-_08069018:
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- bl sub_80402AC
- movs r5, 0
- adds r6, r7, 0
- adds r6, 0xC8
- movs r0, 0xB0
- adds r0, r7
- mov r10, r0
- mov r1, r8
- adds r1, 0x22
- str r1, [sp, 0x80]
- mov r2, r8
- adds r2, 0x20
- str r2, [sp, 0x7C]
- adds r3, r7, 0
- adds r3, 0x40
- str r3, [sp, 0x78]
-_08069044:
- ldr r0, _080690E4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080690E8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _08069072
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08069072
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0x80
- ldr r0, [r1]
- cmp r0, r8
- bne _08069072
- movs r0, 0
- str r0, [r1]
-_08069072:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08069044
- ldrb r0, [r6]
- cmp r0, 0x2
- bne _0806908A
- ldr r0, _080690E4
- ldr r0, [r0]
- ldr r3, _080690EC
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
-_0806908A:
- mov r1, r10
- ldrb r0, [r1]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080690A2
- adds r0, r7, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_080690A2:
- mov r0, r8
- bl sub_8078084
- movs r0, 0
- ldr r2, [sp, 0x80]
- strb r0, [r2]
- ldr r3, [sp, 0x7C]
- strb r0, [r3]
- ldr r1, _080690F0
- str r0, [r1]
- ldr r1, [sp, 0x78]
- ldrb r0, [r1]
- cmp r0, 0x41
- bne _080690FC
- ldr r3, _080690E4
- ldr r2, [r3]
- ldr r1, _080690F4
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0
- bne _080690FC
- movs r0, 0x1
- strb r0, [r2, 0x10]
- strh r1, [r7, 0xE]
- ldr r0, [r3]
- ldr r2, _080690F8
- adds r0, r2
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- b _08069484
- .align 2, 0
-_080690E4: .4byte gUnknown_203B418
-_080690E8: .4byte 0x000135cc
-_080690EC: .4byte 0x000037fc
-_080690F0: .4byte gUnknown_203B450
-_080690F4: .4byte 0x0000065c
-_080690F8: .4byte 0x000005f4
-_080690FC:
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _08069104
- b _0806928E
-_08069104:
- movs r0, 0x3C
- movs r1, 0x49
- bl sub_803E708
- bl sub_80532B4
- ldr r5, _08069198
- ldr r2, [r5]
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- bne _080691C8
- ldr r3, _0806919C
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080691E0
- movs r0, 0x87
- lsls r0, 2
- cmp r9, r0
- beq _080691E0
- adds r0, 0x6
- cmp r9, r0
- beq _080691E0
- subs r0, 0x4
- cmp r9, r0
- beq _080691E0
- ldr r1, _080691A0
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080691E0
- ldr r6, _080691A4
- adds r0, r2, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- blt _080691E0
- adds r3, 0xA
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080691E0
- cmp r1, 0
- ble _080691B4
- ldr r0, _080691A8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- adds r4, r0, 0
- cmp r4, 0x1
- bne _080691E0
- ldr r0, _080691AC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- ldr r0, [r5]
- strb r4, [r0, 0x4]
- ldr r0, [r5]
- strb r4, [r0, 0x6]
- ldr r0, [r5]
- ldr r1, _080691B0
- adds r0, r1
- strb r4, [r0]
- ldr r1, [r5]
- adds r1, r6
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- b _08069484
- .align 2, 0
-_08069198: .4byte gUnknown_203B418
-_0806919C: .4byte 0x0000066e
-_080691A0: .4byte 0x00003a0d
-_080691A4: .4byte 0x0000067b
-_080691A8: .4byte gUnknown_80FE268
-_080691AC: .4byte gUnknown_80FE28C
-_080691B0: .4byte 0x00000654
-_080691B4:
- ldr r0, _080691C4
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _080691E0
- .align 2, 0
-_080691C4: .4byte gUnknown_80FE2D0
-_080691C8:
- movs r1, 0x1
- strb r1, [r2, 0x4]
- ldr r0, [r5]
- strb r1, [r0, 0x6]
- ldr r0, [r5]
- ldr r2, _080691DC
- adds r0, r2
- strb r1, [r0]
- b _08069484
- .align 2, 0
-_080691DC: .4byte 0x00000654
-_080691E0:
- mov r0, r9
- ldr r1, [sp, 0x74]
- mov r2, r8
- bl sub_8083AB0
- ldr r0, _080691F8
- cmp r9, r0
- bne _0806928E
- movs r6, 0
- movs r5, 0
- b _080691FE
- .align 2, 0
-_080691F8: .4byte 0x0000021f
-_080691FC:
- adds r5, 0x1
-_080691FE:
- cmp r5, 0x3
- bgt _08069228
- ldr r0, _080692C4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r3, _080692C8
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080691FC
- ldr r6, [r4, 0x70]
- adds r0, r6, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080691FC
-_08069228:
- cmp r6, 0
- beq _0806928E
- ldr r5, _080692CC
- ldrb r0, [r6, 0xA]
- movs r1, 0x64
- muls r1, r0
- ldr r2, _080692D0
- adds r1, r2
- ldr r2, [r5]
- adds r4, r2, r1
- adds r1, r6, 0
- bl sub_806C264
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _0806928A
- ldr r0, _080692C4
- ldr r0, [r0]
- ldr r1, _080692D4
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8090104
- lsls r0, 24
- cmp r0, 0
- bne _0806926E
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r1, r4, 0
- bl sub_808DF2C
-_0806926E:
- bl sub_8044210
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0806928A
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- movs r0, 0x58
- muls r0, r1
- ldr r1, [r5]
- adds r0, r1
- adds r0, 0x28
- strb r2, [r0]
-_0806928A:
- movs r0, 0
- strh r0, [r4]
-_0806928E:
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- beq _080692DC
- movs r5, 0
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r7, r1
- movs r2, 0x98
- adds r2, r7
- mov r10, r2
- ldrb r3, [r0]
- cmp r5, r3
- bge _0806930A
- ldr r4, _080692D8
- subs r1, 0x1
- adds r2, r7, r1
- movs r3, 0
- adds r1, r0, 0
-_080692B2:
- ldrb r0, [r2]
- adds r0, r5
- adds r0, r4
- strb r3, [r0]
- adds r5, 0x1
- ldrb r0, [r1]
- cmp r5, r0
- blt _080692B2
- b _0806930A
- .align 2, 0
-_080692C4: .4byte gUnknown_203B418
-_080692C8: .4byte 0x0001357c
-_080692CC: .4byte gUnknown_203B45C
-_080692D0: .4byte 0x00008df8
-_080692D4: .4byte 0x00000644
-_080692D8: .4byte gUnknown_202EE76
-_080692DC:
- movs r5, 0
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r7, r1
- movs r2, 0x98
- adds r2, r7
- mov r10, r2
- ldrb r3, [r0]
- cmp r5, r3
- bge _0806930A
- ldr r4, _0806932C
- subs r1, 0x1
- adds r2, r7, r1
- movs r3, 0
- adds r1, r0, 0
-_080692FA:
- ldrb r0, [r2]
- adds r0, r5
- adds r0, r4
- strb r3, [r0]
- adds r5, 0x1
- ldrb r0, [r1]
- cmp r5, r0
- blt _080692FA
-_0806930A:
- ldr r1, [sp, 0x78]
- ldrb r0, [r1]
- cmp r0, 0x4A
- bne _08069338
- ldr r2, _08069330
- ldr r1, [r2]
- movs r0, 0x2
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- ldr r2, _08069334
- adds r0, r2
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- b _08069352
- .align 2, 0
-_0806932C: .4byte gUnknown_202EE70
-_08069330: .4byte gUnknown_203B418
-_08069334: .4byte 0x000005f4
-_08069338:
- cmp r0, 0x47
- bne _08069352
- ldr r2, _08069494
- ldr r1, [r2]
- movs r0, 0x3
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- ldr r3, _08069498
- adds r0, r3
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
-_08069352:
- bl sub_8083600
- cmp r0, 0
- beq _080693C6
- movs r0, 0x87
- lsls r0, 2
- cmp r9, r0
- beq _080693C6
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _080693C6
- ldr r4, _08069494
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _080693C6
- adds r0, r7, 0
- adds r0, 0xA4
- ldrb r1, [r0]
- movs r2, 0
- movs r0, 0xFA
- lsls r0, 1
- cmp r9, r0
- bne _08069384
- movs r2, 0x1
-_08069384:
- mov r0, r8
- bl sub_8084E00
- ldr r1, _0806949C
- adds r0, r1, 0
- ldrh r2, [r7, 0x4]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _080693C6
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _080693C6
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- beq _080693CC
- ldr r0, [r4]
- ldr r3, _080694A0
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080694A4
- ldr r1, [r0]
- mov r0, r8
- bl sub_805239C
- bl sub_803E178
- bl sub_8049ED4
-_080693C6:
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- bne _08069466
-_080693CC:
- ldr r6, _080694A8
- ldrb r0, [r7, 0xA]
- movs r1, 0x64
- muls r1, r0
- ldr r2, _080694AC
- adds r1, r2
- ldr r2, [r6]
- adds r4, r2, r1
- adds r1, r7, 0
- bl sub_806C264
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _08069462
- ldr r5, _08069494
- ldr r0, [r5]
- ldr r1, _080694B0
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8090104
- lsls r0, 24
- cmp r0, 0
- bne _0806940E
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r1, r4, 0
- bl sub_808DF2C
-_0806940E:
- bl sub_8044210
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0806942A
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- movs r0, 0x58
- muls r0, r1
- ldr r1, [r6]
- adds r0, r1
- adds r0, 0x28
- strb r2, [r0]
-_0806942A:
- ldrb r1, [r7, 0x7]
- negs r0, r1
- orrs r0, r1
- lsrs r1, r0, 31
- ldr r0, [r5]
- ldr r2, _080694B4
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _08069448
- ldr r3, [sp, 0x78]
- ldrb r0, [r3]
- cmp r0, 0x41
- bne _08069448
- movs r1, 0x1
-_08069448:
- cmp r1, 0
- bne _08069462
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r0, 0x58
- muls r1, r0
- ldr r0, _080694A8
- ldr r0, [r0]
- adds r1, r0
- ldrh r2, [r1]
- ldr r0, _080694B8
- ands r0, r2
- strh r0, [r1]
-_08069462:
- movs r0, 0
- strh r0, [r4]
-_08069466:
- mov r1, r10
- ldr r0, [r1]
- bl sub_800F934
- ldr r0, _080694BC
- movs r2, 0
- str r2, [r0]
- ldr r0, _08069494
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xC]
- mov r3, r8
- str r2, [r3]
- bl sub_8045ACC
-_08069484:
- add sp, 0x84
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08069494: .4byte gUnknown_203B418
-_08069498: .4byte 0x000005f4
-_0806949C: .4byte 0xfffffe5f
-_080694A0: .4byte 0x000037fe
-_080694A4: .4byte gUnknown_80FA580
-_080694A8: .4byte gUnknown_203B45C
-_080694AC: .4byte 0x00008df8
-_080694B0: .4byte 0x00000644
-_080694B4: .4byte 0x0000065c
-_080694B8: .4byte 0x0000fffd
-_080694BC: .4byte gUnknown_203B450
- thumb_func_end sub_8068FE0
-
- thumb_func_start sub_80694C0
-sub_80694C0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- adds r0, r7, 0
- mov r1, r8
- bl sub_8049590
- mov r10, r0
- ldr r5, [r4, 0x70]
- adds r6, r5, 0
- adds r6, 0xB0
- ldrb r0, [r6]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080694FC
- adds r0, r5, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_080694FC:
- ldrb r0, [r6]
- cmp r0, 0x7
- beq _0806950A
- cmp r0, 0x5
- beq _0806950A
- cmp r0, 0x2
- bne _08069512
-_0806950A:
- adds r0, r4, 0
- adds r1, r4, 0
- bl sub_807A324
-_08069512:
- movs r0, 0x4
- ldrsh r2, [r4, r0]
- cmp r7, r2
- bne _08069522
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r8, r0
- beq _080695DE
-_08069522:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _08069552
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _08069552
- adds r1, r0, 0
- adds r0, r2, 0
- bl sub_8049590
- adds r1, r0, 0
- ldr r0, [r1, 0x10]
- cmp r0, r4
- bne _08069546
- movs r0, 0
- str r0, [r1, 0x10]
-_08069546:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_80402AC
-_08069552:
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x6]
- strh r0, [r4, 0xA]
- strh r7, [r4, 0x4]
- mov r0, r8
- strh r0, [r4, 0x6]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0806956E
- ldr r0, _0806959C
- strh r7, [r0]
- mov r1, r8
- strh r1, [r0, 0x2]
-_0806956E:
- mov r2, r10
- str r4, [r2, 0x10]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _08069588
- ldr r0, _080695A0
- strh r7, [r0]
- mov r1, r8
- strh r1, [r0, 0x2]
- ldr r0, _080695A4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x1]
-_08069588:
- adds r0, r7, 0
- mov r1, r8
- bl sub_80402AC
- mov r2, r9
- cmp r2, 0
- beq _080695A8
- cmp r2, 0x1
- beq _080695C4
- b _080695CE
- .align 2, 0
-_0806959C: .4byte gUnknown_203B410
-_080695A0: .4byte gUnknown_202EE0C
-_080695A4: .4byte gUnknown_203B418
-_080695A8:
- ldr r0, [r5, 0x70]
- str r0, [r5, 0x74]
- ldr r0, [r5, 0x6C]
- str r0, [r5, 0x70]
- ldr r0, [r5, 0x68]
- str r0, [r5, 0x6C]
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080695CE
- ldr r0, [r4, 0x8]
- str r0, [r5, 0x68]
- b _080695CE
-_080695C4:
- ldr r0, [r4, 0x4]
- str r0, [r5, 0x68]
- str r0, [r5, 0x6C]
- str r0, [r5, 0x70]
- str r0, [r5, 0x74]
-_080695CE:
- mov r1, r10
- ldrb r0, [r1, 0x9]
- adds r1, r4, 0
- adds r1, 0x25
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_806CF98
-_080695DE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80694C0
-
- thumb_func_start sub_80695EC
-sub_80695EC:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r1, [r4, 0x70]
- adds r5, r1, 0
- adds r0, r1, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08069612
- adds r0, r1, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_08069612:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r6, r0
- bne _08069622
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r7, r0
- beq _08069658
-_08069622:
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0x6]
- strh r0, [r4, 0xA]
- strh r6, [r4, 0x4]
- strh r7, [r4, 0x6]
- ldr r0, [r5, 0x70]
- str r0, [r5, 0x74]
- ldr r0, [r5, 0x6C]
- str r0, [r5, 0x70]
- ldr r0, [r5, 0x68]
- str r0, [r5, 0x6C]
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08069648
- ldr r0, [r4, 0x8]
- str r0, [r5, 0x68]
-_08069648:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- adds r0, r4, 0
- adds r0, 0x25
- strb r1, [r0]
-_08069658:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80695EC
-
- thumb_func_start sub_8069660
-sub_8069660:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- adds r5, r0, 0
- adds r5, 0x46
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8070F80
- lsls r0, 24
- cmp r0, 0
- bne _0806967C
- movs r0, 0
- b _0806969E
-_0806967C:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- ldr r1, _080696A4
- ldrb r2, [r5]
- lsls r2, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r0, [r0, 0x10]
-_0806969E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080696A4: .4byte gUnknown_80F4448
- thumb_func_end sub_8069660
-
- thumb_func_start sub_80696A8
-sub_80696A8:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- adds r5, r0, 0
- adds r5, 0x46
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_8071138
- lsls r0, 24
- cmp r0, 0
- beq _080696F4
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- ldr r1, _080696F0
- ldrb r2, [r5]
- lsls r2, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r1, [r0, 0x10]
- cmp r1, 0
- beq _080696F4
- ldr r0, [r1]
- cmp r0, 0x1
- bne _080696F4
- adds r0, r1, 0
- b _080696F6
- .align 2, 0
-_080696F0: .4byte gUnknown_80F4448
-_080696F4:
- movs r0, 0
-_080696F6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80696A8
-
- thumb_func_start sub_80696FC
-sub_80696FC:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r3, [r4, 0x70]
- ldr r5, _08069764
- adds r3, 0x46
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08069768
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x6]
- adds r0, r1
- lsls r0, 16
- ldr r1, _0806976C
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl sub_804954C
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, sp
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- bne _08069770
- ldr r1, [r5, 0x10]
- cmp r1, 0
- beq _08069770
- ldr r0, [r1]
- cmp r0, 0x1
- bne _08069770
- adds r0, r1, 0
- b _08069772
- .align 2, 0
-_08069764: .4byte gUnknown_80F4448
-_08069768: .4byte 0xffff0000
-_0806976C: .4byte 0x0000ffff
-_08069770:
- movs r0, 0
-_08069772:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80696FC
-
- thumb_func_start sub_806977C
-sub_806977C:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- ldr r7, _0806982C
- adds r5, r0, 0
- adds r5, 0x46
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08069830
- ldr r2, [sp]
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x6]
- adds r0, r1
- lsls r0, 16
- ldr r1, _08069834
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r1, 16
- bl sub_804954C
- mov r6, sp
- adds r0, r4, 0
- mov r1, sp
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- bne _08069838
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 1
- ldrh r2, [r4, 0x4]
- adds r0, r2
- mov r1, sp
- strh r0, [r1]
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r7
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- lsls r0, 1
- ldrh r2, [r4, 0x6]
- adds r0, r2
- strh r0, [r6, 0x2]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_804954C
- adds r5, r0, 0
- adds r0, r4, 0
- mov r1, sp
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- bne _08069838
- ldr r1, [r5, 0x10]
- cmp r1, 0
- beq _08069838
- ldr r0, [r1]
- cmp r0, 0x1
- bne _08069838
- adds r0, r1, 0
- b _0806983A
- .align 2, 0
-_0806982C: .4byte gUnknown_80F4448
-_08069830: .4byte 0xffff0000
-_08069834: .4byte 0x0000ffff
-_08069838:
- movs r0, 0
-_0806983A:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806977C
-
- thumb_func_start sub_8069844
-sub_8069844:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- ldr r5, [r1, 0x70]
- adds r0, r6, 0x2
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- ldrh r0, [r5, 0x2]
- strh r0, [r6]
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- str r0, [r6, 0x24]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- str r0, [r6, 0x28]
- ldrb r0, [r5, 0x9]
- str r0, [r6, 0x2C]
- ldr r0, [r5, 0x18]
- str r0, [r6, 0x30]
- movs r2, 0
-_08069874:
- adds r1, r6, 0
- adds r1, 0x34
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x14
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r6, 0
- adds r1, 0x36
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x16
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r6, 0
- adds r1, 0x16
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x5C
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r6, 0
- adds r1, 0x18
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x5E
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x1
- ble _08069874
- ldrb r2, [r5, 0x7]
- adds r1, r6, 0
- adds r1, 0x38
- movs r0, 0
- strb r2, [r1]
- adds r2, r6, 0
- adds r2, 0x39
- strb r0, [r2]
- adds r3, r6, 0
- adds r3, 0x3A
- strb r0, [r3]
- adds r4, r6, 0
- adds r4, 0x3B
- strb r0, [r4]
- movs r7, 0x3C
- adds r7, r6
- mov r12, r7
- strb r0, [r7]
- adds r0, r5, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806995C
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806995C
- adds r1, r5, 0
- adds r1, 0x62
- ldrb r0, [r1]
- cmp r0, 0x13
- bne _08069908
- ldr r0, _080699A4
- ldrb r0, [r0]
- ldrb r7, [r2]
- adds r0, r7
- strb r0, [r2]
-_08069908:
- ldrb r0, [r1]
- cmp r0, 0x2B
- bne _08069918
- ldr r0, _080699A8
- ldrb r0, [r0]
- ldrb r7, [r2]
- adds r0, r7
- strb r0, [r2]
-_08069918:
- ldrb r0, [r1]
- cmp r0, 0x21
- bne _08069928
- ldr r0, _080699AC
- ldrb r0, [r0]
- ldrb r2, [r3]
- adds r0, r2
- strb r0, [r3]
-_08069928:
- ldrb r0, [r1]
- cmp r0, 0x2B
- bne _08069938
- ldr r0, _080699A8
- ldrb r0, [r0]
- ldrb r7, [r3]
- adds r0, r7
- strb r0, [r3]
-_08069938:
- ldrb r0, [r1]
- cmp r0, 0x1E
- bne _08069948
- ldr r0, _080699B0
- ldrb r0, [r0]
- ldrb r2, [r4]
- adds r0, r2
- strb r0, [r4]
-_08069948:
- ldrb r0, [r1]
- cmp r0, 0x22
- bne _0806995C
- ldr r0, _080699B4
- ldrb r0, [r0]
- mov r7, r12
- ldrb r7, [r7]
- adds r0, r7
- mov r1, r12
- strb r0, [r1]
-_0806995C:
- adds r0, r5, 0
- adds r0, 0x94
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r0, 0x54
- strb r1, [r0]
- ldr r0, [r5, 0x60]
- str r0, [r6, 0x20]
- ldrh r0, [r5, 0xC]
- movs r1, 0
- strh r0, [r6, 0x3E]
- ldr r0, [r5, 0x40]
- str r0, [r6, 0x1C]
- adds r0, r6, 0
- adds r0, 0x44
- strb r1, [r0]
- adds r0, 0x4
- strb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x8C
- ldr r0, [r0]
- str r0, [r6, 0x50]
- ldr r0, _080699B8
- ldr r0, [r0]
- ldr r2, _080699BC
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080699C0
- adds r0, r5, 0
- bl sub_806A4DC
- adds r1, r6, 0
- adds r1, 0x4C
- b _080699C6
- .align 2, 0
-_080699A4: .4byte gUnknown_810AC60
-_080699A8: .4byte gUnknown_810AC68
-_080699AC: .4byte gUnknown_810AC62
-_080699B0: .4byte gUnknown_810AC64
-_080699B4: .4byte gUnknown_810AC66
-_080699B8: .4byte gUnknown_203B418
-_080699BC: .4byte 0x0000065a
-_080699C0:
- adds r1, r6, 0
- adds r1, 0x4C
- movs r0, 0x3
-_080699C6:
- strb r0, [r1]
- movs r4, 0
- movs r7, 0x10
- ldrsh r0, [r5, r7]
- cmp r0, 0
- bge _080699D4
- adds r0, 0x3
-_080699D4:
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- asrs r0, 2
- cmp r1, r0
- bgt _080699E8
- adds r1, r6, 0
- adds r1, 0x58
- movs r0, 0x6
- strb r0, [r1]
- movs r4, 0x1
-_080699E8:
- ldr r0, _08069A24
- ldr r0, [r0]
- ldr r7, _08069A28
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069A02
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0xB
- strb r1, [r0]
- adds r4, 0x1
-_08069A02:
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0
- bne _08069A38
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _08069A2C
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x13
- b _08069A34
- .align 2, 0
-_08069A24: .4byte gUnknown_203B418
-_08069A28: .4byte 0x00000676
-_08069A2C:
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x3B
-_08069A34:
- strb r1, [r0]
- adds r4, 0x1
-_08069A38:
- mov r2, r8
- ldr r0, [r2, 0x70]
- movs r7, 0x82
- lsls r7, 1
- adds r2, r0, r7
- ldr r0, [r2]
- cmp r0, 0x1
- ble _08069A54
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x1B
- strb r1, [r0]
- adds r4, 0x1
-_08069A54:
- ldr r0, [r2]
- cmp r0, 0
- bgt _08069A66
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x28
- strb r1, [r0]
- adds r4, 0x1
-_08069A66:
- ldr r0, [r5, 0x2C]
- cmp r0, 0xFF
- ble _08069AAE
- ldr r0, [r5, 0x30]
- cmp r0, 0xFF
- ble _08069AAE
- ldr r0, [r5, 0x34]
- cmp r0, 0xFF
- ble _08069AAE
- ldr r0, [r5, 0x38]
- cmp r0, 0xFF
- ble _08069AAE
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0x9
- ble _08069AAE
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0x9
- ble _08069AAE
- movs r7, 0x20
- ldrsh r0, [r5, r7]
- cmp r0, 0x9
- ble _08069AAE
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- cmp r0, 0x9
- ble _08069AAE
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- cmp r0, 0x9
- ble _08069AAE
- movs r7, 0x26
- ldrsh r0, [r5, r7]
- cmp r0, 0x9
- bgt _08069ABA
-_08069AAE:
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x37
- strb r1, [r0]
- adds r4, 0x1
-_08069ABA:
- adds r0, r5, 0
- adds r0, 0xA8
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069AD2
- cmp r4, 0xB
- bgt _08069AD2
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- strb r1, [r0]
- adds r4, 0x1
-_08069AD2:
- adds r0, r5, 0
- adds r0, 0xAC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069AEC
- cmp r4, 0xB
- bgt _08069AEC
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x6
- strb r1, [r0]
- adds r4, 0x1
-_08069AEC:
- adds r0, r5, 0
- adds r0, 0xB0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B06
- cmp r4, 0xB
- bgt _08069B06
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0xB
- strb r1, [r0]
- adds r4, 0x1
-_08069B06:
- adds r0, r5, 0
- adds r0, 0xBC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B20
- cmp r4, 0xB
- bgt _08069B20
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x13
- strb r1, [r0]
- adds r4, 0x1
-_08069B20:
- adds r0, r5, 0
- adds r0, 0xC0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B3A
- cmp r4, 0xB
- bgt _08069B3A
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x1B
- strb r1, [r0]
- adds r4, 0x1
-_08069B3A:
- adds r0, r5, 0
- adds r0, 0xC4
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B54
- cmp r4, 0xB
- bgt _08069B54
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x28
- strb r1, [r0]
- adds r4, 0x1
-_08069B54:
- adds r0, r5, 0
- adds r0, 0xC8
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B6E
- cmp r4, 0xB
- bgt _08069B6E
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x37
- strb r1, [r0]
- adds r4, 0x1
-_08069B6E:
- adds r0, r5, 0
- adds r0, 0xD0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069B88
- cmp r4, 0xB
- bgt _08069B88
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x3B
- strb r1, [r0]
- adds r4, 0x1
-_08069B88:
- adds r0, r5, 0
- adds r0, 0xDC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BA2
- cmp r4, 0xB
- bgt _08069BA2
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x3E
- strb r1, [r0]
- adds r4, 0x1
-_08069BA2:
- adds r0, r5, 0
- adds r0, 0xE0
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BBC
- cmp r4, 0xB
- bgt _08069BBC
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x43
- strb r1, [r0]
- adds r4, 0x1
-_08069BBC:
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BD6
- cmp r4, 0xB
- bgt _08069BD6
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x46
- strb r1, [r0]
- adds r4, 0x1
-_08069BD6:
- adds r0, r5, 0
- adds r0, 0xE8
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069BF0
- cmp r4, 0xB
- bgt _08069BF0
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x4A
- strb r1, [r0]
- adds r4, 0x1
-_08069BF0:
- adds r0, r5, 0
- adds r0, 0xEC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08069C0A
- cmp r4, 0xB
- bgt _08069C0A
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- adds r1, 0x4E
- strb r1, [r0]
- adds r4, 0x1
-_08069C0A:
- movs r1, 0x89
- lsls r1, 1
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C26
- cmp r4, 0xB
- bgt _08069C26
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x50
- strb r1, [r0]
- adds r4, 0x1
-_08069C26:
- adds r0, r5, 0
- adds r0, 0xF0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C40
- cmp r4, 0xB
- bgt _08069C40
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x51
- strb r1, [r0]
- adds r4, 0x1
-_08069C40:
- adds r0, r5, 0
- adds r0, 0xF1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C5A
- cmp r4, 0xB
- bgt _08069C5A
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x52
- strb r1, [r0]
- adds r4, 0x1
-_08069C5A:
- adds r0, r5, 0
- adds r0, 0xF4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C74
- cmp r4, 0xB
- bgt _08069C74
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x53
- strb r1, [r0]
- adds r4, 0x1
-_08069C74:
- adds r0, r5, 0
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069C8E
- cmp r4, 0xB
- bgt _08069C8E
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x54
- strb r1, [r0]
- adds r4, 0x1
-_08069C8E:
- mov r0, r8
- bl sub_8071494
- lsls r0, 24
- cmp r0, 0
- beq _08069CAA
- cmp r4, 0xB
- bgt _08069CAA
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x55
- strb r1, [r0]
- adds r4, 0x1
-_08069CAA:
- adds r0, r5, 0
- adds r0, 0xFD
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069CC4
- cmp r4, 0xB
- bgt _08069CC4
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x56
- strb r1, [r0]
- adds r4, 0x1
-_08069CC4:
- mov r0, r8
- movs r1, 0
- bl sub_8070828
- cmp r0, 0x1
- ble _08069CE0
- cmp r4, 0xB
- bgt _08069CE0
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x57
- strb r1, [r0]
- adds r4, 0x1
-_08069CE0:
- adds r0, r5, 0
- adds r0, 0xF2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069CFA
- cmp r4, 0xB
- bgt _08069D0E
- adds r0, r6, 0
- adds r0, 0x58
- adds r0, r4
- movs r1, 0x58
- strb r1, [r0]
- adds r4, 0x1
-_08069CFA:
- cmp r4, 0xB
- bgt _08069D0E
- adds r1, r6, 0
- adds r1, 0x58
- movs r2, 0
-_08069D04:
- adds r0, r1, r4
- strb r2, [r0]
- adds r4, 0x1
- cmp r4, 0xB
- ble _08069D04
-_08069D0E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8069844
-
- thumb_func_start sub_8069D18
-sub_8069D18:
- push {r4,r5,lr}
- ldr r3, [r1, 0x70]
- ldr r4, _08069D48
- adds r3, 0x46
- ldrb r2, [r3]
- lsls r2, 2
- adds r2, r4
- ldrh r2, [r2]
- ldrh r5, [r1, 0x4]
- adds r2, r5
- strh r2, [r0]
- ldrb r2, [r3]
- lsls r2, 2
- adds r2, r4
- ldrh r2, [r2, 0x2]
- ldrh r1, [r1, 0x6]
- adds r2, r1
- strh r2, [r0, 0x2]
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08069D48: .4byte gUnknown_80F4448
- thumb_func_end sub_8069D18
-
- thumb_func_start sub_8069D4C
-sub_8069D4C:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- ldr r4, [r1, 0x70]
- ldrh r0, [r4, 0x2]
- strh r0, [r5]
- ldr r0, [r1, 0x4]
- str r0, [r5, 0x4]
- adds r0, r4, 0
- adds r0, 0xF7
- ldrb r0, [r0]
- cmp r0, 0
- beq _08069D6A
- ldrh r0, [r4, 0x12]
- b _08069D6C
-_08069D6A:
- ldrh r0, [r4, 0x10]
-_08069D6C:
- strh r0, [r5, 0x8]
- ldrb r0, [r4, 0x9]
- strh r0, [r5, 0xE]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- ldrb r2, [r4, 0x9]
- mov r0, sp
- bl sub_808E010
- ldr r0, [sp]
- str r0, [r5, 0x10]
- ldrb r0, [r4, 0x14]
- strb r0, [r5, 0xA]
- ldrb r0, [r4, 0x15]
- strb r0, [r5, 0xB]
- ldrb r0, [r4, 0x16]
- strb r0, [r5, 0xC]
- ldrb r0, [r4, 0x17]
- strb r0, [r5, 0xD]
- ldr r0, [r4, 0x60]
- str r0, [r5, 0x1C]
- adds r1, r5, 0
- adds r1, 0x20
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r4, r2
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- movs r3, 0x9E
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- str r0, [r5, 0x14]
- movs r6, 0xA0
- lsls r6, 1
- adds r0, r4, r6
- ldr r0, [r0]
- str r0, [r5, 0x18]
- ldr r0, [r4, 0x3C]
- str r0, [r5, 0x44]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8069D4C
-
- thumb_func_start sub_8069DCC
-sub_8069DCC:
- push {r4,lr}
- ldr r1, [r0, 0x70]
- mov r12, r1
- ldr r3, _08069E08
- mov r4, r12
- adds r4, 0x46
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r3
- ldrh r1, [r1]
- ldrh r2, [r0, 0x4]
- adds r1, r2
- movs r2, 0xB6
- lsls r2, 1
- add r2, r12
- strh r1, [r2]
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r3
- ldrh r1, [r1, 0x2]
- ldrh r0, [r0, 0x6]
- adds r1, r0
- movs r0, 0xB7
- lsls r0, 1
- add r0, r12
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08069E08: .4byte gUnknown_80F4448
- thumb_func_end sub_8069DCC
-
- thumb_func_start sub_8069E0C
-sub_8069E0C:
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, [r4, 0x70]
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08069E44
- adds r0, r4, 0
- bl sub_807E580
- ldr r1, _08069E40
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x5C
- movs r2, 0
- strb r1, [r0]
- adds r0, 0x1
- strb r2, [r0]
- adds r6, r5, 0
- adds r6, 0x5E
- b _08069E62
- .align 2, 0
-_08069E40: .4byte gUnknown_80F520C
-_08069E44:
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0x5C
- adds r6, r5, 0
- adds r6, 0x5E
-_08069E4E:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- adds r1, r4, 0
- bl sub_808DC68
- adds r1, r7, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x1
- ble _08069E4E
-_08069E62:
- movs r4, 0
-_08069E64:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- adds r1, r4, 0
- bl sub_808DC84
- adds r1, r6, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x1
- ble _08069E64
- ldr r0, _08069E88
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xC]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08069E88: .4byte gUnknown_203B418
- thumb_func_end sub_8069E0C
-
- thumb_func_start sub_8069E8C
-sub_8069E8C:
- push {r4-r7,lr}
- ldr r3, _08069ED8
- ldr r2, [r3]
- ldrb r0, [r2, 0xC]
- cmp r0, 0
- beq _08069F44
- movs r1, 0
- strb r1, [r2, 0xC]
- ldr r0, [r3]
- ldr r2, _08069EDC
- adds r0, r2
- strb r1, [r0]
- movs r7, 0
- adds r5, r3, 0
- movs r6, 0x1
-_08069EAA:
- ldr r0, [r5]
- lsls r1, r7, 2
- ldr r2, _08069EE0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08069F3E
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08069EE8
- ldr r0, [r5]
- ldr r1, _08069EE4
- b _08069F16
- .align 2, 0
-_08069ED8: .4byte gUnknown_203B418
-_08069EDC: .4byte 0x0000e279
-_08069EE0: .4byte 0x000135cc
-_08069EE4: .4byte 0x0000e273
-_08069EE8:
- adds r0, r4, 0
- movs r1, 0x1C
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08069F04
- ldr r0, [r5]
- ldr r2, _08069F00
- adds r0, r2
- b _08069F18
- .align 2, 0
-_08069F00: .4byte 0x0000e271
-_08069F04:
- adds r0, r4, 0
- movs r1, 0x31
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08069F1A
- ldr r0, [r5]
- ldr r1, _08069F4C
-_08069F16:
- adds r0, r1
-_08069F18:
- strb r6, [r0]
-_08069F1A:
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _08069F36
- adds r0, r4, 0
- movs r1, 0x2D
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08069F3E
-_08069F36:
- ldr r0, [r5]
- ldr r2, _08069F50
- adds r0, r2
- strb r6, [r0]
-_08069F3E:
- adds r7, 0x1
- cmp r7, 0x13
- ble _08069EAA
-_08069F44:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08069F4C: .4byte 0x0000e270
-_08069F50: .4byte 0x0000e279
- thumb_func_end sub_8069E8C
-
- thumb_func_start sub_8069F54
-sub_8069F54:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- asrs r0, r1, 16
- ldr r2, _08069F88
- adds r1, r2
- lsrs r1, 16
- cmp r1, 0x3
- bhi _08069F94
- adds r0, r5, 0
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08069F90
- ldr r4, _08069F8C
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- b _08069F94
- .align 2, 0
-_08069F88: .4byte 0xfe880000
-_08069F8C: .4byte gUnknown_80F520C
-_08069F90:
- movs r0, 0xBC
- lsls r0, 1
-_08069F94:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8069F54
-
- thumb_func_start sub_8069F9C
-sub_8069F9C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- adds r6, r1, 0
- mov r9, r2
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08069FB8
- b _0806A0FA
-_08069FB8:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08069FC6
- b _0806A0FA
-_08069FC6:
- cmp r8, r6
- bne _08069FCC
- b _0806A0FA
-_08069FCC:
- mov r0, r8
- ldr r2, [r0, 0x70]
- adds r3, r2, 0
- ldr r7, [r6, 0x70]
- movs r4, 0x1
- negs r4, r4
- adds r0, r7, 0
- adds r0, 0x5E
- ldrb r0, [r0]
- cmp r0, 0x28
- bne _08069FE4
- movs r4, 0
-_08069FE4:
- adds r0, r7, 0
- adds r0, 0x5F
- ldrb r0, [r0]
- cmp r0, 0x28
- bne _08069FF0
- movs r4, 0x1
-_08069FF0:
- cmp r4, 0
- blt _0806A068
- movs r1, 0
- adds r0, r2, 0
- adds r0, 0x5E
- ldrb r2, [r0]
- cmp r2, 0
- beq _0806A006
- mov r0, sp
- strb r2, [r0]
- movs r1, 0x1
-_0806A006:
- adds r0, r3, 0
- adds r0, 0x5F
- ldrb r2, [r0]
- cmp r2, 0
- beq _0806A018
- mov r3, sp
- adds r0, r3, r1
- strb r2, [r0]
- adds r1, 0x1
-_0806A018:
- cmp r1, 0
- beq _0806A068
- cmp r1, 0x1
- bne _0806A024
- movs r1, 0
- b _0806A030
-_0806A024:
- adds r0, r1, 0
- bl sub_8084100
- adds r1, r0, 0
- cmp r1, 0
- blt _0806A068
-_0806A030:
- adds r0, r7, 0
- adds r0, 0x5E
- adds r0, r4
- add r1, sp
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r0, _0806A108
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xC]
- ldr r0, _0806A10C
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0806A110
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
- adds r0, r6, 0
- bl sub_8042900
- mov r0, r8
- adds r1, r6, 0
- bl sub_806ABAC
-_0806A068:
- movs r0, 0xAD
- lsls r0, 1
- adds r1, r7, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0806A0FA
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0x3B
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806A0FA
- mov r0, r8
- mov r1, r9
- bl sub_8071A1C
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r9
- ldrh r0, [r1, 0x2]
- cmp r0, 0x1F
- bne _0806A0AA
- mov r0, r8
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0806A114
- adds r0, r1
- ldrb r5, [r0]
-_0806A0AA:
- cmp r5, 0
- beq _0806A0FA
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8071858
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0806A0FA
- adds r4, r7, 0
- adds r4, 0x5C
- strb r5, [r4]
- adds r1, r7, 0
- adds r1, 0x5D
- strb r0, [r1]
- adds r1, 0x99
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0806A10C
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldrb r0, [r4]
- bl sub_8092334
- adds r1, r0, 0
- ldr r0, _0806A118
- bl strcpy
- ldr r0, _0806A11C
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
- adds r0, r6, 0
- bl sub_8042968
-_0806A0FA:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A108: .4byte gUnknown_203B418
-_0806A10C: .4byte gUnknown_202DF98
-_0806A110: .4byte gUnknown_80FCC7C
-_0806A114: .4byte gUnknown_80F51E4
-_0806A118: .4byte gUnknown_202DE58
-_0806A11C: .4byte gUnknown_80FCCAC
- thumb_func_end sub_8069F9C
-
- thumb_func_start sub_806A120
-sub_806A120:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A19C
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A19C
- cmp r7, r6
- beq _0806A19C
- ldr r5, [r6, 0x70]
- adds r0, r5, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xC
- bne _0806A19C
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8071A1C
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092364
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0806A19C
- adds r0, r5, 0
- adds r0, 0x5C
- movs r1, 0
- strb r4, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r0, r6, 0
- bl sub_8041BBC
- ldr r0, _0806A1A4
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- bl sub_8092334
- adds r1, r0, 0
- ldr r0, _0806A1A8
- bl strcpy
- ldr r0, _0806A1AC
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80522F4
-_0806A19C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A1A4: .4byte gUnknown_202DF98
-_0806A1A8: .4byte gUnknown_202DE58
-_0806A1AC: .4byte gUnknown_80FDCC8
- thumb_func_end sub_806A120
-
- thumb_func_start sub_806A1B0
-sub_806A1B0:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A1DE
- adds r0, r4, 0
- movs r1, 0x2A
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806A1DE
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8076090
-_0806A1DE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806A1B0
-
- thumb_func_start sub_806A1E8
-sub_806A1E8:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A234
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806A210
- ldr r0, [r4, 0x70]
- movs r1, 0
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0806A20E
- movs r1, 0x1
-_0806A20E:
- adds r5, r1, 0
-_0806A210:
- ldr r0, _0806A23C
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0806A21C
- movs r5, 0
-_0806A21C:
- cmp r5, 0
- beq _0806A234
- adds r0, r4, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- bne _0806A234
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806A2BC
-_0806A234:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A23C: .4byte gUnknown_203B46C
- thumb_func_end sub_806A1E8
-
- thumb_func_start sub_806A240
-sub_806A240:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A2B4
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806A26A
- ldr r0, [r4, 0x70]
- movs r1, 0
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0806A268
- movs r1, 0x1
-_0806A268:
- adds r6, r1, 0
-_0806A26A:
- cmp r6, 0
- beq _0806A284
- adds r0, r4, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- bne _0806A284
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806A2BC
- b _0806A2B4
-_0806A284:
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806A29C
- ldr r0, [r5, 0x70]
- movs r1, 0
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0806A29A
- movs r1, 0x1
-_0806A29A:
- adds r6, r1, 0
-_0806A29C:
- cmp r6, 0
- beq _0806A2B4
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- bne _0806A2B4
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_806A2BC
-_0806A2B4:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806A240
-
- thumb_func_start sub_806A2BC
-sub_806A2BC:
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A328
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806A328
- ldr r5, _0806A2F4
- ldr r0, [r5]
- ldr r1, _0806A2F8
- adds r0, r1
- ldr r0, [r0]
- cmp r0, r4
- beq _0806A328
- adds r7, r4, 0x4
- cmp r6, 0
- beq _0806A30C
- movs r0, 0x1
- bl sub_804178C
- b _0806A302
- .align 2, 0
-_0806A2F4: .4byte gUnknown_203B418
-_0806A2F8: .4byte 0x000181f8
-_0806A2FC:
- movs r0, 0x34
- bl sub_803E46C
-_0806A302:
- ldr r0, [r5]
- movs r1, 0x12
- ldrsh r0, [r0, r1]
- cmp r0, 0x3B
- ble _0806A2FC
-_0806A30C:
- movs r0, 0x4
- movs r1, 0x44
- bl sub_803E708
- adds r0, r4, 0
- bl sub_803F508
- adds r0, r7, 0
- bl sub_804AC20
- ldr r0, _0806A330
- ldr r1, [r0]
- movs r0, 0
- strh r0, [r1, 0x12]
-_0806A328:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A330: .4byte gUnknown_203B418
- thumb_func_end sub_806A2BC
-
- thumb_func_start nullsub_95
-nullsub_95:
- bx lr
- thumb_func_end nullsub_95
-
- thumb_func_start sub_806A338
-sub_806A338:
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _0806A378
-_0806A33E:
- ldr r0, [r6]
- lsls r1, r5, 2
- ldr r2, _0806A37C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A384
- ldr r0, [r4, 0x70]
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0806A384
- ldr r1, [r6]
- ldr r2, _0806A380
- adds r0, r1, r2
- str r4, [r0]
- ldr r0, [r4, 0x70]
- adds r2, 0xC
- adds r1, r2
- adds r0, 0x98
- ldr r0, [r0]
- str r0, [r1]
- b _0806A38A
- .align 2, 0
-_0806A378: .4byte gUnknown_203B418
-_0806A37C: .4byte 0x000135cc
-_0806A380: .4byte 0x00017b30
-_0806A384:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806A33E
-_0806A38A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806A338
-
- thumb_func_start sub_806A390
-sub_806A390:
- push {r4-r7,lr}
- ldr r0, [r0, 0x70]
- movs r7, 0
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r0, r1
- adds r5, r4, 0
- movs r6, 0x3
-_0806A3A0:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806A3C2
- ldrb r1, [r4, 0x1]
- movs r0, 0xF7
- ands r0, r1
- movs r1, 0xEF
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8092BF4
- strb r0, [r4, 0x4]
-_0806A3C2:
- adds r4, 0x8
- adds r5, 0x8
- subs r6, 0x1
- cmp r6, 0
- bge _0806A3A0
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806A390
-
- thumb_func_start sub_806A3D4
-sub_806A3D4:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- adds r6, r2, 0
- lsls r1, 16
- asrs r5, r1, 16
- lsls r3, 24
- cmp r3, 0
- beq _0806A404
- ldr r4, _0806A400
- adds r0, r5, 0
- movs r1, 0xA
- bl __divsi3
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- adds r1, r4, 0
- bl sprintf
- b _0806A41C
- .align 2, 0
-_0806A400: .4byte gUnknown_8106EA8
-_0806A404:
- ldr r4, _0806A450
- adds r0, r5, 0
- movs r1, 0xA
- bl __divsi3
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- mov r0, sp
- adds r1, r4, 0
- bl sprintf
-_0806A41C:
- ldr r1, _0806A454
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- ldr r1, [r4, 0x4]
- asrs r0, 12
- adds r0, r1
- lsls r1, r6, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r4, 0
- bl CloseFile
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A450: .4byte gUnknown_8106EB0
-_0806A454: .4byte gUnknown_83B0000
- thumb_func_end sub_806A3D4
-
- thumb_func_start sub_806A458
-sub_806A458:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- movs r0, 0
- mov r9, r0
- ldr r0, [r6, 0x70]
- ldrb r0, [r0, 0x6]
- mov r10, r0
- adds r0, r6, 0
- bl sub_80696A8
- cmp r0, 0
- bne _0806A47C
- movs r0, 0
- b _0806A4CC
-_0806A47C:
- movs r7, 0x1
- negs r7, r7
-_0806A480:
- movs r5, 0x1
- negs r5, r5
- adds r1, r7, 0x1
- mov r8, r1
-_0806A488:
- movs r2, 0x4
- ldrsh r0, [r6, r2]
- adds r0, r5
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- adds r1, r7
- bl sub_8049590
- adds r4, r0, 0
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0806A4B6
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806A4B6
- ldr r0, [r4, 0x10]
- ldr r0, [r0, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, r10
- beq _0806A4B6
- movs r0, 0x1
- add r9, r0
-_0806A4B6:
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806A488
- mov r7, r8
- cmp r7, 0x1
- ble _0806A480
- movs r0, 0
- mov r1, r9
- cmp r1, 0x1
- ble _0806A4CC
- movs r0, 0x1
-_0806A4CC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806A458
-
- thumb_func_start sub_806A4DC
-sub_806A4DC:
- push {r4,lr}
- sub sp, 0x64
- adds r4, r0, 0
- ldr r1, _0806A530
- ldr r0, [sp, 0x60]
- ands r0, r1
- ldr r1, _0806A534
- ands r0, r1
- movs r1, 0x80
- lsls r1, 1
- orrs r0, r1
- str r0, [sp, 0x60]
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- add r0, sp, 0x60
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- movs r2, 0
- movs r3, 0
- bl sub_808CFD0
- add r1, sp, 0x8
- ldrh r0, [r4, 0x2]
- strh r0, [r1, 0x8]
- ldrb r0, [r4, 0x9]
- strb r0, [r1, 0x3]
- ldrh r0, [r4, 0xC]
- strh r0, [r1, 0x14]
- ldrb r0, [r4, 0x14]
- strb r0, [r1, 0x18]
- ldrb r0, [r4, 0x16]
- strb r0, [r1, 0x1A]
- adds r0, r1, 0
- bl sub_808F700
- add sp, 0x64
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0806A530: .4byte 0xffffff00
-_0806A534: .4byte 0xffff00ff
- thumb_func_end sub_806A4DC
-
- thumb_func_start sub_806A538
-sub_806A538:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _0806A554
- cmp r1, r0
- beq _0806A550
- ldr r0, _0806A558
- cmp r1, r0
- beq _0806A550
- cmp r2, 0
- bge _0806A55C
-_0806A550:
- movs r0, 0x1
- b _0806A55E
- .align 2, 0
-_0806A554: .4byte 0x000055aa
-_0806A558: .4byte 0x00005aa5
-_0806A55C:
- movs r0, 0
-_0806A55E:
- pop {r1}
- bx r1
- thumb_func_end sub_806A538
-
- thumb_func_start sub_806A564
-sub_806A564:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _0806A57C
- cmp r1, r0
- beq _0806A584
- ldr r0, _0806A580
- cmp r1, r0
- beq _0806A584
- movs r0, 0
- b _0806A586
- .align 2, 0
-_0806A57C: .4byte 0x000055aa
-_0806A580: .4byte 0x00005aa5
-_0806A584:
- movs r0, 0x1
-_0806A586:
- pop {r1}
- bx r1
- thumb_func_end sub_806A564
-
- thumb_func_start sub_806A58C
-sub_806A58C:
- push {lr}
- lsls r0, 16
- movs r1, 0xCE
- lsls r1, 17
- cmp r0, r1
- bls _0806A59C
- movs r0, 0
- b _0806A59E
-_0806A59C:
- movs r0, 0x1
-_0806A59E:
- pop {r1}
- bx r1
- thumb_func_end sub_806A58C
-
- thumb_func_start sub_806A5A4
-sub_806A5A4:
- push {lr}
- lsls r0, 16
- cmp r0, 0
- blt _0806A5B0
- movs r0, 0
- b _0806A5B2
-_0806A5B0:
- movs r0, 0x1
-_0806A5B2:
- pop {r1}
- bx r1
- thumb_func_end sub_806A5A4
-
- thumb_func_start sub_806A5B8
-sub_806A5B8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806A5CE
- b _0806A6D2
-_0806A5CE:
- adds r0, r6, 0
- bl sub_8045128
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x2
- bne _0806A664
- ldr r4, [r6, 0x70]
- ldr r1, _0806A640
- ldr r0, _0806A644
- ldr r0, [r0]
- ldr r2, _0806A648
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A650
- adds r0, r4, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A608
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_807A324
-_0806A608:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_808DB14
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _0806A6D2
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- ldr r0, _0806A64C
- cmp r1, r0
- beq _0806A6D2
- cmp r1, 0x92
- beq _0806A6D2
- adds r0, r4, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806A6D2
- adds r0, r6, 0
- adds r1, r6, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8076210
- b _0806A6D2
- .align 2, 0
-_0806A640: .4byte gUnknown_810ACC0
-_0806A644: .4byte gUnknown_203B418
-_0806A648: .4byte 0x00003a0e
-_0806A64C: .4byte 0x00000113
-_0806A650:
- adds r0, r4, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A6D2
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_807A290
- b _0806A6D2
-_0806A664:
- cmp r1, 0
- bne _0806A6D2
- ldr r7, [r6, 0x70]
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- beq _0806A6D2
- movs r0, 0x9E
- lsls r0, 1
- adds r4, r7, r0
- ldr r5, [r4]
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x5
- bl sub_80942C0
- ldr r0, [sp]
- str r0, [r4]
- movs r1, 0
- mov r8, r1
- adds r0, r5, 0
- bl sub_8094450
- cmp r0, 0x13
- ble _0806A6A4
- ldr r0, [r4]
- bl sub_8094450
- cmp r0, 0x13
- bgt _0806A6A4
- ldr r0, _0806A6E0
- ldr r0, [r0]
- mov r8, r0
-_0806A6A4:
- adds r0, r5, 0
- bl sub_8094450
- cmp r0, 0x9
- ble _0806A6C4
- movs r2, 0x9E
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0x9
- bgt _0806A6C4
- ldr r0, _0806A6E4
- ldr r0, [r0]
- mov r8, r0
-_0806A6C4:
- mov r0, r8
- cmp r0, 0
- beq _0806A6D2
- adds r0, r6, 0
- mov r1, r8
- bl sub_80522A8
-_0806A6D2:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A6E0: .4byte gUnknown_80FD594
-_0806A6E4: .4byte gUnknown_80FD5B8
- thumb_func_end sub_806A5B8
-
- thumb_func_start sub_806A6E8
-sub_806A6E8:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- ldr r6, [r7, 0x70]
- adds r0, r6, 0
- adds r0, 0x64
- adds r1, r6, 0
- adds r1, 0x62
- ldrb r2, [r0]
- ldrb r1, [r1]
- cmp r2, r1
- beq _0806A77A
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _0806A764
- cmp r1, 0xA
- beq _0806A70E
- cmp r1, 0x2B
- bne _0806A72E
-_0806A70E:
- movs r0, 0x9E
- lsls r0, 1
- adds r5, r6, r0
- ldr r4, [r5]
- mov r0, sp
- movs r1, 0xA
- bl sub_80943A0
- ldr r2, [sp]
- add r0, sp, 0x4
- adds r1, r4, 0
- bl sub_80942C0
- ldr r0, [sp, 0x4]
- str r0, [r5]
- b _0806A744
-_0806A72E:
- cmp r1, 0x1B
- bne _0806A744
- add r0, sp, 0x8
- movs r1, 0
- bl sub_80943A0
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r6, r0
- ldr r0, [sp, 0x8]
- str r0, [r1]
-_0806A744:
- ldr r0, _0806A75C
- ldr r0, [r0]
- ldr r1, _0806A760
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806A776
- adds r0, r7, 0
- bl sub_80418D4
- b _0806A776
- .align 2, 0
-_0806A75C: .4byte gUnknown_203B418
-_0806A760: .4byte 0x00000676
-_0806A764:
- cmp r1, 0x11
- beq _0806A76C
- cmp r2, 0x11
- bne _0806A776
-_0806A76C:
- movs r0, 0x1
- bl sub_803F580
- bl sub_8040A84
-_0806A776:
- bl sub_807AA30
-_0806A77A:
- adds r0, r6, 0
- adds r0, 0x60
- ldrb r0, [r0]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0806A792
- adds r0, r6, 0
- adds r0, 0x62
- ldrb r1, [r0]
- adds r0, 0x2
- b _0806A796
-_0806A792:
- adds r0, r6, 0
- adds r0, 0x64
-_0806A796:
- strb r1, [r0]
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806A6E8
-
- thumb_func_start sub_806A7A0
-sub_806A7A0:
- push {r4,r5,lr}
- movs r5, 0
-_0806A7A4:
- ldr r0, _0806A7E0
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806A7E4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A7D2
- ldr r2, [r4, 0x70]
- movs r1, 0xC
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- ble _0806A7D2
- adds r1, r0, 0
- subs r1, 0x1
- adds r0, r2, 0
- bl sub_806A7E8
-_0806A7D2:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806A7A4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A7E0: .4byte gUnknown_203B418
-_0806A7E4: .4byte 0x0001357c
- thumb_func_end sub_806A7A0
-
- thumb_func_start sub_806A7E8
-sub_806A7E8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x30
- adds r5, r0, 0
- mov r0, sp
- bl sub_808EBA8
- mov r9, r0
- add r4, sp, 0x18
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_808EBA8
- adds r6, r0, 0
- ldr r0, _0806A828
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- movs r2, 0x1
- mov r8, r4
-_0806A818:
- movs r3, 0
- movs r5, 0
- movs r1, 0
- adds r4, r2, 0x1
- cmp r3, r9
- bge _0806A83E
- mov r0, sp
- b _0806A836
- .align 2, 0
-_0806A828: .4byte gUnknown_202DF98
-_0806A82C:
- adds r1, 0x1
- cmp r1, r9
- bge _0806A83E
- mov r7, sp
- adds r0, r7, r1
-_0806A836:
- ldrb r0, [r0]
- cmp r0, r2
- bne _0806A82C
- movs r3, 0x1
-_0806A83E:
- movs r1, 0
- cmp r1, r6
- bge _0806A85C
- mov r7, r8
- ldrb r0, [r7]
- b _0806A856
-_0806A84A:
- adds r1, 0x1
- cmp r1, r6
- bge _0806A85C
- mov r7, r8
- adds r0, r7, r1
- ldrb r0, [r0]
-_0806A856:
- cmp r0, r2
- bne _0806A84A
- movs r5, 0x1
-_0806A85C:
- cmp r3, r5
- beq _0806A87A
- lsls r0, r2, 24
- lsrs r0, 24
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r0, _0806A890
- bl strcpy
- ldr r0, _0806A894
- ldr r1, [r0]
- movs r0, 0
- bl sub_805239C
-_0806A87A:
- adds r2, r4, 0
- cmp r2, 0x17
- ble _0806A818
- add sp, 0x30
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A890: .4byte gUnknown_202DE58
-_0806A894: .4byte gUnknown_80FEAC4
- thumb_func_end sub_806A7E8
-
- thumb_func_start sub_806A898
-sub_806A898:
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r1, r2, 24
- ldr r5, [r4, 0x70]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0806A8C2
- ldrh r1, [r4, 0x4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r5, r2
- strh r1, [r0]
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- adds r2, 0x2
- adds r1, r5, r2
- strh r0, [r1]
- b _0806A8C8
-_0806A8C2:
- adds r0, r4, 0
- bl sub_807ADB8
-_0806A8C8:
- movs r0, 0xB6
- lsls r0, 1
- adds r6, r5, r0
- ldr r0, [r6]
- cmp r0, 0
- beq _0806A90E
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _0806A8EE
- adds r0, r4, 0
- bl sub_8070CD0
- lsls r0, 24
- cmp r0, 0
- bne _0806A90E
-_0806A8EE:
- adds r0, r4, 0x4
- adds r1, r6, 0
- bl sub_80983D8
- adds r2, r0, 0
- movs r1, 0x7
- ands r0, r1
- adds r1, r5, 0
- adds r1, 0x46
- strb r0, [r1]
- cmp r7, 0
- beq _0806A90E
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_806CE68
-_0806A90E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806A898
-
- thumb_func_start sub_806A914
-sub_806A914:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r5, 0
-_0806A92A:
- ldr r0, _0806A96C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806A970
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A95C
- ldr r0, [r4, 0x70]
- cmp r7, 0
- beq _0806A952
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806A95C
-_0806A952:
- adds r0, r4, 0
- mov r1, r8
- adds r2, r6, 0
- bl sub_806A898
-_0806A95C:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806A92A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A96C: .4byte gUnknown_203B418
-_0806A970: .4byte 0x000135cc
- thumb_func_end sub_806A914
-
- thumb_func_start sub_806A974
-sub_806A974:
- push {r4,r5,lr}
- movs r5, 0
-_0806A978:
- ldr r0, _0806A9AC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806A9B0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806A99E
- ldr r0, [r4, 0x70]
- adds r0, 0x46
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_806CE68
-_0806A99E:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806A978
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806A9AC: .4byte gUnknown_203B418
-_0806A9B0: .4byte 0x000135cc
- thumb_func_end sub_806A974
-
- thumb_func_start sub_806A9B4
-sub_806A9B4:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806AA02
- ldr r0, [r4, 0x70]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r1, r5, 0
- bl sub_80935B8
- cmp r0, 0
- bne _0806A9E0
- ldr r0, _0806A9DC
- b _0806A9E6
- .align 2, 0
-_0806A9DC: .4byte gUnknown_81002FC
-_0806A9E0:
- cmp r0, 0x1
- bne _0806A9F4
- ldr r0, _0806A9F0
-_0806A9E6:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _0806AA02
- .align 2, 0
-_0806A9F0: .4byte gUnknown_810035C
-_0806A9F4:
- cmp r0, 0x2
- bne _0806AA02
- ldr r0, _0806AA08
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_0806AA02:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AA08: .4byte gUnknown_81003BC
- thumb_func_end sub_806A9B4
-
- thumb_func_start sub_806AA0C
-sub_806AA0C:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r4, 0
- bl sub_80981DC
- lsls r0, 24
- cmp r0, 0
- beq _0806AA56
- ldr r0, _0806AA5C
- ldr r0, [r0]
- ldr r1, _0806AA60
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806AA40
- adds r0, r4, 0
- bl sub_808E770
- lsls r0, 16
- movs r1, 0xCF
- lsls r1, 17
- cmp r0, r1
- beq _0806AA56
-_0806AA40:
- cmp r4, 0x97
- bne _0806AA68
- ldr r0, _0806AA5C
- ldr r0, [r0]
- ldr r1, _0806AA64
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806AA56
- cmp r5, 0
- bne _0806AA68
-_0806AA56:
- movs r0, 0
- b _0806AA6A
- .align 2, 0
-_0806AA5C: .4byte gUnknown_203B418
-_0806AA60: .4byte 0x000037fd
-_0806AA64: .4byte 0x000037ff
-_0806AA68:
- movs r0, 0x1
-_0806AA6A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806AA0C
-
- thumb_func_start sub_806AA70
-sub_806AA70:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r0, _0806AAB4
- mov r8, r0
-_0806AA7C:
- mov r1, r8
- ldr r0, [r1]
- lsls r1, r7, 2
- ldr r2, _0806AAB8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806AB12
- ldr r0, [r4, 0x70]
- ldrb r2, [r0, 0xA]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0806AAC4
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x11]
- cmp r0, 0x1
- bne _0806AABC
- adds r0, r4, 0
- bl sub_8042B20
- b _0806AB0A
- .align 2, 0
-_0806AAB4: .4byte gUnknown_203B418
-_0806AAB8: .4byte 0x0001357c
-_0806AABC:
- adds r0, r4, 0
- bl sub_8042B0C
- b _0806AB0A
-_0806AAC4:
- cmp r2, 0
- blt _0806AB12
- movs r6, 0
- ldr r1, _0806AB24
- movs r0, 0x64
- muls r0, r2
- ldr r2, _0806AB28
- adds r0, r2
- ldr r1, [r1]
- adds r5, r1, r0
- mov r1, r8
- ldr r0, [r1]
- ldrb r0, [r0, 0x11]
- cmp r0, 0
- bne _0806AB04
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- bl sub_806A564
- lsls r0, 24
- cmp r0, 0
- bne _0806AB04
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _0806AB00
- movs r6, 0x1
-_0806AB00:
- cmp r6, 0
- beq _0806AB12
-_0806AB04:
- adds r0, r4, 0
- bl sub_8042B0C
-_0806AB0A:
- adds r1, r4, 0
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
-_0806AB12:
- adds r7, 0x1
- cmp r7, 0x3
- ble _0806AA7C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AB24: .4byte gUnknown_203B45C
-_0806AB28: .4byte 0x00008df8
- thumb_func_end sub_806AA70
-
- thumb_func_start sub_806AB2C
-sub_806AB2C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0
- ldr r0, _0806ABA4
- mov r9, r0
-_0806AB3A:
- mov r1, r9
- ldr r0, [r1]
- lsls r1, r4, 2
- ldr r2, _0806ABA8
- adds r0, r2
- adds r0, r1
- ldr r7, [r0]
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- adds r4, 0x1
- mov r8, r4
- cmp r0, 0
- beq _0806AB92
- ldr r5, [r7, 0x70]
- movs r6, 0
-_0806AB5C:
- mov r1, r9
- ldr r0, [r1]
- lsls r1, r6, 2
- ldr r2, _0806ABA8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806AB8C
- cmp r7, r4
- beq _0806AB8C
- adds r0, r5, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- ldrh r1, [r4, 0x26]
- cmp r0, r1
- bne _0806AB8C
- adds r0, r5, 0
- adds r0, 0x80
- str r4, [r0]
-_0806AB8C:
- adds r6, 0x1
- cmp r6, 0x13
- ble _0806AB5C
-_0806AB92:
- mov r4, r8
- cmp r4, 0x13
- ble _0806AB3A
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806ABA4: .4byte gUnknown_203B418
-_0806ABA8: .4byte 0x000135cc
- thumb_func_end sub_806AB2C
-
- thumb_func_start sub_806ABAC
-sub_806ABAC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r5, [r4, 0x70]
- adds r0, r4, 0
- movs r1, 0x16
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806ABD4
- adds r0, r5, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0806ABD4
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A290
-_0806ABD4:
- adds r0, r4, 0
- movs r1, 0x40
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806ABF4
- adds r0, r5, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0806ABF4
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A400
-_0806ABF4:
- adds r0, r4, 0
- movs r1, 0x42
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806AC14
- adds r0, r5, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806AC14
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A290
-_0806AC14:
- adds r0, r4, 0
- movs r1, 0x29
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806AC34
- adds r0, r5, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _0806AC34
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A400
-_0806AC34:
- adds r0, r4, 0
- movs r1, 0x36
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0806AC50
- adds r0, r4, 0
- movs r1, 0x49
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806AC72
-_0806AC50:
- adds r0, r4, 0
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- bne _0806AC66
- adds r0, r5, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0806AC72
-_0806AC66:
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_807A124
-_0806AC72:
- adds r0, r4, 0
- movs r1, 0x41
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806AC92
- adds r0, r5, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806AC92
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A324
-_0806AC92:
- adds r0, r4, 0
- movs r1, 0x45
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806ACB8
- adds r0, r5, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806ACB8
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A290
-_0806ACB8:
- adds r0, r4, 0
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806ACE0
- adds r1, r5, 0
- adds r1, 0xF6
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xC
- bne _0806ACE0
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A4C8
-_0806ACE0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806ABAC
-
- thumb_func_start sub_806ACE8
-sub_806ACE8:
- push {r4,r5,lr}
- adds r4, r1, 0
- ldr r0, [r0, 0x70]
- mov r12, r0
- movs r5, 0xEF
- movs r2, 0x8C
- lsls r2, 1
- add r2, r12
- movs r3, 0x3
-_0806ACFA:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0806ACFA
- movs r2, 0x9C
- lsls r2, 1
- add r2, r12
- ldrb r0, [r2]
- movs r3, 0xEF
- ands r3, r0
- movs r5, 0
- strb r3, [r2]
- ldrh r1, [r4, 0x2]
- movs r0, 0xB0
- lsls r0, 1
- cmp r1, r0
- bne _0806AD2E
- movs r1, 0x10
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
- b _0806AD36
-_0806AD2E:
- ldrb r0, [r4]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4]
-_0806AD36:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_806ACE8
-
- thumb_func_start sub_806AD3C
-sub_806AD3C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0806AE1C
- add sp, r4
- ldr r0, _0806AE20
- ldr r0, [r0]
- ldr r1, _0806AE24
- adds r4, r0, r1
- mov r0, sp
- movs r1, 0
- bl sub_803D808
- str r0, [sp, 0x200]
- movs r7, 0
- cmp r7, r0
- bge _0806ADEC
- mov r6, sp
- adds r7, r0, 0
-_0806AD66:
- adds r0, r6, 0
- bl sub_808E9B8
- strh r0, [r4]
- adds r0, r6, 0
- bl sub_808E9E4
- strh r0, [r4, 0x2]
- adds r0, r4, 0x4
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0x2
- ldrsh r2, [r4, r3]
- bl sub_8072AC8
- ldrh r0, [r4, 0x4]
- cmp r0, 0
- bne _0806AD90
- movs r0, 0xB8
- lsls r0, 1
- strh r0, [r4, 0x4]
-_0806AD90:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_806C444
- strh r0, [r4, 0xC]
- movs r5, 0
- movs r3, 0xE
- adds r3, r4
- mov r9, r3
- movs r0, 0x10
- adds r0, r4
- mov r8, r0
- movs r1, 0x14
- adds r1, r4
- mov r10, r1
-_0806ADB2:
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- adds r2, r5, 0
- bl sub_806C488
- mov r2, r9
- adds r1, r2, r5
- strb r0, [r1]
- movs r3, 0
- ldrsh r0, [r4, r3]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- adds r2, r5, 0
- bl sub_806C4D4
- mov r3, r8
- adds r1, r3, r5
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806ADB2
- mov r4, r10
- adds r6, 0x8
- subs r7, 0x1
- cmp r7, 0
- bne _0806AD66
- ldr r7, [sp, 0x200]
-_0806ADEC:
- cmp r7, 0x3F
- bgt _0806ADFC
- movs r0, 0
-_0806ADF2:
- strh r0, [r4]
- adds r4, 0x14
- adds r7, 0x1
- cmp r7, 0x3F
- ble _0806ADF2
-_0806ADFC:
- movs r7, 0
- ldr r4, _0806AE28
- ldr r3, _0806AE20
- ldr r2, _0806AE2C
- movs r1, 0
-_0806AE06:
- ldr r0, [r3]
- adds r0, r2
- adds r0, r7
- strb r1, [r0]
- adds r7, 0x1
- cmp r7, r4
- ble _0806AE06
- movs r0, 0x1
- mov r10, r0
- movs r7, 0
- b _0806AE94
- .align 2, 0
-_0806AE1C: .4byte 0xfffffdfc
-_0806AE20: .4byte gUnknown_203B418
-_0806AE24: .4byte 0x00002f3c
-_0806AE28: .4byte 0x000001a7
-_0806AE2C: .4byte 0x0000363c
-_0806AE30:
- movs r2, 0x1
- negs r2, r2
- mov r8, r2
- mov r9, r8
- ldr r3, [sp, 0x200]
- cmp r3, 0
- ble _0806AE7A
- mov r5, sp
- adds r6, r3, 0
-_0806AE42:
- adds r0, r5, 0
- bl sub_808E9B8
- lsls r0, 16
- asrs r4, r0, 16
- ldr r1, _0806AECC
- ldr r0, [r1]
- ldr r2, _0806AED0
- adds r0, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806AE72
- adds r0, r5, 0
- bl sub_808E9E4
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_808DD18
- cmp r9, r0
- bge _0806AE72
- mov r9, r0
- mov r8, r4
-_0806AE72:
- adds r5, 0x8
- subs r6, 0x1
- cmp r6, 0
- bne _0806AE42
-_0806AE7A:
- mov r3, r8
- cmp r3, 0
- blt _0806AE9A
- ldr r1, _0806AECC
- ldr r0, [r1]
- ldr r2, _0806AED0
- adds r0, r2
- add r0, r8
- mov r3, r10
- strb r3, [r0]
- movs r0, 0x2
- add r10, r0
- adds r7, 0x1
-_0806AE94:
- ldr r1, [sp, 0x200]
- cmp r7, r1
- blt _0806AE30
-_0806AE9A:
- movs r7, 0
- ldr r5, _0806AECC
- ldr r4, _0806AED0
- movs r3, 0x1
- ldr r2, _0806AED4
-_0806AEA4:
- ldr r0, [r5]
- adds r0, r4
- adds r1, r0, r7
- ldrb r0, [r1]
- cmp r0, 0
- bne _0806AEB2
- strb r3, [r1]
-_0806AEB2:
- adds r7, 0x1
- cmp r7, r2
- ble _0806AEA4
- movs r3, 0x81
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806AECC: .4byte gUnknown_203B418
-_0806AED0: .4byte 0x0000363c
-_0806AED4: .4byte 0x000001a7
- thumb_func_end sub_806AD3C
-
- thumb_func_start sub_806AED8
-sub_806AED8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r10, r0
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- str r3, [sp, 0x10]
- ldr r0, [sp, 0x38]
- ldr r1, [sp, 0x3C]
- mov r8, r1
- lsls r0, 16
- asrs r7, r0, 16
- ldr r1, _0806AF04
- ldr r0, [r1]
- ldr r4, _0806AF08
- adds r6, r0, r4
- movs r3, 0
- b _0806AF7A
- .align 2, 0
-_0806AF04: .4byte gUnknown_203B418
-_0806AF08: .4byte 0x00002f3c
-_0806AF0C:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r7
- bne _0806AF6E
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- cmp r0, r8
- bne _0806AF6E
- movs r5, 0xE
- adds r5, r6
- mov r8, r5
- movs r0, 0x10
- adds r0, r6
- mov r9, r0
- mov r1, r10
- adds r1, 0x20
- str r1, [sp, 0x14]
- adds r5, r6, 0x4
- mov r4, r10
- movs r7, 0x3
-_0806AF34:
- ldrh r1, [r5]
- adds r0, r4, 0
- bl sub_8092AA8
- adds r5, 0x2
- adds r4, 0x8
- subs r7, 0x1
- cmp r7, 0
- bge _0806AF34
- ldrh r0, [r6, 0xC]
- ldr r2, [sp, 0x8]
- strh r0, [r2]
- movs r5, 0
- mov r3, r8
- mov r2, r9
-_0806AF52:
- ldr r0, [sp, 0xC]
- adds r1, r0, r5
- adds r0, r3, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [sp, 0x10]
- adds r1, r0, r5
- adds r0, r2, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806AF52
- b _0806B084
-_0806AF6E:
- adds r4, 0x14
- adds r3, 0x1
- cmp r3, 0x3F
- bgt _0806AF84
- ldr r0, [r1]
- adds r6, r0, r4
-_0806AF7A:
- ldrh r2, [r6]
- movs r5, 0
- ldrsh r0, [r6, r5]
- cmp r0, 0
- bne _0806AF0C
-_0806AF84:
- cmp r3, 0x40
- bne _0806AFE6
- mov r0, sp
- adds r1, r7, 0
- mov r2, r8
- bl sub_8072AC8
- mov r0, r10
- adds r0, 0x20
- str r0, [sp, 0x14]
- mov r5, sp
- mov r4, r10
- movs r6, 0x3
-_0806AF9E:
- ldrh r1, [r5]
- adds r0, r4, 0
- bl sub_8092AA8
- adds r5, 0x2
- adds r4, 0x8
- subs r6, 0x1
- cmp r6, 0
- bge _0806AF9E
- adds r0, r7, 0
- mov r1, r8
- bl sub_806C444
- ldr r1, [sp, 0x8]
- strh r0, [r1]
- movs r5, 0
-_0806AFBE:
- adds r0, r7, 0
- mov r1, r8
- adds r2, r5, 0
- bl sub_806C488
- ldr r2, [sp, 0xC]
- adds r1, r2, r5
- strb r0, [r1]
- adds r0, r7, 0
- mov r1, r8
- adds r2, r5, 0
- bl sub_806C4D4
- ldr r2, [sp, 0x10]
- adds r1, r2, r5
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806AFBE
- b _0806B084
-_0806AFE6:
- strh r7, [r6]
- mov r5, r8
- strh r5, [r6, 0x2]
- adds r4, r6, 0x4
- adds r0, r4, 0
- adds r1, r7, 0
- mov r2, r8
- bl sub_8072AC8
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_806C444
- strh r0, [r6, 0xC]
- movs r5, 0
- movs r0, 0xE
- adds r0, r6
- mov r8, r0
- movs r1, 0x10
- adds r1, r6
- mov r9, r1
- mov r2, r10
- adds r2, 0x20
- str r2, [sp, 0x14]
-_0806B01A:
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r2, r5, 0
- bl sub_806C488
- mov r2, r8
- adds r1, r2, r5
- strb r0, [r1]
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r2, r5, 0
- bl sub_806C4D4
- mov r2, r9
- adds r1, r2, r5
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806B01A
- mov r5, r10
- movs r7, 0x3
-_0806B04C:
- ldrh r1, [r4]
- adds r0, r5, 0
- bl sub_8092AA8
- adds r4, 0x2
- adds r5, 0x8
- subs r7, 0x1
- cmp r7, 0
- bge _0806B04C
- ldrh r0, [r6, 0xC]
- ldr r5, [sp, 0x8]
- strh r0, [r5]
- movs r5, 0
- mov r3, r8
- mov r2, r9
-_0806B06A:
- ldr r0, [sp, 0xC]
- adds r1, r0, r5
- adds r0, r3, r5
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, [sp, 0x10]
- adds r1, r0, r5
- adds r0, r2, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806B06A
-_0806B084:
- movs r0, 0
- ldr r1, [sp, 0x14]
- strb r0, [r1]
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806AED8
-
- thumb_func_start sub_806B09C
-sub_806B09C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- movs r7, 0
- movs r2, 0
- mov r6, r8
- adds r6, 0x2
- mov r9, r8
-_0806B0BA:
- movs r0, 0x64
- muls r0, r2
- ldr r1, _0806B0E4
- adds r0, r1
- ldr r3, _0806B0E8
- ldr r1, [r3]
- adds r5, r1, r0
- ldrh r1, [r5]
- movs r0, 0x1
- ands r0, r1
- adds r2, 0x1
- mov r10, r2
- cmp r0, 0
- beq _0806B124
- lsrs r0, r1, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806B124
- movs r4, 0
- b _0806B0EE
- .align 2, 0
-_0806B0E4: .4byte 0x00008df8
-_0806B0E8: .4byte gUnknown_203B45C
-_0806B0EC:
- adds r4, 0x1
-_0806B0EE:
- cmp r4, r7
- bge _0806B106
- lsls r0, r4, 3
- add r0, r8
- bl sub_808E9B8
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- cmp r0, r1
- bne _0806B0EC
-_0806B106:
- cmp r4, r7
- bne _0806B124
- movs r3, 0xE
- ldrsh r2, [r5, r3]
- mov r0, r9
- movs r1, 0
- bl sub_808E9D8
- movs r0, 0
- strh r0, [r6]
- strh r0, [r6, 0x2]
- adds r6, 0x8
- movs r0, 0x8
- add r9, r0
- adds r7, 0x1
-_0806B124:
- mov r2, r10
- cmp r2, 0x3
- ble _0806B0BA
- mov r0, r8
- adds r1, r7, 0
- bl sub_803D808
- adds r7, r0, 0
- ldr r1, [sp]
- cmp r1, 0
- beq _0806B150
- lsls r4, r7, 3
- add r4, r8
- ldr r2, _0806B164
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_808E9D8
- movs r0, 0
- strh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- adds r7, 0x1
-_0806B150:
- adds r0, r7, 0
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B164: .4byte 0x000001a5
- thumb_func_end sub_806B09C
-
- thumb_func_start sub_806B168
-sub_806B168:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- ldr r0, _0806B324
- ldr r1, [r0]
- ldr r2, _0806B328
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- ldr r4, _0806B32C
- adds r1, r4
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- str r0, [sp, 0x2C]
- movs r3, 0
- mov r4, sp
- adds r4, 0x1C
- str r4, [sp, 0x30]
- ldr r2, _0806B330
- ldr r1, _0806B334
-_0806B19C:
- ldr r0, [r2]
- adds r0, r1
- strh r3, [r0, 0xC]
- adds r1, 0x64
- adds r3, 0x1
- cmp r3, 0x3
- ble _0806B19C
- movs r4, 0
- movs r3, 0
- ldr r0, _0806B324
- mov r8, r0
- ldr r0, _0806B330
- ldr r7, [r0]
- movs r5, 0x1
- add r6, sp, 0xC
-_0806B1BA:
- movs r0, 0x64
- muls r0, r3
- ldr r1, _0806B334
- adds r0, r1
- adds r2, r7, r0
- ldrh r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0806B1DA
- lsrs r0, r1, 1
- ands r0, r5
- cmp r0, 0
- beq _0806B1DA
- stm r6!, {r2}
- adds r4, 0x1
-_0806B1DA:
- adds r3, 0x1
- cmp r3, 0x3
- ble _0806B1BA
- cmp r4, 0x3
- bgt _0806B1F4
- movs r1, 0
- lsls r0, r4, 2
- add r0, sp
- adds r0, 0xC
-_0806B1EC:
- stm r0!, {r1}
- adds r4, 0x1
- cmp r4, 0x3
- ble _0806B1EC
-_0806B1F4:
- movs r4, 0
- movs r6, 0
- add r2, sp, 0xC
- ldr r5, [sp, 0x30]
- movs r3, 0x3
-_0806B1FE:
- ldr r1, [r2]
- cmp r1, 0
- beq _0806B210
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _0806B210
- str r6, [r2]
- stm r5!, {r1}
- adds r4, 0x1
-_0806B210:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _0806B1FE
- mov r2, r8
- ldr r0, [r2]
- ldr r3, _0806B338
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806B24C
- movs r6, 0
- add r2, sp, 0xC
- lsls r0, r4, 2
- ldr r1, [sp, 0x30]
- adds r5, r0, r1
- movs r3, 0x3
-_0806B232:
- ldr r1, [r2]
- cmp r1, 0
- beq _0806B244
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _0806B244
- str r6, [r2]
- stm r5!, {r1}
- adds r4, 0x1
-_0806B244:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _0806B232
-_0806B24C:
- movs r5, 0
- add r2, sp, 0xC
- lsls r0, r4, 2
- ldr r3, [sp, 0x30]
- adds r0, r3
- movs r3, 0x3
-_0806B258:
- ldr r1, [r2]
- cmp r1, 0
- beq _0806B264
- str r5, [r2]
- stm r0!, {r1}
- adds r4, 0x1
-_0806B264:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _0806B258
- cmp r4, 0x3
- bgt _0806B280
- movs r1, 0
- lsls r0, r4, 2
- ldr r2, [sp, 0x30]
- adds r0, r2
-_0806B278:
- stm r0!, {r1}
- adds r4, 0x1
- cmp r4, 0x3
- ble _0806B278
-_0806B280:
- movs r3, 0
-_0806B282:
- lsls r0, r3, 2
- ldr r4, [sp, 0x30]
- adds r0, r4, r0
- ldr r0, [r0]
- mov r8, r0
- adds r0, r3, 0x1
- str r0, [sp, 0x34]
- mov r1, r8
- cmp r1, 0
- bne _0806B298
- b _0806B3E8
-_0806B298:
- movs r2, 0xE
- ldrsh r1, [r1, r2]
- ldr r0, _0806B33C
- cmp r1, r0
- beq _0806B2AE
- adds r0, 0x2
- cmp r1, r0
- beq _0806B2AE
- subs r0, 0x1
- cmp r1, r0
- bne _0806B2B6
-_0806B2AE:
- movs r0, 0xBC
- lsls r0, 1
- mov r4, r8
- strh r0, [r4, 0xE]
-_0806B2B6:
- ldr r0, _0806B340
- ldr r2, [r0]
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r3, 0x1
- str r3, [sp, 0x34]
- ldr r3, _0806B340
- cmp r0, 0x63
- beq _0806B350
- ldr r4, _0806B324
- mov r9, r4
- ldr r0, _0806B328
- mov r10, r0
- adds r5, r3, 0
-_0806B2D2:
- lsls r0, r2, 16
- asrs r7, r0, 16
- mov r4, r9
- ldr r1, [r4]
- mov r4, r10
- adds r0, r1, r4
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r0, r7, r0
- asrs r6, r2, 16
- ldr r2, _0806B32C
- adds r1, r2
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r1, r6, r1
- str r3, [sp, 0x38]
- bl sub_804954C
- adds r1, r0, 0
- ldrb r0, [r1, 0x9]
- ldr r3, [sp, 0x38]
- ldr r2, [sp, 0x2C]
- cmp r0, r2
- bne _0806B344
- mov r4, r8
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- bl sub_807034C
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp, 0x38]
- cmp r4, 0
- bne _0806B344
- mov r3, r8
- movs r1, 0xE
- ldrsh r0, [r3, r1]
- mov r3, r9
- ldr r2, [r3]
- mov r3, r10
- b _0806B3A8
- .align 2, 0
-_0806B324: .4byte gUnknown_203B418
-_0806B328: .4byte 0x0000e218
-_0806B32C: .4byte 0x0000e21a
-_0806B330: .4byte gUnknown_203B45C
-_0806B334: .4byte 0x00008df8
-_0806B338: .4byte 0x0000065c
-_0806B33C: .4byte 0x00000179
-_0806B340: .4byte gUnknown_80F4598
-_0806B344:
- adds r5, 0x4
- ldr r2, [r5]
- movs r4, 0
- ldrsh r0, [r5, r4]
- cmp r0, 0x63
- bne _0806B2D2
-_0806B350:
- movs r0, 0
- cmp r0, 0
- bne _0806B3E8
- ldr r2, [r3]
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0x63
- beq _0806B3E8
- ldr r3, _0806B3CC
- mov r9, r3
- ldr r5, _0806B3D0
-_0806B366:
- lsls r0, r2, 16
- asrs r7, r0, 16
- mov r4, r9
- ldr r1, [r4]
- ldr r3, _0806B3D4
- adds r0, r1, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r0, r7, r0
- asrs r6, r2, 16
- ldr r2, _0806B3D8
- adds r1, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r1, r6, r1
- bl sub_804954C
- adds r1, r0, 0
- mov r4, r8
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- bl sub_807034C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0806B3DC
- mov r3, r8
- movs r1, 0xE
- ldrsh r0, [r3, r1]
- mov r3, r9
- ldr r2, [r3]
- ldr r3, _0806B3D4
-_0806B3A8:
- adds r1, r2, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- adds r1, r7, r1
- ldr r3, _0806B3D8
- adds r2, r3
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r2, r6, r2
- str r4, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r3, r8
- bl sub_806B8CC
- b _0806B3E8
- .align 2, 0
-_0806B3CC: .4byte gUnknown_203B418
-_0806B3D0: .4byte gUnknown_80F4598
-_0806B3D4: .4byte 0x0000e218
-_0806B3D8: .4byte 0x0000e21a
-_0806B3DC:
- adds r5, 0x4
- ldr r2, [r5]
- movs r4, 0
- ldrsh r0, [r5, r4]
- cmp r0, 0x63
- bne _0806B366
-_0806B3E8:
- ldr r3, [sp, 0x34]
- cmp r3, 0x3
- bgt _0806B3F0
- b _0806B282
-_0806B3F0:
- bl sub_806B678
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806B168
-
- thumb_func_start sub_806B404
-sub_806B404:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- movs r5, 0
- movs r2, 0
- ldr r0, _0806B480
- mov r9, r0
- ldr r0, _0806B484
- ldr r7, [r0]
- movs r6, 0x1
- ldr r1, _0806B488
- mov r8, r1
-_0806B422:
- movs r0, 0x64
- muls r0, r2
- ldr r3, _0806B48C
- adds r0, r3
- adds r3, r7, r0
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0806B446
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _0806B446
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, r8
- beq _0806B490
-_0806B446:
- adds r2, 0x1
- cmp r2, 0x3
- ble _0806B422
-_0806B44C:
- cmp r5, 0x3
- bgt _0806B460
- movs r1, 0
- lsls r0, r5, 2
- add r0, sp
- adds r0, 0xC
-_0806B458:
- stm r0!, {r1}
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806B458
-_0806B460:
- movs r0, 0
- mov r2, r9
- str r0, [r2]
- bl sub_8083600
- adds r5, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806B49C
- ldrh r0, [r5, 0x6]
- lsls r0, 16
- ldrh r4, [r5, 0x4]
- b _0806B4AE
- .align 2, 0
-_0806B480: .4byte gUnknown_203B450
-_0806B484: .4byte gUnknown_203B45C
-_0806B488: .4byte 0x000055aa
-_0806B48C: .4byte 0x00008df8
-_0806B490:
- lsls r0, r5, 2
- add r0, sp
- adds r0, 0xC
- str r3, [r0]
- adds r5, 0x1
- b _0806B44C
-_0806B49C:
- ldr r0, _0806B560
- ldr r0, [r0]
- ldr r3, _0806B564
- adds r1, r0, r3
- ldr r2, _0806B568
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 16
- ldrh r4, [r1]
-_0806B4AE:
- orrs r4, r0
- lsls r5, r4, 16
- asrs r0, r5, 16
- asrs r4, 16
- adds r1, r4, 0
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- str r0, [sp, 0x20]
- movs r2, 0
- str r5, [sp, 0x24]
- mov r10, r4
-_0806B4C6:
- lsls r0, r2, 2
- add r0, sp
- adds r0, 0xC
- ldr r6, [r0]
- adds r2, 0x1
- str r2, [sp, 0x28]
- cmp r6, 0
- bne _0806B4D8
- b _0806B65E
-_0806B4D8:
- ldrh r1, [r6]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0806B4E6
- b _0806B65E
-_0806B4E6:
- lsrs r0, r1, 1
- ands r0, r2
- cmp r0, 0
- bne _0806B4F0
- b _0806B65E
-_0806B4F0:
- movs r3, 0xA
- ldrsh r1, [r6, r3]
- ldr r0, _0806B56C
- cmp r1, r0
- beq _0806B4FC
- b _0806B65E
-_0806B4FC:
- ldr r0, _0806B570
- strh r0, [r6, 0xA]
- movs r7, 0
- ldr r2, _0806B574
- ldr r0, [r2]
- str r0, [sp, 0x1C]
- add r0, sp, 0x1C
- movs r3, 0
- ldrsh r1, [r0, r3]
- mov r9, r2
- adds r2, r0, 0
- cmp r1, 0x63
- beq _0806B58C
- ldr r0, [sp, 0x24]
- asrs r0, 16
- mov r8, r0
-_0806B51C:
- movs r1, 0
- ldrsh r0, [r2, r1]
- add r0, r8
- ldr r1, [sp, 0x1C]
- asrs r1, 16
- mov r5, r10
- adds r1, r5
- str r2, [sp, 0x2C]
- bl sub_804954C
- adds r1, r0, 0
- ldrb r0, [r1, 0x9]
- ldr r2, [sp, 0x2C]
- ldr r3, [sp, 0x20]
- cmp r0, r3
- bne _0806B578
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- bl sub_807034C
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, [sp, 0x2C]
- cmp r4, 0
- bne _0806B578
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- movs r3, 0
- ldrsh r1, [r2, r3]
- add r1, r8
- ldr r2, [sp, 0x1C]
- asrs r2, 16
- adds r2, r5
- b _0806B642
- .align 2, 0
-_0806B560: .4byte gUnknown_203B418
-_0806B564: .4byte 0x0000e218
-_0806B568: .4byte 0x0000e21a
-_0806B56C: .4byte 0x000055aa
-_0806B570: .4byte 0x00005aa5
-_0806B574: .4byte gUnknown_80F4598
-_0806B578:
- adds r7, 0x1
- ldr r1, _0806B5E4
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x1C]
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x63
- bne _0806B51C
-_0806B58C:
- movs r3, 0
- cmp r3, 0
- bne _0806B65E
- movs r7, 0
- mov r1, r9
- ldr r0, [r1]
- str r0, [sp, 0x1C]
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0x63
- beq _0806B5FC
- ldr r0, [sp, 0x24]
- asrs r0, 16
- mov r8, r0
-_0806B5A8:
- movs r1, 0
- ldrsh r0, [r2, r1]
- add r0, r8
- ldr r1, [sp, 0x1C]
- asrs r1, 16
- mov r5, r10
- adds r1, r5
- str r2, [sp, 0x2C]
- bl sub_804954C
- adds r1, r0, 0
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- bl sub_807034C
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, [sp, 0x2C]
- cmp r4, 0
- bne _0806B5E8
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- movs r3, 0
- ldrsh r1, [r2, r3]
- add r1, r8
- ldr r2, [sp, 0x1C]
- asrs r2, 16
- adds r2, r5
- b _0806B642
- .align 2, 0
-_0806B5E4: .4byte gUnknown_80F4598
-_0806B5E8:
- adds r7, 0x1
- ldr r1, _0806B654
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x1C]
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x63
- bne _0806B5A8
-_0806B5FC:
- movs r3, 0
- cmp r3, 0
- bne _0806B65E
- movs r7, 0
- adds r5, r2, 0
-_0806B606:
- adds r0, r5, 0
- str r2, [sp, 0x2C]
- bl sub_8083660
- lsls r0, 24
- ldr r2, [sp, 0x2C]
- cmp r0, 0
- beq _0806B658
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- bl sub_804954C
- adds r1, r0, 0
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- bl sub_807034C
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, [sp, 0x2C]
- cmp r4, 0
- bne _0806B658
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r3, 0x2
- ldrsh r2, [r5, r3]
-_0806B642:
- str r4, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- str r4, [sp, 0x8]
- adds r3, r6, 0
- bl sub_806B8CC
- b _0806B65E
- .align 2, 0
-_0806B654: .4byte gUnknown_80F4598
-_0806B658:
- adds r7, 0x1
- cmp r7, 0x63
- ble _0806B606
-_0806B65E:
- ldr r2, [sp, 0x28]
- cmp r2, 0x3
- bgt _0806B666
- b _0806B4C6
-_0806B666:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806B404
-
- thumb_func_start sub_806B678
-sub_806B678:
- push {r4,r5,lr}
- movs r5, 0
-_0806B67C:
- ldr r0, _0806B6AC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806B6B0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806B6B8
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0806B6B8
- adds r0, r4, 0
- bl sub_803F4A0
- ldr r1, _0806B6B4
- ldr r0, [r4, 0x4]
- str r0, [r1]
- b _0806B6BE
- .align 2, 0
-_0806B6AC: .4byte gUnknown_203B418
-_0806B6B0: .4byte 0x0001357c
-_0806B6B4: .4byte gUnknown_202EE0C
-_0806B6B8:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806B67C
-_0806B6BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_806B678
-
- thumb_func_start sub_806B6C4
-sub_806B6C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, _0806B708
- ldr r0, [r4]
- movs r1, 0xD1
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- mov r8, r0
- movs r0, 0x7A
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0806B710
- movs r0, 0x97
- bl sub_808E734
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0806B710
- ldr r0, [r4]
- ldr r2, _0806B70C
- adds r0, r2
- b _0806B71A
- .align 2, 0
-_0806B708: .4byte gUnknown_203B418
-_0806B70C: .4byte 0x000037ff
-_0806B710:
- ldr r0, _0806B77C
- ldr r0, [r0]
- ldr r1, _0806B780
- adds r0, r1
- movs r1, 0x1
-_0806B71A:
- strb r1, [r0]
- movs r0, 0x38
- bl sub_8084100
- adds r5, r0, 0
- movs r0, 0x20
- bl sub_8084100
- adds r7, r0, 0
- movs r0, 0
-_0806B72E:
- adds r7, 0x1
- cmp r7, 0x20
- bne _0806B736
- movs r7, 0
-_0806B736:
- adds r0, 0x1
- mov r10, r0
- mov r4, sp
- movs r2, 0x37
- mov r9, r2
-_0806B740:
- adds r5, 0x1
- cmp r5, 0x38
- bne _0806B748
- movs r5, 0
-_0806B748:
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_804954C
- ldrh r1, [r0, 0x4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0806B7C2
- movs r6, 0
- mov r0, r8
- cmp r0, 0
- beq _0806B784
- ldr r0, _0806B77C
- ldr r0, [r0]
- movs r1, 0xD1
- lsls r1, 3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- movs r1, 0x1
- movs r0, 0x1
- strh r0, [r4, 0x8]
- strb r1, [r4, 0x2]
- movs r6, 0x1
- b _0806B794
- .align 2, 0
-_0806B77C: .4byte gUnknown_203B418
-_0806B780: .4byte 0x000037ff
-_0806B784:
- movs r0, 0
- bl sub_803D970
- movs r1, 0
- strh r0, [r4]
- mov r2, r8
- strh r2, [r4, 0x8]
- strb r1, [r4, 0x2]
-_0806B794:
- movs r0, 0
- str r0, [sp, 0x4]
- strb r0, [r4, 0x10]
- strh r5, [r4, 0xC]
- strh r7, [r4, 0xE]
- cmp r6, 0
- bne _0806B7B2
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- bl sub_806AA0C
- lsls r0, 24
- cmp r0, 0
- beq _0806B7C2
-_0806B7B2:
- mov r0, sp
- movs r1, 0
- bl sub_806B7F8
- cmp r0, 0
- beq _0806B7C2
- movs r2, 0
- mov r8, r2
-_0806B7C2:
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r1, r9
- cmp r1, 0
- bge _0806B740
- mov r0, r10
- cmp r0, 0x1F
- ble _0806B72E
- mov r2, r8
- cmp r2, 0
- beq _0806B7E2
- ldr r0, _0806B7F4
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xA]
-_0806B7E2:
- 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
-_0806B7F4: .4byte gUnknown_203B418
- thumb_func_end sub_806B6C4
-
- thumb_func_start sub_806B7F8
-sub_806B7F8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- movs r2, 0xE
- ldrsh r1, [r6, r2]
- bl sub_804954C
- adds r1, r0, 0
- movs r3, 0
- ldrsh r0, [r6, r3]
- bl sub_807034C
- lsls r0, 24
- cmp r0, 0
- bne _0806B834
- movs r4, 0
- ldrsh r0, [r6, r4]
- bl sub_804550C
- adds r7, r0, 0
- cmp r7, 0
- bne _0806B838
-_0806B834:
- movs r0, 0
- b _0806B8B8
-_0806B838:
- ldr r3, _0806B8C8
- movs r0, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_806BC68
- ldr r5, [r7, 0x70]
- movs r0, 0x1
- strb r0, [r5, 0x6]
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r5, r1
- adds r1, r5, 0
- adds r1, 0x10
- adds r2, r5, 0
- adds r2, 0x14
- movs r3, 0x16
- adds r3, r5
- mov r9, r3
- movs r3, 0x2
- ldrsh r4, [r5, r3]
- str r4, [sp]
- ldrb r4, [r5, 0x9]
- str r4, [sp, 0x4]
- mov r3, r9
- bl sub_806AED8
- ldrh r0, [r5, 0x10]
- strh r0, [r5, 0xE]
- movs r4, 0x8A
- lsls r4, 1
- adds r1, r5, r4
- ldr r0, [r6, 0x4]
- str r0, [r1]
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- bne _0806B8B6
- mov r0, r8
- cmp r0, 0
- bne _0806B8B6
- ldrb r0, [r6, 0x10]
- cmp r0, 0
- bne _0806B8B6
- movs r0, 0x64
- bl sub_8084100
- adds r4, r0, 0
- movs r1, 0
- ldrsh r0, [r6, r1]
- bl sub_808DB60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r4
- ble _0806B8B6
- adds r0, r7, 0
- movs r1, 0x7F
- bl sub_8075BF4
- adds r0, r7, 0
- movs r1, 0x8
- bl sub_806CE68
-_0806B8B6:
- adds r0, r7, 0
-_0806B8B8:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806B8C8: .4byte gUnknown_202EE0C
- thumb_func_end sub_806B7F8
-
- thumb_func_start sub_806B8CC
-sub_806B8CC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r9, r1
- mov r10, r2
- adds r5, r3, 0
- ldr r1, [sp, 0x50]
- ldr r2, [sp, 0x54]
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- ldrb r1, [r5, 0x2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- mov r8, r0
- ldr r0, [sp, 0x4C]
- cmp r0, 0
- beq _0806B906
- movs r0, 0
- ldr r1, [sp, 0x4C]
- str r0, [r1]
-_0806B906:
- adds r0, r4, 0
- bl sub_808E770
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0xCF
- lsls r0, 1
- cmp r1, r0
- bne _0806B932
- cmp r6, 0
- beq _0806B930
- ldr r0, _0806B92C
- ldr r0, [r0]
- movs r2, 0xE0
- lsls r2, 6
- adds r0, r2
- movs r3, 0
- ldrsh r4, [r0, r3]
- b _0806B932
- .align 2, 0
-_0806B92C: .4byte gUnknown_203B418
-_0806B930:
- adds r4, r1, 0
-_0806B932:
- mov r0, r9
- mov r1, r10
- bl sub_804954C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_807034C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _0806B956
- adds r0, r4, 0
- bl sub_80453AC
- str r0, [sp, 0x1C]
- cmp r0, 0
- bne _0806B95A
-_0806B956:
- movs r0, 0
- b _0806BB3C
-_0806B95A:
- mov r0, sp
- movs r7, 0
- mov r1, r9
- strh r1, [r0, 0xC]
- mov r2, r10
- strh r2, [r0, 0xE]
- strh r4, [r0]
- mov r1, sp
- ldrb r0, [r5, 0x3]
- strh r0, [r1, 0x8]
- mov r0, sp
- strb r7, [r0, 0x2]
- str r6, [sp, 0x4]
- strb r7, [r0, 0x10]
- ldr r4, _0806BB4C
- ldr r3, _0806BB50
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0]
- add r0, r9
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0806BB54
- ldr r1, [sp, 0x14]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x14]
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x2]
- add r0, r10
- lsls r0, 16
- ldr r2, _0806BB58
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x14]
- ldr r3, _0806BB5C
- mov r0, r8
- cmp r0, 0
- beq _0806B9B0
- add r3, sp, 0x14
-_0806B9B0:
- movs r0, 0x1
- ldr r1, [sp, 0x1C]
- mov r2, sp
- bl sub_806BC68
- ldr r1, [sp, 0x1C]
- ldr r4, [r1, 0x70]
- strb r7, [r4, 0x6]
- strb r7, [r4, 0x8]
- mov r2, r8
- strb r2, [r4, 0x7]
- adds r0, r4, 0
- adds r0, 0xF9
- mov r3, sp
- ldrb r3, [r3, 0x18]
- strb r3, [r0]
- ldr r0, _0806BB60
- str r6, [r0]
- mov r6, r8
- cmp r6, 0
- beq _0806B9E4
- ldr r0, _0806BB5C
- mov r7, r9
- strh r7, [r0]
- mov r1, r10
- strh r1, [r0, 0x2]
-_0806B9E4:
- ldrh r0, [r5, 0x10]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x12]
- strh r0, [r4, 0x10]
- ldr r0, [r5, 0x18]
- str r0, [r4, 0x18]
- movs r3, 0
- movs r2, 0x1C
- adds r2, r5
- mov r8, r2
- movs r6, 0x50
- adds r6, r5
- mov r10, r6
- movs r7, 0x94
- adds r7, r4
- mov r9, r7
- adds r0, r4, 0
- adds r0, 0x8C
- str r0, [sp, 0x20]
- adds r1, r4, 0
- adds r1, 0xF3
- str r1, [sp, 0x24]
- adds r2, r4, 0
- adds r2, 0x64
- str r2, [sp, 0x28]
- movs r6, 0x14
- adds r6, r4
- mov r12, r6
- adds r7, r5, 0
- adds r7, 0x14
- adds r6, r4, 0
- adds r6, 0x16
- adds r2, r5, 0
- adds r2, 0x16
-_0806BA28:
- mov r0, r12
- adds r1, r0, r3
- adds r0, r7, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r6, r3
- adds r0, r2, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r3, 0x1
- cmp r3, 0x1
- ble _0806BA28
- movs r1, 0x8C
- lsls r1, 1
- adds r2, r4, r1
- adds r1, r2, 0
- mov r0, r8
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- movs r0, 0x1
- mov r8, r0
- movs r7, 0xEF
- movs r6, 0xDF
- movs r3, 0x3
-_0806BA60:
- ldrb r1, [r2]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _0806BA72
- adds r0, r7, 0
- ands r0, r1
- ands r0, r6
- strb r0, [r2]
-_0806BA72:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0806BA60
- movs r1, 0x9C
- lsls r1, 1
- adds r2, r4, r1
- ldrb r1, [r2]
- movs r0, 0xEF
- ands r0, r1
- movs r1, 0xDF
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r5, 0x3]
- strb r0, [r4, 0x9]
- ldrh r0, [r5, 0x8]
- movs r2, 0
- strh r0, [r4, 0xC]
- mov r3, r10
- ldrb r0, [r3]
- mov r6, r9
- strb r0, [r6]
- ldr r0, [r5, 0x4C]
- ldr r7, [sp, 0x20]
- str r0, [r7]
- ldr r0, [r5, 0x54]
- str r0, [r4, 0x3C]
- ldr r0, [r5, 0x4]
- str r0, [r4, 0x40]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r4, r0
- ldr r0, [r5, 0x44]
- str r0, [r1]
- movs r3, 0xA0
- lsls r3, 1
- adds r1, r4, r3
- ldr r0, [r5, 0x48]
- str r0, [r1]
- ldrh r0, [r5, 0xC]
- strb r0, [r4, 0xA]
- ldr r0, [r5, 0x40]
- str r0, [r4, 0x60]
- ldr r0, [sp, 0x24]
- strb r2, [r0]
- ldr r6, [sp, 0x28]
- strb r2, [r6]
- ldr r7, _0806BB64
- ldr r0, [r7]
- ldr r1, _0806BB68
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806BB24
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _0806BB24
- adds r0, r4, 0
- adds r0, 0x5E
- ldrb r0, [r0]
- cmp r0, 0x47
- beq _0806BAFC
- adds r0, r4, 0
- adds r0, 0x5F
- ldrb r0, [r0]
- cmp r0, 0x47
- bne _0806BB24
-_0806BAFC:
- adds r4, 0x60
- ldrb r1, [r4]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0806BB24
- movs r0, 0
- bl sub_803D73C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x69
- beq _0806BB24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8090A8C
- ldr r2, [sp, 0x24]
- strb r5, [r2]
-_0806BB24:
- ldr r0, [sp, 0x1C]
- bl sub_806A6E8
- ldr r0, [sp, 0x1C]
- bl sub_807191C
- ldr r3, [sp, 0x4C]
- cmp r3, 0
- beq _0806BB3A
- ldr r6, [sp, 0x1C]
- str r6, [r3]
-_0806BB3A:
- movs r0, 0x1
-_0806BB3C:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806BB4C: .4byte gUnknown_80F4448
-_0806BB50: .4byte gUnknown_202F32C
-_0806BB54: .4byte 0xffff0000
-_0806BB58: .4byte 0x0000ffff
-_0806BB5C: .4byte gUnknown_202EE0C
-_0806BB60: .4byte gUnknown_203B450
-_0806BB64: .4byte gUnknown_203B418
-_0806BB68: .4byte 0x00000644
- thumb_func_end sub_806B8CC
-
- thumb_func_start sub_806BB6C
-sub_806BB6C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r7, r0, 0
- lsls r4, r1, 16
- asrs r4, 16
- ldr r0, [r7, 0x70]
- mov r9, r0
- mov r8, r9
- adds r0, 0x98
- ldr r0, [r0]
- bl sub_800F934
- add r0, sp, 0x8
- movs r1, 0
- mov r10, r1
- movs r6, 0
- lsls r5, r4, 16
- lsrs r5, 16
- strh r5, [r0]
- strh r6, [r0, 0x8]
- mov r2, r10
- strb r2, [r0, 0x2]
- ldr r0, [r7, 0x4]
- str r0, [sp, 0x14]
- str r6, [sp, 0xC]
- movs r0, 0
- adds r1, r4, 0
- bl sub_8069F54
- lsls r0, 16
- adds r1, r7, 0
- adds r1, 0x22
- mov r2, r10
- strb r2, [r1]
- ldr r1, [r7, 0x70]
- asrs r2, r0, 16
- lsrs r0, 16
- strh r0, [r1, 0x4]
- ldr r0, [r7, 0x70]
- strh r5, [r0, 0x2]
- adds r0, r2, 0
- bl sub_80687D0
- str r0, [r7, 0x64]
- adds r1, r7, 0
- adds r1, 0x6A
- movs r0, 0x7
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0x6C
- mov r5, r10
- strb r5, [r0]
- adds r1, 0x1
- movs r0, 0xFF
- strb r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- strb r0, [r1]
- adds r1, 0x2
- strb r0, [r1]
- str r6, [r7, 0x1C]
- mov r0, r9
- adds r0, 0xB0
- ldrb r0, [r0]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806BC08
- mov r0, r9
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_0806BC08:
- movs r1, 0
- mov r6, r9
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _0806BC14
- movs r1, 0x1
-_0806BC14:
- adds r0, r1, 0
- adds r1, r7, 0
- add r2, sp, 0x8
- movs r3, 0
- bl sub_806BC68
- movs r0, 0x8C
- lsls r0, 1
- add r0, r8
- mov r1, r8
- adds r1, 0x10
- mov r2, r8
- adds r2, 0x14
- mov r3, r8
- adds r3, 0x16
- mov r5, r8
- movs r6, 0x2
- ldrsh r4, [r5, r6]
- str r4, [sp]
- ldrb r4, [r5, 0x9]
- str r4, [sp, 0x4]
- bl sub_806AED8
- ldrh r0, [r5, 0x10]
- strh r0, [r5, 0xE]
- mov r0, r10
- strb r0, [r5, 0x8]
- adds r0, r7, 0
- bl sub_80429E8
- adds r0, r7, 0
- bl sub_80418D4
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806BB6C
-
- thumb_func_start sub_806BC68
-sub_806BC68:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- mov r8, r1
- adds r7, r2, 0
- mov r10, r3
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0806BD0C
- ldr r0, [r1]
- movs r5, 0
- movs r2, 0x1
- mov r9, r2
- mov r3, r9
- strb r3, [r0, 0xC]
- mov r0, r8
- ldr r6, [r0, 0x70]
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_806BFC0
- ldrb r1, [r7, 0x2]
- adds r0, r6, 0
- adds r0, 0xA4
- strb r1, [r0]
- mov r0, r8
- adds r0, 0x20
- mov r1, r9
- strb r1, [r0]
- adds r0, 0x2
- strb r5, [r0]
- ldr r0, _0806BD10
- mov r2, r8
- strh r0, [r2, 0x8]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r2, 0xA]
- ldr r0, _0806BD14
- strh r0, [r2, 0x4]
- strh r0, [r2, 0x6]
- movs r3, 0xC
- ldrsh r1, [r7, r3]
- movs r0, 0xE
- ldrsh r2, [r7, r0]
- mov r0, r8
- movs r3, 0x1
- bl sub_80694C0
- mov r0, r8
- movs r1, 0
- bl sub_804535C
- cmp r4, 0
- bne _0806BD5E
- movs r2, 0
- ldrsh r1, [r7, r2]
- movs r0, 0xBE
- lsls r0, 1
- cmp r1, r0
- bne _0806BD20
- ldr r3, _0806BD0C
- ldr r1, [r3]
- ldr r4, _0806BD18
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806BD20
- ldr r2, _0806BD1C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806BD20
- ldrb r0, [r7, 0x2]
- cmp r0, 0
- bne _0806BD20
- mov r3, r9
- strb r3, [r6, 0x8]
- b _0806BD24
- .align 2, 0
-_0806BD0C: .4byte gUnknown_203B418
-_0806BD10: .4byte 0x0000ffff
-_0806BD14: .4byte 0x0000fffe
-_0806BD18: .4byte 0x0000066e
-_0806BD1C: .4byte 0x00003a0a
-_0806BD20:
- movs r0, 0
- strb r0, [r6, 0x8]
-_0806BD24:
- movs r4, 0x2
- ldrsh r0, [r6, r4]
- bl sub_808E770
- lsls r0, 16
- movs r1, 0xCF
- lsls r1, 17
- cmp r0, r1
- bne _0806BD42
- ldr r0, _0806BD94
- ldr r0, [r0]
- ldr r1, _0806BD98
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0806BD42:
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- bl sub_808E770
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x97
- bne _0806BD5E
- ldr r0, _0806BD94
- ldr r0, [r0]
- ldr r3, _0806BD9C
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
-_0806BD5E:
- adds r2, r6, 0
- adds r2, 0x98
- ldr r0, _0806BD94
- ldr r1, [r0]
- ldr r4, _0806BDA0
- adds r1, r4
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- adds r1, r6, 0
- adds r1, 0x9C
- movs r0, 0
- str r0, [r1]
- ldrh r1, [r7, 0x8]
- movs r3, 0x8
- ldrsh r0, [r7, r3]
- mov r9, r2
- cmp r0, 0
- bne _0806BDA4
- movs r4, 0
- ldrsh r0, [r7, r4]
- bl sub_803DA20
- strb r0, [r6, 0x9]
- b _0806BDA6
- .align 2, 0
-_0806BD94: .4byte gUnknown_203B418
-_0806BD98: .4byte 0x000037fd
-_0806BD9C: .4byte 0x000037ff
-_0806BDA0: .4byte 0x000037f0
-_0806BDA4:
- strb r1, [r6, 0x9]
-_0806BDA6:
- movs r0, 0x8A
- lsls r0, 1
- adds r1, r6, r0
- ldr r0, [r7, 0x4]
- str r0, [r1]
- movs r4, 0x1
- strh r4, [r6, 0xC]
- adds r0, r6, 0
- adds r0, 0x8C
- movs r1, 0
- bl sub_808EC94
- adds r0, r6, 0
- adds r0, 0x3C
- bl sub_808E6F4
- strh r4, [r6, 0x10]
- strh r4, [r6, 0xE]
- mov r0, sp
- movs r1, 0x64
- bl sub_80943A0
- movs r2, 0x9E
- lsls r2, 1
- adds r1, r6, r2
- ldr r0, [sp]
- str r0, [r1]
- add r0, sp, 0x4
- movs r1, 0x64
- bl sub_80943A0
- movs r3, 0xA0
- lsls r3, 1
- adds r1, r6, r3
- ldr r0, [sp, 0x4]
- str r0, [r1]
- mov r4, r10
- cmp r4, 0
- beq _0806BE00
- movs r0, 0xB6
- lsls r0, 1
- adds r1, r6, r0
- ldr r0, [r4]
- str r0, [r1]
- b _0806BE12
-_0806BE00:
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r6, r1
- mov r2, r10
- strh r2, [r0]
- movs r3, 0xB7
- lsls r3, 1
- adds r0, r6, r3
- strh r2, [r0]
-_0806BE12:
- movs r7, 0
- movs r4, 0
- strh r4, [r6]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r6, r1
- strb r7, [r0]
- ldr r2, _0806BFB4
- adds r0, r6, r2
- strb r7, [r0]
- movs r3, 0xFA
- lsls r3, 1
- adds r0, r6, r3
- strh r4, [r0]
- adds r1, 0xB2
- adds r0, r6, r1
- strh r4, [r0]
- adds r0, r6, 0
- adds r0, 0x78
- strb r7, [r0]
- adds r1, r6, 0
- adds r1, 0x88
- mov r2, r8
- ldr r0, [r2, 0x4]
- str r0, [r1]
- adds r0, r6, 0
- adds r0, 0x80
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- subs r0, 0x8
- strh r4, [r0]
- adds r0, 0x83
- strb r7, [r0]
- subs r3, 0x80
- adds r0, r6, r3
- str r4, [r0]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r6, r1
- strb r7, [r0]
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_806BFC0
- adds r0, r6, 0
- adds r0, 0x60
- strb r7, [r0, 0x2]
- strb r7, [r0, 0x1]
- strb r7, [r0]
- adds r0, 0x4
- strb r7, [r0]
- movs r2, 0x80
- lsls r2, 2
- adds r0, r6, r2
- str r4, [r0]
- movs r3, 0xB2
- lsls r3, 1
- adds r1, r6, r3
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, 0x66
- adds r1, r6, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r6, r1
- str r4, [r0]
- subs r2, 0xB9
- adds r0, r6, r2
- strb r7, [r0]
- subs r3, 0x1E
- adds r0, r6, r3
- strb r7, [r0]
- subs r1, 0x96
- adds r0, r6, r1
- strb r7, [r0]
- adds r2, 0xB1
- adds r0, r6, r2
- strh r4, [r0]
- adds r3, 0xB4
- adds r0, r6, r3
- strh r4, [r0]
- subs r1, 0x1E
- adds r0, r6, r1
- strb r7, [r0]
- subs r2, 0xAF
- adds r0, r6, r2
- strb r7, [r0]
- subs r3, 0x82
- adds r0, r6, r3
- strh r4, [r0]
- adds r0, r6, 0
- adds r0, 0xFA
- strb r7, [r0]
- adds r0, 0x2
- strb r7, [r0]
- adds r1, 0x3
- adds r0, r6, r1
- strb r7, [r0]
- adds r2, 0x3
- adds r0, r6, r2
- movs r5, 0x1
- strb r5, [r0]
- subs r3, 0x2A
- adds r0, r6, r3
- strh r4, [r0]
- adds r1, 0x5
- adds r0, r6, r1
- strh r4, [r0]
- adds r2, 0x6
- adds r0, r6, r2
- strb r7, [r0]
- adds r3, 0x5
- adds r0, r6, r3
- strb r7, [r0]
- movs r4, 0xAA
- lsls r4, 1
- adds r0, r6, r4
- strb r7, [r0]
- adds r1, 0x5
- adds r0, r6, r1
- strb r7, [r0]
- adds r2, 0x17
- adds r0, r6, r2
- strb r7, [r0]
- adds r0, r6, 0
- adds r0, 0xFD
- strb r7, [r0]
- adds r1, r6, 0
- adds r1, 0xFE
- movs r0, 0x63
- strb r0, [r1]
- adds r3, 0x5
- adds r0, r6, r3
- strb r7, [r0]
- adds r4, 0x5
- adds r0, r6, r4
- strb r7, [r0]
- movs r1, 0xAD
- lsls r1, 1
- adds r0, r6, r1
- strb r7, [r0]
- mov r0, r8
- bl sub_8070774
- movs r2, 0xAB
- lsls r2, 1
- adds r1, r6, r2
- strb r5, [r1]
- movs r3, 0xAE
- lsls r3, 1
- adds r0, r6, r3
- strb r7, [r0]
- adds r4, 0x5
- adds r0, r6, r4
- strb r7, [r0]
- adds r2, 0x7
- adds r0, r6, r2
- strb r7, [r0]
- adds r3, 0x3
- adds r0, r6, r3
- strb r7, [r0]
- adds r4, 0x2
- adds r0, r6, r4
- strb r7, [r0]
- ldrh r0, [r6, 0x4]
- subs r0, 0x32
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0806BF70
- strb r7, [r1]
-_0806BF70:
- mov r0, r8
- ldrh r1, [r0, 0x6]
- lsls r1, 16
- ldrh r0, [r0, 0x4]
- orrs r0, r1
- str r0, [sp, 0x8]
- mov r1, r9
- ldr r0, [r1]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- add r2, sp, 0x8
- ldr r3, _0806BFB8
- ldr r3, [r3]
- ldr r4, _0806BFBC
- adds r3, r4
- ldrb r3, [r3]
- bl sub_800F8D0
- mov r0, r8
- bl sub_807191C
- mov r0, r8
- movs r1, 0
- movs r2, 0
- bl sub_806A898
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806BFB4: .4byte 0x00000145
-_0806BFB8: .4byte gUnknown_203B418
-_0806BFBC: .4byte 0x00018208
- thumb_func_end sub_806BC68
-
- thumb_func_start sub_806BFC0
-sub_806BFC0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- adds r1, r4, 0
- adds r1, 0xA8
- movs r0, 0
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x8
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r2, r4, 0
- adds r2, 0xB4
- movs r1, 0x22
- str r1, [r2]
- adds r1, r4, 0
- adds r1, 0xBC
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x4
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x4
- strb r0, [r1]
- adds r1, 0x9
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x2
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x4
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x3
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r1, 0x1
- strb r0, [r1]
- movs r0, 0xB2
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0xFF
- strb r0, [r1]
- ldr r2, _0806C168
- adds r1, r4, r2
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- movs r1, 0
- movs r7, 0x84
- lsls r7, 1
- adds r0, r4, r7
- movs r5, 0x4
-_0806C080:
- strb r1, [r0]
- strb r1, [r0, 0x5]
- adds r0, 0x1
- subs r5, 0x1
- cmp r5, 0
- bge _0806C080
- movs r0, 0
- str r0, [sp, 0x4]
- movs r5, 0
- adds r1, r4, 0
- adds r1, 0x5E
- str r1, [sp, 0x8]
- movs r2, 0x5C
- adds r2, r4
- mov r10, r2
- adds r7, r4, 0
- adds r7, 0xFD
- str r7, [sp, 0x20]
- adds r0, r4, 0
- adds r0, 0xF4
- str r0, [sp, 0xC]
- adds r1, 0x9D
- str r1, [sp, 0x1C]
- adds r2, r4, 0
- adds r2, 0xF5
- str r2, [sp, 0x10]
- subs r7, 0x7
- str r7, [sp, 0x14]
- adds r0, 0x3
- str r0, [sp, 0x18]
- adds r1, 0x4
- str r1, [sp, 0x24]
- movs r2, 0x1
- mov r9, r2
- movs r3, 0xA
- subs r7, 0xC2
- str r7, [sp, 0x28]
- subs r0, 0xCB
- str r0, [sp, 0x2C]
- adds r2, r4, 0
- adds r2, 0x24
- subs r1, 0xDF
- str r1, [sp, 0x38]
- adds r6, r4, 0
- adds r6, 0x1C
- movs r7, 0x80
- lsls r7, 1
- mov r8, r7
-_0806C0E0:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r1, r5, 0
- str r2, [sp, 0x30]
- str r3, [sp, 0x34]
- bl sub_808DC84
- ldr r7, [sp, 0x8]
- adds r1, r7, r5
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x30]
- ldr r3, [sp, 0x34]
- cmp r0, 0x25
- bne _0806C104
- movs r0, 0x1
- str r0, [sp, 0x4]
-_0806C104:
- ldr r1, [sp]
- cmp r1, 0
- beq _0806C11E
- adds r0, r4, 0
- adds r0, 0x14
- adds r0, r5
- mov r7, r9
- strb r7, [r0]
- adds r0, r4, 0
- adds r0, 0x16
- adds r0, r5
- mov r1, r9
- strb r1, [r0]
-_0806C11E:
- strh r3, [r6]
- ldr r7, [sp, 0x38]
- strh r3, [r7]
- strh r3, [r2]
- ldr r1, [sp, 0x2C]
- mov r0, r8
- stm r1!, {r0}
- str r1, [sp, 0x2C]
- ldr r7, [sp, 0x28]
- stm r7!, {r0}
- str r7, [sp, 0x28]
- adds r2, 0x2
- ldr r0, [sp, 0x38]
- adds r0, 0x2
- str r0, [sp, 0x38]
- adds r6, 0x2
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806C0E0
- ldr r1, [sp, 0x4]
- cmp r1, 0
- beq _0806C170
- movs r0, 0
- bl sub_807E580
- ldr r1, _0806C16C
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- mov r2, r10
- strb r0, [r2]
- adds r0, r4, 0
- adds r0, 0x5D
- strb r1, [r0]
- b _0806C188
- .align 2, 0
-_0806C168: .4byte 0x00000165
-_0806C16C: .4byte gUnknown_80F520C
-_0806C170:
- movs r5, 0
-_0806C172:
- movs r7, 0x2
- ldrsh r0, [r4, r7]
- adds r1, r5, 0
- bl sub_808DC68
- mov r2, r10
- adds r1, r2, r5
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x1
- ble _0806C172
-_0806C188:
- ldr r0, _0806C1D0
- ldr r1, [r0]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0xC]
- movs r0, 0
- strh r2, [r4, 0x28]
- movs r7, 0x89
- lsls r7, 1
- adds r1, r4, r7
- strb r0, [r1]
- ldr r1, [sp, 0x20]
- strb r0, [r1]
- ldr r2, _0806C1D4
- adds r1, r4, r2
- strb r0, [r1]
- ldr r7, [sp, 0xC]
- strb r0, [r7]
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- ldr r2, [sp, 0x10]
- strb r0, [r2]
- ldr r7, [sp, 0x14]
- strb r0, [r7]
- ldr r1, [sp, 0x18]
- strb r0, [r1]
- ldr r2, [sp, 0x24]
- strb r0, [r2]
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C1D0: .4byte gUnknown_203B418
-_0806C1D4: .4byte 0x00000113
- thumb_func_end sub_806BFC0
-
- thumb_func_start sub_806C1D8
-sub_806C1D8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r5, 0
-_0806C1E2:
- ldr r0, _0806C258
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806C25C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- adds r5, 0x1
- mov r9, r5
- cmp r0, 0
- beq _0806C244
- ldr r4, [r4, 0x70]
- ldrb r6, [r4, 0xA]
- cmp r6, 0
- blt _0806C244
- movs r5, 0
- movs r0, 0x8C
- lsls r0, 1
- mov r12, r0
- movs r2, 0x1
- mov r8, r2
- adds r3, r4, 0
- movs r7, 0xFE
-_0806C218:
- lsls r0, r5, 3
- adds r0, r4
- add r0, r12
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _0806C234
- ldr r0, _0806C260
- adds r2, r3, r0
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r2]
-_0806C234:
- adds r3, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- ble _0806C218
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_806C264
-_0806C244:
- mov r5, r9
- cmp r5, 0x3
- ble _0806C1E2
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C258: .4byte gUnknown_203B418
-_0806C25C: .4byte 0x0001357c
-_0806C260: .4byte 0x00000119
- thumb_func_end sub_806C1D8
-
- thumb_func_start sub_806C264
-sub_806C264:
- push {r4,r5,lr}
- mov r12, r1
- ldr r2, _0806C31C
- movs r1, 0x64
- muls r0, r1
- ldr r1, _0806C320
- adds r0, r1
- ldr r1, [r2]
- adds r3, r1, r0
- mov r2, r12
- ldrh r0, [r2, 0xE]
- strh r0, [r3, 0x10]
- ldrh r0, [r2, 0x10]
- strh r0, [r3, 0x12]
- ldr r0, [r2, 0x18]
- str r0, [r3, 0x18]
- adds r2, 0x14
- adds r1, r3, 0
- adds r1, 0x14
- movs r4, 0x1
-_0806C28C:
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x2]
- strb r0, [r1, 0x2]
- adds r2, 0x1
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _0806C28C
- ldr r4, _0806C324
- adds r0, r4, 0
- mov r5, r12
- ldrh r5, [r5, 0x4]
- adds r0, r5
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0806C2B6
- movs r0, 0xBC
- lsls r0, 1
- strh r0, [r3, 0xE]
-_0806C2B6:
- adds r1, r3, 0
- adds r1, 0x1C
- movs r0, 0x8C
- lsls r0, 1
- add r0, r12
- 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}
- mov r1, r12
- ldrb r0, [r1, 0x9]
- strb r0, [r3, 0x3]
- ldrh r0, [r1, 0xC]
- strh r0, [r3, 0x8]
- mov r0, r12
- adds r0, 0x8C
- ldr r0, [r0]
- str r0, [r3, 0x4C]
- mov r0, r12
- adds r0, 0x94
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r0, 0x50
- strb r1, [r0]
- mov r2, r12
- ldr r0, [r2, 0x3C]
- str r0, [r3, 0x54]
- movs r0, 0x9E
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- str r0, [r3, 0x44]
- movs r0, 0xA0
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- str r0, [r3, 0x48]
- ldr r0, [r2, 0x60]
- str r0, [r3, 0x40]
- movs r4, 0xA
- ldrsh r1, [r3, r4]
- ldr r0, _0806C328
- cmp r1, r0
- bne _0806C316
- ldr r0, _0806C32C
- strh r0, [r3, 0xA]
-_0806C316:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C31C: .4byte gUnknown_203B45C
-_0806C320: .4byte 0x00008df8
-_0806C324: .4byte 0xfffffe87
-_0806C328: .4byte 0x000055aa
-_0806C32C: .4byte 0x00005aa5
- thumb_func_end sub_806C264
-
- thumb_func_start sub_806C330
-sub_806C330:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- asrs r2, 16
- mov r12, r2
- lsls r3, 24
- lsrs r7, r3, 24
- ldr r0, _0806C370
- ldr r0, [r0]
- ldr r1, _0806C374
- adds r2, r0, r1
- movs r3, 0
- ldr r0, [r2, 0x40]
- cmp r3, r0
- bge _0806C382
- mov r1, r12
- lsls r0, r1, 16
- lsrs r6, r0, 16
- adds r1, r2, 0
-_0806C358:
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- beq _0806C378
- ldrb r0, [r1, 0x4]
- cmp r0, r4
- bne _0806C378
- ldrb r0, [r1, 0x5]
- cmp r0, r5
- bne _0806C378
- strh r6, [r1]
- strb r7, [r1, 0x2]
- b _0806C3B8
- .align 2, 0
-_0806C370: .4byte gUnknown_203B418
-_0806C374: .4byte 0x0000057c
-_0806C378:
- adds r1, 0x8
- adds r3, 0x1
- ldr r0, [r2, 0x40]
- cmp r3, r0
- blt _0806C358
-_0806C382:
- ldr r0, [r2, 0x40]
- cmp r0, 0x7
- bgt _0806C3B8
- lsls r0, 3
- adds r0, r2, r0
- movs r1, 0x1
- strb r1, [r0, 0x3]
- ldr r0, [r2, 0x40]
- lsls r0, 3
- adds r0, r2, r0
- strb r4, [r0, 0x4]
- ldr r0, [r2, 0x40]
- lsls r0, 3
- adds r0, r2, r0
- strb r5, [r0, 0x5]
- ldr r0, [r2, 0x40]
- lsls r0, 3
- adds r0, r2, r0
- mov r1, r12
- strh r1, [r0]
- ldr r0, [r2, 0x40]
- lsls r0, 3
- adds r0, r2, r0
- strb r7, [r0, 0x2]
- ldr r0, [r2, 0x40]
- adds r0, 0x1
- str r0, [r2, 0x40]
-_0806C3B8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806C330
-
- thumb_func_start sub_806C3C0
-sub_806C3C0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- ldr r0, _0806C424
- ldr r0, [r0]
- ldr r1, _0806C428
- adds r7, r0, r1
- movs r6, 0
- ldr r0, [r7, 0x40]
- cmp r6, r0
- bge _0806C416
- mov r5, sp
- movs r0, 0
- mov r8, r0
- movs r2, 0
- adds r4, r7, 0
-_0806C3E2:
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- beq _0806C40C
- ldrh r0, [r4]
- strh r0, [r5]
- strh r2, [r5, 0x8]
- ldrb r0, [r4, 0x4]
- strh r0, [r5, 0xC]
- ldrb r0, [r4, 0x5]
- strh r0, [r5, 0xE]
- ldrb r0, [r4, 0x2]
- strb r0, [r5, 0x2]
- str r2, [sp, 0x4]
- mov r1, r8
- strb r1, [r5, 0x10]
- mov r0, sp
- movs r1, 0x1
- str r2, [sp, 0x14]
- bl sub_806B7F8
- ldr r2, [sp, 0x14]
-_0806C40C:
- adds r4, 0x8
- adds r6, 0x1
- ldr r0, [r7, 0x40]
- cmp r6, r0
- blt _0806C3E2
-_0806C416:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806C424: .4byte gUnknown_203B418
-_0806C428: .4byte 0x0000057c
- thumb_func_end sub_806C3C0
-
- thumb_func_start sub_806C42C
-sub_806C42C:
- ldr r0, _0806C43C
- ldr r0, [r0]
- ldr r1, _0806C440
- adds r0, r1
- movs r1, 0
- str r1, [r0, 0x40]
- bx lr
- .align 2, 0
-_0806C43C: .4byte gUnknown_203B418
-_0806C440: .4byte 0x0000057c
- thumb_func_end sub_806C42C
-
- thumb_func_start sub_806C444
-sub_806C444:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r1, 0
- lsls r0, 16
- asrs r6, r0, 16
- adds r0, r6, 0
- bl sub_808DBC0
- adds r5, r0, 0
- movs r4, 0x2
- cmp r4, r7
- bgt _0806C478
- mov r8, sp
-_0806C462:
- mov r0, sp
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_808E010
- mov r1, r8
- ldrh r0, [r1, 0x4]
- adds r5, r0
- adds r4, 0x1
- cmp r4, r7
- ble _0806C462
-_0806C478:
- adds r0, r5, 0
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806C444
-
- thumb_func_start sub_806C488
-sub_806C488:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r1, 0
- mov r8, r2
- lsls r0, 16
- asrs r6, r0, 16
- adds r0, r6, 0
- mov r1, r8
- bl sub_808DC28
- adds r5, r0, 0
- movs r4, 0x2
- cmp r4, r7
- bgt _0806C4C4
- mov r0, sp
- adds r0, 0x6
- add r8, r0
-_0806C4AE:
- mov r0, sp
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_808E010
- mov r1, r8
- ldrb r0, [r1]
- adds r5, r0
- adds r4, 0x1
- cmp r4, r7
- ble _0806C4AE
-_0806C4C4:
- adds r0, r5, 0
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806C488
-
- thumb_func_start sub_806C4D4
-sub_806C4D4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r1, 0
- mov r8, r2
- lsls r0, 16
- asrs r6, r0, 16
- adds r0, r6, 0
- mov r1, r8
- bl sub_808DC48
- adds r5, r0, 0
- movs r4, 0x2
- cmp r4, r7
- bgt _0806C50E
- add r0, sp, 0x8
- add r8, r0
-_0806C4F8:
- mov r0, sp
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_808E010
- mov r1, r8
- ldrb r0, [r1]
- adds r5, r0
- adds r4, 0x1
- cmp r4, r7
- ble _0806C4F8
-_0806C50E:
- adds r0, r5, 0
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806C4D4
-
- thumb_func_start sub_806C51C
-sub_806C51C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- mov r8, r0
- ldr r0, _0806C544
- ldr r1, [r0]
- ldr r2, _0806C548
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, r6
- bne _0806C54C
- movs r3, 0
- str r3, [sp, 0x38]
- b _0806C554
- .align 2, 0
-_0806C544: .4byte gUnknown_203B418
-_0806C548: .4byte 0x000181f8
-_0806C54C:
- ldr r4, _0806C5AC
- adds r0, r1, r4
- ldrb r0, [r0]
- str r0, [sp, 0x38]
-_0806C554:
- mov r0, r8
- adds r0, 0xC8
- ldrb r1, [r0]
- str r0, [sp, 0x40]
- cmp r1, 0x2
- bne _0806C564
- movs r7, 0x1
- str r7, [sp, 0x38]
-_0806C564:
- adds r0, r6, 0
- adds r0, 0x6B
- adds r1, r6, 0
- adds r1, 0x6A
- ldrb r2, [r0]
- str r0, [sp, 0x48]
- mov r9, r1
- adds r5, r6, 0
- adds r5, 0x6D
- adds r0, 0x1
- str r0, [sp, 0x4C]
- adds r4, r6, 0
- adds r4, 0x6F
- subs r1, 0x47
- str r1, [sp, 0x44]
- mov r3, r9
- ldrb r3, [r3]
- cmp r2, r3
- bne _0806C676
- ldrb r0, [r5]
- ldr r7, [sp, 0x4C]
- ldrb r7, [r7]
- cmp r0, r7
- bne _0806C654
- ldrb r0, [r4]
- cmp r0, 0
- bne _0806C654
- movs r2, 0
- ldrh r1, [r6, 0x28]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _0806C5B0
- movs r0, 0
- b _0806C5B2
- .align 2, 0
-_0806C5AC: .4byte 0x00018210
-_0806C5B0:
- lsrs r0, r1, 15
-_0806C5B2:
- cmp r0, 0
- bne _0806C5B8
- movs r2, 0x1
-_0806C5B8:
- adds r0, r6, 0
- adds r0, 0x23
- str r0, [sp, 0x44]
- cmp r2, 0
- beq _0806C654
- adds r0, r6, 0
- bl sub_806CEBC
- lsls r0, 24
- lsrs r3, r0, 24
- adds r1, r6, 0
- adds r1, 0x21
- movs r0, 0x1
- strb r0, [r1]
- mov r1, r8
- adds r1, 0xFE
- ldrb r0, [r1]
- cmp r0, 0x63
- bne _0806C620
- ldr r1, [sp, 0x48]
- ldrb r0, [r1]
- cmp r0, 0xC
- bhi _0806C61C
- mov r0, r8
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806C5F4
- movs r2, 0x2
- b _0806C600
-_0806C5F4:
- ldr r2, [sp, 0x44]
- ldrb r0, [r2]
- movs r2, 0x1
- cmp r0, 0x2
- bhi _0806C600
- movs r2, 0
-_0806C600:
- ldr r1, _0806C618
- movs r0, 0xD
- muls r0, r2
- ldr r7, [sp, 0x48]
- ldrb r7, [r7]
- adds r0, r7
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _0806C622
- adds r0, r3, 0
- b _0806C622
- .align 2, 0
-_0806C618: .4byte gUnknown_8106EC8
-_0806C61C:
- movs r0, 0x63
- b _0806C622
-_0806C620:
- ldrb r0, [r1]
-_0806C622:
- cmp r0, 0x63
- beq _0806C654
- mov r1, r9
- strb r0, [r1]
- ldrb r1, [r5]
- movs r0, 0x7
- ands r0, r1
- ldr r2, [sp, 0x4C]
- strb r0, [r2]
- movs r0, 0x1
- strb r0, [r4]
- mov r7, r9
- ldrb r0, [r7]
- cmp r0, 0x6
- bne _0806C654
- adds r1, r6, 0
- adds r1, 0x6E
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- bne _0806C654
- strb r3, [r7]
-_0806C654:
- ldr r1, [sp, 0x48]
- ldrb r0, [r1]
- mov r2, r9
- ldrb r2, [r2]
- cmp r0, r2
- bne _0806C676
- ldrb r0, [r5]
- ldr r3, [sp, 0x4C]
- ldrb r3, [r3]
- cmp r0, r3
- bne _0806C676
- ldrb r0, [r4]
- movs r7, 0x28
- adds r7, r6
- mov r10, r7
- cmp r0, 0
- beq _0806C714
-_0806C676:
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, [sp, 0x48]
- strb r0, [r2]
- ldr r3, [sp, 0x4C]
- mov r10, r3
- ldrb r0, [r3]
- strb r0, [r5]
- movs r7, 0
- strb r7, [r4]
- adds r0, r6, 0
- adds r0, 0x68
- movs r1, 0
- ldrsh r7, [r0, r1]
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- mov r4, r9
- ldrb r1, [r4]
- bl sub_808DA44
- lsls r0, 24
- cmp r0, 0
- beq _0806C6A8
- movs r7, 0
-_0806C6A8:
- ldr r0, [sp, 0x38]
- cmp r0, 0
- bne _0806C6D6
- bl Random
- movs r4, 0x3
- ands r4, r0
- adds r5, r6, 0
- adds r5, 0x28
- ldr r1, [r6, 0x64]
- mov r3, r9
- ldrb r2, [r3]
- mov r0, r10
- ldrb r3, [r0]
- str r7, [sp]
- str r4, [sp, 0x4]
- ldr r4, [sp, 0x38]
- str r4, [sp, 0x8]
- adds r0, r5, 0
- bl sub_80053AC
- mov r10, r5
- b _0806C704
-_0806C6D6:
- ldr r0, _0806C774
- bl sub_80687D0
- adds r5, r0, 0
- bl Random
- movs r1, 0x3
- ands r1, r0
- adds r4, r6, 0
- adds r4, 0x28
- mov r0, r9
- ldrb r2, [r0]
- ldr r0, [sp, 0x4C]
- ldrb r3, [r0]
- str r7, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80053AC
- mov r10, r4
-_0806C704:
- mov r2, r9
- ldrb r0, [r2]
- cmp r0, 0x6
- beq _0806C714
- adds r1, r6, 0
- adds r1, 0x6E
- movs r0, 0
- strb r0, [r1]
-_0806C714:
- ldr r0, _0806C778
- ldr r1, [r0]
- ldr r3, _0806C77C
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806C784
- ldr r4, [sp, 0x48]
- ldrb r0, [r4]
- cmp r0, 0x7
- bne _0806C73C
- mov r7, r8
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_808DB14
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0806C7E2
-_0806C73C:
- movs r0, 0xAE
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806C76A
- movs r0, 0xB0
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806C7E2
- ldr r0, _0806C780
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806C76A
- mov r0, r10
- bl sub_80054BC
- mov r0, r10
- bl sub_80054BC
-_0806C76A:
- mov r0, r10
- bl sub_80054BC
- b _0806C7E2
- .align 2, 0
-_0806C774: .4byte 0x000001a5
-_0806C778: .4byte gUnknown_203B418
-_0806C77C: .4byte 0x0001356c
-_0806C780: .4byte 0x0000015f
-_0806C784:
- mov r0, r8
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806C7E2
- cmp r0, 0x6
- beq _0806C7E2
- ldr r2, _0806C7B4
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806C7BC
- ldr r3, _0806C7B8
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806C7BC
- mov r0, r10
- bl sub_80054BC
- mov r0, r10
- bl sub_80054BC
- b _0806C7DC
- .align 2, 0
-_0806C7B4: .4byte 0x0000066c
-_0806C7B8: .4byte 0x0001c05f
-_0806C7BC:
- ldr r4, [sp, 0x48]
- ldrb r0, [r4]
- cmp r0, 0
- beq _0806C7C8
- cmp r0, 0x7
- bne _0806C7DC
-_0806C7C8:
- ldr r0, [r6, 0x70]
- movs r7, 0x82
- lsls r7, 1
- adds r0, r7
- ldr r0, [r0]
- cmp r0, 0x1
- ble _0806C7DC
- mov r0, r10
- bl sub_80054BC
-_0806C7DC:
- mov r0, r10
- bl sub_80054BC
-_0806C7E2:
- ldr r1, [r6, 0xC]
- ldr r0, [r6, 0x14]
- cmp r1, r0
- bne _0806C800
- ldr r1, [r6, 0x10]
- ldr r0, [r6, 0x18]
- cmp r1, r0
- bne _0806C800
- ldr r1, [sp, 0x44]
- ldrb r0, [r1]
- cmp r0, 0x9
- bhi _0806C806
- adds r0, 0x1
- strb r0, [r1]
- b _0806C806
-_0806C800:
- movs r0, 0
- ldr r2, [sp, 0x44]
- strb r0, [r2]
-_0806C806:
- ldr r0, [r6, 0xC]
- str r0, [r6, 0x14]
- ldr r2, [r6, 0x10]
- str r2, [r6, 0x18]
- cmp r0, 0
- bge _0806C814
- adds r0, 0xFF
-_0806C814:
- asrs r1, r0, 8
- ldr r0, _0806C88C
- ldr r3, [r0]
- ldr r4, _0806C890
- adds r0, r3, r4
- movs r7, 0
- ldrsh r0, [r0, r7]
- subs r1, r0
- str r1, [sp, 0x2C]
- ldr r0, [r6, 0x1C]
- subs r0, r2, r0
- movs r1, 0xBA
- lsls r1, 1
- add r1, r8
- ldr r1, [r1]
- subs r0, r1
- cmp r0, 0
- bge _0806C83A
- adds r0, 0xFF
-_0806C83A:
- asrs r1, r0, 8
- ldr r4, _0806C894
- adds r0, r3, r4
- movs r7, 0
- ldrsh r3, [r0, r7]
- subs r1, r3
- str r1, [sp, 0x30]
- adds r0, r2, 0
- cmp r0, 0
- bge _0806C850
- adds r0, 0xFF
-_0806C850:
- asrs r0, 8
- subs r0, r3
- mov r9, r0
- lsrs r0, 31
- add r0, r9
- asrs r0, 1
- mov r9, r0
- movs r0, 0xAB
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806C870
- movs r0, 0x1
- negs r0, r0
- add r9, r0
-_0806C870:
- movs r0, 0xAE
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806C898
- adds r0, r6, 0
- bl sub_8042768
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x34]
- b _0806C8D8
- .align 2, 0
-_0806C88C: .4byte gUnknown_203B418
-_0806C890: .4byte 0x000181f0
-_0806C894: .4byte 0x000181f2
-_0806C898:
- ldr r0, _0806C8B8
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806C8C6
- ldr r0, _0806C8BC
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0806C8C0
- ldr r1, [sp, 0x2C]
- adds r1, 0x1
- str r1, [sp, 0x2C]
- b _0806C8C6
- .align 2, 0
-_0806C8B8: .4byte 0x0000015d
-_0806C8BC: .4byte gUnknown_202EDCC
-_0806C8C0:
- ldr r2, [sp, 0x2C]
- subs r2, 0x1
- str r2, [sp, 0x2C]
-_0806C8C6:
- movs r1, 0
- movs r0, 0xAF
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806C8D6
- movs r1, 0x1
-_0806C8D6:
- str r1, [sp, 0x34]
-_0806C8D8:
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _0806C8E0
- adds r0, 0xFF
-_0806C8E0:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _0806C998
- ldr r2, [sp, 0x28]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x28]
- ldr r1, [r6, 0x10]
- ldr r0, [r6, 0x1C]
- subs r1, r0
- movs r5, 0xBA
- lsls r5, 1
- add r5, r8
- ldr r0, [r5]
- subs r0, r1, r0
- cmp r0, 0
- bge _0806C904
- adds r0, 0xFF
-_0806C904:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _0806C99C
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x28]
- add r0, sp, 0xC
- mov r1, r10
- bl sub_8005700
- mov r4, r8
- adds r4, 0x98
- ldr r0, [r4]
- add r1, sp, 0x28
- ldr r2, _0806C9A0
- ldr r2, [r2]
- ldr r3, _0806C9A4
- adds r2, r3
- ldrb r3, [r2]
- add r2, sp, 0xC
- bl sub_800F958
- adds r0, r6, 0
- bl sub_804187C
- adds r2, r0, 0
- ldr r4, [r4]
- mov r0, r8
- movs r1, 0x4
- ldrsh r7, [r0, r1]
- movs r3, 0
- ldr r0, [sp, 0x34]
- cmp r0, 0
- beq _0806C958
- movs r0, 0xA6
- lsls r0, 1
- add r0, r8
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r3, r0, 31
-_0806C958:
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_800F75C
- adds r0, r6, 0
- mov r1, r9
- bl sub_8042EC8
- movs r0, 0xAE
- lsls r0, 1
- add r0, r8
- ldrb r1, [r0]
- cmp r1, 0
- bne _0806C9BA
- mov r0, r8
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806C9AC
- ldr r1, [r5]
- ldr r0, _0806C9A8
- cmp r1, r0
- bgt _0806C9BA
- movs r2, 0x80
- lsls r2, 4
- adds r0, r1, r2
- str r0, [r5]
- movs r1, 0xC8
- lsls r1, 8
- cmp r0, r1
- ble _0806C9BA
- b _0806C9B8
- .align 2, 0
-_0806C998: .4byte 0xffff0000
-_0806C99C: .4byte 0x0000ffff
-_0806C9A0: .4byte gUnknown_203B418
-_0806C9A4: .4byte 0x00018208
-_0806C9A8: .4byte 0x0000c7ff
-_0806C9AC:
- ldr r0, [r5]
- ldr r3, _0806CA5C
- adds r0, r3
- str r0, [r5]
- cmp r0, 0
- bge _0806C9BA
-_0806C9B8:
- str r1, [r5]
-_0806C9BA:
- ldr r4, [sp, 0x34]
- cmp r4, 0
- bne _0806C9C2
- b _0806CBDE
-_0806C9C2:
- movs r4, 0
- adds r0, r6, 0
- bl sub_806CF54
- lsls r0, 24
- lsrs r7, r0, 24
- add r1, sp, 0x1C
- ldr r2, _0806CA60
- strh r2, [r1]
- ldr r0, _0806CA64
- strh r0, [r1, 0x2]
- strh r2, [r1, 0x4]
- strh r4, [r1, 0x6]
- strh r4, [r1, 0x8]
- ldr r0, _0806CA68
- ldr r0, [r0]
- ldr r2, _0806CA6C
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 10
- strh r0, [r1, 0xA]
- mov r3, r8
- ldrb r0, [r3, 0x6]
- adds r5, r1, 0
- cmp r0, 0
- beq _0806CA08
- ldr r1, _0806CA70
- adds r0, r1, 0
- ldrh r2, [r3, 0x4]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0806CA08
- movs r4, 0x1
-_0806CA08:
- mov r0, r8
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806CA22
- ldr r0, _0806CA68
- ldr r0, [r0]
- ldr r3, _0806CA74
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806CA22
- movs r4, 0x1
-_0806CA22:
- cmp r4, 0
- beq _0806CA32
- ldrh r1, [r5, 0x6]
- movs r4, 0x80
- lsls r4, 3
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r5, 0x6]
-_0806CA32:
- movs r0, 0
- str r0, [sp, 0x3C]
- mov r1, r8
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _0806CA46
- ldr r2, [sp, 0x40]
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _0806CA4A
-_0806CA46:
- movs r3, 0x1
- str r3, [sp, 0x3C]
-_0806CA4A:
- mov r0, r8
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0806CA58
- cmp r0, 0x47
- bne _0806CA78
-_0806CA58:
- movs r0, 0x1
- b _0806CA7A
- .align 2, 0
-_0806CA5C: .4byte 0xfffff400
-_0806CA60: .4byte 0x0000f3ff
-_0806CA64: .4byte 0x0000ffff
-_0806CA68: .4byte gUnknown_203B418
-_0806CA6C: .4byte 0x00018208
-_0806CA70: .4byte 0xfffffe5f
-_0806CA74: .4byte 0x0001820f
-_0806CA78:
- movs r0, 0
-_0806CA7A:
- cmp r0, 0
- bne _0806CA88
- mov r0, r8
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806CA8C
-_0806CA88:
- movs r4, 0x1
- str r4, [sp, 0x3C]
-_0806CA8C:
- mov r0, r8
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0806CB16
- mov r0, r8
- adds r0, 0xB0
- ldrb r1, [r0]
- cmp r1, 0x6
- beq _0806CAAC
- subs r0, 0x4
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0806CAAC
- cmp r1, 0x2
- bne _0806CABA
-_0806CAAC:
- ldr r0, _0806CAC4
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- ldr r1, [sp, 0x2C]
- adds r1, r0
- str r1, [sp, 0x2C]
-_0806CABA:
- ldr r2, [sp, 0x38]
- cmp r2, 0
- beq _0806CACC
- ldr r0, _0806CAC8
- b _0806CAD2
- .align 2, 0
-_0806CAC4: .4byte gUnknown_202EDCC
-_0806CAC8: .4byte 0x000001a5
-_0806CACC:
- mov r3, r8
- movs r4, 0x4
- ldrsh r0, [r3, r4]
-_0806CAD2:
- movs r1, 0
- bl sub_808DD68
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r6, 0
- adds r0, 0x22
- ldrb r1, [r0]
- cmp r1, 0
- bne _0806CAF8
- str r2, [sp]
- str r5, [sp, 0x4]
- mov r0, r10
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x30]
- mov r3, r9
- bl sub_800558C
- b _0806CB16
-_0806CAF8:
- cmp r1, 0x1
- bne _0806CB16
- ldr r0, _0806CBF0
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _0806CB16
- str r2, [sp]
- str r5, [sp, 0x4]
- mov r0, r10
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x30]
- mov r3, r9
- bl sub_800558C
-_0806CB16:
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _0806CB1E
- adds r0, 0xFF
-_0806CB1E:
- asrs r0, 8
- ldrh r1, [r6, 0x38]
- adds r0, r1
- movs r1, 0xB8
- lsls r1, 1
- add r1, r8
- strh r0, [r1]
- ldr r0, [r6, 0x10]
- cmp r0, 0
- bge _0806CB34
- adds r0, 0xFF
-_0806CB34:
- asrs r0, 8
- ldrh r2, [r6, 0x3A]
- adds r0, r2
- movs r3, 0xB9
- lsls r3, 1
- add r3, r8
- strh r0, [r3]
- movs r4, 0
- ldrsh r2, [r1, r4]
- ldr r0, _0806CBF4
- ldr r1, [r0]
- ldr r4, _0806CBF8
- adds r0, r1, r4
- movs r4, 0
- ldrsh r0, [r0, r4]
- subs r4, r2, r0
- movs r0, 0
- ldrsh r2, [r3, r0]
- ldr r3, _0806CBFC
- adds r1, r3
- movs r3, 0
- ldrsh r0, [r1, r3]
- subs r5, r2, r0
- movs r0, 0x20
- negs r0, r0
- cmp r4, r0
- blt _0806CBDE
- cmp r5, r0
- blt _0806CBDE
- ldr r0, _0806CC00
- cmp r4, r0
- bgt _0806CBDE
- cmp r5, 0xBF
- bgt _0806CBDE
- cmp r7, 0x6
- beq _0806CBDE
- adds r0, r6, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806CBDE
- ldr r0, [sp, 0x3C]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- ldr r1, _0806CC04
- adds r0, r1
- adds r3, r2, r0
- movs r0, 0xAB
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806CBDE
- movs r2, 0x8
- ldrsh r1, [r3, r2]
- adds r1, r4, r1
- ldr r0, _0806CC08
- ands r1, r0
- ldrh r2, [r3, 0x2]
- movs r0, 0xFE
- lsls r0, 8
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x2]
- movs r4, 0xA
- ldrsh r1, [r3, r4]
- adds r1, r5, r1
- ldr r0, _0806CC0C
- ands r1, r0
- lsls r1, 4
- ldrh r2, [r3, 0x6]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x6]
- adds r0, r3, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_0806CBDE:
- add sp, 0x50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CBF0: .4byte gUnknown_202EDCC
-_0806CBF4: .4byte gUnknown_203B418
-_0806CBF8: .4byte 0x000181f0
-_0806CBFC: .4byte 0x000181f2
-_0806CC00: .4byte 0x0000010f
-_0806CC04: .4byte gUnknown_202ED28
-_0806CC08: .4byte 0x000001ff
-_0806CC0C: .4byte 0x00000fff
- thumb_func_end sub_806C51C
-
- thumb_func_start sub_806CC10
-sub_806CC10:
- push {r4,r5,lr}
- movs r5, 0
-_0806CC14:
- ldr r0, _0806CC68
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806CC6C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806CC5C
- ldr r2, [r4, 0x70]
- movs r1, 0xB3
- lsls r1, 1
- adds r0, r2, r1
- ldrb r1, [r0]
- cmp r1, 0
- beq _0806CC5C
- subs r1, 0x1
- strb r1, [r0]
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _0806CC5C
- adds r0, r2, 0
- adds r0, 0x46
- ldrb r2, [r0]
- subs r2, 0x1
- movs r0, 0x7
- ands r2, r0
- adds r0, r4, 0
- movs r1, 0
- bl sub_806CDD4
-_0806CC5C:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806CC14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CC68: .4byte gUnknown_203B418
-_0806CC6C: .4byte 0x000135cc
- thumb_func_end sub_806CC10
-
- thumb_func_start sub_806CC70
-sub_806CC70:
- push {r4,r5,lr}
- movs r5, 0
-_0806CC74:
- ldr r0, _0806CCAC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806CCB0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806CCA0
- adds r0, r4, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806CCB4
-_0806CCA0:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806CC74
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CCAC: .4byte gUnknown_203B418
-_0806CCB0: .4byte 0x000135cc
- thumb_func_end sub_806CC70
-
- thumb_func_start sub_806CCB4
-sub_806CCB4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r7, [r5, 0x70]
- ldr r0, _0806CD40
- ldr r0, [r0]
- ldr r2, _0806CD44
- adds r1, r0, r2
- ldrb r6, [r1]
- ldr r3, _0806CD48
- adds r0, r3
- ldr r0, [r0]
- cmp r5, r0
- bne _0806CCDC
- movs r6, 0
-_0806CCDC:
- adds r0, r5, 0
- adds r0, 0x6B
- movs r3, 0
- strb r4, [r0]
- adds r2, r5, 0
- adds r2, 0x6A
- strb r4, [r2]
- adds r4, r7, 0
- adds r4, 0x46
- ldrb r0, [r4]
- adds r1, r5, 0
- adds r1, 0x6D
- strb r0, [r1]
- ldrb r0, [r4]
- subs r1, 0x1
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x6F
- strb r3, [r0]
- subs r0, 0x7
- movs r3, 0
- ldrsh r4, [r0, r3]
- mov r9, r4
- adds r0, r7, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- adds r7, r2, 0
- mov r8, r1
- cmp r0, 0x2
- beq _0806CD4C
- cmp r6, 0
- bne _0806CD4C
- bl Random
- movs r4, 0x3
- ands r4, r0
- adds r0, r5, 0
- adds r0, 0x28
- ldr r1, [r5, 0x64]
- ldrb r2, [r7]
- mov r7, r8
- ldrb r3, [r7]
- mov r7, r9
- str r7, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- bl sub_80053AC
- b _0806CD76
- .align 2, 0
-_0806CD40: .4byte gUnknown_203B418
-_0806CD44: .4byte 0x00018210
-_0806CD48: .4byte 0x000181f8
-_0806CD4C:
- ldr r0, _0806CD8C
- bl sub_80687D0
- adds r4, r0, 0
- bl Random
- movs r1, 0x3
- ands r1, r0
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r2, [r7]
- mov r6, r8
- ldrb r3, [r6]
- mov r7, r9
- str r7, [sp]
- str r1, [sp, 0x4]
- movs r1, 0
- str r1, [sp, 0x8]
- adds r1, r4, 0
- bl sub_80053AC
-_0806CD76:
- adds r1, r5, 0
- adds r1, 0x6E
- movs r0, 0
- strb r0, [r1]
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CD8C: .4byte 0x000001a5
- thumb_func_end sub_806CCB4
-
- thumb_func_start sub_806CD90
-sub_806CD90:
- push {r4,r5,lr}
- movs r5, 0
-_0806CD94:
- ldr r0, _0806CDCC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806CDD0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806CDC0
- adds r0, r4, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806CCB4
-_0806CDC0:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806CD94
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CDCC: .4byte gUnknown_203B418
-_0806CDD0: .4byte 0x000135cc
- thumb_func_end sub_806CD90
-
- thumb_func_start sub_806CDD4
-sub_806CDD4:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r2, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806CDF4
- adds r0, r4, 0
- adds r0, 0x6A
- strb r5, [r0]
- cmp r6, 0x7
- bhi _0806CDF4
- adds r0, 0x2
- strb r6, [r0]
-_0806CDF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806CDD4
-
- thumb_func_start sub_806CDFC
-sub_806CDFC:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r2, 0
- lsls r1, 24
- lsrs r5, r1, 24
- adds r7, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806CE2E
- adds r0, r4, 0
- adds r0, 0x6B
- ldrb r0, [r0]
- cmp r0, r5
- bne _0806CE24
- adds r0, r4, 0
- adds r0, 0x6D
- ldrb r0, [r0]
- cmp r0, r6
- beq _0806CE2E
-_0806CE24:
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_806CDD4
-_0806CE2E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806CDFC
-
- thumb_func_start sub_806CE34
-sub_806CE34:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806CE62
- adds r0, r4, 0
- bl sub_806CEBC
- adds r1, r4, 0
- adds r1, 0x6A
- strb r0, [r1]
- cmp r5, 0x7
- bhi _0806CE62
- ldr r0, [r4, 0x70]
- movs r1, 0x7
- ands r1, r5
- adds r0, 0x46
- strb r1, [r0]
- adds r0, r4, 0
- adds r0, 0x6C
- strb r1, [r0]
-_0806CE62:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_806CE34
-
- thumb_func_start sub_806CE68
-sub_806CE68:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806CE8C
- adds r0, r4, 0
- bl sub_806CEBC
- adds r1, r4, 0
- adds r1, 0x6A
- strb r0, [r1]
- cmp r5, 0x7
- bhi _0806CE8C
- adds r0, r4, 0
- adds r0, 0x6C
- strb r5, [r0]
-_0806CE8C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_806CE68
-
- thumb_func_start sub_806CE94
-sub_806CE94:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806CEB4
- adds r1, r4, 0
- adds r1, 0x6A
- movs r0, 0x6
- strb r0, [r1]
- cmp r5, 0x7
- bhi _0806CEB4
- adds r0, r4, 0
- adds r0, 0x6C
- strb r5, [r0]
-_0806CEB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_806CE94
-
- thumb_func_start sub_806CEBC
-sub_806CEBC:
- push {lr}
- ldr r0, [r0, 0x70]
- adds r1, r0, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806CED2
- cmp r0, 0x5
- beq _0806CED2
- cmp r0, 0x3
- bne _0806CEE8
-_0806CED2:
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r0, 0xB9
- bne _0806CEE4
- adds r0, r1, 0
- adds r0, 0xA9
- ldrb r0, [r0]
- cmp r0, 0x7F
- beq _0806CEF2
-_0806CEE4:
- movs r0, 0x5
- b _0806CEF8
-_0806CEE8:
- adds r0, r1, 0
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806CEF6
-_0806CEF2:
- movs r0, 0x7
- b _0806CEF8
-_0806CEF6:
- movs r0, 0xB
-_0806CEF8:
- pop {r1}
- bx r1
- thumb_func_end sub_806CEBC
-
- thumb_func_start sub_806CEFC
-sub_806CEFC:
- push {r4,lr}
- adds r4, r1, 0
- ldr r2, [r0, 0x70]
- movs r3, 0x7
- ands r1, r3
- adds r2, 0x46
- strb r1, [r2]
- movs r1, 0x7
- ands r1, r4
- bl sub_806CE68
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_806CEFC
-
- thumb_func_start sub_806CF18
-sub_806CF18:
- push {r4-r6,lr}
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806CF4C
- ldr r6, [r4, 0x70]
- movs r5, 0
- b _0806CF2E
-_0806CF2C:
- adds r5, 0x1
-_0806CF2E:
- cmp r5, 0x63
- bgt _0806CF4C
- movs r0, 0x21
- bl sub_803E46C
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- adds r1, r4, 0
- adds r1, 0x6B
- ldrb r1, [r1]
- bl sub_808DA44
- lsls r0, 24
- cmp r0, 0
- bne _0806CF2C
-_0806CF4C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806CF18
-
- thumb_func_start sub_806CF54
-sub_806CF54:
- ldr r0, [r0, 0x70]
- movs r1, 0x81
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- thumb_func_end sub_806CF54
-
- thumb_func_start sub_806CF60
-sub_806CF60:
- push {r4,r5,lr}
- movs r5, 0
-_0806CF64:
- ldr r0, _0806CF90
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0806CF94
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806CF84
- adds r0, r4, 0
- bl sub_806CF98
-_0806CF84:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0806CF64
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0806CF90: .4byte gUnknown_203B418
-_0806CF94: .4byte 0x000135cc
- thumb_func_end sub_806CF60
-
- thumb_func_start sub_806CF98
-sub_806CF98:
- push {r4-r7,lr}
- adds r4, r0, 0
- bl sub_8045128
- ldrh r0, [r0]
- movs r5, 0x3
- ands r5, r0
- adds r6, r5, 0
- ldr r7, [r4, 0x70]
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_808DAE4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r5, 0x3
- bne _0806CFBE
- movs r0, 0x6
- b _0806CFF8
-_0806CFBE:
- cmp r5, 0x1
- bne _0806CFCE
- bl sub_804AF74
- lsls r0, 24
- cmp r0, 0
- beq _0806CFEE
- b _0806CFE8
-_0806CFCE:
- cmp r6, 0x2
- bne _0806CFEE
- ldr r1, _0806D000
- ldr r0, _0806D004
- ldr r0, [r0]
- ldr r2, _0806D008
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806CFEE
-_0806CFE8:
- ldr r0, _0806D00C
- adds r0, r4, r0
- ldrb r4, [r0]
-_0806CFEE:
- movs r1, 0x81
- lsls r1, 2
- adds r0, r7, r1
- strb r4, [r0]
- adds r0, r4, 0
-_0806CFF8:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806D000: .4byte gUnknown_810ACC0
-_0806D004: .4byte gUnknown_203B418
-_0806D008: .4byte 0x00003a0e
-_0806D00C: .4byte gUnknown_8106EEF
- thumb_func_end sub_806CF98
-
- thumb_func_start sub_806D010
-sub_806D010:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r2
- ldr r0, [sp, 0x40]
- lsls r0, 16
- asrs r0, 16
- mov r10, r0
- movs r7, 0
- ldr r0, [sp, 0x3C]
- str r0, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- ldr r2, [sp, 0x48]
- str r2, [sp, 0x8]
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_806D528
- lsls r0, 24
- cmp r0, 0
- beq _0806D04A
- b _0806D514
-_0806D04A:
- mov r3, r8
- ldrb r0, [r3, 0xF]
- cmp r0, 0
- beq _0806D054
- b _0806D514
-_0806D054:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806D062
- b _0806D514
-_0806D062:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806D070
- b _0806D514
-_0806D070:
- adds r0, r6, 0
- bl sub_80450F8
- cmp r0, 0x1
- beq _0806D07C
- b _0806D514
-_0806D07C:
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- beq _0806D088
- b _0806D514
-_0806D088:
- ldr r0, [sp, 0x44]
- mov r9, r0
- adds r0, r5, 0
- bl sub_8070CD0
- lsls r0, 24
- cmp r0, 0
- bne _0806D0A2
- ldr r0, [r5, 0x70]
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806D0A6
-_0806D0A2:
- movs r1, 0
- mov r9, r1
-_0806D0A6:
- mov r2, r9
- cmp r2, 0
- beq _0806D100
- movs r3, 0x4
- ldrsh r1, [r6, r3]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0806D0BC
- negs r1, r1
-_0806D0BC:
- cmp r1, 0x1
- bgt _0806D100
- movs r3, 0x6
- ldrsh r1, [r6, r3]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0806D0D0
- negs r1, r1
-_0806D0D0:
- cmp r1, 0x1
- bgt _0806D100
- cmp r6, r5
- beq _0806D100
- mov r3, r8
- ldrb r0, [r3, 0xC]
- bl sub_8092354
- lsls r0, 24
- cmp r0, 0
- beq _0806D100
- ldr r0, [r5, 0x70]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xD
- bne _0806D100
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8042730
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_807F43C
-_0806D100:
- ldr r0, [r5, 0x70]
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0xC
- bne _0806D118
- ldr r0, _0806D3BC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_8077084
-_0806D118:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806D126
- b _0806D514
-_0806D126:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806D134
- b _0806D514
-_0806D134:
- mov r0, r9
- cmp r0, 0
- beq _0806D216
- cmp r6, r5
- beq _0806D216
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- subs r1, r0
- cmp r1, 0
- bge _0806D14E
- negs r1, r1
-_0806D14E:
- cmp r1, 0x1
- bgt _0806D216
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0806D162
- negs r1, r1
-_0806D162:
- cmp r1, 0x1
- bgt _0806D216
- mov r3, r8
- ldrb r0, [r3, 0xC]
- bl sub_8092354
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r5, 0x70]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0806D188
- cmp r4, 0
- beq _0806D188
- adds r0, r5, 0
- bl sub_8041B18
- adds r7, 0x4
-_0806D188:
- ldr r0, [r5, 0x70]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _0806D19E
- cmp r4, 0
- beq _0806D19E
- adds r0, r5, 0
- bl sub_8041B18
- adds r7, 0x1
-_0806D19E:
- ldr r0, [r5, 0x70]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _0806D1B4
- cmp r4, 0
- bne _0806D1B4
- adds r0, r5, 0
- bl sub_8041B90
- adds r7, 0x4
-_0806D1B4:
- adds r0, r5, 0
- movs r1, 0x12
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D1C4
- adds r7, 0x2
-_0806D1C4:
- cmp r7, 0
- beq _0806D216
- ldr r0, _0806D3C0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- mov r1, r8
- ldr r0, [r1]
- muls r0, r7
- cmp r0, 0
- bge _0806D1E0
- adds r0, 0x3
-_0806D1E0:
- asrs r0, 2
- str r0, [sp, 0xC]
- add r2, sp, 0xC
- mov r3, r8
- ldrb r0, [r3, 0xC]
- movs r1, 0
- strb r0, [r2, 0xC]
- movs r0, 0x6
- str r0, [sp, 0x10]
- movs r0, 0x2
- str r0, [sp, 0x14]
- adds r0, r2, 0
- strb r1, [r0, 0xD]
- strb r1, [r0, 0xE]
- strb r1, [r0, 0xF]
- ldr r0, [sp, 0x3C]
- str r0, [sp]
- mov r1, r10
- str r1, [sp, 0x4]
- ldr r2, [sp, 0x48]
- str r2, [sp, 0x8]
- adds r0, r5, 0
- adds r1, r6, 0
- add r2, sp, 0xC
- movs r3, 0
- bl sub_806D528
-_0806D216:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806D224
- b _0806D514
-_0806D224:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806D232
- b _0806D514
-_0806D232:
- mov r3, r9
- cmp r3, 0
- bne _0806D23A
- b _0806D48A
-_0806D23A:
- cmp r6, r5
- bne _0806D240
- b _0806D48A
-_0806D240:
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0806D250
- negs r1, r1
-_0806D250:
- cmp r1, 0x1
- ble _0806D256
- b _0806D48A
-_0806D256:
- movs r3, 0x6
- ldrsh r1, [r6, r3]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0806D266
- negs r1, r1
-_0806D266:
- cmp r1, 0x1
- ble _0806D26C
- b _0806D48A
-_0806D26C:
- mov r3, r8
- ldrb r0, [r3, 0xC]
- bl sub_8092354
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, [r6, 0x70]
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D2C2
- adds r0, r6, 0
- movs r1, 0xA
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _0806D2C2
- adds r0, r6, 0
- movs r1, 0x37
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0806D2C2
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D3C4
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D2C2
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r2]
-_0806D2C2:
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D2EE
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D3C8
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D2EE
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r2]
-_0806D2EE:
- adds r0, r5, 0
- movs r1, 0x17
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D328
- adds r0, r6, 0
- movs r1, 0x11
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0806D328
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D3CC
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D328
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- movs r0, 0x4
- orrs r0, r1
- strh r0, [r2]
-_0806D328:
- adds r0, r5, 0
- movs r1, 0x20
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D358
- cmp r7, 0
- beq _0806D358
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D3D0
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D358
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r2]
-_0806D358:
- adds r0, r5, 0
- movs r1, 0x27
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D384
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D3D4
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D384
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- movs r0, 0x20
- orrs r0, r1
- strh r0, [r2]
-_0806D384:
- adds r0, r5, 0
- movs r1, 0x3D
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D3FA
- cmp r7, 0
- beq _0806D3FA
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D3D8
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D3FA
- movs r0, 0x3
- bl sub_8084100
- cmp r0, 0
- bgt _0806D3DC
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- movs r0, 0x40
- b _0806D3F6
- .align 2, 0
-_0806D3BC: .4byte gUnknown_8106A4C
-_0806D3C0: .4byte gUnknown_80FCFA4
-_0806D3C4: .4byte gUnknown_80F4E10
-_0806D3C8: .4byte gUnknown_80F4E12
-_0806D3CC: .4byte gUnknown_80F4E14
-_0806D3D0: .4byte gUnknown_80F4E16
-_0806D3D4: .4byte gUnknown_80F4E18
-_0806D3D8: .4byte gUnknown_80F4E1A
-_0806D3DC:
- cmp r0, 0x1
- bgt _0806D3EC
- movs r0, 0xBC
- lsls r0, 1
- adds r2, r4, r0
- ldrh r1, [r2]
- movs r0, 0x10
- b _0806D3F6
-_0806D3EC:
- movs r1, 0xBC
- lsls r1, 1
- adds r2, r4, r1
- ldrh r1, [r2]
- movs r0, 0x80
-_0806D3F6:
- orrs r0, r1
- strh r0, [r2]
-_0806D3FA:
- adds r0, r5, 0
- movs r1, 0x3E
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D428
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D4D4
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D428
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- subs r3, 0x78
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r2]
-_0806D428:
- adds r0, r5, 0
- movs r1, 0x44
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D45A
- cmp r7, 0
- beq _0806D45A
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D4D8
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D45A
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- adds r3, 0x88
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r2]
-_0806D45A:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D48A
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _0806D4DC
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _0806D48A
- movs r3, 0xBC
- lsls r3, 1
- adds r2, r4, r3
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r0, r1
- strh r0, [r2]
-_0806D48A:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806D514
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806D514
- mov r0, r9
- cmp r0, 0
- beq _0806D514
- ldr r2, [r5, 0x70]
- adds r6, r2, 0
- adds r3, r2, 0
- adds r3, 0xD0
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _0806D514
- ldr r0, _0806D4E0
- ldr r1, [r0]
- adds r0, r2, 0
- adds r0, 0xD8
- ldrb r0, [r0]
- lsls r0, 2
- ldr r2, _0806D4E4
- adds r1, r2
- adds r1, r0
- ldr r4, [r1]
- cmp r4, 0
- bne _0806D4E8
- strb r4, [r3]
- b _0806D514
- .align 2, 0
-_0806D4D4: .4byte gUnknown_80F4E1C
-_0806D4D8: .4byte gUnknown_80F4E1E
-_0806D4DC: .4byte gUnknown_80F4E20
-_0806D4E0: .4byte gUnknown_203B418
-_0806D4E4: .4byte 0x000135cc
-_0806D4E8:
- ldr r0, [r4, 0x70]
- adds r0, 0x98
- adds r1, r6, 0
- adds r1, 0xD4
- ldr r2, [r0]
- ldr r0, [r1]
- cmp r2, r0
- beq _0806D4FE
- movs r0, 0
- strb r0, [r3]
- b _0806D514
-_0806D4FE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8041D00
- mov r3, r8
- ldr r1, [r3]
- ldr r3, _0806D524
- adds r0, r4, 0
- movs r2, 0xC
- bl sub_806F324
-_0806D514:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806D524: .4byte 0x000001f9
- thumb_func_end sub_806D010
-
- thumb_func_start sub_806D528
-sub_806D528:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- mov r9, r0
- adds r7, r1, 0
- adds r5, r2, 0
- str r3, [sp, 0x4C]
- ldr r0, [sp, 0x7C]
- lsls r0, 16
- asrs r0, 16
- str r0, [sp, 0x50]
- movs r0, 0
- str r0, [sp, 0x54]
- mov r10, r0
- mov r8, r0
- mov r1, r10
- strb r1, [r5, 0xF]
- adds r0, r7, 0
- bl sub_80450F8
- cmp r0, 0x1
- beq _0806D55C
- b _0806D754
-_0806D55C:
- ldr r6, [r7, 0x70]
- mov r0, r9
- adds r1, r7, 0
- bl sub_807A96C
- mov r0, r9
- adds r1, r7, 0
- bl sub_806F450
- mov r0, r9
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806D592
- mov r2, r9
- ldr r0, [r2, 0x70]
- adds r0, 0xDC
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0806D592
- ldrb r0, [r5, 0xE]
- cmp r0, 0
- bne _0806D592
- ldr r0, _0806D5C8
- movs r3, 0
- ldrsh r0, [r0, r3]
- str r0, [r5]
-_0806D592:
- ldr r0, _0806D5CC
- ldr r1, [sp, 0x50]
- cmp r1, r0
- beq _0806D5DC
- adds r0, r7, 0
- movs r1, 0xD
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D5DC
- ldr r1, [r5]
- ldr r0, _0806D5D0
- cmp r1, r0
- bne _0806D5DC
- ldr r0, _0806D5D4
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0806D5D8
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
- b _0806D71E
- .align 2, 0
-_0806D5C8: .4byte gUnknown_80F4F8C
-_0806D5CC: .4byte 0x0000020e
-_0806D5D0: .4byte 0x0000270f
-_0806D5D4: .4byte gUnknown_202DFE8
-_0806D5D8: .4byte gUnknown_80FCA90
-_0806D5DC:
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r4, [r0]
- mov r10, r0
- cmp r4, 0x1
- bne _0806D618
- ldr r0, _0806D610
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0806D614
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
- mov r0, r9
- adds r1, r7, 0
- bl sub_8042238
- strb r4, [r5, 0xF]
-_0806D608:
- movs r0, 0
- bl _0806E0F0
- .align 2, 0
-_0806D610: .4byte gUnknown_202DFE8
-_0806D614: .4byte gUnknown_80F9600
-_0806D618:
- adds r0, r6, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806D62A
- cmp r0, 0x5
- beq _0806D62A
- cmp r0, 0x3
- bne _0806D63A
-_0806D62A:
- adds r0, r6, 0
- adds r0, 0xA9
- ldrb r0, [r0]
- cmp r0, 0x7F
- bne _0806D63A
- adds r0, r7, 0
- bl sub_807A9B0
-_0806D63A:
- adds r0, r7, 0
- movs r1, 0x23
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D660
- ldrb r0, [r5, 0xC]
- cmp r0, 0x5
- bne _0806D660
-_0806D64E:
- ldr r2, [r5]
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- adds r1, r7, 0
- movs r3, 0
- bl sub_8077C44
- b _0806D754
-_0806D660:
- adds r0, r7, 0
- movs r1, 0x24
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806D674
- ldrb r0, [r5, 0xC]
- cmp r0, 0x3
- beq _0806D64E
-_0806D674:
- movs r2, 0xA9
- lsls r2, 1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806D6D0
- ldrb r0, [r5, 0xD]
- cmp r0, 0
- beq _0806D692
- ldr r0, _0806D6A4
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
-_0806D692:
- ldr r0, [r5, 0x8]
- cmp r0, 0x1
- beq _0806D6B0
- cmp r0, 0x1
- bcc _0806D6A8
- cmp r0, 0x3
- beq _0806D6C4
- b _0806D6D0
- .align 2, 0
-_0806D6A4: .4byte gUnknown_80F9614
-_0806D6A8:
- ldr r0, _0806D6AC
- b _0806D6B2
- .align 2, 0
-_0806D6AC: .4byte gUnknown_80F9630
-_0806D6B0:
- ldr r0, _0806D6C0
-_0806D6B2:
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
- b _0806D6D0
- .align 2, 0
-_0806D6C0: .4byte gUnknown_80F9654
-_0806D6C4:
- ldr r0, _0806D728
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
-_0806D6D0:
- ldr r4, _0806D72C
- adds r0, r4, 0
- mov r1, r9
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r1, [r5]
- cmp r1, 0
- bne _0806D760
- mov r0, r9
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0806D734
- adds r0, r7, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0806D734
- movs r3, 0xA9
- lsls r3, 1
- adds r0, r6, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806D71E
- ldr r0, _0806D730
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
-_0806D71E:
- mov r0, r9
- adds r1, r7, 0
- bl sub_8042238
- b _0806D754
- .align 2, 0
-_0806D728: .4byte gUnknown_80F9670
-_0806D72C: .4byte gUnknown_202DF98
-_0806D730: .4byte gUnknown_80F9688
-_0806D734:
- movs r1, 0xA9
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806D74C
- ldr r0, _0806D75C
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
-_0806D74C:
- movs r0, 0x1E
- movs r1, 0x18
- bl sub_803E708
-_0806D754:
- movs r0, 0x1
- strb r0, [r5, 0xF]
- b _0806D608
- .align 2, 0
-_0806D75C: .4byte gUnknown_80F9688
-_0806D760:
- ldr r0, _0806D7B8
- cmp r1, r0
- bne _0806D7C4
- ldr r0, [sp, 0x80]
- cmp r0, 0
- beq _0806D796
- adds r0, r7, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0806D796
- adds r0, r7, 0
- bl sub_8045128
- mov r8, r0
- movs r0, 0x14
- movs r1, 0x18
- bl sub_803E708
- mov r2, r8
- ldrh r1, [r2, 0x4]
- movs r0, 0x4
- orrs r0, r1
- strh r0, [r2, 0x4]
- bl sub_8049ED4
-_0806D796:
- movs r3, 0xA9
- lsls r3, 1
- adds r0, r6, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806D7AE
- ldr r0, _0806D7BC
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
-_0806D7AE:
- adds r1, r6, 0
- adds r1, 0xA0
- ldr r0, _0806D7C0
- str r0, [r1]
- b _0806D84A
- .align 2, 0
-_0806D7B8: .4byte 0x0000270f
-_0806D7BC: .4byte gUnknown_80F96A8
-_0806D7C0: .4byte 0x000003e7
-_0806D7C4:
- ldr r0, _0806D824
- str r1, [r0]
- ldr r1, _0806D828
- ldr r0, [r5, 0x4]
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r2, r6, 0
- adds r2, 0xA0
- ldr r0, [r2]
- ldr r1, [r5]
- adds r0, r1
- str r0, [r2]
- ldr r1, _0806D82C
- cmp r0, r1
- ble _0806D7E6
- str r1, [r2]
-_0806D7E6:
- adds r0, r7, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0806D830
- ldr r0, [r5, 0x4]
- cmp r0, 0xE
- beq _0806D808
- ldr r0, [r5]
- negs r0, r0
- movs r3, 0x1
- negs r3, r3
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_803ED30
-_0806D808:
- movs r1, 0xA9
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806D84A
- cmp r4, 0
- beq _0806D84A
- mov r0, r9
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_80522F4
- b _0806D84A
- .align 2, 0
-_0806D824: .4byte gUnknown_202DE30
-_0806D828: .4byte gUnknown_80F9764
-_0806D82C: .4byte 0x000003e7
-_0806D830:
- movs r2, 0xA9
- lsls r2, 1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806D84A
- cmp r4, 0
- beq _0806D84A
- mov r0, r9
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_80522F4
-_0806D84A:
- ldr r0, [r5, 0x4]
- cmp r0, 0xE
- bne _0806D858
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- cmp r0, 0x1
- bgt _0806D900
-_0806D858:
- mov r0, r8
- cmp r0, 0
- bne _0806D900
- adds r0, r7, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0806D900
- mov r2, r9
- ldr r1, [r2, 0x4]
- ldr r0, [r7, 0x4]
- cmp r1, r0
- beq _0806D8E6
- mov r0, r9
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806D8E6
- movs r4, 0
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _0806D8B4
- ldr r0, _0806D8B0
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0806D8B6
- adds r0, r7, 0
- bl sub_806A458
- lsls r0, 24
- cmp r0, 0
- bne _0806D8B6
- adds r0, r7, 0
- mov r1, r9
- bl sub_8045990
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- b _0806D8B6
- .align 2, 0
-_0806D8B0: .4byte gUnknown_203B46C
-_0806D8B4:
- movs r4, 0
-_0806D8B6:
- adds r0, r6, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806D8C8
- movs r4, 0
-_0806D8C8:
- cmp r4, 0
- beq _0806D8E0
- ldr r4, [r7, 0x70]
- adds r0, r7, 0x4
- mov r1, r9
- adds r1, 0x4
- bl sub_80983D8
- movs r1, 0x7
- ands r0, r1
- adds r4, 0x46
- strb r0, [r4]
-_0806D8E0:
- adds r0, r7, 0
- bl sub_8069DCC
-_0806D8E6:
- ldr r0, [r7, 0x70]
- adds r0, 0x46
- ldrb r2, [r0]
- adds r0, r7, 0
- movs r1, 0x6
- bl sub_806CDD4
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80420E8
- movs r3, 0x1
- str r3, [sp, 0x54]
-_0806D900:
- movs r0, 0xE
- ldrsh r4, [r6, r0]
- ldr r1, [r5]
- cmp r4, r1
- ble _0806D910
- ldrh r0, [r6, 0xE]
- subs r0, r1
- b _0806D912
-_0806D910:
- movs r0, 0
-_0806D912:
- strh r0, [r6, 0xE]
- adds r0, r6, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x9
- bne _0806D93C
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _0806D958
- movs r0, 0x1
- strh r0, [r6, 0xE]
- ldr r0, _0806D938
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
- b _0806D958
- .align 2, 0
-_0806D938: .4byte gUnknown_8100548
-_0806D93C:
- ldr r2, [sp, 0x4C]
- cmp r2, 0x1
- bne _0806D958
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- cmp r0, 0
- bne _0806D958
- strh r2, [r6, 0xE]
- ldr r0, _0806D9C8
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
-_0806D958:
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- subs r4, r0
- cmp r4, 0
- bge _0806D964
- movs r4, 0
-_0806D964:
- ldr r2, [sp, 0x54]
- cmp r2, 0
- bne _0806D970
- mov r3, r8
- cmp r3, 0
- beq _0806D978
-_0806D970:
- movs r0, 0xA
- movs r1, 0x18
- bl sub_803E708
-_0806D978:
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0806D9D4
- ldr r2, [sp, 0x54]
- cmp r2, 0
- beq _0806D98E
- adds r0, r7, 0
- movs r1, 0x8
- bl sub_806CE68
-_0806D98E:
- adds r0, r7, 0
- movs r1, 0x10
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806D9B2
- cmp r4, 0
- ble _0806D9B2
- ldr r1, [r5]
- ldr r0, _0806D9CC
- cmp r1, r0
- beq _0806D9B2
- mov r0, r9
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_8071D4C
-_0806D9B2:
- mov r3, r8
- cmp r3, 0
- bne _0806D9BA
- b _0806D608
-_0806D9BA:
- ldrh r1, [r3, 0x4]
- ldr r0, _0806D9D0
- ands r0, r1
- strh r0, [r3, 0x4]
- bl sub_8049ED4
- b _0806D608
- .align 2, 0
-_0806D9C8: .4byte gUnknown_810056C
-_0806D9CC: .4byte 0x0000270f
-_0806D9D0: .4byte 0x0000fffb
-_0806D9D4:
- adds r0, r6, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0806D9E6
- mov r0, r9
- adds r1, r7, 0
- bl sub_807A7C8
-_0806D9E6:
- mov r0, r8
- cmp r0, 0
- beq _0806DA18
- movs r0, 0x14
- movs r1, 0x18
- bl sub_803E708
- adds r1, r7, 0
- adds r1, 0x22
- movs r0, 0x2
- strb r0, [r1]
- movs r0, 0xA
- movs r1, 0x18
- bl sub_803E708
- mov r2, r8
- ldrh r1, [r2, 0x4]
- ldr r0, _0806DA14
- ands r0, r1
- strh r0, [r2, 0x4]
- bl sub_8049ED4
- b _0806DA2E
- .align 2, 0
-_0806DA14: .4byte 0x0000fffb
-_0806DA18:
- ldr r3, [sp, 0x54]
- cmp r3, 0
- beq _0806DA2E
- adds r1, r7, 0
- adds r1, 0x22
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1E
- movs r1, 0x18
- bl sub_803E708
-_0806DA2E:
- movs r0, 0x1
- mov r8, r0
- mov r0, r9
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806DA50
- mov r0, r9
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806DA50
- cmp r9, r7
- beq _0806DA50
- movs r1, 0
- mov r8, r1
-_0806DA50:
- movs r2, 0xA6
- lsls r2, 1
- adds r1, r6, r2
- movs r0, 0
- strb r0, [r1]
- ldr r4, _0806DA88
- adds r0, r4, 0
- mov r1, r9
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, [r5, 0x4]
- subs r0, 0x13
- cmp r0, 0x1
- bhi _0806DA9C
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _0806DA90
- ldr r0, _0806DA8C
- ldr r2, [r0]
- b _0806DAC2
- .align 2, 0
-_0806DA88: .4byte gUnknown_202DF98
-_0806DA8C: .4byte gUnknown_80F9E44
-_0806DA90:
- ldr r0, _0806DA98
- ldr r1, [r0]
- b _0806DB86
- .align 2, 0
-_0806DA98: .4byte gUnknown_80F9E44
-_0806DA9C:
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _0806DAD0
- adds r0, r6, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806DAB8
- ldr r0, _0806DAB4
- mov r3, r8
- lsls r1, r3, 2
- b _0806DB82
- .align 2, 0
-_0806DAB4: .4byte gUnknown_80F9DF0
-_0806DAB8:
- ldr r0, _0806DACC
- mov r2, r8
- lsls r1, r2, 2
- adds r1, r0
- ldr r2, [r1]
-_0806DAC2:
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
- b _0806DBA4
- .align 2, 0
-_0806DACC: .4byte gUnknown_80F9CC0
-_0806DAD0:
- ldr r2, _0806DB04
- ldrb r1, [r6, 0xA]
- movs r0, 0x64
- muls r0, r1
- ldr r3, _0806DB08
- adds r0, r3
- ldr r1, [r2]
- adds r3, r1, r0
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _0806DB00
- adds r0, r6, 0
- adds r0, 0x40
- ldrb r1, [r0]
- adds r2, r0, 0
- cmp r1, 0x41
- bne _0806DB18
- ldr r0, _0806DB0C
- ldr r0, [r0]
- ldr r1, _0806DB10
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806DB18
-_0806DB00:
- ldr r0, _0806DB14
- b _0806DB7E
- .align 2, 0
-_0806DB04: .4byte gUnknown_203B45C
-_0806DB08: .4byte 0x00008df8
-_0806DB0C: .4byte gUnknown_203B418
-_0806DB10: .4byte 0x0000065c
-_0806DB14: .4byte gUnknown_80F9CEC
-_0806DB18:
- ldrb r0, [r2]
- cmp r0, 0x4A
- beq _0806DB22
- cmp r0, 0x47
- bne _0806DB26
-_0806DB22:
- movs r0, 0x1
- b _0806DB28
-_0806DB26:
- movs r0, 0
-_0806DB28:
- cmp r0, 0
- beq _0806DB38
- ldr r0, _0806DB34
- mov r3, r8
- lsls r1, r3, 2
- b _0806DB82
- .align 2, 0
-_0806DB34: .4byte gUnknown_80F9DAC
-_0806DB38:
- adds r0, r6, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806DB4C
- ldr r0, _0806DB48
- b _0806DB7E
- .align 2, 0
-_0806DB48: .4byte gUnknown_80F9DF0
-_0806DB4C:
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- bl sub_806A58C
- lsls r0, 24
- cmp r0, 0
- beq _0806DB94
- ldr r0, _0806DB70
- ldr r0, [r0]
- ldr r2, _0806DB74
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806DB7C
- ldr r0, _0806DB78
- mov r3, r8
- lsls r1, r3, 2
- b _0806DB82
- .align 2, 0
-_0806DB70: .4byte gUnknown_203B418
-_0806DB74: .4byte 0x0000065d
-_0806DB78: .4byte gUnknown_80F9D8C
-_0806DB7C:
- ldr r0, _0806DB90
-_0806DB7E:
- mov r2, r8
- lsls r1, r2, 2
-_0806DB82:
- adds r1, r0
- ldr r1, [r1]
-_0806DB86:
- mov r0, r9
- bl sub_805239C
- b _0806DBA4
- .align 2, 0
-_0806DB90: .4byte gUnknown_80F9D84
-_0806DB94:
- ldr r0, _0806DC4C
- mov r3, r8
- lsls r1, r3, 2
- adds r1, r0
- ldr r1, [r1]
- mov r0, r9
- bl sub_805239C
-_0806DBA4:
- mov r1, r10
- ldrb r0, [r1]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0806DBBC
- adds r0, r6, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_0806DBBC:
- adds r1, r6, 0
- adds r1, 0x60
- ldrb r3, [r1]
- movs r2, 0x1
- mov r8, r2
- mov r0, r8
- ands r0, r3
- adds r5, r1, 0
- cmp r0, 0
- beq _0806DC5C
- movs r0, 0x8
- ands r0, r3
- cmp r0, 0
- bne _0806DC5C
- movs r0, 0x2
- ands r0, r3
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0806DC5C
- ldrb r0, [r5, 0x2]
- cmp r0, 0xD2
- bne _0806DC5C
- adds r0, r7, 0
- bl sub_8042148
- adds r0, r7, 0
- adds r0, 0x22
- strb r4, [r0]
- ldrh r0, [r6, 0x10]
- movs r2, 0
- strh r0, [r6, 0xE]
- movs r3, 0xAC
- lsls r3, 1
- adds r0, r6, r3
- strb r2, [r0]
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r6, r1
- mov r3, r8
- strb r3, [r0]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r6, r0
- movs r3, 0xA0
- lsls r3, 1
- adds r0, r6, r3
- ldr r0, [r0]
- str r0, [r1]
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _0806DC36
- ldr r0, _0806DC50
- ldr r1, [r0]
- ldr r3, _0806DC54
- adds r1, r3
- strb r2, [r1]
- ldr r0, [r0]
- ldr r1, _0806DC58
- adds r0, r1
- strb r2, [r0]
-_0806DC36:
- strb r2, [r5, 0x2]
- strb r2, [r5, 0x1]
- strb r2, [r5]
- adds r0, r6, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0806DC48
- b _0806DEC8
-_0806DC48:
- b _0806DEE4
- .align 2, 0
-_0806DC4C: .4byte gUnknown_80F9D28
-_0806DC50: .4byte gUnknown_203B418
-_0806DC54: .4byte 0x00000679
-_0806DC58: .4byte 0x00000676
-_0806DC5C:
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _0806DC64
- b _0806DDFC
-_0806DC64:
- mov r10, r5
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0806DC72
- b _0806DDFC
-_0806DC72:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0806DC7C
- b _0806DDFC
-_0806DC7C:
- ldrb r0, [r5, 0x2]
- cmp r0, 0xD8
- beq _0806DC84
- b _0806DDFC
-_0806DC84:
- movs r4, 0
-_0806DC86:
- ldr r0, _0806DD80
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0806DD84
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- mov r8, r0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806DCDE
- cmp r8, r7
- beq _0806DCDE
- adds r0, r7, 0
- mov r1, r8
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _0806DCDE
- mov r3, r8
- movs r0, 0x4
- ldrsh r1, [r3, r0]
- movs r2, 0x4
- ldrsh r0, [r7, r2]
- subs r1, r0
- cmp r1, 0
- bge _0806DCC4
- negs r1, r1
-_0806DCC4:
- cmp r1, 0x1
- bgt _0806DCDE
- mov r3, r8
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r2, 0x6
- ldrsh r0, [r7, r2]
- subs r1, r0
- cmp r1, 0
- bge _0806DCDA
- negs r1, r1
-_0806DCDA:
- cmp r1, 0x1
- ble _0806DCE4
-_0806DCDE:
- adds r4, 0x1
- cmp r4, 0x3
- ble _0806DC86
-_0806DCE4:
- cmp r4, 0x4
- bne _0806DCEA
- b _0806DDFC
-_0806DCEA:
- adds r0, r7, 0
- bl sub_8042148
- mov r3, r8
- ldr r4, [r3, 0x4]
- ldr r1, _0806DD88
- mov r0, r8
- adds r2, r7, 0
- bl sub_8068FE0
- lsls r1, r4, 16
- asrs r1, 16
- asrs r4, 16
- adds r0, r7, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_80694C0
- adds r0, r7, 0
- movs r1, 0
- bl sub_804535C
- adds r1, r7, 0
- adds r1, 0x22
- movs r0, 0
- strb r0, [r1]
- ldrh r0, [r6, 0x10]
- movs r4, 0
- strh r0, [r6, 0xE]
- adds r0, r7, 0
- bl sub_8042A24
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r6, r1
- strb r4, [r0]
- movs r2, 0xA6
- lsls r2, 1
- adds r1, r6, r2
- movs r0, 0x1
- strb r0, [r1]
- movs r3, 0x9E
- lsls r3, 1
- adds r1, r6, r3
- subs r2, 0xC
- adds r0, r6, r2
- ldr r0, [r0]
- str r0, [r1]
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _0806DD62
- ldr r0, _0806DD80
- ldr r1, [r0]
- ldr r3, _0806DD8C
- adds r1, r3
- strb r4, [r1]
- ldr r0, [r0]
- ldr r1, _0806DD90
- adds r0, r1
- strb r4, [r0]
-_0806DD62:
- mov r2, r10
- strb r4, [r2, 0x2]
- strb r4, [r2, 0x1]
- strb r4, [r2]
- adds r0, r6, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0806DD94
- mov r0, r9
- adds r1, r7, 0
- movs r2, 0x3
- bl sub_807A5D0
- b _0806DDA2
- .align 2, 0
-_0806DD80: .4byte gUnknown_203B418
-_0806DD84: .4byte 0x0001357c
-_0806DD88: .4byte 0x00000221
-_0806DD8C: .4byte 0x00000679
-_0806DD90: .4byte 0x00000676
-_0806DD94:
- cmp r0, 0x2
- bne _0806DDA2
- mov r0, r9
- adds r1, r7, 0
- movs r2, 0x2
- bl sub_807A5D0
-_0806DDA2:
- adds r0, r7, 0
- bl sub_8078084
- adds r0, r6, 0
- movs r1, 0
- bl sub_806BFC0
- bl sub_800DBBC
- adds r0, r7, 0
- bl sub_806A390
- adds r0, r7, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl sub_806CCB4
- adds r0, r7, 0
- bl sub_80418D4
- ldr r4, _0806DDF0
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0806DDF4
- b _0806DF2E
- .align 2, 0
-_0806DDF0: .4byte gUnknown_202DF98
-_0806DDF4: .4byte gUnknown_80FD484
-_0806DDF8:
- mov r4, r8
- b _0806DE64
-_0806DDFC:
- adds r0, r7, 0
- movs r1, 0x16
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _0806DE0C
- b _0806DF48
-_0806DE0C:
- movs r4, 0
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806DE28
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806DE28
- ldrb r0, [r5, 0x2]
- cmp r0, 0x3A
- bne _0806DE28
- adds r4, r5, 0
-_0806DE28:
- cmp r4, 0
- bne _0806DE68
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _0806DE64
- movs r3, 0
- ldr r0, _0806DED4
- ldr r2, [r0]
- mov r12, r2
- movs r0, 0x1
- mov r10, r0
-_0806DE3E:
- lsls r0, r3, 2
- add r0, r12
- mov r8, r0
- ldrb r1, [r2]
- mov r0, r10
- ands r0, r1
- cmp r0, 0
- beq _0806DE5C
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0806DE5C
- ldrb r0, [r2, 0x2]
- cmp r0, 0x3A
- beq _0806DDF8
-_0806DE5C:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _0806DE3E
-_0806DE64:
- cmp r4, 0
- beq _0806DF48
-_0806DE68:
- adds r0, r7, 0
- bl sub_8042148
- adds r0, r4, 0
- movs r1, 0x46
- movs r2, 0x2
- bl sub_8045C28
- adds r1, r7, 0
- adds r1, 0x22
- movs r0, 0
- strb r0, [r1]
- ldrh r0, [r6, 0x10]
- movs r2, 0
- strh r0, [r6, 0xE]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r6, r1
- strb r2, [r0]
- movs r3, 0xA6
- lsls r3, 1
- adds r1, r6, r3
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r6, r0
- subs r3, 0xC
- adds r0, r6, r3
- ldr r0, [r0]
- str r0, [r1]
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _0806DEBE
- ldr r0, _0806DED8
- ldr r1, [r0]
- ldr r3, _0806DEDC
- adds r1, r3
- strb r2, [r1]
- ldr r0, [r0]
- ldr r1, _0806DEE0
- adds r0, r1
- strb r2, [r0]
-_0806DEBE:
- adds r0, r6, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0806DEE4
-_0806DEC8:
- mov r0, r9
- adds r1, r7, 0
- movs r2, 0x3
- bl sub_807A5D0
- b _0806DEF2
- .align 2, 0
-_0806DED4: .4byte gUnknown_203B460
-_0806DED8: .4byte gUnknown_203B418
-_0806DEDC: .4byte 0x00000679
-_0806DEE0: .4byte 0x00000676
-_0806DEE4:
- cmp r0, 0x2
- bne _0806DEF2
- mov r0, r9
- adds r1, r7, 0
- movs r2, 0x2
- bl sub_807A5D0
-_0806DEF2:
- adds r0, r7, 0
- bl sub_8078084
- adds r0, r6, 0
- movs r1, 0
- bl sub_806BFC0
- bl sub_800DBBC
- adds r0, r7, 0
- bl sub_806A390
- adds r0, r7, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl sub_806CCB4
- adds r0, r7, 0
- bl sub_80418D4
- ldr r0, _0806DF40
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0806DF44
-_0806DF2E:
- ldr r1, [r0]
- mov r0, r9
- bl sub_805239C
- adds r0, r7, 0
- bl sub_806F63C
- bl _0806D608
- .align 2, 0
-_0806DF40: .4byte gUnknown_202DFE8
-_0806DF44: .4byte gUnknown_80FD46C
-_0806DF48:
- ldrb r4, [r6, 0x7]
- cmp r4, 0
- bne _0806DF68
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806DF68
- adds r1, r7, 0x4
- adds r0, r7, 0
- adds r2, r5, 0
- bl sub_80464C8
- strb r4, [r5, 0x2]
- strb r4, [r5, 0x1]
- strb r4, [r5]
-_0806DF68:
- adds r0, r6, 0
- adds r0, 0xF7
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806DF7E
- ldr r0, _0806E02C
- ldr r0, [r0]
- ldr r2, _0806E030
- adds r0, r2
- ldr r1, _0806E034
- strh r1, [r0]
-_0806DF7E:
- movs r3, 0
- mov r10, r3
- mov r0, r9
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806E066
- mov r0, r9
- ldr r4, [r0, 0x70]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- ldrb r1, [r6, 0x9]
- bl sub_808DD18
- adds r5, r0, 0
- adds r0, r6, 0
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806DFAE
- cmp r0, 0x2
- bne _0806DFB4
- lsls r0, r5, 1
- adds r5, r0, r5
-_0806DFAE:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_0806DFB4:
- cmp r5, 0
- bne _0806DFBA
- movs r5, 0x1
-_0806DFBA:
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _0806DFC8
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- bl sub_80980B4
-_0806DFC8:
- adds r0, r6, 0
- adds r0, 0xF4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806DFDA
- ldr r3, _0806E038
- adds r1, r4, r3
- movs r0, 0x1
- strb r0, [r1]
-_0806DFDA:
- ldr r0, [sp, 0x78]
- cmp r0, 0x1
- bne _0806E066
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _0806E040
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _0806E066
- mov r0, r9
- mov r1, r9
- adds r2, r5, 0
- bl sub_8071D4C
- movs r6, 0
-_0806DFF8:
- ldr r0, _0806E02C
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0806E03C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806E020
- cmp r4, r9
- beq _0806E020
- mov r0, r9
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8071D4C
-_0806E020:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0806DFF8
- movs r3, 0x1
- mov r10, r3
- b _0806E066
- .align 2, 0
-_0806E02C: .4byte gUnknown_203B418
-_0806E030: .4byte 0x0000066a
-_0806E034: .4byte 0x000003e7
-_0806E038: .4byte 0x0000014b
-_0806E03C: .4byte 0x0001357c
-_0806E040:
- ldr r5, _0806E0BC
- ldr r0, [r5]
- ldr r1, _0806E0C0
- adds r0, r1
- ldrb r0, [r0]
- bl sub_809033C
- lsls r0, 24
- cmp r0, 0
- beq _0806E066
- ldr r2, _0806E0C4
- adds r0, r4, r2
- add r3, sp, 0x78
- ldrb r3, [r3]
- strb r3, [r0]
- ldr r0, [r5]
- add r1, sp, 0x78
- ldrb r1, [r1]
- strb r1, [r0, 0xD]
-_0806E066:
- mov r0, r9
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806E08A
- mov r0, r9
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806E08A
- mov r2, r9
- ldr r0, [r2, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _0806E08A
- movs r3, 0
- mov r10, r3
-_0806E08A:
- mov r0, r10
- cmp r0, 0
- beq _0806E0E4
- add r0, sp, 0x4
- adds r1, r7, 0
- bl sub_8069D4C
- mov r0, r9
- adds r1, r7, 0
- bl sub_806F660
- lsls r0, 24
- cmp r0, 0
- beq _0806E0D8
- mov r0, r9
- adds r1, r7, 0
- add r2, sp, 0x4
- bl sub_806FA5C
- lsls r0, 24
- cmp r0, 0
- bne _0806E0CC
- ldr r1, _0806E0C8
- adds r0, r7, 0
- b _0806E0DC
- .align 2, 0
-_0806E0BC: .4byte gUnknown_203B418
-_0806E0C0: .4byte 0x00000644
-_0806E0C4: .4byte 0x00000149
-_0806E0C8: .4byte 0x000001f5
-_0806E0CC:
- ldr r1, _0806E0D4
- movs r0, 0x1
- strb r0, [r1]
- b _0806E0EE
- .align 2, 0
-_0806E0D4: .4byte gUnknown_202F221
-_0806E0D8:
- adds r0, r7, 0
- ldr r1, [sp, 0x50]
-_0806E0DC:
- mov r2, r9
- bl sub_8068FE0
- b _0806E0EE
-_0806E0E4:
- adds r0, r7, 0
- ldr r1, [sp, 0x50]
- mov r2, r9
- bl sub_8068FE0
-_0806E0EE:
- movs r0, 0x1
-_0806E0F0:
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806D528
-
- thumb_func_start sub_806E100
-sub_806E100:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- adds r6, r0, 0
- mov r8, r1
- str r2, [sp, 0x18]
- lsls r3, 24
- lsrs r7, r3, 24
- movs r0, 0
- mov r9, r0
- movs r1, 0
- str r1, [sp, 0x20]
- mov r2, r8
- ldr r2, [r2, 0x70]
- str r2, [sp, 0x24]
- ldr r3, [sp, 0x18]
- ldr r3, [r3, 0x70]
- mov r10, r3
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_800A020
- mov r0, r9
- ldr r4, [sp, 0x48]
- strb r0, [r4, 0xD]
- strb r0, [r4, 0xE]
- movs r1, 0
- str r1, [sp, 0x1C]
- ldr r0, [sp, 0x18]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806E14E
- movs r0, 0x1
- b _0806E61A
-_0806E14E:
- cmp r7, 0x1
- beq _0806E156
- cmp r7, 0x7
- bne _0806E15A
-_0806E156:
- movs r2, 0x1
- str r2, [sp, 0x20]
-_0806E15A:
- ldr r0, [sp, 0x18]
- movs r1, 0x35
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E170
- cmp r7, 0
- beq _0806E170
- movs r3, 0x1
- str r3, [sp, 0x1C]
-_0806E170:
- movs r0, 0x2
- ldr r4, [sp, 0x48]
- str r0, [r4, 0x8]
- movs r5, 0
- add r0, sp, 0x10
- mov r9, r0
- b _0806E1F2
-_0806E17E:
- mov r1, r10
- adds r1, 0x5C
- ldr r2, [sp, 0x20]
- cmp r2, 0
- beq _0806E1B4
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _0806E1B4
- mov r0, r10
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806E1B4
- movs r4, 0
- ldr r0, _0806E1AC
- ldr r0, [r0]
- ldr r3, _0806E1B0
- adds r1, r0, r3
- movs r0, 0x1
- strb r0, [r1]
- b _0806E1CA
- .align 2, 0
-_0806E1AC: .4byte gUnknown_203B418
-_0806E1B0: .4byte 0x00000179
-_0806E1B4:
- ldr r2, _0806E4E4
- adds r0, r1, r5
- ldrb r1, [r0]
- lsls r1, 1
- lsls r0, r7, 3
- adds r0, r7
- lsls r0, 2
- adds r1, r0
- adds r1, r2
- movs r0, 0
- ldrsh r4, [r1, r0]
-_0806E1CA:
- cmp r4, 0x2
- beq _0806E1DC
- lsls r0, r4, 2
- add r0, sp
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E1DC:
- lsls r0, r5, 2
- add r0, r9
- str r4, [r0]
- ldr r0, _0806E4E8
- ldr r0, [r0]
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r1
- adds r0, r5
- strb r4, [r0]
- adds r5, 0x1
-_0806E1F2:
- cmp r5, 0x1
- bgt _0806E20E
- mov r1, sp
- ldr r0, _0806E4EC
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- beq _0806E17E
-_0806E20E:
- ldr r2, _0806E4F0
- mov r1, r9
- ldr r0, [r1, 0x4]
- lsls r0, 2
- ldr r1, [sp, 0x10]
- lsls r1, 4
- adds r0, r1
- adds r0, r2
- ldr r0, [r0]
- ldr r2, [sp, 0x48]
- str r0, [r2, 0x8]
- movs r3, 0x1
- mov r9, r3
- cmp r0, 0x3
- beq _0806E240
- movs r4, 0
- mov r9, r4
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- beq _0806E240
- ldr r0, _0806E4F4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r6]
- str r1, [r6, 0x4]
-_0806E240:
- cmp r7, 0x2
- beq _0806E248
- cmp r7, 0x6
- bne _0806E26C
-_0806E248:
- ldr r0, [sp, 0x18]
- movs r1, 0x2
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E26C
- ldr r0, _0806E4E8
- ldr r0, [r0]
- ldr r2, _0806E4F8
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E4FC
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E26C:
- cmp r7, 0x2
- bne _0806E2A0
- ldr r0, [sp, 0x18]
- bl sub_807723C
- lsls r0, 24
- cmp r0, 0
- beq _0806E2A0
- ldr r0, _0806E4E8
- ldr r0, [r0]
- movs r3, 0xB7
- lsls r3, 1
- adds r0, r3
- movs r4, 0
- movs r5, 0x1
- strb r5, [r0]
- adds r0, r6, 0
- movs r1, 0
- bl sub_800A020
- ldr r0, [sp, 0x48]
- str r4, [r0, 0x8]
- strb r4, [r0, 0xD]
- strb r5, [r0, 0xE]
- movs r1, 0
- mov r9, r1
-_0806E2A0:
- cmp r7, 0x9
- bne _0806E2D2
- ldr r0, [sp, 0x18]
- movs r1, 0x37
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E2D2
- ldr r0, _0806E4E8
- ldr r0, [r0]
- ldr r2, _0806E500
- adds r0, r2
- movs r4, 0
- movs r5, 0x1
- strb r5, [r0]
- adds r0, r6, 0
- movs r1, 0
- bl sub_800A020
- ldr r3, [sp, 0x48]
- str r4, [r3, 0x8]
- strb r4, [r3, 0xD]
- strb r5, [r3, 0xE]
- mov r9, r4
-_0806E2D2:
- cmp r7, 0x3
- bne _0806E340
- mov r0, r8
- movs r1, 0x10
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E340
- movs r4, 0
- ldr r0, [sp, 0x24]
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bge _0806E2F2
- adds r1, 0x3
-_0806E2F2:
- asrs r1, 2
- ldr r3, [sp, 0x24]
- movs r2, 0xE
- ldrsh r0, [r3, r2]
- cmp r1, r0
- blt _0806E300
- movs r4, 0x1
-_0806E300:
- ldr r0, [sp, 0x24]
- movs r1, 0x80
- adds r2, r4, 0
- bl sub_8071ACC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r4, 0
- beq _0806E32A
- ldr r0, _0806E4E8
- ldr r0, [r0]
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _0806E504
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E32A:
- cmp r5, 0
- beq _0806E340
- mov r0, r8
- bl sub_80428EC
- ldr r0, _0806E508
- ldr r2, [r0]
- mov r0, r8
- ldr r1, [sp, 0x18]
- bl sub_80522F4
-_0806E340:
- cmp r7, 0x4
- bne _0806E3AC
- mov r0, r8
- movs r1, 0x1A
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E3AC
- movs r4, 0
- ldr r0, [sp, 0x24]
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bge _0806E360
- adds r1, 0x3
-_0806E360:
- asrs r1, 2
- ldr r3, [sp, 0x24]
- movs r2, 0xE
- ldrsh r0, [r3, r2]
- cmp r1, r0
- blt _0806E36E
- movs r4, 0x1
-_0806E36E:
- ldr r0, [sp, 0x24]
- movs r1, 0x2
- adds r2, r4, 0
- bl sub_8071ACC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r4, 0
- beq _0806E396
- ldr r0, _0806E4E8
- ldr r0, [r0]
- ldr r3, _0806E50C
- adds r1, r0, r3
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E504
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E396:
- cmp r5, 0
- beq _0806E3AC
- mov r0, r8
- bl sub_80428D8
- ldr r0, _0806E510
- ldr r2, [r0]
- mov r0, r8
- ldr r1, [sp, 0x18]
- bl sub_80522F4
-_0806E3AC:
- cmp r7, 0xC
- bne _0806E41A
- mov r0, r8
- movs r1, 0x43
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E41A
- movs r4, 0
- ldr r0, [sp, 0x24]
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bge _0806E3CC
- adds r1, 0x3
-_0806E3CC:
- asrs r1, 2
- ldr r3, [sp, 0x24]
- movs r2, 0xE
- ldrsh r0, [r3, r2]
- cmp r1, r0
- blt _0806E3DA
- movs r4, 0x1
-_0806E3DA:
- ldr r0, [sp, 0x24]
- movs r1, 0x10
- adds r2, r4, 0
- bl sub_8071ACC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r4, 0
- beq _0806E404
- ldr r0, _0806E4E8
- ldr r0, [r0]
- movs r3, 0xB9
- lsls r3, 1
- adds r1, r0, r3
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E504
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E404:
- cmp r5, 0
- beq _0806E41A
- mov r0, r8
- bl sub_8042978
- ldr r0, _0806E514
- ldr r2, [r0]
- mov r0, r8
- ldr r1, [sp, 0x18]
- bl sub_80522F4
-_0806E41A:
- cmp r7, 0x2
- bne _0806E486
- mov r0, r8
- movs r1, 0x46
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E486
- movs r4, 0
- ldr r0, [sp, 0x24]
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bge _0806E43A
- adds r1, 0x3
-_0806E43A:
- asrs r1, 2
- ldr r3, [sp, 0x24]
- movs r2, 0xE
- ldrsh r0, [r3, r2]
- cmp r1, r0
- blt _0806E448
- movs r4, 0x1
-_0806E448:
- ldr r0, [sp, 0x24]
- movs r1, 0x20
- adds r2, r4, 0
- bl sub_8071ACC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r4, 0
- beq _0806E470
- ldr r0, _0806E4E8
- ldr r0, [r0]
- ldr r3, _0806E518
- adds r1, r0, r3
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E504
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E470:
- cmp r5, 0
- beq _0806E486
- mov r0, r8
- bl sub_804298C
- ldr r0, _0806E51C
- ldr r2, [r0]
- mov r0, r8
- ldr r1, [sp, 0x18]
- bl sub_80522F4
-_0806E486:
- adds r0, r6, 0
- bl sub_800A2A0
- lsls r0, 24
- cmp r0, 0
- bne _0806E4B8
- mov r0, r8
- adds r1, r7, 0
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0806E4B8
- ldr r0, _0806E4E8
- ldr r0, [r0]
- movs r4, 0xBA
- lsls r4, 1
- adds r0, r4
- movs r1, 0x1
- strb r1, [r0]
- ldr r2, _0806E520
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E4B8:
- mov r0, r8
- bl sub_807E580
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0806E53E
- cmp r7, 0x2
- bne _0806E524
- ldr r0, _0806E4E8
- ldr r0, [r0]
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r1
- strb r4, [r0]
- ldr r2, _0806E520
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
- b _0806E53E
- .align 2, 0
-_0806E4E4: .4byte gUnknown_80F522C
-_0806E4E8: .4byte gUnknown_203B418
-_0806E4EC: .4byte gUnknown_8106F54
-_0806E4F0: .4byte gUnknown_80F54B4
-_0806E4F4: .4byte gUnknown_8106EFC
-_0806E4F8: .4byte 0x0000016d
-_0806E4FC: .4byte gUnknown_8106F1C
-_0806E500: .4byte 0x0000016f
-_0806E504: .4byte gUnknown_8106F0C
-_0806E508: .4byte gUnknown_80FEDA8
-_0806E50C: .4byte 0x00000171
-_0806E510: .4byte gUnknown_80FED88
-_0806E514: .4byte gUnknown_80FEDC8
-_0806E518: .4byte 0x00000173
-_0806E51C: .4byte gUnknown_80FEDE8
-_0806E520: .4byte gUnknown_8106F14
-_0806E524:
- cmp r7, 0x3
- bne _0806E53E
- ldr r0, _0806E560
- ldr r0, [r0]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r2
- strb r4, [r0]
- ldr r2, _0806E564
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E53E:
- cmp r4, 0x4
- bne _0806E586
- cmp r7, 0x2
- bne _0806E56C
- ldr r0, _0806E560
- ldr r0, [r0]
- ldr r3, _0806E568
- adds r1, r0, r3
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E564
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
- b _0806E586
- .align 2, 0
-_0806E560: .4byte gUnknown_203B418
-_0806E564: .4byte gUnknown_8106F1C
-_0806E568: .4byte 0x0000016b
-_0806E56C:
- cmp r7, 0x3
- bne _0806E586
- ldr r0, _0806E62C
- ldr r0, [r0]
- ldr r2, _0806E630
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E634
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E586:
- cmp r4, 0x3
- bne _0806E5A6
- cmp r7, 0x1
- beq _0806E5A6
- ldr r2, _0806E638
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
- ldr r0, _0806E62C
- ldr r0, [r0]
- movs r3, 0xB5
- lsls r3, 1
- adds r1, r0, r3
- movs r0, 0x1
- strb r0, [r1]
-_0806E5A6:
- ldr r0, _0806E62C
- ldr r1, [r0]
- ldr r2, _0806E63C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806E5B8
- cmp r4, 0x6
- bne _0806E5CE
-_0806E5B8:
- cmp r7, 0x5
- bne _0806E5CE
- ldr r3, _0806E640
- adds r1, r3
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E644
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E5CE:
- ldr r0, _0806E62C
- ldr r1, [r0]
- ldr r4, _0806E648
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806E5F4
- cmp r7, 0x2
- bne _0806E5F4
- movs r0, 0xBB
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E644
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E5F4:
- cmp r7, 0x5
- bne _0806E618
- ldr r0, [sp, 0x24]
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0xB
- bne _0806E618
- ldr r0, _0806E62C
- ldr r0, [r0]
- ldr r2, _0806E64C
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r2, _0806E650
- adds r0, r6, 0
- adds r1, r6, 0
- bl sub_800A34C
-_0806E618:
- mov r0, r9
-_0806E61A:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806E62C: .4byte gUnknown_203B418
-_0806E630: .4byte 0x0000016b
-_0806E634: .4byte gUnknown_8106F14
-_0806E638: .4byte gUnknown_8106F64
-_0806E63C: .4byte 0x0000e277
-_0806E640: .4byte 0x00000175
-_0806E644: .4byte gUnknown_8106F1C
-_0806E648: .4byte 0x0000e278
-_0806E64C: .4byte 0x00000177
-_0806E650: .4byte gUnknown_8106F0C
- thumb_func_end sub_806E100
-
- thumb_func_start sub_806E654
-sub_806E654:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r9, r0
- str r1, [sp, 0x14]
- lsls r2, 24
- lsrs r4, r2, 24
- movs r5, 0x1
- movs r0, 0
- str r0, [sp, 0x10]
- adds r0, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0806E6DC
- cmp r4, 0x1
- beq _0806E682
- cmp r4, 0x7
- bne _0806E686
-_0806E682:
- movs r1, 0x1
- str r1, [sp, 0x10]
-_0806E686:
- mov r2, r9
- ldr r2, [r2, 0x70]
- mov r8, r2
- ldr r3, [sp, 0x14]
- ldr r3, [r3, 0x70]
- mov r10, r3
- cmp r4, 0x2
- bne _0806E6A2
- ldr r0, [sp, 0x14]
- bl sub_807723C
- lsls r0, 24
- cmp r0, 0
- bne _0806E6C6
-_0806E6A2:
- cmp r4, 0x5
- bne _0806E6B4
- ldr r0, [sp, 0x14]
- movs r1, 0x23
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0806E6C6
-_0806E6B4:
- cmp r4, 0x3
- bne _0806E6CA
- ldr r0, [sp, 0x14]
- movs r1, 0x24
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E6CA
-_0806E6C6:
- movs r0, 0
- b _0806E894
-_0806E6CA:
- cmp r4, 0x9
- bne _0806E6E0
- ldr r0, [sp, 0x14]
- movs r1, 0x37
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E6E0
-_0806E6DC:
- movs r0, 0x1
- b _0806E894
-_0806E6E0:
- mov r6, r10
- adds r6, 0x5C
- str r6, [sp, 0x18]
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- mov r12, r0
- adds r2, r6, 0
-_0806E6F0:
- mov r0, sp
- ldr r1, _0806E724
- ldm r1!, {r3,r6,r7}
- stm r0!, {r3,r6,r7}
- ldr r1, [r1]
- str r1, [r0]
- ldr r7, [sp, 0x10]
- cmp r7, 0
- beq _0806E730
- ldrb r0, [r2]
- cmp r0, 0xE
- bne _0806E730
- mov r0, r10
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806E730
- movs r3, 0
- ldr r0, _0806E728
- ldr r0, [r0]
- ldr r6, _0806E72C
- adds r1, r0, r6
- movs r0, 0x1
- strb r0, [r1]
- b _0806E73E
- .align 2, 0
-_0806E724: .4byte gUnknown_8106F6C
-_0806E728: .4byte gUnknown_203B418
-_0806E72C: .4byte 0x00000179
-_0806E730:
- ldrb r0, [r2]
- lsls r0, 1
- add r0, r12
- ldr r7, _0806E854
- adds r0, r7
- movs r1, 0
- ldrsh r3, [r0, r1]
-_0806E73E:
- cmp r5, 0
- beq _0806E75E
- lsls r0, r3, 2
- add r0, sp
- ldr r0, [r0]
- muls r5, r0
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
- cmp r5, 0
- beq _0806E84E
- adds r2, 0x1
- ldr r0, [sp, 0x18]
- adds r0, 0x1
- cmp r2, r0
- ble _0806E6F0
-_0806E75E:
- cmp r4, 0x2
- beq _0806E766
- cmp r4, 0x6
- bne _0806E774
-_0806E766:
- ldr r0, [sp, 0x14]
- movs r1, 0x2
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0806E84E
-_0806E774:
- cmp r4, 0x3
- bne _0806E7A0
- mov r0, r9
- movs r1, 0x10
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E7A0
- mov r2, r8
- movs r3, 0x10
- ldrsh r1, [r2, r3]
- cmp r1, 0
- bge _0806E792
- adds r1, 0x3
-_0806E792:
- asrs r1, 2
- mov r6, r8
- movs r7, 0xE
- ldrsh r0, [r6, r7]
- cmp r1, r0
- blt _0806E7A0
- lsls r5, 1
-_0806E7A0:
- cmp r4, 0x4
- bne _0806E7CC
- mov r0, r9
- movs r1, 0x1A
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E7CC
- mov r0, r8
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bge _0806E7BE
- adds r1, 0x3
-_0806E7BE:
- asrs r1, 2
- mov r3, r8
- movs r6, 0xE
- ldrsh r0, [r3, r6]
- cmp r1, r0
- blt _0806E7CC
- lsls r5, 1
-_0806E7CC:
- cmp r4, 0xC
- bne _0806E7F8
- mov r0, r9
- movs r1, 0x43
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E7F8
- mov r7, r8
- movs r0, 0x10
- ldrsh r1, [r7, r0]
- cmp r1, 0
- bge _0806E7EA
- adds r1, 0x3
-_0806E7EA:
- asrs r1, 2
- mov r2, r8
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r1, r0
- blt _0806E7F8
- lsls r5, 1
-_0806E7F8:
- cmp r4, 0x2
- bne _0806E824
- mov r0, r9
- movs r1, 0x46
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E824
- mov r6, r8
- movs r7, 0x10
- ldrsh r1, [r6, r7]
- cmp r1, 0
- bge _0806E816
- adds r1, 0x3
-_0806E816:
- asrs r1, 2
- mov r2, r8
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r1, r0
- blt _0806E824
- lsls r5, 1
-_0806E824:
- cmp r5, 0
- beq _0806E84E
- mov r0, r9
- adds r1, r4, 0
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0806E838
- lsls r5, 1
-_0806E838:
- mov r0, r9
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0806E85A
- cmp r4, 0x2
- beq _0806E858
- cmp r4, 0x3
- bne _0806E85A
-_0806E84E:
- movs r0, 0x2
- b _0806E894
- .align 2, 0
-_0806E854: .4byte gUnknown_80F522C
-_0806E858:
- lsls r5, 1
-_0806E85A:
- ldr r0, _0806E8A4
- ldr r1, [r0]
- ldr r6, _0806E8A8
- adds r1, r6
- ldrb r1, [r1]
- cmp r1, 0
- beq _0806E86C
- cmp r4, 0x5
- beq _0806E84E
-_0806E86C:
- ldr r0, [r0]
- ldr r7, _0806E8AC
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806E87C
- cmp r4, 0x2
- beq _0806E84E
-_0806E87C:
- cmp r4, 0x5
- bne _0806E88C
- mov r0, r8
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0xB
- bne _0806E88C
- lsls r5, 1
-_0806E88C:
- cmp r5, 0x2
- ble _0806E892
- movs r5, 0x3
-_0806E892:
- adds r0, r5, 0x2
-_0806E894:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806E8A4: .4byte gUnknown_203B418
-_0806E8A8: .4byte 0x0000e277
-_0806E8AC: .4byte 0x0000e278
- thumb_func_end sub_806E654
-
- thumb_func_start sub_806E8B0
-sub_806E8B0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r6, r0, 0
- mov r9, r1
- adds r0, r2, 0
- str r3, [sp]
- lsls r0, 24
- lsrs r0, 24
- movs r7, 0x1
- movs r1, 0x1
- mov r8, r1
- movs r2, 0x1
- str r2, [sp, 0x4]
- str r1, [sp, 0x8]
- bl sub_8092354
- movs r2, 0
- mov r10, r2
- lsls r0, 24
- cmp r0, 0
- bne _0806E8E6
- movs r0, 0x1
- mov r10, r0
-_0806E8E6:
- adds r0, r6, 0
- movs r1, 0x11
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E92C
- ldr r5, [r6, 0x70]
- adds r0, r6, 0
- bl sub_8070A58
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_8071ACC
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0
- beq _0806E916
- movs r7, 0x2
-_0806E916:
- cmp r0, 0
- beq _0806E92C
- adds r0, r6, 0
- bl sub_80428B0
- ldr r0, _0806EADC
- ldr r2, [r0]
- adds r0, r6, 0
- mov r1, r9
- bl sub_80522F4
-_0806E92C:
- adds r0, r6, 0
- movs r1, 0x22
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0806E948
- adds r0, r6, 0
- movs r1, 0x4B
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E98E
-_0806E948:
- ldr r2, [r6, 0x70]
- movs r4, 0
- ldr r0, [sp, 0x30]
- cmp r0, 0x20
- bgt _0806E95A
- mov r1, r10
- cmp r1, 0
- bne _0806E95A
- movs r4, 0x1
-_0806E95A:
- movs r1, 0x80
- lsls r1, 1
- adds r0, r2, 0
- adds r2, r4, 0
- bl sub_8071ACC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0
- beq _0806E978
- lsls r0, r7, 1
- adds r7, r0, r7
- mov r2, r8
- lsls r2, 1
- mov r8, r2
-_0806E978:
- cmp r1, 0
- beq _0806E98E
- adds r0, r6, 0
- bl sub_80428C4
- ldr r0, _0806EAE0
- ldr r2, [r0]
- adds r0, r6, 0
- mov r1, r9
- bl sub_80522F4
-_0806E98E:
- adds r0, r6, 0
- movs r1, 0x30
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E9AC
- mov r0, r10
- cmp r0, 0
- bne _0806E9AC
- lsls r0, r7, 1
- adds r7, r0, r7
- mov r1, r8
- lsls r1, 1
- mov r8, r1
-_0806E9AC:
- ldr r0, [r6, 0x70]
- ldrb r0, [r0, 0x6]
- movs r4, 0x1
- cmp r0, 0
- beq _0806E9B8
- movs r4, 0
-_0806E9B8:
- adds r0, r6, 0
- movs r1, 0x38
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806E9EA
- mov r2, r10
- cmp r2, 0x1
- bne _0806E9EA
- ldr r0, _0806EAE4
- ldr r0, [r0]
- ldr r1, _0806EAE8
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806E9EA
- lsls r0, r7, 4
- subs r7, r0, r7
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 1
- mov r8, r0
-_0806E9EA:
- adds r0, r6, 0
- movs r1, 0x3F
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806EA1C
- mov r0, r10
- cmp r0, 0x1
- bne _0806EA1C
- ldr r0, _0806EAE4
- ldr r0, [r0]
- ldr r1, _0806EAEC
- adds r0, r1
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806EA1C
- lsls r0, r7, 4
- subs r7, r0, r7
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 1
- mov r8, r0
-_0806EA1C:
- mov r0, r9
- movs r1, 0x6
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806EA38
- mov r0, r10
- cmp r0, 0
- bne _0806EA38
- lsls r7, 2
- mov r1, r8
- lsls r0, r1, 2
- add r8, r0
-_0806EA38:
- mov r0, r9
- movs r1, 0x34
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806EA90
- mov r2, r10
- cmp r2, 0
- bne _0806EA90
- mov r0, r9
- ldr r5, [r0, 0x70]
- bl sub_8070A58
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x8
- adds r2, r4, 0
- bl sub_8071ACC
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0
- beq _0806EA7A
- ldr r2, [sp, 0x4]
- lsls r0, r2, 1
- adds r2, r0, r2
- str r2, [sp, 0x4]
- ldr r0, [sp, 0x8]
- lsls r0, 1
- str r0, [sp, 0x8]
-_0806EA7A:
- cmp r1, 0
- beq _0806EA90
- mov r0, r9
- bl sub_8042940
- ldr r0, _0806EAF0
- ldr r2, [r0]
- adds r0, r6, 0
- mov r1, r9
- bl sub_80522F4
-_0806EA90:
- ldr r1, [sp]
- ldr r0, [r1]
- muls r0, r7
- str r0, [r1]
- ldr r2, [sp, 0x2C]
- ldr r0, [r2]
- ldr r1, [sp, 0x4]
- muls r0, r1
- str r0, [r2]
- mov r2, r8
- cmp r2, 0x1
- beq _0806EAB6
- ldr r1, [sp]
- ldr r0, [r1]
- mov r1, r8
- bl __divsi3
- ldr r2, [sp]
- str r0, [r2]
-_0806EAB6:
- ldr r0, [sp, 0x8]
- cmp r0, 0x1
- beq _0806EACA
- ldr r1, [sp, 0x2C]
- ldr r0, [r1]
- ldr r1, [sp, 0x8]
- bl __divsi3
- ldr r2, [sp, 0x2C]
- str r0, [r2]
-_0806EACA:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806EADC: .4byte gUnknown_80FEE04
-_0806EAE0: .4byte gUnknown_80FEE2C
-_0806EAE4: .4byte gUnknown_203B418
-_0806EAE8: .4byte 0x000037fa
-_0806EAEC: .4byte 0x000037f8
-_0806EAF0: .4byte gUnknown_80FEE54
- thumb_func_end sub_806E8B0
-
- thumb_func_start sub_806EAF4
-sub_806EAF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8C
- str r0, [sp, 0x70]
- mov r9, r1
- adds r7, r3, 0
- ldr r0, [sp, 0xB8]
- ldr r1, [sp, 0xBC]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x74]
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x78]
- ldr r0, [sp, 0x70]
- ldr r0, [r0, 0x70]
- mov r10, r0
- mov r1, r9
- ldr r1, [r1, 0x70]
- str r1, [sp, 0x7C]
- adds r0, r2, 0
- bl sub_8092354
- movs r2, 0
- str r2, [sp, 0x80]
- lsls r0, 24
- cmp r0, 0
- bne _0806EB3A
- movs r3, 0x1
- str r3, [sp, 0x80]
-_0806EB3A:
- bl sub_806F500
- mov r6, r10
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _0806EB72
- movs r0, 0x9E
- lsls r0, 1
- add r0, r10
- ldr r0, [r0]
- bl sub_8094450
- adds r1, r0, 0
- cmp r1, 0
- bne _0806EB72
- movs r0, 0x1
- ldr r2, [sp, 0xB0]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x2
- str r0, [r2, 0x8]
- add r3, sp, 0x74
- ldrb r3, [r3]
- strb r3, [r2, 0xC]
- strb r1, [r2, 0xD]
- strb r1, [r2, 0xE]
- strb r1, [r2, 0xF]
- b _0806F294
-_0806EB72:
- ldr r0, _0806EBA4
- cmp r4, r0
- bne _0806EBA8
- mov r0, r9
- movs r1, 0x35
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806EBA8
- movs r0, 0x1
- ldr r6, [sp, 0xB0]
- str r0, [r6]
- movs r1, 0
- str r1, [r6, 0x4]
- movs r0, 0x2
- str r0, [r6, 0x8]
- add r0, sp, 0x74
- ldrb r0, [r0]
- strb r0, [r6, 0xC]
- strb r1, [r6, 0xD]
- strb r1, [r6, 0xE]
- strb r1, [r6, 0xF]
- b _0806F294
- .align 2, 0
-_0806EBA4: .4byte 0x00000163
-_0806EBA8:
- add r1, sp, 0x74
- ldrb r2, [r1]
- ldr r1, [sp, 0xB0]
- strb r2, [r1, 0xC]
- ldr r1, _0806EDA4
- ldr r0, [r1]
- movs r2, 0x9A
- lsls r2, 1
- adds r0, r2
- add r3, sp, 0x74
- ldrb r3, [r3]
- strb r3, [r0]
- ldr r2, [r1]
- movs r6, 0x9C
- lsls r6, 1
- adds r0, r2, r6
- ldr r1, [sp, 0x80]
- str r1, [r0]
- lsls r1, 1
- mov r0, r10
- adds r0, 0x1C
- adds r0, r1
- movs r3, 0
- ldrsh r4, [r0, r3]
- mov r8, r1
- ldr r6, [sp, 0x78]
- cmp r6, 0
- beq _0806EBF8
- ldr r0, [sp, 0x74]
- cmp r0, 0x2
- bne _0806EBF8
- mov r1, r10
- movs r3, 0x28
- ldrsh r0, [r1, r3]
- adds r4, r0
- ldrh r1, [r1, 0x28]
- movs r6, 0xA2
- lsls r6, 1
- adds r0, r2, r6
- strh r1, [r0]
-_0806EBF8:
- mov r0, r10
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- ldr r0, _0806EDA8
- cmp r1, r0
- bne _0806EC06
- adds r4, 0x2
-_0806EC06:
- movs r0, 0xD1
- lsls r0, 1
- cmp r1, r0
- bne _0806EC10
- subs r4, 0x2
-_0806EC10:
- ldr r0, _0806EDAC
- cmp r1, r0
- bne _0806EC18
- subs r4, 0x2
-_0806EC18:
- cmp r4, 0
- bge _0806EC1E
- movs r4, 0
-_0806EC1E:
- cmp r4, 0x14
- ble _0806EC24
- movs r4, 0x14
-_0806EC24:
- ldr r6, _0806EDA4
- ldr r0, [r6]
- movs r3, 0x9F
- lsls r3, 1
- adds r0, r3
- strb r4, [r0]
- ldr r1, [r6]
- mov r5, r10
- adds r5, 0x14
- ldr r0, [sp, 0x80]
- adds r2, r5, r0
- ldrb r0, [r2]
- adds r0, r7
- adds r3, 0x2
- adds r1, r3
- strh r0, [r1]
- ldrb r0, [r2]
- adds r0, r7
- lsls r0, 8
- ldr r2, _0806EDB0
- lsls r1, r4, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8009DA4
- adds r2, r0, 0
- ldr r0, [sp, 0x80]
- lsls r4, r0, 2
- mov r0, r10
- adds r0, 0x2C
- adds r0, r4
- ldr r1, [r0]
- adds r0, r2, 0
- bl sub_8009DA4
- adds r2, r0, 0
- str r5, [sp, 0x88]
- cmp r2, 0
- bge _0806EC74
- adds r0, 0xFF
-_0806EC74:
- asrs r0, 8
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x7C]
- adds r0, 0x20
- add r0, r8
- movs r1, 0
- ldrsh r3, [r0, r1]
- ldr r2, [sp, 0x80]
- cmp r2, 0
- bne _0806ECA0
- ldr r0, [sp, 0x7C]
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _0806ECA0
- ldr r0, [r6]
- movs r6, 0xBD
- lsls r6, 1
- adds r1, r0, r6
- movs r0, 0x1
- strb r0, [r1]
- adds r3, 0x1
-_0806ECA0:
- ldr r0, [sp, 0x7C]
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- ldr r0, _0806EDA8
- cmp r1, r0
- bne _0806ECAE
- subs r3, 0x2
-_0806ECAE:
- movs r0, 0xD1
- lsls r0, 1
- cmp r1, r0
- bne _0806ECB8
- adds r3, 0x2
-_0806ECB8:
- ldr r0, _0806EDAC
- cmp r1, r0
- bne _0806ECC0
- subs r3, 0x2
-_0806ECC0:
- cmp r3, 0
- bge _0806ECC6
- movs r3, 0
-_0806ECC6:
- cmp r3, 0x14
- ble _0806ECCC
- movs r3, 0x14
-_0806ECCC:
- ldr r5, _0806EDA4
- ldr r0, [r5]
- ldr r6, _0806EDB4
- adds r0, r6
- strb r3, [r0]
- ldr r2, [r5]
- ldr r0, [sp, 0x7C]
- adds r0, 0x16
- ldr r1, [sp, 0x80]
- adds r0, r1
- ldrb r1, [r0]
- adds r6, 0x3
- adds r2, r6
- strh r1, [r2]
- ldrb r0, [r0]
- lsls r0, 8
- ldr r2, _0806EDB8
- lsls r1, r3, 2
- adds r1, r2
- ldr r1, [r1]
- bl sub_8009DA4
- adds r2, r0, 0
- ldr r0, [sp, 0x7C]
- adds r0, 0x34
- adds r0, r4
- ldr r1, [r0]
- adds r0, r2, 0
- bl sub_8009DA4
- cmp r0, 0
- bge _0806ED0E
- adds r0, 0xFF
-_0806ED0E:
- asrs r0, 8
- str r0, [sp, 0xC]
- movs r0, 0x64
- bl sub_8084100
- str r0, [sp, 0x84]
- ldr r0, [sp, 0x80]
- cmp r0, 0
- bne _0806EDC8
- ldr r0, [sp, 0x70]
- movs r1, 0x13
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806ED4A
- ldr r2, _0806EDBC
- movs r3, 0
- ldrsh r1, [r2, r3]
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x8]
- ldr r1, [r5]
- movs r6, 0xB0
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r2]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
-_0806ED4A:
- ldr r0, [sp, 0x70]
- movs r1, 0x2B
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806ED74
- ldr r2, _0806EDC0
- movs r3, 0
- ldrsh r1, [r2, r3]
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x8]
- ldr r1, [r5]
- movs r6, 0xB0
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r2]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
-_0806ED74:
- ldr r3, [sp, 0x78]
- cmp r3, 0
- beq _0806EE4A
- mov r0, r9
- movs r1, 0x1E
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806EE4A
- ldr r2, _0806EDC4
- movs r6, 0
- ldrsh r1, [r2, r6]
- ldr r0, [sp, 0xC]
- adds r0, r1
- str r0, [sp, 0xC]
- ldr r0, [r5]
- movs r3, 0xB1
- lsls r3, 1
- adds r1, r0, r3
- ldrb r0, [r2]
- ldrb r6, [r1]
- adds r0, r6
- b _0806EE48
- .align 2, 0
-_0806EDA4: .4byte gUnknown_203B418
-_0806EDA8: .4byte 0x000001a1
-_0806EDAC: .4byte 0x000001a3
-_0806EDB0: .4byte gUnknown_80F504C
-_0806EDB4: .4byte 0x0000013f
-_0806EDB8: .4byte gUnknown_80F50A0
-_0806EDBC: .4byte gUnknown_810AC60
-_0806EDC0: .4byte gUnknown_810AC68
-_0806EDC4: .4byte gUnknown_810AC64
-_0806EDC8:
- ldr r0, [sp, 0x78]
- cmp r0, 0
- beq _0806EDF6
- mov r0, r9
- movs r1, 0x22
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806EDF6
- ldr r2, _0806EEF8
- movs r3, 0
- ldrsh r1, [r2, r3]
- ldr r0, [sp, 0xC]
- adds r0, r1
- str r0, [sp, 0xC]
- ldr r0, [r5]
- ldr r6, _0806EEFC
- adds r1, r0, r6
- ldrb r0, [r2]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
-_0806EDF6:
- ldr r0, [sp, 0x70]
- movs r1, 0x21
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806EE20
- ldr r2, _0806EF00
- movs r3, 0
- ldrsh r1, [r2, r3]
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x8]
- ldr r0, _0806EF04
- ldr r0, [r0]
- ldr r6, _0806EF08
- adds r1, r0, r6
- ldrb r0, [r2]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
-_0806EE20:
- ldr r0, [sp, 0x70]
- movs r1, 0x2B
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806EE4A
- ldr r2, _0806EF0C
- movs r3, 0
- ldrsh r1, [r2, r3]
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x8]
- ldr r0, _0806EF04
- ldr r0, [r0]
- ldr r6, _0806EF08
- adds r1, r0, r6
- ldrb r0, [r2]
- ldrb r2, [r1]
- adds r0, r2
-_0806EE48:
- strb r0, [r1]
-_0806EE4A:
- ldr r0, _0806EF04
- ldr r2, [r0]
- movs r3, 0xA3
- lsls r3, 1
- adds r1, r2, r3
- add r0, sp, 0x8
- ldrh r0, [r0]
- strh r0, [r1]
- movs r6, 0xA4
- lsls r6, 1
- adds r1, r2, r6
- add r4, sp, 0xC
- ldrh r0, [r4]
- strh r0, [r1]
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bge _0806EE70
- movs r0, 0
- str r0, [sp, 0x8]
-_0806EE70:
- ldr r1, _0806EF10
- ldr r0, [sp, 0x8]
- cmp r0, r1
- ble _0806EE7C
- ldr r0, _0806EF14
- str r0, [sp, 0x8]
-_0806EE7C:
- movs r3, 0xA8
- lsls r3, 1
- add r3, r10
- ldrh r2, [r3]
- ldr r1, _0806EF18
- adds r0, r1, 0
- ands r0, r2
- strh r0, [r3]
- movs r2, 0xA7
- lsls r2, 1
- add r2, r10
- ldrh r0, [r2]
- ands r1, r0
- strh r1, [r2]
- str r4, [sp]
- ldr r0, [sp, 0x84]
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x70]
- mov r1, r9
- ldr r2, [sp, 0x74]
- add r3, sp, 0x8
- bl sub_806E8B0
- add r5, sp, 0x10
- ldr r1, [sp, 0x8]
- ldr r0, [sp, 0xC]
- subs r1, r0
- adds r0, r5, 0
- bl sub_800A020
- add r4, sp, 0x18
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_800A020
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_800A3F0
- mov r1, r10
- ldrb r6, [r1, 0x6]
- mov r8, r5
- adds r7, r4, 0
- cmp r6, 0
- bne _0806EF20
- ldrb r1, [r1, 0x9]
- adds r0, r7, 0
- bl sub_800A020
- str r6, [sp, 0x20]
- ldr r0, _0806EF1C
- add r2, sp, 0x20
- str r0, [r2, 0x4]
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_800A34C
- mov r2, r10
- ldrb r0, [r2, 0x9]
- lsls r0, 1
- b _0806EF60
- .align 2, 0
-_0806EEF8: .4byte gUnknown_810AC66
-_0806EEFC: .4byte 0x00000163
-_0806EF00: .4byte gUnknown_810AC62
-_0806EF04: .4byte gUnknown_203B418
-_0806EF08: .4byte 0x00000161
-_0806EF0C: .4byte gUnknown_810AC68
-_0806EF10: .4byte 0x000003e6
-_0806EF14: .4byte 0x000003e7
-_0806EF18: .4byte 0x0000feff
-_0806EF1C: .4byte 0x0000aaaa
-_0806EF20:
- ldr r3, [sp, 0x88]
- ldr r6, [sp, 0x80]
- adds r0, r3, r6
- ldrb r0, [r0]
- str r0, [sp, 0x28]
- movs r0, 0x1
- str r0, [sp, 0x2C]
- add r3, sp, 0x28
- add r0, sp, 0x2C
- str r0, [sp]
- ldr r0, [sp, 0x84]
- str r0, [sp, 0x4]
- ldr r0, [sp, 0x70]
- mov r1, r9
- ldr r2, [sp, 0x74]
- bl sub_806E8B0
- ldr r1, [sp, 0x28]
- adds r0, r7, 0
- bl sub_800A020
- add r4, sp, 0x20
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_800A020
- adds r0, r7, 0
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_800A3F0
- ldr r0, [sp, 0x28]
-_0806EF60:
- movs r1, 0x3
- bl __divsi3
- adds r6, r0, 0
- add r5, sp, 0x30
- adds r0, r5, 0
- mov r1, r8
- adds r2, r7, 0
- bl sub_800A6D0
- ldr r4, _0806F098
- ldr r0, [r4]
- movs r1, 0xA5
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- mov r8, r2
- strh r6, [r0]
- adds r0, r5, 0
- bl sub_800A048
- ldr r1, [r4]
- movs r3, 0xA6
- lsls r3, 1
- adds r1, r3
- strh r0, [r1]
- ldr r0, [sp, 0x30]
- ldr r1, [sp, 0x34]
- str r0, [sp, 0x38]
- str r1, [sp, 0x3C]
- str r0, [sp, 0x48]
- str r1, [sp, 0x4C]
- add r6, sp, 0x38
- adds r0, r6, 0
- adds r1, r6, 0
- adds r2, r6, 0
- bl sub_800A34C
- mov r0, r8
- str r0, [sp, 0x40]
- ldr r0, _0806F09C
- add r5, sp, 0x40
- str r0, [r5, 0x4]
- adds r0, r6, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_800A34C
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_800A020
- add r4, sp, 0x48
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_800A34C
- ldr r1, [sp, 0xC]
- adds r0, r5, 0
- bl sub_800A020
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_800A6F0
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_800A020
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_800A6D0
- add r5, sp, 0x50
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_800A6D0
- ldr r4, _0806F0A0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_800A2F0
- lsls r0, 24
- mov r8, r5
- cmp r0, 0
- beq _0806F01E
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [sp, 0x50]
- str r1, [sp, 0x54]
-_0806F01E:
- ldr r4, _0806F0A4
- mov r0, r8
- adds r1, r4, 0
- bl sub_800A2F0
- lsls r0, 24
- cmp r0, 0
- beq _0806F036
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [sp, 0x50]
- str r1, [sp, 0x54]
-_0806F036:
- add r4, sp, 0x58
- ldr r1, [sp, 0xB0]
- str r1, [sp]
- adds r0, r4, 0
- ldr r1, [sp, 0x70]
- mov r2, r9
- ldr r3, [sp, 0x74]
- bl sub_806E100
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r4, 0
- ldr r2, [sp, 0x74]
- cmp r2, 0x2
- bne _0806F0BC
- mov r0, r9
- bl sub_807723C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0806F0BC
- ldr r3, [sp, 0x7C]
- movs r6, 0xA9
- lsls r6, 1
- adds r1, r3, r6
- ldrb r0, [r1]
- cmp r0, 0
- bne _0806F0BC
- ldr r0, [sp, 0x78]
- cmp r0, 0
- beq _0806F118
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0806F0A8
- mov r1, r9
- movs r2, 0
- bl sub_8045B94
- cmp r4, 0x1
- bne _0806F0B0
- ldr r0, _0806F0AC
- ldr r2, [r0]
- ldr r0, [sp, 0x70]
- mov r1, r9
- bl sub_80522F4
- b _0806F0BC
- .align 2, 0
-_0806F098: .4byte gUnknown_203B418
-_0806F09C: .4byte 0x00000ccc
-_0806F0A0: .4byte gUnknown_8106F24
-_0806F0A4: .4byte gUnknown_8106F04
-_0806F0A8: .4byte gUnknown_202DFE8
-_0806F0AC: .4byte gUnknown_80FAE00
-_0806F0B0:
- ldr r0, _0806F15C
- ldr r2, [r0]
- ldr r0, [sp, 0x70]
- mov r1, r9
- bl sub_80522F4
-_0806F0BC:
- ldr r1, [sp, 0x78]
- cmp r1, 0
- beq _0806F118
- ldr r2, [sp, 0x80]
- cmp r2, 0
- bne _0806F0EE
- ldr r0, [sp, 0x7C]
- adds r0, 0xC4
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _0806F0EE
- mov r0, r9
- bl sub_8041B74
- ldr r2, _0806F160
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_800A34C
- ldr r0, _0806F164
- ldr r0, [r0]
- movs r3, 0xB3
- lsls r3, 1
- adds r0, r3
- strb r4, [r0]
-_0806F0EE:
- ldr r6, [sp, 0x80]
- cmp r6, 0x1
- bne _0806F118
- ldr r0, [sp, 0x7C]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _0806F118
- mov r0, r9
- bl sub_8041B5C
- ldr r2, _0806F160
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_800A34C
- ldr r0, _0806F164
- ldr r0, [r0]
- ldr r1, _0806F168
- adds r0, r1
- strb r6, [r0]
-_0806F118:
- mov r0, r9
- movs r1, 0xC
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0806F1F4
- mov r0, r9
- movs r1, 0x13
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0806F1F4
- mov r3, r10
- ldrb r0, [r3, 0x6]
- ldr r4, [sp, 0xAC]
- cmp r0, 0
- beq _0806F140
- movs r4, 0
-_0806F140:
- mov r0, r10
- adds r0, 0xDC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0806F170
- ldr r4, _0806F16C
- ldr r0, _0806F164
- ldr r0, [r0]
- movs r6, 0xB4
- lsls r6, 1
- adds r0, r6
- movs r1, 0x1
- strb r1, [r0]
- b _0806F1DA
- .align 2, 0
-_0806F15C: .4byte gUnknown_80FADD8
-_0806F160: .4byte gUnknown_8106F1C
-_0806F164: .4byte gUnknown_203B418
-_0806F168: .4byte 0x00000167
-_0806F16C: .4byte 0x000003e7
-_0806F170:
- ldr r0, [sp, 0x70]
- movs r1, 0xC
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806F194
- ldr r0, _0806F2A4
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r4, r0
- ldr r0, _0806F2A8
- ldr r0, [r0]
- movs r2, 0xB2
- lsls r2, 1
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
-_0806F194:
- mov r0, r9
- movs r1, 0xD
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806F1B6
- ldr r0, _0806F2A4
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r4, r0
- ldr r0, _0806F2A8
- ldr r0, [r0]
- ldr r6, _0806F2AC
- adds r1, r0, r6
- movs r0, 0x1
- strb r0, [r1]
-_0806F1B6:
- cmp r5, 0
- beq _0806F1DA
- ldr r0, [sp, 0x70]
- movs r1, 0x1
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0806F1DA
- ldr r0, _0806F2B0
- movs r1, 0
- ldrsh r4, [r0, r1]
- ldr r0, _0806F2A8
- ldr r0, [r0]
- ldr r2, _0806F2B4
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
-_0806F1DA:
- movs r0, 0x64
- bl sub_8084100
- cmp r0, r4
- bge _0806F1F4
- ldr r2, _0806F2B8
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_800A34C
- movs r0, 0x1
- ldr r3, [sp, 0xB0]
- strb r0, [r3, 0xD]
-_0806F1F4:
- mov r0, r8
- bl sub_800A048
- ldr r5, _0806F2A8
- ldr r1, [r5]
- movs r6, 0xAA
- lsls r6, 1
- adds r1, r6
- str r0, [r1]
- mov r0, r8
- mov r1, r8
- adds r2, r7, 0
- bl sub_800A34C
- ldr r0, [r5]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- ldr r2, [sp, 0xB4]
- str r2, [r0]
- add r4, sp, 0x60
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_800A088
- mov r0, r8
- mov r1, r8
- adds r2, r4, 0
- bl sub_800A34C
- mov r0, r8
- bl sub_800A048
- ldr r1, [r5]
- movs r3, 0xA8
- lsls r3, 1
- adds r1, r3
- str r0, [r1]
- movs r0, 0x80
- lsls r0, 7
- bl sub_8084100
- movs r6, 0
- str r6, [sp, 0x58]
- movs r1, 0xE0
- lsls r1, 8
- adds r0, r1
- str r0, [r7, 0x4]
- mov r0, r8
- mov r1, r8
- adds r2, r7, 0
- bl sub_800A34C
- add r4, sp, 0x68
- adds r0, r4, 0
- movs r1, 0x64
- bl sub_800A020
- adds r0, r7, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_800A34C
- adds r0, r7, 0
- bl sub_800A048
- ldr r1, [r5]
- movs r2, 0xAC
- lsls r2, 1
- adds r1, r2
- str r0, [r1]
- mov r0, r8
- bl sub_800A048
- ldr r3, [sp, 0xB0]
- str r0, [r3]
- str r6, [r3, 0x4]
- cmp r0, 0
- bne _0806F294
- strb r0, [r3, 0xD]
-_0806F294:
- add sp, 0x8C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806F2A4: .4byte gUnknown_80F4DAE
-_0806F2A8: .4byte gUnknown_203B418
-_0806F2AC: .4byte 0x00000165
-_0806F2B0: .4byte gUnknown_80F4DB0
-_0806F2B4: .4byte 0x00000169
-_0806F2B8: .4byte gUnknown_8106F14
- thumb_func_end sub_806EAF4
-
- thumb_func_start sub_806F2BC
-sub_806F2BC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r5, r0, 0
- mov r12, r1
- ldr r7, [sp, 0x2C]
- lsls r2, 24
- lsrs r4, r2, 24
- adds r6, r3, 0
- cmp r6, 0
- bgt _0806F2D6
- movs r6, 0x1
-_0806F2D6:
- ldr r0, _0806F320
- cmp r6, r0
- ble _0806F2DE
- adds r6, r0, 0
-_0806F2DE:
- movs r0, 0
- mov r8, r0
- strb r4, [r7, 0xC]
- str r7, [sp]
- add r0, sp, 0x4
- adds r1, r5, 0
- mov r2, r12
- adds r3, r4, 0
- bl sub_806E100
- add r4, sp, 0xC
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_800A020
- adds r0, r4, 0
- adds r1, r4, 0
- add r2, sp, 0x4
- bl sub_800A34C
- adds r0, r4, 0
- bl sub_800A048
- str r0, [r7]
- mov r0, r8
- str r0, [r7, 0x4]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806F320: .4byte 0x000003e7
- thumb_func_end sub_806F2BC
-
- thumb_func_start sub_806F324
-sub_806F324:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x94
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, r3, 16
- asrs r4, 16
- add r0, sp, 0x10
- bl sub_80457DC
- add r2, sp, 0x84
- str r5, [sp, 0x84]
- movs r0, 0x2
- str r0, [r2, 0x8]
- movs r0, 0
- strb r0, [r2, 0xC]
- str r6, [r2, 0x4]
- strb r0, [r2, 0xD]
- strb r0, [r2, 0xE]
- strb r0, [r2, 0xF]
- str r0, [sp]
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- add r0, sp, 0x10
- mov r1, r8
- movs r3, 0
- bl sub_806D010
- add sp, 0x94
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806F324
-
- thumb_func_start sub_806F370
-sub_806F370:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r10, r0
- adds r7, r1, 0
- mov r9, r3
- ldr r0, [sp, 0x50]
- ldr r1, [sp, 0x54]
- ldr r3, [sp, 0x58]
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- asrs r1, 16
- mov r8, r1
- adds r5, r2, 0
- movs r0, 0x2
- str r0, [sp, 0x18]
- str r3, [sp, 0x14]
- add r0, sp, 0x10
- movs r1, 0
- strb r4, [r0, 0xC]
- strb r1, [r0, 0xD]
- strb r1, [r0, 0xE]
- cmp r4, 0
- beq _0806F3FC
- ldr r1, [r7, 0x70]
- movs r2, 0
- lsls r0, r4, 3
- mov r3, sp
- adds r3, 0x20
- str r3, [sp, 0x28]
- ldr r6, _0806F408
- mov r12, r6
- adds r1, 0x5C
- adds r0, r4
- lsls r3, r0, 2
- ldr r4, [sp, 0x28]
-_0806F3C0:
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r3
- add r0, r12
- movs r6, 0
- ldrsh r0, [r0, r6]
- stm r4!, {r0}
- adds r2, 0x1
- cmp r2, 0x1
- ble _0806F3C0
- adds r0, r7, 0
- movs r1, 0x35
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0806F3FC
- ldr r2, _0806F40C
- ldr r1, [sp, 0x28]
- ldr r0, [r1, 0x4]
- lsls r0, 2
- ldr r1, [sp, 0x20]
- lsls r1, 4
- adds r0, r1
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- beq _0806F3FC
- movs r5, 0
-_0806F3FC:
- str r5, [sp, 0x10]
- cmp r5, 0
- bne _0806F410
- add r1, sp, 0x10
- movs r0, 0x1
- b _0806F414
- .align 2, 0
-_0806F408: .4byte gUnknown_80F522C
-_0806F40C: .4byte gUnknown_80F54B4
-_0806F410:
- add r1, sp, 0x10
- movs r0, 0
-_0806F414:
- strb r0, [r1, 0xF]
- mov r3, r9
- str r3, [sp]
- mov r6, r8
- str r6, [sp, 0x4]
- ldr r0, [sp, 0x5C]
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x60]
- str r0, [sp, 0xC]
- mov r0, r10
- adds r1, r7, 0
- add r2, sp, 0x10
- movs r3, 0
- bl sub_806D010
- ldr r0, [sp, 0x4C]
- cmp r0, 0
- beq _0806F440
- add r0, sp, 0x10
- ldrb r0, [r0, 0xF]
- ldr r1, [sp, 0x4C]
- strb r0, [r1]
-_0806F440:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_806F370
-
- thumb_func_start sub_806F450
-sub_806F450:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, [r1, 0x70]
- adds r6, r4, 0
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _0806F47A
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0806F47A
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0806F476
- movs r0, 0x2
- strb r0, [r4, 0x8]
- b _0806F47A
-_0806F476:
- movs r0, 0x3
- strb r0, [r6, 0x8]
-_0806F47A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_806F450
-
- thumb_func_start sub_806F480
-sub_806F480:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [r0, 0x70]
- adds r3, r2, 0
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _0806F49E
- cmp r1, 0
- beq _0806F49A
- movs r0, 0x2
- strb r0, [r2, 0x8]
- b _0806F49E
-_0806F49A:
- movs r0, 0x3
- strb r0, [r3, 0x8]
-_0806F49E:
- pop {r0}
- bx r0
- thumb_func_end sub_806F480
-
- thumb_func_start sub_806F4A4
-sub_806F4A4:
- push {r4-r6,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r5, [r0, 0x70]
- movs r1, 0xE
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0806F4CE
- cmp r4, 0x1
- beq _0806F4C0
- cmp r4, 0x7
- bne _0806F4CE
-_0806F4C0:
- adds r0, r5, 0
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806F4CE
-_0806F4CA:
- movs r0, 0
- b _0806F4F6
-_0806F4CE:
- movs r2, 0
- lsls r0, r4, 3
- ldr r6, _0806F4FC
- adds r3, r5, 0
- adds r3, 0x5C
- adds r0, r4
- lsls r1, r0, 2
-_0806F4DC:
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- adds r0, r6
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- beq _0806F4CA
- adds r2, 0x1
- cmp r2, 0x1
- ble _0806F4DC
- movs r0, 0x1
-_0806F4F6:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0806F4FC: .4byte gUnknown_80F522C
- thumb_func_end sub_806F4A4
-
- thumb_func_start sub_806F500
-sub_806F500:
- ldr r0, _0806F5F4
- ldr r0, [r0]
- mov r12, r0
- movs r0, 0x9A
- lsls r0, 1
- add r0, r12
- movs r1, 0
- strb r1, [r0]
- str r1, [r0, 0x4]
- strb r1, [r0, 0x8]
- strb r1, [r0, 0x9]
- movs r2, 0xA
- strb r2, [r0, 0xA]
- strb r2, [r0, 0xB]
- movs r2, 0
- movs r3, 0x1
- strh r3, [r0, 0xC]
- strh r3, [r0, 0xE]
- strh r1, [r0, 0x10]
- strh r1, [r0, 0x14]
- strh r1, [r0, 0x12]
- strh r1, [r0, 0x16]
- strh r1, [r0, 0x18]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x24]
- str r1, [r0, 0x28]
- movs r0, 0xB0
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F5F8
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB1
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F5FC
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB2
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F600
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB3
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F604
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB4
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F608
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB5
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB6
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F60C
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F610
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB7
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F614
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB8
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F618
- add r0, r12
- strb r2, [r0]
- movs r0, 0xB9
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F61C
- add r0, r12
- strb r2, [r0]
- movs r0, 0xBA
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F620
- add r0, r12
- strb r2, [r0]
- movs r0, 0xBB
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F624
- add r0, r12
- strb r2, [r0]
- movs r0, 0xBC
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- ldr r0, _0806F628
- add r0, r12
- strb r2, [r0]
- movs r0, 0xBD
- lsls r0, 1
- add r0, r12
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0806F5F4: .4byte gUnknown_203B418
-_0806F5F8: .4byte 0x00000161
-_0806F5FC: .4byte 0x00000163
-_0806F600: .4byte 0x00000165
-_0806F604: .4byte 0x00000167
-_0806F608: .4byte 0x00000169
-_0806F60C: .4byte 0x0000016b
-_0806F610: .4byte 0x0000016d
-_0806F614: .4byte 0x0000016f
-_0806F618: .4byte 0x00000171
-_0806F61C: .4byte 0x00000173
-_0806F620: .4byte 0x00000175
-_0806F624: .4byte 0x00000177
-_0806F628: .4byte 0x00000179
- thumb_func_end sub_806F500
-
- thumb_func_start sub_806F62C
-sub_806F62C:
- ldr r1, _0806F638
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0806F638: .4byte gUnknown_8106F7C
- thumb_func_end sub_806F62C
-
- thumb_func_start sub_806F63C
-sub_806F63C:
- push {lr}
- ldr r1, _0806F658
- ldr r1, [r1]
- ldr r2, _0806F65C
- adds r1, r2
- ldr r1, [r1, 0x10]
- cmp r1, r0
- bne _0806F652
- adds r0, r1, 0
- bl sub_803F508
-_0806F652:
- pop {r0}
- bx r0
- .align 2, 0
-_0806F658: .4byte gUnknown_203B418
-_0806F65C: .4byte 0x000181e8
- thumb_func_end sub_806F63C
-
- thumb_func_start sub_806F660
-sub_806F660:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- ldr r0, [r6, 0x70]
- mov r10, r0
- ldr r4, [r1, 0x70]
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- bl sub_808DACC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0806F6C0
- ldr r3, [r0]
- ldr r1, _0806F6C4
- adds r0, r3, r1
- ldrh r2, [r0]
- subs r0, r2, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _0806F702
- lsls r0, r2, 16
- asrs r1, r0, 16
- cmp r1, 0x9
- beq _0806F702
- cmp r1, 0xF
- beq _0806F702
- adds r0, r2, 0
- subs r0, 0x2C
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _0806F6CC
- ldr r2, _0806F6C8
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806F702
- b _0806F8FC
- .align 2, 0
-_0806F6C0: .4byte gUnknown_203B418
-_0806F6C4: .4byte 0x00003a14
-_0806F6C8: .4byte 0x0000065c
-_0806F6CC:
- cmp r1, 0x31
- bne _0806F6F0
- ldr r1, _0806F6EC
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0806F6DC
- b _0806F8FC
-_0806F6DC:
- movs r0, 0xCF
- lsls r0, 1
- bl sub_8097900
- lsls r0, 24
- cmp r0, 0
- bne _0806F702
- b _0806F8FC
- .align 2, 0
-_0806F6EC: .4byte 0x00000659
-_0806F6F0:
- ldr r2, _0806F834
- adds r0, r3, r2
- ldrb r0, [r0]
- bl sub_8090148
- lsls r0, 24
- cmp r0, 0
- bne _0806F702
- b _0806F8FC
-_0806F702:
- ldr r0, _0806F838
- ldr r0, [r0]
- ldr r3, _0806F83C
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806F712
- b _0806F8FC
-_0806F712:
- ldrh r1, [r4, 0x2]
- adds r0, r1, 0
- subs r0, 0x90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _0806F766
- lsls r0, r1, 16
- asrs r1, r0, 16
- ldr r0, _0806F840
- cmp r1, r0
- beq _0806F766
- subs r0, 0x1
- cmp r1, r0
- beq _0806F766
- adds r0, 0x2
- cmp r1, r0
- beq _0806F766
- adds r0, 0x8A
- cmp r1, r0
- beq _0806F766
- adds r0, 0x1
- cmp r1, r0
- beq _0806F766
- adds r0, 0x4
- cmp r1, r0
- beq _0806F766
- subs r0, 0x1
- cmp r1, r0
- beq _0806F766
- adds r0, 0x2
- cmp r1, r0
- beq _0806F766
- subs r0, 0x9
- cmp r1, r0
- beq _0806F766
- adds r0, 0x1
- cmp r1, r0
- beq _0806F766
- adds r0, 0x1
- cmp r1, r0
- bne _0806F776
-_0806F766:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0806F776
- b _0806F8FC
-_0806F776:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- bl sub_806F9BC
- lsls r0, 24
- cmp r0, 0
- bne _0806F786
- b _0806F8FC
-_0806F786:
- movs r3, 0x4
- ldrsh r1, [r6, r3]
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- subs r1, r0
- cmp r1, 0
- bge _0806F798
- negs r1, r1
-_0806F798:
- cmp r1, 0x1
- ble _0806F79E
- b _0806F8FC
-_0806F79E:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- mov r2, r8
- movs r3, 0x6
- ldrsh r0, [r2, r3]
- subs r1, r0
- cmp r1, 0
- bge _0806F7B0
- negs r1, r1
-_0806F7B0:
- cmp r1, 0x1
- ble _0806F7B6
- b _0806F8FC
-_0806F7B6:
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- bne _0806F7C2
- b _0806F8FC
-_0806F7C2:
- adds r0, r4, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0806F7CE
- b _0806F8FC
-_0806F7CE:
- mov r0, r8
- adds r1, r6, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- bne _0806F7DE
- b _0806F8FC
-_0806F7DE:
- bl sub_806F910
- movs r0, 0xFA
- lsls r0, 2
- bl sub_8084100
- adds r7, r0, 0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_808DCC0
- lsls r0, 16
- asrs r4, r0, 16
- ldr r0, _0806F844
- cmp r4, r0
- bne _0806F800
- b _0806F8FC
-_0806F800:
- adds r0, r6, 0
- movs r1, 0x2E
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0806F816
- ldr r0, _0806F848
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r4, r0
-_0806F816:
- ldr r0, _0806F84C
- mov r3, r10
- ldrb r1, [r3, 0x9]
- lsls r1, 1
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- adds r4, r0
- cmp r7, r4
- bge _0806F8FC
- movs r4, 0
- movs r0, 0x6
- subs r3, r0, r5
- ldr r7, _0806F850
- b _0806F856
- .align 2, 0
-_0806F834: .4byte 0x00000644
-_0806F838: .4byte gUnknown_203B418
-_0806F83C: .4byte 0x0000065d
-_0806F840: .4byte 0x0000010d
-_0806F844: .4byte 0xfffffc19
-_0806F848: .4byte gUnknown_80F5008
-_0806F84C: .4byte gUnknown_80F5700
-_0806F850: .4byte gUnknown_202EE70
-_0806F854:
- adds r4, 0x1
-_0806F856:
- cmp r4, r3
- bgt _0806F878
- movs r2, 0
- cmp r2, r5
- bge _0806F872
- adds r1, r4, r7
- b _0806F86C
-_0806F864:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r5
- bge _0806F872
-_0806F86C:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0806F864
-_0806F872:
- cmp r2, r5
- bne _0806F854
- mov r9, r4
-_0806F878:
- movs r0, 0x1
- negs r0, r0
- cmp r9, r0
- beq _0806F8F4
- movs r4, 0
- ldr r3, _0806F8BC
- ldr r0, [r3]
- ldr r2, _0806F8C0
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806F8B4
- adds r7, r3, 0
- adds r5, r2, 0
- movs r2, 0
- movs r3, 0x1
-_0806F89C:
- adds r2, 0x64
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0806F8B4
- ldr r0, [r7]
- adds r0, r2, r0
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0806F89C
-_0806F8B4:
- cmp r4, 0x4
- beq _0806F8F4
- movs r4, 0
- b _0806F8C6
- .align 2, 0
-_0806F8BC: .4byte gUnknown_203B45C
-_0806F8C0: .4byte 0x00008df8
-_0806F8C4:
- adds r4, 0x1
-_0806F8C6:
- cmp r4, 0x3
- bgt _0806F8E2
- ldr r0, _0806F8EC
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r3, _0806F8F0
- adds r0, r3
- adds r0, r1
- ldr r0, [r0]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806F8C4
-_0806F8E2:
- cmp r4, 0x4
- beq _0806F8F4
- movs r0, 0x1
- b _0806F8FE
- .align 2, 0
-_0806F8EC: .4byte gUnknown_203B418
-_0806F8F0: .4byte 0x0001357c
-_0806F8F4:
- adds r0, r6, 0
- mov r1, r8
- bl nullsub_96
-_0806F8FC:
- movs r0, 0
-_0806F8FE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806F660
-
- thumb_func_start nullsub_96
-nullsub_96:
- bx lr
- thumb_func_end nullsub_96
-
- thumb_func_start sub_806F910
-sub_806F910:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r5, 0
- movs r6, 0
- movs r7, 0x40
-_0806F91C:
- ldr r0, _0806F9AC
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0806F9B0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- adds r1, r6, 0x1
- mov r8, r1
- cmp r0, 0
- beq _0806F98A
- ldr r0, [r4, 0x70]
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_808DACC
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r4, 0
- adds r0, 0x68
- strh r7, [r0]
- ldr r0, [r4, 0x70]
- ldr r2, _0806F9B4
- adds r0, r2
- strb r6, [r0]
- ldr r0, [r4, 0x70]
- adds r2, 0x1
- adds r0, r2
- strb r1, [r0]
- cmp r1, 0
- beq _0806F978
- ldr r3, _0806F9B8
- movs r2, 0x1
-_0806F966:
- cmp r5, 0x5
- bgt _0806F972
- adds r0, r5, r3
- strb r2, [r0]
- adds r7, 0x10
- adds r5, 0x1
-_0806F972:
- subs r1, 0x1
- cmp r1, 0
- bne _0806F966
-_0806F978:
- adds r0, r4, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806CCB4
-_0806F98A:
- mov r6, r8
- cmp r6, 0x3
- ble _0806F91C
- cmp r5, 0x5
- bgt _0806F9A2
- ldr r2, _0806F9B8
- movs r1, 0
-_0806F998:
- adds r0, r5, r2
- strb r1, [r0]
- adds r5, 0x1
- cmp r5, 0x5
- ble _0806F998
-_0806F9A2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0806F9AC: .4byte gUnknown_203B418
-_0806F9B0: .4byte 0x0001357c
-_0806F9B4: .4byte 0x00000167
-_0806F9B8: .4byte gUnknown_202EE70
- thumb_func_end sub_806F910
-
- thumb_func_start sub_806F9BC
-sub_806F9BC:
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r4, r0, 16
- ldr r5, _0806FA40
- ldr r0, [r5]
- movs r1, 0xCB
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0806FA3C
- adds r0, r4, 0
- bl sub_808529C
- lsls r0, 24
- cmp r0, 0
- beq _0806FA3C
- cmp r4, 0x97
- bne _0806F9F2
- ldr r0, [r5]
- movs r1, 0xCF
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0806FA3C
-_0806F9F2:
- movs r0, 0xCC
- lsls r0, 1
- cmp r4, r0
- beq _0806FA3C
- ldr r0, _0806FA44
- cmp r4, r0
- beq _0806FA3C
- ldr r0, _0806FA48
- cmp r4, r0
- beq _0806FA3C
- movs r0, 0xD1
- lsls r0, 1
- cmp r4, r0
- beq _0806FA3C
- ldr r0, _0806FA4C
- cmp r4, r0
- beq _0806FA3C
- adds r0, r4, 0
- bl sub_808DBF4
- lsls r0, 24
- cmp r0, 0
- bne _0806FA50
- adds r0, r4, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- mov r0, sp
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _0806FA50
-_0806FA3C:
- movs r0, 0
- b _0806FA52
- .align 2, 0
-_0806FA40: .4byte gUnknown_203B418
-_0806FA44: .4byte 0x00000199
-_0806FA48: .4byte 0x000001a1
-_0806FA4C: .4byte 0x000001a3
-_0806FA50:
- movs r0, 0x1
-_0806FA52:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_806F9BC
-
- thumb_func_start sub_806FA5C
-sub_806FA5C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r0, r5, 0x4
- mov r1, r8
- adds r1, 0x4
- bl sub_80983D8
- adds r4, r0, 0
- movs r0, 0
- mov r10, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r5, 0
- adds r0, 0x22
- mov r2, r10
- strb r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_807A0CC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_806CE68
- ldr r0, _0806FAD4
- movs r3, 0
- ldrsh r1, [r6, r3]
- bl sub_808D908
- ldr r0, _0806FAD8
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0
- bne _0806FAE4
- movs r4, 0
- ldrsh r1, [r6, r4]
- ldr r0, _0806FADC
- cmp r1, r0
- beq _0806FB28
- ldr r0, _0806FAE0
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
- b _0806FB28
- .align 2, 0
-_0806FAD4: .4byte gUnknown_202DF98
-_0806FAD8: .4byte gUnknown_80F9FE8
-_0806FADC: .4byte 0x0000019d
-_0806FAE0: .4byte gUnknown_80FA004
-_0806FAE4:
- movs r7, 0
- ldr r3, _0806FB2C
- ldr r0, [r3]
- ldr r2, _0806FB30
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806FB1A
- mov r12, r3
- adds r4, r2, 0
- movs r2, 0
- movs r3, 0x1
-_0806FB00:
- adds r2, 0x64
- adds r7, 0x1
- cmp r7, 0x3
- bgt _0806FB1A
- mov r1, r12
- ldr r0, [r1]
- adds r0, r2, r0
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0806FB00
-_0806FB1A:
- cmp r7, 0x4
- bne _0806FB38
- ldr r0, _0806FB34
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
-_0806FB28:
- movs r0, 0
- b _0806FCF0
- .align 2, 0
-_0806FB2C: .4byte gUnknown_203B45C
-_0806FB30: .4byte 0x00008df8
-_0806FB34: .4byte gUnknown_80FA030
-_0806FB38:
- mov r0, r9
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _0806FB4E
- mov r0, r9
- bl sub_80925EC
- movs r2, 0x1
- mov r10, r2
-_0806FB4E:
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r5, 0
- mov r2, r8
- bl sub_8068FE0
- ldr r1, _0806FC40
- movs r0, 0x64
- muls r0, r7
- ldr r3, _0806FC44
- adds r0, r3
- ldr r1, [r1]
- adds r5, r1, r0
- movs r4, 0
- movs r0, 0x3
- strh r0, [r5]
- strb r4, [r5, 0x2]
- ldrh r0, [r6, 0xE]
- strb r0, [r5, 0x3]
- movs r0, 0x1
- strh r0, [r5, 0x8]
- adds r0, r5, 0
- adds r0, 0x4C
- movs r1, 0
- bl sub_808EC94
- ldr r0, [r6, 0x44]
- str r0, [r5, 0x54]
- adds r0, r5, 0
- adds r0, 0x50
- strb r4, [r0]
- ldr r0, _0806FC48
- strh r0, [r5, 0xA]
- strh r7, [r5, 0xC]
- ldrh r0, [r6]
- strh r0, [r5, 0xE]
- ldr r0, _0806FC4C
- ldr r0, [r0]
- ldr r4, _0806FC50
- adds r0, r4
- ldr r0, [r0]
- str r0, [r5, 0x4]
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x10]
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x12]
- ldr r0, [r6, 0x14]
- str r0, [r5, 0x44]
- ldr r0, [r6, 0x18]
- str r0, [r5, 0x48]
- movs r2, 0
- adds r7, r6, 0
- adds r7, 0x20
- adds r4, r6, 0
- adds r4, 0xA
- adds r3, r6, 0
- adds r3, 0xC
- adds r1, r5, 0
- adds r1, 0x14
-_0806FBC4:
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x1
- ble _0806FBC4
- ldr r0, [r6, 0x10]
- str r0, [r5, 0x18]
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r7, 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}
- ldr r0, [r6, 0x1C]
- str r0, [r5, 0x40]
- adds r4, r5, 0
- adds r4, 0x58
- movs r1, 0
- ldrsh r0, [r6, r1]
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
- bl sub_8097848
- movs r2, 0
- ldrsh r0, [r6, r2]
- movs r3, 0x4
- ldrsh r1, [r6, r3]
- movs r3, 0x6
- ldrsh r2, [r6, r3]
- add r3, sp, 0xC
- str r3, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- movs r3, 0x1
- str r3, [sp, 0x8]
- adds r3, r5, 0
- bl sub_806B8CC
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _0806FC58
- ldr r0, _0806FC54
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
- strh r7, [r5]
- b _0806FCEE
- .align 2, 0
-_0806FC40: .4byte gUnknown_203B45C
-_0806FC44: .4byte 0x00008df8
-_0806FC48: .4byte 0x0000ffff
-_0806FC4C: .4byte gUnknown_203B418
-_0806FC50: .4byte 0x00000644
-_0806FC54: .4byte gUnknown_80FA058
-_0806FC58:
- bl sub_8083D88
- movs r0, 0xA0
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0806FC78
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _0806FC94
- b _0806FC88
- .align 2, 0
-_0806FC78: .4byte gUnknown_80FA090
-_0806FC7C:
- ldr r0, _0806FD00
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806FC88:
- adds r0, r4, 0
- bl sub_805FBE8
- lsls r0, 24
- cmp r0, 0
- beq _0806FC7C
-_0806FC94:
- ldr r4, _0806FD04
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_808D9DC
- ldr r0, _0806FD08
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
- mov r0, r10
- cmp r0, 0
- beq _0806FCD8
- bl sub_8085480
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0806FD0C
- mov r1, r9
- bl sub_8092558
- movs r0, 0xCE
- bl sub_8011988
- ldr r0, _0806FD10
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806FCD8:
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x97
- bne _0806FCEE
- ldr r2, _0806FD14
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r1, [r2]
- movs r0, 0x3
- strb r0, [r1, 0x11]
-_0806FCEE:
- movs r0, 0x1
-_0806FCF0:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0806FD00: .4byte gUnknown_80FA0C8
-_0806FD04: .4byte gUnknown_202DF98
-_0806FD08: .4byte gUnknown_80FA0F0
-_0806FD0C: .4byte gUnknown_202E628
-_0806FD10: .4byte gUnknown_80FA120
-_0806FD14: .4byte gUnknown_203B418
- thumb_func_end sub_806FA5C
-
- thumb_func_start sub_806FD18
-sub_806FD18:
- push {r4-r7,lr}
- ldr r4, [r0, 0x70]
- movs r6, 0x1
- negs r6, r6
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- bl sub_806F9BC
- lsls r0, 24
- cmp r0, 0
- beq _0806FDEC
- bl sub_806F910
- movs r4, 0
- movs r0, 0x6
- subs r3, r0, r5
- ldr r7, _0806FD48
- b _0806FD4E
- .align 2, 0
-_0806FD48: .4byte gUnknown_202EE70
-_0806FD4C:
- adds r4, 0x1
-_0806FD4E:
- cmp r4, r3
- bgt _0806FD70
- movs r2, 0
- cmp r2, r5
- bge _0806FD6A
- adds r1, r4, r7
- b _0806FD64
-_0806FD5C:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r5
- bge _0806FD6A
-_0806FD64:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0806FD5C
-_0806FD6A:
- cmp r2, r5
- bne _0806FD4C
- adds r6, r4, 0
-_0806FD70:
- movs r0, 0x1
- negs r0, r0
- cmp r6, r0
- beq _0806FDEC
- movs r4, 0
- ldr r3, _0806FDB4
- ldr r0, [r3]
- ldr r2, _0806FDB8
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806FDAC
- adds r6, r3, 0
- adds r5, r2, 0
- movs r2, 0
- movs r3, 0x1
-_0806FD94:
- adds r2, 0x64
- adds r4, 0x1
- cmp r4, 0x3
- bgt _0806FDAC
- ldr r0, [r6]
- adds r0, r2, r0
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0806FD94
-_0806FDAC:
- cmp r4, 0x4
- beq _0806FDEC
- movs r4, 0
- b _0806FDBE
- .align 2, 0
-_0806FDB4: .4byte gUnknown_203B45C
-_0806FDB8: .4byte 0x00008df8
-_0806FDBC:
- adds r4, 0x1
-_0806FDBE:
- cmp r4, 0x3
- bgt _0806FDDA
- ldr r0, _0806FDE4
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0806FDE8
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0806FDBC
-_0806FDDA:
- cmp r4, 0x4
- beq _0806FDEC
- movs r0, 0x1
- b _0806FDEE
- .align 2, 0
-_0806FDE4: .4byte gUnknown_203B418
-_0806FDE8: .4byte 0x0001357c
-_0806FDEC:
- movs r0, 0
-_0806FDEE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_806FD18
-
- thumb_func_start sub_806FDF4
-sub_806FDF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x60
- str r0, [sp, 0x58]
- mov r10, r1
- str r2, [sp, 0x5C]
- movs r0, 0
- mov r9, r0
- str r0, [r2]
- add r0, sp, 0xC
- bl sub_8069D4C
- movs r6, 0
- ldr r3, _0806FE50
- ldr r0, [r3]
- ldr r2, _0806FE54
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0806FE46
- adds r5, r3, 0
- adds r4, r2, 0
- movs r2, 0
- movs r3, 0x1
-_0806FE2E:
- adds r2, 0x64
- adds r6, 0x1
- cmp r6, 0x3
- bgt _0806FE46
- ldr r0, [r5]
- adds r0, r2, r0
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0806FE2E
-_0806FE46:
- cmp r6, 0x4
- bne _0806FE58
- movs r0, 0
- b _0806FFF8
- .align 2, 0
-_0806FE50: .4byte gUnknown_203B45C
-_0806FE54: .4byte 0x00008df8
-_0806FE58:
- add r0, sp, 0xC
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _0806FF74
- movs r0, 0x64
- muls r0, r6
- ldr r2, _0806FF78
- adds r0, r2
- ldr r1, [r1]
- adds r5, r1, r0
- movs r4, 0
- movs r0, 0x3
- strh r0, [r5]
- strb r4, [r5, 0x2]
- add r0, sp, 0xC
- ldrh r0, [r0, 0xE]
- strb r0, [r5, 0x3]
- movs r0, 0x1
- strh r0, [r5, 0x8]
- adds r0, r5, 0
- adds r0, 0x4C
- movs r1, 0
- bl sub_808EC94
- ldr r0, [sp, 0x50]
- str r0, [r5, 0x54]
- adds r0, r5, 0
- adds r0, 0x50
- strb r4, [r0]
- ldr r0, _0806FF7C
- strh r0, [r5, 0xA]
- strh r6, [r5, 0xC]
- add r0, sp, 0xC
- ldrh r0, [r0]
- strh r0, [r5, 0xE]
- ldr r0, _0806FF80
- ldr r0, [r0]
- ldr r3, _0806FF84
- adds r0, r3
- ldr r0, [r0]
- str r0, [r5, 0x4]
- add r0, sp, 0xC
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x10]
- add r0, sp, 0xC
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x12]
- ldr r0, [sp, 0x20]
- str r0, [r5, 0x44]
- ldr r0, [sp, 0x24]
- str r0, [r5, 0x48]
- movs r2, 0
- add r6, sp, 0x2C
- add r4, sp, 0x54
- mov r8, r4
- mov r4, sp
- adds r4, 0x16
- add r3, sp, 0x18
- adds r1, r5, 0
- adds r1, 0x14
-_0806FED8:
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1, 0x2]
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, 0x1
- ble _0806FED8
- ldr r0, [sp, 0x1C]
- str r0, [r5, 0x18]
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r6, 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}
- ldr r0, [sp, 0x28]
- str r0, [r5, 0x40]
- adds r4, r5, 0
- adds r4, 0x58
- add r0, sp, 0xC
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
- adds r0, r7, 0
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _0806FF34
- adds r0, r7, 0
- bl sub_80925EC
- movs r2, 0x1
- mov r9, r2
-_0806FF34:
- bl sub_8097848
- movs r1, 0xFA
- lsls r1, 1
- mov r0, r10
- ldr r2, [sp, 0x58]
- bl sub_8068FE0
- add r0, sp, 0xC
- movs r3, 0
- ldrsh r0, [r0, r3]
- add r1, sp, 0xC
- movs r2, 0x4
- ldrsh r1, [r1, r2]
- add r2, sp, 0xC
- movs r3, 0x6
- ldrsh r2, [r2, r3]
- mov r3, r8
- str r3, [sp]
- movs r3, 0
- str r3, [sp, 0x4]
- str r3, [sp, 0x8]
- adds r3, r5, 0
- bl sub_806B8CC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0806FF88
- strh r0, [r5]
- b _0806FFF6
- .align 2, 0
-_0806FF74: .4byte gUnknown_203B45C
-_0806FF78: .4byte 0x00008df8
-_0806FF7C: .4byte 0x0000ffff
-_0806FF80: .4byte gUnknown_203B418
-_0806FF84: .4byte 0x00000644
-_0806FF88:
- ldr r0, _0806FF9C
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _0806FFB8
- b _0806FFAC
- .align 2, 0
-_0806FF9C: .4byte gUnknown_80FA090
-_0806FFA0:
- ldr r0, _08070008
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806FFAC:
- adds r0, r4, 0
- bl sub_805FBE8
- lsls r0, 24
- cmp r0, 0
- beq _0806FFA0
-_0806FFB8:
- mov r4, r9
- cmp r4, 0
- beq _0806FFE6
- bl sub_8085480
- adds r1, r0, 0
- ldr r0, _0807000C
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08070010
- adds r1, r7, 0
- bl sub_8092558
- movs r0, 0xCE
- bl sub_8011988
- ldr r0, _08070014
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_0806FFE6:
- ldr r0, _08070018
- adds r1, r5, 0
- movs r2, 0
- bl sub_808D9DC
- ldr r0, [sp, 0x54]
- ldr r1, [sp, 0x5C]
- str r0, [r1]
-_0806FFF6:
- movs r0, 0x1
-_0806FFF8:
- add sp, 0x60
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08070008: .4byte gUnknown_80FA0C8
-_0807000C: .4byte gUnknown_202DF98
-_08070010: .4byte gUnknown_202E628
-_08070014: .4byte gUnknown_80FA120
-_08070018: .4byte gUnknown_202E088
- thumb_func_end sub_806FDF4
-
- thumb_func_start sub_807001C
-sub_807001C:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, [r5, 0x70]
- ldr r0, _08070050
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- adds r0, 0x44
- movs r1, 0x1
- bl sub_8044C94
- adds r0, r4, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08070042
- b _0807019C
-_08070042:
- cmp r0, 0x3
- bgt _08070054
- cmp r0, 0x1
- bne _0807004C
- b _0807019C
-_0807004C:
- b _0807005A
- .align 2, 0
-_08070050: .4byte gUnknown_202DF98
-_08070054:
- cmp r0, 0x5
- bne _0807005A
- b _0807019C
-_0807005A:
- adds r0, r4, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0807008C
- cmp r0, 0x3
- bgt _0807006E
- cmp r0, 0x1
- beq _0807007A
- b _080700AC
-_0807006E:
- cmp r0, 0x4
- beq _0807009C
- cmp r0, 0x6
- bne _08070078
- b _0807019C
-_08070078:
- b _080700AC
-_0807007A:
- ldr r0, _08070088
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807019C
- .align 2, 0
-_08070088: .4byte gUnknown_80F954C
-_0807008C:
- ldr r0, _08070098
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807019C
- .align 2, 0
-_08070098: .4byte gUnknown_80F956C
-_0807009C:
- ldr r0, _080700A8
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807019C
- .align 2, 0
-_080700A8: .4byte gUnknown_80F958C
-_080700AC:
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080700D4
- cmp r0, 0x7
- beq _080700E4
- adds r0, r4, 0
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080700F4
- ldr r0, _080700D0
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807019C
- .align 2, 0
-_080700D0: .4byte gUnknown_80F95D8
-_080700D4:
- ldr r0, _080700E0
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807019C
- .align 2, 0
-_080700E0: .4byte gUnknown_80F95A4
-_080700E4:
- ldr r0, _080700F0
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807019C
- .align 2, 0
-_080700F0: .4byte gUnknown_80F95BC
-_080700F4:
- adds r0, r4, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0807012E
- adds r0, r4, 0
- adds r0, 0x44
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_8044CA0
- movs r0, 0x8
- bl sub_8084100
- adds r1, r4, 0
- adds r1, 0x46
- strb r0, [r1]
- ldrh r1, [r5, 0x4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r4, r2
- strh r1, [r0]
- ldrh r0, [r5, 0x6]
- subs r0, 0x1
- movs r1, 0xB7
- lsls r1, 1
- adds r2, r4, r1
- strh r0, [r2]
- b _0807019C
-_0807012E:
- ldrb r0, [r4, 0x8]
- cmp r0, 0x1
- beq _0807019C
- adds r0, r4, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807017C
- adds r6, r4, 0
- adds r6, 0x46
- ldrb r1, [r6]
- adds r0, r5, 0
- bl sub_8070D6C
- lsls r0, 24
- cmp r0, 0
- bne _08070166
- movs r0, 0x2
- bl sub_8084100
- cmp r0, 0
- beq _08070174
- movs r0, 0x8
- bl sub_8084100
- movs r1, 0x7
- ands r1, r0
- strb r1, [r6]
-_08070166:
- adds r0, r4, 0
- adds r0, 0x44
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_8044CA0
- b _0807019C
-_08070174:
- adds r0, r5, 0
- bl sub_807BB94
- b _0807019C
-_0807017C:
- cmp r0, 0x2
- beq _08070184
- movs r0, 0
- b _0807019E
-_08070184:
- adds r0, r4, 0
- adds r0, 0x44
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_8044CA0
- movs r0, 0x8
- bl sub_8084100
- adds r1, r4, 0
- adds r1, 0x46
- strb r0, [r1]
-_0807019C:
- movs r0, 0x1
-_0807019E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807001C
-
- thumb_func_start sub_80701A4
-sub_80701A4:
- push {r4-r7,lr}
- adds r7, r0, 0
- ldr r6, [r7, 0x70]
- movs r4, 0
- ldr r0, _080701D4
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x1
- bl sub_8044C94
- adds r0, r6, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080701DC
- cmp r0, 0x3
- bgt _080701D8
- cmp r0, 0x1
- beq _080701DC
- b _080701E4
- .align 2, 0
-_080701D4: .4byte gUnknown_202DF98
-_080701D8:
- cmp r0, 0x5
- bne _080701E4
-_080701DC:
- ldr r0, _080701E0
- b _08070278
- .align 2, 0
-_080701E0: .4byte gUnknown_80F95EC
-_080701E4:
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0807020C
- cmp r0, 0x3
- bgt _080701F8
- cmp r0, 0x1
- beq _08070202
- b _0807021C
-_080701F8:
- cmp r0, 0x4
- beq _08070214
- cmp r0, 0x6
- beq _08070280
- b _0807021C
-_08070202:
- ldr r0, _08070208
- b _08070278
- .align 2, 0
-_08070208: .4byte gUnknown_80F954C
-_0807020C:
- ldr r0, _08070210
- b _08070278
- .align 2, 0
-_08070210: .4byte gUnknown_80F956C
-_08070214:
- ldr r0, _08070218
- b _08070278
- .align 2, 0
-_08070218: .4byte gUnknown_80F958C
-_0807021C:
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _0807026C
- lsls r0, 2
- ldr r1, _08070230
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08070230: .4byte _08070234
- .align 2, 0
-_08070234:
- .4byte _0807026C
- .4byte _0807026C
- .4byte _08070258
- .4byte _0807025C
- .4byte _0807026C
- .4byte _0807026C
- .4byte _0807026C
- .4byte _08070264
- .4byte _0807026C
-_08070258:
- movs r4, 0x1
- b _0807026C
-_0807025C:
- ldr r0, _08070260
- b _08070278
- .align 2, 0
-_08070260: .4byte gUnknown_80F95A4
-_08070264:
- ldr r0, _08070268
- b _08070278
- .align 2, 0
-_08070268: .4byte gUnknown_80F95BC
-_0807026C:
- adds r0, r6, 0
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08070288
- ldr r0, _08070284
-_08070278:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_08070280:
- movs r0, 0x1
- b _08070322
- .align 2, 0
-_08070284: .4byte gUnknown_80F95D8
-_08070288:
- cmp r0, 0
- beq _08070320
- cmp r0, 0xB
- beq _08070320
- cmp r0, 0xC
- beq _08070320
- cmp r4, 0
- beq _080702A8
- ldr r0, _080702A4
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _0807031A
- .align 2, 0
-_080702A4: .4byte gUnknown_8100660
-_080702A8:
- movs r5, 0
- movs r0, 0x8C
- lsls r0, 1
- adds r4, r6, r0
-_080702B0:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08070312
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _08070312
- adds r0, r6, 0
- adds r0, 0xC2
- ldrb r0, [r0]
- cmp r0, r5
- bne _08070312
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x14
- bl sub_8044C94
- adds r3, r5, 0
- adds r7, r6, 0
- adds r7, 0x50
- cmp r5, 0
- ble _0807030E
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0807030E
- movs r4, 0x2
- lsls r0, r5, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r2, r0, r6
-_080702FC:
- subs r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- ble _0807030E
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080702FC
-_0807030E:
- strb r3, [r7]
- b _08070280
-_08070312:
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- ble _080702B0
-_0807031A:
- adds r0, r7, 0
- bl sub_8079764
-_08070320:
- movs r0, 0
-_08070322:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80701A4
-
- thumb_func_start sub_8070328
-sub_8070328:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_808DB14
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _0807033E
- adds r0, r1, 0
- b _08070344
-_0807033E:
- ldr r0, _08070348
- adds r0, r1, r0
- ldrb r0, [r0]
-_08070344:
- pop {r1}
- bx r1
- .align 2, 0
-_08070348: .4byte gUnknown_202F314
- thumb_func_end sub_8070328
-
- thumb_func_start sub_807034C
-sub_807034C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r2, r0, 16
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bne _08070398
- ldrh r1, [r4]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08070398
- adds r0, r2, 0
- bl sub_8070328
- lsls r0, 24
- lsrs r2, r0, 24
- ldrh r0, [r4]
- movs r1, 0x3
- ands r1, r0
- cmp r2, 0x1
- beq _08070388
- cmp r2, 0x1
- bgt _08070382
- cmp r2, 0
- beq _0807038C
- b _08070390
-_08070382:
- cmp r2, 0x2
- beq _08070394
- b _08070390
-_08070388:
- cmp r1, 0x2
- beq _08070390
-_0807038C:
- cmp r1, 0x1
- bne _08070398
-_08070390:
- movs r0, 0
- b _0807039A
-_08070394:
- cmp r1, 0
- bne _08070390
-_08070398:
- movs r0, 0x1
-_0807039A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807034C
-
- thumb_func_start sub_80703A0
-sub_80703A0:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r7, [r6, 0x70]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _08070456
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- cmp r1, 0
- blt _08070456
- cmp r0, 0x37
- bgt _08070456
- cmp r1, 0x1F
- bgt _08070456
- ldr r0, [r5, 0x10]
- cmp r0, 0
- bne _08070456
- ldrh r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08070456
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08070400
- adds r0, r7, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0807044E
- adds r0, r6, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _0807044E
-_08070400:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r0, [r5]
- movs r5, 0x3
- ands r5, r0
- adds r0, r6, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070422
- movs r4, 0x2
-_08070422:
- adds r0, r6, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070432
- movs r4, 0x3
-_08070432:
- cmp r4, 0x1
- beq _08070446
- cmp r4, 0x1
- bgt _08070440
- cmp r4, 0
- beq _0807044A
- b _0807044E
-_08070440:
- cmp r4, 0x2
- beq _08070452
- b _0807044E
-_08070446:
- cmp r5, 0x2
- beq _0807044E
-_0807044A:
- cmp r5, 0x1
- bne _08070456
-_0807044E:
- movs r0, 0
- b _08070458
-_08070452:
- cmp r5, 0
- bne _0807044E
-_08070456:
- movs r0, 0x1
-_08070458:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80703A0
-
- thumb_func_start sub_8070460
-sub_8070460:
- push {r4,lr}
- adds r1, r0, 0
- ldr r0, [r1, 0x70]
- adds r4, r0, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070492
- adds r0, r1, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _08070492
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08070492
- movs r0, 0
- b _08070494
-_08070492:
- movs r0, 0x1
-_08070494:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8070460
-
- thumb_func_start sub_807049C
-sub_807049C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r7, [r6, 0x70]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _0807055A
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- cmp r1, 0
- blt _0807055A
- cmp r0, 0x37
- bgt _0807055A
- cmp r1, 0x1F
- bgt _0807055A
- ldrh r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0807055A
- ldr r0, [r5, 0x10]
- cmp r0, 0
- beq _080704E2
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807055A
-_080704E2:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08070504
- adds r0, r7, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070552
- adds r0, r6, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _08070552
-_08070504:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r0, [r5]
- movs r5, 0x3
- ands r5, r0
- adds r0, r6, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070526
- movs r4, 0x2
-_08070526:
- adds r0, r6, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070536
- movs r4, 0x3
-_08070536:
- cmp r4, 0x1
- beq _0807054A
- cmp r4, 0x1
- bgt _08070544
- cmp r4, 0
- beq _0807054E
- b _08070552
-_08070544:
- cmp r4, 0x2
- beq _08070556
- b _08070552
-_0807054A:
- cmp r5, 0x2
- beq _08070552
-_0807054E:
- cmp r5, 0x1
- bne _0807055A
-_08070552:
- movs r0, 0
- b _0807055C
-_08070556:
- cmp r5, 0
- bne _08070552
-_0807055A:
- movs r0, 0x1
-_0807055C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807049C
-
- thumb_func_start sub_8070564
-sub_8070564:
- push {r4-r6,lr}
- adds r4, r1, 0
- ldr r6, [r0, 0x70]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _080705E6
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- cmp r1, 0
- blt _080705E6
- cmp r0, 0x37
- bgt _080705E6
- cmp r1, 0x1F
- bgt _080705E6
- ldrh r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080705E6
- ldr r0, [r5, 0x10]
- cmp r0, 0
- beq _080705A8
- bl sub_80450F8
- cmp r0, 0x1
- bne _080705E6
-_080705A8:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r2, r0, 24
- adds r3, r2, 0
- ldrh r0, [r5]
- movs r1, 0x3
- ands r1, r0
- adds r0, r1, 0
- cmp r2, 0x1
- beq _080705DE
- cmp r2, 0x1
- bgt _080705CC
- cmp r2, 0
- beq _080705D8
- b _080705D4
-_080705CC:
- cmp r3, 0x3
- bgt _080705D4
- cmp r1, 0
- beq _080705E6
-_080705D4:
- movs r0, 0
- b _080705E8
-_080705D8:
- cmp r1, 0x1
- bne _080705E6
- b _080705D4
-_080705DE:
- cmp r1, 0x2
- beq _080705D4
- cmp r0, 0x1
- beq _080705D4
-_080705E6:
- movs r0, 0x1
-_080705E8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8070564
-
- thumb_func_start sub_80705F0
-sub_80705F0:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r7, [r6, 0x70]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _0807069A
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- cmp r1, 0
- blt _0807069A
- cmp r0, 0x37
- bgt _0807069A
- cmp r1, 0x1F
- bgt _0807069A
- ldrh r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0807069A
- ldr r0, [r5, 0x10]
- cmp r0, 0
- beq _08070636
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807069A
-_08070636:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08070658
- adds r0, r7, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070696
- adds r0, r6, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _08070696
-_08070658:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r0, [r5]
- movs r5, 0x3
- ands r5, r0
- adds r0, r6, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0807067A
- movs r4, 0x2
-_0807067A:
- adds r0, r6, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0807068A
- movs r4, 0x3
-_0807068A:
- cmp r4, 0
- blt _08070696
- cmp r4, 0x2
- bgt _08070696
- cmp r5, 0
- beq _0807069A
-_08070696:
- movs r0, 0
- b _0807069C
-_0807069A:
- movs r0, 0x1
-_0807069C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80705F0
-
- thumb_func_start sub_80706A4
-sub_80706A4:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- ldr r6, [r7, 0x70]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- blt _0807076A
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- cmp r1, 0
- blt _0807076A
- cmp r0, 0x37
- bgt _0807076A
- cmp r1, 0x1F
- bgt _0807076A
- ldrh r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0807076A
- ldr r0, [r5, 0x10]
- cmp r0, 0
- beq _080706F2
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807076A
- ldr r0, [r5, 0x10]
- ldr r0, [r0, 0x70]
- cmp r0, r6
- bne _0807076A
-_080706F2:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08070714
- adds r0, r6, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070762
- adds r0, r7, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _08070762
-_08070714:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r0, [r5]
- movs r5, 0x3
- ands r5, r0
- adds r0, r7, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070736
- movs r4, 0x2
-_08070736:
- adds r0, r7, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070746
- movs r4, 0x3
-_08070746:
- cmp r4, 0x1
- beq _0807075A
- cmp r4, 0x1
- bgt _08070754
- cmp r4, 0
- beq _0807075E
- b _08070762
-_08070754:
- cmp r4, 0x2
- beq _08070766
- b _08070762
-_0807075A:
- cmp r5, 0x2
- beq _08070762
-_0807075E:
- cmp r5, 0x1
- bne _0807076A
-_08070762:
- movs r0, 0
- b _0807076C
-_08070766:
- cmp r5, 0
- bne _08070762
-_0807076A:
- movs r0, 0x1
-_0807076C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80706A4
-
- thumb_func_start sub_8070774
-sub_8070774:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, [r6, 0x70]
- movs r4, 0
- movs r0, 0x84
- lsls r0, 1
- adds r1, r5, r0
- movs r2, 0x4
-_08070784:
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- beq _0807078C
- subs r4, 0x1
-_0807078C:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08070794
- adds r4, 0x1
-_08070794:
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _08070784
- adds r0, r5, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080707A8
- subs r4, 0x1
-_080707A8:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_808DAFC
- adds r4, r0
- adds r0, r6, 0
- movs r1, 0x6
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _080707D0
- adds r0, r6, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- bne _080707D0
- adds r4, 0x1
-_080707D0:
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- ldr r0, _0807081C
- cmp r1, r0
- bne _080707DC
- adds r4, 0x1
-_080707DC:
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- movs r0, 0xBE
- lsls r0, 1
- cmp r1, r0
- bne _080707FE
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _080707FE
- ldr r0, _08070820
- ldr r0, [r0]
- ldr r1, _08070824
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080707FE
- adds r4, 0x1
-_080707FE:
- cmp r4, 0
- bge _08070804
- movs r4, 0
-_08070804:
- cmp r4, 0x4
- ble _0807080A
- movs r4, 0x4
-_0807080A:
- movs r1, 0x82
- lsls r1, 1
- adds r0, r5, r1
- str r4, [r0]
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0807081C: .4byte 0x000001a3
-_08070820: .4byte gUnknown_203B418
-_08070824: .4byte 0x0000066e
- thumb_func_end sub_8070774
-
- thumb_func_start sub_8070828
-sub_8070828:
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- movs r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08070840
- movs r0, 0
- b _080708AE
-_08070840:
- adds r0, r4, 0
- movs r1, 0x1B
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807085E
- adds r0, r4, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0807085E
- movs r5, 0x1
-_0807085E:
- adds r0, r4, 0
- movs r1, 0x4A
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807087C
- adds r0, r4, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807087C
- movs r5, 0x1
-_0807087C:
- cmp r6, 0
- beq _080708A0
- ldr r0, [r4, 0x70]
- movs r1, 0x40
- adds r2, r5, 0
- bl sub_8071ACC
- lsls r0, 24
- cmp r0, 0
- beq _080708A0
- adds r0, r4, 0
- bl sub_80429B4
- ldr r0, _080708A8
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_080708A0:
- cmp r5, 0
- bne _080708AC
- movs r0, 0x1
- b _080708AE
- .align 2, 0
-_080708A8: .4byte gUnknown_80FEE80
-_080708AC:
- movs r0, 0x2
-_080708AE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8070828
-
- thumb_func_start sub_80708B4
-sub_80708B4:
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r4, r2, 0
- ldr r0, _080708E8
- ldr r2, [r0]
- ldr r5, _080708EC
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080708DC
- adds r5, 0x6
- adds r0, r2, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080708DC
- adds r0, r1, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080708F4
-_080708DC:
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _080708F4
- ldr r0, _080708F0
- b _08070900
- .align 2, 0
-_080708E8: .4byte gUnknown_203B418
-_080708EC: .4byte 0x0001820a
-_080708F0: .4byte gUnknown_80F8988
-_080708F4:
- adds r0, r1, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08070910
- ldr r0, _0807090C
-_08070900:
- ldr r1, [r0]
- adds r0, r3, 0
- bl strcpy
- b _0807095A
- .align 2, 0
-_0807090C: .4byte gUnknown_80F8968
-_08070910:
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08070942
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0807092A
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08070936
-_0807092A:
- movs r0, 0x4
- ldrsh r1, [r1, r0]
- adds r0, r3, 0
- bl sub_808D8E0
- b _0807095A
-_08070936:
- movs r5, 0x4
- ldrsh r1, [r1, r5]
- adds r0, r3, 0
- bl sub_808D908
- b _0807095A
-_08070942:
- ldr r2, _08070960
- ldrb r1, [r1, 0xA]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08070964
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
- adds r0, r3, 0
- adds r2, r4, 0
- bl sub_808D9DC
-_0807095A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08070960: .4byte gUnknown_203B45C
-_08070964: .4byte 0x00008df8
- thumb_func_end sub_80708B4
-
- thumb_func_start sub_8070968
-sub_8070968:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r2, 0
- adds r0, r1, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08070990
- ldr r1, _08070988
- adds r2, 0x30
- ldr r0, _0807098C
- ldr r3, [r0]
- adds r0, r4, 0
- bl sub_800D158
- b _080709BA
- .align 2, 0
-_08070988: .4byte gUnknown_8106FA4
-_0807098C: .4byte gUnknown_80F8974
-_08070990:
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _080709A2
- movs r0, 0x4
- ldrsh r1, [r1, r0]
- adds r0, r4, 0
- bl sub_808D908
- b _080709BA
-_080709A2:
- ldr r2, _080709C0
- ldrb r1, [r1, 0xA]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080709C4
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
- adds r0, r4, 0
- adds r2, r3, 0
- bl sub_808D9DC
-_080709BA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080709C0: .4byte gUnknown_203B45C
-_080709C4: .4byte 0x00008df8
- thumb_func_end sub_8070968
-
- thumb_func_start sub_80709C8
-sub_80709C8:
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080709F8
- ldr r2, [r0]
- ldr r4, _080709FC
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080709EE
- adds r4, 0x6
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080709EE
- adds r0, r1, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08070A04
-_080709EE:
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08070A04
- ldr r0, _08070A00
- b _08070A10
- .align 2, 0
-_080709F8: .4byte gUnknown_203B418
-_080709FC: .4byte 0x0001820a
-_08070A00: .4byte gUnknown_80F8994
-_08070A04:
- adds r0, r1, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08070A20
- ldr r0, _08070A1C
-_08070A10:
- ldr r1, [r0]
- adds r0, r3, 0
- bl strcpy
- b _08070A48
- .align 2, 0
-_08070A1C: .4byte gUnknown_80F8974
-_08070A20:
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08070A32
- movs r0, 0x4
- ldrsh r1, [r1, r0]
- adds r0, r3, 0
- bl sub_808D8BC
- b _08070A48
-_08070A32:
- ldr r2, _08070A50
- ldrb r1, [r1, 0xA]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _08070A54
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
- adds r0, r3, 0
- bl sub_808DA0C
-_08070A48:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08070A50: .4byte gUnknown_203B45C
-_08070A54: .4byte 0x00008df8
- thumb_func_end sub_80709C8
-
- thumb_func_start sub_8070A58
-sub_8070A58:
- push {r4,lr}
- ldr r0, [r0, 0x70]
- mov r12, r0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070ADE
- cmp r0, 0x3
- beq _08070ADE
- cmp r0, 0x4
- beq _08070ADE
- mov r0, r12
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0
- bne _08070ADE
- mov r0, r12
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _08070A86
- cmp r0, 0
- bne _08070ADE
-_08070A86:
- mov r0, r12
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0
- bne _08070ADE
- mov r0, r12
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070ADE
- cmp r0, 0x2
- beq _08070ADE
- mov r0, r12
- adds r0, 0xD0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070ADE
- mov r0, r12
- adds r0, 0xDC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08070ADE
- mov r0, r12
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070ADE
- cmp r0, 0x2
- beq _08070ADE
- mov r0, r12
- adds r0, 0xEC
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070ADE
- mov r0, r12
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- bne _08070ADE
- mov r0, r12
- adds r0, 0xFD
- ldrb r0, [r0]
- cmp r0, 0
- beq _08070AE2
-_08070ADE:
- movs r0, 0x1
- b _08070B1E
-_08070AE2:
- movs r3, 0
- movs r4, 0x1
- movs r2, 0x8C
- lsls r2, 1
- add r2, r12
-_08070AEC:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08070B00
- ldrb r1, [r2, 0x1]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _08070ADE
-_08070B00:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08070AEC
- movs r3, 0
- ldr r1, _08070B24
- add r1, r12
-_08070B0E:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08070ADE
- adds r3, 0x1
- cmp r3, 0x4
- ble _08070B0E
- movs r0, 0
-_08070B1E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08070B24: .4byte 0x0000010d
- thumb_func_end sub_8070A58
-
- thumb_func_start sub_8070B28
-sub_8070B28:
- push {lr}
- ldr r0, [r0, 0x70]
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070B40
- cmp r0, 0x5
- beq _08070B40
- cmp r0, 0x3
- beq _08070B40
- movs r0, 0
- b _08070B42
-_08070B40:
- movs r0, 0x1
-_08070B42:
- pop {r1}
- bx r1
- thumb_func_end sub_8070B28
-
- thumb_func_start sub_8070B48
-sub_8070B48:
- push {lr}
- ldr r0, [r0, 0x70]
- adds r1, r0, 0
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bge _08070B58
- adds r0, 0x3
-_08070B58:
- movs r2, 0xE
- ldrsh r1, [r1, r2]
- asrs r0, 2
- cmp r1, r0
- ble _08070B66
- movs r0, 0
- b _08070B68
-_08070B66:
- movs r0, 0x1
-_08070B68:
- pop {r1}
- bx r1
- thumb_func_end sub_8070B48
-
- thumb_func_start sub_8070B6C
-sub_8070B6C:
- push {lr}
- lsls r1, 24
- ldr r2, [r0, 0x70]
- cmp r1, 0
- beq _08070B80
- adds r0, r2, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070BB8
-_08070B80:
- adds r0, r2, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070BB8
- cmp r0, 0x5
- beq _08070BB8
- cmp r0, 0x3
- beq _08070BB8
- adds r0, r2, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070BB8
- cmp r0, 0x7
- beq _08070BB8
- adds r0, r2, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _08070BB8
- adds r0, r2, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- bne _08070BB8
- movs r0, 0
- b _08070BBA
-_08070BB8:
- movs r0, 0x1
-_08070BBA:
- pop {r1}
- bx r1
- thumb_func_end sub_8070B6C
-
- thumb_func_start sub_8070BC0
-sub_8070BC0:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, [r4, 0x70]
- movs r1, 0
- bl sub_80570F4
- lsls r0, 24
- cmp r0, 0
- bne _08070C56
- adds r6, r5, 0
- adds r6, 0xA8
- ldrb r0, [r6]
- cmp r0, 0x4
- beq _08070C56
- cmp r0, 0x3
- beq _08070C56
- adds r0, r4, 0
- bl sub_8071494
- lsls r0, 24
- cmp r0, 0
- bne _08070C56
- adds r0, r5, 0
- adds r0, 0xEC
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070C56
- adds r0, r5, 0
- adds r0, 0xB0
- ldrb r1, [r0]
- cmp r1, 0x6
- beq _08070C56
- cmp r1, 0x1
- beq _08070C56
- adds r0, r5, 0
- adds r0, 0xBC
- ldrb r3, [r0]
- adds r4, r0, 0
- cmp r3, 0x2
- beq _08070C56
- ldrb r2, [r6]
- cmp r2, 0x1
- beq _08070C56
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070C56
- cmp r2, 0x5
- beq _08070C56
- cmp r3, 0x1
- beq _08070C56
- cmp r1, 0x3
- beq _08070C56
- cmp r1, 0x4
- beq _08070C56
- adds r0, r5, 0
- adds r0, 0xE8
- ldrb r1, [r0]
- cmp r1, 0x2
- beq _08070C56
- adds r0, r5, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08070C56
- cmp r1, 0x1
- beq _08070C56
- ldrb r0, [r4]
- cmp r0, 0x7
- beq _08070C56
- cmp r0, 0x3
- beq _08070C56
- movs r0, 0x1
- b _08070C58
-_08070C56:
- movs r0, 0
-_08070C58:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8070BC0
-
- thumb_func_start sub_8070C60
-sub_8070C60:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070CC6
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08070C7E
- cmp r0, 0x47
- bne _08070C82
-_08070C7E:
- movs r0, 0x1
- b _08070C84
-_08070C82:
- movs r0, 0
-_08070C84:
- cmp r0, 0
- bne _08070CC6
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _08070C9A
- adds r0, r4, 0
- bl sub_8071494
- lsls r0, 24
- cmp r0, 0
- bne _08070CC6
-_08070C9A:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- bne _08070CC6
- adds r0, r4, 0
- bl sub_8070CD0
- lsls r0, 24
- cmp r0, 0
- bne _08070CC6
- adds r0, r4, 0
- movs r1, 0
- bl sub_80570F4
- lsls r0, 24
- cmp r0, 0
- bne _08070CC6
- movs r0, 0
- b _08070CC8
-_08070CC6:
- movs r0, 0x1
-_08070CC8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8070C60
-
- thumb_func_start sub_8070CD0
-sub_8070CD0:
- push {lr}
- ldr r1, [r0, 0x70]
- adds r0, r1, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08070CE2
- cmp r0, 0
- bne _08070CFE
-_08070CE2:
- adds r0, r1, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070CFE
- cmp r0, 0x6
- beq _08070CFE
- adds r0, r1, 0
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070CFE
- movs r0, 0
- b _08070D00
-_08070CFE:
- movs r0, 0x1
-_08070D00:
- pop {r1}
- bx r1
- thumb_func_end sub_8070CD0
-
- thumb_func_start sub_8070D04
-sub_8070D04:
- push {lr}
- adds r3, r0, 0
- lsls r1, 24
- ldr r2, [r3, 0x70]
- cmp r1, 0
- bne _08070D22
- adds r0, r2, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08070D22
- cmp r0, 0x4
- beq _08070D22
- cmp r0, 0
- bne _08070D64
-_08070D22:
- adds r0, r2, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070D64
- cmp r0, 0x3
- beq _08070D64
- cmp r0, 0x4
- beq _08070D64
- cmp r0, 0x6
- beq _08070D64
- adds r0, r2, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08070D64
- cmp r0, 0x3
- beq _08070D64
- cmp r0, 0x7
- beq _08070D64
- adds r0, r2, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _08070D64
- adds r0, r3, 0
- bl sub_8071494
- lsls r0, 24
- cmp r0, 0
- bne _08070D64
- movs r0, 0
- b _08070D66
-_08070D64:
- movs r0, 0x1
-_08070D66:
- pop {r1}
- bx r1
- thumb_func_end sub_8070D04
-
- thumb_func_start sub_8070D6C
-sub_8070D6C:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, [r4, 0x70]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- ldr r1, _08070DD8
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08070E34
- ldr r0, [r2, 0x10]
- cmp r0, 0
- bne _08070E34
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08070E04
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070DD2
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08070DDC
-_08070DD2:
- movs r5, 0x3
- b _08070E04
- .align 2, 0
-_08070DD8: .4byte gUnknown_80F4448
-_08070DDC:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _08070E02
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070E04
- movs r0, 0x1
- ands r0, r6
- movs r5, 0x3
- cmp r0, 0
- beq _08070E04
-_08070E02:
- movs r5, 0x2
-_08070E04:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r2, r0, 0
- adds r1, r2, 0
- adds r1, 0xA
- adds r1, r5
- ldr r2, _08070E30
- movs r0, 0x7
- ands r0, r6
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08070E34
- movs r0, 0x1
- b _08070E36
- .align 2, 0
-_08070E30: .4byte gUnknown_8106FAD
-_08070E34:
- movs r0, 0
-_08070E36:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8070D6C
-
- thumb_func_start sub_8070E3C
-sub_8070E3C:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r0, [r4, 0x70]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0
- ldrsh r0, [r6, r2]
- ldr r1, _08070EB0
- lsls r2, r7, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x2
- ldrsh r1, [r6, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08070F0C
- ldr r0, [r2, 0x10]
- cmp r0, 0
- beq _08070E8A
- bl sub_80450F8
- cmp r0, 0x1
- bne _08070F0C
-_08070E8A:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08070EDC
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070EAC
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08070EB4
-_08070EAC:
- movs r5, 0x3
- b _08070EDC
- .align 2, 0
-_08070EB0: .4byte gUnknown_80F4448
-_08070EB4:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _08070EDA
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08070EDC
- movs r0, 0x1
- ands r0, r7
- movs r5, 0x3
- cmp r0, 0
- beq _08070EDC
-_08070EDA:
- movs r5, 0x2
-_08070EDC:
- movs r1, 0
- ldrsh r0, [r6, r1]
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_804954C
- adds r2, r0, 0
- adds r1, r2, 0
- adds r1, 0xA
- adds r1, r5
- ldr r2, _08070F08
- movs r0, 0x7
- ands r0, r7
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08070F0C
- movs r0, 0x1
- b _08070F0E
- .align 2, 0
-_08070F08: .4byte gUnknown_8106FB5
-_08070F0C:
- movs r0, 0
-_08070F0E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8070E3C
-
- thumb_func_start sub_8070F14
-sub_8070F14:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- ldr r1, _08070F70
- lsls r2, r5, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08070F78
- ldr r0, [r2, 0x10]
- cmp r0, 0
- bne _08070F78
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r2, r0, 0
- ldr r1, _08070F74
- movs r0, 0x7
- ands r0, r5
- adds r0, r1
- ldrb r1, [r2, 0xA]
- ldrb r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08070F78
- movs r0, 0x1
- b _08070F7A
- .align 2, 0
-_08070F70: .4byte gUnknown_80F4448
-_08070F74: .4byte gUnknown_8106FBD
-_08070F78:
- movs r0, 0
-_08070F7A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8070F14
-
- thumb_func_start sub_8070F80
-sub_8070F80:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, [r4, 0x70]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- ldr r1, _08070FF4
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08071050
- ldr r0, [r2, 0x10]
- cmp r0, 0
- beq _08070FCC
- bl sub_80450F8
- cmp r0, 0x1
- bne _08071050
-_08070FCC:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08071020
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08070FEE
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08070FF8
-_08070FEE:
- movs r5, 0x3
- b _08071020
- .align 2, 0
-_08070FF4: .4byte gUnknown_80F4448
-_08070FF8:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _0807101E
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08071020
- movs r0, 0x1
- ands r0, r6
- movs r5, 0x3
- cmp r0, 0
- beq _08071020
-_0807101E:
- movs r5, 0x2
-_08071020:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r2, r0, 0
- adds r1, r2, 0
- adds r1, 0xA
- adds r1, r5
- ldr r2, _0807104C
- movs r0, 0x7
- ands r0, r6
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08071050
- movs r0, 0x1
- b _08071052
- .align 2, 0
-_0807104C: .4byte gUnknown_8106FC5
-_08071050:
- movs r0, 0
-_08071052:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8070F80
-
- thumb_func_start sub_8071058
-sub_8071058:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldr r0, [r5, 0x70]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- ldr r1, _080710D4
- lsls r2, r7, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r4, r0, 0
- ldrh r1, [r4]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _08071130
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _080710AE
- bl sub_80450F8
- cmp r0, 0x1
- beq _080710AE
- ldr r0, [r4, 0x10]
- ldr r0, [r0, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _08071130
-_080710AE:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08071100
- ldr r0, [r5, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080710D0
- adds r0, r5, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080710D8
-_080710D0:
- movs r6, 0x3
- b _08071100
- .align 2, 0
-_080710D4: .4byte gUnknown_80F4448
-_080710D8:
- adds r0, r5, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _080710FE
- adds r0, r5, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08071100
- movs r0, 0x1
- ands r0, r7
- movs r6, 0x3
- cmp r0, 0
- beq _08071100
-_080710FE:
- movs r6, 0x2
-_08071100:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_804954C
- adds r4, r0, 0
- adds r1, r4, 0
- adds r1, 0xA
- adds r1, r6
- ldr r2, _0807112C
- movs r0, 0x7
- ands r0, r7
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08071130
- movs r0, 0x1
- b _08071132
- .align 2, 0
-_0807112C: .4byte gUnknown_8106FCD
-_08071130:
- movs r0, 0
-_08071132:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8071058
-
- thumb_func_start sub_8071138
-sub_8071138:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r0, [r4, 0x70]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bhi _08071152
- movs r5, 0x2
-_08071152:
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- ldr r1, _080711B0
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0807120C
- ldr r0, [r2, 0x10]
- cmp r0, 0
- beq _0807118A
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807120C
-_0807118A:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _080711DC
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080711AC
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080711B4
-_080711AC:
- movs r5, 0x3
- b _080711DC
- .align 2, 0
-_080711B0: .4byte gUnknown_80F4448
-_080711B4:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _080711DA
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _080711DC
- movs r0, 0x1
- ands r0, r6
- movs r5, 0x3
- cmp r0, 0
- beq _080711DC
-_080711DA:
- movs r5, 0x2
-_080711DC:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r2, r0, 0
- adds r1, r2, 0
- adds r1, 0xA
- adds r1, r5
- ldr r2, _08071208
- movs r0, 0x7
- ands r0, r6
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _0807120C
- movs r0, 0x1
- b _0807120E
- .align 2, 0
-_08071208: .4byte gUnknown_8106FD5
-_0807120C:
- movs r0, 0
-_0807120E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8071138
-
- thumb_func_start sub_8071214
-sub_8071214:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r7, r1, 0
- mov r8, r2
- ldr r0, [r4, 0x70]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- mov r2, r8
- strb r0, [r2]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- ldr r1, _0807130C
- lsls r2, r7, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- adds r5, r0, 0
- ldrh r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08071260
- b _0807137E
-_08071260:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08071286
- ldr r0, _08071310
- ldr r0, [r0]
- ldr r1, _08071314
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08071286
- adds r0, r4, 0
- movs r1, 0xF
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08071286
- b _0807137E
-_08071286:
- ldr r0, [r5, 0x14]
- cmp r0, 0
- beq _080712B8
- adds r0, r4, 0
- movs r1, 0xE
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _080712B8
- ldr r0, [r5, 0x14]
- bl sub_80450F8
- cmp r0, 0x2
- bne _080712B8
- ldr r0, [r5, 0x14]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807137E
- ldr r0, [r4, 0x70]
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _0807137E
-_080712B8:
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _080712E6
- ldr r1, _08071318
- ldr r0, _08071310
- ldr r0, [r0]
- ldr r2, _0807131C
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080712E6
- adds r0, r4, 0
- movs r1, 0x14
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _0807137E
-_080712E6:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _08071348
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08071308
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08071320
-_08071308:
- movs r6, 0x3
- b _08071348
- .align 2, 0
-_0807130C: .4byte gUnknown_80F4448
-_08071310: .4byte gUnknown_203B418
-_08071314: .4byte 0x00000671
-_08071318: .4byte gUnknown_810ACC0
-_0807131C: .4byte 0x00003a0e
-_08071320:
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _08071346
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08071348
- movs r0, 0x1
- ands r0, r7
- movs r6, 0x3
- cmp r0, 0
- beq _08071348
-_08071346:
- movs r6, 0x2
-_08071348:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r0, 0xA
- adds r0, r6
- ldr r2, _08071374
- movs r1, 0x7
- ands r1, r7
- adds r1, r2
- ldrb r2, [r0]
- ldrb r0, [r1]
- ands r0, r2
- cmp r0, 0
- beq _0807137E
- ldr r0, [r5, 0x10]
- cmp r0, 0
- bne _08071378
- movs r0, 0x1
- b _08071380
- .align 2, 0
-_08071374: .4byte gUnknown_8106FDD
-_08071378:
- movs r0, 0x1
- mov r3, r8
- strb r0, [r3]
-_0807137E:
- movs r0, 0
-_08071380:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8071214
-
- thumb_func_start sub_807138C
-sub_807138C:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8070328
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- bne _080713E2
- ldr r0, [r4, 0x70]
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080713E0
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _080713E0
- adds r0, r4, 0
- movs r1, 0xC
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _080713D2
- movs r5, 0x2
- b _080713E2
-_080713D2:
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _080713E2
-_080713E0:
- movs r5, 0x3
-_080713E2:
- cmp r5, 0x3
- bne _08071408
- ldr r4, [r4, 0x70]
- movs r0, 0x64
- bl sub_8084100
- movs r1, 0xFD
- lsls r1, 1
- adds r2, r4, r1
- ldrh r1, [r2]
- adds r1, r0
- strh r1, [r2]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0xC7
- ble _08071458
- movs r0, 0
- strh r0, [r2]
- b _08071468
-_08071408:
- ldr r1, _0807145C
- ldr r0, _08071460
- ldr r0, [r0]
- ldr r2, _08071464
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08071432
- cmp r5, 0x1
- bne _08071432
- adds r0, r4, 0
- movs r1, 0x14
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08071432
- movs r5, 0
-_08071432:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- adds r0, 0xA
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x54
- beq _08071468
- cmp r0, 0x51
- beq _08071468
- cmp r0, 0x45
- beq _08071468
- cmp r0, 0x15
- beq _08071468
- cmp r0, 0x55
- beq _08071468
-_08071458:
- movs r0, 0
- b _0807146A
- .align 2, 0
-_0807145C: .4byte gUnknown_810ACC0
-_08071460: .4byte gUnknown_203B418
-_08071464: .4byte 0x00003a0e
-_08071468:
- movs r0, 0x1
-_0807146A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807138C
-
- thumb_func_start sub_8071470
-sub_8071470:
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- movs r1, 0x3
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- beq _0807148A
- cmp r4, 0
- beq _0807148A
- movs r0, 0x1
- b _0807148C
-_0807148A:
- movs r0, 0
-_0807148C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8071470
-
- thumb_func_start sub_8071494
-sub_8071494:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807150E
- ldr r4, [r5, 0x70]
- adds r0, r4, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807150A
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _0807150E
- adds r0, r5, 0
- movs r1, 0x2B
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080714DC
- movs r2, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- asrs r0, 1
- cmp r1, r0
- bge _080714D8
- movs r2, 0x1
-_080714D8:
- cmp r2, 0
- bne _0807150A
-_080714DC:
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- bne _0807150A
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- beq _0807150E
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- asrs r0, 1
- cmp r1, r0
- bgt _0807150E
-_0807150A:
- movs r0, 0x1
- b _08071510
-_0807150E:
- movs r0, 0
-_08071510:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8071494
-
- thumb_func_start sub_8071518
-sub_8071518:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_8071494
- lsls r0, 24
- cmp r0, 0
- bne _0807152E
- movs r0, 0
- b _08071538
-_0807152E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8071540
- movs r0, 0x1
-_08071538:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8071518
-
- thumb_func_start sub_8071540
-sub_8071540:
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r4, [r5, 0x70]
- adds r6, r4, 0
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _08071590
- adds r0, r5, 0
- movs r1, 0x2B
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08071590
- movs r2, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- asrs r0, 1
- cmp r1, r0
- bgt _08071576
- movs r2, 0x1
-_08071576:
- adds r0, r6, 0
- movs r1, 0x4
- bl sub_8071ACC
- lsls r0, 24
- lsrs r0, 24
- cmp r7, 0
- beq _08071590
- cmp r0, 0
- beq _08071590
- adds r0, r5, 0
- bl sub_8042910
-_08071590:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8071540
-
- thumb_func_start sub_8071598
-sub_8071598:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r5, [r6, 0x70]
- ldr r4, [r1, 0x70]
- cmp r6, r1
- bne _080715B0
- movs r0, 0
- b _08071670
-_080715B0:
- ldrb r0, [r5, 0x8]
- cmp r0, 0x1
- beq _08071606
- ldrb r0, [r4, 0x8]
- cmp r0, 0x1
- beq _08071606
- adds r0, r5, 0
- adds r0, 0xA4
- ldrb r1, [r0]
- cmp r1, 0x4
- beq _08071606
- adds r0, r4, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _08071606
- cmp r1, 0x1
- beq _08071606
- cmp r0, 0x1
- beq _08071606
- cmp r3, 0
- beq _080715EC
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _080715EC
- adds r0, r4, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _08071606
-_080715EC:
- cmp r2, 0
- bne _0807160A
- adds r0, r4, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807160A
- adds r0, r6, 0
- bl sub_8071884
- lsls r0, 24
- cmp r0, 0
- bne _0807160A
-_08071606:
- movs r0, 0x2
- b _08071670
-_0807160A:
- movs r1, 0x80
- lsls r1, 1
- adds r0, r5, r1
- ldrb r0, [r0]
- movs r6, 0
- cmp r0, 0
- beq _08071620
- movs r6, 0x2
- cmp r0, 0x1
- bne _08071620
- movs r6, 0x1
-_08071620:
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- beq _08071630
- movs r5, 0
- cmp r0, 0x3
- bne _08071638
- movs r5, 0x1
- b _08071638
-_08071630:
- ldrb r1, [r5, 0x6]
- negs r0, r1
- orrs r0, r1
- lsrs r5, r0, 31
-_08071638:
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _08071648
- movs r1, 0
- cmp r0, 0x3
- bne _08071650
- movs r1, 0x1
- b _08071650
-_08071648:
- ldrb r1, [r4, 0x6]
- negs r0, r1
- orrs r0, r1
- lsrs r1, r0, 31
-_08071650:
- movs r3, 0
- adds r0, r4, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0807165E
- movs r3, 0x1
-_0807165E:
- ldr r2, _08071678
- lsls r0, r1, 1
- adds r0, r3, r0
- lsls r1, r5, 2
- adds r0, r1
- lsls r1, r6, 3
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
-_08071670:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08071678: .4byte gUnknown_8106FE5
- thumb_func_end sub_8071598
-
- thumb_func_start sub_807167C
-sub_807167C:
- push {lr}
- ldr r2, [r0, 0x70]
- ldr r1, [r1, 0x70]
- adds r0, r2, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080716D2
- adds r0, r2, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0807169A
- cmp r0, 0x47
- bne _0807169E
-_0807169A:
- movs r0, 0x1
- b _080716A0
-_0807169E:
- movs r0, 0
-_080716A0:
- cmp r0, 0
- bne _080716D2
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- bne _080716D2
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080716D2
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _080716C2
- cmp r0, 0x47
- bne _080716C6
-_080716C2:
- movs r0, 0x1
- b _080716C8
-_080716C6:
- movs r0, 0
-_080716C8:
- cmp r0, 0
- bne _080716D2
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _080716D6
-_080716D2:
- movs r0, 0x2
- b _080716E4
-_080716D6:
- ldrb r0, [r2, 0x6]
- ldrb r1, [r1, 0x6]
- cmp r0, r1
- bne _080716E2
- movs r0, 0
- b _080716E4
-_080716E2:
- movs r0, 0x1
-_080716E4:
- pop {r1}
- bx r1
- thumb_func_end sub_807167C
-
- thumb_func_start sub_80716E8
-sub_80716E8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r4, 0x70]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08071720
- cmp r2, 0
- beq _08071714
- ldr r0, _08071718
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807171C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08071714:
- movs r0, 0x1
- b _08071722
- .align 2, 0
-_08071718: .4byte gUnknown_202DF98
-_0807171C: .4byte gUnknown_80FC2FC
-_08071720:
- movs r0, 0
-_08071722:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80716E8
-
- thumb_func_start sub_8071728
-sub_8071728:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r5, r2, 0
- ldr r0, [r4, 0x70]
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _08071758
- cmp r2, 0
- beq _0807178E
- ldr r0, _08071750
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08071754
- b _08071784
- .align 2, 0
-_08071750: .4byte gUnknown_202DF98
-_08071754: .4byte gUnknown_80FC31C
-_08071758:
- adds r0, r4, 0
- movs r1, 0xF
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _08071774
- adds r0, r4, 0
- movs r1, 0x18
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807179C
-_08071774:
- cmp r5, 0
- beq _0807178E
- ldr r0, _08071794
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08071798
-_08071784:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807178E:
- movs r0, 0x1
- b _0807179E
- .align 2, 0
-_08071794: .4byte gUnknown_202DF98
-_08071798: .4byte gUnknown_80FCEFC
-_0807179C:
- movs r0, 0
-_0807179E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8071728
-
- thumb_func_start sub_80717A4
-sub_80717A4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r6, [r0, 0x70]
- adds r0, r6, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080717CE
- cmp r0, 0x5
- beq _080717CE
- cmp r0, 0x3
- beq _080717CE
- b _08071816
-_080717CA:
- movs r0, 0x1
- b _08071818
-_080717CE:
- movs r7, 0
- movs r0, 0x8C
- lsls r0, 1
- adds r4, r6, r0
- adds r5, r4, 0
-_080717D8:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807180C
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _080717F0
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0807180C
-_080717F0:
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_805744C
- lsls r0, 24
- cmp r0, 0
- beq _0807180C
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0807180C
- ldrh r0, [r4, 0x2]
- cmp r0, r9
- beq _080717CA
-_0807180C:
- adds r4, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x3
- ble _080717D8
-_08071816:
- movs r0, 0
-_08071818:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80717A4
-
- thumb_func_start sub_8071824
-sub_8071824:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08071850
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0x5E
- ldrb r0, [r0]
- cmp r0, r5
- beq _0807184C
- adds r0, r1, 0
- adds r0, 0x5F
- ldrb r0, [r0]
- cmp r0, r5
- bne _08071850
-_0807184C:
- movs r0, 0x1
- b _08071852
-_08071850:
- movs r0, 0
-_08071852:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8071824
-
- thumb_func_start sub_8071858
-sub_8071858:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r3, r1, 0
- ldr r0, [r0, 0x70]
- adds r2, r0, 0
- cmp r1, 0
- beq _0807187A
- adds r0, 0x5C
- ldrb r0, [r0]
- cmp r0, r1
- beq _0807187E
- adds r0, r2, 0
- adds r0, 0x5D
- ldrb r0, [r0]
- cmp r0, r3
- beq _0807187E
-_0807187A:
- movs r0, 0
- b _08071880
-_0807187E:
- movs r0, 0x1
-_08071880:
- pop {r1}
- bx r1
- thumb_func_end sub_8071858
-
- thumb_func_start sub_8071884
-sub_8071884:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1, 0x70]
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _080718A4
- adds r0, r1, 0
- movs r1, 0x1A
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _080718A4
- movs r0, 0
- b _080718A6
-_080718A4:
- movs r0, 0x1
-_080718A6:
- pop {r1}
- bx r1
- thumb_func_end sub_8071884
-
- thumb_func_start sub_80718AC
-sub_80718AC:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r2, [r0, 0x70]
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- beq _080718C4
- movs r0, 0
- cmp r1, 0x1
- bne _080718D4
- movs r0, 0x1
- b _080718D4
-_080718C4:
- movs r3, 0
- adds r0, r2, 0
- adds r0, 0x94
- ldrb r0, [r0]
- cmp r0, r1
- bne _080718D2
- movs r3, 0x1
-_080718D2:
- adds r0, r3, 0
-_080718D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80718AC
-
- thumb_func_start sub_80718D8
-sub_80718D8:
- push {lr}
- lsls r2, r1, 24
- lsrs r2, 24
- ldr r0, [r0, 0x70]
- adds r0, 0x90
- movs r1, 0x1
- lsls r1, r2
- bl sub_808ECD0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80718D8
-
- thumb_func_start sub_80718F4
-sub_80718F4:
- push {r4,lr}
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, [r0, 0x70]
- adds r0, 0x90
- movs r3, 0x1
- adds r1, r3, 0
- lsls r1, r4
- lsls r3, r2
- orrs r1, r3
- bl sub_808ECD0
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80718F4
-
- thumb_func_start sub_807191C
-sub_807191C:
- push {r4-r6,lr}
- ldr r5, [r0, 0x70]
- ldrb r1, [r5, 0x6]
- cmp r1, 0
- beq _08071978
- adds r4, r5, 0
- adds r4, 0x90
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_808EC30
- adds r0, r4, 0
- movs r1, 0x6
- bl sub_808EC30
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_808EC30
- adds r0, r5, 0
- adds r0, 0xF7
- ldrb r0, [r0]
- cmp r0, 0
- beq _08071954
- adds r0, r4, 0
- movs r1, 0x12
- bl sub_808EC30
-_08071954:
- ldrb r0, [r5, 0x9]
- ldr r1, _08071974
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- blt _08071968
- adds r0, r4, 0
- movs r1, 0x16
- bl sub_808EC30
-_08071968:
- adds r1, r5, 0
- adds r1, 0x94
- movs r0, 0x2
- strb r0, [r1]
- b _080719BE
- .align 2, 0
-_08071974: .4byte gUnknown_80F59C4
-_08071978:
- adds r0, r5, 0
- adds r0, 0x90
- strb r1, [r0]
- adds r2, r5, 0
- adds r2, 0x91
- strb r1, [r2]
- adds r2, 0x1
- strb r1, [r2]
- movs r4, 0x1
- adds r6, r0, 0
-_0807198C:
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- lsls r1, r4, 24
- lsrs r1, 24
- bl sub_808EB7C
- lsls r0, 24
- cmp r0, 0
- beq _080719B8
- movs r1, 0x1
- lsls r1, r4
- adds r0, r5, 0
- adds r0, 0x8C
- bl sub_808ECD0
- lsls r0, 24
- cmp r0, 0
- beq _080719B8
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_808EC30
-_080719B8:
- adds r4, 0x1
- cmp r4, 0x17
- ble _0807198C
-_080719BE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_807191C
-
- thumb_func_start sub_80719C4
-sub_80719C4:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _080719D6
- b _08071A0A
-_080719D2:
- movs r0, 0x1
- b _08071A0C
-_080719D6:
- movs r6, 0
-_080719D8:
- ldr r0, _08071A14
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08071A18
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08071A04
- cmp r5, r4
- beq _08071A04
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- bne _080719D2
-_08071A04:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080719D8
-_08071A0A:
- movs r0, 0
-_08071A0C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08071A14: .4byte gUnknown_203B418
-_08071A18: .4byte 0x0001357c
- thumb_func_end sub_80719C4
-
- thumb_func_start sub_8071A1C
-sub_8071A1C:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldrh r1, [r2, 0x2]
- movs r0, 0xA2
- lsls r0, 1
- cmp r1, r0
- beq _08071A38
- adds r0, r2, 0
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- b _08071A3E
-_08071A38:
- ldr r0, [r3, 0x70]
- adds r0, 0x3E
- ldrb r0, [r0]
-_08071A3E:
- pop {r1}
- bx r1
- thumb_func_end sub_8071A1C
-
- thumb_func_start sub_8071A44
-sub_8071A44:
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldrh r1, [r4, 0x2]
- movs r0, 0xA2
- lsls r0, 1
- cmp r1, r0
- beq _08071A60
- adds r0, r4, 0
- bl sub_8092BC0
- ldrb r1, [r4, 0x5]
- adds r0, r1
- b _08071A6A
-_08071A60:
- ldr r0, [r2, 0x70]
- movs r1, 0x3C
- ldrsh r0, [r0, r1]
- ldrb r4, [r4, 0x5]
- adds r0, r4
-_08071A6A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8071A44
-
- thumb_func_start sub_8071A70
-sub_8071A70:
- push {lr}
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_808DBD8
- lsls r0, 24
- cmp r0, 0
- beq _08071A84
- movs r0, 0x1
- b _08071A86
-_08071A84:
- movs r0, 0
-_08071A86:
- pop {r1}
- bx r1
- thumb_func_end sub_8071A70
-
- thumb_func_start sub_8071A8C
-sub_8071A8C:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08071AC2
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08071AC2
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08071AB4
- cmp r0, 0x47
- bne _08071AB8
-_08071AB4:
- movs r0, 0x1
- b _08071ABA
-_08071AB8:
- movs r0, 0
-_08071ABA:
- cmp r0, 0
- bne _08071AC2
- movs r0, 0x1
- b _08071AC4
-_08071AC2:
- movs r0, 0
-_08071AC4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8071A8C
-
- thumb_func_start sub_8071ACC
-sub_8071ACC:
- push {r4,r5,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r5, r2, 24
- movs r1, 0xA7
- lsls r1, 1
- adds r0, r3, r1
- ldrh r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08071AF6
- movs r0, 0xA8
- lsls r0, 1
- adds r2, r3, r0
- ldrh r1, [r2]
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r2]
- b _08071B02
-_08071AF6:
- movs r0, 0xA8
- lsls r0, 1
- adds r1, r3, r0
- ldrh r0, [r1]
- bics r0, r4
- strh r0, [r1]
-_08071B02:
- cmp r5, 0
- beq _08071B16
- movs r1, 0xA7
- lsls r1, 1
- adds r2, r3, r1
- ldrh r1, [r2]
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r2]
- b _08071B22
-_08071B16:
- movs r0, 0xA7
- lsls r0, 1
- adds r1, r3, r0
- ldrh r0, [r1]
- bics r0, r4
- strh r0, [r1]
-_08071B22:
- movs r1, 0xA8
- lsls r1, 1
- adds r0, r3, r1
- ldrh r0, [r0]
- ands r0, r4
- cmp r0, 0
- bne _08071B40
- subs r1, 0x2
- adds r0, r3, r1
- ldrh r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08071B40
- movs r0, 0x1
- b _08071B42
-_08071B40:
- movs r0, 0
-_08071B42:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8071ACC
-
- thumb_func_start sub_8071B48
-sub_8071B48:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- movs r0, 0
- mov r8, r0
- ldr r0, _08071B94
- ldr r6, [r0]
- ldr r1, _08071B98
- adds r0, r6, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _08071B66
- b _08071D3E
-_08071B66:
- subs r1, 0x20
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0x15
- bne _08071B7C
- ldr r2, _08071B9C
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08071B7C
- b _08071D3E
-_08071B7C:
- ldr r0, _08071BA0
- adds r1, r6, r0
- ldrh r0, [r1]
- adds r2, r0, 0x1
- strh r2, [r1]
- ldr r1, _08071BA4
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08071BAC
- ldr r0, _08071BA8
- b _08071BAE
- .align 2, 0
-_08071B94: .4byte gUnknown_203B418
-_08071B98: .4byte 0x00000664
-_08071B9C: .4byte 0x000037fd
-_08071BA0: .4byte 0x00000662
-_08071BA4: .4byte 0x0000066e
-_08071BA8: .4byte gUnknown_80F4DAA
-_08071BAC:
- ldr r0, _08071C60
-_08071BAE:
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bge _08071BBC
- b _08071D3E
-_08071BBC:
- ldr r1, _08071C64
- adds r0, r6, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xE1
- lsls r0, 2
- cmp r1, r0
- ble _08071BF6
- ldr r1, _08071C68
- adds r0, r6, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08071BF6
- ldrh r0, [r4, 0x26]
- ldr r2, _08071C6C
- adds r1, r6, r2
- ldr r1, [r1]
- cmp r0, r1
- bne _08071BF6
- ldr r0, _08071C70
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- mov r8, r4
-_08071BF6:
- ldr r1, _08071C64
- adds r0, r6, r1
- movs r1, 0
- strh r1, [r0]
- ldr r2, _08071C68
- adds r0, r6, r2
- str r1, [r0]
- movs r7, 0
- movs r5, 0
-_08071C08:
- lsls r0, r5, 2
- ldr r2, _08071C74
- adds r1, r6, r2
- adds r1, r0
- ldr r4, [r1]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08071C3A
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrh r0, [r0]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _08071C3A
- adds r7, 0x1
-_08071C3A:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08071C08
- ldr r1, _08071C78
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08071C92
- ldr r0, _08071C7C
- ldr r0, [r0]
- ldr r2, _08071C80
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08071C88
- ldr r0, _08071C84
- movs r1, 0
- ldrsh r0, [r0, r1]
- b _08071C8E
- .align 2, 0
-_08071C60: .4byte gUnknown_80F4DAC
-_08071C64: .4byte 0x00000662
-_08071C68: .4byte 0x00017b34
-_08071C6C: .4byte 0x00017b40
-_08071C70: .4byte gUnknown_202DF98
-_08071C74: .4byte 0x0001358c
-_08071C78: .4byte 0x0000066e
-_08071C7C: .4byte gUnknown_203B418
-_08071C80: .4byte 0x00003a0c
-_08071C84: .4byte gUnknown_80F4DA6
-_08071C88:
- ldr r0, _08071CB8
- movs r2, 0
- ldrsh r0, [r0, r2]
-_08071C8E:
- cmp r7, r0
- bge _08071D3E
-_08071C92:
- mov r0, r8
- cmp r0, 0
- beq _08071CA8
- ldr r0, _08071CBC
- ldr r1, [r0]
- movs r0, 0
- bl sub_805239C
- mov r0, r8
- bl sub_8042920
-_08071CA8:
- ldr r1, _08071CC0
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08071CC4
- movs r5, 0xBE
- lsls r5, 1
- b _08071CCE
- .align 2, 0
-_08071CB8: .4byte gUnknown_80F4DA8
-_08071CBC: .4byte gUnknown_80FED68
-_08071CC0: .4byte 0x0000066e
-_08071CC4:
- movs r0, 0
- bl sub_803D970
- lsls r0, 16
- asrs r5, r0, 16
-_08071CCE:
- adds r0, r5, 0
- bl sub_803DA20
- adds r4, r0, 0
- cmp r4, 0
- bne _08071CDC
- movs r4, 0x1
-_08071CDC:
- adds r0, r5, 0
- movs r1, 0
- bl sub_806AA0C
- lsls r0, 24
- cmp r0, 0
- beq _08071D3E
- add r0, sp, 0xC
- bl sub_8083660
- lsls r0, 24
- cmp r0, 0
- beq _08071D3E
- mov r0, sp
- movs r1, 0
- strh r5, [r0]
- strh r4, [r0, 0x8]
- strb r1, [r0, 0x2]
- movs r0, 0x64
- bl sub_8084100
- adds r4, r0, 0
- ldr r0, _08071D24
- ldr r0, [r0]
- ldr r2, _08071D28
- adds r0, r2
- ldrb r0, [r0]
- bl sub_8090168
- lsls r0, 16
- asrs r0, 16
- cmp r4, r0
- bge _08071D2C
- movs r0, 0x1
- b _08071D2E
- .align 2, 0
-_08071D24: .4byte gUnknown_203B418
-_08071D28: .4byte 0x00000644
-_08071D2C:
- movs r0, 0
-_08071D2E:
- str r0, [sp, 0x4]
- mov r1, sp
- movs r0, 0
- strb r0, [r1, 0x10]
- mov r0, sp
- movs r1, 0
- bl sub_806B7F8
-_08071D3E:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8071B48
-
- thumb_func_start sub_8071D4C
-sub_8071D4C:
- push {lr}
- ldr r3, [r1, 0x70]
- ldrb r0, [r3, 0x9]
- cmp r0, 0x64
- beq _08071D94
- adds r0, r3, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08071D64
- cmp r0, 0x47
- bne _08071D68
-_08071D64:
- movs r0, 0x1
- b _08071D6A
-_08071D68:
- movs r0, 0
-_08071D6A:
- cmp r0, 0
- bne _08071D94
- ldr r1, [r3, 0x18]
- adds r2, r1, r2
- ldr r0, _08071D98
- cmp r2, r0
- ble _08071D7A
- ldr r2, _08071D9C
-_08071D7A:
- subs r2, r1
- cmp r2, 0
- beq _08071D94
- movs r0, 0xFE
- lsls r0, 1
- adds r1, r3, r0
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- ldr r0, _08071DA0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xD]
-_08071D94:
- pop {r0}
- bx r0
- .align 2, 0
-_08071D98: .4byte 0x0098967e
-_08071D9C: .4byte 0x0098967f
-_08071DA0: .4byte gUnknown_203B418
- thumb_func_end sub_8071D4C
-
- thumb_func_start sub_8071DA4
-sub_8071DA4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xD4
- str r0, [sp, 0xB4]
- ldr r2, _08071E44
- ldr r1, [r2]
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- bne _08071DBE
- b _08071FE2
-_08071DBE:
- movs r0, 0
- strb r0, [r1, 0xD]
- ldr r0, [r2]
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- beq _08071DCC
- b _08071FE2
-_08071DCC:
- ldr r0, [sp, 0xB4]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08071DE2
- mov r0, sp
- bl sub_80457DC
- mov r0, sp
- str r0, [sp, 0xB4]
-_08071DE2:
- movs r4, 0
-_08071DE4:
- movs r5, 0
- ldr r0, _08071E44
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _08071E48
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- mov r8, r0
- movs r0, 0
- str r0, [sp, 0xB8]
- movs r1, 0
- movs r2, 0
- str r1, [sp, 0xBC]
- str r2, [sp, 0xC0]
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0xC4]
- str r1, [sp, 0xC8]
- adds r1, r4, 0x1
- str r1, [sp, 0xCC]
- mov r2, r8
- cmp r2, 0
- bne _08071E16
- b _08071FDA
-_08071E16:
- mov r0, r8
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08071E24
- b _08071FDA
-_08071E24:
- mov r0, r8
- ldr r6, [r0, 0x70]
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _08071E32
- b _08071FDA
-_08071E32:
- adds r1, r6, 0
- adds r1, 0xF9
- ldrb r0, [r1]
- cmp r0, 0
- beq _08071E4C
- add r2, sp, 0xB8
- ldrb r2, [r2]
- strb r2, [r1]
- b _08071FCA
- .align 2, 0
-_08071E44: .4byte gUnknown_203B418
-_08071E48: .4byte 0x000135cc
-_08071E4C:
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r6, r1
- ldr r0, [r0]
- mov r10, r0
- cmp r0, 0
- beq _08071EB6
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _08071E68
- ldrb r1, [r6, 0x9]
- add r0, sp, 0x74
- bl sub_808EB48
-_08071E68:
- movs r0, 0x10
- ldrsh r2, [r6, r0]
- str r2, [sp, 0xB8]
- ldrb r1, [r6, 0x14]
- str r1, [sp, 0xBC]
- ldrb r2, [r6, 0x15]
- str r2, [sp, 0xC0]
- ldrb r0, [r6, 0x16]
- str r0, [sp, 0xC4]
- ldrb r1, [r6, 0x17]
- str r1, [sp, 0xC8]
- ldrb r0, [r6, 0x9]
- cmp r0, 0x64
- beq _08071EB6
- ldr r0, [r6, 0x18]
- add r0, r10
- str r0, [r6, 0x18]
- mov r2, r10
- ldr r0, _08071EE8
- str r2, [r0]
- ldr r0, _08071EEC
- adds r1, r6, 0
- movs r2, 0
- bl sub_80708B4
- ldr r0, _08071EF0
- ldr r2, [r0]
- ldr r0, [sp, 0xB4]
- mov r1, r8
- bl sub_80522F4
- ldr r0, [sp, 0xB4]
- mov r1, r8
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80723D0
- lsls r0, 24
- lsrs r5, r0, 24
-_08071EB6:
- ldr r1, _08071EF4
- adds r0, r6, r1
- ldrb r0, [r0]
- adds r4, 0x1
- str r4, [sp, 0xCC]
- cmp r0, 0
- beq _08071F3A
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- add r1, sp, 0x8C
- movs r2, 0
- movs r3, 0
- bl sub_808E400
- adds r7, r0, 0
- add r0, sp, 0x8C
- mov r9, r0
- cmp r7, 0
- beq _08071F38
- adds r0, r7, 0
- bl sub_8084100
- adds r4, r0, 0
- movs r1, 0
- b _08071F02
- .align 2, 0
-_08071EE8: .4byte gUnknown_202DE30
-_08071EEC: .4byte gUnknown_202DF98
-_08071EF0: .4byte gUnknown_80F9E64
-_08071EF4: .4byte 0x00000149
-_08071EF8:
- adds r4, 0x1
- cmp r4, r7
- blt _08071F00
- movs r4, 0
-_08071F00:
- adds r1, 0x1
-_08071F02:
- cmp r1, r7
- bge _08071F38
- lsls r0, r4, 1
- mov r2, r9
- adds r5, r2, r0
- movs r2, 0
- ldrsh r0, [r5, r2]
- str r1, [sp, 0xD0]
- bl sub_803D930
- lsls r0, 24
- ldr r1, [sp, 0xD0]
- cmp r0, 0
- beq _08071EF8
- movs r2, 0
- ldrsh r0, [r5, r2]
- bl sub_80687D0
- ldr r1, [sp, 0xD0]
- cmp r0, 0
- beq _08071EF8
- movs r0, 0
- ldrsh r2, [r5, r0]
- ldr r0, [sp, 0xB4]
- mov r1, r8
- bl sub_8072B78
-_08071F38:
- movs r5, 0
-_08071F3A:
- cmp r5, 0
- beq _08071F7A
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _08071F7A
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- ldr r2, [sp, 0xB8]
- subs r0, r2
- ldr r1, _08071FF4
- str r0, [r1]
- ldrb r0, [r6, 0x14]
- ldr r2, [sp, 0xBC]
- subs r0, r2
- str r0, [r1, 0x4]
- ldrb r0, [r6, 0x16]
- ldr r1, [sp, 0xC4]
- subs r0, r1
- ldr r2, _08071FF4
- str r0, [r2, 0x8]
- ldrb r0, [r6, 0x15]
- ldr r1, [sp, 0xC0]
- subs r0, r1
- str r0, [r2, 0xC]
- ldrb r0, [r6, 0x17]
- ldr r2, [sp, 0xC8]
- subs r0, r2
- ldr r1, _08071FF4
- str r0, [r1, 0x10]
- mov r0, r8
- bl sub_807218C
-_08071F7A:
- mov r2, r10
- cmp r2, 0
- beq _08071FCA
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _08071FCA
- ldrb r1, [r6, 0x9]
- add r0, sp, 0x80
- bl sub_808EB48
- movs r4, 0
- add r7, sp, 0x74
- add r5, sp, 0x80
-_08071F94:
- adds r0, r7, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08071FC4
- adds r0, r5, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08071FC4
- ldr r0, _08071FF8
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r0, _08071FFC
- bl sub_808EAC0
- ldr r0, _08072000
- ldr r2, [r0]
- ldr r0, [sp, 0xB4]
- mov r1, r8
- bl sub_80522F4
-_08071FC4:
- adds r4, 0x1
- cmp r4, 0xB
- ble _08071F94
-_08071FCA:
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r6, r1
- movs r1, 0
- str r1, [r0]
- ldr r2, _08072004
- adds r0, r6, r2
- strb r1, [r0]
-_08071FDA:
- ldr r4, [sp, 0xCC]
- cmp r4, 0x13
- bgt _08071FE2
- b _08071DE4
-_08071FE2:
- add sp, 0xD4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08071FF4: .4byte gUnknown_202DE30
-_08071FF8: .4byte gUnknown_202DF98
-_08071FFC: .4byte gUnknown_202DE58
-_08072000: .4byte gUnknown_80FF730
-_08072004: .4byte 0x00000149
- thumb_func_end sub_8071DA4
-
- thumb_func_start sub_8072008
-sub_8072008:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- mov r9, r0
- mov r8, r1
- adds r4, r2, 0
- ldr r0, [sp, 0x58]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x24]
- mov r0, r8
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08072036
- b _08072162
-_08072036:
- movs r0, 0
- str r0, [sp, 0x28]
- mov r1, r8
- ldr r5, [r1, 0x70]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0807204C
- add r0, sp, 0xC
- ldrb r1, [r5, 0x9]
- bl sub_808EB48
-_0807204C:
- movs r0, 0x10
- ldrsh r2, [r5, r0]
- str r2, [sp, 0x2C]
- ldrb r6, [r5, 0x14]
- ldrb r7, [r5, 0x15]
- ldrb r1, [r5, 0x16]
- str r1, [sp, 0x30]
- ldrb r2, [r5, 0x17]
- str r2, [sp, 0x34]
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0807206C
- cmp r0, 0x47
- bne _08072070
-_0807206C:
- movs r0, 0x1
- b _08072072
-_08072070:
- movs r0, 0
-_08072072:
- cmp r0, 0
- bne _080720E6
- ldrb r0, [r5, 0x9]
- adds r2, r0, r4
- cmp r2, 0x63
- ble _08072080
- movs r2, 0x64
-_08072080:
- cmp r2, r0
- beq _080720E6
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- mov r0, sp
- bl sub_808E010
- ldr r0, [sp]
- str r0, [r5, 0x18]
- mov r0, r9
- mov r1, r8
- mov r2, r10
- ldr r3, [sp, 0x24]
- bl sub_80723D0
- ldr r1, [sp, 0x28]
- orrs r1, r0
- lsls r0, r1, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- cmp r0, 0
- beq _080720E6
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _080720E6
- ldr r1, _08072174
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- ldr r2, [sp, 0x2C]
- subs r0, r2
- str r0, [r1]
- ldrb r0, [r5, 0x14]
- subs r0, r6
- str r0, [r1, 0x4]
- ldrb r0, [r5, 0x16]
- ldr r2, [sp, 0x30]
- subs r0, r2
- str r0, [r1, 0x8]
- ldrb r0, [r5, 0x15]
- subs r0, r7
- str r0, [r1, 0xC]
- ldrb r0, [r5, 0x17]
- ldr r2, [sp, 0x34]
- subs r0, r2
- str r0, [r1, 0x10]
- mov r0, r10
- cmp r0, 0
- beq _080720E6
- mov r0, r8
- bl sub_807218C
-_080720E6:
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _08072130
- add r4, sp, 0x18
- ldrb r1, [r5, 0x9]
- adds r0, r4, 0
- bl sub_808EB48
- movs r6, 0
- add r7, sp, 0xC
-_080720FA:
- adds r0, r7, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807212A
- adds r0, r4, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807212A
- ldr r0, _08072178
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- lsls r1, r6, 24
- lsrs r1, 24
- ldr r0, _0807217C
- bl sub_808EAC0
- ldr r0, _08072180
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
-_0807212A:
- adds r6, 0x1
- cmp r6, 0xB
- ble _080720FA
-_08072130:
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r5, r1
- movs r1, 0
- str r1, [r0]
- ldr r2, _08072184
- adds r0, r5, r2
- strb r1, [r0]
- ldr r0, [sp, 0x28]
- cmp r0, 0
- bne _08072162
- mov r1, r10
- cmp r1, 0
- beq _08072162
- ldr r0, _08072178
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08072188
- ldr r2, [r0]
- mov r0, r9
- mov r1, r8
- bl sub_80522F4
-_08072162:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08072174: .4byte gUnknown_202DE30
-_08072178: .4byte gUnknown_202DF98
-_0807217C: .4byte gUnknown_202DE58
-_08072180: .4byte gUnknown_80FF730
-_08072184: .4byte 0x00000149
-_08072188: .4byte gUnknown_80F9B74
- thumb_func_end sub_8072008
-
- thumb_func_start sub_807218C
-sub_807218C:
- push {r4-r6,lr}
- sub sp, 0x190
- adds r4, r0, 0
- movs r6, 0
- ldr r5, [r4, 0x70]
- movs r1, 0
- bl sub_806A2BC
- ldr r0, _080721C8
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- adds r0, r4, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- beq _08072200
- movs r3, 0
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- bne _080721CC
- movs r1, 0xD2
- lsls r1, 1
- b _080721EC
- .align 2, 0
-_080721C8: .4byte gUnknown_202DF98
-_080721CC:
- cmp r0, 0x47
- bne _080721D8
- ldr r1, _080721D4
- b _080721EC
- .align 2, 0
-_080721D4: .4byte 0x000001a5
-_080721D8:
- cmp r0, 0x41
- bne _080721EC
- ldr r0, _080721F8
- ldr r0, [r0]
- ldr r2, _080721FC
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080721EC
- movs r3, 0x1
-_080721EC:
- mov r0, sp
- movs r2, 0x3
- bl sub_806A3D4
- b _0807220A
- .align 2, 0
-_080721F8: .4byte gUnknown_203B418
-_080721FC: .4byte 0x0000065c
-_08072200:
- ldr r0, _08072308
- ldr r1, [r0]
- mov r0, sp
- bl strcpy
-_0807220A:
- movs r0, 0
- mov r1, sp
- movs r2, 0x1
- bl PrintFieldMessage
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- ldr r4, _0807230C
- ldr r0, [r4]
- cmp r0, 0
- ble _0807222E
- ldr r0, _08072310
- ldr r1, [r0]
- mov r0, sp
- bl strcat
- adds r6, 0x1
-_0807222E:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- ble _0807225A
- ldr r0, _08072314
- adds r1, r6, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807224E
- ldr r0, _08072318
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- mov r0, sp
- bl strcat
-_0807224E:
- ldr r0, _0807231C
- ldr r1, [r0]
- mov r0, sp
- bl strcat
- adds r6, 0x1
-_0807225A:
- ldr r0, _0807230C
- ldr r0, [r0, 0x8]
- cmp r0, 0
- ble _08072288
- ldr r0, _08072314
- adds r1, r6, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807227C
- ldr r0, _08072318
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- mov r0, sp
- bl strcat
-_0807227C:
- ldr r0, _08072320
- ldr r1, [r0]
- mov r0, sp
- bl strcat
- adds r6, 0x1
-_08072288:
- ldr r0, _0807230C
- ldr r0, [r0, 0xC]
- cmp r0, 0
- ble _080722B6
- ldr r0, _08072314
- adds r1, r6, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080722AA
- ldr r0, _08072318
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- mov r0, sp
- bl strcat
-_080722AA:
- ldr r0, _08072324
- ldr r1, [r0]
- mov r0, sp
- bl strcat
- adds r6, 0x1
-_080722B6:
- ldr r0, _0807230C
- ldr r0, [r0, 0x10]
- cmp r0, 0
- ble _080722E2
- ldr r0, _08072314
- adds r1, r6, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080722D8
- ldr r0, _08072318
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- mov r0, sp
- bl strcat
-_080722D8:
- ldr r0, _08072328
- ldr r1, [r0]
- mov r0, sp
- bl strcat
-_080722E2:
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _080722F4
- movs r0, 0
- mov r1, sp
- movs r2, 0x1
- bl PrintFieldMessage
-_080722F4:
- bl sub_8083600
- movs r1, 0
- bl sub_806A2BC
- add sp, 0x190
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08072308: .4byte gUnknown_80FCF18
-_0807230C: .4byte gUnknown_202DE30
-_08072310: .4byte gUnknown_80F9ACC
-_08072314: .4byte gUnknown_8107010
-_08072318: .4byte gUnknown_8107018
-_0807231C: .4byte gUnknown_80F9AEC
-_08072320: .4byte gUnknown_80F9B10
-_08072324: .4byte gUnknown_80F9B34
-_08072328: .4byte gUnknown_80F9B58
- thumb_func_end sub_807218C
-
- thumb_func_start sub_807232C
-sub_807232C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- mov r8, r0
- adds r5, r1, 0
- adds r7, r2, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080723B6
- movs r6, 0
- ldr r4, [r5, 0x70]
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08072358
- cmp r0, 0x47
- bne _0807235C
-_08072358:
- movs r0, 0x1
- b _0807235E
-_0807235C:
- movs r0, 0
-_0807235E:
- cmp r0, 0
- bne _0807238C
- ldrb r0, [r4, 0x9]
- subs r2, r0, r7
- cmp r2, 0
- bgt _0807236C
- movs r2, 0x1
-_0807236C:
- cmp r2, r0
- beq _0807238C
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- mov r0, sp
- bl sub_808E010
- ldr r0, [sp]
- str r0, [r4, 0x18]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80725A4
- orrs r6, r0
- lsls r0, r6, 24
- lsrs r6, r0, 24
-_0807238C:
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0
- str r1, [r0]
- ldr r2, _080723C4
- adds r0, r4, r2
- strb r1, [r0]
- cmp r6, 0
- bne _080723B6
- ldr r0, _080723C8
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080723CC
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
-_080723B6:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080723C4: .4byte 0x00000149
-_080723C8: .4byte gUnknown_202DF98
-_080723CC: .4byte gUnknown_80F9B94
- thumb_func_end sub_807232C
-
- thumb_func_start sub_80723D0
-sub_80723D0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0xC]
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x14]
- movs r0, 0
- str r0, [sp, 0x18]
- mov r0, r10
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08072422
- mov r1, r10
- ldr r5, [r1, 0x70]
- movs r0, 0x2
- ldrsh r3, [r5, r0]
- str r3, [sp, 0x1C]
- ldr r1, [r5, 0x18]
- str r1, [sp, 0x20]
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08072418
- cmp r0, 0x47
- bne _0807241C
-_08072418:
- movs r0, 0x1
- b _0807241E
-_0807241C:
- movs r0, 0
-_0807241E:
- cmp r0, 0
- beq _08072426
-_08072422:
- movs r0, 0
- b _08072576
-_08072426:
- ldrb r0, [r5, 0x9]
- adds r0, 0x1
- mov r8, r0
- mov r9, sp
- b _0807255A
-_08072430:
- mov r3, r8
- strb r3, [r5, 0x9]
- ldr r0, [sp, 0x20]
- str r0, [r5, 0x18]
- ldr r1, [sp, 0x10]
- cmp r1, 0
- beq _080724A4
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _08072480
- mov r0, r10
- movs r1, 0
- bl sub_806A2BC
- ldr r3, [sp, 0x18]
- cmp r3, 0
- bne _08072456
- bl sub_8083D58
-_08072456:
- ldr r0, _08072474
- mov r1, r8
- str r1, [r0]
- ldr r0, _08072478
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- ldr r0, _0807247C
- ldr r1, [r0]
- mov r0, r10
- bl sub_80528F4
- b _080724A4
- .align 2, 0
-_08072474: .4byte gUnknown_202DE30
-_08072478: .4byte gUnknown_202DF98
-_0807247C: .4byte gUnknown_80F9E80
-_08072480:
- ldr r3, [sp, 0x18]
- cmp r3, 0
- bne _0807248A
- bl sub_8083D58
-_0807248A:
- ldr r0, _08072588
- mov r1, r8
- str r1, [r0]
- ldr r0, _0807258C
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- ldr r0, _08072590
- ldr r1, [r0]
- mov r0, r10
- bl sub_805239C
-_080724A4:
- movs r3, 0x1
- str r3, [sp, 0x18]
- mov r1, r9
- ldrh r0, [r1, 0x4]
- ldrh r3, [r5, 0x10]
- adds r0, r3
- movs r2, 0
- strh r0, [r5, 0x10]
- ldrh r1, [r1, 0x4]
- ldrh r3, [r5, 0xE]
- adds r1, r3
- strh r1, [r5, 0xE]
- lsls r0, 16
- ldr r1, _08072594
- cmp r0, r1
- ble _080724C8
- ldr r0, _08072598
- strh r0, [r5, 0x10]
-_080724C8:
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- ldrh r2, [r5, 0x10]
- movs r3, 0x10
- ldrsh r0, [r5, r3]
- cmp r1, r0
- blt _080724D8
- strh r2, [r5, 0xE]
-_080724D8:
- ldr r7, _0807259C
- ldrb r4, [r5, 0x14]
- str r4, [r7]
- ldrb r1, [r5, 0x15]
- str r1, [r7, 0x4]
- ldr r6, _080725A0
- ldrb r2, [r5, 0x16]
- str r2, [r6]
- ldrb r0, [r5, 0x17]
- mov r12, r0
- mov r3, r9
- ldrb r0, [r3, 0x6]
- adds r4, r0
- str r4, [r7]
- ldrb r0, [r3, 0x7]
- adds r1, r0
- str r1, [r7, 0x4]
- ldrb r0, [r3, 0x8]
- adds r2, r0
- str r2, [r6]
- ldrb r0, [r3, 0x9]
- mov r1, r12
- adds r3, r1, r0
- str r3, [r6, 0x4]
- cmp r4, 0xFE
- ble _08072510
- movs r3, 0xFF
- str r3, [r7]
-_08072510:
- ldr r0, [r7, 0x4]
- cmp r0, 0xFE
- ble _0807251A
- movs r0, 0xFF
- str r0, [r7, 0x4]
-_0807251A:
- ldr r0, [r6]
- cmp r0, 0xFE
- ble _08072524
- movs r1, 0xFF
- str r1, [r6]
-_08072524:
- ldr r0, [r6, 0x4]
- cmp r0, 0xFE
- ble _0807252E
- movs r3, 0xFF
- str r3, [r6, 0x4]
-_0807252E:
- mov r0, r10
- bl sub_807191C
- mov r0, r10
- bl sub_8079764
- ldr r0, [r7]
- strb r0, [r5, 0x14]
- ldr r0, [r7, 0x4]
- strb r0, [r5, 0x15]
- ldr r0, [r6]
- strb r0, [r5, 0x16]
- ldr r0, [r6, 0x4]
- strb r0, [r5, 0x17]
- ldr r0, [sp, 0xC]
- mov r1, r10
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl sub_8072778
- movs r0, 0x1
- add r8, r0
-_0807255A:
- mov r1, r8
- cmp r1, 0x64
- bgt _08072574
- mov r0, sp
- ldr r1, [sp, 0x1C]
- mov r2, r8
- bl sub_808E010
- ldr r0, [sp]
- ldr r3, [sp, 0x20]
- cmp r0, r3
- bgt _08072574
- b _08072430
-_08072574:
- ldr r0, [sp, 0x18]
-_08072576:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08072588: .4byte gUnknown_202DE30
-_0807258C: .4byte gUnknown_202DF98
-_08072590: .4byte gUnknown_80F9E80
-_08072594: .4byte 0x03e60000
-_08072598: .4byte 0x000003e7
-_0807259C: .4byte gUnknown_202F31C
-_080725A0: .4byte gUnknown_202F324
- thumb_func_end sub_80723D0
-
- thumb_func_start sub_80725A4
-sub_80725A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- adds r0, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080725C2
- b _0807272E
-_080725C2:
- ldr r0, [sp, 0x10]
- ldr r5, [r0, 0x70]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- str r1, [sp, 0x18]
- ldr r3, [r5, 0x18]
- str r3, [sp, 0x1C]
- ldrb r0, [r5, 0x9]
- str r0, [sp, 0x20]
- adds r0, r5, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _080725E2
- cmp r0, 0x47
- bne _080725E6
-_080725E2:
- movs r0, 0x1
- b _080725E8
-_080725E6:
- movs r0, 0
-_080725E8:
- cmp r0, 0
- beq _080725EE
- b _0807272E
-_080725EE:
- movs r1, 0x1
- mov r8, r1
- b _080725F8
-_080725F4:
- movs r2, 0x1
- add r8, r2
-_080725F8:
- ldrb r3, [r5, 0x9]
- cmp r8, r3
- bge _08072610
- mov r0, sp
- ldr r1, [sp, 0x18]
- mov r2, r8
- bl sub_808E010
- ldr r0, [sp]
- ldr r1, [sp, 0x1C]
- cmp r0, r1
- blt _080725F4
-_08072610:
- mov r2, r8
- subs r2, 0x1
- str r2, [sp, 0x14]
- ldrb r3, [r5, 0x9]
- mov r8, r3
- cmp r8, r2
- ble _08072710
- mov r9, sp
- movs r0, 0x1
- mov r10, r0
-_08072624:
- mov r4, r8
- adds r4, 0x1
- mov r1, r8
- cmp r1, 0x63
- bgt _08072640
- mov r0, sp
- ldr r1, [sp, 0x18]
- adds r2, r4, 0
- bl sub_808E010
- ldr r0, [sp]
- subs r0, 0x1
- str r0, [r5, 0x18]
- b _08072644
-_08072640:
- ldr r2, [sp, 0x1C]
- str r2, [r5, 0x18]
-_08072644:
- ldr r3, [sp, 0x20]
- cmp r3, r8
- ble _08072704
- mov r0, sp
- ldr r1, [sp, 0x18]
- adds r2, r4, 0
- bl sub_808E010
- mov r0, r8
- strb r0, [r5, 0x9]
- ldrh r0, [r5, 0x10]
- mov r2, r9
- ldrh r1, [r2, 0x4]
- subs r0, r1
- strh r0, [r5, 0x10]
- ldrh r0, [r5, 0xE]
- ldrh r1, [r2, 0x4]
- subs r0, r1
- strh r0, [r5, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _08072676
- mov r3, r10
- strh r3, [r5, 0xE]
-_08072676:
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bgt _08072682
- mov r2, r10
- strh r2, [r5, 0x10]
-_08072682:
- movs r3, 0xE
- ldrsh r1, [r5, r3]
- ldrh r2, [r5, 0x10]
- movs r3, 0x10
- ldrsh r0, [r5, r3]
- cmp r1, r0
- blt _08072692
- strh r2, [r5, 0xE]
-_08072692:
- ldr r7, _08072734
- ldrb r4, [r5, 0x14]
- str r4, [r7]
- ldrb r1, [r5, 0x15]
- str r1, [r7, 0x4]
- ldr r6, _08072738
- ldrb r2, [r5, 0x16]
- str r2, [r6]
- ldrb r0, [r5, 0x17]
- mov r12, r0
- mov r3, r9
- ldrb r0, [r3, 0x6]
- subs r4, r0
- str r4, [r7]
- ldrb r0, [r3, 0x7]
- subs r1, r0
- str r1, [r7, 0x4]
- ldrb r0, [r3, 0x8]
- subs r2, r0
- str r2, [r6]
- ldrb r0, [r3, 0x9]
- mov r1, r12
- subs r3, r1, r0
- str r3, [r6, 0x4]
- cmp r4, 0x1
- bgt _080726CA
- mov r2, r10
- str r2, [r7]
-_080726CA:
- ldr r0, [r7, 0x4]
- cmp r0, 0x1
- bgt _080726D4
- mov r3, r10
- str r3, [r7, 0x4]
-_080726D4:
- ldr r0, [r6]
- cmp r0, 0x1
- bgt _080726DE
- mov r0, r10
- str r0, [r6]
-_080726DE:
- ldr r0, [r6, 0x4]
- cmp r0, 0x1
- bgt _080726E8
- mov r1, r10
- str r1, [r6, 0x4]
-_080726E8:
- ldr r0, [sp, 0x10]
- bl sub_807191C
- ldr r0, [sp, 0x10]
- bl sub_8079764
- ldr r0, [r7]
- strb r0, [r5, 0x14]
- ldr r0, [r7, 0x4]
- strb r0, [r5, 0x15]
- ldr r0, [r6]
- strb r0, [r5, 0x16]
- ldr r0, [r6, 0x4]
- strb r0, [r5, 0x17]
-_08072704:
- movs r2, 0x1
- negs r2, r2
- add r8, r2
- ldr r3, [sp, 0x14]
- cmp r8, r3
- bgt _08072624
-_08072710:
- ldr r0, _0807273C
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- ldrb r1, [r5, 0x9]
- ldr r0, [sp, 0x20]
- cmp r1, r0
- bne _08072744
- ldr r0, _08072740
- ldr r2, [r0]
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- bl sub_80522F4
-_0807272E:
- movs r0, 0
- b _08072760
- .align 2, 0
-_08072734: .4byte gUnknown_202F31C
-_08072738: .4byte gUnknown_202F324
-_0807273C: .4byte gUnknown_202DF98
-_08072740: .4byte gUnknown_80F9EEC
-_08072744:
- ldr r0, _08072770
- str r1, [r0]
- movs r1, 0xD3
- lsls r1, 1
- ldr r0, [sp, 0x10]
- bl sub_80421C0
- ldr r0, _08072774
- ldr r2, [r0]
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- bl sub_80522F4
- movs r0, 0x1
-_08072760:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08072770: .4byte gUnknown_202DE30
-_08072774: .4byte gUnknown_80F9EC8
- thumb_func_end sub_80725A4
-
- thumb_func_start sub_8072778
-sub_8072778:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xD0
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xC4]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC8]
- ldr r0, [r1, 0x70]
- mov r8, r0
- movs r1, 0
- str r1, [sp, 0xCC]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _080727A8
- movs r2, 0
- str r2, [sp, 0xC8]
- movs r4, 0
- str r4, [sp, 0xC4]
-_080727A8:
- mov r0, r8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldrb r2, [r0, 0x9]
- movs r4, 0xC
- ldrsh r3, [r0, r4]
- mov r0, sp
- bl sub_808E0AC
- adds r7, r0, 0
- add r4, sp, 0x20
- movs r1, 0x8C
- lsls r1, 1
- add r1, r8
- adds r0, r4, 0
- bl sub_8093FC8
- mov r10, r4
- cmp r7, 0
- beq _08072810
- adds r0, r7, 0
- bl sub_8084100
- movs r2, 0
- lsls r0, 1
- mov r1, sp
- adds r6, r1, r0
- mov r5, sp
- adds r5, 0x21
- mov r3, r10
-_080727E4:
- lsls r0, r2, 3
- add r0, sp
- adds r0, 0x20
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08072806
- ldrh r1, [r6]
- adds r0, r3, 0
- bl sub_8092A88
- ldrb r1, [r5]
- movs r0, 0x4
- orrs r0, r1
- strb r0, [r5]
- b _08072810
-_08072806:
- adds r5, 0x8
- adds r3, 0x8
- adds r2, 0x1
- cmp r2, 0x7
- ble _080727E4
-_08072810:
- movs r5, 0
- movs r4, 0x1
-_08072814:
- movs r7, 0
- movs r2, 0
-_08072818:
- lsls r0, r2, 3
- add r0, sp
- adds r0, 0x20
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0807282A
- adds r7, 0x1
-_0807282A:
- adds r2, 0x1
- cmp r2, 0x7
- ble _08072818
- cmp r7, 0x4
- bgt _080728D4
- movs r3, 0
- movs r5, 0
- cmp r3, r7
- bge _0807287C
- movs r4, 0x8C
- lsls r4, 1
- add r4, r8
- mov r6, r10
-_08072844:
- lsls r0, r5, 3
- movs r2, 0x8C
- lsls r2, 1
- add r2, r8
- adds r2, r0
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08072872
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r4, 0x1]
- add r0, sp, 0x60
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- movs r3, 0x1
-_08072872:
- adds r4, 0x8
- adds r6, 0x8
- adds r5, 0x1
- cmp r5, r7
- blt _08072844
-_0807287C:
- cmp r5, 0x3
- bgt _08072894
- movs r2, 0x8C
- lsls r2, 1
- movs r1, 0
-_08072886:
- lsls r0, r5, 3
- add r0, r8
- adds r0, r2
- strb r1, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _08072886
-_08072894:
- cmp r3, 0
- beq _08072928
- ldr r2, [sp, 0xC4]
- cmp r2, 0
- beq _08072928
- ldr r0, _080728C8
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- ldr r0, _080728CC
- add r1, sp, 0x60
- bl strcpy
- mov r0, r9
- movs r1, 0x9C
- lsls r1, 1
- bl sub_80421C0
- ldr r0, _080728D0
- ldr r1, [r0]
- mov r0, r9
- bl sub_80528F4
- b _08072928
- .align 2, 0
-_080728C8: .4byte gUnknown_202DF98
-_080728CC: .4byte gUnknown_202DE58
-_080728D0: .4byte gUnknown_80F9F04
-_080728D4:
- mov r1, r8
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08072918
- ldr r2, [sp, 0xC8]
- cmp r2, 0
- beq _08072918
- ldr r0, [sp, 0xCC]
- cmp r0, 0
- bne _08072902
- ldr r1, [sp, 0xC4]
- cmp r1, 0
- beq _08072902
- movs r0, 0xA
- movs r1, 0x6
- bl sub_803E708
- ldr r0, _08072914
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
-_08072902:
- movs r2, 0x1
- str r2, [sp, 0xCC]
- mov r0, r9
- mov r1, r10
- movs r3, 0
- bl sub_8063E70
- b _08072920
- .align 2, 0
-_08072914: .4byte gUnknown_80F9FA4
-_08072918:
- mov r0, r9
- mov r1, r10
- bl sub_8072B24
-_08072920:
- adds r5, 0x1
- cmp r5, 0x1D
- bgt _08072928
- b _08072814
-_08072928:
- add sp, 0xD0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8072778
-
- thumb_func_start sub_8072938
-sub_8072938:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xA4
- mov r9, r0
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, [r0, 0x70]
- mov r8, r0
- movs r1, 0
- mov r10, r1
- movs r1, 0x8C
- lsls r1, 1
- add r1, r8
- mov r0, sp
- bl sub_8093FC8
- movs r3, 0
- mov r4, sp
- mov r2, sp
-_08072964:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08072980
- adds r0, r2, 0
- adds r1, r5, 0
- bl sub_8092A88
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- orrs r0, r1
- strb r0, [r4, 0x1]
- b _0807298A
-_08072980:
- adds r4, 0x8
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _08072964
-_0807298A:
- movs r4, 0
- movs r5, 0x1
-_0807298E:
- movs r7, 0
- mov r2, sp
- movs r3, 0x7
-_08072994:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080729A0
- adds r7, 0x1
-_080729A0:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08072994
- cmp r7, 0x4
- bgt _08072A50
- movs r5, 0
- cmp r5, r7
- bge _080729F4
- movs r4, 0x8C
- lsls r4, 1
- add r4, r8
- mov r6, sp
-_080729BA:
- lsls r0, r5, 3
- movs r2, 0x8C
- lsls r2, 1
- add r2, r8
- adds r2, r0
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080729EA
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r4, 0x1]
- add r0, sp, 0x40
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- movs r0, 0x1
- mov r10, r0
-_080729EA:
- adds r4, 0x8
- adds r6, 0x8
- adds r5, 0x1
- cmp r5, r7
- blt _080729BA
-_080729F4:
- cmp r5, 0x3
- bgt _08072A0C
- movs r2, 0x8C
- lsls r2, 1
- movs r1, 0
-_080729FE:
- lsls r0, r5, 3
- add r0, r8
- adds r0, r2
- strb r1, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080729FE
-_08072A0C:
- mov r1, r10
- cmp r1, 0
- beq _08072A92
- mov r1, r8
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08072A8C
- ldr r0, _08072A44
- mov r1, r9
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08072A48
- add r1, sp, 0x40
- bl strcpy
- mov r0, r9
- movs r1, 0x9C
- lsls r1, 1
- bl sub_80421C0
- ldr r0, _08072A4C
- ldr r1, [r0]
- mov r0, r9
- bl sub_80528F4
- b _08072A8C
- .align 2, 0
-_08072A44: .4byte gUnknown_202DF98
-_08072A48: .4byte gUnknown_202DE58
-_08072A4C: .4byte gUnknown_80F9F04
-_08072A50:
- movs r0, 0
- mov r10, r0
- mov r1, r8
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08072A84
- ldr r0, _08072A80
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- mov r0, r9
- mov r1, sp
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8063E70
- lsls r0, 24
- cmp r0, 0
- bne _08072A84
- movs r0, 0
- b _08072AB0
- .align 2, 0
-_08072A80: .4byte gUnknown_80FDF40
-_08072A84:
- adds r4, 0x1
- cmp r4, 0x1D
- bgt _08072A8C
- b _0807298E
-_08072A8C:
- mov r0, r10
- cmp r0, 0
- bne _08072AAE
-_08072A92:
- mov r1, r8
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08072AAE
- ldr r0, _08072AC0
- mov r1, r9
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08072AC4
- ldr r1, [r0]
- mov r0, r9
- bl sub_80528F4
-_08072AAE:
- movs r0, 0x1
-_08072AB0:
- add sp, 0xA4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08072AC0: .4byte gUnknown_202DF98
-_08072AC4: .4byte gUnknown_80F9F2C
- thumb_func_end sub_8072938
-
- thumb_func_start sub_8072AC8
-sub_8072AC8:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r7, r2, 0
- lsls r1, 16
- asrs r0, r1, 16
- movs r3, 0
- adds r2, r6, 0x6
-_08072AD8:
- strh r3, [r2]
- subs r2, 0x2
- cmp r2, r6
- bge _08072AD8
- movs r5, 0
- bl sub_8092B18
- adds r4, r0, 0
- b _08072B04
-_08072AEA:
- cmp r5, 0x4
- bne _08072AF6
- movs r0, 0x4
- bl sub_8084100
- b _08072AFA
-_08072AF6:
- adds r0, r5, 0
- adds r5, 0x1
-_08072AFA:
- lsls r0, 1
- adds r0, r6
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0]
-_08072B04:
- ldrb r0, [r4]
- cmp r0, 0
- beq _08072B1C
- adds r0, r4, 0
- mov r1, sp
- bl sub_808E07C
- adds r4, r0, 0
- ldrb r0, [r4]
- adds r4, 0x1
- cmp r0, r7
- ble _08072AEA
-_08072B1C:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8072AC8
-
- thumb_func_start sub_8072B24
-sub_8072B24:
- push {r4-r7,lr}
- adds r5, r1, 0
- movs r4, 0
- movs r7, 0x1
- movs r6, 0xFD
- adds r2, r5, 0
- movs r3, 0x7
-_08072B32:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08072B44
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2]
- adds r4, 0x1
-_08072B44:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08072B32
- adds r0, r4, 0
- bl sub_8084100
- adds r3, r0, 0
- adds r4, r5, 0
- adds r4, 0x38
- cmp r3, 0x6
- bgt _08072B6C
- lsls r0, r3, 3
- adds r2, r0, r5
-_08072B60:
- ldr r0, [r2, 0x8]
- ldr r1, [r2, 0xC]
- stm r2!, {r0,r1}
- adds r3, 0x1
- cmp r3, 0x6
- ble _08072B60
-_08072B6C:
- movs r0, 0
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8072B24
-
- thumb_func_start sub_8072B78
-sub_8072B78:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- mov r8, r0
- adds r7, r1, 0
- lsls r5, r2, 16
- asrs r5, 16
- ldr r6, [r7, 0x70]
- ldr r4, _08072BFC
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_80708B4
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_808D908
- adds r0, r5, 0
- bl sub_80687D0
- adds r4, r0, 0
- lsls r0, r5, 16
- lsrs r0, 16
- strh r0, [r6, 0x4]
- strh r0, [r6, 0x2]
- ldrb r2, [r6, 0x9]
- mov r0, sp
- adds r1, r5, 0
- bl sub_808E010
- ldr r0, [sp]
- str r0, [r6, 0x18]
- str r4, [r7, 0x64]
- adds r0, r6, 0
- movs r1, 0
- bl sub_806BFC0
- adds r0, r7, 0
- bl sub_8069E0C
- adds r0, r7, 0
- movs r1, 0x7
- bl sub_806CCB4
- ldr r0, _08072C00
- ldr r2, [r0]
- mov r0, r8
- adds r1, r7, 0
- bl sub_80522F4
- adds r0, r7, 0
- bl sub_8042A44
- bl sub_8083D78
- movs r0, 0x9E
- lsls r0, 1
- cmp r5, r0
- bne _08072C74
- movs r5, 0
- ldr r4, _08072C04
- b _08072C0C
- .align 2, 0
-_08072BFC: .4byte gUnknown_202DF98
-_08072C00: .4byte gUnknown_80FE2EC
-_08072C04: .4byte gUnknown_80F4448
-_08072C08:
- adds r4, 0x4
- adds r5, 0x1
-_08072C0C:
- cmp r5, 0x7
- bgt _08072C36
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r7, r2]
- adds r0, r1
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- movs r3, 0x6
- ldrsh r2, [r7, r3]
- adds r1, r2
- bl sub_804954C
- adds r1, r0, 0
- ldr r0, _08072C80
- bl sub_807034C
- lsls r0, 24
- cmp r0, 0
- bne _08072C08
-_08072C36:
- ldr r0, _08072C80
- mov r8, r0
- bl sub_803D930
- lsls r0, 24
- cmp r0, 0
- beq _08072C74
- add r0, sp, 0xC
- movs r3, 0
- movs r4, 0
- mov r1, r8
- strh r1, [r0]
- ldrb r1, [r6, 0x9]
- strh r1, [r0, 0x8]
- strb r3, [r0, 0x2]
- ldr r1, _08072C84
- lsls r2, r5, 2
- adds r2, r1
- ldrh r1, [r7, 0x4]
- ldrh r5, [r2]
- adds r1, r5
- strh r1, [r0, 0xC]
- ldrh r1, [r7, 0x6]
- ldrh r2, [r2, 0x2]
- adds r1, r2
- strh r1, [r0, 0xE]
- str r4, [r0, 0x4]
- strb r3, [r0, 0x10]
- movs r1, 0x1
- bl sub_806B7F8
-_08072C74:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08072C80: .4byte 0x0000013d
-_08072C84: .4byte gUnknown_80F4448
- thumb_func_end sub_8072B78
-
- thumb_func_start sub_8072C88
-sub_8072C88:
- push {lr}
- ldr r1, [r0, 0x70]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08072CA2
- adds r0, r1, 0
- adds r0, 0x94
- ldrb r0, [r0]
- bl sub_808EAFC
- lsls r0, 24
- lsrs r0, 24
- b _08072CA4
-_08072CA2:
- movs r0, 0
-_08072CA4:
- pop {r1}
- bx r1
- thumb_func_end sub_8072C88
-
- thumb_func_start sub_8072CA8
-sub_8072CA8:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _08072CEC
- bl sub_8083600
- adds r4, r0, 0
- cmp r4, 0
- beq _08072CEC
- ldr r0, [r4, 0x70]
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08072CEC
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _08072CEC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8045A00
- lsls r0, 24
- cmp r0, 0
- beq _08072CEC
- adds r0, r4, 0
- b _08072CEE
-_08072CEC:
- movs r0, 0
-_08072CEE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8072CA8
-
- thumb_func_start sub_8072CF4
-sub_8072CF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- movs r0, 0x1
- bl sub_804178C
- ldr r1, _08072D4C
- movs r0, 0x1
- strb r0, [r1]
- ldr r6, [r4, 0x70]
- adds r0, r6, 0
- adds r0, 0xFC
- movs r1, 0
- strb r1, [r0]
- subs r0, 0x9
- strb r1, [r0]
- ldr r0, _08072D50
- ldr r0, [r0]
- adds r0, 0xB8
- str r4, [r0]
- ldr r2, _08072D54
- adds r0, r6, 0
- adds r0, 0x44
- ldrh r0, [r0]
- lsls r1, r0, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08072D64
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _08072D58
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_805EFB4
- b _08072D64
- .align 2, 0
-_08072D4C: .4byte gUnknown_203B434
-_08072D50: .4byte gUnknown_203B418
-_08072D54: .4byte gUnknown_80F58F4
-_08072D58:
- adds r0, r2, 0x1
- adds r0, r1, r0
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8075BA4
-_08072D64:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- beq _08072D86
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80570F4
- lsls r0, 24
- cmp r0, 0
- beq _08072D86
- adds r0, r4, 0
- bl sub_8079764
-_08072D86:
- movs r7, 0x1
- movs r5, 0xFB
- movs r0, 0x8C
- lsls r0, 1
- adds r2, r6, r0
- movs r3, 0x3
-_08072D92:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08072DA4
- ldrb r1, [r2, 0x1]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x1]
-_08072DA4:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08072D92
- adds r0, r4, 0
- movs r1, 0
- bl sub_8045028
- lsls r0, 24
- cmp r0, 0
- bne _08072E08
- adds r0, r4, 0
- bl sub_807520C
- lsls r0, 24
- cmp r0, 0
- beq _08072DF0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08072DD2
- b _080732D4
-_08072DD2:
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08072DE0
- b _080732D4
-_08072DE0:
- ldr r0, _08072DEC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08072DF0
- movs r0, 0x1
- b _080732D6
- .align 2, 0
-_08072DEC: .4byte gUnknown_202F32D
-_08072DF0:
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _08072DFC
- movs r0, 0xA
- bl sub_8052740
-_08072DFC:
- adds r0, r4, 0
- bl sub_806A1E8
- movs r0, 0xA
- bl sub_803E46C
-_08072E08:
- adds r0, r6, 0
- adds r0, 0x44
- ldrh r1, [r0]
- adds r5, r0, 0
- cmp r1, 0x1
- bls _08072E26
- cmp r1, 0x4
- beq _08072E26
- cmp r1, 0x2
- beq _08072E26
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r6, r2
- movs r0, 0x1
- strb r0, [r1]
-_08072E26:
- movs r3, 0
- mov r10, r3
- movs r7, 0xA5
- lsls r7, 1
- adds r0, r6, r7
- mov r1, r10
- strb r1, [r0]
- ldr r0, _08072E50
- strb r1, [r0]
- ldr r0, _08072E54
- strb r1, [r0]
- ldrh r0, [r5]
- subs r0, 0x2
- cmp r0, 0x3F
- bls _08072E46
- b _080731B4
-_08072E46:
- lsls r0, 2
- ldr r1, _08072E58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08072E50: .4byte gUnknown_202F221
-_08072E54: .4byte gUnknown_202F222
-_08072E58: .4byte _08072E5C
- .align 2, 0
-_08072E5C:
- .4byte _08072F5C
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _08073104
- .4byte _080730A4
- .4byte _0807310C
- .4byte _0807311C
- .4byte _080731B4
- .4byte _08073094
- .4byte _08073094
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _08073094
- .4byte _0807314C
- .4byte _08073154
- .4byte _0807303E
- .4byte _080731B4
- .4byte _0807315C
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _08073186
- .4byte _0807318E
- .4byte _08073170
- .4byte _08073046
- .4byte _0807311C
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _0807309C
- .4byte _08073162
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080731B4
- .4byte _080730AC
- .4byte _080730B4
- .4byte _080730C4
- .4byte _08073196
- .4byte _08073114
- .4byte _080730E0
- .4byte _080730CC
- .4byte _080730D6
- .4byte _080730BC
- .4byte _0807317E
- .4byte _080731B4
- .4byte _0807311C
-_08072F5C:
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08072F76
- cmp r0, 0x7
- beq _08072F76
- cmp r0, 0x5
- beq _08072F76
- cmp r0, 0x3
- beq _08072F76
- cmp r0, 0x4
- bne _08072F84
-_08072F76:
- movs r0, 0
- strh r0, [r5]
- ldr r2, _08072F80
- adds r1, r6, r2
- b _08072FDA
- .align 2, 0
-_08072F80: .4byte 0x00000147
-_08072F84:
- movs r3, 0
- mov r9, r3
- ldr r1, _08072FE0
- adds r2, r6, 0
- adds r2, 0x46
- ldrb r3, [r2]
- lsls r0, r3, 2
- adds r0, r1
- ldrh r1, [r0]
- ldrh r7, [r4, 0x4]
- adds r1, r7
- lsls r1, 16
- ldrh r0, [r0, 0x2]
- ldrh r7, [r4, 0x6]
- adds r0, r7
- lsls r0, 16
- lsrs r1, 16
- mov r8, r1
- orrs r1, r0
- mov r8, r1
- ldrh r1, [r6]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- adds r7, r2, 0
- cmp r0, 0
- bne _08072FCC
- adds r0, r4, 0
- adds r1, r3, 0
- bl sub_8070D6C
- lsls r0, 24
- cmp r0, 0
- bne _08072FCC
- movs r2, 0x1
- mov r9, r2
-_08072FCC:
- mov r3, r9
- cmp r3, 0
- beq _08072FE8
- movs r0, 0
- strh r0, [r5]
- ldr r7, _08072FE4
- adds r1, r6, r7
-_08072FDA:
- movs r0, 0x1
- strb r0, [r1]
- b _080731B8
- .align 2, 0
-_08072FE0: .4byte gUnknown_80F4448
-_08072FE4: .4byte 0x00000147
-_08072FE8:
- ldrh r1, [r4, 0x6]
- lsls r1, 16
- ldrh r0, [r4, 0x4]
- orrs r0, r1
- str r0, [sp]
- mov r0, r8
- lsls r1, r0, 16
- asrs r1, 16
- asrs r2, r0, 16
- adds r0, r4, 0
- movs r3, 0
- bl sub_80694C0
- ldrb r1, [r7]
- adds r0, r4, 0
- mov r2, sp
- bl sub_8074FB0
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08073038
- adds r0, r6, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08073038
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _08073038
- adds r0, r4, 0x4
- bl sub_804AE08
-_08073038:
- movs r1, 0x1
- mov r10, r1
- b _080731B8
-_0807303E:
- adds r0, r4, 0
- bl sub_807CABC
- b _080731B8
-_08073046:
- ldr r0, _08073064
- ldr r1, [r0]
- ldr r2, _08073068
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x15
- bne _08073074
- ldr r3, _0807306C
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08073074
- ldr r0, _08073070
- b _080731A2
- .align 2, 0
-_08073064: .4byte gUnknown_203B418
-_08073068: .4byte 0x00000644
-_0807306C: .4byte 0x000037fe
-_08073070: .4byte gUnknown_80FA5B4
-_08073074:
- bl sub_804267C
- ldr r0, _0807308C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- ldr r1, _08073090
- adds r0, r6, 0
- adds r0, 0x46
- ldrb r0, [r0]
- strb r0, [r1]
- b _080731B8
- .align 2, 0
-_0807308C: .4byte gUnknown_203B418
-_08073090: .4byte gUnknown_202F32C
-_08073094:
- adds r0, r4, 0
- bl sub_8067110
- b _080731B8
-_0807309C:
- adds r0, r4, 0
- bl sub_807CB3C
- b _080731B8
-_080730A4:
- adds r0, r4, 0
- bl sub_8066744
- b _080731B8
-_080730AC:
- adds r0, r4, 0
- bl sub_80668D0
- b _080731B8
-_080730B4:
- adds r0, r4, 0
- bl sub_8066AC0
- b _080731B8
-_080730BC:
- adds r0, r4, 0
- bl sub_8066BD4
- b _080731B8
-_080730C4:
- adds r0, r4, 0
- bl sub_8066CF0
- b _080731B8
-_080730CC:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806675C
- b _080731B8
-_080730D6:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806684C
- b _080731B8
-_080730E0:
- ldr r0, _080730FC
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xBC
- adds r0, r6, 0
- adds r0, 0x48
- ldrb r0, [r0]
- lsls r0, 2
- ldr r7, _08073100
- adds r1, r7
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- b _080731B8
- .align 2, 0
-_080730FC: .4byte gUnknown_203B418
-_08073100: .4byte 0x0001357c
-_08073104:
- adds r0, r4, 0
- bl sub_8066D04
- b _080731B8
-_0807310C:
- adds r0, r4, 0
- bl sub_8066E14
- b _080731B8
-_08073114:
- adds r0, r4, 0
- bl sub_8066FA4
- b _080731B8
-_0807311C:
- adds r0, r6, 0
- bl sub_8071A70
- lsls r0, 24
- cmp r0, 0
- beq _08073136
- adds r0, r4, 0
- bl nullsub_95
- adds r0, r4, 0
- bl sub_80671A0
- b _080731B8
-_08073136:
- ldr r0, _08073144
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08073148
- b _080731A2
- .align 2, 0
-_08073144: .4byte gUnknown_202DF98
-_08073148: .4byte gUnknown_80FE6D4
-_0807314C:
- adds r0, r4, 0
- bl sub_8067510
- b _080731B8
-_08073154:
- adds r0, r4, 0
- bl sub_8067884
- b _080731B8
-_0807315C:
- movs r1, 0xB0
- lsls r1, 1
- b _08073164
-_08073162:
- ldr r1, _0807316C
-_08073164:
- adds r0, r4, 0
- bl sub_8067904
- b _080731B8
- .align 2, 0
-_0807316C: .4byte 0x00000163
-_08073170:
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_807FE9C
- b _080731B8
-_0807317E:
- adds r0, r4, 0
- bl sub_8073D08
- b _080731B8
-_08073186:
- adds r0, r4, 0
- bl sub_8073CF0
- b _080731B8
-_0807318E:
- adds r0, r4, 0
- bl sub_8073CFC
- b _080731B8
-_08073196:
- ldr r0, _080731AC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080731B0
-_080731A2:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _080731B8
- .align 2, 0
-_080731AC: .4byte gUnknown_202DF98
-_080731B0: .4byte gUnknown_80FE478
-_080731B4:
- movs r0, 0x1
- strh r0, [r5]
-_080731B8:
- adds r0, r4, 0
- bl sub_807FD84
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080731CC
- b _080732D4
-_080731CC:
- ldr r0, [r4, 0x70]
- movs r2, 0xA5
- lsls r2, 1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080731E2
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8079764
-_080731E2:
- movs r0, 0
- bl sub_8041888
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080732D4
- bl sub_8085140
- ldr r3, _080732E8
- adds r1, r6, r3
- ldrb r0, [r1]
- cmp r0, 0
- beq _08073242
- movs r5, 0
- strb r5, [r1]
- movs r7, 0x8C
- lsls r7, 1
- adds r2, r6, r7
- movs r0, 0x1
- mov r12, r0
- movs r7, 0x10
- movs r3, 0x3
-_08073214:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _0807322C
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0807322C
- movs r0, 0
- strb r0, [r2, 0x4]
- movs r5, 0x1
-_0807322C:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08073214
- cmp r5, 0
- beq _08073242
- ldr r0, _080732EC
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_08073242:
- bl sub_807360C
- bl sub_8044B84
- lsls r0, 24
- cmp r0, 0
- bne _08073264
- bl sub_807348C
- bl sub_80732F0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080732D4
-_08073264:
- mov r1, r10
- cmp r1, 0
- beq _08073270
- adds r0, r4, 0
- bl sub_8075818
-_08073270:
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080732D4
- bl sub_8044B84
- lsls r0, 24
- cmp r0, 0
- bne _0807328A
- bl sub_8046D20
-_0807328A:
- movs r0, 0
- bl sub_8041888
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080732D4
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080732D4
- mov r3, r10
- cmp r3, 0
- bne _080732D4
- adds r1, r4, 0x4
- adds r0, r4, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _080732C8
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_080732C8:
- adds r0, r4, 0
- bl sub_8074094
- adds r0, r4, 0
- bl sub_8071DA4
-_080732D4:
- movs r0, 0
-_080732D6:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080732E8: .4byte 0x0000014b
-_080732EC: .4byte gUnknown_80FD2CC
- thumb_func_end sub_8072CF4
-
- thumb_func_start sub_80732F0
-sub_80732F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r4, 0
-_080732FE:
- movs r5, 0
- ldr r0, _0807335C
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _08073360
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- mov r8, r0
- bl sub_80450E0
- lsls r0, 24
- adds r4, 0x1
- str r4, [sp, 0x10]
- cmp r0, 0
- bne _08073320
- b _08073472
-_08073320:
- mov r0, r8
- ldr r7, [r0, 0x70]
- movs r1, 0xB2
- lsls r1, 1
- adds r4, r7, r1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _08073332
- b _08073472
-_08073332:
- adds r2, r0, 0
- mov r9, r2
- mov r0, r8
- movs r1, 0x1
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- bne _0807336E
- mov r0, r8
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- bne _08073364
- ldrb r0, [r4]
- movs r2, 0xFF
- orrs r0, r2
- strb r0, [r4]
- b _08073472
- .align 2, 0
-_0807335C: .4byte gUnknown_203B418
-_08073360: .4byte 0x000135cc
-_08073364:
- adds r0, r7, 0
- adds r0, 0xEC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08073378
-_0807336E:
- ldrb r0, [r4]
- movs r1, 0xFF
- orrs r0, r1
- strb r0, [r4]
- b _08073472
-_08073378:
- movs r0, 0x4
- bl sub_8084100
- adds r3, r0, 0
- movs r4, 0
-_08073382:
- lsls r0, r3, 3
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r2
- adds r2, r7, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08073448
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- ldr r1, [sp, 0x8]
- lsrs r0, r1, 16
- cmp r0, 0x8A
- beq _08073448
- adds r1, r0, 0
- ldr r0, _08073434
- cmp r1, r0
- beq _08073448
- movs r6, 0
- movs r0, 0x46
- adds r0, r7
- mov r10, r0
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r7, r1
-_080733BC:
- lsls r0, r6, 3
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r2
- adds r5, r7, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080733F4
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _080733DE
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080733F4
-_080733DE:
- ldrh r0, [r4, 0x2]
- cmp r0, 0xE3
- bne _080733F4
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80573CC
- lsls r0, 24
- cmp r0, 0
- bne _08073440
-_080733F4:
- adds r4, 0x8
- adds r6, 0x1
- cmp r6, 0x3
- ble _080733BC
-_080733FC:
- ldr r0, _08073438
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807343C
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
- movs r0, 0x7
- mov r1, r9
- ands r1, r0
- movs r0, 0
- mov r2, r10
- strb r1, [r2]
- str r0, [sp]
- add r0, sp, 0x8
- str r0, [sp, 0x4]
- mov r0, r8
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8055FA0
- movs r5, 0x1
- b _08073456
- .align 2, 0
-_08073434: .4byte 0x00000147
-_08073438: .4byte gUnknown_202DF98
-_0807343C: .4byte gUnknown_80FCF38
-_08073440:
- adds r0, r5, 0x4
- bl sub_80838EC
- b _080733FC
-_08073448:
- adds r3, 0x1
- cmp r3, 0x4
- bne _08073450
- movs r3, 0
-_08073450:
- adds r4, 0x1
- cmp r4, 0x3
- ble _08073382
-_08073456:
- movs r2, 0xB2
- lsls r2, 1
- adds r1, r7, r2
- ldrb r0, [r1]
- movs r2, 0xFF
- orrs r0, r2
- strb r0, [r1]
- cmp r5, 0
- beq _08073472
- mov r0, r8
- movs r1, 0xB8
- lsls r1, 2
- bl sub_80421C0
-_08073472:
- ldr r4, [sp, 0x10]
- cmp r4, 0x13
- bgt _0807347A
- b _080732FE
-_0807347A:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80732F0
-
- thumb_func_start sub_807348C
-sub_807348C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- movs r4, 0
- movs r0, 0xFF
- mov r9, r0
-_0807349E:
- ldr r0, _080734E8
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _080734EC
- adds r0, r2
- adds r0, r1
- ldr r7, [r0]
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- adds r4, 0x1
- str r4, [sp, 0x10]
- cmp r0, 0
- bne _080734BE
- b _080735E6
-_080734BE:
- ldr r6, [r7, 0x70]
- ldr r0, _080734F0
- adds r4, r6, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _080734CC
- b _080735E6
-_080734CC:
- adds r1, r0, 0
- mov r8, r1
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- beq _080734F4
- ldrb r0, [r4]
- mov r2, r9
- orrs r0, r2
- strb r0, [r4]
- b _080735DA
- .align 2, 0
-_080734E8: .4byte gUnknown_203B418
-_080734EC: .4byte 0x000135cc
-_080734F0: .4byte 0x00000165
-_080734F4:
- adds r0, r7, 0
- bl sub_8070B28
- lsls r0, 24
- cmp r0, 0
- bne _08073514
- ldrb r0, [r4]
- mov r1, r9
- orrs r0, r1
- strb r0, [r4]
- movs r2, 0xB2
- lsls r2, 1
- adds r1, r6, r2
- ldrb r0, [r1]
- mov r2, r9
- b _080735E2
-_08073514:
- adds r0, r6, 0
- adds r0, 0xEC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807354A
- ldrb r0, [r4]
- mov r1, r9
- orrs r0, r1
- strb r0, [r4]
- movs r2, 0xB2
- lsls r2, 1
- adds r1, r6, r2
- ldrb r0, [r1]
- mov r2, r9
- b _080735E2
-_08073532:
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- adds r0, r5, 0x4
- bl sub_80838EC
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_806ACE8
- b _0807359C
-_0807354A:
- movs r3, 0
- movs r0, 0x46
- adds r0, r6
- mov r10, r0
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r6, r1
-_08073558:
- lsls r0, r3, 3
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r2
- adds r5, r6, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08073594
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _0807357A
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08073594
-_0807357A:
- ldrh r0, [r4, 0x2]
- cmp r0, 0x19
- bne _08073594
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- str r3, [sp, 0x14]
- bl sub_80573CC
- lsls r0, 24
- ldr r3, [sp, 0x14]
- cmp r0, 0
- bne _08073532
-_08073594:
- adds r4, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08073558
-_0807359C:
- ldr r0, _08073600
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08073604
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- movs r0, 0x7
- mov r1, r8
- ands r1, r0
- movs r0, 0
- mov r2, r10
- strb r1, [r2]
- str r0, [sp]
- add r0, sp, 0x8
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8055FA0
- ldr r2, _08073608
- adds r1, r6, r2
- ldrb r0, [r1]
- mov r2, r9
- orrs r0, r2
- strb r0, [r1]
-_080735DA:
- movs r0, 0xB2
- lsls r0, 1
- adds r1, r6, r0
- ldrb r0, [r1]
-_080735E2:
- orrs r0, r2
- strb r0, [r1]
-_080735E6:
- ldr r4, [sp, 0x10]
- cmp r4, 0x13
- bgt _080735EE
- b _0807349E
-_080735EE:
- 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
-_08073600: .4byte gUnknown_202DF98
-_08073604: .4byte gUnknown_80FCF50
-_08073608: .4byte 0x00000165
- thumb_func_end sub_807348C
-
- thumb_func_start sub_807360C
-sub_807360C:
- push {r4,r5,lr}
- movs r5, 0
-_08073610:
- ldr r0, _08073650
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08073654
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08073644
- ldr r0, [r4, 0x70]
- movs r2, 0xA9
- lsls r2, 1
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08073644
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- adds r1, r4, 0
- bl sub_8077274
-_08073644:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08073610
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08073650: .4byte gUnknown_203B418
-_08073654: .4byte 0x000135cc
- thumb_func_end sub_807360C
-
- thumb_func_start sub_8073658
-sub_8073658:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- mov r8, r0
- ldr r6, [r0, 0x70]
- bl sub_8070C60
- lsls r0, 24
- cmp r0, 0
- beq _080736B8
- adds r1, r6, 0
- adds r1, 0xFC
- movs r0, 0
- strb r0, [r1]
- b _080739C4
-_0807367C:
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x24
- bl sub_8044C94
- adds r0, r6, 0
- adds r0, 0x48
- add r1, sp, 0x54
- ldrb r1, [r1]
- strb r1, [r0]
- mov r2, r8
- ldrh r1, [r2, 0x4]
- adds r0, 0x4
- strh r1, [r0]
- ldrh r0, [r2, 0x6]
- adds r1, r6, 0
- adds r1, 0x4E
- strh r0, [r1]
- ldr r0, _080736B4
- adds r0, r7, r0
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- adds r1, r6, 0
- adds r1, 0x46
- strb r0, [r1]
- b _08073718
- .align 2, 0
-_080736B4: .4byte gUnknown_202F330
-_080736B8:
- adds r0, r6, 0
- adds r0, 0xFC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080736C4
- b _080737DC
-_080736C4:
- adds r7, r6, 0
- adds r7, 0x60
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080736D4
- b _080739C4
-_080736D4:
- movs r3, 0x81
- str r3, [sp, 0x54]
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _0807372C
- mov r0, r8
- movs r1, 0x2
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_80739DC
- movs r5, 0
- ldr r0, _08073724
- ldr r0, [r0]
- cmp r5, r0
- bge _08073718
- ldr r4, _08073728
-_080736FE:
- lsls r7, r5, 2
- ldr r0, [r4]
- bl sub_8084144
- lsls r0, 24
- cmp r0, 0
- bne _0807367C
- adds r4, 0x4
- adds r5, 0x1
- ldr r0, _08073724
- ldr r0, [r0]
- cmp r5, r0
- blt _080736FE
-_08073718:
- ldr r0, _08073724
- ldr r0, [r0]
- cmp r5, r0
- beq _08073722
- b _080739C4
-_08073722:
- b _08073792
- .align 2, 0
-_08073724: .4byte gUnknown_203B440
-_08073728: .4byte gUnknown_202F358
-_0807372C:
- cmp r0, 0x1
- bne _0807377C
- mov r0, r8
- adds r1, r7, 0
- mov r2, sp
- movs r3, 0x1
- bl sub_8073AA0
- ldr r0, _08073778
- ldr r0, [r0]
- cmp r0, 0
- beq _08073792
- bl sub_8084100
- adds r4, r0, 0
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x24
- bl sub_8044C94
- adds r0, r6, 0
- adds r0, 0x48
- add r1, sp, 0x54
- ldrb r1, [r1]
- strb r1, [r0]
- mov r2, r8
- ldrh r1, [r2, 0x4]
- adds r0, 0x4
- strh r1, [r0]
- ldrh r0, [r2, 0x6]
- adds r1, r6, 0
- adds r1, 0x4E
- strh r0, [r1]
- mov r0, r8
- adds r0, 0x4
- lsls r4, 2
- add r4, sp
- b _0807395E
- .align 2, 0
-_08073778: .4byte gUnknown_203B440
-_0807377C:
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08073792
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x23
- bl sub_8044C94
- b _080738CE
-_08073792:
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x39
- bl sub_8044C94
- b _080739C4
-_0807379E:
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x24
- bl sub_8044C94
- adds r0, r6, 0
- adds r0, 0x48
- add r3, sp, 0x54
- ldrb r3, [r3]
- strb r3, [r0]
- mov r0, r8
- ldrh r1, [r0, 0x4]
- adds r0, r6, 0
- adds r0, 0x4C
- strh r1, [r0]
- mov r1, r8
- ldrh r0, [r1, 0x6]
- adds r1, r6, 0
- adds r1, 0x4E
- strh r0, [r1]
- ldr r0, _080737D8
- add r0, r10
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- adds r1, r6, 0
- adds r1, 0x46
- strb r0, [r1]
- b _080739C4
- .align 2, 0
-_080737D8: .4byte gUnknown_202F330
-_080737DC:
- mov r0, r8
- movs r1, 0x16
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _080737EC
- b _080739C4
-_080737EC:
- movs r2, 0x1
- str r2, [sp, 0x50]
-_080737F0:
- ldr r3, [sp, 0x50]
- cmp r3, 0x1
- bne _080737FE
- adds r7, r6, 0
- adds r7, 0x60
- movs r0, 0x81
- b _0807384E
-_080737FE:
- ldr r1, [sp, 0x50]
- cmp r1, 0
- bne _08073832
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- cmp r0, 0
- bne _0807381C
- b _080739B8
-_0807381C:
- bl sub_80450F8
- cmp r0, 0x3
- beq _08073826
- b _080739B8
-_08073826:
- ldr r0, [r4, 0x14]
- bl sub_8045108
- adds r7, r0, 0
- movs r0, 0x80
- b _0807384E
-_08073832:
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _0807383A
- b _080739C4
-_0807383A:
- ldr r1, _080738C0
- ldr r2, [sp, 0x50]
- lsls r0, r2, 2
- subs r0, 0x8
- ldr r1, [r1]
- adds r7, r1, r0
- adds r0, r2, 0
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_0807384E:
- str r0, [sp, 0x54]
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0807385C
- b _080739B8
-_0807385C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08073866
- b _080739B8
-_08073866:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08073870
- b _080739B8
-_08073870:
- ldrb r0, [r7, 0x2]
- movs r1, 0
- bl sub_8090DAC
- lsls r0, 24
- cmp r0, 0
- beq _080738EC
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0x2
- bl sub_8048F28
- adds r5, r0, 0
- cmp r5, 0
- beq _080738EC
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r4, 0x9
- bne _080738A4
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _080738EC
-_080738A4:
- adds r0, r5, 0
- bl sub_8084144
- lsls r0, 24
- cmp r0, 0
- beq _080738EC
- cmp r4, 0x9
- bne _080738C4
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x31
- bl sub_8044C94
- b _080738CE
- .align 2, 0
-_080738C0: .4byte gUnknown_203B460
-_080738C4:
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x23
- bl sub_8044C94
-_080738CE:
- adds r0, r6, 0
- adds r0, 0x48
- add r3, sp, 0x54
- ldrb r3, [r3]
- strb r3, [r0]
- mov r0, r8
- ldrh r1, [r0, 0x4]
- adds r0, r6, 0
- adds r0, 0x4C
- strh r1, [r0]
- mov r2, r8
- ldrh r1, [r2, 0x6]
- adds r0, 0x2
- strh r1, [r0]
- b _080739C4
-_080738EC:
- adds r0, r6, 0
- bl sub_8071A70
- lsls r0, 24
- cmp r0, 0
- beq _080739B8
- movs r3, 0x1
- mov r9, r3
-_080738FC:
- ldrb r0, [r7, 0x2]
- mov r1, r9
- bl sub_8090DAC
- lsls r0, 24
- cmp r0, 0
- beq _080739AE
- ldrb r0, [r7, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08073978
- mov r0, r8
- adds r1, r7, 0
- mov r2, sp
- movs r3, 0
- bl sub_8073AA0
- ldr r1, _08073974
- ldr r0, [r1]
- cmp r0, 0
- beq _080739AE
- bl sub_8084100
- adds r4, r0, 0
- adds r0, r6, 0
- adds r0, 0x44
- movs r1, 0x24
- bl sub_8044C94
- adds r0, r6, 0
- adds r0, 0x48
- add r2, sp, 0x54
- ldrb r2, [r2]
- strb r2, [r0]
- mov r3, r8
- ldrh r1, [r3, 0x4]
- adds r0, 0x4
- strh r1, [r0]
- ldrh r0, [r3, 0x6]
- adds r1, r6, 0
- adds r1, 0x4E
- strh r0, [r1]
- lsls r4, 2
- add r4, sp
- mov r0, r8
- adds r0, 0x4
-_0807395E:
- adds r1, r4, 0
- bl sub_80983D8
- movs r1, 0x7
- ands r0, r1
- adds r1, r6, 0
- adds r1, 0x46
- strb r0, [r1]
- ldr r0, [r4]
- str r0, [r6, 0x58]
- b _080739C4
- .align 2, 0
-_08073974: .4byte gUnknown_203B440
-_08073978:
- mov r0, r8
- mov r1, r9
- adds r2, r7, 0
- movs r3, 0
- bl sub_80739DC
- movs r5, 0
- ldr r1, _080739D4
- ldr r0, [r1]
- cmp r5, r0
- bge _080739AE
- ldr r4, _080739D8
-_08073990:
- lsls r2, r5, 2
- mov r10, r2
- ldr r0, [r4]
- bl sub_8084144
- lsls r0, 24
- cmp r0, 0
- beq _080739A2
- b _0807379E
-_080739A2:
- adds r4, 0x4
- adds r5, 0x1
- ldr r3, _080739D4
- ldr r0, [r3]
- cmp r5, r0
- blt _08073990
-_080739AE:
- movs r0, 0x1
- add r9, r0
- mov r1, r9
- cmp r1, 0x2
- ble _080738FC
-_080739B8:
- ldr r2, [sp, 0x50]
- adds r2, 0x1
- str r2, [sp, 0x50]
- cmp r2, 0x15
- bgt _080739C4
- b _080737F0
-_080739C4:
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080739D4: .4byte gUnknown_203B440
-_080739D8: .4byte gUnknown_202F358
- thumb_func_end sub_8073658
-
- thumb_func_start sub_80739DC
-sub_80739DC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- mov r10, r1
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- ldr r1, _08073A44
- movs r0, 0
- str r0, [r1]
- ldr r1, _08073A48
- movs r2, 0
- adds r0, r1, 0x7
-_08073A00:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08073A00
- movs r7, 0
-_08073A0A:
- ldr r0, _08073A4C
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08073A50
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08073A88
- cmp r5, r4
- beq _08073A88
- mov r0, r10
- cmp r0, 0x1
- bne _08073A54
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _08073A88
- movs r6, 0x3
- b _08073A6A
- .align 2, 0
-_08073A44: .4byte gUnknown_203B440
-_08073A48: .4byte gUnknown_202F350
-_08073A4C: .4byte gUnknown_203B418
-_08073A50: .4byte 0x000135cc
-_08073A54:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08073A88
- movs r6, 0x1
-_08073A6A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _08073A88
- mov r2, r8
- str r2, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r9
- adds r3, r6, 0
- bl sub_8073B78
-_08073A88:
- adds r7, 0x1
- cmp r7, 0x13
- ble _08073A0A
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80739DC
-
- thumb_func_start sub_8073AA0
-sub_8073AA0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- mov r10, r1
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- ldr r1, _08073B6C
- movs r0, 0
- str r0, [r1]
- movs r6, 0
- adds r7, r1, 0
-_08073AC0:
- ldr r0, _08073B70
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08073B74
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08073B56
- cmp r5, r4
- beq _08073B56
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _08073B56
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08073B56
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- subs r2, r1, r0
- cmp r2, 0
- bge _08073B10
- negs r2, r2
-_08073B10:
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- subs r1, r0
- cmp r1, 0
- bge _08073B20
- negs r1, r1
-_08073B20:
- cmp r1, r2
- bge _08073B26
- adds r1, r2, 0
-_08073B26:
- cmp r1, 0xA
- bgt _08073B56
- mov r0, r8
- cmp r0, 0
- bne _08073B44
- adds r0, r4, 0
- mov r1, r10
- movs r2, 0x1
- bl sub_8048F28
- bl sub_8084144
- lsls r0, 24
- cmp r0, 0
- beq _08073B56
-_08073B44:
- ldr r2, [r7]
- lsls r1, r2, 2
- add r1, r9
- ldrh r0, [r4, 0x4]
- strh r0, [r1]
- ldrh r0, [r4, 0x6]
- strh r0, [r1, 0x2]
- adds r2, 0x1
- str r2, [r7]
-_08073B56:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08073AC0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08073B6C: .4byte gUnknown_203B440
-_08073B70: .4byte gUnknown_203B418
-_08073B74: .4byte 0x000135cc
- thumb_func_end sub_8073AA0
-
- thumb_func_start sub_8073B78
-sub_8073B78:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r9, r2
- mov r10, r3
- ldr r0, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- subs r2, r1, r0
- cmp r2, 0
- bge _08073BA2
- negs r2, r2
-_08073BA2:
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- movs r6, 0x6
- ldrsh r0, [r5, r6]
- subs r1, r0
- cmp r1, 0
- bge _08073BB2
- negs r1, r1
-_08073BB2:
- ldr r0, [r4, 0x70]
- adds r0, 0xE0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08073BCA
- adds r0, r1, 0
- cmp r1, r2
- bge _08073BC4
- adds r0, r2, 0
-_08073BC4:
- cmp r0, 0xA
- ble _08073BCA
- b _08073CDC
-_08073BCA:
- movs r6, 0x1
- negs r6, r6
- cmp r2, r1
- bne _08073C14
- movs r7, 0x4
- ldrsh r1, [r4, r7]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- ldrh r2, [r4, 0x4]
- ldrh r3, [r5, 0x4]
- cmp r1, r0
- bge _08073BFA
- movs r6, 0x6
- ldrsh r1, [r4, r6]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- bge _08073BF2
- movs r6, 0x1
- b _08073C7E
-_08073BF2:
- cmp r1, r0
- ble _08073BFA
- movs r6, 0x3
- b _08073C7E
-_08073BFA:
- lsls r1, r2, 16
- lsls r0, r3, 16
- movs r6, 0x7
- cmp r1, r0
- ble _08073C7A
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- cmp r1, r0
- ble _08073C7A
- movs r6, 0x5
- b _08073C7E
-_08073C14:
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- movs r7, 0x4
- ldrsh r0, [r5, r7]
- ldrh r2, [r4, 0x4]
- ldrh r3, [r5, 0x4]
- cmp r1, r0
- bne _08073C34
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- bge _08073C34
- movs r6, 0
- b _08073C7E
-_08073C34:
- lsls r1, r2, 16
- lsls r0, r3, 16
- cmp r1, r0
- bge _08073C4C
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- bne _08073C4C
- movs r6, 0x2
- b _08073C7E
-_08073C4C:
- lsls r1, r2, 16
- lsls r0, r3, 16
- cmp r1, r0
- bne _08073C64
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- ble _08073C64
- movs r6, 0x4
- b _08073C7E
-_08073C64:
- lsls r1, r2, 16
- lsls r0, r3, 16
- cmp r1, r0
- ble _08073C7A
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _08073C7A
- movs r6, 0x6
-_08073C7A:
- cmp r6, 0
- blt _08073CDC
-_08073C7E:
- ldr r0, _08073CC0
- adds r7, r6, r0
- ldrb r0, [r7]
- cmp r0, 0
- bne _08073CDC
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0xA
- bl sub_807C9F8
- lsls r0, 24
- cmp r0, 0
- beq _08073CDC
- movs r0, 0x1
- strb r0, [r7]
- ldr r1, _08073CC4
- ldr r0, _08073CC8
- ldr r0, [r0]
- lsls r0, 2
- adds r1, r0, r1
- str r6, [r1]
- ldr r1, _08073CCC
- adds r4, r0, r1
- mov r3, r8
- cmp r3, 0
- bne _08073CD0
- adds r0, r5, 0
- mov r1, r9
- mov r2, r10
- bl sub_8048F28
- b _08073CD2
- .align 2, 0
-_08073CC0: .4byte gUnknown_202F350
-_08073CC4: .4byte gUnknown_202F330
-_08073CC8: .4byte gUnknown_203B440
-_08073CCC: .4byte gUnknown_202F358
-_08073CD0:
- movs r0, 0x64
-_08073CD2:
- str r0, [r4]
- ldr r1, _08073CEC
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08073CDC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08073CEC: .4byte gUnknown_203B440
- thumb_func_end sub_8073B78
-
- thumb_func_start sub_8073CF0
-sub_8073CF0:
- push {lr}
- bl sub_8067110
- pop {r0}
- bx r0
- thumb_func_end sub_8073CF0
-
- thumb_func_start sub_8073CFC
-sub_8073CFC:
- push {lr}
- bl sub_80671A0
- pop {r0}
- bx r0
- thumb_func_end sub_8073CFC
-
- thumb_func_start sub_8073D08
-sub_8073D08:
- push {lr}
- bl sub_8073D14
- pop {r0}
- bx r0
- thumb_func_end sub_8073D08
-
- thumb_func_start sub_8073D14
-sub_8073D14:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xB0
- adds r6, r0, 0
- ldr r4, [r6, 0x70]
- bl sub_8045128
- ldr r5, [r0, 0x14]
- cmp r5, 0
- bne _08073D30
- b _0807407A
-_08073D30:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08073D3C
- b _0807407A
-_08073D3C:
- ldr r0, _08073D68
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _08073D4E
- b _0807407A
-_08073D4E:
- ldrb r0, [r4, 0x8]
- cmp r0, 0x1
- bne _08073D56
- b _0807407A
-_08073D56:
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _08073D64
- cmp r0, 0x47
- bne _08073D6C
-_08073D64:
- movs r0, 0x1
- b _08073D6E
- .align 2, 0
-_08073D68: .4byte gUnknown_202DF98
-_08073D6C:
- movs r0, 0
-_08073D6E:
- cmp r0, 0
- beq _08073D74
- b _0807407A
-_08073D74:
- adds r0, r4, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08073D80
- b _0807407A
-_08073D80:
- ldr r0, [r6, 0x70]
- mov r10, r0
- adds r0, r5, 0
- bl sub_8045108
- adds r5, r0, 0
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08073D98
- b _0807407A
-_08073D98:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _08073DC8
- ldr r0, _08073DBC
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08073DC0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08073DC4
- b _0807404C
- .align 2, 0
-_08073DBC: .4byte gUnknown_202DE58
-_08073DC0: .4byte gUnknown_202DF98
-_08073DC4: .4byte gUnknown_80F8F88
-_08073DC8:
- mov r1, r10
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _08073E24
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08073E24
- mov r7, r10
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- beq _08073DF4
- ldr r0, _08073DF0
- bl sub_8083E38
- b _08073DFC
- .align 2, 0
-_08073DF0: .4byte 0x0000014b
-_08073DF4:
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8083E38
-_08073DFC:
- adds r0, r5, 0
- bl sub_80915D4
- bl sub_80913A0
- ldr r0, _08073E1C
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r6, 0x4
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _08073E20
- b _0807404C
- .align 2, 0
-_08073E1C: .4byte gUnknown_202DE58
-_08073E20: .4byte gUnknown_80F9054
-_08073E24:
- ldr r0, _08073E64
- ldr r0, [r0]
- ldr r1, _08073E68
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08073E70
- mov r7, r10
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- bne _08073E70
- movs r4, 0
- add r2, sp, 0x54
- adds r7, 0x60
- ldr r0, _08073E6C
- mov r1, sp
- ldr r0, [r0]
- adds r3, r2, 0
-_08073E48:
- stm r3!, {r0}
- stm r1!, {r4}
- adds r0, 0x4
- adds r4, 0x1
- cmp r4, 0x13
- ble _08073E48
- str r7, [r2, 0x50]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x50]
- movs r0, 0x15
- mov r8, r0
- b _08073E80
- .align 2, 0
-_08073E64: .4byte gUnknown_203B418
-_08073E68: .4byte 0x0000065b
-_08073E6C: .4byte gUnknown_203B460
-_08073E70:
- mov r0, r10
- adds r0, 0x60
- str r0, [sp, 0x54]
- movs r0, 0x1
- negs r0, r0
- str r0, [sp]
- movs r1, 0x1
- mov r8, r1
-_08073E80:
- ldrb r0, [r5, 0x2]
- add r7, sp, 0xA8
- strb r0, [r7]
- adds r0, r7, 0
- ldrb r0, [r0]
- cmp r0, 0x8
- bls _08073E90
- b _08073FA8
-_08073E90:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08073E9C
- b _08073FA8
-_08073E9C:
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- mov r7, r12
- str r7, [sp, 0xAC]
- movs r4, 0
- cmp r4, r8
- bge _08073EEC
- ldr r0, _08073F94
- mov r9, r0
- add r3, sp, 0x54
-_08073EB2:
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08073EE4
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08073EE4
- ldr r1, [r5]
- mov r7, r9
- ands r1, r7
- ldr r0, [r2]
- ands r0, r7
- cmp r1, r0
- bne _08073EE4
- ldrb r0, [r2, 0x1]
- cmp r0, 0x63
- beq _08073EE4
- ldr r1, [sp, 0xAC]
- cmp r1, r0
- bge _08073EE4
- str r0, [sp, 0xAC]
- mov r12, r4
-_08073EE4:
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, r8
- blt _08073EB2
-_08073EEC:
- movs r0, 0x1
- negs r0, r0
- cmp r12, r0
- bne _08073F40
- mov r7, r12
- str r7, [sp, 0xAC]
- movs r4, 0
- cmp r4, r8
- bge _08073F38
- add r0, sp, 0xA8
- ldrb r0, [r0]
- mov r9, r0
- add r3, sp, 0x54
-_08073F06:
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08073F30
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08073F30
- ldrb r1, [r2, 0x2]
- cmp r9, r1
- bne _08073F30
- ldrb r0, [r2, 0x1]
- cmp r0, 0x63
- beq _08073F30
- ldr r7, [sp, 0xAC]
- cmp r7, r0
- bge _08073F30
- str r0, [sp, 0xAC]
- mov r12, r4
-_08073F30:
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, r8
- blt _08073F06
-_08073F38:
- movs r0, 0x1
- negs r0, r0
- cmp r12, r0
- beq _08073FA8
-_08073F40:
- add r0, sp, 0x54
- mov r1, r12
- lsls r4, r1, 2
- adds r3, r0, r4
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r5, 0x1]
- adds r1, r0
- cmp r1, 0x62
- ble _08073F56
- movs r1, 0x63
-_08073F56:
- strb r1, [r2, 0x1]
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08073F6C
- ldr r0, [r3]
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_08073F6C:
- ldr r0, _08073F98
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r6, 0x4
- movs r1, 0x1
- bl sub_80461C8
- movs r0, 0xA5
- lsls r0, 1
- bl sub_8083E38
- mov r7, sp
- adds r0, r7, r4
- ldr r0, [r0]
- cmp r0, 0
- bge _08073FA0
- ldr r0, _08073F9C
- b _0807404C
- .align 2, 0
-_08073F94: .4byte 0x00ff0008
-_08073F98: .4byte gUnknown_202DE58
-_08073F9C: .4byte gUnknown_80F9018
-_08073FA0:
- ldr r0, _08073FA4
- b _0807404C
- .align 2, 0
-_08073FA4: .4byte gUnknown_80F9050
-_08073FA8:
- movs r4, 0
- cmp r4, r8
- bge _08073FD2
- ldr r0, [sp, 0x54]
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08073FD2
- movs r3, 0x1
- add r2, sp, 0x54
-_08073FBE:
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, r8
- bge _08073FD2
- ldr r0, [r2]
- ldrb r1, [r0]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _08073FBE
-_08073FD2:
- cmp r4, r8
- bne _08073FEC
- ldr r0, _08073FE4
- adds r1, r5, 0
- bl sub_8045BF8
- ldr r0, _08073FE8
- b _0807404C
- .align 2, 0
-_08073FE4: .4byte gUnknown_202DE58
-_08073FE8: .4byte gUnknown_80F8F54
-_08073FEC:
- mov r1, r10
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _08074000
- ldr r0, _08073FFC
- bl sub_8083E38
- b _08074008
- .align 2, 0
-_08073FFC: .4byte 0x0000014b
-_08074000:
- movs r0, 0xA5
- lsls r0, 1
- bl sub_8083E38
-_08074008:
- lsls r0, r4, 2
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bge _08074034
- ldr r0, [r5]
- mov r7, r10
- str r0, [r7, 0x60]
- ldr r0, _0807402C
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r6, 0x4
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _08074030
- b _0807404C
- .align 2, 0
-_0807402C: .4byte gUnknown_202DE58
-_08074030: .4byte gUnknown_80F9018
-_08074034:
- adds r0, r5, 0
- bl sub_8091290
- lsls r0, 24
- cmp r0, 0
- beq _08074060
- ldr r0, _08074058
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807405C
-_0807404C:
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_805239C
- b _0807407A
- .align 2, 0
-_08074058: .4byte gUnknown_202DF98
-_0807405C: .4byte gUnknown_80F8FAC
-_08074060:
- ldr r0, _0807408C
- adds r1, r5, 0
- bl sub_8045BF8
- adds r0, r6, 0x4
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, _08074090
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_805239C
-_0807407A:
- add sp, 0xB0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807408C: .4byte gUnknown_202DE58
-_08074090: .4byte gUnknown_80F9050
- thumb_func_end sub_8073D14
-
- thumb_func_start sub_8074094
-sub_8074094:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r5, r0, 0
- cmp r5, 0
- bne _080740AA
- bl _08074B2E
-_080740AA:
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080740B8
- bl _08074B2E
-_080740B8:
- bl sub_8044B28
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080740C8
- bl _08074B2E
-_080740C8:
- ldr r0, [r5, 0x70]
- mov r8, r0
- movs r0, 0xA3
- lsls r0, 1
- add r0, r8
- strb r6, [r0]
- bl sub_805229C
- adds r0, r5, 0
- bl sub_807E8F0
- adds r0, r5, 0
- movs r1, 0x16
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08074170
- ldr r4, _0807434C
- add r4, r8
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _08074102
- movs r0, 0x13
- strb r0, [r4]
-_08074102:
- movs r0, 0x64
- bl sub_8084100
- ldr r2, _08074350
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _08074170
- strb r6, [r4]
- adds r0, r5, 0
- bl sub_80444F4
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074136
- bl _08074B2E
-_08074136:
- bl sub_8044B28
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08074146
- bl _08074B2E
-_08074146:
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
- mov r3, r8
- ldrb r0, [r3, 0x7]
- cmp r0, 0
- bne _0807415C
- b _080743B0
-_0807415C:
- ldr r1, _08074354
- ldr r0, [r1]
- strb r4, [r0, 0x1]
- ldr r0, [r1]
- movs r4, 0xB8
- lsls r4, 3
- adds r0, r4
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_08074170:
- mov r1, r8
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _0807417A
- b _080743B0
-_0807417A:
- movs r2, 0
- mov r9, r2
- movs r4, 0xA
- adds r0, r5, 0
- movs r1, 0x17
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08074190
- movs r4, 0
-_08074190:
- adds r0, r5, 0
- movs r1, 0x1F
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080741A0
- subs r4, 0x1
-_080741A0:
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _080741B0
- subs r4, 0x1
-_080741B0:
- adds r0, r5, 0
- movs r1, 0x1B
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080741C0
- adds r4, 0x1
-_080741C0:
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080741D0
- adds r4, 0x1
-_080741D0:
- adds r0, r5, 0
- movs r1, 0x2B
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _080741E0
- adds r4, 0x1
-_080741E0:
- cmp r4, 0
- bge _080741E6
- movs r4, 0
-_080741E6:
- cmp r4, 0x13
- ble _080741EC
- movs r4, 0x13
-_080741EC:
- mov r3, r9
- str r3, [sp, 0x8]
- ldr r0, _08074358
- str r0, [sp, 0xC]
- add r6, sp, 0x10
- lsls r2, r4, 3
- ldr r0, _0807435C
- adds r2, r0
- adds r0, r6, 0
- add r1, sp, 0x8
- bl sub_800A34C
- ldr r2, _08074360
- add r2, r8
- ldrb r0, [r2]
- cmp r0, 0x1
- bls _0807421E
- ldr r1, _08074364
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 16
- ldr r0, [r6, 0x4]
- adds r0, r1
- str r0, [r6, 0x4]
-_0807421E:
- mov r4, r9
- strb r4, [r2]
- movs r4, 0x9E
- lsls r4, 1
- add r4, r8
- ldr r7, [r4]
- add r0, sp, 0x18
- adds r1, r6, 0
- bl sub_80943A8
- ldr r2, [sp, 0x18]
- add r0, sp, 0x1C
- adds r1, r7, 0
- bl sub_80942C0
- ldr r0, [sp, 0x1C]
- str r0, [r4]
- movs r6, 0x1
- adds r0, r7, 0
- bl sub_8094450
- cmp r0, 0x13
- ble _0807425C
- ldr r0, [r4]
- bl sub_8094450
- cmp r0, 0x13
- bgt _0807425C
- ldr r0, _08074368
- ldr r0, [r0]
- mov r9, r0
-_0807425C:
- adds r0, r7, 0
- bl sub_8094450
- cmp r0, 0x9
- ble _0807427C
- movs r0, 0x9E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- bl sub_8094450
- cmp r0, 0x9
- bgt _0807427C
- ldr r0, _0807436C
- ldr r0, [r0]
- mov r9, r0
-_0807427C:
- movs r4, 0x9E
- lsls r4, 1
- add r4, r8
- ldr r0, [r4]
- bl sub_8094450
- cmp r0, 0
- bne _08074298
- add r0, sp, 0x20
- movs r1, 0
- bl sub_80943A0
- ldr r0, [sp, 0x20]
- str r0, [r4]
-_08074298:
- ldr r0, [r4]
- bl sub_8094450
- cmp r0, 0
- bge _080742AE
- add r0, sp, 0x24
- movs r1, 0
- bl sub_80943A0
- ldr r0, [sp, 0x24]
- str r0, [r4]
-_080742AE:
- ldr r0, [r4]
- bl sub_8094450
- cmp r0, 0
- bne _08074384
- bl sub_805E804
- adds r0, r5, 0
- bl sub_80444F4
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080742D8
- bl _08074B2E
-_080742D8:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080742E6
- bl _08074B2E
-_080742E6:
- ldr r3, _08074354
- ldr r0, [r3]
- ldr r2, _08074370
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x9
- bhi _080742F8
- adds r0, 0x1
- strb r0, [r1]
-_080742F8:
- ldr r0, [r3]
- adds r0, r2
- ldrb r2, [r0]
- cmp r2, 0x1
- bne _08074308
- ldr r0, _08074374
- ldr r0, [r0]
- mov r9, r0
-_08074308:
- cmp r2, 0x2
- bne _08074314
- ldr r0, _08074378
- ldr r0, [r0]
- mov r9, r0
- movs r6, 0
-_08074314:
- cmp r2, 0x3
- bne _08074320
- ldr r0, _0807437C
- ldr r0, [r0]
- mov r9, r0
- movs r6, 0
-_08074320:
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- ldr r3, _08074380
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0xE
- bl sub_806F324
- movs r1, 0xA3
- lsls r1, 1
- add r1, r8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r4]
- bl sub_8094450
- cmp r0, 0
- beq _08074390
- b _080743B0
- .align 2, 0
-_0807434C: .4byte 0x00000169
-_08074350: .4byte gUnknown_80F5594
-_08074354: .4byte gUnknown_203B418
-_08074358: .4byte 0x0000199a
-_0807435C: .4byte gUnknown_80F54F4
-_08074360: .4byte 0x00000153
-_08074364: .4byte gUnknown_80F60DC
-_08074368: .4byte gUnknown_80FD594
-_0807436C: .4byte gUnknown_80FD5B8
-_08074370: .4byte 0x00000679
-_08074374: .4byte gUnknown_80FD5DC
-_08074378: .4byte gUnknown_80FD608
-_0807437C: .4byte gUnknown_80FD628
-_08074380: .4byte 0x00000211
-_08074384:
- ldr r0, _08074408
- ldr r0, [r0]
- ldr r1, _0807440C
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_08074390:
- mov r2, r9
- cmp r2, 0
- beq _080743B0
- cmp r6, 0
- beq _080743A0
- ldr r0, _08074410
- bl sub_8083E38
-_080743A0:
- adds r0, r5, 0
- mov r1, r9
- bl sub_80522A8
- movs r0, 0x1E
- movs r1, 0x32
- bl sub_803E708
-_080743B0:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080743BE
- b _08074B2E
-_080743BE:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080743CA
- b _08074B2E
-_080743CA:
- ldr r0, _08074408
- ldr r0, [r0]
- ldr r3, _08074414
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _08074480
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _0807441C
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _08074466
- ldr r0, _08074418
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r3, 0x88
- lsls r3, 2
- adds r0, r5, 0
- movs r2, 0x12
- bl sub_806F324
- b _08074466
- .align 2, 0
-_08074408: .4byte gUnknown_203B418
-_0807440C: .4byte 0x00000679
-_08074410: .4byte 0x00000153
-_08074414: .4byte 0x0000e266
-_08074418: .4byte gUnknown_80F4F8E
-_0807441C:
- adds r0, r5, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08074466
- adds r0, r5, 0
- movs r1, 0x9
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _08074466
- adds r0, r5, 0
- movs r1, 0xD
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _08074466
- adds r0, r5, 0
- movs r1, 0x11
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _08074466
- ldr r0, _08074608
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r3, 0x88
- lsls r3, 2
- adds r0, r5, 0
- movs r2, 0x12
- bl sub_806F324
-_08074466:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074474
- b _08074B2E
-_08074474:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074480
- b _08074B2E
-_08074480:
- movs r0, 0x64
- bl sub_8084100
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x21
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080744D8
- ldr r0, _0807460C
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r4, r0
- bge _080744D8
- adds r0, r5, 0
- bl sub_8070A58
- lsls r0, 24
- cmp r0, 0
- beq _080744D8
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080744C0
- b _08074B2E
-_080744C0:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080744CC
- b _08074B2E
-_080744CC:
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8079F20
-_080744D8:
- adds r0, r5, 0
- movs r1, 0xB
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807450C
- ldr r2, _08074610
- add r2, r8
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- ldrb r1, [r2]
- ldr r0, _08074614
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- blt _0807450C
- movs r0, 0
- strb r0, [r2]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x7F
- movs r3, 0
- bl sub_8077910
-_0807450C:
- mov r0, r8
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0807453C
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807452A
- b _08074B2E
-_0807452A:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074536
- b _08074B2E
-_08074536:
- adds r0, r5, 0
- bl sub_80420B8
-_0807453C:
- mov r0, r8
- adds r0, 0xAC
- ldrb r1, [r0]
- adds r6, r0, 0
- cmp r1, 0x1
- bne _080745B6
- mov r4, r8
- adds r4, 0xAE
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807455C
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- bne _0807459C
-_0807455C:
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074570
- b _08074B2E
-_08074570:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0807457C
- b _08074B2E
-_0807457C:
- ldr r0, _08074618
- ldrh r0, [r0]
- strb r0, [r4]
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- ldr r0, _0807461C
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r3, 0x82
- lsls r3, 2
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_806F324
-_0807459C:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080745AA
- b _08074B2E
-_080745AA:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080745B6
- b _08074B2E
-_080745B6:
- ldrb r0, [r6]
- cmp r0, 0x2
- bne _08074628
- mov r4, r8
- adds r4, 0xAE
- ldrb r0, [r4]
- cmp r0, 0
- beq _080745D0
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- bne _08074696
-_080745D0:
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080745E4
- b _08074B2E
-_080745E4:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080745F0
- b _08074B2E
-_080745F0:
- ldr r0, _08074620
- ldrh r0, [r0]
- strb r0, [r4]
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- ldr r0, _08074624
- movs r3, 0
- ldrsh r1, [r0, r3]
- b _0807468C
- .align 2, 0
-_08074608: .4byte gUnknown_80F4F8E
-_0807460C: .4byte gUnknown_80F4E0C
-_08074610: .4byte 0x00000113
-_08074614: .4byte gUnknown_80F4F30
-_08074618: .4byte gUnknown_80F4F32
-_0807461C: .4byte gUnknown_80F4F70
-_08074620: .4byte gUnknown_80F4F34
-_08074624: .4byte gUnknown_80F4F72
-_08074628:
- cmp r0, 0x3
- bne _080746B0
- mov r2, r8
- adds r2, 0xAE
- ldrb r0, [r2]
- cmp r0, 0
- beq _08074640
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- cmp r0, 0
- bne _08074696
-_08074640:
- mov r1, r8
- adds r1, 0xAF
- ldrb r4, [r1]
- cmp r4, 0x1C
- bhi _0807464E
- adds r0, r4, 0x1
- strb r0, [r1]
-_0807464E:
- ldr r0, _08074718
- ldrh r0, [r0]
- strb r0, [r2]
- cmp r4, 0x1C
- ble _0807465A
- movs r4, 0x1D
-_0807465A:
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807466E
- b _08074B2E
-_0807466E:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0807467A
- b _08074B2E
-_0807467A:
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- ldr r1, _0807471C
- lsls r0, r4, 1
- adds r0, r1
- movs r4, 0
- ldrsh r1, [r0, r4]
-_0807468C:
- ldr r3, _08074720
- adds r0, r5, 0
- movs r2, 0x3
- bl sub_806F324
-_08074696:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080746A4
- b _08074B2E
-_080746A4:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080746B0
- b _08074B2E
-_080746B0:
- mov r0, r8
- adds r0, 0xB0
- ldrb r1, [r0]
- mov r10, r0
- cmp r1, 0x7
- bne _08074730
- mov r4, r8
- adds r4, 0xB9
- ldrb r0, [r4]
- cmp r0, 0
- beq _080746D0
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- bne _08074786
-_080746D0:
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080746E4
- b _08074B2E
-_080746E4:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080746F0
- b _08074B2E
-_080746F0:
- ldr r0, _08074724
- ldrh r0, [r0]
- strb r0, [r4]
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- mov r0, r8
- adds r0, 0xB4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_8041C4C
- ldr r0, _08074728
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, _0807472C
- adds r0, r5, 0
- movs r2, 0x2
- b _08074782
- .align 2, 0
-_08074718: .4byte gUnknown_80F4F36
-_0807471C: .4byte gUnknown_80F4FC8
-_08074720: .4byte 0x0000020a
-_08074724: .4byte gUnknown_80F4F38
-_08074728: .4byte gUnknown_80F4F74
-_0807472C: .4byte 0x00000209
-_08074730:
- cmp r1, 0x4
- bne _080747B0
- mov r4, r8
- adds r4, 0xB9
- ldrb r0, [r4]
- cmp r0, 0
- beq _08074748
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- bne _08074786
-_08074748:
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807475C
- b _08074B2E
-_0807475C:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074768
- b _08074B2E
-_08074768:
- ldr r0, _080747A4
- ldrh r0, [r0]
- strb r0, [r4]
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- ldr r0, _080747A8
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, _080747AC
- adds r0, r5, 0
- movs r2, 0x5
-_08074782:
- bl sub_806F324
-_08074786:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074794
- b _08074B2E
-_08074794:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080747A0
- b _08074B2E
-_080747A0:
- b _08074802
- .align 2, 0
-_080747A4: .4byte gUnknown_80F4F3A
-_080747A8: .4byte gUnknown_80F4F76
-_080747AC: .4byte 0x0000020b
-_080747B0:
- cmp r1, 0x5
- bne _08074802
- mov r4, r8
- adds r4, 0xB9
- ldrb r0, [r4]
- cmp r0, 0
- beq _080747C8
- subs r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- bne _08074802
-_080747C8:
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080747DC
- b _08074B2E
-_080747DC:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080747E8
- b _08074B2E
-_080747E8:
- ldr r0, _080748D4
- ldrh r0, [r0]
- strb r0, [r4]
- ldr r0, _080748D8
- movs r4, 0
- ldrsh r2, [r0, r4]
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r3, 0
- bl sub_8077C44
-_08074802:
- mov r0, r8
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807488A
- mov r2, r8
- adds r2, 0xCC
- ldrb r0, [r2]
- cmp r0, 0
- beq _08074820
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- cmp r0, 0
- bne _08074870
-_08074820:
- mov r0, r8
- movs r3, 0x10
- ldrsh r1, [r0, r3]
- cmp r1, 0
- bge _0807482C
- adds r1, 0x3
-_0807482C:
- asrs r4, r1, 2
- cmp r4, 0
- bne _08074834
- movs r4, 0x1
-_08074834:
- ldr r0, _080748DC
- ldrh r0, [r0]
- strb r0, [r2]
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807484E
- b _08074B2E
-_0807484E:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0807485A
- b _08074B2E
-_0807485A:
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- movs r3, 0x83
- lsls r3, 2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_806F324
-_08074870:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807487E
- b _08074B2E
-_0807487E:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0807488A
- b _08074B2E
-_0807488A:
- mov r3, r8
- adds r3, 0xD0
- ldrb r4, [r3]
- mov r9, r4
- cmp r4, 0x1
- beq _08074898
- b _080749AE
-_08074898:
- mov r2, r8
- adds r2, 0xDA
- ldrb r0, [r2]
- cmp r0, 0
- beq _080748AC
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- cmp r0, 0
- bne _08074994
-_080748AC:
- ldr r0, _080748E0
- movs r1, 0
- ldrsh r6, [r0, r1]
- ldr r0, _080748E4
- ldr r1, [r0]
- mov r0, r8
- adds r0, 0xD8
- ldrb r0, [r0]
- lsls r0, 2
- ldr r4, _080748E8
- adds r1, r4
- adds r1, r0
- ldr r4, [r1]
- ldr r0, _080748EC
- ldrh r0, [r0]
- strb r0, [r2]
- cmp r4, 0
- bne _080748F0
- strb r4, [r3]
- b _08074994
- .align 2, 0
-_080748D4: .4byte gUnknown_80F4F3C
-_080748D8: .4byte gUnknown_80F4FB2
-_080748DC: .4byte gUnknown_80F4F3E
-_080748E0: .4byte gUnknown_80F4FB4
-_080748E4: .4byte gUnknown_203B418
-_080748E8: .4byte 0x000135cc
-_080748EC: .4byte gUnknown_80F4F40
-_080748F0:
- ldr r0, [r4, 0x70]
- adds r0, 0x98
- mov r1, r8
- adds r1, 0xD4
- ldr r2, [r0]
- ldr r0, [r1]
- cmp r2, r0
- beq _08074906
- movs r0, 0
- strb r0, [r3]
- b _08074994
-_08074906:
- adds r0, r5, 0
- movs r1, 0x3A
- bl sub_8071824
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- bl sub_80444F4
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807492C
- b _08074B2E
-_0807492C:
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807493A
- b _08074B2E
-_0807493A:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074946
- b _08074B2E
-_08074946:
- mov r1, r10
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08074994
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- ldr r3, _08074980
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x9
- bl sub_806F324
- cmp r7, 0
- beq _08074984
- adds r0, r4, 0
- adds r1, r4, 0
- bl sub_807A96C
- movs r3, 0xFD
- lsls r3, 1
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xD
- bl sub_806F324
- b _08074994
- .align 2, 0
-_08074980: .4byte 0x0000020d
-_08074984:
- mov r2, r9
- str r2, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r6, 0
- movs r3, 0
- bl sub_8077C44
-_08074994:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080749A2
- b _08074B2E
-_080749A2:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080749AE
- b _08074B2E
-_080749AE:
- mov r4, r8
- adds r4, 0xFD
- ldrb r0, [r4]
- cmp r0, 0
- beq _08074A46
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074A46
- movs r0, 0
- bl sub_807520C
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080749D8
- b _08074B2E
-_080749D8:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _080749E4
- b _08074B2E
-_080749E4:
- ldr r0, _08074A18
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08074A1C
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- mov r0, r8
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08074A24
- ldr r0, _08074A20
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _08074A30
- .align 2, 0
-_08074A18: .4byte gUnknown_202DFE8
-_08074A1C: .4byte gUnknown_80FEB30
-_08074A20: .4byte gUnknown_810075C
-_08074A24:
- ldr r1, _08074B40
- ldr r3, _08074B44
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_806F324
-_08074A30:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08074B2E
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08074B2E
-_08074A46:
- mov r0, r8
- adds r0, 0xC0
- ldrb r1, [r0]
- adds r7, r0, 0
- cmp r1, 0x1
- bne _08074AD4
- mov r4, r8
- adds r4, 0xC1
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074AD4
- strb r0, [r7]
- adds r0, r5, 0
- movs r1, 0
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- bne _08074AD4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- bne _08074AD4
- adds r0, r5, 0
- bl sub_8070CD0
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08074AD4
- movs r0, 0
- bl sub_807520C
- add r4, sp, 0x28
- ldr r1, _08074B48
- adds r0, r4, 0
- bl sub_8092A88
- ldrb r0, [r4]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4]
- str r6, [sp]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8055FA0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08074B2E
- bl sub_8044B28
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08074B2E
- mov r0, r8
- adds r0, 0xA0
- str r1, [r0]
-_08074AD4:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08074B2E
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08074B2E
- ldrb r0, [r7]
- cmp r0, 0xC
- bne _08074B1E
- mov r4, r8
- adds r4, 0xC1
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074B1E
- strb r0, [r7]
- movs r1, 0xA5
- lsls r1, 1
- add r1, r8
- strb r0, [r1]
- ldr r0, _08074B4C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08074B50
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_08074B1E:
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08074B2E
- bl sub_8044B28
-_08074B2E:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08074B40: .4byte 0x0000270f
-_08074B44: .4byte 0x0000020e
-_08074B48: .4byte 0x00000165
-_08074B4C: .4byte gUnknown_202DF98
-_08074B50: .4byte gUnknown_80FABD8
- thumb_func_end sub_8074094
-
- thumb_func_start sub_8074B54
-sub_8074B54:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- cmp r7, 0
- bne _08074B62
- b _08074F96
-_08074B62:
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074B6E
- b _08074F96
-_08074B6E:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074B7A
- b _08074F96
-_08074B7A:
- bl sub_805229C
- ldr r6, [r7, 0x70]
- movs r1, 0xA3
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08074C48
- adds r0, r6, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08074C48
- cmp r0, 0x3
- beq _08074C48
- movs r4, 0
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _08074BAE
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- bl sub_808DB2C
- lsls r0, 24
- lsrs r4, r0, 24
-_08074BAE:
- cmp r4, 0
- beq _08074C48
- adds r0, r7, 0
- movs r1, 0xA
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08074BC8
- ldr r0, _08074EF8
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r4, r0
-_08074BC8:
- adds r0, r6, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _08074BDA
- ldr r0, _08074EFC
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r4, r0
-_08074BDA:
- adds r0, r7, 0
- movs r1, 0x3
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08074BFE
- adds r0, r7, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _08074BFE
- ldr r0, _08074F00
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r4, r0
-_08074BFE:
- movs r0, 0xFA
- lsls r0, 1
- cmp r4, r0
- ble _08074C08
- adds r4, r0, 0
-_08074C08:
- cmp r4, 0x1D
- bgt _08074C0E
- movs r4, 0x1E
-_08074C0E:
- movs r3, 0xFC
- lsls r3, 1
- adds r1, r6, r3
- ldrh r0, [r6, 0x10]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r4
- blt _08074C38
-_08074C24:
- ldrh r0, [r6, 0xE]
- adds r0, 0x1
- strh r0, [r6, 0xE]
- ldrh r0, [r1]
- subs r0, r4
- strh r0, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r4
- bge _08074C24
-_08074C38:
- movs r3, 0xE
- ldrsh r1, [r6, r3]
- ldrh r2, [r6, 0x10]
- movs r3, 0x10
- ldrsh r0, [r6, r3]
- cmp r1, r0
- blt _08074C48
- strh r2, [r6, 0xE]
-_08074C48:
- adds r0, r6, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074C6E
- adds r4, r6, 0
- adds r4, 0xA9
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074C6E
- adds r0, r7, 0
- adds r1, r7, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_807A124
-_08074C6E:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074C7C
- b _08074F96
-_08074C7C:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074C88
- b _08074F96
-_08074C88:
- adds r0, r6, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074CAA
- adds r4, r6, 0
- adds r4, 0xAD
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074CAA
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A290
-_08074CAA:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074CB8
- b _08074F96
-_08074CB8:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074CC4
- b _08074F96
-_08074CC4:
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074CE6
- adds r4, r6, 0
- adds r4, 0xB8
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074CE6
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A324
-_08074CE6:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074CF4
- b _08074F96
-_08074CF4:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074D00
- b _08074F96
-_08074D00:
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074D22
- adds r4, r6, 0
- adds r4, 0xBD
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074D22
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A400
-_08074D22:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074D30
- b _08074F96
-_08074D30:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074D3C
- b _08074F96
-_08074D3C:
- adds r0, r6, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074D5E
- adds r4, r6, 0
- adds r4, 0xC5
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074D5E
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A4C8
-_08074D5E:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074D6C
- b _08074F96
-_08074D6C:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074D78
- b _08074F96
-_08074D78:
- adds r0, r6, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074D9C
- adds r4, r6, 0
- adds r4, 0xCB
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074D9C
- adds r0, r7, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_807A5D0
-_08074D9C:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074DAA
- b _08074F96
-_08074DAA:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074DB6
- b _08074F96
-_08074DB6:
- adds r0, r6, 0
- adds r0, 0xD0
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074DD8
- adds r4, r6, 0
- adds r4, 0xD9
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074DD8
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A6C8
-_08074DD8:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074DE6
- b _08074F96
-_08074DE6:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074DF2
- b _08074F96
-_08074DF2:
- adds r0, r6, 0
- adds r0, 0xDC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074E14
- adds r4, r6, 0
- adds r4, 0xDD
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074E14
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A734
-_08074E14:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074E22
- b _08074F96
-_08074E22:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074E2E
- b _08074F96
-_08074E2E:
- adds r0, r6, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074E50
- adds r4, r6, 0
- adds r4, 0xE5
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074E50
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A7C8
-_08074E50:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074E5E
- b _08074F96
-_08074E5E:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _08074E6A
- b _08074F96
-_08074E6A:
- adds r0, r6, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074E8C
- adds r4, r6, 0
- adds r4, 0xE9
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074E8C
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A888
-_08074E8C:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08074E9A
- b _08074F96
-_08074E9A:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08074F96
- adds r0, r6, 0
- adds r0, 0xEC
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074EC6
- adds r4, r6, 0
- adds r4, 0xED
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074EC6
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A924
-_08074EC6:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08074F96
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08074F96
- adds r4, r6, 0
- adds r4, 0xFA
- ldrb r0, [r4]
- cmp r0, 0
- beq _08074F18
- adds r0, r4, 0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074F18
- ldr r0, _08074F04
- adds r1, r7, 0
- b _08074F08
- .align 2, 0
-_08074EF8: .4byte gUnknown_80F4FC4
-_08074EFC: .4byte gUnknown_80F4FC0
-_08074F00: .4byte gUnknown_80F4FC2
-_08074F04: .4byte gUnknown_202DF98
-_08074F08:
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08074FA0
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_08074F18:
- movs r0, 0
- mov r8, r0
- movs r5, 0
-_08074F1E:
- ldr r1, _08074FA4
- adds r0, r6, r1
- adds r4, r0, r5
- ldrb r0, [r4]
- cmp r0, 0
- beq _08074F3C
- adds r0, r5, r1
- adds r0, r6, r0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074F3C
- movs r2, 0x1
- mov r8, r2
-_08074F3C:
- movs r3, 0x84
- lsls r3, 1
- adds r0, r6, r3
- adds r4, r0, r5
- ldrb r0, [r4]
- cmp r0, 0
- beq _08074F5C
- adds r0, r5, r3
- adds r0, r6, r0
- bl sub_80838EC
- ldrb r0, [r4]
- cmp r0, 0
- bne _08074F5C
- movs r0, 0x1
- mov r8, r0
-_08074F5C:
- adds r5, 0x1
- cmp r5, 0x4
- ble _08074F1E
- mov r1, r8
- cmp r1, 0
- beq _08074F96
- ldr r0, [r7, 0x70]
- movs r2, 0x82
- lsls r2, 1
- adds r0, r2
- ldr r4, [r0]
- adds r0, r7, 0
- bl sub_8070774
- adds r5, r0, 0
- cmp r4, r5
- beq _08074F96
- ldr r0, _08074FA8
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r1, _08074FAC
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_08074F96:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08074FA0: .4byte gUnknown_8100740
-_08074FA4: .4byte 0x0000010d
-_08074FA8: .4byte gUnknown_202DF98
-_08074FAC: .4byte gUnknown_80FA124
- thumb_func_end sub_8074B54
-
- thumb_func_start sub_8074FB0
-sub_8074FB0:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- ldr r4, [r3, 0x70]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x3
- ble _08074FD0
- adds r1, r4, 0
- adds r1, 0x44
- movs r0, 0
- strh r0, [r1]
- b _08075040
-_08074FD0:
- ldr r0, _08074FE0
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08074FE8
- ldr r1, _08074FE4
- movs r0, 0x2
- b _08074FEC
- .align 2, 0
-_08074FE0: .4byte gUnknown_203B46C
-_08074FE4: .4byte gUnknown_202F378
-_08074FE8:
- ldr r1, _08075048
- movs r0, 0x1
-_08074FEC:
- str r0, [r1]
- adds r6, r1, 0
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- movs r0, 0xC2
- lsls r0, 1
- adds r1, r0
- adds r1, r4, r1
- movs r0, 0
- strb r0, [r1, 0x1A]
- str r5, [r1, 0xC]
- ldrh r0, [r3, 0x4]
- strh r0, [r1]
- ldrh r0, [r3, 0x6]
- strh r0, [r1, 0x2]
- movs r3, 0
- ldrsh r0, [r2, r3]
- str r0, [r1, 0x4]
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- str r0, [r1, 0x8]
- ldr r0, _0807504C
- lsls r2, r5, 2
- adds r2, r0
- movs r5, 0
- ldrsh r0, [r2, r5]
- ldr r3, [r6]
- muls r0, r3
- str r0, [r1, 0x10]
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- muls r0, r3
- str r0, [r1, 0x14]
- adds r0, r4, 0
- bl sub_8075050
-_08075040:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08075048: .4byte gUnknown_202F378
-_0807504C: .4byte gUnknown_80F4D44
- thumb_func_end sub_8074FB0
-
- thumb_func_start sub_8075050
-sub_8075050:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- adds r6, r1, 0
- ldr r0, _08075070
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08075078
- ldr r1, _08075074
- movs r0, 0x2
- b _0807507C
- .align 2, 0
-_08075070: .4byte gUnknown_203B46C
-_08075074: .4byte gUnknown_202F378
-_08075078:
- ldr r1, _080750D0
- movs r0, 0x1
-_0807507C:
- str r0, [r1]
- movs r1, 0xFA
- lsls r1, 1
- add r1, r9
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080750D4
- ldr r0, _080750D0
- ldr r1, [r0]
- lsls r1, 1
- movs r0, 0x18
- bl __divsi3
- movs r1, 0xCE
- lsls r1, 1
- add r1, r9
- strh r0, [r1]
- movs r2, 0xCA
- lsls r2, 1
- add r2, r9
- ldr r1, [r2]
- lsls r1, 1
- str r1, [r2]
- movs r2, 0xCC
- lsls r2, 1
- add r2, r9
- ldr r1, [r2]
- lsls r1, 1
- str r1, [r2]
- strh r0, [r6, 0x18]
- ldr r0, [r6, 0x10]
- lsls r0, 1
- str r0, [r6, 0x10]
- ldr r0, [r6, 0x14]
- lsls r0, 1
- str r0, [r6, 0x14]
- b _080751F8
- .align 2, 0
-_080750D0: .4byte gUnknown_202F378
-_080750D4:
- cmp r0, 0x3
- bne _08075160
- ldr r1, [r6, 0x10]
- str r1, [sp]
- ldr r0, [r6, 0x14]
- str r0, [sp, 0x4]
- movs r4, 0xCE
- lsls r4, 1
- add r4, r9
- movs r5, 0
- movs r7, 0x1
-_080750EA:
- ldr r1, _0807515C
- ldr r0, [r1]
- lsls r1, r0, 1
- adds r1, r0
- movs r0, 0x18
- bl __divsi3
- strh r0, [r4]
- movs r3, 0xCA
- lsls r3, 1
- add r3, r9
- adds r3, r5
- ldr r1, [r3]
- lsls r0, r1, 1
- adds r0, r1
- str r0, [r3]
- movs r2, 0xCC
- lsls r2, 1
- add r2, r9
- adds r2, r5
- ldr r1, [r2]
- lsls r0, r1, 1
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r3]
- ldr r0, [r2]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r2]
- adds r4, 0x1C
- adds r5, 0x1C
- subs r7, 0x1
- cmp r7, 0
- bge _080750EA
- ldr r1, _0807515C
- ldr r0, [r1]
- lsls r1, r0, 1
- adds r1, r0
- movs r0, 0x18
- bl __divsi3
- strh r0, [r6, 0x18]
- ldr r1, [sp]
- lsls r0, r1, 1
- adds r0, r1
- str r0, [r6, 0x10]
- ldr r1, [sp, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- str r0, [r6, 0x14]
- b _080751F8
- .align 2, 0
-_0807515C: .4byte gUnknown_202F378
-_08075160:
- cmp r0, 0x4
- bne _080751EC
- ldr r0, [r6, 0x10]
- str r0, [sp]
- ldr r1, [r6, 0x14]
- str r1, [sp, 0x4]
- movs r7, 0xCE
- lsls r7, 1
- add r7, r9
- movs r0, 0
- mov r8, r0
- movs r1, 0x2
- mov r10, r1
-_0807517A:
- ldr r0, _080751E8
- ldr r1, [r0]
- lsls r1, 2
- movs r0, 0x18
- bl __divsi3
- strh r0, [r7]
- movs r4, 0xCA
- lsls r4, 1
- add r4, r9
- add r4, r8
- ldr r0, [r4]
- lsls r0, 2
- str r0, [r4]
- movs r5, 0xCC
- lsls r5, 1
- add r5, r9
- add r5, r8
- ldr r0, [r5]
- lsls r0, 2
- str r0, [r5]
- ldr r0, [r4]
- movs r1, 0x3
- bl __divsi3
- str r0, [r4]
- ldr r0, [r5]
- movs r1, 0x3
- bl __divsi3
- str r0, [r5]
- adds r7, 0x1C
- movs r1, 0x1C
- add r8, r1
- movs r0, 0x1
- negs r0, r0
- add r10, r0
- mov r1, r10
- cmp r1, 0
- bge _0807517A
- ldr r0, _080751E8
- ldr r1, [r0]
- lsls r1, 2
- movs r0, 0x18
- bl __divsi3
- strh r0, [r6, 0x18]
- ldr r1, [sp]
- lsls r0, r1, 2
- str r0, [r6, 0x10]
- ldr r1, [sp, 0x4]
- lsls r0, r1, 2
- str r0, [r6, 0x14]
- b _080751F8
- .align 2, 0
-_080751E8: .4byte gUnknown_202F378
-_080751EC:
- ldr r0, _08075208
- ldr r1, [r0]
- movs r0, 0x18
- bl __divsi3
- strh r0, [r6, 0x18]
-_080751F8:
- 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
-_08075208: .4byte gUnknown_202F378
- thumb_func_end sub_8075050
-
- thumb_func_start sub_807520C
-sub_807520C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r10, r0
- movs r7, 0
- movs r0, 0
- mov r9, r0
- ldr r0, _08075238
- mov r1, r9
- strb r1, [r0]
- ldr r0, _0807523C
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- beq _08075244
- ldr r1, _08075240
- movs r0, 0x2
- b _08075248
- .align 2, 0
-_08075238: .4byte gUnknown_202F32D
-_0807523C: .4byte gUnknown_203B46C
-_08075240: .4byte gUnknown_202F378
-_08075244:
- ldr r1, _080752D0
- movs r0, 0x1
-_08075248:
- str r0, [r1]
- movs r2, 0
- mov r8, r2
-_0807524E:
- ldr r0, _080752D4
- ldr r0, [r0]
- mov r3, r8
- lsls r1, r3, 2
- ldr r4, _080752D8
- adds r0, r4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807534C
- ldr r4, [r5, 0x70]
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r4, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- cmp r2, 0
- bne _080752E0
- ldr r0, _080752DC
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807534C
- strb r2, [r1]
- movs r1, 0xB6
- lsls r1, 1
- adds r6, r4, r1
- ldr r1, [r6]
- cmp r1, 0
- beq _0807534C
- ldr r0, [r5, 0x4]
- cmp r1, r0
- beq _0807534C
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _080752B2
- adds r0, r5, 0
- bl sub_8070CD0
- lsls r0, 24
- cmp r0, 0
- bne _0807534C
-_080752B2:
- adds r0, r5, 0x4
- adds r1, r6, 0
- bl sub_80983D8
- adds r1, r0, 0
- adds r0, r4, 0
- adds r0, 0x46
- ldrb r0, [r0]
- cmp r1, r0
- beq _0807534C
- adds r0, r5, 0
- bl sub_806CE68
- b _0807534C
- .align 2, 0
-_080752D0: .4byte gUnknown_202F378
-_080752D4: .4byte gUnknown_203B418
-_080752D8: .4byte 0x000135cc
-_080752DC: .4byte 0x00000147
-_080752E0:
- ldrh r1, [r4]
- movs r2, 0x80
- lsls r2, 6
- adds r0, r2, 0
- orrs r0, r1
- strh r0, [r4]
- movs r3, 0xC4
- lsls r3, 1
- adds r0, r4, r3
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [sp]
- movs r2, 0xC6
- lsls r2, 1
- adds r0, r4, r2
- ldr r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3
- str r0, [sp, 0x4]
- adds r0, r5, 0
- mov r1, sp
- bl sub_804535C
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, r1
- ldr r2, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_806CDFC
- movs r2, 0xFB
- lsls r2, 1
- adds r0, r4, r2
- movs r3, 0
- strh r3, [r0]
- movs r7, 0x1
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807534C
- movs r4, 0x1
- mov r9, r4
-_0807534C:
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x13
- bgt _08075358
- b _0807524E
-_08075358:
- cmp r7, 0
- bne _08075360
- movs r0, 0
- b _0807566C
-_08075360:
- ldr r0, _08075390
- ldr r0, [r0]
- adds r1, r0, 0
- adds r1, 0xB8
- ldr r2, [r1]
- str r2, [sp, 0x10]
- mov r3, r10
- str r3, [r1]
- ldr r4, _08075394
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807537C
- b _080754AE
-_0807537C:
- mov r0, r9
- cmp r0, 0
- bne _08075384
- b _080754AE
-_08075384:
- movs r0, 0x35
- bl sub_80526D0
- movs r5, 0
- b _0807549E
- .align 2, 0
-_08075390: .4byte gUnknown_203B418
-_08075394: .4byte 0x0000066c
-_08075398:
- movs r0, 0x7
- bl sub_803E46C
- movs r1, 0
- mov r8, r1
- adds r5, 0x1
- mov r9, r5
-_080753A6:
- ldr r0, _08075420
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, _08075424
- adds r0, r3
- adds r0, r1
- ldr r3, [r0]
- adds r0, r3, 0
- str r3, [sp, 0x14]
- bl sub_80450E0
- lsls r0, 24
- ldr r3, [sp, 0x14]
- cmp r0, 0
- beq _08075492
- ldr r0, [r3, 0x70]
- adds r7, r0, 0
- movs r4, 0xFB
- lsls r4, 1
- adds r5, r7, r4
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- movs r2, 0xC2
- lsls r2, 1
- adds r1, r2
- adds r4, r7, r1
- movs r0, 0xFA
- lsls r0, 1
- adds r6, r7, r0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _08075492
- ldr r1, [r4, 0x10]
- ldr r2, [r4, 0x14]
- adds r0, r3, 0
- bl sub_804539C
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- asrs r2, r0, 16
- ldr r3, [sp, 0x14]
- cmp r2, 0
- bne _08075492
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0
- ldrsh r1, [r6, r4]
- cmp r0, r1
- bne _08075428
- strh r2, [r6]
- b _08075492
- .align 2, 0
-_08075420: .4byte gUnknown_203B418
-_08075424: .4byte 0x000135cc
-_08075428:
- movs r0, 0
- ldrsh r1, [r5, r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- movs r2, 0xC4
- lsls r2, 1
- adds r1, r7, r2
- adds r1, r0
- ldr r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r4, 0xC0
- lsls r4, 4
- adds r0, r4
- str r0, [sp, 0x8]
- movs r0, 0
- ldrsh r1, [r5, r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r2, 0x4
- adds r1, r7, r2
- adds r1, r0
- ldr r1, [r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r4, 0x80
- lsls r4, 5
- adds r0, r4
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- adds r0, r3, 0
- str r3, [sp, 0x14]
- bl sub_804535C
- movs r0, 0
- ldrsh r1, [r5, r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- movs r2, 0xC8
- lsls r2, 1
- adds r1, r7, r2
- adds r1, r0
- ldr r2, [r1]
- ldr r3, [sp, 0x14]
- adds r0, r3, 0
- movs r1, 0
- bl sub_806CDFC
-_08075492:
- movs r3, 0x1
- add r8, r3
- mov r4, r8
- cmp r4, 0x13
- ble _080753A6
- mov r5, r9
-_0807549E:
- ldr r0, _08075510
- ldr r1, [r0]
- movs r0, 0x18
- bl __divsi3
- cmp r5, r0
- bge _080754AE
- b _08075398
-_080754AE:
- movs r0, 0
- mov r8, r0
-_080754B2:
- ldr r0, _08075514
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, _08075518
- adds r0, r3
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080754F6
- ldr r4, [r5, 0x70]
- movs r0, 0xFA
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0
- strh r0, [r1]
- adds r0, r5, 0
- bl nullsub_97
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 6
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080754F6
- adds r0, r5, 0
- movs r1, 0
- bl sub_804535C
-_080754F6:
- movs r3, 0x1
- add r8, r3
- mov r4, r8
- cmp r4, 0x13
- ble _080754B2
- bl sub_807AA30
- movs r7, 0
-_08075506:
- movs r5, 0
- adds r0, r7, 0x1
- mov r8, r0
- b _08075600
- .align 2, 0
-_08075510: .4byte gUnknown_202F378
-_08075514: .4byte gUnknown_203B418
-_08075518: .4byte 0x000135cc
-_0807551C:
- ldr r2, [r4, 0x70]
- cmp r7, 0
- bne _0807552A
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- beq _080755FE
- b _08075530
-_0807552A:
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- bne _080755FE
-_08075530:
- ldr r6, [r4, 0x4]
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080755BC
- ldr r3, _08075560
- adds r0, r3, 0
- ands r0, r1
- strh r0, [r2]
- ldrb r0, [r2, 0x7]
- cmp r0, 0
- beq _08075564
- adds r0, r4, 0x4
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
- bl sub_805EE30
- b _0807556A
- .align 2, 0
-_08075560: .4byte 0x0000dfff
-_08075564:
- adds r0, r4, 0
- bl sub_8075708
-_0807556A:
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080755FE
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807562A
- movs r0, 0
- bl sub_8043ED0
- adds r0, r4, 0
- bl sub_8074094
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080755FE
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807562A
- adds r0, r4, 0
- bl sub_8071DA4
- bl sub_8046D20
- ldr r0, _08075650
- ldr r0, [r0]
- ldr r1, _08075654
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8075900
-_080755BC:
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080755FE
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807562A
- ldr r0, [r4, 0x4]
- cmp r6, r0
- beq _080755DE
- ldr r1, _08075658
- movs r0, 0x1
- strb r0, [r1]
-_080755DE:
- adds r0, r4, 0
- bl sub_806A5B8
- adds r1, r4, 0x4
- adds r0, r4, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _080755FE
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_080755FE:
- adds r5, 0x1
-_08075600:
- cmp r5, 0x13
- bgt _0807562A
- ldr r0, _08075650
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0807565C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080755FE
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807562A
- b _0807551C
-_0807562A:
- mov r7, r8
- cmp r7, 0x1
- bgt _08075632
- b _08075506
-_08075632:
- bl sub_8086AC0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08075660
- bl sub_8085140
- ldr r0, _08075650
- ldr r0, [r0]
- adds r0, 0xB8
- ldr r3, [sp, 0x10]
- str r3, [r0]
- b _0807566A
- .align 2, 0
-_08075650: .4byte gUnknown_203B418
-_08075654: .4byte 0x00003a08
-_08075658: .4byte gUnknown_202F32D
-_0807565C: .4byte 0x000135cc
-_08075660:
- ldr r0, _0807567C
- ldr r0, [r0]
- adds r0, 0xB8
- ldr r4, [sp, 0x10]
- str r4, [r0]
-_0807566A:
- movs r0, 0x1
-_0807566C:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807567C: .4byte gUnknown_203B418
- thumb_func_end sub_807520C
-
- thumb_func_start sub_8075680
-sub_8075680:
- push {r4-r7,lr}
- movs r7, 0
-_08075684:
- ldr r0, _080756FC
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08075700
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080756EE
- ldr r6, [r5, 0x70]
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _080756EE
- movs r0, 0xB6
- lsls r0, 1
- adds r4, r6, r0
- ldr r1, [r4]
- cmp r1, 0
- beq _080756EE
- ldr r0, [r5, 0x4]
- cmp r1, r0
- beq _080756EE
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- bne _080756EE
- adds r0, r5, 0x4
- adds r1, r4, 0
- bl sub_80983D8
- adds r4, r0, 0
- movs r1, 0x7
- ands r0, r1
- adds r1, r6, 0
- adds r1, 0x46
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- adds r2, r4, 0
- bl sub_806CDD4
-_080756EE:
- adds r7, 0x1
- cmp r7, 0x13
- ble _08075684
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080756FC: .4byte gUnknown_203B418
-_08075700: .4byte 0x000135cc
- thumb_func_end sub_8075680
-
- thumb_func_start nullsub_97
-nullsub_97:
- bx lr
- thumb_func_end nullsub_97
-
- thumb_func_start sub_8075708
-sub_8075708:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- ldr r6, [r4, 0x70]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807580C
- adds r0, r4, 0
- bl sub_8045128
- adds r5, r0, 0
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08075752
- adds r0, r6, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08075752
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _08075752
- adds r0, r4, 0x4
- bl sub_804AE84
-_08075752:
- ldr r5, [r5, 0x14]
- cmp r5, 0
- beq _0807580C
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x5
- bhi _0807580C
- lsls r0, 2
- ldr r1, _0807576C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807576C: .4byte _08075770
- .align 2, 0
-_08075770:
- .4byte _0807580C
- .4byte _0807580C
- .4byte _08075788
- .4byte _08075806
- .4byte _0807580C
- .4byte _0807580C
-_08075788:
- adds r0, r5, 0
- bl sub_8045104
- adds r7, r0, 0
- movs r0, 0
- mov r8, r0
- mov r9, r0
- adds r0, r4, 0
- movs r1, 0x13
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _080757BA
- adds r1, r5, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- bne _080757BA
- movs r0, 0x1
- strb r0, [r1]
- bl sub_8049ED4
- movs r0, 0x1
- mov r9, r0
-_080757BA:
- ldrb r0, [r7, 0x1]
- cmp r0, 0
- bne _080757D2
- adds r0, r5, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080757EC
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _080757EC
- b _080757F2
-_080757D2:
- cmp r0, 0x1
- bne _080757DE
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _080757EC
- b _080757F2
-_080757DE:
- cmp r0, 0x2
- bne _080757EC
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _080757EC
- movs r0, 0x1
- mov r8, r0
-_080757EC:
- mov r0, r8
- cmp r0, 0
- beq _0807580C
-_080757F2:
- mov r0, r9
- cmp r0, 0
- bne _0807580C
- adds r1, r4, 0x4
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_807FE9C
- b _0807580C
-_08075806:
- adds r0, r4, 0
- bl sub_8073D14
-_0807580C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8075708
-
- thumb_func_start sub_8075818
-sub_8075818:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, [r4, 0x70]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080758F6
- adds r0, r4, 0
- bl sub_8045128
- adds r5, r0, 0
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08075848
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080758F2
-_08075848:
- ldr r4, [r5, 0x14]
- cmp r4, 0
- beq _080758F6
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x5
- bhi _080758F6
- lsls r0, 2
- ldr r1, _08075864
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08075864: .4byte _08075868
- .align 2, 0
-_08075868:
- .4byte _080758F6
- .4byte _080758F6
- .4byte _08075880
- .4byte _080758BE
- .4byte _080758F6
- .4byte _080758F6
-_08075880:
- adds r0, r4, 0
- bl sub_8045104
- movs r1, 0
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _080758A0
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _080758B8
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _080758B8
- b _080758F2
-_080758A0:
- cmp r0, 0x1
- bne _080758AC
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- beq _080758B8
- b _080758F2
-_080758AC:
- cmp r0, 0x2
- bne _080758B8
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _080758B8
- movs r1, 0x1
-_080758B8:
- cmp r1, 0
- beq _080758F6
- b _080758F2
-_080758BE:
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- bne _080758F6
- adds r0, r6, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080758F6
- ldrh r1, [r5]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _080758E2
- ldrb r0, [r6, 0x6]
- cmp r0, 0
- bne _080758F6
-_080758E2:
- adds r0, r4, 0
- bl sub_8045108
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080758F6
-_080758F2:
- movs r0, 0x1
- b _080758F8
-_080758F6:
- movs r0, 0
-_080758F8:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8075818
-
- thumb_func_start sub_8075900
-sub_8075900:
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807597A
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- bne _0807597A
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807597A
- ldr r5, _08075980
- ldr r0, [r5]
- ldr r1, _08075984
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807597A
- adds r0, r4, 0
- bl sub_8045128
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0807597A
- bl sub_8083600
- ldr r1, _08075988
- ldr r1, [r1]
- bl sub_80522A8
- ldr r0, [r5]
- ldr r1, _0807598C
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_807AB38
- movs r0, 0
- bl sub_8041888
- adds r0, r4, 0x4
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _0807597A
- movs r0, 0x78
- movs r1, 0x39
- bl sub_803E708
-_0807597A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08075980: .4byte gUnknown_203B418
-_08075984: .4byte 0x00000671
-_08075988: .4byte gUnknown_80FE308
-_0807598C: .4byte 0x00000672
- thumb_func_end sub_8075900
-
- thumb_func_start sub_8075990
-sub_8075990:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- ldr r5, [r7, 0x70]
- ldrh r1, [r5]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _080759C2
- adds r0, r5, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080759B8
- b _08075B92
-_080759B8:
- adds r0, r7, 0
- adds r1, r7, 0
- bl sub_807A324
- b _08075B92
-_080759C2:
- movs r1, 0x80
- lsls r1, 1
- adds r0, r5, r1
- strb r6, [r0]
- adds r0, r5, 0
- adds r0, 0xA4
- ldrb r1, [r0]
- mov r9, r0
- cmp r1, 0
- beq _080759E4
- adds r0, r7, 0
- bl sub_8085A50
- lsls r0, 24
- cmp r0, 0
- bne _080759E4
- b _08075B92
-_080759E4:
- mov r2, r9
- ldrb r0, [r2]
- cmp r0, 0x1
- beq _08075A36
- adds r4, r5, 0
- adds r4, 0xFC
- ldrb r0, [r4]
- cmp r0, 0
- beq _08075A36
- adds r0, r7, 0
- bl sub_8070C60
- lsls r0, 24
- cmp r0, 0
- beq _08075A24
- strb r6, [r4]
- ldr r0, _08075A1C
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08075A20
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _08075B92
- .align 2, 0
-_08075A1C: .4byte gUnknown_202DF98
-_08075A20: .4byte gUnknown_81004E4
-_08075A24:
- adds r0, r7, 0
- bl sub_8073658
- adds r0, r5, 0
- adds r0, 0x44
- ldrh r0, [r0]
- cmp r0, 0
- beq _08075A36
- b _08075B92
-_08075A36:
- adds r0, r7, 0
- bl sub_807001C
- lsls r0, 24
- cmp r0, 0
- beq _08075A44
- b _08075B92
-_08075A44:
- ldr r0, _08075AA4
- ldr r0, [r0]
- ldr r1, _08075AA8
- adds r0, r1
- ldrb r0, [r0]
- movs r2, 0x44
- adds r2, r5
- mov r8, r2
- cmp r0, 0
- beq _08075AB6
- movs r6, 0
-_08075A5A:
- ldr r0, _08075AA4
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08075AAC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08075AB0
- ldr r0, [r4, 0x70]
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08075AB0
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _08075AB0
- ldr r0, [r4, 0x70]
- adds r0, 0xC9
- ldrb r0, [r0]
- movs r1, 0x1
- cmp r0, 0
- beq _08075A9A
- movs r1, 0x2
-_08075A9A:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r5, r2
- strb r1, [r0]
- b _08075AB6
- .align 2, 0
-_08075AA4: .4byte gUnknown_203B418
-_08075AA8: .4byte 0x000037fc
-_08075AAC: .4byte 0x000135cc
-_08075AB0:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08075A5A
-_08075AB6:
- mov r4, r8
- adds r0, r4, 0
- bl sub_8044C88
- mov r1, r9
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _08075AF4
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- adds r0, r4, 0
- bl sub_8044CA0
- movs r0, 0x8
- bl sub_8084100
- adds r1, r5, 0
- adds r1, 0x46
- strb r0, [r1]
- ldrh r1, [r7, 0x4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r5, r2
- strh r1, [r0]
- ldrh r0, [r7, 0x6]
- subs r0, 0x1
- movs r1, 0xB7
- lsls r1, 1
- adds r2, r5, r1
- strh r0, [r2]
- b _08075B92
-_08075AF4:
- adds r0, r7, 0
- bl sub_8073658
- ldrh r6, [r4]
- cmp r6, 0
- bne _08075B92
- adds r0, r7, 0
- movs r1, 0x15
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _08075B3C
- adds r0, r7, 0
- bl sub_807BB94
- ldrh r0, [r4]
- cmp r0, 0
- bne _08075B92
- adds r0, r5, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08075B46
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_808DB48
- lsls r0, 24
- cmp r0, 0
- beq _08075B92
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_807ADB8
- b _08075B92
-_08075B3C:
- adds r0, r5, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08075B52
-_08075B46:
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- adds r0, r4, 0
- bl sub_8044CA0
- b _08075B92
-_08075B52:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- bl sub_808DB48
- lsls r0, 24
- cmp r0, 0
- beq _08075B68
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_807ADB8
-_08075B68:
- mov r2, r8
- ldrh r0, [r2]
- cmp r0, 0x1
- bhi _08075B92
- adds r0, r7, 0
- bl sub_807BB94
- mov r1, r8
- ldrh r0, [r1]
- cmp r0, 0x1
- bls _08075B92
- adds r0, r5, 0
- adds r0, 0x79
- strb r6, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r5, r2
- strb r6, [r0]
- ldr r1, _08075BA0
- adds r0, r5, r1
- strb r6, [r0]
-_08075B92:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075BA0: .4byte 0x00000147
- thumb_func_end sub_8075990
-
- thumb_func_start sub_8075BA4
-sub_8075BA4:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- ldr r4, [r5, 0x70]
- cmp r1, 0
- beq _08075BD0
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _08075BD0
- adds r0, r4, 0
- adds r0, 0x46
- ldrb r1, [r0]
- adds r1, 0x4
- movs r2, 0x7
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- bl sub_8069DCC
- b _08075BEC
-_08075BD0:
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08075BEC
- movs r0, 0x8
- bl sub_8084100
- adds r1, r4, 0
- adds r1, 0x46
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8069DCC
-_08075BEC:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8075BA4
-
- thumb_func_start sub_8075BF4
-sub_8075BF4:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08075C0A
- movs r0, 0
- b _08075C52
-_08075C0A:
- ldr r6, [r5, 0x70]
- adds r1, r6, 0
- adds r1, 0xA8
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _08075C48
- cmp r0, 0x1
- beq _08075C44
- movs r0, 0x1
- strb r0, [r1]
- cmp r4, 0x7F
- beq _08075C3C
- adds r0, r5, 0
- movs r1, 0x2F
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08075C3C
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r4, r0, 1
- cmp r4, 0
- bgt _08075C3C
- movs r4, 0x1
-_08075C3C:
- adds r0, r6, 0
- adds r0, 0xA9
- strb r4, [r0]
- b _08075C4A
-_08075C44:
- movs r7, 0x1
- b _08075C4A
-_08075C48:
- movs r7, 0x2
-_08075C4A:
- adds r0, r5, 0
- bl sub_80418D4
- adds r0, r7, 0
-_08075C52:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8075BF4
-
- thumb_func_start sub_8075C58
-sub_8075C58:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- lsls r3, 24
- lsrs r5, r3, 24
- adds r7, r5, 0
- movs r2, 0x1
- adds r3, r5, 0
- bl sub_8075CFC
- lsls r0, 24
- cmp r0, 0
- bne _08075CEC
- ldr r0, [r4, 0x70]
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08075C90
- cmp r5, 0
- beq _08075CEC
- ldr r0, _08075C8C
- b _08075CCE
- .align 2, 0
-_08075C8C: .4byte gUnknown_80FB380
-_08075C90:
- cmp r0, 0x5
- bne _08075CA0
- cmp r7, 0
- beq _08075CEC
- ldr r0, _08075C9C
- b _08075CCE
- .align 2, 0
-_08075C9C: .4byte gUnknown_80FB384
-_08075CA0:
- adds r0, r4, 0
- bl sub_8041AF4
- adds r0, r4, 0
- mov r1, r8
- bl sub_8075BF4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_806CE68
- cmp r5, 0x1
- bne _08075CC8
- ldr r0, _08075CC4
- b _08075CCE
- .align 2, 0
-_08075CC4: .4byte gUnknown_80FB338
-_08075CC8:
- cmp r5, 0x2
- bne _08075CE0
- ldr r0, _08075CDC
-_08075CCE:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08075CEC
- .align 2, 0
-_08075CDC: .4byte gUnknown_80FB35C
-_08075CE0:
- ldr r0, _08075CF8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08075CEC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075CF8: .4byte gUnknown_80FB318
- thumb_func_end sub_8075C58
-
- thumb_func_start sub_8075CFC
-sub_8075CFC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08075DAA
- ldr r0, _08075D4C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- cmp r7, 0
- beq _08075D34
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08075DAA
-_08075D34:
- adds r0, r4, 0
- movs r1, 0x11
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _08075D54
- cmp r5, 0
- beq _08075DAA
- ldr r0, _08075D50
- b _08075DA0
- .align 2, 0
-_08075D4C: .4byte gUnknown_202DF98
-_08075D50: .4byte gUnknown_80FCD54
-_08075D54:
- adds r0, r4, 0
- movs r1, 0x36
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08075D70
- cmp r5, 0
- beq _08075DAA
- ldr r0, _08075D6C
- b _08075DA0
- .align 2, 0
-_08075D6C: .4byte gUnknown_80FCD58
-_08075D70:
- adds r0, r4, 0
- movs r1, 0x49
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08075D8C
- cmp r5, 0
- beq _08075DAA
- ldr r0, _08075D88
- b _08075DA0
- .align 2, 0
-_08075D88: .4byte gUnknown_80FCD88
-_08075D8C:
- adds r0, r4, 0
- movs r1, 0x15
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08075DB4
- cmp r5, 0
- beq _08075DAA
- ldr r0, _08075DB0
-_08075DA0:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08075DAA:
- movs r0, 0x1
- b _08075DB6
- .align 2, 0
-_08075DB0: .4byte gUnknown_80FD548
-_08075DB4:
- movs r0, 0
-_08075DB6:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8075CFC
-
- thumb_func_start sub_8075DBC
-sub_8075DBC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r5, r1, 0
- mov r8, r2
- movs r0, 0
- mov r9, r0
- adds r0, r7, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8075CFC
- lsls r0, 24
- cmp r0, 0
- bne _08075E62
- ldr r6, [r5, 0x70]
- adds r4, r6, 0
- adds r4, 0xA8
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _08075E50
- adds r0, r5, 0
- bl sub_8041EC8
- ldrb r0, [r4]
- cmp r0, 0x3
- beq _08075E1A
- adds r4, 0x1
- mov r0, r8
- strb r0, [r4]
- adds r0, r5, 0
- movs r1, 0x2F
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08075E1E
- ldrb r0, [r4]
- lsrs r0, 1
- strb r0, [r4]
- cmp r0, 0
- bne _08075E1E
- movs r0, 0x1
- strb r0, [r4]
- b _08075E1E
-_08075E1A:
- movs r0, 0x1
- mov r9, r0
-_08075E1E:
- adds r1, r6, 0
- adds r1, 0xA8
- movs r0, 0x3
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE68
- mov r0, r9
- cmp r0, 0
- beq _08075E3C
- ldr r0, _08075E38
- b _08075E3E
- .align 2, 0
-_08075E38: .4byte gUnknown_80FB3CC
-_08075E3C:
- ldr r0, _08075E4C
-_08075E3E:
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08075E5C
- .align 2, 0
-_08075E4C: .4byte gUnknown_80FB3A4
-_08075E50:
- ldr r0, _08075E70
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08075E5C:
- adds r0, r5, 0
- bl sub_80418D4
-_08075E62:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075E70: .4byte gUnknown_80FB3D0
- thumb_func_end sub_8075DBC
-
- thumb_func_start sub_8075E74
-sub_8075E74:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r5, r1, 0
- mov r8, r2
- movs r0, 0
- mov r9, r0
- adds r0, r7, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8075CFC
- lsls r0, 24
- cmp r0, 0
- bne _08075F22
- ldr r6, [r5, 0x70]
- adds r4, r6, 0
- adds r4, 0xA8
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _08075F10
- adds r0, r5, 0
- bl sub_8041ED8
- ldrb r0, [r4]
- cmp r0, 0
- beq _08075EB2
- cmp r0, 0x4
- bne _08075ED8
-_08075EB2:
- adds r4, r6, 0
- adds r4, 0xA9
- mov r0, r8
- strb r0, [r4]
- adds r0, r5, 0
- movs r1, 0x2F
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08075EDC
- ldrb r0, [r4]
- lsrs r0, 1
- strb r0, [r4]
- cmp r0, 0
- bne _08075EDC
- movs r0, 0x1
- strb r0, [r4]
- b _08075EDC
-_08075ED8:
- movs r0, 0x1
- mov r9, r0
-_08075EDC:
- adds r1, r6, 0
- adds r1, 0xA8
- movs r0, 0x5
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE68
- mov r0, r9
- cmp r0, 0
- beq _08075EFC
- ldr r0, _08075EF8
- b _08075EFE
- .align 2, 0
-_08075EF8: .4byte gUnknown_80FB360
-_08075EFC:
- ldr r0, _08075F0C
-_08075EFE:
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08075F1C
- .align 2, 0
-_08075F0C: .4byte gUnknown_80FB31C
-_08075F10:
- ldr r0, _08075F30
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08075F1C:
- adds r0, r5, 0
- bl sub_80418D4
-_08075F22:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08075F30: .4byte gUnknown_80FB388
- thumb_func_end sub_8075E74
-
- thumb_func_start sub_8075F34
-sub_8075F34:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8075CFC
- lsls r0, 24
- cmp r0, 0
- bne _08075FC2
- ldr r2, [r4, 0x70]
- adds r1, r2, 0
- adds r1, 0xA8
- ldrb r0, [r1]
- cmp r0, 0
- bne _08075F78
- movs r0, 0x4
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0xA9
- strb r6, [r0]
- adds r0, r4, 0
- bl nullsub_91
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_806CE68
- ldr r0, _08075F74
- b _08075F9E
- .align 2, 0
-_08075F74: .4byte gUnknown_80FB3E0
-_08075F78:
- cmp r0, 0x1
- beq _08075F84
- cmp r0, 0x3
- beq _08075F84
- cmp r0, 0x5
- bne _08075F8C
-_08075F84:
- ldr r0, _08075F88
- b _08075F9E
- .align 2, 0
-_08075F88: .4byte gUnknown_80FB418
-_08075F8C:
- cmp r0, 0x2
- bne _08075F98
- ldr r0, _08075F94
- b _08075F9E
- .align 2, 0
-_08075F94: .4byte gUnknown_80FB3F8
-_08075F98:
- cmp r0, 0x4
- bne _08075FB0
- ldr r0, _08075FAC
-_08075F9E:
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08075FBC
- .align 2, 0
-_08075FAC: .4byte gUnknown_80FB414
-_08075FB0:
- ldr r0, _08075FC8
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08075FBC:
- adds r0, r4, 0
- bl sub_80418D4
-_08075FC2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08075FC8: .4byte gUnknown_80FB3E0
- thumb_func_end sub_8075F34
-
- thumb_func_start sub_8075FCC
-sub_8075FCC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r7, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076086
- ldr r5, [r4, 0x70]
- adds r0, r5, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _08075FF4
- cmp r0, 0x5
- beq _08075FF4
- cmp r0, 0x3
- bne _08075FF6
-_08075FF4:
- movs r7, 0x1
-_08075FF6:
- ldr r0, _08076060
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xA8
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08076074
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, _08076064
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xA9
- strb r0, [r1]
- ldr r0, _08076068
- adds r1, r5, r0
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, 0x65
- adds r1, r5, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8041EE8
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_806CE68
- cmp r7, 0
- beq _08076050
- ldr r0, _0807606C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076050:
- ldr r0, _08076070
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08076080
- .align 2, 0
-_08076060: .4byte gUnknown_202DF98
-_08076064: .4byte gUnknown_80F4E7C
-_08076068: .4byte 0x00000165
-_0807606C: .4byte gUnknown_80FB41C
-_08076070: .4byte gUnknown_80FB458
-_08076074:
- ldr r0, _0807608C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076080:
- adds r0, r4, 0
- bl sub_80418D4
-_08076086:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807608C: .4byte gUnknown_80FB43C
- thumb_func_end sub_8075FCC
-
- thumb_func_start sub_8076090
-sub_8076090:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x1C]
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807613A
- ldr r5, [r4, 0x70]
- mov r0, r8
- cmp r0, 0
- beq _080760D0
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, r9
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _0807613A
-_080760D0:
- ldr r0, _08076100
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- adds r1, r5, 0
- adds r1, 0xBC
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _08076110
- movs r0, 0x3
- strb r0, [r1]
- adds r1, r7, 0x1
- adds r0, r5, 0
- adds r0, 0xBD
- strb r1, [r0]
- adds r0, r4, 0
- bl nullsub_72
- cmp r7, 0x1
- bne _08076108
- ldr r0, _08076104
- b _08076116
- .align 2, 0
-_08076100: .4byte gUnknown_202DF98
-_08076104: .4byte gUnknown_80FB480
-_08076108:
- ldr r0, _0807610C
- b _08076116
- .align 2, 0
-_0807610C: .4byte gUnknown_80FB4D4
-_08076110:
- cmp r7, 0x1
- bne _08076128
- ldr r0, _08076124
-_08076116:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08076134
- .align 2, 0
-_08076124: .4byte gUnknown_80FB4B0
-_08076128:
- ldr r0, _08076148
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076134:
- adds r0, r4, 0
- bl sub_80418D4
-_0807613A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076148: .4byte gUnknown_80FB4F0
- thumb_func_end sub_8076090
-
- thumb_func_start sub_807614C
-sub_807614C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076206
- ldr r5, [r4, 0x70]
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08076206
- adds r0, r4, 0
- movs r1, 0x29
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080761A8
- ldr r0, _080761A0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- cmp r7, 0
- beq _08076206
- ldr r0, _080761A4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08076206
- .align 2, 0
-_080761A0: .4byte gUnknown_202DF98
-_080761A4: .4byte gUnknown_80FCC4C
-_080761A8:
- ldr r0, _080761E8
- adds r1, r5, 0
- movs r2, 0
- bl sub_80708B4
- adds r1, r5, 0
- adds r1, 0xBC
- ldrb r0, [r1]
- cmp r0, 0x7
- beq _080761F4
- movs r0, 0x7
- strb r0, [r1]
- ldr r1, _080761EC
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xBD
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8041EF8
- ldr r0, _080761F0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08076200
- .align 2, 0
-_080761E8: .4byte gUnknown_202DF98
-_080761EC: .4byte gUnknown_80F4F00
-_080761F0: .4byte gUnknown_80FB50C
-_080761F4:
- ldr r0, _0807620C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076200:
- adds r0, r4, 0
- bl sub_80418D4
-_08076206:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807620C: .4byte gUnknown_80FB52C
- thumb_func_end sub_807614C
-
- thumb_func_start sub_8076210
-sub_8076210:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08076238
- b _080763DA
-_08076238:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r10
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- beq _0807624A
- b _080763DA
-_0807624A:
- ldr r0, [r5, 0x70]
- mov r8, r0
- ldr r0, _08076274
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- adds r0, r5, 0
- movs r1, 0x42
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807627C
- mov r1, r10
- cmp r1, 0
- bne _0807626E
- b _080763DA
-_0807626E:
- ldr r0, _08076278
- b _080762CC
- .align 2, 0
-_08076274: .4byte gUnknown_202DF98
-_08076278: .4byte gUnknown_80FCE5C
-_0807627C:
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0807629C
- mov r2, r10
- cmp r2, 0
- bne _08076292
- b _080763DA
-_08076292:
- ldr r0, _08076298
- b _080762CC
- .align 2, 0
-_08076298: .4byte gUnknown_80FCE84
-_0807629C:
- adds r0, r5, 0
- bl sub_8045128
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _080762E8
- ldr r1, _080762D8
- ldr r0, _080762DC
- ldr r0, [r0]
- ldr r3, _080762E0
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080762E8
- mov r3, r10
- cmp r3, 0
- bne _080762CA
- b _080763DA
-_080762CA:
- ldr r0, _080762E4
-_080762CC:
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080763DA
- .align 2, 0
-_080762D8: .4byte gUnknown_810ACC0
-_080762DC: .4byte gUnknown_203B418
-_080762E0: .4byte 0x00003a0e
-_080762E4: .4byte gUnknown_80FEBBC
-_080762E8:
- movs r6, 0x1
- mov r1, r8
- adds r1, 0xAC
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08076338
- movs r4, 0
- strb r6, [r1]
- ldr r1, _08076330
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- mov r1, r8
- adds r1, 0xAD
- strb r0, [r1]
- mov r0, r8
- adds r0, 0xAE
- strb r4, [r0]
- adds r0, 0x1
- strb r4, [r0]
- movs r6, 0
- mov r0, r9
- cmp r0, 0
- beq _08076322
- adds r0, r5, 0
- bl sub_8041C34
-_08076322:
- ldr r0, _08076334
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08076344
- .align 2, 0
-_08076330: .4byte gUnknown_80F4E30
-_08076334: .4byte gUnknown_80FB548
-_08076338:
- ldr r0, _080763E8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08076344:
- adds r0, r5, 0
- bl sub_80418D4
- adds r0, r5, 0
- movs r1, 0x19
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080763DA
- cmp r6, 0
- bne _080763DA
- movs r1, 0
- mov r9, r1
- movs r6, 0
-_08076362:
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- ldr r1, _080763EC
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r4, [r0, 0x10]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080763D4
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080763D4
- mov r0, r9
- cmp r0, 0
- bne _080763B8
- movs r1, 0x1
- mov r9, r1
- ldr r0, _080763F0
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- ldr r0, _080763F4
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080763B8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807167C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080763D4
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x1
- mov r3, r10
- bl sub_8076210
-_080763D4:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08076362
-_080763DA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080763E8: .4byte gUnknown_80FB564
-_080763EC: .4byte gUnknown_80F4448
-_080763F0: .4byte gUnknown_202DF98
-_080763F4: .4byte gUnknown_80FF01C
- thumb_func_end sub_8076210
-
- thumb_func_start sub_80763F8
-sub_80763F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807641A
- b _080765C0
-_0807641A:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r10
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- beq _0807642C
- b _080765C0
-_0807642C:
- ldr r0, [r5, 0x70]
- mov r8, r0
- ldr r0, _08076454
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- adds r0, r5, 0
- movs r1, 0x14
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0807645C
- mov r1, r10
- cmp r1, 0
- bne _08076450
- b _080765C0
-_08076450:
- ldr r0, _08076458
- b _080764A4
- .align 2, 0
-_08076454: .4byte gUnknown_202DF98
-_08076458: .4byte gUnknown_80FD524
-_0807645C:
- adds r0, r5, 0
- movs r1, 0x45
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807647C
- mov r3, r10
- cmp r3, 0
- bne _08076472
- b _080765C0
-_08076472:
- ldr r0, _08076478
- b _080764A4
- .align 2, 0
-_08076478: .4byte gUnknown_80FCEB0
-_0807647C:
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _0807649A
- adds r0, r5, 0
- movs r1, 0x11
- bl sub_8071858
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080764B4
-_0807649A:
- mov r0, r10
- cmp r0, 0
- bne _080764A2
- b _080765C0
-_080764A2:
- ldr r0, _080764B0
-_080764A4:
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080765C0
- .align 2, 0
-_080764B0: .4byte gUnknown_80FCEDC
-_080764B4:
- movs r6, 0x1
- mov r1, r8
- adds r1, 0xAC
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _08076520
- cmp r0, 0x2
- beq _0807650C
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, _08076504
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- mov r1, r8
- adds r1, 0xAD
- strb r0, [r1]
- mov r0, r8
- adds r0, 0xAE
- strb r4, [r0]
- adds r0, 0x1
- strb r4, [r0]
- movs r6, 0
- adds r0, r5, 0
- bl sub_8041C6C
- ldr r0, _08076508
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE94
- b _0807652C
- .align 2, 0
-_08076504: .4byte gUnknown_80F4E34
-_08076508: .4byte gUnknown_80FB598
-_0807650C:
- ldr r0, _0807651C
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _0807652C
- .align 2, 0
-_0807651C: .4byte gUnknown_80FB5D4
-_08076520:
- ldr r0, _080765D0
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0807652C:
- adds r0, r5, 0
- movs r1, 0x19
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080765BA
- cmp r6, 0
- bne _080765BA
- movs r1, 0
- mov r9, r1
- movs r6, 0
-_08076544:
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- ldr r1, _080765D4
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r4, [r0, 0x10]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080765B4
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080765B4
- mov r0, r9
- cmp r0, 0
- bne _0807659A
- movs r1, 0x1
- mov r9, r1
- ldr r0, _080765D8
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- ldr r0, _080765DC
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0807659A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807167C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080765B4
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r10
- bl sub_80763F8
-_080765B4:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08076544
-_080765BA:
- adds r0, r5, 0
- bl sub_80418D4
-_080765C0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080765D0: .4byte gUnknown_80FB5F8
-_080765D4: .4byte gUnknown_80F4448
-_080765D8: .4byte gUnknown_202DF98
-_080765DC: .4byte gUnknown_80FF01C
- thumb_func_end sub_80763F8
-
- thumb_func_start sub_80765E0
-sub_80765E0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08076602
- b _08076790
-_08076602:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r10
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- beq _08076614
- b _08076790
-_08076614:
- ldr r0, [r5, 0x70]
- mov r8, r0
- ldr r0, _0807663C
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- adds r0, r5, 0
- movs r1, 0x14
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08076644
- mov r1, r10
- cmp r1, 0
- bne _08076638
- b _08076790
-_08076638:
- ldr r0, _08076640
- b _0807668C
- .align 2, 0
-_0807663C: .4byte gUnknown_202DF98
-_08076640: .4byte gUnknown_80FD524
-_08076644:
- adds r0, r5, 0
- movs r1, 0x45
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08076664
- mov r3, r10
- cmp r3, 0
- bne _0807665A
- b _08076790
-_0807665A:
- ldr r0, _08076660
- b _0807668C
- .align 2, 0
-_08076660: .4byte gUnknown_80FCEB0
-_08076664:
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _08076682
- adds r0, r5, 0
- movs r1, 0x11
- bl sub_8071858
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0807669C
-_08076682:
- mov r0, r10
- cmp r0, 0
- bne _0807668A
- b _08076790
-_0807668A:
- ldr r0, _08076698
-_0807668C:
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08076790
- .align 2, 0
-_08076698: .4byte gUnknown_80FCEDC
-_0807669C:
- movs r6, 0x1
- mov r1, r8
- adds r1, 0xAC
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _080766F0
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080766E8
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- mov r1, r8
- adds r1, 0xAD
- strb r0, [r1]
- mov r0, r8
- adds r0, 0xAE
- strb r4, [r0]
- adds r0, 0x1
- strb r4, [r0]
- movs r6, 0
- adds r0, r5, 0
- bl sub_8041C7C
- ldr r0, _080766EC
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE94
- b _080766FC
- .align 2, 0
-_080766E8: .4byte gUnknown_80F4E38
-_080766EC: .4byte gUnknown_80FB5B4
-_080766F0:
- ldr r0, _080767A0
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080766FC:
- adds r0, r5, 0
- movs r1, 0x19
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807678A
- cmp r6, 0
- bne _0807678A
- movs r1, 0
- mov r9, r1
- movs r6, 0
-_08076714:
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- ldr r1, _080767A4
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r4, [r0, 0x10]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076784
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _08076784
- mov r0, r9
- cmp r0, 0
- bne _0807676A
- movs r1, 0x1
- mov r9, r1
- ldr r0, _080767A8
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- ldr r0, _080767AC
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0807676A:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807167C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08076784
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r10
- bl sub_80765E0
-_08076784:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08076714
-_0807678A:
- adds r0, r5, 0
- bl sub_80418D4
-_08076790:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080767A0: .4byte gUnknown_80FB5F8
-_080767A4: .4byte gUnknown_80F4448
-_080767A8: .4byte gUnknown_202DF98
-_080767AC: .4byte gUnknown_80FF01C
- thumb_func_end sub_80765E0
-
- thumb_func_start sub_80767B0
-sub_80767B0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- adds r6, r4, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080767CE
- b _080768C8
-_080767CE:
- ldr r0, _0807680C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r7, [r5, 0x70]
- adds r0, r7, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080768C8
- mov r0, r8
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _080768C8
- adds r0, r5, 0
- movs r1, 0x41
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08076814
- cmp r4, 0
- beq _080768C8
- ldr r0, _08076810
- b _0807685C
- .align 2, 0
-_0807680C: .4byte gUnknown_202DF98
-_08076810: .4byte gUnknown_80FCDE0
-_08076814:
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _08076830
- cmp r4, 0
- beq _080768C8
- ldr r0, _0807682C
- b _0807685C
- .align 2, 0
-_0807682C: .4byte gUnknown_80FCE00
-_08076830:
- adds r0, r5, 0
- bl sub_8045128
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _08076878
- ldr r1, _08076868
- ldr r0, _0807686C
- ldr r0, [r0]
- ldr r2, _08076870
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _08076878
- cmp r6, 0
- beq _080768C8
- ldr r0, _08076874
-_0807685C:
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- b _080768C8
- .align 2, 0
-_08076868: .4byte gUnknown_810ACC0
-_0807686C: .4byte gUnknown_203B418
-_08076870: .4byte 0x00003a0e
-_08076874: .4byte gUnknown_80FCE34
-_08076878:
- adds r6, r7, 0
- adds r6, 0xB0
- ldrb r0, [r6]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08076892
- adds r0, r7, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_08076892:
- adds r0, r5, 0
- bl sub_8041F08
- movs r4, 0
- movs r0, 0x1
- strb r0, [r6]
- ldr r1, _080768D4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xB8
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0xB9
- strb r4, [r0]
- ldr r0, _080768D8
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- bl sub_80418D4
-_080768C8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080768D4: .4byte gUnknown_80F4E2C
-_080768D8: .4byte gUnknown_80FB610
- thumb_func_end sub_80767B0
-
- thumb_func_start sub_80768DC
-sub_80768DC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- asrs r2, 16
- mov r8, r2
- lsls r3, 24
- lsrs r4, r3, 24
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080769BE
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _080769BE
- ldr r6, [r5, 0x70]
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r1, [r0]
- subs r0, r1, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0807692A
- adds r0, r6, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
- b _08076948
-_0807692A:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08076948
- ldr r0, _0807699C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080769A0
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08076948:
- ldr r0, _0807699C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r6, 0
- adds r1, 0xB0
- ldrb r0, [r1]
- cmp r0, 0x7
- beq _080769AC
- movs r4, 0
- movs r0, 0x7
- strb r0, [r1]
- ldr r1, _080769A4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xB8
- strb r0, [r1]
- adds r0, r6, 0
- adds r0, 0xB9
- strb r4, [r0]
- subs r0, 0x5
- mov r1, r8
- str r1, [r0]
- adds r0, r5, 0
- bl nullsub_71
- ldr r0, _080769A8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE94
- b _080769B8
- .align 2, 0
-_0807699C: .4byte gUnknown_202DF98
-_080769A0: .4byte gUnknown_80FA844
-_080769A4: .4byte gUnknown_80F4E58
-_080769A8: .4byte gUnknown_80FB628
-_080769AC:
- ldr r0, _080769C8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080769B8:
- adds r0, r5, 0
- bl sub_80418D4
-_080769BE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080769C8: .4byte gUnknown_80FB64C
- thumb_func_end sub_80768DC
-
- thumb_func_start sub_80769CC
-sub_80769CC:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076A9A
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08076A9A
- ldr r6, [r5, 0x70]
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r1, [r0]
- subs r0, r1, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08076A0C
- adds r0, r6, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
- b _08076A2A
-_08076A0C:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _08076A2A
- ldr r0, _08076A78
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076A7C
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08076A2A:
- ldr r0, _08076A78
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r6, 0
- adds r1, 0xB0
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08076A88
- movs r4, 0
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, _08076A80
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xB8
- strb r0, [r1]
- adds r0, r6, 0
- adds r0, 0xB9
- strb r4, [r0]
- adds r0, r5, 0
- bl nullsub_70
- ldr r0, _08076A84
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE94
- b _08076A94
- .align 2, 0
-_08076A78: .4byte gUnknown_202DF98
-_08076A7C: .4byte gUnknown_80FA844
-_08076A80: .4byte gUnknown_80F4E54
-_08076A84: .4byte gUnknown_80FB668
-_08076A88:
- ldr r0, _08076AA0
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08076A94:
- adds r0, r5, 0
- bl sub_80418D4
-_08076A9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076AA0: .4byte gUnknown_80FB688
- thumb_func_end sub_80769CC
-
- thumb_func_start sub_8076AA4
-sub_8076AA4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076B3A
- ldr r1, [r5, 0x70]
- adds r7, r1, 0
- adds r6, r1, 0
- adds r6, 0xB0
- ldrb r0, [r6]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08076AD8
- adds r0, r1, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_08076AD8:
- ldr r0, _08076B1C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldrb r0, [r6]
- cmp r0, 0x5
- beq _08076B28
- movs r4, 0
- movs r0, 0x5
- strb r0, [r6]
- ldr r1, _08076B20
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xB8
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0xB9
- strb r4, [r0]
- adds r0, r5, 0
- bl nullsub_90
- ldr r0, _08076B24
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- b _08076B34
- .align 2, 0
-_08076B1C: .4byte gUnknown_202DF98
-_08076B20: .4byte gUnknown_80F4E60
-_08076B24: .4byte gUnknown_80FB6A4
-_08076B28:
- ldr r0, _08076B44
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
-_08076B34:
- adds r0, r5, 0
- bl sub_80418D4
-_08076B3A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076B44: .4byte gUnknown_80FB6C0
- thumb_func_end sub_8076AA4
-
- thumb_func_start sub_8076B48
-sub_8076B48:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08076B60
- b _08076C9E
-_08076B60:
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _08076B74
- b _08076C9E
-_08076B74:
- ldr r5, [r6, 0x70]
- ldr r0, [r4, 0x70]
- mov r8, r0
- adds r1, r5, 0
- adds r1, 0xB0
- ldrb r0, [r1]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08076C20
- mov r2, r8
- adds r2, 0xB0
- ldrb r0, [r2]
- cmp r0, 0x3
- beq _08076C20
- cmp r0, 0x4
- beq _08076C20
- movs r0, 0x3
- strb r0, [r1]
- adds r1, 0x8
- movs r0, 0x7F
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0xB9
- strb r7, [r0]
- movs r0, 0x4
- strb r0, [r2]
- ldr r1, _08076C0C
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- mov r1, r8
- adds r1, 0xB8
- strb r0, [r1]
- mov r0, r8
- adds r0, 0xB9
- strb r7, [r0]
- adds r2, r5, 0
- adds r2, 0x9C
- ldr r0, _08076C10
- ldr r1, [r0]
- ldr r0, _08076C14
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- mov r2, r8
- adds r2, 0x9C
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- adds r0, r6, 0
- adds r1, r4, 0
- bl nullsub_69
- ldr r0, _08076C18
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076C1C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_806CE94
- b _08076C98
- .align 2, 0
-_08076C0C: .4byte gUnknown_80F4E5C
-_08076C10: .4byte gUnknown_203B418
-_08076C14: .4byte 0x000037f4
-_08076C18: .4byte gUnknown_202DF98
-_08076C1C: .4byte gUnknown_80FB6D8
-_08076C20:
- adds r7, r5, 0
- adds r7, 0xB0
- ldrb r0, [r7]
- cmp r0, 0x3
- bne _08076C40
- ldr r0, _08076CA8
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076CAC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076C40:
- mov r5, r8
- adds r5, 0xB0
- ldrb r0, [r5]
- cmp r0, 0x3
- bne _08076C60
- ldr r0, _08076CA8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076CAC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076C60:
- ldrb r0, [r7]
- cmp r0, 0x4
- bne _08076C7C
- ldr r0, _08076CA8
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076CB0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076C7C:
- ldrb r0, [r5]
- cmp r0, 0x4
- bne _08076C98
- ldr r0, _08076CA8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076CB0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076C98:
- adds r0, r4, 0
- bl sub_80418D4
-_08076C9E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076CA8: .4byte gUnknown_202DF98
-_08076CAC: .4byte gUnknown_80FB6FC
-_08076CB0: .4byte gUnknown_80FB718
- thumb_func_end sub_8076B48
-
- thumb_func_start sub_8076CB4
-sub_8076CB4:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r5, 0
- movs r6, 0
-_08076CBC:
- ldr r0, _08076D08
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08076D0C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076CFA
- ldr r1, [r4, 0x70]
- adds r2, r1, 0
- adds r2, 0x9C
- ldr r0, [r2]
- cmp r0, r7
- bne _08076CF4
- adds r1, 0xB0
- ldrb r0, [r1]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08076CF2
- strb r6, [r1]
-_08076CF2:
- str r6, [r2]
-_08076CF4:
- adds r0, r4, 0
- bl sub_80418D4
-_08076CFA:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08076CBC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076D08: .4byte gUnknown_203B418
-_08076D0C: .4byte 0x000135cc
- thumb_func_end sub_8076CB4
-
- thumb_func_start sub_8076D10
-sub_8076D10:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076E0E
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08076E0E
- adds r0, r6, 0
- bl sub_8041C08
- ldr r4, [r6, 0x70]
- adds r5, r4, 0
- adds r5, 0xB0
- ldrb r0, [r5]
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08076D54
- adds r0, r4, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
-_08076D54:
- ldr r0, _08076D74
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldrb r0, [r5]
- cmp r0, 0x6
- beq _08076DAC
- movs r0, 0x6
- strb r0, [r5]
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- beq _08076D7C
- ldr r1, _08076D78
- b _08076D7E
- .align 2, 0
-_08076D74: .4byte gUnknown_202DF98
-_08076D78: .4byte gUnknown_80F4EBC
-_08076D7C:
- ldr r1, _08076DA4
-_08076D7E:
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r4, 0
- adds r1, 0xB8
- strb r0, [r1]
- adds r1, r4, 0
- adds r1, 0xB9
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08076DA8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80522F4
- b _08076DB8
- .align 2, 0
-_08076DA4: .4byte gUnknown_80F4EC0
-_08076DA8: .4byte gUnknown_80FB7BC
-_08076DAC:
- ldr r0, _08076E14
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80522F4
-_08076DB8:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- beq _08076E08
- movs r5, 0
- movs r7, 0
-_08076DC2:
- ldr r0, _08076E18
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08076E1C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08076E02
- ldr r1, [r4, 0x70]
- adds r3, r1, 0
- adds r3, 0x78
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _08076E02
- adds r2, r1, 0
- adds r2, 0x80
- ldr r0, [r2]
- cmp r0, r6
- bne _08076E02
- movs r0, 0x6
- strb r0, [r3]
- str r7, [r2]
- adds r0, r1, 0
- adds r0, 0x7C
- strh r7, [r0]
- subs r0, 0x2
- strb r7, [r0]
-_08076E02:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08076DC2
-_08076E08:
- adds r0, r6, 0
- bl sub_80418D4
-_08076E0E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076E14: .4byte gUnknown_80FB7DC
-_08076E18: .4byte gUnknown_203B418
-_08076E1C: .4byte 0x0001357c
- thumb_func_end sub_8076D10
-
- thumb_func_start sub_8076E20
-sub_8076E20:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r9, r3
- ldr r0, [sp, 0x1C]
- ldr r1, [sp, 0x20]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08076E4C
- b _08076F6E
-_08076E4C:
- cmp r5, 0
- beq _08076E64
- ldr r0, _08076E5C
- ldr r1, _08076E60
- ldr r1, [r1]
- bl strcpy
- b _08076E6E
- .align 2, 0
-_08076E5C: .4byte gUnknown_202DE58
-_08076E60: .4byte gUnknown_80FC0C8
-_08076E64:
- ldr r0, _08076EA0
- ldr r1, _08076EA4
- ldr r1, [r1]
- bl strcpy
-_08076E6E:
- cmp r7, 0
- beq _08076EE4
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, r8
- bl sub_8071728
- lsls r0, 24
- cmp r0, 0
- bne _08076F6E
- adds r0, r4, 0
- movs r1, 0xB
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08076EB0
- ldr r0, _08076EA8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076EAC
- b _08076ECE
- .align 2, 0
-_08076EA0: .4byte gUnknown_202DE58
-_08076EA4: .4byte gUnknown_80FC0B8
-_08076EA8: .4byte gUnknown_202DF98
-_08076EAC: .4byte gUnknown_80FD550
-_08076EB0:
- adds r0, r4, 0
- movs r1, 0x9
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08076EE4
- cmp r5, 0
- bne _08076EE4
- ldr r0, _08076EDC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08076EE0
-_08076ECE:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08076F6E
- .align 2, 0
-_08076EDC: .4byte gUnknown_202DF98
-_08076EE0: .4byte gUnknown_80FCA60
-_08076EE4:
- ldr r7, [r4, 0x70]
- ldr r0, _08076F0C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8041F28
- mov r0, r9
- cmp r0, 0x1
- bne _08076F18
- ldr r0, _08076F10
- ldr r1, _08076F14
- ldr r1, [r1]
- bl strcpy
- b _08076F22
- .align 2, 0
-_08076F0C: .4byte gUnknown_202DF98
-_08076F10: .4byte gUnknown_202DEA8
-_08076F14: .4byte gUnknown_80FC0E4
-_08076F18:
- ldr r0, _08076F50
- ldr r1, _08076F54
- ldr r1, [r1]
- bl strcpy
-_08076F22:
- lsls r1, r5, 1
- adds r0, r7, 0
- adds r0, 0x1C
- adds r1, r0, r1
- movs r2, 0
- ldrsh r3, [r1, r2]
- mov r0, r9
- subs r3, r0
- cmp r3, 0
- bge _08076F38
- movs r3, 0
-_08076F38:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _08076F5C
- strh r3, [r1]
- ldr r0, _08076F58
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08076F68
- .align 2, 0
-_08076F50: .4byte gUnknown_202DEA8
-_08076F54: .4byte gUnknown_80FC0D4
-_08076F58: .4byte gUnknown_80FC15C
-_08076F5C:
- ldr r0, _08076F7C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08076F68:
- adds r0, r4, 0
- bl sub_80418D4
-_08076F6E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08076F7C: .4byte gUnknown_80FC274
- thumb_func_end sub_8076E20
-
- thumb_func_start sub_8076F80
-sub_8076F80:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r9, r3
- ldr r0, [sp, 0x1C]
- ldr r1, [sp, 0x20]
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077072
- cmp r5, 0
- beq _08076FC4
- ldr r0, _08076FBC
- ldr r1, _08076FC0
- ldr r1, [r1]
- bl strcpy
- b _08076FCE
- .align 2, 0
-_08076FBC: .4byte gUnknown_202DE58
-_08076FC0: .4byte gUnknown_80FC0AC
-_08076FC4:
- ldr r0, _08077008
- ldr r1, _0807700C
- ldr r1, [r1]
- bl strcpy
-_08076FCE:
- cmp r7, 0
- beq _08076FE2
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, r8
- bl sub_8071728
- lsls r0, 24
- cmp r0, 0
- bne _08077072
-_08076FE2:
- ldr r7, [r4, 0x70]
- ldr r0, _08077010
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8041F4C
- mov r0, r9
- cmp r0, 0x1
- bne _0807701C
- ldr r0, _08077014
- ldr r1, _08077018
- ldr r1, [r1]
- bl strcpy
- b _08077026
- .align 2, 0
-_08077008: .4byte gUnknown_202DE58
-_0807700C: .4byte gUnknown_80FC09C
-_08077010: .4byte gUnknown_202DF98
-_08077014: .4byte gUnknown_202DEA8
-_08077018: .4byte gUnknown_80FC0E4
-_0807701C:
- ldr r0, _08077054
- ldr r1, _08077058
- ldr r1, [r1]
- bl strcpy
-_08077026:
- lsls r1, r5, 1
- adds r0, r7, 0
- adds r0, 0x20
- adds r1, r0, r1
- movs r2, 0
- ldrsh r3, [r1, r2]
- mov r0, r9
- subs r3, r0
- cmp r3, 0
- bge _0807703C
- movs r3, 0
-_0807703C:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _08077060
- strh r3, [r1]
- ldr r0, _0807705C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _0807706C
- .align 2, 0
-_08077054: .4byte gUnknown_202DEA8
-_08077058: .4byte gUnknown_80FC0D4
-_0807705C: .4byte gUnknown_80FC158
-_08077060:
- ldr r0, _08077080
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807706C:
- adds r0, r4, 0
- bl sub_80418D4
-_08077072:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077080: .4byte gUnknown_80FC248
- thumb_func_end sub_8076F80
-
- thumb_func_start sub_8077084
-sub_8077084:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077152
- ldr r7, [r4, 0x70]
- ldr r0, _080770C4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8041F70
- cmp r5, 0
- beq _080770D0
- ldr r0, _080770C8
- ldr r1, _080770CC
- ldr r1, [r1]
- bl strcpy
- b _080770DA
- .align 2, 0
-_080770C4: .4byte gUnknown_202DF98
-_080770C8: .4byte gUnknown_202DE58
-_080770CC: .4byte gUnknown_80FC0C8
-_080770D0:
- ldr r0, _080770EC
- ldr r1, _080770F0
- ldr r1, [r1]
- bl strcpy
-_080770DA:
- cmp r6, 0x1
- bne _080770FC
- ldr r0, _080770F4
- ldr r1, _080770F8
- ldr r1, [r1]
- bl strcpy
- b _08077106
- .align 2, 0
-_080770EC: .4byte gUnknown_202DE58
-_080770F0: .4byte gUnknown_80FC0B8
-_080770F4: .4byte gUnknown_202DEA8
-_080770F8: .4byte gUnknown_80FC0E4
-_080770FC:
- ldr r0, _08077134
- ldr r1, _08077138
- ldr r1, [r1]
- bl strcpy
-_08077106:
- lsls r1, r5, 1
- adds r0, r7, 0
- adds r0, 0x1C
- adds r1, r0, r1
- movs r0, 0
- ldrsh r3, [r1, r0]
- adds r3, r6
- cmp r3, 0x13
- ble _0807711A
- movs r3, 0x14
-_0807711A:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _08077140
- strh r3, [r1]
- ldr r0, _0807713C
- ldr r2, [r0]
- mov r0, r8
- adds r1, r4, 0
- bl sub_80522F4
- b _0807714C
- .align 2, 0
-_08077134: .4byte gUnknown_202DEA8
-_08077138: .4byte gUnknown_80FC0D4
-_0807713C: .4byte gUnknown_80FC13C
-_08077140:
- ldr r0, _0807715C
- ldr r2, [r0]
- mov r0, r8
- adds r1, r4, 0
- bl sub_80522F4
-_0807714C:
- adds r0, r4, 0
- bl sub_80418D4
-_08077152:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807715C: .4byte gUnknown_80FC270
- thumb_func_end sub_8077084
-
- thumb_func_start sub_8077160
-sub_8077160:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807722E
- ldr r7, [r4, 0x70]
- ldr r0, _080771A0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8041F94
- cmp r5, 0
- beq _080771AC
- ldr r0, _080771A4
- ldr r1, _080771A8
- ldr r1, [r1]
- bl strcpy
- b _080771B6
- .align 2, 0
-_080771A0: .4byte gUnknown_202DF98
-_080771A4: .4byte gUnknown_202DE58
-_080771A8: .4byte gUnknown_80FC0AC
-_080771AC:
- ldr r0, _080771C8
- ldr r1, _080771CC
- ldr r1, [r1]
- bl strcpy
-_080771B6:
- cmp r6, 0x1
- bne _080771D8
- ldr r0, _080771D0
- ldr r1, _080771D4
- ldr r1, [r1]
- bl strcpy
- b _080771E2
- .align 2, 0
-_080771C8: .4byte gUnknown_202DE58
-_080771CC: .4byte gUnknown_80FC09C
-_080771D0: .4byte gUnknown_202DEA8
-_080771D4: .4byte gUnknown_80FC0E4
-_080771D8:
- ldr r0, _08077210
- ldr r1, _08077214
- ldr r1, [r1]
- bl strcpy
-_080771E2:
- lsls r1, r5, 1
- adds r0, r7, 0
- adds r0, 0x20
- adds r1, r0, r1
- movs r0, 0
- ldrsh r3, [r1, r0]
- adds r3, r6
- cmp r3, 0x13
- ble _080771F6
- movs r3, 0x14
-_080771F6:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _0807721C
- strh r3, [r1]
- ldr r0, _08077218
- ldr r2, [r0]
- mov r0, r8
- adds r1, r4, 0
- bl sub_80522F4
- b _08077228
- .align 2, 0
-_08077210: .4byte gUnknown_202DEA8
-_08077214: .4byte gUnknown_80FC0D4
-_08077218: .4byte gUnknown_80FC138
-_0807721C:
- ldr r0, _08077238
- ldr r2, [r0]
- mov r0, r8
- adds r1, r4, 0
- bl sub_80522F4
-_08077228:
- adds r0, r4, 0
- bl sub_80418D4
-_0807722E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077238: .4byte gUnknown_80FC21C
- thumb_func_end sub_8077160
-
- thumb_func_start sub_807723C
-sub_807723C:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077258
- adds r0, r4, 0
- movs r1, 0x48
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- bne _0807725C
-_08077258:
- movs r0, 0
- b _0807726C
-_0807725C:
- ldr r0, [r4, 0x70]
- movs r1, 0x28
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bgt _0807726A
- movs r0, 0x2
- b _0807726C
-_0807726A:
- movs r0, 0x1
-_0807726C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807723C
-
- thumb_func_start sub_8077274
-sub_8077274:
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080772B4
- ldr r0, [r5, 0x70]
- adds r4, r0, 0
- ldr r0, _080772BC
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- movs r0, 0x28
- ldrsh r1, [r4, r0]
- adds r1, 0x1
- cmp r1, 0x1
- ble _0807729E
- movs r1, 0x2
-_0807729E:
- movs r2, 0x28
- ldrsh r0, [r4, r2]
- cmp r0, r1
- beq _080772AE
- strh r1, [r4, 0x28]
- adds r0, r5, 0
- bl sub_8041C58
-_080772AE:
- adds r0, r5, 0
- bl sub_80418D4
-_080772B4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080772BC: .4byte gUnknown_202DF98
- thumb_func_end sub_8077274
-
- thumb_func_start sub_80772C0
-sub_80772C0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- adds r5, r1, 0
- adds r4, r2, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x20]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080772E6
- b _08077422
-_080772E6:
- cmp r4, 0
- beq _08077300
- ldr r0, _080772F8
- ldr r1, _080772FC
- ldr r1, [r1]
- bl strcpy
- b _0807730A
- .align 2, 0
-_080772F8: .4byte gUnknown_202DE58
-_080772FC: .4byte gUnknown_80FC0C8
-_08077300:
- ldr r0, _08077340
- ldr r1, _08077344
- ldr r1, [r1]
- bl strcpy
-_0807730A:
- cmp r7, 0xFF
- bgt _08077320
- mov r0, r9
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8071728
- lsls r0, 24
- cmp r0, 0
- beq _08077320
- b _08077422
-_08077320:
- adds r0, r5, 0
- movs r1, 0xB
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08077350
- cmp r7, 0xFF
- bgt _08077350
- ldr r0, _08077348
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807734C
- b _08077376
- .align 2, 0
-_08077340: .4byte gUnknown_202DE58
-_08077344: .4byte gUnknown_80FC0B8
-_08077348: .4byte gUnknown_202DF98
-_0807734C: .4byte gUnknown_80FD550
-_08077350:
- adds r0, r5, 0
- movs r1, 0x9
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807738C
- cmp r4, 0
- bne _0807738C
- cmp r7, 0xFF
- bgt _0807738C
- cmp r6, 0
- beq _08077422
- ldr r0, _08077384
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08077388
-_08077376:
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
- b _08077422
- .align 2, 0
-_08077384: .4byte gUnknown_202DF98
-_08077388: .4byte gUnknown_80FCA60
-_0807738C:
- ldr r0, [r5, 0x70]
- mov r8, r0
- ldr r0, _080773B8
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- lsls r1, r4, 2
- mov r0, r8
- adds r0, 0x2C
- adds r0, r1
- ldr r0, [r0]
- mov r10, r0
- adds r6, r1, 0
- cmp r7, 0xFF
- bgt _080773BC
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8041FD8
- b _080773C4
- .align 2, 0
-_080773B8: .4byte gUnknown_202DF98
-_080773BC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8041FB4
-_080773C4:
- mov r0, r8
- adds r0, 0x2C
- adds r4, r0, r6
- ldr r0, [r4]
- adds r1, r7, 0
- bl sub_8009DA4
- str r0, [r4]
- cmp r0, 0x1
- bgt _080773DC
- movs r0, 0x2
- str r0, [r4]
-_080773DC:
- ldr r0, [r4]
- ldr r1, _080773F0
- cmp r0, r1
- ble _080773E6
- str r1, [r4]
-_080773E6:
- ldr r0, [r4]
- cmp r10, r0
- ble _080773F8
- ldr r0, _080773F4
- b _080773FE
- .align 2, 0
-_080773F0: .4byte 0x000063fd
-_080773F4: .4byte gUnknown_80FC11C
-_080773F8:
- cmp r10, r0
- bge _08077410
- ldr r0, _0807740C
-_080773FE:
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
- b _0807741C
- .align 2, 0
-_0807740C: .4byte gUnknown_80FC118
-_08077410:
- ldr r0, _08077430
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
-_0807741C:
- adds r0, r5, 0
- bl sub_80418D4
-_08077422:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077430: .4byte gUnknown_80FC184
- thumb_func_end sub_80772C0
-
- thumb_func_start sub_8077434
-sub_8077434:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- adds r5, r1, 0
- adds r4, r2, 0
- mov r8, r3
- ldr r0, [sp, 0x20]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807752E
- cmp r4, 0
- beq _08077470
- ldr r0, _08077468
- ldr r1, _0807746C
- ldr r1, [r1]
- bl strcpy
- b _0807747A
- .align 2, 0
-_08077468: .4byte gUnknown_202DE58
-_0807746C: .4byte gUnknown_80FC0AC
-_08077470:
- ldr r0, _080774BC
- ldr r1, _080774C0
- ldr r1, [r1]
- bl strcpy
-_0807747A:
- mov r0, r8
- cmp r0, 0xFF
- bgt _08077490
- mov r0, r9
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_8071728
- lsls r0, 24
- cmp r0, 0
- bne _0807752E
-_08077490:
- ldr r7, [r5, 0x70]
- ldr r0, _080774C4
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- lsls r1, r4, 2
- adds r0, r7, 0
- adds r0, 0x34
- adds r0, r1
- ldr r0, [r0]
- mov r10, r0
- adds r6, r1, 0
- mov r0, r8
- cmp r0, 0xFF
- bgt _080774C8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804201C
- b _080774D0
- .align 2, 0
-_080774BC: .4byte gUnknown_202DE58
-_080774C0: .4byte gUnknown_80FC09C
-_080774C4: .4byte gUnknown_202DF98
-_080774C8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8041FFC
-_080774D0:
- adds r0, r7, 0
- adds r0, 0x34
- adds r4, r0, r6
- ldr r0, [r4]
- mov r1, r8
- bl sub_8009DA4
- str r0, [r4]
- cmp r0, 0x1
- bgt _080774E8
- movs r0, 0x2
- str r0, [r4]
-_080774E8:
- ldr r0, [r4]
- ldr r1, _080774FC
- cmp r0, r1
- ble _080774F2
- str r1, [r4]
-_080774F2:
- ldr r0, [r4]
- cmp r10, r0
- ble _08077504
- ldr r0, _08077500
- b _0807750A
- .align 2, 0
-_080774FC: .4byte 0x000063fd
-_08077500: .4byte gUnknown_80FC114
-_08077504:
- cmp r10, r0
- bge _0807751C
- ldr r0, _08077518
-_0807750A:
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
- b _08077528
- .align 2, 0
-_08077518: .4byte gUnknown_80FC0FC
-_0807751C:
- ldr r0, _0807753C
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
-_08077528:
- adds r0, r5, 0
- bl sub_80418D4
-_0807752E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807753C: .4byte gUnknown_80FC180
- thumb_func_end sub_8077434
-
- thumb_func_start sub_8077540
-sub_8077540:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080775D2
- ldr r6, [r4, 0x70]
- ldr r0, _08077578
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8042040
- cmp r5, 0
- beq _08077584
- ldr r0, _0807757C
- ldr r1, _08077580
- ldr r1, [r1]
- bl strcpy
- b _0807758E
- .align 2, 0
-_08077578: .4byte gUnknown_202DF98
-_0807757C: .4byte gUnknown_202DE58
-_08077580: .4byte gUnknown_80FC090
-_08077584:
- ldr r0, _080775B4
- ldr r1, _080775B8
- ldr r1, [r1]
- bl strcpy
-_0807758E:
- lsls r0, r5, 1
- adds r1, r6, 0
- adds r1, 0x24
- adds r1, r0
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x13
- bgt _080775C0
- adds r0, r2, 0x1
- strh r0, [r1]
- ldr r0, _080775BC
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080775CC
- .align 2, 0
-_080775B4: .4byte gUnknown_202DE58
-_080775B8: .4byte gUnknown_80FC084
-_080775BC: .4byte gUnknown_80FC1C4
-_080775C0:
- ldr r0, _080775D8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080775CC:
- adds r0, r4, 0
- bl sub_80418D4
-_080775D2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080775D8: .4byte gUnknown_80FC218
- thumb_func_end sub_8077540
-
- thumb_func_start sub_80775DC
-sub_80775DC:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r3, 24
- lsrs r4, r3, 24
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080776B6
- cmp r6, 0
- beq _0807760C
- ldr r0, _08077604
- ldr r1, _08077608
- ldr r1, [r1]
- bl strcpy
- b _08077616
- .align 2, 0
-_08077604: .4byte gUnknown_202DE58
-_08077608: .4byte gUnknown_80FC090
-_0807760C:
- ldr r0, _08077654
- ldr r1, _08077658
- ldr r1, [r1]
- bl strcpy
-_08077616:
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8071728
- lsls r0, 24
- cmp r0, 0
- bne _080776B6
- adds r0, r5, 0
- movs r1, 0x1E
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08077664
- cmp r6, 0
- bne _08077664
- cmp r4, 0
- beq _080776B6
- ldr r0, _0807765C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08077660
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080776B6
- .align 2, 0
-_08077654: .4byte gUnknown_202DE58
-_08077658: .4byte gUnknown_80FC084
-_0807765C: .4byte gUnknown_202DF98
-_08077660: .4byte gUnknown_80FCA64
-_08077664:
- ldr r4, [r5, 0x70]
- ldr r0, _0807769C
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8042060
- lsls r0, r6, 1
- adds r4, 0x24
- adds r1, r4, r0
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080776A4
- subs r0, r2, 0x1
- strh r0, [r1]
- ldr r0, _080776A0
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080776B0
- .align 2, 0
-_0807769C: .4byte gUnknown_202DF98
-_080776A0: .4byte gUnknown_80FC1A4
-_080776A4:
- ldr r0, _080776BC
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080776B0:
- adds r0, r5, 0
- bl sub_80418D4
-_080776B6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080776BC: .4byte gUnknown_80FC1F0
- thumb_func_end sub_80775DC
-
- thumb_func_start sub_80776C0
-sub_80776C0:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077776
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08077776
- adds r0, r4, 0
- movs r1, 0x1F
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08077718
- ldr r0, _08077710
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- cmp r6, 0
- beq _08077776
- ldr r0, _08077714
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077776
- .align 2, 0
-_08077710: .4byte gUnknown_202DF98
-_08077714: .4byte gUnknown_80FCC18
-_08077718:
- ldr r6, [r4, 0x70]
- ldr r0, _08077758
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r6, 0
- adds r1, 0xBC
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08077764
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0807775C
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xBD
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80420A0
- ldr r0, _08077760
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077770
- .align 2, 0
-_08077758: .4byte gUnknown_202DF98
-_0807775C: .4byte gUnknown_80F4E3C
-_08077760: .4byte gUnknown_80FB2E0
-_08077764:
- ldr r0, _0807777C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08077770:
- adds r0, r4, 0
- bl sub_80418D4
-_08077776:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807777C: .4byte gUnknown_80FB300
- thumb_func_end sub_80776C0
-
- thumb_func_start sub_8077780
-sub_8077780:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080777A2
- b _080778F0
-_080777A2:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r10
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- beq _080777B4
- b _080778F0
-_080777B4:
- adds r0, r5, 0
- movs r1, 0x16
- bl sub_8071824
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080777EC
- ldr r0, _080777E4
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- mov r0, r10
- cmp r0, 0
- bne _080777D6
- b _080778F0
-_080777D6:
- ldr r0, _080777E8
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080778F0
- .align 2, 0
-_080777E4: .4byte gUnknown_202DF98
-_080777E8: .4byte gUnknown_80FCBF8
-_080777EC:
- movs r6, 0x1
- ldr r1, [r5, 0x70]
- mov r8, r1
- ldr r0, _08077844
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- mov r1, r8
- adds r1, 0xAC
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _08077850
- movs r0, 0x4
- strb r0, [r1]
- ldr r1, _08077848
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- mov r1, r8
- adds r1, 0xAD
- strb r0, [r1]
- mov r0, r8
- adds r0, 0xAE
- strb r4, [r0]
- adds r0, 0x1
- strb r4, [r0]
- movs r6, 0
- ldr r0, _0807784C
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- bl sub_8041C1C
- adds r0, r5, 0
- bl sub_8070774
- b _0807785C
- .align 2, 0
-_08077844: .4byte gUnknown_202DF98
-_08077848: .4byte gUnknown_80F4E50
-_0807784C: .4byte gUnknown_80FB2AC
-_08077850:
- ldr r0, _08077900
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0807785C:
- adds r0, r5, 0
- movs r1, 0x19
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080778EA
- cmp r6, 0
- bne _080778EA
- movs r3, 0
- mov r9, r3
- movs r6, 0
-_08077874:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- ldr r1, _08077904
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r4, [r0, 0x10]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080778E4
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080778E4
- mov r0, r9
- cmp r0, 0
- bne _080778CA
- movs r1, 0x1
- mov r9, r1
- ldr r0, _08077908
- mov r1, r8
- movs r2, 0
- bl sub_80708B4
- ldr r0, _0807790C
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080778CA:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807167C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080778E4
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r10
- bl sub_8077780
-_080778E4:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08077874
-_080778EA:
- adds r0, r5, 0
- bl sub_80418D4
-_080778F0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077900: .4byte gUnknown_80FB2CC
-_08077904: .4byte gUnknown_80F4448
-_08077908: .4byte gUnknown_202DF98
-_0807790C: .4byte gUnknown_80FF01C
- thumb_func_end sub_8077780
-
- thumb_func_start sub_8077910
-sub_8077910:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080779DE
- cmp r4, 0
- bne _08077940
- ldr r1, _08077964
- adds r0, r5, 0
- movs r2, 0
- bl sub_808417C
- adds r4, r0, 0x1
-_08077940:
- ldr r6, [r5, 0x70]
- ldr r0, _08077968
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- bl sub_8070774
- adds r7, r0, 0
- cmp r7, 0x4
- bne _08077970
- mov r0, r9
- cmp r0, 0
- beq _080779D8
- ldr r0, _0807796C
- b _0807799E
- .align 2, 0
-_08077964: .4byte gUnknown_80F4E40
-_08077968: .4byte gUnknown_202DF98
-_0807796C: .4byte gUnknown_80FC2B8
-_08077970:
- movs r2, 0
- movs r0, 0x84
- lsls r0, 1
- adds r1, r6, r0
- b _08077988
-_0807797A:
- adds r2, 0x1
- cmp r2, 0x4
- bgt _08077990
- movs r1, 0x84
- lsls r1, 1
- adds r0, r6, r1
- adds r1, r0, r2
-_08077988:
- ldrb r0, [r1]
- cmp r0, 0
- bne _0807797A
- strb r4, [r1]
-_08077990:
- adds r0, r5, 0
- bl sub_8070774
- adds r4, r0, 0
- cmp r7, r4
- bne _080779B0
- ldr r0, _080779AC
-_0807799E:
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- b _080779D8
- .align 2, 0
-_080779AC: .4byte gUnknown_80FC298
-_080779B0:
- adds r0, r5, 0
- bl sub_8041CB8
- ldr r1, _080779EC
- lsls r0, r4, 2
- adds r0, r1
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- adds r1, r6, 0
- adds r1, 0xF8
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- strb r2, [r0]
-_080779D8:
- adds r0, r5, 0
- bl sub_80418D4
-_080779DE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080779EC: .4byte gUnknown_80FA124
- thumb_func_end sub_8077910
-
- thumb_func_start sub_80779F0
-sub_80779F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- adds r5, r1, 0
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077AD0
- mov r0, r10
- adds r1, r5, 0
- mov r2, r9
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08077AD0
- ldr r7, [r5, 0x70]
- ldr r0, _08077A48
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- bl sub_8070774
- str r0, [sp]
- cmp r0, 0
- bne _08077A50
- mov r0, r9
- cmp r0, 0
- beq _08077ACA
- ldr r0, _08077A4C
- b _08077AA2
- .align 2, 0
-_08077A48: .4byte gUnknown_202DF98
-_08077A4C: .4byte gUnknown_80FC2D8
-_08077A50:
- movs r0, 0
- cmp r0, r8
- bge _08077A8C
-_08077A56:
- movs r1, 0
- adds r6, r0, 0x1
-_08077A5A:
- ldr r2, _08077A78
- adds r0, r7, r2
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- bne _08077A80
- adds r0, r5, 0
- ldr r1, _08077A7C
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- strb r0, [r4]
- b _08077A86
- .align 2, 0
-_08077A78: .4byte 0x0000010d
-_08077A7C: .4byte gUnknown_80F4E48
-_08077A80:
- adds r1, 0x1
- cmp r1, 0x4
- ble _08077A5A
-_08077A86:
- adds r0, r6, 0
- cmp r0, r8
- blt _08077A56
-_08077A8C:
- adds r0, r5, 0
- bl sub_8070774
- adds r4, r0, 0
- ldr r0, [sp]
- cmp r0, r4
- bne _08077AB4
- mov r2, r9
- cmp r2, 0
- beq _08077ACA
- ldr r0, _08077AB0
-_08077AA2:
- ldr r2, [r0]
- mov r0, r10
- adds r1, r5, 0
- bl sub_80522F4
- b _08077ACA
- .align 2, 0
-_08077AB0: .4byte gUnknown_80FC298
-_08077AB4:
- adds r0, r5, 0
- bl sub_8041CCC
- ldr r0, _08077AE0
- lsls r1, r4, 2
- adds r1, r0
- ldr r2, [r1]
- mov r0, r10
- adds r1, r5, 0
- bl sub_80522F4
-_08077ACA:
- adds r0, r5, 0
- bl sub_80418D4
-_08077AD0:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077AE0: .4byte gUnknown_80FA124
- thumb_func_end sub_80779F0
-
- thumb_func_start sub_8077AE4
-sub_8077AE4:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r7, r5, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077BAA
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08077BAA
- ldr r0, _08077B2C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- movs r1, 0x12
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08077B34
- cmp r5, 0
- beq _08077BAA
- ldr r0, _08077B30
- b _08077B48
- .align 2, 0
-_08077B2C: .4byte gUnknown_202DF98
-_08077B30: .4byte gUnknown_80FD500
-_08077B34:
- adds r0, r4, 0
- movs r1, 0x40
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08077B58
- cmp r7, 0
- beq _08077BAA
- ldr r0, _08077B54
-_08077B48:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077BAA
- .align 2, 0
-_08077B54: .4byte gUnknown_80FCDB4
-_08077B58:
- adds r0, r4, 0
- bl sub_8041BE8
- ldr r5, [r4, 0x70]
- adds r1, r5, 0
- adds r1, 0xBC
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08077B98
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, _08077B90
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xBD
- strb r0, [r1]
- ldr r0, _08077B94
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077BA4
- .align 2, 0
-_08077B90: .4byte gUnknown_80F4E4C
-_08077B94: .4byte gUnknown_80FB25C
-_08077B98:
- ldr r0, _08077BB0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08077BA4:
- adds r0, r4, 0
- bl sub_80418D4
-_08077BAA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077BB0: .4byte gUnknown_80FB27C
- thumb_func_end sub_8077AE4
-
- thumb_func_start sub_8077BB4
-sub_8077BB4:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077C3A
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08077C3A
- ldr r5, [r4, 0x70]
- ldr r0, _08077C1C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xBC
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _08077C28
- movs r0, 0x4
- strb r0, [r1]
- ldr r1, _08077C20
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xBD
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8041BF8
- ldr r0, _08077C24
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077C34
- .align 2, 0
-_08077C1C: .4byte gUnknown_202DF98
-_08077C20: .4byte gUnknown_80F4ECC
-_08077C24: .4byte gUnknown_80FB940
-_08077C28:
- ldr r0, _08077C40
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08077C34:
- adds r0, r4, 0
- bl sub_80418D4
-_08077C3A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08077C40: .4byte gUnknown_80FB960
- thumb_func_end sub_8077BB4
-
- thumb_func_start sub_8077C44
-sub_8077C44:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r0
- adds r5, r1, 0
- mov r10, r2
- mov r8, r3
- ldr r0, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08077C6E
- b _08077DC8
-_08077C6E:
- ldr r4, [r5, 0x70]
- movs r0, 0x10
- ldrsh r7, [r4, r0]
- movs r1, 0xE
- ldrsh r6, [r4, r1]
- ldrh r2, [r4, 0xE]
- adds r0, r6, 0
- ldrh r1, [r4, 0x10]
- mov r12, r1
- adds r1, r7, 0
- cmp r0, r1
- bne _08077C8C
- mov r0, r8
- cmp r0, 0
- bgt _08077C92
-_08077C8C:
- mov r3, r10
- cmp r3, 0
- bne _08077CD0
-_08077C92:
- ldrh r1, [r4, 0x10]
- add r1, r8
- strh r1, [r4, 0x10]
- ldrh r0, [r4, 0xE]
- add r0, r8
- strh r0, [r4, 0xE]
- lsls r1, 16
- asrs r1, 16
- ldr r0, _08077CCC
- cmp r1, r0
- ble _08077CAA
- strh r0, [r4, 0x10]
-_08077CAA:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- movs r3, 0x10
- ldrsh r2, [r4, r3]
- ldrh r1, [r4, 0x10]
- cmp r0, r2
- ble _08077CBA
- strh r1, [r4, 0xE]
-_08077CBA:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, r2
- bne _08077CC4
- adds r6, r0, 0
-_08077CC4:
- adds r0, r5, 0
- bl sub_8041C94
- b _08077CE8
- .align 2, 0
-_08077CCC: .4byte 0x000003e7
-_08077CD0:
- mov r3, r10
- adds r0, r2, r3
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r1
- ble _08077CE2
- mov r0, r12
- strh r0, [r4, 0xE]
-_08077CE2:
- adds r0, r5, 0
- bl sub_8041CA8
-_08077CE8:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- subs r7, r0, r7
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- subs r6, r0, r6
- adds r0, r5, 0
- bl sub_80418D4
- ldr r0, _08077D1C
- str r6, [r0]
- str r7, [r0, 0x4]
- ldr r0, _08077D20
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- cmp r6, 0
- bne _08077D28
- cmp r7, 0
- bne _08077D28
- ldr r3, [sp]
- cmp r3, 0
- beq _08077DC8
- ldr r0, _08077D24
- b _08077D3A
- .align 2, 0
-_08077D1C: .4byte gUnknown_202DE30
-_08077D20: .4byte gUnknown_202DF98
-_08077D24: .4byte gUnknown_80FB204
-_08077D28:
- mov r0, r8
- cmp r0, 0
- bne _08077D4C
- cmp r6, 0
- bne _08077D4C
- ldr r1, [sp]
- cmp r1, 0
- beq _08077DC8
- ldr r0, _08077D48
-_08077D3A:
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
- b _08077DC8
- .align 2, 0
-_08077D48: .4byte gUnknown_80FB21C
-_08077D4C:
- movs r2, 0
- mov r8, r2
- cmp r7, 0
- beq _08077D6E
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _08077D62
- mov r8, r7
-_08077D62:
- ldr r0, _08077DA0
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
-_08077D6E:
- cmp r6, 0
- beq _08077DB4
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _08077D80
- mov r8, r6
-_08077D80:
- mov r3, r10
- cmp r3, 0
- beq _08077DB4
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08077DA8
- ldr r0, _08077DA4
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
- b _08077DB4
- .align 2, 0
-_08077DA0: .4byte gUnknown_80FB240
-_08077DA4: .4byte gUnknown_80FB1E0
-_08077DA8:
- ldr r0, _08077DD8
- ldr r2, [r0]
- mov r0, r9
- adds r1, r5, 0
- bl sub_80522F4
-_08077DB4:
- mov r3, r8
- cmp r3, 0
- beq _08077DC8
- movs r3, 0x1
- negs r3, r3
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_803ED30
-_08077DC8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08077DD8: .4byte gUnknown_80FB1C4
- thumb_func_end sub_8077C44
-
- thumb_func_start sub_8077DDC
-sub_8077DDC:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077E3C
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0xF1
- ldrb r0, [r1]
- cmp r0, 0
- beq _08077E0C
- ldr r0, _08077E08
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077E3C
- .align 2, 0
-_08077E08: .4byte gUnknown_80FAEF0
-_08077E0C:
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_75
- ldr r0, _08077E44
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08077E48
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0
- bl sub_803F580
- bl sub_8040A84
- adds r0, r4, 0
- bl sub_80418D4
-_08077E3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08077E44: .4byte gUnknown_202DF98
-_08077E48: .4byte gUnknown_80FAEA0
- thumb_func_end sub_8077DDC
-
- thumb_func_start sub_8077E4C
-sub_8077E4C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077EC0
- bl sub_8043D10
- lsls r0, 24
- cmp r0, 0
- beq _08077E70
- ldr r0, _08077E6C
- b _08077E7E
- .align 2, 0
-_08077E6C: .4byte gUnknown_80FAF3C
-_08077E70:
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0xF2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08077E90
- ldr r0, _08077E8C
-_08077E7E:
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077EC0
- .align 2, 0
-_08077E8C: .4byte gUnknown_80FAF1C
-_08077E90:
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_76
- ldr r0, _08077EC8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08077ECC
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0
- bl sub_803F580
- bl sub_8040A84
- adds r0, r4, 0
- bl sub_80418D4
-_08077EC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08077EC8: .4byte gUnknown_202DF98
-_08077ECC: .4byte gUnknown_80FAEC8
- thumb_func_end sub_8077E4C
-
- thumb_func_start sub_8077ED0
-sub_8077ED0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08077F30
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0xF0
- ldrb r0, [r1]
- cmp r0, 0
- beq _08077F00
- ldr r0, _08077EFC
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08077F30
- .align 2, 0
-_08077EFC: .4byte gUnknown_80FAFD0
-_08077F00:
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_77
- ldr r0, _08077F38
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08077F3C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0
- bl sub_803F580
- bl sub_8040A84
- adds r0, r4, 0
- bl sub_80418D4
-_08077F30:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08077F38: .4byte gUnknown_202DF98
-_08077F3C: .4byte gUnknown_80FAFAC
- thumb_func_end sub_8077ED0
-
- thumb_func_start sub_8077F40
-sub_8077F40:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- mov r9, r6
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08077F62
- b _08078068
-_08077F62:
- adds r0, r5, 0
- bl sub_80450F8
- mov r10, r0
- cmp r0, 0x1
- beq _08077F70
- b _08078068
-_08077F70:
- ldr r7, [r4, 0x70]
- cmp r5, r4
- bne _08077F88
- cmp r6, 0
- beq _08078068
- ldr r0, _08077F84
- ldr r2, [r0]
- adds r0, r4, 0
- b _08078022
- .align 2, 0
-_08077F84: .4byte gUnknown_8100610
-_08077F88:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r9
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08078068
- ldr r0, _08077FC0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8071858
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0
- beq _08077FC8
- mov r0, r9
- cmp r0, 0
- beq _08078068
- ldr r0, _08077FC4
- b _0807801E
- .align 2, 0
-_08077FC0: .4byte gUnknown_202DF98
-_08077FC4: .4byte gUnknown_8100640
-_08077FC8:
- adds r6, r7, 0
- adds r6, 0xD0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0807801C
- cmp r0, 0x2
- bne _08077FE2
- ldr r0, _08078014
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08077FE2:
- mov r1, r10
- strb r1, [r6]
- ldr r1, _08078018
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xD9
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0xDA
- mov r6, r8
- strb r6, [r0]
- adds r0, r4, 0
- bl nullsub_78
- adds r1, r7, 0
- adds r1, 0xD8
- movs r0, 0xFF
- strb r0, [r1]
- movs r2, 0
- adds r3, r1, 0
- b _08078030
- .align 2, 0
-_08078014: .4byte gUnknown_80FAA8C
-_08078018: .4byte gUnknown_80F4EB0
-_0807801C:
- ldr r0, _0807802C
-_0807801E:
- ldr r2, [r0]
- adds r0, r5, 0
-_08078022:
- adds r1, r4, 0
- bl sub_80522F4
- b _08078068
- .align 2, 0
-_0807802C: .4byte gUnknown_80FAE7C
-_08078030:
- ldr r0, _08078078
- ldr r0, [r0]
- lsls r1, r2, 2
- ldr r6, _0807807C
- adds r0, r6
- adds r0, r1
- ldr r0, [r0]
- cmp r5, r0
- bne _08078050
- strb r2, [r3]
- ldr r0, [r5, 0x70]
- adds r1, r7, 0
- adds r1, 0xD4
- adds r0, 0x98
- ldr r0, [r0]
- str r0, [r1]
-_08078050:
- adds r2, 0x1
- cmp r2, 0x13
- ble _08078030
- ldr r0, _08078080
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- adds r0, r4, 0
- bl sub_80418D4
-_08078068:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078078: .4byte gUnknown_203B418
-_0807807C: .4byte 0x000135cc
-_08078080: .4byte gUnknown_80FAE58
- thumb_func_end sub_8077F40
-
- thumb_func_start sub_8078084
-sub_8078084:
- push {r4-r6,lr}
- ldr r6, [r0, 0x70]
- movs r5, 0
-_0807808A:
- ldr r0, _080780DC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080780E0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080780D0
- ldr r1, [r4, 0x70]
- adds r3, r1, 0
- adds r3, 0xD0
- ldrb r0, [r3]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080780D0
- adds r0, r1, 0
- adds r0, 0xD4
- adds r1, r6, 0
- adds r1, 0x98
- ldr r2, [r0]
- ldr r0, [r1]
- cmp r2, r0
- bne _080780D0
- movs r0, 0
- strb r0, [r3]
- adds r0, r4, 0
- bl sub_80418D4
-_080780D0:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807808A
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080780DC: .4byte gUnknown_203B418
-_080780E0: .4byte 0x000135cc
- thumb_func_end sub_8078084
-
- thumb_func_start sub_80780E4
-sub_80780E4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080781C4
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080781C4
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080781C4
- ldr r6, [r4, 0x70]
- ldr r0, _0807816C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r7, r6, 0
- adds r7, 0xD0
- ldrb r0, [r7]
- cmp r0, 0x2
- beq _08078178
- cmp r0, 0x1
- bne _08078134
- ldr r0, _08078170
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08078134:
- movs r0, 0
- mov r8, r0
- movs r0, 0x2
- strb r0, [r7]
- ldr r1, _08078174
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xD9
- strb r0, [r1]
- adds r0, r6, 0
- adds r0, 0xDA
- mov r1, r8
- strb r1, [r0]
- adds r0, r5, 0
- bl nullsub_74
- adds r1, r6, 0
- adds r1, 0xD8
- movs r0, 0xFF
- strb r0, [r1]
- movs r2, 0
- adds r3, r1, 0
- b _0807818C
- .align 2, 0
-_0807816C: .4byte gUnknown_202DF98
-_08078170: .4byte gUnknown_80FA79C
-_08078174: .4byte gUnknown_80F4EF0
-_08078178:
- ldr r0, _08078188
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080781C4
- .align 2, 0
-_08078188: .4byte gUnknown_80FBB78
-_0807818C:
- ldr r0, _080781D0
- ldr r0, [r0]
- lsls r1, r2, 2
- ldr r7, _080781D4
- adds r0, r7
- adds r0, r1
- ldr r0, [r0]
- cmp r5, r0
- bne _080781AC
- strb r2, [r3]
- ldr r0, [r5, 0x70]
- adds r1, r6, 0
- adds r1, 0xD4
- adds r0, 0x98
- ldr r0, [r0]
- str r0, [r1]
-_080781AC:
- adds r2, 0x1
- cmp r2, 0x13
- ble _0807818C
- ldr r0, _080781D8
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- bl sub_80418D4
-_080781C4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080781D0: .4byte gUnknown_203B418
-_080781D4: .4byte 0x000135cc
-_080781D8: .4byte gUnknown_80FBB4C
- thumb_func_end sub_80780E4
-
- thumb_func_start sub_80781DC
-sub_80781DC:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078242
- ldr r5, [r4, 0x70]
- ldr r0, _08078228
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xDC
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08078230
- movs r0, 0x1
- strb r0, [r1]
- adds r1, r6, 0x1
- adds r0, r5, 0
- adds r0, 0xDD
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_8041CDC
- ldr r0, _0807822C
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _0807823C
- .align 2, 0
-_08078228: .4byte gUnknown_202DF98
-_0807822C: .4byte gUnknown_80FB73C
-_08078230:
- ldr r0, _08078248
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807823C:
- adds r0, r4, 0
- bl sub_80418D4
-_08078242:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078248: .4byte gUnknown_80FB764
- thumb_func_end sub_80781DC
-
- thumb_func_start sub_807824C
-sub_807824C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r7, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080782C2
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _080782C2
- ldr r5, [r4, 0x70]
- ldr r0, _080782A8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xDC
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _080782B0
- movs r0, 0x2
- strb r0, [r1]
- adds r1, r7, 0x1
- adds r0, r5, 0
- adds r0, 0xDD
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_8041CEC
- ldr r0, _080782AC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080782BC
- .align 2, 0
-_080782A8: .4byte gUnknown_202DF98
-_080782AC: .4byte gUnknown_80FB780
-_080782B0:
- ldr r0, _080782C8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080782BC:
- adds r0, r4, 0
- bl sub_80418D4
-_080782C2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080782C8: .4byte gUnknown_80FB7A0
- thumb_func_end sub_807824C
-
- thumb_func_start sub_80782CC
-sub_80782CC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807833E
- ldr r5, [r4, 0x70]
- ldr r0, _08078320
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xDC
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _0807832C
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _08078324
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xDD
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_79
- ldr r0, _08078328
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08078338
- .align 2, 0
-_08078320: .4byte gUnknown_202DF98
-_08078324: .4byte gUnknown_80F4EC4
-_08078328: .4byte gUnknown_80FB8BC
-_0807832C:
- ldr r0, _08078344
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08078338:
- adds r0, r4, 0
- bl sub_80418D4
-_0807833E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08078344: .4byte gUnknown_80FB8E4
- thumb_func_end sub_80782CC
-
- thumb_func_start sub_8078348
-sub_8078348:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080783BA
- ldr r5, [r4, 0x70]
- ldr r0, _0807839C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xDC
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _080783A8
- movs r0, 0x4
- strb r0, [r1]
- ldr r1, _080783A0
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xDD
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_80
- ldr r0, _080783A4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080783B4
- .align 2, 0
-_0807839C: .4byte gUnknown_202DF98
-_080783A0: .4byte gUnknown_80F4EC8
-_080783A4: .4byte gUnknown_80FB900
-_080783A8:
- ldr r0, _080783C0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080783B4:
- adds r0, r4, 0
- bl sub_80418D4
-_080783BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080783C0: .4byte gUnknown_80FB924
- thumb_func_end sub_8078348
-
- thumb_func_start sub_80783C4
-sub_80783C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- adds r5, r0, 0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x18]
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _080783E8
- b _0807856A
-_080783E8:
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- beq _080783FA
- b _0807856A
-_080783FA:
- ldr r4, [r7, 0x70]
- ldr r0, _08078420
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r4, 0
- adds r1, 0xC8
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _08078428
- ldr r0, _08078424
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _0807856A
- .align 2, 0
-_08078420: .4byte gUnknown_202DF98
-_08078424: .4byte gUnknown_80FB994
-_08078428:
- movs r6, 0
- mov r8, r1
- movs r0, 0xC9
- adds r0, r4
- mov r9, r0
- movs r1, 0xCA
- adds r1, r4
- mov r10, r1
- adds r2, r4, 0
- adds r2, 0xCB
- str r2, [sp, 0x1C]
- adds r4, 0xCC
- str r4, [sp, 0x20]
-_08078442:
- ldr r0, _0807857C
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, _08078580
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078480
- cmp r7, r4
- beq _08078480
- ldr r0, [r4, 0x70]
- adds r0, 0xC8
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08078480
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807A5D0
- movs r0, 0x2A
- bl sub_803E46C
-_08078480:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08078442
- adds r0, r7, 0
- bl sub_8041D38
- ldr r0, _08078584
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- mov r4, r8
- ldrb r0, [r4]
- cmp r0, 0
- beq _080784A8
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0x2
- bl sub_807A5D0
-_080784A8:
- movs r4, 0
- movs r0, 0x2
- mov r1, r8
- strb r0, [r1]
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x6]
- mov r2, r9
- strb r0, [r2]
- mov r3, sp
- ldrb r0, [r3, 0x18]
- mov r3, r10
- strb r0, [r3]
- ldr r1, _08078588
- adds r0, r7, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- ldr r1, [sp, 0x1C]
- strb r0, [r1]
- ldr r2, [sp, 0x20]
- strb r4, [r2]
- adds r0, r7, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- bl sub_806CCB4
- ldr r0, _0807857C
- ldr r0, [r0]
- ldr r3, _0807858C
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08078590
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80522F4
- movs r6, 0
- mov r8, r6
-_08078502:
- ldr r0, _0807857C
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r4, _08078580
- adds r0, r4
- adds r0, r1
- ldr r0, [r0]
- mov r9, r0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807855E
- mov r5, r9
- ldr r4, [r5, 0x70]
- adds r1, r4, 0
- adds r1, 0x78
- movs r0, 0x6
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x80
- mov r1, r8
- str r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _0807855E
- mov r1, sp
- adds r0, r4, 0
- adds r0, 0x44
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, r9
- movs r1, 0x1
- bl sub_807ADB8
- adds r1, r4, 0
- adds r1, 0x44
- mov r0, sp
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
-_0807855E:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08078502
- adds r0, r7, 0
- bl sub_80418D4
-_0807856A:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807857C: .4byte gUnknown_203B418
-_08078580: .4byte 0x000135cc
-_08078584: .4byte gUnknown_202DF98
-_08078588: .4byte gUnknown_80F4ED0
-_0807858C: .4byte 0x000037fc
-_08078590: .4byte gUnknown_80FB978
- thumb_func_end sub_80783C4
-
- thumb_func_start sub_8078594
-sub_8078594:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807866E
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807866E
- ldr r4, [r5, 0x70]
- ldr r7, [r6, 0x70]
- adds r0, r5, 0
- movs r1, 0xE
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _08078640
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _0807866E
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_807A5D0
- adds r0, r6, 0
- bl sub_8041D48
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0xE]
- cmp r0, 0
- bne _080785F6
- movs r0, 0x1
- strh r0, [r4, 0xE]
-_080785F6:
- adds r1, r7, 0
- adds r1, 0xC8
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _0807861C
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _08078634
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xCB
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0
- strb r0, [r1]
-_0807861C:
- ldr r0, _08078638
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807863C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80522F4
- b _08078668
- .align 2, 0
-_08078634: .4byte gUnknown_80F4EA4
-_08078638: .4byte gUnknown_202DF98
-_0807863C: .4byte gUnknown_80FB004
-_08078640:
- ldr r0, _08078674
- ldr r4, [r0]
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077084
- adds r0, r5, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8077160
- adds r0, r5, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80779F0
-_08078668:
- adds r0, r6, 0
- bl sub_80418D4
-_0807866E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078674: .4byte gUnknown_8106A4C
- thumb_func_end sub_8078594
-
- thumb_func_start sub_8078678
-sub_8078678:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078732
- adds r0, r7, 0
- adds r1, r6, 0
- movs r2, 0x3
- bl sub_807A5D0
- movs r5, 0
-_0807869A:
- ldr r0, _0807873C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08078740
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080786C8
- ldr r0, [r4, 0x70]
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080786C8
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807A5D0
-_080786C8:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807869A
- adds r0, r6, 0
- bl nullsub_81
- ldr r5, [r6, 0x70]
- mov r8, r5
- adds r1, r5, 0
- adds r1, 0xC8
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _08078700
- movs r4, 0
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _08078744
- adds r0, r6, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xCB
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0xCC
- strb r4, [r0]
-_08078700:
- ldr r0, _0807873C
- ldr r1, [r0]
- ldr r2, _08078748
- adds r0, r1, r2
- str r6, [r0]
- ldr r0, _0807874C
- adds r1, r0
- mov r0, r8
- adds r0, 0x98
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _08078750
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08078754
- ldr r2, [r0]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80522F4
- adds r0, r6, 0
- bl sub_80418D4
-_08078732:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807873C: .4byte gUnknown_203B418
-_08078740: .4byte 0x000135cc
-_08078744: .4byte gUnknown_80F4EA8
-_08078748: .4byte 0x00017b30
-_0807874C: .4byte 0x00017b3c
-_08078750: .4byte gUnknown_202DF98
-_08078754: .4byte gUnknown_80FB01C
- thumb_func_end sub_8078678
-
- thumb_func_start sub_8078758
-sub_8078758:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080787DA
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _080787DA
- ldr r6, [r4, 0x70]
- ldr r0, _080787BC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r6, 0
- adds r1, 0xBC
- ldrb r0, [r1]
- cmp r0, 0x5
- beq _080787C8
- movs r0, 0x5
- strb r0, [r1]
- ldr r1, _080787C0
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xBD
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_73
- ldr r0, _080787C4
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080787D4
- .align 2, 0
-_080787BC: .4byte gUnknown_202DF98
-_080787C0: .4byte gUnknown_80F4ED8
-_080787C4: .4byte gUnknown_80FB9F0
-_080787C8:
- ldr r0, _080787E0
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080787D4:
- adds r0, r4, 0
- bl sub_80418D4
-_080787DA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080787E0: .4byte gUnknown_80FBA14
- thumb_func_end sub_8078758
-
- thumb_func_start sub_80787E4
-sub_80787E4:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078852
- ldr r4, [r5, 0x70]
- ldr r0, _08078834
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- movs r0, 0x89
- lsls r0, 1
- adds r4, r0
- ldrb r0, [r4]
- cmp r0, 0x2
- bhi _08078840
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- bl sub_804178C
- adds r0, r5, 0
- bl sub_8041D5C
- ldr r1, _08078838
- ldrb r0, [r4]
- str r0, [r1]
- ldr r0, _0807883C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _0807884C
- .align 2, 0
-_08078834: .4byte gUnknown_202DF98
-_08078838: .4byte gUnknown_202DE30
-_0807883C: .4byte gUnknown_80FBA38
-_08078840:
- ldr r0, _08078858
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0807884C:
- adds r0, r5, 0
- bl sub_80418D4
-_08078852:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08078858: .4byte gUnknown_80FBA60
- thumb_func_end sub_80787E4
-
- thumb_func_start sub_807885C
-sub_807885C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080788DE
- ldr r0, [r4, 0x70]
- adds r7, r0, 0
- adds r5, r7, 0
- adds r5, 0xE4
- ldrb r0, [r5]
- cmp r0, 0x2
- bne _08078884
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A7C8
-_08078884:
- ldr r0, _080788C0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _080788CC
- movs r0, 0x1
- strb r0, [r5]
- ldr r1, _080788C4
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xE5
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8041D84
- ldr r0, _080788C8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080788D8
- .align 2, 0
-_080788C0: .4byte gUnknown_202DF98
-_080788C4: .4byte gUnknown_80F4EE4
-_080788C8: .4byte gUnknown_80FBA80
-_080788CC:
- ldr r0, _080788E4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080788D8:
- adds r0, r4, 0
- bl sub_80418D4
-_080788DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080788E4: .4byte gUnknown_80FBAA0
- thumb_func_end sub_807885C
-
- thumb_func_start sub_80788E8
-sub_80788E8:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807895E
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _0807895E
- adds r0, r5, 0
- bl nullsub_82
- ldr r4, [r5, 0x70]
- ldr r0, _08078940
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0xFD
- ldrb r0, [r4]
- cmp r0, 0
- bne _0807894C
- ldr r1, _08078944
- adds r0, r5, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- strb r0, [r4]
- ldr r0, _08078948
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08078958
- .align 2, 0
-_08078940: .4byte gUnknown_202DF98
-_08078944: .4byte gUnknown_80F4EEC
-_08078948: .4byte gUnknown_80FBB04
-_0807894C:
- ldr r0, _08078964
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08078958:
- adds r0, r5, 0
- bl sub_80418D4
-_0807895E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08078964: .4byte gUnknown_80FBB28
- thumb_func_end sub_80788E8
-
- thumb_func_start sub_8078968
-sub_8078968:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r5, [r4, 0x70]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078A4A
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08078A4A
- movs r3, 0
- ldr r0, _080789E8
- mov r8, r0
- movs r1, 0x1
- mov r12, r1
- movs r0, 0x8C
- lsls r0, 1
- adds r2, r5, r0
- movs r7, 0x10
-_080789A2:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _080789B4
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080789BC
-_080789B4:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _080789A2
-_080789BC:
- cmp r3, 0x4
- bne _080789F0
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r5, r1
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080789F0
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _080789EC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08078A4A
- .align 2, 0
-_080789E8: .4byte gUnknown_202DF98
-_080789EC: .4byte gUnknown_80FBBD4
-_080789F0:
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xBC
- ldrb r0, [r1]
- cmp r0, 0x6
- beq _08078A38
- movs r0, 0x6
- strb r0, [r1]
- ldr r1, _08078A30
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xBD
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_83
- ldr r0, _08078A34
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08078A44
- .align 2, 0
-_08078A30: .4byte gUnknown_80F4EF4
-_08078A34: .4byte gUnknown_80FBB94
-_08078A38:
- ldr r0, _08078A54
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08078A44:
- adds r0, r4, 0
- bl sub_80418D4
-_08078A4A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078A54: .4byte gUnknown_80FBBB8
- thumb_func_end sub_8078968
-
- thumb_func_start sub_8078A58
-sub_8078A58:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- mov r8, r0
- adds r6, r1, 0
- adds r7, r2, 0
- adds r5, r3, 0
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078B4A
- ldr r4, [r6, 0x70]
- cmp r5, 0
- beq _08078AE0
- mov r0, sp
- adds r1, r5, 0
- bl sub_80943A0
- ldr r2, [sp]
- movs r0, 0xA0
- lsls r0, 1
- adds r5, r4, r0
- ldr r7, [r5]
- add r0, sp, 0x4
- adds r1, r7, 0
- bl sub_80942C0
- ldr r2, [sp, 0x4]
- str r2, [r5]
- movs r0, 0x9E
- lsls r0, 1
- adds r4, r0
- ldr r1, [r4]
- add r0, sp, 0x8
- bl sub_8094318
- ldr r0, [sp, 0x8]
- str r0, [r4]
- ldr r0, _08078AD0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r7, 0
- bl sub_8094450
- adds r4, r0, 0
- ldr r0, [r5]
- bl sub_8094450
- cmp r4, r0
- beq _08078AD8
- adds r0, r6, 0
- bl sub_8041D9C
- ldr r0, _08078AD4
- b _08078B22
- .align 2, 0
-_08078AD0: .4byte gUnknown_202DF98
-_08078AD4: .4byte gUnknown_80FBD9C
-_08078AD8:
- ldr r0, _08078ADC
- b _08078B22
- .align 2, 0
-_08078ADC: .4byte gUnknown_80FBE3C
-_08078AE0:
- add r0, sp, 0xC
- adds r1, r7, 0
- bl sub_80943A0
- ldr r2, [sp, 0xC]
- movs r0, 0x9E
- lsls r0, 1
- adds r4, r0
- ldr r7, [r4]
- add r0, sp, 0x10
- adds r1, r7, 0
- bl sub_80942C0
- ldr r0, [sp, 0x10]
- str r0, [r4]
- ldr r0, _08078B30
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r7, 0
- bl sub_8094450
- adds r5, r0, 0
- ldr r0, [r4]
- bl sub_8094450
- cmp r5, r0
- beq _08078B38
- adds r0, r6, 0
- bl nullsub_84
- ldr r0, _08078B34
-_08078B22:
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
- b _08078B44
- .align 2, 0
-_08078B30: .4byte gUnknown_202DF98
-_08078B34: .4byte gUnknown_80FBD78
-_08078B38:
- ldr r0, _08078B58
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
-_08078B44:
- adds r0, r6, 0
- bl sub_80418D4
-_08078B4A:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078B58: .4byte gUnknown_80FBE40
- thumb_func_end sub_8078A58
-
- thumb_func_start sub_8078B5C
-sub_8078B5C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- mov r9, r0
- adds r6, r1, 0
- mov r10, r2
- str r3, [sp, 0x1C]
- ldr r0, [sp, 0x48]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08078B86
- b _08078D78
-_08078B86:
- ldr r7, [r6, 0x70]
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- bne _08078BB8
- adds r0, r6, 0
- movs r1, 0x1B
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08078BB8
- mov r0, r8
- cmp r0, 0
- bne _08078BA4
- b _08078D78
-_08078BA4:
- ldr r0, _08078BB4
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
- b _08078D78
- .align 2, 0
-_08078BB4: .4byte gUnknown_80FBEA0
-_08078BB8:
- movs r5, 0
- ldr r1, [sp, 0x1C]
- cmp r1, 0
- beq _08078BE8
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- bl sub_8094450
- adds r4, r0, 0
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- bl sub_8094450
- cmp r4, r0
- blt _08078BE0
- movs r5, 0x1
-_08078BE0:
- ldr r0, _08078C8C
- cmp r10, r0
- bne _08078BE8
- movs r5, 0x1
-_08078BE8:
- cmp r5, 0
- beq _08078CC0
- movs r0, 0xA0
- lsls r0, 1
- adds r5, r7, r0
- ldr r1, [r5]
- str r1, [sp, 0x20]
- subs r0, 0x4
- adds r0, r7
- mov r10, r0
- ldr r0, [r0]
- bl sub_8094450
- adds r4, r0, 0
- ldr r0, [r5]
- bl sub_8094450
- movs r1, 0
- str r1, [sp, 0x24]
- cmp r4, r0
- bne _08078C16
- movs r0, 0x1
- str r0, [sp, 0x24]
-_08078C16:
- mov r0, sp
- ldr r1, [sp, 0x1C]
- bl sub_80943A0
- ldr r2, [sp]
- ldr r1, [r5]
- add r0, sp, 0x4
- bl sub_8094268
- ldr r4, [sp, 0x4]
- str r4, [r5]
- add r0, sp, 0x8
- movs r1, 0xC8
- bl sub_80943A0
- ldr r2, [sp, 0x8]
- add r0, sp, 0xC
- adds r1, r4, 0
- bl sub_8094318
- ldr r0, [sp, 0xC]
- str r0, [r5]
- mov r1, r10
- str r0, [r1]
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bne _08078C5E
- mov r1, r8
- cmp r1, 0
- beq _08078C5E
- ldr r0, _08078C90
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
-_08078C5E:
- ldr r0, [sp, 0x20]
- bl sub_8094450
- adds r4, r0, 0
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- bl sub_8094450
- cmp r4, r0
- bne _08078C9C
- ldr r0, _08078C94
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- mov r0, r8
- cmp r0, 0
- beq _08078D72
- ldr r0, _08078C98
- b _08078D4E
- .align 2, 0
-_08078C8C: .4byte 0x000003e7
-_08078C90: .4byte gUnknown_80FBE64
-_08078C94: .4byte gUnknown_202DF98
-_08078C98: .4byte gUnknown_80FBDF0
-_08078C9C:
- adds r0, r6, 0
- bl sub_8041DB0
- ldr r0, _08078CB8
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- mov r1, r8
- cmp r1, 0
- beq _08078D72
- ldr r0, _08078CBC
- b _08078D4E
- .align 2, 0
-_08078CB8: .4byte gUnknown_202DF98
-_08078CBC: .4byte gUnknown_80FBDC4
-_08078CC0:
- movs r0, 0x9E
- lsls r0, 1
- adds r5, r7, r0
- ldr r4, [r5]
- add r0, sp, 0x10
- mov r1, r10
- bl sub_80943A0
- ldr r2, [sp, 0x10]
- ldr r1, [r5]
- add r0, sp, 0x14
- bl sub_8094268
- ldr r1, [sp, 0x14]
- str r1, [r5]
- movs r0, 0xA0
- lsls r0, 1
- adds r7, r0
- ldr r2, [r7]
- add r0, sp, 0x18
- bl sub_8094318
- ldr r0, [sp, 0x18]
- str r0, [r5]
- ldr r0, _08078D28
- cmp r10, r0
- bne _08078CFA
- ldr r0, [r7]
- str r0, [r5]
-_08078CFA:
- adds r0, r6, 0
- bl nullsub_85
- ldr r0, _08078D2C
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r4, 0
- bl sub_8094450
- adds r4, r0, 0
- ldr r0, [r5]
- bl sub_8094450
- cmp r4, r0
- bne _08078D34
- mov r1, r8
- cmp r1, 0
- beq _08078D72
- ldr r0, _08078D30
- b _08078D4E
- .align 2, 0
-_08078D28: .4byte 0x000003e7
-_08078D2C: .4byte gUnknown_202DF98
-_08078D30: .4byte gUnknown_80FBE14
-_08078D34:
- ldr r0, [r5]
- bl sub_8094450
- adds r4, r0, 0
- ldr r0, [r7]
- bl sub_8094450
- cmp r4, r0
- blt _08078D60
- mov r0, r8
- cmp r0, 0
- beq _08078D72
- ldr r0, _08078D5C
-_08078D4E:
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
- b _08078D72
- .align 2, 0
-_08078D5C: .4byte gUnknown_80FBE64
-_08078D60:
- mov r1, r8
- cmp r1, 0
- beq _08078D72
- ldr r0, _08078D88
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
-_08078D72:
- adds r0, r6, 0
- bl sub_80418D4
-_08078D78:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078D88: .4byte gUnknown_80FBE84
- thumb_func_end sub_8078B5C
-
- thumb_func_start sub_8078D8C
-sub_8078D8C:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078E0E
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08078E0E
- ldr r6, [r4, 0x70]
- ldr r0, _08078DF0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r6, 0
- adds r1, 0xEC
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08078DFC
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _08078DF4
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xED
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_86
- ldr r0, _08078DF8
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08078E08
- .align 2, 0
-_08078DF0: .4byte gUnknown_202DF98
-_08078DF4: .4byte gUnknown_80F4F1C
-_08078DF8: .4byte gUnknown_80FBF68
-_08078DFC:
- ldr r0, _08078E14
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08078E08:
- adds r0, r4, 0
- bl sub_80418D4
-_08078E0E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08078E14: .4byte gUnknown_80FBF84
- thumb_func_end sub_8078D8C
-
- thumb_func_start sub_8078E18
-sub_8078E18:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08078E48
- add sp, r4
- mov r10, r0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078F2E
- ldr r7, [r5, 0x70]
- adds r0, r7, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _08078E50
- ldr r0, _08078E4C
- b _08078EC0
- .align 2, 0
-_08078E48: .4byte 0xfffffe00
-_08078E4C: .4byte gUnknown_80FBF04
-_08078E50:
- ldr r0, _08078ECC
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- mov r0, sp
- movs r1, 0
- bl sub_803D870
- mov r8, r0
- cmp r0, 0
- beq _08078EBE
- movs r0, 0
- mov r9, r0
- movs r6, 0
-_08078E6E:
- mov r0, r8
- bl sub_8084100
- lsls r0, 3
- add r0, sp
- bl sub_808E9B8
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_8069F54
- lsls r0, 16
- asrs r4, r0, 16
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- cmp r4, r0
- beq _08078EAE
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806AA0C
- lsls r0, 24
- cmp r0, 0
- beq _08078EAE
- adds r0, r4, 0
- bl sub_80687D0
- mov r9, r0
- cmp r0, 0
- bne _08078EB4
-_08078EAE:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08078E6E
-_08078EB4:
- cmp r6, 0x14
- beq _08078EBE
- mov r2, r9
- cmp r2, 0
- bne _08078ED4
-_08078EBE:
- ldr r0, _08078ED0
-_08078EC0:
- ldr r2, [r0]
- mov r0, r10
- adds r1, r5, 0
- bl sub_80522F4
- b _08078F2E
- .align 2, 0
-_08078ECC: .4byte gUnknown_202DF98
-_08078ED0: .4byte gUnknown_80FBEE4
-_08078ED4:
- strh r4, [r7, 0x4]
- mov r0, r9
- str r0, [r5, 0x64]
- adds r1, r7, 0
- adds r1, 0xE4
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, _08078F44
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xE5
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_806CF98
- adds r0, r5, 0
- bl nullsub_87
- adds r0, r5, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806CCB4
- ldr r0, _08078F48
- movs r2, 0x4
- ldrsh r1, [r7, r2]
- bl sub_808D908
- ldr r0, _08078F4C
- ldr r2, [r0]
- mov r0, r10
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- bl sub_80418D4
-_08078F2E:
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078F44: .4byte gUnknown_80F4EFC
-_08078F48: .4byte gUnknown_202DFE8
-_08078F4C: .4byte gUnknown_80FBEC0
- thumb_func_end sub_8078E18
-
- thumb_func_start sub_8078F50
-sub_8078F50:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08078FD2
- ldr r0, [r4, 0x70]
- adds r7, r0, 0
- adds r5, r7, 0
- adds r5, 0xE4
- ldrb r0, [r5]
- cmp r0, 0x2
- bne _08078F78
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_807A7C8
-_08078F78:
- ldr r0, _08078FB4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldrb r0, [r5]
- cmp r0, 0x3
- beq _08078FC0
- movs r0, 0x3
- strb r0, [r5]
- ldr r1, _08078FB8
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xE5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_88
- ldr r0, _08078FBC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08078FCC
- .align 2, 0
-_08078FB4: .4byte gUnknown_202DF98
-_08078FB8: .4byte gUnknown_80F4F04
-_08078FBC: .4byte gUnknown_80FBF28
-_08078FC0:
- ldr r0, _08078FD8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08078FCC:
- adds r0, r4, 0
- bl sub_80418D4
-_08078FD2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08078FD8: .4byte gUnknown_80FBF50
- thumb_func_end sub_8078F50
-
- thumb_func_start sub_8078FDC
-sub_8078FDC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r2, 16
- asrs r7, r2, 16
- mov r10, r7
- movs r0, 0
- mov r8, r0
- mov r9, r0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080790B6
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _080790B6
- ldr r5, [r4, 0x70]
- ldr r0, _08079064
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0xA
- ble _0807902E
- movs r0, 0xA
- strh r0, [r5, 0x26]
- movs r0, 0x1
- mov r8, r0
-_0807902E:
- mov r1, r8
- cmp r1, 0
- beq _0807904C
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_8041DD8
- ldr r0, _08079068
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0x1
- mov r9, r0
-_0807904C:
- adds r5, 0xF5
- ldrb r0, [r5]
- cmp r0, 0
- beq _08079070
- ldr r0, _0807906C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080790B6
- .align 2, 0
-_08079064: .4byte gUnknown_202DF98
-_08079068: .4byte gUnknown_80FC000
-_0807906C: .4byte gUnknown_80FBFB8
-_08079070:
- mov r1, r9
- cmp r1, 0
- bne _0807907E
- adds r0, r4, 0
- mov r1, r10
- bl sub_8041DD8
-_0807907E:
- adds r0, r4, 0
- movs r1, 0xE
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _080790A0
- ldr r0, _0807909C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080790B0
- .align 2, 0
-_0807909C: .4byte gUnknown_80FBFD8
-_080790A0:
- movs r0, 0x1
- strb r0, [r5]
- ldr r0, _080790C4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080790B0:
- adds r0, r4, 0
- bl sub_80418D4
-_080790B6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080790C4: .4byte gUnknown_80FBF9C
- thumb_func_end sub_8078FDC
-
- thumb_func_start sub_80790C8
-sub_80790C8:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079134
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08079134
- ldr r6, _0807911C
- ldr r0, [r6]
- ldr r1, _08079120
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08079128
- adds r0, r4, 0
- bl nullsub_89
- ldr r0, [r6]
- ldr r1, _08079120
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80418D4
- ldr r0, _08079124
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079134
- .align 2, 0
-_0807911C: .4byte gUnknown_203B418
-_08079120: .4byte 0x00000676
-_08079124: .4byte gUnknown_80FC028
-_08079128:
- ldr r0, _0807913C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079134:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807913C: .4byte gUnknown_80FC054
- thumb_func_end sub_80790C8
-
- thumb_func_start sub_8079140
-sub_8079140:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080791CE
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _080791CE
- ldr r6, [r4, 0x70]
- ldr r0, _080791B0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r6, 0
- adds r1, 0xE8
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _080791BC
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080791B4
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xE9
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8041E0C
- ldr r0, _080791B8
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0x31
- bl sub_803E46C
- bl sub_8049ED4
- bl sub_8040A84
- b _080791C8
- .align 2, 0
-_080791B0: .4byte gUnknown_202DF98
-_080791B4: .4byte gUnknown_80F4F08
-_080791B8: .4byte gUnknown_80FB7F4
-_080791BC:
- ldr r0, _080791D4
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080791C8:
- adds r0, r4, 0
- bl sub_80418D4
-_080791CE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080791D4: .4byte gUnknown_80FB810
- thumb_func_end sub_8079140
-
- thumb_func_start sub_80791D8
-sub_80791D8:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079266
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08079266
- ldr r7, [r4, 0x70]
- ldr r0, _08079248
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r6, r7, 0
- adds r6, 0xE8
- ldrb r0, [r6]
- cmp r0, 0x2
- beq _08079254
- adds r0, r4, 0
- bl sub_8041E1C
- ldr r0, _0807924C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0x2
- strb r0, [r6]
- ldr r1, _08079250
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r0, 0x1
- adds r1, r7, 0
- adds r1, 0xE9
- strb r0, [r1]
- movs r0, 0x1
- bl sub_803F580
- bl sub_8049ED4
- bl sub_8040A84
- b _08079260
- .align 2, 0
-_08079248: .4byte gUnknown_202DF98
-_0807924C: .4byte gUnknown_80FB834
-_08079250: .4byte gUnknown_80F4F0C
-_08079254:
- ldr r0, _0807926C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079260:
- adds r0, r4, 0
- bl sub_80418D4
-_08079266:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807926C: .4byte gUnknown_80FB85C
- thumb_func_end sub_80791D8
-
- thumb_func_start sub_8079270
-sub_8079270:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080792EE
- ldr r5, [r4, 0x70]
- ldr r0, _080792D0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xE8
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _080792DC
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080792D4
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xE9
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8041E3C
- ldr r0, _080792D8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r0, 0x31
- bl sub_803E46C
- bl sub_8049ED4
- bl sub_8040A84
- b _080792E8
- .align 2, 0
-_080792D0: .4byte gUnknown_202DF98
-_080792D4: .4byte gUnknown_80F4F10
-_080792D8: .4byte gUnknown_80FB880
-_080792DC:
- ldr r0, _080792F4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080792E8:
- adds r0, r4, 0
- bl sub_80418D4
-_080792EE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080792F4: .4byte gUnknown_80FB89C
- thumb_func_end sub_8079270
-
- thumb_func_start sub_80792F8
-sub_80792F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r10, r0
- adds r6, r1, 0
- mov r9, r2
- movs r0, 0
- mov r8, r0
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807939A
- ldr r0, [r6, 0x70]
- movs r1, 0x8C
- lsls r1, 1
- adds r4, r0, r1
- adds r5, r4, 0
- movs r7, 0x3
-_08079326:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807935E
- ldrb r0, [r4, 0x4]
- str r0, [sp]
- adds r0, r5, 0
- bl sub_8092BF4
- str r0, [sp, 0x4]
- ldr r1, [sp]
- ldr r0, [sp, 0x4]
- cmp r1, r0
- bge _0807935E
- ldr r0, [sp]
- add r0, r9
- str r0, [sp]
- ldr r1, [sp]
- ldr r0, [sp, 0x4]
- cmp r1, r0
- ble _08079356
- ldr r0, [sp, 0x4]
- str r0, [sp]
-_08079356:
- ldr r0, [sp]
- strb r0, [r4, 0x4]
- movs r0, 0x1
- mov r8, r0
-_0807935E:
- adds r4, 0x8
- adds r5, 0x8
- subs r7, 0x1
- cmp r7, 0
- bge _08079326
- mov r1, r8
- cmp r1, 0
- beq _08079388
- adds r0, r6, 0
- bl sub_8041E4C
- ldr r0, _08079384
- ldr r2, [r0]
- mov r0, r10
- adds r1, r6, 0
- bl sub_80522F4
- b _08079394
- .align 2, 0
-_08079384: .4byte gUnknown_80FDBD0
-_08079388:
- ldr r0, _080793AC
- ldr r2, [r0]
- mov r0, r10
- adds r1, r6, 0
- bl sub_80522F4
-_08079394:
- adds r0, r6, 0
- bl sub_80418D4
-_0807939A:
- 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
-_080793AC: .4byte gUnknown_80FDBF0
- thumb_func_end sub_80792F8
-
- thumb_func_start sub_80793B0
-sub_80793B0:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079416
- ldr r0, _080793FC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- ldrb r0, [r1, 0x14]
- adds r2, r0, 0
- adds r0, r2, r5
- cmp r0, 0xFE
- ble _080793DE
- movs r0, 0xFF
-_080793DE:
- strb r0, [r1, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r2, r0
- bcs _08079404
- adds r0, r4, 0
- bl sub_8041E60
- ldr r0, _08079400
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079410
- .align 2, 0
-_080793FC: .4byte gUnknown_202DF98
-_08079400: .4byte gUnknown_80FC33C
-_08079404:
- ldr r0, _0807941C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079410:
- adds r0, r4, 0
- bl sub_80418D4
-_08079416:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807941C: .4byte gUnknown_80FC360
- thumb_func_end sub_80793B0
-
- thumb_func_start sub_8079420
-sub_8079420:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079486
- ldr r0, _0807946C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- ldrb r0, [r1, 0x15]
- adds r2, r0, 0
- adds r0, r2, r5
- cmp r0, 0xFE
- ble _0807944E
- movs r0, 0xFF
-_0807944E:
- strb r0, [r1, 0x15]
- lsls r0, 24
- lsrs r0, 24
- cmp r2, r0
- bcs _08079474
- adds r0, r4, 0
- bl sub_8041E74
- ldr r0, _08079470
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079480
- .align 2, 0
-_0807946C: .4byte gUnknown_202DF98
-_08079470: .4byte gUnknown_80FC388
-_08079474:
- ldr r0, _0807948C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079480:
- adds r0, r4, 0
- bl sub_80418D4
-_08079486:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807948C: .4byte gUnknown_80FC3B4
- thumb_func_end sub_8079420
-
- thumb_func_start sub_8079490
-sub_8079490:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080794F6
- ldr r0, _080794DC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- ldrb r0, [r1, 0x16]
- adds r2, r0, 0
- adds r0, r2, r5
- cmp r0, 0xFE
- ble _080794BE
- movs r0, 0xFF
-_080794BE:
- strb r0, [r1, 0x16]
- lsls r0, 24
- lsrs r0, 24
- cmp r2, r0
- bcs _080794E4
- adds r0, r4, 0
- bl sub_8041E84
- ldr r0, _080794E0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080794F0
- .align 2, 0
-_080794DC: .4byte gUnknown_202DF98
-_080794E0: .4byte gUnknown_80FC3D8
-_080794E4:
- ldr r0, _080794FC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080794F0:
- adds r0, r4, 0
- bl sub_80418D4
-_080794F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080794FC: .4byte gUnknown_80FC3FC
- thumb_func_end sub_8079490
-
- thumb_func_start sub_8079500
-sub_8079500:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079566
- ldr r0, _0807954C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- ldrb r0, [r1, 0x17]
- adds r2, r0, 0
- adds r0, r2, r5
- cmp r0, 0xFE
- ble _0807952E
- movs r0, 0xFF
-_0807952E:
- strb r0, [r1, 0x17]
- lsls r0, 24
- lsrs r0, 24
- cmp r2, r0
- bcs _08079554
- adds r0, r4, 0
- bl sub_8041E94
- ldr r0, _08079550
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079560
- .align 2, 0
-_0807954C: .4byte gUnknown_202DF98
-_08079550: .4byte gUnknown_80FC428
-_08079554:
- ldr r0, _0807956C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079560:
- adds r0, r4, 0
- bl sub_80418D4
-_08079566:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807956C: .4byte gUnknown_80FC454
- thumb_func_end sub_8079500
-
- thumb_func_start sub_8079570
-sub_8079570:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r4, [r5, 0x70]
- ldr r0, _080795A0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0xE0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _080795A8
- movs r0, 0x1
- strb r0, [r4]
- adds r0, r5, 0
- bl sub_8041EA4
- ldr r0, _080795A4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _080795B4
- .align 2, 0
-_080795A0: .4byte gUnknown_202DFE8
-_080795A4: .4byte gUnknown_80FD20C
-_080795A8:
- ldr r0, _080795C0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
-_080795B4:
- adds r0, r5, 0
- bl sub_80418D4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080795C0: .4byte gUnknown_80FD22C
- thumb_func_end sub_8079570
-
- thumb_func_start sub_80795C4
-sub_80795C4:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r4, [r5, 0x70]
- ldr r0, _080795F4
- movs r2, 0
- bl sub_8045B94
- adds r4, 0xE0
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _080795FC
- movs r0, 0x2
- strb r0, [r4]
- adds r0, r5, 0
- bl sub_8041EB4
- ldr r0, _080795F8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _08079608
- .align 2, 0
-_080795F4: .4byte gUnknown_202DFE8
-_080795F8: .4byte gUnknown_80FD254
-_080795FC:
- ldr r0, _08079614
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
-_08079608:
- adds r0, r5, 0
- bl sub_80418D4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079614: .4byte gUnknown_80FD27C
- thumb_func_end sub_80795C4
-
- thumb_func_start sub_8079618
-sub_8079618:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- adds r7, r1, 0
- mov r8, r3
- lsls r2, 24
- lsrs r6, r2, 24
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08079638
- b _08079752
-_08079638:
- ldr r5, [r7, 0x70]
- ldr r0, _08079660
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- adds r0, 0xC0
- ldrb r0, [r0]
- cmp r0, r6
- bne _08079668
- cmp r6, 0xC
- bne _08079668
- ldr r0, _08079664
- ldr r2, [r0]
- mov r0, r9
- adds r1, r7, 0
- bl sub_80522F4
- b _08079752
- .align 2, 0
-_08079660: .4byte gUnknown_202DF98
-_08079664: .4byte gUnknown_80FC074
-_08079668:
- adds r0, r5, 0
- adds r0, 0xC0
- strb r6, [r0]
- movs r4, 0
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r5, r1
- subs r2, r6, 0x7
- b _0807968A
-_0807967A:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _08079694
- lsls r0, r4, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r0, r5, r0
-_0807968A:
- cmp r0, r8
- bne _0807967A
- adds r0, r5, 0
- adds r0, 0xC2
- strb r4, [r0]
-_08079694:
- movs r1, 0xA5
- lsls r1, 1
- adds r0, r5, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r4, 0
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080796B2
- adds r0, r5, 0
- adds r0, 0xFF
- strb r1, [r0]
- movs r4, 0x1
- b _080796C6
-_080796B2:
- adds r0, r6, 0
- subs r0, 0x9
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080796C6
- adds r1, r5, 0
- adds r1, 0xFF
- movs r0, 0x2
- strb r0, [r1]
-_080796C6:
- cmp r6, 0x1
- bne _080796E4
- ldr r1, _08079718
- adds r0, r7, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r2, r5, 0
- adds r2, 0xC1
- movs r1, 0
- strb r0, [r2]
- adds r0, r5, 0
- adds r0, 0xA0
- str r1, [r0]
-_080796E4:
- cmp r6, 0xC
- bne _080796FA
- ldr r1, _0807971C
- adds r0, r7, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC1
- strb r0, [r1]
-_080796FA:
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8041BD0
- mov r0, r9
- adds r1, r7, 0
- ldr r2, [sp, 0x1C]
- bl sub_80522F4
- adds r0, r7, 0
- bl sub_80418D4
- movs r4, 0
- ldr r6, _08079720
- b _0807972C
- .align 2, 0
-_08079718: .4byte gUnknown_80F4E9C
-_0807971C: .4byte gUnknown_80F4EA0
-_08079720: .4byte 0x0000c7ff
-_08079724:
- movs r0, 0x53
- bl sub_803E46C
- adds r4, 0x1
-_0807972C:
- ldr r0, _08079760
- cmp r4, r0
- bgt _08079752
- movs r1, 0x1
- adds r0, r5, 0
- adds r0, 0xFF
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807974E
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0
- cmp r0, r6
- ble _0807974E
- movs r1, 0x1
-_0807974E:
- cmp r1, 0
- beq _08079724
-_08079752:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08079760: .4byte 0x0000018f
- thumb_func_end sub_8079618
-
- thumb_func_start sub_8079764
-sub_8079764:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807979A
- ldr r2, [r4, 0x70]
- adds r3, r2, 0
- adds r3, 0xC0
- ldrb r0, [r3]
- cmp r0, 0x1
- beq _08079794
- cmp r0, 0xC
- beq _08079794
- movs r1, 0
- strb r1, [r3]
- movs r3, 0xA5
- lsls r3, 1
- adds r0, r2, r3
- strb r1, [r0]
- adds r0, r2, 0
- adds r0, 0xFF
- strb r1, [r0]
-_08079794:
- adds r0, r4, 0
- bl sub_80418D4
-_0807979A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8079764
-
- thumb_func_start sub_80797A0
-sub_80797A0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079822
- ldr r6, [r4, 0x70]
- ldr r0, _080797E0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r5, r6, 0
- adds r5, 0xC4
- ldrb r0, [r5]
- cmp r0, r7
- bne _080797E8
- ldr r0, _080797E4
- ldr r2, [r0]
- mov r0, r8
- adds r1, r4, 0
- bl sub_80522F4
- b _08079822
- .align 2, 0
-_080797E0: .4byte gUnknown_202DF98
-_080797E4: .4byte gUnknown_80FB10C
-_080797E8:
- adds r0, r4, 0
- bl nullsub_57
- ldrb r0, [r5]
- cmp r0, 0x4
- beq _0807980A
- cmp r0, 0xA
- beq _0807980A
- ldr r1, _0807982C
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xC5
- strb r0, [r1]
-_0807980A:
- adds r0, r6, 0
- adds r0, 0xC4
- strb r7, [r0]
- ldr r0, _08079830
- ldr r2, [r0]
- mov r0, r8
- adds r1, r4, 0
- bl sub_80522F4
- adds r0, r4, 0
- bl sub_80418D4
-_08079822:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807982C: .4byte gUnknown_80F4E98
-_08079830: .4byte gUnknown_80FB0E0
- thumb_func_end sub_80797A0
-
- thumb_func_start sub_8079834
-sub_8079834:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080798A6
- ldr r5, [r4, 0x70]
- ldr r0, _08079888
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x2
- beq _08079894
- movs r0, 0x2
- strb r0, [r1]
- ldr r1, _0807988C
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_58
- ldr r0, _08079890
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080798A0
- .align 2, 0
-_08079888: .4byte gUnknown_202DF98
-_0807988C: .4byte gUnknown_80F4E88
-_08079890: .4byte gUnknown_80FB048
-_08079894:
- ldr r0, _080798AC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_080798A0:
- adds r0, r4, 0
- bl sub_80418D4
-_080798A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080798AC: .4byte gUnknown_80FB074
- thumb_func_end sub_8079834
-
- thumb_func_start sub_80798B0
-sub_80798B0:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079922
- ldr r5, [r4, 0x70]
- ldr r0, _08079904
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0xE
- beq _08079910
- movs r0, 0xE
- strb r0, [r1]
- ldr r1, _08079908
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_59
- ldr r0, _0807990C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _0807991C
- .align 2, 0
-_08079904: .4byte gUnknown_202DF98
-_08079908: .4byte gUnknown_80F4E8C
-_0807990C: .4byte gUnknown_80FB09C
-_08079910:
- ldr r0, _08079928
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807991C:
- adds r0, r4, 0
- bl sub_80418D4
-_08079922:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079928: .4byte gUnknown_80FB0C4
- thumb_func_end sub_80798B0
-
- thumb_func_start sub_807992C
-sub_807992C:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807999E
- ldr r5, [r4, 0x70]
- ldr r0, _08079980
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x6
- beq _0807998C
- movs r0, 0x6
- strb r0, [r1]
- ldr r1, _08079984
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_8041B34
- ldr r0, _08079988
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079998
- .align 2, 0
-_08079980: .4byte gUnknown_202DF98
-_08079984: .4byte gUnknown_80F4EB4
-_08079988: .4byte gUnknown_80FAE1C
-_0807998C:
- ldr r0, _080799A4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079998:
- adds r0, r4, 0
- bl sub_80418D4
-_0807999E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080799A4: .4byte gUnknown_80FAE3C
- thumb_func_end sub_807992C
-
- thumb_func_start sub_80799A8
-sub_80799A8:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079A1A
- ldr r5, [r4, 0x70]
- ldr r0, _080799FC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x5
- beq _08079A08
- movs r0, 0x5
- strb r0, [r1]
- ldr r1, _08079A00
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_60
- ldr r0, _08079A04
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079A14
- .align 2, 0
-_080799FC: .4byte gUnknown_202DF98
-_08079A00: .4byte gUnknown_80F4E90
-_08079A04: .4byte gUnknown_80FAF5C
-_08079A08:
- ldr r0, _08079A20
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079A14:
- adds r0, r4, 0
- bl sub_80418D4
-_08079A1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079A20: .4byte gUnknown_80FAF8C
- thumb_func_end sub_80799A8
-
- thumb_func_start sub_8079A24
-sub_8079A24:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079A96
- ldr r5, [r4, 0x70]
- ldr r0, _08079A78
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _08079A84
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _08079A7C
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_61
- ldr r0, _08079A80
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079A90
- .align 2, 0
-_08079A78: .4byte gUnknown_202DF98
-_08079A7C: .4byte gUnknown_80F4E84
-_08079A80: .4byte gUnknown_80FB130
-_08079A84:
- ldr r0, _08079A9C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079A90:
- adds r0, r4, 0
- bl sub_80418D4
-_08079A96:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079A9C: .4byte gUnknown_80FB160
- thumb_func_end sub_8079A24
-
- thumb_func_start sub_8079AA0
-sub_8079AA0:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079B12
- ldr r5, [r4, 0x70]
- ldr r0, _08079AF4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x1
- beq _08079B00
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _08079AF8
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_62
- ldr r0, _08079AFC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079B0C
- .align 2, 0
-_08079AF4: .4byte gUnknown_202DF98
-_08079AF8: .4byte gUnknown_80F4E80
-_08079AFC: .4byte gUnknown_80FB17C
-_08079B00:
- ldr r0, _08079B18
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079B0C:
- adds r0, r4, 0
- bl sub_80418D4
-_08079B12:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079B18: .4byte gUnknown_80FB1A8
- thumb_func_end sub_8079AA0
-
- thumb_func_start sub_8079B1C
-sub_8079B1C:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079B98
- adds r0, r4, 0
- bl nullsub_63
- ldr r5, [r4, 0x70]
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x7
- beq _08079B7C
- movs r0, 0x7
- strb r0, [r1]
- ldr r1, _08079B70
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- ldr r0, _08079B74
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08079B78
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079B92
- .align 2, 0
-_08079B70: .4byte gUnknown_80F4ED4
-_08079B74: .4byte gUnknown_202DF98
-_08079B78: .4byte gUnknown_80FB9B0
-_08079B7C:
- ldr r0, _08079BA0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _08079BA4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079B92:
- adds r0, r4, 0
- bl sub_80418D4
-_08079B98:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079BA0: .4byte gUnknown_202DF98
-_08079BA4: .4byte gUnknown_80FB9D8
- thumb_func_end sub_8079B1C
-
- thumb_func_start sub_8079BA8
-sub_8079BA8:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079C1A
- ldr r5, [r4, 0x70]
- ldr r0, _08079BFC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _08079C08
- movs r0, 0x8
- strb r0, [r1]
- ldr r1, _08079C00
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_64
- ldr r0, _08079C04
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079C14
- .align 2, 0
-_08079BFC: .4byte gUnknown_202DF98
-_08079C00: .4byte gUnknown_80F4EE8
-_08079C04: .4byte gUnknown_80FBAC0
-_08079C08:
- ldr r0, _08079C20
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079C14:
- adds r0, r4, 0
- bl sub_80418D4
-_08079C1A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079C20: .4byte gUnknown_80FBAE4
- thumb_func_end sub_8079BA8
-
- thumb_func_start sub_8079C24
-sub_8079C24:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079C96
- ldr r5, [r4, 0x70]
- ldr r0, _08079C78
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0x9
- beq _08079C84
- movs r0, 0x9
- strb r0, [r1]
- ldr r1, _08079C7C
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_65
- ldr r0, _08079C80
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079C90
- .align 2, 0
-_08079C78: .4byte gUnknown_202DF98
-_08079C7C: .4byte gUnknown_80F4EF8
-_08079C80: .4byte gUnknown_80FBBF0
-_08079C84:
- ldr r0, _08079C9C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079C90:
- adds r0, r4, 0
- bl sub_80418D4
-_08079C96:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079C9C: .4byte gUnknown_80FBC14
- thumb_func_end sub_8079C24
-
- thumb_func_start sub_8079CA0
-sub_8079CA0:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079D12
- ldr r5, [r4, 0x70]
- ldr r0, _08079CF4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0xB
- beq _08079D00
- movs r0, 0xB
- strb r0, [r1]
- ldr r1, _08079CF8
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_66
- ldr r0, _08079CFC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079D0C
- .align 2, 0
-_08079CF4: .4byte gUnknown_202DF98
-_08079CF8: .4byte gUnknown_80F4F18
-_08079CFC: .4byte gUnknown_80FBC38
-_08079D00:
- ldr r0, _08079D18
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079D0C:
- adds r0, r4, 0
- bl sub_80418D4
-_08079D12:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079D18: .4byte gUnknown_80FBC5C
- thumb_func_end sub_8079CA0
-
- thumb_func_start sub_8079D1C
-sub_8079D1C:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079DAE
- ldr r6, [r4, 0x70]
- adds r0, r4, 0
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _08079D50
- ldr r0, _08079D4C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079DAE
- .align 2, 0
-_08079D4C: .4byte gUnknown_8100720
-_08079D50:
- ldr r0, _08079D90
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r6, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0xC
- beq _08079D9C
- movs r0, 0xC
- strb r0, [r1]
- ldr r1, _08079D94
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_67
- ldr r0, _08079D98
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079DA8
- .align 2, 0
-_08079D90: .4byte gUnknown_202DF98
-_08079D94: .4byte gUnknown_80F4F20
-_08079D98: .4byte gUnknown_80FBC7C
-_08079D9C:
- ldr r0, _08079DB4
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079DA8:
- adds r0, r4, 0
- bl sub_80418D4
-_08079DAE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079DB4: .4byte gUnknown_80FBCA4
- thumb_func_end sub_8079D1C
-
- thumb_func_start sub_8079DB8
-sub_8079DB8:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079E2A
- ldr r5, [r4, 0x70]
- ldr r0, _08079E0C
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r1, r5, 0
- adds r1, 0xC4
- ldrb r0, [r1]
- cmp r0, 0xD
- beq _08079E18
- movs r0, 0xD
- strb r0, [r1]
- ldr r1, _08079E10
- adds r0, r4, 0
- movs r2, 0
- bl sub_808417C
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0xC5
- strb r0, [r1]
- adds r0, r4, 0
- bl nullsub_68
- ldr r0, _08079E14
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _08079E24
- .align 2, 0
-_08079E0C: .4byte gUnknown_202DF98
-_08079E10: .4byte gUnknown_80F4F24
-_08079E14: .4byte gUnknown_80FBCC8
-_08079E18:
- ldr r0, _08079E30
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079E24:
- adds r0, r4, 0
- bl sub_80418D4
-_08079E2A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08079E30: .4byte gUnknown_80FBCF0
- thumb_func_end sub_8079DB8
-
- thumb_func_start sub_8079E34
-sub_8079E34:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- movs r6, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08079F0E
- ldr r0, [r5, 0x70]
- mov r12, r0
- movs r4, 0
- movs r7, 0xA
-_08079E5C:
- lsls r2, r4, 1
- mov r0, r12
- adds r0, 0x1C
- adds r1, r0, r2
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0xA
- beq _08079E70
- strh r7, [r1]
- movs r6, 0x1
-_08079E70:
- mov r0, r12
- adds r0, 0x20
- adds r1, r0, r2
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0xA
- beq _08079E82
- strh r7, [r1]
- movs r6, 0x1
-_08079E82:
- mov r0, r12
- adds r0, 0x24
- adds r1, r0, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0xA
- beq _08079E94
- strh r7, [r1]
- movs r6, 0x1
-_08079E94:
- lsls r3, r4, 2
- mov r0, r12
- adds r0, 0x2C
- adds r1, r0, r3
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 1
- cmp r0, r2
- beq _08079EAA
- str r2, [r1]
- movs r6, 0x1
-_08079EAA:
- mov r0, r12
- adds r0, 0x34
- adds r1, r0, r3
- ldr r0, [r1]
- cmp r0, r2
- beq _08079EBA
- str r2, [r1]
- movs r6, 0x1
-_08079EBA:
- adds r4, 0x1
- cmp r4, 0x1
- ble _08079E5C
- cmp r6, 0
- beq _08079ECC
- adds r0, r5, 0
- bl sub_80420C8
- b _08079ED8
-_08079ECC:
- mov r3, r9
- cmp r3, 0
- beq _08079ED8
- adds r0, r5, 0
- bl sub_80420C8
-_08079ED8:
- ldr r0, _08079EF4
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- cmp r6, 0
- beq _08079EFC
- ldr r0, _08079EF8
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- b _08079F08
- .align 2, 0
-_08079EF4: .4byte gUnknown_202DF98
-_08079EF8: .4byte gUnknown_80FBD18
-_08079EFC:
- ldr r0, _08079F1C
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
-_08079F08:
- adds r0, r5, 0
- bl sub_80418D4
-_08079F0E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08079F1C: .4byte gUnknown_80FBD3C
- thumb_func_end sub_8079E34
-
- thumb_func_start sub_8079F20
-sub_8079F20:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- movs r0, 0
- mov r8, r0
- mov r9, r0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08079F50
- b _0807A0B8
-_08079F50:
- ldr r7, [r4, 0x70]
- adds r0, r4, 0
- bl sub_8070A58
- lsls r0, 24
- cmp r0, 0
- beq _08079FF2
- movs r2, 0x1
- mov r8, r2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_807A124
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _08079F7C
- b _0807A0B8
-_08079F7C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A290
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A324
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A400
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_807A5D0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A6C8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A734
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A888
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807A924
- adds r1, r7, 0
- adds r1, 0xFD
- ldrb r0, [r1]
- cmp r0, 0
- beq _08079FD8
- mov r0, r9
- strb r0, [r1]
- ldr r0, _0807A08C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079FD8:
- adds r1, r7, 0
- adds r1, 0xF5
- ldrb r0, [r1]
- cmp r0, 0
- beq _08079FF2
- mov r2, r9
- strb r2, [r1]
- ldr r0, _0807A090
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_08079FF2:
- adds r0, r4, 0
- bl sub_8070774
- adds r6, r0, 0
- movs r1, 0
- movs r3, 0x4
- ldr r2, _0807A094
- adds r0, r7, r2
-_0807A002:
- strb r1, [r0]
- subs r0, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _0807A002
- adds r0, r4, 0
- bl sub_8070774
- cmp r6, r0
- beq _0807A032
- movs r0, 0x1
- mov r8, r0
- ldr r1, _0807A098
- movs r2, 0x82
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807A032:
- movs r6, 0x1
- movs r0, 0x8C
- lsls r0, 1
- adds r2, r7, r0
- movs r7, 0xFE
- movs r3, 0x3
-_0807A03E:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0807A05E
- ldrb r1, [r2, 0x1]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0807A05E
- movs r0, 0x1
- mov r8, r0
- mov r9, r0
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r2, 0x1]
-_0807A05E:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0807A03E
- mov r2, r8
- cmp r2, 0
- beq _0807A0A0
- ldr r0, [sp]
- cmp r0, 0
- beq _0807A078
- adds r0, r4, 0
- bl sub_80420C8
-_0807A078:
- mov r2, r9
- cmp r2, 0
- beq _0807A0B2
- ldr r0, _0807A09C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _0807A0B2
- .align 2, 0
-_0807A08C: .4byte gUnknown_8100594
-_0807A090: .4byte gUnknown_81005B8
-_0807A094: .4byte 0x00000111
-_0807A098: .4byte gUnknown_80FA124
-_0807A09C: .4byte gUnknown_81005DC
-_0807A0A0:
- mov r0, r10
- cmp r0, 0
- bne _0807A0B2
- ldr r0, _0807A0C8
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807A0B2:
- adds r0, r4, 0
- bl sub_80418D4
-_0807A0B8:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A0C8: .4byte gUnknown_81004E8
- thumb_func_end sub_8079F20
-
- thumb_func_start sub_807A0CC
-sub_807A0CC:
- push {r4-r7,lr}
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A11E
- ldr r4, [r5, 0x70]
- adds r0, r4, 0
- movs r1, 0
- bl sub_806BFC0
- adds r1, r4, 0
- adds r1, 0xFD
- movs r0, 0
- strb r0, [r1]
- subs r1, 0x8
- strb r0, [r1]
- movs r7, 0x1
- movs r6, 0xFE
- movs r0, 0x8C
- lsls r0, 1
- adds r2, r4, r0
- movs r3, 0x3
-_0807A0FE:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _0807A110
- ldrb r1, [r2, 0x1]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2, 0x1]
-_0807A110:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0807A0FE
- adds r0, r5, 0
- bl sub_80418D4
-_0807A11E:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807A0CC
-
- thumb_func_start sub_807A124
-sub_807A124:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r0, 0
- mov r9, r0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807A14E
- b _0807A27C
-_0807A14E:
- ldr r7, [r5, 0x70]
- ldr r0, _0807A170
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r7, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _0807A166
- b _0807A260
-_0807A166:
- lsls r0, 2
- ldr r1, _0807A174
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A170: .4byte gUnknown_202DF98
-_0807A174: .4byte _0807A178
- .align 2, 0
-_0807A178:
- .4byte _0807A260
- .4byte _0807A194
- .4byte _0807A1A0
- .4byte _0807A1B4
- .4byte _0807A228
- .4byte _0807A1E8
- .4byte _0807A260
-_0807A194:
- movs r1, 0x1
- mov r9, r1
- ldr r0, _0807A19C
- b _0807A1A2
- .align 2, 0
-_0807A19C: .4byte gUnknown_80FA6E8
-_0807A1A0:
- ldr r0, _0807A1B0
-_0807A1A2:
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _0807A260
- .align 2, 0
-_0807A1B0: .4byte gUnknown_80FA708
-_0807A1B4:
- movs r2, 0x1
- mov r9, r2
- ldr r0, _0807A1DC
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- mov r0, r8
- cmp r0, 0
- beq _0807A260
- ldr r0, _0807A1E0
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, _0807A1E4
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_806F324
- b _0807A260
- .align 2, 0
-_0807A1DC: .4byte gUnknown_80FA70C
-_0807A1E0: .4byte gUnknown_80F4F78
-_0807A1E4: .4byte 0x0000020f
-_0807A1E8:
- movs r0, 0x1
- mov r9, r0
- ldr r0, _0807A220
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
- ldr r0, _0807A224
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r4, 0
- str r4, [sp]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r3, 0
- bl sub_8077C44
- adds r0, r7, 0
- adds r0, 0xA8
- strb r4, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x1
- bl sub_8079F20
- b _0807A260
- .align 2, 0
-_0807A220: .4byte gUnknown_80FA710
-_0807A224: .4byte gUnknown_80F4F7A
-_0807A228:
- cmp r4, 0
- beq _0807A254
- adds r1, r7, 0
- adds r1, 0xA8
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0807A250
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r2, 0x1
- adds r0, r6, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_8075C58
- b _0807A27C
- .align 2, 0
-_0807A250: .4byte gUnknown_80F4F2C
-_0807A254:
- ldr r0, _0807A28C
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0807A260:
- adds r1, r7, 0
- adds r1, 0xA8
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80418D4
- mov r2, r9
- cmp r2, 0
- beq _0807A27C
- adds r0, r5, 0
- movs r1, 0x8
- bl sub_806CE68
-_0807A27C:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A28C: .4byte gUnknown_80FA734
- thumb_func_end sub_807A124
-
- thumb_func_start sub_807A290
-sub_807A290:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A31A
- ldr r6, [r4, 0x70]
- ldr r0, _0807A2C4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r6, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0807A30C
- lsls r0, 2
- ldr r1, _0807A2C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A2C4: .4byte gUnknown_202DF98
-_0807A2C8: .4byte _0807A2CC
- .align 2, 0
-_0807A2CC:
- .4byte _0807A30C
- .4byte _0807A300
- .4byte _0807A2E4
- .4byte _0807A2E4
- .4byte _0807A2EC
- .4byte _0807A30C
-_0807A2E4:
- ldr r0, _0807A2E8
- b _0807A2EE
- .align 2, 0
-_0807A2E8: .4byte gUnknown_80FA8A8
-_0807A2EC:
- ldr r0, _0807A2FC
-_0807A2EE:
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _0807A30C
- .align 2, 0
-_0807A2FC: .4byte gUnknown_80FA868
-_0807A300:
- ldr r0, _0807A320
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807A30C:
- adds r1, r6, 0
- adds r1, 0xAC
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80418D4
-_0807A31A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A320: .4byte gUnknown_80FA888
- thumb_func_end sub_807A290
-
- thumb_func_start sub_807A324
-sub_807A324:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r7, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A3F4
- ldr r6, [r4, 0x70]
- ldr r0, _0807A358
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r6, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _0807A3DC
- lsls r0, 2
- ldr r1, _0807A35C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A358: .4byte gUnknown_202DF98
-_0807A35C: .4byte _0807A360
- .align 2, 0
-_0807A360:
- .4byte _0807A3DC
- .4byte _0807A384
- .4byte _0807A3A0
- .4byte _0807A3B4
- .4byte _0807A3B4
- .4byte _0807A3A0
- .4byte _0807A3D0
- .4byte _0807A398
- .4byte _0807A3DC
-_0807A384:
- ldr r0, _0807A394
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- movs r7, 0x1
- b _0807A3DC
- .align 2, 0
-_0807A394: .4byte gUnknown_80FA8BC
-_0807A398:
- ldr r0, _0807A39C
- b _0807A3A2
- .align 2, 0
-_0807A39C: .4byte gUnknown_80FA820
-_0807A3A0:
- ldr r0, _0807A3B0
-_0807A3A2:
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _0807A3DC
- .align 2, 0
-_0807A3B0: .4byte gUnknown_80FA824
-_0807A3B4:
- ldr r0, _0807A3CC
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- adds r0, r6, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl sub_8076CB4
- b _0807A3DC
- .align 2, 0
-_0807A3CC: .4byte gUnknown_80FA81C
-_0807A3D0:
- ldr r0, _0807A3FC
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
-_0807A3DC:
- adds r1, r6, 0
- adds r1, 0xB0
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80418D4
- cmp r7, 0
- beq _0807A3F4
- adds r0, r4, 0
- bl sub_8042A74
-_0807A3F4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A3FC: .4byte gUnknown_80FABF8
- thumb_func_end sub_807A324
-
- thumb_func_start sub_807A400
-sub_807A400:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A4BC
- ldr r6, [r5, 0x70]
- ldr r0, _0807A434
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r6, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _0807A4A8
- lsls r0, 2
- ldr r1, _0807A438
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A434: .4byte gUnknown_202DF98
-_0807A438: .4byte _0807A43C
- .align 2, 0
-_0807A43C:
- .4byte _0807A4A8
- .4byte _0807A49C
- .4byte _0807A460
- .4byte _0807A478
- .4byte _0807A468
- .4byte _0807A470
- .4byte _0807A488
- .4byte _0807A480
- .4byte _0807A4A8
-_0807A460:
- ldr r0, _0807A464
- b _0807A48A
- .align 2, 0
-_0807A464: .4byte gUnknown_80FA800
-_0807A468:
- ldr r0, _0807A46C
- b _0807A48A
- .align 2, 0
-_0807A46C: .4byte gUnknown_80FA97C
-_0807A470:
- ldr r0, _0807A474
- b _0807A48A
- .align 2, 0
-_0807A474: .4byte gUnknown_80FA9DC
-_0807A478:
- ldr r0, _0807A47C
- b _0807A48A
- .align 2, 0
-_0807A47C: .4byte gUnknown_80FAC38
-_0807A480:
- ldr r0, _0807A484
- b _0807A48A
- .align 2, 0
-_0807A484: .4byte gUnknown_80FAB90
-_0807A488:
- ldr r0, _0807A498
-_0807A48A:
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
- b _0807A4A8
- .align 2, 0
-_0807A498: .4byte gUnknown_80FAAAC
-_0807A49C:
- ldr r0, _0807A4C4
- ldr r2, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80522F4
-_0807A4A8:
- adds r1, r6, 0
- adds r1, 0xBC
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80418D4
- adds r0, r5, 0
- bl sub_8070774
-_0807A4BC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A4C4: .4byte gUnknown_80FAC18
- thumb_func_end sub_807A400
-
- thumb_func_start sub_807A4C8
-sub_807A4C8:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807A4DA
- b _0807A5C4
-_0807A4DA:
- ldr r5, [r4, 0x70]
- ldr r0, _0807A4FC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xF
- bhi _0807A5B6
- lsls r0, 2
- ldr r1, _0807A500
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A4FC: .4byte gUnknown_202DF98
-_0807A500: .4byte _0807A504
- .align 2, 0
-_0807A504:
- .4byte _0807A5B6
- .4byte _0807A544
- .4byte _0807A54C
- .4byte _0807A554
- .4byte _0807A55C
- .4byte _0807A564
- .4byte _0807A56C
- .4byte _0807A574
- .4byte _0807A57C
- .4byte _0807A584
- .4byte _0807A55C
- .4byte _0807A58C
- .4byte _0807A594
- .4byte _0807A59C
- .4byte _0807A5AC
- .4byte _0807A5B6
-_0807A544:
- ldr r0, _0807A548
- b _0807A59E
- .align 2, 0
-_0807A548: .4byte gUnknown_80FA638
-_0807A54C:
- ldr r0, _0807A550
- b _0807A59E
- .align 2, 0
-_0807A550: .4byte gUnknown_80FA69C
-_0807A554:
- ldr r0, _0807A558
- b _0807A59E
- .align 2, 0
-_0807A558: .4byte gUnknown_80FA658
-_0807A55C:
- ldr r0, _0807A560
- b _0807A59E
- .align 2, 0
-_0807A560: .4byte gUnknown_80FA67C
-_0807A564:
- ldr r0, _0807A568
- b _0807A59E
- .align 2, 0
-_0807A568: .4byte gUnknown_80FA6BC
-_0807A56C:
- ldr r0, _0807A570
- b _0807A59E
- .align 2, 0
-_0807A570: .4byte gUnknown_80FA6D4
-_0807A574:
- ldr r0, _0807A578
- b _0807A59E
- .align 2, 0
-_0807A578: .4byte gUnknown_80FA9C0
-_0807A57C:
- ldr r0, _0807A580
- b _0807A59E
- .align 2, 0
-_0807A580: .4byte gUnknown_80FAA68
-_0807A584:
- ldr r0, _0807A588
- b _0807A59E
- .align 2, 0
-_0807A588: .4byte gUnknown_80FAAC8
-_0807A58C:
- ldr r0, _0807A590
- b _0807A59E
- .align 2, 0
-_0807A590: .4byte gUnknown_80FAAE8
-_0807A594:
- ldr r0, _0807A598
- b _0807A59E
- .align 2, 0
-_0807A598: .4byte gUnknown_80FAB08
-_0807A59C:
- ldr r0, _0807A5A8
-_0807A59E:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _0807A5B6
- .align 2, 0
-_0807A5A8: .4byte gUnknown_80FAB28
-_0807A5AC:
- ldr r0, _0807A5CC
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_0807A5B6:
- adds r1, r5, 0
- adds r1, 0xC4
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80418D4
-_0807A5C4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A5CC: .4byte gUnknown_80FAB40
- thumb_func_end sub_807A4C8
-
- thumb_func_start sub_807A5D0
-sub_807A5D0:
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A6B2
- ldr r7, [r5, 0x70]
- ldr r0, _0807A604
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r7, 0
- adds r0, 0xC8
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _0807A6A4
- lsls r0, 2
- ldr r1, _0807A608
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A604: .4byte gUnknown_202DF98
-_0807A608: .4byte _0807A60C
- .align 2, 0
-_0807A60C:
- .4byte _0807A6A4
- .4byte _0807A620
- .4byte _0807A668
- .4byte _0807A634
- .4byte _0807A6A4
-_0807A620:
- cmp r6, 0x1
- beq _0807A6A4
- ldr r0, _0807A630
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807A6A4
- .align 2, 0
-_0807A630: .4byte gUnknown_80FA7BC
-_0807A634:
- cmp r6, 0x3
- beq _0807A642
- ldr r0, _0807A658
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_0807A642:
- ldr r0, _0807A65C
- ldr r0, [r0]
- ldr r2, _0807A660
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r1, _0807A664
- adds r0, r1
- str r2, [r0]
- b _0807A6A4
- .align 2, 0
-_0807A658: .4byte gUnknown_80FA7DC
-_0807A65C: .4byte gUnknown_203B418
-_0807A660: .4byte 0x00017b30
-_0807A664: .4byte 0x00017b3c
-_0807A668:
- adds r0, r7, 0
- adds r0, 0xC8
- movs r4, 0
- strb r4, [r0]
- adds r0, r5, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806CCB4
- ldr r0, _0807A6B8
- ldr r0, [r0]
- ldr r2, _0807A6BC
- adds r0, r2
- strb r4, [r0]
- cmp r6, 0x2
- beq _0807A6A4
- ldr r0, _0807A6C0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807A6C4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_0807A6A4:
- adds r1, r7, 0
- adds r1, 0xC8
- movs r0, 0
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80418D4
-_0807A6B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A6B8: .4byte gUnknown_203B418
-_0807A6BC: .4byte 0x000037fc
-_0807A6C0: .4byte gUnknown_202DF98
-_0807A6C4: .4byte gUnknown_80FA9A0
- thumb_func_end sub_807A5D0
-
- thumb_func_start sub_807A6C8
-sub_807A6C8:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A72A
- ldr r5, [r4, 0x70]
- ldr r0, _0807A6F8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- adds r0, 0xD0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807A6FC
- cmp r0, 0x1
- ble _0807A716
- cmp r0, 0x2
- beq _0807A70C
- b _0807A716
- .align 2, 0
-_0807A6F8: .4byte gUnknown_202DF98
-_0807A6FC:
- ldr r0, _0807A708
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _0807A716
- .align 2, 0
-_0807A708: .4byte gUnknown_80FA79C
-_0807A70C:
- ldr r0, _0807A730
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_0807A716:
- adds r1, r5, 0
- adds r1, 0xD0
- movs r0, 0
- strb r0, [r1]
- adds r1, 0x8
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80418D4
-_0807A72A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A730: .4byte gUnknown_80FAA8C
- thumb_func_end sub_807A6C8
-
- thumb_func_start sub_807A734
-sub_807A734:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A7BC
- ldr r5, [r4, 0x70]
- ldr r0, _0807A764
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- adds r0, 0xDC
- ldrb r0, [r0]
- cmp r0, 0x5
- bhi _0807A7AE
- lsls r0, 2
- ldr r1, _0807A768
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A764: .4byte gUnknown_202DF98
-_0807A768: .4byte _0807A76C
- .align 2, 0
-_0807A76C:
- .4byte _0807A7AE
- .4byte _0807A784
- .4byte _0807A78C
- .4byte _0807A794
- .4byte _0807A7A4
- .4byte _0807A7AE
-_0807A784:
- ldr r0, _0807A788
- b _0807A796
- .align 2, 0
-_0807A788: .4byte gUnknown_80FA8E0
-_0807A78C:
- ldr r0, _0807A790
- b _0807A796
- .align 2, 0
-_0807A790: .4byte gUnknown_80FA90C
-_0807A794:
- ldr r0, _0807A7A0
-_0807A796:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _0807A7AE
- .align 2, 0
-_0807A7A0: .4byte gUnknown_80FA934
-_0807A7A4:
- ldr r0, _0807A7C4
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_0807A7AE:
- adds r1, r5, 0
- adds r1, 0xDC
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80418D4
-_0807A7BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A7C4: .4byte gUnknown_80FA95C
- thumb_func_end sub_807A734
-
- thumb_func_start sub_807A7C8
-sub_807A7C8:
- push {r4-r6,lr}
- adds r4, r1, 0
- movs r6, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A87E
- ldr r5, [r4, 0x70]
- ldr r0, _0807A7FC
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _0807A866
- lsls r0, 2
- ldr r1, _0807A800
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A7FC: .4byte gUnknown_202DF98
-_0807A800: .4byte _0807A804
- .align 2, 0
-_0807A804:
- .4byte _0807A866
- .4byte _0807A818
- .4byte _0807A834
- .4byte _0807A824
- .4byte _0807A866
-_0807A818:
- movs r6, 0x1
- ldr r0, _0807A820
- b _0807A826
- .align 2, 0
-_0807A820: .4byte gUnknown_80FA9F4
-_0807A824:
- ldr r0, _0807A830
-_0807A826:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _0807A866
- .align 2, 0
-_0807A830: .4byte gUnknown_80FABBC
-_0807A834:
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_8069F54
- strh r0, [r5, 0x4]
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- bl sub_80687D0
- str r0, [r4, 0x64]
- adds r0, r4, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_806CCB4
- ldr r0, _0807A884
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_0807A866:
- adds r1, r5, 0
- adds r1, 0xE4
- movs r0, 0
- strb r0, [r1]
- adds r0, r4, 0
- bl sub_80418D4
- cmp r6, 0
- beq _0807A87E
- movs r0, 0x1
- bl sub_807EC28
-_0807A87E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A884: .4byte gUnknown_80FAB6C
- thumb_func_end sub_807A7C8
-
- thumb_func_start sub_807A888
-sub_807A888:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A918
- ldr r5, [r4, 0x70]
- ldr r0, _0807A8B8
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- adds r0, 0xE8
- ldrb r0, [r0]
- cmp r0, 0x4
- bhi _0807A8F6
- lsls r0, 2
- ldr r1, _0807A8BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807A8B8: .4byte gUnknown_202DF98
-_0807A8BC: .4byte _0807A8C0
- .align 2, 0
-_0807A8C0:
- .4byte _0807A8F6
- .4byte _0807A8D4
- .4byte _0807A8DC
- .4byte _0807A8EC
- .4byte _0807A8F6
-_0807A8D4:
- ldr r0, _0807A8D8
- b _0807A8DE
- .align 2, 0
-_0807A8D8: .4byte gUnknown_80FAA0C
-_0807A8DC:
- ldr r0, _0807A8E8
-_0807A8DE:
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- b _0807A8F6
- .align 2, 0
-_0807A8E8: .4byte gUnknown_80FAA2C
-_0807A8EC:
- ldr r0, _0807A920
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
-_0807A8F6:
- adds r0, r5, 0
- adds r0, 0xE8
- movs r1, 0
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80418D4
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0807A918
- movs r0, 0x31
- bl sub_803E46C
- bl sub_8049ED4
- bl sub_8040A84
-_0807A918:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A920: .4byte gUnknown_80FAA48
- thumb_func_end sub_807A888
-
- thumb_func_start sub_807A924
-sub_807A924:
- push {r4,r5,lr}
- adds r5, r1, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807A95C
- ldr r4, [r5, 0x70]
- ldr r0, _0807A964
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0xEC
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _0807A952
- ldr r0, _0807A968
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_0807A952:
- movs r0, 0
- strb r0, [r4]
- adds r0, r5, 0
- bl sub_80418D4
-_0807A95C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807A964: .4byte gUnknown_202DF98
-_0807A968: .4byte gUnknown_80FABC0
- thumb_func_end sub_807A924
-
- thumb_func_start sub_807A96C
-sub_807A96C:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- ldr r0, [r4, 0x70]
- adds r5, r0, 0
- movs r2, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x6
- bne _0807A988
- adds r0, r6, 0
- bl sub_807A324
- movs r2, 0x1
-_0807A988:
- adds r0, r5, 0
- adds r0, 0xA8
- ldrh r1, [r0]
- ldr r0, _0807A9AC
- cmp r1, r0
- bne _0807A9A2
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_807A124
- movs r2, 0x1
-_0807A9A2:
- adds r0, r2, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0807A9AC: .4byte 0x00007f01
- thumb_func_end sub_807A96C
-
- thumb_func_start sub_807A9B0
-sub_807A9B0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0xA8
- movs r2, 0
- strb r2, [r1]
- adds r0, 0xA9
- strb r2, [r0]
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_806A898
- adds r0, r4, 0
- bl sub_80418D4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_807A9B0
-
- thumb_func_start sub_807A9D8
-sub_807A9D8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807AA20
- ldr r2, [r4, 0x70]
- adds r3, r2, 0
- adds r3, 0xB0
- ldrb r0, [r3]
- cmp r0, 0x1
- bne _0807AA20
- movs r1, 0
- strb r1, [r3]
- adds r0, r2, 0
- adds r0, 0xB8
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- ldr r0, _0807AA28
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807AA2C
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80522F4
- adds r0, r4, 0
- bl sub_80418D4
-_0807AA20:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0807AA28: .4byte gUnknown_202DF98
-_0807AA2C: .4byte gUnknown_80FA8BC
- thumb_func_end sub_807A9D8
-
- thumb_func_start sub_807AA30
-sub_807AA30:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r4, 0
-_0807AA3C:
- ldr r0, _0807AAD8
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0807AADC
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- adds r4, 0x1
- mov r10, r4
- cmp r0, 0
- beq _0807AB22
- ldr r1, [r5, 0x70]
- adds r0, r1, 0
- adds r0, 0xA8
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807AB22
- adds r0, r1, 0
- adds r0, 0xA9
- ldrb r0, [r0]
- cmp r0, 0x7F
- bne _0807AB22
- movs r0, 0
- mov r9, r0
- mov r8, r0
- adds r0, r5, 0
- bl sub_80450FC
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
-_0807AA82:
- ldr r0, _0807AAD8
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0807AAE0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807AB00
- adds r0, r4, 0
- movs r1, 0x18
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- bne _0807AB00
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0807AABA
- negs r1, r1
-_0807AABA:
- cmp r1, 0x1
- bgt _0807AAE4
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0807AACE
- negs r1, r1
-_0807AACE:
- cmp r1, 0x1
- bgt _0807AAE4
- movs r0, 0x1
- mov r9, r0
- b _0807AB06
- .align 2, 0
-_0807AAD8: .4byte gUnknown_203B418
-_0807AADC: .4byte 0x0001358c
-_0807AAE0: .4byte 0x0001357c
-_0807AAE4:
- adds r0, r4, 0
- movs r1, 0x1D
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0807AB00
- adds r0, r4, 0
- bl sub_80450FC
- lsls r0, 24
- lsrs r0, 24
- cmp r7, r0
- beq _0807AB1C
-_0807AB00:
- adds r6, 0x1
- cmp r6, 0x3
- ble _0807AA82
-_0807AB06:
- mov r2, r8
- cmp r2, 0
- bne _0807AB1C
- mov r0, r9
- cmp r0, 0
- beq _0807AB16
- movs r2, 0x1
- mov r8, r2
-_0807AB16:
- mov r0, r8
- cmp r0, 0
- beq _0807AB22
-_0807AB1C:
- adds r0, r5, 0
- bl sub_807A9B0
-_0807AB22:
- mov r4, r10
- cmp r4, 0xF
- ble _0807AA3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807AA30
-
- thumb_func_start sub_807AB38
-sub_807AB38:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1A8
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, [r2, 0x70]
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _0807AB54
- b _0807ADA6
-_0807AB54:
- adds r0, r2, 0
- str r2, [sp, 0x1A4]
- bl sub_8045128
- ldrh r1, [r0]
- movs r0, 0x40
- ands r0, r1
- ldr r2, [sp, 0x1A4]
- cmp r0, 0
- bne _0807AB6A
- b _0807ADA6
-_0807AB6A:
- ldr r3, _0807AC10
- ldr r0, [r3]
- ldr r5, _0807AC14
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807AB7A
- b _0807ADA6
-_0807AB7A:
- movs r0, 0x1
- strb r0, [r1]
- ldr r3, [r3]
- ldr r1, _0807AC18
- adds r0, r3, r1
- ldrb r1, [r0]
- cmp r1, 0xFF
- bne _0807AB8C
- b _0807ADA6
-_0807AB8C:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r5, _0807AC1C
- adds r0, r5
- adds r3, r0
- movs r0, 0
- mov r8, r0
- cmp r4, 0
- beq _0807AC20
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- subs r6, r0, 0x4
- adds r0, 0x4
- cmp r6, r0
- ble _0807ABAE
- b _0807ACB4
-_0807ABAE:
- movs r4, 0x4
- ldrsh r0, [r2, r4]
- subs r4, r0, 0x4
- adds r0, 0x4
- adds r5, r6, 0x1
- mov r9, r5
- cmp r4, r0
- bgt _0807AC00
- mov r1, r8
- lsls r0, r1, 2
- mov r1, sp
- adds r5, r0, r1
-_0807ABC6:
- adds r0, r4, 0
- adds r1, r6, 0
- str r2, [sp, 0x1A4]
- bl sub_8049590
- adds r1, r0, 0
- ldr r0, [r1, 0x10]
- ldr r2, [sp, 0x1A4]
- cmp r0, 0
- bne _0807ABF4
- ldrh r1, [r1]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0807ABF4
- mov r0, r8
- cmp r0, 0x63
- bgt _0807ABF4
- strh r4, [r5]
- strh r6, [r5, 0x2]
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
-_0807ABF4:
- adds r4, 0x1
- movs r1, 0x4
- ldrsh r0, [r2, r1]
- adds r0, 0x4
- cmp r4, r0
- ble _0807ABC6
-_0807AC00:
- mov r6, r9
- movs r4, 0x6
- ldrsh r0, [r2, r4]
- adds r0, 0x4
- cmp r6, r0
- ble _0807ABAE
- b _0807ACB4
- .align 2, 0
-_0807AC10: .4byte gUnknown_203B418
-_0807AC14: .4byte 0x00000671
-_0807AC18: .4byte 0x00003a0c
-_0807AC1C: .4byte 0x000104c4
-_0807AC20:
- movs r5, 0x4
- ldrsh r0, [r2, r5]
- subs r1, r0, 0x4
- movs r5, 0x2
- ldrsh r4, [r3, r5]
- mov r10, r4
- cmp r10, r1
- bge _0807AC32
- mov r10, r1
-_0807AC32:
- adds r1, r0, 0x5
- movs r0, 0x6
- ldrsh r7, [r3, r0]
- cmp r7, r1
- ble _0807AC3E
- adds r7, r1, 0
-_0807AC3E:
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- subs r2, r0, 0x4
- movs r4, 0x4
- ldrsh r1, [r3, r4]
- cmp r1, r2
- bge _0807AC4E
- adds r1, r2, 0
-_0807AC4E:
- adds r0, 0x5
- movs r5, 0x8
- ldrsh r2, [r3, r5]
- cmp r2, r0
- ble _0807AC5A
- adds r2, r0, 0
-_0807AC5A:
- adds r6, r1, 0
- cmp r6, r2
- bge _0807ACB4
-_0807AC60:
- mov r4, r10
- adds r0, r6, 0x1
- mov r9, r0
- cmp r4, r7
- bge _0807ACAE
- mov r1, r8
- lsls r0, r1, 2
- mov r1, sp
- adds r5, r0, r1
-_0807AC72:
- adds r0, r4, 0
- adds r1, r6, 0
- str r2, [sp, 0x1A4]
- bl sub_8049590
- adds r1, r0, 0
- ldr r0, [r1, 0x10]
- ldr r2, [sp, 0x1A4]
- cmp r0, 0
- bne _0807ACA8
- ldrh r1, [r1]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0807ACA8
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0807ACA8
- mov r0, r8
- cmp r0, 0x63
- bgt _0807ACA8
- strh r4, [r5]
- strh r6, [r5, 0x2]
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
-_0807ACA8:
- adds r4, 0x1
- cmp r4, r7
- blt _0807AC72
-_0807ACAE:
- mov r6, r9
- cmp r6, r2
- blt _0807AC60
-_0807ACB4:
- ldr r0, _0807AD74
- movs r2, 0
- ldrsh r0, [r0, r2]
- ldr r1, _0807AD78
- movs r4, 0
- ldrsh r1, [r1, r4]
- bl sub_808411C
- adds r7, r0, 0
- cmp r7, r8
- blt _0807ACCC
- mov r7, r8
-_0807ACCC:
- movs r6, 0
- cmp r6, r7
- bge _0807ADA0
- mov r10, r6
-_0807ACD4:
- mov r0, r8
- bl sub_8084100
- adds r2, r0, 0
- movs r3, 0
- cmp r3, r8
- bge _0807AD0C
- lsls r0, r2, 2
- mov r5, sp
- adds r1, r5, r0
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r5, r0, 0
- cmp r1, 0
- bne _0807AD1C
-_0807ACF2:
- adds r2, 0x1
- cmp r2, r8
- blt _0807ACFA
- movs r2, 0
-_0807ACFA:
- adds r3, 0x1
- cmp r3, r8
- bge _0807AD0C
- lsls r0, r2, 2
- add r0, sp
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- beq _0807ACF2
-_0807AD0C:
- lsls r0, r2, 2
- mov r2, sp
- adds r1, r2, r0
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r5, r0, 0
- cmp r1, 0
- beq _0807ADA0
-_0807AD1C:
- movs r0, 0x1
- bl sub_803D970
- add r4, sp, 0x190
- movs r1, 0
- strh r0, [r4]
- mov r0, r10
- strh r0, [r4, 0x8]
- strb r1, [r4, 0x2]
- mov r1, r10
- str r1, [r4, 0x4]
- movs r0, 0x1
- strb r0, [r4, 0x10]
- mov r2, sp
- adds r1, r2, r5
- ldrh r0, [r1]
- strh r0, [r4, 0xC]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xE]
- movs r5, 0
- ldrsh r0, [r4, r5]
- movs r1, 0x1
- bl sub_806AA0C
- lsls r0, 24
- adds r6, 0x1
- mov r9, r6
- cmp r0, 0
- beq _0807AD9A
- adds r0, r4, 0
- movs r1, 0
- bl sub_806B7F8
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807AD9A
- movs r0, 0xC8
- lsls r0, 8
- str r0, [r4, 0x1C]
- movs r5, 0
- b _0807AD84
- .align 2, 0
-_0807AD74: .4byte gUnknown_80F4DA2
-_0807AD78: .4byte gUnknown_80F4DA4
-_0807AD7C:
- movs r0, 0x57
- bl sub_803E46C
- adds r5, 0x1
-_0807AD84:
- cmp r5, 0x63
- bgt _0807AD96
- ldr r0, [r4, 0x1C]
- movs r1, 0xAA
- bl sub_8009DA4
- str r0, [r4, 0x1C]
- cmp r0, 0xFF
- bgt _0807AD7C
-_0807AD96:
- mov r0, r10
- str r0, [r4, 0x1C]
-_0807AD9A:
- mov r6, r9
- cmp r6, r7
- blt _0807ACD4
-_0807ADA0:
- movs r0, 0x1
- bl sub_804178C
-_0807ADA6:
- add sp, 0x1A8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807AB38
-
- thumb_func_start sub_807ADB8
-sub_807ADB8:
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r4, [r5, 0x70]
- adds r0, r4, 0
- adds r0, 0x79
- movs r6, 0
- strb r6, [r0]
- adds r0, 0x1
- strb r6, [r0]
- adds r0, 0x1
- strb r6, [r0]
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- beq _0807ADFA
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- asrs r0, 1
- cmp r1, r0
- bgt _0807ADFA
- adds r0, r4, 0
- adds r0, 0x44
- strh r6, [r0]
- b _0807AEB4
-_0807ADFA:
- adds r0, r5, 0
- movs r1, 0x9
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- beq _0807AE12
- adds r1, r4, 0
- adds r1, 0x44
- movs r0, 0
- strh r0, [r1]
- b _0807AEB4
-_0807AE12:
- ldrb r0, [r4, 0x7]
- cmp r0, 0
- bne _0807AE32
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- bl sub_8094450
- adds r1, r0, 0
- cmp r1, 0
- bne _0807AE32
- adds r0, r4, 0
- adds r0, 0x44
- strh r1, [r0]
- b _0807AEB4
-_0807AE32:
- adds r0, r4, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807AE6A
- adds r0, r4, 0
- adds r0, 0x44
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_8044CA0
- movs r0, 0x8
- bl sub_8084100
- adds r1, r4, 0
- adds r1, 0x46
- strb r0, [r1]
- ldrh r1, [r5, 0x4]
- movs r2, 0xB6
- lsls r2, 1
- adds r0, r4, r2
- strh r1, [r0]
- ldrh r0, [r5, 0x6]
- subs r0, 0x1
- adds r2, 0x2
- adds r1, r4, r2
- strh r0, [r1]
- b _0807AEB4
-_0807AE6A:
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _0807AE80
- adds r0, r5, 0
- bl sub_807B5E0
- b _0807AE9C
-_0807AE80:
- adds r0, r5, 0
- bl sub_807AEBC
- lsls r0, 24
- cmp r0, 0
- beq _0807AE96
- adds r1, r4, 0
- adds r1, 0x44
- movs r0, 0x3F
- strh r0, [r1]
- b _0807AEB4
-_0807AE96:
- adds r0, r5, 0
- bl sub_807AF58
-_0807AE9C:
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0807AEAC
- adds r0, r4, 0
- adds r0, 0x44
- strh r2, [r0]
- b _0807AEB4
-_0807AEAC:
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_807B2D8
-_0807AEB4:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807ADB8
-
- thumb_func_start sub_807AEBC
-sub_807AEBC:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, [r4, 0x70]
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807AF50
- adds r0, r4, 0
- bl sub_8070C60
- lsls r0, 24
- cmp r0, 0
- bne _0807AF50
- adds r0, r4, 0
- bl sub_8045128
- adds r6, r0, 0
- ldr r4, [r6, 0x14]
- cmp r4, 0
- beq _0807AF50
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x5
- bhi _0807AF50
- lsls r0, 2
- ldr r1, _0807AEFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0807AEFC: .4byte _0807AF00
- .align 2, 0
-_0807AF00:
- .4byte _0807AF50
- .4byte _0807AF50
- .4byte _0807AF50
- .4byte _0807AF18
- .4byte _0807AF50
- .4byte _0807AF50
-_0807AF18:
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- bne _0807AF50
- adds r0, r5, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0807AF50
- ldrh r1, [r6]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0807AF3C
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _0807AF50
-_0807AF3C:
- adds r0, r4, 0
- bl sub_8045108
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0807AF50
- movs r0, 0x1
- b _0807AF52
-_0807AF50:
- movs r0, 0
-_0807AF52:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_807AEBC
-
- thumb_func_start sub_807AF58
-sub_807AF58:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- ldr r7, [r0, 0x70]
- bl sub_8072C88
- lsls r0, 24
- cmp r0, 0
- beq _0807AF74
- b _0807B12C
-_0807AF74:
- ldr r0, _0807AF8C
- ldr r1, [r0]
- ldr r2, _0807AF90
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807AF98
- ldr r3, _0807AF94
- adds r6, r1, r3
- movs r4, 0x14
- mov r10, r4
- b _0807AFB4
- .align 2, 0
-_0807AF8C: .4byte gUnknown_203B418
-_0807AF90: .4byte 0x000037fc
-_0807AF94: .4byte 0x000135cc
-_0807AF98:
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- beq _0807AFAC
- ldr r0, _0807AFA8
- adds r6, r1, r0
- movs r1, 0x4
- mov r10, r1
- b _0807AFB4
- .align 2, 0
-_0807AFA8: .4byte 0x0001357c
-_0807AFAC:
- ldr r2, _0807B01C
- adds r6, r1, r2
- movs r3, 0x10
- mov r10, r3
-_0807AFB4:
- mov r0, r8
- bl sub_8070460
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r4, 0x1
- negs r4, r4
- str r4, [sp]
- ldr r0, _0807B020
- mov r9, r0
- movs r5, 0
- adds r1, r7, 0
- adds r1, 0x78
- str r1, [sp, 0x8]
- cmp r5, r10
- bge _0807B09E
-_0807AFD6:
- lsls r0, r5, 2
- adds r0, r6
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807B098
- ldr r0, [r4, 0x70]
- adds r1, r0, 0
- adds r1, 0xA4
- ldrb r1, [r1]
- adds r2, r0, 0
- cmp r1, 0
- bne _0807B098
- ldr r0, _0807B024
- ldr r0, [r0]
- ldr r3, _0807B028
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B02C
- mov r0, r8
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807B098
- ldr r2, [r4, 0x70]
- b _0807B03C
- .align 2, 0
-_0807B01C: .4byte 0x0001358c
-_0807B020: .4byte 0x000003e7
-_0807B024: .4byte gUnknown_203B418
-_0807B028: .4byte 0x000037fc
-_0807B02C:
- ldrb r0, [r7, 0x6]
- cmp r0, 0
- bne _0807B03C
- adds r0, r2, 0
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _0807B098
-_0807B03C:
- ldrb r0, [r2, 0x8]
- cmp r0, 0x1
- beq _0807B098
- ldr r0, [sp, 0x4]
- cmp r0, 0
- beq _0807B074
- mov r2, r8
- movs r3, 0x4
- ldrsh r1, [r2, r3]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- subs r1, r0
- cmp r1, 0
- bge _0807B05A
- negs r1, r1
-_0807B05A:
- cmp r1, 0x5
- bgt _0807B074
- mov r3, r8
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- subs r1, r0
- cmp r1, 0
- bge _0807B070
- negs r1, r1
-_0807B070:
- cmp r1, 0x5
- ble _0807B082
-_0807B074:
- mov r0, r8
- adds r1, r4, 0
- bl sub_8045A00
- lsls r0, 24
- cmp r0, 0
- beq _0807B098
-_0807B082:
- adds r1, r4, 0x4
- mov r0, r8
- adds r0, 0x4
- bl sub_8098434
- cmp r9, r0
- ble _0807B098
- mov r9, r0
- str r5, [sp]
- cmp r0, 0x1
- ble _0807B09E
-_0807B098:
- adds r5, 0x1
- cmp r5, r10
- blt _0807AFD6
-_0807B09E:
- ldr r3, [sp]
- cmp r3, 0
- blt _0807B12C
- movs r2, 0
- movs r5, 0x1
- ldr r4, [sp, 0x8]
- strb r5, [r4]
- adds r1, r7, 0
- adds r1, 0x88
- lsls r0, r3, 2
- adds r4, r0, r6
- ldr r0, [r4]
- ldr r0, [r0, 0x4]
- str r0, [r1]
- subs r1, 0x8
- ldr r0, [r4]
- str r0, [r1]
- ldrh r1, [r0, 0x26]
- adds r0, r7, 0
- adds r0, 0x7C
- strh r1, [r0]
- subs r0, 0x2
- strb r5, [r0]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r7, r1
- str r2, [r0]
- mov r0, r8
- movs r1, 0x8
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- bne _0807B0E4
- b _0807B2C6
-_0807B0E4:
- mov r0, r8
- bl sub_80719C4
- lsls r0, 24
- cmp r0, 0
- beq _0807B0F2
- b _0807B2C6
-_0807B0F2:
- mov r2, r8
- movs r3, 0x4
- ldrsh r1, [r2, r3]
- ldr r2, [r4]
- movs r4, 0x4
- ldrsh r0, [r2, r4]
- subs r1, r0
- cmp r1, 0
- bge _0807B106
- negs r1, r1
-_0807B106:
- cmp r1, 0x1
- ble _0807B10C
- b _0807B2C6
-_0807B10C:
- mov r0, r8
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- movs r4, 0x6
- ldrsh r0, [r2, r4]
- subs r0, r1, r0
- cmp r0, 0
- bge _0807B11E
- negs r0, r0
-_0807B11E:
- cmp r0, 0x1
- ble _0807B124
- b _0807B2C6
-_0807B124:
- adds r0, r7, 0
- adds r0, 0x7B
- strb r5, [r0]
- b _0807B2C6
-_0807B12C:
- mov r0, r8
- movs r1, 0x1
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- bne _0807B17C
- ldrb r5, [r7, 0x6]
- adds r0, r7, 0
- adds r0, 0x78
- str r0, [sp, 0x8]
- cmp r5, 0
- bne _0807B222
- mov r0, r8
- bl sub_8072CA8
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807B222
- movs r0, 0x1
- ldr r1, [sp, 0x8]
- strb r0, [r1]
- adds r1, r7, 0
- adds r1, 0x88
- ldr r0, [r4, 0x4]
- str r0, [r1]
- adds r0, r7, 0
- adds r0, 0x80
- str r4, [r0]
- ldrh r1, [r4, 0x26]
- subs r0, 0x4
- strh r1, [r0]
- movs r2, 0x8A
- lsls r2, 1
- adds r0, r7, r2
- str r5, [r0]
- b _0807B2C6
-_0807B17C:
- ldrb r0, [r7, 0x7]
- adds r3, r7, 0
- adds r3, 0x78
- str r3, [sp, 0x8]
- cmp r0, 0
- beq _0807B222
- ldr r4, _0807B1BC
- ldr r0, [r4]
- ldr r1, _0807B1C0
- adds r0, r1
- ldrb r0, [r0]
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- cmp r1, 0xFF
- bne _0807B1C4
- mov r4, r8
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- subs r2, r1, 0x2
- mov r10, r2
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- subs r2, r0, 0x2
- adds r6, r1, 0x2
- adds r0, 0x2
- b _0807B1EC
- .align 2, 0
-_0807B1BC: .4byte gUnknown_203B418
-_0807B1C0: .4byte 0x00018209
-_0807B1C4:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _0807B26C
- adds r0, r1
- ldr r1, [r4]
- adds r1, r0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r0, 0x1
- mov r10, r0
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- subs r2, r0, 0x1
- movs r4, 0x6
- ldrsh r0, [r1, r4]
- adds r6, r0, 0x1
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- adds r0, 0x1
-_0807B1EC:
- mov r9, r0
- adds r5, r2, 0
- adds r4, r7, 0
- adds r4, 0x78
- str r4, [sp, 0x8]
- cmp r5, r9
- bgt _0807B222
-_0807B1FA:
- mov r4, r10
- cmp r4, r6
- bgt _0807B21C
-_0807B200:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- ldr r0, [r0, 0x14]
- cmp r0, 0
- beq _0807B216
- bl sub_80450F8
- cmp r0, 0x3
- beq _0807B270
-_0807B216:
- adds r4, 0x1
- cmp r4, r6
- ble _0807B200
-_0807B21C:
- adds r5, 0x1
- cmp r5, r9
- ble _0807B1FA
-_0807B222:
- ldr r1, [sp, 0x8]
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _0807B2C0
- adds r3, r7, 0
- adds r3, 0x80
- ldr r1, [r3]
- cmp r1, 0
- beq _0807B2C0
- adds r2, r7, 0
- adds r2, 0x7C
- ldrh r0, [r1, 0x26]
- ldrh r4, [r2]
- cmp r0, r4
- bne _0807B2B4
- ldr r1, [r1, 0x70]
- mov r9, r1
- movs r5, 0
- mov r4, r9
- adds r4, 0x68
-_0807B250:
- lsls r6, r5, 2
- mov r0, r8
- adds r1, r4, 0
- bl sub_8045ABC
- lsls r0, 24
- cmp r0, 0
- bne _0807B294
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x3
- ble _0807B250
- b _0807B2C0
- .align 2, 0
-_0807B26C: .4byte 0x000104c4
-_0807B270:
- movs r1, 0
- movs r0, 0x7
- ldr r2, [sp, 0x8]
- strb r0, [r2]
- adds r0, r7, 0
- adds r0, 0x88
- strh r4, [r0]
- adds r0, 0x2
- strh r5, [r0]
- subs r0, 0xA
- str r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- movs r3, 0x8A
- lsls r3, 1
- adds r0, r7, r3
- str r1, [r0]
- b _0807B2C6
-_0807B294:
- movs r2, 0
- movs r0, 0x2
- ldr r4, [sp, 0x8]
- strb r0, [r4]
- adds r1, r7, 0
- adds r1, 0x88
- mov r0, r9
- adds r0, 0x68
- adds r0, r6
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r7, r1
- str r2, [r0]
- b _0807B2C6
-_0807B2B4:
- movs r1, 0
- movs r0, 0x6
- ldr r4, [sp, 0x8]
- strb r0, [r4]
- str r1, [r3]
- strh r1, [r2]
-_0807B2C0:
- mov r0, r8
- bl sub_807B920
-_0807B2C6:
- movs r0, 0x1
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807AF58
-
- thumb_func_start sub_807B2D8
-sub_807B2D8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- mov r9, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r5, [r0, 0x70]
- movs r0, 0xB6
- lsls r0, 1
- adds r1, r5, r0
- adds r4, r5, 0
- adds r4, 0x88
- ldr r0, [r4]
- str r0, [r1]
- mov r2, r9
- ldr r1, [r2, 0x4]
- ldr r0, [r4]
- cmp r1, r0
- beq _0807B348
- mov r6, r9
- adds r6, 0x4
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80983D8
- mov r8, r0
- adds r0, r5, 0
- adds r0, 0x7A
- ldrb r1, [r0]
- mov r0, r9
- bl sub_8071470
- lsls r0, 24
- cmp r0, 0
- beq _0807B366
- adds r0, r5, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807B37C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8083478
- lsls r0, 24
- cmp r0, 0
- beq _0807B37C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8098434
- cmp r0, 0x2
- bne _0807B354
-_0807B348:
- adds r0, r5, 0
- adds r0, 0x44
- movs r1, 0x1
- bl sub_8044C94
- b _0807B5CE
-_0807B354:
- cmp r0, 0x1
- bgt _0807B37C
- movs r3, 0x4
- add r8, r3
- movs r0, 0x7
- mov r1, r8
- ands r1, r0
- mov r8, r1
- b _0807B37C
-_0807B366:
- adds r0, r5, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B37C
- movs r2, 0x4
- add r8, r2
- movs r0, 0x7
- mov r3, r8
- ands r3, r0
- mov r8, r3
-_0807B37C:
- add r4, sp, 0x30
- mov r0, r9
- mov r1, r8
- adds r2, r4, 0
- bl sub_8071214
- lsls r0, 24
- cmp r0, 0
- beq _0807B3A8
- adds r0, r5, 0
- adds r0, 0x44
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_8044CA0
- movs r0, 0x7
- mov r3, r8
- ands r3, r0
- adds r0, r5, 0
- adds r0, 0x46
- strb r3, [r0]
- b _0807B5CE
-_0807B3A8:
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807B444
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _0807B3E8
- ldr r1, _0807B3E0
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807B3E8
- adds r0, r5, 0
- adds r0, 0x79
- movs r4, 0x1
- strb r4, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r5, r2
- strb r4, [r0]
- adds r0, r5, 0
- adds r0, 0x44
- movs r1, 0x1
- bl sub_8044C94
- ldr r3, _0807B3E4
- adds r0, r5, r3
- strb r4, [r0]
- b _0807B5CE
- .align 2, 0
-_0807B3E0: .4byte 0x00000145
-_0807B3E4: .4byte 0x00000147
-_0807B3E8:
- mov r0, r9
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- ldr r2, _0807B434
- mov r3, r8
- lsls r0, r3, 2
- adds r2, r0, r2
- movs r3, 0
- ldrsh r0, [r2, r3]
- adds r1, r0
- adds r0, r5, 0
- adds r0, 0x88
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _0807B43C
- mov r1, r9
- movs r3, 0x6
- ldrsh r0, [r1, r3]
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- adds r0, r1
- adds r1, r5, 0
- adds r1, 0x8A
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bne _0807B43C
- adds r0, r5, 0
- adds r0, 0x44
- movs r1, 0x1
- bl sub_8044C94
- ldr r3, _0807B438
- adds r1, r5, r3
- movs r0, 0x1
- strb r0, [r1]
- b _0807B5CE
- .align 2, 0
-_0807B434: .4byte gUnknown_80F4448
-_0807B438: .4byte 0x00000147
-_0807B43C:
- adds r1, r5, 0
- adds r1, 0x79
- movs r0, 0x1
- strb r0, [r1]
-_0807B444:
- mov r3, sp
- mov r2, sp
- mov r1, sp
- add r0, sp, 0x28
- movs r4, 0x1
- strb r4, [r0]
- add r0, sp, 0x20
- strb r4, [r0]
- strb r4, [r1, 0x18]
- strb r4, [r2, 0x10]
- strb r4, [r3, 0x8]
- ldrb r6, [r5, 0x6]
- cmp r6, 0
- bne _0807B4C8
- mov r0, r8
- ands r0, r4
- cmp r0, 0
- beq _0807B4C8
- mov r1, r9
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- adds r1, r5, 0
- adds r1, 0x88
- movs r3, 0
- ldrsh r1, [r1, r3]
- subs r2, r0, r1
- cmp r2, 0
- bge _0807B47E
- negs r2, r2
-_0807B47E:
- mov r0, r9
- movs r3, 0x6
- ldrsh r1, [r0, r3]
- adds r0, r5, 0
- adds r0, 0x8A
- movs r3, 0
- ldrsh r0, [r0, r3]
- subs r1, r0
- cmp r1, 0
- bge _0807B494
- negs r1, r1
-_0807B494:
- cmp r2, 0x2
- bgt _0807B4C8
- cmp r1, 0x2
- bgt _0807B4C8
- cmp r2, r1
- beq _0807B4C8
- movs r3, 0x2
- mov r0, r8
- ands r3, r0
- cmp r3, 0
- beq _0807B4BA
- cmp r2, r1
- bge _0807B4B4
- mov r0, sp
- strb r6, [r0, 0x10]
- b _0807B4C8
-_0807B4B4:
- mov r0, sp
- strb r6, [r0, 0x8]
- b _0807B4C8
-_0807B4BA:
- cmp r2, r1
- bge _0807B4C4
- mov r0, sp
- strb r3, [r0, 0x8]
- b _0807B4C8
-_0807B4C4:
- mov r0, sp
- strb r3, [r0, 0x10]
-_0807B4C8:
- movs r1, 0x3
- mov r10, r1
- mov r0, r9
- adds r1, r7, 0
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- bne _0807B4E4
- adds r0, r5, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B4E8
-_0807B4E4:
- movs r2, 0x5
- mov r10, r2
-_0807B4E8:
- movs r6, 0x1
- adds r3, r5, 0
- adds r3, 0x44
- str r3, [sp, 0x34]
- cmp r6, r10
- bge _0807B53C
- mov r3, sp
- mov r4, sp
- adds r4, 0xA
- add r7, sp, 0x8
-_0807B4FC:
- lsls r0, r6, 3
- add r2, sp, 0x4
- adds r2, r0
- ldr r1, _0807B598
- lsls r0, r6, 2
- adds r0, r1
- ldr r1, [r0]
- add r1, r8
- movs r0, 0x7
- ands r1, r0
- str r1, [r2]
- mov r0, r9
- adds r2, r4, 0
- str r3, [sp, 0x38]
- bl sub_8071214
- strb r0, [r7, 0x1]
- lsls r0, 24
- ldr r3, [sp, 0x38]
- cmp r0, 0
- bne _0807B532
- ldrb r0, [r4]
- cmp r0, 0
- bne _0807B532
- movs r0, 0x1
- strb r0, [r3, 0x10]
- strb r0, [r3, 0x8]
-_0807B532:
- adds r4, 0x8
- adds r7, 0x8
- adds r6, 0x1
- cmp r6, r10
- blt _0807B4FC
-_0807B53C:
- movs r6, 0x1
- cmp r6, r10
- bge _0807B56E
- adds r3, r5, 0
- adds r3, 0x79
- add r1, sp, 0x8
- movs r4, 0x8
- movs r7, 0x1
-_0807B54C:
- adds r2, r4, 0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _0807B55A
- ldrb r0, [r1]
- cmp r0, 0
- bne _0807B5A0
-_0807B55A:
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _0807B562
- strb r7, [r3]
-_0807B562:
- adds r1, 0x8
- adds r4, r2, 0
- adds r4, 0x8
- adds r6, 0x1
- cmp r6, r10
- blt _0807B54C
-_0807B56E:
- ldr r0, [sp, 0x34]
- movs r1, 0x1
- bl sub_8044C94
- ldr r1, _0807B59C
- adds r0, r5, r1
- movs r1, 0
- movs r2, 0x1
- strb r2, [r0]
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _0807B5BC
- adds r0, r5, 0
- adds r0, 0x79
- strb r1, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r5, r2
- strb r1, [r0]
- b _0807B5CE
- .align 2, 0
-_0807B598: .4byte gUnknown_80F4D04
-_0807B59C: .4byte 0x00000147
-_0807B5A0:
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- ldr r0, [sp, 0x34]
- bl sub_8044CA0
- add r0, sp, 0x4
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- adds r1, r5, 0
- adds r1, 0x46
- strb r0, [r1]
- b _0807B5CE
-_0807B5BC:
- adds r0, r5, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B5CE
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- strb r2, [r0]
-_0807B5CE:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807B2D8
-
- thumb_func_start sub_807B5E0
-sub_807B5E0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r7, r0, 0
- ldr r0, _0807B61C
- str r0, [sp, 0x8]
- ldr r1, [r7, 0x70]
- str r1, [sp, 0x10]
- adds r0, r7, 0
- bl sub_80450FC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r0, _0807B620
- ldr r1, [r0]
- ldr r2, _0807B624
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B62C
- ldr r3, _0807B628
- adds r0, r1, r3
- movs r4, 0x14
- mov r9, r4
- b _0807B64C
- .align 2, 0
-_0807B61C: .4byte 0x000f423f
-_0807B620: .4byte gUnknown_203B418
-_0807B624: .4byte 0x000037fc
-_0807B628: .4byte 0x000135cc
-_0807B62C:
- ldr r2, [sp, 0x10]
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0807B644
- ldr r3, _0807B640
- adds r0, r1, r3
- movs r4, 0x4
- mov r9, r4
- b _0807B64C
- .align 2, 0
-_0807B640: .4byte 0x0001357c
-_0807B644:
- ldr r2, _0807B790
- adds r0, r1, r2
- movs r3, 0x10
- mov r9, r3
-_0807B64C:
- movs r4, 0
- str r4, [sp, 0xC]
- movs r1, 0xFF
- str r1, [sp, 0x4]
- mov r8, r4
- cmp r4, r9
- bge _0807B6D8
- adds r6, r0, 0
-_0807B65C:
- ldr r4, [r6]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807B6CE
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _0807B6CE
- ldr r0, _0807B794
- ldr r0, [r0]
- ldr r2, _0807B798
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807B69A
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807B6CE
-_0807B69A:
- adds r1, r4, 0x4
- adds r0, r7, 0x4
- bl sub_8098434
- ldr r3, [sp, 0x8]
- cmp r3, r0
- ble _0807B6CE
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r4, 0
- bl sub_80450FC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x10]
- adds r1, 0x88
- ldr r4, [sp, 0xC]
- ldr r0, [r4, 0x4]
- str r0, [r1]
- ldr r0, [sp, 0x10]
- movs r2, 0xB6
- lsls r2, 1
- adds r1, r0, r2
- ldr r0, [r4, 0x4]
- str r0, [r1]
-_0807B6CE:
- adds r6, 0x4
- movs r3, 0x1
- add r8, r3
- cmp r8, r9
- blt _0807B65C
-_0807B6D8:
- ldr r0, _0807B79C
- ldr r4, [sp, 0x8]
- cmp r4, r0
- bne _0807B6E2
- b _0807B906
-_0807B6E2:
- ldr r0, [sp, 0x10]
- adds r0, 0x88
- str r0, [sp, 0x28]
- ldr r1, [sp, 0x10]
- adds r1, 0x78
- str r1, [sp, 0x24]
- ldr r2, [sp, 0x4]
- cmp r10, r2
- beq _0807B6F6
- b _0807B8E0
-_0807B6F6:
- mov r3, r10
- cmp r3, 0xFF
- bne _0807B6FE
- b _0807B8E0
-_0807B6FE:
- movs r4, 0x4
- ldrsh r0, [r7, r4]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0807B7B2
- ldrh r0, [r7, 0x6]
- lsls r0, 16
- ldrh r5, [r7, 0x4]
- orrs r5, r0
- movs r4, 0
-_0807B71E:
- ldr r1, _0807B7A0
- lsls r0, r4, 2
- adds r0, r1
- ldrh r1, [r0]
- ldrh r3, [r7, 0x4]
- adds r1, r3
- lsls r1, 16
- ldrh r0, [r0, 0x2]
- ldrh r2, [r7, 0x6]
- adds r0, r2
- lsls r0, 16
- lsrs r5, r1, 16
- orrs r5, r0
- lsls r0, r5, 16
- asrs r0, 16
- asrs r1, r5, 16
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- cmp r0, r10
- beq _0807B758
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, sp
- bl sub_8071214
- lsls r0, 24
- cmp r0, 0
- bne _0807B75E
-_0807B758:
- adds r4, 0x1
- cmp r4, 0x7
- ble _0807B71E
-_0807B75E:
- cmp r4, 0x8
- bne _0807B7A4
- movs r0, 0x8
- bl sub_8084100
- adds r4, r0, 0
- movs r0, 0x6
- ldr r3, [sp, 0x24]
- strb r0, [r3]
- ldr r0, _0807B7A0
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1]
- ldrh r4, [r7, 0x4]
- adds r0, r4
- ldr r2, [sp, 0x28]
- strh r0, [r2]
- ldrh r0, [r1, 0x2]
- ldrh r7, [r7, 0x6]
- adds r0, r7
- ldr r1, [sp, 0x10]
- adds r1, 0x8A
- strh r0, [r1]
- movs r0, 0x1
- b _0807B910
- .align 2, 0
-_0807B790: .4byte 0x0001358c
-_0807B794: .4byte gUnknown_203B418
-_0807B798: .4byte 0x000037fc
-_0807B79C: .4byte 0x000f423f
-_0807B7A0: .4byte gUnknown_80F4448
-_0807B7A4:
- movs r0, 0x5
- ldr r3, [sp, 0x24]
- strb r0, [r3]
- ldr r4, [sp, 0x28]
- str r5, [r4]
- movs r0, 0x1
- b _0807B910
-_0807B7B2:
- ldr r0, _0807B8D0
- mov r2, r10
- lsls r1, r2, 7
- ldr r3, _0807B8D4
- adds r1, r3
- ldr r0, [r0]
- adds r1, r0, r1
- str r1, [sp, 0x18]
- lsls r1, r2, 1
- ldr r4, _0807B8D8
- adds r0, r4
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- str r1, [sp, 0x14]
- ldr r3, _0807B8DC
- str r3, [sp, 0x20]
- movs r4, 0
- str r4, [sp, 0x1C]
- ldr r0, [sp, 0xC]
- movs r1, 0x4
- ldrsh r3, [r0, r1]
- movs r2, 0x4
- ldrsh r0, [r7, r2]
- subs r2, r3, r0
- cmp r2, 0
- bge _0807B7EA
- negs r2, r2
-_0807B7EA:
- ldr r4, [sp, 0xC]
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r4, 0x6
- ldrsh r0, [r7, r4]
- subs r1, r0
- mov r8, r1
- cmp r1, 0
- bge _0807B802
- mov r0, r8
- negs r0, r0
- mov r8, r0
-_0807B802:
- cmp r8, r2
- bge _0807B808
- mov r8, r2
-_0807B808:
- movs r1, 0
- mov r9, r1
- ldr r2, [sp, 0x10]
- adds r2, 0x8A
- str r2, [sp, 0x2C]
- ldr r4, [sp, 0x1C]
- ldr r0, [sp, 0x14]
- cmp r4, r0
- bge _0807B8AA
- mov r10, r3
- ldr r6, [sp, 0x18]
-_0807B81E:
- movs r1, 0
- ldrsh r3, [r6, r1]
- mov r2, r10
- subs r0, r2, r3
- cmp r0, 0
- bge _0807B82C
- negs r0, r0
-_0807B82C:
- ldr r4, [sp, 0xC]
- movs r1, 0x6
- ldrsh r4, [r4, r1]
- mov r12, r4
- movs r4, 0x2
- ldrsh r2, [r6, r4]
- mov r4, r12
- subs r1, r4, r2
- cmp r1, 0
- bge _0807B842
- negs r1, r1
-_0807B842:
- cmp r1, r0
- bge _0807B848
- adds r1, r0, 0
-_0807B848:
- movs r0, 0x4
- ldrsh r4, [r7, r0]
- subs r0, r3, r4
- movs r3, 0x6
- ldrsh r5, [r7, r3]
- subs r3, r2, r5
- movs r2, 0x1
- negs r2, r2
- cmp r0, r2
- bge _0807B85E
- adds r0, r2, 0
-_0807B85E:
- cmp r3, r2
- bge _0807B864
- adds r3, r2, 0
-_0807B864:
- cmp r0, 0x1
- ble _0807B86A
- movs r0, 0x1
-_0807B86A:
- cmp r3, 0x1
- ble _0807B870
- movs r3, 0x1
-_0807B870:
- adds r0, r4, r0
- mov r4, r10
- subs r2, r4, r0
- cmp r2, 0
- bge _0807B87C
- negs r2, r2
-_0807B87C:
- adds r0, r5, r3
- mov r3, r12
- subs r0, r3, r0
- cmp r0, 0
- bge _0807B888
- negs r0, r0
-_0807B888:
- cmp r0, r2
- bge _0807B88E
- adds r0, r2, 0
-_0807B88E:
- cmp r0, r8
- blt _0807B89E
- ldr r4, [sp, 0x20]
- cmp r4, r1
- bge _0807B89E
- mov r0, r9
- str r0, [sp, 0x1C]
- str r1, [sp, 0x20]
-_0807B89E:
- adds r6, 0x4
- movs r1, 0x1
- add r9, r1
- ldr r2, [sp, 0x14]
- cmp r9, r2
- blt _0807B81E
-_0807B8AA:
- ldr r3, [sp, 0x20]
- cmp r3, 0
- blt _0807B8E0
- movs r0, 0x5
- ldr r4, [sp, 0x24]
- strb r0, [r4]
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 2
- ldr r2, [sp, 0x18]
- adds r0, r2
- ldrh r1, [r0]
- ldr r3, [sp, 0x28]
- strh r1, [r3]
- ldrh r0, [r0, 0x2]
- ldr r4, [sp, 0x2C]
- strh r0, [r4]
- movs r0, 0x1
- b _0807B910
- .align 2, 0
-_0807B8D0: .4byte gUnknown_203B418
-_0807B8D4: .4byte 0x00010884
-_0807B8D8: .4byte 0x00010844
-_0807B8DC: .4byte 0xfff0bdc1
-_0807B8E0:
- movs r0, 0x5
- ldr r1, [sp, 0x24]
- strb r0, [r1]
- ldr r2, [sp, 0xC]
- ldrh r1, [r2, 0x4]
- ldrh r0, [r7, 0x4]
- subs r1, r0
- subs r0, r1
- ldr r3, [sp, 0x28]
- strh r0, [r3]
- ldrh r0, [r2, 0x6]
- ldrh r1, [r7, 0x6]
- subs r0, r1
- subs r1, r0
- ldr r0, [sp, 0x10]
- adds r0, 0x8A
- strh r1, [r0]
- movs r0, 0x1
- b _0807B910
-_0807B906:
- adds r0, r7, 0
- bl sub_807B920
- lsls r0, 24
- lsrs r0, 24
-_0807B910:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807B5E0
-
- thumb_func_start sub_807B920
-sub_807B920:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r6, r0, 0
- ldr r7, [r6, 0x70]
- bl sub_80450FC
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _0807B9DC
- movs r0, 0
- str r0, [sp, 0x4]
- adds r4, r7, 0
- adds r4, 0x46
- ldrb r0, [r4]
- adds r0, 0x4
- mov r8, r0
- movs r0, 0x7
- mov r1, r8
- ands r1, r0
- mov r8, r1
- adds r0, r6, 0
- bl sub_807138C
- lsls r0, 24
- mov r9, r4
- cmp r0, 0
- beq _0807B96C
- movs r0, 0x8
- bl sub_8084100
- strb r0, [r4]
- movs r2, 0x1
- str r2, [sp, 0x4]
-_0807B96C:
- movs r3, 0
- movs r4, 0x78
- adds r4, r7
- mov r10, r4
- adds r0, r7, 0
- adds r0, 0x88
- str r0, [sp, 0x8]
- adds r7, 0x8A
- ldr r5, _0807B9D4
-_0807B97E:
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, [r5]
- adds r4, r0, r1
- movs r0, 0x7
- ands r4, r0
- ldr r2, [sp, 0x4]
- cmp r2, 0
- beq _0807B994
- cmp r4, r8
- beq _0807B9AA
-_0807B994:
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, sp
- str r3, [sp, 0xC]
- bl sub_8071214
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- beq _0807B9AA
- b _0807BB42
-_0807B9AA:
- adds r5, 0x4
- adds r3, 0x1
- cmp r3, 0x7
- ble _0807B97E
- movs r0, 0x8
- bl sub_8084100
- movs r1, 0x6
- mov r3, r10
- strb r1, [r3]
- ldr r1, _0807B9D8
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- ldrh r4, [r6, 0x4]
- adds r1, r4
- ldr r2, [sp, 0x8]
- strh r1, [r2]
- ldrh r0, [r0, 0x2]
- b _0807BB5A
- .align 2, 0
-_0807B9D4: .4byte gUnknown_80F4D04
-_0807B9D8: .4byte gUnknown_80F4448
-_0807B9DC:
- ldr r0, _0807BA30
- ldr r2, [r0]
- lsls r1, r3, 1
- ldr r4, _0807BA34
- adds r0, r2, r4
- adds r0, r1
- movs r4, 0
- ldrsh r1, [r0, r4]
- mov r8, r1
- lsls r0, r3, 7
- ldr r1, _0807BA38
- adds r0, r1
- adds r2, r0
- mov r9, r2
- movs r2, 0x8A
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- cmp r0, 0
- beq _0807BA40
- movs r0, 0x8
- bl sub_8084100
- adds r2, r7, 0
- adds r2, 0x78
- movs r1, 0x6
- strb r1, [r2]
- ldr r1, _0807BA3C
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0]
- ldrh r3, [r6, 0x4]
- adds r1, r3
- adds r2, 0x10
- strh r1, [r2]
- ldrh r0, [r0, 0x2]
- ldrh r6, [r6, 0x6]
- adds r0, r6
- adds r1, r7, 0
- adds r1, 0x8A
- strh r0, [r1]
- b _0807BB60
- .align 2, 0
-_0807BA30: .4byte gUnknown_203B418
-_0807BA34: .4byte 0x00010844
-_0807BA38: .4byte 0x00010884
-_0807BA3C: .4byte gUnknown_80F4448
-_0807BA40:
- adds r0, r7, 0
- adds r0, 0x78
- ldrb r1, [r0]
- mov r10, r0
- cmp r1, 0x4
- beq _0807BAA2
- mov r4, r8
- cmp r4, 0
- bne _0807BA84
- movs r0, 0x8
- bl sub_8084100
- adds r4, r0, 0
- movs r0, 0x6
- mov r1, r10
- strb r0, [r1]
- ldr r0, _0807BA80
- lsls r2, r4, 2
- adds r2, r0
- ldrh r0, [r2]
- ldrh r3, [r6, 0x4]
- adds r0, r3
- adds r1, r7, 0
- adds r1, 0x88
- strh r0, [r1]
- ldrh r0, [r2, 0x2]
- ldrh r6, [r6, 0x6]
- adds r0, r6
- adds r1, 0x2
- strh r0, [r1]
- b _0807BB60
- .align 2, 0
-_0807BA80: .4byte gUnknown_80F4448
-_0807BA84:
- movs r5, 0
-_0807BA86:
- mov r0, r8
- bl sub_8084100
- adds r4, r0, 0
- ldr r0, [r6, 0x4]
- lsls r1, r4, 2
- mov r4, r9
- adds r2, r1, r4
- ldr r1, [r2]
- cmp r0, r1
- bne _0807BB18
- adds r5, 0x1
- cmp r5, 0x9
- ble _0807BA86
-_0807BAA2:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0807BB60
- movs r0, 0x8
- bl sub_8084100
- adds r4, r0, 0
- movs r3, 0
- mov r9, r3
-_0807BAC4:
- movs r0, 0x7
- ands r4, r0
- movs r0, 0x4
- ldrsh r2, [r6, r0]
- ldr r0, _0807BB14
- lsls r1, r4, 2
- adds r1, r0
- movs r3, 0
- ldrsh r0, [r1, r3]
- adds r2, r0
- mov r8, r2
- movs r0, 0x6
- ldrsh r2, [r6, r0]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- adds r5, r2, r0
- mov r0, r8
- adds r1, r5, 0
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- cmp r0, 0xFF
- bne _0807BB04
- adds r0, r6, 0
- adds r1, r4, 0
- mov r2, sp
- adds r2, 0x1
- bl sub_8071214
- lsls r0, 24
- cmp r0, 0
- bne _0807BB2E
-_0807BB04:
- movs r0, 0x1
- add r9, r0
- adds r4, 0x1
- mov r1, r9
- cmp r1, 0x7
- ble _0807BAC4
- b _0807BB60
- .align 2, 0
-_0807BB14: .4byte gUnknown_80F4448
-_0807BB18:
- movs r0, 0x4
- mov r3, r10
- strb r0, [r3]
- ldrh r1, [r2]
- adds r0, r7, 0
- adds r0, 0x88
- strh r1, [r0]
- ldrh r1, [r2, 0x2]
- adds r0, 0x2
- strh r1, [r0]
- b _0807BB60
-_0807BB2E:
- movs r0, 0x3
- mov r4, r10
- strb r0, [r4]
- adds r0, r7, 0
- adds r0, 0x88
- mov r1, r8
- strh r1, [r0]
- adds r0, 0x2
- strh r5, [r0]
- b _0807BB60
-_0807BB42:
- movs r0, 0x3
- mov r2, r10
- strb r0, [r2]
- ldr r0, _0807BB74
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1]
- ldrh r3, [r6, 0x4]
- adds r0, r3
- ldr r4, [sp, 0x8]
- strh r0, [r4]
- ldrh r0, [r1, 0x2]
-_0807BB5A:
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r7]
-_0807BB60:
- movs r0, 0x1
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807BB74: .4byte gUnknown_80F4448
- thumb_func_end sub_807B920
-
- thumb_func_start sub_807BB78
-sub_807BB78:
- ldr r3, [r0, 0x70]
- adds r1, r3, 0
- adds r1, 0x78
- movs r2, 0
- strb r2, [r1]
- adds r1, 0x10
- ldr r0, [r0, 0x4]
- str r0, [r1]
- adds r0, r3, 0
- adds r0, 0x80
- str r2, [r0]
- subs r0, 0x4
- strh r2, [r0]
- bx lr
- thumb_func_end sub_807BB78
-
- thumb_func_start sub_807BB94
-sub_807BB94:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x5C
- mov r10, r0
- ldr r0, [r0, 0x70]
- mov r8, r0
- mov r0, r10
- movs r1, 0
- bl sub_8070D04
- lsls r0, 24
- cmp r0, 0
- beq _0807BBB6
- b _0807C03A
-_0807BBB6:
- mov r0, r10
- movs r1, 0x1
- bl sub_8071518
- lsls r0, 24
- cmp r0, 0
- beq _0807BBC6
- b _0807C03A
-_0807BBC6:
- mov r0, r10
- movs r1, 0x8
- bl sub_80718AC
- lsls r0, 24
- cmp r0, 0
- beq _0807BBD6
- b _0807C03A
-_0807BBD6:
- mov r0, r8
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0807BBF2
- ldr r0, _0807BC70
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_8084144
- lsls r0, 24
- cmp r0, 0
- beq _0807BBF2
- b _0807C03A
-_0807BBF2:
- mov r0, r8
- adds r0, 0xC0
- ldrb r1, [r0]
- str r0, [sp, 0x50]
- cmp r1, 0
- beq _0807BC7C
- movs r5, 0
- movs r4, 0x8C
- lsls r4, 1
- add r4, r8
-_0807BC06:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807BC74
- mov r0, r10
- adds r1, r4, 0
- bl sub_80570AC
- lsls r0, 24
- cmp r0, 0
- beq _0807BC74
- mov r0, r8
- adds r0, 0xC2
- ldrb r0, [r0]
- cmp r0, r5
- bne _0807BC74
- mov r0, r8
- adds r0, 0x44
- movs r1, 0x15
- bl sub_8044C94
- adds r3, r5, 0
- mov r6, r8
- adds r6, 0x48
- cmp r5, 0
- bgt _0807BC3E
- b _0807C006
-_0807BC3E:
- ldrb r1, [r4]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0807BC4A
- b _0807C006
-_0807BC4A:
- movs r4, 0x2
- lsls r0, r5, 3
- movs r2, 0x8C
- lsls r2, 1
- adds r0, r2
- mov r7, r8
- adds r2, r0, r7
-_0807BC58:
- subs r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bgt _0807BC62
- b _0807C006
-_0807BC62:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _0807BC58
- b _0807C006
- .align 2, 0
-_0807BC70: .4byte gUnknown_80F4DB2
-_0807BC74:
- adds r4, 0x8
- adds r5, 0x1
- cmp r5, 0x3
- ble _0807BC06
-_0807BC7C:
- movs r0, 0
- str r0, [sp, 0x44]
- movs r1, 0
- str r1, [sp, 0x40]
- movs r2, 0x8C
- lsls r2, 1
- add r2, r8
- movs r4, 0x1
- movs r3, 0x4
- movs r5, 0x3
-_0807BC90:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0807BCB0
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0807BCA8
- ldr r7, [sp, 0x40]
- adds r7, 0x1
- str r7, [sp, 0x40]
-_0807BCA8:
- ldrb r0, [r2, 0x4]
- ldr r1, [sp, 0x44]
- adds r1, r0
- str r1, [sp, 0x44]
-_0807BCB0:
- adds r2, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _0807BC90
- ldr r2, [sp, 0x44]
- cmp r2, 0
- bne _0807BCF8
- add r4, sp, 0x2C
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r4, 0
- bl sub_8092A88
- mov r0, sp
- mov r1, r10
- adds r2, r4, 0
- bl sub_807C04C
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807BCDE
- b _0807C03A
-_0807BCDE:
- mov r0, r8
- adds r0, 0x44
- movs r1, 0x17
- bl sub_8044C94
- mov r0, sp
- ldrb r1, [r0, 0x1]
- movs r0, 0x7
- ands r0, r1
- mov r1, r8
- adds r1, 0x46
- strb r0, [r1]
- b _0807C008
-_0807BCF8:
- mov r0, r10
- movs r1, 0xB
- bl sub_80718D8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x48]
- mov r0, r10
- movs r1, 0x6
- bl sub_80718D8
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- str r1, [sp, 0x3C]
- movs r7, 0
- str r7, [sp, 0x44]
- mov r0, sp
- adds r0, 0x28
- str r0, [sp, 0x4C]
- adds r2, r0, 0
- movs r1, 0x1
- adds r0, 0x3
-_0807BD2A:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r2
- bge _0807BD2A
- ldr r1, [sp, 0x3C]
- cmp r1, 0
- beq _0807BDC0
- movs r2, 0x63
- movs r4, 0
- movs r5, 0
- movs r3, 0x8C
- lsls r3, 1
- add r3, r8
- b _0807BD98
-_0807BD46:
- cmp r5, 0
- beq _0807BD7A
- ldrb r1, [r3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0807BD7A
- adds r0, r4, 0x1
- adds r6, r5, 0x1
- cmp r0, r5
- bge _0807BD74
- cmp r2, 0x1
- bgt _0807BD74
- adds r1, r4, 0
- cmp r1, r5
- bge _0807BD74
- ldr r2, [sp, 0x4C]
- movs r4, 0
-_0807BD6A:
- adds r0, r2, r1
- strb r4, [r0]
- adds r1, 0x1
- cmp r1, r5
- blt _0807BD6A
-_0807BD74:
- ldrb r2, [r3, 0x4]
- adds r4, r5, 0
- b _0807BD86
-_0807BD7A:
- ldrb r1, [r3, 0x4]
- cmp r1, r2
- ble _0807BD82
- adds r1, r2, 0
-_0807BD82:
- adds r2, r1, 0
- adds r6, r5, 0x1
-_0807BD86:
- adds r5, r6, 0
- cmp r5, 0x3
- bgt _0807BDA2
- lsls r0, r5, 3
- movs r7, 0x8C
- lsls r7, 1
- adds r0, r7
- mov r1, r8
- adds r3, r1, r0
-_0807BD98:
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0807BD46
-_0807BDA2:
- adds r0, r4, 0x1
- cmp r0, r5
- bge _0807BDC0
- cmp r2, 0x1
- bgt _0807BDC0
- adds r1, r4, 0
- cmp r1, r5
- bge _0807BDC0
- ldr r2, [sp, 0x4C]
- movs r3, 0
-_0807BDB6:
- adds r0, r2, r1
- strb r3, [r0]
- adds r1, 0x1
- cmp r1, r5
- blt _0807BDB6
-_0807BDC0:
- movs r5, 0
- movs r2, 0
- str r2, [sp, 0x54]
- add r4, sp, 0x4
- movs r7, 0x8C
- lsls r7, 1
- add r7, r8
- adds r6, r7, 0
- mov r9, sp
- mov r0, sp
- str r0, [sp, 0x58]
-_0807BDD6:
- movs r2, 0
- mov r1, r9
- strb r2, [r1]
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807BE64
- ldr r1, [sp, 0x4C]
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807BE64
- mov r0, r10
- adds r1, r5, 0
- ldr r2, [sp, 0x3C]
- bl sub_8057348
- lsls r0, 24
- cmp r0, 0
- beq _0807BE64
- ldrb r1, [r7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0807BE64
- movs r0, 0x1
- mov r2, r9
- strb r0, [r2]
- ldr r1, [sp, 0x50]
- ldrb r0, [r1]
- cmp r0, 0xB
- bne _0807BE38
- ldrh r0, [r7, 0x2]
- cmp r0, 0x80
- bne _0807BE24
- movs r2, 0
- str r2, [r4]
- b _0807BE64
-_0807BE24:
- mov r0, r10
- adds r1, r6, 0
- bl sub_8071A1C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- beq _0807BE4A
- movs r0, 0x1
- b _0807BE54
-_0807BE38:
- ldr r1, [sp, 0x48]
- cmp r1, 0
- beq _0807BE4A
- ldr r0, [sp, 0x58]
- mov r1, r10
- adds r2, r6, 0
- bl sub_807C04C
- b _0807BE54
-_0807BE4A:
- adds r0, r6, 0
- bl sub_8092B90
- lsls r0, 24
- lsrs r0, 24
-_0807BE54:
- str r0, [r4]
- add r0, sp, 0x4
- ldr r2, [sp, 0x54]
- adds r0, r2
- ldr r0, [r0]
- ldr r1, [sp, 0x44]
- adds r1, r0
- str r1, [sp, 0x44]
-_0807BE64:
- ldr r2, [sp, 0x54]
- adds r2, 0x8
- str r2, [sp, 0x54]
- adds r4, 0x8
- adds r7, 0x8
- adds r6, 0x8
- movs r0, 0x8
- add r9, r0
- ldr r1, [sp, 0x58]
- adds r1, 0x8
- str r1, [sp, 0x58]
- adds r5, 0x1
- cmp r5, 0x3
- ble _0807BDD6
- movs r0, 0
- str r0, [sp, 0x24]
- mov r0, r10
- movs r1, 0x17
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _0807BECA
- ldr r2, [sp, 0x50]
- ldrb r0, [r2]
- cmp r0, 0xB
- beq _0807BECA
- add r0, sp, 0x20
- movs r1, 0x1
- strb r1, [r0]
- ldrb r0, [r2]
- cmp r0, 0xB
- bne _0807BEAA
- str r1, [sp, 0x24]
- b _0807BEC2
-_0807BEAA:
- ldr r7, [sp, 0x48]
- cmp r7, 0
- beq _0807BEB4
- movs r0, 0x2
- b _0807BEC0
-_0807BEB4:
- ldr r0, _0807BEE8
- ldr r2, [sp, 0x40]
- lsls r1, r2, 1
- adds r1, r0
- movs r7, 0
- ldrsh r0, [r1, r7]
-_0807BEC0:
- str r0, [sp, 0x24]
-_0807BEC2:
- ldr r0, [sp, 0x24]
- ldr r1, [sp, 0x44]
- adds r1, r0
- str r1, [sp, 0x44]
-_0807BECA:
- ldr r2, [sp, 0x48]
- cmp r2, 0
- beq _0807BF2A
- movs r5, 0
- movs r7, 0
- str r7, [sp, 0x44]
- add r0, sp, 0x4
- adds r3, r0, 0
- mov r2, sp
- movs r4, 0x4
-_0807BEDE:
- ldrb r1, [r2]
- cmp r1, 0
- bne _0807BEEC
- str r1, [r3]
- b _0807BEF4
- .align 2, 0
-_0807BEE8: .4byte gUnknown_80F4E22
-_0807BEEC:
- ldr r1, [r3]
- cmp r5, r1
- bge _0807BEF4
- adds r5, r1, 0
-_0807BEF4:
- adds r3, 0x8
- adds r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _0807BEDE
- movs r4, 0
- movs r6, 0
- adds r1, r0, 0
- adds r3, r1, 0
- mov r2, sp
-_0807BF08:
- ldrb r0, [r2]
- cmp r0, 0
- beq _0807BF1E
- ldr r0, [r1]
- cmp r5, r0
- beq _0807BF16
- str r6, [r1]
-_0807BF16:
- ldr r0, [r3]
- ldr r7, [sp, 0x44]
- adds r7, r0
- str r7, [sp, 0x44]
-_0807BF1E:
- adds r1, 0x8
- adds r3, 0x8
- adds r2, 0x8
- adds r4, 0x1
- cmp r4, 0x4
- ble _0807BF08
-_0807BF2A:
- ldr r0, [sp, 0x44]
- cmp r0, 0
- bne _0807BF32
- b _0807C03A
-_0807BF32:
- bl sub_8084100
- str r0, [sp, 0x38]
- movs r1, 0
- mov r9, r1
- mov r0, r10
- movs r1, 0x17
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _0807BF5A
- add r1, sp, 0x34
- mov r0, r10
- movs r2, 0x1
- bl sub_807C854
- lsls r0, 24
- lsrs r6, r0, 24
- b _0807BF5E
-_0807BF5A:
- movs r6, 0
- str r6, [sp, 0x34]
-_0807BF5E:
- movs r5, 0
- mov r4, sp
- movs r7, 0
-_0807BF64:
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807C010
- add r0, sp, 0x4
- adds r0, r7
- ldr r0, [r0]
- cmp r0, 0
- beq _0807C010
- add r9, r0
- ldr r2, [sp, 0x38]
- cmp r9, r2
- blt _0807C010
- cmp r5, 0x4
- bne _0807BF9C
- cmp r6, 0
- beq _0807C03A
- mov r0, r8
- adds r0, 0x44
- movs r1, 0x32
- bl sub_8044C94
- ldr r0, [sp, 0x34]
- movs r1, 0x7
- ands r0, r1
- mov r1, r8
- adds r1, 0x46
- strb r0, [r1]
- b _0807C008
-_0807BF9C:
- movs r0, 0x8C
- lsls r0, 1
- mov r9, r0
- adds r2, r7, r0
- add r2, r8
- adds r0, r4, 0
- mov r1, r10
- bl sub_807C04C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807C01A
- mov r0, r8
- adds r0, 0x44
- movs r1, 0x15
- bl sub_8044C94
- adds r3, r5, 0
- mov r6, r8
- adds r6, 0x48
- movs r1, 0x46
- add r1, r8
- mov r12, r1
- cmp r5, 0
- ble _0807BFFC
- mov r2, r8
- adds r0, r2, r7
- add r0, r9
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0807BFFC
- movs r7, 0x2
- lsls r0, r5, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r2, r0, r2
-_0807BFEA:
- subs r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- ble _0807BFFC
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _0807BFEA
-_0807BFFC:
- ldrb r1, [r4, 0x1]
- movs r0, 0x7
- ands r0, r1
- mov r2, r12
- strb r0, [r2]
-_0807C006:
- strb r3, [r6]
-_0807C008:
- mov r0, r10
- bl sub_8069DCC
- b _0807C03A
-_0807C010:
- adds r4, 0x8
- adds r7, 0x8
- adds r5, 0x1
- cmp r5, 0x4
- ble _0807BF64
-_0807C01A:
- cmp r6, 0
- beq _0807C03A
- mov r0, r8
- adds r0, 0x44
- movs r1, 0x32
- bl sub_8044C94
- ldr r0, [sp, 0x34]
- movs r1, 0x7
- ands r0, r1
- mov r1, r8
- adds r1, 0x46
- strb r0, [r1]
- mov r0, r10
- bl sub_8069DCC
-_0807C03A:
- add sp, 0x5C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807BB94
-
- thumb_func_start sub_807C04C
-sub_807C04C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- str r0, [sp, 0x8]
- adds r6, r1, 0
- mov r10, r2
- movs r0, 0x1
- str r0, [sp, 0x10]
- ldr r4, [r6, 0x70]
- movs r1, 0
- mov r8, r1
- ldr r1, _0807C0C8
- movs r2, 0
- adds r0, r1, 0x7
-_0807C06E:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _0807C06E
- adds r0, r6, 0
- mov r1, r10
- movs r2, 0x1
- bl sub_807CD64
- lsls r0, 16
- asrs r0, 16
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0x8
- bl sub_80718D8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
- movs r0, 0
- ldr r2, [sp, 0x8]
- strb r0, [r2]
- adds r0, r4, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _0807C0B0
- mov r0, r10
- bl sub_8092C54
- lsls r0, 24
- cmp r0, 0
- beq _0807C0C4
-_0807C0B0:
- ldr r3, [sp, 0x14]
- cmp r3, 0
- beq _0807C0CC
- adds r0, r6, 0
- mov r1, r10
- bl sub_805C498
- lsls r0, 24
- cmp r0, 0
- bne _0807C0CC
-_0807C0C4:
- movs r0, 0x1
- b _0807C48C
- .align 2, 0
-_0807C0C8: .4byte gUnknown_202F380
-_0807C0CC:
- movs r0, 0xF0
- ldr r1, [sp, 0xC]
- ands r0, r1
- cmp r0, 0
- beq _0807C0DE
- cmp r0, 0x10
- beq _0807C0DE
- cmp r0, 0x20
- bne _0807C19C
-_0807C0DE:
- adds r0, r4, 0
- adds r0, 0xE8
- ldrb r1, [r0]
- cmp r1, 0x1
- bne _0807C128
- subs r0, 0xA2
- ldrb r7, [r0]
- ldr r0, _0807C118
- adds r0, r7, r0
- ldrb r3, [r0]
- cmp r3, 0
- beq _0807C0F8
- b _0807C3F6
-_0807C0F8:
- strb r1, [r0]
- ldr r0, _0807C11C
- add r0, r8
- strb r7, [r0]
- ldr r0, _0807C120
- mov r4, r8
- lsls r2, r4, 2
- adds r0, r2, r0
- movs r1, 0x63
- str r1, [r0]
- ldr r0, _0807C124
- adds r2, r0
- str r3, [r2]
- movs r0, 0x1
- add r8, r0
- b _0807C3F6
- .align 2, 0
-_0807C118: .4byte gUnknown_202F380
-_0807C11C: .4byte gUnknown_202F388
-_0807C120: .4byte gUnknown_202F390
-_0807C124: .4byte gUnknown_202F3B0
-_0807C128:
- movs r7, 0
- movs r0, 0xF0
- ldr r1, [sp, 0xC]
- ands r0, r1
- lsls r5, r0, 16
-_0807C132:
- movs r2, 0x4
- ldrsh r0, [r6, r2]
- ldr r1, _0807C198
- lsls r2, r7, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r4, 0x6
- ldrsh r1, [r6, r4]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r4, [r0, 0x10]
- cmp r4, 0
- beq _0807C18E
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807C18E
- asrs r0, r5, 16
- cmp r0, 0x10
- beq _0807C178
- cmp r0, 0x20
- beq _0807C178
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8071138
- lsls r0, 24
- cmp r0, 0
- beq _0807C18E
-_0807C178:
- mov r0, r10
- str r0, [sp]
- ldr r1, [sp, 0x14]
- str r1, [sp, 0x4]
- mov r0, r8
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_807C580
- mov r8, r0
-_0807C18E:
- adds r7, 0x1
- cmp r7, 0x7
- ble _0807C132
- b _0807C3F6
- .align 2, 0
-_0807C198: .4byte gUnknown_80F4448
-_0807C19C:
- cmp r0, 0x30
- bne _0807C1F0
- movs r5, 0
-_0807C1A2:
- ldr r0, _0807C1E8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0807C1EC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807C1E0
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _0807C1E0
- mov r3, r10
- str r3, [sp]
- ldr r0, [sp, 0x14]
- str r0, [sp, 0x4]
- mov r0, r8
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_807C580
- mov r8, r0
-_0807C1E0:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807C1A2
- b _0807C3F6
- .align 2, 0
-_0807C1E8: .4byte gUnknown_203B418
-_0807C1EC: .4byte 0x000135cc
-_0807C1F0:
- cmp r0, 0x40
- bne _0807C2A8
- movs r7, 0
- ldr r1, _0807C2A4
- mov r9, r1
-_0807C1FA:
- movs r2, 0x4
- ldrsh r0, [r6, r2]
- mov r3, r9
- movs r4, 0
- ldrsh r1, [r3, r4]
- adds r0, r1
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- movs r4, 0x2
- ldrsh r2, [r3, r4]
- adds r1, r2
- bl sub_804954C
- adds r4, r0, 0
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8071138
- lsls r0, 24
- cmp r0, 0
- beq _0807C296
- ldr r5, [r4, 0x10]
- cmp r5, 0
- beq _0807C250
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807C250
- mov r4, r8
- mov r0, r10
- str r0, [sp]
- ldr r1, [sp, 0x14]
- str r1, [sp, 0x4]
- adds r0, r4, 0
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_807C580
- mov r8, r0
- cmp r4, r8
- bne _0807C296
-_0807C250:
- movs r2, 0x4
- ldrsh r0, [r6, r2]
- mov r3, r9
- movs r4, 0
- ldrsh r1, [r3, r4]
- lsls r1, 1
- adds r0, r1
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- movs r4, 0x2
- ldrsh r2, [r3, r4]
- lsls r2, 1
- adds r1, r2
- bl sub_804954C
- adds r4, r0, 0
- ldr r5, [r4, 0x10]
- cmp r5, 0
- beq _0807C296
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807C296
- mov r0, r10
- str r0, [sp]
- ldr r1, [sp, 0x14]
- str r1, [sp, 0x4]
- mov r0, r8
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_807C580
- mov r8, r0
-_0807C296:
- movs r2, 0x4
- add r9, r2
- adds r7, 0x1
- cmp r7, 0x7
- ble _0807C1FA
- b _0807C3F6
- .align 2, 0
-_0807C2A4: .4byte gUnknown_80F4448
-_0807C2A8:
- cmp r0, 0x50
- beq _0807C2B0
- cmp r0, 0x80
- bne _0807C394
-_0807C2B0:
- movs r3, 0x1
- str r3, [sp, 0x18]
- cmp r0, 0x50
- bne _0807C2BC
- movs r4, 0xA
- str r4, [sp, 0x18]
-_0807C2BC:
- movs r0, 0
- mov r9, r0
-_0807C2C0:
- ldr r0, _0807C37C
- ldr r0, [r0]
- mov r2, r9
- lsls r1, r2, 2
- ldr r3, _0807C380
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807C370
- cmp r6, r4
- beq _0807C370
- adds r1, r4, 0x4
- adds r0, r6, 0x4
- bl sub_80983D8
- adds r5, r0, 0
- ldr r0, _0807C384
- adds r7, r5, r0
- ldrb r0, [r7]
- cmp r0, 0
- bne _0807C370
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- beq _0807C370
- adds r0, r6, 0
- adds r1, r4, 0
- ldr r2, [sp, 0x18]
- bl sub_807C4A0
- lsls r0, 24
- cmp r0, 0
- beq _0807C370
- ldr r0, [sp, 0x14]
- str r0, [sp]
- ldr r0, [sp, 0xC]
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r10
- bl sub_807C648
- lsls r0, 24
- cmp r0, 0
- beq _0807C370
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- ldr r3, [sp, 0x18]
- bl sub_807C9F8
- lsls r0, 24
- cmp r0, 0
- beq _0807C370
- movs r0, 0x1
- strb r0, [r7]
- ldr r0, _0807C388
- add r0, r8
- strb r5, [r0]
- adds r0, r6, 0
- mov r1, r10
- bl sub_8071A1C
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- adds r2, r4, 0
- bl sub_807C7AC
- ldr r1, _0807C38C
- mov r3, r8
- lsls r2, r3, 2
- adds r1, r2, r1
- str r0, [r1]
- ldr r0, _0807C390
- adds r2, r0
- str r4, [r2]
- movs r4, 0x1
- add r8, r4
-_0807C370:
- movs r0, 0x1
- add r9, r0
- mov r1, r9
- cmp r1, 0x13
- ble _0807C2C0
- b _0807C3F6
- .align 2, 0
-_0807C37C: .4byte gUnknown_203B418
-_0807C380: .4byte 0x000135cc
-_0807C384: .4byte gUnknown_202F380
-_0807C388: .4byte gUnknown_202F388
-_0807C38C: .4byte gUnknown_202F390
-_0807C390: .4byte gUnknown_202F3B0
-_0807C394:
- cmp r0, 0x60
- bne _0807C3DC
- movs r5, 0
-_0807C39A:
- ldr r0, _0807C3D4
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0807C3D8
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807C3CA
- mov r3, r10
- str r3, [sp]
- ldr r0, [sp, 0x14]
- str r0, [sp, 0x4]
- mov r0, r8
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_807C580
- mov r8, r0
-_0807C3CA:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807C39A
- b _0807C3F6
- .align 2, 0
-_0807C3D4: .4byte gUnknown_203B418
-_0807C3D8: .4byte 0x000135cc
-_0807C3DC:
- cmp r0, 0x70
- bne _0807C3F6
- mov r1, r10
- str r1, [sp]
- ldr r2, [sp, 0x14]
- str r2, [sp, 0x4]
- mov r0, r8
- ldr r1, [sp, 0xC]
- adds r2, r6, 0
- adds r3, r6, 0
- bl sub_807C580
- mov r8, r0
-_0807C3F6:
- mov r3, r8
- cmp r3, 0
- bne _0807C402
- ldr r4, [sp, 0x8]
- strb r3, [r4]
- b _0807C48A
-_0807C402:
- movs r4, 0
- movs r3, 0
- mov r0, r8
- cmp r0, 0
- ble _0807C420
- ldr r2, _0807C464
- mov r1, r8
-_0807C410:
- ldr r0, [r2]
- cmp r3, r0
- bge _0807C418
- adds r3, r0, 0
-_0807C418:
- adds r2, 0x4
- subs r1, 0x1
- cmp r1, 0
- bne _0807C410
-_0807C420:
- mov r1, r8
- cmp r1, 0
- ble _0807C43A
- movs r5, 0
- ldr r2, _0807C464
-_0807C42A:
- ldr r0, [r2]
- cmp r3, r0
- beq _0807C432
- str r5, [r2]
-_0807C432:
- adds r2, 0x4
- subs r1, 0x1
- cmp r1, 0
- bne _0807C42A
-_0807C43A:
- str r3, [sp, 0x10]
- mov r2, r8
- cmp r2, 0
- ble _0807C450
- ldr r2, _0807C464
- mov r1, r8
-_0807C446:
- ldm r2!, {r0}
- adds r4, r0
- subs r1, 0x1
- cmp r1, 0
- bne _0807C446
-_0807C450:
- adds r0, r4, 0
- bl sub_8084100
- adds r2, r0, 0
- movs r1, 0
- cmp r1, r8
- bge _0807C478
- ldr r3, _0807C464
- b _0807C470
- .align 2, 0
-_0807C464: .4byte gUnknown_202F390
-_0807C468:
- adds r3, 0x4
- adds r1, 0x1
- cmp r1, r8
- bge _0807C478
-_0807C470:
- ldr r0, [r3]
- subs r2, r0
- cmp r2, 0
- bge _0807C468
-_0807C478:
- movs r0, 0x1
- ldr r3, [sp, 0x8]
- strb r0, [r3]
- ldr r0, _0807C49C
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r3, 0x1]
- movs r0, 0x8
- str r0, [r3, 0x4]
-_0807C48A:
- ldr r0, [sp, 0x10]
-_0807C48C:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807C49C: .4byte gUnknown_202F388
- thumb_func_end sub_807C04C
-
- thumb_func_start sub_807C4A0
-sub_807C4A0:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- subs r3, r1, r0
- cmp r3, 0
- bge _0807C4B6
- negs r3, r3
-_0807C4B6:
- movs r6, 0x6
- ldrsh r1, [r4, r6]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- subs r1, r0
- cmp r1, 0
- bge _0807C4C6
- negs r1, r1
-_0807C4C6:
- adds r0, r1, 0
- cmp r1, r3
- bge _0807C4CE
- adds r0, r3, 0
-_0807C4CE:
- cmp r0, 0xA
- bgt _0807C578
- cmp r0, r2
- bgt _0807C578
- movs r6, 0x1
- negs r6, r6
- cmp r3, r1
- bne _0807C516
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- ldrh r2, [r4, 0x4]
- ldrh r3, [r5, 0x4]
- cmp r1, r0
- bge _0807C4FE
- movs r6, 0x6
- ldrsh r1, [r4, r6]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- blt _0807C574
- cmp r1, r0
- bgt _0807C574
-_0807C4FE:
- lsls r1, r2, 16
- lsls r0, r3, 16
- movs r6, 0x7
- cmp r1, r0
- ble _0807C570
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- cmp r1, r0
- ble _0807C570
- b _0807C574
-_0807C516:
- movs r3, 0x4
- ldrsh r1, [r4, r3]
- movs r7, 0x4
- ldrsh r0, [r5, r7]
- ldrh r2, [r4, 0x4]
- ldrh r3, [r5, 0x4]
- cmp r1, r0
- bne _0807C532
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- blt _0807C574
-_0807C532:
- lsls r1, r2, 16
- lsls r0, r3, 16
- cmp r1, r0
- bge _0807C546
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- beq _0807C574
-_0807C546:
- lsls r1, r2, 16
- lsls r0, r3, 16
- cmp r1, r0
- bne _0807C55A
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r7, 0x6
- ldrsh r0, [r5, r7]
- cmp r1, r0
- bgt _0807C574
-_0807C55A:
- lsls r1, r2, 16
- lsls r0, r3, 16
- cmp r1, r0
- ble _0807C570
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0807C570
- movs r6, 0x6
-_0807C570:
- cmp r6, 0
- blt _0807C578
-_0807C574:
- movs r0, 0x1
- b _0807C57A
-_0807C578:
- movs r0, 0
-_0807C57A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807C4A0
-
- thumb_func_start sub_807C580
-sub_807C580:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r2, 0
- adds r7, r3, 0
- ldr r0, [sp, 0x28]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r2, [r5, 0x70]
- ldr r1, [r5, 0x4]
- ldr r0, [r7, 0x4]
- cmp r1, r0
- beq _0807C5BC
- movs r0, 0xF0
- mov r1, r9
- ands r0, r1
- cmp r0, 0x30
- beq _0807C5BC
- cmp r0, 0x60
- beq _0807C5BC
- cmp r0, 0x70
- bne _0807C5C4
-_0807C5BC:
- adds r0, r2, 0
- adds r0, 0x46
- ldrb r4, [r0]
- b _0807C5CE
-_0807C5C4:
- adds r0, r5, 0x4
- adds r1, r7, 0x4
- bl sub_80983D8
- adds r4, r0, 0
-_0807C5CE:
- ldr r0, _0807C638
- adds r0, r4
- mov r8, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807C624
- mov r0, r10
- str r0, [sp]
- mov r0, r9
- adds r1, r5, 0
- adds r2, r7, 0
- ldr r3, [sp, 0x24]
- bl sub_807C648
- lsls r0, 24
- cmp r0, 0
- beq _0807C624
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
- ldr r0, _0807C63C
- adds r0, r6, r0
- strb r4, [r0]
- adds r0, r5, 0
- ldr r1, [sp, 0x24]
- bl sub_8071A1C
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r5, 0
- mov r1, r9
- adds r2, r7, 0
- bl sub_807C7AC
- ldr r1, _0807C640
- lsls r2, r6, 2
- adds r1, r2, r1
- str r0, [r1]
- ldr r0, _0807C644
- adds r2, r0
- str r7, [r2]
- adds r6, 0x1
-_0807C624:
- adds r0, r6, 0
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807C638: .4byte gUnknown_202F380
-_0807C63C: .4byte gUnknown_202F388
-_0807C640: .4byte gUnknown_202F390
-_0807C644: .4byte gUnknown_202F3B0
- thumb_func_end sub_807C580
-
- thumb_func_start sub_807C648
-sub_807C648:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r1, 0
- adds r4, r2, 0
- mov r8, r3
- ldr r1, [sp, 0x1C]
- lsls r0, 16
- asrs r6, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r7, 0
- movs r0, 0xF
- ands r0, r6
- adds r1, r0, 0
- cmp r1, 0
- bne _0807C686
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807C6E0
- movs r7, 0x1
- b _0807C6E4
-_0807C686:
- cmp r1, 0x1
- beq _0807C6BE
- cmp r1, 0x2
- bne _0807C692
- ldr r1, [r4, 0x70]
- b _0807C69C
-_0807C692:
- cmp r1, 0x5
- bne _0807C6B6
- ldr r1, [r4, 0x70]
- cmp r5, r4
- beq _0807C6B2
-_0807C69C:
- movs r7, 0x1
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- beq _0807C6B2
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0807C6B2
- cmp r0, 0x1
- bne _0807C6E0
-_0807C6B2:
- movs r0, 0
- b _0807C7A0
-_0807C6B6:
- cmp r1, 0x6
- bne _0807C6D4
- cmp r5, r4
- beq _0807C6B2
-_0807C6BE:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _0807C6E0
- movs r7, 0x1
- b _0807C6E4
-_0807C6D4:
- subs r0, 0x3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0807C6E0
- movs r7, 0x1
-_0807C6E0:
- cmp r7, 0
- beq _0807C79E
-_0807C6E4:
- mov r0, r9
- cmp r0, 0
- beq _0807C77C
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r8
- bl sub_805CEB8
- lsls r0, 24
- cmp r0, 0
- beq _0807C6B2
- movs r1, 0xF0
- lsls r1, 4
- ands r1, r6
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _0807C78A
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _0807C76E
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- bne _0807C720
- adds r0, r4, 0
- bl sub_8070A58
- b _0807C774
-_0807C720:
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _0807C730
- adds r0, r4, 0
- bl sub_8070B28
- b _0807C774
-_0807C730:
- movs r0, 0xC0
- lsls r0, 3
- cmp r1, r0
- bne _0807C75A
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0x5C
- ldrb r0, [r0]
- cmp r0, 0xE
- beq _0807C74E
- adds r0, r1, 0
- adds r0, 0x5D
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _0807C6B2
-_0807C74E:
- adds r0, r1, 0
- adds r0, 0xF5
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807C79E
- b _0807C6B2
-_0807C75A:
- movs r0, 0xA0
- lsls r0, 3
- cmp r1, r0
- bne _0807C79E
- adds r0, r4, 0
- bl sub_8070A58
- lsls r0, 24
- cmp r0, 0
- bne _0807C79E
-_0807C76E:
- adds r0, r4, 0
- bl sub_8070B48
-_0807C774:
- lsls r0, 24
- cmp r0, 0
- bne _0807C79E
- b _0807C6B2
-_0807C77C:
- movs r0, 0xF0
- lsls r0, 4
- ands r0, r6
- movs r1, 0x80
- lsls r1, 1
- cmp r0, r1
- bne _0807C79E
-_0807C78A:
- mov r0, r8
- movs r1, 0x2
- bl sub_8092BD8
- adds r4, r0, 0
- movs r0, 0x64
- bl sub_8084100
- cmp r0, r4
- bge _0807C6B2
-_0807C79E:
- adds r0, r7, 0
-_0807C7A0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807C648
-
- thumb_func_start sub_807C7AC
-sub_807C7AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- mov r8, r2
- lsls r1, 16
- asrs r1, 16
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- movs r6, 0x1
- ldr r4, [r2, 0x70]
- adds r7, r4, 0
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- beq _0807C7D6
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _0807C7DA
-_0807C7D6:
- movs r0, 0x1
- b _0807C848
-_0807C7DA:
- adds r0, r5, 0
- movs r1, 0x9
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0807C804
- ldr r0, _0807C7FC
- ldr r0, [r0]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- ldr r2, _0807C800
- adds r0, r2
- adds r0, r1
- ldrb r6, [r0]
- b _0807C846
- .align 2, 0
-_0807C7FC: .4byte gUnknown_203B418
-_0807C800: .4byte 0x0000363c
-_0807C804:
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0807C828
- ldrb r1, [r7, 0xE]
- movs r2, 0xC
- negs r2, r2
- adds r0, r2, 0
- subs r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _0807C846
- movs r6, 0x1
- b _0807C846
-_0807C828:
- adds r0, r5, 0
- movs r1, 0xB
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0807C846
- adds r0, r5, 0
- mov r1, r8
- mov r2, r9
- bl sub_806E654
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_0807C846:
- adds r0, r6, 0
-_0807C848:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807C7AC
-
- thumb_func_start sub_807C854
-sub_807C854:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x50
- adds r7, r0, 0
- str r1, [sp, 0x40]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x44]
- ldr r0, [r7, 0x70]
- movs r1, 0
- mov r8, r1
- adds r1, r0, 0
- adds r1, 0x46
- ldrb r6, [r1]
- adds r0, 0xE8
- ldrb r0, [r0]
- movs r3, 0x8
- mov r10, r3
- cmp r0, 0x1
- bne _0807C886
- movs r0, 0x1
- mov r10, r0
-_0807C886:
- movs r4, 0
- adds r0, r7, 0
- movs r1, 0x9
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _0807C8A4
- adds r0, r7, 0
- movs r1, 0xA
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _0807C8A6
-_0807C8A4:
- movs r4, 0x1
-_0807C8A6:
- str r4, [sp, 0x48]
- adds r0, r7, 0
- movs r1, 0x8
- bl sub_80718D8
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4C]
- movs r1, 0
- mov r9, r1
- cmp r9, r10
- bge _0807C952
-_0807C8BE:
- movs r0, 0x7
- ands r6, r0
- movs r3, 0x4
- ldrsh r0, [r7, r3]
- ldr r1, _0807C95C
- lsls r2, r6, 2
- adds r2, r1
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r3, 0x6
- ldrsh r1, [r7, r3]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- adds r1, r2
- bl sub_804954C
- ldr r5, [r0, 0x10]
- cmp r5, 0
- beq _0807C948
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807C948
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8071138
- lsls r0, 24
- cmp r0, 0
- beq _0807C948
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0
- ldr r3, [sp, 0x44]
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0807C948
- ldr r0, [sp, 0x4C]
- cmp r0, 0
- beq _0807C922
- ldr r0, [r5, 0x70]
- adds r0, 0xB0
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0807C948
-_0807C922:
- mov r1, r8
- lsls r4, r1, 2
- mov r3, sp
- adds r0, r3, r4
- str r6, [r0]
- adds r0, r7, 0
- movs r1, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_807C7AC
- add r1, sp, 0x20
- adds r1, r4
- str r0, [r1]
- ldr r0, [sp, 0x48]
- cmp r0, 0
- beq _0807C960
- movs r1, 0x1
- add r8, r1
-_0807C948:
- movs r3, 0x1
- add r9, r3
- adds r6, 0x1
- cmp r9, r10
- blt _0807C8BE
-_0807C952:
- mov r0, r8
- cmp r0, 0
- bne _0807C966
- movs r0, 0
- b _0807C9E8
- .align 2, 0
-_0807C95C: .4byte gUnknown_80F4448
-_0807C960:
- ldr r1, [sp, 0x40]
- str r6, [r1]
- b _0807C9E6
-_0807C966:
- movs r4, 0
- movs r3, 0
- mov r0, r8
- cmp r0, 0
- ble _0807C984
- add r1, sp, 0x20
- mov r2, r8
-_0807C974:
- ldr r0, [r1]
- cmp r3, r0
- bge _0807C97C
- adds r3, r0, 0
-_0807C97C:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bne _0807C974
-_0807C984:
- mov r1, r8
- cmp r1, 0
- ble _0807C9A0
- movs r5, 0
- add r1, sp, 0x20
- mov r2, r8
-_0807C990:
- ldr r0, [r1]
- cmp r3, r0
- beq _0807C998
- str r5, [r1]
-_0807C998:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bne _0807C990
-_0807C9A0:
- mov r3, r8
- cmp r3, 0
- ble _0807C9B4
- add r1, sp, 0x20
- mov r2, r8
-_0807C9AA:
- ldm r1!, {r0}
- adds r4, r0
- subs r2, 0x1
- cmp r2, 0
- bne _0807C9AA
-_0807C9B4:
- adds r0, r4, 0
- bl sub_8084100
- adds r1, r0, 0
- movs r2, 0
- cmp r2, r8
- bge _0807C9DC
- ldr r0, [sp, 0x20]
- subs r1, r0
- cmp r1, 0
- blt _0807C9DC
- add r3, sp, 0x20
-_0807C9CC:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, r8
- bge _0807C9DC
- ldr r0, [r3]
- subs r1, r0
- cmp r1, 0
- bge _0807C9CC
-_0807C9DC:
- lsls r0, r2, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, [sp, 0x40]
- str r0, [r1]
-_0807C9E6:
- movs r0, 0x1
-_0807C9E8:
- add sp, 0x50
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807C854
-
- thumb_func_start sub_807C9F8
-sub_807C9F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- mov r10, r1
- adds r7, r2, 0
- adds r5, r3, 0
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- mov r2, r10
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- subs r2, r1, r0
- cmp r2, 0
- bge _0807CA1C
- negs r2, r2
-_0807CA1C:
- movs r6, 0x6
- ldrsh r1, [r4, r6]
- mov r3, r10
- movs r6, 0x6
- ldrsh r0, [r3, r6]
- subs r6, r1, r0
- cmp r6, 0
- bge _0807CA2E
- negs r6, r6
-_0807CA2E:
- cmp r6, r2
- bge _0807CA34
- adds r6, r2, 0
-_0807CA34:
- cmp r6, r5
- ble _0807CA3A
- adds r6, r5, 0
-_0807CA3A:
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- bne _0807CA50
- cmp r6, r5
- bgt _0807CAAC
-_0807CA4C:
- movs r0, 0x1
- b _0807CAAE
-_0807CA50:
- movs r0, 0x4
- ldrsh r5, [r4, r0]
- movs r1, 0x6
- ldrsh r4, [r4, r1]
- ldr r1, _0807CA70
- lsls r0, r7, 2
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- mov r9, r2
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- mov r8, r1
- movs r7, 0
- b _0807CA94
- .align 2, 0
-_0807CA70: .4byte gUnknown_80F4448
-_0807CA74:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0807CAAC
- ldr r0, [r2, 0x10]
- cmp r0, r10
- beq _0807CA4C
- cmp r0, 0
- bne _0807CAAC
- adds r7, 0x1
-_0807CA94:
- cmp r7, r6
- bgt _0807CAAC
- add r5, r9
- add r4, r8
- cmp r5, 0
- ble _0807CAAC
- cmp r4, 0
- ble _0807CAAC
- cmp r5, 0x36
- bgt _0807CAAC
- cmp r4, 0x1E
- ble _0807CA74
-_0807CAAC:
- movs r0, 0
-_0807CAAE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807C9F8
-
- thumb_func_start sub_807CABC
-sub_807CABC:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r6, 0
- b _0807CADC
-_0807CAC6:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807CB0A
- ldr r1, _0807CB38
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807CB0A
- adds r6, 0x1
-_0807CADC:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8070828
- cmp r6, r0
- bge _0807CB0A
- ldr r5, [r4, 0x70]
- adds r0, r5, 0
- adds r0, 0x48
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_8055A00
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807CAC6
-_0807CB0A:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8057588
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807CB2A
- ldr r0, [r4, 0x70]
- adds r0, 0x48
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_806A9B4
-_0807CB2A:
- adds r0, r4, 0
- bl sub_806A1B0
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807CB38: .4byte 0x00000159
- thumb_func_end sub_807CABC
-
- thumb_func_start sub_807CB3C
-sub_807CB3C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r6, r0, 0
- ldr r7, [r6, 0x70]
- movs r1, 0
- movs r2, 0x15
- bl sub_8044D90
- adds r2, r0, 0
- ldr r5, [r2]
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0807CB80
- ldr r0, _0807CB78
- adds r1, r2, 0
- bl sub_8045BF8
- ldr r0, _0807CB7C
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _0807CD54
- .align 2, 0
-_0807CB78: .4byte gUnknown_202DE58
-_0807CB7C: .4byte gUnknown_80FE3E8
-_0807CB80:
- add r0, sp, 0x8
- adds r1, r7, 0
- adds r1, 0x44
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _0807CBAC
- ldr r0, _0807CBA8
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- movs r4, 0x1
- b _0807CCDE
- .align 2, 0
-_0807CBA8: .4byte gUnknown_81004C4
-_0807CBAC:
- movs r0, 0x1
- mov r8, r0
- add r4, sp, 0x20
- lsls r5, 8
- lsrs r0, r5, 24
- bl sub_80913CC
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8092A88
- ldrb r0, [r7, 0x7]
- mov r10, r4
- mov r9, r5
- cmp r0, 0
- bne _0807CC08
- ldr r1, _0807CC20
- ldr r0, [sp, 0x28]
- ands r0, r1
- mov r1, r8
- orrs r0, r1
- str r0, [sp, 0x28]
- movs r0, 0xA
- add r4, sp, 0x28
- str r0, [r4, 0x4]
- movs r3, 0x8C
- lsls r3, 1
- adds r2, r7, r3
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_807C04C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0807CC08
- ldrb r1, [r4, 0x1]
- movs r0, 0x7
- ands r0, r1
- adds r1, r7, 0
- adds r1, 0x46
- strb r0, [r1]
- adds r0, r6, 0
- bl sub_8069DCC
-_0807CC08:
- adds r0, r7, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807CC2C
- ldr r0, _0807CC24
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807CC28
- b _0807CC3C
- .align 2, 0
-_0807CC20: .4byte 0xffffff00
-_0807CC24: .4byte gUnknown_202DF98
-_0807CC28: .4byte gUnknown_80FC714
-_0807CC2C:
- cmp r0, 0x7
- bne _0807CC50
- ldr r0, _0807CC48
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807CC4C
-_0807CC3C:
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _0807CCDC
- .align 2, 0
-_0807CC48: .4byte gUnknown_202DF98
-_0807CC4C: .4byte gUnknown_80FC718
-_0807CC50:
- adds r0, r7, 0
- adds r0, 0xAC
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0807CC72
- ldr r0, _0807CCB8
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807CCBC
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- movs r4, 0
- mov r8, r4
-_0807CC72:
- mov r0, r8
- cmp r0, 0
- beq _0807CCDC
- mov r5, r9
- lsrs r0, r5, 24
- cmp r0, 0xB6
- beq _0807CC84
- cmp r0, 0xBF
- bne _0807CCC0
-_0807CC84:
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x7A
- bl sub_8044DF0
- mov r2, r10
- ldrb r1, [r2]
- movs r0, 0x8
- movs r4, 0
- orrs r0, r1
- add r3, sp, 0x20
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0xA
- strb r0, [r3, 0x4]
- lsrs r2, r5, 24
- str r4, [sp]
- str r3, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl sub_8055FA0
- b _0807CCDE
- .align 2, 0
-_0807CCB8: .4byte gUnknown_202DF98
-_0807CCBC: .4byte gUnknown_80FC6A8
-_0807CCC0:
- mov r3, r9
- lsrs r2, r3, 24
- movs r0, 0
- str r0, [sp]
- mov r4, r10
- str r4, [sp, 0x4]
- adds r0, r6, 0
- movs r1, 0
- movs r3, 0
- bl sub_8055FA0
- lsls r0, 24
- lsrs r4, r0, 24
- b _0807CCDE
-_0807CCDC:
- movs r4, 0
-_0807CCDE:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807CD38
- cmp r4, 0
- beq _0807CCF8
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x7A
- bl sub_8044DF0
-_0807CCF8:
- adds r0, r6, 0
- bl sub_8071DA4
- adds r0, r6, 0
- movs r1, 0x8
- bl sub_806CE68
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- beq _0807CD18
- adds r0, r6, 0x4
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
-_0807CD18:
- adds r0, r6, 0
- bl sub_806A5B8
- ldr r0, _0807CD30
- ldr r0, [r0]
- ldr r1, _0807CD34
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8075900
- b _0807CD44
- .align 2, 0
-_0807CD30: .4byte gUnknown_203B418
-_0807CD34: .4byte 0x00003a08
-_0807CD38:
- cmp r4, 0
- beq _0807CD44
- add r0, sp, 0x8
- movs r1, 0
- bl sub_8044D40
-_0807CD44:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807CD54
- adds r0, r6, 0
- bl sub_806A1B0
-_0807CD54:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807CB3C
-
- thumb_func_start sub_807CD64
-sub_807CD64:
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- ldrh r0, [r4, 0x2]
- cmp r0, 0xED
- bne _0807CD88
- cmp r5, 0
- bne _0807CD88
- adds r0, r3, 0
- movs r1, 0xE
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- bne _0807CD88
- movs r0, 0x73
- b _0807CD94
-_0807CD88:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8092AE0
- lsls r0, 16
- asrs r0, 16
-_0807CD94:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807CD64
-
- thumb_func_start sub_807CD9C
-sub_807CD9C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- mov r9, r0
- adds r6, r1, 0
- adds r4, r2, 0
- movs r0, 0xA
- str r0, [sp, 0x24]
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- beq _0807CDC4
- ldr r0, _0807CDC0
- b _0807CDFE
- .align 2, 0
-_0807CDC0: .4byte gUnknown_80FC9E8
-_0807CDC4:
- cmp r9, r6
- bne _0807CDE4
- ldr r0, _0807CDDC
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807CDE0
- ldr r2, [r0]
- adds r0, r6, 0
- b _0807CE02
- .align 2, 0
-_0807CDDC: .4byte gUnknown_202DF98
-_0807CDE0: .4byte gUnknown_80FCA10
-_0807CDE4:
- ldr r0, _0807CE0C
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r6, 0
- movs r1, 0xE
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807CE28
- ldr r0, _0807CE10
-_0807CDFE:
- ldr r2, [r0]
- mov r0, r9
-_0807CE02:
- adds r1, r6, 0
- bl sub_80522F4
- b _0807D02A
- .align 2, 0
-_0807CE0C: .4byte gUnknown_202DF98
-_0807CE10: .4byte gUnknown_80FCBCC
-_0807CE14:
- str r0, [sp, 0x28]
- b _0807CF26
-_0807CE18:
- ldrh r0, [r5]
- movs r1, 0x3
- ands r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- mov r10, r0
- b _0807CF20
-_0807CE28:
- ldr r1, [r6, 0x70]
- adds r2, r4, 0x4
- movs r3, 0x7
- adds r0, r2, 0
- ands r0, r3
- adds r1, 0x46
- strb r0, [r1]
- movs r0, 0x7
- ands r2, r0
- adds r0, r6, 0
- movs r1, 0x6
- bl sub_806CDD4
- ldr r1, _0807D03C
- adds r0, r6, 0
- bl sub_80421C0
- ldr r0, _0807D040
- ldr r2, [r0]
- mov r0, r9
- adds r1, r6, 0
- bl sub_80522F4
- movs r1, 0x1
- mov r10, r1
- movs r2, 0
- str r2, [sp, 0x28]
- lsls r1, r4, 2
- ldr r0, _0807D044
- adds r1, r0
- mov r8, r1
- add r7, sp, 0x18
-_0807CE68:
- ldr r2, [r6, 0x4]
- str r2, [sp, 0x18]
- ldrh r0, [r7]
- mov r3, r8
- ldrh r3, [r3]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0807D048
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x18]
- asrs r0, r1, 16
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- lsls r0, 16
- ldr r2, _0807D04C
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x18]
- movs r3, 0
- ldrsh r0, [r7, r3]
- cmp r0, 0
- blt _0807CF20
- asrs r1, r2, 16
- cmp r1, 0
- blt _0807CF20
- cmp r0, 0x37
- bgt _0807CF20
- cmp r1, 0x1F
- bgt _0807CF20
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- lsls r0, 10
- str r0, [sp, 0x2C]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- lsls r0, 10
- str r0, [sp, 0x30]
- movs r4, 0x5
-_0807CEBC:
- adds r0, r6, 0
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x30]
- bl sub_804539C
- adds r0, r6, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807CED8
- movs r0, 0x19
- bl sub_803E46C
-_0807CED8:
- subs r4, 0x1
- cmp r4, 0
- bge _0807CEBC
- movs r1, 0
- ldrsh r0, [r7, r1]
- ldr r1, [sp, 0x18]
- asrs r1, 16
- bl sub_804954C
- adds r5, r0, 0
- ldr r0, [r5, 0x10]
- cmp r0, 0
- bne _0807CE14
- add r4, sp, 0x18
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80705F0
- lsls r0, 24
- cmp r0, 0
- bne _0807CE18
- movs r2, 0
- ldrsh r1, [r7, r2]
- movs r3, 0x2
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r3, 0x1
- bl sub_80694C0
- ldr r0, [sp, 0x24]
- subs r0, 0x1
- str r0, [sp, 0x24]
- cmp r0, 0
- bgt _0807CE68
- movs r1, 0x1
- mov r10, r1
-_0807CF20:
- mov r2, r10
- cmp r2, 0
- bne _0807CF4E
-_0807CF26:
- adds r1, r6, 0x4
- adds r0, r6, 0
- bl sub_807D068
- ldr r0, _0807D050
- movs r3, 0
- ldrsh r2, [r0, r3]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, _0807D054
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- mov r0, r9
- adds r1, r6, 0
- movs r3, 0
- bl sub_806F370
-_0807CF4E:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807D02A
- ldr r0, [sp, 0x28]
- cmp r0, 0
- beq _0807CF9E
- add r4, sp, 0x1C
- ldr r1, _0807D058
- adds r0, r4, 0
- bl sub_8092A88
- ldr r0, [sp, 0x28]
- adds r1, r4, 0
- bl sub_80571F0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0807CF9E
- mov r0, r9
- ldr r1, [sp, 0x28]
- bl sub_807A96C
- ldr r0, _0807D050
- movs r1, 0
- ldrsh r2, [r0, r1]
- str r4, [sp]
- str r4, [sp, 0x4]
- ldr r0, _0807D05C
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- str r4, [sp, 0x14]
- mov r0, r9
- ldr r1, [sp, 0x28]
- movs r3, 0
- bl sub_806F370
-_0807CF9E:
- bl sub_8044B28
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0807D02A
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807D02A
- adds r0, r6, 0
- bl sub_806A5B8
- adds r4, r6, 0x4
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _0807CFD8
- adds r0, r6, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_0807CFD8:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807D02A
- adds r0, r6, 0
- movs r1, 0x8
- bl sub_806CE68
- ldr r0, [r6, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0807D014
- ldr r1, _0807D060
- ldr r0, [r1]
- strb r5, [r0, 0x1]
- ldr r0, [r1]
- movs r2, 0xB8
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- adds r0, r4, 0
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
-_0807D014:
- adds r0, r6, 0
- bl sub_806A5B8
- ldr r0, _0807D060
- ldr r0, [r0]
- ldr r3, _0807D064
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8075900
-_0807D02A:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D03C: .4byte 0x000001a3
-_0807D040: .4byte gUnknown_80F8A0C
-_0807D044: .4byte gUnknown_80F4448
-_0807D048: .4byte 0xffff0000
-_0807D04C: .4byte 0x0000ffff
-_0807D050: .4byte gUnknown_80F4F90
-_0807D054: .4byte 0x00000219
-_0807D058: .4byte 0x00000163
-_0807D05C: .4byte 0x0000021a
-_0807D060: .4byte gUnknown_203B418
-_0807D064: .4byte 0x00003a08
- thumb_func_end sub_807CD9C
-
- thumb_func_start sub_807D068
-sub_807D068:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- movs r0, 0
- ldrsh r2, [r1, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r2, r0
- mov r10, r2
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r1, r0
- mov r9, r1
- ldr r0, [r6, 0xC]
- subs r0, r2
- cmp r0, 0
- bge _0807D0A4
- negs r0, r0
-_0807D0A4:
- ldr r1, [r6, 0x10]
- cmp r0, 0xB
- bgt _0807D0B8
- mov r2, r9
- subs r0, r1, r2
- cmp r0, 0
- bge _0807D0B4
- negs r0, r0
-_0807D0B4:
- cmp r0, 0xB
- ble _0807D11E
-_0807D0B8:
- movs r0, 0
- mov r8, r0
- ldr r5, [r6, 0xC]
- adds r4, r1, 0
- mov r1, r10
- subs r0, r1, r5
- movs r1, 0xC
- bl __divsi3
- str r0, [sp, 0x8]
- mov r2, r9
- subs r0, r2, r4
- movs r1, 0xC
- bl __divsi3
- str r0, [sp, 0xC]
- mov r0, sp
- str r0, [sp, 0x10]
- movs r7, 0xB
-_0807D0DE:
- ldr r1, [sp, 0x8]
- adds r5, r1
- ldr r2, [sp, 0xC]
- adds r4, r2
- str r5, [sp]
- ldr r0, [sp, 0x10]
- str r4, [r0, 0x4]
- mov r0, r8
- bl sub_8009C7C
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- mov r1, sp
- bl sub_804535C
- adds r0, r6, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807D114
- movs r0, 0x1A
- bl sub_803E46C
-_0807D114:
- movs r1, 0xAA
- add r8, r1
- subs r7, 0x1
- cmp r7, 0
- bge _0807D0DE
-_0807D11E:
- mov r2, r10
- str r2, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [r6, 0x1C]
- adds r0, r6, 0
- mov r1, sp
- bl sub_804535C
- movs r0, 0x1A
- bl sub_803E46C
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807D068
-
- thumb_func_start sub_807D148
-sub_807D148:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r8, r0
- adds r5, r1, 0
- mov r9, r2
- str r3, [sp, 0x4]
- ldr r0, [r5, 0x70]
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x8]
- ldr r0, _0807D180
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- movs r1, 0xE
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807D188
- ldr r0, _0807D184
- b _0807D194
- .align 2, 0
-_0807D180: .4byte gUnknown_202DF98
-_0807D184: .4byte gUnknown_80FCAE8
-_0807D188:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- beq _0807D1A4
- ldr r0, _0807D1A0
-_0807D194:
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- b _0807D3A8
- .align 2, 0
-_0807D1A0: .4byte gUnknown_80FC97C
-_0807D1A4:
- mov r2, r9
- cmp r2, 0x1
- bne _0807D1DC
- ldr r0, _0807D1D0
- ldr r0, [r0]
- ldr r3, _0807D1D4
- adds r0, r3
- ldr r1, [r0]
- ldr r0, [r5, 0x4]
- cmp r1, r0
- bne _0807D1DC
- ldr r0, _0807D1D8
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- mov r0, r8
- adds r1, r5, 0
- bl sub_8076D10
- b _0807D3A8
- .align 2, 0
-_0807D1D0: .4byte gUnknown_203B418
-_0807D1D4: .4byte 0x0000e21c
-_0807D1D8: .4byte gUnknown_80FC9A0
-_0807D1DC:
- ldr r0, _0807D27C
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- adds r0, r5, 0
- adds r1, r5, 0
- bl sub_807A96C
- mov r0, r8
- adds r1, r5, 0
- bl sub_80421AC
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807D252
- mov r0, r10
- adds r0, 0x46
- ldrb r4, [r0]
- ldr r1, [r5, 0x1C]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- str r1, [r5, 0x1C]
- ldr r2, _0807D280
- adds r6, r0, 0
- cmp r1, r2
- bgt _0807D252
- movs r7, 0x7
-_0807D21E:
- ldr r0, _0807D284
- ldr r0, [r0]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0807D23C
- adds r4, 0x1
- ands r4, r7
- adds r0, r4, 0
- ands r0, r7
- strb r0, [r6]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_806CE68
-_0807D23C:
- movs r0, 0x22
- bl sub_803E46C
- ldr r1, [r5, 0x1C]
- movs r3, 0x80
- lsls r3, 4
- adds r1, r3
- str r1, [r5, 0x1C]
- ldr r0, _0807D280
- cmp r1, r0
- ble _0807D21E
-_0807D252:
- mov r0, r9
- cmp r0, 0x1
- beq _0807D288
- cmp r0, 0x1
- bcc _0807D264
- cmp r0, 0x2
- beq _0807D2B0
- cmp r0, 0x3
- beq _0807D2C8
-_0807D264:
- mov r0, sp
- bl sub_8083660
- lsls r0, 24
- cmp r0, 0
- bne _0807D2CE
- ldr r0, [r5, 0x4]
- str r0, [sp]
- movs r1, 0x1
- str r1, [sp, 0x8]
- b _0807D2CE
- .align 2, 0
-_0807D27C: .4byte gUnknown_80FC584
-_0807D280: .4byte 0x00009fff
-_0807D284: .4byte gUnknown_202EDCC
-_0807D288:
- ldr r0, _0807D2A8
- ldr r1, [r0]
- ldr r2, _0807D2AC
- adds r1, r2
- mov r0, sp
- bl sub_808384C
- lsls r0, 24
- cmp r0, 0
- bne _0807D2CE
- ldr r0, [r5, 0x4]
- str r0, [sp]
- movs r3, 0x1
- str r3, [sp, 0x8]
- b _0807D2CE
- .align 2, 0
-_0807D2A8: .4byte gUnknown_203B418
-_0807D2AC: .4byte 0x0000e21c
-_0807D2B0:
- mov r0, sp
- ldr r1, [sp, 0x4]
- bl sub_808384C
- lsls r0, 24
- cmp r0, 0
- bne _0807D2CE
- ldr r0, [r5, 0x4]
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x8]
- b _0807D2CE
-_0807D2C8:
- ldr r1, [sp, 0x4]
- ldr r0, [r1]
- str r0, [sp]
-_0807D2CE:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- adds r0, r5, 0
- movs r3, 0x1
- bl sub_80694C0
- adds r0, r5, 0
- movs r1, 0
- bl sub_804535C
- adds r0, r5, 0
- bl sub_807BB78
- movs r0, 0x1
- bl sub_803F580
- adds r0, r5, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807D340
- mov r1, r10
- adds r1, 0x46
- ldrb r4, [r1]
- movs r0, 0x9C
- lsls r0, 8
- str r0, [r5, 0x1C]
- adds r6, r1, 0
- movs r7, 0x7
-_0807D310:
- ldr r0, _0807D3B8
- ldr r0, [r0]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0807D32E
- adds r4, 0x1
- ands r4, r7
- adds r0, r4, 0
- ands r0, r7
- strb r0, [r6]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_806CE68
-_0807D32E:
- movs r0, 0x22
- bl sub_803E46C
- ldr r0, [r5, 0x1C]
- ldr r1, _0807D3BC
- adds r0, r1
- str r0, [r5, 0x1C]
- cmp r0, 0
- bgt _0807D310
-_0807D340:
- movs r4, 0
- str r4, [r5, 0x1C]
- movs r0, 0x22
- bl sub_803E46C
- ldr r2, [sp, 0x8]
- cmp r2, 0
- beq _0807D35C
- ldr r0, _0807D3C0
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
-_0807D35C:
- mov r3, r9
- cmp r3, 0x1
- bne _0807D36A
- mov r0, r8
- adds r1, r5, 0
- bl sub_8076D10
-_0807D36A:
- mov r1, r10
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _0807D392
- adds r0, r5, 0x4
- bl sub_804AC20
- ldr r1, _0807D3C4
- ldr r0, [r1]
- strb r4, [r0, 0x1]
- ldr r0, [r1]
- movs r2, 0xB8
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- movs r0, 0
- bl sub_807EC28
-_0807D392:
- adds r0, r5, 0
- bl sub_806A5B8
- ldr r0, _0807D3C4
- ldr r0, [r0]
- ldr r3, _0807D3C8
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8075900
-_0807D3A8:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D3B8: .4byte gUnknown_202EDCC
-_0807D3BC: .4byte 0xfffffc00
-_0807D3C0: .4byte gUnknown_80FCB14
-_0807D3C4: .4byte gUnknown_203B418
-_0807D3C8: .4byte 0x00003a08
- thumb_func_end sub_807D148
-
- thumb_func_start sub_807D3CC
-sub_807D3CC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r0
- movs r2, 0
- ldr r4, _0807D448
- ldr r0, [r4]
- ldr r1, _0807D44C
- adds r0, r1
- ldrb r6, [r0]
- cmp r6, 0
- bne _0807D3E8
- movs r6, 0x2
-_0807D3E8:
- mov r0, r8
- str r2, [sp]
- bl sub_80450FC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, [sp]
- cmp r1, 0xFF
- bne _0807D450
- mov r3, r8
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- subs r5, r0, r6
- adds r0, r6
- cmp r5, r0
- bgt _0807D4A8
-_0807D408:
- mov r3, r8
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- subs r4, r0, r6
- adds r0, r6
- adds r7, r5, 0x1
- cmp r4, r0
- bgt _0807D438
-_0807D418:
- adds r0, r4, 0
- adds r1, r5, 0
- str r2, [sp]
- bl sub_807D4E0
- ldr r2, [sp]
- orrs r2, r0
- lsls r0, r2, 24
- lsrs r2, r0, 24
- adds r4, 0x1
- mov r3, r8
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- adds r0, r6
- cmp r4, r0
- ble _0807D418
-_0807D438:
- adds r5, r7, 0
- mov r3, r8
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- adds r0, r6
- cmp r5, r0
- ble _0807D408
- b _0807D4A8
- .align 2, 0
-_0807D448: .4byte gUnknown_203B418
-_0807D44C: .4byte 0x00018209
-_0807D450:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r3, _0807D468
- adds r0, r3
- ldr r1, [r4]
- adds r6, r1, r0
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- subs r5, r0, 0x1
- b _0807D49E
- .align 2, 0
-_0807D468: .4byte 0x000104c4
-_0807D46C:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- subs r4, r0, 0x1
- movs r3, 0x6
- ldrsh r0, [r6, r3]
- adds r0, 0x1
- adds r7, r5, 0x1
- cmp r4, r0
- bgt _0807D49C
-_0807D47E:
- adds r0, r4, 0
- adds r1, r5, 0
- str r2, [sp]
- bl sub_807D4E0
- ldr r2, [sp]
- orrs r2, r0
- lsls r0, r2, 24
- lsrs r2, r0, 24
- adds r4, 0x1
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- adds r0, 0x1
- cmp r4, r0
- ble _0807D47E
-_0807D49C:
- adds r5, r7, 0
-_0807D49E:
- movs r3, 0x8
- ldrsh r0, [r6, r3]
- adds r0, 0x1
- cmp r5, r0
- ble _0807D46C
-_0807D4A8:
- cmp r2, 0
- beq _0807D4C4
- ldr r0, _0807D4C0
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
- bl sub_8040A84
- bl sub_8049ED4
- b _0807D4CE
- .align 2, 0
-_0807D4C0: .4byte gUnknown_80FD2F8
-_0807D4C4:
- ldr r0, _0807D4DC
- ldr r1, [r0]
- mov r0, r8
- bl sub_80522A8
-_0807D4CE:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807D4DC: .4byte gUnknown_80FD320
- thumb_func_end sub_807D3CC
-
- thumb_func_start sub_807D4E0
-sub_807D4E0:
- push {r4,lr}
- bl sub_804954C
- ldr r4, [r0, 0x14]
- cmp r4, 0
- beq _0807D506
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _0807D506
- adds r1, r4, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- bne _0807D506
- movs r0, 0x1
- strb r0, [r1]
- b _0807D508
-_0807D506:
- movs r0, 0
-_0807D508:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_807D4E0
-
- thumb_func_start sub_807D510
-sub_807D510:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0807D540
- add sp, r4
- ldr r1, _0807D544
- add r1, sp
- str r0, [r1]
- movs r2, 0
- movs r3, 0xD1
- lsls r3, 4
- add r3, sp
- str r2, [r3]
- ldr r4, _0807D548
- add r4, sp
- str r2, [r4]
- add r5, sp, 0x4
- mov r8, r5
- mov r10, r2
- mov r9, r2
- add r7, sp, 0x8
- b _0807D606
- .align 2, 0
-_0807D540: .4byte 0xfffff2d4
-_0807D544: .4byte 0x00000d08
-_0807D548: .4byte 0x00000d0c
-_0807D54C:
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- ldr r2, _0807D650
- add r2, sp
- ldr r2, [r2]
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- subs r1, r0
- cmp r1, 0
- bge _0807D562
- negs r1, r1
-_0807D562:
- cmp r1, 0x2
- bgt _0807D580
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- ldr r4, _0807D650
- add r4, sp
- ldr r4, [r4]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- subs r1, r0
- cmp r1, 0
- bge _0807D57C
- negs r1, r1
-_0807D57C:
- cmp r1, 0x2
- ble _0807D5FE
-_0807D580:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_804954C
- ldrh r1, [r0]
- movs r2, 0x3
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0807D5FE
- mov r3, r8
- str r2, [r3]
- ldr r4, _0807D654
- add r4, sp
- ldr r1, _0807D658
- add r1, sp
- ldr r1, [r1]
- lsls r0, r1, 2
- adds r4, r0
- str r4, [r7, 0x6C]
- ldr r0, [r5, 0x4]
- str r0, [r7]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x4
- lsls r1, 8
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- lsls r2, r0, 1
- adds r2, r0
- lsls r2, 3
- adds r2, 0x4
- lsls r2, 8
- mov r0, r8
- bl sub_8045394
- movs r2, 0
- movs r1, 0
- strh r1, [r7, 0x22]
- movs r0, 0x1
- strb r0, [r7, 0x1C]
- strb r2, [r7, 0x1E]
- str r1, [r7, 0x18]
- ldr r0, _0807D65C
- ldr r0, [r0]
- ldr r5, _0807D660
- adds r0, r5
- add r0, r9
- ldr r0, [r0]
- str r0, [r4]
- adds r7, 0x74
- movs r0, 0x74
- add r8, r0
- ldr r2, _0807D658
- add r2, sp
- ldr r1, [r2]
- adds r1, 0x1
- str r1, [r2]
-_0807D5FE:
- movs r3, 0x4
- add r9, r3
- movs r4, 0x1
- add r10, r4
-_0807D606:
- ldr r0, _0807D65C
- ldr r1, [r0]
- ldr r5, _0807D664
- adds r0, r1, r5
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r10, r0
- bge _0807D634
- ldr r3, _0807D668
- adds r0, r1, r3
- add r0, r9
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807D5FE
- ldr r4, _0807D658
- add r4, sp
- ldr r4, [r4]
- cmp r4, 0x18
- ble _0807D54C
-_0807D634:
- ldr r5, _0807D658
- add r5, sp
- ldr r5, [r5]
- cmp r5, 0
- bne _0807D670
- ldr r0, _0807D66C
- ldr r1, [r0]
- ldr r2, _0807D650
- add r2, sp
- ldr r0, [r2]
- bl sub_80522A8
- b _0807D9F4
- .align 2, 0
-_0807D650: .4byte 0x00000d08
-_0807D654: .4byte 0x00000b58
-_0807D658: .4byte 0x00000d0c
-_0807D65C: .4byte gUnknown_203B418
-_0807D660: .4byte 0x00003804
-_0807D664: .4byte 0x00003904
-_0807D668: .4byte 0x0001361c
-_0807D66C: .4byte gUnknown_80FE034
-_0807D670:
- movs r1, 0
- movs r7, 0x1D
- ldr r0, _0807D754
- add r0, sp
-_0807D678:
- strb r1, [r0]
- subs r0, 0x1
- subs r7, 0x1
- cmp r7, 0
- bge _0807D678
- movs r7, 0
- ldr r3, _0807D758
- add r3, sp
- ldr r3, [r3]
- cmp r7, r3
- blt _0807D690
- b _0807D7CC
-_0807D690:
- ldr r4, _0807D75C
- mov r10, r4
- ldr r5, _0807D760
- movs r0, 0
- ldrsh r5, [r5, r0]
- ldr r0, _0807D764
- add r0, sp
- str r5, [r0]
-_0807D6A0:
- movs r1, 0
- mov r9, r1
- ldr r2, _0807D768
- add r2, sp
- ldr r2, [r2]
- ldrh r0, [r2, 0x4]
- ldr r1, _0807D76C
- ands r6, r1
- orrs r6, r0
- ldrh r0, [r2, 0x6]
- lsls r0, 16
- mov r4, r10
- ands r6, r4
- orrs r6, r0
- mov r4, r9
- adds r5, r7, 0x1
- movs r0, 0xD2
- lsls r0, 4
- add r0, sp
- str r5, [r0]
- ldr r1, _0807D760
- ldr r2, _0807D764
- add r2, sp
- ldr r2, [r2]
- cmp r2, 0x63
- beq _0807D790
- ldr r3, _0807D770
- add r3, sp
- mov r8, r3
-_0807D6DA:
- ldr r0, _0807D774
- add r0, sp
- adds r0, r4
- ldr r5, _0807D778
- add r5, sp
- str r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807D77C
- lsls r2, r4, 2
- adds r2, r1
- ldrh r0, [r2]
- ldr r1, _0807D768
- add r1, sp
- ldr r1, [r1]
- ldrh r1, [r1, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0807D76C
- ands r6, r1
- orrs r6, r0
- ldrh r0, [r2, 0x2]
- ldr r2, _0807D768
- add r2, sp
- ldr r2, [r2]
- ldrh r2, [r2, 0x6]
- adds r0, r2
- lsls r0, 16
- mov r3, r10
- ands r6, r3
- orrs r6, r0
- lsls r0, r6, 16
- asrs r0, 16
- asrs r1, r6, 16
- bl sub_804954C
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r3, 0x3
- ands r3, r1
- cmp r3, 0x1
- bne _0807D77C
- movs r5, 0x80
- lsls r5, 2
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _0807D77C
- ldr r0, [r2, 0x14]
- cmp r0, 0
- bne _0807D77C
- lsls r0, r7, 2
- add r0, r8
- str r6, [r0]
- ldr r0, _0807D778
- add r0, sp
- ldr r0, [r0]
- strb r3, [r0]
- b _0807D7B8
- .align 2, 0
-_0807D754: .4byte 0x00000d05
-_0807D758: .4byte 0x00000d0c
-_0807D75C: .4byte 0x0000ffff
-_0807D760: .4byte gUnknown_80F4468
-_0807D764: .4byte 0x00000d18
-_0807D768: .4byte 0x00000d08
-_0807D76C: .4byte 0xffff0000
-_0807D770: .4byte 0x00000bbc
-_0807D774: .4byte 0x00000ce8
-_0807D778: .4byte 0x00000d28
-_0807D77C:
- adds r4, 0x1
- cmp r4, 0x1D
- bgt _0807D790
- lsls r0, r4, 2
- ldr r1, _0807D9B4
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x63
- bne _0807D6DA
-_0807D790:
- mov r3, r9
- cmp r3, 0
- bne _0807D7B8
- movs r0, 0x74
- muls r0, r7
- add r0, sp
- adds r0, 0x4
- str r3, [r0]
- ldr r1, _0807D9B8
- add r1, sp
- lsls r0, r7, 2
- adds r1, r0
- ldrh r2, [r1]
- mov r0, r10
- orrs r0, r2
- strh r0, [r1]
- ldrh r2, [r1, 0x2]
- mov r0, r10
- orrs r0, r2
- strh r0, [r1, 0x2]
-_0807D7B8:
- movs r4, 0xD2
- lsls r4, 4
- add r4, sp
- ldr r7, [r4]
- ldr r5, _0807D9BC
- add r5, sp
- ldr r5, [r5]
- cmp r7, r5
- bge _0807D7CC
- b _0807D6A0
-_0807D7CC:
- movs r7, 0
- ldr r0, _0807D9BC
- add r0, sp
- ldr r0, [r0]
- cmp r7, r0
- bge _0807D866
-_0807D7D8:
- movs r0, 0x74
- adds r1, r7, 0
- muls r1, r0
- mov r8, r1
- mov r4, sp
- add r4, r8
- adds r4, 0x4
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807D85A
- adds r0, r4, 0x4
- movs r1, 0x1
- bl sub_80461C8
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- movs r3, 0x6
- ldrsh r1, [r4, r3]
- bl sub_80402AC
- movs r5, 0xC2
- lsls r5, 4
- add r5, sp
- lsls r6, r7, 3
- adds r5, r6
- ldr r4, _0807D9B8
- add r4, sp
- lsls r0, r7, 2
- adds r4, r0
- movs r0, 0
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r0, 8
- add r1, sp, 0x10
- add r1, r8
- ldr r1, [r1]
- subs r0, r1
- movs r1, 0x3C
- bl __divsi3
- str r0, [r5]
- ldr r5, _0807D9C0
- add r5, sp
- adds r5, r6
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- lsls r0, 8
- add r1, sp, 0x14
- add r1, r8
- ldr r1, [r1]
- subs r0, r1
- movs r1, 0x3C
- bl __divsi3
- str r0, [r5]
-_0807D85A:
- adds r7, 0x1
- ldr r3, _0807D9BC
- add r3, sp
- ldr r3, [r3]
- cmp r7, r3
- blt _0807D7D8
-_0807D866:
- movs r1, 0xD1
- lsls r1, 1
- ldr r4, _0807D9C4
- add r4, sp
- ldr r0, [r4]
- bl sub_80421C0
- movs r5, 0
- mov r9, r5
- ldr r0, _0807D9C8
- ldr r0, [r0]
- ldr r1, _0807D9CC
- adds r0, r1
- ldrb r0, [r0]
- ldr r2, _0807D9D0
- add r2, sp
- str r0, [r2]
- mov r10, r5
- movs r6, 0
-_0807D88C:
- movs r7, 0
- mov r3, r10
- adds r3, 0x22
- ldr r4, _0807D9D4
- add r4, sp
- str r3, [r4]
- adds r5, r6, 0x1
- ldr r0, _0807D9D8
- add r0, sp
- str r5, [r0]
- ldr r1, _0807D9BC
- add r1, sp
- ldr r1, [r1]
- cmp r7, r1
- bge _0807D916
- mov r2, r9
- lsls r2, 24
- mov r8, r2
-_0807D8B0:
- movs r0, 0x74
- adds r5, r7, 0
- muls r5, r0
- mov r4, sp
- adds r4, r5
- adds r4, 0x4
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807D90A
- movs r0, 0xC2
- lsls r0, 4
- add r0, sp
- lsls r2, r7, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0807D9C0
- add r0, sp
- adds r0, r2
- ldr r2, [r0]
- adds r0, r4, 0
- bl sub_804539C
- mov r0, r10
- bl sub_8009C7C
- add r2, sp, 0x20
- adds r2, r5
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- str r1, [r2]
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- ldr r3, _0807D9D0
- add r3, sp
- ldr r1, [r3]
- movs r2, 0
- mov r4, r8
- lsrs r3, r4, 24
- bl sub_80462AC
-_0807D90A:
- adds r7, 0x1
- ldr r5, _0807D9BC
- add r5, sp
- ldr r5, [r5]
- cmp r7, r5
- blt _0807D8B0
-_0807D916:
- movs r0, 0x13
- bl sub_803E46C
- ldr r0, _0807D9D4
- add r0, sp
- ldr r0, [r0]
- mov r10, r0
- movs r0, 0x3
- ands r0, r6
- cmp r0, 0
- bne _0807D930
- movs r1, 0x1
- add r9, r1
-_0807D930:
- movs r0, 0x7
- mov r2, r9
- ands r2, r0
- mov r9, r2
- ldr r3, _0807D9D8
- add r3, sp
- ldr r6, [r3]
- cmp r6, 0x3B
- ble _0807D88C
- movs r7, 0
- ldr r4, _0807D9BC
- add r4, sp
- ldr r4, [r4]
- cmp r7, r4
- bge _0807D996
-_0807D94E:
- ldr r0, _0807D9B8
- add r0, sp
- lsls r1, r7, 2
- adds r4, r0, r1
- movs r5, 0
- ldrsh r0, [r4, r5]
- cmp r0, 0
- blt _0807D98A
- movs r0, 0x74
- muls r0, r7
- add r0, sp
- adds r0, 0x4
- bl sub_8045108
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_80460F8
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_80402AC
- movs r3, 0x1
- movs r4, 0xD1
- lsls r4, 4
- add r4, sp
- str r3, [r4]
-_0807D98A:
- adds r7, 0x1
- ldr r5, _0807D9BC
- add r5, sp
- ldr r5, [r5]
- cmp r7, r5
- blt _0807D94E
-_0807D996:
- movs r0, 0xD1
- lsls r0, 4
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- beq _0807D9E0
- ldr r0, _0807D9DC
- ldr r1, [r0]
- ldr r2, _0807D9C4
- add r2, sp
- ldr r0, [r2]
- bl sub_80522A8
- b _0807D9EE
- .align 2, 0
-_0807D9B4: .4byte gUnknown_80F4468
-_0807D9B8: .4byte 0x00000bbc
-_0807D9BC: .4byte 0x00000d0c
-_0807D9C0: .4byte 0x00000c24
-_0807D9C4: .4byte 0x00000d08
-_0807D9C8: .4byte gUnknown_203B418
-_0807D9CC: .4byte 0x00018210
-_0807D9D0: .4byte 0x00000d14
-_0807D9D4: .4byte 0x00000d1c
-_0807D9D8: .4byte 0x00000d24
-_0807D9DC: .4byte gUnknown_80FE060
-_0807D9E0:
- ldr r0, _0807DA08
- ldr r1, [r0]
- ldr r3, _0807DA0C
- add r3, sp
- ldr r0, [r3]
- bl sub_80522A8
-_0807D9EE:
- movs r0, 0x1
- bl sub_807EC28
-_0807D9F4:
- ldr r3, _0807DA10
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807DA08: .4byte gUnknown_80FE034
-_0807DA0C: .4byte 0x00000d08
-_0807DA10: .4byte 0x00000d2c
- thumb_func_end sub_807D510
-
- thumb_func_start sub_807DA14
-sub_807DA14:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r4, r2, 24
- ldr r0, [r6, 0x70]
- mov r10, r0
- adds r0, r6, 0
- movs r1, 0xE
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807DA50
- ldr r0, _0807DA48
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807DA4C
- b _0807DA5C
- .align 2, 0
-_0807DA48: .4byte gUnknown_202DF98
-_0807DA4C: .4byte gUnknown_80FCB98
-_0807DA50:
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- beq _0807DA6C
- ldr r0, _0807DA68
-_0807DA5C:
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80522F4
- b _0807DB5E
- .align 2, 0
-_0807DA68: .4byte gUnknown_80FC9C0
-_0807DA6C:
- cmp r4, 0x8
- bne _0807DA76
- mov r0, r10
- adds r0, 0x46
- ldrb r4, [r0]
-_0807DA76:
- adds r0, r6, 0
- movs r1, 0x6
- adds r2, r4, 0
- bl sub_806CDD4
- lsls r1, r4, 2
- adds r2, r6, 0x4
- mov r9, r2
- ldr r0, _0807DAFC
- adds r1, r0
- mov r8, r1
-_0807DA8C:
- ldrh r0, [r6, 0x4]
- mov r3, r8
- ldrh r3, [r3]
- adds r0, r3
- lsls r0, 16
- ldrh r1, [r6, 0x6]
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r1, r2
- lsls r1, 16
- lsrs r7, r0, 16
- orrs r7, r1
- lsls r0, r7, 16
- asrs r5, r0, 16
- cmp r5, 0
- ble _0807DB00
- asrs r4, r7, 16
- cmp r4, 0
- ble _0807DB00
- cmp r5, 0x36
- bgt _0807DB00
- cmp r4, 0x1E
- bgt _0807DB00
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_804954C
- adds r1, r0, 0
- ldr r0, [r1, 0x10]
- cmp r0, 0
- bne _0807DB00
- ldrh r1, [r1]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0807DB00
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_80694C0
- adds r0, r6, 0
- movs r1, 0
- bl sub_804535C
- adds r0, r6, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807DA8C
- movs r0, 0x3A
- bl sub_803E46C
- b _0807DA8C
- .align 2, 0
-_0807DAFC: .4byte gUnknown_80F4448
-_0807DB00:
- adds r0, r6, 0
- bl sub_806A5B8
- mov r1, r9
- adds r0, r6, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _0807DB20
- adds r0, r6, 0
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_0807DB20:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807DB5E
- adds r0, r6, 0
- movs r1, 0x8
- bl sub_806CE68
- mov r3, r10
- ldrb r0, [r3, 0x7]
- cmp r0, 0
- beq _0807DB48
- mov r0, r9
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
-_0807DB48:
- adds r0, r6, 0
- bl sub_806A5B8
- ldr r0, _0807DB6C
- ldr r0, [r0]
- ldr r1, _0807DB70
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8075900
-_0807DB5E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807DB6C: .4byte gUnknown_203B418
-_0807DB70: .4byte 0x00003a08
- thumb_func_end sub_807DA14
-
- thumb_func_start sub_807DB74
-sub_807DB74:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- movs r0, 0
- mov r8, r0
- bl sub_80441E8
- lsls r0, 24
- cmp r0, 0
- beq _0807DB94
- ldr r0, _0807DB90
- b _0807DBA0
- .align 2, 0
-_0807DB90: .4byte gUnknown_80FD060
-_0807DB94:
- bl sub_804AF74
- lsls r0, 24
- cmp r0, 0
- beq _0807DBB0
- ldr r0, _0807DBAC
-_0807DBA0:
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _0807DC54
- .align 2, 0
-_0807DBAC: .4byte gUnknown_80FD08C
-_0807DBB0:
- movs r5, 0
- ldr r0, _0807DC24
- adds r6, r0, 0
-_0807DBB6:
- movs r4, 0
-_0807DBB8:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- bne _0807DBE2
- adds r0, r1, 0
- ands r0, r6
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80498A8
- movs r1, 0x1
- mov r8, r1
-_0807DBE2:
- adds r4, 0x1
- cmp r4, 0x37
- ble _0807DBB8
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0807DBB6
- movs r5, 0
-_0807DBF0:
- movs r4, 0
- adds r6, r5, 0x1
-_0807DBF4:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049BB0
- adds r4, 0x1
- cmp r4, 0x37
- ble _0807DBF4
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _0807DBF0
- mov r0, r8
- cmp r0, 0
- beq _0807DC30
- ldr r1, _0807DC28
- adds r0, r7, 0
- bl sub_80421C0
- ldr r0, _0807DC2C
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
- b _0807DC3A
- .align 2, 0
-_0807DC24: .4byte 0x0000fffc
-_0807DC28: .4byte 0x000001a1
-_0807DC2C: .4byte gUnknown_80FD05C
-_0807DC30:
- ldr r0, _0807DC60
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80522A8
-_0807DC3A:
- ldr r0, _0807DC64
- ldr r0, [r0]
- movs r1, 0xCE
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bl sub_806CF60
- bl sub_8040A84
- bl sub_8049ED4
-_0807DC54:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807DC60: .4byte gUnknown_80FD060
-_0807DC64: .4byte gUnknown_203B418
- thumb_func_end sub_807DB74
-
- thumb_func_start sub_807DC68
-sub_807DC68:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- ldr r0, _0807DC88
- ldr r1, [r0]
- ldr r2, _0807DC8C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807DC94
- ldr r0, _0807DC90
- b _0807DCB8
- .align 2, 0
-_0807DC88: .4byte gUnknown_203B418
-_0807DC8C: .4byte 0x00003a08
-_0807DC90: .4byte gUnknown_80FD3C8
-_0807DC94:
- ldr r3, _0807DCA4
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807DCAC
- ldr r0, _0807DCA8
- b _0807DCB8
- .align 2, 0
-_0807DCA4: .4byte 0x00003a0b
-_0807DCA8: .4byte gUnknown_80FD3CC
-_0807DCAC:
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _0807DCC8
- ldr r0, _0807DCC4
-_0807DCB8:
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
- b _0807DF0E
- .align 2, 0
-_0807DCC4: .4byte gUnknown_80FD3D0
-_0807DCC8:
- movs r0, 0
- mov r8, r0
- movs r5, 0x1
- movs r1, 0
- mov r10, r1
- ldr r2, _0807DD68
- adds r7, r2, 0
-_0807DCD6:
- movs r4, 0x1
-_0807DCD8:
- movs r6, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- ldr r3, _0807DD6C
- adds r0, r3, 0
- adds r3, r1, 0
- ands r3, r0
- strh r3, [r2]
- mov r0, r10
- strb r0, [r2, 0x9]
- movs r0, 0x10
- ands r0, r3
- cmp r0, 0
- bne _0807DD94
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0, 0
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0807DD94
- ldrh r0, [r2, 0x4]
- movs r1, 0x3
- orrs r0, r1
- strh r0, [r2, 0x4]
- ldr r1, _0807DD70
- adds r0, r1, 0
- adds r1, r3, 0
- ands r1, r0
- strh r1, [r2]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0807DD28
- movs r3, 0x1
- mov r8, r3
-_0807DD28:
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x2
- beq _0807DD94
- cmp r0, 0x3
- beq _0807DD94
- cmp r5, 0x1
- beq _0807DD44
- cmp r4, 0x1
- beq _0807DD44
- cmp r5, 0x36
- beq _0807DD44
- cmp r4, 0x1E
- bne _0807DD5C
-_0807DD44:
- ldr r0, [r2, 0x14]
- cmp r0, 0
- bne _0807DD5C
- ldr r0, _0807DD74
- ldr r0, [r0]
- movs r1, 0xCE
- lsls r1, 3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807DD5C
- movs r6, 0x1
-_0807DD5C:
- cmp r6, 0
- beq _0807DD78
- ldrh r0, [r2]
- ands r0, r7
- movs r1, 0x2
- b _0807DD90
- .align 2, 0
-_0807DD68: .4byte 0x0000fffc
-_0807DD6C: .4byte 0x0000fbff
-_0807DD70: .4byte 0x0000fff7
-_0807DD74: .4byte gUnknown_203B418
-_0807DD78:
- ldrh r1, [r2]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- beq _0807DD94
- adds r0, r1, 0
- ands r0, r7
- movs r1, 0x1
- orrs r0, r1
- movs r3, 0x80
- lsls r3, 3
- adds r1, r3, 0
-_0807DD90:
- orrs r0, r1
- strh r0, [r2]
-_0807DD94:
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0807DCD8
- adds r5, 0x1
- cmp r5, 0x36
- ble _0807DCD6
- ldr r0, _0807DF1C
- ldr r1, [r0]
- ldr r2, _0807DF20
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r2, 0x2
- adds r1, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- movs r2, 0x1
- bl sub_8050C30
- lsls r0, 24
- cmp r0, 0
- beq _0807DE02
- movs r5, 0
- movs r6, 0x84
- lsls r6, 8
- movs r7, 0
-_0807DDC8:
- movs r4, 0
-_0807DDCA:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _0807DDF6
- adds r0, r6, 0
- ands r0, r1
- cmp r0, r6
- bne _0807DDF6
- ldr r3, _0807DF24
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strh r0, [r2]
-_0807DDF6:
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0807DDCA
- adds r5, 0x1
- cmp r5, 0x37
- ble _0807DDC8
-_0807DE02:
- mov r0, r8
- cmp r0, 0
- beq _0807DE14
- ldr r0, _0807DF1C
- ldr r0, [r0]
- ldr r1, _0807DF28
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0807DE14:
- movs r5, 0
-_0807DE16:
- movs r4, 0
- adds r6, r5, 0x1
-_0807DE1A:
- mov r2, r8
- cmp r2, 0
- beq _0807DE30
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049590
- ldrh r2, [r0]
- movs r1, 0x40
- orrs r1, r2
- strh r1, [r0]
-_0807DE30:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8049BB0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0807DE1A
- adds r5, r6, 0
- cmp r5, 0x37
- ble _0807DE16
- movs r5, 0
-_0807DE46:
- ldr r0, _0807DF1C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r3, _0807DF2C
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807DE74
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- adds r0, r4, 0
- adds r0, 0x25
- strb r1, [r0]
-_0807DE74:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807DE46
- bl sub_804EB30
- bl sub_804AAD4
- bl sub_8049884
- bl sub_806CF60
- bl sub_8040A84
- bl sub_8049ED4
- ldr r0, _0807DF30
- ldr r1, [r0]
- mov r0, r9
- bl sub_80522A8
- movs r0, 0x28
- movs r1, 0x2B
- bl sub_803E708
- mov r0, r9
- movs r1, 0x1
- bl sub_8075900
- movs r5, 0
-_0807DEAE:
- ldr r0, _0807DF1C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r3, _0807DF2C
- adds r0, r3
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807DEF4
- adds r0, r4, 0
- bl sub_806A5B8
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807DEF4
- adds r1, r4, 0x4
- adds r0, r4, 0
- bl sub_80706A4
- lsls r0, 24
- cmp r0, 0
- beq _0807DEF4
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_0807DEF4:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807DEAE
- ldr r0, _0807DF1C
- ldr r0, [r0]
- ldr r1, _0807DF34
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x14
- movs r1, 0x2B
- bl sub_803E708
-_0807DF0E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807DF1C: .4byte gUnknown_203B418
-_0807DF20: .4byte 0x0000e21c
-_0807DF24: .4byte 0x0000fffc
-_0807DF28: .4byte 0x00003a0c
-_0807DF2C: .4byte 0x000135cc
-_0807DF30: .4byte gUnknown_80FD3A0
-_0807DF34: .4byte 0x00003a08
- thumb_func_end sub_807DC68
-
- thumb_func_start sub_807DF38
-sub_807DF38:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp, 0x8]
- mov r10, r1
- str r2, [sp, 0xC]
- adds r6, r3, 0
- ldr r0, [sp, 0x40]
- ldr r1, [sp, 0x44]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r1, 16
- asrs r1, 16
- str r1, [sp, 0x14]
- movs r5, 0
- b _0807DF62
-_0807DF60:
- adds r5, 0x1
-_0807DF62:
- cmp r5, 0x13
- bgt _0807DF8E
- ldr r0, _0807DFA8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0807DFAC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807DF60
- adds r0, r4, 0
- movs r1, 0x15
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807DF60
-_0807DF8E:
- cmp r5, 0x14
- beq _0807DFB4
- ldr r0, [sp, 0x8]
- mov r1, r10
- bl sub_804218C
- ldr r0, _0807DFB0
- mov r1, r10
- movs r2, 0
- bl sub_8045B94
- b _0807DFC2
- .align 2, 0
-_0807DFA8: .4byte gUnknown_203B418
-_0807DFAC: .4byte 0x000135cc
-_0807DFB0: .4byte gUnknown_202DF98
-_0807DFB4:
- mov r0, r10
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0807DFD4
-_0807DFC2:
- ldr r0, _0807DFD0
- ldr r2, [r0]
- ldr r0, [sp, 0x8]
- mov r1, r10
- bl sub_80522F4
- b _0807E174
- .align 2, 0
-_0807DFD0: .4byte gUnknown_80F96EC
-_0807DFD4:
- ldr r0, [sp, 0x8]
- mov r1, r10
- adds r2, r6, 0
- bl sub_804216C
- ldr r0, _0807E184
- mov r1, r10
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807E188
- ldr r2, [r0]
- ldr r0, [sp, 0x8]
- mov r1, r10
- bl sub_80522F4
- movs r5, 0
- ldr r0, _0807E18C
- lsls r1, r6, 2
- adds r0, r1, r0
- ldr r0, [r0]
- mov r9, r0
- ldrh r4, [r0]
- movs r3, 0
- ldrsh r0, [r0, r3]
- str r1, [sp, 0x1C]
- cmp r0, 0x63
- bne _0807E00E
- b _0807E124
-_0807E00E:
- mov r0, sp
- adds r0, 0x4
- str r0, [sp, 0x18]
-_0807E014:
- ldr r1, [sp, 0xC]
- ldrh r0, [r1]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0807E190
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x4]
- ldr r2, [sp, 0xC]
- ldrh r0, [r2, 0x2]
- mov r3, r9
- ldrh r3, [r3, 0x2]
- adds r0, r3
- lsls r0, 16
- ldr r2, _0807E194
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldr r1, [sp, 0x18]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- blt _0807E112
- asrs r1, r2, 16
- cmp r1, 0
- blt _0807E112
- cmp r0, 0x37
- bgt _0807E112
- cmp r1, 0x1F
- bgt _0807E112
- bl sub_8049590
- mov r8, r0
- ldr r0, [sp, 0x18]
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- ble _0807E0BE
- ldr r0, [sp, 0x4]
- asrs r0, 16
- cmp r0, 0
- ble _0807E0BE
- cmp r1, 0x36
- bgt _0807E0BE
- cmp r0, 0x1E
- bgt _0807E0BE
- mov r3, r8
- ldrh r1, [r3]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _0807E0BE
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0807E0BE
- ldr r2, _0807E198
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r3]
- movs r5, 0x1
- negs r5, r5
- add r7, sp, 0x4
-_0807E09A:
- movs r4, 0x1
- negs r4, r4
- adds r6, r5, 0x1
-_0807E0A0:
- movs r3, 0
- ldrsh r0, [r7, r3]
- adds r0, r4
- ldr r1, [sp, 0x4]
- asrs r1, 16
- adds r1, r5
- bl sub_80498A8
- adds r4, 0x1
- cmp r4, 0x1
- ble _0807E0A0
- adds r5, r6, 0
- cmp r5, 0x1
- ble _0807E09A
- movs r5, 0x1
-_0807E0BE:
- mov r0, r8
- ldr r4, [r0, 0x14]
- cmp r4, 0
- beq _0807E0DC
- cmp r4, r10
- beq _0807E0DC
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x3
- bne _0807E0DC
- add r0, sp, 0x4
- movs r1, 0
- bl sub_80461C8
-_0807E0DC:
- mov r1, r8
- ldr r4, [r1, 0x10]
- cmp r4, 0
- beq _0807E112
- cmp r4, r10
- beq _0807E112
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807E112
- ldr r0, _0807E19C
- ldr r2, [sp, 0x1C]
- adds r0, r2, r0
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x8]
- adds r1, r4, 0
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl sub_807E1A0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807E124
-_0807E112:
- movs r3, 0x4
- add r9, r3
- mov r0, r9
- ldrh r4, [r0]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x63
- beq _0807E124
- b _0807E014
-_0807E124:
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807E174
- mov r0, r10
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807E14E
- ldr r0, _0807E19C
- ldr r2, [sp, 0x1C]
- adds r0, r2, r0
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x8]
- mov r1, r10
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl sub_807E1A0
-_0807E14E:
- cmp r5, 0
- beq _0807E174
- movs r5, 0
-_0807E154:
- movs r4, 0
- adds r6, r5, 0x1
-_0807E158:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8049BB0
- adds r4, 0x1
- cmp r4, 0x37
- ble _0807E158
- adds r5, r6, 0
- cmp r5, 0x1F
- ble _0807E154
- bl sub_8040A84
- bl sub_8049ED4
-_0807E174:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807E184: .4byte gUnknown_202DF98
-_0807E188: .4byte gUnknown_80F96BC
-_0807E18C: .4byte gUnknown_8107178
-_0807E190: .4byte 0xffff0000
-_0807E194: .4byte 0x0000ffff
-_0807E198: .4byte 0x0000fffc
-_0807E19C: .4byte gUnknown_203B444
- thumb_func_end sub_807DF38
-
- thumb_func_start sub_807E1A0
-sub_807E1A0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x24
- mov r9, r0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 16
- asrs r7, r3, 16
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807E244
- ldr r5, [r6, 0x70]
- add r4, sp, 0x1C
- ldr r1, _0807E20C
- adds r0, r4, 0
- bl sub_8092A88
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80571F0
- lsls r0, 24
- cmp r0, 0
- bne _0807E244
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- bne _0807E210
- movs r0, 0xE
- ldrsh r4, [r5, r0]
- lsrs r0, r4, 31
- adds r5, r4, r0
- asrs r4, r5, 1
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0807E202
- lsrs r0, r5, 31
- adds r0, r4, r0
- asrs r4, r0, 1
-_0807E202:
- cmp r4, 0
- bgt _0807E226
- movs r4, 0x1
- b _0807E226
- .align 2, 0
-_0807E20C: .4byte 0x00000163
-_0807E210:
- ldr r4, [sp, 0x40]
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8071858
- lsls r0, 24
- cmp r0, 0
- beq _0807E226
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r4, r0, 1
-_0807E226:
- add r0, sp, 0x18
- str r0, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r0, 0
- str r0, [sp, 0xC]
- str r0, [sp, 0x10]
- str r0, [sp, 0x14]
- mov r0, r9
- adds r1, r6, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_806F370
-_0807E244:
- add sp, 0x24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807E1A0
-
- thumb_func_start sub_807E254
-sub_807E254:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- movs r1, 0xE
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807E274
- ldr r0, _0807E270
- adds r1, r6, 0
- b _0807E286
- .align 2, 0
-_0807E270: .4byte gUnknown_202DF98
-_0807E274:
- adds r0, r7, 0
- movs r1, 0xE
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807E2A4
- ldr r0, _0807E29C
- adds r1, r7, 0
-_0807E286:
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807E2A0
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80522F4
- b _0807E366
- .align 2, 0
-_0807E29C: .4byte gUnknown_202DF98
-_0807E2A0: .4byte gUnknown_80FCAC0
-_0807E2A4:
- ldrh r1, [r6, 0x6]
- lsls r1, 16
- ldrh r0, [r6, 0x4]
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r7, 0x6]
- lsls r1, 16
- ldrh r0, [r7, 0x4]
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r5, sp
- mov r0, sp
- bl nullsub_93
- add r4, sp, 0x4
- adds r0, r4, 0
- bl nullsub_93
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- ldrsh r2, [r4, r0]
- adds r0, r6, 0
- movs r3, 0x1
- bl sub_80694C0
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x2
- ldrsh r2, [r5, r0]
- adds r0, r7, 0
- movs r3, 0x1
- bl sub_80694C0
- adds r0, r6, 0
- movs r1, 0
- bl sub_804535C
- adds r0, r7, 0
- movs r1, 0
- bl sub_804535C
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807E330
- ldr r0, [r6, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0807E31A
- adds r0, r6, 0x4
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
-_0807E31A:
- adds r0, r6, 0
- bl sub_806A5B8
- ldr r0, _0807E370
- ldr r0, [r0]
- ldr r1, _0807E374
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8075900
-_0807E330:
- adds r0, r7, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807E366
- ldr r0, [r7, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0807E350
- adds r0, r7, 0x4
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
-_0807E350:
- adds r0, r7, 0
- bl sub_806A5B8
- ldr r0, _0807E370
- ldr r0, [r0]
- ldr r2, _0807E374
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_8075900
-_0807E366:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807E370: .4byte gUnknown_203B418
-_0807E374: .4byte 0x00003a08
- thumb_func_end sub_807E254
-
- thumb_func_start sub_807E378
-sub_807E378:
- push {r4-r7,lr}
- bl sub_8083600
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807E38C
- b _0807E564
-_0807E38C:
- ldr r0, _0807E41C
- ldr r1, [r0]
- ldr r3, _0807E420
- adds r2, r1, r3
- ldrh r3, [r2]
- movs r5, 0
- ldrsh r1, [r2, r5]
- adds r6, r0, 0
- cmp r1, 0
- ble _0807E3AA
- subs r0, r3, 0x1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bgt _0807E3B4
-_0807E3AA:
- ldr r0, [r6]
- ldr r1, _0807E424
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
-_0807E3B4:
- adds r5, r6, 0
- ldr r1, [r5]
- ldr r7, _0807E424
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807E434
- ldr r2, _0807E420
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0xF9
- ble _0807E3D0
- b _0807E564
-_0807E3D0:
- bl sub_805E804
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806A2BC
- adds r0, r4, 0
- bl sub_807520C
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0807E3EE
- b _0807E564
-_0807E3EE:
- ldr r0, _0807E428
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- ldr r1, _0807E42C
- ldr r0, [r5]
- ldr r2, _0807E430
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_80426C8
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0x1
- strb r1, [r0]
- b _0807E564
- .align 2, 0
-_0807E41C: .4byte gUnknown_203B418
-_0807E420: .4byte 0x00000666
-_0807E424: .4byte 0x0000067a
-_0807E428: .4byte gUnknown_80F9C4C
-_0807E42C: .4byte gUnknown_80F5FAC
-_0807E430: .4byte 0x00003a0e
-_0807E434:
- cmp r0, 0x1
- bne _0807E4A0
- ldr r2, _0807E490
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0x95
- ble _0807E446
- b _0807E564
-_0807E446:
- bl sub_805E804
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806A2BC
- adds r0, r4, 0
- bl sub_807520C
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0807E464
- b _0807E564
-_0807E464:
- ldr r0, _0807E494
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- ldr r1, _0807E498
- ldr r0, [r5]
- ldr r2, _0807E49C
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80426C8
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0x2
- strb r1, [r0]
- b _0807E564
- .align 2, 0
-_0807E490: .4byte 0x00000666
-_0807E494: .4byte gUnknown_80F9C70
-_0807E498: .4byte gUnknown_80F5FAC
-_0807E49C: .4byte 0x00003a0e
-_0807E4A0:
- cmp r0, 0x2
- bne _0807E508
- ldr r2, _0807E4F8
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0x31
- bgt _0807E564
- bl sub_805E804
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806A2BC
- adds r0, r4, 0
- bl sub_807520C
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807E564
- ldr r0, _0807E4FC
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- ldr r1, _0807E500
- ldr r0, [r5]
- ldr r2, _0807E504
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl sub_80426C8
- ldr r0, [r5]
- adds r0, r7
- movs r1, 0x3
- strb r1, [r0]
- b _0807E564
- .align 2, 0
-_0807E4F8: .4byte 0x00000666
-_0807E4FC: .4byte gUnknown_80F9C8C
-_0807E500: .4byte gUnknown_80F5FAC
-_0807E504: .4byte 0x00003a0e
-_0807E508:
- ldr r5, _0807E56C
- adds r0, r1, r5
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bgt _0807E564
- bl sub_805E804
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806A2BC
- adds r0, r4, 0
- bl sub_807520C
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _0807E564
- ldr r0, _0807E570
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80522A8
- ldr r1, _0807E574
- ldr r0, [r6]
- ldr r2, _0807E578
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl sub_80426C8
- ldr r0, [r6]
- adds r0, r7
- movs r1, 0x4
- strb r1, [r0]
- ldr r1, _0807E57C
- adds r0, r4, 0
- adds r2, r4, 0
- bl sub_8068FE0
-_0807E564:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807E56C: .4byte 0x00000666
-_0807E570: .4byte gUnknown_80F9CBC
-_0807E574: .4byte gUnknown_80F5FAC
-_0807E578: .4byte 0x00003a0e
-_0807E57C: .4byte 0x0000021e
- thumb_func_end sub_807E378
-
- thumb_func_start sub_807E580
-sub_807E580:
- push {lr}
- cmp r0, 0
- beq _0807E596
- movs r1, 0x2D
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0807E596
- movs r0, 0
- b _0807E5A0
-_0807E596:
- ldr r0, _0807E5A4
- ldr r0, [r0]
- ldr r1, _0807E5A8
- adds r0, r1
- ldrb r0, [r0]
-_0807E5A0:
- pop {r1}
- bx r1
- .align 2, 0
-_0807E5A4: .4byte gUnknown_203B418
-_0807E5A8: .4byte 0x0000e264
- thumb_func_end sub_807E580
-
- thumb_func_start sub_807E5AC
-sub_807E5AC:
- push {lr}
- ldr r0, _0807E5DC
- ldr r0, [r0]
- ldr r1, _0807E5E0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _0807E5C6
- movs r0, 0x8
- bl sub_8084100
- lsls r0, 24
- lsrs r0, 24
-_0807E5C6:
- bl sub_807E5E4
- bl sub_8069E8C
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- pop {r0}
- bx r0
- .align 2, 0
-_0807E5DC: .4byte gUnknown_203B418
-_0807E5E0: .4byte 0x0001c578
- thumb_func_end sub_807E5AC
-
- thumb_func_start sub_807E5E4
-sub_807E5E4:
- push {r4-r6,lr}
- ldr r3, _0807E674
- ldr r1, [r3]
- ldr r2, _0807E678
- adds r1, r2
- movs r4, 0
- strb r0, [r1]
- ldr r0, [r3]
- adds r2, r0, r2
- ldrb r1, [r2]
- ldr r2, _0807E67C
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r3]
- ldr r1, _0807E680
- adds r0, r1
- strb r4, [r0]
- movs r2, 0
- adds r4, r3, 0
- ldr r6, _0807E684
- movs r1, 0
- ldr r5, _0807E688
-_0807E610:
- ldr r0, [r4]
- adds r0, r6
- adds r0, r2
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r5
- adds r0, r2
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x7
- ble _0807E610
- ldr r0, [r3]
- ldr r2, _0807E68C
- adds r0, r2
- movs r2, 0
- movs r1, 0x9
- strb r1, [r0]
- ldr r0, [r3]
- ldr r1, _0807E690
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r3]
- adds r1, 0x1
- adds r0, r1
- strb r2, [r0]
- movs r6, 0xBE
- lsls r6, 1
- ldr r5, _0807E694
- movs r4, 0xBF
- lsls r4, 1
-_0807E64C:
- ldr r0, [r3]
- lsls r1, r2, 2
- adds r0, r1
- adds r0, r6
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- adds r0, r4
- strb r2, [r0]
- adds r2, 0x1
- cmp r2, 0xFF
- ble _0807E64C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807E674: .4byte gUnknown_203B418
-_0807E678: .4byte 0x0000e265
-_0807E67C: .4byte 0x0000e264
-_0807E680: .4byte 0x0000e279
-_0807E684: .4byte 0x0000e267
-_0807E688: .4byte 0x0000e26f
-_0807E68C: .4byte 0x0000e266
-_0807E690: .4byte 0x0000e277
-_0807E694: .4byte 0x0000017d
- thumb_func_end sub_807E5E4
-
- thumb_func_start sub_807E698
-sub_807E698:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 16
- str r0, [sp, 0x4]
- ldr r0, _0807E724
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- mov r10, r0
- movs r0, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- bl sub_8042818
- movs r0, 0x25
- bl sub_803E46C
- movs r0, 0x1
- bl sub_804178C
- ldr r1, _0807E728
- ldrb r0, [r1]
- str r0, [sp, 0x8]
- movs r0, 0x1
- strb r0, [r1]
- movs r1, 0
- mov r9, r1
- ldr r2, _0807E72C
- mov r8, r2
-_0807E6EC:
- movs r7, 0
- movs r0, 0x25
- bl sub_803E46C
- movs r6, 0
- ldr r1, [sp, 0x4]
- lsls r0, r1, 2
- mov r2, r10
- adds r5, r0, r2
- movs r0, 0xFF
- mov r12, r0
-_0807E702:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- movs r2, 0xBE
- lsls r2, 1
- adds r4, r0, r2
- ldrb r0, [r4]
- ldrb r3, [r5]
- subs r1, r0, r3
- cmp r1, 0
- bge _0807E71A
- negs r1, r1
-_0807E71A:
- cmp r1, 0x9
- bgt _0807E730
- strb r3, [r4]
- b _0807E746
- .align 2, 0
-_0807E724: .4byte gUnknown_202ECA0
-_0807E728: .4byte gUnknown_203B40D
-_0807E72C: .4byte gUnknown_203B418
-_0807E730:
- movs r7, 0x1
- adds r2, r0, 0
- adds r1, r3, 0
- cmp r2, r1
- bcs _0807E73E
- adds r0, 0xA
- b _0807E744
-_0807E73E:
- cmp r2, r1
- bls _0807E746
- subs r0, 0xA
-_0807E744:
- strb r0, [r4]
-_0807E746:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldr r2, _0807E764
- adds r4, r0, r2
- ldrb r0, [r4]
- ldrb r3, [r5, 0x1]
- subs r1, r0, r3
- cmp r1, 0
- bge _0807E75C
- negs r1, r1
-_0807E75C:
- cmp r1, 0x9
- bgt _0807E768
- strb r3, [r4]
- b _0807E77E
- .align 2, 0
-_0807E764: .4byte 0x0000017d
-_0807E768:
- movs r7, 0x1
- adds r2, r0, 0
- adds r1, r3, 0
- cmp r2, r1
- bcs _0807E776
- adds r0, 0xA
- b _0807E77C
-_0807E776:
- cmp r2, r1
- bls _0807E77E
- subs r0, 0xA
-_0807E77C:
- strb r0, [r4]
-_0807E77E:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- movs r2, 0xBF
- lsls r2, 1
- adds r4, r0, r2
- ldrb r0, [r4]
- ldrb r3, [r5, 0x2]
- subs r1, r0, r3
- cmp r1, 0
- bge _0807E796
- negs r1, r1
-_0807E796:
- cmp r1, 0x9
- bgt _0807E79E
- strb r3, [r4]
- b _0807E7B4
-_0807E79E:
- movs r7, 0x1
- adds r2, r0, 0
- adds r1, r3, 0
- cmp r2, r1
- bcs _0807E7AC
- adds r0, 0xA
- b _0807E7B2
-_0807E7AC:
- cmp r2, r1
- bls _0807E7B4
- subs r0, 0xA
-_0807E7B2:
- strb r0, [r4]
-_0807E7B4:
- adds r6, 0x4
- adds r5, 0x4
- movs r0, 0x1
- negs r0, r0
- add r12, r0
- mov r1, r12
- cmp r1, 0
- bge _0807E702
- movs r0, 0
- movs r1, 0
- bl sub_803E874
- cmp r7, 0
- beq _0807E7DA
- movs r2, 0x1
- add r9, r2
- mov r0, r9
- cmp r0, 0x3F
- ble _0807E6EC
-_0807E7DA:
- ldr r0, _0807E7F8
- mov r1, sp
- ldrb r1, [r1, 0x8]
- strb r1, [r0]
- ldr r0, [sp]
- bl sub_807E7FC
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807E7F8: .4byte gUnknown_203B40D
- thumb_func_end sub_807E698
-
- thumb_func_start sub_807E7FC
-sub_807E7FC:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r6, _0807E874
- ldr r0, [r6]
- ldr r1, _0807E878
- adds r0, r1
- ldr r5, [r0]
- cmp r5, 0
- bne _0807E816
- bl sub_8083600
- adds r5, r0, 0
-_0807E816:
- cmp r4, 0
- beq _0807E844
- ldr r0, [r6]
- ldr r2, _0807E87C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807E844
- ldr r4, _0807E880
- movs r0, 0
- bl sub_807E580
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_807EA18
- ldr r0, _0807E884
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
-_0807E844:
- movs r5, 0
-_0807E846:
- ldr r0, _0807E874
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0807E888
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807E866
- adds r0, r4, 0
- bl sub_807E8F0
-_0807E866:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807E846
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0807E874: .4byte gUnknown_203B418
-_0807E878: .4byte 0x000181f8
-_0807E87C: .4byte 0x0001356c
-_0807E880: .4byte gUnknown_202DF98
-_0807E884: .4byte gUnknown_80FC5E0
-_0807E888: .4byte 0x000135cc
- thumb_func_end sub_807E7FC
-
- thumb_func_start sub_807E88C
-sub_807E88C:
- push {r4-r7,lr}
- movs r0, 0
- bl sub_807E580
- lsls r0, 24
- ldr r1, _0807E8E4
- ldr r1, [r1]
- ldr r1, [r1, 0x4]
- movs r4, 0
- ldr r5, _0807E8E8
- lsrs r0, 14
- adds r3, r0, r1
- movs r6, 0xBE
- lsls r6, 1
-_0807E8A8:
- ldr r0, [r5]
- lsls r2, r4, 2
- adds r0, r2
- ldrb r1, [r3]
- adds r0, r6
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r2
- ldrb r1, [r3, 0x1]
- ldr r7, _0807E8EC
- adds r0, r7
- strb r1, [r0]
- ldr r0, [r5]
- adds r0, r2
- ldrb r1, [r3, 0x2]
- movs r2, 0xBF
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, 0xFF
- ble _0807E8A8
- movs r0, 0
- movs r1, 0
- bl sub_803E874
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807E8E4: .4byte gUnknown_202ECA0
-_0807E8E8: .4byte gUnknown_203B418
-_0807E8EC: .4byte 0x0000017d
- thumb_func_end sub_807E88C
-
- thumb_func_start sub_807E8F0
-sub_807E8F0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r5, r0, 0
- movs r0, 0
- mov r8, r0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807E90E
- b _0807EA0A
-_0807E90E:
- ldr r4, [r5, 0x70]
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- mov r9, r1
- mov r1, sp
- adds r6, r4, 0
- adds r6, 0x5C
- ldrb r0, [r6]
- strb r0, [r1]
- adds r7, r4, 0
- adds r7, 0x5D
- ldrb r0, [r7]
- strb r0, [r1, 0x1]
- adds r0, r5, 0
- bl sub_8070774
- adds r0, r5, 0
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807E958
- adds r0, r5, 0
- bl sub_807E580
- ldr r1, _0807E954
- lsls r0, 24
- lsrs r0, 22
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r6]
- mov r1, r8
- strb r1, [r7]
- b _0807E984
- .align 2, 0
-_0807E954: .4byte gUnknown_80F520C
-_0807E958:
- adds r0, r4, 0
- adds r0, 0xC4
- ldrb r0, [r0]
- cmp r0, 0xC
- beq _0807E984
- adds r0, r4, 0
- adds r0, 0xF6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807E984
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r1, 0
- bl sub_808DC68
- strb r0, [r6]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- bl sub_808DC68
- strb r0, [r7]
-_0807E984:
- mov r0, sp
- adds r1, r4, 0
- adds r1, 0x5C
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0807E9A0
- mov r0, sp
- adds r1, r4, 0
- adds r1, 0x5D
- ldrb r0, [r0, 0x1]
- ldrb r1, [r1]
- cmp r0, r1
- beq _0807E9A4
-_0807E9A0:
- movs r0, 0x1
- mov r8, r0
-_0807E9A4:
- ldr r1, _0807E9D0
- adds r0, r1, 0
- ldrh r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _0807E9FE
- adds r0, r5, 0
- movs r1, 0x25
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807E9D4
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_8069F54
- b _0807E9D8
- .align 2, 0
-_0807E9D0: .4byte 0xfffffe88
-_0807E9D4:
- movs r0, 0xBC
- lsls r0, 1
-_0807E9D8:
- strh r0, [r4, 0x4]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, r9
- beq _0807E9FE
- bl sub_80687D0
- str r0, [r5, 0x64]
- adds r0, r5, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806CCB4
- movs r0, 0x1
- mov r8, r0
-_0807E9FE:
- mov r1, r8
- cmp r1, 0
- beq _0807EA0A
- adds r0, r5, 0
- bl sub_80429D8
-_0807EA0A:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807E8F0
-
- thumb_func_start sub_807EA18
-sub_807EA18:
- push {lr}
- lsls r1, 24
- ldr r2, _0807EA2C
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl strcpy
- pop {r0}
- bx r0
- .align 2, 0
-_0807EA2C: .4byte gUnknown_80F9A54
- thumb_func_end sub_807EA18
-
- thumb_func_start sub_807EA30
-sub_807EA30:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _0807EA6C
- ldr r1, _0807EA5C
- movs r0, 0
- movs r2, 0
- bl sub_808417C
- ldr r1, _0807EA60
- ldr r1, [r1]
- ldr r2, _0807EA64
- adds r1, r2
- strb r0, [r1]
- bl sub_8083600
- ldr r1, _0807EA68
- ldr r1, [r1]
- bl sub_80522A8
- b _0807EA8C
- .align 2, 0
-_0807EA5C: .4byte gUnknown_80F4EAC
-_0807EA60: .4byte gUnknown_203B418
-_0807EA64: .4byte 0x0000e277
-_0807EA68: .4byte gUnknown_80FAD8C
-_0807EA6C:
- ldr r1, _0807EA90
- movs r0, 0
- movs r2, 0
- bl sub_808417C
- ldr r1, _0807EA94
- ldr r1, [r1]
- ldr r2, _0807EA98
- adds r1, r2
- strb r0, [r1]
- bl sub_8083600
- ldr r1, _0807EA9C
- ldr r1, [r1]
- bl sub_80522A8
-_0807EA8C:
- pop {r0}
- bx r0
- .align 2, 0
-_0807EA90: .4byte gUnknown_80F4EAC
-_0807EA94: .4byte gUnknown_203B418
-_0807EA98: .4byte 0x0000e278
-_0807EA9C: .4byte gUnknown_80FADB0
- thumb_func_end sub_807EA30
-
- thumb_func_start sub_807EAA0
-sub_807EAA0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x4]
- movs r0, 0
- mov r8, r0
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- movs r2, 0
- str r2, [sp, 0x8]
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- movs r5, 0
- ldr r7, _0807EAF0
- ldr r6, _0807EAF4
-_0807EAD6:
- ldr r3, [r7]
- adds r0, r3, r6
- adds r4, r0, r5
- ldr r1, _0807EAF8
- adds r0, r3, r1
- adds r0, r5
- ldrb r0, [r0]
- ldrb r2, [r4]
- adds r1, r0, 0
- cmp r2, r1
- bcs _0807EAFC
- strb r0, [r4]
- b _0807EB08
- .align 2, 0
-_0807EAF0: .4byte gUnknown_203B418
-_0807EAF4: .4byte 0x0000e267
-_0807EAF8: .4byte 0x0000e26f
-_0807EAFC:
- cmp r2, r1
- bls _0807EB08
- adds r0, r5, r6
- adds r0, r3, r0
- bl sub_80838EC
-_0807EB08:
- ldr r0, [r7]
- ldr r2, _0807EB38
- adds r0, r2
- adds r0, r5
- ldrb r1, [r0]
- ldr r0, _0807EB3C
- cmp r8, r1
- bge _0807EB1C
- mov r8, r1
- mov r9, r5
-_0807EB1C:
- adds r5, 0x1
- cmp r5, 0x7
- ble _0807EAD6
- mov r1, r9
- cmp r1, 0
- bge _0807EB44
- ldr r0, [r0]
- ldr r2, _0807EB40
- adds r1, r0, r2
- ldrb r1, [r1]
- subs r2, 0x1
- adds r0, r2
- strb r1, [r0]
- b _0807EB4E
- .align 2, 0
-_0807EB38: .4byte 0x0000e267
-_0807EB3C: .4byte gUnknown_203B418
-_0807EB40: .4byte 0x0000e265
-_0807EB44:
- ldr r0, [r0]
- ldr r1, _0807EB94
- adds r0, r1
- mov r2, r9
- strb r2, [r0]
-_0807EB4E:
- ldr r0, _0807EB98
- ldr r1, [r0]
- ldr r2, _0807EB9C
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807EB64
- ldr r0, _0807EB94
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
-_0807EB64:
- movs r0, 0
- bl sub_807E580
- lsls r0, 24
- lsrs r0, 24
- cmp r10, r0
- bne _0807EB78
- ldr r1, [sp, 0x4]
- cmp r1, 0
- beq _0807EB82
-_0807EB78:
- movs r2, 0x1
- str r2, [sp, 0x8]
- ldr r0, [sp]
- bl sub_807E698
-_0807EB82:
- ldr r0, _0807EB98
- ldr r0, [r0]
- ldr r2, _0807EBA0
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807EBA4
- subs r0, 0x1
- b _0807EBA6
- .align 2, 0
-_0807EB94: .4byte 0x0000e264
-_0807EB98: .4byte gUnknown_203B418
-_0807EB9C: .4byte 0x0000e279
-_0807EBA0: .4byte 0x0000e266
-_0807EBA4:
- movs r0, 0x9
-_0807EBA6:
- strb r0, [r1]
- ldr r4, _0807EC14
- ldr r0, [r4]
- ldr r2, _0807EC18
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807EBD4
- adds r0, r1, 0
- bl sub_80838EC
- ldr r0, [r4]
- ldr r1, _0807EC18
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807EBD4
- bl sub_8083600
- ldr r1, _0807EC1C
- ldr r1, [r1]
- bl sub_80522A8
-_0807EBD4:
- ldr r4, _0807EC14
- ldr r0, [r4]
- ldr r2, _0807EC20
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _0807EC00
- adds r0, r1, 0
- bl sub_80838EC
- ldr r0, [r4]
- ldr r1, _0807EC20
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807EC00
- bl sub_8083600
- ldr r1, _0807EC24
- ldr r1, [r1]
- bl sub_80522A8
-_0807EC00:
- ldr r0, [sp, 0x8]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807EC14: .4byte gUnknown_203B418
-_0807EC18: .4byte 0x0000e277
-_0807EC1C: .4byte gUnknown_80FA778
-_0807EC20: .4byte 0x0000e278
-_0807EC24: .4byte gUnknown_80FA758
- thumb_func_end sub_807EAA0
-
- thumb_func_start sub_807EC28
-sub_807EC28:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- beq _0807EC46
- b _0807EF32
-_0807EC46:
- bl sub_8083600
- adds r7, r0, 0
- ldr r0, [r7, 0x70]
- mov r9, r0
- ldr r4, _0807ECB4
- ldr r0, [r4]
- movs r5, 0xD3
- lsls r5, 3
- adds r0, r5
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- adds r0, r7, 0
- bl sub_8045128
- ldrh r0, [r0]
- lsrs r0, 5
- mov r10, r0
- movs r0, 0x1
- mov r1, r10
- ands r1, r0
- mov r10, r1
- ldr r0, [r4]
- adds r0, r5
- strb r1, [r0]
- ldr r0, [r4]
- ldr r3, _0807ECB8
- adds r0, r3
- mov r2, r10
- strb r2, [r0]
- ldr r2, [r4]
- ldr r6, _0807ECBC
- adds r0, r2, r6
- ldrb r1, [r0]
- cmp r1, 0
- beq _0807EC90
- b _0807EF32
-_0807EC90:
- adds r6, 0x26
- adds r0, r2, r6
- ldr r0, [r0]
- cmp r0, 0
- bne _0807EC9C
- b _0807EF32
-_0807EC9C:
- mov r0, r9
- adds r0, 0xE4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0807ECC0
- adds r0, r2, r5
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, r3
- strb r1, [r0]
- b _0807EF32
- .align 2, 0
-_0807ECB4: .4byte gUnknown_203B418
-_0807ECB8: .4byte 0x00000699
-_0807ECBC: .4byte 0x0000066e
-_0807ECC0:
- movs r0, 0
- str r0, [sp, 0xC]
- movs r6, 0
-_0807ECC6:
- ldr r0, _0807ED48
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0807ED4C
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807ED0E
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _0807ED0E
- adds r0, r5, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- beq _0807ED0E
- adds r0, r7, 0
- bl sub_80450FC
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80450FC
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0807ED0E
- movs r0, 0x1
- str r0, [sp, 0xC]
-_0807ED0E:
- adds r6, 0x1
- cmp r6, 0xF
- ble _0807ECC6
- ldr r1, _0807ED50
- ldr r0, [sp]
- ands r0, r1
- movs r1, 0xBE
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0807ED54
- ands r0, r1
- str r0, [sp]
- ldr r1, [sp, 0x8]
- cmp r1, 0
- bne _0807ED5C
- mov r2, r10
- cmp r2, 0x1
- bne _0807ED64
- ldr r6, [sp, 0xC]
- cmp r6, 0
- bne _0807ED3A
- b _0807EF32
-_0807ED3A:
- ldr r0, _0807ED58
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl PrintFieldMessage
- b _0807EF32
- .align 2, 0
-_0807ED48: .4byte gUnknown_203B418
-_0807ED4C: .4byte 0x0001358c
-_0807ED50: .4byte 0xffff0000
-_0807ED54: .4byte 0xff00ffff
-_0807ED58: .4byte gUnknown_80FE674
-_0807ED5C:
- mov r0, r10
- cmp r0, 0x1
- bne _0807ED64
- b _0807EF32
-_0807ED64:
- ldr r1, [sp, 0x8]
- cmp r1, 0x1
- bne _0807ED70
- mov r2, r10
- cmp r2, 0
- beq _0807ED78
-_0807ED70:
- mov r6, r8
- cmp r6, 0
- bne _0807ED78
- b _0807EF32
-_0807ED78:
- movs r0, 0
- str r0, [sp, 0x10]
- movs r1, 0
- str r1, [sp, 0x14]
- bl sub_807EF48
- lsls r0, 24
- cmp r0, 0
- bne _0807ED8C
- b _0807EECC
-_0807ED8C:
- movs r2, 0x1
- str r2, [sp, 0x14]
- movs r6, 0
-_0807ED92:
- ldr r0, _0807EE90
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0807EE94
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807EDAE
- b _0807EEC4
-_0807EDAE:
- ldr r0, [r5, 0x70]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- beq _0807EDB8
- b _0807EEC4
-_0807EDB8:
- adds r0, r5, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- bne _0807EDC6
- b _0807EEC4
-_0807EDC6:
- adds r0, r7, 0
- bl sub_80450FC
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80450FC
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0807EEC4
- movs r6, 0x1
- str r6, [sp, 0x10]
- movs r0, 0x4
- ldrsh r1, [r7, r0]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0807EDF0
- negs r1, r1
-_0807EDF0:
- cmp r1, 0x1
- bgt _0807EE10
- movs r6, 0x6
- ldrsh r1, [r7, r6]
- movs r2, 0x6
- ldrsh r0, [r5, r2]
- subs r1, r0
- cmp r1, 0
- bge _0807EE04
- negs r1, r1
-_0807EE04:
- adds r6, r7, 0x4
- mov r9, r6
- adds r0, r5, 0x4
- mov r8, r0
- cmp r1, 0x1
- ble _0807EE72
-_0807EE10:
- movs r3, 0x1
- negs r3, r3
- add r6, sp, 0x4
- adds r1, r7, 0x4
- mov r9, r1
- adds r2, r5, 0x4
- mov r8, r2
-_0807EE1E:
- movs r4, 0x1
- negs r4, r4
-_0807EE22:
- ldrh r0, [r7, 0x4]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0807EE98
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldrh r0, [r7, 0x6]
- adds r0, r4
- lsls r0, 16
- ldr r1, _0807EE9C
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x4]
- movs r2, 0
- ldrsh r0, [r6, r2]
- asrs r1, 16
- str r3, [sp, 0x18]
- bl sub_804954C
- ldrb r0, [r0, 0x9]
- ldr r3, [sp, 0x18]
- cmp r0, 0xFF
- beq _0807EE66
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80703A0
- lsls r0, 24
- ldr r3, [sp, 0x18]
- cmp r0, 0
- beq _0807EEA0
-_0807EE66:
- adds r4, 0x1
- cmp r4, 0x1
- ble _0807EE22
- adds r3, 0x1
- cmp r3, 0x1
- ble _0807EE1E
-_0807EE72:
- adds r0, r7, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- beq _0807EEAE
- mov r0, r9
- mov r1, r8
- bl sub_80983D8
- adds r1, r0, 0
- adds r0, r7, 0
- bl sub_806CE34
- b _0807EEB2
- .align 2, 0
-_0807EE90: .4byte gUnknown_203B418
-_0807EE94: .4byte 0x0001358c
-_0807EE98: .4byte 0xffff0000
-_0807EE9C: .4byte 0x0000ffff
-_0807EEA0:
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x3
- adds r3, r6, 0
- bl sub_807D148
- b _0807EE72
-_0807EEAE:
- movs r6, 0
- str r6, [sp, 0x10]
-_0807EEB2:
- mov r0, r8
- mov r1, r9
- bl sub_80983D8
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_806CE68
- b _0807EECC
-_0807EEC4:
- adds r6, 0x1
- cmp r6, 0xF
- bgt _0807EECC
- b _0807ED92
-_0807EECC:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- beq _0807EF04
- ldr r1, [sp, 0x10]
- cmp r1, 0
- beq _0807EEDE
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _0807EF04
-_0807EEDE:
- ldr r0, _0807EEF8
- ldr r0, [r0]
- ldr r2, _0807EEFC
- adds r1, r0, r2
- ldr r6, _0807EF00
- adds r0, r6
- ldr r1, [r1]
- ldr r0, [r0]
- cmp r1, r0
- ble _0807EF32
-_0807EEF2:
- bl sub_807F33C
- b _0807EF32
- .align 2, 0
-_0807EEF8: .4byte gUnknown_203B418
-_0807EEFC: .4byte 0x00000694
-_0807EF00: .4byte 0x0000068c
-_0807EF04:
- ldr r0, [sp, 0x10]
- bl sub_807EFFC
- ldr r0, [sp, 0x10]
- bl sub_807F19C
- cmp r0, 0
- bne _0807EEF2
- ldr r0, [sp, 0x8]
- cmp r0, 0x1
- bne _0807EF32
- mov r1, r10
- cmp r1, 0
- bne _0807EF32
- ldr r2, [sp, 0xC]
- cmp r2, 0
- beq _0807EF32
- ldr r0, _0807EF44
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl PrintFieldMessage
-_0807EF32:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807EF44: .4byte gUnknown_80FE65C
- thumb_func_end sub_807EC28
-
- thumb_func_start sub_807EF48
-sub_807EF48:
- push {lr}
- ldr r0, _0807EF70
- ldr r2, [r0]
- ldr r1, _0807EF74
- adds r0, r2, r1
- ldr r3, _0807EF78
- adds r1, r2, r3
- ldr r0, [r0]
- ldr r1, [r1]
- subs r0, r1
- cmp r0, 0
- bgt _0807EF7C
- movs r1, 0xD2
- lsls r1, 3
- adds r0, r2, r1
- ldr r0, [r0]
- cmp r0, 0
- bne _0807EF7C
- movs r0, 0
- b _0807EF7E
- .align 2, 0
-_0807EF70: .4byte gUnknown_203B418
-_0807EF74: .4byte 0x00000694
-_0807EF78: .4byte 0x0000068c
-_0807EF7C:
- movs r0, 0x1
-_0807EF7E:
- pop {r1}
- bx r1
- thumb_func_end sub_807EF48
-
- thumb_func_start sub_807EF84
-sub_807EF84:
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _0807EFD0
- ldr r0, [sp]
- ands r0, r1
- movs r1, 0xBE
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0807EFD4
- ands r0, r1
- str r0, [sp]
- movs r0, 0x1
- bl sub_807EFFC
- movs r0, 0x1
- bl sub_807F19C
- adds r4, r0, 0
- cmp r4, 0
- beq _0807EFE2
- bl sub_8083600
- bl sub_8045128
- ldrh r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0807EFDC
- cmp r4, 0x2
- beq _0807EFEE
- ldr r0, _0807EFD8
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl PrintFieldMessage
- b _0807EFEE
- .align 2, 0
-_0807EFD0: .4byte 0xffff0000
-_0807EFD4: .4byte 0xff00ffff
-_0807EFD8: .4byte gUnknown_80FE63C
-_0807EFDC:
- bl sub_807F33C
- b _0807EFEE
-_0807EFE2:
- ldr r0, _0807EFF8
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl PrintFieldMessage
-_0807EFEE:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807EFF8: .4byte gUnknown_80FE5F0
- thumb_func_end sub_807EF84
-
- thumb_func_start sub_807EFFC
-sub_807EFFC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r4, _0807F168
- ldr r0, [r4]
- movs r5, 0xD2
- lsls r5, 3
- adds r2, r0, r5
- ldr r0, [r2]
- cmp r0, 0
- bne _0807F01E
- b _0807F158
-_0807F01E:
- ldr r1, _0807F16C
- ldr r0, [sp]
- ands r0, r1
- movs r1, 0xBE
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0807F170
- ands r0, r1
- str r0, [sp]
- cmp r3, 0
- bne _0807F036
- b _0807F158
-_0807F036:
- ldr r1, _0807F174
- ldr r0, [r2]
- str r0, [r1]
- ldr r0, _0807F178
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- beq _0807F04E
- b _0807F158
-_0807F04E:
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8083E38
- ldr r0, [r4]
- adds r0, r5
- ldr r0, [r0]
- bl sub_80913A0
- ldr r0, [r4]
- ldr r2, _0807F17C
- adds r1, r0, r2
- ldr r1, [r1]
- str r1, [sp, 0xC]
- ldr r2, _0807F180
- adds r1, r0, r2
- ldr r6, [r1]
- ldr r1, _0807F184
- adds r0, r1
- ldr r0, [r0]
- cmp r6, r0
- bgt _0807F134
- mov r8, r4
-_0807F07C:
- mov r2, r8
- ldr r0, [r2]
- ldr r2, _0807F188
- adds r1, r0, r2
- ldr r5, [r1]
- ldr r1, _0807F18C
- adds r0, r1
- ldr r0, [r0]
- adds r2, r6, 0x1
- mov r10, r2
- cmp r5, r0
- bgt _0807F124
- lsls r0, r6, 16
- lsrs r0, 16
- mov r9, r0
-_0807F09A:
- lsls r0, r5, 16
- mov r1, r9
- orrs r0, r1
- str r0, [sp, 0x4]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r4, r0, 0
- ldrh r1, [r4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0807F114
- ldr r0, [r4, 0x14]
- cmp r0, 0
- beq _0807F114
- bl sub_80450F8
- cmp r0, 0x3
- bne _0807F114
- ldr r0, [r4, 0x14]
- bl sub_8045108
- adds r2, r0, 0
- ldrb r1, [r2]
- movs r7, 0x2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0807F114
- ldr r0, [r2]
- str r0, [sp, 0x8]
- add r4, sp, 0x4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80461C8
- ldr r0, [sp, 0x8]
- lsrs r0, 16
- lsls r0, 24
- lsrs r0, 24
- bl sub_80914E4
- lsls r0, 24
- add r3, sp, 0x8
- cmp r0, 0
- beq _0807F10A
- ldrb r0, [r3]
- adds r2, r7, 0
- orrs r2, r0
- ldr r1, _0807F190
- ldr r0, [sp, 0x8]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x8]
-_0807F10A:
- adds r0, r4, 0
- adds r1, r3, 0
- movs r2, 0x1
- bl sub_80460F8
-_0807F114:
- adds r5, 0x1
- mov r2, r8
- ldr r0, [r2]
- ldr r1, _0807F18C
- adds r0, r1
- ldr r0, [r0]
- cmp r5, r0
- ble _0807F09A
-_0807F124:
- mov r6, r10
- mov r2, r8
- ldr r0, [r2]
- ldr r1, _0807F184
- adds r0, r1
- ldr r0, [r0]
- cmp r6, r0
- ble _0807F07C
-_0807F134:
- ldr r0, _0807F168
- ldr r0, [r0]
- ldr r1, _0807F194
- adds r2, r0, r1
- subs r1, 0x8
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [sp, 0xC]
- subs r1, r0
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, _0807F198
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl PrintFieldMessage
-_0807F158:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807F168: .4byte gUnknown_203B418
-_0807F16C: .4byte 0xffff0000
-_0807F170: .4byte 0xff00ffff
-_0807F174: .4byte gUnknown_202DE30
-_0807F178: .4byte gUnknown_80FE5C0
-_0807F17C: .4byte 0x0000068c
-_0807F180: .4byte 0x0000e240
-_0807F184: .4byte 0x0000e248
-_0807F188: .4byte 0x0000e244
-_0807F18C: .4byte 0x0000e24c
-_0807F190: .4byte 0xffffff00
-_0807F194: .4byte 0x00000694
-_0807F198: .4byte gUnknown_80FE4F4
- thumb_func_end sub_807EFFC
-
- thumb_func_start sub_807F19C
-sub_807F19C:
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _0807F1EC
- ldr r0, [sp]
- ands r0, r1
- movs r1, 0xBE
- lsls r1, 1
- orrs r0, r1
- ldr r1, _0807F1F0
- ands r0, r1
- str r0, [sp]
- ldr r0, _0807F1F4
- ldr r0, [r0]
- ldr r3, _0807F1F8
- adds r1, r0, r3
- subs r3, 0x8
- adds r0, r3
- ldr r1, [r1]
- ldr r0, [r0]
- subs r4, r1, r0
- cmp r4, 0
- bgt _0807F1CE
- b _0807F31A
-_0807F1CE:
- cmp r2, 0
- beq _0807F1E6
- ldr r0, _0807F1FC
- str r4, [r0]
- ldr r0, _0807F200
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- beq _0807F204
-_0807F1E6:
- movs r0, 0x1
- b _0807F31C
- .align 2, 0
-_0807F1EC: .4byte 0xffff0000
-_0807F1F0: .4byte 0xff00ffff
-_0807F1F4: .4byte gUnknown_203B418
-_0807F1F8: .4byte 0x00000694
-_0807F1FC: .4byte gUnknown_202DE30
-_0807F200: .4byte gUnknown_80FE568
-_0807F204:
- ldr r0, _0807F224
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, r4
- bge _0807F22C
- ldr r0, _0807F228
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl PrintFieldMessage
- movs r0, 0x2
- b _0807F31C
- .align 2, 0
-_0807F224: .4byte gUnknown_203B460
-_0807F228: .4byte gUnknown_80FE520
-_0807F22C:
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8083E38
- negs r0, r4
- bl sub_80913A0
- movs r6, 0
-_0807F23C:
- movs r5, 0
- adds r7, r6, 0x1
-_0807F240:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r4, r0, 0
- ldrh r1, [r4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0807F27E
- ldr r0, [r4, 0x14]
- cmp r0, 0
- beq _0807F27E
- bl sub_80450F8
- cmp r0, 0x3
- bne _0807F27E
- ldr r0, [r4, 0x14]
- bl sub_8045108
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0807F27E
- ldrb r1, [r4]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r4]
-_0807F27E:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0807F240
- adds r6, r7, 0
- cmp r6, 0x37
- ble _0807F23C
- movs r5, 0
-_0807F28C:
- ldr r0, _0807F324
- lsls r1, r5, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807F2B2
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0807F2B2
- ldrb r1, [r4]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r4]
-_0807F2B2:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807F28C
- movs r5, 0
-_0807F2BA:
- ldr r0, _0807F328
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0807F32C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807F2F8
- ldr r0, [r4, 0x70]
- adds r4, r0, 0
- adds r4, 0x60
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807F2F8
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- beq _0807F2F8
- ldrb r1, [r4]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r4]
-_0807F2F8:
- adds r5, 0x1
- cmp r5, 0x13
- ble _0807F2BA
- ldr r0, _0807F328
- ldr r0, [r0]
- ldr r3, _0807F330
- adds r1, r0, r3
- ldr r2, _0807F334
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _0807F338
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x1
- bl PrintFieldMessage
-_0807F31A:
- movs r0, 0
-_0807F31C:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0807F324: .4byte gUnknown_203B460
-_0807F328: .4byte gUnknown_203B418
-_0807F32C: .4byte 0x000135cc
-_0807F330: .4byte 0x00000694
-_0807F334: .4byte 0x0000068c
-_0807F338: .4byte gUnknown_80FE4D4
- thumb_func_end sub_807F19C
-
- thumb_func_start sub_807F33C
-sub_807F33C:
- push {r4-r7,lr}
- ldr r2, _0807F41C
- ldr r0, [r2]
- ldr r1, _0807F420
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _0807F424
- adds r0, r2
- strb r1, [r0]
- bl sub_8083600
- ldr r1, _0807F428
- ldr r1, [r1]
- bl sub_80522A8
- movs r6, 0
-_0807F360:
- movs r5, 0
- adds r7, r6, 0x1
-_0807F364:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- cmp r0, 0
- beq _0807F38A
- bl sub_80450F8
- cmp r0, 0x3
- bne _0807F38A
- ldr r0, [r4, 0x14]
- bl sub_8045108
- ldrb r2, [r0]
- movs r1, 0xFD
- ands r1, r2
- strb r1, [r0]
-_0807F38A:
- adds r5, 0x1
- cmp r5, 0x1F
- ble _0807F364
- adds r6, r7, 0
- cmp r6, 0x37
- ble _0807F360
- movs r6, 0
- ldr r4, _0807F42C
- movs r5, 0x1
- movs r3, 0xFD
-_0807F39E:
- lsls r1, r6, 2
- ldr r0, [r4]
- adds r2, r0, r1
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0807F3B4
- adds r0, r3, 0
- ands r0, r1
- strb r0, [r2]
-_0807F3B4:
- adds r6, 0x1
- cmp r6, 0x13
- ble _0807F39E
- movs r6, 0
-_0807F3BC:
- ldr r0, _0807F41C
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r3, _0807F430
- adds r0, r3
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807F3F4
- ldr r4, [r5, 0x70]
- movs r0, 0
- strb r0, [r4, 0x8]
- adds r0, r5, 0
- bl sub_8070774
- adds r4, 0x60
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0807F3F4
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r4]
-_0807F3F4:
- adds r6, 0x1
- cmp r6, 0x13
- ble _0807F3BC
- ldr r0, _0807F41C
- ldr r1, [r0]
- ldr r2, _0807F434
- adds r0, r1, r2
- movs r2, 0
- str r2, [r0]
- ldr r3, _0807F438
- adds r0, r1, r3
- str r2, [r0]
- movs r0, 0xD2
- lsls r0, 3
- adds r1, r0
- str r2, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807F41C: .4byte gUnknown_203B418
-_0807F420: .4byte 0x0000066e
-_0807F424: .4byte 0x0000066f
-_0807F428: .4byte gUnknown_80FE4B8
-_0807F42C: .4byte gUnknown_203B460
-_0807F430: .4byte 0x000135cc
-_0807F434: .4byte 0x00000694
-_0807F438: .4byte 0x0000068c
- thumb_func_end sub_807F33C
-
- thumb_func_start sub_807F43C
-sub_807F43C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10C
- str r0, [sp, 0xEC]
- mov r8, r1
- mov r0, r8
- movs r1, 0xE
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _0807F470
- ldr r0, _0807F468
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807F46C
- b _0807F694
- .align 2, 0
-_0807F468: .4byte gUnknown_202DF98
-_0807F46C: .4byte gUnknown_80FCB40
-_0807F470:
- ldr r0, [sp, 0xEC]
- cmp r0, r8
- bne _0807F490
- ldr r0, _0807F488
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807F48C
- ldr r2, [r0]
- mov r0, r8
- b _0807F698
- .align 2, 0
-_0807F488: .4byte gUnknown_202DF98
-_0807F48C: .4byte gUnknown_80FCB70
-_0807F490:
- mov r1, r8
- ldr r0, [r1, 0x4]
- add r1, sp, 0xD4
- str r0, [r1]
- movs r2, 0
- str r2, [sp, 0xF0]
-_0807F49C:
- movs r3, 0
- mov r9, r3
- movs r7, 0
- mov r4, sp
- adds r4, 0x18
- str r4, [sp, 0x108]
-_0807F4A8:
- ldr r0, _0807F504
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _0807F508
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- adds r3, r7, 0x1
- str r3, [sp, 0x104]
- cmp r0, 0
- bne _0807F4C8
- b _0807F602
-_0807F4C8:
- ldr r0, [sp, 0xEC]
- cmp r0, r4
- bne _0807F4D0
- b _0807F602
-_0807F4D0:
- cmp r8, r4
- bne _0807F4D6
- b _0807F602
-_0807F4D6:
- adds r1, r4, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- bne _0807F4E4
- b _0807F602
-_0807F4E4:
- ldr r1, [sp, 0xF0]
- cmp r1, 0
- bne _0807F50C
- ldr r0, [sp, 0xEC]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0807F500
- b _0807F602
-_0807F500:
- b _0807F51E
- .align 2, 0
-_0807F504: .4byte gUnknown_203B418
-_0807F508: .4byte 0x000135cc
-_0807F50C:
- ldr r0, [sp, 0xEC]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8071598
- lsls r0, 24
- cmp r0, 0
- bne _0807F602
-_0807F51E:
- ldr r2, [sp, 0xF0]
- cmp r2, 0
- bne _0807F594
- movs r5, 0
- add r6, sp, 0xC8
- adds r3, r7, 0x1
- str r3, [sp, 0x104]
- adds r7, r6, 0
- ldr r0, _0807F588
- mov r10, r0
-_0807F532:
- ldr r0, _0807F58C
- lsls r3, r5, 2
- adds r3, r0
- ldrh r0, [r4, 0x4]
- ldrh r1, [r3]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r6]
- mov r2, r10
- ands r1, r2
- orrs r1, r0
- str r1, [r7]
- ldrh r2, [r4, 0x6]
- ldrh r3, [r3, 0x2]
- adds r2, r3
- lsls r2, 16
- ldr r0, _0807F590
- ands r1, r0
- orrs r1, r2
- str r1, [r7]
- mov r0, r8
- add r1, sp, 0xC8
- bl sub_80703A0
- lsls r0, 24
- cmp r0, 0
- beq _0807F570
- adds r5, 0x1
- cmp r5, 0x7
- ble _0807F532
-_0807F570:
- cmp r5, 0x8
- beq _0807F602
- mov r3, r9
- cmp r3, 0x27
- bgt _0807F602
- ldr r0, [r4, 0x4]
- ldr r4, [sp, 0x108]
- stm r4!, {r0}
- str r4, [sp, 0x108]
- movs r0, 0x1
- add r9, r0
- b _0807F602
- .align 2, 0
-_0807F588: .4byte 0xffff0000
-_0807F58C: .4byte gUnknown_80F4448
-_0807F590: .4byte 0x0000ffff
-_0807F594:
- movs r5, 0
- add r6, sp, 0xCC
- adds r1, r7, 0x1
- str r1, [sp, 0x104]
- adds r7, r6, 0
- mov r2, r9
- lsls r0, r2, 2
- add r0, sp
- adds r0, 0x18
- mov r10, r0
-_0807F5A8:
- ldr r0, _0807F630
- lsls r3, r5, 2
- adds r3, r0
- ldrh r0, [r4, 0x4]
- ldrh r1, [r3]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0807F634
- ldr r1, [r6]
- ands r1, r2
- orrs r1, r0
- str r1, [r7]
- ldrh r2, [r4, 0x6]
- ldrh r3, [r3, 0x2]
- adds r2, r3
- lsls r2, 16
- ldr r0, _0807F638
- ands r1, r0
- orrs r1, r2
- str r1, [r7]
- mov r0, r8
- add r1, sp, 0xCC
- bl sub_80703A0
- lsls r0, 24
- cmp r0, 0
- bne _0807F5FC
- mov r2, r9
- cmp r2, 0x27
- bgt _0807F5FC
- ldr r0, [r6]
- mov r3, r10
- adds r3, 0x4
- mov r10, r3
- subs r3, 0x4
- stm r3!, {r0}
- ldr r0, [sp, 0x108]
- adds r0, 0x4
- str r0, [sp, 0x108]
- movs r1, 0x1
- add r9, r1
-_0807F5FC:
- adds r5, 0x1
- cmp r5, 0x7
- ble _0807F5A8
-_0807F602:
- ldr r7, [sp, 0x104]
- cmp r7, 0x13
- bgt _0807F60A
- b _0807F4A8
-_0807F60A:
- mov r2, r9
- cmp r2, 0
- bne _0807F63C
- ldr r3, [sp, 0xF0]
- adds r3, 0x1
- str r3, [sp, 0xF0]
- cmp r3, 0x1
- bgt _0807F61C
- b _0807F49C
-_0807F61C:
- ldr r0, [sp, 0xEC]
- adds r0, 0x4
- add r4, sp, 0xB8
- adds r1, r4, 0
- bl sub_80833E8
- movs r7, 0
- add r5, sp, 0xD0
- adds r6, r5, 0
- b _0807F654
- .align 2, 0
-_0807F630: .4byte gUnknown_80F4448
-_0807F634: .4byte 0xffff0000
-_0807F638: .4byte 0x0000ffff
-_0807F63C:
- mov r0, r9
- bl sub_8084100
- lsls r0, 2
- add r0, sp
- adds r0, 0x18
- ldr r0, [r0]
- str r0, [sp, 0xD4]
- b _0807F6A8
-_0807F64E:
- ldr r0, [r5]
- str r0, [sp, 0xD4]
- b _0807F68E
-_0807F654:
- ldr r0, [r4]
- ldr r1, [r4, 0x8]
- bl sub_808411C
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0807F6A0
- ldr r1, [r5]
- ands r1, r2
- orrs r1, r0
- str r1, [r6]
- ldr r0, [r4, 0x4]
- ldr r1, [r4, 0xC]
- bl sub_808411C
- lsls r0, 16
- ldrh r1, [r6]
- orrs r1, r0
- str r1, [r6]
- mov r0, r8
- add r1, sp, 0xD0
- bl sub_80703A0
- lsls r0, 24
- cmp r0, 0
- beq _0807F64E
- adds r7, 0x1
- cmp r7, 0x63
- ble _0807F654
-_0807F68E:
- cmp r7, 0x64
- bne _0807F6A8
- ldr r0, _0807F6A4
-_0807F694:
- ldr r2, [r0]
- ldr r0, [sp, 0xEC]
-_0807F698:
- mov r1, r8
- bl sub_80522F4
- b _0807F99C
- .align 2, 0
-_0807F6A0: .4byte 0xffff0000
-_0807F6A4: .4byte gUnknown_80FE6B4
-_0807F6A8:
- ldr r0, _0807F860
- mov r1, r8
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0807F864
- ldr r2, [r0]
- ldr r0, [sp, 0xEC]
- mov r1, r8
- bl sub_80522F4
- mov r0, r8
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807F6D0
- ldr r0, _0807F868
- bl sub_8083E38
-_0807F6D0:
- movs r4, 0
- str r4, [sp, 0x100]
- mov r1, r8
- ldr r0, [r1, 0x70]
- adds r0, 0x46
- ldrb r0, [r0]
- mov r9, r0
- add r2, sp, 0xD4
- movs r3, 0
- ldrsh r1, [r2, r3]
- mov r4, r8
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- subs r3, r1, r0
- movs r4, 0x2
- ldrsh r1, [r2, r4]
- mov r2, r8
- movs r4, 0x6
- ldrsh r0, [r2, r4]
- subs r1, r0
- cmp r1, r3
- bge _0807F6FE
- adds r1, r3, 0
-_0807F6FE:
- lsls r6, r1, 4
- cmp r6, 0x50
- ble _0807F706
- movs r6, 0x50
-_0807F706:
- cmp r6, 0x9
- bgt _0807F70C
- movs r6, 0xA
-_0807F70C:
- mov r1, r8
- adds r1, 0x4
- add r0, sp, 0xD4
- bl sub_80983D8
- adds r5, r0, 0
- add r2, sp, 0xD4
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 11
- movs r3, 0xC0
- lsls r3, 4
- adds r4, r3
- ldr r0, _0807F86C
- lsls r5, 2
- adds r5, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r1, 0x3
- bl __divsi3
- adds r4, r0
- str r4, [sp, 0xF4]
- movs r3, 0xD6
- add r3, sp
- movs r2, 0
- ldrsh r0, [r3, r2]
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 11
- movs r0, 0x80
- lsls r0, 5
- adds r4, r0
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r1, 0x3
- bl __divsi3
- adds r4, r0
- str r4, [sp, 0xF8]
- mov r2, r8
- ldr r5, [r2, 0xC]
- ldr r3, [sp, 0xF4]
- subs r0, r3, r5
- adds r1, r6, 0
- bl __divsi3
- str r0, [sp, 0xFC]
- mov r0, r8
- ldr r4, [r0, 0x10]
- ldr r1, [sp, 0xF8]
- subs r0, r1, r4
- adds r1, r6, 0
- bl __divsi3
- mov r10, r0
- add r0, sp, 0xD8
- str r5, [r0]
- str r4, [r0, 0x4]
- movs r7, 0
- adds r5, r0, 0
- cmp r7, r6
- bge _0807F7FC
- adds r4, r5, 0
-_0807F794:
- ldr r0, [r5]
- ldr r2, [sp, 0xFC]
- adds r0, r2, r0
- str r0, [r4]
- ldr r0, [r4, 0x4]
- add r0, r10
- str r0, [r4, 0x4]
- mov r0, r8
- adds r1, r4, 0
- bl sub_804535C
- mov r0, r8
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0807F7E6
- ldr r0, [sp, 0x100]
- bl sub_8009C7C
- lsls r0, 5
- mov r3, r8
- str r0, [r3, 0x1C]
- movs r0, 0x3B
- bl sub_803E46C
- movs r0, 0x3
- ands r0, r7
- cmp r0, 0
- bne _0807F7E6
- movs r0, 0x7
- mov r1, r9
- ands r1, r0
- mov r9, r1
- mov r0, r8
- movs r1, 0x6
- mov r2, r9
- bl sub_806CDD4
- movs r2, 0x1
- add r9, r2
-_0807F7E6:
- movs r0, 0x80
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- ldr r3, [sp, 0x100]
- adds r3, r0
- str r3, [sp, 0x100]
- adds r7, 0x1
- cmp r7, r6
- blt _0807F794
-_0807F7FC:
- ldr r4, [sp, 0xF4]
- str r4, [r5]
- add r1, sp, 0xD8
- ldr r0, [sp, 0xF8]
- str r0, [r1, 0x4]
- movs r0, 0
- mov r2, r8
- str r0, [r2, 0x1C]
- mov r0, r8
- bl sub_804535C
- movs r0, 0x3B
- bl sub_803E46C
- mov r3, r8
- ldr r0, [r3, 0x70]
- movs r1, 0x7
- mov r4, r9
- ands r4, r1
- adds r0, 0x46
- strb r4, [r0]
- add r2, sp, 0xD4
- movs r1, 0
- ldrsh r0, [r2, r1]
- adds r4, r2, 0
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- bl sub_804954C
- ldr r6, [r0, 0x10]
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- bne _0807F876
- add r2, sp, 0xD4
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r3, 0x2
- ldrsh r2, [r4, r3]
- mov r0, r8
- movs r3, 0x1
- bl sub_80694C0
- mov r0, r8
- bl sub_807F9BC
- b _0807F99C
- .align 2, 0
-_0807F860: .4byte gUnknown_202DF98
-_0807F864: .4byte gUnknown_80FE690
-_0807F868: .4byte 0x000001a3
-_0807F86C: .4byte gUnknown_80F4448
-_0807F870:
- ldr r0, [r7]
- str r0, [sp, 0xD4]
- b _0807F8BE
-_0807F876:
- movs r5, 0
- add r4, sp, 0xE0
- adds r7, r4, 0
-_0807F87C:
- ldr r0, _0807F8D0
- lsls r3, r5, 2
- adds r3, r0
- add r1, sp, 0xD4
- ldrh r0, [r1]
- ldrh r2, [r3]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0807F8D4
- ldr r1, [r7]
- ands r1, r2
- orrs r1, r0
- str r1, [r4]
- add r0, sp, 0xD4
- ldrh r2, [r0, 0x2]
- ldrh r3, [r3, 0x2]
- adds r2, r3
- lsls r2, 16
- ldr r0, _0807F8D8
- ands r1, r0
- orrs r1, r2
- str r1, [r4]
- mov r0, r8
- add r1, sp, 0xE0
- bl sub_80703A0
- lsls r0, 24
- cmp r0, 0
- beq _0807F870
- adds r5, 0x1
- cmp r5, 0x7
- ble _0807F87C
-_0807F8BE:
- cmp r5, 0x8
- bne _0807F8DC
- ldr r0, [sp, 0xEC]
- mov r1, r8
- movs r2, 0
- movs r3, 0
- bl sub_807D148
- b _0807F8FA
- .align 2, 0
-_0807F8D0: .4byte gUnknown_80F4448
-_0807F8D4: .4byte 0xffff0000
-_0807F8D8: .4byte 0x0000ffff
-_0807F8DC:
- mov r0, r8
- add r1, sp, 0xD4
- bl sub_807D068
- add r0, sp, 0xD4
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0xD6
- add r0, sp
- movs r4, 0
- ldrsh r2, [r0, r4]
- mov r0, r8
- movs r3, 0x1
- bl sub_80694C0
-_0807F8FA:
- adds r0, r6, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _0807F954
- add r4, sp, 0xE4
- ldr r1, _0807F9AC
- adds r0, r4, 0
- bl sub_8092A88
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80571F0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0807F93C
- ldr r0, _0807F9B0
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, _0807F9B4
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, [sp, 0xEC]
- adds r1, r6, 0
- movs r3, 0
- bl sub_806F370
-_0807F93C:
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807F954
- ldr r0, [r6, 0x70]
- adds r0, 0x46
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_806CE68
-_0807F954:
- ldr r0, _0807F9B0
- movs r4, 0
- ldrsh r2, [r0, r4]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- ldr r0, _0807F9B8
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, [sp, 0xEC]
- mov r1, r8
- movs r3, 0
- bl sub_806F370
- mov r0, r8
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807F98E
- mov r1, r8
- ldr r0, [r1, 0x70]
- adds r0, 0x46
- ldrb r1, [r0]
- mov r0, r8
- bl sub_806CE68
-_0807F98E:
- movs r0, 0x1E
- movs r1, 0x3B
- bl sub_803E708
- mov r0, r8
- bl sub_807F9BC
-_0807F99C:
- add sp, 0x10C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807F9AC: .4byte 0x00000163
-_0807F9B0: .4byte gUnknown_80F4F92
-_0807F9B4: .4byte 0x0000021a
-_0807F9B8: .4byte 0x00000219
- thumb_func_end sub_807F43C
-
- thumb_func_start sub_807F9BC
-sub_807F9BC:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0807FA0A
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0807F9F4
- ldr r2, _0807FA10
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x1]
- ldr r0, [r2]
- movs r1, 0xB8
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- adds r0, r4, 0x4
- bl sub_804AC20
- movs r0, 0
- bl sub_807EC28
-_0807F9F4:
- adds r0, r4, 0
- bl sub_806A5B8
- ldr r0, _0807FA10
- ldr r0, [r0]
- ldr r1, _0807FA14
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8075900
-_0807FA0A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0807FA10: .4byte gUnknown_203B418
-_0807FA14: .4byte 0x00003a08
- thumb_func_end sub_807F9BC
-
- thumb_func_start sub_807FA18
-sub_807FA18:
- push {r4-r7,lr}
- sub sp, 0x4
- movs r6, 0
-_0807FA1E:
- movs r5, 0
- adds r7, r6, 0x1
-_0807FA22:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8049590
- adds r4, r0, 0
- ldrh r1, [r4, 0x4]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0807FA88
- lsls r0, r5, 16
- lsls r1, r6, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp]
- ldrh r1, [r4, 0x4]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0807FA4E
- movs r0, 0x6
- b _0807FA56
-_0807FA4E:
- bl sub_803D6FC
- lsls r0, 24
- lsrs r0, 24
-_0807FA56:
- cmp r0, 0x11
- bne _0807FA72
- movs r0, 0x11
- mov r1, sp
- movs r2, 0x2
- bl sub_8045684
- cmp r0, 0
- beq _0807FA88
- str r0, [r4, 0x14]
- adds r1, r0, 0
- adds r1, 0x20
- movs r0, 0x1
- b _0807FA86
-_0807FA72:
- mov r1, sp
- movs r2, 0
- bl sub_8045684
- cmp r0, 0
- beq _0807FA88
- str r0, [r4, 0x14]
- adds r1, r0, 0
- adds r1, 0x20
- movs r0, 0
-_0807FA86:
- strb r0, [r1]
-_0807FA88:
- adds r5, 0x1
- cmp r5, 0x37
- ble _0807FA22
- adds r6, r7, 0
- cmp r6, 0x1F
- ble _0807FA1E
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_807FA18
-
- thumb_func_start sub_807FA9C
-sub_807FA9C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r2, _0807FAC4
- ldr r0, [r2]
- ldr r3, _0807FAC8
- adds r1, r0, r3
- ldrb r1, [r1]
- str r1, [sp]
- ldr r1, _0807FACC
- adds r0, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- subs r1, r0, 0x5
- mov r8, r1
- b _0807FBFE
- .align 2, 0
-_0807FAC4: .4byte gUnknown_203B418
-_0807FAC8: .4byte 0x0001820f
-_0807FACC: .4byte 0x000181ea
-_0807FAD0:
- ldr r0, [r2]
- ldr r2, _0807FC18
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- subs r5, r0, 0x6
- adds r0, 0x6
- mov r1, r8
- adds r1, 0x1
- str r1, [sp, 0x4]
- cmp r5, r0
- blt _0807FAEA
- b _0807FBEE
-_0807FAEA:
- ldr r7, _0807FC1C
- ldr r2, _0807FC20
- mov r10, r2
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- mov r9, r0
-_0807FAF8:
- movs r6, 0
- adds r0, r5, 0
- mov r1, r8
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- cmp r0, 0
- beq _0807FB24
- bl sub_80450F8
- cmp r0, 0x2
- bne _0807FB24
- ldr r0, [r4, 0x14]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- bne _0807FB22
- ldr r3, [sp]
- cmp r3, 0
- beq _0807FB24
-_0807FB22:
- movs r6, 0x1
-_0807FB24:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 2
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0807FB34
- movs r6, 0x1
-_0807FB34:
- cmp r6, 0
- beq _0807FBD6
- ldr r0, _0807FC24
- ldr r1, [r0]
- ldr r3, _0807FC28
- adds r0, r1, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- mov r2, r9
- subs r3, r2, r0
- mov r2, r8
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 3
- ldr r2, _0807FC2C
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- subs r2, r0, r1
- movs r0, 0x20
- negs r0, r0
- cmp r3, r0
- blt _0807FBD6
- cmp r2, r0
- blt _0807FBD6
- movs r0, 0x88
- lsls r0, 1
- cmp r3, r0
- bgt _0807FBD6
- cmp r2, 0xC0
- bgt _0807FBD6
- ldrh r1, [r7]
- mov r0, r10
- ands r0, r1
- strh r0, [r7]
- ldr r1, _0807FC30
- ands r1, r2
- lsls r1, 4
- ldrh r2, [r7, 0x6]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strh r0, [r7, 0x6]
- ldr r0, _0807FC34
- ands r3, r0
- ldrh r0, [r7, 0x2]
- movs r2, 0xFE
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- orrs r0, r3
- strh r0, [r7, 0x2]
- ldrh r1, [r7, 0x4]
- mov r0, r10
- ands r0, r1
- movs r3, 0xC0
- lsls r3, 4
- orrs r0, r3
- movs r1, 0
- orrs r0, r1
- movs r1, 0xA0
- lsls r1, 8
- ldr r2, _0807FC30
- ands r0, r2
- orrs r0, r1
- movs r3, 0
- orrs r0, r3
- movs r2, 0xFE
- lsls r2, 1
- movs r3, 0xFC
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r7, 0x4]
- adds r0, r7, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_0807FBD6:
- movs r0, 0x18
- add r9, r0
- adds r5, 0x1
- ldr r0, _0807FC24
- ldr r0, [r0]
- ldr r1, _0807FC18
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r0, 0x6
- cmp r5, r0
- blt _0807FAF8
-_0807FBEE:
- ldr r3, [sp, 0x4]
- mov r8, r3
- ldr r2, _0807FC24
- ldr r0, [r2]
- ldr r1, _0807FC38
- adds r0, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
-_0807FBFE:
- adds r0, 0x5
- cmp r8, r0
- bge _0807FC06
- b _0807FAD0
-_0807FC06:
- 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
-_0807FC18: .4byte 0x000181e8
-_0807FC1C: .4byte gUnknown_202EDC0
-_0807FC20: .4byte 0x0000f3ff
-_0807FC24: .4byte gUnknown_203B418
-_0807FC28: .4byte 0x000181f0
-_0807FC2C: .4byte 0x000181f2
-_0807FC30: .4byte 0x00000fff
-_0807FC34: .4byte 0x000001ff
-_0807FC38: .4byte 0x000181ea
- thumb_func_end sub_807FA9C
-
- thumb_func_start sub_807FC3C
-sub_807FC3C:
- push {r4-r7,lr}
- ldr r6, _0807FC70
- ldr r4, [r6]
- ldrh r5, [r0]
- ldr r7, _0807FC74
- adds r3, r4, r7
- strh r5, [r3]
- ldrh r3, [r0, 0x2]
- ldr r5, _0807FC78
- adds r0, r4, r5
- strh r3, [r0]
- adds r7, 0x4
- adds r4, r7
- strb r1, [r4]
- ldr r0, [r6]
- ldr r1, _0807FC7C
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r6]
- subs r5, 0x6
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0807FC70: .4byte gUnknown_203B418
-_0807FC74: .4byte 0x00013574
-_0807FC78: .4byte 0x00013576
-_0807FC7C: .4byte 0x00013579
- thumb_func_end sub_807FC3C
-
- thumb_func_start sub_807FC80
-sub_807FC80:
- push {lr}
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r0, r2, 0
- bl sub_8049590
- adds r2, r0, 0
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _0807FCCA
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _0807FCCA
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0807FCCA
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0807FCCA
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0x1
- bne _0807FCCA
- ldr r0, [r2, 0x14]
- cmp r0, 0
- beq _0807FCCE
- bl sub_80450F8
- cmp r0, 0x2
- beq _0807FCCE
-_0807FCCA:
- movs r0, 0
- b _0807FCD0
-_0807FCCE:
- movs r0, 0x1
-_0807FCD0:
- pop {r1}
- bx r1
- thumb_func_end sub_807FC80
-
- thumb_func_start sub_807FCD4
-sub_807FCD4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r2, 0x2
- ldrsh r1, [r7, r2]
- bl sub_8049590
- adds r6, r0, 0
- cmp r5, 0x13
- bls _0807FD12
- movs r4, 0
- b _0807FCFE
-_0807FCFC:
- adds r4, 0x1
-_0807FCFE:
- cmp r4, 0x1D
- bgt _0807FD0C
- bl sub_803D6FC
- adds r5, r0, 0
- cmp r5, 0x11
- beq _0807FCFC
-_0807FD0C:
- cmp r4, 0x1E
- bne _0807FD12
- movs r5, 0x10
-_0807FD12:
- ldrh r1, [r6]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _0807FD6E
- ldrb r0, [r6, 0x9]
- cmp r0, 0xFF
- beq _0807FD6E
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0807FD6E
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0807FD6E
- movs r4, 0x3
- ands r4, r1
- cmp r4, 0x1
- bne _0807FD6E
- ldr r0, [r6, 0x14]
- cmp r0, 0
- beq _0807FD60
- bl sub_80450F8
- cmp r0, 0x2
- bne _0807FD6E
- ldr r0, [r6, 0x14]
- bl sub_8045104
- strb r5, [r0]
- ldr r0, [r6, 0x14]
- bl sub_8045104
- mov r1, r8
- strb r1, [r0, 0x1]
- ldr r0, [r6, 0x14]
- b _0807FD74
-_0807FD60:
- adds r0, r5, 0
- adds r1, r7, 0
- mov r2, r8
- bl sub_8045684
- cmp r0, 0
- bne _0807FD72
-_0807FD6E:
- movs r0, 0
- b _0807FD7A
-_0807FD72:
- str r0, [r6, 0x14]
-_0807FD74:
- adds r0, 0x20
- strb r4, [r0]
- movs r0, 0x1
-_0807FD7A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_807FCD4
-
- thumb_func_start sub_807FD84
-sub_807FD84:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- ldr r4, _0807FD9C
- ldr r0, [r4]
- ldr r2, _0807FDA0
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _0807FDA4
- movs r0, 0
- b _0807FDF6
- .align 2, 0
-_0807FD9C: .4byte gUnknown_203B418
-_0807FDA0: .4byte 0x00013570
-_0807FDA4:
- strb r5, [r1]
- ldr r2, [r4]
- ldr r3, _0807FDD8
- adds r0, r2, r3
- adds r3, 0x4
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x1
- adds r2, r3
- ldrb r2, [r2]
- bl sub_807FCD4
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0807FDE0
- ldr r1, [r4]
- ldr r0, _0807FDD8
- adds r1, r0
- ldr r0, _0807FDDC
- ldr r2, [r0]
- adds r0, r6, 0
- bl sub_8052364
- b _0807FDF0
- .align 2, 0
-_0807FDD8: .4byte 0x00013574
-_0807FDDC: .4byte gUnknown_80FC5F8
-_0807FDE0:
- ldr r1, [r4]
- ldr r2, _0807FDFC
- adds r1, r2
- ldr r0, _0807FE00
- ldr r2, [r0]
- adds r0, r6, 0
- bl sub_8052364
-_0807FDF0:
- bl sub_8049ED4
- adds r0, r5, 0
-_0807FDF6:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0807FDFC: .4byte 0x00013574
-_0807FE00: .4byte gUnknown_80FC5FC
- thumb_func_end sub_807FD84
-
- thumb_func_start sub_807FE04
-sub_807FE04:
- push {r4,r5,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl sub_8049590
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- cmp r0, 0
- beq _0807FE3C
- bl sub_80450F8
- cmp r0, 0x2
- bne _0807FE3C
- ldr r1, [r4, 0x14]
- movs r0, 0
- str r0, [r1]
- str r0, [r4, 0x14]
- cmp r5, 0
- beq _0807FE38
- bl sub_8049ED4
-_0807FE38:
- movs r0, 0x1
- b _0807FE3E
-_0807FE3C:
- movs r0, 0
-_0807FE3E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807FE04
-
- thumb_func_start sub_807FE44
-sub_807FE44:
- push {r4,r5,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- cmp r0, 0
- beq _0807FE7C
- bl sub_80450F8
- cmp r0, 0x2
- bne _0807FE7C
- ldr r0, [r4, 0x14]
- adds r0, 0x20
- movs r1, 0x1
- strb r1, [r0]
- cmp r5, 0
- beq _0807FE78
- bl sub_8049ED4
-_0807FE78:
- movs r0, 0x1
- b _0807FE7E
-_0807FE7C:
- movs r0, 0
-_0807FE7E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_807FE44
-
- thumb_func_start sub_807FE84
-sub_807FE84:
- push {lr}
- lsls r1, 24
- ldr r2, _0807FE98
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl strcpy
- pop {r0}
- bx r0
- .align 2, 0
-_0807FE98: .4byte gUnknown_80F91F0
- thumb_func_end sub_807FE84
-
- thumb_func_start sub_807FE9C
-sub_807FE9C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r5, r0, 0
- mov r9, r1
- str r2, [sp]
- lsls r3, 24
- lsrs r6, r3, 24
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- bl sub_8049590
- str r0, [sp, 0x4]
- ldr r0, [r0, 0x14]
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x8]
- cmp r0, 0
- bne _0807FECE
- b _080801B4
-_0807FECE:
- bl sub_80450F8
- cmp r0, 0x2
- beq _0807FED8
- b _080801B4
-_0807FED8:
- mov r0, r10
- bl sub_8045104
- mov r8, r0
- ldr r0, _0807FF58
- mov r2, r8
- ldrb r1, [r2]
- bl sub_807FE84
- ldr r3, [sp, 0x4]
- ldr r4, [r3, 0x10]
- cmp r4, 0
- beq _0807FEFE
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x1
- beq _0807FEFE
- movs r4, 0
-_0807FEFE:
- mov r1, r10
- adds r1, 0x20
- ldrb r0, [r1]
- str r0, [sp, 0xC]
- movs r0, 0x1
- strb r0, [r1]
- cmp r4, 0
- beq _0807FF96
- adds r0, r4, 0
- bl sub_806A1E8
- cmp r6, 0
- beq _0807FF96
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0x11
- beq _0807FF96
- movs r0, 0x64
- bl sub_8084100
- adds r7, r0, 0
- movs r6, 0
- adds r0, r4, 0
- movs r1, 0x1C
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _0807FF3C
- ldr r0, _0807FF5C
- ldr r6, [r0]
-_0807FF3C:
- ldr r2, [sp, 0xC]
- cmp r2, 0x1
- beq _0807FF50
- ldr r0, _0807FF60
- ldr r0, [r0]
- ldr r3, _0807FF64
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807FF68
-_0807FF50:
- cmp r7, 0
- bge _0807FF70
- b _0807FF6C
- .align 2, 0
-_0807FF58: .4byte gUnknown_202DF98
-_0807FF5C: .4byte gUnknown_80FDB5C
-_0807FF60: .4byte gUnknown_203B418
-_0807FF64: .4byte 0x0001820f
-_0807FF68:
- cmp r7, 0xE
- bgt _0807FF70
-_0807FF6C:
- ldr r0, _0807FFD8
- ldr r6, [r0]
-_0807FF70:
- cmp r6, 0
- beq _0807FF96
- mov r0, r9
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _0807FF84
- bl sub_8049ED4
-_0807FF84:
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_80522F4
- ldr r0, [sp]
- cmp r0, 0
- bne _0807FF96
- b _080801B4
-_0807FF96:
- mov r0, r9
- bl sub_803F428
- lsls r0, 24
- cmp r0, 0
- beq _0807FFFA
- movs r1, 0xAE
- lsls r1, 1
- movs r0, 0
- bl sub_80421C0
- bl sub_8049ED4
- mov r1, r8
- ldrb r2, [r1]
- adds r0, r5, 0
- mov r1, r9
- bl sub_804225C
- ldr r0, _0807FFDC
- ldr r0, [r0]
- ldr r2, _0807FFE0
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0807FFE8
- ldr r0, _0807FFE4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80522A8
- b _0807FFFA
- .align 2, 0
-_0807FFD8: .4byte gUnknown_80FDB7C
-_0807FFDC: .4byte gUnknown_203B418
-_0807FFE0: .4byte 0x0001820a
-_0807FFE4: .4byte gUnknown_80FD7F4
-_0807FFE8:
- ldr r0, _08080010
- mov r3, r8
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl sub_80522A8
-_0807FFFA:
- cmp r4, 0
- beq _08080020
- mov r1, r8
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- bne _08080014
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_806F480
- b _08080020
- .align 2, 0
-_08080010: .4byte gUnknown_80FD7F8
-_08080014:
- cmp r0, 0x1
- bne _08080020
- adds r0, r4, 0
- movs r1, 0
- bl sub_806F480
-_08080020:
- mov r2, r8
- ldrb r0, [r2]
- cmp r0, 0x1B
- bls _0808002A
- b _08080194
-_0808002A:
- lsls r0, 2
- ldr r1, _08080034
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08080034: .4byte _08080038
- .align 2, 0
-_08080038:
- .4byte _080800A8
- .4byte _080800B2
- .4byte _080800BC
- .4byte _080800C6
- .4byte _080800D0
- .4byte _080800DA
- .4byte _080800E6
- .4byte _080800F0
- .4byte _080800FA
- .4byte _08080104
- .4byte _0808010E
- .4byte _08080118
- .4byte _08080122
- .4byte _0808012C
- .4byte _08080136
- .4byte _08080140
- .4byte _0808014A
- .4byte _08080168
- .4byte _08080172
- .4byte _08080180
- .4byte _08080194
- .4byte _08080194
- .4byte _08080194
- .4byte _08080194
- .4byte _08080194
- .4byte _08080194
- .4byte _08080194
- .4byte _080800DA
-_080800A8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8080A5C
- b _08080194
-_080800B2:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80801CC
- b _08080194
-_080800BC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808024C
- b _08080194
-_080800C6:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8080418
- b _08080194
-_080800D0:
- adds r0, r5, 0
- mov r1, r9
- bl sub_8080620
- b _0808017A
-_080800DA:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, [sp, 0x4]
- bl sub_8080504
- b _08080194
-_080800E6:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8080374
- b _08080194
-_080800F0:
- mov r0, r10
- adds r1, r4, 0
- bl sub_8080884
- b _08080194
-_080800FA:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8080364
- b _08080194
-_08080104:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8080388
- b _08080194
-_0808010E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80803B4
- b _08080194
-_08080118:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80807C0
- b _08080194
-_08080122:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80803C8
- b _08080194
-_0808012C:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80803D8
- b _08080194
-_08080136:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80803F8
- b _08080194
-_08080140:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8080700
- b _08080194
-_0808014A:
- cmp r4, 0
- beq _08080194
- ldr r0, _08080160
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, _08080164
- adds r0, r4, 0
- movs r2, 0xF
- bl sub_806F324
- b _08080194
- .align 2, 0
-_08080160: .4byte gUnknown_80F4F86
-_08080164: .4byte 0x00000213
-_08080168:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80807B4
- b _08080194
-_08080172:
- adds r0, r5, 0
- mov r1, r9
- bl sub_80808A4
-_0808017A:
- movs r3, 0x1
- str r3, [sp, 0x8]
- b _08080194
-_08080180:
- cmp r4, 0
- beq _08080194
- ldr r0, _080801C4
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, _080801C8
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_806F324
-_08080194:
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080801A6
- adds r0, r4, 0
- bl sub_8071DA4
-_080801A6:
- ldr r3, [sp, 0x8]
- cmp r3, 0
- beq _080801B4
- mov r0, r9
- movs r1, 0x1
- bl sub_807FE04
-_080801B4:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080801C4: .4byte gUnknown_80F4F84
-_080801C8: .4byte 0x00000206
- thumb_func_end sub_807FE9C
-
- thumb_func_start sub_80801CC
-sub_80801CC:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _08080240
- movs r0, 0x64
- bl sub_8084100
- adds r1, r0, 0
- cmp r0, 0x18
- bgt _080801EC
- ldr r0, _080801E8
- b _080801F2
- .align 2, 0
-_080801E8: .4byte gUnknown_8106A4C
-_080801EC:
- cmp r0, 0x31
- bgt _0808020C
- ldr r0, _08080208
-_080801F2:
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8076E20
- b _08080240
- .align 2, 0
-_08080208: .4byte gUnknown_8106A50
-_0808020C:
- cmp r1, 0x4A
- bgt _0808022C
- ldr r0, _08080228
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8076F80
- b _08080240
- .align 2, 0
-_08080228: .4byte gUnknown_8106A4C
-_0808022C:
- ldr r0, _08080248
- ldr r2, [r0]
- movs r0, 0x1
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8076F80
-_08080240:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08080248: .4byte gUnknown_8106A50
- thumb_func_end sub_80801CC
-
- thumb_func_start sub_808024C
-sub_808024C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x5C
- str r0, [sp, 0x54]
- mov r10, r1
- ldr r0, [r1, 0x70]
- mov r8, r0
- mov r0, r10
- movs r1, 0xE
- bl sub_8046CB0
- lsls r0, 24
- cmp r0, 0
- beq _08080278
- ldr r0, _08080274
- b _08080300
- .align 2, 0
-_08080274: .4byte gUnknown_80FDC7C
-_08080278:
- movs r6, 0
- mov r1, r8
- ldrb r0, [r1, 0x7]
- movs r1, 0x60
- add r1, r8
- mov r9, r1
- cmp r0, 0
- beq _080802C8
- movs r5, 0
- ldr r7, _0808030C
- mov r0, sp
- str r0, [sp, 0x58]
-_08080290:
- lsls r4, r5, 2
- ldr r0, [r7]
- adds r2, r4, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080802C2
- ldrb r0, [r2, 0x2]
- bl sub_8091544
- lsls r0, 24
- cmp r0, 0
- beq _080802C2
- ldr r0, [r7]
- adds r2, r0, r4
- ldrb r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080802C2
- ldr r1, [sp, 0x58]
- stm r1!, {r2}
- str r1, [sp, 0x58]
- adds r6, 0x1
-_080802C2:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08080290
-_080802C8:
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080802FA
- mov r0, r8
- adds r0, 0x62
- ldrb r0, [r0]
- bl sub_8091544
- lsls r0, 24
- cmp r0, 0
- beq _080802FA
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080802FA
- lsls r0, r6, 2
- add r0, sp
- mov r1, r9
- str r1, [r0]
- adds r6, 0x1
-_080802FA:
- cmp r6, 0
- bne _08080314
- ldr r0, _08080310
-_08080300:
- ldr r2, [r0]
- ldr r0, [sp, 0x54]
- mov r1, r10
- bl sub_80522F4
- b _0808034A
- .align 2, 0
-_0808030C: .4byte gUnknown_203B460
-_08080310: .4byte gUnknown_80FDC40
-_08080314:
- adds r0, r6, 0
- bl sub_8084100
- ldr r2, _0808035C
- lsls r0, 2
- mov r1, sp
- adds r4, r1, r0
- ldr r1, [r4]
- adds r0, r2, 0
- bl sub_8045BF8
- ldr r2, [r4]
- ldrb r1, [r2]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0xC9
- lsls r1, 1
- mov r0, r10
- bl sub_80421C0
- ldr r0, _08080360
- ldr r2, [r0]
- ldr r0, [sp, 0x54]
- mov r1, r10
- bl sub_80522F4
-_0808034A:
- add sp, 0x5C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808035C: .4byte gUnknown_202DE58
-_08080360: .4byte gUnknown_80FDC18
- thumb_func_end sub_808024C
-
- thumb_func_start sub_8080364
-sub_8080364:
- push {lr}
- cmp r1, 0
- beq _08080370
- movs r2, 0x1
- bl sub_8077AE4
-_08080370:
- pop {r0}
- bx r0
- thumb_func_end sub_8080364
-
- thumb_func_start sub_8080374
-sub_8080374:
- push {lr}
- cmp r1, 0
- beq _08080382
- movs r2, 0
- movs r3, 0
- bl sub_807D148
-_08080382:
- pop {r0}
- bx r0
- thumb_func_end sub_8080374
-
- thumb_func_start sub_8080388
-sub_8080388:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _080803A8
- ldr r1, _080803B0
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_808417C
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8075C58
-_080803A8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080803B0: .4byte gUnknown_80F4E74
- thumb_func_end sub_8080388
-
- thumb_func_start sub_80803B4
-sub_80803B4:
- push {lr}
- cmp r1, 0
- beq _080803C2
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80779F0
-_080803C2:
- pop {r0}
- bx r0
- thumb_func_end sub_80803B4
-
- thumb_func_start sub_80803C8
-sub_80803C8:
- push {lr}
- cmp r1, 0
- beq _080803D4
- movs r2, 0x1
- bl sub_80763F8
-_080803D4:
- pop {r0}
- bx r0
- thumb_func_end sub_80803C8
-
- thumb_func_start sub_80803D8
-sub_80803D8:
- push {lr}
- sub sp, 0x8
- adds r2, r1, 0x4
- movs r3, 0
- str r3, [sp]
- ldr r3, _080803F4
- str r3, [sp, 0x4]
- movs r3, 0x1
- bl sub_807DF38
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080803F4: .4byte 0x00000212
- thumb_func_end sub_80803D8
-
- thumb_func_start sub_80803F8
-sub_80803F8:
- push {lr}
- sub sp, 0x8
- adds r2, r1, 0x4
- movs r3, 0
- str r3, [sp]
- ldr r3, _08080414
- str r3, [sp, 0x4]
- movs r3, 0x2
- bl sub_807DF38
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_08080414: .4byte 0x00000212
- thumb_func_end sub_80803F8
-
- thumb_func_start sub_8080418
-sub_8080418:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- mov r8, r0
- adds r6, r1, 0
- movs r0, 0
- mov r9, r0
- cmp r6, 0
- beq _080804F0
- ldr r7, [r6, 0x70]
- movs r3, 0
- ldrb r0, [r7, 0x7]
- cmp r0, 0
- beq _0808045A
- ldr r0, _080804C0
- movs r1, 0x1
- mov r12, r1
- ldr r2, [r0]
- mov r4, sp
- movs r5, 0x13
-_08080444:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _08080452
- stm r4!, {r2}
- adds r3, 0x1
-_08080452:
- adds r2, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08080444
-_0808045A:
- adds r2, r7, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08080470
- lsls r0, r3, 2
- add r0, sp
- str r2, [r0]
- adds r3, 0x1
-_08080470:
- cmp r3, 0
- ble _080804B6
- mov r4, sp
- adds r5, r3, 0
-_08080478:
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080804AE
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x54
- beq _080804AE
- movs r0, 0x64
- bl sub_8084100
- ldr r1, _080804C4
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- bge _080804AE
- movs r0, 0x1
- add r9, r0
- ldr r0, [r4]
- movs r1, 0x54
- movs r2, 0x2
- bl sub_8045C28
-_080804AE:
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bne _08080478
-_080804B6:
- mov r1, r9
- cmp r1, 0x1
- bne _080804CC
- ldr r0, _080804C8
- b _080804D4
- .align 2, 0
-_080804C0: .4byte gUnknown_203B460
-_080804C4: .4byte gUnknown_80F4E0E
-_080804C8: .4byte gUnknown_80FD788
-_080804CC:
- mov r2, r9
- cmp r2, 0
- bne _080804E4
- ldr r0, _080804E0
-_080804D4:
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
- b _080804F0
- .align 2, 0
-_080804E0: .4byte gUnknown_80FD7D4
-_080804E4:
- ldr r0, _08080500
- ldr r2, [r0]
- mov r0, r8
- adds r1, r6, 0
- bl sub_80522F4
-_080804F0:
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080500: .4byte gUnknown_80FD7AC
- thumb_func_end sub_8080418
-
- thumb_func_start sub_8080504
-sub_8080504:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r7, r2, 0
- movs r0, 0
- mov r8, r0
- cmp r4, 0
- bne _0808051A
- b _0808060E
-_0808051A:
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _08080534
- ldr r0, _08080530
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _0808060E
- .align 2, 0
-_08080530: .4byte gUnknown_80FED0C
-_08080534:
- ldr r5, [r4, 0x70]
- adds r0, r4, 0
- bl sub_8045888
- lsls r0, 24
- cmp r0, 0
- beq _0808055E
- adds r0, r7, 0
- movs r1, 0x1B
- bl sub_8080B00
- movs r1, 0x1
- mov r8, r1
- ldr r1, _080805A4
- adds r0, r4, 0
- bl sub_80421C0
- movs r0, 0x1E
- movs r1, 0x48
- bl sub_803E708
-_0808055E:
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _080805C4
- bl sub_8043D10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080805B4
- movs r2, 0xAE
- lsls r2, 1
- adds r0, r5, r2
- movs r1, 0x1
- strb r1, [r0]
- adds r2, 0x2
- adds r0, r5, r2
- strb r1, [r0]
- movs r0, 0x28
- movs r1, 0x4B
- bl sub_803E708
- ldr r0, _080805A8
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, _080805AC
- adds r0, r4, 0
- movs r2, 0x11
- bl sub_806F324
- ldr r0, _080805B0
- ldr r1, [r0]
- movs r0, 0x2
- strb r0, [r1, 0x2]
- b _0808060E
- .align 2, 0
-_080805A4: .4byte 0x00000193
-_080805A8: .4byte gUnknown_80F4F8A
-_080805AC: .4byte 0x00000215
-_080805B0: .4byte gUnknown_203B418
-_080805B4:
- ldr r0, _080805C0
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_80522A8
- b _08080600
- .align 2, 0
-_080805C0: .4byte gUnknown_80F9728
-_080805C4:
- ldr r0, _080805E4
- adds r1, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _080805EC
- ldr r0, _080805E8
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80522F4
- b _080805F6
- .align 2, 0
-_080805E4: .4byte gUnknown_202DF98
-_080805E8: .4byte gUnknown_80F970C
-_080805EC:
- ldr r0, _08080618
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_805239C
-_080805F6:
- ldr r1, _0808061C
- adds r0, r4, 0
- adds r2, r6, 0
- bl sub_8068FE0
-_08080600:
- mov r0, r8
- cmp r0, 0
- beq _0808060E
- adds r0, r7, 0
- movs r1, 0x5
- bl sub_8080B00
-_0808060E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080618: .4byte gUnknown_80F970C
-_0808061C: .4byte 0x00000215
- thumb_func_end sub_8080504
-
- thumb_func_start sub_8080620
-sub_8080620:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp, 0x14]
- adds r7, r1, 0
- movs r0, 0x3
- bl sub_8084100
- adds r6, r0, 0
- adds r4, r6, 0x2
- movs r0, 0x8
- bl sub_8084100
- adds r5, r0, 0
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- bne _080806CA
- movs r0, 0
- mov r8, r0
- cmp r8, r4
- bge _080806BA
- mov r4, sp
- movs r1, 0
- mov r10, r1
- movs r2, 0
- mov r9, r2
- adds r6, 0x2
-_08080660:
- movs r0, 0
- bl sub_803D970
- movs r1, 0x7
- ands r5, r1
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0
- bl sub_806AA0C
- lsls r0, 24
- cmp r0, 0
- beq _080806B2
- mov r2, r9
- strh r2, [r4, 0x8]
- mov r0, r10
- strb r0, [r4, 0x2]
- ldr r0, _080806D8
- lsls r1, r5, 2
- adds r1, r0
- ldrh r0, [r1]
- ldrh r2, [r7]
- adds r0, r2
- strh r0, [r4, 0xC]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r7, 0x2]
- adds r0, r1
- strh r0, [r4, 0xE]
- mov r2, r9
- str r2, [sp, 0x4]
- mov r0, r10
- strb r0, [r4, 0x10]
- mov r0, sp
- movs r1, 0x1
- bl sub_806B7F8
- cmp r0, 0
- beq _080806B2
- movs r1, 0x1
- add r8, r1
-_080806B2:
- adds r5, 0x1
- subs r6, 0x1
- cmp r6, 0
- bne _08080660
-_080806BA:
- movs r1, 0xCA
- lsls r1, 1
- adds r0, r7, 0
- bl sub_80421EC
- mov r2, r8
- cmp r2, 0
- bne _080806E0
-_080806CA:
- ldr r0, _080806DC
- ldr r1, [r0]
- ldr r0, [sp, 0x14]
- bl sub_80522A8
- b _080806EA
- .align 2, 0
-_080806D8: .4byte gUnknown_80F4448
-_080806DC: .4byte gUnknown_80FED04
-_080806E0:
- ldr r0, _080806FC
- ldr r1, [r0]
- ldr r0, [sp, 0x14]
- bl sub_80522A8
-_080806EA:
- 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
-_080806FC: .4byte gUnknown_80FED00
- thumb_func_end sub_8080620
-
- thumb_func_start sub_8080700
-sub_8080700:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- mov r8, r0
- adds r5, r1, 0
- movs r0, 0
- mov r12, r0
- cmp r5, 0
- beq _080807A4
- ldr r7, [r5, 0x70]
- movs r4, 0
- movs r3, 0
- mov r6, sp
-_0808071C:
- lsls r0, r3, 3
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r1
- adds r2, r7, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08080742
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- beq _08080742
- lsls r1, r4, 2
- stm r6!, {r2}
- add r0, sp, 0x10
- adds r0, r1
- str r3, [r0]
- adds r4, 0x1
-_08080742:
- adds r3, 0x1
- cmp r3, 0x3
- ble _0808071C
- cmp r4, 0
- beq _0808077A
- adds r0, r4, 0
- bl sub_8084100
- adds r4, r0, 0
- lsls r4, 2
- mov r0, sp
- adds r2, r0, r4
- ldr r1, [r2]
- movs r0, 0
- strb r0, [r1, 0x4]
- ldr r0, _08080790
- ldr r1, [r2]
- movs r2, 0
- bl sub_80928C0
- add r0, sp, 0x10
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_806A9B4
- movs r1, 0x1
- mov r12, r1
-_0808077A:
- mov r0, r12
- cmp r0, 0
- beq _08080798
- ldr r0, _08080794
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
- b _080807A4
- .align 2, 0
-_08080790: .4byte gUnknown_202DE58
-_08080794: .4byte gUnknown_80FDA80
-_08080798:
- ldr r0, _080807B0
- ldr r2, [r0]
- mov r0, r8
- adds r1, r5, 0
- bl sub_80522F4
-_080807A4:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080807B0: .4byte gUnknown_80FDAA0
- thumb_func_end sub_8080700
-
- thumb_func_start sub_80807B4
-sub_80807B4:
- push {lr}
- movs r2, 0
- bl sub_8079E34
- pop {r0}
- bx r0
- thumb_func_end sub_80807B4
-
- thumb_func_start sub_80807C0
-sub_80807C0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- mov r8, r0
- adds r7, r1, 0
- movs r0, 0
- mov r9, r0
- cmp r7, 0
- beq _08080870
- mov r0, r8
- movs r2, 0x1
- bl sub_80716E8
- lsls r0, 24
- cmp r0, 0
- bne _08080870
- ldr r0, [r7, 0x70]
- movs r5, 0
- movs r6, 0x1
- movs r1, 0x8C
- lsls r1, 1
- adds r2, r0, r1
- adds r3, r2, 0
- mov r12, sp
- movs r4, 0x3
-_080807F6:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08080816
- ldrb r1, [r2, 0x1]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08080816
- mov r0, r12
- adds r0, 0x4
- mov r12, r0
- subs r0, 0x4
- stm r0!, {r3}
- adds r5, 0x1
-_08080816:
- adds r2, 0x8
- adds r3, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _080807F6
- cmp r5, 0
- beq _08080848
- adds r0, r5, 0
- bl sub_8084100
- lsls r0, 2
- mov r1, sp
- adds r3, r1, r0
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r0, _0808085C
- ldr r1, [r3]
- movs r2, 0
- bl sub_80928C0
- movs r0, 0x1
- mov r9, r0
-_08080848:
- mov r1, r9
- cmp r1, 0
- beq _08080864
- ldr r0, _08080860
- ldr r2, [r0]
- mov r0, r8
- adds r1, r7, 0
- bl sub_80522F4
- b _08080870
- .align 2, 0
-_0808085C: .4byte gUnknown_202DE58
-_08080860: .4byte gUnknown_80FDB04
-_08080864:
- ldr r0, _08080880
- ldr r2, [r0]
- mov r0, r8
- adds r1, r7, 0
- bl sub_80522F4
-_08080870:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080880: .4byte gUnknown_80FDB2C
- thumb_func_end sub_80807C0
-
- thumb_func_start sub_8080884
-sub_8080884:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _0808089E
- movs r0, 0x8
- bl sub_8084100
- adds r2, r0, 0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_807CD9C
-_0808089E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8080884
-
- thumb_func_start sub_80808A4
-sub_80808A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- str r0, [sp, 0x14]
- adds r5, r1, 0
- movs r0, 0
- str r0, [sp, 0x20]
- ldr r6, _080808D0
- ldr r0, [r6]
- ldr r1, _080808D4
- adds r0, r1
- ldrb r4, [r0]
- bl sub_80441BC
- lsls r0, 24
- cmp r0, 0
- beq _080808DC
- ldr r0, _080808D8
- b _08080A2E
- .align 2, 0
-_080808D0: .4byte gUnknown_203B418
-_080808D4: .4byte 0x00018209
-_080808D8: .4byte gUnknown_80FED08
-_080808DC:
- cmp r4, 0
- bne _080808E2
- movs r4, 0x2
-_080808E2:
- movs r2, 0
- ldrsh r0, [r5, r2]
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- cmp r1, 0xFF
- bne _0808090A
- movs r0, 0
- ldrsh r1, [r5, r0]
- subs r2, r1, r4
- str r2, [sp, 0x18]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- subs r2, r0, r4
- adds r1, r4
- mov r10, r1
- adds r0, r4
- b _08080934
-_0808090A:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _08080994
- adds r0, r1
- ldr r1, [r6]
- adds r1, r0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r0, 0x1
- str r0, [sp, 0x18]
- movs r3, 0x4
- ldrsh r0, [r1, r3]
- subs r2, r0, 0x1
- movs r3, 0x6
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- mov r10, r0
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- adds r0, 0x1
-_08080934:
- str r0, [sp, 0x1C]
- adds r7, r2, 0
- ldr r0, [sp, 0x1C]
- cmp r7, r0
- bgt _08080A26
-_0808093E:
- ldr r6, [sp, 0x18]
- adds r1, r7, 0x1
- str r1, [sp, 0x24]
- cmp r6, r10
- bgt _08080A1E
- mov r5, sp
-_0808094A:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_804954C
- adds r4, r0, 0
- ldr r0, [r4, 0x14]
- adds r2, r6, 0x1
- mov r9, r2
- cmp r0, 0
- beq _08080A18
- bl sub_80450F8
- cmp r0, 0x3
- bne _08080A18
- ldr r0, [r4, 0x14]
- bl sub_8045108
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08080A18
- movs r0, 0xBE
- lsls r0, 1
- strh r0, [r5]
- movs r2, 0
- mov r4, sp
-_08080980:
- ldr r0, _08080998
- ldr r0, [r0]
- ldr r3, _0808099C
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080809A0
- movs r0, 0xBE
- lsls r0, 1
- b _080809AE
- .align 2, 0
-_08080994: .4byte 0x000104c4
-_08080998: .4byte gUnknown_203B418
-_0808099C: .4byte 0x0000066e
-_080809A0:
- movs r0, 0
- str r2, [sp, 0x28]
- bl sub_803D970
- lsls r0, 16
- asrs r0, 16
- ldr r2, [sp, 0x28]
-_080809AE:
- movs r1, 0
- mov r8, r1
- movs r3, 0
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0
- str r2, [sp, 0x28]
- str r3, [sp, 0x2C]
- bl sub_806AA0C
- lsls r0, 24
- ldr r2, [sp, 0x28]
- ldr r3, [sp, 0x2C]
- cmp r0, 0
- bne _080809D4
- adds r2, 0x1
- cmp r2, 0x63
- ble _08080980
-_080809D4:
- movs r2, 0
- ldrsh r0, [r5, r2]
- movs r1, 0
- str r3, [sp, 0x2C]
- bl sub_806AA0C
- lsls r0, 24
- ldr r3, [sp, 0x2C]
- cmp r0, 0
- beq _08080A10
- strh r3, [r5, 0x8]
- mov r0, r8
- strb r0, [r5, 0x2]
- strh r6, [r5, 0xC]
- strh r7, [r5, 0xE]
- str r3, [sp, 0x4]
- strb r0, [r5, 0x10]
- mov r0, sp
- movs r1, 0x1
- bl sub_806B7F8
- cmp r0, 0
- beq _08080A10
- add r0, sp, 0xC
- movs r1, 0
- bl sub_80461C8
- ldr r1, [sp, 0x20]
- adds r1, 0x1
- str r1, [sp, 0x20]
-_08080A10:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80402AC
-_08080A18:
- mov r6, r9
- cmp r6, r10
- ble _0808094A
-_08080A1E:
- ldr r7, [sp, 0x24]
- ldr r2, [sp, 0x1C]
- cmp r7, r2
- ble _0808093E
-_08080A26:
- ldr r3, [sp, 0x20]
- cmp r3, 0
- beq _08080A3C
- ldr r0, _08080A38
-_08080A2E:
- ldr r1, [r0]
- ldr r0, [sp, 0x14]
- bl sub_80522A8
- b _08080A46
- .align 2, 0
-_08080A38: .4byte gUnknown_80FDACC
-_08080A3C:
- ldr r0, _08080A58
- ldr r1, [r0]
- ldr r0, [sp, 0x14]
- bl sub_80522A8
-_08080A46:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080A58: .4byte gUnknown_80FDAE4
- thumb_func_end sub_80808A4
-
- thumb_func_start sub_8080A5C
-sub_8080A5C:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r7, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _08080AEC
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x8
- bl sub_806CDD4
- movs r0, 0x10
- movs r1, 0x55
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_806CE68
- ldr r5, [r4, 0x70]
- adds r2, r5, 0
- adds r2, 0x60
- ldrb r1, [r2]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08080AEC
- ldr r0, [r5, 0x60]
- str r0, [sp, 0x8]
- movs r0, 0
- strb r0, [r2]
- bl sub_80910B4
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, 0
- bl sub_80421C0
- adds r0, r5, 0
- adds r0, 0x46
- ldrb r0, [r0]
- movs r2, 0x7
- ands r2, r0
- ldr r0, _08080AF4
- lsls r2, 2
- adds r2, r0
- ldrh r0, [r2]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _08080AF8
- ldr r1, [sp, 0x4]
- ands r1, r3
- orrs r1, r0
- str r1, [sp, 0x4]
- ldrh r0, [r2, 0x2]
- ldrh r2, [r4, 0x6]
- adds r0, r2
- lsls r0, 16
- ldr r2, _08080AFC
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0x4]
- adds r1, r4, 0x4
- add r3, sp, 0x8
- str r6, [sp]
- adds r0, r7, 0
- add r2, sp, 0x4
- bl sub_804687C
-_08080AEC:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080AF4: .4byte gUnknown_80F4448
-_08080AF8: .4byte 0xffff0000
-_08080AFC: .4byte 0x0000ffff
- thumb_func_end sub_8080A5C
-
- thumb_func_start sub_8080B00
-sub_8080B00:
- push {r4,r5,lr}
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, [r0, 0x14]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08080B2A
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _08080B26
- adds r0, r4, 0
- bl sub_8045104
- strb r5, [r0]
-_08080B26:
- bl sub_8049ED4
-_08080B2A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8080B00
-
- thumb_func_start sub_8080B30
-sub_8080B30:
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_8082F9C
- movs r0, 0
- str r0, [sp, 0xC]
- add r1, sp, 0xC
- mov r0, sp
- movs r2, 0x4
- bl sub_8082FA8
- mov r0, sp
- bl sub_8080B90
- mov r0, sp
- bl sub_8081454
- mov r0, sp
- bl sub_808165C
- mov r0, sp
- bl sub_808173C
- mov r0, sp
- bl sub_8080BBC
- mov r0, sp
- bl sub_8080C44
- mov r0, sp
- bl sub_8080CF0
- ldr r1, _08080B8C
- mov r0, sp
- bl sub_808300C
- mov r0, sp
- bl nullsub_98
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_08080B8C: .4byte gUnknown_81071D4
- thumb_func_end sub_8080B30
-
- thumb_func_start sub_8080B90
-sub_8080B90:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08080BB0
- bl sub_808300C
- ldr r0, _08080BB4
- ldr r1, [r0]
- ldr r0, _08080BB8
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0x58
- bl sub_8082FA8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08080BB0: .4byte gUnknown_81071E0
-_08080BB4: .4byte gUnknown_203B418
-_08080BB8: .4byte 0x00000644
- thumb_func_end sub_8080B90
-
- thumb_func_start sub_8080BBC
-sub_8080BBC:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- ldr r1, _08080C38
- movs r2, 0
- add r0, sp, 0x4
-_08080BC8:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _08080BC8
- adds r0, r6, 0
- bl sub_808300C
- movs r7, 0
-_08080BD8:
- ldr r0, _08080C3C
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08080C40
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- movs r5, 0
- cmp r4, 0
- beq _08080C1A
- adds r0, r4, 0
- bl sub_80450F8
- cmp r0, 0x3
- bne _08080C1A
- adds r0, r4, 0
- bl sub_8045108
- adds r1, r0, 0
- adds r0, r6, 0
- bl sub_8081788
- adds r1, r4, 0x4
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0x6
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8082FA8
- movs r5, 0x1
-_08080C1A:
- cmp r5, 0
- bne _08080C28
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x5
- bl sub_8082FA8
-_08080C28:
- adds r7, 0x1
- cmp r7, 0x3F
- ble _08080BD8
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080C38: .4byte gUnknown_81071E0
-_08080C3C: .4byte gUnknown_203B418
-_08080C40: .4byte 0x0001361c
- thumb_func_end sub_8080BBC
-
- thumb_func_start sub_8080C44
-sub_8080C44:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- movs r7, 0
- ldr r3, _08080CE4
- movs r2, 0xFF
-_08080C50:
- mov r0, sp
- adds r1, r0, r7
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- adds r7, 0x1
- cmp r7, 0x4
- ble _08080C50
- adds r0, r6, 0
- adds r1, r3, 0
- bl sub_808300C
- movs r7, 0
-_08080C6A:
- ldr r0, _08080CE8
- ldr r0, [r0]
- lsls r1, r7, 2
- ldr r2, _08080CEC
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- movs r4, 0
- cmp r5, 0
- beq _08080CC8
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x2
- bne _08080CC8
- adds r0, r5, 0
- bl sub_8045104
- adds r4, r0, 0
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r4, 0x1
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r5, 0
- adds r1, 0x20
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r5, 0x4
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r5, 0x6
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8082FA8
- movs r4, 0x1
-_08080CC8:
- cmp r4, 0
- bne _08080CD6
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x5
- bl sub_8082FA8
-_08080CD6:
- adds r7, 0x1
- cmp r7, 0x3F
- ble _08080C6A
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08080CE4: .4byte gUnknown_81071E0
-_08080CE8: .4byte gUnknown_203B418
-_08080CEC: .4byte 0x0001371c
- thumb_func_end sub_8080C44
-
- thumb_func_start sub_8080CF0
-sub_8080CF0:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r1, _08080DD4
- bl sub_808300C
- ldr r4, _08080DD8
- ldr r0, [r4]
- ldr r1, _08080DDC
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_8083078
- ldr r0, [r4]
- ldr r2, _08080DE0
- adds r0, r2
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_8083078
- ldr r0, [r4]
- ldr r1, _08080DE4
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r2, _08080DE8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08080DEC
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r2, _08080DF0
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08080DF4
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r2, _08080DF8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08080DFC
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r2, _08080E00
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80830B4
- ldr r0, [r4]
- movs r1, 0xE0
- lsls r1, 6
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r6, 0
- bl sub_8083030
- movs r5, 0
-_08080D9A:
- ldr r0, [r4]
- lsls r1, r5, 2
- ldr r2, _08080E04
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_8080E0C
- adds r5, 0x1
- cmp r5, 0x3
- ble _08080D9A
- movs r5, 0
- ldr r4, _08080DD8
-_08080DB6:
- ldr r0, [r4]
- lsls r1, r5, 2
- ldr r2, _08080E08
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl sub_8080E0C
- adds r5, 0x1
- cmp r5, 0xF
- ble _08080DB6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08080DD4: .4byte gUnknown_81071E0
-_08080DD8: .4byte gUnknown_203B418
-_08080DDC: .4byte 0x000037f0
-_08080DE0: .4byte 0x000037f4
-_08080DE4: .4byte 0x000037f8
-_08080DE8: .4byte 0x000037f9
-_08080DEC: .4byte 0x000037fa
-_08080DF0: .4byte 0x000037fb
-_08080DF4: .4byte 0x000037fc
-_08080DF8: .4byte 0x000037fd
-_08080DFC: .4byte 0x000037fe
-_08080E00: .4byte 0x000037ff
-_08080E04: .4byte 0x0001357c
-_08080E08: .4byte 0x0001358c
- thumb_func_end sub_8080CF0
-
- thumb_func_start sub_8080E0C
-sub_8080E0C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08080E88
- add sp, r4
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- add r0, sp, 0x20C
- str r1, [r0]
- movs r1, 0x1
- movs r6, 0x82
- lsls r6, 2
- mov r2, sp
- adds r0, r2, r6
- str r1, [r0]
- adds r0, r5, 0
- movs r1, 0xAA
- bl sub_8083060
- adds r0, r5, 0
- movs r1, 0x55
- bl sub_8083060
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08080E8C
- ldr r6, [r4, 0x70]
- add r1, sp, 0x208
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0x6
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0
- adds r1, 0x26
- adds r0, r5, 0
- movs r2, 0x2
- bl sub_8082FA8
- b _08080ECC
- .align 2, 0
-_08080E88: .4byte 0xfffffd6c
-_08080E8C:
- mov r0, sp
- movs r1, 0
- adds r2, r6, 0
- bl memset
- mov r6, sp
- add r4, sp, 0x20C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_8082FA8
-_08080ECC:
- ldrh r1, [r6]
- adds r0, r5, 0
- bl sub_8083030
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_80817F4
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- adds r0, r5, 0
- bl sub_80817F4
- ldrb r1, [r6, 0x6]
- adds r0, r5, 0
- bl sub_80830B4
- ldrb r1, [r6, 0x7]
- adds r0, r5, 0
- bl sub_80830B4
- ldrb r1, [r6, 0x8]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r6, 0x9]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r6, 0xA]
- adds r0, r5, 0
- bl sub_8083060
- adds r1, r6, 0
- adds r1, 0x40
- adds r0, r5, 0
- bl sub_80818C8
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_8083048
- movs r2, 0xE
- ldrsh r1, [r6, r2]
- adds r0, r5, 0
- bl sub_8083048
- movs r0, 0x10
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_8083048
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- adds r0, r5, 0
- bl sub_8083048
- ldrb r1, [r6, 0x14]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r6, 0x15]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r6, 0x16]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r6, 0x17]
- adds r0, r5, 0
- bl sub_8083060
- ldr r1, [r6, 0x18]
- adds r0, r5, 0
- bl sub_8083078
- movs r0, 0x1C
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_8083048
- movs r2, 0x1E
- ldrsh r1, [r6, r2]
- adds r0, r5, 0
- bl sub_8083048
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_8083048
- movs r2, 0x22
- ldrsh r1, [r6, r2]
- adds r0, r5, 0
- bl sub_8083048
- movs r0, 0x24
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_8083048
- movs r2, 0x26
- ldrsh r1, [r6, r2]
- adds r0, r5, 0
- bl sub_8083048
- movs r0, 0x28
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_8083048
- ldr r1, [r6, 0x2C]
- adds r0, r5, 0
- bl sub_80830A0
- ldr r1, [r6, 0x30]
- adds r0, r5, 0
- bl sub_80830A0
- ldr r1, [r6, 0x34]
- adds r0, r5, 0
- bl sub_80830A0
- ldr r1, [r6, 0x38]
- adds r0, r5, 0
- bl sub_80830A0
- adds r1, r6, 0
- adds r1, 0x44
- adds r0, r5, 0
- bl sub_80817C8
- adds r0, r6, 0
- adds r0, 0x5C
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_808180C
- adds r0, r6, 0
- adds r0, 0x5D
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_808180C
- adds r0, r6, 0
- adds r0, 0x5E
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8081824
- adds r0, r6, 0
- adds r0, 0x5F
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8081824
- adds r1, r6, 0
- adds r1, 0x60
- adds r0, r5, 0
- bl sub_8081788
- adds r0, r6, 0
- adds r0, 0x64
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80817B0
- movs r1, 0x78
- adds r1, r6
- mov r8, r1
- movs r2, 0x8C
- adds r2, r6
- mov r9, r2
- movs r0, 0x90
- adds r0, r6
- mov r10, r0
- adds r1, r6, 0
- adds r1, 0x94
- str r1, [sp, 0x214]
- adds r2, r6, 0
- adds r2, 0x3C
- str r2, [sp, 0x210]
- adds r0, r6, 0
- adds r0, 0x98
- str r0, [sp, 0x218]
- adds r1, 0x8
- str r1, [sp, 0x21C]
- adds r2, 0x64
- str r2, [sp, 0x220]
- adds r0, 0x10
- str r0, [sp, 0x228]
- adds r1, 0x10
- str r1, [sp, 0x22C]
- adds r2, 0x10
- str r2, [sp, 0x230]
- adds r0, 0x14
- str r0, [sp, 0x234]
- adds r1, 0x14
- str r1, [sp, 0x238]
- adds r2, 0x14
- str r2, [sp, 0x23C]
- adds r0, 0xC
- str r0, [sp, 0x240]
- adds r1, 0x10
- str r1, [sp, 0x244]
- adds r2, 0x18
- str r2, [sp, 0x248]
- adds r0, 0x18
- str r0, [sp, 0x24C]
- adds r1, 0x14
- str r1, [sp, 0x250]
- adds r2, 0xC
- str r2, [sp, 0x254]
- adds r0, 0xC
- str r0, [sp, 0x258]
- adds r1, 0xC
- str r1, [sp, 0x25C]
- adds r2, 0x9
- str r2, [sp, 0x260]
- adds r0, 0x6
- str r0, [sp, 0x264]
- adds r1, 0x3
- str r1, [sp, 0x268]
- adds r2, 0x3
- str r2, [sp, 0x26C]
- adds r0, 0x9
- str r0, [sp, 0x280]
- adds r1, 0x2
- str r1, [sp, 0x270]
- adds r2, 0x2
- str r2, [sp, 0x274]
- subs r0, 0x4
- str r0, [sp, 0x278]
- adds r1, 0x5
- str r1, [sp, 0x27C]
- adds r2, 0x6
- str r2, [sp, 0x284]
- adds r0, 0x6
- str r0, [sp, 0x288]
- adds r1, 0x4
- str r1, [sp, 0x28C]
- adds r2, 0x3
- str r2, [sp, 0x290]
- subs r0, 0x59
- str r0, [sp, 0x224]
- adds r4, r6, 0
- adds r4, 0x68
- movs r7, 0x3
-_080810C2:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80830D8
- adds r4, 0x4
- subs r7, 0x1
- cmp r7, 0
- bge _080810C2
- adds r0, r5, 0
- mov r1, r8
- bl sub_80818E4
- adds r0, r5, 0
- mov r1, r9
- bl sub_8081B54
- adds r0, r5, 0
- mov r1, r10
- bl sub_8081B54
- ldr r2, [sp, 0x214]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_8081880
- adds r0, r5, 0
- ldr r1, [sp, 0x210]
- bl sub_8081898
- ldr r0, [sp, 0x218]
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_8083078
- ldr r2, [sp, 0x21C]
- ldr r1, [r2]
- adds r0, r5, 0
- bl sub_8083078
- ldr r0, [sp, 0x220]
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_8083078
- adds r0, r5, 0
- ldr r1, [sp, 0x228]
- bl sub_8081920
- adds r0, r5, 0
- ldr r1, [sp, 0x22C]
- bl sub_808193C
- adds r0, r5, 0
- ldr r1, [sp, 0x230]
- bl sub_8081968
- adds r0, r5, 0
- ldr r1, [sp, 0x234]
- bl sub_8081994
- adds r0, r5, 0
- ldr r1, [sp, 0x238]
- bl sub_80819B0
- adds r0, r5, 0
- ldr r1, [sp, 0x23C]
- bl sub_80819D4
- adds r0, r5, 0
- ldr r1, [sp, 0x240]
- bl sub_80819F0
- adds r0, r5, 0
- ldr r1, [sp, 0x244]
- bl sub_8081A24
- adds r0, r5, 0
- ldr r1, [sp, 0x248]
- bl sub_8081A58
- adds r0, r5, 0
- ldr r1, [sp, 0x24C]
- bl sub_8081A74
- adds r0, r5, 0
- ldr r1, [sp, 0x250]
- bl sub_8081A80
- adds r0, r5, 0
- ldr r1, [sp, 0x254]
- bl sub_8081A9C
- adds r0, r5, 0
- ldr r1, [sp, 0x258]
- bl sub_8081AB8
- ldr r2, [sp, 0x25C]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [sp, 0x260]
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r2, [sp, 0x264]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [sp, 0x268]
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r2, [sp, 0x26C]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [sp, 0x280]
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r2, [sp, 0x270]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [sp, 0x274]
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r2, [sp, 0x278]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [sp, 0x27C]
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r2, [sp, 0x284]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [sp, 0x288]
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r2, [sp, 0x28C]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_8083060
- ldr r0, [sp, 0x290]
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_808183C
- movs r1, 0x80
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8081854
- movs r2, 0x82
- lsls r2, 1
- adds r0, r6, r2
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_808186C
- movs r0, 0x84
- lsls r0, 1
- adds r1, r6, r0
- adds r0, r5, 0
- movs r2, 0x5
- bl sub_808314C
- ldr r2, _08081428
- adds r1, r6, r2
- adds r0, r5, 0
- movs r2, 0x5
- bl sub_808314C
- movs r1, 0x89
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r2, _0808142C
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- movs r1, 0x8A
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- movs r2, 0x8C
- lsls r2, 1
- adds r1, r6, r2
- adds r0, r5, 0
- bl sub_8081B08
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r6, r0
- adds r0, r5, 0
- bl sub_8081B34
- movs r2, 0xA0
- lsls r2, 1
- adds r1, r6, r2
- adds r0, r5, 0
- bl sub_8081B34
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r2, _08081430
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r1, _08081434
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- movs r2, 0xA3
- lsls r2, 1
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r2, _08081438
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- movs r1, 0xA5
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r2, _0808143C
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- movs r2, 0xA7
- lsls r2, 1
- adds r0, r6, r2
- ldrh r1, [r0]
- adds r0, r5, 0
- bl sub_8083030
- movs r1, 0xA8
- lsls r1, 1
- adds r0, r6, r1
- ldrh r1, [r0]
- adds r0, r5, 0
- bl sub_8083030
- movs r2, 0xA9
- lsls r2, 1
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r1, _08081440
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r1, _08081444
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- movs r2, 0xAB
- lsls r2, 1
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r2, _08081448
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- movs r1, 0xB3
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r2, _0808144C
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r2, _08081450
- adds r0, r6, r2
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- movs r0, 0xB6
- lsls r0, 1
- adds r1, r6, r0
- adds r0, r5, 0
- bl sub_80830D8
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r6, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80830A0
- movs r2, 0xBC
- lsls r2, 1
- adds r0, r6, r2
- ldrh r1, [r0]
- adds r0, r5, 0
- bl sub_8083030
- movs r1, 0xFC
- lsls r1, 1
- adds r0, r6, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r5, 0
- bl sub_8083048
- movs r1, 0xFD
- lsls r1, 1
- adds r0, r6, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r5, 0
- bl sub_8083048
- movs r1, 0xFE
- lsls r1, 1
- adds r0, r6, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_8083078
- ldr r2, [sp, 0x224]
- ldrb r1, [r2]
- adds r0, r5, 0
- bl sub_80818B8
- movs r3, 0xA5
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08081428: .4byte 0x0000010d
-_0808142C: .4byte 0x00000113
-_08081430: .4byte 0x00000145
-_08081434: .4byte 0x00000147
-_08081438: .4byte 0x00000149
-_0808143C: .4byte 0x0000014b
-_08081440: .4byte 0x00000153
-_08081444: .4byte 0x00000155
-_08081448: .4byte 0x00000165
-_0808144C: .4byte 0x00000167
-_08081450: .4byte 0x00000169
- thumb_func_end sub_8080E0C
-
- thumb_func_start sub_8081454
-sub_8081454:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldr r1, _08081600
- bl sub_808300C
- ldr r4, _08081604
- ldr r0, [r4]
- ldr r1, _08081608
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r2, _0808160C
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081610
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r2, _08081614
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081618
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_8083060
- ldr r0, [r4]
- ldr r2, _0808161C
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_8083060
- ldr r0, [r4]
- ldr r1, _08081620
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_8083048
- ldr r0, [r4]
- ldr r1, _08081624
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_8083048
- ldr r0, [r4]
- ldr r1, _08081628
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_8083048
- ldr r0, [r4]
- ldr r1, _0808162C
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_8083048
- ldr r0, [r4]
- ldr r1, _08081630
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r7, 0
- bl sub_8083048
- movs r1, 0
- mov r9, r4
-_08081510:
- lsls r0, r1, 2
- adds r2, r1, 0x1
- mov r8, r2
- adds r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 6
- ldr r1, _08081634
- adds r6, r0, r1
- movs r5, 0
- movs r4, 0x37
-_08081526:
- mov r2, r9
- ldr r1, [r2]
- adds r1, r6
- adds r1, r5
- adds r0, r7, 0
- bl sub_8081B60
- adds r5, 0x18
- subs r4, 0x1
- cmp r4, 0
- bge _08081526
- mov r1, r8
- cmp r1, 0x1F
- ble _08081510
- ldr r4, _08081604
- ldr r1, [r4]
- ldr r0, _08081638
- adds r1, r0
- adds r0, r7, 0
- bl sub_80830D8
- ldr r1, [r4]
- ldr r2, _0808163C
- adds r1, r2
- adds r0, r7, 0
- bl sub_80830D8
- ldr r6, _08081640
- movs r5, 0x7
-_08081560:
- ldr r1, [r4]
- adds r1, r6
- adds r0, r7, 0
- bl sub_80830D8
- adds r6, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08081560
- ldr r4, _08081604
- ldr r1, [r4]
- ldr r0, _08081644
- adds r1, r0
- adds r0, r7, 0
- bl sub_80830F8
- ldr r1, [r4]
- ldr r2, _08081648
- adds r1, r2
- adds r0, r7, 0
- bl sub_80830F8
- ldr r1, [r4]
- ldr r0, _0808164C
- adds r1, r0
- adds r0, r7, 0
- bl sub_808312C
- movs r1, 0
- mov r10, r4
-_0808159C:
- movs r4, 0
- adds r2, r1, 0x1
- mov r8, r2
- lsls r0, r1, 1
- lsls r2, r1, 3
- mov r9, r2
- adds r0, r1
- lsls r0, 6
- ldr r1, _08081650
- adds r6, r0, r1
- movs r5, 0
-_080815B2:
- mov r2, r10
- ldr r1, [r2]
- adds r1, r6
- adds r1, r5
- adds r0, r7, 0
- bl sub_8081B60
- mov r1, r10
- ldr r0, [r1]
- mov r2, r9
- adds r1, r4, r2
- ldr r2, _08081654
- adds r0, r2
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r7, 0
- bl sub_8083060
- adds r5, 0x18
- adds r4, 0x1
- cmp r4, 0x7
- ble _080815B2
- mov r1, r8
- cmp r1, 0x7
- ble _0808159C
- ldr r0, _08081604
- ldr r1, [r0]
- ldr r0, _08081658
- adds r1, r0
- adds r0, r7, 0
- bl sub_8081B94
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08081600: .4byte gUnknown_81071E0
-_08081604: .4byte gUnknown_203B418
-_08081608: .4byte 0x00003a08
-_0808160C: .4byte 0x00003a09
-_08081610: .4byte 0x00003a0a
-_08081614: .4byte 0x00003a0b
-_08081618: .4byte 0x00003a0c
-_0808161C: .4byte 0x00003a0d
-_08081620: .4byte 0x00003a0e
-_08081624: .4byte 0x00003a10
-_08081628: .4byte 0x00003a12
-_0808162C: .4byte 0x00003a14
-_08081630: .4byte 0x00003a16
-_08081634: .4byte 0x00003a18
-_08081638: .4byte 0x0000e218
-_0808163C: .4byte 0x0000e21c
-_08081640: .4byte 0x0000e220
-_08081644: .4byte 0x0000e240
-_08081648: .4byte 0x0000e250
-_0808164C: .4byte 0x0000e260
-_08081650: .4byte 0x0000e27c
-_08081654: .4byte 0x0000e87c
-_08081658: .4byte 0x0000e264
- thumb_func_end sub_8081454
-
- thumb_func_start sub_808165C
-sub_808165C:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, _08081708
- bl sub_808300C
- ldr r4, _0808170C
- ldr r0, [r4]
- ldr r1, _08081710
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r0, [r4]
- ldr r1, _08081714
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_8083060
- ldr r0, [r4]
- ldr r1, _08081718
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _0808171C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081720
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081724
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081728
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _0808172C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081730
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081734
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- ldr r0, [r4]
- ldr r1, _08081738
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80830B4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081708: .4byte gUnknown_81071E0
-_0808170C: .4byte gUnknown_203B418
-_08081710: .4byte 0x00018208
-_08081714: .4byte 0x00018209
-_08081718: .4byte 0x0001820a
-_0808171C: .4byte 0x0001820b
-_08081720: .4byte 0x0001820c
-_08081724: .4byte 0x0001820d
-_08081728: .4byte 0x0001820e
-_0808172C: .4byte 0x0001820f
-_08081730: .4byte 0x00018210
-_08081734: .4byte 0x00018211
-_08081738: .4byte 0x00018213
- thumb_func_end sub_808165C
-
- thumb_func_start sub_808173C
-sub_808173C:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _08081778
- ldr r0, [r4]
- ldr r1, _0808177C
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r5, 0
- bl sub_8083048
- ldr r0, [r4]
- ldr r1, _08081780
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r5, 0
- bl sub_8083048
- ldr r0, [r4]
- ldr r1, _08081784
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r5, 0
- bl sub_8083048
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081778: .4byte gUnknown_203B418
-_0808177C: .4byte 0x0001ced6
-_08081780: .4byte 0x0001ced8
-_08081784: .4byte 0x0001ceda
- thumb_func_end sub_808173C
-
- thumb_func_start sub_8081788
-sub_8081788:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081788
-
- thumb_func_start sub_80817B0
-sub_80817B0:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80817B0
-
- thumb_func_start sub_80817C8
-sub_80817C8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r1, r4, 0x2
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r4, 0x16
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80817C8
-
- thumb_func_start sub_80817F4
-sub_80817F4:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strh r1, [r2]
- mov r1, sp
- movs r2, 0x2
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80817F4
-
- thumb_func_start sub_808180C
-sub_808180C:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_808180C
-
- thumb_func_start sub_8081824
-sub_8081824:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8081824
-
- thumb_func_start sub_808183C
-sub_808183C:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_808183C
-
- thumb_func_start sub_8081854
-sub_8081854:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8081854
-
- thumb_func_start sub_808186C
-sub_808186C:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_808186C
-
- thumb_func_start sub_8081880
-sub_8081880:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8081880
-
- thumb_func_start sub_8081898
-sub_8081898:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_8083048
- ldrb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_808180C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081898
-
- thumb_func_start sub_80818B8
-sub_80818B8:
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl sub_8083060
- pop {r0}
- bx r0
- thumb_func_end sub_80818B8
-
- thumb_func_start sub_80818C8
-sub_80818C8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- bl sub_8083060
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80818C8
-
- thumb_func_start sub_80818E4
-sub_80818E4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_80830B4
- ldrb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_80830B4
- ldrb r1, [r4, 0x3]
- adds r0, r5, 0
- bl sub_80830B4
- ldrh r1, [r4, 0x4]
- adds r0, r5, 0
- bl sub_8083030
- adds r4, 0x10
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80830D8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80818E4
-
- thumb_func_start sub_8081920
-sub_8081920:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081920
-
- thumb_func_start sub_808193C
-sub_808193C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0x3]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808193C
-
- thumb_func_start sub_8081968
-sub_8081968:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x8]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0x9]
- adds r0, r5, 0
- bl sub_8083060
- ldr r1, [r4, 0x4]
- adds r0, r5, 0
- bl sub_8083078
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081968
-
- thumb_func_start sub_8081994
-sub_8081994:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081994
-
- thumb_func_start sub_80819B0
-sub_80819B0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80819B0
-
- thumb_func_start sub_80819D4
-sub_80819D4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80819D4
-
- thumb_func_start sub_80819F0
-sub_80819F0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_80830B4
- ldrb r1, [r4, 0x2]
- adds r0, r5, 0
- bl sub_80830B4
- ldrb r1, [r4, 0x3]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80819F0
-
- thumb_func_start sub_8081A24
-sub_8081A24:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldr r1, [r4, 0x4]
- adds r0, r5, 0
- bl sub_8083078
- ldrb r1, [r4, 0x8]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0x9]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0xA]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081A24
-
- thumb_func_start sub_8081A58
-sub_8081A58:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081A58
-
- thumb_func_start sub_8081A74
-sub_8081A74:
- push {lr}
- movs r2, 0x1
- bl sub_8082FA8
- pop {r0}
- bx r0
- thumb_func_end sub_8081A74
-
- thumb_func_start sub_8081A80
-sub_8081A80:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081A80
-
- thumb_func_start sub_8081A9C
-sub_8081A9C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081A9C
-
- thumb_func_start sub_8081AB8
-sub_8081AB8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081AB8
-
- thumb_func_start sub_8081AD4
-sub_8081AD4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- bl sub_8083060
- ldrb r1, [r4, 0x1]
- adds r0, r5, 0
- bl sub_8083060
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x2
- bl sub_8082FA8
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl sub_8083060
- ldrb r1, [r4, 0x5]
- adds r0, r5, 0
- bl sub_8083060
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081AD4
-
- thumb_func_start sub_8081B08
-sub_8081B08:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_08081B12:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8081AD4
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08081B12
- adds r0, r7, 0
- adds r0, 0x20
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8083060
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8081B08
-
- thumb_func_start sub_8081B34
-sub_8081B34:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_8083048
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_8083048
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081B34
-
- thumb_func_start sub_8081B54
-sub_8081B54:
- push {lr}
- movs r2, 0x3
- bl sub_8082FA8
- pop {r0}
- bx r0
- thumb_func_end sub_8081B54
-
- thumb_func_start sub_8081B60
-sub_8081B60:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrh r1, [r4]
- bl sub_8083030
- ldrh r1, [r4, 0x4]
- adds r0, r5, 0
- bl sub_8083030
- adds r1, r4, 0
- adds r1, 0x9
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r4, 0xE
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8081B60
-
- thumb_func_start sub_8081B94
-sub_8081B94:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r5, 0x1
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8082FA8
- movs r4, 0
-_08081BAC:
- adds r0, r5, 0x3
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8083060
- adds r0, r5, 0
- adds r0, 0xB
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_8083060
- adds r4, 0x1
- cmp r4, 0x7
- ble _08081BAC
- ldrb r1, [r5, 0x2]
- adds r0, r6, 0
- bl sub_8083060
- ldrb r1, [r5, 0x13]
- adds r0, r6, 0
- bl sub_8083060
- ldrb r1, [r5, 0x14]
- adds r0, r6, 0
- bl sub_8083060
- ldrb r1, [r5, 0x15]
- adds r0, r6, 0
- bl sub_80830B4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8081B94
-
- thumb_func_start sub_8081BF4
-sub_8081BF4:
- push {lr}
- sub sp, 0x10
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_8082FD4
- add r1, sp, 0xC
- mov r0, sp
- movs r2, 0x4
- bl sub_8082FE0
- mov r0, sp
- bl sub_8081C50
- mov r0, sp
- bl sub_8081C7C
- mov r0, sp
- bl sub_8081F2C
- mov r0, sp
- bl sub_808201C
- mov r0, sp
- bl sub_8082060
- mov r0, sp
- bl sub_80820D8
- mov r0, sp
- bl sub_808217C
- ldr r1, _08081C4C
- mov r0, sp
- bl sub_8083018
- mov r0, sp
- bl nullsub_98
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_08081C4C: .4byte gUnknown_81071D4
- thumb_func_end sub_8081BF4
-
- thumb_func_start sub_8081C50
-sub_8081C50:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08081C70
- bl sub_8083018
- ldr r0, _08081C74
- ldr r1, [r0]
- ldr r0, _08081C78
- adds r1, r0
- adds r0, r4, 0
- movs r2, 0x58
- bl sub_8082FE0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08081C70: .4byte gUnknown_81071E0
-_08081C74: .4byte gUnknown_203B418
-_08081C78: .4byte 0x00000644
- thumb_func_end sub_8081C50
-
- thumb_func_start sub_8081C7C
-sub_8081C7C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldr r1, _08081E20
- bl sub_8083018
- adds r0, r7, 0
- bl sub_80831DC
- ldr r4, _08081E24
- ldr r1, [r4]
- ldr r2, _08081E28
- adds r1, r2
- strb r0, [r1]
- adds r0, r7, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r3, _08081E2C
- adds r1, r3
- strb r0, [r1]
- adds r0, r7, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08081E30
- adds r1, r2
- strb r0, [r1]
- adds r0, r7, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r3, _08081E34
- adds r1, r3
- strb r0, [r1]
- adds r0, r7, 0
- bl sub_8083188
- ldr r1, [r4]
- ldr r2, _08081E38
- adds r1, r2
- strb r0, [r1]
- adds r0, r7, 0
- bl sub_8083188
- ldr r1, [r4]
- ldr r3, _08081E3C
- adds r1, r3
- strb r0, [r1]
- adds r0, r7, 0
- bl sub_8083170
- ldr r1, [r4]
- ldr r2, _08081E40
- adds r1, r2
- strh r0, [r1]
- adds r0, r7, 0
- bl sub_8083170
- ldr r1, [r4]
- ldr r3, _08081E44
- adds r1, r3
- strh r0, [r1]
- adds r0, r7, 0
- bl sub_8083170
- ldr r1, [r4]
- ldr r2, _08081E48
- adds r1, r2
- strh r0, [r1]
- adds r0, r7, 0
- bl sub_8083170
- ldr r1, [r4]
- ldr r3, _08081E4C
- adds r1, r3
- strh r0, [r1]
- adds r0, r7, 0
- bl sub_8083170
- ldr r1, [r4]
- ldr r2, _08081E50
- adds r1, r2
- strh r0, [r1]
- movs r1, 0
- mov r9, r4
-_08081D2E:
- lsls r0, r1, 2
- adds r3, r1, 0x1
- mov r8, r3
- adds r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 6
- ldr r1, _08081E54
- adds r6, r0, r1
- movs r5, 0
- movs r4, 0x37
-_08081D44:
- mov r2, r9
- ldr r1, [r2]
- adds r1, r6
- adds r1, r5
- adds r0, r7, 0
- bl sub_8081E7C
- adds r5, 0x18
- subs r4, 0x1
- cmp r4, 0
- bge _08081D44
- mov r1, r8
- cmp r1, 0x1F
- ble _08081D2E
- ldr r4, _08081E24
- ldr r1, [r4]
- ldr r3, _08081E58
- adds r1, r3
- adds r0, r7, 0
- bl sub_80831F8
- ldr r1, [r4]
- ldr r0, _08081E5C
- adds r1, r0
- adds r0, r7, 0
- bl sub_80831F8
- ldr r6, _08081E60
- movs r5, 0x7
-_08081D7E:
- ldr r1, [r4]
- adds r1, r6
- adds r0, r7, 0
- bl sub_80831F8
- adds r6, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08081D7E
- ldr r4, _08081E24
- ldr r1, [r4]
- ldr r2, _08081E64
- adds r1, r2
- adds r0, r7, 0
- bl sub_8083220
- ldr r1, [r4]
- ldr r3, _08081E68
- adds r1, r3
- adds r0, r7, 0
- bl sub_8083220
- ldr r1, [r4]
- ldr r0, _08081E6C
- adds r1, r0
- adds r0, r7, 0
- bl sub_8083260
- movs r1, 0
- mov r10, r4
-_08081DBA:
- movs r4, 0
- adds r2, r1, 0x1
- mov r8, r2
- lsls r0, r1, 1
- lsls r3, r1, 3
- mov r9, r3
- adds r0, r1
- lsls r0, 6
- ldr r1, _08081E70
- adds r6, r0, r1
- movs r5, 0
-_08081DD0:
- mov r2, r10
- ldr r1, [r2]
- adds r1, r6
- adds r1, r5
- adds r0, r7, 0
- bl sub_8081E7C
- adds r0, r7, 0
- bl sub_8083188
- mov r3, r10
- ldr r1, [r3]
- mov r3, r9
- adds r2, r4, r3
- ldr r3, _08081E74
- adds r1, r3
- adds r1, r2
- strb r0, [r1]
- adds r5, 0x18
- adds r4, 0x1
- cmp r4, 0x7
- ble _08081DD0
- mov r1, r8
- cmp r1, 0x7
- ble _08081DBA
- ldr r0, _08081E24
- ldr r1, [r0]
- ldr r0, _08081E78
- adds r1, r0
- adds r0, r7, 0
- bl sub_8081EC0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08081E20: .4byte gUnknown_81071E0
-_08081E24: .4byte gUnknown_203B418
-_08081E28: .4byte 0x00003a08
-_08081E2C: .4byte 0x00003a09
-_08081E30: .4byte 0x00003a0a
-_08081E34: .4byte 0x00003a0b
-_08081E38: .4byte 0x00003a0c
-_08081E3C: .4byte 0x00003a0d
-_08081E40: .4byte 0x00003a0e
-_08081E44: .4byte 0x00003a10
-_08081E48: .4byte 0x00003a12
-_08081E4C: .4byte 0x00003a14
-_08081E50: .4byte 0x00003a16
-_08081E54: .4byte 0x00003a18
-_08081E58: .4byte 0x0000e218
-_08081E5C: .4byte 0x0000e21c
-_08081E60: .4byte 0x0000e220
-_08081E64: .4byte 0x0000e240
-_08081E68: .4byte 0x0000e250
-_08081E6C: .4byte 0x0000e260
-_08081E70: .4byte 0x0000e27c
-_08081E74: .4byte 0x0000e87c
-_08081E78: .4byte 0x0000e264
- thumb_func_end sub_8081C7C
-
- thumb_func_start sub_8081E7C
-sub_8081E7C:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x18
- bl memset
- adds r0, r5, 0
- bl sub_8083158
- movs r6, 0
- strh r0, [r4]
- adds r0, r5, 0
- bl sub_8083158
- strh r0, [r4, 0x4]
- adds r1, r4, 0
- adds r1, 0x9
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r1, r4, 0
- adds r1, 0xE
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- str r6, [r4, 0x10]
- str r6, [r4, 0x14]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8081E7C
-
- thumb_func_start sub_8081EC0
-sub_8081EC0:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x18
- bl memset
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r1, r5, 0x1
- adds r0, r6, 0
- movs r2, 0x1
- bl sub_8082FE0
- movs r4, 0
-_08081EE6:
- adds r0, r6, 0
- bl sub_8083188
- adds r1, r5, 0x3
- adds r1, r4
- strb r0, [r1]
- adds r0, r6, 0
- bl sub_8083188
- adds r1, r5, 0
- adds r1, 0xB
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x7
- ble _08081EE6
- adds r0, r6, 0
- bl sub_8083188
- strb r0, [r5, 0x2]
- adds r0, r6, 0
- bl sub_8083188
- strb r0, [r5, 0x13]
- adds r0, r6, 0
- bl sub_8083188
- strb r0, [r5, 0x14]
- adds r0, r6, 0
- bl sub_80831DC
- strb r0, [r5, 0x15]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8081EC0
-
- thumb_func_start sub_8081F2C
-sub_8081F2C:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, _08081FE4
- bl sub_8083018
- ldr r4, _08081FE8
- ldr r0, [r4]
- ldr r1, _08081FEC
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, [r4]
- ldr r2, _08081FF0
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, [r4]
- ldr r2, _08081FF4
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08081FF8
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08081FFC
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082000
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082004
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082008
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _0808200C
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082010
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082014
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082018
- adds r1, r2
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08081FE4: .4byte gUnknown_81071E0
-_08081FE8: .4byte gUnknown_203B418
-_08081FEC: .4byte 0x000181f8
-_08081FF0: .4byte 0x00018208
-_08081FF4: .4byte 0x00018209
-_08081FF8: .4byte 0x0001820a
-_08081FFC: .4byte 0x0001820b
-_08082000: .4byte 0x0001820c
-_08082004: .4byte 0x0001820d
-_08082008: .4byte 0x0001820e
-_0808200C: .4byte 0x0001820f
-_08082010: .4byte 0x00018210
-_08082014: .4byte 0x00018211
-_08082018: .4byte 0x00018213
- thumb_func_end sub_8081F2C
-
- thumb_func_start sub_808201C
-sub_808201C:
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8083170
- ldr r4, _08082050
- ldr r1, [r4]
- ldr r2, _08082054
- adds r1, r2
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_8083170
- ldr r1, [r4]
- ldr r2, _08082058
- adds r1, r2
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_8083170
- ldr r1, [r4]
- ldr r2, _0808205C
- adds r1, r2
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08082050: .4byte gUnknown_203B418
-_08082054: .4byte 0x0001ced6
-_08082058: .4byte 0x0001ced8
-_0808205C: .4byte 0x0001ceda
- thumb_func_end sub_808201C
-
- thumb_func_start sub_8082060
-sub_8082060:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r1, _080820A4
- bl sub_8083018
- add r4, sp, 0x4
- mov r7, sp
- movs r6, 0x3F
-_08082072:
- adds r0, r5, 0
- mov r1, sp
- bl sub_80820A8
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80831F8
- ldrb r1, [r7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08082096
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0
- bl sub_80460F8
-_08082096:
- subs r6, 0x1
- cmp r6, 0
- bge _08082072
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080820A4: .4byte gUnknown_81071E0
- thumb_func_end sub_8082060
-
- thumb_func_start sub_80820A8
-sub_80820A8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r1, r4, 0x1
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FE0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80820A8
-
- thumb_func_start sub_80820D8
-sub_80820D8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r1, _08082178
- bl sub_8083018
- movs r0, 0x1
- add r0, sp
- mov r9, r0
- add r1, sp, 0x4
- mov r8, r1
- mov r7, sp
- movs r2, 0x3F
- mov r10, r2
-_080820FC:
- movs r0, 0x6
- strb r0, [r7]
- movs r0, 0
- mov r3, sp
- strb r0, [r3, 0x1]
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r5, 0
- mov r1, sp
- adds r1, 0x1
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r5, 0
- bl sub_80831DC
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- add r1, sp, 0x4
- bl sub_80831F8
- ldrb r0, [r7]
- cmp r0, 0xFF
- beq _0808215C
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- mov r3, sp
- movs r2, 0x6
- ldrsh r1, [r3, r2]
- bl sub_8049590
- adds r4, r0, 0
- ldrb r0, [r7]
- mov r3, r9
- ldrb r2, [r3]
- mov r1, r8
- bl sub_8045684
- cmp r0, 0
- beq _0808215C
- str r0, [r4, 0x14]
- adds r0, 0x20
- strb r6, [r0]
-_0808215C:
- movs r0, 0x1
- negs r0, r0
- add r10, r0
- mov r1, r10
- cmp r1, 0
- bge _080820FC
- 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
-_08082178: .4byte gUnknown_81071E0
- thumb_func_end sub_80820D8
-
- thumb_func_start sub_808217C
-sub_808217C:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, _08082250
- bl sub_8083018
- adds r0, r5, 0
- bl sub_80831A0
- ldr r4, _08082254
- ldr r1, [r4]
- ldr r2, _08082258
- adds r1, r2
- str r0, [r1]
- adds r0, r5, 0
- bl sub_80831A0
- ldr r1, [r4]
- ldr r2, _0808225C
- adds r1, r2
- str r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082260
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082264
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082268
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _0808226C
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082270
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082274
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _08082278
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [r4]
- ldr r2, _0808227C
- adds r1, r2
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083158
- ldr r1, [r4]
- movs r2, 0xE0
- lsls r2, 6
- adds r1, r2
- strh r0, [r1]
- movs r4, 0
-_08082226:
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_8082280
- adds r4, 0x1
- cmp r4, 0x3
- ble _08082226
- movs r4, 0
-_08082238:
- adds r0, r5, 0
- movs r1, 0
- adds r2, r4, 0
- bl sub_8082280
- adds r4, 0x1
- cmp r4, 0xF
- ble _08082238
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08082250: .4byte gUnknown_81071E0
-_08082254: .4byte gUnknown_203B418
-_08082258: .4byte 0x000037f0
-_0808225C: .4byte 0x000037f4
-_08082260: .4byte 0x000037f8
-_08082264: .4byte 0x000037f9
-_08082268: .4byte 0x000037fa
-_0808226C: .4byte 0x000037fb
-_08082270: .4byte 0x000037fc
-_08082274: .4byte 0x000037fd
-_08082278: .4byte 0x000037fe
-_0808227C: .4byte 0x000037ff
- thumb_func_end sub_808217C
-
- thumb_func_start sub_8082280
-sub_8082280:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _0808266C
- add sp, r4
- adds r5, r0, 0
- str r2, [sp, 0x210]
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x20C]
- movs r2, 0x82
- lsls r2, 2
- mov r0, sp
- movs r1, 0
- bl memset
- adds r0, r5, 0
- bl sub_8083188
- adds r0, r5, 0
- bl sub_8083188
- adds r0, r5, 0
- bl sub_8083188
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x214]
- add r4, sp, 0x208
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80831F8
- adds r0, r5, 0
- bl sub_80831DC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x218]
- adds r0, r5, 0
- bl sub_8083158
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x21C]
- ldr r1, _08082670
- movs r0, 0
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8083158
- mov r1, sp
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_8082BC0
- mov r1, sp
- strh r0, [r1, 0x4]
- adds r0, r5, 0
- bl sub_8082BC0
- mov r1, sp
- strh r0, [r1, 0x2]
- adds r0, r5, 0
- bl sub_80831DC
- mov r1, sp
- strb r0, [r1, 0x6]
- adds r0, r5, 0
- bl sub_80831DC
- mov r1, sp
- strb r0, [r1, 0x7]
- adds r0, r5, 0
- bl sub_8083188
- mov r1, sp
- strb r0, [r1, 0x8]
- adds r0, r5, 0
- bl sub_8083188
- mov r1, sp
- strb r0, [r1, 0x9]
- adds r0, r5, 0
- bl sub_8083188
- mov r1, sp
- strb r0, [r1, 0xA]
- add r1, sp, 0x40
- adds r0, r5, 0
- bl sub_8082F64
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0xC]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0xE]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x10]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x12]
- adds r0, r5, 0
- bl sub_8083188
- mov r1, sp
- strb r0, [r1, 0x14]
- adds r0, r5, 0
- bl sub_8083188
- mov r1, sp
- strb r0, [r1, 0x15]
- adds r0, r5, 0
- bl sub_8083188
- mov r1, sp
- strb r0, [r1, 0x16]
- adds r0, r5, 0
- bl sub_8083188
- mov r1, sp
- strb r0, [r1, 0x17]
- adds r0, r5, 0
- bl sub_80831A0
- str r0, [sp, 0x18]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x1C]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x1E]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x20]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x22]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x24]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x26]
- adds r0, r5, 0
- bl sub_8083170
- mov r1, sp
- strh r0, [r1, 0x28]
- adds r0, r5, 0
- bl sub_80831C8
- str r0, [sp, 0x2C]
- adds r0, r5, 0
- bl sub_80831C8
- str r0, [sp, 0x30]
- adds r0, r5, 0
- bl sub_80831C8
- str r0, [sp, 0x34]
- adds r0, r5, 0
- bl sub_80831C8
- str r0, [sp, 0x38]
- add r1, sp, 0x44
- adds r0, r5, 0
- bl sub_8082CBC
- adds r0, r5, 0
- bl sub_8082BFC
- add r1, sp, 0x5C
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8082BFC
- mov r1, sp
- adds r1, 0x5D
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8082C18
- mov r1, sp
- adds r1, 0x5E
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8082C18
- mov r1, sp
- adds r1, 0x5F
- strb r0, [r1]
- add r1, sp, 0x60
- adds r0, r5, 0
- bl sub_80820A8
- adds r0, r5, 0
- bl sub_8082BE0
- add r1, sp, 0x64
- strb r0, [r1]
- add r7, sp, 0x78
- add r0, sp, 0x8C
- mov r8, r0
- add r1, sp, 0x90
- mov r9, r1
- add r2, sp, 0x94
- mov r10, r2
- mov r3, sp
- adds r3, 0x3C
- str r3, [sp, 0x270]
- mov r0, sp
- adds r0, 0x98
- str r0, [sp, 0x274]
- mov r1, sp
- adds r1, 0x9C
- str r1, [sp, 0x278]
- mov r2, sp
- adds r2, 0xA0
- str r2, [sp, 0x27C]
- adds r3, 0x6C
- str r3, [sp, 0x284]
- adds r0, 0x14
- str r0, [sp, 0x288]
- adds r1, 0x14
- str r1, [sp, 0x28C]
- adds r2, 0x1C
- str r2, [sp, 0x290]
- adds r3, 0x18
- str r3, [sp, 0x294]
- adds r0, 0x18
- str r0, [sp, 0x298]
- adds r1, 0x18
- str r1, [sp, 0x29C]
- adds r2, 0x14
- str r2, [sp, 0x220]
- adds r3, 0x1C
- str r3, [sp, 0x224]
- adds r0, 0x1C
- str r0, [sp, 0x228]
- adds r1, 0x1C
- str r1, [sp, 0x22C]
- adds r2, 0x18
- str r2, [sp, 0x230]
- adds r3, 0x10
- str r3, [sp, 0x234]
- adds r0, 0x10
- str r0, [sp, 0x238]
- adds r1, 0xD
- str r1, [sp, 0x23C]
- adds r2, 0xA
- str r2, [sp, 0x240]
- adds r3, 0x7
- str r3, [sp, 0x244]
- adds r0, 0x4
- str r0, [sp, 0x248]
- adds r1, 0xA
- str r1, [sp, 0x25C]
- adds r2, 0x3
- str r2, [sp, 0x24C]
- adds r3, 0x3
- str r3, [sp, 0x250]
- adds r0, 0x3
- str r0, [sp, 0x254]
- subs r1, 0x1
- str r1, [sp, 0x258]
- adds r2, 0x7
- str r2, [sp, 0x260]
- adds r3, 0x7
- str r3, [sp, 0x264]
- adds r0, 0x7
- str r0, [sp, 0x268]
- adds r1, 0x5
- str r1, [sp, 0x26C]
- subs r2, 0x58
- str r2, [sp, 0x280]
- add r4, sp, 0x68
- movs r6, 0x3
-_080824DC:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80831F8
- adds r4, 0x4
- subs r6, 0x1
- cmp r6, 0
- bge _080824DC
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_8082CE4
- adds r0, r5, 0
- mov r1, r8
- bl sub_8082D28
- adds r0, r5, 0
- mov r1, r9
- bl sub_8082D28
- adds r0, r5, 0
- bl sub_8082C84
- movs r4, 0
- mov r3, r10
- strb r0, [r3]
- adds r0, r5, 0
- ldr r1, [sp, 0x270]
- bl sub_8082F80
- adds r0, r5, 0
- bl sub_80831A0
- ldr r1, [sp, 0x274]
- str r0, [r1]
- adds r0, r5, 0
- bl sub_80831A0
- ldr r2, [sp, 0x278]
- str r0, [r2]
- adds r0, r5, 0
- bl sub_80831A0
- ldr r3, [sp, 0x27C]
- str r0, [r3]
- adds r0, r5, 0
- ldr r1, [sp, 0x284]
- bl sub_8082D34
- adds r0, r5, 0
- ldr r1, [sp, 0x288]
- bl sub_8082D50
- adds r0, r5, 0
- ldr r1, [sp, 0x28C]
- bl sub_8082D7C
- adds r0, r5, 0
- ldr r1, [sp, 0x290]
- bl sub_8082DA8
- adds r0, r5, 0
- ldr r1, [sp, 0x294]
- bl sub_8082DC4
- adds r0, r5, 0
- ldr r1, [sp, 0x298]
- bl sub_8082DE8
- adds r0, r5, 0
- ldr r1, [sp, 0x29C]
- bl sub_8082E04
- adds r0, r5, 0
- ldr r1, [sp, 0x220]
- bl sub_8082E38
- adds r0, r5, 0
- ldr r1, [sp, 0x224]
- bl sub_8082E6C
- adds r0, r5, 0
- ldr r1, [sp, 0x228]
- bl sub_8082E88
- adds r0, r5, 0
- ldr r1, [sp, 0x22C]
- bl sub_8082E94
- adds r0, r5, 0
- ldr r1, [sp, 0x230]
- bl sub_8082EB0
- adds r0, r5, 0
- ldr r1, [sp, 0x234]
- bl sub_8082ECC
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [sp, 0x238]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r2, [sp, 0x23C]
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r3, [sp, 0x240]
- strb r0, [r3]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [sp, 0x244]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r2, [sp, 0x248]
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_8083188
- ldr r3, [sp, 0x25C]
- strb r0, [r3]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, [sp, 0x24C]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r2, [sp, 0x250]
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r3, [sp, 0x254]
- strb r0, [r3]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, [sp, 0x258]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r2, [sp, 0x260]
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_8083188
- ldr r3, [sp, 0x264]
- strb r0, [r3]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, [sp, 0x268]
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8082C34
- ldr r2, [sp, 0x26C]
- strb r0, [r2]
- adds r0, r5, 0
- bl sub_8082C50
- add r1, sp, 0x100
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8082C6C
- add r1, sp, 0x104
- str r0, [r1]
- add r1, sp, 0x108
- adds r0, r5, 0
- movs r2, 0x5
- bl sub_8083288
- ldr r1, _08082674
- add r1, sp
- adds r0, r5, 0
- movs r2, 0x5
- bl sub_8083288
- adds r0, r5, 0
- bl sub_8083188
- movs r1, 0x89
- lsls r1, 1
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- b _08082678
- .align 2, 0
-_0808266C: .4byte 0xfffffd60
-_08082670: .4byte gUnknown_203B450
-_08082674: .4byte 0x0000010d
-_08082678:
- ldr r1, _08082818
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- add r1, sp, 0x114
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- add r1, sp, 0x118
- adds r0, r5, 0
- bl sub_8082F1C
- add r1, sp, 0x13C
- adds r0, r5, 0
- bl sub_8082F48
- add r1, sp, 0x140
- adds r0, r5, 0
- bl sub_8082F48
- adds r0, r5, 0
- bl sub_80831DC
- add r1, sp, 0x144
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, _0808281C
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, _08082820
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- movs r1, 0xA3
- lsls r1, 1
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- add r1, sp, 0x148
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, _08082824
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- movs r1, 0xA5
- lsls r1, 1
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, _08082828
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- add r1, sp, 0x14C
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083158
- movs r1, 0xA7
- lsls r1, 1
- add r1, sp
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_8083158
- add r1, sp, 0x150
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- movs r1, 0xA9
- lsls r1, 1
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, _0808282C
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- add r1, sp, 0x154
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- ldr r1, _08082830
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_80831DC
- movs r1, 0xAB
- lsls r1, 1
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- add r1, sp, 0x164
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, _08082834
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- movs r1, 0xB3
- lsls r1, 1
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, _08082838
- add r1, sp
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- add r1, sp, 0x168
- strb r0, [r1]
- adds r0, r5, 0
- bl sub_8083188
- ldr r1, _0808283C
- add r1, sp
- strb r0, [r1]
- add r1, sp, 0x16C
- adds r0, r5, 0
- bl sub_80831F8
- adds r0, r5, 0
- bl sub_80831C8
- add r1, sp, 0x174
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8083158
- add r1, sp, 0x178
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_8083170
- add r1, sp, 0x1F8
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_8083170
- movs r1, 0xFD
- lsls r1, 1
- add r1, sp
- strh r0, [r1]
- adds r0, r5, 0
- bl sub_80831A0
- add r1, sp, 0x1FC
- str r0, [r1]
- adds r0, r5, 0
- bl sub_8082CA0
- ldr r3, [sp, 0x280]
- strb r0, [r3]
- ldr r0, _08082840
- str r4, [r0]
- ldr r0, [sp, 0x214]
- cmp r0, 0
- beq _080828BE
- ldr r1, [sp, 0x20C]
- cmp r1, 0
- beq _08082844
- mov r0, sp
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- mov r1, sp
- movs r3, 0x4
- ldrsh r1, [r1, r3]
- ldr r2, [sp, 0x210]
- bl sub_80828E0
- b _08082856
- .align 2, 0
-_08082818: .4byte 0x00000113
-_0808281C: .4byte 0x00000145
-_08082820: .4byte 0x00000147
-_08082824: .4byte 0x00000149
-_08082828: .4byte 0x0000014b
-_0808282C: .4byte 0x00000153
-_08082830: .4byte 0x00000155
-_08082834: .4byte 0x00000165
-_08082838: .4byte 0x00000167
-_0808283C: .4byte 0x00000169
-_08082840: .4byte gUnknown_203B450
-_08082844:
- mov r0, sp
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- mov r1, sp
- movs r2, 0x4
- ldrsh r1, [r1, r2]
- ldr r2, [sp, 0x210]
- bl sub_8082A08
-_08082856:
- adds r7, r0, 0
- cmp r7, 0
- beq _080828BE
- ldr r6, [r7, 0x70]
- movs r5, 0x82
- lsls r5, 2
- mov r3, sp
- adds r4, r3, r5
- movs r1, 0
- ldrsh r0, [r4, r1]
- ldr r3, _080828D4
- add r3, sp
- movs r2, 0
- ldrsh r1, [r3, r2]
- bl sub_8049590
- ldr r1, [r4]
- str r1, [r7, 0x8]
- ldr r1, [r4]
- str r1, [r7, 0x4]
- str r7, [r0, 0x10]
- adds r0, r7, 0
- adds r0, 0x20
- movs r4, 0
- add r1, sp, 0x218
- ldrb r1, [r1]
- strb r1, [r0]
- add r2, sp, 0x21C
- ldrh r2, [r2]
- strh r2, [r7, 0x26]
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- bl memcpy
- ldr r0, _080828D8
- str r4, [r0]
- ldrb r0, [r6, 0x7]
- cmp r0, 0
- beq _080828B0
- ldr r0, _080828DC
- ldrh r1, [r7, 0x4]
- strh r1, [r0]
- ldrh r1, [r7, 0x6]
- strh r1, [r0, 0x2]
-_080828B0:
- adds r0, r7, 0
- bl sub_807191C
- adds r0, r7, 0
- movs r1, 0
- bl sub_804535C
-_080828BE:
- movs r3, 0xA8
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080828D4: .4byte 0x0000020a
-_080828D8: .4byte gUnknown_203B450
-_080828DC: .4byte gUnknown_203B410
- thumb_func_end sub_8082280
-
- thumb_func_start sub_80828E0
-sub_80828E0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r2, 0
- lsls r0, 16
- asrs r0, 16
- mov r10, r0
- lsls r1, 16
- asrs r1, 16
- mov r8, r1
- movs r4, 0x1
- negs r4, r4
- mov r0, r8
- bl sub_808DACC
- lsls r0, 24
- lsrs r6, r0, 24
- movs r3, 0
- movs r0, 0x6
- subs r7, r0, r6
- ldr r0, _08082914
- mov r9, r0
- b _0808291A
- .align 2, 0
-_08082914: .4byte gUnknown_202EE70
-_08082918:
- adds r3, 0x1
-_0808291A:
- cmp r3, r7
- bgt _0808293E
- movs r2, 0
- cmp r2, r6
- bge _08082938
- mov r0, r9
- adds r1, r3, r0
- b _08082932
-_0808292A:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r6
- bge _08082938
-_08082932:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808292A
-_08082938:
- cmp r2, r6
- bne _08082918
- adds r4, r3, 0
-_0808293E:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _0808294A
- movs r0, 0
- b _080829E6
-_0808294A:
- ldr r2, _080829F4
- ldr r0, [r2]
- lsls r1, r5, 2
- ldr r3, _080829F8
- adds r0, r3
- adds r0, r1
- ldr r7, [r0]
- movs r0, 0x1
- mov r9, r0
- str r0, [r7]
- adds r0, r7, 0
- adds r0, 0x24
- strb r5, [r0]
- lsls r0, r5, 6
- adds r0, r5
- lsls r0, 3
- ldr r1, _080829FC
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r7, 0x70]
- movs r5, 0
- mov r3, r10
- strh r3, [r1, 0x2]
- ldr r0, [r7, 0x70]
- mov r1, r8
- strh r1, [r0, 0x4]
- ldr r0, [r7, 0x70]
- strb r5, [r0, 0x6]
- mov r0, r8
- bl sub_80687D0
- str r0, [r7, 0x64]
- lsls r0, r4, 4
- adds r0, 0x40
- adds r1, r7, 0
- adds r1, 0x68
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x7
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0x6C
- strb r5, [r0]
- adds r1, 0x1
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0x6D
- mov r3, r9
- strb r3, [r0]
- adds r0, 0x2
- strb r3, [r0]
- movs r0, 0
- str r0, [r7, 0x1C]
- bl sub_8045ACC
- ldr r0, [r7, 0x70]
- ldr r1, _08082A00
- adds r0, r1
- strb r4, [r0]
- ldr r0, [r7, 0x70]
- movs r3, 0xB4
- lsls r3, 1
- adds r0, r3
- strb r6, [r0]
- cmp r6, 0
- beq _080829E4
- ldr r3, _08082A04
- movs r2, 0x1
- adds r1, r6, 0
-_080829D8:
- adds r0, r4, r3
- strb r2, [r0]
- adds r4, 0x1
- subs r1, 0x1
- cmp r1, 0
- bne _080829D8
-_080829E4:
- adds r0, r7, 0
-_080829E6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080829F4: .4byte gUnknown_203B418
-_080829F8: .4byte 0x0001357c
-_080829FC: .4byte 0x0000069c
-_08082A00: .4byte 0x00000167
-_08082A04: .4byte gUnknown_202EE70
- thumb_func_end sub_80828E0
-
- thumb_func_start sub_8082A08
-sub_8082A08:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r2, 0
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- mov r0, r9
- bl sub_808DACC
- lsls r0, 24
- lsrs r6, r0, 24
- movs r3, 0
- movs r0, 0x10
- subs r4, r0, r6
- ldr r7, _08082A3C
- b _08082A42
- .align 2, 0
-_08082A3C: .4byte gUnknown_202EE76
-_08082A40:
- adds r3, 0x1
-_08082A42:
- cmp r3, r4
- bgt _08082A64
- movs r2, 0
- cmp r2, r6
- bge _08082A5E
- adds r1, r3, r7
- b _08082A58
-_08082A50:
- adds r1, 0x1
- adds r2, 0x1
- cmp r2, r6
- bge _08082A5E
-_08082A58:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08082A50
-_08082A5E:
- cmp r2, r6
- bne _08082A40
- mov r8, r3
-_08082A64:
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- bne _08082A70
- movs r0, 0
- b _08082B1C
-_08082A70:
- ldr r2, _08082B2C
- ldr r0, [r2]
- lsls r1, r5, 2
- ldr r3, _08082B30
- adds r0, r3
- adds r0, r1
- ldr r7, [r0]
- movs r4, 0x1
- str r4, [r7]
- adds r0, r7, 0
- adds r0, 0x24
- movs r1, 0
- mov r10, r1
- strb r5, [r0]
- subs r0, 0x2
- mov r3, r10
- strb r3, [r0]
- lsls r0, r5, 6
- adds r0, r5
- lsls r0, 3
- ldr r1, _08082B34
- adds r0, r1
- ldr r1, [r2]
- adds r1, r0
- str r1, [r7, 0x70]
- movs r5, 0
- mov r2, sp
- ldrh r2, [r2]
- strh r2, [r1, 0x2]
- ldr r0, [r7, 0x70]
- mov r3, r9
- strh r3, [r0, 0x4]
- ldr r0, [r7, 0x70]
- strb r4, [r0, 0x6]
- mov r0, r9
- bl sub_80687D0
- str r0, [r7, 0x64]
- mov r1, r8
- lsls r0, r1, 4
- adds r0, 0xA0
- adds r1, r7, 0
- adds r1, 0x68
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x7
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0x6C
- strb r5, [r0]
- adds r1, 0x1
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r7, 0
- adds r0, 0x6D
- strb r4, [r0]
- adds r0, 0x2
- strb r4, [r0]
- mov r2, r10
- str r2, [r7, 0x1C]
- ldr r0, [r7, 0x70]
- ldr r3, _08082B38
- adds r0, r3
- mov r4, r8
- strb r4, [r0]
- ldr r0, [r7, 0x70]
- movs r1, 0xB4
- lsls r1, 1
- adds r0, r1
- strb r6, [r0]
- cmp r6, 0
- beq _08082B16
- ldr r3, _08082B3C
- movs r2, 0x1
- adds r1, r6, 0
-_08082B06:
- mov r4, r8
- adds r0, r4, r3
- strb r2, [r0]
- movs r0, 0x1
- add r8, r0
- subs r1, 0x1
- cmp r1, 0
- bne _08082B06
-_08082B16:
- bl sub_8045ACC
- adds r0, r7, 0
-_08082B1C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08082B2C: .4byte gUnknown_203B418
-_08082B30: .4byte 0x0001358c
-_08082B34: .4byte 0x00000ebc
-_08082B38: .4byte 0x00000167
-_08082B3C: .4byte gUnknown_202EE76
- thumb_func_end sub_8082A08
-
- thumb_func_start sub_8082B40
-sub_8082B40:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r6, 0
-_08082B46:
- ldr r0, _08082BB8
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _08082BBC
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08082BA8
- ldr r4, [r5, 0x70]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- bl sub_80687D0
- str r0, [r5, 0x64]
- adds r0, r5, 0
- bl sub_806CEBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_806CCB4
- ldr r0, [r5, 0x4]
- str r0, [sp]
- adds r0, r4, 0
- adds r0, 0x98
- ldr r0, [r0]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- mov r2, sp
- movs r3, 0x3
- bl sub_800F8D0
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8049590
- ldrb r1, [r0, 0x9]
- adds r0, r5, 0
- adds r0, 0x25
- strb r1, [r0]
-_08082BA8:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08082B46
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08082BB8: .4byte gUnknown_203B418
-_08082BBC: .4byte 0x000135cc
- thumb_func_end sub_8082B40
-
- thumb_func_start sub_8082BC0
-sub_8082BC0:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strh r1, [r2]
- mov r1, sp
- movs r2, 0x2
- bl sub_8082FE0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082BC0
-
- thumb_func_start sub_8082BE0
-sub_8082BE0:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082BE0
-
- thumb_func_start sub_8082BFC
-sub_8082BFC:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082BFC
-
- thumb_func_start sub_8082C18
-sub_8082C18:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082C18
-
- thumb_func_start sub_8082C34
-sub_8082C34:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082C34
-
- thumb_func_start sub_8082C50
-sub_8082C50:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082C50
-
- thumb_func_start sub_8082C6C
-sub_8082C6C:
- push {lr}
- sub sp, 0x4
- movs r1, 0
- str r1, [sp]
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FE0
- ldr r0, [sp]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082C6C
-
- thumb_func_start sub_8082C84
-sub_8082C84:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082C84
-
- thumb_func_start sub_8082CA0
-sub_8082CA0:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- movs r1, 0
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8082CA0
-
- thumb_func_start sub_8082CBC
-sub_8082CBC:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- strh r0, [r4]
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- movs r0, 0x7
- strb r0, [r4, 0x3]
- adds r4, 0x14
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80831F8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082CBC
-
- thumb_func_start sub_8082CE4
-sub_8082CE4:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r5, 0
- bl sub_80831DC
- movs r6, 0
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_80831DC
- strb r0, [r4, 0x2]
- adds r0, r5, 0
- bl sub_80831DC
- strb r0, [r4, 0x3]
- adds r0, r5, 0
- bl sub_8083158
- strh r0, [r4, 0x4]
- str r6, [r4, 0x8]
- str r6, [r4, 0xC]
- adds r4, 0x10
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80831F8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8082CE4
-
- thumb_func_start sub_8082D28
-sub_8082D28:
- push {lr}
- movs r2, 0x3
- bl sub_8082FE0
- pop {r0}
- bx r0
- thumb_func_end sub_8082D28
-
- thumb_func_start sub_8082D34
-sub_8082D34:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082D34
-
- thumb_func_start sub_8082D50
-sub_8082D50:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x2]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x3]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082D50
-
- thumb_func_start sub_8082D7C
-sub_8082D7C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x8]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x9]
- adds r0, r4, 0
- bl sub_80831A0
- str r0, [r5, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082D7C
-
- thumb_func_start sub_8082DA8
-sub_8082DA8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082DA8
-
- thumb_func_start sub_8082DC4
-sub_8082DC4:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082DC4
-
- thumb_func_start sub_8082DE8
-sub_8082DE8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082DE8
-
- thumb_func_start sub_8082E04
-sub_8082E04:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_80831DC
- strb r0, [r5, 0x1]
- adds r0, r4, 0
- bl sub_80831DC
- strb r0, [r5, 0x2]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x3]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082E04
-
- thumb_func_start sub_8082E38
-sub_8082E38:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_80831A0
- str r0, [r5, 0x4]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x8]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x9]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0xA]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082E38
-
- thumb_func_start sub_8082E6C
-sub_8082E6C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082E6C
-
- thumb_func_start sub_8082E88
-sub_8082E88:
- push {lr}
- movs r2, 0x1
- bl sub_8082FE0
- pop {r0}
- bx r0
- thumb_func_end sub_8082E88
-
- thumb_func_start sub_8082E94
-sub_8082E94:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082E94
-
- thumb_func_start sub_8082EB0
-sub_8082EB0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082EB0
-
- thumb_func_start sub_8082ECC
-sub_8082ECC:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082ECC
-
- thumb_func_start sub_8082EE8
-sub_8082EE8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8083188
- strb r0, [r5]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x2
- bl sub_8082FE0
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x4]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082EE8
-
- thumb_func_start sub_8082F1C
-sub_8082F1C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_08082F26:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8082EE8
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08082F26
- adds r0, r6, 0
- bl sub_8083188
- adds r1, r7, 0
- adds r1, 0x20
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8082F1C
-
- thumb_func_start sub_8082F48
-sub_8082F48:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8083170
- strh r0, [r5]
- adds r0, r4, 0
- bl sub_8083170
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082F48
-
- thumb_func_start sub_8082F64
-sub_8082F64:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8083188
- strb r0, [r5]
- adds r0, r4, 0
- bl sub_8083188
- strb r0, [r5, 0x1]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082F64
-
- thumb_func_start sub_8082F80
-sub_8082F80:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8083170
- strh r0, [r5]
- adds r0, r4, 0
- bl sub_8082BFC
- strb r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8082F80
-
- thumb_func_start sub_8082F9C
-sub_8082F9C:
- str r1, [r0]
- movs r3, 0
- str r3, [r0, 0x8]
- adds r1, r2
- str r1, [r0, 0x4]
- bx lr
- thumb_func_end sub_8082F9C
-
- thumb_func_start sub_8082FA8
-sub_8082FA8:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- beq _08082FCC
-_08082FB2:
- ldr r1, [r3]
- ldrb r0, [r4]
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x1
- str r0, [r3]
- adds r4, 0x1
- subs r2, 0x1
- ldr r0, [r3, 0x8]
- adds r0, 0x1
- str r0, [r3, 0x8]
- cmp r2, 0
- bne _08082FB2
-_08082FCC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8082FA8
-
- thumb_func_start sub_8082FD4
-sub_8082FD4:
- str r1, [r0]
- movs r3, 0
- str r3, [r0, 0x8]
- adds r1, r2
- str r1, [r0, 0x4]
- bx lr
- thumb_func_end sub_8082FD4
-
- thumb_func_start sub_8082FE0
-sub_8082FE0:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r2, 0
- beq _08083002
-_08082FEA:
- ldr r1, [r3]
- ldrb r0, [r1]
- strb r0, [r4]
- adds r1, 0x1
- str r1, [r3]
- adds r4, 0x1
- subs r2, 0x1
- ldr r0, [r3, 0x8]
- adds r0, 0x1
- str r0, [r3, 0x8]
- cmp r2, 0
- bne _08082FEA
-_08083002:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8082FE0
-
- thumb_func_start nullsub_98
-nullsub_98:
- bx lr
- thumb_func_end nullsub_98
-
- thumb_func_start sub_808300C
-sub_808300C:
- push {lr}
- movs r2, 0x8
- bl sub_8082FA8
- pop {r0}
- bx r0
- thumb_func_end sub_808300C
-
- thumb_func_start sub_8083018
-sub_8083018:
- push {lr}
- sub sp, 0xC
- mov r1, sp
- movs r2, 0x8
- bl sub_8082FE0
- mov r1, sp
- movs r0, 0
- strb r0, [r1, 0x8]
- add sp, 0xC
- pop {r0}
- bx r0
- thumb_func_end sub_8083018
-
- thumb_func_start sub_8083030
-sub_8083030:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strh r1, [r2]
- mov r1, sp
- movs r2, 0x2
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8083030
-
- thumb_func_start sub_8083048
-sub_8083048:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strh r1, [r2]
- mov r1, sp
- movs r2, 0x2
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8083048
-
- thumb_func_start sub_8083060
-sub_8083060:
- push {lr}
- sub sp, 0x4
- mov r2, sp
- strb r1, [r2]
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8083060
-
- thumb_func_start sub_8083078
-sub_8083078:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8083078
-
- thumb_func_start sub_808308C
-sub_808308C:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_808308C
-
- thumb_func_start sub_80830A0
-sub_80830A0:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80830A0
-
- thumb_func_start sub_80830B4
-sub_80830B4:
- push {lr}
- sub sp, 0x4
- adds r3, r0, 0
- lsls r1, 24
- movs r2, 0
- cmp r1, 0
- beq _080830C4
- movs r2, 0xFF
-_080830C4:
- mov r0, sp
- strb r2, [r0]
- adds r0, r3, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FA8
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_80830B4
-
- thumb_func_start sub_80830D8
-sub_80830D8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80830D8
-
- thumb_func_start sub_80830F8
-sub_80830F8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r4, 0xC
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80830F8
-
- thumb_func_start sub_808312C
-sub_808312C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x1
- bl sub_8082FA8
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FA8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808312C
-
- thumb_func_start sub_808314C
-sub_808314C:
- push {lr}
- bl sub_8082FA8
- pop {r0}
- bx r0
- thumb_func_end sub_808314C
-
- thumb_func_start sub_8083158
-sub_8083158:
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0x2
- bl sub_8082FE0
- mov r0, sp
- ldrh r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8083158
-
- thumb_func_start sub_8083170
-sub_8083170:
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0x2
- bl sub_8082FE0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8083170
-
- thumb_func_start sub_8083188
-sub_8083188:
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r0, [r0]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8083188
-
- thumb_func_start sub_80831A0
-sub_80831A0:
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FE0
- ldr r0, [sp]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_80831A0
-
- thumb_func_start sub_80831B4
-sub_80831B4:
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FE0
- ldr r0, [sp]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_80831B4
-
- thumb_func_start sub_80831C8
-sub_80831C8:
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0x4
- bl sub_8082FE0
- ldr r0, [sp]
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_80831C8
-
- thumb_func_start sub_80831DC
-sub_80831DC:
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r2, 0x1
- bl sub_8082FE0
- mov r0, sp
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_80831DC
-
- thumb_func_start sub_80831F8
-sub_80831F8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FE0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80831F8
-
- thumb_func_start sub_8083220
-sub_8083220:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- str r0, [r4]
- str r0, [r4, 0x4]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r4, 0xC
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FE0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8083220
-
- thumb_func_start sub_8083260
-sub_8083260:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- strh r0, [r4]
- strh r0, [r4, 0x2]
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8082FE0
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8082FE0
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8083260
-
- thumb_func_start sub_8083288
-sub_8083288:
- push {lr}
- bl sub_8082FE0
- pop {r0}
- bx r0
- thumb_func_end sub_8083288
-
- thumb_func_start sub_8083294
-sub_8083294:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- ldr r7, _080832E8
- ldr r0, [r7]
- ldr r1, _080832EC
- adds r0, r1
- ldrb r5, [r0]
- cmp r5, 0
- bne _080832AA
- movs r5, 0x2
-_080832AA:
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- bl sub_804954C
- ldrb r1, [r0, 0x9]
- cmp r1, 0xFF
- bne _080832F0
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r2, 0
- ldrsh r0, [r6, r2]
- subs r1, r0
- cmp r1, 0
- bge _080832CC
- negs r1, r1
-_080832CC:
- cmp r1, r5
- bgt _0808332E
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- movs r4, 0x2
- ldrsh r0, [r6, r4]
- subs r0, r1, r0
- cmp r0, 0
- bge _080832E0
- negs r0, r0
-_080832E0:
- cmp r0, r5
- bgt _0808332E
-_080832E4:
- movs r0, 0x1
- b _08083330
- .align 2, 0
-_080832E8: .4byte gUnknown_203B418
-_080832EC: .4byte 0x00018209
-_080832F0:
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _08083338
- adds r0, r1
- ldr r1, [r7]
- adds r1, r0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r0, 0x1
- movs r4, 0
- ldrsh r3, [r6, r4]
- cmp r0, r3
- bgt _0808332E
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- subs r0, 0x1
- movs r4, 0x2
- ldrsh r2, [r6, r4]
- cmp r0, r2
- bgt _0808332E
- movs r4, 0x6
- ldrsh r0, [r1, r4]
- adds r0, 0x1
- cmp r0, r3
- ble _0808332E
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- cmp r0, r2
- bgt _080832E4
-_0808332E:
- movs r0, 0
-_08083330:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08083338: .4byte 0x000104c4
- thumb_func_end sub_8083294
-
- thumb_func_start sub_808333C
-sub_808333C:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_804954C
- ldrb r2, [r0, 0x9]
- cmp r2, 0xFF
- beq _08083394
- ldr r1, _080833C4
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r3, _080833C8
- adds r0, r3
- ldr r1, [r1]
- adds r1, r0
- movs r6, 0x2
- ldrsh r0, [r1, r6]
- subs r0, 0x1
- movs r2, 0
- ldrsh r3, [r5, r2]
- cmp r0, r3
- bgt _08083394
- movs r6, 0x4
- ldrsh r0, [r1, r6]
- subs r0, 0x1
- movs r6, 0x2
- ldrsh r2, [r5, r6]
- cmp r0, r2
- bgt _08083394
- movs r6, 0x6
- ldrsh r0, [r1, r6]
- adds r0, 0x1
- cmp r0, r3
- ble _08083394
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- adds r0, 0x1
- cmp r0, r2
- bgt _080833DE
-_08083394:
- movs r6, 0
- ldrsh r3, [r4, r6]
- movs r0, 0
- ldrsh r2, [r5, r0]
- movs r6, 0x2
- ldrsh r1, [r4, r6]
- movs r6, 0x2
- ldrsh r0, [r5, r6]
- subs r1, r0
- subs r3, r2
- cmp r3, 0
- bge _080833AE
- negs r3, r3
-_080833AE:
- cmp r1, 0
- bge _080833B4
- negs r1, r1
-_080833B4:
- cmp r1, r3
- bge _080833BA
- adds r1, r3, 0
-_080833BA:
- cmp r1, 0x2
- ble _080833CC
-_080833BE:
- movs r0, 0
- b _080833E0
- .align 2, 0
-_080833C4: .4byte gUnknown_203B418
-_080833C8: .4byte 0x000104c4
-_080833CC:
- cmp r1, 0x2
- bne _080833DE
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8083478
- lsls r0, 24
- cmp r0, 0
- beq _080833BE
-_080833DE:
- movs r0, 0x1
-_080833E0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808333C
-
- thumb_func_start sub_80833E8
-sub_80833E8:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_804954C
- adds r1, r0, 0
- ldr r0, _08083438
- ldr r3, [r0]
- ldr r2, _0808343C
- adds r0, r3, r2
- ldrb r2, [r0]
- cmp r2, 0
- bne _0808340C
- movs r2, 0x2
-_0808340C:
- ldrb r0, [r1, 0x9]
- cmp r0, 0xFF
- bne _08083440
- movs r1, 0
- ldrsh r0, [r5, r1]
- subs r0, r2
- str r0, [r4]
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r0, r2
- adds r0, 0x1
- str r0, [r4, 0x8]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- subs r0, r2
- str r0, [r4, 0x4]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- adds r0, r2
- adds r0, 0x1
- b _0808346A
- .align 2, 0
-_08083438: .4byte gUnknown_203B418
-_0808343C: .4byte 0x00018209
-_08083440:
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r2, _08083474
- adds r1, r2
- adds r1, r3, r1
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- subs r0, 0x1
- str r0, [r4]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- adds r0, 0x2
- str r0, [r4, 0x8]
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- subs r0, 0x1
- str r0, [r4, 0x4]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- adds r0, 0x2
-_0808346A:
- str r0, [r4, 0xC]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08083474: .4byte 0x000104c4
- thumb_func_end sub_80833E8
-
- thumb_func_start sub_8083478
-sub_8083478:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r3, r0, 0
- adds r6, r1, 0
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r2, 0
- ldrsh r0, [r6, r2]
- subs r1, r0
- cmp r1, 0
- bge _08083490
- negs r1, r1
-_08083490:
- cmp r1, 0x1
- bgt _080834A8
- movs r5, 0x2
- ldrsh r1, [r3, r5]
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- subs r1, r0
- cmp r1, 0
- bge _080834A4
- negs r1, r1
-_080834A4:
- cmp r1, 0x1
- ble _0808355A
-_080834A8:
- movs r5, 0
- ldrsh r4, [r3, r5]
- movs r1, 0
- ldrsh r0, [r6, r1]
- subs r2, r4, r0
- cmp r2, 0
- bge _080834B8
- negs r2, r2
-_080834B8:
- movs r5, 0x2
- ldrsh r1, [r3, r5]
- movs r5, 0x2
- ldrsh r0, [r6, r5]
- subs r0, r1, r0
- cmp r0, 0
- bge _080834C8
- negs r0, r0
-_080834C8:
- cmp r0, r2
- bge _080834CE
- adds r0, r2, 0
-_080834CE:
- cmp r0, 0x2
- bne _0808355E
- adds r5, r4, 0
- adds r4, r1, 0
- movs r7, 0
-_080834D8:
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r5, r0
- bge _080834E2
- adds r5, 0x1
-_080834E2:
- cmp r5, r0
- ble _080834E8
- subs r5, 0x1
-_080834E8:
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- cmp r4, r0
- bge _080834F2
- adds r4, 0x1
-_080834F2:
- cmp r4, r0
- ble _080834F8
- subs r4, 0x1
-_080834F8:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- ldr r3, [sp]
- cmp r0, 0
- beq _0808355E
- adds r7, 0x1
- cmp r7, 0x1
- ble _080834D8
- movs r0, 0
- ldrsh r5, [r6, r0]
- movs r1, 0x2
- ldrsh r4, [r6, r1]
- movs r7, 0
-_0808351E:
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r5, r0
- bge _08083528
- adds r5, 0x1
-_08083528:
- cmp r5, r0
- ble _0808352E
- subs r5, 0x1
-_0808352E:
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r4, r0
- bge _08083538
- adds r4, 0x1
-_08083538:
- cmp r4, r0
- ble _0808353E
- subs r4, 0x1
-_0808353E:
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp]
- bl sub_804954C
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- ldr r3, [sp]
- cmp r0, 0
- beq _0808355E
- adds r7, 0x1
- cmp r7, 0x1
- ble _0808351E
-_0808355A:
- movs r0, 0x1
- b _08083560
-_0808355E:
- movs r0, 0
-_08083560:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8083478
-
- thumb_func_start sub_8083568
-sub_8083568:
- push {r4,r5,lr}
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r2, _080835E0
- ldr r2, [r2]
- ldr r4, _080835E4
- adds r3, r2, r4
- movs r4, 0
- ldrsh r3, [r3, r4]
- subs r3, r0, r3
- ldr r0, _080835E8
- adds r2, r0
- movs r4, 0
- ldrsh r0, [r2, r4]
- subs r4, r1, r0
- movs r0, 0x10
- negs r0, r0
- cmp r3, r0
- blt _080835F8
- cmp r4, r0
- blt _080835F8
- cmp r3, 0xFF
- bgt _080835F8
- cmp r4, 0xAF
- bgt _080835F8
- ldr r1, _080835EC
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- adds r0, r1
- movs r1, 0x8
- ldrsh r2, [r0, r1]
- adds r2, r3, r2
- ldr r1, _080835F0
- ands r2, r1
- ldrh r3, [r0, 0x2]
- movs r1, 0xFE
- lsls r1, 8
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x2]
- movs r1, 0xA
- ldrsh r2, [r0, r1]
- adds r2, r4, r2
- ldr r1, _080835F4
- ands r2, r1
- lsls r2, 4
- ldrh r3, [r0, 0x6]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x6]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
- movs r0, 0x1
- b _080835FA
- .align 2, 0
-_080835E0: .4byte gUnknown_203B418
-_080835E4: .4byte 0x000181f0
-_080835E8: .4byte 0x000181f2
-_080835EC: .4byte gUnknown_202ED28
-_080835F0: .4byte 0x000001ff
-_080835F4: .4byte 0x00000fff
-_080835F8:
- movs r0, 0
-_080835FA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8083568
-
- thumb_func_start sub_8083600
-sub_8083600:
- push {r4,r5,lr}
- ldr r0, _08083638
- ldr r0, [r0]
- cmp r0, 0
- bne _0808364A
- movs r5, 0
-_0808360C:
- ldr r0, _0808363C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08083640
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0808362E
- ldr r0, [r4, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _08083644
-_0808362E:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0808360C
- movs r0, 0
- b _0808364A
- .align 2, 0
-_08083638: .4byte gUnknown_203B450
-_0808363C: .4byte gUnknown_203B418
-_08083640: .4byte 0x0001357c
-_08083644:
- ldr r0, _08083650
- str r4, [r0]
- adds r0, r4, 0
-_0808364A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08083650: .4byte gUnknown_203B450
- thumb_func_end sub_8083600
-
- thumb_func_start sub_8083654
-sub_8083654:
- push {lr}
- bl sub_8083600
- ldr r0, [r0, 0x70]
- pop {r1}
- bx r1
- thumb_func_end sub_8083654
-
- thumb_func_start sub_8083660
-sub_8083660:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _080836D4
- add sp, r4
- movs r1, 0xE0
- lsls r1, 5
- add r1, sp
- str r0, [r1]
- bl sub_8083600
- ldr r2, _080836D8
- add r2, sp
- str r0, [r2]
- movs r7, 0
- movs r0, 0
- ldr r1, _080836DC
- add r1, sp
- str r0, [r1]
-_0808368A:
- movs r0, 0x38
- bl sub_8084100
- adds r4, r0, 0
- movs r0, 0x20
- bl sub_8084100
- ldr r2, _080836E0
- add r2, sp
- str r0, [r2]
- ldr r0, _080836D8
- add r0, sp
- ldr r0, [r0]
- ldr r3, [r0, 0x4]
- adds r5, r4, 0
- movs r1, 0
- ldr r4, [r2]
- ldr r0, _080836E4
- cmp r7, r0
- ble _080836B4
- b _080837E6
-_080836B4:
- movs r2, 0x3
- mov r10, r2
- lsls r0, r7, 2
- mov r2, sp
- adds r6, r0, r2
-_080836BE:
- movs r0, 0
- mov r8, r0
- adds r2, r5, 0x1
- ldr r0, _080836E8
- add r0, sp
- str r2, [r0]
- adds r1, 0x1
- ldr r2, _080836EC
- add r2, sp
- str r1, [r2]
- b _0808379C
- .align 2, 0
-_080836D4: .4byte 0xffffe3e4
-_080836D8: .4byte 0x00001c04
-_080836DC: .4byte 0x00001c0c
-_080836E0: .4byte 0x00001c08
-_080836E4: .4byte 0x000006ff
-_080836E8: .4byte 0x00001c14
-_080836EC: .4byte 0x00001c10
-_080836F0:
- ldr r0, _08083738
- add r0, sp
- ldr r0, [r0]
- cmp r0, 0
- bne _0808373C
- ldrh r1, [r2]
- mov r0, r10
- ands r0, r1
- cmp r0, 0x1
- bne _08083782
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _08083782
- ldr r0, [r2, 0x14]
- cmp r0, 0
- bne _08083782
- ldr r0, [r2, 0x10]
- cmp r0, 0
- bne _08083782
- lsls r0, r3, 16
- asrs r0, 16
- subs r0, r5
- cmp r0, 0
- bge _08083722
- negs r0, r0
-_08083722:
- cmp r0, 0x5
- bgt _08083788
- asrs r0, r3, 16
- subs r0, r4
- cmp r0, 0
- bge _08083730
- negs r0, r0
-_08083730:
- cmp r0, 0x5
- ble _08083782
- b _08083788
- .align 2, 0
-_08083738: .4byte 0x00001c0c
-_0808373C:
- ldr r1, _08083764
- add r1, sp
- ldr r1, [r1]
- cmp r1, 0x1
- bne _08083768
- ldrh r1, [r2]
- mov r0, r10
- ands r0, r1
- cmp r0, 0x1
- bne _08083782
- ldrb r0, [r2, 0x9]
- cmp r0, 0xFF
- beq _08083782
- ldr r0, [r2, 0x14]
- cmp r0, 0
- bne _08083782
- ldr r0, [r2, 0x10]
- cmp r0, 0
- bne _08083782
- b _08083788
- .align 2, 0
-_08083764: .4byte 0x00001c0c
-_08083768:
- ldrh r1, [r2]
- mov r0, r10
- ands r0, r1
- cmp r0, 0x1
- bne _08083782
- ldr r0, [r2, 0x14]
- cmp r0, 0
- bne _08083782
- ldr r0, [r2, 0x10]
- cmp r0, 0
- bne _08083782
- movs r2, 0x1
- mov r9, r2
-_08083782:
- mov r0, r9
- cmp r0, 0
- beq _08083790
-_08083788:
- strb r5, [r6]
- strb r4, [r6, 0x1]
- adds r6, 0x4
- adds r7, 0x1
-_08083790:
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08083798
- movs r4, 0
-_08083798:
- movs r1, 0x1
- add r8, r1
-_0808379C:
- mov r2, r8
- cmp r2, 0x1F
- bgt _080837C2
- movs r0, 0
- mov r9, r0
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _0808380C
- add r2, sp
- str r3, [r2]
- bl sub_804954C
- adds r2, r0, 0
- ldr r0, _08083810
- ldr r1, _0808380C
- add r1, sp
- ldr r3, [r1]
- cmp r7, r0
- ble _080836F0
-_080837C2:
- ldr r2, _08083814
- add r2, sp
- ldr r5, [r2]
- cmp r5, 0x37
- ble _080837CE
- movs r5, 0
-_080837CE:
- ldr r0, _08083818
- add r0, sp
- ldr r1, [r0]
- cmp r1, 0x37
- bgt _080837E6
- ldr r2, _0808381C
- add r2, sp
- ldr r4, [r2]
- ldr r0, _08083810
- cmp r7, r0
- bgt _080837E6
- b _080836BE
-_080837E6:
- cmp r7, 0
- beq _08083820
- adds r0, r7, 0
- bl sub_8084100
- lsls r0, 2
- mov r2, sp
- adds r1, r2, r0
- ldrb r0, [r1]
- movs r2, 0xE0
- lsls r2, 5
- add r2, sp
- ldr r2, [r2]
- strh r0, [r2]
- ldrb r0, [r1, 0x1]
- strh r0, [r2, 0x2]
- movs r0, 0x1
- b _08083832
- .align 2, 0
-_0808380C: .4byte 0x00001c18
-_08083810: .4byte 0x000006ff
-_08083814: .4byte 0x00001c14
-_08083818: .4byte 0x00001c10
-_0808381C: .4byte 0x00001c08
-_08083820:
- ldr r0, _08083844
- add r0, sp
- ldr r2, [r0]
- adds r2, 0x1
- str r2, [r0]
- cmp r2, 0x2
- bgt _08083830
- b _0808368A
-_08083830:
- movs r0, 0
-_08083832:
- ldr r3, _08083848
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08083844: .4byte 0x00001c0c
-_08083848: .4byte 0x00001c1c
- thumb_func_end sub_8083660
-
- thumb_func_start sub_808384C
-sub_808384C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r3, r0, 0
- mov r9, r1
- movs r0, 0
- mov r8, r0
- ldr r0, _080838BC
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0x63
- beq _080838D8
- movs r6, 0
-_0808386A:
- adds r2, r6, r0
- movs r4, 0
- ldrsh r1, [r2, r4]
- mov r5, r9
- movs r7, 0
- ldrsh r0, [r5, r7]
- adds r5, r1, r0
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- mov r2, r9
- movs r4, 0x2
- ldrsh r0, [r2, r4]
- adds r4, r1, r0
- adds r0, r5, 0
- adds r1, r4, 0
- str r3, [sp]
- bl sub_804954C
- adds r1, r0, 0
- ldrh r2, [r1]
- movs r7, 0x80
- lsls r7, 4
- adds r0, r7, 0
- ands r0, r2
- ldr r3, [sp]
- cmp r0, 0
- bne _080838C0
- movs r0, 0x3
- ands r0, r2
- cmp r0, 0x1
- bne _080838C0
- ldr r0, [r1, 0x14]
- cmp r0, 0
- bne _080838C0
- ldr r0, [r1, 0x10]
- cmp r0, 0
- bne _080838C0
- strh r5, [r3]
- strh r4, [r3, 0x2]
- movs r0, 0x1
- b _080838DA
- .align 2, 0
-_080838BC: .4byte gUnknown_80F4468
-_080838C0:
- adds r6, 0x4
- movs r0, 0x1
- add r8, r0
- mov r2, r8
- cmp r2, 0x18
- bgt _080838D8
- ldr r0, _080838E8
- adds r1, r6, r0
- movs r4, 0
- ldrsh r1, [r1, r4]
- cmp r1, 0x63
- bne _0808386A
-_080838D8:
- movs r0, 0
-_080838DA:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080838E8: .4byte gUnknown_80F4468
- thumb_func_end sub_808384C
-
- thumb_func_start sub_80838EC
-sub_80838EC:
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2]
- adds r1, r0, 0
- cmp r1, 0x7F
- beq _08083900
- cmp r1, 0
- beq _08083900
- subs r0, 0x1
- strb r0, [r2]
-_08083900:
- pop {r0}
- bx r0
- thumb_func_end sub_80838EC
-
- thumb_func_start sub_8083904
-sub_8083904:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp]
- mov r10, r1
- ldr r4, [r1, 0x70]
- str r4, [sp, 0x4]
- adds r5, r4, 0
- adds r5, 0x46
- ldrb r6, [r5]
- mov r0, r10
- movs r1, 0x1
- bl sub_8070B6C
- lsls r0, 24
- cmp r0, 0
- beq _08083954
- ldr r0, _08083950
- lsls r2, r6, 2
- adds r2, r0
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- mov r1, r10
- ldrh r1, [r1, 0x4]
- adds r0, r1
- ldr r3, [sp]
- strh r0, [r3]
- movs r4, 0x2
- ldrsh r1, [r2, r4]
- lsls r0, r1, 1
- adds r0, r1
- b _08083A6E
- .align 2, 0
-_08083950: .4byte gUnknown_80F4448
-_08083954:
- ldr r1, [r4, 0x58]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08083960
- b _08083A8C
-_08083960:
- ldrb r0, [r5]
- ldr r1, _080839A0
- lsls r0, 3
- adds r0, r1
- ldr r7, [r0]
- movs r3, 0x4
- ldrsh r2, [r0, r3]
- str r2, [sp, 0x8]
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- str r1, [sp, 0xC]
- mov r3, r10
- movs r0, 0x4
- ldrsh r3, [r3, r0]
- str r3, [sp, 0x10]
- mov r1, r10
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- str r1, [sp, 0x14]
- ldr r0, _080839A4
- ldr r1, [r0]
- ldr r3, _080839A8
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080839B0
- ldr r4, _080839AC
- adds r4, r1, r4
- str r4, [sp, 0x18]
- movs r0, 0x14
- b _080839D0
- .align 2, 0
-_080839A0: .4byte gUnknown_80F4CC4
-_080839A4: .4byte gUnknown_203B418
-_080839A8: .4byte 0x000037fc
-_080839AC: .4byte 0x000135cc
-_080839B0:
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- bne _080839C8
- ldr r2, _080839C4
- adds r2, r1, r2
- str r2, [sp, 0x18]
- movs r3, 0x10
- str r3, [sp, 0x1C]
- b _080839D2
- .align 2, 0
-_080839C4: .4byte 0x0001358c
-_080839C8:
- ldr r4, _08083A78
- adds r4, r1, r4
- str r4, [sp, 0x18]
- movs r0, 0x4
-_080839D0:
- str r0, [sp, 0x1C]
-_080839D2:
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0x63
- beq _08083A46
-_080839DA:
- movs r2, 0
- ldrsh r0, [r7, r2]
- ldr r3, [sp, 0x8]
- muls r0, r3
- ldr r4, [sp, 0x10]
- adds r4, r0
- mov r9, r4
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- ldr r2, [sp, 0xC]
- muls r0, r2
- ldr r3, [sp, 0x14]
- adds r3, r0
- mov r8, r3
- movs r6, 0
- ldr r4, [sp, 0x1C]
- cmp r6, r4
- bge _08083A3C
- ldr r5, [sp, 0x18]
-_08083A00:
- ldr r4, [r5]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08083A32
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, r9
- bne _08083A32
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r8
- bne _08083A32
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8071598
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08083A80
-_08083A32:
- adds r5, 0x4
- adds r6, 0x1
- ldr r3, [sp, 0x1C]
- cmp r6, r3
- blt _08083A00
-_08083A3C:
- adds r7, 0x4
- movs r4, 0
- ldrsh r0, [r7, r4]
- cmp r0, 0x63
- bne _080839DA
-_08083A46:
- ldr r2, _08083A7C
- ldr r1, [sp, 0x4]
- adds r1, 0x46
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 1
- mov r4, r10
- ldrh r4, [r4, 0x4]
- adds r0, r4
- ldr r3, [sp]
- strh r0, [r3]
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- lsls r0, 1
-_08083A6E:
- mov r1, r10
- ldrh r1, [r1, 0x6]
- adds r0, r1
- strh r0, [r3, 0x2]
- b _08083A9E
- .align 2, 0
-_08083A78: .4byte 0x0001357c
-_08083A7C: .4byte gUnknown_80F4448
-_08083A80:
- mov r3, r9
- ldr r2, [sp]
- strh r3, [r2]
- mov r4, r8
- strh r4, [r2, 0x2]
- b _08083A9E
-_08083A8C:
- ldr r0, [sp, 0x4]
- adds r0, 0x58
- ldrh r0, [r0]
- ldr r1, [sp]
- strh r0, [r1]
- ldr r0, [sp, 0x4]
- adds r0, 0x5A
- ldrh r0, [r0]
- strh r0, [r1, 0x2]
-_08083A9E:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8083904
-
- thumb_func_start sub_8083AB0
-sub_8083AB0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r5, r1, 0
- adds r7, r2, 0
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- ldr r0, _08083AFC
- ldr r0, [r0]
- ldr r1, _08083B00
- adds r4, r0, r1
- movs r6, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08083AE4
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _08083AE4
- ldr r6, [r5, 0x70]
-_08083AE4:
- ldr r5, [r7, 0x70]
- cmp r6, 0
- beq _08083B04
- mov r0, sp
- adds r1, r6, 0
- bl sub_80709C8
- adds r0, r4, 0
- mov r1, sp
- bl sub_80922F4
- b _08083B0E
- .align 2, 0
-_08083AFC: .4byte gUnknown_203B418
-_08083B00: .4byte 0x0001ce98
-_08083B04:
- ldr r0, _08083C04
- ldr r1, [r0]
- adds r0, r4, 0
- bl sub_80922F4
-_08083B0E:
- mov r0, sp
- adds r1, r5, 0
- bl sub_80709C8
- adds r0, r4, 0
- adds r0, 0xA
- mov r1, sp
- bl sub_80922F4
- movs r2, 0
- mov r3, r8
- strh r3, [r4, 0x14]
- ldr r0, [r5, 0x60]
- str r0, [r4, 0x1C]
- ldr r0, [r5, 0x18]
- str r0, [r4, 0x20]
- ldrb r0, [r5, 0x9]
- adds r1, r4, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrh r0, [r5, 0x10]
- strh r0, [r4, 0x24]
- ldrb r0, [r5, 0x14]
- subs r1, 0x4
- strb r0, [r1]
- ldrb r0, [r5, 0x15]
- adds r1, 0x1
- strb r0, [r1]
- ldrb r1, [r5, 0x16]
- adds r0, r4, 0
- adds r0, 0x28
- strb r1, [r0]
- ldrb r0, [r5, 0x17]
- adds r1, r4, 0
- adds r1, 0x29
- strb r0, [r1]
- ldr r0, _08083C08
- ldr r0, [r0]
- ldr r1, _08083C0C
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4, 0x18]
- adds r3, r4, 0
- adds r3, 0x2B
- strb r2, [r3]
- adds r6, r4, 0
- adds r6, 0x2C
- strb r2, [r6]
- movs r0, 0x2D
- adds r0, r4
- mov r12, r0
- strb r2, [r0]
- adds r4, 0x2E
- strb r2, [r4]
- adds r0, r5, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08083BF8
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08083BF8
- adds r1, r5, 0
- adds r1, 0x62
- ldrb r0, [r1]
- cmp r0, 0x13
- bne _08083BA4
- ldr r0, _08083C10
- ldrb r0, [r0]
- ldrb r2, [r3]
- adds r0, r2
- strb r0, [r3]
-_08083BA4:
- ldrb r0, [r1]
- cmp r0, 0x2B
- bne _08083BB4
- ldr r0, _08083C14
- ldrb r0, [r0]
- ldrb r2, [r3]
- adds r0, r2
- strb r0, [r3]
-_08083BB4:
- ldrb r0, [r1]
- cmp r0, 0x21
- bne _08083BC4
- ldr r0, _08083C18
- ldrb r0, [r0]
- ldrb r3, [r6]
- adds r0, r3
- strb r0, [r6]
-_08083BC4:
- ldrb r0, [r1]
- cmp r0, 0x2B
- bne _08083BD4
- ldr r0, _08083C14
- ldrb r0, [r0]
- ldrb r2, [r6]
- adds r0, r2
- strb r0, [r6]
-_08083BD4:
- ldrb r0, [r1]
- cmp r0, 0x1E
- bne _08083BE8
- ldr r0, _08083C1C
- ldrb r0, [r0]
- mov r3, r12
- ldrb r3, [r3]
- adds r0, r3
- mov r2, r12
- strb r0, [r2]
-_08083BE8:
- ldrb r0, [r1]
- cmp r0, 0x22
- bne _08083BF8
- ldr r0, _08083C20
- ldrb r0, [r0]
- ldrb r3, [r4]
- adds r0, r3
- strb r0, [r4]
-_08083BF8:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08083C04: .4byte gUnknown_80FE6F4
-_08083C08: .4byte gUnknown_203B418
-_08083C0C: .4byte 0x00000644
-_08083C10: .4byte gUnknown_810AC60
-_08083C14: .4byte gUnknown_810AC68
-_08083C18: .4byte gUnknown_810AC62
-_08083C1C: .4byte gUnknown_810AC64
-_08083C20: .4byte gUnknown_810AC66
- thumb_func_end sub_8083AB0
-
- thumb_func_start sub_8083C24
-sub_8083C24:
- push {lr}
- ldr r0, _08083C3C
- ldr r0, [r0]
- ldr r1, _08083C40
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r0, r2]
- ldr r0, _08083C44
- cmp r1, r0
- ble _08083C48
- movs r0, 0
- b _08083C4A
- .align 2, 0
-_08083C3C: .4byte gUnknown_203B418
-_08083C40: .4byte 0x0001ce98
-_08083C44: .4byte 0x00000225
-_08083C48:
- movs r0, 0x1
-_08083C4A:
- pop {r1}
- bx r1
- thumb_func_end sub_8083C24
-
- thumb_func_start sub_8083C50
-sub_8083C50:
- push {lr}
- ldr r0, _08083C74
- ldr r0, [r0]
- ldr r1, _08083C78
- adds r0, r1
- movs r2, 0x14
- ldrsh r1, [r0, r2]
- ldr r0, _08083C7C
- cmp r1, r0
- beq _08083C70
- adds r0, 0x3
- cmp r1, r0
- beq _08083C70
- subs r0, 0x2
- cmp r1, r0
- bne _08083C80
-_08083C70:
- movs r0, 0x1
- b _08083C82
- .align 2, 0
-_08083C74: .4byte gUnknown_203B418
-_08083C78: .4byte 0x0001ce98
-_08083C7C: .4byte 0x00000227
-_08083C80:
- movs r0, 0
-_08083C82:
- pop {r1}
- bx r1
- thumb_func_end sub_8083C50
-
- thumb_func_start sub_8083C88
-sub_8083C88:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _08083CC4
- ldr r0, [r4]
- ldr r1, _08083CC8
- adds r5, r0, r1
- ldr r1, _08083CCC
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80900F4
- lsls r0, 24
- cmp r0, 0
- bne _08083CB6
- ldr r0, [r4]
- ldr r1, _08083CD0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08083CC0
- cmp r6, 0
- bne _08083CC0
-_08083CB6:
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- ldr r0, _08083CD4
- cmp r1, r0
- beq _08083CD8
-_08083CC0:
- movs r0, 0x1
- b _08083CDA
- .align 2, 0
-_08083CC4: .4byte gUnknown_203B418
-_08083CC8: .4byte 0x0001ce98
-_08083CCC: .4byte 0x00000644
-_08083CD0: .4byte 0x0000065c
-_08083CD4: .4byte 0x00000227
-_08083CD8:
- movs r0, 0
-_08083CDA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8083C88
-
- thumb_func_start sub_8083CE0
-sub_8083CE0:
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _08083CF2
- ldr r0, _08083D00
- movs r1, 0x1A
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- ble _08083CFC
-_08083CF2:
- ldr r0, _08083D04
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
-_08083CFC:
- pop {r0}
- bx r0
- .align 2, 0
-_08083D00: .4byte gUnknown_202EE10
-_08083D04: .4byte 0x0000012d
- thumb_func_end sub_8083CE0
-
- thumb_func_start sub_8083D08
-sub_8083D08:
- push {lr}
- movs r0, 0x97
- lsls r0, 1
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
- pop {r0}
- bx r0
- thumb_func_end sub_8083D08
-
- thumb_func_start sub_8083D1C
-sub_8083D1C:
- push {lr}
- ldr r0, _08083D2C
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
- pop {r0}
- bx r0
- .align 2, 0
-_08083D2C: .4byte 0x00000133
- thumb_func_end sub_8083D1C
-
- thumb_func_start sub_8083D30
-sub_8083D30:
- push {lr}
- ldr r0, _08083D40
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
- pop {r0}
- bx r0
- .align 2, 0
-_08083D40: .4byte 0x0000012f
- thumb_func_end sub_8083D30
-
- thumb_func_start sub_8083D44
-sub_8083D44:
- push {lr}
- movs r0, 0x98
- lsls r0, 1
- movs r1, 0x80
- lsls r1, 1
- bl sub_800C074
- pop {r0}
- bx r0
- thumb_func_end sub_8083D44
-
- thumb_func_start sub_8083D58
-sub_8083D58:
- push {lr}
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xC8
- bl sub_800C074
- pop {r0}
- bx r0
- thumb_func_end sub_8083D58
-
- thumb_func_start sub_8083D68
-sub_8083D68:
- push {lr}
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xCF
- bl sub_800C074
- pop {r0}
- bx r0
- thumb_func_end sub_8083D68
-
- thumb_func_start sub_8083D78
-sub_8083D78:
- push {lr}
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xD3
- bl sub_800C074
- pop {r0}
- bx r0
- thumb_func_end sub_8083D78
-
- thumb_func_start sub_8083D88
-sub_8083D88:
- push {lr}
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xCC
- bl sub_800C074
- pop {r0}
- bx r0
- thumb_func_end sub_8083D88
-
- thumb_func_start sub_8083D98
-sub_8083D98:
- push {lr}
- movs r0, 0x33
- bl sub_8083E88
- ldr r2, _08083DCC
- ldr r0, [r2]
- ldr r1, _08083DD0
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _08083DD4
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x27
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08083DD8
- adds r0, r1
- ldr r1, _08083DDC
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_08083DCC: .4byte gUnknown_203B418
-_08083DD0: .4byte 0x0000066f
-_08083DD4: .4byte 0x00000672
-_08083DD8: .4byte 0x0000066a
-_08083DDC: .4byte 0x000003e7
- thumb_func_end sub_8083D98
-
- thumb_func_start sub_8083DE0
-sub_8083DE0:
- push {lr}
- movs r0, 0x34
- bl sub_8083E88
- ldr r2, _08083E14
- ldr r0, [r2]
- ldr r1, _08083E18
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r3, _08083E1C
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- adds r3, 0x27
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08083E20
- adds r0, r1
- ldr r1, _08083E24
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_08083E14: .4byte gUnknown_203B418
-_08083E18: .4byte 0x0000066f
-_08083E1C: .4byte 0x00000672
-_08083E20: .4byte 0x0000066a
-_08083E24: .4byte 0x000003e7
- thumb_func_end sub_8083DE0
-
- thumb_func_start sub_8083E28
-sub_8083E28:
- push {lr}
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xCF
- bl sub_800C074
- pop {r0}
- bx r0
- thumb_func_end sub_8083E28
-
- thumb_func_start sub_8083E38
-sub_8083E38:
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _08083E54
- cmp r2, r0
- beq _08083E4E
- movs r1, 0x80
- lsls r1, 1
- adds r0, r2, 0
- bl sub_800C074
-_08083E4E:
- pop {r0}
- bx r0
- .align 2, 0
-_08083E54: .4byte 0x000003e5
- thumb_func_end sub_8083E38
-
- thumb_func_start sub_8083E58
-sub_8083E58:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _08083E70
- cmp r1, r0
- beq _08083E6A
- adds r0, r1, 0
- bl sub_800C298
-_08083E6A:
- pop {r0}
- bx r0
- .align 2, 0
-_08083E70: .4byte 0x000003e5
- thumb_func_end sub_8083E58
-
- thumb_func_start sub_8083E74
-sub_8083E74:
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_800C5D0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_8083E74
-
- thumb_func_start sub_8083E88
-sub_8083E88:
- ldr r1, _08083E9C
- ldr r1, [r1]
- ldr r3, _08083EA0
- adds r2, r1, r3
- movs r3, 0
- strh r0, [r2]
- ldr r0, _08083EA4
- adds r1, r0
- strh r3, [r1]
- bx lr
- .align 2, 0
-_08083E9C: .4byte gUnknown_203B418
-_08083EA0: .4byte 0x0001ceda
-_08083EA4: .4byte 0x0001ced4
- thumb_func_end sub_8083E88
-
- thumb_func_start sub_8083EA8
-sub_8083EA8:
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _08083ECC
- ldr r2, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r3, r4, 0
- ldr r5, _08083ED0
- adds r4, r2, r5
- orrs r0, r3
- strh r0, [r4]
- ldr r0, _08083ED4
- adds r2, r0
- strh r1, [r2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08083ECC: .4byte gUnknown_203B418
-_08083ED0: .4byte 0x0001ceda
-_08083ED4: .4byte 0x0001ced4
- thumb_func_end sub_8083EA8
-
- thumb_func_start sub_8083ED8
-sub_8083ED8:
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_80118C4
- ldr r0, _08083F00
- ldr r1, [r0]
- ldr r2, _08083F04
- adds r0, r1, r2
- ldr r2, _08083F08
- strh r2, [r0]
- ldr r3, _08083F0C
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _08083F10
- adds r1, r0
- strh r2, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08083F00: .4byte gUnknown_203B418
-_08083F04: .4byte 0x0001ced6
-_08083F08: .4byte 0x000003e7
-_08083F0C: .4byte 0x0001ced8
-_08083F10: .4byte 0x0001ceda
- thumb_func_end sub_8083ED8
-
- thumb_func_start sub_8083F14
-sub_8083F14:
- push {lr}
- bl sub_8083F34
- bl sub_8011924
- pop {r0}
- bx r0
- thumb_func_end sub_8083F14
-
- thumb_func_start sub_8083F24
-sub_8083F24:
- push {lr}
- bl sub_800C068
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8083F24
-
- thumb_func_start sub_8083F34
-sub_8083F34:
- ldr r0, _08083F4C
- ldr r0, [r0]
- ldr r1, _08083F50
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- str r1, [r0, 0x4]
- ldr r1, _08083F54
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- bx lr
- .align 2, 0
-_08083F4C: .4byte gUnknown_203B418
-_08083F50: .4byte 0x0001cecc
-_08083F54: .4byte 0x000003e7
- thumb_func_end sub_8083F34
-
- thumb_func_start sub_8083F58
-sub_8083F58:
- push {r4,lr}
- ldr r0, _08083F7C
- ldr r2, [r0]
- ldr r0, _08083F80
- adds r4, r2, r0
- ldr r1, _08083F84
- adds r3, r2, r1
- ldrh r1, [r3]
- ldr r0, _08083F88
- cmp r1, r0
- bne _08083FB2
- ldr r1, _08083F8C
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08083F90
- movs r1, 0x12
- b _08083FB2
- .align 2, 0
-_08083F7C: .4byte gUnknown_203B418
-_08083F80: .4byte 0x0001cecc
-_08083F84: .4byte 0x0000066a
-_08083F88: .4byte 0x000003e7
-_08083F8C: .4byte 0x0000066f
-_08083F90:
- ldr r1, _08083FA0
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08083FA4
- movs r1, 0x80
- b _08083FB2
- .align 2, 0
-_08083FA0: .4byte 0x00000672
-_08083FA4:
- ldr r1, _08083FC4
- adds r0, r2, r1
- ldrb r0, [r0]
- movs r1, 0x11
- cmp r0, 0
- bne _08083FB2
- ldrh r1, [r4, 0xE]
-_08083FB2:
- ldr r0, [r4]
- cmp r0, 0x4
- bne _08083FC8
- ldrh r0, [r4, 0xC]
- cmp r1, r0
- beq _08083FDA
- movs r0, 0x2
- b _08083FD6
- .align 2, 0
-_08083FC4: .4byte 0x00000699
-_08083FC8:
- ldr r2, _08083FEC
- cmp r1, r2
- beq _08083FDA
- ldrh r0, [r4, 0xA]
- cmp r0, r2
- bne _08083FDA
- movs r0, 0x1
-_08083FD6:
- str r0, [r4]
- strh r1, [r4, 0xA]
-_08083FDA:
- ldr r0, [r4]
- cmp r0, 0x4
- bhi _08084084
- lsls r0, 2
- ldr r1, _08083FF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08083FEC: .4byte 0x000003e7
-_08083FF0: .4byte _08083FF4
- .align 2, 0
-_08083FF4:
- .4byte _08084084
- .4byte _08084008
- .4byte _08084050
- .4byte _0808405E
- .4byte _08084084
-_08084008:
- ldrh r1, [r4, 0xA]
- ldr r0, _08084014
- cmp r1, r0
- bne _08084018
- movs r0, 0
- b _08084040
- .align 2, 0
-_08084014: .4byte 0x000003e7
-_08084018:
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _08084030
- ldr r0, _0808402C
- ands r0, r1
- bl sub_800BDFC
- b _0808403A
- .align 2, 0
-_0808402C: .4byte 0x00007fff
-_08084030:
- ldr r0, _08084048
- ands r0, r1
- ldrh r1, [r4, 0x8]
- bl sub_800BE8C
-_0808403A:
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0x4
-_08084040:
- str r0, [r4]
- ldr r0, _0808404C
- strh r0, [r4, 0xA]
- b _08084084
- .align 2, 0
-_08084048: .4byte 0x00007fff
-_0808404C: .4byte 0x000003e7
-_08084050:
- movs r0, 0x1E
- bl sub_800BFD0
- movs r0, 0x1E
- str r0, [r4, 0x4]
- movs r0, 0x3
- b _08084082
-_0808405E:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0808406C
- subs r0, 0x1
- str r0, [r4, 0x4]
- cmp r0, 0
- bne _08084084
-_0808406C:
- ldrh r1, [r4, 0xA]
- ldr r0, _0808407C
- cmp r1, r0
- bne _08084080
- bl sub_800BF80
- movs r0, 0
- b _08084082
- .align 2, 0
-_0808407C: .4byte 0x000003e7
-_08084080:
- movs r0, 0x1
-_08084082:
- str r0, [r4]
-_08084084:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8083F58
-
- thumb_func_start sub_808408C
-sub_808408C:
- ldr r2, _0808409C
- movs r1, 0x1
- orrs r1, r0
- ldr r0, _080840A0
- ands r0, r1
- str r0, [r2]
- bx lr
- .align 2, 0
-_0808409C: .4byte gUnknown_203B458
-_080840A0: .4byte 0x00ffffff
- thumb_func_end sub_808408C
-
- thumb_func_start sub_80840A4
-sub_80840A4:
- ldr r3, _080840C8
- ldr r0, [r3]
- ldr r2, _080840CC
- adds r1, r0, 0
- muls r1, r2
- adds r1, 0x1
- lsrs r0, r1, 16
- muls r1, r2
- adds r1, 0x1
- str r1, [r3]
- ldr r2, _080840D0
- ands r1, r2
- orrs r0, r1
- ldr r1, _080840D4
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- bx lr
- .align 2, 0
-_080840C8: .4byte gUnknown_203B458
-_080840CC: .4byte 0x5d588b65
-_080840D0: .4byte 0xffff0000
-_080840D4: .4byte 0x00ffffff
- thumb_func_end sub_80840A4
-
- thumb_func_start sub_80840D8
-sub_80840D8:
- ldr r2, _080840E4
- movs r1, 0x1
- orrs r1, r0
- str r1, [r2]
- bx lr
- .align 2, 0
-_080840E4: .4byte gUnknown_203B454
- thumb_func_end sub_80840D8
-
- thumb_func_start sub_80840E8
-sub_80840E8:
- ldr r2, _080840F8
- ldr r1, [r2]
- ldr r0, _080840FC
- muls r0, r1
- adds r0, 0x1
- str r0, [r2]
- lsrs r0, 16
- bx lr
- .align 2, 0
-_080840F8: .4byte gUnknown_203B454
-_080840FC: .4byte 0x5d588b65
- thumb_func_end sub_80840E8
-
- thumb_func_start sub_8084100
-sub_8084100:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80840E8
- ldr r1, _08084118
- ands r0, r1
- muls r0, r4
- asrs r0, 16
- ands r0, r1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08084118: .4byte 0x0000ffff
- thumb_func_end sub_8084100
-
- thumb_func_start sub_808411C
-sub_808411C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r5, r4
- beq _0808413C
- cmp r5, r4
- blt _08084134
- subs r0, r5, r4
- bl sub_8084100
- adds r0, r4
- b _0808413C
-_08084134:
- subs r0, r4, r5
- bl sub_8084100
- adds r0, r5
-_0808413C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808411C
-
- thumb_func_start sub_8084144
-sub_8084144:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x64
- bl sub_8084100
- cmp r0, r4
- blt _08084156
- movs r0, 0
- b _08084158
-_08084156:
- movs r0, 0x1
-_08084158:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084144
-
- thumb_func_start sub_8084160
-sub_8084160:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x64
- bl sub_8084100
- cmp r0, r4
- blt _08084172
- movs r0, 0
- b _08084174
-_08084172:
- movs r0, 0x1
-_08084174:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8084160
-
- thumb_func_start sub_808417C
-sub_808417C:
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r2, 24
- lsrs r6, r2, 24
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl sub_808411C
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080841DC
- adds r0, r5, 0
- bl sub_80450F8
- cmp r0, 0x1
- bne _080841DC
- cmp r6, 0
- beq _080841DC
- adds r0, r5, 0
- movs r1, 0x12
- bl sub_80718D8
- lsls r0, 24
- cmp r0, 0
- beq _080841C4
- cmp r4, 0x7F
- beq _080841C4
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r4, r0, 1
-_080841C4:
- adds r0, r5, 0
- movs r1, 0x14
- bl sub_8071824
- lsls r0, 24
- cmp r0, 0
- beq _080841DC
- cmp r4, 0x7F
- beq _080841DC
- cmp r4, 0x4
- ble _080841DC
- movs r4, 0x5
-_080841DC:
- cmp r4, 0
- bgt _080841E2
- movs r4, 0x1
-_080841E2:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808417C
-
- thumb_func_start sub_80841EC
-sub_80841EC:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC4
- add r0, sp, 0x60
- mov r8, r0
- movs r1, 0
- movs r2, 0x60
- bl memset
- movs r0, 0x6
- str r0, [sp, 0x64]
- add r1, sp, 0x68
- movs r6, 0
- movs r0, 0x4
- strh r0, [r1]
- movs r2, 0x3
- strh r2, [r1, 0x2]
- add r1, sp, 0x6C
- movs r0, 0x16
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x6E
- movs r5, 0xE
- movs r1, 0xE
- strh r1, [r0]
- add r0, sp, 0x70
- strh r1, [r0]
- add r4, sp, 0xC0
- str r4, [sp, 0x74]
- str r2, [sp, 0x7C]
- add r0, sp, 0x90
- str r2, [r0, 0x4]
- add r0, sp, 0xA8
- str r2, [r0, 0x4]
- mov r0, sp
- mov r1, r8
- movs r2, 0x60
- bl memcpy
- movs r0, 0x1
- strb r0, [r4]
- strb r6, [r4, 0x1]
- strb r5, [r4, 0x2]
- strb r6, [r4, 0x3]
- mov r1, sp
- movs r0, 0x14
- strh r0, [r1, 0xA]
- mov r0, sp
- movs r1, 0x1
- bl sub_803ECB4
- ldr r0, _0808426C
- ldr r0, [r0]
- ldr r1, _08084270
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, _08084274
- cmp r1, r0
- ble _08084278
- bl sub_8083DE0
- b _0808427C
- .align 2, 0
-_0808426C: .4byte gUnknown_203B418
-_08084270: .4byte 0x0001ceac
-_08084274: .4byte 0x00000225
-_08084278:
- bl sub_8083D98
-_0808427C:
- ldr r0, _080842B8
- ldr r1, [r0]
- ldr r0, _080842BC
- ldr r2, [r0]
- ldr r0, _080842C0
- adds r2, r0
- movs r0, 0
- bl sub_8094558
- mov r4, sp
-_08084290:
- movs r0, 0x36
- bl sub_803E668
- bl sub_8083F58
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- ble _080842C4
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0xA0
- strb r0, [r4]
- mov r0, sp
- movs r1, 0x1
- bl sub_803ECB4
- b _08084290
- .align 2, 0
-_080842B8: .4byte gUnknown_80FE6E8
-_080842BC: .4byte gUnknown_203B418
-_080842C0: .4byte 0x0001ce98
-_080842C4:
- bl sub_8094D14
- lsls r0, 24
- cmp r0, 0
- bne _080842DA
- ldr r0, _080842EC
- ldrh r1, [r0, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08084290
-_080842DA:
- bl sub_8083D08
- add sp, 0xC4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080842EC: .4byte gUnknown_20255F0
- thumb_func_end sub_80841EC
-
- thumb_func_start sub_80842F0
-sub_80842F0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _0808436C
- ldr r0, [r1]
- ldr r2, _08084370
- adds r0, r2
- movs r2, 0
- strb r2, [r0]
- ldr r0, [r1]
- ldr r3, _08084374
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r1]
- movs r5, 0xCF
- lsls r5, 3
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080843AE
- movs r6, 0
- ldr r0, _08084378
- mov r8, r0
- movs r7, 0x1
-_08084320:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x6
- bne _080843A8
- ldr r3, _0808436C
- ldr r5, [r3]
- ldr r1, _0808437C
- adds r0, r5, r1
- ldrh r0, [r0]
- ldrh r2, [r4, 0x4]
- mov r1, r8
- ands r1, r0
- mov r0, r8
- ands r0, r2
- cmp r1, r0
- bne _080843A8
- ldrb r0, [r4, 0x1]
- cmp r0, 0x3
- beq _080843A8
- cmp r0, 0x4
- bne _08084380
- ldrb r1, [r4, 0x10]
- ldr r2, _08084374
- adds r0, r5, r2
- strb r1, [r0]
- ldr r2, [r3]
- ldrh r1, [r4, 0xE]
- movs r3, 0xD1
- lsls r3, 3
- adds r0, r2, r3
- strh r1, [r0]
- strb r7, [r2, 0x9]
- b _080843A8
- .align 2, 0
-_0808436C: .4byte gUnknown_203B418
-_08084370: .4byte 0x00000677
-_08084374: .4byte 0x0000068a
-_08084378: .4byte 0x0000ffff
-_0808437C: .4byte 0x00000644
-_08084380:
- cmp r0, 0
- beq _0808438C
- cmp r0, 0x2
- beq _0808438C
- cmp r0, 0x1
- bne _080843A8
-_0808438C:
- ldr r2, [r3]
- ldrh r0, [r4, 0xE]
- movs r5, 0xD1
- lsls r5, 3
- adds r1, r2, r5
- strh r0, [r1]
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _080843A4
- ldr r1, _080843B8
- adds r0, r2, r1
- strb r7, [r0]
-_080843A4:
- ldr r0, [r3]
- strb r7, [r0, 0x9]
-_080843A8:
- adds r6, 0x1
- cmp r6, 0x7
- ble _08084320
-_080843AE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080843B8: .4byte 0x00000677
- thumb_func_end sub_80842F0
-
- thumb_func_start sub_80843BC
-sub_80843BC:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r6, r0, 16
- movs r4, 0
- ldr r5, _08084418
-_080843C6:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r3, r0, 0
- ldrb r0, [r3]
- cmp r0, 0x6
- bne _0808440C
- ldr r0, _0808441C
- ldr r0, [r0]
- ldr r1, _08084420
- adds r0, r1
- ldrh r0, [r0]
- ldrh r2, [r3, 0x4]
- adds r1, r5, 0
- ands r1, r0
- adds r0, r5, 0
- ands r0, r2
- cmp r1, r0
- bne _0808440C
- ldrb r0, [r3, 0x1]
- cmp r0, 0
- beq _08084400
- cmp r0, 0x4
- beq _08084400
- cmp r0, 0x2
- beq _08084400
- cmp r0, 0x1
- bne _0808440C
-_08084400:
- movs r1, 0xE
- ldrsh r0, [r3, r1]
- cmp r6, r0
- bne _0808440C
- movs r0, 0x8
- strb r0, [r3]
-_0808440C:
- adds r4, 0x1
- cmp r4, 0x7
- ble _080843C6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08084418: .4byte 0x0000ffff
-_0808441C: .4byte gUnknown_203B418
-_08084420: .4byte 0x00000644
- thumb_func_end sub_80843BC
-
- thumb_func_start sub_8084424
-sub_8084424:
- push {r4,lr}
- movs r4, 0
-_08084428:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _0808443C
- movs r0, 0x9
- strb r0, [r1]
-_0808443C:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08084428
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8084424
-
- thumb_func_start sub_8084448
-sub_8084448:
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r7, [r5, 0x70]
- ldr r4, _0808447C
- bl sub_8083600
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r5, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- bne _08084484
- ldr r0, _08084480
- b _080844F0
- .align 2, 0
-_0808447C: .4byte gUnknown_202DF98
-_08084480: .4byte gUnknown_80FA464
-_08084484:
- ldr r4, _080844FC
- ldr r0, [r4]
- ldr r6, _08084500
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08084540
- ldr r0, _08084504
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- beq _080844A4
- b _080845D4
-_080844A4:
- ldr r0, _08084508
- ldr r1, [r4]
- adds r1, r6
- ldrb r1, [r1]
- movs r2, 0
- bl sub_8090DC4
- movs r3, 0
- ldr r0, _0808450C
- adds r6, r0, 0
- ldr r2, [r6]
-_080844BA:
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080844E2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080844E2
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0x18
- beq _080844E2
- ldr r0, [r4]
- ldr r1, _08084500
- adds r0, r1
- ldrb r1, [r2, 0x2]
- ldrb r0, [r0]
- cmp r1, r0
- beq _080844EA
-_080844E2:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _080844BA
-_080844EA:
- cmp r3, 0x14
- bne _08084514
- ldr r0, _08084510
-_080844F0:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _080845D4
- .align 2, 0
-_080844FC: .4byte gUnknown_203B418
-_08084500: .4byte 0x0000068a
-_08084504: .4byte gUnknown_80FA32C
-_08084508: .4byte gUnknown_202DE58
-_0808450C: .4byte gUnknown_203B460
-_08084510: .4byte gUnknown_80FA448
-_08084514:
- lsls r1, r3, 2
- ldr r0, [r6]
- adds r1, r0
- movs r0, 0
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x1]
- strb r0, [r1]
- bl sub_80910B4
- ldr r0, _08084538
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- ldr r0, _0808453C
- b _0808455E
- .align 2, 0
-_08084538: .4byte gUnknown_80FA2B0
-_0808453C: .4byte gUnknown_80FA370
-_08084540:
- ldr r0, _080845B0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _080845D4
- ldr r0, _080845B4
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- ldr r0, _080845B8
-_0808455E:
- ldr r4, [r0]
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- bl sub_80843BC
- adds r0, r5, 0x4
- bl sub_8042A34
- movs r1, 0x87
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0
- bl sub_8068FE0
- movs r0, 0x1
- bl sub_804178C
- ldr r5, _080845BC
-_08084582:
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _080845C4
- ldr r0, _080845C0
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- adds r1, r0, 0
- cmp r1, 0x1
- bne _08084582
- ldr r0, [r5]
- strb r1, [r0, 0x4]
- ldr r1, [r5]
- movs r0, 0x2
- strb r0, [r1, 0x11]
- b _080845D4
- .align 2, 0
-_080845B0: .4byte gUnknown_80FA2F0
-_080845B4: .4byte gUnknown_80FA260
-_080845B8: .4byte gUnknown_80FA36C
-_080845BC: .4byte gUnknown_203B418
-_080845C0: .4byte gUnknown_80FA394
-_080845C4:
- ldr r0, _080845DC
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08084582
-_080845D4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080845DC: .4byte gUnknown_80FA3B8
- thumb_func_end sub_8084448
-
- thumb_func_start sub_80845E0
-sub_80845E0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- mov r8, r0
- movs r7, 0
- movs r1, 0
- mov r9, r1
- ldr r4, _08084620
- bl sub_8083600
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045B94
- adds r4, 0x50
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r6, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- bne _08084630
- ldr r0, _08084624
- b _080846B4
- .align 2, 0
-_08084620: .4byte gUnknown_202DF98
-_08084624: .4byte gUnknown_80FA530
-_08084628:
- adds r7, r4, 0
- ldr r2, [r7, 0x70]
- mov r9, r2
- b _08084674
-_08084630:
- movs r5, 0
-_08084632:
- ldr r0, _08084660
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08084664
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0808466E
- ldr r0, [r4, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x4A
- beq _0808465A
- cmp r0, 0x47
- bne _08084668
-_0808465A:
- movs r0, 0x1
- b _0808466A
- .align 2, 0
-_08084660: .4byte gUnknown_203B418
-_08084664: .4byte 0x0001357c
-_08084668:
- movs r0, 0
-_0808466A:
- cmp r0, 0
- bne _08084628
-_0808466E:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08084632
-_08084674:
- cmp r7, 0
- bne _08084680
- ldr r0, _0808467C
- b _080846B4
- .align 2, 0
-_0808467C: .4byte gUnknown_80FA52C
-_08084680:
- ldr r0, _0808469C
- adds r1, r7, 0
- movs r2, 0
- bl sub_8045B94
- adds r0, r7, 0
- bl sub_8070BC0
- lsls r0, 24
- cmp r0, 0
- bne _080846A4
- ldr r0, _080846A0
- b _080846B4
- .align 2, 0
-_0808469C: .4byte gUnknown_202E038
-_080846A0: .4byte gUnknown_80FA54C
-_080846A4:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8045990
- lsls r0, 24
- cmp r0, 0
- bne _080846C4
- ldr r0, _080846C0
-_080846B4:
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- b _08084768
- .align 2, 0
-_080846C0: .4byte gUnknown_80FA500
-_080846C4:
- ldr r0, _08084744
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0x1
- bl PrintFieldMessage
- mov r1, r8
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- bl sub_80843BC
- ldr r5, _08084748
- ldr r0, [r5]
- ldr r1, _0808474C
- adds r0, r1
- ldrb r1, [r0]
- mov r0, r9
- adds r0, 0x40
- strb r1, [r0]
- adds r0, r6, 0x4
- bl sub_8042A34
- adds r0, r7, 0x4
- bl sub_8042A34
- movs r4, 0x87
- lsls r4, 2
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8068FE0
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8068FE0
- movs r0, 0x1
- bl sub_804178C
- ldr r4, _08084750
-_08084716:
- movs r0, 0
- ldr r1, [r4]
- movs r2, 0x1
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08084758
- ldr r0, _08084754
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- adds r1, r0, 0
- cmp r1, 0x1
- bne _08084716
- ldr r0, [r5]
- strb r1, [r0, 0x4]
- ldr r1, [r5]
- movs r0, 0x2
- strb r0, [r1, 0x11]
- b _08084768
- .align 2, 0
-_08084744: .4byte gUnknown_80FA4D4
-_08084748: .4byte gUnknown_203B418
-_0808474C: .4byte 0x00000644
-_08084750: .4byte gUnknown_80FA4D8
-_08084754: .4byte gUnknown_80FA394
-_08084758:
- ldr r0, _08084774
- ldr r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_8052B8C
- cmp r0, 0x1
- bne _08084716
-_08084768:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08084774: .4byte gUnknown_80FA3B8
- thumb_func_end sub_80845E0
-
- thumb_func_start sub_8084778
-sub_8084778:
- push {r4,lr}
- ldr r0, _080847B8
- ldr r1, _080847BC
- bl strcpy
- movs r4, 0
-_08084784:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8096AB4
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x6
- bne _080847C8
- ldr r0, _080847C0
- ldr r0, [r0]
- ldr r2, _080847C4
- adds r0, r2
- ldrb r0, [r0]
- ldrb r2, [r1, 0x4]
- cmp r0, r2
- bne _080847C8
- ldrb r0, [r1, 0x1]
- cmp r0, 0x2
- bne _080847C8
- movs r0, 0xE
- ldrsh r1, [r1, r0]
- ldr r0, _080847B8
- bl sub_808D908
- b _080847CE
- .align 2, 0
-_080847B8: .4byte gUnknown_202E088
-_080847BC: .4byte gUnknown_8107224
-_080847C0: .4byte gUnknown_203B418
-_080847C4: .4byte 0x00000644
-_080847C8:
- adds r4, 0x1
- cmp r4, 0x7
- ble _08084784
-_080847CE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8084778
-
- thumb_func_start sub_80847D4
-sub_80847D4:
- push {r4,r5,lr}
- ldr r2, _08084820
- ldr r0, [r2]
- ldr r1, _08084824
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldr r2, _08084828
- adds r0, r2
- strb r1, [r0]
- bl sub_8040A84
- movs r4, 0
- ldr r0, _0808482C
- ldrb r0, [r0]
- cmp r0, 0
- beq _08084846
- movs r3, 0
-_080847FA:
- ldr r0, _08084820
- ldr r0, [r0]
- ldr r5, _08084830
- adds r0, r5
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r1, 0
- subs r0, 0x1C
- cmp r0, 0x15
- bhi _08084810
- movs r1, 0x1B
-_08084810:
- ldr r2, _0808482C
- adds r0, r3, r2
- ldrb r5, [r0]
- cmp r1, r5
- bne _08084834
- bl sub_8084854
- b _08084846
- .align 2, 0
-_08084820: .4byte gUnknown_203B418
-_08084824: .4byte 0x00003a0d
-_08084828: .4byte 0x0001356c
-_0808482C: .4byte gUnknown_8107234
-_08084830: .4byte 0x00003a14
-_08084834:
- adds r3, 0x8
- adds r4, 0x1
- ldr r0, _08084850
- cmp r4, r0
- bgt _08084846
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080847FA
-_08084846:
- bl sub_8097FF8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08084850: .4byte 0x000003e6
- thumb_func_end sub_80847D4
-
- thumb_func_start sub_8084854
-sub_8084854:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08084874
- ldr r2, [r5]
- movs r1, 0xCF
- lsls r1, 3
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808487C
- ldrb r1, [r4, 0x5]
- ldr r3, _08084878
- adds r0, r2, r3
- strb r1, [r0]
- b _080848C8
- .align 2, 0
-_08084874: .4byte gUnknown_203B418
-_08084878: .4byte 0x00003a0d
-_0808487C:
- ldrb r0, [r4, 0x4]
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- beq _08084898
- ldr r0, [r5]
- ldrb r1, [r4, 0x5]
- ldr r2, _08084894
- adds r0, r2
- strb r1, [r0]
- b _080848C8
- .align 2, 0
-_08084894: .4byte 0x00003a0d
-_08084898:
- ldrb r0, [r4, 0x2]
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- beq _080848B4
- ldr r0, [r5]
- ldrb r1, [r4, 0x3]
- ldr r3, _080848B0
- adds r0, r3
- strb r1, [r0]
- b _080848C8
- .align 2, 0
-_080848B0: .4byte 0x00003a0d
-_080848B4:
- ldr r0, [r5]
- ldrb r1, [r4, 0x1]
- ldr r2, _080848E0
- adds r0, r2
- strb r1, [r0]
- ldrb r0, [r4, 0x2]
- cmp r0, 0x40
- beq _080848C8
- bl sub_8097FA8
-_080848C8:
- ldr r0, _080848E4
- ldr r0, [r0]
- ldr r3, _080848E8
- adds r0, r3
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0
- bl sub_807E5E4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080848E0: .4byte 0x00003a0d
-_080848E4: .4byte gUnknown_203B418
-_080848E8: .4byte 0x00000675
- thumb_func_end sub_8084854
-
- thumb_func_start sub_80848EC
-sub_80848EC:
- movs r0, 0x1
- bx lr
- thumb_func_end sub_80848EC
-
- thumb_func_start sub_80848F0
-sub_80848F0:
- push {lr}
- ldr r2, _08084918
- ldr r0, [r2]
- ldr r1, _0808491C
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldr r1, _08084920
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3C
- bls _0808490C
- b _08084B5C
-_0808490C:
- lsls r0, 2
- ldr r1, _08084924
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08084918: .4byte gUnknown_203B418
-_0808491C: .4byte 0x0001356c
-_08084920: .4byte 0x00003a0d
-_08084924: .4byte _08084928
- .align 2, 0
-_08084928:
- .4byte _08084A1C
- .4byte _08084A2C
- .4byte _08084A2C
- .4byte _08084A32
- .4byte _08084A38
- .4byte _08084A38
- .4byte _08084A3E
- .4byte _08084A44
- .4byte _08084A44
- .4byte _08084A4A
- .4byte _08084A50
- .4byte _08084A50
- .4byte _08084A56
- .4byte _08084A5C
- .4byte _08084A62
- .4byte _08084A68
- .4byte _08084A6E
- .4byte _08084A74
- .4byte _08084A7A
- .4byte _08084A80
- .4byte _08084A86
- .4byte _08084A8C
- .4byte _08084A92
- .4byte _08084A98
- .4byte _08084A98
- .4byte _08084A9E
- .4byte _08084AA4
- .4byte _08084AA4
- .4byte _08084AAA
- .4byte _08084AB0
- .4byte _08084AB0
- .4byte _08084AB6
- .4byte _08084ABC
- .4byte _08084ABC
- .4byte _08084AC2
- .4byte _08084AC8
- .4byte _08084ACE
- .4byte _08084AD4
- .4byte _08084ADA
- .4byte _08084AE0
- .4byte _08084AE6
- .4byte _08084AEC
- .4byte _08084AF2
- .4byte _08084AF8
- .4byte _08084AFE
- .4byte _08084B04
- .4byte _08084B0A
- .4byte _08084B10
- .4byte _08084B16
- .4byte _08084B1C
- .4byte _08084B22
- .4byte _08084B28
- .4byte _08084B2E
- .4byte _08084B34
- .4byte _08084B3A
- .4byte _08084B40
- .4byte _08084B46
- .4byte _08084B4C
- .4byte _08084B52
- .4byte _08084B58
- .4byte _08084A1C
-_08084A1C:
- ldr r0, [r2]
- ldr r1, _08084A28
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _08084B5C
- .align 2, 0
-_08084A28: .4byte 0x0001356c
-_08084A2C:
- bl sub_8086B14
- b _08084B5C
-_08084A32:
- bl sub_8086B94
- b _08084B5C
-_08084A38:
- bl sub_8086E9C
- b _08084B5C
-_08084A3E:
- bl sub_8086F00
- b _08084B5C
-_08084A44:
- bl sub_8087230
- b _08084B5C
-_08084A4A:
- bl sub_808729C
- b _08084B5C
-_08084A50:
- bl sub_80877E8
- b _08084B5C
-_08084A56:
- bl sub_8087848
- b _08084B5C
-_08084A5C:
- bl sub_8087F54
- b _08084B5C
-_08084A62:
- bl sub_8087FB4
- b _08084B5C
-_08084A68:
- bl sub_8087FF8
- b _08084B5C
-_08084A6E:
- bl sub_80885A0
- b _08084B5C
-_08084A74:
- bl sub_80885C4
- b _08084B5C
-_08084A7A:
- bl sub_808862C
- b _08084B5C
-_08084A80:
- bl sub_80886C4
- b _08084B5C
-_08084A86:
- bl sub_808875C
- b _08084B5C
-_08084A8C:
- bl sub_8088DC0
- b _08084B5C
-_08084A92:
- bl sub_8088E5C
- b _08084B5C
-_08084A98:
- bl sub_80892C8
- b _08084B5C
-_08084A9E:
- bl sub_8089328
- b _08084B5C
-_08084AA4:
- bl sub_808970C
- b _08084B5C
-_08084AAA:
- bl sub_808974C
- b _08084B5C
-_08084AB0:
- bl sub_8089914
- b _08084B5C
-_08084AB6:
- bl sub_8089978
- b _08084B5C
-_08084ABC:
- bl sub_8089C44
- b _08084B5C
-_08084AC2:
- bl sub_8089C90
- b _08084B5C
-_08084AC8:
- bl sub_8089EFC
- b _08084B5C
-_08084ACE:
- bl sub_8089F44
- b _08084B5C
-_08084AD4:
- bl sub_8089F8C
- b _08084B5C
-_08084ADA:
- bl sub_808A264
- b _08084B5C
-_08084AE0:
- bl sub_808A2C0
- b _08084B5C
-_08084AE6:
- bl sub_808A308
- b _08084B5C
-_08084AEC:
- bl sub_808A608
- b _08084B5C
-_08084AF2:
- bl sub_808A668
- b _08084B5C
-_08084AF8:
- bl sub_808A9E4
- b _08084B5C
-_08084AFE:
- bl sub_808AA3C
- b _08084B5C
-_08084B04:
- bl sub_808AA94
- b _08084B5C
-_08084B0A:
- bl sub_808ACC0
- b _08084B5C
-_08084B10:
- bl sub_808AD48
- b _08084B5C
-_08084B16:
- bl sub_808ADCC
- b _08084B5C
-_08084B1C:
- bl sub_808B2F4
- b _08084B5C
-_08084B22:
- bl sub_808B35C
- b _08084B5C
-_08084B28:
- bl sub_808BDEC
- b _08084B5C
-_08084B2E:
- bl sub_808C10C
- b _08084B5C
-_08084B34:
- bl sub_808C3A0
- b _08084B5C
-_08084B3A:
- bl sub_808C5C0
- b _08084B5C
-_08084B40:
- bl sub_808C938
- b _08084B5C
-_08084B46:
- bl sub_808C9C4
- b _08084B5C
-_08084B4C:
- bl sub_808CB5C
- b _08084B5C
-_08084B52:
- bl sub_808CBB0
- b _08084B5C
-_08084B58:
- bl sub_808CD44
-_08084B5C:
- bl sub_8097FF8
- pop {r0}
- bx r0
- thumb_func_end sub_80848F0
-
- thumb_func_start sub_8084B64
-sub_8084B64:
- push {lr}
- ldr r0, _08084B80
- ldr r0, [r0]
- ldr r1, _08084B84
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3C
- bls _08084B76
- b _08084DDA
-_08084B76:
- lsls r0, 2
- ldr r1, _08084B88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08084B80: .4byte gUnknown_203B418
-_08084B84: .4byte 0x00003a0d
-_08084B88: .4byte _08084B8C
- .align 2, 0
-_08084B8C:
- .4byte _08084DDA
- .4byte _08084C80
- .4byte _08084C86
- .4byte _08084C8C
- .4byte _08084C92
- .4byte _08084C98
- .4byte _08084C9E
- .4byte _08084CA4
- .4byte _08084CAA
- .4byte _08084CB0
- .4byte _08084CB6
- .4byte _08084CBC
- .4byte _08084CC2
- .4byte _08084CC8
- .4byte _08084CCE
- .4byte _08084CD4
- .4byte _08084CDA
- .4byte _08084CE0
- .4byte _08084CE6
- .4byte _08084CEC
- .4byte _08084CF2
- .4byte _08084CF8
- .4byte _08084CFE
- .4byte _08084D04
- .4byte _08084D0A
- .4byte _08084D10
- .4byte _08084D16
- .4byte _08084D1C
- .4byte _08084D22
- .4byte _08084D28
- .4byte _08084D28
- .4byte _08084D2E
- .4byte _08084D34
- .4byte _08084D3A
- .4byte _08084D40
- .4byte _08084D46
- .4byte _08084D4C
- .4byte _08084D52
- .4byte _08084D58
- .4byte _08084D5E
- .4byte _08084D64
- .4byte _08084D6A
- .4byte _08084D70
- .4byte _08084D76
- .4byte _08084D7C
- .4byte _08084D82
- .4byte _08084D88
- .4byte _08084D8E
- .4byte _08084D94
- .4byte _08084D9A
- .4byte _08084DA0
- .4byte _08084DA6
- .4byte _08084DAC
- .4byte _08084DB2
- .4byte _08084DB8
- .4byte _08084DBE
- .4byte _08084DC4
- .4byte _08084DCA
- .4byte _08084DD0
- .4byte _08084DD6
- .4byte _08084DDA
-_08084C80:
- bl sub_8086C0C
- b _08084DDA
-_08084C86:
- bl sub_8086DAC
- b _08084DDA
-_08084C8C:
- bl sub_8086E40
- b _08084DDA
-_08084C92:
- bl sub_8086FB8
- b _08084DDA
-_08084C98:
- bl sub_8087064
- b _08084DDA
-_08084C9E:
- bl sub_8087130
- b _08084DDA
-_08084CA4:
- bl sub_8087364
- b _08084DDA
-_08084CAA:
- bl sub_80875C0
- b _08084DDA
-_08084CB0:
- bl sub_808765C
- b _08084DDA
-_08084CB6:
- bl sub_8087924
- b _08084DDA
-_08084CBC:
- bl sub_8087B20
- b _08084DDA
-_08084CC2:
- bl sub_8087C38
- b _08084DDA
-_08084CC8:
- bl sub_80880B8
- b _08084DDA
-_08084CCE:
- bl sub_8088304
- b _08084DDA
-_08084CD4:
- bl sub_8088398
- b _08084DDA
-_08084CDA:
- bl sub_8088608
- b _08084DDA
-_08084CE0:
- bl sub_8088618
- b _08084DDA
-_08084CE6:
- bl sub_8088854
- b _08084DDA
-_08084CEC:
- bl sub_8088A9C
- b _08084DDA
-_08084CF2:
- bl sub_8088B60
- b _08084DDA
-_08084CF8:
- bl sub_8088EF4
- b _08084DDA
-_08084CFE:
- bl sub_8089168
- b _08084DDA
-_08084D04:
- bl sub_80893E4
- b _08084DDA
-_08084D0A:
- bl sub_8089500
- b _08084DDA
-_08084D10:
- bl sub_8089588
- b _08084DDA
-_08084D16:
- bl sub_80897F0
- b _08084DDA
-_08084D1C:
- bl sub_8089878
- b _08084DDA
-_08084D22:
- bl sub_80898E4
- b _08084DDA
-_08084D28:
- bl sub_8089A30
- b _08084DDA
-_08084D2E:
- bl sub_8089AD4
- b _08084DDA
-_08084D34:
- bl sub_8089D2C
- b _08084DDA
-_08084D3A:
- bl sub_8089D8C
- b _08084DDA
-_08084D40:
- bl sub_8089DEC
- b _08084DDA
-_08084D46:
- bl sub_808A020
- b _08084DDA
-_08084D4C:
- bl sub_808A0C8
- b _08084DDA
-_08084D52:
- bl sub_808A144
- b _08084DDA
-_08084D58:
- bl sub_808A39C
- b _08084DDA
-_08084D5E:
- bl sub_808A454
- b _08084DDA
-_08084D64:
- bl sub_808A4B0
- b _08084DDA
-_08084D6A:
- bl sub_808A724
- b _08084DDA
-_08084D70:
- bl sub_808A828
- b _08084DDA
-_08084D76:
- bl sub_808AB20
- b _08084DDA
-_08084D7C:
- bl sub_808ABD8
- b _08084DDA
-_08084D82:
- bl sub_808AC3C
- b _08084DDA
-_08084D88:
- bl sub_808B130
- b _08084DDA
-_08084D8E:
- bl sub_808B164
- b _08084DDA
-_08084D94:
- bl sub_808B198
- b _08084DDA
-_08084D9A:
- bl sub_808B45C
- b _08084DDA
-_08084DA0:
- bl sub_808BA78
- b _08084DDA
-_08084DA6:
- bl sub_808BE94
- b _08084DDA
-_08084DAC:
- bl sub_808C1CC
- b _08084DDA
-_08084DB2:
- bl sub_808C43C
- b _08084DDA
-_08084DB8:
- bl sub_808C628
- b _08084DDA
-_08084DBE:
- bl sub_808C998
- b _08084DDA
-_08084DC4:
- bl sub_808CA1C
- b _08084DDA
-_08084DCA:
- bl nullsub_101
- b _08084DDA
-_08084DD0:
- bl sub_808CC04
- b _08084DDA
-_08084DD6:
- bl sub_808CD9C
-_08084DDA:
- bl sub_8085764
- bl sub_80857B8
- ldr r0, _08084DF8
- ldr r0, [r0]
- ldr r1, _08084DFC
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_8097FF8
- pop {r0}
- bx r0
- .align 2, 0
-_08084DF8: .4byte gUnknown_203B418
-_08084DFC: .4byte 0x0001356c
- thumb_func_end sub_8084B64
-
- thumb_func_start sub_8084E00
-sub_8084E00:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r3, 0
- bne _08084E12
- b _0808512E
-_08084E12:
- ldr r1, _08084E30
- ldr r0, [r1]
- ldr r2, _08084E34
- adds r0, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x3C
- bls _08084E24
- b _0808511A
-_08084E24:
- lsls r0, 2
- ldr r1, _08084E38
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08084E30: .4byte gUnknown_203B418
-_08084E34: .4byte 0x00003a0d
-_08084E38: .4byte _08084E3C
- .align 2, 0
-_08084E3C:
- .4byte _0808511A
- .4byte _08084F30
- .4byte _08084F30
- .4byte _0808511A
- .4byte _08084F44
- .4byte _08084F44
- .4byte _0808511A
- .4byte _08084F58
- .4byte _08084F58
- .4byte _08084F58
- .4byte _08084F6C
- .4byte _08084F6C
- .4byte _08084F6C
- .4byte _08084F80
- .4byte _08084F80
- .4byte _08084F80
- .4byte _0808511A
- .4byte _0808511A
- .4byte _08084F94
- .4byte _08084F94
- .4byte _08084F94
- .4byte _0808511A
- .4byte _0808511A
- .4byte _08084FA8
- .4byte _08084FA8
- .4byte _08084FA8
- .4byte _08084FBC
- .4byte _08084FBC
- .4byte _0808511A
- .4byte _08084FD4
- .4byte _08084FD4
- .4byte _08084FD4
- .4byte _08084FE8
- .4byte _08084FE8
- .4byte _08084FE8
- .4byte _08084FFC
- .4byte _08084FFC
- .4byte _08084FFC
- .4byte _08085010
- .4byte _08085010
- .4byte _08085010
- .4byte _08085024
- .4byte _08085024
- .4byte _08085038
- .4byte _08085038
- .4byte _08085038
- .4byte _0808504C
- .4byte _08085064
- .4byte _0808507C
- .4byte _08085094
- .4byte _08085094
- .4byte _080850AC
- .4byte _080850C4
- .4byte _080850DC
- .4byte _080850F4
- .4byte _0808510C
- .4byte _0808511A
- .4byte _0808511A
- .4byte _0808511A
- .4byte _0808511A
- .4byte _0808511A
-_08084F30:
- ldr r0, [r2]
- ldr r1, _08084F40
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8086BDC
- b _0808511A
- .align 2, 0
-_08084F40: .4byte 0x00003a0d
-_08084F44:
- ldr r0, [r2]
- ldr r2, _08084F54
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8086F54
- b _0808511A
- .align 2, 0
-_08084F54: .4byte 0x00003a0d
-_08084F58:
- ldr r0, [r2]
- ldr r1, _08084F68
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8087334
- b _0808511A
- .align 2, 0
-_08084F68: .4byte 0x00003a0d
-_08084F6C:
- ldr r0, [r2]
- ldr r2, _08084F7C
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_80878F4
- b _0808511A
- .align 2, 0
-_08084F7C: .4byte 0x00003a0d
-_08084F80:
- ldr r0, [r2]
- ldr r1, _08084F90
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8088088
- b _0808511A
- .align 2, 0
-_08084F90: .4byte 0x00003a0d
-_08084F94:
- ldr r0, [r2]
- ldr r2, _08084FA4
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8088818
- b _0808511A
- .align 2, 0
-_08084FA4: .4byte 0x00003a0d
-_08084FA8:
- ldr r0, [r2]
- ldr r1, _08084FB8
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_80893B4
- b _0808511A
- .align 2, 0
-_08084FB8: .4byte 0x00003a0d
-_08084FBC:
- ldr r0, [r2]
- ldr r2, _08084FD0
- adds r0, r2
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r3, 0
- bl sub_8089788
- b _0808511A
- .align 2, 0
-_08084FD0: .4byte 0x00003a0d
-_08084FD4:
- ldr r0, [r2]
- ldr r1, _08084FE4
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8089A00
- b _0808511A
- .align 2, 0
-_08084FE4: .4byte 0x00003a0d
-_08084FE8:
- ldr r0, [r2]
- ldr r2, _08084FF8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8089CFC
- b _0808511A
- .align 2, 0
-_08084FF8: .4byte 0x00003a0d
-_08084FFC:
- ldr r0, [r2]
- ldr r1, _0808500C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_8089FF0
- b _0808511A
- .align 2, 0
-_0808500C: .4byte 0x00003a0d
-_08085010:
- ldr r0, [r2]
- ldr r2, _08085020
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_808A36C
- b _0808511A
- .align 2, 0
-_08085020: .4byte 0x00003a0d
-_08085024:
- ldr r0, [r2]
- ldr r1, _08085034
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_808A6E8
- b _0808511A
- .align 2, 0
-_08085034: .4byte 0x00003a0d
-_08085038:
- ldr r0, [r2]
- ldr r2, _08085048
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- bl sub_808AAF0
- b _0808511A
- .align 2, 0
-_08085048: .4byte 0x00003a0d
-_0808504C:
- ldr r0, [r2]
- ldr r1, _08085060
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r4, 0x4
- adds r0, r3, 0
- bl sub_808AE54
- b _0808511A
- .align 2, 0
-_08085060: .4byte 0x00003a0d
-_08085064:
- ldr r0, [r2]
- ldr r2, _08085078
- adds r0, r2
- ldrb r1, [r0]
- adds r2, r4, 0x4
- adds r0, r3, 0
- bl sub_808AEC8
- b _0808511A
- .align 2, 0
-_08085078: .4byte 0x00003a0d
-_0808507C:
- ldr r0, [r2]
- ldr r1, _08085090
- adds r0, r1
- ldrb r1, [r0]
- adds r2, r4, 0x4
- adds r0, r3, 0
- bl sub_808AF3C
- b _0808511A
- .align 2, 0
-_08085090: .4byte 0x00003a0d
-_08085094:
- ldr r0, [r2]
- ldr r2, _080850A8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808B3E4
- b _0808511A
- .align 2, 0
-_080850A8: .4byte 0x00003a0d
-_080850AC:
- ldr r0, [r2]
- ldr r1, _080850C0
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808BE70
- b _0808511A
- .align 2, 0
-_080850C0: .4byte 0x00003a0d
-_080850C4:
- ldr r0, [r2]
- ldr r2, _080850D8
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808C1A4
- b _0808511A
- .align 2, 0
-_080850D8: .4byte 0x00003a0d
-_080850DC:
- ldr r0, [r2]
- ldr r1, _080850F0
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl sub_808C414
- b _0808511A
- .align 2, 0
-_080850F0: .4byte 0x00003a0d
-_080850F4:
- ldr r0, [r2]
- ldr r2, _08085108
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r3, 0
- adds r2, r5, 0
- bl nullsub_100
- b _0808511A
- .align 2, 0
-_08085108: .4byte 0x00003a0d
-_0808510C:
- ldr r0, [r2]
- ldr r1, _08085134
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_808C948
-_0808511A:
- cmp r5, 0
- bne _0808512E
- ldr r0, _08085138
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _0808512E
- ldr r0, _0808513C
- bl sub_8083E88
-_0808512E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08085134: .4byte 0x00003a0d
-_08085138: .4byte gUnknown_203B418
-_0808513C: .4byte 0x000003e7
- thumb_func_end sub_8084E00
-
- thumb_func_start sub_8085140
-sub_8085140:
- push {lr}
- ldr r1, _08085160
- ldr r0, [r1]
- ldr r2, _08085164
- adds r0, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x3C
- bls _08085154
- b _08085294
-_08085154:
- lsls r0, 2
- ldr r1, _08085168
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08085160: .4byte gUnknown_203B418
-_08085164: .4byte 0x00003a0d
-_08085168: .4byte _0808516C
- .align 2, 0
-_0808516C:
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085260
- .4byte _08085274
- .4byte _08085288
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
- .4byte _08085294
-_08085260:
- ldr r0, [r2]
- ldr r1, _08085270
- adds r0, r1
- ldrb r0, [r0]
- bl sub_808AFB0
- b _08085294
- .align 2, 0
-_08085270: .4byte 0x00003a0d
-_08085274:
- ldr r0, [r2]
- ldr r2, _08085284
- adds r0, r2
- ldrb r0, [r0]
- bl sub_808B030
- b _08085294
- .align 2, 0
-_08085284: .4byte 0x00003a0d
-_08085288:
- ldr r0, [r2]
- ldr r1, _08085298
- adds r0, r1
- ldrb r0, [r0]
- bl sub_808B0B0
-_08085294:
- pop {r0}
- bx r0
- .align 2, 0
-_08085298: .4byte 0x00003a0d
- thumb_func_end sub_8085140
-
- thumb_func_start sub_808529C
-sub_808529C:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- movs r3, 0x40
- movs r0, 0x86
- lsls r0, 1
- cmp r1, r0
- beq _08085348
- cmp r1, r0
- bgt _080852E0
- cmp r1, 0x90
- beq _08085334
- cmp r1, 0x90
- bgt _080852CE
- cmp r1, 0x38
- beq _08085354
- cmp r1, 0x38
- bgt _080852C8
- cmp r1, 0x17
- beq _08085328
- b _0808535A
-_080852C8:
- cmp r1, 0x5E
- beq _08085328
- b _0808535A
-_080852CE:
- cmp r1, 0x92
- beq _08085330
- cmp r1, 0x92
- blt _0808532C
- cmp r1, 0x96
- beq _08085340
- cmp r1, 0xFC
- beq _08085324
- b _0808535A
-_080852E0:
- ldr r0, _08085304
- cmp r1, r0
- beq _08085358
- cmp r1, r0
- bgt _08085308
- subs r0, 0x87
- cmp r1, r0
- beq _0808534C
- cmp r1, r0
- blt _08085344
- adds r0, 0x5
- cmp r1, r0
- beq _08085350
- adds r0, 0x3A
- cmp r1, r0
- beq _08085328
- b _0808535A
- .align 2, 0
-_08085304: .4byte 0x00000195
-_08085308:
- ldr r0, _08085320
- cmp r2, r0
- beq _08085358
- cmp r2, r0
- blt _08085358
- adds r0, 0x4
- cmp r2, r0
- beq _08085338
- adds r0, 0x1
- cmp r2, r0
- beq _0808533C
- b _0808535A
- .align 2, 0
-_08085320: .4byte 0x00000197
-_08085324:
- movs r3, 0x1
- b _0808535A
-_08085328:
- movs r3, 0x3
- b _0808535A
-_0808532C:
- movs r3, 0x5
- b _0808535A
-_08085330:
- movs r3, 0x7
- b _0808535A
-_08085334:
- movs r3, 0x9
- b _0808535A
-_08085338:
- movs r3, 0xC
- b _0808535A
-_0808533C:
- movs r3, 0xF
- b _0808535A
-_08085340:
- movs r3, 0x13
- b _0808535A
-_08085344:
- movs r3, 0x15
- b _0808535A
-_08085348:
- movs r3, 0x17
- b _0808535A
-_0808534C:
- movs r3, 0x19
- b _0808535A
-_08085350:
- movs r3, 0x1A
- b _0808535A
-_08085354:
- movs r3, 0x11
- b _0808535A
-_08085358:
- movs r3, 0x1D
-_0808535A:
- cmp r3, 0x40
- beq _0808536E
- adds r0, r3, 0
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808536E
- movs r0, 0
- b _08085370
-_0808536E:
- movs r0, 0x1
-_08085370:
- pop {r1}
- bx r1
- thumb_func_end sub_808529C
-
- thumb_func_start sub_8085374
-sub_8085374:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- movs r7, 0
- movs r6, 0
- bl sub_808D3F8
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- mov r8, r1
- movs r5, 0
-_0808538E:
- ldr r0, _08085444
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085448
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080853BE
- ldr r1, [r4, 0x70]
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- beq _080853B2
- adds r7, r4, 0
-_080853B2:
- adds r0, r1, 0
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080853BE
- adds r6, r4, 0
-_080853BE:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0808538E
- cmp r7, 0
- beq _0808546E
- cmp r6, 0
- bne _0808546E
- ldr r0, _08085444
- ldr r0, [r0]
- ldr r1, _0808544C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808546E
- movs r6, 0
- ldr r0, _08085450
- ldr r4, [r0]
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x63
- beq _0808546E
- mov r5, sp
- movs r0, 0
- mov r9, r0
-_080853EE:
- ldrh r0, [r7, 0x4]
- adds r0, r4
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08085454
- ands r4, r1
- orrs r4, r0
- asrs r1, r4, 16
- ldrh r2, [r7, 0x6]
- adds r1, r2
- lsls r1, 16
- ldr r0, _08085458
- ands r4, r0
- orrs r4, r1
- lsls r0, r4, 16
- asrs r0, 16
- asrs r1, r4, 16
- bl sub_804954C
- adds r1, r0, 0
- mov r0, r8
- bl sub_807034C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _0808545C
- mov r0, r8
- strh r0, [r5]
- movs r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0x2
- strb r0, [r5, 0x2]
- str r4, [sp, 0xC]
- str r1, [sp, 0x4]
- mov r1, r9
- strb r1, [r5, 0x10]
- mov r0, sp
- movs r1, 0x1
- bl sub_806B7F8
- b _0808546E
- .align 2, 0
-_08085444: .4byte gUnknown_203B418
-_08085448: .4byte 0x0001357c
-_0808544C: .4byte 0x0000065c
-_08085450: .4byte gUnknown_80F4598
-_08085454: .4byte 0xffff0000
-_08085458: .4byte 0x0000ffff
-_0808545C:
- adds r6, 0x1
- ldr r0, _0808547C
- lsls r1, r6, 2
- adds r1, r0
- ldr r4, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x63
- bne _080853EE
-_0808546E:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808547C: .4byte gUnknown_80F4598
- thumb_func_end sub_8085374
-
- thumb_func_start sub_8085480
-sub_8085480:
- push {lr}
- bl sub_8083600
- pop {r1}
- bx r1
- thumb_func_end sub_8085480
-
- thumb_func_start sub_808548C
-sub_808548C:
- push {r4,r5,lr}
- movs r5, 0
-_08085490:
- ldr r0, _080854B8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080854BC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080854C0
- ldr r0, [r4, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _080854C0
- adds r0, r4, 0
- b _080854CC
- .align 2, 0
-_080854B8: .4byte gUnknown_203B418
-_080854BC: .4byte 0x0001357c
-_080854C0:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08085490
- movs r0, 0x2
- bl sub_8085680
-_080854CC:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808548C
-
- thumb_func_start sub_80854D4
-sub_80854D4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- movs r6, 0
- movs r5, 0
- add r0, sp, 0x10
- mov r8, r0
- mov r7, sp
-_080854E6:
- ldr r0, _080855D8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080855DC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085504
- stm r7!, {r4}
- adds r6, 0x1
-_08085504:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080854E6
- cmp r6, 0x3
- bgt _0808551C
- movs r1, 0
- lsls r0, r6, 2
- add r0, sp
-_08085514:
- stm r0!, {r1}
- adds r6, 0x1
- cmp r6, 0x3
- ble _08085514
-_0808551C:
- movs r6, 0
- movs r4, 0
- mov r2, sp
- mov r3, r8
- movs r5, 0x3
-_08085526:
- ldr r1, [r2]
- cmp r1, 0
- beq _0808553A
- ldr r0, [r1, 0x70]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- beq _0808553A
- str r4, [r2]
- stm r3!, {r1}
- adds r6, 0x1
-_0808553A:
- adds r2, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08085526
- movs r4, 0
- mov r2, sp
- lsls r0, r6, 2
- mov r1, r8
- adds r3, r0, r1
- movs r5, 0x3
-_0808554E:
- ldr r1, [r2]
- cmp r1, 0
- beq _08085564
- ldr r0, [r1, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _08085564
- str r4, [r2]
- stm r3!, {r1}
- adds r6, 0x1
-_08085564:
- adds r2, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _0808554E
- movs r3, 0
- mov r2, sp
- lsls r0, r6, 2
- add r0, r8
- movs r5, 0x3
-_08085576:
- ldr r1, [r2]
- cmp r1, 0
- beq _08085582
- str r3, [r2]
- stm r0!, {r1}
- adds r6, 0x1
-_08085582:
- adds r2, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _08085576
- cmp r6, 0x3
- bgt _0808559C
- movs r1, 0
- lsls r0, r6, 2
- add r0, r8
-_08085594:
- stm r0!, {r1}
- adds r6, 0x1
- cmp r6, 0x3
- ble _08085594
-_0808559C:
- movs r5, 0
- mov r4, r8
-_080855A0:
- lsls r1, r5, 2
- ldr r3, [r4]
- cmp r3, 0
- beq _080855C4
- ldr r0, _080855D8
- ldr r0, [r0]
- adds r0, r1
- ldr r2, _080855E0
- adds r1, r0, r2
- movs r6, 0
- ldrsh r1, [r1, r6]
- adds r2, 0x2
- adds r0, r2
- movs r6, 0
- ldrsh r2, [r0, r6]
- adds r0, r3, 0
- bl sub_80856C8
-_080855C4:
- adds r4, 0x4
- adds r5, 0x1
- cmp r5, 0x3
- ble _080855A0
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080855D8: .4byte gUnknown_203B418
-_080855DC: .4byte 0x0001357c
-_080855E0: .4byte 0x0000e220
- thumb_func_end sub_80854D4
-
- thumb_func_start sub_80855E4
-sub_80855E4:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r7, 0
- movs r5, 0
-_080855EC:
- ldr r0, _08085634
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085638
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085618
- ldr r0, [r4, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- bne _08085612
- movs r7, 0x1
-_08085612:
- adds r0, r4, 0
- bl _call_via_r6
-_08085618:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080855EC
- cmp r7, 0
- bne _0808562E
- bl sub_808548C
- cmp r0, 0
- beq _0808562E
- bl _call_via_r6
-_0808562E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085634: .4byte gUnknown_203B418
-_08085638: .4byte 0x0001357c
- thumb_func_end sub_80855E4
-
- thumb_func_start sub_808563C
-sub_808563C:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
-_08085642:
- ldr r0, _08085678
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _0808567C
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0808566C
- ldr r0, [r4, 0x70]
- adds r0, 0x40
- ldrb r0, [r0]
- cmp r0, 0x41
- beq _0808566C
- adds r0, r4, 0
- bl _call_via_r6
-_0808566C:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08085642
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085678: .4byte gUnknown_203B418
-_0808567C: .4byte 0x0001358c
- thumb_func_end sub_808563C
-
- thumb_func_start sub_8085680
-sub_8085680:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_08085688:
- ldr r0, _080856B0
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080856B4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080856B8
- ldr r0, [r4, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, r6
- bne _080856B8
- adds r0, r4, 0
- b _080856C0
- .align 2, 0
-_080856B0: .4byte gUnknown_203B418
-_080856B4: .4byte 0x000135cc
-_080856B8:
- adds r5, 0x1
- cmp r5, 0x13
- ble _08085688
- movs r0, 0
-_080856C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8085680
-
- thumb_func_start sub_80856C8
-sub_80856C8:
- push {r4,lr}
- adds r4, r0, 0
- movs r3, 0x1
- bl sub_80694C0
- adds r0, r4, 0
- movs r1, 0
- bl sub_804535C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80856C8
-
- thumb_func_start sub_80856E0
-sub_80856E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r1, 0
- ldr r0, [r6, 0x70]
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0x6
- adds r2, r7, 0
- bl sub_80861D4
- movs r5, 0xBA
- lsls r5, 1
- add r5, r8
- movs r4, 0x4
-_08085700:
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1
- str r0, [r5]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08085700
- movs r1, 0x7
- adds r0, r7, 0
- ands r0, r1
- mov r1, r8
- adds r1, 0x46
- strb r0, [r1]
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_806CE68
- movs r5, 0xBA
- lsls r5, 1
- add r5, r8
- movs r4, 0x4
-_08085732:
- ldr r0, [r5]
- ldr r1, _08085760
- adds r0, r1
- str r0, [r5]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _08085732
- movs r1, 0xBA
- lsls r1, 1
- add r1, r8
- movs r0, 0
- str r0, [r1]
- movs r0, 0x46
- bl sub_803E46C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085760: .4byte 0xfffffe00
- thumb_func_end sub_80856E0
-
- thumb_func_start sub_8085764
-sub_8085764:
- push {r4,r5,lr}
- sub sp, 0x74
- mov r0, sp
- bl sub_80457DC
- movs r5, 0
-_08085770:
- ldr r0, _080857AC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080857B0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0808579E
- ldr r0, [r4, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _0808579E
- adds r0, r4, 0
- ldr r1, _080857B4
- mov r2, sp
- bl sub_8068FE0
-_0808579E:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08085770
- add sp, 0x74
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080857AC: .4byte gUnknown_203B418
-_080857B0: .4byte 0x0001358c
-_080857B4: .4byte 0x00000207
- thumb_func_end sub_8085764
-
- thumb_func_start sub_80857B8
-sub_80857B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, _08085854
- mov r9, r0
- ldr r1, _08085858
- mov r8, r1
-_080857CA:
- mov r2, r9
- ldr r0, [r2]
- lsls r1, r7, 2
- ldr r3, _0808585C
- adds r0, r3
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085840
- ldr r5, [r6, 0x70]
- mov r0, r9
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _08085840
- ldrb r4, [r1, 0x2]
- cmp r4, 0
- bne _08085840
- adds r0, r6, 0
- movs r1, 0
- bl sub_804535C
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r5, r1
- strb r4, [r0]
- adds r1, r5, 0
- adds r1, 0xFE
- movs r0, 0x63
- strb r0, [r1]
- adds r2, r5, 0
- adds r2, 0x46
- ldrb r0, [r2]
- lsls r0, 2
- add r0, r8
- ldrh r1, [r6, 0x4]
- ldrh r0, [r0]
- adds r1, r0
- movs r3, 0xB6
- lsls r3, 1
- adds r0, r5, r3
- strh r1, [r0]
- ldrb r0, [r2]
- lsls r0, 2
- add r0, r8
- ldrh r1, [r6, 0x6]
- ldrh r0, [r0, 0x2]
- adds r1, r0
- adds r3, 0x2
- adds r0, r5, r3
- strh r1, [r0]
- ldrb r1, [r2]
- adds r0, r6, 0
- bl sub_806CE68
-_08085840:
- adds r7, 0x1
- cmp r7, 0x13
- ble _080857CA
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085854: .4byte gUnknown_203B418
-_08085858: .4byte gUnknown_80F4448
-_0808585C: .4byte 0x000135cc
- thumb_func_end sub_80857B8
-
- thumb_func_start sub_8085860
-sub_8085860:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- bl sub_803F4A0
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 11
- movs r2, 0x80
- lsls r2, 5
- adds r1, r2
- bl sub_803F878
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8085860
-
- thumb_func_start sub_8085890
-sub_8085890:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- bl sub_803F4A0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_803F878
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8085890
-
- thumb_func_start sub_80858AC
-sub_80858AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- adds r4, r1, 0
- bl sub_803F994
- adds r6, r0, 0
- bl sub_803F9B0
- adds r5, r0, 0
- ldr r0, [r7]
- subs r0, r6
- adds r1, r4, 0
- bl __divsi3
- mov r9, r0
- ldr r0, [r7, 0x4]
- subs r0, r5
- adds r1, r4, 0
- bl __divsi3
- mov r8, r0
- movs r0, 0
- bl sub_803F4A0
- cmp r4, 0
- ble _080858FE
-_080858E6:
- add r6, r9
- add r5, r8
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_803F878
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bne _080858E6
-_080858FE:
- ldr r0, [r7]
- ldr r1, [r7, 0x4]
- bl sub_803F878
- movs r0, 0x46
- bl sub_803E46C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80858AC
-
- thumb_func_start sub_8085918
-sub_8085918:
- push {r4,lr}
- ldr r3, [r0, 0x70]
- movs r4, 0x7
- adds r2, r1, 0
- ands r2, r4
- adds r3, 0x46
- strb r2, [r3]
- bl sub_806CE68
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8085918
-
- thumb_func_start sub_8085930
-sub_8085930:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r0, 0x7
- adds r7, r6, 0
- ands r7, r0
-_0808593C:
- ldr r0, _0808596C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085970
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085982
- cmp r6, 0x7
- ble _08085974
- movs r0, 0x8
- bl RandomCapped
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_806CE68
- b _08085982
- .align 2, 0
-_0808596C: .4byte gUnknown_203B418
-_08085970: .4byte 0x0001357c
-_08085974:
- ldr r0, [r4, 0x70]
- adds r0, 0x46
- strb r7, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_806CE68
-_08085982:
- adds r5, 0x1
- cmp r5, 0x3
- ble _0808593C
- movs r5, 0
- movs r0, 0x7
- adds r7, r6, 0
- ands r7, r0
-_08085990:
- ldr r0, _080859CC
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080859D0
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080859E2
- ldr r1, [r4, 0x70]
- adds r0, r1, 0
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080859E2
- cmp r6, 0x7
- ble _080859D4
- movs r0, 0x8
- bl RandomCapped
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_806CE68
- b _080859E2
- .align 2, 0
-_080859CC: .4byte gUnknown_203B418
-_080859D0: .4byte 0x0001358c
-_080859D4:
- adds r0, r1, 0
- adds r0, 0x46
- strb r7, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_806CE68
-_080859E2:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08085990
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8085930
-
- thumb_func_start sub_80859F0
-sub_80859F0:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r5, 0
- movs r0, 0x7
- adds r7, r6, 0
- ands r7, r0
-_080859FC:
- ldr r0, _08085A2C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08085A30
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08085A42
- cmp r6, 0x7
- ble _08085A34
- movs r0, 0x8
- bl RandomCapped
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_806CE68
- b _08085A42
- .align 2, 0
-_08085A2C: .4byte gUnknown_203B418
-_08085A30: .4byte 0x0001358c
-_08085A34:
- ldr r0, [r4, 0x70]
- adds r0, 0x46
- strb r7, [r0]
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_806CE68
-_08085A42:
- adds r5, 0x1
- cmp r5, 0xF
- ble _080859FC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80859F0
-
- thumb_func_start sub_8085A50
-sub_8085A50:
- push {lr}
- ldr r0, [r0, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, 0x24
- bhi _08085B04
- lsls r0, 2
- ldr r1, _08085A68
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08085A68: .4byte _08085A6C
- .align 2, 0
-_08085A6C:
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B04
- .4byte _08085B04
- .4byte _08085B04
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
- .4byte _08085B00
-_08085B00:
- movs r0, 0x1
- b _08085B06
-_08085B04:
- movs r0, 0
-_08085B06:
- pop {r1}
- bx r1
- thumb_func_end sub_8085A50
-
- thumb_func_start sub_8085B0C
-sub_8085B0C:
- push {r4,r5,lr}
- sub sp, 0x1C
- adds r5, r0, 0
- ldr r1, _08085B48
- mov r0, sp
- movs r2, 0x19
- bl memcpy
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _08085B3E
- mov r4, sp
-_08085B26:
- ldrb r1, [r4]
- adds r0, r5, 0
- bl sub_8085918
- movs r0, 0x6
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0
- bne _08085B26
-_08085B3E:
- add sp, 0x1C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08085B48: .4byte gUnknown_8107358
- thumb_func_end sub_8085B0C
-
- thumb_func_start sub_8085B4C
-sub_8085B4C:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _08085B7C
- str r3, [r0]
- cmp r3, 0
- ble _08085B76
- movs r6, 0x1
- adds r4, r1, 0
- adds r1, r5, 0
-_08085B5E:
- strb r6, [r1]
- ldm r2!, {r0}
- str r0, [r1, 0x4]
- ldm r4!, {r0}
- str r0, [r1, 0xC]
- movs r5, 0x4
- ldrsh r0, [r0, r5]
- str r0, [r1, 0x8]
- adds r1, 0x10
- subs r3, 0x1
- cmp r3, 0
- bne _08085B5E
-_08085B76:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08085B7C: .4byte gUnknown_202F3D8
- thumb_func_end sub_8085B4C
-
- thumb_func_start sub_8085B80
-sub_8085B80:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r1, r0, 0
- movs r0, 0
- mov r8, r0
- movs r7, 0
- ldr r0, _08085BE4
- ldr r0, [r0]
- cmp r8, r0
- bge _08085C3E
- adds r5, r1, 0
-_08085B98:
- ldr r6, [r5, 0x4]
- ldr r2, [r6, 0x70]
- adds r3, r2, 0
- ldr r4, [r5, 0xC]
- ldrb r0, [r5]
- cmp r0, 0
- beq _08085C32
- movs r1, 0x1
- mov r8, r1
- ldr r0, [r5, 0x8]
- cmp r0, 0
- bne _08085C08
- adds r4, 0x8
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _08085BE8
- strb r0, [r5]
- ldrb r1, [r4]
- movs r0, 0x7
- ands r0, r1
- adds r1, r2, 0
- adds r1, 0x46
- strb r0, [r1]
- movs r3, 0
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r1, 0x7
- bl sub_806CDD4
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- movs r3, 0xC
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- bl sub_80856C8
- b _08085C32
- .align 2, 0
-_08085BE4: .4byte gUnknown_202F3D8
-_08085BE8:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- str r0, [r5, 0x8]
- str r4, [r5, 0xC]
- ldrb r1, [r4]
- movs r0, 0x7
- ands r0, r1
- adds r1, r3, 0
- adds r1, 0x46
- strb r0, [r1]
- movs r3, 0
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r1, 0
- bl sub_806CDD4
-_08085C08:
- ldr r0, [r5, 0x8]
- subs r0, 0x1
- str r0, [r5, 0x8]
- ldr r1, _08085C4C
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x2
- ldrsh r2, [r4, r3]
- muls r1, r2
- lsls r1, 8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- muls r2, r0
- lsls r2, 8
- adds r0, r6, 0
- bl sub_804539C
-_08085C32:
- adds r5, 0x10
- adds r7, 0x1
- ldr r0, _08085C50
- ldr r0, [r0]
- cmp r7, r0
- blt _08085B98
-_08085C3E:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08085C4C: .4byte gUnknown_80F4448
-_08085C50: .4byte gUnknown_202F3D8
- thumb_func_end sub_8085B80
-
- thumb_func_start sub_8085C54
-sub_8085C54:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- str r0, [sp, 0x14]
- mov r10, r1
- mov r9, r2
- ldr r4, [sp, 0x48]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x18]
- lsls r4, 24
- lsrs r4, 24
- bl sub_8085E98
- movs r0, 0
- mov r8, r0
- ldr r0, _08085E70
- ldr r0, [r0]
- ldr r5, [r0, 0x4]
- cmp r4, 0
- beq _08085CAE
- ldr r1, [sp, 0x14]
- cmp r1, 0
- blt _08085C92
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- str r0, [sp, 0x14]
-_08085C92:
- mov r2, r10
- cmp r2, 0
- blt _08085CA0
- lsrs r0, r2, 31
- add r0, r10
- asrs r0, 1
- mov r10, r0
-_08085CA0:
- mov r3, r9
- cmp r3, 0
- blt _08085CAE
- lsrs r0, r3, 31
- add r0, r9
- asrs r0, 1
- mov r9, r0
-_08085CAE:
- ldr r1, _08085E74
- ldr r0, [sp, 0x8]
- ands r0, r1
- ldr r1, _08085E78
- ands r0, r1
- ldr r1, _08085E7C
- ands r0, r1
- str r0, [sp, 0x8]
- ldr r0, _08085E80
- ldr r2, [r0]
- ldr r0, _08085E84
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- mov r0, r8
- add r1, sp, 0x8
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
- ldr r2, [sp, 0x14]
- lsls r2, 16
- str r2, [sp, 0x1C]
- mov r3, r10
- lsls r3, 16
- str r3, [sp, 0x20]
- mov r0, r9
- lsls r0, 16
- str r0, [sp, 0x24]
- add r7, sp, 0xC
- movs r1, 0xA0
- cmp r1, 0x1
- ble _08085D56
- add r6, sp, 0x8
- movs r4, 0xA0
- subs r4, 0x1
-_08085CFA:
- ldrb r0, [r5]
- ldr r3, [sp, 0x14]
- adds r2, r0, r3
- ldrb r0, [r5, 0x1]
- mov r3, r10
- adds r1, r0, r3
- ldrb r0, [r5, 0x2]
- add r0, r9
- cmp r2, 0xFF
- ble _08085D10
- movs r2, 0xFF
-_08085D10:
- cmp r1, 0xFF
- ble _08085D16
- movs r1, 0xFF
-_08085D16:
- cmp r0, 0xFF
- ble _08085D1C
- movs r0, 0xFF
-_08085D1C:
- cmp r2, 0
- bge _08085D22
- movs r2, 0
-_08085D22:
- cmp r1, 0
- bge _08085D28
- movs r1, 0
-_08085D28:
- cmp r0, 0
- bge _08085D2E
- movs r0, 0
-_08085D2E:
- strb r2, [r6]
- strb r1, [r6, 0x1]
- strb r0, [r6, 0x2]
- ldr r0, _08085E80
- ldr r2, [r0]
- ldr r0, _08085E84
- ldr r3, [r0]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- mov r0, r8
- add r1, sp, 0x8
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
- subs r4, 0x1
- cmp r4, 0
- bne _08085CFA
-_08085D56:
- ldr r2, _08085E88
- ldr r3, [sp, 0x1C]
- lsrs r0, r3, 16
- ldr r1, [sp, 0x20]
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r3, [sp, 0x24]
- lsrs r1, r3, 16
- ldr r0, [r7, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [r7, 0x4]
- ldr r0, _08085E8C
- ldr r1, _08085E80
- ldr r3, [r1]
- ldr r1, _08085E84
- ldr r1, [r1]
- movs r2, 0xBE
- lsls r2, 1
- adds r1, r2
- str r1, [sp]
- str r7, [sp, 0x4]
- movs r1, 0xA0
- movs r2, 0x20
- bl sub_8004C00
- movs r3, 0x20
- add r8, r3
- ldr r5, _08085E90
- add r6, sp, 0x8
- movs r4, 0x20
-_08085D94:
- ldrb r0, [r5]
- ldr r1, [sp, 0x14]
- adds r2, r0, r1
- ldrb r0, [r5, 0x1]
- mov r3, r10
- adds r1, r0, r3
- ldrb r0, [r5, 0x2]
- add r0, r9
- cmp r2, 0xFF
- ble _08085DAA
- movs r2, 0xFF
-_08085DAA:
- cmp r1, 0xFF
- ble _08085DB0
- movs r1, 0xFF
-_08085DB0:
- cmp r0, 0xFF
- ble _08085DB6
- movs r0, 0xFF
-_08085DB6:
- cmp r2, 0
- bge _08085DBC
- movs r2, 0
-_08085DBC:
- cmp r1, 0
- bge _08085DC2
- movs r1, 0
-_08085DC2:
- cmp r0, 0
- bge _08085DC8
- movs r0, 0
-_08085DC8:
- strb r2, [r6]
- strb r1, [r6, 0x1]
- strb r0, [r6, 0x2]
- ldr r0, _08085E80
- ldr r2, [r0]
- ldr r7, _08085E84
- ldr r3, [r7]
- movs r0, 0xBE
- lsls r0, 1
- adds r3, r0
- mov r0, r8
- add r1, sp, 0x8
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r1, 0x1
- add r8, r1
- subs r4, 0x1
- cmp r4, 0
- bne _08085D94
- ldr r2, [sp, 0x18]
- cmp r2, 0
- beq _08085E5E
- ldr r0, [r7]
- ldr r3, _08085E94
- adds r0, r3
- ldr r0, [r0]
- ldr r5, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 1
- mov r8, r0
- add r6, sp, 0x8
- movs r4, 0xD0
-_08085E0A:
- ldrb r0, [r5]
- ldr r1, [sp, 0x14]
- adds r2, r0, r1
- ldrb r0, [r5, 0x1]
- mov r3, r10
- adds r1, r0, r3
- ldrb r0, [r5, 0x2]
- add r0, r9
- cmp r2, 0xFF
- ble _08085E20
- movs r2, 0xFF
-_08085E20:
- cmp r1, 0xFF
- ble _08085E26
- movs r1, 0xFF
-_08085E26:
- cmp r0, 0xFF
- ble _08085E2C
- movs r0, 0xFF
-_08085E2C:
- cmp r2, 0
- bge _08085E32
- movs r2, 0
-_08085E32:
- cmp r1, 0
- bge _08085E38
- movs r1, 0
-_08085E38:
- cmp r0, 0
- bge _08085E3E
- movs r0, 0
-_08085E3E:
- strb r2, [r6]
- strb r1, [r6, 0x1]
- strb r0, [r6, 0x2]
- ldr r0, _08085E80
- ldr r2, [r0]
- mov r0, r8
- add r1, sp, 0x8
- movs r3, 0
- bl SetBGPaletteBufferColorRGB
- adds r5, 0x4
- movs r0, 0x1
- add r8, r0
- subs r4, 0x1
- cmp r4, 0
- bne _08085E0A
-_08085E5E:
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08085E70: .4byte gUnknown_202EE88
-_08085E74: .4byte 0xffffff00
-_08085E78: .4byte 0xffff00ff
-_08085E7C: .4byte 0xff00ffff
-_08085E80: .4byte gUnknown_202EDC8
-_08085E84: .4byte gUnknown_203B418
-_08085E88: .4byte 0xffff0000
-_08085E8C: .4byte gUnknown_202EE8C
-_08085E90: .4byte gUnknown_202ECA4
-_08085E94: .4byte 0x000181e4
- thumb_func_end sub_8085C54
-
- thumb_func_start sub_8085E98
-sub_8085E98:
- ldr r0, _08085EA8
- ldr r0, [r0]
- ldr r1, _08085EAC
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08085EA8: .4byte gUnknown_203B418
-_08085EAC: .4byte 0x00018215
- thumb_func_end sub_8085E98
-
- thumb_func_start sub_8085EB0
-sub_8085EB0:
- ldr r0, _08085EC0
- ldr r0, [r0]
- ldr r1, _08085EC4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08085EC0: .4byte gUnknown_203B418
-_08085EC4: .4byte 0x00018215
- thumb_func_end sub_8085EB0
-
- thumb_func_start sub_8085EC8
-sub_8085EC8:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x28
- adds r4, r0, 0
- mov r8, r1
- mov r9, r2
- adds r6, r3, 0
- ldr r5, [sp, 0x40]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- bl sub_800EE5C
- bl sub_800EF64
- movs r0, 0x46
- bl sub_803E46C
- str r4, [sp]
- mov r0, r8
- str r0, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- mov r1, sp
- ldrh r0, [r6]
- movs r2, 0
- strh r0, [r1, 0xC]
- ldrh r0, [r6, 0x2]
- strh r0, [r1, 0xE]
- mov r0, sp
- strh r2, [r0, 0x10]
- strh r2, [r0, 0x12]
- ldr r0, _08085F3C
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- ldr r0, _08085F40
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- bl sub_800E890
- cmp r5, 0
- beq _08085F2E
- bl sub_8085F44
- movs r0, 0x1
- negs r0, r0
-_08085F2E:
- add sp, 0x28
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08085F3C: .4byte 0x0000ffff
-_08085F40: .4byte gUnknown_8107374
- thumb_func_end sub_8085EC8
-
- thumb_func_start sub_8085F44
-sub_8085F44:
- push {r4,lr}
- adds r4, r0, 0
- b _08085F5C
-_08085F4A:
- ldr r0, _08085F70
- ldr r0, [r0]
- ldr r1, _08085F74
- adds r0, r1
- bl sub_800E90C
- movs r0, 0x46
- bl sub_803E46C
-_08085F5C:
- adds r0, r4, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- bne _08085F4A
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08085F70: .4byte gUnknown_203B418
-_08085F74: .4byte 0x000181f0
- thumb_func_end sub_8085F44
-
- thumb_func_start sub_8085F78
-sub_8085F78:
- push {lr}
- ldr r0, _08085F94
- ldr r0, [r0]
- ldr r1, _08085F98
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3C
- bls _08085F8A
- b _080860A4
-_08085F8A:
- lsls r0, 2
- ldr r1, _08085F9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08085F94: .4byte gUnknown_203B418
-_08085F98: .4byte 0x00003a0d
-_08085F9C: .4byte _08085FA0
- .align 2, 0
-_08085FA0:
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _08086094
- .4byte _08086094
- .4byte _08086094
- .4byte _0808609A
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A0
- .4byte _080860A0
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
- .4byte _080860A4
-_08086094:
- bl sub_8088848
- b _080860A4
-_0808609A:
- bl sub_8088EE8
- b _080860A4
-_080860A0:
- bl sub_808A718
-_080860A4:
- pop {r0}
- bx r0
- thumb_func_end sub_8085F78
-
- thumb_func_start sub_80860A8
-sub_80860A8:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r0, _08086108
- ldr r2, [r0]
- movs r3, 0x1
-_080860B6:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080860C6
- ldrb r0, [r2, 0x2]
- cmp r0, r6
- beq _08086104
-_080860C6:
- adds r2, 0x4
- adds r5, 0x1
- cmp r5, 0x13
- ble _080860B6
- movs r5, 0
-_080860D0:
- ldr r0, _0808610C
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08086110
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08086114
- ldr r2, [r4, 0x70]
- adds r0, r2, 0
- adds r0, 0x60
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08086114
- adds r0, r2, 0
- adds r0, 0x62
- ldrb r0, [r0]
- cmp r0, r6
- bne _08086114
-_08086104:
- movs r0, 0x1
- b _0808611C
- .align 2, 0
-_08086108: .4byte gUnknown_203B460
-_0808610C: .4byte gUnknown_203B418
-_08086110: .4byte 0x0001357c
-_08086114:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080860D0
- movs r0, 0
-_0808611C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80860A8
-
- thumb_func_start sub_8086124
-sub_8086124:
- ldr r0, [r0, 0x70]
- movs r2, 0xB0
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- bx lr
- thumb_func_end sub_8086124
-
- thumb_func_start sub_8086130
-sub_8086130:
- push {lr}
- movs r0, 0x3C
- bl sub_8083ED8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086194
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086198
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808619C
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080861A0
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080861A4
- ldr r0, [r0]
- bl sub_8052FB8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- pop {r0}
- bx r0
- .align 2, 0
-_08086194: .4byte gUnknown_810665C
-_08086198: .4byte gUnknown_810668C
-_0808619C: .4byte gUnknown_81066D4
-_080861A0: .4byte gUnknown_81066F0
-_080861A4: .4byte gUnknown_810671C
- thumb_func_end sub_8086130
-
- thumb_func_start sub_80861A8
-sub_80861A8:
- push {lr}
- movs r1, 0
- movs r2, 0x8
- bl sub_806CDD4
- pop {r0}
- bx r0
- thumb_func_end sub_80861A8
-
- thumb_func_start sub_80861B8
-sub_80861B8:
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, [r0, 0x70]
- adds r1, r4, 0
- bl sub_806CDD4
- adds r5, 0xFE
- strb r4, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80861B8
-
- thumb_func_start sub_80861D4
-sub_80861D4:
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- bl sub_806CDD4
- adds r0, r4, 0
- bl sub_80861EC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80861D4
-
- thumb_func_start sub_80861EC
-sub_80861EC:
- ldr r0, [r0, 0x70]
- adds r0, 0xFE
- movs r1, 0x63
- strb r1, [r0]
- bx lr
- thumb_func_end sub_80861EC
-
- thumb_func_start sub_80861F8
-sub_80861F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- adds r6, r1, 0
- lsls r0, 16
- asrs r0, 16
- adds r5, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- bl sub_800EE5C
- bl sub_800EF64
- movs r0, 0x46
- bl sub_803E46C
- ldr r0, [r6, 0x70]
- mov r8, r0
- movs r1, 0
- mov r9, r1
- str r1, [sp, 0x28]
- adds r0, r5, 0
- bl sub_800E700
- adds r7, r0, 0
- add r4, sp, 0x28
- movs r2, 0x1
- negs r2, r2
- cmp r7, r2
- beq _0808624A
- adds r1, r6, 0
- adds r1, 0x28
- lsls r2, r7, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl sub_800569C
-_0808624A:
- str r5, [sp]
- mov r3, r9
- str r3, [sp, 0x4]
- mov r0, r8
- adds r0, 0x46
- ldrb r0, [r0]
- str r0, [sp, 0x8]
- mov r1, sp
- ldr r0, [r6, 0xC]
- cmp r0, 0
- bge _08086262
- adds r0, 0xFF
-_08086262:
- asrs r0, 8
- strh r0, [r1, 0xC]
- mov r1, sp
- ldr r0, [r6, 0x10]
- cmp r0, 0
- bge _08086270
- adds r0, 0xFF
-_08086270:
- asrs r0, 8
- strh r0, [r1, 0xE]
- mov r1, sp
- ldrh r0, [r4]
- strh r0, [r1, 0x10]
- add r0, sp, 0x28
- ldrh r0, [r0, 0x2]
- strh r0, [r1, 0x12]
- str r7, [sp, 0x14]
- ldr r0, _080862B4
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- ldr r0, _080862B8
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- bl sub_800E890
- mov r4, r10
- cmp r4, 0
- beq _080862A2
- bl sub_8085F44
- movs r0, 0x1
- negs r0, r0
-_080862A2:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080862B4: .4byte 0x0000ffff
-_080862B8: .4byte gUnknown_8107380
- thumb_func_end sub_80861F8
-
- thumb_func_start sub_80862BC
-sub_80862BC:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xE8
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _080862D8
- adds r1, r4, 0
- movs r2, 0
- bl sub_80861F8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080862D8: .4byte 0x00000143
- thumb_func_end sub_80862BC
-
- thumb_func_start sub_80862DC
-sub_80862DC:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- str r0, [sp]
- ldr r0, [r4, 0x10]
- movs r1, 0xE0
- lsls r1, 6
- adds r0, r1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, sp
- bl sub_804535C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_806CDD4
- adds r0, r4, 0
- bl sub_8086A54
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80862DC
-
- thumb_func_start sub_8086310
-sub_8086310:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- str r0, [sp]
- ldr r0, [r4, 0x10]
- movs r1, 0x90
- lsls r1, 8
- adds r0, r1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, sp
- bl sub_804535C
- adds r0, r4, 0
- movs r1, 0
- bl sub_806CE68
- adds r0, r4, 0
- bl sub_8086A3C
- adds r4, 0x20
- movs r0, 0
- strb r0, [r4]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8086310
-
- thumb_func_start sub_8086348
-sub_8086348:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- movs r1, 0xF0
- lsls r1, 7
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x10]
- ldr r1, _08086380
- adds r0, r1
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, sp
- bl sub_804535C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x6
- bl sub_806CDD4
- adds r0, r4, 0
- bl sub_8086A54
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086380: .4byte 0xffffe000
- thumb_func_end sub_8086348
-
- thumb_func_start sub_8086384
-sub_8086384:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- movs r1, 0xF0
- lsls r1, 7
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x10]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, sp
- bl sub_804535C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x6
- bl sub_806CDD4
- adds r0, r4, 0
- bl sub_8086A54
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8086384
-
- thumb_func_start sub_80863B8
-sub_80863B8:
- push {lr}
- movs r1, 0
- movs r2, 0x4
- bl sub_806CDD4
- pop {r0}
- bx r0
- thumb_func_end sub_80863B8
-
- thumb_func_start sub_80863C8
-sub_80863C8:
- push {lr}
- movs r1, 0
- movs r2, 0
- bl sub_806CDD4
- pop {r0}
- bx r0
- thumb_func_end sub_80863C8
-
- thumb_func_start sub_80863D8
-sub_80863D8:
- push {lr}
- movs r1, 0
- movs r2, 0x6
- bl sub_806CDD4
- pop {r0}
- bx r0
- thumb_func_end sub_80863D8
-
- thumb_func_start sub_80863E8
-sub_80863E8:
- push {lr}
- movs r1, 0x6
- movs r2, 0x4
- bl sub_806CDD4
- pop {r0}
- bx r0
- thumb_func_end sub_80863E8
-
- thumb_func_start sub_80863F8
-sub_80863F8:
- push {lr}
- movs r1, 0x4
- bl sub_806CE68
- pop {r0}
- bx r0
- thumb_func_end sub_80863F8
-
- thumb_func_start sub_8086404
-sub_8086404:
- push {lr}
- movs r1, 0x6
- bl sub_806CE68
- pop {r0}
- bx r0
- thumb_func_end sub_8086404
-
- thumb_func_start sub_8086410
-sub_8086410:
- push {lr}
- ldr r2, _08086420
- movs r1, 0
- bl sub_804539C
- pop {r0}
- bx r0
- .align 2, 0
-_08086420: .4byte 0xffffff00
- thumb_func_end sub_8086410
-
- thumb_func_start sub_8086424
-sub_8086424:
- push {lr}
- movs r2, 0x80
- lsls r2, 1
- movs r1, 0
- bl sub_804539C
- pop {r0}
- bx r0
- thumb_func_end sub_8086424
-
- thumb_func_start sub_8086434
-sub_8086434:
- push {lr}
- ldr r1, _08086444
- movs r2, 0
- bl sub_804539C
- pop {r0}
- bx r0
- .align 2, 0
-_08086444: .4byte 0xffffff00
- thumb_func_end sub_8086434
-
- thumb_func_start sub_8086448
-sub_8086448:
- push {r4,r5,lr}
- ldr r0, _08086488
- bl sub_80855E4
- movs r5, 0x37
-_08086452:
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
- adds r0, r4, 0
- bl sub_803F878
- ldr r0, _0808648C
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _08086452
- ldr r0, _08086490
- bl sub_80855E4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086488: .4byte sub_80862DC
-_0808648C: .4byte sub_8086410
-_08086490: .4byte sub_80863F8
- thumb_func_end sub_8086448
-
- thumb_func_start sub_8086494
-sub_8086494:
- push {r4,lr}
- movs r0, 0x3
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x2
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080864F4
- bl sub_80855E4
- movs r4, 0x8F
-_080864D6:
- ldr r0, _080864F8
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _080864D6
- ldr r0, _080864FC
- bl sub_80855E4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080864F4: .4byte sub_80863C8
-_080864F8: .4byte sub_8086424
-_080864FC: .4byte sub_8086310
- thumb_func_end sub_8086494
-
- thumb_func_start sub_8086500
-sub_8086500:
- push {r4,r5,lr}
- ldr r0, _08086540
- bl sub_80855E4
- movs r5, 0x47
-_0808650A:
- bl sub_803F994
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- bl sub_803F9B0
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_803F878
- ldr r0, _08086544
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _0808650A
- ldr r0, _08086548
- bl sub_80855E4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086540: .4byte sub_8086348
-_08086544: .4byte sub_8086434
-_08086548: .4byte sub_8086404
- thumb_func_end sub_8086500
-
- thumb_func_start sub_808654C
-sub_808654C:
- push {r4,r5,lr}
- ldr r0, _0808658C
- bl sub_80855E4
- movs r5, 0x77
-_08086556:
- bl sub_803F994
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- bl sub_803F9B0
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_803F878
- ldr r0, _08086590
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _08086556
- ldr r0, _08086594
- bl sub_80855E4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808658C: .4byte sub_8086384
-_08086590: .4byte sub_8086434
-_08086594: .4byte sub_8086404
- thumb_func_end sub_808654C
-
- thumb_func_start sub_8086598
-sub_8086598:
- push {r4,r5,lr}
- ldr r0, _080865D8
- bl sub_80855E4
- movs r5, 0x17
-_080865A2:
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- ldr r0, _080865DC
- adds r1, r0
- adds r0, r4, 0
- bl sub_803F878
- ldr r0, _080865E0
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _080865A2
- ldr r0, _080865E4
- bl sub_80855E4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080865D8: .4byte sub_80863B8
-_080865DC: .4byte 0xffffff00
-_080865E0: .4byte sub_8086410
-_080865E4: .4byte sub_80863F8
- thumb_func_end sub_8086598
-
- thumb_func_start sub_80865E8
-sub_80865E8:
- push {r4-r6,lr}
- ldr r0, _08086630
- bl sub_80855E4
- ldr r6, _08086634
- movs r5, 0xB
-_080865F4:
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- movs r0, 0x80
- lsls r0, 2
- adds r1, r0
- adds r0, r4, 0
- bl sub_803F878
- adds r0, r6, 0
- bl sub_80855E4
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _080865F4
- ldr r0, _08086638
- bl sub_80855E4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086630: .4byte sub_80863E8
-_08086634: .4byte sub_8086424
-_08086638: .4byte sub_80863F8
- thumb_func_end sub_80865E8
-
- thumb_func_start sub_808663C
-sub_808663C:
- push {r4-r6,lr}
- ldr r0, _08086684
- bl sub_80855E4
- ldr r6, _08086688
- movs r5, 0xF
-_08086648:
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- movs r0, 0x80
- lsls r0, 2
- adds r1, r0
- adds r0, r4, 0
- bl sub_803F878
- adds r0, r6, 0
- bl sub_80855E4
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r5, 0x1
- cmp r5, 0
- bge _08086648
- ldr r0, _0808668C
- bl sub_80855E4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086684: .4byte sub_80863E8
-_08086688: .4byte sub_8086424
-_0808668C: .4byte sub_80863F8
- thumb_func_end sub_808663C
-
- thumb_func_start sub_8086690
-sub_8086690:
- push {r4,lr}
- ldr r0, _080866B8
- bl sub_80855E4
- movs r4, 0x2F
-_0808669A:
- ldr r0, _080866BC
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0808669A
- ldr r0, _080866C0
- bl sub_80855E4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080866B8: .4byte sub_80863D8
-_080866BC: .4byte sub_8086434
-_080866C0: .4byte sub_8086404
- thumb_func_end sub_8086690
-
- thumb_func_start sub_80866C4
-sub_80866C4:
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8085480
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8086494
- ldr r0, _080866F8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080866F8: .4byte gUnknown_203B418
- thumb_func_end sub_80866C4
-
- thumb_func_start sub_80866FC
-sub_80866FC:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r4, 0
- movs r6, 0
- movs r5, 0xFA
- negs r5, r5
-_08086708:
- str r6, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, r5
- bge _08086708
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80866FC
-
- thumb_func_start sub_808672C
-sub_808672C:
- push {lr}
- bl sub_803E748
- pop {r0}
- bx r0
- thumb_func_end sub_808672C
-
- thumb_func_start sub_8086738
-sub_8086738:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r4, 0
- movs r5, 0
-_08086740:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0xA
- cmp r4, 0xF9
- ble _08086740
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8086738
-
- thumb_func_start sub_8086764
-sub_8086764:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r4, 0xFA
- movs r5, 0
-_0808676C:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x5
- cmp r4, 0
- bge _0808676C
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8086764
-
- thumb_func_start sub_8086794
-sub_8086794:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, _080867A4
- movs r0, 0
- str r0, [r1]
- movs r4, 0
- adds r5, r1, 0
- b _080867AA
- .align 2, 0
-_080867A4: .4byte gUnknown_202EDC8
-_080867A8:
- adds r4, 0x1
-_080867AA:
- cmp r4, 0xC7
- bgt _080867D8
- movs r0, 0
- str r0, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- bl sub_803E9D0
- movs r0, 0x46
- bl sub_803E46C
- movs r0, 0x3
- ands r0, r4
- cmp r0, 0
- bne _080867A8
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- cmp r0, 0x1F
- bne _080867A8
-_080867D8:
- movs r0, 0x46
- bl sub_803E46C
- ldr r0, _080867F0
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x7]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080867F0: .4byte gUnknown_203B418
- thumb_func_end sub_8086794
-
- thumb_func_start sub_80867F4
-sub_80867F4:
- ldr r1, _08086808
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x3]
- strb r0, [r1, 0x4]
- strb r0, [r1, 0x5]
- bx lr
- .align 2, 0
-_08086808: .4byte gUnknown_202F3D0
- thumb_func_end sub_80867F4
-
- thumb_func_start sub_808680C
-sub_808680C:
- push {lr}
- ldr r0, _08086824
- movs r1, 0x1
- strb r1, [r0]
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _08086820
- ldr r0, _08086828
- bl sub_8083E38
-_08086820:
- pop {r0}
- bx r0
- .align 2, 0
-_08086824: .4byte gUnknown_202F3D0
-_08086828: .4byte 0x000001f9
- thumb_func_end sub_808680C
-
- thumb_func_start sub_808682C
-sub_808682C:
- ldr r1, _08086834
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_08086834: .4byte gUnknown_202F3D0
- thumb_func_end sub_808682C
-
- thumb_func_start sub_8086838
-sub_8086838:
- ldr r3, _08086844
- strb r0, [r3, 0x1]
- strb r1, [r3, 0x2]
- strb r2, [r3, 0x3]
- bx lr
- .align 2, 0
-_08086844: .4byte gUnknown_202F3D0
- thumb_func_end sub_8086838
-
- thumb_func_start sub_8086848
-sub_8086848:
- ldr r2, _08086850
- strb r0, [r2, 0x4]
- strb r1, [r2, 0x5]
- bx lr
- .align 2, 0
-_08086850: .4byte gUnknown_202F3D0
- thumb_func_end sub_8086848
-
- thumb_func_start sub_8086854
-sub_8086854:
- push {r4,lr}
- ldr r4, _08086874
- ldrb r1, [r4]
- cmp r1, 0
- beq _080868DC
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- bne _080868A4
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08086878
- movs r0, 0x50
- strb r0, [r4, 0x4]
- movs r0, 0x10
- b _0808688A
- .align 2, 0
-_08086874: .4byte gUnknown_202F3D0
-_08086878:
- movs r0, 0x6
- bl RandomCapped
- adds r0, 0x2
- strb r0, [r4, 0x4]
- movs r0, 0x6
- bl RandomCapped
- adds r0, 0x2
-_0808688A:
- strb r0, [r4, 0x5]
- ldr r0, _0808689C
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _080868A8
- ldr r0, _080868A0
- bl sub_8083E38
- b _080868A8
- .align 2, 0
-_0808689C: .4byte gUnknown_202F3D0
-_080868A0: .4byte 0x000001f9
-_080868A4:
- subs r0, 0x1
- strb r0, [r4, 0x4]
-_080868A8:
- ldr r3, _080868CC
- ldrb r0, [r3, 0x5]
- cmp r0, 0
- beq _080868B4
- subs r0, 0x1
- strb r0, [r3, 0x5]
-_080868B4:
- ldr r0, _080868D0
- ldr r1, [r0]
- ldr r0, _080868D4
- adds r1, r0
- ldr r2, _080868D8
- ldrb r0, [r3, 0x5]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- b _080868E6
- .align 2, 0
-_080868CC: .4byte gUnknown_202F3D0
-_080868D0: .4byte gUnknown_203B418
-_080868D4: .4byte 0x000181fc
-_080868D8: .4byte gUnknown_8107314
-_080868DC:
- ldr r0, _080868EC
- ldr r0, [r0]
- ldr r2, _080868F0
- adds r0, r2
- str r1, [r0]
-_080868E6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080868EC: .4byte gUnknown_203B418
-_080868F0: .4byte 0x000181fc
- thumb_func_end sub_8086854
-
- thumb_func_start sub_80868F4
-sub_80868F4:
- ldr r1, [r0, 0x70]
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- movs r2, 0x1
- strb r2, [r1]
- ldr r0, [r0, 0x70]
- ldr r1, _0808690C
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0808690C: .4byte 0x0000015d
- thumb_func_end sub_80868F4
-
- thumb_func_start sub_8086910
-sub_8086910:
- ldr r1, [r0, 0x70]
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- movs r2, 0
- strb r2, [r1]
- ldr r0, [r0, 0x70]
- ldr r1, _08086928
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_08086928: .4byte 0x0000015d
- thumb_func_end sub_8086910
-
- thumb_func_start sub_808692C
-sub_808692C:
- push {lr}
- movs r0, 0x5
- bl sub_80859F0
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x6
- bl sub_80859F0
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x7
- bl sub_80859F0
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0
- bl sub_80859F0
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- pop {r0}
- bx r0
- thumb_func_end sub_808692C
-
- thumb_func_start sub_808696C
-sub_808696C:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- adds r0, 0x46
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x4
- bl sub_8002984
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 24
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- adds r3, r4, 0
- bl sub_80869E4
- movs r0, 0xF
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_8002984
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 24
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x1
- adds r3, r4, 0
- bl sub_80869E4
- movs r0, 0xF
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8002984
- adds r3, r0, 0
- lsls r3, 24
- asrs r3, 24
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- bl sub_80869E4
- movs r0, 0xF
- movs r1, 0x46
- bl sub_803E708
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808696C
-
- thumb_func_start sub_80869E4
-sub_80869E4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- asrs r6, r3, 24
- ldr r0, [r7, 0x70]
- adds r0, 0x46
- movs r4, 0
- ldrsb r4, [r0, r4]
- cmp r4, r6
- beq _08086A30
- adds r5, r0, 0
-_08086A08:
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r8
- bl sub_8002A70
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x7
- ands r0, r4
- strb r0, [r5]
- ldrb r1, [r5]
- adds r0, r7, 0
- bl sub_806CE68
- mov r0, r9
- movs r1, 0x46
- bl sub_803E708
- cmp r4, r6
- bne _08086A08
-_08086A30:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80869E4
-
- thumb_func_start sub_8086A3C
-sub_8086A3C:
- ldr r1, [r0, 0x70]
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- movs r2, 0x1
- strb r2, [r1]
- ldr r0, [r0, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r2, [r0]
- bx lr
- thumb_func_end sub_8086A3C
-
- thumb_func_start sub_8086A54
-sub_8086A54:
- ldr r1, [r0, 0x70]
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r2
- movs r3, 0
- movs r2, 0x1
- strb r2, [r1]
- ldr r0, [r0, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r3, [r0]
- bx lr
- thumb_func_end sub_8086A54
-
- thumb_func_start sub_8086A70
-sub_8086A70:
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r2, 16
- lsrs r4, r2, 16
- ldr r3, [r5, 0x70]
- adds r2, r3, 0
- movs r0, 0xF7
- adds r0, r3
- mov r12, r0
- movs r0, 0x1
- mov r6, r12
- strb r0, [r6]
- ldrh r0, [r3, 0x10]
- strh r0, [r3, 0x12]
- cmp r1, 0
- beq _08086A94
- strh r1, [r3, 0x10]
- strh r1, [r3, 0xE]
-_08086A94:
- ldr r0, _08086AB8
- ldr r0, [r0]
- ldr r1, _08086ABC
- adds r0, r1
- strh r4, [r0]
- adds r0, r2, 0
- adds r0, 0x8C
- mov r2, r12
- ldrb r1, [r2]
- bl sub_808EC94
- adds r0, r5, 0
- bl sub_807191C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086AB8: .4byte gUnknown_203B418
-_08086ABC: .4byte 0x0000066a
- thumb_func_end sub_8086A70
-
- thumb_func_start sub_8086AC0
-sub_8086AC0:
- push {lr}
- bl sub_8044B28
- lsls r0, 24
- cmp r0, 0
- bne _08086ADA
- ldr r0, _08086AE0
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _08086ADA
- bl sub_8097FF8
-_08086ADA:
- pop {r0}
- bx r0
- .align 2, 0
-_08086AE0: .4byte gUnknown_203B418
- thumb_func_end sub_8086AC0
-
- thumb_func_start sub_8086AE4
-sub_8086AE4:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _08086B04
- ldr r0, [r0]
- ldr r2, _08086B08
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08086B0C
- adds r0, r1, 0
- bl sub_808E734
- lsls r0, 24
- lsrs r0, 24
- b _08086B0E
- .align 2, 0
-_08086B04: .4byte gUnknown_203B418
-_08086B08: .4byte 0x0000065c
-_08086B0C:
- movs r0, 0x1
-_08086B0E:
- pop {r1}
- bx r1
- thumb_func_end sub_8086AE4
-
- thumb_func_start sub_8086B14
-sub_8086B14:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- bl sub_8085480
- mov r8, r0
- movs r0, 0x4
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0x3
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08086B8C
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- bl _call_via_r4
- ldr r0, [r6, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- mov r2, r8
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- movs r3, 0x6
- ldrsh r1, [r2, r3]
- subs r1, 0x2
- bl sub_8085860
- ldr r4, _08086B90
- adds r0, r4, 0
- movs r1, 0x32
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0xFC
- bl sub_808D8BC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086B8C: .4byte sub_8086A3C
-_08086B90: .4byte gUnknown_202E038
- thumb_func_end sub_8086B14
-
- thumb_func_start sub_8086B94
-sub_8086B94:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x4
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x3
- bl sub_8085680
- movs r4, 0x87
- lsls r4, 2
- adds r1, r4, 0
- movs r2, 0
- bl sub_8068FE0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8068FE0
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- bl sub_8085860
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8086B94
-
- thumb_func_start sub_8086BDC
-sub_8086BDC:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x1
- bhi _08086C02
- cmp r0, 0x3
- bne _08086C02
- movs r0, 0x1
- bl sub_8097FA8
- ldr r0, _08086C08
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_08086C02:
- pop {r0}
- bx r0
- .align 2, 0
-_08086C08: .4byte gUnknown_203B418
- thumb_func_end sub_8086BDC
-
- thumb_func_start sub_8086C0C
-sub_8086C0C:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x10
- bl sub_8085480
- mov r8, r0
- bl sub_808548C
- mov r9, r0
- movs r0, 0x4
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x3
- bl sub_8085680
- adds r6, r0, 0
- ldr r0, [r4, 0xC]
- str r0, [sp]
- ldr r0, [r4, 0x10]
- movs r1, 0xC0
- lsls r1, 6
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r6, 0xC]
- str r0, [sp, 0x8]
- ldr r0, [r6, 0x10]
- movs r2, 0x80
- lsls r2, 6
- adds r0, r2
- add r5, sp, 0x8
- str r0, [r5, 0x4]
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- mov r0, r9
- bl sub_80862BC
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086D84
- bl sub_8052910
- mov r0, sp
- movs r1, 0x40
- bl sub_80858AC
- movs r0, 0x40
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x30
- bl sub_80858AC
- ldr r0, _08086D88
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, [r4, 0x70]
- ldr r2, _08086D8C
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- mov r0, sp
- movs r1, 0x30
- bl sub_80858AC
- ldr r0, _08086D90
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x20
- bl sub_80858AC
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_8086E74
- ldr r0, _08086D94
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086D98
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086D9C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086DA0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0xD
- movs r2, 0
- bl sub_806CDD4
- ldr r0, _08086DA4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- mov r0, r8
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _08086DA8
- bl sub_8052910
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- mov r0, r8
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x4
- bl sub_80869E4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xB
- bl sub_8083E88
- movs r0, 0xC
- add r8, r0
- mov r0, r8
- movs r1, 0x10
- bl sub_80858AC
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086D84: .4byte gUnknown_8100768
-_08086D88: .4byte gUnknown_8100798
-_08086D8C: .4byte 0x0000015d
-_08086D90: .4byte gUnknown_8100820
-_08086D94: .4byte gUnknown_8100844
-_08086D98: .4byte gUnknown_8100880
-_08086D9C: .4byte gUnknown_8100928
-_08086DA0: .4byte gUnknown_8100A04
-_08086DA4: .4byte gUnknown_8100B80
-_08086DA8: .4byte gUnknown_8100BC0
- thumb_func_end sub_8086C0C
-
- thumb_func_start sub_8086DAC
-sub_8086DAC:
- push {r4,r5,lr}
- sub sp, 0x8
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x3
- bl sub_8085680
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- str r0, [sp]
- ldr r0, [r4, 0x10]
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1
- str r0, [sp, 0x4]
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8086E74
- mov r0, sp
- movs r1, 0x10
- bl sub_80858AC
- ldr r0, _08086E34
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086E38
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0xD
- movs r2, 0
- bl sub_806CDD4
- ldr r0, _08086E3C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- movs r0, 0xB
- bl sub_8083E88
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086E34: .4byte gUnknown_8100C90
-_08086E38: .4byte gUnknown_8100CBC
-_08086E3C: .4byte gUnknown_8100CDC
- thumb_func_end sub_8086DAC
-
- thumb_func_start sub_8086E40
-sub_8086E40:
- push {lr}
- bl sub_8085480
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086E6C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08086E70
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- pop {r0}
- bx r0
- .align 2, 0
-_08086E6C: .4byte gUnknown_8100D3C
-_08086E70: .4byte gUnknown_203B418
- thumb_func_end sub_8086E40
-
- thumb_func_start sub_8086E74
-sub_8086E74:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- adds r0, r4, 0
- bl sub_8086A54
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- movs r0, 0x44
- movs r1, 0x46
- bl sub_803E708
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8086E74
-
- thumb_func_start sub_8086E9C
-sub_8086E9C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08086EF8
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r4, 0
- bl sub_808563C
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _08086EFC
- adds r0, r4, 0
- movs r1, 0xB
- bl sub_808D8BC
- adds r0, r4, 0
- adds r0, 0x50
- movs r1, 0x5E
- bl sub_808D8BC
- adds r4, 0xA0
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08086EF8: .4byte sub_8086A3C
-_08086EFC: .4byte gUnknown_202E038
- thumb_func_end sub_8086E9C
-
- thumb_func_start sub_8086F00
-sub_8086F00:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08086F4C
- bl sub_80855E4
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _08086F50
- adds r0, r4, 0
- movs r1, 0xB
- bl sub_808D8BC
- adds r0, r4, 0
- adds r0, 0x50
- movs r1, 0x5E
- bl sub_808D8BC
- adds r4, 0xA0
- adds r0, r4, 0
- movs r1, 0xA
- bl sub_808D8BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08086F4C: .4byte sub_8086A3C
-_08086F50: .4byte gUnknown_202E038
- thumb_func_end sub_8086F00
-
- thumb_func_start sub_8086F54
-sub_8086F54:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- movs r0, 0xFC
- lsls r0, 24
- adds r1, r0
- lsrs r1, 24
- cmp r1, 0x1
- bhi _08086FA8
- movs r5, 0
-_08086F6A:
- ldr r0, _08086FB0
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _08086FB4
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _08086F8E
- ldr r0, [r4, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, r6
- bne _08086FA8
-_08086F8E:
- adds r5, 0x1
- cmp r5, 0xF
- ble _08086F6A
- movs r0, 0
- cmp r0, 0
- bne _08086FA8
- movs r0, 0x3
- bl sub_8097FA8
- ldr r0, _08086FB0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_08086FA8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08086FB0: .4byte gUnknown_203B418
-_08086FB4: .4byte 0x0001358c
- thumb_func_end sub_8086F54
-
- thumb_func_start sub_8086FB8
-sub_8086FB8:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087048
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808704C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8087144
- movs r0, 0xA
- bl sub_8083E88
- ldr r0, _08087050
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087054
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087058
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808705C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087060
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087048: .4byte gUnknown_8100DB0
-_0808704C: .4byte gUnknown_8100E64
-_08087050: .4byte gUnknown_8100E88
-_08087054: .4byte gUnknown_8100F14
-_08087058: .4byte gUnknown_8101004
-_0808705C: .4byte gUnknown_8101050
-_08087060: .4byte gUnknown_81010D0
- thumb_func_end sub_8086FB8
-
- thumb_func_start sub_8087064
-sub_8087064:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_808548C
- adds r5, r0, 0
- bl sub_8086448
- ldr r0, _08087118
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808711C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8087144
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087120
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087124
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x4
- bl sub_806CDD4
- adds r0, r5, 0
- movs r1, 0x6
- movs r2, 0x4
- bl sub_806CDD4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x4
- bl sub_806CDD4
- adds r0, r5, 0
- movs r1, 0x7
- movs r2, 0x4
- bl sub_806CDD4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087128
- bl sub_8052910
- ldr r0, _0808712C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087118: .4byte gUnknown_8101164
-_0808711C: .4byte gUnknown_8100E64
-_08087120: .4byte gUnknown_8101240
-_08087124: .4byte gUnknown_8101310
-_08087128: .4byte gUnknown_810137C
-_0808712C: .4byte gUnknown_8101408
- thumb_func_end sub_8087064
-
- thumb_func_start sub_8087130
-sub_8087130:
- push {lr}
- bl sub_8086448
- ldr r0, _08087140
- bl sub_80866C4
- pop {r0}
- bx r0
- .align 2, 0
-_08087140: .4byte gUnknown_8101440
- thumb_func_end sub_8087130
-
- thumb_func_start sub_8087144
-sub_8087144:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xF0
- movs r0, 0x5
- bl sub_8085680
- adds r7, r0, 0
- movs r0, 0x6
- bl sub_8085680
- mov r8, r0
- movs r0, 0x7
- bl sub_8085680
- mov r9, r0
- ldr r1, _080871E0
- mov r0, sp
- movs r2, 0x38
- bl memcpy
- add r6, sp, 0x38
- ldr r1, _080871E4
- adds r0, r6, 0
- movs r2, 0x38
- bl memcpy
- add r4, sp, 0x70
- ldr r1, _080871E8
- adds r0, r4, 0
- movs r2, 0x38
- bl memcpy
- add r5, sp, 0xA8
- mov r0, sp
- str r0, [r5]
- str r6, [r5, 0x4]
- str r4, [r5, 0x8]
- add r4, sp, 0xB4
- str r7, [r4]
- mov r3, r8
- str r3, [r4, 0x4]
- mov r0, r9
- str r0, [r4, 0x8]
- movs r0, 0xA
- bl sub_8083E88
- adds r0, r7, 0
- bl sub_8086A54
- mov r0, r8
- bl sub_8086A54
- mov r0, r9
- bl sub_8086A54
- add r6, sp, 0xC0
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x3
- bl sub_8085B4C
- ldr r0, [r7, 0x70]
- ldr r2, _080871EC
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- mov r3, r8
- ldr r0, [r3, 0x70]
- adds r0, r2
- strb r1, [r0]
- mov r3, r9
- ldr r0, [r3, 0x70]
- adds r0, r2
- strb r1, [r0]
- b _080871F6
- .align 2, 0
-_080871E0: .4byte gUnknown_810739C
-_080871E4: .4byte gUnknown_81073D4
-_080871E8: .4byte gUnknown_810740C
-_080871EC: .4byte 0x0000015f
-_080871F0:
- movs r0, 0x46
- bl sub_803E46C
-_080871F6:
- adds r0, r6, 0
- bl sub_8085B80
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080871F0
- ldr r0, [r7, 0x70]
- ldr r1, _0808722C
- adds r0, r1
- strb r2, [r0]
- mov r3, r8
- ldr r0, [r3, 0x70]
- adds r0, r1
- strb r2, [r0]
- mov r3, r9
- ldr r0, [r3, 0x70]
- adds r0, r1
- strb r2, [r0]
- add sp, 0xF0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808722C: .4byte 0x0000015f
- thumb_func_end sub_8087144
-
- thumb_func_start sub_8087230
-sub_8087230:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x8
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08087294
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _08087298
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x91
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087294: .4byte sub_8086A3C
-_08087298: .4byte gUnknown_202E038
- thumb_func_end sub_8087230
-
- thumb_func_start sub_808729C
-sub_808729C:
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x8
- bl sub_8085680
- adds r4, r0, 0
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r6, _080872DC
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x91
- bl sub_8086AE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080872E0
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _08087300
- .align 2, 0
-_080872DC: .4byte sub_8086A3C
-_080872E0:
- ldr r0, _0808732C
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0
- bl sub_8072008
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl _call_via_r6
-_08087300:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _08087330
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x91
- bl sub_808D8BC
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808732C: .4byte gUnknown_80F57CC
-_08087330: .4byte gUnknown_202E038
- thumb_func_end sub_808729C
-
- thumb_func_start sub_8087334
-sub_8087334:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xF9
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _0808735A
- cmp r0, 0x8
- bne _0808735A
- movs r0, 0x5
- bl sub_8097FA8
- ldr r0, _08087360
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808735A:
- pop {r0}
- bx r0
- .align 2, 0
-_08087360: .4byte gUnknown_203B418
- thumb_func_end sub_8087334
-
- thumb_func_start sub_8087364
-sub_8087364:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x70
- bl sub_8085480
- mov r9, r0
- bl sub_808548C
- adds r6, r0, 0
- movs r0, 0x8
- bl sub_8085680
- str r0, [sp, 0x68]
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _08087470
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x4
- bl sub_80869E4
- ldr r0, _08087474
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x3
- bl sub_808775C
- bl sub_8083F14
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _08087478
- bl sub_8052910
- ldr r0, [sp, 0x68]
- bl sub_8087704
- movs r0, 0x9
- bl sub_8083E88
- adds r0, r6, 0
- movs r1, 0x6
- movs r2, 0x4
- bl sub_806CDD4
- ldr r0, _0808747C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80869E4
- mov r1, sp
- ldr r0, _08087480
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- str r0, [sp, 0x58]
- str r6, [sp, 0x5C]
- add r4, sp, 0x18
- add r1, sp, 0x58
- add r2, sp, 0x5C
- adds r0, r4, 0
- movs r3, 0x1
- bl sub_8085B4C
- ldr r0, [r6, 0x70]
- ldr r2, _08087484
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- add r7, sp, 0x28
- add r3, sp, 0x48
- mov r8, r3
- add r0, sp, 0x60
- mov r10, r0
- mov r1, sp
- adds r1, 0x64
- str r1, [sp, 0x6C]
- b _0808748E
- .align 2, 0
-_08087470: .4byte gUnknown_81014B0
-_08087474: .4byte gUnknown_8101504
-_08087478: .4byte gUnknown_81015A0
-_0808747C: .4byte gUnknown_81015D4
-_08087480: .4byte gUnknown_810744C
-_08087484: .4byte 0x0000015f
-_08087488:
- movs r0, 0x46
- bl sub_803E46C
-_0808748E:
- adds r0, r4, 0
- bl sub_8085B80
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08087488
- ldr r0, [r6, 0x70]
- ldr r2, _08087510
- adds r0, r2
- strb r5, [r0]
- ldr r0, [r6, 0x70]
- ldr r4, _08087514
- adds r0, r4
- movs r1, 0x1
- strb r1, [r0]
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- ldr r0, _08087518
- bl sub_8052910
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808751C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, [r6, 0x70]
- adds r0, r4
- strb r5, [r0]
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x2
- movs r3, 0x5
- bl sub_80869E4
- adds r1, r7, 0
- ldr r0, _08087520
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r3,r4}
- stm r1!, {r3,r4}
- str r7, [sp, 0x60]
- str r6, [sp, 0x64]
- mov r0, r8
- mov r1, r10
- ldr r2, [sp, 0x6C]
- movs r3, 0x1
- bl sub_8085B4C
- mov r4, r9
- adds r4, 0xC
- b _0808752A
- .align 2, 0
-_08087510: .4byte 0x0000015f
-_08087514: .4byte 0x0000015d
-_08087518: .4byte gUnknown_81015E8
-_0808751C: .4byte gUnknown_8101624
-_08087520: .4byte gUnknown_8107464
-_08087524:
- movs r0, 0x46
- bl sub_803E46C
-_0808752A:
- mov r0, r8
- bl sub_8085B80
- lsls r0, 24
- cmp r0, 0
- bne _08087524
- adds r0, r6, 0
- movs r1, 0x2
- movs r2, 0x1
- movs r3, 0x3
- bl sub_80869E4
- ldr r0, _080875B0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x3
- bl sub_808775C
- ldr r0, _080875B4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1
- bl sub_808775C
- ldr r0, _080875B8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x2
- bl sub_808775C
- ldr r0, _080875BC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 1
- ldr r0, [sp, 0x68]
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- add sp, 0x70
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080875B0: .4byte gUnknown_810165C
-_080875B4: .4byte gUnknown_8101750
-_080875B8: .4byte gUnknown_810178C
-_080875BC: .4byte gUnknown_81017B4
- thumb_func_end sub_8087364
-
- thumb_func_start sub_80875C0
-sub_80875C0:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x8
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087648
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _0808764C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8087704
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087650
- bl sub_8052910
- movs r0, 0x1
- bl sub_808775C
- ldr r0, _08087654
- bl sub_8052910
- movs r0, 0x2
- bl sub_808775C
- ldr r0, _08087658
- bl sub_8052910
- movs r1, 0x96
- lsls r1, 1
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087648: .4byte gUnknown_81017E4
-_0808764C: .4byte gUnknown_81015A0
-_08087650: .4byte gUnknown_8101898
-_08087654: .4byte gUnknown_81018EC
-_08087658: .4byte gUnknown_8101918
- thumb_func_end sub_80875C0
-
- thumb_func_start sub_808765C
-sub_808765C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x8
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0x91
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _08087688
- ldr r0, _08087684
- bl sub_80866C4
- b _080876EA
- .align 2, 0
-_08087684: .4byte gUnknown_8101A38
-_08087688:
- movs r0, 0x1
- bl sub_808775C
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _080876F0
- bl sub_8052910
- adds r0, r4, 0
- bl sub_8087704
- ldr r0, _080876F4
- bl sub_8052910
- movs r0, 0x1
- bl sub_808775C
- ldr r0, _080876F8
- bl sub_8052910
- movs r0, 0x2
- bl sub_808775C
- ldr r0, _080876FC
- bl sub_8052910
- movs r0, 0x2
- bl sub_808775C
- ldr r0, _08087700
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_080876EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080876F0: .4byte gUnknown_810193C
-_080876F4: .4byte gUnknown_8101970
-_080876F8: .4byte gUnknown_8101994
-_080876FC: .4byte gUnknown_81019E4
-_08087700: .4byte gUnknown_8101A04
- thumb_func_end sub_808765C
-
- thumb_func_start sub_8087704
-sub_8087704:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r5, 0x70]
- adds r1, 0x16
- adds r0, r1
- movs r1, 0xC8
- str r1, [r0]
- movs r0, 0xF5
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xC8
-_08087734:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x5
- cmp r4, 0
- bge _08087734
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8087704
-
- thumb_func_start sub_808775C
-sub_808775C:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r0, 0xFB
- lsls r0, 1
- bl sub_8083E38
- cmp r5, 0x2
- ble _08087790
- movs r4, 0xFA
-_08087770:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08087770
-_08087790:
- cmp r5, 0x1
- ble _080877B6
- movs r4, 0xFA
-_08087796:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08087796
-_080877B6:
- movs r4, 0xFA
-_080877B8:
- adds r2, r4, 0
- cmp r4, 0
- bge _080877C0
- adds r2, r4, 0x3
-_080877C0:
- asrs r2, 2
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _080877B8
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808775C
-
- thumb_func_start sub_80877E8
-sub_80877E8:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x26
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x6
- bl sub_8085930
- ldr r4, _08087840
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- subs r0, 0x3
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x2
- bl sub_8085860
- ldr r0, _08087844
- movs r1, 0x92
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087840: .4byte sub_8086A3C
-_08087844: .4byte gUnknown_202E038
- thumb_func_end sub_80877E8
-
- thumb_func_start sub_8087848
-sub_8087848:
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x26
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x6
- bl sub_8085930
- ldr r6, _08087890
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x92
- bl sub_8086AE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08087894
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _080878B4
- .align 2, 0
-_08087890: .4byte sub_8086A3C
-_08087894:
- ldr r0, _080878E8
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0
- bl sub_8072008
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl _call_via_r6
-_080878B4:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- subs r0, 0x5
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- ldr r3, _080878EC
- adds r1, r3
- adds r0, r4, 0
- bl sub_803F878
- ldr r0, _080878F0
- movs r1, 0x92
- bl sub_808D8BC
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080878E8: .4byte gUnknown_80F57CE
-_080878EC: .4byte 0xfffff000
-_080878F0: .4byte gUnknown_202E038
- thumb_func_end sub_8087848
-
- thumb_func_start sub_80878F4
-sub_80878F4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xF6
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _0808791A
- cmp r0, 0x9
- bne _0808791A
- movs r0, 0x7
- bl sub_8097FA8
- ldr r0, _08087920
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808791A:
- pop {r0}
- bx r0
- .align 2, 0
-_08087920: .4byte gUnknown_203B418
- thumb_func_end sub_80878F4
-
- thumb_func_start sub_8087924
-sub_8087924:
- push {r4-r6,lr}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- adds r4, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- bl sub_8086500
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087AE8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x5
- bl sub_80869E4
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087AEC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087DE8
- ldr r0, _08087AF0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _08087AF4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- bl sub_8086690
- ldr r0, _08087AF8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08087AFC
- bl sub_8083E38
- bl sub_8083F14
- bl sub_8087F24
- ldr r0, _08087B00
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087B04
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087B08
- bl sub_8083E38
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80856E0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087B0C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8087EB0
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _08087B10
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0xB
- movs r1, 0x5
- bl sub_8087DE8
- ldr r0, _08087B14
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087DE8
- adds r0, r6, 0
- bl sub_8087D30
- bl sub_808663C
- bl sub_8087EB0
- ldr r0, _08087B18
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xB
- movs r1, 0x6
- bl sub_8087DE8
- ldr r0, _08087B1C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r6, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087AE8: .4byte gUnknown_8101A9C
-_08087AEC: .4byte gUnknown_8101AD4
-_08087AF0: .4byte gUnknown_8101C30
-_08087AF4: .4byte gUnknown_8101CBC
-_08087AF8: .4byte gUnknown_8101D8C
-_08087AFC: .4byte 0x000002f2
-_08087B00: .4byte gUnknown_8101DA0
-_08087B04: .4byte gUnknown_8101E1C
-_08087B08: .4byte 0x000001cf
-_08087B0C: .4byte gUnknown_8101EAC
-_08087B10: .4byte gUnknown_8102070
-_08087B14: .4byte gUnknown_81020A4
-_08087B18: .4byte gUnknown_81020D4
-_08087B1C: .4byte gUnknown_8102108
- thumb_func_end sub_8087924
-
- thumb_func_start sub_8087B20
-sub_8087B20:
- push {r4-r6,lr}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- adds r4, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0xA
- movs r1, 0x5
- bl sub_8087D80
- bl sub_8086500
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087C24
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _08087C28
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- bl sub_8086690
- bl sub_8087F24
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- adds r0, r6, 0
- bl sub_8087D30
- bl sub_808663C
- bl sub_8087EB0
- ldr r0, _08087C2C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xB
- movs r1, 0x6
- bl sub_8087DE8
- ldr r0, _08087C30
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087C34
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r6, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087C24: .4byte gUnknown_8102158
-_08087C28: .4byte gUnknown_8102190
-_08087C2C: .4byte gUnknown_8102200
-_08087C30: .4byte gUnknown_8102254
-_08087C34: .4byte gUnknown_81022F8
- thumb_func_end sub_8087B20
-
- thumb_func_start sub_8087C38
-sub_8087C38:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x9
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- bl sub_808654C
- movs r0, 0x92
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _08087CA4
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087C9C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087CA0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _08087D16
- .align 2, 0
-_08087C9C: .4byte gUnknown_8100D3C
-_08087CA0: .4byte gUnknown_203B418
-_08087CA4:
- ldr r0, _08087D1C
- bl sub_8052910
- movs r0, 0x5
- bl sub_8085930
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- bl sub_8087D30
- ldr r0, _08087D20
- bl sub_8052910
- movs r0, 0xC
- movs r1, 0x5
- bl sub_8087D80
- movs r0, 0x9
- movs r1, 0x5
- bl sub_8087DE8
- ldr r0, _08087D24
- bl sub_8052910
- bl sub_8087EB0
- ldr r0, _08087D28
- bl sub_8052910
- movs r0, 0xB
- movs r1, 0x6
- bl sub_8087DE8
- ldr r0, _08087D2C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08087D16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08087D1C: .4byte gUnknown_810232C
-_08087D20: .4byte gUnknown_8102398
-_08087D24: .4byte gUnknown_81023C4
-_08087D28: .4byte gUnknown_8102400
-_08087D2C: .4byte gUnknown_8102454
- thumb_func_end sub_8087C38
-
- thumb_func_start sub_8087D30
-sub_8087D30:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r5, 0x70]
- adds r1, 0x16
- adds r0, r1
- movs r1, 0xC8
- lsls r1, 8
- str r1, [r0]
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xC8
-_08087D62:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x5
- cmp r4, 0
- bge _08087D62
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8087D30
-
- thumb_func_start sub_8087D80
-sub_8087D80:
- push {lr}
- sub sp, 0x8
- adds r3, r1, 0
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r1, r2
- cmp r0, 0
- bge _08087D98
- adds r0, 0xFF
-_08087D98:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _08087DE0
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
- cmp r0, 0
- bge _08087DB8
- adds r0, 0xFF
-_08087DB8:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _08087DE4
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- movs r0, 0xB9
- lsls r0, 1
- movs r1, 0
- str r1, [sp]
- movs r1, 0x10
- movs r2, 0
- add r3, sp, 0x4
- bl sub_8085EC8
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_08087DE0: .4byte 0xffff0000
-_08087DE4: .4byte 0x0000ffff
- thumb_func_end sub_8087D80
-
- thumb_func_start sub_8087DE8
-sub_8087DE8:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r3, r1, 0
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 11
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r1, r2
- cmp r0, 0
- bge _08087E00
- adds r0, 0xFF
-_08087E00:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _08087EA8
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
- cmp r0, 0
- bge _08087E20
- adds r0, 0xFF
-_08087E20:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _08087EAC
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- movs r0, 0xB9
- lsls r0, 1
- movs r1, 0
- str r1, [sp]
- movs r1, 0x16
- movs r2, 0
- add r3, sp, 0x4
- bl sub_8085EC8
- adds r6, r0, 0
- movs r0, 0xF6
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_08087E4E:
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x13
- bgt _08087E4E
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_08087E74:
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08087E74
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- adds r0, r6, 0
- bl sub_8085F44
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087EA8: .4byte 0xffff0000
-_08087EAC: .4byte 0x0000ffff
- thumb_func_end sub_8087DE8
-
- thumb_func_start sub_8087EB0
-sub_8087EB0:
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08087F20
- bl sub_8083E38
- movs r4, 0xFA
-_08087EBC:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x9
- bgt _08087EBC
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08087F20
- bl sub_8083E38
- movs r4, 0xFA
-_08087EEC:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08087EEC
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087F20: .4byte 0x000001ed
- thumb_func_end sub_8087EB0
-
- thumb_func_start sub_8087F24
-sub_8087F24:
- push {r4-r6,lr}
- sub sp, 0x4
- movs r4, 0
- movs r6, 0
- movs r5, 0x50
- negs r5, r5
-_08087F30:
- str r6, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x8
- cmp r4, r5
- bge _08087F30
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8087F24
-
- thumb_func_start sub_8087F54
-sub_8087F54:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08087FAC
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _08087FB0
- movs r1, 0x90
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08087FAC: .4byte sub_8086A3C
-_08087FB0: .4byte gUnknown_202E038
- thumb_func_end sub_8087F54
-
- thumb_func_start sub_8087FB4
-sub_8087FB4:
- push {r4,lr}
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- ldr r0, _08087FF4
- movs r1, 0x90
- bl sub_808D8BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08087FF4: .4byte gUnknown_202E038
- thumb_func_end sub_8087FB4
-
- thumb_func_start sub_8087FF8
-sub_8087FF8:
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r6, _0808803C
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x90
- bl sub_8086AE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08088040
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _08088060
- .align 2, 0
-_0808803C: .4byte sub_8086A3C
-_08088040:
- ldr r0, _08088080
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0
- bl sub_8072008
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl _call_via_r6
-_08088060:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _08088084
- movs r1, 0x90
- bl sub_808D8BC
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088080: .4byte gUnknown_80F57D0
-_08088084: .4byte gUnknown_202E038
- thumb_func_end sub_8087FF8
-
- thumb_func_start sub_8088088
-sub_8088088:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xF3
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _080880AE
- cmp r0, 0xD
- bne _080880AE
- movs r0, 0x9
- bl sub_8097FA8
- ldr r0, _080880B4
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_080880AE:
- pop {r0}
- bx r0
- .align 2, 0
-_080880B4: .4byte gUnknown_203B418
- thumb_func_end sub_8088088
-
- thumb_func_start sub_80880B8
-sub_80880B8:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- adds r6, r0, 0
- movs r0, 0xD
- bl sub_8085680
- mov r8, r0
- bl sub_8086448
- adds r0, r6, 0
- bl sub_808696C
- ldr r0, _080882C8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8086598
- bl sub_8083F14
- ldr r0, _080882CC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _080882D0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x7
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8085918
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x6
- bl sub_8085918
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080882D4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080882D8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x4
- bl sub_80869E4
- adds r0, r6, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- ldr r4, _080882DC
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r6, 0
- bl sub_808696C
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- bl sub_808696C
- ldr r0, _080882E0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080882E4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0
- bl sub_8083E38
- ldr r0, _080882E8
- ldr r0, [r0]
- ldr r1, _080882EC
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- movs r0, 0xF7
- lsls r0, 1
- bl sub_8083E38
- bl sub_8088574
- ldr r0, _080882F0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_80884E0
- bl sub_8086738
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _080882F4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xF5
- lsls r0, 1
- bl sub_8083E38
- mov r0, r8
- bl sub_8088484
- bl sub_80865E8
- bl sub_80884E0
- ldr r0, _080882F8
- bl sub_8052910
- mov r0, r8
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _080882FC
- bl sub_8052910
- mov r0, r8
- movs r1, 0x10
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _08088300
- bl sub_8052910
- mov r0, r8
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x10
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xE1
- lsls r1, 1
- mov r0, r8
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080882C8: .4byte gUnknown_8102478
-_080882CC: .4byte gUnknown_81025B4
-_080882D0: .4byte gUnknown_81025D4
-_080882D4: .4byte gUnknown_8102610
-_080882D8: .4byte gUnknown_81026C4
-_080882DC: .4byte 0x000001d5
-_080882E0: .4byte gUnknown_810270C
-_080882E4: .4byte gUnknown_810272C
-_080882E8: .4byte gUnknown_203B418
-_080882EC: .4byte 0x0000e265
-_080882F0: .4byte gUnknown_81027BC
-_080882F4: .4byte gUnknown_8102810
-_080882F8: .4byte gUnknown_8102840
-_080882FC: .4byte gUnknown_810286C
-_08088300: .4byte gUnknown_81028B8
- thumb_func_end sub_80880B8
-
- thumb_func_start sub_8088304
-sub_8088304:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- ldr r0, _08088384
- ldr r0, [r0]
- ldr r1, _08088388
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808838C
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _08088390
- bl sub_8052910
- bl sub_80884E0
- ldr r0, _08088394
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x28
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xE1
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088384: .4byte gUnknown_203B418
-_08088388: .4byte 0x0000e265
-_0808838C: .4byte gUnknown_81028D4
-_08088390: .4byte gUnknown_8102918
-_08088394: .4byte gUnknown_8102948
- thumb_func_end sub_8088304
-
- thumb_func_start sub_8088398
-sub_8088398:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xD
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0x90
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _080883C4
- ldr r0, _080883C0
- bl sub_80866C4
- b _08088460
- .align 2, 0
-_080883C0: .4byte gUnknown_8102A9C
-_080883C4:
- ldr r0, _08088468
- ldr r0, [r0]
- ldr r1, _0808846C
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- bl sub_80884E0
- bl sub_8086738
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _08088470
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8088484
- bl sub_80884E0
- ldr r0, _08088474
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _08088478
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl sub_806CDD4
- bl sub_80884E0
- ldr r0, _0808847C
- bl sub_8052910
- bl sub_80884E0
- ldr r0, _08088480
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x28
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xE1
- lsls r1, 1
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08088460:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088468: .4byte gUnknown_203B418
-_0808846C: .4byte 0x0000e265
-_08088470: .4byte gUnknown_8102984
-_08088474: .4byte gUnknown_81029B4
-_08088478: .4byte gUnknown_8102A18
-_0808847C: .4byte gUnknown_8102A24
-_08088480: .4byte gUnknown_8102A74
- thumb_func_end sub_8088398
-
- thumb_func_start sub_8088484
-sub_8088484:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r0, [r5, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r5, 0x70]
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r1
- strb r2, [r0]
- movs r0, 0xF5
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
-_080884AC:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x5
- cmp r4, 0
- bge _080884AC
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8088484
-
- thumb_func_start sub_80884E0
-sub_80884E0:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08088570
- bl sub_8083E38
- movs r4, 0xFA
-_080884EC:
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r0, 1
- movs r1, 0x1
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _080884EC
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_08088518:
- str r5, [sp]
- movs r0, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08088518
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_0808853C:
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r0, 1
- movs r1, 0x1
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808853C
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088570: .4byte 0x000002ad
- thumb_func_end sub_80884E0
-
- thumb_func_start sub_8088574
-sub_8088574:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r4, 0
- movs r5, 0
-_0808857C:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0x8
- cmp r4, 0x50
- ble _0808857C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8088574
-
- thumb_func_start sub_80885A0
-sub_80885A0:
- push {lr}
- movs r0, 0x3C
- bl sub_8083ED8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083F14
- ldr r0, _080885C0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x7]
- pop {r0}
- bx r0
- .align 2, 0
-_080885C0: .4byte gUnknown_203B418
- thumb_func_end sub_80885A0
-
- thumb_func_start sub_80885C4
-sub_80885C4:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x3C
- bl sub_8083ED8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083F14
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08088604
- bl sub_80855E4
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x3
- bl sub_8085860
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08088604: .4byte sub_8086A3C
- thumb_func_end sub_80885C4
-
- thumb_func_start sub_8088608
-sub_8088608:
- ldr r0, _08088614
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_08088614: .4byte gUnknown_203B418
- thumb_func_end sub_8088608
-
- thumb_func_start sub_8088618
-sub_8088618:
- push {lr}
- bl sub_8086448
- ldr r0, _08088628
- bl sub_80866C4
- pop {r0}
- bx r0
- .align 2, 0
-_08088628: .4byte gUnknown_8102B10
- thumb_func_end sub_8088618
-
- thumb_func_start sub_808862C
-sub_808862C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- bl sub_8085480
- mov r8, r0
- movs r0, 0xA
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0xE
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80867F4
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _080886B8
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8085918
- adds r0, r5, 0
- movs r1, 0xD
- movs r2, 0x4
- bl sub_80861D4
- adds r0, r6, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r6, 0
- bl _call_via_r4
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _080886BC
- ldr r1, _080886C0
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x41
- bl sub_808D8BC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080886B8: .4byte sub_8086A3C
-_080886BC: .4byte gUnknown_202E038
-_080886C0: .4byte 0x0000019b
- thumb_func_end sub_808862C
-
- thumb_func_start sub_80886C4
-sub_80886C4:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0xA
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0xE
- bl sub_8085680
- adds r4, r0, 0
- ldr r0, _0808874C
- bl sub_8083E38
- bl sub_80867F4
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- movs r1, 0x87
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0
- bl sub_8068FE0
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl sub_8086A3C
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- bl sub_8085860
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- ldr r0, _08088750
- adds r1, r0
- adds r0, r4, 0
- bl sub_803F878
- ldr r4, _08088754
- ldr r1, _08088758
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x41
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808874C: .4byte 0x000003e5
-_08088750: .4byte 0xfffff000
-_08088754: .4byte gUnknown_202E038
-_08088758: .4byte 0x0000019b
- thumb_func_end sub_80886C4
-
- thumb_func_start sub_808875C
-sub_808875C:
- push {r4-r7,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r7, r0, 0
- movs r0, 0xA
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0xE
- bl sub_8085680
- adds r5, r0, 0
- bl sub_80867F4
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _080887B4
- bl sub_80855E4
- movs r6, 0x87
- lsls r6, 2
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8068FE0
- ldr r0, _080887B8
- bl sub_8086AE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080887BC
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8068FE0
- b _080887E0
- .align 2, 0
-_080887B4: .4byte sub_8086A3C
-_080887B8: .4byte 0x0000019b
-_080887BC:
- ldr r0, _0808880C
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- adds r0, r5, 0
- adds r1, r5, 0
- movs r3, 0
- bl sub_8072008
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_80861D4
-_080887E0:
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- movs r2, 0x6
- ldrsh r1, [r7, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _08088810
- ldr r1, _08088814
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x41
- bl sub_808D8BC
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808880C: .4byte gUnknown_80F57D2
-_08088810: .4byte gUnknown_202E038
-_08088814: .4byte 0x0000019b
- thumb_func_end sub_808875C
-
- thumb_func_start sub_8088818
-sub_8088818:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xEE
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _0808883E
- cmp r0, 0xE
- bne _0808883E
- movs r0, 0xC
- bl sub_8097FA8
- ldr r0, _08088844
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808883E:
- pop {r0}
- bx r0
- .align 2, 0
-_08088844: .4byte gUnknown_203B418
- thumb_func_end sub_8088818
-
- thumb_func_start sub_8088848
-sub_8088848:
- push {lr}
- bl sub_8086854
- pop {r0}
- bx r0
- thumb_func_end sub_8088848
-
- thumb_func_start sub_8088854
-sub_8088854:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- mov r8, r0
- movs r0, 0xA
- bl sub_8085680
- adds r6, r0, 0
- movs r0, 0xE
- bl sub_8085680
- mov r9, r0
- bl sub_8086448
- ldr r0, _08088A5C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A60
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8086838
- bl sub_808680C
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- bl sub_808682C
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A64
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8086838
- bl sub_808680C
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A68
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8088CA0
- ldr r0, _08088A6C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A70
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r4, _08088A74
- adds r0, r4, 0
- bl sub_8083E38
- mov r0, r8
- bl sub_808696C
- ldr r0, _08088A78
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_808682C
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0x6
- movs r2, 0x4
- bl sub_80861B8
- ldr r0, _08088A7C
- bl sub_8083E38
- bl sub_8086738
- movs r1, 0x87
- lsls r1, 2
- adds r0, r6, 0
- movs r2, 0
- bl sub_8068FE0
- ldr r0, _08088A80
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A84
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- bl sub_8086764
- movs r0, 0x28
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8083E38
- mov r0, r8
- bl sub_808696C
- ldr r0, _08088A88
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8086838
- bl sub_808680C
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A8C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083F14
- bl sub_8088D30
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A90
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088A94
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- bl sub_808682C
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0xFD
- lsls r0, 1
- bl sub_8083E38
- bl sub_8086738
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08088A98
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- mov r0, r9
- bl sub_8086A54
- movs r0, 0x4
- bl sub_8085930
- bl sub_8086764
- movs r1, 0xFA
- lsls r1, 1
- mov r0, r9
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088A5C: .4byte gUnknown_8102E70
-_08088A60: .4byte gUnknown_8102EBC
-_08088A64: .4byte gUnknown_8102EE0
-_08088A68: .4byte gUnknown_8102EF8
-_08088A6C: .4byte gUnknown_8102F30
-_08088A70: .4byte gUnknown_8102F64
-_08088A74: .4byte 0x000001d5
-_08088A78: .4byte gUnknown_8102F84
-_08088A7C: .4byte 0x00000205
-_08088A80: .4byte gUnknown_8102FAC
-_08088A84: .4byte gUnknown_8102FC4
-_08088A88: .4byte gUnknown_8102FD8
-_08088A8C: .4byte gUnknown_8103054
-_08088A90: .4byte gUnknown_81030D8
-_08088A94: .4byte gUnknown_8103110
-_08088A98: .4byte gUnknown_8103140
- thumb_func_end sub_8088854
-
- thumb_func_start sub_8088A9C
-sub_8088A9C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0xE
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- bl sub_8086838
- bl sub_808680C
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088B50
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8088CA0
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088B54
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08088B58
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_808682C
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083F14
- movs r0, 0xFD
- lsls r0, 1
- bl sub_8083E38
- bl sub_8086738
- ldr r0, _08088B5C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8086A54
- movs r0, 0x4
- bl sub_8085930
- bl sub_8086764
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088B50: .4byte gUnknown_8103188
-_08088B54: .4byte gUnknown_8103228
-_08088B58: .4byte gUnknown_8103310
-_08088B5C: .4byte gUnknown_8103340
- thumb_func_end sub_8088A9C
-
- thumb_func_start sub_8088B60
-sub_8088B60:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0xE
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- ldr r0, _08088B88
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _08088B90
- ldr r0, _08088B8C
- bl sub_80866C4
- b _08088BF2
- .align 2, 0
-_08088B88: .4byte 0x0000019b
-_08088B8C: .4byte gUnknown_8103488
-_08088B90:
- ldr r0, _08088BF8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8088C08
- adds r0, r5, 0
- bl sub_8088C08
- ldr r0, _08088BFC
- bl sub_8052910
- movs r4, 0xFB
- lsls r4, 1
- adds r0, r4, 0
- bl sub_8083E38
- bl sub_8088CA0
- ldr r0, _08088C00
- bl sub_8052910
- adds r0, r4, 0
- bl sub_8083E38
- bl sub_8088CA0
- ldr r0, _08088C04
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xFA
- lsls r1, 1
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r6, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08088BF2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088BF8: .4byte gUnknown_81033A0
-_08088BFC: .4byte gUnknown_81033AC
-_08088C00: .4byte gUnknown_810343C
-_08088C04: .4byte gUnknown_810347C
- thumb_func_end sub_8088B60
-
- thumb_func_start sub_8088C08
-sub_8088C08:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x18
- movs r1, 0x10
- bl sub_8086848
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_806CDD4
- movs r4, 0
-_08088C20:
- cmp r4, 0xA
- beq _08088C28
- cmp r4, 0x20
- bne _08088C3C
-_08088C28:
- ldr r0, _08088C9C
- bl sub_8083E38
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8086838
- bl sub_808680C
-_08088C3C:
- adds r0, r4, 0
- subs r0, 0xA
- cmp r0, 0xB
- bls _08088C48
- cmp r4, 0x1F
- ble _08088C54
-_08088C48:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x80
- lsls r2, 1
- bl sub_804539C
-_08088C54:
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0x1
- cmp r4, 0x2B
- ble _08088C20
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- movs r0, 0x6
- ldrsh r2, [r5, r0]
- adds r2, 0x1
- adds r0, r5, 0
- bl sub_80856C8
- adds r0, r5, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_80861D4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_808682C
- movs r0, 0x4
- bl sub_8085930
- movs r0, 0x22
- movs r1, 0x46
- bl sub_803E708
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08088C9C: .4byte 0x000001f9
- thumb_func_end sub_8088C08
-
- thumb_func_start sub_8088CA0
-sub_8088CA0:
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0xFA
-_08088CA6:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _08088CA6
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_08088CD0:
- lsrs r1, r4, 31
- adds r1, r4, r1
- asrs r1, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08088CD0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_08088CFA:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08088CFA
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8088CA0
-
- thumb_func_start sub_8088D30
-sub_8088D30:
- push {r4,lr}
- sub sp, 0x4
- movs r4, 0xFA
-_08088D36:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _08088D36
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_08088D60:
- lsrs r1, r4, 31
- adds r1, r4, r1
- asrs r1, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08088D60
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_08088D8A:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08088D8A
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8088D30
-
- thumb_func_start sub_8088DC0
-sub_8088DC0:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- bl sub_8085480
- mov r8, r0
- movs r0, 0xB
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0xC
- bl sub_8085680
- adds r6, r0, 0
- bl sub_80867F4
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8086838
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08088E50
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- bl _call_via_r4
- adds r0, r5, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_806CDD4
- adds r0, r6, 0
- bl _call_via_r4
- adds r0, r6, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_806CDD4
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _08088E54
- ldr r1, _08088E58
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x41
- bl sub_808D8BC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088E50: .4byte sub_8086A3C
-_08088E54: .4byte gUnknown_202E038
-_08088E58: .4byte 0x0000019b
- thumb_func_end sub_8088DC0
-
- thumb_func_start sub_8088E5C
-sub_8088E5C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- bl sub_8085480
- mov r8, r0
- movs r0, 0xB
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0xC
- bl sub_8085680
- adds r6, r0, 0
- bl sub_80867F4
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_8086838
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08088EDC
- bl sub_80855E4
- movs r4, 0x87
- lsls r4, 2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8068FE0
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8068FE0
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- movs r3, 0x6
- ldrsh r1, [r1, r3]
- subs r1, 0x3
- bl sub_8085860
- ldr r4, _08088EE0
- ldr r1, _08088EE4
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- adds r0, r4, 0
- movs r1, 0x41
- bl sub_808D8BC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08088EDC: .4byte sub_8086A3C
-_08088EE0: .4byte gUnknown_202E038
-_08088EE4: .4byte 0x0000019b
- thumb_func_end sub_8088E5C
-
- thumb_func_start sub_8088EE8
-sub_8088EE8:
- push {lr}
- bl sub_8086854
- pop {r0}
- bx r0
- thumb_func_end sub_8088EE8
-
- thumb_func_start sub_8088EF4
-sub_8088EF4:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0xC
- bl sub_8085480
- mov r9, r0
- bl sub_808548C
- adds r5, r0, 0
- movs r0, 0xB
- bl sub_8085680
- mov r8, r0
- movs r0, 0xC
- bl sub_8085680
- adds r6, r0, 0
- mov r0, sp
- mov r1, r9
- adds r2, r5, 0
- bl sub_8052D44
- bl sub_8086448
- adds r0, r5, 0
- bl sub_808696C
- ldr r0, _08089118
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _0808911C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083F14
- ldr r0, _08089120
- bl sub_80855E4
- bl sub_808680C
- ldr r4, _08089124
- adds r0, r4, 0
- bl sub_8083E38
- movs r0, 0x28
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089128
- bl sub_8052910
- movs r0, 0x78
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8083E58
- bl sub_808682C
- ldr r0, _0808912C
- bl sub_80855E4
- movs r0, 0x14
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x4
- bl sub_8085930
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089130
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0x10
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- bl sub_808696C
- ldr r0, _08089134
- bl sub_8083E38
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80856E0
- ldr r0, _08089138
- bl sub_8052910
- mov r1, r8
- ldr r0, [r1, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r6, 0x70]
- adds r0, r2
- strb r1, [r0]
- mov r1, r8
- ldr r0, [r1, 0xC]
- ldr r1, [r6, 0xC]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [sp, 0x4]
- mov r0, r8
- ldr r1, [r0, 0x10]
- ldr r0, [r6, 0x10]
- adds r1, r0
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r0, 0x80
- lsls r0, 4
- adds r1, r0
- add r0, sp, 0x4
- str r1, [r0, 0x4]
- movs r1, 0x20
- bl sub_80858AC
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- bl sub_80891F0
- ldr r0, _0808913C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089140
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x5
- bl sub_80869E4
- ldr r0, _08089144
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089148
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808914C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x3
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x3
- bl sub_80869E4
- ldr r0, _08089150
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- bl sub_808696C
- ldr r0, _08089154
- bl sub_8052910
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089158
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- mov r0, r9
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _0808915C
- bl sub_8052910
- bl sub_8089294
- ldr r0, _08089160
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089164
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08089118: .4byte gUnknown_8102B1C
-_0808911C: .4byte gUnknown_8102B54
-_08089120: .4byte sub_80868F4
-_08089124: .4byte 0x000001c5
-_08089128: .4byte gUnknown_8102BC4
-_0808912C: .4byte sub_8086910
-_08089130: .4byte gUnknown_8102BE4
-_08089134: .4byte 0x000001c7
-_08089138: .4byte gUnknown_8102C30
-_0808913C: .4byte gUnknown_8102C54
-_08089140: .4byte gUnknown_8102C98
-_08089144: .4byte gUnknown_8102CB0
-_08089148: .4byte gUnknown_8102CF8
-_0808914C: .4byte gUnknown_8102D34
-_08089150: .4byte gUnknown_8102D4C
-_08089154: .4byte gUnknown_8102D7C
-_08089158: .4byte gUnknown_8102DFC
-_0808915C: .4byte gUnknown_8102E2C
-_08089160: .4byte gUnknown_8102E54
-_08089164: .4byte gUnknown_203B418
- thumb_func_end sub_8088EF4
-
- thumb_func_start sub_8089168
-sub_8089168:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8089168
-
- thumb_func_start sub_808919C
-sub_808919C:
- push {lr}
- ldr r2, _080891AC
- movs r1, 0
- bl sub_804539C
- pop {r0}
- bx r0
- .align 2, 0
-_080891AC: .4byte 0xfffffe00
- thumb_func_end sub_808919C
-
- thumb_func_start sub_80891B0
-sub_80891B0:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- movs r2, 0x4
- bl sub_806CDD4
- ldr r0, [r4, 0x70]
- ldr r2, _080891CC
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080891CC: .4byte 0x0000015f
- thumb_func_end sub_80891B0
-
- thumb_func_start sub_80891D0
-sub_80891D0:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x7
- movs r2, 0x4
- bl sub_806CDD4
- ldr r0, [r4, 0x70]
- ldr r2, _080891EC
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080891EC: .4byte 0x0000015f
- thumb_func_end sub_80891D0
-
- thumb_func_start sub_80891F0
-sub_80891F0:
- push {r4,lr}
- ldr r0, _08089218
- bl sub_80855E4
- movs r4, 0x2F
-_080891FA:
- ldr r0, _0808921C
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _080891FA
- ldr r0, _08089220
- bl sub_80855E4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089218: .4byte sub_80891B0
-_0808921C: .4byte sub_808919C
-_08089220: .4byte sub_80891D0
- thumb_func_end sub_80891F0
-
- thumb_func_start sub_8089224
-sub_8089224:
- push {lr}
- adds r3, r0, 0
- ldr r1, [r3, 0x10]
- movs r0, 0x90
- lsls r0, 8
- cmp r1, r0
- ble _0808928C
- ldr r1, [r3, 0xC]
- ldr r0, _08089248
- cmp r1, r0
- bgt _08089250
- movs r0, 0xB4
- lsls r0, 8
- cmp r1, r0
- ble _08089256
- ldr r1, _0808924C
- b _08089278
- .align 2, 0
-_08089248: .4byte 0x0000e3ff
-_0808924C: .4byte 0xfffffe00
-_08089250:
- ldr r0, _08089264
- cmp r1, r0
- bgt _0808926C
-_08089256:
- ldr r2, _08089268
- adds r0, r3, 0
- movs r1, 0
- bl sub_804539C
- b _0808928C
- .align 2, 0
-_08089264: .4byte 0x0000fbff
-_08089268: .4byte 0xfffffe00
-_0808926C:
- movs r0, 0x8A
- lsls r0, 9
- cmp r1, r0
- bgt _08089282
- movs r1, 0x80
- lsls r1, 2
-_08089278:
- adds r0, r3, 0
- movs r2, 0
- bl sub_804539C
- b _0808928C
-_08089282:
- ldr r2, _08089290
- adds r0, r3, 0
- movs r1, 0
- bl sub_804539C
-_0808928C:
- pop {r0}
- bx r0
- .align 2, 0
-_08089290: .4byte 0xfffffe00
- thumb_func_end sub_8089224
-
- thumb_func_start sub_8089294
-sub_8089294:
- push {r4,lr}
- ldr r0, _080892BC
- bl sub_80855E4
- movs r4, 0x77
-_0808929E:
- ldr r0, _080892C0
- bl sub_80855E4
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0808929E
- ldr r0, _080892C4
- bl sub_80855E4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080892BC: .4byte sub_80891B0
-_080892C0: .4byte sub_8089224
-_080892C4: .4byte sub_80891D0
- thumb_func_end sub_8089294
-
- thumb_func_start sub_80892C8
-sub_80892C8:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0xF
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x1A
- bl sub_8083E88
- bl sub_8085374
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08089320
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _08089324
- movs r1, 0xCE
- lsls r1, 1
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08089320: .4byte sub_8086A3C
-_08089324: .4byte gUnknown_202E038
- thumb_func_end sub_80892C8
-
- thumb_func_start sub_8089328
-sub_8089328:
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xF
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x1A
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r6, _08089370
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0xCE
- lsls r0, 1
- bl sub_8086AE4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _08089374
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _0808938C
- .align 2, 0
-_08089370: .4byte sub_8086A3C
-_08089374:
- ldr r0, _080893AC
- movs r3, 0
- ldrsh r2, [r0, r3]
- str r1, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r3, 0
- bl sub_8072008
- adds r0, r4, 0
- bl _call_via_r6
-_0808938C:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _080893B0
- movs r1, 0xCE
- lsls r1, 1
- bl sub_808D8BC
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080893AC: .4byte gUnknown_80F57CA
-_080893B0: .4byte gUnknown_202E038
- thumb_func_end sub_8089328
-
- thumb_func_start sub_80893B4
-sub_80893B4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xE9
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _080893DA
- cmp r0, 0xF
- bne _080893DA
- movs r0, 0xF
- bl sub_8097FA8
- ldr r0, _080893E0
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_080893DA:
- pop {r0}
- bx r0
- .align 2, 0
-_080893E0: .4byte gUnknown_203B418
- thumb_func_end sub_80893B4
-
- thumb_func_start sub_80893E4
-sub_80893E4:
- push {r4-r6,lr}
- bl sub_8085480
- adds r5, r0, 0
- bl sub_808548C
- adds r4, r0, 0
- movs r0, 0xF
- bl sub_8085680
- adds r6, r0, 0
- bl sub_8086448
- ldr r0, _080894D4
- bl sub_8052910
- bl sub_8089674
- ldr r0, _080894D8
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_80856E0
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x2
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x6
- bl sub_80869E4
- ldr r0, _080894DC
- bl sub_8052910
- adds r0, r4, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x1
- movs r3, 0x4
- bl sub_80869E4
- ldr r0, _080894E0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080894E4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080894E8
- bl sub_8052910
- bl sub_8089674
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _080894EC
- bl sub_8052910
- adds r0, r6, 0
- bl sub_8089620
- ldr r0, _080894F0
- bl sub_8052910
- bl sub_8089674
- ldr r0, _080894F4
- bl sub_8052910
- bl sub_8089674
- ldr r0, _080894F8
- bl sub_8052910
- bl sub_8089674
- ldr r0, _080894FC
- bl sub_8052910
- movs r1, 0x96
- lsls r1, 2
- adds r0, r6, 0
- movs r2, 0x20
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080894D4: .4byte gUnknown_8103500
-_080894D8: .4byte gUnknown_810352C
-_080894DC: .4byte gUnknown_8103578
-_080894E0: .4byte gUnknown_81035D4
-_080894E4: .4byte gUnknown_8103618
-_080894E8: .4byte gUnknown_810367C
-_080894EC: .4byte gUnknown_8103690
-_080894F0: .4byte gUnknown_81036C8
-_080894F4: .4byte gUnknown_81037A0
-_080894F8: .4byte gUnknown_81037D4
-_080894FC: .4byte gUnknown_8103820
- thumb_func_end sub_80893E4
-
- thumb_func_start sub_8089500
-sub_8089500:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0xF
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- bl sub_8089674
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _08089574
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8089620
- ldr r0, _08089578
- bl sub_8052910
- bl sub_8089674
- ldr r0, _0808957C
- bl sub_8052910
- bl sub_8089674
- ldr r0, _08089580
- bl sub_8052910
- bl sub_8089674
- ldr r0, _08089584
- bl sub_8052910
- movs r1, 0x96
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089574: .4byte gUnknown_8103690
-_08089578: .4byte gUnknown_8103844
-_0808957C: .4byte gUnknown_8103874
-_08089580: .4byte gUnknown_81038A8
-_08089584: .4byte gUnknown_81038F8
- thumb_func_end sub_8089500
-
- thumb_func_start sub_8089588
-sub_8089588:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0xF
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0xCE
- lsls r0, 1
- bl sub_8086AE4
- lsls r0, 24
- cmp r0, 0
- beq _080895B8
- ldr r0, _080895B4
- bl sub_80866C4
- b _08089606
- .align 2, 0
-_080895B4: .4byte gUnknown_8103B58
-_080895B8:
- movs r0, 0xED
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _0808960C
- bl sub_8052910
- adds r0, r4, 0
- bl sub_8089620
- ldr r0, _08089610
- bl sub_8052910
- bl sub_8089674
- ldr r0, _08089614
- bl sub_8052910
- bl sub_8089674
- ldr r0, _08089618
- bl sub_8052910
- bl sub_8089674
- ldr r0, _0808961C
- bl sub_8052910
- movs r1, 0x96
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08089606:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808960C: .4byte gUnknown_8103904
-_08089610: .4byte gUnknown_8103938
-_08089614: .4byte gUnknown_8103AA4
-_08089618: .4byte gUnknown_8103AE4
-_0808961C: .4byte gUnknown_8103B30
- thumb_func_end sub_8089588
-
- thumb_func_start sub_8089620
-sub_8089620:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- movs r5, 0xC8
- lsls r5, 8
- movs r4, 0xC0
- lsls r4, 3
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- b _08089652
-_08089642:
- ldr r0, [r6, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- str r5, [r0]
- movs r0, 0x46
- bl sub_803E46C
-_08089652:
- subs r5, r4
- subs r4, 0x18
- cmp r4, 0x13
- bgt _0808965C
- movs r4, 0x14
-_0808965C:
- cmp r5, 0
- bge _08089642
- ldr r0, [r6, 0x70]
- movs r2, 0xBA
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8089620
-
- thumb_func_start sub_8089674
-sub_8089674:
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0xFB
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
-_08089682:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r2, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _08089682
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_080896AC:
- lsrs r0, r4, 31
- adds r0, r4, r0
- asrs r0, 1
- movs r1, 0x1
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _080896AC
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_080896D6:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r2, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _080896D6
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8089674
-
- thumb_func_start sub_808970C
-sub_808970C:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x7D
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08089744
- bl sub_80855E4
- ldr r0, _08089748
- bl sub_808563C
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x3
- bl sub_8085860
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089744: .4byte sub_8086A3C
-_08089748: .4byte sub_8089908
- thumb_func_end sub_808970C
-
- thumb_func_start sub_808974C
-sub_808974C:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08089780
- bl sub_80855E4
- ldr r0, _08089784
- bl sub_808563C
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x3
- bl sub_8085860
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089780: .4byte sub_8086A3C
-_08089784: .4byte sub_80898F8
- thumb_func_end sub_808974C
-
- thumb_func_start sub_8089788
-sub_8089788:
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- movs r0, 0xE6
- lsls r0, 24
- adds r2, r0
- lsrs r2, 24
- cmp r2, 0x1
- bhi _080897E2
- movs r5, 0
-_080897A0:
- ldr r0, _080897E8
- ldr r0, [r0]
- lsls r1, r5, 2
- ldr r2, _080897EC
- adds r0, r2
- adds r0, r1
- ldr r4, [r0]
- adds r0, r4, 0
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _080897C8
- cmp r4, r7
- beq _080897C8
- ldr r0, [r4, 0x70]
- adds r0, 0xA4
- ldrb r0, [r0]
- cmp r0, r6
- beq _080897E2
-_080897C8:
- adds r5, 0x1
- cmp r5, 0xF
- ble _080897A0
- movs r0, 0
- cmp r0, 0
- bne _080897E2
- movs r0, 0x11
- bl sub_8097FA8
- ldr r0, _080897E8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_080897E2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080897E8: .4byte gUnknown_203B418
-_080897EC: .4byte 0x0001358c
- thumb_func_end sub_8089788
-
- thumb_func_start sub_80897F0
-sub_80897F0:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089858
- bl sub_808563C
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- bl sub_808692C
- ldr r0, _0808985C
- bl sub_8052910
- ldr r0, _08089860
- bl sub_8052910
- ldr r0, _08089864
- bl sub_8052910
- ldr r0, _08089868
- bl sub_8052910
- ldr r0, _0808986C
- bl sub_8052910
- ldr r0, _08089870
- bl sub_8052910
- ldr r0, _08089874
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08089858: .4byte sub_80862BC
-_0808985C: .4byte gUnknown_8103BD8
-_08089860: .4byte gUnknown_8103C00
-_08089864: .4byte gUnknown_8103C3C
-_08089868: .4byte gUnknown_8103C74
-_0808986C: .4byte gUnknown_8103CC4
-_08089870: .4byte gUnknown_8103D0C
-_08089874: .4byte gUnknown_8103D50
- thumb_func_end sub_80897F0
-
- thumb_func_start sub_8089878
-sub_8089878:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _080898D0
- bl sub_808563C
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- bl sub_808692C
- ldr r0, _080898D4
- bl sub_8052910
- ldr r0, _080898D8
- bl sub_8052910
- ldr r0, _080898DC
- bl sub_8052910
- ldr r0, _080898E0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080898D0: .4byte sub_80862BC
-_080898D4: .4byte gUnknown_8103D8C
-_080898D8: .4byte gUnknown_8103D98
-_080898DC: .4byte gUnknown_8103DD8
-_080898E0: .4byte gUnknown_8103E28
- thumb_func_end sub_8089878
-
- thumb_func_start sub_80898E4
-sub_80898E4:
- push {lr}
- bl sub_8086448
- ldr r0, _080898F4
- bl sub_80866C4
- pop {r0}
- bx r0
- .align 2, 0
-_080898F4: .4byte gUnknown_8103E34
- thumb_func_end sub_80898E4
-
- thumb_func_start sub_80898F8
-sub_80898F8:
- push {lr}
- movs r1, 0x87
- lsls r1, 2
- movs r2, 0
- bl sub_8068FE0
- pop {r0}
- bx r0
- thumb_func_end sub_80898F8
-
- thumb_func_start sub_8089908
-sub_8089908:
- push {lr}
- movs r1, 0x4
- bl sub_8085918
- pop {r0}
- bx r0
- thumb_func_end sub_8089908
-
- thumb_func_start sub_8089914
-sub_8089914:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x11
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8083F14
- ldr r0, _0808996C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x7]
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _08089970
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _08089974
- movs r1, 0x96
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808996C: .4byte gUnknown_203B418
-_08089970: .4byte sub_8086A3C
-_08089974: .4byte gUnknown_202E038
- thumb_func_end sub_8089914
-
- thumb_func_start sub_8089978
-sub_8089978:
- push {r4-r6,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x11
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8083F14
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r6, _080899C0
- adds r0, r6, 0
- bl sub_80855E4
- movs r0, 0x96
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _080899C4
- movs r0, 0x23
- bl sub_8083E88
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _080899DA
- .align 2, 0
-_080899C0: .4byte sub_8086A3C
-_080899C4:
- ldr r0, _080899F8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x7]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl _call_via_r6
-_080899DA:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _080899FC
- movs r1, 0x96
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080899F8: .4byte gUnknown_203B418
-_080899FC: .4byte gUnknown_202E038
- thumb_func_end sub_8089978
-
- thumb_func_start sub_8089A00
-sub_8089A00:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xE3
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _08089A26
- cmp r0, 0x11
- bne _08089A26
- movs r0, 0x13
- bl sub_8097FA8
- ldr r0, _08089A2C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_08089A26:
- pop {r0}
- bx r0
- .align 2, 0
-_08089A2C: .4byte gUnknown_203B418
- thumb_func_end sub_8089A00
-
- thumb_func_start sub_8089A30
-sub_8089A30:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x11
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- ldr r0, _08089AC0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x23
- bl sub_8083E88
- bl sub_8086794
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8089B64
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089AC4
- bl sub_8052910
- ldr r0, _08089AC8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8089BB8
- ldr r0, _08089ACC
- bl sub_8052910
- bl sub_8089BB8
- ldr r0, _08089AD0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089AC0: .4byte gUnknown_8103EA4
-_08089AC4: .4byte gUnknown_8103F0C
-_08089AC8: .4byte gUnknown_8103F4C
-_08089ACC: .4byte gUnknown_8103FCC
-_08089AD0: .4byte gUnknown_8104008
- thumb_func_end sub_8089A30
-
- thumb_func_start sub_8089AD4
-sub_8089AD4:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x11
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0x96
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _08089B00
- ldr r0, _08089AFC
- bl sub_80866C4
- b _08089B4E
- .align 2, 0
-_08089AFC: .4byte gUnknown_8104144
-_08089B00:
- ldr r0, _08089B54
- bl sub_8052910
- movs r0, 0x23
- bl sub_8083E88
- bl sub_8086794
- adds r0, r4, 0
- bl sub_8089B64
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _08089B58
- bl sub_8052910
- bl sub_8089BB8
- ldr r0, _08089B5C
- bl sub_8052910
- bl sub_8089BB8
- ldr r0, _08089B60
- bl sub_8052910
- movs r1, 0xE1
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08089B4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089B54: .4byte gUnknown_8104044
-_08089B58: .4byte gUnknown_8104050
-_08089B5C: .4byte gUnknown_81040CC
-_08089B60: .4byte gUnknown_8104114
- thumb_func_end sub_8089AD4
-
- thumb_func_start sub_8089B64
-sub_8089B64:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- movs r5, 0xC8
- lsls r5, 8
- movs r4, 0x80
- lsls r4, 3
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- b _08089B96
-_08089B86:
- ldr r0, [r6, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- str r5, [r0]
- movs r0, 0x46
- bl sub_803E46C
-_08089B96:
- subs r5, r4
- subs r4, 0xB
- cmp r4, 0x1D
- bgt _08089BA0
- movs r4, 0x1E
-_08089BA0:
- cmp r5, 0
- bge _08089B86
- ldr r0, [r6, 0x70]
- movs r2, 0xBA
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8089B64
-
- thumb_func_start sub_8089BB8
-sub_8089BB8:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xFB
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_08089BC8:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _08089BC8
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_08089BEE:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08089BEE
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_08089C14:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08089C14
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8089BB8
-
- thumb_func_start sub_8089C44
-sub_8089C44:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x12
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _08089C88
- ldr r1, _08089C8C
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089C88: .4byte gUnknown_202E038
-_08089C8C: .4byte 0x0000010d
- thumb_func_end sub_8089C44
-
- thumb_func_start sub_8089C90
-sub_8089C90:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x12
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _08089CCC
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _08089CD0
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _08089CD8
- .align 2, 0
-_08089CCC: .4byte 0x0000010d
-_08089CD0:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
-_08089CD8:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _08089CF4
- ldr r1, _08089CF8
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089CF4: .4byte gUnknown_202E038
-_08089CF8: .4byte 0x0000010d
- thumb_func_end sub_8089C90
-
- thumb_func_start sub_8089CFC
-sub_8089CFC:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xE0
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _08089D22
- cmp r0, 0x12
- bne _08089D22
- movs r0, 0x15
- bl sub_8097FA8
- ldr r0, _08089D28
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_08089D22:
- pop {r0}
- bx r0
- .align 2, 0
-_08089D28: .4byte gUnknown_203B418
- thumb_func_end sub_8089CFC
-
- thumb_func_start sub_8089D2C
-sub_8089D2C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x12
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8089E68
- ldr r0, _08089D80
- bl sub_8052910
- bl sub_8089E68
- ldr r0, _08089D84
- bl sub_8052910
- bl sub_8089E68
- ldr r0, _08089D88
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089D80: .4byte gUnknown_8104150
-_08089D84: .4byte gUnknown_81041AC
-_08089D88: .4byte gUnknown_81041F8
- thumb_func_end sub_8089D2C
-
- thumb_func_start sub_8089D8C
-sub_8089D8C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x12
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8089E68
- ldr r0, _08089DE0
- bl sub_8052910
- bl sub_8089E68
- ldr r0, _08089DE4
- bl sub_8052910
- bl sub_8089E68
- ldr r0, _08089DE8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089DE0: .4byte gUnknown_8104240
-_08089DE4: .4byte gUnknown_81042AC
-_08089DE8: .4byte gUnknown_81042B8
- thumb_func_end sub_8089D8C
-
- thumb_func_start sub_8089DEC
-sub_8089DEC:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x12
- bl sub_8085680
- adds r4, r0, 0
- ldr r0, _08089E10
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _08089E18
- ldr r0, _08089E14
- bl sub_80866C4
- b _08089E54
- .align 2, 0
-_08089E10: .4byte 0x0000010d
-_08089E14: .4byte gUnknown_81043DC
-_08089E18:
- bl sub_8089E68
- ldr r0, _08089E5C
- bl sub_8052910
- bl sub_8089E68
- ldr r0, _08089E60
- bl sub_8052910
- bl sub_8089E68
- ldr r0, _08089E64
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_08089E54:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089E5C: .4byte gUnknown_8104310
-_08089E60: .4byte gUnknown_810439C
-_08089E64: .4byte gUnknown_81043C0
- thumb_func_end sub_8089DEC
-
- thumb_func_start sub_8089E68
-sub_8089E68:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08089EF8
- bl sub_8083E38
- movs r4, 0xFA
-_08089E74:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _08089E74
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_08089EA0:
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _08089EA0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
-_08089EC4:
- lsrs r2, r4, 31
- adds r2, r4, r2
- asrs r2, 1
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _08089EC4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089EF8: .4byte 0x000001ed
- thumb_func_end sub_8089E68
-
- thumb_func_start sub_8089EFC
-sub_8089EFC:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x13
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _08089F40
- movs r1, 0x86
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089F40: .4byte gUnknown_202E038
- thumb_func_end sub_8089EFC
-
- thumb_func_start sub_8089F44
-sub_8089F44:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x13
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _08089F88
- movs r1, 0x86
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089F88: .4byte gUnknown_202E038
- thumb_func_end sub_8089F44
-
- thumb_func_start sub_8089F8C
-sub_8089F8C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x13
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- movs r0, 0x86
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _08089FC8
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _08089FD0
-_08089FC8:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
-_08089FD0:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _08089FEC
- movs r1, 0x86
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08089FEC: .4byte gUnknown_202E038
- thumb_func_end sub_8089F8C
-
- thumb_func_start sub_8089FF0
-sub_8089FF0:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xDD
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _0808A016
- cmp r0, 0x13
- bne _0808A016
- movs r0, 0x17
- bl sub_8097FA8
- ldr r0, _0808A01C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808A016:
- pop {r0}
- bx r0
- .align 2, 0
-_0808A01C: .4byte gUnknown_203B418
- thumb_func_end sub_8089FF0
-
- thumb_func_start sub_808A020
-sub_808A020:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x13
- bl sub_8085680
- adds r5, r0, 0
- ldr r0, _0808A0A4
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A0A8
- bl sub_8052910
- ldr r0, _0808A0AC
- ldr r0, [r0]
- ldr r1, _0808A0B0
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808A0B4
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A0B8
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A0BC
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A0C0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r1, _0808A0C4
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A0A4: .4byte gUnknown_8104450
-_0808A0A8: .4byte gUnknown_81044B4
-_0808A0AC: .4byte gUnknown_203B418
-_0808A0B0: .4byte 0x0000e265
-_0808A0B4: .4byte gUnknown_8104510
-_0808A0B8: .4byte gUnknown_810453C
-_0808A0BC: .4byte gUnknown_8104570
-_0808A0C0: .4byte gUnknown_81045B0
-_0808A0C4: .4byte 0x0000028a
- thumb_func_end sub_808A020
-
- thumb_func_start sub_808A0C8
-sub_808A0C8:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x13
- bl sub_8085680
- adds r5, r0, 0
- ldr r0, _0808A12C
- ldr r0, [r0]
- ldr r1, _0808A130
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- bl sub_808A1D8
- ldr r0, _0808A134
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A138
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A13C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r1, _0808A140
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A12C: .4byte gUnknown_203B418
-_0808A130: .4byte 0x0000e265
-_0808A134: .4byte gUnknown_81045F8
-_0808A138: .4byte gUnknown_8104674
-_0808A13C: .4byte gUnknown_81046A0
-_0808A140: .4byte 0x0000028a
- thumb_func_end sub_808A0C8
-
- thumb_func_start sub_808A144
-sub_808A144:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x13
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x86
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808A170
- ldr r0, _0808A16C
- bl sub_80866C4
- b _0808A1BA
- .align 2, 0
-_0808A16C: .4byte gUnknown_8104778
-_0808A170:
- ldr r0, _0808A1C0
- ldr r0, [r0]
- ldr r1, _0808A1C4
- adds r0, r1
- movs r1, 0x4
- strb r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_807EAA0
- ldr r0, _0808A1C8
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A1CC
- bl sub_8052910
- bl sub_808A1D8
- ldr r0, _0808A1D0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r1, _0808A1D4
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_0808A1BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A1C0: .4byte gUnknown_203B418
-_0808A1C4: .4byte 0x0000e265
-_0808A1C8: .4byte gUnknown_81046CC
-_0808A1CC: .4byte gUnknown_8104744
-_0808A1D0: .4byte gUnknown_810476C
-_0808A1D4: .4byte 0x0000028a
- thumb_func_end sub_808A144
-
- thumb_func_start sub_808A1D8
-sub_808A1D8:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xFB
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_0808A1E8:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808A1E8
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808A20E:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _0808A20E
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808A234:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808A234
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808A1D8
-
- thumb_func_start sub_808A264
-sub_808A264:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x14
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _0808A2B8
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808A2BC
- movs r1, 0x87
- lsls r1, 1
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A2B8: .4byte sub_8086A3C
-_0808A2BC: .4byte gUnknown_202E038
- thumb_func_end sub_808A264
-
- thumb_func_start sub_808A2C0
-sub_808A2C0:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x14
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _0808A304
- movs r1, 0x87
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A304: .4byte gUnknown_202E038
- thumb_func_end sub_808A2C0
-
- thumb_func_start sub_808A308
-sub_808A308:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x14
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- movs r0, 0x87
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808A344
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _0808A34C
-_0808A344:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
-_0808A34C:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _0808A368
- movs r1, 0x87
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A368: .4byte gUnknown_202E038
- thumb_func_end sub_808A308
-
- thumb_func_start sub_808A36C
-sub_808A36C:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xDA
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _0808A392
- cmp r0, 0x14
- bne _0808A392
- movs r0, 0x19
- bl sub_8097FA8
- ldr r0, _0808A398
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808A392:
- pop {r0}
- bx r0
- .align 2, 0
-_0808A398: .4byte gUnknown_203B418
- thumb_func_end sub_808A36C
-
- thumb_func_start sub_808A39C
-sub_808A39C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x14
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- ldr r0, _0808A434
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808A438
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1
- movs r1, 0x2
- bl sub_80426C8
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808A43C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_808A528
- ldr r0, _0808A440
- bl sub_8052910
- ldr r0, _0808A444
- bl sub_8052910
- bl sub_808A57C
- ldr r0, _0808A448
- bl sub_8052910
- bl sub_808A57C
- ldr r0, _0808A44C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r1, _0808A450
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A434: .4byte gUnknown_8104784
-_0808A438: .4byte gUnknown_8104790
-_0808A43C: .4byte gUnknown_81047B0
-_0808A440: .4byte gUnknown_810484C
-_0808A444: .4byte gUnknown_8104888
-_0808A448: .4byte gUnknown_81048C8
-_0808A44C: .4byte gUnknown_8104914
-_0808A450: .4byte 0x0000028a
- thumb_func_end sub_808A39C
-
- thumb_func_start sub_808A454
-sub_808A454:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x14
- bl sub_8085680
- adds r5, r0, 0
- ldr r0, _0808A4A0
- bl sub_8052910
- bl sub_808A57C
- ldr r0, _0808A4A4
- bl sub_8052910
- bl sub_808A57C
- ldr r0, _0808A4A8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r1, _0808A4AC
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A4A0: .4byte gUnknown_8104930
-_0808A4A4: .4byte gUnknown_8104980
-_0808A4A8: .4byte gUnknown_8104998
-_0808A4AC: .4byte 0x0000028a
- thumb_func_end sub_808A454
-
- thumb_func_start sub_808A4B0
-sub_808A4B0:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x14
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x87
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808A4DC
- ldr r0, _0808A4D8
- bl sub_80866C4
- b _0808A512
- .align 2, 0
-_0808A4D8: .4byte gUnknown_8104AC8
-_0808A4DC:
- ldr r0, _0808A518
- bl sub_8052910
- bl sub_808A57C
- ldr r0, _0808A51C
- bl sub_8052910
- bl sub_808A57C
- ldr r0, _0808A520
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r1, _0808A524
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r0, r5, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_0808A512:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A518: .4byte gUnknown_81049D4
-_0808A51C: .4byte gUnknown_8104A80
-_0808A520: .4byte gUnknown_8104A9C
-_0808A524: .4byte 0x0000028a
- thumb_func_end sub_808A4B0
-
- thumb_func_start sub_808A528
-sub_808A528:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- movs r5, 0xC8
- lsls r5, 8
- movs r4, 0xC0
- lsls r4, 4
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- b _0808A55A
-_0808A54A:
- ldr r0, [r6, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- str r5, [r0]
- movs r0, 0x46
- bl sub_803E46C
-_0808A55A:
- subs r5, r4
- subs r4, 0x60
- cmp r4, 0x13
- bgt _0808A564
- movs r4, 0x14
-_0808A564:
- cmp r5, 0
- bge _0808A54A
- ldr r0, [r6, 0x70]
- movs r2, 0xBA
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808A528
-
- thumb_func_start sub_808A57C
-sub_808A57C:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xF7
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_0808A58C:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808A58C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808A5B2:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _0808A5B2
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808A5D8:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808A5D8
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808A57C
-
- thumb_func_start sub_808A608
-sub_808A608:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x15
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x1C
- bl sub_8083E88
- bl sub_80867F4
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8086838
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl sub_8086A3C
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x6
- bl sub_8085860
- ldr r0, _0808A660
- ldr r1, _0808A664
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A660: .4byte gUnknown_202E038
-_0808A664: .4byte 0x00000113
- thumb_func_end sub_808A608
-
- thumb_func_start sub_808A668
-sub_808A668:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x15
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x1C
- bl sub_8083E88
- bl sub_80867F4
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_8086838
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808A6B0
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808A6B4
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _0808A6C2
- .align 2, 0
-_0808A6B0: .4byte 0x00000113
-_0808A6B4:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl sub_8086A3C
-_0808A6C2:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x6
- bl sub_8085860
- ldr r0, _0808A6E0
- ldr r1, _0808A6E4
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A6E0: .4byte gUnknown_202E038
-_0808A6E4: .4byte 0x00000113
- thumb_func_end sub_808A668
-
- thumb_func_start sub_808A6E8
-sub_808A6E8:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xD7
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x1
- bhi _0808A70E
- cmp r0, 0x15
- bne _0808A70E
- movs r0, 0x1A
- bl sub_8097FA8
- ldr r0, _0808A714
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808A70E:
- pop {r0}
- bx r0
- .align 2, 0
-_0808A714: .4byte gUnknown_203B418
- thumb_func_end sub_808A6E8
-
- thumb_func_start sub_808A718
-sub_808A718:
- push {lr}
- bl sub_8086854
- pop {r0}
- bx r0
- thumb_func_end sub_808A718
-
- thumb_func_start sub_808A724
-sub_808A724:
- push {r4-r6,lr}
- sub sp, 0x8
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x15
- bl sub_8085680
- adds r6, r0, 0
- ldr r0, [r5, 0xC]
- str r0, [sp]
- ldr r0, [r5, 0x10]
- ldr r1, _0808A800
- adds r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- movs r1, 0x88
- bl sub_80858AC
- movs r0, 0x40
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808A804
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_808A958
- ldr r0, _0808A808
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808A80C
- bl sub_80855E4
- bl sub_808680C
- ldr r4, _0808A810
- adds r0, r4, 0
- bl sub_8083E38
- movs r0, 0xFA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808A904
- adds r0, r4, 0
- bl sub_8083E58
- bl sub_808682C
- ldr r0, _0808A814
- bl sub_80855E4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808A818
- bl sub_8052910
- ldr r0, _0808A81C
- bl sub_8052910
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- bl sub_808A958
- ldr r0, _0808A820
- bl sub_8052910
- bl sub_808A958
- ldr r0, _0808A824
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 2
- adds r0, r6, 0
- movs r2, 0x20
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A800: .4byte 0xfffff000
-_0808A804: .4byte gUnknown_8104AD4
-_0808A808: .4byte gUnknown_8104BEC
-_0808A80C: .4byte sub_80868F4
-_0808A810: .4byte 0x000001c5
-_0808A814: .4byte sub_8086910
-_0808A818: .4byte gUnknown_8104C10
-_0808A81C: .4byte gUnknown_8104C54
-_0808A820: .4byte gUnknown_8104CB4
-_0808A824: .4byte gUnknown_8104CE0
- thumb_func_end sub_808A724
-
- thumb_func_start sub_808A828
-sub_808A828:
- push {r4,r5,lr}
- sub sp, 0x8
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x15
- bl sub_8085680
- adds r5, r0, 0
- ldr r0, [r4, 0xC]
- str r0, [sp]
- ldr r0, [r4, 0x10]
- ldr r1, _0808A86C
- adds r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- movs r1, 0x88
- bl sub_80858AC
- movs r0, 0x40
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808A870
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808A878
- ldr r0, _0808A874
- bl sub_80866C4
- b _0808A8E2
- .align 2, 0
-_0808A86C: .4byte 0xfffff000
-_0808A870: .4byte 0x00000113
-_0808A874: .4byte gUnknown_8104E54
-_0808A878:
- ldr r0, _0808A8EC
- bl sub_8052910
- bl sub_808A958
- ldr r0, _0808A8F0
- bl sub_80855E4
- bl sub_808680C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_808A904
- bl sub_808682C
- ldr r0, _0808A8F4
- bl sub_80855E4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808A8F8
- bl sub_8052910
- bl sub_808A958
- ldr r0, _0808A8FC
- bl sub_8052910
- bl sub_808A958
- ldr r0, _0808A900
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xC8
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_8086A70
- adds r0, r4, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_0808A8E2:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A8EC: .4byte gUnknown_8104CEC
-_0808A8F0: .4byte sub_80868F4
-_0808A8F4: .4byte sub_8086910
-_0808A8F8: .4byte gUnknown_8104D60
-_0808A8FC: .4byte gUnknown_8104DDC
-_0808A900: .4byte gUnknown_8104E0C
- thumb_func_end sub_808A828
-
- thumb_func_start sub_808A904
-sub_808A904:
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, [r6, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- movs r5, 0xC8
- lsls r5, 8
- movs r4, 0xC0
- lsls r4, 4
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- b _0808A936
-_0808A926:
- ldr r0, [r6, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- str r5, [r0]
- movs r0, 0x46
- bl sub_803E46C
-_0808A936:
- subs r5, r4
- subs r4, 0x60
- cmp r4, 0x13
- bgt _0808A940
- movs r4, 0x14
-_0808A940:
- cmp r5, 0
- bge _0808A926
- ldr r0, [r6, 0x70]
- movs r2, 0xBA
- lsls r2, 1
- adds r0, r2
- movs r1, 0
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808A904
-
- thumb_func_start sub_808A958
-sub_808A958:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _0808A9E0
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_0808A966:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808A966
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808A98C:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _0808A98C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808A9B2:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808A9B2
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808A9E0: .4byte 0x000001ed
- thumb_func_end sub_808A958
-
- thumb_func_start sub_808A9E4
-sub_808A9E4:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x16
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808AA30
- bl sub_80855E4
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x4
- bl sub_8085860
- ldr r0, _0808AA34
- ldr r1, _0808AA38
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AA30: .4byte sub_8086A3C
-_0808AA34: .4byte gUnknown_202E038
-_0808AA38: .4byte 0x00000199
- thumb_func_end sub_808A9E4
-
- thumb_func_start sub_808AA3C
-sub_808AA3C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x16
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808AA88
- bl sub_80855E4
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808AA8C
- ldr r1, _0808AA90
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AA88: .4byte sub_8086A3C
-_0808AA8C: .4byte gUnknown_202E038
-_0808AA90: .4byte 0x00000199
- thumb_func_end sub_808AA3C
-
- thumb_func_start sub_808AA94
-sub_808AA94:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x16
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808AAE4
- bl sub_80855E4
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808AAE8
- ldr r1, _0808AAEC
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AAE4: .4byte sub_8086A3C
-_0808AAE8: .4byte gUnknown_202E038
-_0808AAEC: .4byte 0x00000199
- thumb_func_end sub_808AA94
-
- thumb_func_start sub_808AAF0
-sub_808AAF0:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- movs r2, 0xD5
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x2
- bhi _0808AB16
- cmp r0, 0x16
- bne _0808AB16
- movs r0, 0x1C
- bl sub_8097FA8
- ldr r0, _0808AB1C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808AB16:
- pop {r0}
- bx r0
- .align 2, 0
-_0808AB1C: .4byte gUnknown_203B418
- thumb_func_end sub_808AAF0
-
- thumb_func_start sub_808AB20
-sub_808AB20:
- push {r4,r5,lr}
- sub sp, 0x10
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x16
- bl sub_8085680
- adds r4, r0, 0
- ldr r0, [r4, 0xC]
- str r0, [sp, 0x4]
- ldr r0, [r4, 0x10]
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1
- str r0, [sp, 0x8]
- ldr r0, _0808ABC4
- str r0, [sp, 0xC]
- ldr r0, _0808ABC8
- add r3, sp, 0xC
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- bl sub_8085EC8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- bl sub_8086448
- add r0, sp, 0x4
- movs r1, 0x18
- bl sub_80858AC
- movs r0, 0x2
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_80862BC
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- bl sub_808692C
- ldr r0, _0808ABCC
- bl sub_8052910
- bl sub_808AC50
- ldr r0, _0808ABD0
- bl sub_8052910
- bl sub_808AC50
- ldr r0, _0808ABD4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r5, 0xC
- adds r0, r5, 0
- movs r1, 0x10
- bl sub_80858AC
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808ABC4: .4byte 0x007000fc
-_0808ABC8: .4byte 0x000001bd
-_0808ABCC: .4byte gUnknown_8104E60
-_0808ABD0: .4byte gUnknown_8104EFC
-_0808ABD4: .4byte gUnknown_8104F30
- thumb_func_end sub_808AB20
-
- thumb_func_start sub_808ABD8
-sub_808ABD8:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x16
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- bl sub_808692C
- ldr r0, _0808AC30
- bl sub_8052910
- bl sub_808AC50
- ldr r0, _0808AC34
- bl sub_8052910
- bl sub_808AC50
- ldr r0, _0808AC38
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AC30: .4byte gUnknown_8104F64
-_0808AC34: .4byte gUnknown_8104EFC
-_0808AC38: .4byte gUnknown_8104F30
- thumb_func_end sub_808ABD8
-
- thumb_func_start sub_808AC3C
-sub_808AC3C:
- push {lr}
- bl sub_8086448
- ldr r0, _0808AC4C
- bl sub_80866C4
- pop {r0}
- bx r0
- .align 2, 0
-_0808AC4C: .4byte gUnknown_8104FC8
- thumb_func_end sub_808AC3C
-
- thumb_func_start sub_808AC50
-sub_808AC50:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xF7
- lsls r0, 1
- bl sub_8083E38
- ldr r1, _0808ACBC
- movs r0, 0x1F
- str r0, [r1]
- movs r4, 0xFA
- movs r5, 0x1
-_0808AC66:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808AC66
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808AC8C:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808AC8C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808ACBC: .4byte gUnknown_202EDC8
- thumb_func_end sub_808AC50
-
- thumb_func_start sub_808ACC0
-sub_808ACC0:
- push {r4,lr}
- ldr r4, _0808ACF4
- adds r0, r4, 0
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808ACF8
- movs r0, 0x17
- bl sub_8085680
- movs r1, 0x87
- lsls r1, 2
- movs r2, 0
- bl sub_8068FE0
- movs r0, 0x22
- bl sub_8097FA8
- movs r0, 0x1D
- bl sub_8097FA8
- movs r0, 0x79
- bl sub_808B1CC
- b _0808AD38
- .align 2, 0
-_0808ACF4: .4byte 0x00000195
-_0808ACF8:
- movs r0, 0x79
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- bne _0808AD10
- movs r0, 0x7A
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0808AD1E
-_0808AD10:
- movs r0, 0x22
- bl sub_8098044
- movs r0, 0x1D
- bl sub_8097FA8
- b _0808AD38
-_0808AD1E:
- movs r0, 0x22
- bl sub_8098044
- movs r0, 0x1D
- bl sub_8098044
- ldr r0, _0808AD40
- bl sub_80855E4
- ldr r0, _0808AD44
- adds r1, r4, 0
- bl sub_808D8BC
-_0808AD38:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AD40: .4byte sub_808B2B0
-_0808AD44: .4byte gUnknown_202E038
- thumb_func_end sub_808ACC0
-
- thumb_func_start sub_808AD48
-sub_808AD48:
- push {r4,lr}
- movs r4, 0xCB
- lsls r4, 1
- adds r0, r4, 0
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808AD7E
- movs r0, 0x18
- bl sub_8085680
- movs r1, 0x87
- lsls r1, 2
- movs r2, 0
- bl sub_8068FE0
- movs r0, 0x22
- bl sub_8097FA8
- movs r0, 0x1D
- bl sub_8097FA8
- movs r0, 0x77
- bl sub_808B1CC
- b _0808ADBE
-_0808AD7E:
- movs r0, 0x77
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- bne _0808AD96
- movs r0, 0x7A
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0808ADA4
-_0808AD96:
- movs r0, 0x22
- bl sub_8098044
- movs r0, 0x1D
- bl sub_8097FA8
- b _0808ADBE
-_0808ADA4:
- movs r0, 0x22
- bl sub_8098044
- movs r0, 0x1D
- bl sub_8098044
- ldr r0, _0808ADC4
- bl sub_80855E4
- ldr r0, _0808ADC8
- adds r1, r4, 0
- bl sub_808D8BC
-_0808ADBE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808ADC4: .4byte sub_808B2B0
-_0808ADC8: .4byte gUnknown_202E038
- thumb_func_end sub_808AD48
-
- thumb_func_start sub_808ADCC
-sub_808ADCC:
- push {r4,lr}
- ldr r4, _0808AE00
- adds r0, r4, 0
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808AE04
- movs r0, 0x19
- bl sub_8085680
- movs r1, 0x87
- lsls r1, 2
- movs r2, 0
- bl sub_8068FE0
- movs r0, 0x22
- bl sub_8097FA8
- movs r0, 0x1D
- bl sub_8097FA8
- movs r0, 0x78
- bl sub_808B1CC
- b _0808AE44
- .align 2, 0
-_0808AE00: .4byte 0x00000197
-_0808AE04:
- movs r0, 0x78
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- bne _0808AE1C
- movs r0, 0x7A
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0808AE2A
-_0808AE1C:
- movs r0, 0x22
- bl sub_8098044
- movs r0, 0x1D
- bl sub_8097FA8
- b _0808AE44
-_0808AE2A:
- movs r0, 0x22
- bl sub_8098044
- movs r0, 0x1D
- bl sub_8098044
- ldr r0, _0808AE4C
- bl sub_80855E4
- ldr r0, _0808AE50
- adds r1, r4, 0
- bl sub_808D8BC
-_0808AE44:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AE4C: .4byte sub_808B2B0
-_0808AE50: .4byte gUnknown_202E038
- thumb_func_end sub_808ADCC
-
- thumb_func_start sub_808AE54
-sub_808AE54:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r2, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_8085480
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0
- bl sub_8052D44
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808AEBA
- cmp r4, 0x2E
- bne _0808AEBA
- cmp r5, 0x17
- bne _0808AEBA
- movs r0, 0
- bl sub_808B1CC
- movs r0, 0x1D
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808AEBA
- add r4, sp, 0x4
- adds r0, r4, 0
- movs r1, 0x79
- movs r2, 0
- bl sub_8090A8C
- bl sub_8083600
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80464C8
- movs r0, 0x72
- bl sub_8083E88
- ldr r0, _0808AEC4
- bl sub_8052910
-_0808AEBA:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AEC4: .4byte gUnknown_8105040
- thumb_func_end sub_808AE54
-
- thumb_func_start sub_808AEC8
-sub_808AEC8:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r2, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_8085480
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0
- bl sub_8052D44
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808AF2E
- cmp r4, 0x2F
- bne _0808AF2E
- cmp r5, 0x18
- bne _0808AF2E
- movs r0, 0
- bl sub_808B1CC
- movs r0, 0x1D
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808AF2E
- add r4, sp, 0x4
- adds r0, r4, 0
- movs r1, 0x77
- movs r2, 0
- bl sub_8090A8C
- bl sub_8083600
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80464C8
- movs r0, 0x72
- bl sub_8083E88
- ldr r0, _0808AF38
- bl sub_8052910
-_0808AF2E:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AF38: .4byte gUnknown_810510C
- thumb_func_end sub_808AEC8
-
- thumb_func_start sub_808AF3C
-sub_808AF3C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r2, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_8085480
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0
- bl sub_8052D44
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808AFA2
- cmp r4, 0x30
- bne _0808AFA2
- cmp r5, 0x19
- bne _0808AFA2
- movs r0, 0
- bl sub_808B1CC
- movs r0, 0x1D
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808AFA2
- add r4, sp, 0x4
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0
- bl sub_8090A8C
- bl sub_8083600
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80464C8
- movs r0, 0x72
- bl sub_8083E88
- ldr r0, _0808AFAC
- bl sub_8052910
-_0808AFA2:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808AFAC: .4byte gUnknown_81051D0
- thumb_func_end sub_808AF3C
-
- thumb_func_start sub_808AFB0
-sub_808AFB0:
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8085480
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0
- bl sub_8052D44
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B01E
- cmp r4, 0x2E
- bne _0808B01E
- movs r0, 0x1D
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B01E
- movs r0, 0x79
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0808B01E
- movs r0, 0x1D
- bl sub_8097FD0
- ldr r4, _0808B028
- bl sub_8083600
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0808B02C
- bl sub_8052910
- movs r0, 0
- movs r1, 0xD4
- bl sub_80421C0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8046D20
-_0808B01E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B028: .4byte gUnknown_202DF98
-_0808B02C: .4byte gUnknown_81050B4
- thumb_func_end sub_808AFB0
-
- thumb_func_start sub_808B030
-sub_808B030:
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8085480
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0
- bl sub_8052D44
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B09E
- cmp r4, 0x2F
- bne _0808B09E
- movs r0, 0x1D
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B09E
- movs r0, 0x77
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0808B09E
- movs r0, 0x1D
- bl sub_8097FD0
- ldr r4, _0808B0A8
- bl sub_8083600
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0808B0AC
- bl sub_8052910
- movs r0, 0
- movs r1, 0xD4
- bl sub_80421C0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8046D20
-_0808B09E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B0A8: .4byte gUnknown_202DF98
-_0808B0AC: .4byte gUnknown_810517C
- thumb_func_end sub_808B030
-
- thumb_func_start sub_808B0B0
-sub_808B0B0:
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8085480
- adds r1, r0, 0
- mov r0, sp
- movs r2, 0
- bl sub_8052D44
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B11E
- cmp r4, 0x30
- bne _0808B11E
- movs r0, 0x1D
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B11E
- movs r0, 0x78
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0808B11E
- movs r0, 0x1D
- bl sub_8097FD0
- ldr r4, _0808B128
- bl sub_8083600
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0808B12C
- bl sub_8052910
- movs r0, 0
- movs r1, 0xD4
- bl sub_80421C0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8046D20
-_0808B11E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B128: .4byte gUnknown_202DF98
-_0808B12C: .4byte gUnknown_8105244
- thumb_func_end sub_808B0B0
-
- thumb_func_start sub_808B130
-sub_808B130:
- push {lr}
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B158
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808B15C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B160
- bl sub_808563C
-_0808B158:
- pop {r0}
- bx r0
- .align 2, 0
-_0808B15C: .4byte gUnknown_8104FD4
-_0808B160: .4byte sub_808B2C4
- thumb_func_end sub_808B130
-
- thumb_func_start sub_808B164
-sub_808B164:
- push {lr}
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B18C
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808B190
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B194
- bl sub_808563C
-_0808B18C:
- pop {r0}
- bx r0
- .align 2, 0
-_0808B190: .4byte gUnknown_8105028
-_0808B194: .4byte sub_808B2D4
- thumb_func_end sub_808B164
-
- thumb_func_start sub_808B198
-sub_808B198:
- push {lr}
- movs r0, 0x22
- bl sub_8098100
- lsls r0, 24
- cmp r0, 0
- bne _0808B1C0
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808B1C4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B1C8
- bl sub_808563C
-_0808B1C0:
- pop {r0}
- bx r0
- .align 2, 0
-_0808B1C4: .4byte gUnknown_8105034
-_0808B1C8: .4byte sub_808B2E4
- thumb_func_end sub_808B198
-
- thumb_func_start sub_808B1CC
-sub_808B1CC:
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, _0808B21C
- ldr r2, [r7]
- ldr r1, _0808B220
- adds r0, r2, r1
- ldrh r0, [r0]
- ldr r5, _0808B224
- ldr r1, [sp]
- ands r1, r5
- orrs r1, r0
- str r1, [sp]
- ldr r3, _0808B228
- adds r2, r3
- ldrh r0, [r2]
- lsls r0, 16
- ldr r4, _0808B22C
- adds r2, r4, 0
- ands r2, r1
- orrs r2, r0
- str r2, [sp]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _0808B208
- cmp r2, 0
- bge _0808B244
-_0808B208:
- bl sub_8083600
- adds r2, r0, 0
- cmp r2, 0
- bne _0808B230
- ldr r1, [r7]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _0808B2A8
- .align 2, 0
-_0808B21C: .4byte gUnknown_203B418
-_0808B220: .4byte 0x00000684
-_0808B224: .4byte 0xffff0000
-_0808B228: .4byte 0x00000686
-_0808B22C: .4byte 0x0000ffff
-_0808B230:
- ldrh r0, [r2, 0x4]
- ldr r1, [sp]
- ands r1, r5
- orrs r1, r0
- str r1, [sp]
- ldrh r0, [r2, 0x6]
- lsls r0, 16
- ands r1, r4
- orrs r1, r0
- str r1, [sp]
-_0808B244:
- mov r5, sp
- mov r0, sp
- movs r1, 0
- bl sub_807FE04
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- bl sub_8049590
- ldrh r2, [r0]
- movs r3, 0x80
- lsls r3, 2
- adds r1, r3, 0
- orrs r1, r2
- strh r1, [r0]
- cmp r6, 0
- beq _0808B2A0
- adds r0, r6, 0
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- bne _0808B2A0
- movs r0, 0x7A
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- bne _0808B2A0
- add r4, sp, 0x4
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0
- bl sub_8090A8C
- ldrh r0, [r5, 0x2]
- subs r0, 0x1
- strh r0, [r5, 0x2]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80460F8
-_0808B2A0:
- bl sub_8049ED4
- bl sub_8040A84
-_0808B2A8:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808B1CC
-
- thumb_func_start sub_808B2B0
-sub_808B2B0:
- push {lr}
- ldr r1, [r0, 0x70]
- adds r1, 0x46
- movs r2, 0x4
- strb r2, [r1]
- movs r1, 0x4
- bl sub_806CE68
- pop {r0}
- bx r0
- thumb_func_end sub_808B2B0
-
- thumb_func_start sub_808B2C4
-sub_808B2C4:
- push {lr}
- movs r1, 0xE1
- lsls r1, 1
- movs r2, 0xB
- bl sub_8086A70
- pop {r0}
- bx r0
- thumb_func_end sub_808B2C4
-
- thumb_func_start sub_808B2D4
-sub_808B2D4:
- push {lr}
- movs r1, 0xE1
- lsls r1, 1
- movs r2, 0xB
- bl sub_8086A70
- pop {r0}
- bx r0
- thumb_func_end sub_808B2D4
-
- thumb_func_start sub_808B2E4
-sub_808B2E4:
- push {lr}
- movs r1, 0xE1
- lsls r1, 1
- movs r2, 0xB
- bl sub_8086A70
- pop {r0}
- bx r0
- thumb_func_end sub_808B2E4
-
- thumb_func_start sub_808B2F4
-sub_808B2F4:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x1A
- bl sub_8085680
- adds r5, r0, 0
- movs r0, 0x79
- bl sub_8083E88
- bl sub_808BCE4
- bl sub_8049ED4
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r4, _0808B350
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r5, 0
- bl _call_via_r4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808B354
- ldr r1, _0808B358
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B350: .4byte sub_8086A3C
-_0808B354: .4byte gUnknown_202E038
-_0808B358: .4byte 0x0000019d
- thumb_func_end sub_808B2F4
-
- thumb_func_start sub_808B35C
-sub_808B35C:
- push {r4-r6,lr}
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x1A
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x79
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r5, _0808B3A0
- adds r0, r5, 0
- bl sub_80855E4
- ldr r0, _0808B3A4
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808B3A8
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _0808B3BE
- .align 2, 0
-_0808B3A0: .4byte sub_8086A3C
-_0808B3A4: .4byte 0x0000019d
-_0808B3A8:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- adds r0, r4, 0
- bl _call_via_r5
- bl sub_808BCE4
- bl sub_8049ED4
-_0808B3BE:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- movs r2, 0x6
- ldrsh r1, [r6, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808B3DC
- ldr r1, _0808B3E0
- bl sub_808D8BC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B3DC: .4byte gUnknown_202E038
-_0808B3E0: .4byte 0x0000019d
- thumb_func_end sub_808B35C
-
- thumb_func_start sub_808B3E4
-sub_808B3E4:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r2, 0xCF
- lsls r2, 24
- adds r1, r2
- lsrs r1, 24
- cmp r1, 0x1
- bhi _0808B44E
- cmp r0, 0x1A
- bne _0808B44E
- movs r0, 0x1E
- bl sub_8097FA8
- cmp r4, 0
- beq _0808B418
- ldr r0, _0808B414
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _0808B44E
- .align 2, 0
-_0808B414: .4byte gUnknown_203B418
-_0808B418:
- ldr r0, _0808B434
- ldr r0, [r0]
- ldr r1, _0808B438
- adds r0, r1
- ldrb r4, [r0]
- movs r0, 0x36
- bl sub_80860A8
- lsls r0, 24
- cmp r0, 0
- beq _0808B43C
- bl sub_808B5B8
- b _0808B440
- .align 2, 0
-_0808B434: .4byte gUnknown_203B418
-_0808B438: .4byte 0x0001356c
-_0808B43C:
- bl sub_808B50C
-_0808B440:
- ldr r0, _0808B454
- ldr r0, [r0]
- ldr r2, _0808B458
- adds r0, r2
- strb r4, [r0]
- bl sub_8040A84
-_0808B44E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B454: .4byte gUnknown_203B418
-_0808B458: .4byte 0x0001356c
- thumb_func_end sub_808B3E4
-
- thumb_func_start sub_808B45C
-sub_808B45C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x1A
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8086448
- movs r0, 0x40
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B4F8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B4FC
- bl sub_8052910
- movs r0, 0x37
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80861F8
- ldr r0, _0808B500
- bl sub_80855E4
- movs r0, 0x3C
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_808BBB8
- movs r0, 0x5A
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B504
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B508
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0xAF
- lsls r1, 1
- adds r0, r5, 0
- movs r2, 0x20
- bl sub_8086A70
- adds r4, 0xC
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80858AC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B4F8: .4byte gUnknown_8105438
-_0808B4FC: .4byte gUnknown_81054A0
-_0808B500: .4byte sub_80862BC
-_0808B504: .4byte gUnknown_81054E4
-_0808B508: .4byte gUnknown_810550C
- thumb_func_end sub_808B45C
-
- thumb_func_start sub_808B50C
-sub_808B50C:
- push {r4,r5,lr}
- movs r0, 0x1A
- bl sub_8085680
- adds r5, r0, 0
- ldr r0, _0808B59C
- ldr r1, _0808B5A0
- bl sub_808D8BC
- ldr r4, _0808B5A4
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r5, 0
- bl _call_via_r4
- movs r0, 0
- bl sub_8041888
- ldr r0, [r5, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r4, 0x1
- strb r4, [r0]
- ldr r0, [r5, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- adds r0, r5, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_80861B8
- movs r0, 0x1E
- bl sub_8083ED8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B5A8
- bl sub_8052910
- movs r0, 0x79
- bl sub_8083E88
- ldr r0, _0808B5AC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_808BC20
- ldr r0, _0808B5B0
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B5B4
- ldr r0, [r0]
- strb r4, [r0, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B59C: .4byte gUnknown_202E038
-_0808B5A0: .4byte 0x0000019d
-_0808B5A4: .4byte sub_808BBA8
-_0808B5A8: .4byte gUnknown_810554C
-_0808B5AC: .4byte gUnknown_8105558
-_0808B5B0: .4byte gUnknown_81055F4
-_0808B5B4: .4byte gUnknown_203B418
- thumb_func_end sub_808B50C
-
- thumb_func_start sub_808B5B8
-sub_808B5B8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x78
- movs r0, 0x1A
- bl sub_8085680
- adds r6, r0, 0
- ldr r0, _0808B82C
- ldr r1, _0808B830
- bl sub_808D8BC
- ldr r4, _0808B834
- adds r0, r4, 0
- bl sub_80855E4
- adds r0, r6, 0
- bl _call_via_r4
- movs r0, 0
- bl sub_8041888
- ldr r0, [r6, 0x70]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- movs r4, 0x1
- strb r4, [r0]
- ldr r0, [r6, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r0, r2
- strb r1, [r0]
- adds r0, r6, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_80861B8
- ldr r0, _0808B838
- bl sub_80855E4
- ldr r0, _0808B83C
- ldr r0, [r0]
- ldr r1, _0808B840
- adds r0, r1
- strb r4, [r0]
- movs r0, 0x1E
- bl sub_8083ED8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B844
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808B848
- bl sub_8083E38
- movs r0, 0x96
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_80862BC
- ldr r0, _0808B84C
- bl sub_8052910
- movs r0, 0x79
- bl sub_8083E88
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- movs r1, 0
- bl sub_80856E0
- movs r0, 0xB5
- lsls r0, 1
- bl sub_8083E38
- ldr r0, _0808B850
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808696C
- ldr r0, _0808B854
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
-_0808B690:
- ldr r4, _0808B858
-_0808B692:
- movs r0, 0
- ldr r1, [r4]
- ldr r2, _0808B85C
- ldr r3, _0808B860
- bl sub_8052C68
- mov r9, r0
- cmp r0, 0
- ble _0808B692
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- mov r2, r9
- cmp r2, 0x1
- bne _0808B754
- ldr r0, _0808B864
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808BC70
- movs r0, 0
- add r7, sp, 0x6C
-_0808B6CA:
- adds r0, 0x1
- mov r8, r0
- mov r4, sp
- movs r5, 0x8
-_0808B6D2:
- adds r0, r4, 0
- movs r1, 0x69
- movs r2, 0
- bl sub_8045C28
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _0808B6D2
- movs r0, 0x3
- bl sub_8084100
- ldrh r1, [r6, 0x4]
- adds r1, r0
- subs r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _0808B868
- ldr r0, [sp, 0x6C]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x6C]
- movs r0, 0x3
- bl sub_8084100
- ldrh r2, [r6, 0x6]
- adds r2, r0
- subs r2, 0x1
- lsls r2, 16
- ldr r0, _0808B86C
- ldr r1, [sp, 0x6C]
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0x6C]
- movs r2, 0
- ldrsh r0, [r7, r2]
- asrs r1, 16
- bl sub_8049590
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0808B744
- movs r0, 0xA6
- lsls r0, 1
- bl sub_8083E38
- adds r0, r7, 0
- bl sub_808BB3C
- adds r0, r6, 0
- adds r1, r7, 0
- mov r2, sp
- movs r3, 0x9
- bl sub_8046860
-_0808B744:
- mov r0, r8
- cmp r0, 0x5
- ble _0808B6CA
- ldr r0, [r6, 0x70]
- ldr r2, _0808B870
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
-_0808B754:
- mov r0, r9
- cmp r0, 0x2
- bne _0808B80A
- ldr r0, _0808B874
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808BC70
- movs r0, 0
- add r1, sp, 0x24
- mov r8, r1
- add r7, sp, 0x70
-_0808B776:
- adds r0, 0x1
- mov r10, r0
- mov r4, r8
- movs r5, 0x8
-_0808B77E:
- movs r0, 0
- bl sub_803D73C
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045C28
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _0808B77E
- movs r0, 0x3
- bl sub_8084100
- ldrh r1, [r6, 0x4]
- adds r1, r0
- subs r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _0808B868
- ldr r0, [sp, 0x70]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x70]
- movs r0, 0x3
- bl sub_8084100
- ldrh r2, [r6, 0x6]
- adds r2, r0
- subs r2, 0x1
- lsls r2, 16
- ldr r0, _0808B86C
- ldr r1, [sp, 0x70]
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0x70]
- movs r2, 0
- ldrsh r0, [r7, r2]
- asrs r1, 16
- bl sub_8049590
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0808B7FA
- movs r0, 0xC8
- lsls r0, 1
- bl sub_8083E38
- adds r0, r7, 0
- bl sub_808BB3C
- adds r0, r6, 0
- adds r1, r7, 0
- mov r2, r8
- movs r3, 0x9
- bl sub_8046860
-_0808B7FA:
- mov r0, r10
- cmp r0, 0x5
- ble _0808B776
- ldr r0, [r6, 0x70]
- ldr r2, _0808B870
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
-_0808B80A:
- mov r0, r9
- cmp r0, 0x3
- bne _0808B8CA
- bl sub_808BD94
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3A
- bne _0808B87C
- ldr r0, _0808B878
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- b _0808B690
- .align 2, 0
-_0808B82C: .4byte gUnknown_202E038
-_0808B830: .4byte 0x0000019d
-_0808B834: .4byte sub_808BBA8
-_0808B838: .4byte sub_80861A8
-_0808B83C: .4byte gUnknown_203B418
-_0808B840: .4byte 0x0001356c
-_0808B844: .4byte gUnknown_8105668
-_0808B848: .4byte 0x000001a7
-_0808B84C: .4byte gUnknown_8105674
-_0808B850: .4byte gUnknown_81056B8
-_0808B854: .4byte gUnknown_81056DC
-_0808B858: .4byte gUnknown_8105798
-_0808B85C: .4byte gUnknown_810579C
-_0808B860: .4byte 0x00000705
-_0808B864: .4byte gUnknown_810581C
-_0808B868: .4byte 0xffff0000
-_0808B86C: .4byte 0x0000ffff
-_0808B870: .4byte 0x0000015d
-_0808B874: .4byte gUnknown_8105974
-_0808B878: .4byte gUnknown_8105A08
-_0808B87C:
- ldr r0, _0808BA30
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808BC70
- ldr r0, [r6, 0x70]
- ldr r2, _0808BA34
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0808BA38
- bl sub_8052910
- adds r0, r4, 0
- bl sub_80925EC
- movs r0, 0xD4
- bl sub_8083E38
- bl sub_8083600
- adds r1, r0, 0
- ldr r0, _0808BA3C
- movs r2, 0
- bl sub_8045B94
- ldr r0, _0808BA40
- adds r1, r4, 0
- movs r2, 0
- bl sub_8092578
- ldr r0, _0808BA44
- bl sub_8052910
-_0808B8CA:
- mov r0, r9
- cmp r0, 0x4
- bne _0808B98E
- ldr r0, _0808BA48
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808BC70
- movs r0, 0
- add r1, sp, 0x48
- mov r8, r1
- add r7, sp, 0x74
-_0808B8EC:
- adds r0, 0x1
- mov r10, r0
- mov r4, r8
- movs r5, 0x3
-_0808B8F4:
- movs r0, 0x8
- bl sub_8084100
- ldr r2, _0808BA4C
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0
- bl sub_8045C28
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _0808B8F4
- movs r0, 0x3
- bl sub_8084100
- ldrh r1, [r6, 0x4]
- adds r1, r0
- subs r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _0808BA50
- ldr r0, [sp, 0x74]
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x74]
- movs r0, 0x3
- bl sub_8084100
- ldrh r2, [r6, 0x6]
- adds r2, r0
- subs r2, 0x1
- lsls r2, 16
- ldr r0, _0808BA54
- ldr r1, [sp, 0x74]
- ands r1, r0
- orrs r1, r2
- str r1, [sp, 0x74]
- movs r2, 0
- ldrsh r0, [r7, r2]
- asrs r1, 16
- bl sub_8049590
- ldrh r1, [r0]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0808B970
- movs r0, 0xC8
- lsls r0, 1
- bl sub_8083E38
- adds r0, r7, 0
- bl sub_808BB3C
- adds r0, r6, 0
- adds r1, r7, 0
- mov r2, r8
- movs r3, 0x4
- bl sub_8046860
-_0808B970:
- mov r0, r10
- cmp r0, 0x4
- ble _0808B8EC
- ldr r0, [r6, 0x70]
- ldr r2, _0808BA34
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0808BA58
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
-_0808B98E:
- mov r0, r9
- cmp r0, 0x5
- bne _0808B9F8
- ldr r0, _0808BA5C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_808BC70
- ldr r0, [r6, 0x70]
- ldr r2, _0808BA34
- adds r1, r0, r2
- movs r0, 0
- strb r0, [r1]
- ldr r0, _0808BA60
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8083600
- adds r1, r0, 0
- adds r1, 0x4
- adds r0, r6, 0x4
- bl sub_80983D8
- adds r1, r0, 0
- adds r0, r6, 0
- bl sub_8085918
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808BA64
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808BA68
- ldr r0, [r0]
- ldr r1, _0808BA6C
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_0808B9F8:
- ldr r0, _0808BA70
- bl sub_8052910
- adds r0, r6, 0
- bl sub_808BC20
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808BA74
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_808BD38
- add sp, 0x78
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BA30: .4byte gUnknown_8105AD4
-_0808BA34: .4byte 0x0000015d
-_0808BA38: .4byte gUnknown_8105B20
-_0808BA3C: .4byte gUnknown_202DF98
-_0808BA40: .4byte gUnknown_202DE58
-_0808BA44: .4byte gUnknown_8105B68
-_0808BA48: .4byte gUnknown_8105BA8
-_0808BA4C: .4byte gUnknown_81074FC
-_0808BA50: .4byte 0xffff0000
-_0808BA54: .4byte 0x0000ffff
-_0808BA58: .4byte gUnknown_8105BF4
-_0808BA5C: .4byte gUnknown_8105D2C
-_0808BA60: .4byte gUnknown_8105D80
-_0808BA64: .4byte gUnknown_8105D9C
-_0808BA68: .4byte gUnknown_203B418
-_0808BA6C: .4byte 0x00000674
-_0808BA70: .4byte gUnknown_81058E0
-_0808BA74: .4byte gUnknown_810593C
- thumb_func_end sub_808B5B8
-
- thumb_func_start sub_808BA78
-sub_808BA78:
- push {lr}
- ldr r0, _0808BA94
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808BA9C
- bl sub_8086448
- ldr r0, _0808BA98
- bl sub_80866C4
- b _0808BAA0
- .align 2, 0
-_0808BA94: .4byte 0x0000019d
-_0808BA98: .4byte gUnknown_8105E14
-_0808BA9C:
- bl sub_808B45C
-_0808BAA0:
- pop {r0}
- bx r0
- thumb_func_end sub_808BA78
-
- thumb_func_start sub_808BAA4
-sub_808BAA4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _0808BB34
- bl sub_8083E38
- ldr r1, _0808BB38
- movs r0, 0x1F
- str r0, [r1]
- movs r4, 0xFA
- movs r5, 0x1
-_0808BAB8:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808BAB8
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808BADE:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _0808BADE
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808BB04:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808BB04
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BB34: .4byte 0x000002c1
-_0808BB38: .4byte gUnknown_202EDC8
- thumb_func_end sub_808BAA4
-
- thumb_func_start sub_808BB3C
-sub_808BB3C:
- push {lr}
- sub sp, 0x8
- adds r3, r0, 0
- movs r0, 0
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- cmp r0, 0
- bge _0808BB58
- adds r0, 0xFF
-_0808BB58:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _0808BBA0
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1
- cmp r0, 0
- bge _0808BB7C
- adds r0, 0xFF
-_0808BB7C:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r1, _0808BBA4
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x64
- movs r1, 0
- movs r2, 0
- add r3, sp, 0x4
- bl sub_8085EC8
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0808BBA0: .4byte 0xffff0000
-_0808BBA4: .4byte 0x0000ffff
- thumb_func_end sub_808BB3C
-
- thumb_func_start sub_808BBA8
-sub_808BBA8:
- push {lr}
- ldr r0, [r0, 0x70]
- movs r1, 0
- bl sub_806BFC0
- pop {r0}
- bx r0
- thumb_func_end sub_808BBA8
-
- thumb_func_start sub_808BBB8
-sub_808BBB8:
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r0, 0x1B
- adds r1, r5, 0
- movs r2, 0
- bl sub_80861F8
- adds r0, r5, 0
- bl sub_8086A54
- adds r0, r5, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_80861B8
- movs r4, 0xA0
- lsls r4, 8
- movs r6, 0x80
- lsls r6, 2
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- ldr r7, _0808BBEC
- b _0808BC00
- .align 2, 0
-_0808BBEC: .4byte 0x000017ff
-_0808BBF0:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- str r4, [r0]
- movs r0, 0x46
- bl sub_803E46C
-_0808BC00:
- subs r4, r6
- cmp r4, r7
- bgt _0808BC0A
- movs r6, 0x80
- lsls r6, 1
-_0808BC0A:
- cmp r4, 0
- bge _0808BBF0
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808BBB8
-
- thumb_func_start sub_808BC20
-sub_808BC20:
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0xA6
- lsls r0, 2
- bl sub_8083E38
- movs r4, 0
- movs r6, 0x7
-_0808BC30:
- adds r1, r4, 0
- ands r1, r6
- adds r0, r5, 0
- bl sub_8085918
- movs r0, 0x3
- movs r1, 0x46
- bl sub_803E708
- adds r4, 0x1
- cmp r4, 0x18
- ble _0808BC30
- ldr r0, [r5, 0x70]
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0808BC6C
- bl sub_8083E38
- movs r0, 0x63
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_80861F8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BC6C: .4byte 0x0000027f
- thumb_func_end sub_808BC20
-
- thumb_func_start sub_808BC70
-sub_808BC70:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4, 0x70]
- ldr r2, _0808BCD4
- adds r1, r0, r2
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _0808BCD8
- bl sub_8052910
- ldr r0, _0808BCDC
- bl sub_8083E38
- movs r0, 0x67
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_80861F8
- movs r0, 0xAA
- lsls r0, 2
- bl sub_8083E38
- movs r0, 0x68
- adds r1, r4, 0
- movs r2, 0
- bl sub_80861F8
- adds r4, r0, 0
- ldr r0, _0808BCE0
- bl sub_8052910
- adds r0, r4, 0
- bl sub_800E9A8
- lsls r0, 24
- cmp r0, 0
- beq _0808BCC0
- adds r0, r4, 0
- bl sub_800DC14
-_0808BCC0:
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_808BAA4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BCD4: .4byte 0x0000015d
-_0808BCD8: .4byte gUnknown_81058A8
-_0808BCDC: .4byte 0x00000375
-_0808BCE0: .4byte gUnknown_81058C4
- thumb_func_end sub_808BC70
-
- thumb_func_start sub_808BCE4
-sub_808BCE4:
- push {lr}
- ldr r0, _0808BD24
- ldr r1, [r0]
- ldr r2, _0808BD28
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- ldr r2, _0808BD2C
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- bl sub_8049590
- ldrh r2, [r0]
- ldr r1, _0808BD30
- ands r1, r2
- movs r2, 0x10
- orrs r1, r2
- ldr r2, _0808BD34
- ands r1, r2
- strh r1, [r0]
- bl sub_8049884
- bl sub_8049B8C
- bl sub_8049ED4
- bl sub_8040A84
- pop {r0}
- bx r0
- .align 2, 0
-_0808BD24: .4byte gUnknown_203B418
-_0808BD28: .4byte 0x0000e23c
-_0808BD2C: .4byte 0x0000e23e
-_0808BD30: .4byte 0x0000fffc
-_0808BD34: .4byte 0x0000fdff
- thumb_func_end sub_808BCE4
-
- thumb_func_start sub_808BD38
-sub_808BD38:
- push {r4,lr}
- ldr r0, _0808BD84
- ldr r1, [r0]
- ldr r2, _0808BD88
- adds r0, r1, r2
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r2, 0x2
- adds r1, r2
- movs r4, 0
- ldrsh r1, [r1, r4]
- bl sub_8049590
- ldrh r2, [r0]
- ldr r1, _0808BD8C
- ands r1, r2
- movs r3, 0x1
- orrs r1, r3
- ldr r2, _0808BD90
- ands r1, r2
- movs r4, 0x80
- lsls r4, 2
- adds r2, r4, 0
- orrs r1, r2
- strh r1, [r0]
- strb r3, [r0, 0x8]
- bl sub_8049884
- bl sub_8049B8C
- bl sub_8049ED4
- bl sub_8040A84
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BD84: .4byte gUnknown_203B418
-_0808BD88: .4byte 0x0000e23c
-_0808BD8C: .4byte 0x0000fffc
-_0808BD90: .4byte 0x0000ffef
- thumb_func_end sub_808BD38
-
- thumb_func_start sub_808BD94
-sub_808BD94:
- push {r4,r5,lr}
- sub sp, 0x3C
- movs r5, 0
- movs r4, 0x1
-_0808BD9C:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8092534
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _0808BDC4
- cmp r0, 0x2
- beq _0808BDC4
- ldr r0, _0808BDDC
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808BDC4
- mov r1, sp
- adds r0, r1, r5
- strb r4, [r0]
- adds r5, 0x1
-_0808BDC4:
- adds r4, 0x1
- cmp r4, 0x39
- ble _0808BD9C
- cmp r5, 0
- beq _0808BDE0
- adds r0, r5, 0
- bl sub_8084100
- add r0, sp
- ldrb r0, [r0]
- b _0808BDE2
- .align 2, 0
-_0808BDDC: .4byte gUnknown_203B468
-_0808BDE0:
- movs r0, 0x3A
-_0808BDE2:
- add sp, 0x3C
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808BD94
-
- thumb_func_start sub_808BDEC
-sub_808BDEC:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x1B
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8083F14
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808BE34
- bl sub_80855E4
- movs r0, 0x89
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808BE38
- movs r0, 0x23
- bl sub_8083E88
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _0808BE48
- .align 2, 0
-_0808BE34: .4byte sub_8086A3C
-_0808BE38:
- ldr r0, _0808BE68
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x7]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
-_0808BE48:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808BE6C
- movs r1, 0x89
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BE68: .4byte gUnknown_203B418
-_0808BE6C: .4byte gUnknown_202E038
- thumb_func_end sub_808BDEC
-
- thumb_func_start sub_808BE70
-sub_808BE70:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x33
- bne _0808BE8A
- cmp r0, 0x1B
- bne _0808BE8A
- ldr r0, _0808BE90
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808BE8A:
- pop {r0}
- bx r0
- .align 2, 0
-_0808BE90: .4byte gUnknown_203B418
- thumb_func_end sub_808BE70
-
- thumb_func_start sub_808BE94
-sub_808BE94:
- push {r4-r6,lr}
- sub sp, 0x4
- bl sub_8085480
- adds r6, r0, 0
- movs r0, 0x1B
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x89
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _0808BEC8
- bl sub_8086448
- ldr r0, _0808BEC4
- bl sub_80866C4
- b _0808BF7C
- .align 2, 0
-_0808BEC4: .4byte gUnknown_8106068
-_0808BEC8:
- bl sub_8083F14
- bl sub_8086448
- ldr r0, _0808BF84
- bl sub_8052910
- movs r0, 0x23
- movs r1, 0x3C
- bl sub_8083EA8
- bl sub_808C0CC
- ldr r0, _0808BF88
- bl sub_8052910
- bl sub_808BFA0
- ldr r0, _0808BF8C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808BF90
- bl sub_8052910
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- adds r0, r4, 0
- movs r1, 0xD
- movs r2, 0
- bl sub_80861D4
- movs r0, 0x2B
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_80861B8
- ldr r0, _0808BF94
- bl sub_8052910
- bl sub_808BFA0
- ldr r0, _0808BF98
- bl sub_8052910
- bl sub_808C02C
- movs r2, 0xFA
- negs r2, r2
- str r5, [sp]
- adds r0, r2, 0
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_8085C54
- bl sub_8083F14
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0
- bl sub_80861D4
- ldr r0, _0808BF9C
- bl sub_8052910
- bl sub_808BFA0
- movs r1, 0xC8
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0x20
- bl sub_8086A70
- movs r0, 0x23
- bl sub_8083E88
- adds r0, r6, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_0808BF7C:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BF84: .4byte gUnknown_8105E88
-_0808BF88: .4byte gUnknown_8105EF8
-_0808BF8C: .4byte gUnknown_8105F38
-_0808BF90: .4byte gUnknown_8105F74
-_0808BF94: .4byte gUnknown_8105FA0
-_0808BF98: .4byte gUnknown_8105FD8
-_0808BF9C: .4byte gUnknown_8106024
- thumb_func_end sub_808BE94
-
- thumb_func_start sub_808BFA0
-sub_808BFA0:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xFB
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_0808BFB0:
- str r5, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808BFB0
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808BFD6:
- str r5, [sp]
- movs r0, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _0808BFD6
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808BFFC:
- str r5, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808BFFC
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808BFA0
-
- thumb_func_start sub_808C02C
-sub_808C02C:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xFB
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0
- movs r5, 0
-_0808C03C:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0x64
- cmp r4, 0xC7
- ble _0808C03C
- movs r4, 0xC8
- movs r5, 0
-_0808C05A:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x64
- cmp r4, 0
- bge _0808C05A
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0
- movs r5, 0
-_0808C080:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0x64
- cmp r4, 0xC7
- ble _0808C080
- movs r4, 0xC8
- movs r5, 0
-_0808C09E:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x64
- cmp r4, 0
- bge _0808C09E
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808C02C
-
- thumb_func_start sub_808C0CC
-sub_808C0CC:
- push {lr}
- sub sp, 0x4
- ldr r1, _0808C104
- movs r0, 0x1F
- str r0, [r1]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- bl sub_803E9D0
- movs r0, 0x46
- bl sub_803E46C
- ldr r0, _0808C108
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x7]
- bl sub_808BFA0
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808C104: .4byte gUnknown_202EDC8
-_0808C108: .4byte gUnknown_203B418
- thumb_func_end sub_808C0CC
-
- thumb_func_start sub_808C10C
-sub_808C10C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x1C
- bl sub_8085680
- adds r4, r0, 0
- bl sub_8083F14
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- movs r0, 0xCD
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808C146
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- b _0808C156
-_0808C146:
- ldr r0, _0808C194
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x7]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
-_0808C156:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- ldr r0, _0808C198
- adds r1, r0
- adds r0, r4, 0
- bl sub_803F878
- ldr r4, _0808C19C
- movs r1, 0xCD
- lsls r1, 1
- adds r0, r4, 0
- bl sub_808D8BC
- adds r4, 0x50
- ldr r1, _0808C1A0
- adds r0, r4, 0
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C194: .4byte gUnknown_203B418
-_0808C198: .4byte 0xfffff000
-_0808C19C: .4byte gUnknown_202E038
-_0808C1A0: .4byte 0x0000019b
- thumb_func_end sub_808C10C
-
- thumb_func_start sub_808C1A4
-sub_808C1A4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x34
- bne _0808C1C4
- cmp r0, 0x1C
- bne _0808C1C4
- ldr r0, _0808C1C8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- movs r0, 0x23
- bl sub_8083E88
-_0808C1C4:
- pop {r0}
- bx r0
- .align 2, 0
-_0808C1C8: .4byte gUnknown_203B418
- thumb_func_end sub_808C1A4
-
- thumb_func_start sub_808C1CC
-sub_808C1CC:
- push {r4,r5,lr}
- bl sub_8085480
- adds r4, r0, 0
- movs r0, 0x1C
- bl sub_8085680
- adds r5, r0, 0
- bl sub_8083F14
- movs r0, 0xCD
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808C224
- movs r0, 0x23
- movs r1, 0x3C
- bl sub_8083EA8
- adds r0, r4, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C21C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C220
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _0808C2AE
- .align 2, 0
-_0808C21C: .4byte gUnknown_81062A8
-_0808C220: .4byte gUnknown_203B418
-_0808C224:
- ldr r0, _0808C2B4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C2B8
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl nullsub_99
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C2BC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x23
- movs r1, 0x3C
- bl sub_8083EA8
- bl sub_808C360
- ldr r0, _0808C2C0
- bl sub_8052910
- bl sub_808C2D4
- ldr r0, _0808C2C4
- bl sub_8052910
- bl sub_808C2D4
- ldr r0, _0808C2C8
- bl sub_8052910
- bl sub_808C2D4
- ldr r0, _0808C2CC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r1, 0x96
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0xB
- bl sub_8086A70
- movs r0, 0x23
- bl sub_8083E88
- adds r0, r4, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_0808C2AE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C2B4: .4byte gUnknown_8106074
-_0808C2B8: .4byte gUnknown_81060BC
-_0808C2BC: .4byte gUnknown_8106104
-_0808C2C0: .4byte gUnknown_8106140
-_0808C2C4: .4byte gUnknown_8106214
-_0808C2C8: .4byte gUnknown_8106244
-_0808C2CC: .4byte gUnknown_810627C
- thumb_func_end sub_808C1CC
-
- thumb_func_start nullsub_99
-nullsub_99:
- bx lr
- thumb_func_end nullsub_99
-
- thumb_func_start sub_808C2D4
-sub_808C2D4:
- push {r4,r5,lr}
- sub sp, 0x4
- movs r0, 0xFC
- lsls r0, 1
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_0808C2E4:
- str r5, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808C2E4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808C30A:
- str r5, [sp]
- movs r0, 0
- adds r1, r4, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _0808C30A
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808C330:
- str r5, [sp]
- movs r0, 0
- movs r1, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808C330
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808C2D4
-
- thumb_func_start sub_808C360
-sub_808C360:
- push {lr}
- sub sp, 0x4
- ldr r1, _0808C398
- movs r0, 0x1F
- str r0, [r1]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- bl sub_803E9D0
- movs r0, 0x46
- bl sub_803E46C
- ldr r0, _0808C39C
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x7]
- bl sub_808C2D4
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808C398: .4byte gUnknown_202EDC8
-_0808C39C: .4byte gUnknown_203B418
- thumb_func_end sub_808C360
-
- thumb_func_start sub_808C3A0
-sub_808C3A0:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_8083F14
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808C3D4
- bl sub_80855E4
- movs r0, 0xCF
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808C3DC
- ldr r0, _0808C3D8
- bl sub_808563C
- b _0808C3EA
- .align 2, 0
-_0808C3D4: .4byte sub_8086A3C
-_0808C3D8: .4byte sub_808C590
-_0808C3DC:
- ldr r0, _0808C408
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x7]
- ldr r0, _0808C40C
- bl sub_808563C
-_0808C3EA:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808C410
- movs r1, 0xCF
- lsls r1, 1
- bl sub_808D8BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C408: .4byte gUnknown_203B418
-_0808C40C: .4byte sub_808C5A0
-_0808C410: .4byte gUnknown_202E038
- thumb_func_end sub_808C3A0
-
- thumb_func_start sub_808C414
-sub_808C414:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x35
- bne _0808C434
- cmp r0, 0x1D
- bne _0808C434
- ldr r0, _0808C438
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- movs r0, 0x1A
- bl sub_8083E88
-_0808C434:
- pop {r0}
- bx r0
- .align 2, 0
-_0808C438: .4byte gUnknown_203B418
- thumb_func_end sub_808C414
-
- thumb_func_start sub_808C43C
-sub_808C43C:
- push {r4,lr}
- bl sub_8085480
- adds r4, r0, 0
- bl sub_8086448
- movs r0, 0xCF
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- beq _0808C464
- ldr r0, _0808C460
- bl sub_80866C4
- b _0808C4A8
- .align 2, 0
-_0808C460: .4byte gUnknown_81063C4
-_0808C464:
- ldr r0, _0808C4B0
- bl sub_8052910
- movs r0, 0x1A
- movs r1, 0x3C
- bl sub_8083EA8
- bl sub_808C550
- ldr r0, _0808C4B4
- bl sub_8052910
- bl sub_808C4C4
- ldr r0, _0808C4B8
- bl sub_8052910
- bl sub_808C4C4
- ldr r0, _0808C4BC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C4C0
- bl sub_808563C
- adds r0, r4, 0
- adds r0, 0xC
- movs r1, 0x10
- bl sub_80858AC
-_0808C4A8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C4B0: .4byte gUnknown_81062B4
-_0808C4B4: .4byte gUnknown_81062E8
-_0808C4B8: .4byte gUnknown_8106368
-_0808C4BC: .4byte gUnknown_8106390
-_0808C4C0: .4byte sub_808C5AC
- thumb_func_end sub_808C43C
-
- thumb_func_start sub_808C4C4
-sub_808C4C4:
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _0808C54C
- bl sub_8083E38
- movs r4, 0xFA
- movs r5, 0x1
-_0808C4D2:
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0x95
- bgt _0808C4D2
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808C4F8:
- str r5, [sp]
- adds r0, r4, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0xC7
- bgt _0808C4F8
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r4, 0xFA
- movs r5, 0x1
-_0808C51E:
- str r5, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0xA
- cmp r4, 0
- bge _0808C51E
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8085EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C54C: .4byte 0x000002c1
- thumb_func_end sub_808C4C4
-
- thumb_func_start sub_808C550
-sub_808C550:
- push {lr}
- sub sp, 0x4
- ldr r1, _0808C588
- movs r0, 0x1F
- str r0, [r1]
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_8085C54
- bl sub_803E9D0
- movs r0, 0x46
- bl sub_803E46C
- ldr r0, _0808C58C
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x7]
- bl sub_808C4C4
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808C588: .4byte gUnknown_202EDC8
-_0808C58C: .4byte gUnknown_203B418
- thumb_func_end sub_808C550
-
- thumb_func_start sub_808C590
-sub_808C590:
- push {lr}
- movs r1, 0x87
- lsls r1, 2
- movs r2, 0
- bl sub_8068FE0
- pop {r0}
- bx r0
- thumb_func_end sub_808C590
-
- thumb_func_start sub_808C5A0
-sub_808C5A0:
- push {lr}
- movs r1, 0
- bl sub_8085918
- pop {r0}
- bx r0
- thumb_func_end sub_808C5A0
-
- thumb_func_start sub_808C5AC
-sub_808C5AC:
- push {lr}
- ldr r1, _0808C5BC
- movs r2, 0x20
- bl sub_8086A70
- pop {r0}
- bx r0
- .align 2, 0
-_0808C5BC: .4byte 0x000003b6
- thumb_func_end sub_808C5AC
-
- thumb_func_start sub_808C5C0
-sub_808C5C0:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x1E
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x7F
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- bl sub_803F994
- adds r4, r0, 0
- bl sub_803F9B0
- adds r1, r0, 0
- ldr r0, _0808C61C
- adds r1, r0
- adds r0, r4, 0
- bl sub_803F878
- ldr r0, _0808C620
- movs r1, 0x8A
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C61C: .4byte 0xfffff000
-_0808C620: .4byte gUnknown_202E038
- thumb_func_end sub_808C5C0
-
- thumb_func_start nullsub_100
-nullsub_100:
- bx lr
- thumb_func_end nullsub_100
-
- thumb_func_start sub_808C628
-sub_808C628:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- bl sub_8085480
- adds r7, r0, 0
- movs r0, 0x1E
- bl sub_8085680
- str r0, [sp]
- movs r0, 0x8A
- lsls r0, 1
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- bne _0808C658
- ldr r0, [sp]
- bl sub_806FD18
- lsls r0, 24
- cmp r0, 0
- bne _0808C680
-_0808C658:
- movs r1, 0x87
- lsls r1, 2
- ldr r0, [sp]
- movs r2, 0
- bl sub_8068FE0
- adds r0, r7, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C67C
- bl sub_8052910
- b _0808C8AC
- .align 2, 0
-_0808C67C: .4byte gUnknown_810663C
-_0808C680:
- adds r0, r7, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r7, 0
- bl sub_80862BC
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C71C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8086598
- bl sub_8086598
- bl sub_8086598
- bl sub_8086598
- ldr r0, _0808C720
- bl sub_8052910
- ldr r4, _0808C724
- adds r0, r4, 0
- bl sub_8083E38
- ldr r0, [sp]
- movs r1, 0xA
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x14
- movs r1, 0x46
- bl sub_803E708
- ldr r0, [sp]
- movs r1, 0
- bl sub_806CE68
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8083E38
- ldr r0, [sp]
- movs r1, 0xA
- movs r2, 0
- bl sub_806CDD4
- ldr r0, _0808C728
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0
- mov r8, r4
- ldr r6, _0808C72C
-_0808C70E:
- cmp r0, 0
- beq _0808C730
- cmp r0, 0x1
- bne _0808C718
- b _0808C828
-_0808C718:
- b _0808C8A6
- .align 2, 0
-_0808C71C: .4byte gUnknown_81063D0
-_0808C720: .4byte gUnknown_8106400
-_0808C724: .4byte 0x000001c7
-_0808C728: .4byte gUnknown_810643C
-_0808C72C: .4byte 0x000001d5
-_0808C730:
- ldr r5, _0808C75C
-_0808C732:
- movs r0, 0
- ldr r1, [r5]
- ldr r2, _0808C760
- ldr r3, _0808C764
- bl sub_8052C68
- adds r4, r0, 0
- cmp r4, 0
- ble _0808C732
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- cmp r4, 0x1
- bne _0808C824
- bl sub_8083F14
- movs r0, 0xCC
- bl sub_8083E38
- b _0808C76E
- .align 2, 0
-_0808C75C: .4byte gUnknown_81065A8
-_0808C760: .4byte gUnknown_81065AC
-_0808C764: .4byte 0x00000701
-_0808C768:
- movs r0, 0x46
- bl sub_803E46C
-_0808C76E:
- movs r0, 0xCC
- bl sub_8083E74
- lsls r0, 24
- cmp r0, 0
- bne _0808C768
- movs r0, 0x7F
- bl sub_8083E88
- mov r0, r8
- bl sub_8083E38
- ldr r0, [sp]
- movs r1, 0xD
- movs r2, 0
- bl sub_80861D4
- movs r0, 0x37
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_8083E38
- movs r0, 0x1A
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_8083E38
- movs r0, 0x1C
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C818
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r1, [sp]
- adds r0, r7, 0
- mov r2, sp
- bl sub_806FDF4
- movs r0, 0x7F
- bl sub_8083E88
- ldr r0, _0808C81C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- mov r0, r8
- bl sub_8083E38
- ldr r0, [sp]
- movs r1, 0xD
- movs r2, 0
- bl sub_80861D4
- movs r0, 0x37
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_8083E38
- movs r0, 0x1A
- movs r1, 0x46
- bl sub_803E708
- adds r0, r6, 0
- bl sub_8083E38
- movs r0, 0x1B
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C820
- b _0808C898
- .align 2, 0
-_0808C818: .4byte gUnknown_8106468
-_0808C81C: .4byte gUnknown_810648C
-_0808C820: .4byte gUnknown_81064BC
-_0808C824:
- movs r0, 0x1
- b _0808C8A6
-_0808C828:
- ldr r5, _0808C844
-_0808C82A:
- movs r0, 0
- ldr r1, [r5]
- ldr r2, _0808C848
- ldr r3, _0808C84C
- bl sub_8052C68
- adds r4, r0, 0
- cmp r4, 0
- ble _0808C82A
- cmp r4, 0x1
- bne _0808C850
- movs r0, 0
- b _0808C8A6
- .align 2, 0
-_0808C844: .4byte gUnknown_810660C
-_0808C848: .4byte gUnknown_8106610
-_0808C84C: .4byte 0x00000701
-_0808C850:
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C8D0
- bl sub_8052910
- ldr r1, [sp]
- movs r0, 0x3E
- movs r2, 0x1
- bl sub_80861F8
- movs r0, 0x18
- movs r1, 0x46
- bl sub_803E708
- ldr r1, [sp]
- movs r0, 0x3E
- movs r2, 0x1
- bl sub_80861F8
- movs r0, 0xE
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C8D4
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, [sp]
- bl sub_808C8E0
- ldr r0, _0808C8D8
-_0808C898:
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- movs r0, 0x2
-_0808C8A6:
- cmp r0, 0x2
- beq _0808C8AC
- b _0808C70E
-_0808C8AC:
- movs r0, 0x1E
- bl sub_8083ED8
- movs r0, 0x1E
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808C8DC
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C8D0: .4byte gUnknown_8106500
-_0808C8D4: .4byte gUnknown_8106534
-_0808C8D8: .4byte gUnknown_8106560
-_0808C8DC: .4byte gUnknown_203B418
- thumb_func_end sub_808C628
-
- thumb_func_start sub_808C8E0
-sub_808C8E0:
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _0808C934
- bl sub_8083E38
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_806CDD4
- movs r4, 0
-_0808C8F6:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0x1
- cmp r4, 0xF
- ble _0808C8F6
- movs r4, 0x10
-_0808C910:
- ldr r0, [r5, 0x70]
- movs r1, 0xBA
- lsls r1, 1
- adds r0, r1
- lsls r1, r4, 8
- str r1, [r0]
- movs r0, 0x46
- bl sub_803E46C
- adds r4, 0x4
- cmp r4, 0xC7
- ble _0808C910
- adds r0, r5, 0
- bl sub_8086A3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C934: .4byte 0x000001a5
- thumb_func_end sub_808C8E0
-
- thumb_func_start sub_808C938
-sub_808C938:
- push {lr}
- ldr r0, _0808C944
- bl sub_80855E4
- pop {r0}
- bx r0
- .align 2, 0
-_0808C944: .4byte sub_808C9B0
- thumb_func_end sub_808C938
-
- thumb_func_start sub_808C948
-sub_808C948:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x37
- bne _0808C98A
- movs r5, 0
- movs r4, 0
- b _0808C95C
-_0808C95A:
- adds r4, 0x1
-_0808C95C:
- cmp r4, 0xF
- bgt _0808C97E
- ldr r0, _0808C990
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _0808C994
- adds r0, r2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, r6
- beq _0808C95A
- bl sub_80450E0
- lsls r0, 24
- cmp r0, 0
- beq _0808C95A
- movs r5, 0x1
-_0808C97E:
- cmp r5, 0
- bne _0808C98A
- ldr r0, _0808C990
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808C98A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C990: .4byte gUnknown_203B418
-_0808C994: .4byte 0x0001358c
- thumb_func_end sub_808C948
-
- thumb_func_start sub_808C998
-sub_808C998:
- push {lr}
- ldr r0, _0808C9AC
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- pop {r0}
- bx r0
- .align 2, 0
-_0808C9AC: .4byte gUnknown_8106720
- thumb_func_end sub_808C998
-
- thumb_func_start sub_808C9B0
-sub_808C9B0:
- push {lr}
- ldr r1, [r0, 0x70]
- adds r1, 0x46
- movs r2, 0x4
- strb r2, [r1]
- movs r1, 0x4
- bl sub_806CE68
- pop {r0}
- bx r0
- thumb_func_end sub_808C9B0
-
- thumb_func_start sub_808C9C4
-sub_808C9C4:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x7
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808CA10
- bl sub_80855E4
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808CA14
- ldr r1, _0808CA18
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CA10: .4byte sub_8086A3C
-_0808CA14: .4byte gUnknown_202E038
-_0808CA18: .4byte 0x0000014d
- thumb_func_end sub_808C9C4
-
- thumb_func_start sub_808CA1C
-sub_808CA1C:
- push {r4,r5,lr}
- movs r0, 0x7
- bl sub_8085680
- adds r5, r0, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808CB44
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808CB48
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8086448
- bl sub_8086598
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_80862BC
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0
- bl sub_80869E4
- ldr r0, _0808CB4C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r4, _0808CB50
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x14
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0
- bl sub_806CE68
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x14
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808CB54
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_806CDD4
- movs r4, 0x17
-_0808CAF6:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x80
- lsls r2, 1
- bl sub_804539C
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0808CAF6
- adds r0, r5, 0
- movs r1, 0
- bl sub_806CE68
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8042B0C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0
- bl sub_8068FE0
- ldr r2, _0808CB58
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r1, [r2]
- movs r0, 0x4
- strb r0, [r1, 0x11]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CB44: .4byte gUnknown_8106778
-_0808CB48: .4byte gUnknown_81067BC
-_0808CB4C: .4byte gUnknown_81067E0
-_0808CB50: .4byte 0x000001c7
-_0808CB54: .4byte gUnknown_8106834
-_0808CB58: .4byte gUnknown_203B418
- thumb_func_end sub_808CA1C
-
- thumb_func_start sub_808CB5C
-sub_808CB5C:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x7
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl sub_8085860
- ldr r0, _0808CBA4
- ldr r1, _0808CBA8
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CBA4: .4byte gUnknown_202E038
-_0808CBA8: .4byte 0x0000014d
- thumb_func_end sub_808CB5C
-
- thumb_func_start nullsub_101
-nullsub_101:
- bx lr
- thumb_func_end nullsub_101
-
- thumb_func_start sub_808CBB0
-sub_808CBB0:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x1F
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808CBFC
- bl sub_80855E4
- adds r0, r4, 0
- movs r1, 0
- bl sub_8085918
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808CC00
- movs r1, 0x82
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CBFC: .4byte sub_8086A3C
-_0808CC00: .4byte gUnknown_202E038
- thumb_func_end sub_808CBB0
-
- thumb_func_start sub_808CC04
-sub_808CC04:
- push {r4,r5,lr}
- movs r0, 0x1F
- bl sub_8085680
- adds r5, r0, 0
- bl sub_808696C
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808CD2C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80869E4
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808CD30
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- bl sub_8086448
- bl sub_8086598
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_80862BC
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x2
- movs r3, 0
- bl sub_80869E4
- ldr r0, _0808CD34
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- ldr r4, _0808CD38
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x14
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0
- bl sub_806CE68
- movs r0, 0x4
- movs r1, 0x46
- bl sub_803E708
- adds r0, r4, 0
- bl sub_8083E38
- adds r0, r5, 0
- movs r1, 0xA
- movs r2, 0
- bl sub_806CDD4
- movs r0, 0x14
- movs r1, 0x46
- bl sub_803E708
- ldr r0, _0808CD3C
- bl sub_8052910
- movs r0, 0xA
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl sub_806CDD4
- movs r4, 0x17
-_0808CCDE:
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x80
- lsls r2, 1
- bl sub_804539C
- movs r0, 0x46
- bl sub_803E46C
- subs r4, 0x1
- cmp r4, 0
- bge _0808CCDE
- adds r0, r5, 0
- movs r1, 0
- bl sub_806CE68
- movs r0, 0x20
- movs r1, 0x46
- bl sub_803E708
- adds r0, r5, 0
- bl sub_8042B0C
- movs r1, 0x87
- lsls r1, 2
- adds r0, r5, 0
- movs r2, 0
- bl sub_8068FE0
- ldr r2, _0808CD40
- ldr r1, [r2]
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldr r1, [r2]
- movs r0, 0x4
- strb r0, [r1, 0x11]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CD2C: .4byte gUnknown_810688C
-_0808CD30: .4byte gUnknown_81068D0
-_0808CD34: .4byte gUnknown_8106918
-_0808CD38: .4byte 0x000001c7
-_0808CD3C: .4byte gUnknown_8106934
-_0808CD40: .4byte gUnknown_203B418
- thumb_func_end sub_808CC04
-
- thumb_func_start sub_808CD44
-sub_808CD44:
- push {r4,r5,lr}
- bl sub_8085480
- adds r5, r0, 0
- movs r0, 0x1F
- bl sub_8085680
- adds r4, r0, 0
- movs r0, 0x72
- bl sub_8083E88
- bl sub_80854D4
- movs r0, 0x4
- bl sub_8085930
- ldr r0, _0808CD94
- bl sub_80855E4
- movs r1, 0x87
- lsls r1, 2
- adds r0, r4, 0
- movs r2, 0
- bl sub_8068FE0
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- subs r1, 0x3
- bl sub_8085860
- ldr r0, _0808CD98
- movs r1, 0x82
- lsls r1, 1
- bl sub_808D8BC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CD94: .4byte sub_8086A3C
-_0808CD98: .4byte gUnknown_202E038
- thumb_func_end sub_808CD44
-
- thumb_func_start sub_808CD9C
-sub_808CD9C:
- push {lr}
- bl sub_8086448
- ldr r0, _0808CDAC
- bl sub_80866C4
- pop {r0}
- bx r0
- .align 2, 0
-_0808CDAC: .4byte gUnknown_810697C
- thumb_func_end sub_808CD9C
-
- thumb_func_start sub_808CDB0
-sub_808CDB0:
- lsls r0, 24
- lsrs r0, 21
- ldr r1, _0808CDBC
- adds r0, r1
- bx lr
- .align 2, 0
-_0808CDBC: .4byte gUnknown_8107544
- thumb_func_end sub_808CDB0
-
- thumb_func_start LoadMonsterParameters
-LoadMonsterParameters:
- push {lr}
- ldr r1, _0808CDE4
- ldr r0, _0808CDE8
- str r0, [r1]
- ldr r0, _0808CDEC
- ldr r1, _0808CDF0
- bl OpenFileAndGetFileDataPtr
- ldr r1, _0808CDF4
- str r0, [r1]
- ldr r1, _0808CDF8
- ldr r0, [r0, 0x4]
- str r0, [r1]
- ldr r1, _0808CDFC
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0808CDE4: .4byte gUnknown_203B45C
-_0808CDE8: .4byte gUnknown_202F400
-_0808CDEC: .4byte gUnknown_81075F4
-_0808CDF0: .4byte gUnknown_8300500
-_0808CDF4: .4byte gUnknown_202F3E4
-_0808CDF8: .4byte gUnknown_202F3E0
-_0808CDFC: .4byte gUnknown_20384E8
- thumb_func_end LoadMonsterParameters
-
- thumb_func_start sub_808CE00
-sub_808CE00:
- ldr r0, _0808CE04
- bx lr
- .align 2, 0
-_0808CE04: .4byte gUnknown_202F400
- thumb_func_end sub_808CE00
-
- thumb_func_start sub_808CE08
-sub_808CE08:
- push {r4-r7,lr}
- ldr r4, _0808CE60
- movs r3, 0
- movs r1, 0
- ldr r2, _0808CE64
-_0808CE12:
- ldr r0, [r4]
- adds r0, r1
- strh r3, [r0]
- adds r1, 0x58
- subs r2, 0x1
- cmp r2, 0
- bne _0808CE12
- ldr r5, _0808CE60
- ldr r4, _0808CE68
- movs r3, 0
- movs r1, 0
- movs r2, 0x3
-_0808CE2A:
- ldr r0, [r5]
- adds r0, r1
- adds r0, r4
- strh r3, [r0]
- adds r1, 0x64
- subs r2, 0x1
- cmp r2, 0
- bge _0808CE2A
- ldr r7, _0808CE60
- ldr r6, _0808CE6C
- movs r4, 0
- movs r3, 0
- ldr r5, _0808CE70
- movs r2, 0x3
-_0808CE46:
- ldr r0, [r7]
- adds r0, r3
- adds r1, r0, r6
- strh r4, [r1]
- adds r0, r5
- strh r4, [r0]
- adds r3, 0x58
- subs r2, 0x1
- cmp r2, 0
- bge _0808CE46
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CE60: .4byte gUnknown_203B45C
-_0808CE64: .4byte 0x0000019d
-_0808CE68: .4byte 0x00008df8
-_0808CE6C: .4byte 0x00008f90
-_0808CE70: .4byte 0x00008f88
- thumb_func_end sub_808CE08
-
- thumb_func_start sub_808CE74
-sub_808CE74:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x6C
- mov r8, r2
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- mov r2, sp
- movs r0, 0x3
- strh r0, [r2]
- cmp r1, 0
- beq _0808CE9C
- mov r1, sp
- movs r0, 0x1
- strb r0, [r1, 0x2]
- movs r0, 0x40
- b _0808CEA4
-_0808CE9C:
- mov r1, sp
- movs r0, 0
- strb r0, [r1, 0x2]
- movs r0, 0x41
-_0808CEA4:
- strb r0, [r1, 0x4]
- mov r0, sp
- movs r6, 0
- movs r5, 0x1
- strb r5, [r0, 0x3]
- adds r0, r7, 0
- bl sub_808DBC0
- mov r1, sp
- movs r4, 0
- strh r0, [r1, 0x16]
- adds r0, r7, 0
- movs r1, 0
- bl sub_808DC28
- mov r1, sp
- strb r0, [r1, 0x18]
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_808DC28
- mov r1, sp
- strb r0, [r1, 0x19]
- adds r0, r7, 0
- movs r1, 0
- bl sub_808DC48
- mov r1, sp
- strb r0, [r1, 0x1A]
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_808DC48
- mov r1, sp
- strb r0, [r1, 0x1B]
- mov r0, sp
- strh r5, [r0, 0x14]
- strb r4, [r0, 0xC]
- strb r4, [r0, 0x10]
- add r0, sp, 0x20
- movs r1, 0
- bl sub_808EC94
- mov r0, sp
- strh r7, [r0, 0x8]
- add r0, sp, 0x28
- strb r4, [r0]
- adds r0, 0x1
- strb r4, [r0]
- str r6, [sp, 0x1C]
- add r0, sp, 0x24
- strb r4, [r0]
- mov r0, sp
- strb r4, [r0, 0x5]
- add r0, sp, 0x2C
- adds r1, r7, 0
- bl sub_808E490
- mov r0, r8
- cmp r0, 0
- bne _0808CF5C
- add r4, sp, 0x58
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_808D8BC
- add r0, sp, 0x4C
- adds r1, r4, 0
- movs r2, 0xA
- bl sub_8092310
- lsls r4, r7, 3
- b _0808CF72
-_0808CF36:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- mov r1, sp
- movs r2, 0x58
- bl memcpy
- ldr r0, _0808CF58
- ldr r0, [r0]
- adds r0, r4
- mov r5, r9
- strb r5, [r0]
- adds r0, r7, 0
- bl sub_80980B4
- b _0808CFB8
- .align 2, 0
-_0808CF58: .4byte gUnknown_203B468
-_0808CF5C:
- movs r2, 0
- lsls r4, r7, 3
- add r3, sp, 0x4C
-_0808CF62:
- adds r0, r3, r2
- mov r5, r8
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _0808CF62
-_0808CF72:
- ldr r0, _0808CFC8
- ldr r1, [r0]
- adds r0, r4, r7
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x16]
- mov r10, r0
- movs r5, 0
- ldr r0, _0808CFCC
- mov r8, r0
- movs r1, 0x1
- mov r9, r1
-_0808CF8A:
- movs r0, 0x58
- adds r6, r5, 0
- muls r6, r0
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6, r0
- ldrb r1, [r0]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _0808CFAE
- adds r0, r5, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r10
- beq _0808CF36
-_0808CFAE:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0808CF8A
-_0808CFB8:
- add sp, 0x6C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CFC8: .4byte gUnknown_202F3E0
-_0808CFCC: .4byte gUnknown_203B45C
- thumb_func_end sub_808CE74
-
- thumb_func_start sub_808CFD0
-sub_808CFD0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r7, r0, 0
- mov r10, r2
- adds r4, r3, 0
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- lsls r4, 24
- lsrs r4, 24
- movs r5, 0
- movs r0, 0
- mov r8, r0
- movs r0, 0x1
- movs r6, 0x1
- strh r6, [r7]
- strb r5, [r7, 0x2]
- strb r0, [r7, 0x3]
- mov r0, r9
- bl sub_808DBC0
- strh r0, [r7, 0x16]
- mov r0, r9
- movs r1, 0
- bl sub_808DC28
- strb r0, [r7, 0x18]
- mov r0, r9
- movs r1, 0x1
- bl sub_808DC28
- strb r0, [r7, 0x19]
- mov r0, r9
- movs r1, 0
- bl sub_808DC48
- strb r0, [r7, 0x1A]
- mov r0, r9
- movs r1, 0x1
- bl sub_808DC48
- strb r0, [r7, 0x1B]
- mov r1, r9
- strh r1, [r7, 0x8]
- adds r0, r7, 0
- adds r0, 0x28
- adds r1, r4, 0
- bl sub_8090B08
- mov r4, r8
- str r4, [r7, 0x1C]
- adds r0, r7, 0
- adds r0, 0x24
- strb r5, [r0]
- strh r6, [r7, 0x14]
- ldr r1, [sp, 0x34]
- ldr r0, [r1]
- str r0, [r7, 0x4]
- strb r5, [r7, 0xC]
- strb r5, [r7, 0x10]
- adds r0, r7, 0
- adds r0, 0x20
- movs r1, 0
- bl sub_808EC94
- ldr r4, [sp, 0x38]
- cmp r4, 0
- beq _0808D08C
- movs r0, 0x4C
- adds r0, r7
- mov r8, r0
- adds r5, r4, 0
- adds r4, r7, 0
- adds r4, 0x2C
- movs r6, 0x3
-_0808D06E:
- ldrh r0, [r5]
- cmp r0, 0
- beq _0808D07E
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_8092AD4
- b _0808D080
-_0808D07E:
- strb r0, [r4]
-_0808D080:
- adds r5, 0x2
- adds r4, 0x8
- subs r6, 0x1
- cmp r6, 0
- bge _0808D06E
- b _0808D09A
-_0808D08C:
- adds r0, r7, 0
- adds r0, 0x2C
- mov r1, r9
- bl sub_808E490
- adds r7, 0x4C
- mov r8, r7
-_0808D09A:
- mov r1, r10
- cmp r1, 0
- bne _0808D0B4
- mov r0, sp
- mov r1, r9
- bl sub_808D8BC
- mov r0, r8
- mov r1, sp
- movs r2, 0xA
- bl sub_8092310
- b _0808D0C8
-_0808D0B4:
- movs r2, 0
- mov r3, r8
-_0808D0B8:
- adds r0, r3, r2
- mov r4, r10
- adds r1, r4, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _0808D0B8
-_0808D0C8:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808CFD0
-
- thumb_func_start sub_808D0D8
-sub_808D0D8:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r6, 0
- movs r4, 0x1
- strb r4, [r7, 0x3]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- bl sub_808DBC0
- movs r5, 0
- strh r0, [r7, 0x16]
- movs r2, 0x8
- ldrsh r0, [r7, r2]
- movs r1, 0
- bl sub_808DC28
- strb r0, [r7, 0x18]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- movs r1, 0x1
- bl sub_808DC28
- strb r0, [r7, 0x19]
- movs r2, 0x8
- ldrsh r0, [r7, r2]
- movs r1, 0
- bl sub_808DC48
- strb r0, [r7, 0x1A]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- movs r1, 0x1
- bl sub_808DC48
- strb r0, [r7, 0x1B]
- str r6, [r7, 0x1C]
- adds r0, r7, 0
- adds r0, 0x24
- strb r5, [r0]
- strh r4, [r7, 0x14]
- subs r0, 0x4
- movs r1, 0
- bl sub_808EC94
- adds r0, r7, 0
- adds r0, 0x2C
- movs r2, 0x8
- ldrsh r1, [r7, r2]
- bl sub_808E490
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808D0D8
-
- thumb_func_start sub_808D144
-sub_808D144:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- movs r4, 0
- movs r0, 0x1
- strh r0, [r5]
- strb r4, [r5, 0x2]
- ldrh r0, [r7, 0x16]
- strb r0, [r5, 0x3]
- ldrh r0, [r7, 0x14]
- strh r0, [r5, 0x16]
- ldrh r0, [r7, 0x1A]
- strb r0, [r5, 0x18]
- ldrh r0, [r7, 0x1C]
- strb r0, [r5, 0x19]
- ldrh r0, [r7, 0x1E]
- strb r0, [r5, 0x1A]
- ldrh r0, [r7, 0x20]
- strb r0, [r5, 0x1B]
- ldrh r0, [r7, 0x4]
- strh r0, [r5, 0x8]
- adds r0, r5, 0
- adds r0, 0x28
- ldrb r1, [r7, 0x6]
- bl sub_8090B08
- ldr r0, [r7, 0x24]
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- adds r0, 0x24
- strb r4, [r0]
- ldrh r0, [r7, 0x18]
- strh r0, [r5, 0x14]
- ldr r0, [r7, 0x8]
- str r0, [r5, 0x4]
- strb r4, [r5, 0xC]
- strb r4, [r5, 0x10]
- adds r0, r5, 0
- adds r0, 0x20
- movs r1, 0
- bl sub_808EC94
- movs r6, 0
- adds r4, r5, 0
- adds r4, 0x2C
-_0808D19E:
- lsls r1, r6, 1
- adds r0, r7, 0
- adds r0, 0xC
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, 0
- beq _0808D1B4
- adds r0, r4, 0
- bl sub_8092AD4
- b _0808D1B6
-_0808D1B4:
- strb r1, [r4]
-_0808D1B6:
- adds r4, 0x8
- adds r6, 0x1
- cmp r6, 0x3
- ble _0808D19E
- movs r6, 0
- adds r3, r5, 0
- adds r3, 0x4C
- ldr r2, [r7]
-_0808D1C6:
- adds r0, r3, r6
- adds r1, r2, r6
- ldrb r1, [r1]
- strb r1, [r0]
- adds r6, 0x1
- cmp r6, 0x9
- ble _0808D1C6
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808D144
-
- thumb_func_start sub_808D1DC
-sub_808D1DC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- ldr r0, _0808D204
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r6, [r0, 0x16]
- ldr r0, _0808D208
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808D238
- b _0808D268
- .align 2, 0
-_0808D204: .4byte gUnknown_202F3E0
-_0808D208: .4byte gUnknown_203B468
-_0808D20C:
- ldr r0, [r7]
- adds r0, r5
- mov r1, r8
- movs r2, 0x58
- bl memcpy
- ldr r1, [r7]
- adds r1, r5
- ldrh r2, [r1]
- ldr r0, _0808D234
- ands r0, r2
- strh r0, [r1]
- mov r1, r8
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- bl sub_80980B4
- ldr r0, [r7]
- adds r0, r5
- b _0808D26A
- .align 2, 0
-_0808D234: .4byte 0x0000bfff
-_0808D238:
- movs r4, 0
- ldr r7, _0808D274
-_0808D23C:
- movs r0, 0x58
- adds r5, r4, 0
- muls r5, r0
- ldr r0, [r7]
- adds r0, r5, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0808D25E
- adds r0, r4, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r6
- beq _0808D20C
-_0808D25E:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D23C
-_0808D268:
- movs r0, 0
-_0808D26A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D274: .4byte gUnknown_203B45C
- thumb_func_end sub_808D1DC
-
- thumb_func_start sub_808D278
-sub_808D278:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808D29C
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r6, [r1, 0x16]
- ldr r0, _0808D2A0
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808D2AA
- b _0808D2DA
- .align 2, 0
-_0808D29C: .4byte gUnknown_202F3E0
-_0808D2A0: .4byte gUnknown_203B468
-_0808D2A4:
- ldr r0, [r7]
- adds r0, r5
- b _0808D2DC
-_0808D2AA:
- movs r4, 0
- ldr r7, _0808D2E4
-_0808D2AE:
- movs r0, 0x58
- adds r5, r4, 0
- muls r5, r0
- ldr r0, [r7]
- adds r0, r5, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0808D2D0
- adds r0, r4, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r6
- beq _0808D2A4
-_0808D2D0:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D2AE
-_0808D2DA:
- movs r0, 0
-_0808D2DC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D2E4: .4byte gUnknown_203B45C
- thumb_func_end sub_808D278
-
- thumb_func_start sub_808D2E8
-sub_808D2E8:
- push {r4-r6,lr}
- sub sp, 0x60
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r0, [sp, 0x70]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- str r3, [sp]
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_808CFD0
- add r0, sp, 0x8
- bl sub_808D1DC
- add sp, 0x60
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808D2E8
-
- thumb_func_start sub_808D31C
-sub_808D31C:
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _0808D338
- movs r2, 0
- ldrb r0, [r1, 0x4]
- cmp r0, 0x41
- bne _0808D330
- movs r2, 0x1
-_0808D330:
- adds r0, r2, 0
- cmp r0, 0
- bne _0808D338
- strh r0, [r1]
-_0808D338:
- pop {r0}
- bx r0
- thumb_func_end sub_808D31C
-
- thumb_func_start sub_808D33C
-sub_808D33C:
- push {r4,lr}
- movs r3, 0
- ldr r0, _0808D360
- ldr r4, [r0]
-_0808D344:
- movs r0, 0x58
- muls r0, r3
- adds r2, r0, r4
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D364
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- beq _0808D364
- adds r0, r2, 0
- b _0808D370
- .align 2, 0
-_0808D360: .4byte gUnknown_203B45C
-_0808D364:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _0808D344
- movs r0, 0
-_0808D370:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808D33C
-
- thumb_func_start sub_808D378
-sub_808D378:
- push {r4,lr}
- movs r3, 0
- ldr r0, _0808D3A4
- ldr r4, [r0]
-_0808D380:
- movs r0, 0x58
- muls r0, r3
- adds r2, r0, r4
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D3A8
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _0808D39A
- movs r1, 0x1
-_0808D39A:
- cmp r1, 0
- beq _0808D3A8
- adds r0, r2, 0
- b _0808D3B4
- .align 2, 0
-_0808D3A4: .4byte gUnknown_203B45C
-_0808D3A8:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _0808D380
- movs r0, 0
-_0808D3B4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808D378
-
- thumb_func_start sub_808D3BC
-sub_808D3BC:
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, _0808D3E0
- ldr r2, [r0]
- adds r3, r2, 0
- movs r6, 0x1
- movs r5, 0xCE
- lsls r5, 1
-_0808D3CC:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0808D3E4
- ldrb r0, [r2, 0x4]
- cmp r0, 0x40
- bne _0808D3E4
- adds r0, r3, 0
- b _0808D3F0
- .align 2, 0
-_0808D3E0: .4byte gUnknown_203B45C
-_0808D3E4:
- adds r2, 0x58
- adds r3, 0x58
- adds r4, 0x1
- cmp r4, r5
- ble _0808D3CC
- movs r0, 0
-_0808D3F0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808D3BC
-
- thumb_func_start sub_808D3F8
-sub_808D3F8:
- push {r4-r6,lr}
- movs r4, 0
- ldr r0, _0808D41C
- ldr r2, [r0]
- adds r3, r2, 0
- movs r6, 0x1
- movs r5, 0xCE
- lsls r5, 1
-_0808D408:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0808D420
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _0808D420
- adds r0, r3, 0
- b _0808D42C
- .align 2, 0
-_0808D41C: .4byte gUnknown_203B45C
-_0808D420:
- adds r2, 0x58
- adds r3, 0x58
- adds r4, 0x1
- cmp r4, r5
- ble _0808D408
- movs r0, 0
-_0808D42C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808D3F8
-
- thumb_func_start sub_808D434
-sub_808D434:
- push {r4-r7,lr}
- adds r6, r1, 0
- lsls r0, 16
- asrs r5, r0, 16
- ldr r0, _0808D468
- ldr r2, [r0]
- movs r4, 0
- movs r3, 0
- movs r0, 0x1
- mov r12, r0
- movs r7, 0xCE
- lsls r7, 1
-_0808D44C:
- ldrb r1, [r2]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- beq _0808D46E
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, r5
- bne _0808D46E
- cmp r4, r6
- bne _0808D46C
- adds r0, r2, 0
- b _0808D478
- .align 2, 0
-_0808D468: .4byte gUnknown_203B45C
-_0808D46C:
- adds r4, 0x1
-_0808D46E:
- adds r3, 0x1
- adds r2, 0x58
- cmp r3, r7
- ble _0808D44C
- movs r0, 0
-_0808D478:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808D434
-
- thumb_func_start sub_808D480
-sub_808D480:
- push {r4,r5,lr}
- ldr r0, _0808D4A8
- ldr r2, [r0]
- movs r4, 0
- movs r5, 0x1
- ldr r3, _0808D4AC
-_0808D48C:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0808D498
- adds r4, 0x1
-_0808D498:
- subs r3, 0x1
- adds r2, 0x58
- cmp r3, 0
- bne _0808D48C
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D4A8: .4byte gUnknown_203B45C
-_0808D4AC: .4byte 0x0000019d
- thumb_func_end sub_808D480
-
- thumb_func_start sub_808D4B0
-sub_808D4B0:
- push {r4-r6,lr}
- ldr r0, _0808D4F8
- ldr r2, [r0]
- movs r5, 0
- movs r4, 0
- ldr r6, _0808D4FC
-_0808D4BC:
- ldrh r3, [r2]
- lsrs r0, r3, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D4E4
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0808D4E4
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _0808D4D8
- movs r1, 0x1
-_0808D4D8:
- cmp r1, 0
- bne _0808D4E4
- movs r5, 0x1
- adds r0, r6, 0
- ands r0, r3
- strh r0, [r2]
-_0808D4E4:
- adds r4, 0x1
- adds r2, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D4BC
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D4F8: .4byte gUnknown_203B45C
-_0808D4FC: .4byte 0x0000fffd
- thumb_func_end sub_808D4B0
-
- thumb_func_start sub_808D500
-sub_808D500:
- push {r4-r6,lr}
- ldr r0, _0808D53C
- ldr r2, [r0]
- movs r5, 0
- movs r4, 0
- ldr r6, _0808D540
-_0808D50C:
- ldrh r3, [r2]
- lsrs r0, r3, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D526
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0808D526
- movs r5, 0x1
- adds r0, r6, 0
- ands r0, r3
- strh r0, [r2]
-_0808D526:
- adds r4, 0x1
- adds r2, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D50C
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D53C: .4byte gUnknown_203B45C
-_0808D540: .4byte 0x0000fffd
- thumb_func_end sub_808D500
-
- thumb_func_start sub_808D544
-sub_808D544:
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, _0808D57C
- ldr r3, [r0]
- movs r5, 0
- movs r2, 0
- movs r7, 0x1
- movs r6, 0xCE
- lsls r6, 1
- adds r1, r4, 0
-_0808D558:
- ldrh r0, [r3]
- lsrs r0, 1
- ands r0, r7
- cmp r0, 0
- beq _0808D56C
- cmp r4, 0
- beq _0808D568
- str r2, [r1]
-_0808D568:
- adds r1, 0x4
- adds r5, 0x1
-_0808D56C:
- adds r2, 0x1
- adds r3, 0x58
- cmp r2, r6
- ble _0808D558
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D57C: .4byte gUnknown_203B45C
- thumb_func_end sub_808D544
-
- thumb_func_start sub_808D580
-sub_808D580:
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, _0808D5AC
- ldr r2, [r0]
- movs r5, 0
- movs r4, 0
- mov r12, r0
- adds r3, r6, 0
-_0808D590:
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- beq _0808D5B0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D5B0
- cmp r6, 0
- beq _0808D5B0
- str r4, [r3]
- adds r5, 0x1
- b _0808D5BC
- .align 2, 0
-_0808D5AC: .4byte gUnknown_203B45C
-_0808D5B0:
- adds r4, 0x1
- adds r2, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D590
-_0808D5BC:
- mov r0, r12
- ldr r2, [r0]
- movs r4, 0
- lsls r0, r5, 2
- adds r7, r0, r6
-_0808D5C6:
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _0808D5D0
- movs r1, 0x1
-_0808D5D0:
- cmp r1, 0
- beq _0808D5F8
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0808D5F8
- ldrh r1, [r2]
- lsrs r0, r1, 1
- movs r3, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0808D5F8
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0808D5F8
- cmp r6, 0
- beq _0808D5F8
- str r4, [r7]
- adds r5, 0x1
- b _0808D604
-_0808D5F8:
- adds r4, 0x1
- adds r2, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D5C6
-_0808D604:
- mov r0, r12
- ldr r2, [r0]
- movs r4, 0
- movs r3, 0x1
- lsls r0, r5, 2
- adds r7, r0, r6
-_0808D610:
- ldrh r1, [r2]
- lsrs r0, r1, 1
- ands r0, r3
- cmp r0, 0
- beq _0808D63E
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0808D63E
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0808D63E
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _0808D632
- movs r1, 0x1
-_0808D632:
- cmp r1, 0
- bne _0808D63E
- cmp r6, 0
- beq _0808D63E
- stm r7!, {r4}
- adds r5, 0x1
-_0808D63E:
- adds r4, 0x1
- adds r2, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D610
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808D580
-
- thumb_func_start sub_808D654
-sub_808D654:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _0808D6A0
- ldr r2, [r0]
- movs r6, 0
- movs r4, 0
- adds r3, r5, 0
-_0808D662:
- ldrh r0, [r2]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D68C
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0808D68C
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _0808D67E
- movs r1, 0x1
-_0808D67E:
- cmp r1, 0
- bne _0808D68C
- cmp r5, 0
- beq _0808D688
- str r4, [r3]
-_0808D688:
- adds r3, 0x4
- adds r6, 0x1
-_0808D68C:
- adds r4, 0x1
- adds r2, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D662
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D6A0: .4byte gUnknown_203B45C
- thumb_func_end sub_808D654
-
- thumb_func_start sub_808D6A4
-sub_808D6A4:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _0808D6E4
- ldr r2, [r0]
- movs r6, 0
- movs r4, 0
- adds r3, r5, 0
-_0808D6B2:
- ldrh r0, [r2]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D6CE
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _0808D6CE
- cmp r5, 0
- beq _0808D6CA
- str r4, [r3]
-_0808D6CA:
- adds r3, 0x4
- adds r6, 0x1
-_0808D6CE:
- adds r4, 0x1
- adds r2, 0x58
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D6B2
- adds r0, r6, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808D6E4: .4byte gUnknown_203B45C
- thumb_func_end sub_808D6A4
-
- thumb_func_start sub_808D6E8
-sub_808D6E8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- movs r5, 0
- movs r4, 0
- ldr r0, _0808D740
- mov r8, r0
- movs r6, 0x1
-_0808D6FA:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- mov r2, r8
- ldr r0, [r2]
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0808D728
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _0808D728
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
- adds r7, 0x1
-_0808D728:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D6FA
- cmp r5, 0x5
- bgt _0808D744
- cmp r7, 0x3
- bgt _0808D744
- movs r0, 0x1
- b _0808D746
- .align 2, 0
-_0808D740: .4byte gUnknown_203B45C
-_0808D744:
- movs r0, 0
-_0808D746:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808D6E8
-
- thumb_func_start sub_808D750
-sub_808D750:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r6, 0
- movs r5, 0
- movs r4, 0
- ldr r0, _0808D7C8
- mov r9, r0
- movs r7, 0x1
-_0808D76A:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- mov r2, r9
- ldr r0, [r2]
- adds r1, r0, r1
- ldrh r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _0808D798
- lsrs r0, r2, 1
- ands r0, r7
- cmp r0, 0
- beq _0808D798
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
- adds r6, 0x1
-_0808D798:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _0808D76A
- cmp r6, 0x3
- bgt _0808D7CC
- ldr r2, _0808D7C8
- movs r0, 0x58
- mov r1, r8
- muls r1, r0
- ldr r0, [r2]
- adds r1, r0, r1
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
- cmp r5, 0x6
- bgt _0808D7CC
- movs r0, 0x1
- b _0808D7CE
- .align 2, 0
-_0808D7C8: .4byte gUnknown_203B45C
-_0808D7CC:
- movs r0, 0
-_0808D7CE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808D750
-
- thumb_func_start sub_808D7DC
-sub_808D7DC:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _0808D7FC
- movs r2, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- adds r2, r0, 0
- adds r2, 0x28
- ldrb r2, [r2]
- strb r2, [r1]
- adds r0, 0x29
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_0808D7FC: .4byte gUnknown_203B45C
- thumb_func_end sub_808D7DC
-
- thumb_func_start sub_808D800
-sub_808D800:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _0808D820
- movs r2, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- ldrb r3, [r1]
- adds r2, r0, 0
- adds r2, 0x28
- strb r3, [r2]
- ldrb r1, [r1, 0x1]
- adds r0, 0x29
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0808D820: .4byte gUnknown_203B45C
- thumb_func_end sub_808D800
-
- thumb_func_start sub_808D824
-sub_808D824:
- push {r4,lr}
- sub sp, 0x14
- adds r4, r0, 0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- bl sub_808D994
- adds r1, r0, 0
- mov r0, sp
- bl sub_80922F4
- movs r2, 0
- adds r4, 0x4C
-_0808D83E:
- adds r0, r4, r2
- mov r3, sp
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _0808D850
- movs r0, 0
- b _0808D85C
-_0808D850:
- cmp r0, 0
- beq _0808D85A
- adds r2, 0x1
- cmp r2, 0x9
- ble _0808D83E
-_0808D85A:
- movs r0, 0x1
-_0808D85C:
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808D824
-
- thumb_func_start sub_808D864
-sub_808D864:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0808D8A0
- movs r3, 0x58
- muls r0, r3
- ldr r2, [r2]
- adds r0, r2, r0
- adds r6, r0, 0
- adds r6, 0x4C
- adds r0, r1, 0
- muls r0, r3
- adds r2, r0
- adds r5, r2, 0
- adds r5, 0x4C
- movs r7, 0
-_0808D888:
- ldrb r0, [r6]
- bl sub_8092280
- adds r4, r0, 0
- ldrb r0, [r5]
- bl sub_8092280
- cmp r4, r0
- ble _0808D8A4
- movs r0, 0x1
- b _0808D8B4
- .align 2, 0
-_0808D8A0: .4byte gUnknown_203B45C
-_0808D8A4:
- cmp r4, r0
- blt _0808D8B2
- adds r6, 0x1
- adds r5, 0x1
- adds r7, 0x1
- cmp r7, 0x9
- ble _0808D888
-_0808D8B2:
- movs r0, 0
-_0808D8B4:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808D864
-
- thumb_func_start sub_808D8BC
-sub_808D8BC:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0808D8DC
- ldr r3, [r2]
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 3
- adds r2, r3
- ldr r1, [r2]
- movs r2, 0x14
- bl strncpy
- pop {r0}
- bx r0
- .align 2, 0
-_0808D8DC: .4byte gUnknown_202F3E0
- thumb_func_end sub_808D8BC
-
- thumb_func_start sub_808D8E0
-sub_808D8E0:
- push {r4,lr}
- lsls r3, r1, 16
- asrs r3, 16
- ldr r1, _0808D900
- ldr r2, _0808D904
- ldr r4, [r2]
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 3
- adds r2, r4
- ldr r2, [r2]
- bl sub_800D158
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D900: .4byte gUnknown_8107600
-_0808D904: .4byte gUnknown_202F3E0
- thumb_func_end sub_808D8E0
-
- thumb_func_start sub_808D908
-sub_808D908:
- push {r4,lr}
- lsls r3, r1, 16
- asrs r3, 16
- ldr r1, _0808D928
- ldr r2, _0808D92C
- ldr r4, [r2]
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 3
- adds r2, r4
- ldr r2, [r2]
- bl sub_800D158
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D928: .4byte gUnknown_8107608
-_0808D92C: .4byte gUnknown_202F3E0
- thumb_func_end sub_808D908
-
- thumb_func_start sub_808D930
-sub_808D930:
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 16
- asrs r6, r1, 16
- adds r0, r6, 0
- bl sub_808E770
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC9
- bne _0808D970
- ldr r5, _0808D968
- movs r0, 0xC9
- bl sub_808D994
- adds r4, r0, 0
- adds r0, r6, 0
- bl sub_808E8C8
- ldr r1, _0808D96C
- adds r0, r1
- ldrb r3, [r0]
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_800D158
- b _0808D986
- .align 2, 0
-_0808D968: .4byte gUnknown_8107630
-_0808D96C: .4byte gUnknown_8107610
-_0808D970:
- ldr r1, _0808D98C
- ldr r0, _0808D990
- ldr r2, [r0]
- lsls r0, r6, 3
- adds r0, r6
- lsls r0, 3
- adds r0, r2
- ldr r2, [r0]
- adds r0, r7, 0
- bl sub_800D158
-_0808D986:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D98C: .4byte gUnknown_8107638
-_0808D990: .4byte gUnknown_202F3E0
- thumb_func_end sub_808D930
-
- thumb_func_start sub_808D994
-sub_808D994:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808D9A8
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, [r1]
- bx lr
- .align 2, 0
-_0808D9A8: .4byte gUnknown_202F3E0
- thumb_func_end sub_808D994
-
- thumb_func_start sub_808D9AC
-sub_808D9AC:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r4, r2, 0
- adds r1, 0x4C
- mov r0, sp
- movs r2, 0xA
- bl sub_80922B4
- cmp r4, 0
- bne _0808D9C4
- movs r4, 0x5
-_0808D9C4:
- ldr r1, _0808D9D8
- adds r0, r5, 0
- adds r2, r4, 0
- mov r3, sp
- bl sub_800D158
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D9D8: .4byte gUnknown_810763C
- thumb_func_end sub_808D9AC
-
- thumb_func_start sub_808D9DC
-sub_808D9DC:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r5, r0, 0
- adds r4, r2, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0xA
- bl sub_80922B4
- cmp r4, 0
- bne _0808D9F4
- movs r4, 0x6
-_0808D9F4:
- ldr r1, _0808DA08
- adds r0, r5, 0
- adds r2, r4, 0
- mov r3, sp
- bl sub_800D158
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DA08: .4byte gUnknown_810763C
- thumb_func_end sub_808D9DC
-
- thumb_func_start sub_808DA0C
-sub_808DA0C:
- push {r4,lr}
- sub sp, 0x14
- adds r4, r0, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0xA
- bl sub_80922B4
- ldr r1, _0808DA30
- adds r0, r4, 0
- mov r2, sp
- bl sub_800D158
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DA30: .4byte gUnknown_8107638
- thumb_func_end sub_808DA0C
-
- thumb_func_start sub_808DA34
-sub_808DA34:
- push {lr}
- adds r1, 0x4C
- movs r2, 0xA
- bl sub_80922B4
- pop {r0}
- bx r0
- thumb_func_end sub_808DA34
-
- thumb_func_start sub_808DA44
-sub_808DA44:
- push {r4-r6,lr}
- sub sp, 0x30
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r2, 0xC
- bls _0808DAA0
- mov r1, sp
- ldr r0, _0808DA98
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0808DA92
- mov r1, sp
- add r3, sp, 0x48
-_0808DA76:
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r4
- bne _0808DA84
- ldr r0, [r1, 0x4]
- cmp r0, r2
- beq _0808DA9C
-_0808DA84:
- adds r1, 0x8
- cmp r1, r3
- bgt _0808DA92
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, 0
- bne _0808DA76
-_0808DA92:
- movs r0, 0
- b _0808DAA6
- .align 2, 0
-_0808DA98: .4byte gUnknown_8107654
-_0808DA9C:
- movs r0, 0x1
- b _0808DAA6
-_0808DAA0:
- ldr r0, _0808DAB0
- adds r0, r2, r0
- ldrb r0, [r0]
-_0808DAA6:
- add sp, 0x30
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0808DAB0: .4byte gUnknown_8107645
- thumb_func_end sub_808DA44
-
- thumb_func_start sub_808DAB4
-sub_808DAB4:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DAC8
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_0808DAC8: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DAB4
-
- thumb_func_start sub_808DACC
-sub_808DACC:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DAE0
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x9]
- bx lr
- .align 2, 0
-_0808DAE0: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DACC
-
- thumb_func_start sub_808DAE4
-sub_808DAE4:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DAF8
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x19]
- bx lr
- .align 2, 0
-_0808DAF8: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DAE4
-
- thumb_func_start sub_808DAFC
-sub_808DAFC:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DB10
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, [r1, 0xC]
- bx lr
- .align 2, 0
-_0808DB10: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DAFC
-
- thumb_func_start sub_808DB14
-sub_808DB14:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DB28
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x15]
- bx lr
- .align 2, 0
-_0808DB28: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DB14
-
- thumb_func_start sub_808DB2C
-sub_808DB2C:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DB44
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x1B]
- lsls r0, 25
- lsrs r0, 24
- bx lr
- .align 2, 0
-_0808DB44: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DB2C
-
- thumb_func_start sub_808DB48
-sub_808DB48:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DB5C
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x1C]
- bx lr
- .align 2, 0
-_0808DB5C: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DB48
-
- thumb_func_start sub_808DB60
-sub_808DB60:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DB74
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x1D]
- bx lr
- .align 2, 0
-_0808DB74: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DB60
-
- thumb_func_start sub_808DB78
-sub_808DB78:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DB8C
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x2C]
- bx lr
- .align 2, 0
-_0808DB8C: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DB78
-
- thumb_func_start sub_808DB90
-sub_808DB90:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DBA4
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x2E]
- bx lr
- .align 2, 0
-_0808DBA4: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DB90
-
- thumb_func_start sub_808DBA8
-sub_808DBA8:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DBBC
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x16]
- bx lr
- .align 2, 0
-_0808DBBC: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DBA8
-
- thumb_func_start sub_808DBC0
-sub_808DBC0:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DBD4
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x1E]
- bx lr
- .align 2, 0
-_0808DBD4: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DBC0
-
- thumb_func_start sub_808DBD8
-sub_808DBD8:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DBF0
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- adds r1, 0x33
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_0808DBF0: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DBD8
-
- thumb_func_start sub_808DBF4
-sub_808DBF4:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DC08
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x12]
- bx lr
- .align 2, 0
-_0808DC08: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DBF4
-
- thumb_func_start sub_808DC0C
-sub_808DC0C:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DC24
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- bx lr
- .align 2, 0
-_0808DC24: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DC0C
-
- thumb_func_start sub_808DC28
-sub_808DC28:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DC44
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- lsls r1, 1
- adds r2, 0x24
- adds r2, r1
- ldrh r0, [r2]
- bx lr
- .align 2, 0
-_0808DC44: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DC28
-
- thumb_func_start sub_808DC48
-sub_808DC48:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DC64
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- lsls r1, 1
- adds r2, 0x28
- adds r2, r1
- ldrh r0, [r2]
- bx lr
- .align 2, 0
-_0808DC64: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DC48
-
- thumb_func_start sub_808DC68
-sub_808DC68:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DC80
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- adds r2, 0x13
- adds r2, r1
- ldrb r0, [r2]
- bx lr
- .align 2, 0
-_0808DC80: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DC68
-
- thumb_func_start sub_808DC84
-sub_808DC84:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DC9C
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- adds r2, 0x17
- adds r2, r1
- ldrb r0, [r2]
- bx lr
- .align 2, 0
-_0808DC9C: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DC84
-
- thumb_func_start sub_808DCA0
-sub_808DCA0:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DCBC
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- lsls r1, 1
- adds r2, 0x3C
- adds r2, r1
- movs r1, 0
- ldrsh r0, [r2, r1]
- bx lr
- .align 2, 0
-_0808DCBC: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DCA0
-
- thumb_func_start sub_808DCC0
-sub_808DCC0:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DCD8
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- adds r1, 0x40
- movs r2, 0
- ldrsh r0, [r1, r2]
- bx lr
- .align 2, 0
-_0808DCD8: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DCC0
-
- thumb_func_start sub_808DCDC
-sub_808DCDC:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DCF8
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- lsls r1, 1
- adds r2, 0x42
- adds r2, r1
- movs r1, 0
- ldrsh r0, [r2, r1]
- bx lr
- .align 2, 0
-_0808DCF8: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DCDC
-
- thumb_func_start sub_808DCFC
-sub_808DCFC:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0808DD14
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x3E
- ldrsh r0, [r1, r2]
- bx lr
- .align 2, 0
-_0808DD14: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DCFC
-
- thumb_func_start sub_808DD18
-sub_808DD18:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DD44
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r4, [r2, 0x20]
- subs r1, 0x1
- adds r0, r4, 0
- muls r0, r1
- movs r1, 0xA
- bl __divsi3
- adds r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0808DD44: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DD18
-
- thumb_func_start sub_808DD48
-sub_808DD48:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DD64
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r3, [r2, 0x38]
- ldr r2, [r2, 0x34]
- str r2, [r1]
- str r3, [r1, 0x4]
- bx lr
- .align 2, 0
-_0808DD64: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DD48
-
- thumb_func_start sub_808DD68
-sub_808DD68:
- push {lr}
- lsls r0, 16
- asrs r2, r0, 16
- cmp r1, 0
- bne _0808DD88
- ldr r0, _0808DD84
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- b _0808DD8A
- .align 2, 0
-_0808DD84: .4byte gUnknown_202F3E0
-_0808DD88:
- movs r0, 0xA
-_0808DD8A:
- pop {r1}
- bx r1
- thumb_func_end sub_808DD68
-
- thumb_func_start sub_808DD90
-sub_808DD90:
- push {lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- ldr r0, _0808DDBC
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x10]
- cmp r0, 0
- beq _0808DDC8
- ldr r1, _0808DDC0
- mov r0, sp
- bl sprintf
- ldr r1, _0808DDC4
- mov r0, sp
- bl OpenFile
- b _0808DDCA
- .align 2, 0
-_0808DDBC: .4byte gUnknown_202F3E0
-_0808DDC0: .4byte gUnknown_8107684
-_0808DDC4: .4byte gUnknown_8510000
-_0808DDC8:
- movs r0, 0
-_0808DDCA:
- add sp, 0xC
- pop {r1}
- bx r1
- thumb_func_end sub_808DD90
-
- thumb_func_start sub_808DDD0
-sub_808DDD0:
- push {lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- ldr r0, _0808DDFC
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x10]
- cmp r0, 0
- beq _0808DE08
- ldr r1, _0808DE00
- mov r0, sp
- bl sprintf
- ldr r1, _0808DE04
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- b _0808DE0A
- .align 2, 0
-_0808DDFC: .4byte gUnknown_202F3E0
-_0808DE00: .4byte gUnknown_8107684
-_0808DE04: .4byte gUnknown_8510000
-_0808DE08:
- movs r0, 0
-_0808DE0A:
- add sp, 0xC
- pop {r1}
- bx r1
- thumb_func_end sub_808DDD0
-
- thumb_func_start sub_808DE10
-sub_808DE10:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0808DE2C
- ldr r3, [r2]
- lsls r2, r0, 3
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldrh r0, [r2, 0x10]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- bx lr
- .align 2, 0
-_0808DE2C: .4byte gUnknown_202F3E0
- thumb_func_end sub_808DE10
-
- thumb_func_start sub_808DE30
-sub_808DE30:
- push {r4,lr}
- adds r2, r1, 0
- ldr r4, _0808DE4C
- movs r1, 0x58
- adds r3, r2, 0
- muls r3, r1
- ldr r1, [r4]
- adds r1, r3
- bl sub_808DE50
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DE4C: .4byte gUnknown_203B45C
- thumb_func_end sub_808DE30
-
- thumb_func_start sub_808DE50
-sub_808DE50:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- ldrh r0, [r6]
- strh r0, [r5]
- ldrb r0, [r6, 0x3]
- strb r0, [r5, 0x3]
- ldrh r0, [r6, 0x14]
- strh r0, [r5, 0x8]
- ldr r0, [r6, 0x20]
- str r0, [r5, 0x4C]
- adds r0, r5, 0
- adds r0, 0x54
- bl sub_808E6F4
- ldr r0, [r6, 0x4]
- str r0, [r5, 0x4]
- ldrb r0, [r6, 0x2]
- strb r0, [r5, 0x2]
- strh r4, [r5, 0xA]
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0xE]
- adds r0, r6, 0
- adds r0, 0x24
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x50
- strb r1, [r0]
- ldrh r0, [r6, 0x16]
- strh r0, [r5, 0x12]
- strh r0, [r5, 0x10]
- add r0, sp, 0x4
- mov r8, r0
- adds r2, r6, 0
- adds r2, 0x18
- adds r1, r5, 0
- adds r1, 0x14
- movs r3, 0x1
-_0808DEA4:
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x2]
- strb r0, [r1, 0x2]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _0808DEA4
- ldr r0, [r6, 0x1C]
- str r0, [r5, 0x18]
- adds r0, r5, 0
- adds r0, 0x1C
- adds r1, r6, 0
- adds r1, 0x2C
- bl sub_8093F50
- movs r3, 0
- movs r0, 0x28
- adds r0, r6
- mov r12, r0
- adds r2, r5, 0
- adds r2, 0x40
- adds r7, r5, 0
- adds r7, 0x58
- adds r4, r6, 0
- adds r4, 0x4C
-_0808DEDA:
- adds r0, r7, r3
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _0808DEDA
- mov r0, r12
- ldrb r1, [r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- cmp r0, 0
- beq _0808DF00
- adds r0, r2, 0
- mov r1, r12
- bl sub_8090B64
- b _0808DF06
-_0808DF00:
- strb r0, [r2, 0x2]
- strb r0, [r2, 0x1]
- strb r0, [r2]
-_0808DF06:
- mov r0, sp
- movs r1, 0x64
- bl sub_80943A0
- ldr r0, [sp]
- str r0, [r5, 0x44]
- mov r0, r8
- movs r1, 0x64
- bl sub_80943A0
- ldr r0, [sp, 0x4]
- str r0, [r5, 0x48]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808DE50
-
- thumb_func_start sub_808DF2C
-sub_808DF2C:
- push {lr}
- ldr r3, _0808DF40
- movs r2, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r0, r2
- bl sub_808DF44
- pop {r0}
- bx r0
- .align 2, 0
-_0808DF40: .4byte gUnknown_203B45C
- thumb_func_end sub_808DF2C
-
- thumb_func_start sub_808DF44
-sub_808DF44:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldrh r0, [r4]
- strh r0, [r5]
- ldrb r0, [r4, 0x3]
- strb r0, [r5, 0x3]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x14]
- ldr r0, [r4, 0x4C]
- str r0, [r5, 0x20]
- ldr r0, [r4, 0x4]
- str r0, [r5, 0x4]
- ldrb r0, [r4, 0x2]
- strb r0, [r5, 0x2]
- ldrh r0, [r4, 0xE]
- strh r0, [r5, 0x8]
- adds r0, r4, 0
- adds r0, 0x50
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x24
- strb r1, [r0]
- ldrh r0, [r4, 0x12]
- strh r0, [r5, 0x16]
- adds r2, r4, 0
- adds r2, 0x14
- adds r1, r5, 0
- adds r1, 0x18
- movs r3, 0x1
-_0808DF80:
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x2]
- strb r0, [r1, 0x2]
- adds r2, 0x1
- adds r1, 0x1
- subs r3, 0x1
- cmp r3, 0
- bge _0808DF80
- ldr r0, [r4, 0x18]
- str r0, [r5, 0x1C]
- adds r0, r5, 0
- adds r0, 0x2C
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_8093FA8
- movs r3, 0
- adds r7, r4, 0
- adds r7, 0x40
- adds r6, r5, 0
- adds r6, 0x28
- adds r5, 0x4C
- adds r2, r4, 0
- adds r2, 0x58
-_0808DFB2:
- adds r0, r5, r3
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _0808DFB2
- ldrb r0, [r7]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0808DFD4
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_8090BB0
- b _0808DFD6
-_0808DFD4:
- strb r1, [r6]
-_0808DFD6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808DF44
-
- thumb_func_start sub_808DFDC
-sub_808DFDC:
- push {lr}
- ldr r3, _0808E000
- movs r2, 0x58
- muls r2, r0
- ldr r0, [r3]
- adds r3, r0, r2
- adds r1, 0x40
- ldrb r0, [r1]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _0808E004
- adds r0, r3, 0
- adds r0, 0x28
- bl sub_8090BB0
- b _0808E00A
- .align 2, 0
-_0808E000: .4byte gUnknown_203B45C
-_0808E004:
- adds r0, r3, 0
- adds r0, 0x28
- strb r2, [r0]
-_0808E00A:
- pop {r0}
- bx r0
- thumb_func_end sub_808DFDC
-
- thumb_func_start sub_808E010
-sub_808E010:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- adds r5, r2, 0
- lsls r1, 16
- asrs r2, r1, 16
- ldr r1, _0808E06C
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, r2
- beq _0808E04A
- strh r2, [r1]
- ldr r1, _0808E070
- mov r0, sp
- bl sprintf
- ldr r1, _0808E074
- mov r0, sp
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, _0808E078
- movs r1, 0
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
-_0808E04A:
- subs r5, 0x1
- cmp r5, 0
- bge _0808E052
- movs r5, 0
-_0808E052:
- ldr r0, _0808E078
- lsls r1, r5, 1
- adds r1, r5
- lsls r1, 2
- adds r2, r6, 0
- adds r1, r0
- ldm r1!, {r0,r3,r4}
- stm r2!, {r0,r3,r4}
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E06C: .4byte gUnknown_20384E8
-_0808E070: .4byte gUnknown_810768C
-_0808E074: .4byte gUnknown_8300500
-_0808E078: .4byte gUnknown_20384F0
- thumb_func_end sub_808E010
-
- thumb_func_start sub_808E07C
-sub_808E07C:
- push {r4,lr}
- adds r2, r0, 0
- adds r4, r1, 0
- ldrb r1, [r2]
- adds r2, 0x1
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808E094
- ldrb r3, [r2]
- adds r2, 0x1
- b _0808E098
-_0808E094:
- adds r3, r1, 0
- movs r1, 0
-_0808E098:
- movs r0, 0x7F
- ands r3, r0
- ands r1, r0
- lsls r0, r1, 7
- orrs r0, r3
- strh r0, [r4]
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808E07C
-
- thumb_func_start sub_808E0AC
-sub_808E0AC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- mov r8, r2
- adds r5, r3, 0
- lsls r1, 16
- asrs r1, 16
- adds r2, r1, 0
- movs r7, 0
- ldr r0, _0808E0DC
- cmp r1, r0
- beq _0808E0D8
- cmp r1, 0
- beq _0808E0D8
- movs r0, 0xD2
- lsls r0, 1
- cmp r1, r0
- bne _0808E0E0
-_0808E0D8:
- movs r0, 0
- b _0808E170
- .align 2, 0
-_0808E0DC: .4byte 0x000001a5
-_0808E0E0:
- adds r0, r2, 0
- bl sub_8092B18
- adds r1, r0, 0
- mov r4, sp
- movs r0, 0x88
- lsls r0, 1
- mov r10, r0
- movs r3, 0xB1
- lsls r3, 1
- mov r9, r3
- b _0808E156
-_0808E0F8:
- cmp r0, r8
- bne _0808E156
- movs r2, 0x1
- ldrh r0, [r4]
- cmp r0, 0xEE
- bne _0808E110
- ldr r0, _0808E180
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E110
- movs r2, 0
-_0808E110:
- ldrh r0, [r4]
- cmp r0, 0xEF
- bne _0808E122
- ldr r0, _0808E184
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E122
- movs r2, 0
-_0808E122:
- ldrh r0, [r4]
- cmp r0, r10
- bne _0808E134
- ldr r0, _0808E188
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E134
- movs r2, 0
-_0808E134:
- ldrh r0, [r4]
- cmp r0, r9
- bne _0808E146
- ldr r0, _0808E18C
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r5, r0
- bge _0808E146
- movs r2, 0
-_0808E146:
- cmp r2, 0
- beq _0808E156
- cmp r7, 0xF
- bgt _0808E156
- ldrh r0, [r4]
- strh r0, [r6]
- adds r6, 0x2
- adds r7, 0x1
-_0808E156:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808E16E
- adds r0, r1, 0
- mov r1, sp
- bl sub_808E07C
- adds r1, r0, 0
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, r8
- ble _0808E0F8
-_0808E16E:
- adds r0, r7, 0
-_0808E170:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E180: .4byte gUnknown_810ACB8
-_0808E184: .4byte gUnknown_810ACBA
-_0808E188: .4byte gUnknown_810ACBC
-_0808E18C: .4byte gUnknown_810ACBE
- thumb_func_end sub_808E0AC
-
- thumb_func_start sub_808E190
-sub_808E190:
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- ldr r0, _0808E1B8
- cmp r4, r0
- beq _0808E20C
- cmp r4, 0
- beq _0808E20C
- movs r0, 0xD2
- lsls r0, 1
- cmp r4, r0
- beq _0808E20C
- movs r0, 0xB0
- lsls r0, 1
- cmp r5, r0
- bne _0808E1C0
- b _0808E20C
- .align 2, 0
-_0808E1B8: .4byte 0x000001a5
-_0808E1BC:
- movs r0, 0x1
- b _0808E20E
-_0808E1C0:
- adds r0, r4, 0
- bl sub_8092B18
- adds r1, r0, 0
- b _0808E1DE
-_0808E1CA:
- adds r0, r1, 0
- mov r1, sp
- bl sub_808E07C
- adds r1, r0, 0
- adds r1, 0x1
- mov r0, sp
- ldrh r0, [r0]
- cmp r5, r0
- beq _0808E1BC
-_0808E1DE:
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808E1CA
- adds r0, r4, 0
- bl sub_8092B54
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808E20C
- mov r4, sp
- adds r4, 0x2
-_0808E1F6:
- adds r0, r1, 0
- adds r1, r4, 0
- bl sub_808E07C
- adds r1, r0, 0
- ldrh r0, [r4]
- cmp r0, r5
- beq _0808E1BC
- ldrb r0, [r1]
- cmp r0, 0
- bne _0808E1F6
-_0808E20C:
- movs r0, 0
-_0808E20E:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_808E190
-
- thumb_func_start sub_808E218
-sub_808E218:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r10, r0
- mov r8, r1
- movs r0, 0
- mov r9, r0
- movs r0, 0xCF
- lsls r0, 2
- add r0, r10
- mov r1, r9
- str r1, [r0]
- mov r2, r8
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- ldr r0, _0808E254
- cmp r1, r0
- beq _0808E24E
- cmp r1, 0
- beq _0808E24E
- movs r0, 0xD2
- lsls r0, 1
- cmp r1, r0
- bne _0808E258
-_0808E24E:
- movs r0, 0
- b _0808E396
- .align 2, 0
-_0808E254: .4byte 0x000001a5
-_0808E258:
- mov r0, r8
- mov r1, sp
- bl sub_808E3B8
- str r0, [sp, 0x10]
- movs r5, 0
- cmp r9, r0
- blt _0808E26A
- b _0808E38A
-_0808E26A:
- lsls r4, r5, 2
- mov r1, sp
- adds r0, r1, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- bl sub_8092B18
- adds r6, r0, 0
- str r4, [sp, 0x18]
- adds r5, 0x1
- str r5, [sp, 0x14]
- b _0808E35E
-_0808E282:
- movs r0, 0xCE
- lsls r0, 1
- cmp r9, r0
- bgt _0808E35E
- movs r7, 0x1
- ldrh r0, [r4]
- cmp r0, 0xEE
- bne _0808E2A4
- ldr r0, _0808E3A8
- mov r3, r8
- movs r4, 0x14
- ldrsh r1, [r3, r4]
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bge _0808E2A4
- movs r7, 0
-_0808E2A4:
- mov r3, r12
- ldrh r0, [r3]
- cmp r0, 0xEF
- bne _0808E2BE
- ldr r0, _0808E3AC
- mov r4, r8
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bge _0808E2BE
- movs r7, 0
-_0808E2BE:
- mov r4, r12
- ldrh r1, [r4]
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bne _0808E2DC
- ldr r0, _0808E3B0
- mov r2, r8
- movs r3, 0x14
- ldrsh r1, [r2, r3]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bge _0808E2DC
- movs r7, 0
-_0808E2DC:
- mov r0, r12
- ldrh r1, [r0]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bne _0808E2FA
- ldr r0, _0808E3B4
- mov r2, r8
- movs r3, 0x14
- ldrsh r1, [r2, r3]
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bge _0808E2FA
- movs r7, 0
-_0808E2FA:
- movs r4, 0x1
- mov r5, r12
- mov r2, r8
- adds r2, 0x2C
- movs r3, 0x3
-_0808E304:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _0808E318
- ldrh r0, [r2, 0x2]
- ldrh r1, [r5]
- cmp r0, r1
- bne _0808E318
- movs r7, 0
-_0808E318:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _0808E304
- cmp r7, 0
- beq _0808E35E
- movs r2, 0
- cmp r2, r9
- bge _0808E34A
- mov r3, r10
- ldrh r0, [r3]
- mov r4, r12
- ldrh r4, [r4]
- cmp r0, r4
- beq _0808E34A
- mov r3, r12
- mov r1, r10
-_0808E33A:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, r9
- bge _0808E34A
- ldrh r0, [r1]
- ldrh r4, [r3]
- cmp r0, r4
- bne _0808E33A
-_0808E34A:
- cmp r2, r9
- bne _0808E35E
- mov r1, r9
- lsls r0, r1, 1
- add r0, r10
- mov r2, r12
- ldrh r1, [r2]
- strh r1, [r0]
- movs r3, 0x1
- add r9, r3
-_0808E35E:
- ldrb r0, [r6]
- cmp r0, 0
- beq _0808E380
- add r4, sp, 0xC
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_808E07C
- adds r6, r0, 0
- ldrb r0, [r6]
- adds r6, 0x1
- ldr r1, [sp, 0x18]
- add r1, sp
- ldrb r1, [r1, 0x2]
- mov r12, r4
- cmp r0, r1
- ble _0808E282
-_0808E380:
- ldr r5, [sp, 0x14]
- ldr r4, [sp, 0x10]
- cmp r5, r4
- bge _0808E38A
- b _0808E26A
-_0808E38A:
- movs r0, 0xCF
- lsls r0, 2
- add r0, r10
- mov r1, r9
- str r1, [r0]
- mov r0, r9
-_0808E396:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E3A8: .4byte gUnknown_810ACB8
-_0808E3AC: .4byte gUnknown_810ACBA
-_0808E3B0: .4byte gUnknown_810ACBC
-_0808E3B4: .4byte gUnknown_810ACBE
- thumb_func_end sub_808E218
-
- thumb_func_start sub_808E3B8
-sub_808E3B8:
- push {r4-r7,lr}
- ldrh r2, [r0, 0x8]
- strh r2, [r1]
- ldrb r2, [r0, 0x3]
- strb r2, [r1, 0x2]
- movs r7, 0x1
- movs r3, 0x8
- ldrsh r2, [r0, r3]
- movs r6, 0
- adds r5, r0, 0
- adds r5, 0xC
- adds r4, r1, 0x4
- b _0808E3E0
-_0808E3D2:
- strh r2, [r4]
- ldrb r0, [r5]
- strb r0, [r4, 0x2]
- adds r4, 0x4
- adds r7, 0x1
- adds r5, 0x4
- adds r6, 0x1
-_0808E3E0:
- cmp r6, 0x1
- bgt _0808E3F8
- ldrb r0, [r5]
- cmp r0, 0
- beq _0808E3F8
- adds r0, r2, 0
- bl sub_808DC0C
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _0808E3D2
-_0808E3F8:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808E3B8
-
- thumb_func_start sub_808E400
-sub_808E400:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x4]
- movs r0, 0
- mov r10, r0
- movs r7, 0x1
- adds r6, r1, 0
-_0808E426:
- lsls r0, r7, 16
- asrs r5, r0, 16
- mov r8, r5
- adds r0, r5, 0
- bl sub_808DC0C
- lsls r0, 16
- asrs r0, 16
- cmp r9, r0
- bne _0808E46C
- ldr r0, [sp]
- cmp r0, 0
- bne _0808E456
- mov r0, r9
- bl sub_808DACC
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_808DACC
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _0808E46C
-_0808E456:
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _0808E462
- ldr r0, _0808E488
- cmp r5, r0
- beq _0808E46C
-_0808E462:
- mov r0, r8
- strh r0, [r6]
- adds r6, 0x2
- movs r0, 0x1
- add r10, r0
-_0808E46C:
- adds r7, 0x1
- ldr r0, _0808E48C
- cmp r7, r0
- ble _0808E426
- mov r0, r10
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E488: .4byte 0x0000013d
-_0808E48C: .4byte 0x000001a7
- thumb_func_end sub_808E400
-
- thumb_func_start sub_808E490
-sub_808E490:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- mov r8, r0
- lsls r1, 16
- asrs r1, 16
- ldr r3, _0808E4F8
- mov r0, sp
- movs r2, 0x1
- bl sub_808E0AC
- adds r7, r0, 0
- cmp r7, 0
- bne _0808E4B8
- movs r7, 0x1
- mov r1, sp
- movs r0, 0xCC
- lsls r0, 1
- strh r0, [r1]
-_0808E4B8:
- movs r4, 0
- cmp r4, r7
- bge _0808E4D8
- mov r6, sp
- mov r5, r8
- adds r4, r7, 0
-_0808E4C4:
- ldrh r1, [r6]
- adds r0, r5, 0
- bl sub_8092AD4
- adds r6, 0x2
- adds r5, 0x8
- subs r4, 0x1
- cmp r4, 0
- bne _0808E4C4
- adds r4, r7, 0
-_0808E4D8:
- cmp r4, 0x3
- bgt _0808E4EC
- movs r1, 0
- lsls r0, r4, 3
- add r0, r8
-_0808E4E2:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _0808E4E2
-_0808E4EC:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E4F8: .4byte 0x000003e7
- thumb_func_end sub_808E490
-
- thumb_func_start sub_808E4FC
-sub_808E4FC:
- push {lr}
- sub sp, 0x10
- ldr r1, _0808E518
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- mov r1, sp
- bl sub_8097DF0
- ldr r0, [sp]
- ldr r0, [r0]
- add sp, 0x10
- pop {r1}
- bx r1
- .align 2, 0
-_0808E518: .4byte gUnknown_810D628
- thumb_func_end sub_808E4FC
-
- thumb_func_start sub_808E51C
-sub_808E51C:
- push {lr}
- sub sp, 0x10
- ldr r1, _0808E538
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- mov r1, sp
- bl sub_8097DF0
- ldr r0, [sp]
- ldr r0, [r0, 0x4]
- add sp, 0x10
- pop {r1}
- bx r1
- .align 2, 0
-_0808E538: .4byte gUnknown_810D628
- thumb_func_end sub_808E51C
-
- thumb_func_start sub_808E53C
-sub_808E53C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- str r1, [sp]
- ldr r0, _0808E628
- ldr r1, _0808E62C
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- ldr r4, [r7, 0x4]
- movs r6, 0x7
- adds r4, 0x4
- mov r1, r8
- lsls r0, r1, 5
- ldr r2, _0808E630
- adds r5, r0, r2
-_0808E564:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x20
- bl CpuCopy
- adds r5, 0x20
- adds r4, 0x20
- subs r6, 0x1
- cmp r6, 0
- bne _0808E564
- adds r0, r7, 0
- bl CloseFile
- movs r6, 0
- movs r0, 0x3
- mov r12, r0
- ldr r1, _0808E634
- mov r10, r1
- ldr r2, _0808E638
- mov r9, r2
- ldr r5, _0808E63C
- movs r7, 0
- mov r4, r12
- ldr r0, [sp]
- ands r4, r0
- lsls r4, 10
-_0808E598:
- lsls r3, r6, 3
- ldr r0, _0808E640
- adds r3, r0
- ldrh r1, [r3]
- ldr r0, _0808E644
- ands r0, r1
- ldr r1, _0808E648
- ands r0, r1
- mov r2, r10
- ands r0, r2
- ldr r1, _0808E64C
- ands r0, r1
- ldr r1, _0808E650
- ands r0, r1
- strh r0, [r3]
- ldr r1, [r5]
- mov r2, r12
- ands r1, r2
- lsls r1, 14
- mov r2, r9
- ands r0, r2
- orrs r0, r1
- strh r0, [r3]
- ldrh r0, [r3, 0x2]
- ldr r1, _0808E654
- ands r1, r0
- strh r1, [r3, 0x2]
- ldr r0, _0808E63C
- adds r0, 0x4
- adds r0, r7, r0
- ldr r0, [r0]
- mov r2, r12
- ands r0, r2
- lsls r0, 14
- mov r2, r9
- ands r1, r2
- orrs r1, r0
- strh r1, [r3, 0x2]
- ldr r1, [r5, 0x8]
- add r1, r8
- ldr r0, _0808E658
- ands r1, r0
- ldrh r2, [r3, 0x4]
- movs r0, 0xFC
- lsls r0, 8
- ands r0, r2
- orrs r0, r1
- mov r1, r10
- ands r0, r1
- orrs r0, r4
- ldr r1, _0808E65C
- ands r0, r1
- strh r0, [r3, 0x4]
- ldrh r1, [r3, 0x6]
- ldr r0, _0808E660
- ands r0, r1
- ldr r1, _0808E664
- ands r0, r1
- strh r0, [r3, 0x6]
- adds r5, 0xC
- adds r7, 0xC
- adds r6, 0x1
- cmp r6, 0x2
- ble _0808E598
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E628: .4byte gUnknown_81076BC
-_0808E62C: .4byte gUnknown_83B0000
-_0808E630: .4byte 0x06010000
-_0808E634: .4byte 0x0000f3ff
-_0808E638: .4byte 0x00003fff
-_0808E63C: .4byte gUnknown_8107698
-_0808E640: .4byte gUnknown_202F3E8
-_0808E644: .4byte 0x0000feff
-_0808E648: .4byte 0x0000fdff
-_0808E64C: .4byte 0x0000efff
-_0808E650: .4byte 0x0000dfff
-_0808E654: .4byte 0x0000c1ff
-_0808E658: .4byte 0x000003ff
-_0808E65C: .4byte 0x00000fff
-_0808E660: .4byte 0x0000fffe
-_0808E664: .4byte 0x0000fffd
- thumb_func_end sub_808E53C
-
- thumb_func_start sub_808E668
-sub_808E668:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- asrs r1, r0, 16
- ldr r2, _0808E6E0
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0x1
- bls _0808E6D6
- adds r0, r1, 0
- bl sub_808DAE4
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0x10
- ldrsh r1, [r5, r3]
- adds r2, r1
- movs r1, 0x2
- ldrsh r3, [r4, r1]
- movs r4, 0x12
- ldrsh r1, [r5, r4]
- adds r3, r1
- ldr r4, _0808E6E4
- lsls r1, r0, 2
- adds r1, r4
- ldr r1, [r1]
- adds r2, r1
- subs r3, 0x4
- ldr r1, _0808E6E8
- ands r2, r1
- lsls r0, 3
- ldr r1, _0808E6EC
- adds r0, r1
- ldrh r4, [r0, 0x2]
- movs r1, 0xFE
- lsls r1, 8
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x2]
- ldr r1, _0808E6F0
- ands r3, r1
- lsls r3, 4
- ldrh r2, [r0, 0x6]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r3
- strh r1, [r0, 0x6]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl AddSprite
-_0808E6D6:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E6E0: .4byte 0xffce0000
-_0808E6E4: .4byte gUnknown_81076C4
-_0808E6E8: .4byte 0x000001ff
-_0808E6EC: .4byte gUnknown_202F3E8
-_0808E6F0: .4byte 0x00000fff
- thumb_func_end sub_808E668
-
- thumb_func_start sub_808E6F4
-sub_808E6F4:
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0xA
- bl RandomCapped
- ldr r1, _0808E70C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- strh r0, [r5]
- movs r4, 0
- b _0808E712
- .align 2, 0
-_0808E70C: .4byte gUnknown_810AC90
-_0808E710:
- adds r4, 0x1
-_0808E712:
- cmp r4, 0x63
- bgt _0808E724
- movs r0, 0x12
- bl RandomCapped
- strb r0, [r5, 0x2]
- lsls r0, 24
- cmp r0, 0
- beq _0808E710
-_0808E724:
- cmp r4, 0x64
- bne _0808E72C
- movs r0, 0x2
- strb r0, [r5, 0x2]
-_0808E72C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808E6F4
-
- thumb_func_start sub_808E734
-sub_808E734:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _0808E75C
- ldr r2, [r0]
- movs r6, 0x1
- movs r5, 0xCE
- lsls r5, 1
-_0808E746:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0808E760
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, r4
- bne _0808E760
- movs r0, 0x1
- b _0808E76A
- .align 2, 0
-_0808E75C: .4byte gUnknown_203B45C
-_0808E760:
- adds r2, 0x58
- adds r3, 0x1
- cmp r3, r5
- ble _0808E746
- movs r0, 0
-_0808E76A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808E734
-
- thumb_func_start sub_808E770
-sub_808E770:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _0808E788
- cmp r1, r0
- beq _0808E792
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- bne _0808E78C
- subs r0, 0x2
- b _0808E854
- .align 2, 0
-_0808E788: .4byte 0x00000179
-_0808E78C:
- ldr r0, _0808E798
- cmp r1, r0
- bne _0808E79C
-_0808E792:
- movs r0, 0xBC
- lsls r0, 1
- b _0808E854
- .align 2, 0
-_0808E798: .4byte 0x0000017b
-_0808E79C:
- cmp r1, 0xCA
- beq _0808E80E
- cmp r1, 0xCB
- beq _0808E80E
- cmp r1, 0xCC
- beq _0808E80E
- cmp r1, 0xCD
- beq _0808E80E
- cmp r1, 0xCE
- beq _0808E80E
- cmp r1, 0xCF
- beq _0808E80E
- cmp r1, 0xD0
- beq _0808E80E
- cmp r1, 0xD1
- beq _0808E80E
- cmp r1, 0xD2
- beq _0808E80E
- cmp r1, 0xD3
- beq _0808E80E
- cmp r1, 0xD4
- beq _0808E80E
- cmp r1, 0xD5
- beq _0808E80E
- cmp r1, 0xD6
- beq _0808E80E
- cmp r1, 0xD7
- beq _0808E80E
- cmp r1, 0xD8
- beq _0808E80E
- cmp r1, 0xD9
- beq _0808E80E
- cmp r1, 0xDA
- beq _0808E80E
- cmp r1, 0xDB
- beq _0808E80E
- cmp r1, 0xDC
- beq _0808E80E
- cmp r1, 0xDD
- beq _0808E80E
- cmp r1, 0xDE
- beq _0808E80E
- cmp r1, 0xDF
- beq _0808E80E
- cmp r1, 0xE0
- beq _0808E80E
- cmp r1, 0xE1
- beq _0808E80E
- cmp r1, 0xE2
- beq _0808E80E
- ldr r0, _0808E814
- cmp r1, r0
- beq _0808E80E
- movs r0, 0xD0
- lsls r0, 1
- cmp r1, r0
- bne _0808E818
-_0808E80E:
- movs r0, 0xC9
- b _0808E854
- .align 2, 0
-_0808E814: .4byte 0x0000019f
-_0808E818:
- ldr r0, _0808E82C
- cmp r1, r0
- beq _0808E836
- movs r0, 0xD1
- lsls r0, 1
- cmp r1, r0
- bne _0808E830
- subs r0, 0x4
- b _0808E854
- .align 2, 0
-_0808E82C: .4byte 0x000001a1
-_0808E830:
- ldr r0, _0808E83C
- cmp r1, r0
- bne _0808E840
-_0808E836:
- movs r0, 0xCF
- lsls r0, 1
- b _0808E854
- .align 2, 0
-_0808E83C: .4byte 0x000001a3
-_0808E840:
- ldr r0, _0808E84C
- cmp r1, r0
- beq _0808E850
- adds r0, r1, 0
- b _0808E854
- .align 2, 0
-_0808E84C: .4byte 0x000001a7
-_0808E850:
- movs r0, 0xCE
- lsls r0, 1
-_0808E854:
- pop {r1}
- bx r1
- thumb_func_end sub_808E770
-
- thumb_func_start sub_808E858
-sub_808E858:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _0808E874
- cmp r1, r0
- beq _0808E87E
- movs r0, 0xBD
- lsls r0, 1
- cmp r1, r0
- bne _0808E878
- subs r0, 0x2
- b _0808E8C4
- .align 2, 0
-_0808E874: .4byte 0x00000179
-_0808E878:
- ldr r0, _0808E884
- cmp r1, r0
- bne _0808E888
-_0808E87E:
- movs r0, 0xBC
- lsls r0, 1
- b _0808E8C4
- .align 2, 0
-_0808E884: .4byte 0x0000017b
-_0808E888:
- ldr r0, _0808E89C
- cmp r1, r0
- beq _0808E8A6
- movs r0, 0xD1
- lsls r0, 1
- cmp r1, r0
- bne _0808E8A0
- subs r0, 0x4
- b _0808E8C4
- .align 2, 0
-_0808E89C: .4byte 0x000001a1
-_0808E8A0:
- ldr r0, _0808E8AC
- cmp r1, r0
- bne _0808E8B0
-_0808E8A6:
- movs r0, 0xCF
- lsls r0, 1
- b _0808E8C4
- .align 2, 0
-_0808E8AC: .4byte 0x000001a3
-_0808E8B0:
- ldr r0, _0808E8BC
- cmp r2, r0
- beq _0808E8C0
- adds r0, r2, 0
- b _0808E8C4
- .align 2, 0
-_0808E8BC: .4byte 0x000001a7
-_0808E8C0:
- movs r0, 0xCE
- lsls r0, 1
-_0808E8C4:
- pop {r1}
- bx r1
- thumb_func_end sub_808E858
-
- thumb_func_start sub_808E8C8
-sub_808E8C8:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0xCA
- bne _0808E8D6
- movs r0, 0x1
- b _0808E9B2
-_0808E8D6:
- cmp r1, 0xCB
- bne _0808E8DE
- movs r0, 0x2
- b _0808E9B2
-_0808E8DE:
- cmp r1, 0xCC
- bne _0808E8E6
- movs r0, 0x3
- b _0808E9B2
-_0808E8E6:
- cmp r1, 0xCD
- bne _0808E8EE
- movs r0, 0x4
- b _0808E9B2
-_0808E8EE:
- cmp r1, 0xCE
- bne _0808E8F6
- movs r0, 0x5
- b _0808E9B2
-_0808E8F6:
- cmp r1, 0xCF
- bne _0808E8FE
- movs r0, 0x6
- b _0808E9B2
-_0808E8FE:
- cmp r1, 0xD0
- bne _0808E906
- movs r0, 0x7
- b _0808E9B2
-_0808E906:
- cmp r1, 0xD1
- bne _0808E90E
- movs r0, 0x8
- b _0808E9B2
-_0808E90E:
- cmp r1, 0xD2
- bne _0808E916
- movs r0, 0x9
- b _0808E9B2
-_0808E916:
- cmp r1, 0xD3
- bne _0808E91E
- movs r0, 0xA
- b _0808E9B2
-_0808E91E:
- cmp r1, 0xD4
- bne _0808E926
- movs r0, 0xB
- b _0808E9B2
-_0808E926:
- cmp r1, 0xD5
- bne _0808E92E
- movs r0, 0xC
- b _0808E9B2
-_0808E92E:
- cmp r1, 0xD6
- bne _0808E936
- movs r0, 0xD
- b _0808E9B2
-_0808E936:
- cmp r1, 0xD7
- bne _0808E93E
- movs r0, 0xE
- b _0808E9B2
-_0808E93E:
- cmp r1, 0xD8
- bne _0808E946
- movs r0, 0xF
- b _0808E9B2
-_0808E946:
- cmp r1, 0xD9
- bne _0808E94E
- movs r0, 0x10
- b _0808E9B2
-_0808E94E:
- cmp r1, 0xDA
- bne _0808E956
- movs r0, 0x11
- b _0808E9B2
-_0808E956:
- cmp r1, 0xDB
- bne _0808E95E
- movs r0, 0x12
- b _0808E9B2
-_0808E95E:
- cmp r1, 0xDC
- bne _0808E966
- movs r0, 0x13
- b _0808E9B2
-_0808E966:
- cmp r1, 0xDD
- bne _0808E96E
- movs r0, 0x14
- b _0808E9B2
-_0808E96E:
- cmp r1, 0xDE
- bne _0808E976
- movs r0, 0x15
- b _0808E9B2
-_0808E976:
- cmp r1, 0xDF
- bne _0808E97E
- movs r0, 0x16
- b _0808E9B2
-_0808E97E:
- cmp r1, 0xE0
- bne _0808E986
- movs r0, 0x17
- b _0808E9B2
-_0808E986:
- cmp r1, 0xE1
- bne _0808E98E
- movs r0, 0x18
- b _0808E9B2
-_0808E98E:
- cmp r1, 0xE2
- bne _0808E996
- movs r0, 0x19
- b _0808E9B2
-_0808E996:
- ldr r0, _0808E9A0
- cmp r1, r0
- bne _0808E9A4
- movs r0, 0x1A
- b _0808E9B2
- .align 2, 0
-_0808E9A0: .4byte 0x0000019f
-_0808E9A4:
- movs r0, 0xD0
- lsls r0, 1
- cmp r1, r0
- beq _0808E9B0
- movs r0, 0
- b _0808E9B2
-_0808E9B0:
- movs r0, 0x1B
-_0808E9B2:
- pop {r1}
- bx r1
- thumb_func_end sub_808E8C8
-
- thumb_func_start sub_808E9B8
-sub_808E9B8:
- ldrh r1, [r0]
- ldr r0, _0808E9C0
- ands r0, r1
- bx lr
- .align 2, 0
-_0808E9C0: .4byte 0x000001ff
- thumb_func_end sub_808E9B8
-
- thumb_func_start sub_808E9C4
-sub_808E9C4:
- lsls r1, 16
- asrs r1, 16
- ldrh r3, [r0]
- movs r2, 0xFE
- lsls r2, 8
- ands r2, r3
- orrs r2, r1
- strh r2, [r0]
- bx lr
- thumb_func_end sub_808E9C4
-
- thumb_func_start sub_808E9D8
-sub_808E9D8:
- lsls r2, 16
- asrs r2, 16
- lsls r1, 9
- orrs r2, r1
- strh r2, [r0]
- bx lr
- thumb_func_end sub_808E9D8
-
- thumb_func_start sub_808E9E4
-sub_808E9E4:
- ldrh r0, [r0]
- lsrs r0, 9
- bx lr
- thumb_func_end sub_808E9E4
-
- thumb_func_start sub_808E9EC
-sub_808E9EC:
- push {r4-r6,lr}
- adds r3, r1, 0
- ldrb r2, [r0, 0x18]
- str r2, [r3]
- ldrb r1, [r0, 0x19]
- str r1, [r3, 0x4]
- ldrb r1, [r0, 0x1A]
- str r1, [r3, 0x8]
- ldrb r1, [r0, 0x1B]
- str r1, [r3, 0xC]
- movs r1, 0
- strb r1, [r3, 0x10]
- strb r1, [r3, 0x11]
- strb r1, [r3, 0x12]
- strb r1, [r3, 0x13]
- adds r1, r0, 0
- adds r1, 0x28
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808EA96
- adds r4, r0, 0
- adds r5, r4, 0
- cmp r4, 0x13
- bne _0808EA2A
- ldr r1, _0808EA9C
- ldrh r0, [r1]
- strb r0, [r3, 0x10]
- movs r6, 0
- ldrsh r0, [r1, r6]
- adds r0, r2, r0
- str r0, [r3]
-_0808EA2A:
- cmp r4, 0x21
- bne _0808EA42
- ldr r1, _0808EAA0
- ldrb r0, [r1]
- ldrb r2, [r3, 0x11]
- adds r0, r2
- strb r0, [r3, 0x11]
- movs r6, 0
- ldrsh r1, [r1, r6]
- ldr r0, [r3, 0x4]
- adds r0, r1
- str r0, [r3, 0x4]
-_0808EA42:
- cmp r4, 0x2B
- bne _0808EA66
- ldr r2, _0808EAA4
- ldrb r0, [r2]
- ldrb r6, [r3, 0x10]
- adds r1, r0, r6
- strb r1, [r3, 0x10]
- ldrb r1, [r3, 0x11]
- adds r0, r1
- strb r0, [r3, 0x11]
- movs r6, 0
- ldrsh r1, [r2, r6]
- ldr r0, [r3]
- adds r0, r1
- str r0, [r3]
- ldr r0, [r3, 0x4]
- adds r0, r1
- str r0, [r3, 0x4]
-_0808EA66:
- cmp r4, 0x1E
- bne _0808EA7E
- ldr r1, _0808EAA8
- ldrb r0, [r1]
- ldrb r2, [r3, 0x12]
- adds r0, r2
- strb r0, [r3, 0x12]
- movs r6, 0
- ldrsh r1, [r1, r6]
- ldr r0, [r3, 0x8]
- adds r0, r1
- str r0, [r3, 0x8]
-_0808EA7E:
- cmp r5, 0x22
- bne _0808EA96
- ldr r1, _0808EAAC
- ldrb r0, [r1]
- ldrb r2, [r3, 0x13]
- adds r0, r2
- strb r0, [r3, 0x13]
- movs r6, 0
- ldrsh r1, [r1, r6]
- ldr r0, [r3, 0xC]
- adds r0, r1
- str r0, [r3, 0xC]
-_0808EA96:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EA9C: .4byte gUnknown_810AC60
-_0808EAA0: .4byte gUnknown_810AC62
-_0808EAA4: .4byte gUnknown_810AC68
-_0808EAA8: .4byte gUnknown_810AC64
-_0808EAAC: .4byte gUnknown_810AC66
- thumb_func_end sub_808E9EC
-
- thumb_func_start sub_808EAB0
-sub_808EAB0:
- lsls r0, 24
- ldr r1, _0808EABC
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0808EABC: .4byte gUnknown_8112234
- thumb_func_end sub_808EAB0
-
- thumb_func_start sub_808EAC0
-sub_808EAC0:
- push {lr}
- lsls r1, 24
- ldr r2, _0808EAD8
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x14
- bl strncpy
- pop {r0}
- bx r0
- .align 2, 0
-_0808EAD8: .4byte gUnknown_8112C14
- thumb_func_end sub_808EAC0
-
- thumb_func_start sub_808EADC
-sub_808EADC:
- lsls r0, 24
- ldr r1, _0808EAE8
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0808EAE8: .4byte gUnknown_811240C
- thumb_func_end sub_808EADC
-
- thumb_func_start sub_808EAEC
-sub_808EAEC:
- lsls r0, 24
- ldr r1, _0808EAF8
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0808EAF8: .4byte gUnknown_8112CFC
- thumb_func_end sub_808EAEC
-
- thumb_func_start sub_808EAFC
-sub_808EAFC:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0808EB08
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0808EB08: .4byte gUnknown_810A36B
- thumb_func_end sub_808EAFC
-
- thumb_func_start sub_808EB0C
-sub_808EB0C:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0
- movs r3, 0
- ldr r1, _0808EB44
-_0808EB18:
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, r5
- bgt _0808EB26
- adds r0, r4, r2
- strb r3, [r0]
- adds r2, 0x1
-_0808EB26:
- adds r1, 0x2
- adds r3, 0x1
- cmp r3, 0xB
- ble _0808EB18
- cmp r2, 0xB
- bgt _0808EB3E
- movs r1, 0xB
-_0808EB34:
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0xB
- ble _0808EB34
-_0808EB3E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EB44: .4byte gUnknown_810A378
- thumb_func_end sub_808EB0C
-
- thumb_func_start sub_808EB48
-sub_808EB48:
- push {r4-r7,lr}
- adds r4, r1, 0
- movs r6, 0x1
- movs r5, 0
- adds r2, r0, 0
- ldr r1, _0808EB64
- movs r3, 0xB
-_0808EB56:
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bgt _0808EB68
- strb r6, [r2]
- b _0808EB6A
- .align 2, 0
-_0808EB64: .4byte gUnknown_810A378
-_0808EB68:
- strb r5, [r2]
-_0808EB6A:
- adds r2, 0x1
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _0808EB56
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808EB48
-
- thumb_func_start sub_808EB7C
-sub_808EB7C:
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _0808EB8C
- movs r0, 0
- b _0808EB9E
-_0808EB8C:
- movs r3, 0
- ldr r0, _0808EBA4
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- cmp r0, r2
- bgt _0808EB9C
- movs r3, 0x1
-_0808EB9C:
- adds r0, r3, 0
-_0808EB9E:
- pop {r1}
- bx r1
- .align 2, 0
-_0808EBA4: .4byte gUnknown_810A390
- thumb_func_end sub_808EB7C
-
- thumb_func_start sub_808EBA8
-sub_808EBA8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- mov r8, r1
- movs r6, 0
- movs r5, 0x1
-_0808EBB6:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- mov r0, r8
- adds r1, r4, 0
- bl sub_808EB7C
- lsls r0, 24
- cmp r0, 0
- beq _0808EBCE
- adds r0, r7, r6
- strb r4, [r0]
- adds r6, 0x1
-_0808EBCE:
- adds r5, 0x1
- cmp r5, 0x17
- ble _0808EBB6
- adds r1, r6, 0
- cmp r6, 0x17
- bgt _0808EBE6
- movs r2, 0
-_0808EBDC:
- adds r0, r7, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x17
- ble _0808EBDC
-_0808EBE6:
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808EBA8
-
- thumb_func_start sub_808EBF4
-sub_808EBF4:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- movs r5, 0x1
- lsls r5, r6
- adds r1, r5, 0
- bl sub_808ECD0
- lsls r0, 24
- cmp r0, 0
- beq _0808EC22
- ldrb r0, [r4]
- bics r0, r5
- strb r0, [r4]
- asrs r1, r5, 8
- ldrb r0, [r4, 0x1]
- bics r0, r1
- strb r0, [r4, 0x1]
- asrs r1, r5, 16
- ldrb r0, [r4, 0x2]
- bics r0, r1
- strb r0, [r4, 0x2]
- b _0808EC2A
-_0808EC22:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_808EC30
-_0808EC2A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808EBF4
-
- thumb_func_start sub_808EC30
-sub_808EC30:
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r7, r1, 0
- movs r4, 0
- ldr r1, _0808EC90
- lsls r0, r7, 2
- adds r0, r1
- ldr r6, [r0]
- adds r5, r1, 0
- movs r0, 0x1
- mov r12, r0
-_0808EC46:
- ldr r0, [r5]
- cmp r6, r0
- bne _0808EC66
- mov r1, r12
- lsls r1, r4
- ldrb r0, [r3]
- bics r0, r1
- strb r0, [r3]
- asrs r2, r1, 8
- ldrb r0, [r3, 0x1]
- bics r0, r2
- strb r0, [r3, 0x1]
- asrs r1, 16
- ldrb r0, [r3, 0x2]
- bics r0, r1
- strb r0, [r3, 0x2]
-_0808EC66:
- adds r5, 0x4
- adds r4, 0x1
- cmp r4, 0x17
- ble _0808EC46
- movs r1, 0x1
- lsls r1, r7
- ldrb r2, [r3]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r3]
- asrs r0, r1, 8
- ldrb r2, [r3, 0x1]
- orrs r0, r2
- strb r0, [r3, 0x1]
- asrs r1, 16
- ldrb r0, [r3, 0x2]
- orrs r1, r0
- strb r1, [r3, 0x2]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EC90: .4byte gUnknown_81076E4
- thumb_func_end sub_808EC30
-
- thumb_func_start sub_808EC94
-sub_808EC94:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- movs r0, 0
- strb r0, [r5]
- strb r0, [r5, 0x1]
- strb r0, [r5, 0x2]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_808EC30
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_808EC30
- adds r0, r5, 0
- movs r1, 0x16
- bl sub_808EC30
- cmp r4, 0
- beq _0808ECC8
- adds r0, r5, 0
- movs r1, 0x12
- bl sub_808EC30
-_0808ECC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808EC94
-
- thumb_func_start sub_808ECD0
-sub_808ECD0:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- ldrb r0, [r2]
- ands r0, r3
- cmp r0, 0
- bne _0808ECF6
- ldrb r0, [r2, 0x1]
- lsrs r1, r3, 8
- ands r0, r1
- cmp r0, 0
- bne _0808ECF6
- ldrb r0, [r2, 0x2]
- lsrs r1, r3, 16
- ands r0, r1
- cmp r0, 0
- bne _0808ECF6
- movs r0, 0
- b _0808ECF8
-_0808ECF6:
- movs r0, 0x1
-_0808ECF8:
- pop {r1}
- bx r1
- thumb_func_end sub_808ECD0
-
- thumb_func_start sub_808ECFC
-sub_808ECFC:
- movs r0, 0
- bx lr
- thumb_func_end sub_808ECFC
-
- thumb_func_start sub_808ED00
-sub_808ED00:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r0, sp
- bl sub_808D580
- adds r6, r0, 0
- movs r4, 0
- cmp r4, r6
- bge _0808ED44
- movs r0, 0x58
- mov r8, r0
- mov r7, sp
- movs r5, 0
- adds r4, r6, 0
-_0808ED20:
- ldr r0, _0808ED70
- ldr r1, [r0]
- adds r0, r1, r5
- ldr r2, _0808ED74
- adds r0, r2
- ldm r7!, {r2}
- mov r3, r8
- muls r3, r2
- adds r2, r3, 0
- adds r1, r2
- movs r2, 0x58
- bl memcpy
- adds r5, 0x58
- subs r4, 0x1
- cmp r4, 0
- bne _0808ED20
- adds r4, r6, 0
-_0808ED44:
- cmp r4, 0x3
- bgt _0808ED64
- ldr r5, _0808ED70
- ldr r3, _0808ED74
- movs r2, 0
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
-_0808ED54:
- ldr r0, [r5]
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- adds r1, 0x58
- adds r4, 0x1
- cmp r4, 0x3
- ble _0808ED54
-_0808ED64:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808ED70: .4byte gUnknown_203B45C
-_0808ED74: .4byte 0x00008f88
- thumb_func_end sub_808ED00
-
- thumb_func_start sub_808ED78
-sub_808ED78:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- adds r3, r0, 0
- adds r2, r1, 0
- add r4, sp, 0xC
- adds r0, r4, 0
- adds r1, r3, 0
- bl sub_809486C
- mov r10, r4
- mov r0, sp
- adds r0, 0x1E
- str r0, [sp, 0x20]
- add r1, sp, 0x1C
- mov r8, r1
- ldr r0, _0808EDF0
- adds r2, r0, 0
- mov r1, sp
- movs r5, 0x5
-_0808EDA6:
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- adds r1, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _0808EDA6
- movs r0, 0x1
- negs r0, r0
- ldr r1, [sp, 0x20]
- strh r0, [r1]
- movs r5, 0
- mov r4, sp
-_0808EDC0:
- ldr r2, _0808EDF4
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r1, r0, r1
- ldrh r2, [r1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0808EDF8
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0808EDE2
- strh r5, [r4]
- adds r4, 0x2
-_0808EDE2:
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _0808EDFA
- ldr r0, [sp, 0x20]
- strh r5, [r0]
- b _0808EDFA
- .align 2, 0
-_0808EDF0: .4byte 0x0000ffff
-_0808EDF4: .4byte gUnknown_203B45C
-_0808EDF8:
- strb r0, [r1, 0x3]
-_0808EDFA:
- mov r0, r10
- bl sub_808EFA0
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0808EDC0
- ldr r1, _0808EE34
- mov r9, r1
- mov r4, r10
- ldr r7, _0808EE38
- movs r6, 0
- movs r5, 0x3
-_0808EE16:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r6, r0
- ldr r1, _0808EE38
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0808EE3C
- movs r0, 0xFF
- mov r1, r8
- strb r0, [r1]
- b _0808EE40
- .align 2, 0
-_0808EE34: .4byte gUnknown_203B45C
-_0808EE38: .4byte 0x00008f88
-_0808EE3C:
- mov r0, r8
- strb r1, [r0]
-_0808EE40:
- adds r0, r4, 0
- mov r1, r8
- movs r2, 0x1
- bl sub_809488C
- mov r0, r9
- ldr r1, [r0]
- adds r1, r7
- adds r0, r4, 0
- bl sub_808EFA0
- adds r7, 0x58
- adds r6, 0x58
- subs r5, 0x1
- cmp r5, 0
- bge _0808EE16
- mov r4, sp
- movs r5, 0x5
-_0808EE64:
- mov r0, r10
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_809488C
- adds r4, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _0808EE64
- mov r0, r10
- ldr r1, [sp, 0x20]
- movs r2, 0x10
- bl sub_809488C
- mov r0, r10
- bl nullsub_102
- mov r1, r10
- ldr r0, [r1, 0x8]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_808ED78
-
- thumb_func_start sub_808EE9C
-sub_808EE9C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- movs r5, 0
- add r7, sp, 0x10
- movs r0, 0x12
- add r0, sp
- mov r8, r0
- ldr r6, _0808EF10
- movs r4, 0
-_0808EEBE:
- ldr r1, [r6]
- adds r1, r4
- mov r0, sp
- bl sub_808F068
- adds r4, 0x58
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _0808EEBE
- movs r5, 0
- adds r6, r7, 0
- ldr r7, _0808EF10
-_0808EEDA:
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_8094924
- movs r0, 0x58
- adds r4, r5, 0
- muls r4, r0
- ldr r1, _0808EF14
- adds r0, r4, r1
- ldr r1, [r7]
- adds r1, r0
- mov r0, sp
- bl sub_808F068
- ldrb r0, [r6]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0808EF18
- ldr r0, [r7]
- adds r0, r4
- ldr r2, _0808EF14
- adds r0, r2
- movs r1, 0x3
- b _0808EF20
- .align 2, 0
-_0808EF10: .4byte gUnknown_203B45C
-_0808EF14: .4byte 0x00008f88
-_0808EF18:
- ldr r0, [r7]
- adds r0, r4
- ldr r3, _0808EF98
- adds r0, r3
-_0808EF20:
- strh r1, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _0808EEDA
- mov r4, r8
- movs r6, 0xCE
- lsls r6, 1
- movs r5, 0x5
-_0808EF30:
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_8094924
- ldrh r0, [r4]
- cmp r0, r6
- bhi _0808EF56
- ldr r0, _0808EF9C
- ldr r2, [r0]
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r0, 0x58
- muls r0, r1
- adds r2, r0
- ldrh r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r2]
-_0808EF56:
- subs r5, 0x1
- cmp r5, 0
- bge _0808EF30
- mov r0, sp
- mov r1, r8
- movs r2, 0x10
- bl sub_8094924
- mov r2, r8
- ldrh r1, [r2]
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bhi _0808EF84
- ldr r0, _0808EF9C
- ldr r1, [r0]
- movs r3, 0
- ldrsh r2, [r2, r3]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1, 0x2]
-_0808EF84:
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808EF98: .4byte 0x00008f88
-_0808EF9C: .4byte gUnknown_203B45C
- thumb_func_end sub_808EE9C
-
- thumb_func_start sub_808EFA0
-sub_808EFA0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r1, r5, 0x3
- movs r2, 0x7
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r5, 0x4
- adds r0, r4, 0
- bl sub_80902F4
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x10
- adds r0, r4, 0
- bl sub_808F41C
- adds r1, r5, 0
- adds r1, 0x14
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x16
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x18
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x19
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1A
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1B
- adds r0, r4, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x1C
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x20
- adds r0, r4, 0
- movs r2, 0x18
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x24
- adds r0, r4, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0
- adds r1, 0x28
- adds r0, r4, 0
- bl sub_8091DE0
- adds r1, r5, 0
- adds r1, 0x2C
- adds r0, r4, 0
- bl sub_8094108
- adds r1, r5, 0
- adds r1, 0x4C
- adds r0, r4, 0
- movs r2, 0x50
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808EFA0
-
- thumb_func_start sub_808F068
-sub_808F068:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x58
- bl memset
- movs r6, 0
- movs r0, 0
- strh r0, [r4]
- strb r6, [r4, 0x2]
- adds r1, r4, 0x3
- adds r0, r5, 0
- movs r2, 0x7
- bl sub_8094924
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- beq _0808F098
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
-_0808F098:
- adds r1, r4, 0
- adds r1, 0x8
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r4, 0x4
- adds r0, r5, 0
- bl sub_8090314
- adds r1, r4, 0
- adds r1, 0xC
- adds r0, r5, 0
- bl sub_808F410
- adds r1, r4, 0
- adds r1, 0x10
- adds r0, r5, 0
- bl sub_808F410
- adds r1, r4, 0
- adds r1, 0x14
- adds r0, r5, 0
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x16
- adds r0, r5, 0
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x18
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x19
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1A
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1B
- adds r0, r5, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r5, 0
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x20
- adds r0, r5, 0
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x24
- adds r0, r5, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x28
- adds r0, r5, 0
- bl sub_8091DC0
- adds r1, r4, 0
- adds r1, 0x2C
- adds r0, r5, 0
- bl sub_8094128
- adds r1, r4, 0
- adds r1, 0x4C
- adds r0, r5, 0
- movs r2, 0x50
- bl sub_8094924
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808F068
-
- thumb_func_start sub_808F154
-sub_808F154:
- 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 r2, sp, 0x10
- movs r0, 0xFF
- strb r0, [r2]
- mov r1, sp
- adds r1, 0x11
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- adds r6, r2, 0
- adds r7, r1, 0
-_0808F178:
- ldr r1, _0808F2A8
- movs r0, 0x64
- muls r0, r5
- ldr r2, _0808F2AC
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_809488C
- ldrb r0, [r4, 0x2]
- adds r1, r7, 0
- cmp r0, 0
- beq _0808F19A
- adds r1, r6, 0
-_0808F19A:
- mov r0, sp
- movs r2, 0x1
- bl sub_809488C
- adds r1, r4, 0x3
- mov r0, sp
- movs r2, 0x7
- bl sub_809488C
- adds r1, r4, 0x4
- mov r0, sp
- bl sub_80902F4
- adds r1, r4, 0
- adds r1, 0x8
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xA
- mov r0, sp
- movs r2, 0x10
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x10
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0xE
- mov r0, sp
- movs r2, 0x9
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x10
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x12
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x14
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x15
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x16
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x17
- mov r0, sp
- movs r2, 0x8
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x1C
- mov r0, sp
- bl sub_8094184
- adds r1, r4, 0
- adds r1, 0x40
- mov r0, sp
- bl sub_8091E28
- adds r1, r4, 0
- adds r1, 0x44
- mov r0, sp
- bl sub_809449C
- adds r1, r4, 0
- adds r1, 0x48
- mov r0, sp
- bl sub_809449C
- adds r1, r4, 0
- adds r1, 0x4C
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x4
- bl sub_809488C
- adds r1, r4, 0
- adds r1, 0x54
- mov r0, sp
- bl sub_808F448
- adds r1, r4, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0x50
- bl sub_809488C
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0808F296
- b _0808F178
-_0808F296:
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808F2A8: .4byte gUnknown_203B45C
-_0808F2AC: .4byte 0x00008df8
- thumb_func_end sub_808F154
-
- thumb_func_start sub_808F2B0
-sub_808F2B0:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- movs r5, 0
- add r6, sp, 0x10
-_0808F2C4:
- ldr r1, _0808F300
- movs r0, 0x64
- muls r0, r5
- ldr r2, _0808F304
- adds r0, r2
- ldr r1, [r1]
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x64
- bl memset
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x2
- bl sub_8094924
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x1
- bl sub_8094924
- ldrb r0, [r6]
- movs r2, 0x1
- adds r1, r2, 0
- ands r1, r0
- cmp r1, 0
- beq _0808F308
- strb r2, [r4, 0x2]
- b _0808F30A
- .align 2, 0
-_0808F300: .4byte gUnknown_203B45C
-_0808F304: .4byte 0x00008df8
-_0808F308:
- strb r1, [r4, 0x2]
-_0808F30A:
- adds r1, r4, 0x3
- mov r0, sp
- movs r2, 0x7
- bl sub_8094924
- adds r1, r4, 0x4
- mov r0, sp
- bl sub_8090314
- adds r1, r4, 0
- adds r1, 0x8
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0xA
- mov r0, sp
- movs r2, 0x10
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x10
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0xE
- mov r0, sp
- movs r2, 0x9
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x10
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x12
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x14
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x15
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x16
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x17
- mov r0, sp
- movs r2, 0x8
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x18
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x1C
- mov r0, sp
- bl sub_80941FC
- adds r1, r4, 0
- adds r1, 0x40
- mov r0, sp
- bl sub_8091E00
- adds r1, r4, 0
- adds r1, 0x44
- mov r0, sp
- bl sub_809447C
- adds r1, r4, 0
- adds r1, 0x48
- mov r0, sp
- bl sub_809447C
- adds r1, r4, 0
- adds r1, 0x4C
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x50
- mov r0, sp
- movs r2, 0x4
- bl sub_8094924
- adds r1, r4, 0
- adds r1, 0x54
- mov r0, sp
- bl sub_808F428
- adds r1, r4, 0
- adds r1, 0x58
- mov r0, sp
- movs r2, 0x50
- bl sub_8094924
- adds r5, 0x1
- cmp r5, 0x3
- bgt _0808F3FE
- b _0808F2C4
-_0808F3FE:
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808F2B0
-
- thumb_func_start sub_808F410
-sub_808F410:
- push {lr}
- movs r2, 0x7
- bl sub_8094924
- pop {r0}
- bx r0
- thumb_func_end sub_808F410
-
- thumb_func_start sub_808F41C
-sub_808F41C:
- push {lr}
- movs r2, 0x7
- bl sub_809488C
- pop {r0}
- bx r0
- thumb_func_end sub_808F41C
-
- thumb_func_start sub_808F428
-sub_808F428:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0xA
- bl sub_8094924
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x5
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808F428
-
- thumb_func_start sub_808F448
-sub_808F448:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0xA
- bl sub_809488C
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x5
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808F448
-
- thumb_func_start sub_808F468
-sub_808F468:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x14]
- movs r0, 0
- strh r0, [r4, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x18]
- add r7, sp, 0xC
-_0808F488:
- ldr r1, [sp, 0x18]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x41
- bne _0808F49C
- movs r0, 0x41
- adds r1, r7, 0
- bl sub_808DD48
- b _0808F4A2
-_0808F49C:
- adds r1, r7, 0
- bl sub_808DD48
-_0808F4A2:
- ldrh r0, [r7, 0x2]
- cmp r0, 0
- beq _0808F4B6
- mov r2, r8
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- movs r2, 0
- ldrsh r0, [r7, r2]
- cmp r1, r0
- beq _0808F4C2
-_0808F4B6:
- ldr r3, [sp, 0x18]
- adds r3, 0x1
- str r3, [sp, 0x18]
- ldr r0, _0808F4D4
- cmp r3, r0
- ble _0808F488
-_0808F4C2:
- movs r0, 0xD4
- lsls r0, 1
- ldr r1, [sp, 0x18]
- cmp r1, r0
- bne _0808F4D8
- movs r0, 0x4
- strh r0, [r4, 0x4]
- b _0808F6EC
- .align 2, 0
-_0808F4D4: .4byte 0x000001a7
-_0808F4D8:
- movs r2, 0x1
- str r2, [sp, 0x18]
- movs r3, 0x8
- mov r10, r3
-_0808F4E0:
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x18]
- lsls r0, r1, 16
- asrs r0, 16
- str r0, [sp, 0x1C]
- adds r1, r7, 0
- bl sub_808DD48
- ldrh r0, [r7, 0x2]
- cmp r0, 0
- bne _0808F4FA
- b _0808F6DE
-_0808F4FA:
- mov r2, r8
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- movs r2, 0
- ldrsh r0, [r7, r2]
- cmp r1, r0
- beq _0808F50A
- b _0808F6DE
-_0808F50A:
- ldr r0, [sp, 0x1C]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r5, r0, 24
- mov r3, r8
- movs r1, 0x8
- ldrsh r0, [r3, r1]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- mov r0, sp
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _0808F544
- ldrh r0, [r4, 0x4]
- movs r1, 0x20
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r2, 0x1
- mov r9, r2
- b _0808F566
-_0808F544:
- mov r0, sp
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- cmp r5, r6
- bne _0808F550
- subs r1, 0x1
-_0808F550:
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r1
- bgt _0808F566
- ldrh r0, [r4, 0x4]
- movs r1, 0x40
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r3, 0x1
- mov r9, r3
-_0808F566:
- ldrh r0, [r7, 0x2]
- cmp r0, 0x1
- bne _0808F588
- ldrh r2, [r4, 0x4]
- ands r0, r2
- cmp r0, 0
- beq _0808F576
- b _0808F6DE
-_0808F576:
- mov r0, r8
- ldrb r1, [r0, 0x3]
- movs r3, 0x4
- ldrsh r0, [r7, r3]
- cmp r1, r0
- bge _0808F5E6
- movs r0, 0x2
- orrs r0, r2
- b _0808F5C8
-_0808F588:
- cmp r0, 0x2
- bne _0808F5A8
- mov r2, r8
- movs r3, 0x14
- ldrsh r1, [r2, r3]
- movs r2, 0x4
- ldrsh r0, [r7, r2]
- cmp r1, r0
- bge _0808F5E6
- ldrh r0, [r4, 0x4]
- movs r1, 0x10
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r3, 0x1
- mov r9, r3
- b _0808F5E6
-_0808F5A8:
- cmp r0, 0x3
- bne _0808F5E6
- ldr r0, [sp, 0x14]
- cmp r0, 0
- beq _0808F5D0
- ldrb r0, [r4]
- movs r2, 0x4
- ldrsh r1, [r7, r2]
- cmp r0, r1
- beq _0808F5E6
- ldrb r0, [r4, 0x1]
- cmp r0, r1
- beq _0808F5E6
- ldrh r0, [r4, 0x4]
- mov r3, r10
- orrs r0, r3
-_0808F5C8:
- strh r0, [r4, 0x4]
- movs r0, 0x1
- mov r9, r0
- b _0808F5E6
-_0808F5D0:
- ldrb r0, [r7, 0x4]
- bl sub_8091130
- cmp r0, 0
- bge _0808F5E6
- ldrh r0, [r4, 0x4]
- mov r1, r10
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r2, 0x1
- mov r9, r2
-_0808F5E6:
- ldrh r0, [r7, 0x6]
- cmp r0, 0x4
- bne _0808F604
- ldr r3, [sp, 0x14]
- cmp r3, 0
- beq _0808F600
- ldrb r0, [r4]
- cmp r0, 0x76
- beq _0808F6CA
- ldrb r0, [r4, 0x1]
- cmp r0, 0x76
- beq _0808F6CA
- b _0808F666
-_0808F600:
- movs r0, 0x76
- b _0808F672
-_0808F604:
- cmp r0, 0x5
- bne _0808F614
- mov r3, r8
- ldrb r0, [r3, 0x18]
- ldrb r1, [r3, 0x1A]
- cmp r0, r1
- bhi _0808F6CA
- b _0808F6DE
-_0808F614:
- cmp r0, 0x6
- bne _0808F624
- mov r2, r8
- ldrb r0, [r2, 0x18]
- ldrb r3, [r2, 0x1A]
- cmp r0, r3
- bcc _0808F6CA
- b _0808F6DE
-_0808F624:
- cmp r0, 0x7
- bne _0808F634
- mov r1, r8
- ldrb r0, [r1, 0x18]
- ldrb r2, [r1, 0x1A]
- cmp r0, r2
- beq _0808F6CA
- b _0808F6DE
-_0808F634:
- cmp r0, 0x8
- bne _0808F650
- ldr r3, [sp, 0x14]
- cmp r3, 0
- beq _0808F64C
- ldrb r0, [r4]
- cmp r0, 0x30
- beq _0808F6CA
- ldrb r0, [r4, 0x1]
- cmp r0, 0x30
- beq _0808F6CA
- b _0808F666
-_0808F64C:
- movs r0, 0x30
- b _0808F672
-_0808F650:
- cmp r0, 0x9
- bne _0808F684
- ldr r3, [sp, 0x14]
- cmp r3, 0
- beq _0808F670
- ldrb r0, [r4]
- cmp r0, 0x31
- beq _0808F6CA
- ldrb r0, [r4, 0x1]
- cmp r0, 0x31
- beq _0808F6CA
-_0808F666:
- ldrh r0, [r4, 0x4]
- mov r1, r10
- orrs r0, r1
- strh r0, [r4, 0x4]
- b _0808F6DE
-_0808F670:
- movs r0, 0x31
-_0808F672:
- bl sub_8091130
- cmp r0, 0
- bge _0808F6CA
- ldrh r0, [r4, 0x4]
- mov r2, r10
- orrs r0, r2
- strh r0, [r4, 0x4]
- b _0808F6DE
-_0808F684:
- cmp r0, 0xB
- bne _0808F694
- ldrb r1, [r4, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808F6CA
- b _0808F6DE
-_0808F694:
- cmp r0, 0xC
- bne _0808F6A4
- ldrb r1, [r4, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0808F6CA
- b _0808F6DE
-_0808F6A4:
- cmp r0, 0xA
- bne _0808F6CA
- ldr r3, [sp, 0x14]
- cmp r3, 0
- beq _0808F6BC
- ldrb r0, [r4]
- cmp r0, 0x2F
- beq _0808F6CA
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2F
- beq _0808F6CA
- b _0808F6DE
-_0808F6BC:
- movs r0, 0x2F
- bl sub_8091130
- cmp r0, 0
- bge _0808F6CA
- movs r0, 0x1
- mov r9, r0
-_0808F6CA:
- mov r1, r9
- cmp r1, 0
- bne _0808F6DE
- ldrh r0, [r4, 0x4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4, 0x4]
- mov r2, sp
- ldrh r2, [r2, 0x1C]
- strh r2, [r4, 0x6]
-_0808F6DE:
- ldr r3, [sp, 0x18]
- adds r3, 0x1
- str r3, [sp, 0x18]
- ldr r0, _0808F6FC
- cmp r3, r0
- bgt _0808F6EC
- b _0808F4E0
-_0808F6EC:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F6FC: .4byte 0x000001a7
- thumb_func_end sub_808F468
-
- thumb_func_start sub_808F700
-sub_808F700:
- push {r4,lr}
- sub sp, 0x8
- mov r4, sp
- mov r1, sp
- movs r2, 0
- bl sub_808F468
- ldrh r1, [r4, 0x4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808F71C
- movs r0, 0x1
- b _0808F72A
-_0808F71C:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0808F728
- movs r0, 0
- b _0808F72A
-_0808F728:
- movs r0, 0x2
-_0808F72A:
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808F700
-
- thumb_func_start sub_808F734
-sub_808F734:
- push {r4-r7,lr}
- sub sp, 0x58
- adds r5, r0, 0
- lsls r4, r1, 16
- asrs r4, 16
- movs r6, 0
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x58
- bl memcpy
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_808F798
- adds r7, r0, 0
- movs r0, 0x9E
- lsls r0, 1
- cmp r4, r0
- bne _0808F782
- mov r0, sp
- strb r6, [r0, 0x2]
- add r0, sp, 0x28
- strb r6, [r0]
- add r4, sp, 0x4C
- ldr r5, _0808F794
- adds r0, r5, 0
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
- mov r0, sp
- adds r1, r5, 0
- bl sub_808F798
- adds r6, r0, 0
-_0808F782:
- cmp r6, 0
- beq _0808F78A
- bl sub_8097848
-_0808F78A:
- adds r0, r7, 0
- add sp, 0x58
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808F794: .4byte 0x0000013d
- thumb_func_end sub_808F734
-
- thumb_func_start sub_808F798
-sub_808F798:
- push {r4-r6,lr}
- sub sp, 0xA4
- adds r4, r0, 0
- lsls r1, 16
- asrs r5, r1, 16
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x58
- bl memcpy
- mov r0, sp
- movs r1, 0x8
- ldrsh r6, [r0, r1]
- add r0, sp, 0x58
- mov r1, sp
- ldrb r2, [r1, 0x3]
- adds r1, r5, 0
- bl sub_808E010
- ldr r0, [sp, 0x58]
- str r0, [sp, 0x1C]
- movs r0, 0
- strh r0, [r4]
- mov r0, sp
- strh r5, [r0, 0x8]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0808F7DA
- mov r0, sp
- mov r1, sp
- ldrb r1, [r1, 0x3]
- strb r1, [r0, 0xC]
- b _0808F7EA
-_0808F7DA:
- mov r0, sp
- ldrb r0, [r0, 0x10]
- cmp r0, 0
- bne _0808F7EA
- mov r0, sp
- mov r1, sp
- ldrb r1, [r1, 0x3]
- strb r1, [r0, 0x10]
-_0808F7EA:
- add r4, sp, 0x64
- adds r0, r6, 0
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80922F4
- movs r2, 0
- b _0808F800
-_0808F7FE:
- adds r2, 0x1
-_0808F800:
- cmp r2, 0x9
- bgt _0808F816
- adds r1, r4, r2
- add r0, sp, 0x4C
- adds r0, r2
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bne _0808F82E
- cmp r1, 0
- bne _0808F7FE
-_0808F816:
- movs r0, 0x1
- cmp r0, 0
- beq _0808F82E
- add r4, sp, 0x4C
- adds r0, r5, 0
- bl sub_808D994
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_8092310
-_0808F82E:
- mov r0, sp
- bl sub_808D1DC
- add sp, 0xA4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808F798
-
- thumb_func_start sub_808F83C
-sub_808F83C:
- movs r0, 0
- strb r0, [r2]
- bx lr
- thumb_func_end sub_808F83C
-
- thumb_func_start sub_808F844
-sub_808F844:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r5, r0, 0
- adds r4, r1, 0
- mov r10, r2
- str r3, [sp, 0x2C]
- ldr r0, [sp, 0x50]
- bl sub_80073B8
- ldr r0, _0808F880
- mov r1, r10
- adds r1, 0x2
- movs r2, 0x14
- bl strncpy
- movs r0, 0x20
- mov r9, r0
- cmp r5, 0x5
- bls _0808F874
- b _0808FED6
-_0808F874:
- lsls r0, r5, 2
- ldr r1, _0808F884
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808F880: .4byte gUnknown_202DF98
-_0808F884: .4byte _0808F888
- .align 2, 0
-_0808F888:
- .4byte _0808FED6
- .4byte _0808FBF4
- .4byte _0808F8A0
- .4byte _0808FB44
- .4byte _0808FCB0
- .4byte _0808FDB0
-_0808F8A0:
- lsls r0, r4, 3
- adds r0, 0x10
- ldr r2, _0808F998
- movs r5, 0
- str r5, [sp]
- movs r1, 0
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- ldr r4, _0808F99C
- mov r1, r10
- ldr r0, [r1, 0x2C]
- str r0, [r4]
- ldr r0, [r1, 0x30]
- str r0, [r4, 0x4]
- ldr r0, _0808F9A0
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r2, 0xA
- add r9, r2
- ldr r0, _0808F9A4
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r3, 0xA
- add r9, r3
- mov r0, r10
- ldr r2, [r0, 0x2C]
- cmp r2, 0x63
- bgt _0808F914
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r2, 0x1
- add r0, sp, 0x8
- bl sub_808E010
- ldr r0, [sp, 0x8]
- mov r2, r10
- ldr r1, [r2, 0x30]
- subs r0, r1
- str r0, [r4]
- ldr r0, _0808F9A8
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
-_0808F914:
- movs r3, 0xC
- add r9, r3
- mov r1, r10
- ldr r0, [r1, 0x24]
- str r0, [r4]
- ldr r0, [r1, 0x28]
- str r0, [r4, 0x4]
- ldr r0, _0808F9AC
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r2, 0xA
- add r9, r2
- ldr r0, _0808F9B0
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- ldr r0, _0808F9B4
- ldr r2, [r0]
- mov r0, r10
- adds r0, 0x34
- ldrb r3, [r0]
- str r3, [r4]
- mov r1, r10
- adds r1, 0x39
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808F964
- adds r0, r3, r0
- str r0, [r4]
- ldr r0, _0808F9B8
- ldr r2, [r0]
-_0808F964:
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- mov r1, r10
- adds r1, 0x3B
- ldrb r3, [r1]
- cmp r3, 0
- beq _0808F9C0
- mov r0, r10
- adds r0, 0x36
- ldrb r0, [r0]
- adds r1, r3, 0
- adds r0, r1
- str r0, [r4]
- ldr r0, _0808F9BC
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- b _0808F9D8
- .align 2, 0
-_0808F998: .4byte gUnknown_8107754
-_0808F99C: .4byte gUnknown_202DE30
-_0808F9A0: .4byte gUnknown_810DD80
-_0808F9A4: .4byte gUnknown_810DD9C
-_0808F9A8: .4byte gUnknown_810DDB8
-_0808F9AC: .4byte gUnknown_810DDD0
-_0808F9B0: .4byte gUnknown_810DDE4
-_0808F9B4: .4byte gUnknown_810DE0C
-_0808F9B8: .4byte gUnknown_810DE20
-_0808F9BC: .4byte gUnknown_810DE4C
-_0808F9C0:
- mov r0, r10
- adds r0, 0x36
- ldrb r0, [r0]
- str r0, [r4]
- ldr r0, _0808FA44
- ldr r2, [r0]
- str r3, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
-_0808F9D8:
- movs r3, 0xA
- add r9, r3
- ldr r0, _0808FA48
- ldr r2, [r0]
- movs r5, 0
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- ldr r0, _0808FA4C
- ldr r2, [r0]
- ldr r4, _0808FA50
- mov r0, r10
- adds r0, 0x35
- ldrb r3, [r0]
- str r3, [r4]
- mov r1, r10
- adds r1, 0x3A
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808FA0E
- adds r0, r3, r0
- str r0, [r4]
- ldr r0, _0808FA54
- ldr r2, [r0]
-_0808FA0E:
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- mov r1, r10
- adds r1, 0x3C
- ldrb r3, [r1]
- cmp r3, 0
- beq _0808FA5C
- mov r0, r10
- adds r0, 0x37
- ldrb r0, [r0]
- adds r1, r3, 0
- adds r0, r1
- str r0, [r4]
- ldr r0, _0808FA58
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- b _0808FA74
- .align 2, 0
-_0808FA44: .4byte gUnknown_810DE38
-_0808FA48: .4byte gUnknown_810DDFC
-_0808FA4C: .4byte gUnknown_810DE24
-_0808FA50: .4byte gUnknown_202DE30
-_0808FA54: .4byte gUnknown_810DE28
-_0808FA58: .4byte gUnknown_810DE54
-_0808FA5C:
- mov r0, r10
- adds r0, 0x37
- ldrb r0, [r0]
- str r0, [r4]
- ldr r0, _0808FA94
- ldr r2, [r0]
- str r3, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
-_0808FA74:
- movs r0, 0xA
- add r9, r0
- mov r2, r10
- adds r2, 0x20
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808FA9C
- ldr r0, _0808FA98
- adds r1, r2, 0
- movs r2, 0
- bl sub_8090E14
- b _0808FAA6
- .align 2, 0
-_0808FA94: .4byte gUnknown_810DE50
-_0808FA98: .4byte gUnknown_202DE58
-_0808FA9C:
- ldr r0, _0808FB24
- ldr r1, _0808FB28
- ldr r1, [r1]
- bl strcpy
-_0808FAA6:
- ldr r0, _0808FB2C
- ldr r2, [r0]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r1, 0xC
- add r9, r1
- ldr r1, _0808FB30
- mov r2, r10
- movs r3, 0x3E
- ldrsh r0, [r2, r3]
- str r0, [r1]
- movs r1, 0x3E
- ldrsh r0, [r2, r1]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _0808FADA
- movs r0, 0
-_0808FADA:
- cmp r0, 0x62
- ble _0808FAE0
- movs r0, 0x63
-_0808FAE0:
- ldr r1, _0808FB34
- lsls r0, 2
- adds r0, r1
- ldr r5, _0808FB38
- ldr r1, [r0]
- adds r0, r5, 0
- bl strcpy
- ldr r0, _0808FB3C
- ldr r2, [r0]
- str r4, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r2, 0xA
- add r9, r2
- mov r0, r10
- adds r0, 0x38
- ldrb r4, [r0]
- cmp r4, 0
- beq _0808FB10
- b _0808FED6
-_0808FB10:
- adds r0, 0x1C
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_808EAC0
- ldr r0, _0808FB40
- ldr r2, [r0]
- str r4, [sp]
- b _0808FECC
- .align 2, 0
-_0808FB24: .4byte gUnknown_202DE58
-_0808FB28: .4byte gUnknown_810DE58
-_0808FB2C: .4byte gUnknown_810DE6C
-_0808FB30: .4byte gUnknown_202DE30
-_0808FB34: .4byte gUnknown_8115718
-_0808FB38: .4byte gUnknown_202DF98
-_0808FB3C: .4byte gUnknown_810DE80
-_0808FB40: .4byte gUnknown_810DE98
-_0808FB44:
- lsls r0, r4, 3
- adds r0, 0x10
- ldr r2, _0808FBE8
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- ldr r2, _0808FBEC
- str r4, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- mov r3, r10
- ldrb r0, [r3, 0x16]
- bl sub_8092344
- adds r2, r0, 0
- str r4, [sp]
- movs r0, 0x38
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- mov r1, r10
- ldrb r0, [r1, 0x17]
- cmp r0, 0
- beq _0808FB94
- bl sub_8092344
- adds r2, r0, 0
- str r4, [sp]
- movs r0, 0x60
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
-_0808FB94:
- movs r2, 0xC
- add r9, r2
- ldr r2, _0808FBF0
- str r4, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r3, 0xC
- add r9, r3
- mov r1, r10
- ldrb r0, [r1, 0x18]
- bl sub_8092390
- adds r2, r0, 0
- str r4, [sp]
- movs r5, 0xB
- str r5, [sp, 0x4]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8015034
- movs r2, 0x21
- add r9, r2
- mov r3, r10
- ldrb r0, [r3, 0x19]
- cmp r0, 0
- bne _0808FBD2
- b _0808FED6
-_0808FBD2:
- bl sub_8092390
- adds r2, r0, 0
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8015034
- b _0808FED6
- .align 2, 0
-_0808FBE8: .4byte gUnknown_810775C
-_0808FBEC: .4byte gUnknown_8107768
-_0808FBF0: .4byte gUnknown_8107770
-_0808FBF4:
- lsls r0, r4, 3
- adds r0, 0x10
- ldr r1, _0808FC34
- ldr r2, [r1]
- movs r1, 0
- str r1, [sp]
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- mov r0, r10
- adds r0, 0x56
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r5, r0, 0x1
- movs r2, 0xC
- negs r2, r2
- add r9, r2
- movs r7, 0
- ldr r6, [sp, 0x2C]
- adds r6, 0xC
- adds r1, r6, 0
- movs r2, 0
- ldr r0, [sp, 0x2C]
- adds r0, 0x2C
-_0808FC24:
- str r2, [r0]
- subs r0, 0x4
- cmp r0, r1
- bge _0808FC24
- movs r3, 0
- mov r8, r3
- b _0808FC88
- .align 2, 0
-_0808FC34: .4byte gUnknown_810DD58
-_0808FC38:
- mov r0, r10
- adds r0, 0x58
- adds r4, r0, r5
- ldrb r0, [r4]
- cmp r0, 0
- beq _0808FC78
- movs r7, 0x1
- ldr r0, _0808FCA0
- ldrb r1, [r4]
- lsls r1, 2
- adds r1, r0
- ldr r0, _0808FCA4
- ldr r1, [r1]
- movs r2, 0x50
- bl strncpy
- ldr r2, _0808FCA8
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- mov r0, r8
- cmp r0, 0
- ble _0808FC78
- subs r0, 0x1
- lsls r0, 2
- adds r0, r6, r0
- ldrb r1, [r4]
- str r1, [r0]
-_0808FC78:
- movs r1, 0x1
- add r8, r1
- adds r5, 0x1
- movs r2, 0xC
- add r9, r2
- mov r3, r8
- cmp r3, 0x9
- bgt _0808FC90
-_0808FC88:
- cmp r5, 0
- blt _0808FC78
- cmp r5, 0xB
- ble _0808FC38
-_0808FC90:
- cmp r7, 0
- beq _0808FC96
- b _0808FED6
-_0808FC96:
- ldr r0, _0808FCAC
- ldr r2, [r0]
- str r7, [sp]
- b _0808FD98
- .align 2, 0
-_0808FCA0: .4byte gUnknown_810CF1C
-_0808FCA4: .4byte gUnknown_202DEA8
-_0808FCA8: .4byte gUnknown_8107784
-_0808FCAC: .4byte gUnknown_810DF78
-_0808FCB0:
- lsls r0, r4, 3
- adds r0, 0x10
- ldr r1, _0808FCF8
- ldr r2, [r1]
- movs r1, 0
- str r1, [sp]
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- add r4, sp, 0x14
- mov r0, r10
- movs r2, 0x3E
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_808EBA8
- mov r0, r10
- adds r0, 0x40
- movs r3, 0
- ldrsh r0, [r0, r3]
- subs r7, r0, 0x1
- mov r1, r9
- subs r1, 0xC
- movs r2, 0
- ldr r0, [sp, 0x2C]
- adds r0, 0x8
-_0808FCE4:
- strb r2, [r0]
- subs r0, 0x1
- ldr r3, [sp, 0x2C]
- cmp r0, r3
- bge _0808FCE4
- mov r9, r1
- movs r4, 0
- mov r8, r4
- b _0808FD84
- .align 2, 0
-_0808FCF8: .4byte gUnknown_810DD68
-_0808FCFC:
- mov r5, sp
- adds r5, r7
- adds r5, 0x14
- ldrb r0, [r5]
- cmp r0, 0
- beq _0808FD74
- movs r4, 0x1
- bl sub_808EAB0
- adds r1, r0, 0
- ldr r6, _0808FD3C
- adds r0, r6, 0
- movs r2, 0x50
- bl strncpy
- mov r0, r10
- adds r0, 0x50
- adds r1, r4, 0
- ldrb r5, [r5]
- lsls r1, r5
- bl sub_808ECD0
- lsls r0, 24
- cmp r0, 0
- beq _0808FD44
- adds r0, r6, 0
- subs r0, 0x50
- ldr r1, _0808FD40
- bl strcpy
- b _0808FD4E
- .align 2, 0
-_0808FD3C: .4byte gUnknown_202DEA8
-_0808FD40: .4byte gUnknown_8107788
-_0808FD44:
- adds r0, r6, 0
- subs r0, 0x50
- ldr r1, _0808FDA4
- bl strcpy
-_0808FD4E:
- mov r0, r8
- cmp r0, 0
- ble _0808FD64
- subs r0, 0x1
- ldr r1, [sp, 0x2C]
- adds r0, r1, r0
- mov r1, sp
- adds r1, r7
- adds r1, 0x14
- ldrb r1, [r1]
- strb r1, [r0]
-_0808FD64:
- ldr r2, _0808FDA8
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
-_0808FD74:
- movs r2, 0x1
- add r8, r2
- adds r7, 0x1
- movs r3, 0xC
- add r9, r3
- mov r0, r8
- cmp r0, 0x9
- bgt _0808FD8C
-_0808FD84:
- cmp r7, 0
- blt _0808FD74
- cmp r7, 0x17
- ble _0808FCFC
-_0808FD8C:
- cmp r4, 0
- beq _0808FD92
- b _0808FED6
-_0808FD92:
- ldr r0, _0808FDAC
- ldr r2, [r0]
- str r4, [sp]
-_0808FD98:
- movs r0, 0xC
- movs r1, 0x20
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- b _0808FED6
- .align 2, 0
-_0808FDA4: .4byte gUnknown_810778C
-_0808FDA8: .4byte gUnknown_8107790
-_0808FDAC: .4byte gUnknown_810DF84
-_0808FDB0:
- lsls r0, r4, 3
- adds r0, 0x10
- ldr r2, _0808FEEC
- movs r5, 0
- str r5, [sp]
- movs r1, 0
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- ldr r6, _0808FEF0
- mov r2, r10
- movs r3, 0
- ldrsh r1, [r2, r3]
- adds r0, r6, 0
- bl sub_808D8BC
- ldr r1, _0808FEF4
- mov r2, r10
- movs r3, 0
- ldrsh r0, [r2, r3]
- str r0, [r1]
- ldr r0, _0808FEF8
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r0, 0xA
- add r9, r0
- mov r1, r10
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092524
- adds r1, r0, 0
- ldr r4, _0808FEFC
- adds r0, r4, 0
- movs r2, 0x50
- bl strncpy
- ldr r0, _0808FF00
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r3, 0xA
- add r9, r3
- ldr r0, _0808FF04
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r0, 0xD
- add r9, r0
- ldr r0, _0808FF08
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r1, 0xA
- add r9, r1
- mov r1, r10
- adds r1, 0x1C
- adds r0, r4, 0
- bl sub_8090208
- ldr r0, _0808FF0C
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r2, 0xD
- add r9, r2
- mov r3, r10
- movs r1, 0
- ldrsh r0, [r3, r1]
- bl sub_808DAB4
- adds r1, r0, 0
- adds r0, r6, 0
- movs r2, 0x14
- bl strncpy
- ldr r0, _0808FF10
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r2, 0xD
- add r9, r2
- ldr r4, _0808FF14
- mov r3, r10
- movs r1, 0
- ldrsh r0, [r3, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- adds r0, r6, 0
- bl strcpy
- ldr r0, _0808FF18
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
- movs r2, 0xD
- add r9, r2
- ldr r1, _0808FF1C
- mov r0, r10
- adds r0, 0x4C
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- str r5, [sp]
-_0808FECC:
- movs r0, 0x4
- mov r1, r9
- ldr r3, [sp, 0x50]
- bl sub_8014FF0
-_0808FED6:
- ldr r0, [sp, 0x50]
- bl sub_80073E0
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FEEC: .4byte gUnknown_8107798
-_0808FEF0: .4byte gUnknown_202DF98
-_0808FEF4: .4byte gUnknown_202DE30
-_0808FEF8: .4byte gUnknown_810DEB4
-_0808FEFC: .4byte gUnknown_202DE58
-_0808FF00: .4byte gUnknown_810DEC8
-_0808FF04: .4byte gUnknown_810DEDC
-_0808FF08: .4byte gUnknown_810DFB4
-_0808FF0C: .4byte gUnknown_810DFC8
-_0808FF10: .4byte gUnknown_810DEF4
-_0808FF14: .4byte gUnknown_810E02C
-_0808FF18: .4byte gUnknown_810DF98
-_0808FF1C: .4byte gUnknown_810DFCC
- thumb_func_end sub_808F844
-
- thumb_func_start sub_808FF20
-sub_808FF20:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- adds r0, r5, 0x2
- movs r2, 0
- bl sub_808D9AC
- ldrh r0, [r6, 0x8]
- strh r0, [r5]
- movs r1, 0x16
- ldrsh r0, [r6, r1]
- str r0, [r5, 0x24]
- str r0, [r5, 0x28]
- ldrb r0, [r6, 0x3]
- str r0, [r5, 0x2C]
- ldr r0, [r6, 0x1C]
- str r0, [r5, 0x30]
- movs r4, 0
-_0808FF50:
- adds r1, r5, 0
- adds r1, 0x34
- adds r1, r4
- adds r0, r6, 0
- adds r0, 0x18
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r5, 0
- adds r1, 0x36
- adds r1, r4
- adds r0, r6, 0
- adds r0, 0x1A
- adds r0, r4
- ldrb r0, [r0]
- strb r0, [r1]
- movs r7, 0x8
- ldrsh r0, [r6, r7]
- adds r1, r4, 0
- bl sub_808DC68
- adds r1, r5, 0
- adds r1, 0x16
- adds r1, r4
- strb r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- adds r1, r4, 0
- bl sub_808DC84
- adds r1, r5, 0
- adds r1, 0x18
- adds r1, r4
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x1
- ble _0808FF50
- ldrb r2, [r6, 0x2]
- adds r1, r5, 0
- adds r1, 0x38
- movs r0, 0
- strb r2, [r1]
- adds r2, r5, 0
- adds r2, 0x39
- strb r0, [r2]
- adds r3, r5, 0
- adds r3, 0x3A
- strb r0, [r3]
- movs r7, 0x3B
- adds r7, r5
- mov r12, r7
- strb r0, [r7]
- movs r1, 0x3C
- adds r1, r5
- mov r9, r1
- strb r0, [r1]
- adds r0, r6, 0
- adds r0, 0x28
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0
- beq _08090026
- cmp r1, 0x13
- bne _0808FFDA
- ldr r0, _08090060
- ldrb r0, [r0]
- ldrb r7, [r2]
- adds r0, r7
- strb r0, [r2]
-_0808FFDA:
- ldrb r1, [r4]
- cmp r1, 0x21
- bne _0808FFEA
- ldr r0, _08090064
- ldrb r0, [r0]
- ldrb r7, [r3]
- adds r0, r7
- strb r0, [r3]
-_0808FFEA:
- cmp r1, 0x2B
- bne _0808FFFE
- ldr r0, _08090068
- ldrb r0, [r0]
- ldrb r7, [r2]
- adds r1, r0, r7
- strb r1, [r2]
- ldrb r1, [r3]
- adds r0, r1
- strb r0, [r3]
-_0808FFFE:
- ldrb r0, [r4]
- cmp r0, 0x1E
- bne _08090012
- ldr r0, _0809006C
- ldrb r0, [r0]
- mov r2, r12
- ldrb r2, [r2]
- adds r0, r2
- mov r7, r12
- strb r0, [r7]
-_08090012:
- ldrb r0, [r4]
- cmp r0, 0x22
- bne _08090026
- ldr r0, _08090070
- ldrb r0, [r0]
- mov r1, r9
- ldrb r1, [r1]
- adds r0, r1
- mov r2, r9
- strb r0, [r2]
-_08090026:
- adds r0, r6, 0
- adds r0, 0x24
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x54
- strb r1, [r0]
- subs r0, 0x34
- adds r1, r4, 0
- bl sub_8090B64
- ldrh r0, [r6, 0x14]
- strh r0, [r5, 0x3E]
- ldr r0, [r6, 0x4]
- str r0, [r5, 0x1C]
- ldr r0, [r6, 0xC]
- str r0, [r5, 0x44]
- ldr r0, [r6, 0x10]
- str r0, [r5, 0x48]
- ldr r0, [r6, 0x20]
- str r0, [r5, 0x50]
- mov r7, r8
- cmp r7, 0
- beq _08090074
- adds r0, r6, 0
- bl sub_808F700
- adds r1, r5, 0
- adds r1, 0x4C
- b _0809007A
- .align 2, 0
-_08090060: .4byte gUnknown_810AC60
-_08090064: .4byte gUnknown_810AC62
-_08090068: .4byte gUnknown_810AC68
-_0809006C: .4byte gUnknown_810AC64
-_08090070: .4byte gUnknown_810AC66
-_08090074:
- adds r1, r5, 0
- adds r1, 0x4C
- movs r0, 0x3
-_0809007A:
- strb r0, [r1]
- adds r1, r5, 0
- adds r1, 0x58
- movs r2, 0
- adds r0, r5, 0
- adds r0, 0x63
-_08090086:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _08090086
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808FF20
-
- thumb_func_start sub_809009C
-sub_809009C:
- lsls r0, 24
- ldr r1, _080900A8
- lsrs r0, 21
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080900A8: .4byte gUnknown_8111A28
- thumb_func_end sub_809009C
-
- thumb_func_start sub_80900AC
-sub_80900AC:
- lsls r0, 24
- ldr r1, _080900BC
- lsrs r0, 21
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080900BC: .4byte gUnknown_8111A28
- thumb_func_end sub_80900AC
-
- thumb_func_start sub_80900C0
-sub_80900C0:
- lsls r0, 24
- ldr r1, _080900CC
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080900CC: .4byte gUnknown_8109D30
- thumb_func_end sub_80900C0
-
- thumb_func_start sub_80900D0
-sub_80900D0:
- lsls r0, 24
- ldr r1, _080900E0
- lsrs r0, 20
- adds r0, r1
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080900E0: .4byte gUnknown_8109D30
- thumb_func_end sub_80900D0
-
- thumb_func_start sub_80900E4
-sub_80900E4:
- lsls r0, 24
- ldr r1, _080900F0
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0xA]
- bx lr
- .align 2, 0
-_080900F0: .4byte gUnknown_8109D30
- thumb_func_end sub_80900E4
-
- thumb_func_start sub_80900F4
-sub_80900F4:
- lsls r0, 24
- ldr r1, _08090100
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x9]
- bx lr
- .align 2, 0
-_08090100: .4byte gUnknown_8109D30
- thumb_func_end sub_80900F4
-
- thumb_func_start sub_8090104
-sub_8090104:
- lsls r0, 24
- ldr r1, _08090110
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_08090110: .4byte gUnknown_8109D30
- thumb_func_end sub_8090104
-
- thumb_func_start sub_8090114
-sub_8090114:
- lsls r0, 24
- ldr r1, _08090120
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_08090120: .4byte gUnknown_8109D30
- thumb_func_end sub_8090114
-
- thumb_func_start sub_8090124
-sub_8090124:
- lsls r0, 24
- ldr r1, _08090130
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x7]
- bx lr
- .align 2, 0
-_08090130: .4byte gUnknown_8109D30
- thumb_func_end sub_8090124
-
- thumb_func_start sub_8090134
-sub_8090134:
- lsls r0, 24
- ldr r1, _08090144
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x3]
- lsls r0, 24
- asrs r0, 24
- bx lr
- .align 2, 0
-_08090144: .4byte gUnknown_8109D30
- thumb_func_end sub_8090134
-
- thumb_func_start sub_8090148
-sub_8090148:
- lsls r0, 24
- ldr r1, _08090154
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_08090154: .4byte gUnknown_8109D30
- thumb_func_end sub_8090148
-
- thumb_func_start sub_8090158
-sub_8090158:
- lsls r0, 24
- ldr r1, _08090164
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08090164: .4byte gUnknown_8109D30
- thumb_func_end sub_8090158
-
- thumb_func_start sub_8090168
-sub_8090168:
- lsls r0, 24
- ldr r1, _08090178
- lsrs r0, 20
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08090178: .4byte gUnknown_8109D30
- thumb_func_end sub_8090168
-
- thumb_func_start sub_809017C
-sub_809017C:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r1, r0, 0
- mov r0, sp
- bl sub_80901D8
- movs r5, 0
- ldr r2, _080901AC
- ldrb r0, [r2]
- cmp r0, 0x3F
- beq _080901C6
- mov r3, sp
- ldrb r6, [r3]
- movs r4, 0
- adds r1, r2, 0
-_0809019A:
- ldrb r0, [r1]
- cmp r6, r0
- bne _080901B0
- ldrb r0, [r3, 0x1]
- ldrb r2, [r1, 0x1]
- cmp r0, r2
- bne _080901B0
- movs r0, 0x1
- b _080901C8
- .align 2, 0
-_080901AC: .4byte gUnknown_8107828
-_080901B0:
- adds r4, 0x4
- adds r1, 0x4
- adds r5, 0x1
- ldr r0, _080901D0
- cmp r5, r0
- bgt _080901C6
- ldr r2, _080901D4
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0x3F
- bne _0809019A
-_080901C6:
- movs r0, 0
-_080901C8:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080901D0: .4byte 0x000003e6
-_080901D4: .4byte gUnknown_8107828
- thumb_func_end sub_809017C
-
- thumb_func_start sub_80901D8
-sub_80901D8:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldrb r0, [r2]
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- bhi _080901FE
- movs r0, 0x34
- strb r0, [r3]
- ldrb r1, [r2]
- subs r1, 0x4B
- lsls r0, r1, 1
- adds r0, r1
- ldrb r2, [r2, 0x1]
- adds r0, r2
- strb r0, [r3, 0x1]
- b _08090202
-_080901FE:
- ldr r0, [r2]
- str r0, [r3]
-_08090202:
- pop {r0}
- bx r0
- thumb_func_end sub_80901D8
-
- thumb_func_start sub_8090208
-sub_8090208:
- push {lr}
- ldr r3, _08090220
- ldr r2, _08090224
- ldrb r1, [r1]
- lsls r1, 3
- adds r1, r2
- ldr r2, [r1]
- adds r1, r3, 0
- bl sub_800D158
- pop {r0}
- bx r0
- .align 2, 0
-_08090220: .4byte gUnknown_8108F10
-_08090224: .4byte gUnknown_8111A28
- thumb_func_end sub_8090208
-
- thumb_func_start sub_8090228
-sub_8090228:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- ldr r0, _08090250
- ldrb r3, [r4]
- lsls r1, r3, 4
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809025C
- ldr r1, _08090254
- ldr r2, _08090258
- lsls r0, r3, 3
- adds r0, r2
- ldr r2, [r0]
- ldrb r3, [r4, 0x1]
- adds r0, r5, 0
- bl sub_800D158
- b _0809026E
- .align 2, 0
-_08090250: .4byte gUnknown_8109D30
-_08090254: .4byte gUnknown_8108F18
-_08090258: .4byte gUnknown_8111A28
-_0809025C:
- ldr r1, _08090274
- ldr r2, _08090278
- lsls r0, r3, 3
- adds r0, r2
- ldr r2, [r0]
- ldrb r3, [r4, 0x1]
- adds r0, r5, 0
- bl sub_800D158
-_0809026E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090274: .4byte gUnknown_8108F2C
-_08090278: .4byte gUnknown_8111A28
- thumb_func_end sub_8090228
-
- thumb_func_start sub_809027C
-sub_809027C:
- push {lr}
- ldr r2, _08090294
- ldrb r1, [r1]
- lsls r1, 3
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x50
- bl strncpy
- pop {r0}
- bx r0
- .align 2, 0
-_08090294: .4byte gUnknown_8111A28
- thumb_func_end sub_809027C
-
- thumb_func_start sub_8090298
-sub_8090298:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- bhi _080902AE
- movs r0, 0x4
- b _080902C2
-_080902AE:
- cmp r1, 0x3E
- bhi _080902C0
- ldr r0, _080902BC
- adds r0, r1, r0
- ldrb r0, [r0]
- b _080902C2
- .align 2, 0
-_080902BC: .4byte gUnknown_81077A8
-_080902C0:
- movs r0, 0x1
-_080902C2:
- pop {r1}
- bx r1
- thumb_func_end sub_8090298
-
- thumb_func_start sub_80902C8
-sub_80902C8:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x16
- bls _080902EC
- cmp r1, 0x3E
- bhi _080902EC
- ldr r0, _080902E8
- adds r0, r1, r0
- ldrb r0, [r0]
- b _080902EE
- .align 2, 0
-_080902E8: .4byte gUnknown_81077E8
-_080902EC:
- movs r0, 0
-_080902EE:
- pop {r1}
- bx r1
- thumb_func_end sub_80902C8
-
- thumb_func_start sub_80902F4
-sub_80902F4:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x7
- bl sub_809488C
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80902F4
-
- thumb_func_start sub_8090314
-sub_8090314:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r0, 0
- strb r0, [r4]
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- movs r2, 0x7
- bl sub_8094924
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8090314
-
- thumb_func_start sub_809033C
-sub_809033C:
- lsls r0, 24
- ldr r1, _08090348
- lsrs r0, 20
- adds r0, r1
- ldrb r0, [r0, 0x1]
- bx lr
- .align 2, 0
-_08090348: .4byte gUnknown_8109D30
- thumb_func_end sub_809033C
-
- thumb_func_start sub_809034C
-sub_809034C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xF8
- adds r7, r2, 0
- ldr r2, [sp, 0x118]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- asrs r1, 16
- str r1, [sp, 0xE0]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xE4]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0xE8]
- bl sub_8090A34
- str r0, [sp, 0xEC]
- movs r5, 0
- movs r0, 0
- str r0, [sp, 0xF4]
- mov r8, r0
- add r4, sp, 0xC8
- movs r0, 0xA
- strb r0, [r4]
- add r1, sp, 0xF4
- ldrb r1, [r1]
- strb r1, [r4, 0x1]
- ldr r1, _0809040C
- adds r0, r7, 0
- bl strcpy
- movs r2, 0
- str r2, [sp, 0xF0]
- movs r3, 0
- ldr r0, _08090410
- ldr r6, [r0]
- movs r4, 0x1
-_080903A2:
- movs r0, 0x58
- muls r0, r3
- adds r2, r6, r0
- ldrh r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080903D0
- lsrs r0, r1, 1
- ands r0, r4
- cmp r0, 0
- beq _080903D0
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- beq _080903CA
- ldr r0, [sp, 0xF0]
- adds r0, 0x1
- str r0, [sp, 0xF0]
-_080903CA:
- adds r5, 0x1
- cmp r5, 0x4
- beq _080903DA
-_080903D0:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _080903A2
-_080903DA:
- ldr r0, _08090414
- mov r2, r9
- lsls r1, r2, 4
- adds r0, r1, r0
- ldrb r0, [r0, 0x5]
- mov r9, r1
- ldr r1, [sp, 0xE4]
- cmp r1, 0
- bne _080903F2
- cmp r0, 0x3
- ble _080903F2
- movs r0, 0x3
-_080903F2:
- cmp r5, r0
- ble _0809043C
- cmp r0, 0x1
- bne _0809041C
- ldr r0, _08090418
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- b _08090430
- .align 2, 0
-_0809040C: .4byte gUnknown_8108F40
-_08090410: .4byte gUnknown_203B45C
-_08090414: .4byte gUnknown_8109D30
-_08090418: .4byte gUnknown_8115A2C
-_0809041C:
- ldr r1, _08090464
- subs r0, r5, r0
- str r0, [r1]
- ldr r0, _08090468
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
-_08090430:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r2, 0x1
- mov r8, r2
-_0809043C:
- ldr r0, _0809046C
- mov r2, r9
- adds r1, r2, r0
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0809048E
- ldr r1, [sp, 0xEC]
- cmp r0, r1
- bge _0809048E
- ldr r1, _08090464
- str r0, [r1]
- ldr r2, [sp, 0xEC]
- subs r0, r2, r0
- str r0, [r1, 0x4]
- mov r0, r8
- cmp r0, 0
- bne _08090474
- ldr r0, _08090470
- b _08090476
- .align 2, 0
-_08090464: .4byte gUnknown_202DE30
-_08090468: .4byte gUnknown_81159DC
-_0809046C: .4byte gUnknown_8109D30
-_08090470: .4byte gUnknown_8115A80
-_08090474:
- ldr r0, _080904AC
-_08090476:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_0809048E:
- ldr r2, [sp, 0xE0]
- cmp r2, 0
- beq _0809054E
- ldr r0, _080904B0
- adds r1, r2, 0
- bl sub_808D908
- cmp r5, 0x3
- ble _080904D2
- mov r0, r8
- cmp r0, 0
- bne _080904B8
- ldr r0, _080904B4
- b _080904BA
- .align 2, 0
-_080904AC: .4byte gUnknown_8115ADC
-_080904B0: .4byte gUnknown_202DF98
-_080904B4: .4byte gUnknown_8115B3C
-_080904B8:
- ldr r0, _08090528
-_080904BA:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_080904D2:
- ldr r0, [sp, 0xE0]
- bl sub_808DACC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r2, _0809052C
- mov r10, r2
- movs r6, 0x1
-_080904E4:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- mov r2, r10
- ldr r0, [r2]
- adds r2, r0, r1
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08090510
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _08090510
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0
-_08090510:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _080904E4
- cmp r5, 0x6
- ble _0809054E
- mov r2, r8
- cmp r2, 0
- bne _08090534
- ldr r0, _08090530
- b _08090536
- .align 2, 0
-_08090528: .4byte gUnknown_8115BA4
-_0809052C: .4byte gUnknown_203B45C
-_08090530: .4byte gUnknown_8115BF4
-_08090534:
- ldr r0, _080905D0
-_08090536:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r0, 0x1
- mov r8, r0
-_0809054E:
- ldr r1, [sp, 0xE4]
- cmp r1, 0
- beq _08090602
- add r5, sp, 0xCC
- ldr r1, _080905D4
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- add r4, sp, 0xD4
- ldr r1, _080905D8
- adds r0, r4, 0
- movs r2, 0x4
- bl memcpy
- movs r6, 0
- mov r10, r4
- ldr r0, _080905DC
- add r0, r9
- ldrb r5, [r0, 0xB]
- add r4, sp, 0xCC
-_08090578:
- adds r0, r5, 0
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809059E
- ldrh r0, [r4]
- bl sub_8090820
- lsls r0, 24
- cmp r0, 0
- bne _0809059E
- mov r2, r10
- adds r0, r2, r6
- ldrb r0, [r0]
- bl sub_80911A4
- cmp r0, 0
- beq _080905A6
-_0809059E:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _08090578
-_080905A6:
- cmp r6, 0x3
- bgt _08090602
- add r4, sp, 0xD8
- lsls r0, r6, 1
- add r0, sp
- adds r0, 0xCC
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_8092A88
- ldr r0, _080905E0
- adds r1, r4, 0
- movs r2, 0
- bl sub_80928C0
- mov r0, r8
- cmp r0, 0
- bne _080905E8
- ldr r0, _080905E4
- b _080905EA
- .align 2, 0
-_080905D0: .4byte gUnknown_8115C4C
-_080905D4: .4byte gUnknown_8108F42
-_080905D8: .4byte gUnknown_8108F4A
-_080905DC: .4byte gUnknown_8109D30
-_080905E0: .4byte gUnknown_202DE58
-_080905E4: .4byte gUnknown_8115CB8
-_080905E8:
- ldr r0, _080906A0
-_080905EA:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_08090602:
- ldr r0, _080906A4
- add r0, r9
- ldrb r1, [r0, 0xB]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080906CE
- ldr r5, _080906A8
- ldr r2, [sp, 0xE0]
- cmp r2, 0
- beq _0809063A
- adds r0, r2, 0
- movs r1, 0
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08090638
- ldr r0, [sp, 0xE0]
- movs r1, 0x1
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _0809063A
-_08090638:
- movs r5, 0
-_0809063A:
- ldr r0, _080906A8
- cmp r5, r0
- bne _080906CE
- movs r5, 0
- movs r6, 0x1
-_08090644:
- ldr r2, _080906AC
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrh r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08090686
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _08090686
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- movs r1, 0
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08090690
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- movs r1, 0x1
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08090690
-_08090686:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _08090644
-_08090690:
- ldr r0, _080906A8
- cmp r5, r0
- bne _080906CE
- mov r0, r8
- cmp r0, 0
- bne _080906B4
- ldr r0, _080906B0
- b _080906B6
- .align 2, 0
-_080906A0: .4byte gUnknown_8115D14
-_080906A4: .4byte gUnknown_8109D30
-_080906A8: .4byte 0x0000019d
-_080906AC: .4byte gUnknown_203B45C
-_080906B0: .4byte gUnknown_8115D5C
-_080906B4:
- ldr r0, _080906D8
-_080906B6:
- ldr r0, [r0]
- mov r1, sp
- add r2, sp, 0xC8
- movs r3, 0
- bl xxx_format_string
- adds r0, r7, 0
- mov r1, sp
- bl sub_8090888
- movs r1, 0x1
- mov r8, r1
-_080906CE:
- mov r2, r8
- cmp r2, 0
- beq _080906DC
- movs r0, 0x1
- b _0809080E
- .align 2, 0
-_080906D8: .4byte gUnknown_8115D94
-_080906DC:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _080906EC
- ldr r0, [sp, 0xE8]
- cmp r0, 0
- beq _0809071A
-_080906EC:
- ldr r1, [sp, 0xF4]
- cmp r1, 0
- bne _08090708
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r2, 0x1
- str r2, [sp, 0xF4]
-_08090708:
- ldr r0, _080907F4
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_0809071A:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0x6]
- cmp r0, 0
- beq _08090752
- ldr r0, [sp, 0xF4]
- cmp r0, 0
- bne _08090740
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r1, 0x1
- str r1, [sp, 0xF4]
-_08090740:
- ldr r0, _080907F8
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_08090752:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _08090792
- ldr r2, [sp, 0xEC]
- ldr r0, [sp, 0xF0]
- cmn r2, r0
- beq _08090792
- ldr r1, [sp, 0xF4]
- cmp r1, 0
- bne _08090780
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r2, 0x1
- str r2, [sp, 0xF4]
-_08090780:
- ldr r0, _080907FC
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_08090792:
- ldr r0, _080907EC
- add r0, r9
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _080907DA
- ldr r0, _08090800
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080907DA
- ldr r2, [sp, 0xF4]
- cmp r2, 0
- bne _080907C8
- ldr r0, _080907F0
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcpy
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
- movs r0, 0x1
- str r0, [sp, 0xF4]
-_080907C8:
- ldr r0, _08090804
- ldr r1, [r0]
- adds r0, r7, 0
- bl strcat
- adds r0, r7, 0
- add r1, sp, 0xC8
- bl strcat
-_080907DA:
- ldr r1, [sp, 0xF4]
- cmp r1, 0
- bne _0809080C
- ldr r1, _08090808
- adds r0, r7, 0
- bl sub_800D158
- movs r0, 0
- b _0809080E
- .align 2, 0
-_080907EC: .4byte gUnknown_8109D30
-_080907F0: .4byte gUnknown_8115DD4
-_080907F4: .4byte gUnknown_8115E00
-_080907F8: .4byte gUnknown_8115E28
-_080907FC: .4byte gUnknown_8115E54
-_08090800: .4byte gUnknown_203B460
-_08090804: .4byte gUnknown_8115E80
-_08090808: .4byte gUnknown_8108F50
-_0809080C:
- movs r0, 0x2
-_0809080E:
- add sp, 0xF8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809034C
-
- thumb_func_start sub_8090820
-sub_8090820:
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- ldr r0, _08090868
- ldr r0, [r0]
- mov r12, r0
- movs r7, 0x1
-_08090830:
- movs r0, 0x58
- muls r0, r4
- mov r2, r12
- adds r1, r2, r0
- ldrh r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _08090874
- lsrs r0, r2, 1
- ands r0, r7
- cmp r0, 0
- beq _08090874
- movs r3, 0
- movs r5, 0x1
- adds r2, r1, 0
- adds r2, 0x2C
-_08090852:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809086C
- ldrh r0, [r2, 0x2]
- cmp r0, r6
- bne _0809086C
- movs r0, 0x1
- b _08090880
- .align 2, 0
-_08090868: .4byte gUnknown_203B45C
-_0809086C:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08090852
-_08090874:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08090830
- movs r0, 0
-_08090880:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090820
-
- thumb_func_start sub_8090888
-sub_8090888:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r6, 0
- b _0809089C
-_08090892:
- ldrb r0, [r4]
- cmp r0, 0xA
- bne _0809089A
- adds r6, 0x1
-_0809089A:
- adds r4, 0x1
-_0809089C:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08090892
- ldrb r7, [r5]
- b _080908AE
-_080908A6:
- movs r0, 0xA
- strb r0, [r4]
- adds r4, 0x1
- adds r6, 0x1
-_080908AE:
- adds r0, r6, 0
- movs r1, 0x3
- bl __modsi3
- cmp r0, 0
- bne _080908A6
- adds r1, r7, 0
- lsls r0, r1, 24
- cmp r0, 0
- beq _080908CE
-_080908C2:
- strb r1, [r4]
- adds r4, 0x1
- adds r5, 0x1
- ldrb r1, [r5]
- cmp r1, 0
- bne _080908C2
-_080908CE:
- movs r0, 0
- strb r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090888
-
- thumb_func_start sub_80908D8
-sub_80908D8:
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2]
- cmp r0, 0x3E
- bhi _08090908
- ldr r0, _08090900
- ldrb r3, [r2]
- adds r0, r3, r0
- ldrb r1, [r2, 0x1]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08090908
- ldr r1, _08090904
- lsls r0, r3, 2
- adds r0, r1
- ldrb r1, [r2, 0x1]
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- b _0809090A
- .align 2, 0
-_08090900: .4byte gUnknown_81077A8
-_08090904: .4byte gUnknown_8108084
-_08090908:
- movs r0, 0x1
-_0809090A:
- pop {r1}
- bx r1
- thumb_func_end sub_80908D8
-
- thumb_func_start sub_8090910
-sub_8090910:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- ldr r4, _0809094C
- adds r0, r4, 0
- bl RandomCapped
- adds r6, r0, 0
- adds r0, r4, 0
- bl RandomCapped
- adds r2, r0, 0
- ldrb r0, [r5]
- cmp r0, 0x3E
- bhi _08090954
- ldr r0, _08090950
- ldrb r1, [r5]
- adds r1, r0
- ldrb r0, [r5, 0x1]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08090954
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- b _08090956
- .align 2, 0
-_0809094C: .4byte 0x0000270f
-_08090950: .4byte gUnknown_81077A8
-_08090954:
- movs r0, 0x46
-_08090956:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090910
-
- thumb_func_start sub_809095C
-sub_809095C:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3E
- bls _0809096A
-_08090966:
- movs r0, 0x1
- b _0809098C
-_0809096A:
- movs r2, 0
- ldr r0, _08090994
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x3F
- beq _0809098A
- adds r1, r4, 0
-_08090978:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, r3
- beq _08090966
- adds r2, 0x1
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0x3F
- bne _08090978
-_0809098A:
- movs r0, 0
-_0809098C:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090994: .4byte gUnknown_810A350
- thumb_func_end sub_809095C
-
- thumb_func_start sub_8090998
-sub_8090998:
- push {lr}
- ldr r1, _080909B8
- ldr r0, _080909BC
- str r0, [r1]
- ldr r0, _080909C0
- ldr r1, _080909C4
- bl OpenFileAndGetFileDataPtr
- ldr r1, _080909C8
- str r0, [r1]
- ldr r1, _080909CC
- ldr r0, [r0, 0x4]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080909B8: .4byte gUnknown_203B460
-_080909BC: .4byte gUnknown_20389A8
-_080909C0: .4byte gUnknown_8109764
-_080909C4: .4byte gUnknown_8300500
-_080909C8: .4byte gUnknown_20389A0
-_080909CC: .4byte gUnknown_20389A4
- thumb_func_end sub_8090998
-
- thumb_func_start sub_80909D0
-sub_80909D0:
- ldr r0, _080909D4
- bx lr
- .align 2, 0
-_080909D4: .4byte gUnknown_20389A8
- thumb_func_end sub_80909D0
-
- thumb_func_start sub_80909D8
-sub_80909D8:
- push {r4,lr}
- movs r4, 0
- ldr r3, _08090A30
- movs r2, 0
-_080909E0:
- ldr r0, [r3]
- lsls r1, r4, 2
- adds r0, r1
- strb r2, [r0]
- adds r4, 0x1
- cmp r4, 0x13
- ble _080909E0
- movs r4, 0
- ldr r3, _08090A30
- movs r2, 0
-_080909F4:
- ldr r0, [r3]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r0, r1
- strh r2, [r0]
- adds r4, 0x1
- cmp r4, 0xEF
- ble _080909F4
- movs r4, 0
-_08090A06:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091840
- adds r4, 0x1
- cmp r4, 0x7
- ble _08090A06
- ldr r0, _08090A30
- ldr r2, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r0, r2, r1
- movs r1, 0
- str r1, [r0]
- movs r3, 0x99
- lsls r3, 2
- adds r0, r2, r3
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090A30: .4byte gUnknown_203B460
- thumb_func_end sub_80909D8
-
- thumb_func_start sub_8090A34
-sub_8090A34:
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _08090A5C
- movs r5, 0x1
- ldr r2, [r0]
- movs r3, 0x13
-_08090A40:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08090A4C
- adds r4, 0x1
-_08090A4C:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _08090A40
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08090A5C: .4byte gUnknown_203B460
- thumb_func_end sub_8090A34
-
- thumb_func_start sub_8090A60
-sub_8090A60:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- beq _08090A84
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08090A84
- movs r0, 0
- b _08090A86
-_08090A84:
- movs r0, 0x1
-_08090A86:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090A60
-
- thumb_func_start sub_8090A8C
-sub_8090A8C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- cmp r5, 0
- beq _08090AF8
- movs r7, 0x1
- strb r7, [r6]
- strb r5, [r6, 0x2]
- adds r0, r5, 0
- bl sub_8090A60
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08090AD4
- adds r0, r5, 0
- movs r1, 0
- bl sub_8090D80
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090D80
- adds r1, r0, 0
- adds r0, r4, 0
- bl RandomRange
- strb r0, [r6, 0x1]
- b _08090AE8
-_08090AD4:
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08090AE6
- strb r7, [r6, 0x1]
- b _08090AE8
-_08090AE6:
- strb r4, [r6, 0x1]
-_08090AE8:
- mov r0, r8
- cmp r0, 0
- beq _08090AFE
- ldrb r1, [r6]
- movs r0, 0x8
- orrs r0, r1
- strb r0, [r6]
- b _08090AFE
-_08090AF8:
- strb r5, [r6]
- strb r5, [r6, 0x2]
- strb r5, [r6, 0x1]
-_08090AFE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090A8C
-
- thumb_func_start sub_8090B08
-sub_8090B08:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r5, 0
- beq _08090B5A
- strb r5, [r6]
- adds r0, r5, 0
- bl sub_8090A60
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _08090B42
- adds r0, r5, 0
- movs r1, 0
- bl sub_8090D80
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8090D80
- adds r1, r0, 0
- adds r0, r4, 0
- bl RandomRange
- strb r0, [r6, 0x1]
- b _08090B5E
-_08090B42:
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08090B56
- movs r0, 0x1
- strb r0, [r6, 0x1]
- b _08090B5E
-_08090B56:
- strb r4, [r6, 0x1]
- b _08090B5E
-_08090B5A:
- strb r5, [r6]
- strb r5, [r6, 0x1]
-_08090B5E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8090B08
-
- thumb_func_start sub_8090B64
-sub_8090B64:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r1, [r5]
- adds r0, r1, 0
- cmp r0, 0
- beq _08090BA4
- movs r0, 0x1
- strb r0, [r4]
- strb r1, [r4, 0x2]
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _08090B9A
- ldrb r0, [r4, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08090B9A
- ldrb r0, [r4, 0x2]
- cmp r0, 0x7C
- bne _08090BA0
-_08090B9A:
- ldrb r0, [r5, 0x1]
- strb r0, [r4, 0x1]
- b _08090BAA
-_08090BA0:
- strb r6, [r4, 0x1]
- b _08090BAA
-_08090BA4:
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x1]
- strb r0, [r4]
-_08090BAA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8090B64
-
- thumb_func_start sub_8090BB0
-sub_8090BB0:
- push {lr}
- adds r3, r0, 0
- ldrb r0, [r1]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _08090BC8
- ldrb r0, [r1, 0x2]
- strb r0, [r3]
- ldrb r0, [r1, 0x1]
- strb r0, [r3, 0x1]
- b _08090BCA
-_08090BC8:
- strb r2, [r3]
-_08090BCA:
- pop {r0}
- bx r0
- thumb_func_end sub_8090BB0
-
- thumb_func_start sub_8090BD0
-sub_8090BD0:
- lsls r0, 24
- ldr r1, _08090BE0
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08090BE0: .4byte gUnknown_20389A4
- thumb_func_end sub_8090BD0
-
- thumb_func_start sub_8090BE4
-sub_8090BE4:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08090BF6
- adds r0, r4, 0
- bl sub_80915D4
- b _08090C24
-_08090BF6:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090C14
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C10
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08090C24
- .align 2, 0
-_08090C10: .4byte gUnknown_20389A4
-_08090C14:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C2C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x4]
- muls r0, r1
-_08090C24:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090C2C: .4byte gUnknown_20389A4
- thumb_func_end sub_8090BE4
-
- thumb_func_start sub_8090C30
-sub_8090C30:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08090C42
- adds r0, r4, 0
- bl sub_80915D4
- b _08090C70
-_08090C42:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090C60
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C5C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x8]
- b _08090C70
- .align 2, 0
-_08090C5C: .4byte gUnknown_20389A4
-_08090C60:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090C78
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x8]
- muls r0, r1
-_08090C70:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090C78: .4byte gUnknown_20389A4
- thumb_func_end sub_8090C30
-
- thumb_func_start sub_8090C7C
-sub_8090C7C:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08090C90
- movs r0, 0
- b _08090CC0
-_08090C90:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090CB0
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CAC
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08090CC0
- .align 2, 0
-_08090CAC: .4byte gUnknown_20389A4
-_08090CB0:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CC8
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x4]
- muls r0, r1
-_08090CC0:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090CC8: .4byte gUnknown_20389A4
- thumb_func_end sub_8090C7C
-
- thumb_func_start sub_8090CCC
-sub_8090CCC:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_80914E4
- lsls r0, 24
- cmp r0, 0
- bne _08090CE0
- movs r0, 0
- b _08090D10
-_08090CE0:
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- bne _08090D00
- ldrb r0, [r4, 0x2]
- ldr r1, _08090CFC
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r0, [r0, 0x8]
- b _08090D10
- .align 2, 0
-_08090CFC: .4byte gUnknown_20389A4
-_08090D00:
- ldrb r0, [r4, 0x2]
- ldr r1, _08090D18
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldrb r1, [r4, 0x1]
- ldr r0, [r0, 0x8]
- muls r0, r1
-_08090D10:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08090D18: .4byte gUnknown_20389A4
- thumb_func_end sub_8090CCC
-
- thumb_func_start sub_8090D1C
-sub_8090D1C:
- lsls r0, 24
- ldr r1, _08090D2C
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x4]
- bx lr
- .align 2, 0
-_08090D2C: .4byte gUnknown_20389A4
- thumb_func_end sub_8090D1C
-
- thumb_func_start sub_8090D30
-sub_8090D30:
- lsls r0, 24
- ldr r1, _08090D40
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_08090D40: .4byte gUnknown_20389A4
- thumb_func_end sub_8090D30
-
- thumb_func_start sub_8090D44
-sub_8090D44:
- lsls r0, 24
- ldr r1, _08090D54
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1A]
- bx lr
- .align 2, 0
-_08090D54: .4byte gUnknown_20389A4
- thumb_func_end sub_8090D44
-
- thumb_func_start sub_8090D58
-sub_8090D58:
- lsls r0, 24
- ldr r1, _08090D68
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1D]
- bx lr
- .align 2, 0
-_08090D68: .4byte gUnknown_20389A4
- thumb_func_end sub_8090D58
-
- thumb_func_start sub_8090D6C
-sub_8090D6C:
- lsls r0, 24
- ldr r1, _08090D7C
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrb r0, [r0, 0x1E]
- bx lr
- .align 2, 0
-_08090D7C: .4byte gUnknown_20389A4
- thumb_func_end sub_8090D6C
-
- thumb_func_start sub_8090D80
-sub_8090D80:
- lsls r0, 24
- ldr r2, _08090D94
- ldr r2, [r2]
- lsrs r0, 19
- adds r0, r2
- adds r0, 0x1B
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08090D94: .4byte gUnknown_20389A4
- thumb_func_end sub_8090D80
-
- thumb_func_start sub_8090D98
-sub_8090D98:
- lsls r0, 24
- ldr r1, _08090DA8
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldr r0, [r0, 0x10]
- bx lr
- .align 2, 0
-_08090DA8: .4byte gUnknown_20389A4
- thumb_func_end sub_8090D98
-
- thumb_func_start sub_8090DAC
-sub_8090DAC:
- lsls r0, 24
- ldr r2, _08090DC0
- ldr r2, [r2]
- lsrs r0, 19
- adds r0, r2
- adds r0, 0x14
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08090DC0: .4byte gUnknown_20389A4
- thumb_func_end sub_8090DAC
-
- thumb_func_start sub_8090DC4
-sub_8090DC4:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x54
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08090E10
- ldr r1, [r0]
- lsls r0, r4, 5
- adds r0, r1
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x50
- bl strncpy
- add r5, sp, 0x50
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090A8C
- movs r0, 0x1
- strb r0, [r5, 0x1]
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- mov r3, r8
- bl sub_8090F58
- add sp, 0x54
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090E10: .4byte gUnknown_20389A4
- thumb_func_end sub_8090DC4
-
- thumb_func_start sub_8090E14
-sub_8090E14:
- push {r4-r7,lr}
- sub sp, 0x50
- adds r6, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- movs r4, 0
- cmp r7, 0
- beq _08090E2C
- ldrb r1, [r7, 0x8]
- negs r0, r1
- orrs r0, r1
- lsrs r4, r0, 31
-_08090E2C:
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- cmp r0, 0
- bne _08090E3E
- cmp r4, 0
- bne _08090E50
- b _08090E70
-_08090E3E:
- ldrb r0, [r5, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08090E90
- cmp r4, 0
- beq _08090E70
-_08090E50:
- ldr r1, _08090E68
- ldrb r0, [r5, 0x2]
- ldr r2, _08090E6C
- ldr r2, [r2]
- lsls r0, 5
- adds r0, r2
- ldr r2, [r0]
- ldrb r3, [r5, 0x1]
- mov r0, sp
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090E68: .4byte gUnknown_8109770
-_08090E6C: .4byte gUnknown_20389A4
-_08090E70:
- ldr r1, _08090E88
- ldrb r0, [r5, 0x2]
- ldr r2, _08090E8C
- ldr r2, [r2]
- lsls r0, 5
- adds r0, r2
- ldr r2, [r0]
- mov r0, sp
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090E88: .4byte gUnknown_8109778
-_08090E8C: .4byte gUnknown_20389A4
-_08090E90:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x69
- bne _08090EB0
- ldr r4, _08090EAC
- adds r0, r5, 0
- bl sub_80915D4
- adds r2, r0, 0
- mov r0, sp
- adds r1, r4, 0
- bl sub_800D158
- b _08090EC4
- .align 2, 0
-_08090EAC: .4byte gUnknown_810977C
-_08090EB0:
- ldrb r0, [r5, 0x2]
- ldr r1, _08090F2C
- ldr r1, [r1]
- lsls r0, 5
- adds r0, r1
- ldr r1, [r0]
- mov r0, sp
- movs r2, 0x50
- bl strncpy
-_08090EC4:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08090EE2
- ldr r1, _08090F30
- adds r0, r6, 0
- mov r2, sp
- bl sub_800D158
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x50
- bl strncpy
-_08090EE2:
- cmp r7, 0
- beq _08090F38
- ldrb r0, [r7, 0x4]
- cmp r0, 0
- beq _08090F0A
- ldrb r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08090F0A
- ldr r1, _08090F34
- adds r0, r6, 0
- mov r2, sp
- bl sub_800D158
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x50
- bl strncpy
-_08090F0A:
- ldr r0, [r7]
- cmp r0, 0x1
- beq _08090F14
- cmp r0, 0x3
- bne _08090F44
-_08090F14:
- ldrb r1, [r5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08090F38
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8090F58
- b _08090F50
- .align 2, 0
-_08090F2C: .4byte gUnknown_20389A4
-_08090F30: .4byte gUnknown_8109784
-_08090F34: .4byte gUnknown_810978C
-_08090F38:
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x50
- bl strncpy
- b _08090F50
-_08090F44:
- adds r0, r6, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8090F58
-_08090F50:
- add sp, 0x50
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8090E14
-
- thumb_func_start sub_8090F58
-sub_8090F58:
- push {r4-r6,lr}
- sub sp, 0x2C
- adds r5, r0, 0
- adds r6, r1, 0
- adds r0, r2, 0
- adds r4, r3, 0
- cmp r4, 0
- bne _08090F6C
- adds r0, r5, 0
- b _08090F94
-_08090F6C:
- ldr r1, [r4]
- cmp r1, 0x1
- bcc _08090F8A
- cmp r1, 0x2
- bhi _08090F7E
- bl sub_8090BE4
- adds r1, r0, 0
- b _08090F8C
-_08090F7E:
- cmp r1, 0x4
- bhi _08090F8A
- bl sub_8090C30
- adds r1, r0, 0
- b _08090F8C
-_08090F8A:
- movs r1, 0
-_08090F8C:
- cmp r1, 0
- bne _08090F9C
- adds r0, r5, 0
- adds r1, r6, 0
-_08090F94:
- movs r2, 0x50
- bl strncpy
- b _08090FDE
-_08090F9C:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08090FC8
- adds r0, r1, 0
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_8090FEC
- ldr r1, _08090FC4
- movs r0, 0x6
- ldrsh r3, [r4, r0]
- add r2, sp, 0x4
- str r2, [sp]
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_800D158
- b _08090FDE
- .align 2, 0
-_08090FC4: .4byte gUnknown_8109794
-_08090FC8:
- adds r0, r1, 0
- add r1, sp, 0x4
- movs r2, 0
- bl sub_8090FEC
- ldr r1, _08090FE8
- adds r0, r5, 0
- adds r2, r6, 0
- add r3, sp, 0x4
- bl sub_800D158
-_08090FDE:
- add sp, 0x2C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090FE8: .4byte gUnknown_81097A4
- thumb_func_end sub_8090F58
-
- thumb_func_start sub_8090FEC
-sub_8090FEC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r2, 0
- ldr r1, _08091050
- mov r9, r1
- mov r12, r9
-_0809100E:
- movs r1, 0
- lsls r3, r2, 2
- ldr r7, _08091054
- adds r0, r3, r7
- ldr r0, [r0]
- adds r7, r2, 0x1
- cmp r5, r0
- blt _0809102C
- ldr r2, _08091054
-_08091020:
- adds r0, r3, r2
- ldr r0, [r0]
- subs r5, r0
- adds r1, 0x1
- cmp r5, r0
- bge _08091020
-_0809102C:
- cmp r1, 0x9
- ble _08091032
- movs r1, 0x9
-_08091032:
- cmp r1, 0
- beq _0809105C
- movs r0, 0x1
- mov r8, r0
- lsls r1, 1
- mov r2, r12
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- ldr r0, _08091058
- adds r1, r0
- ldrb r0, [r1]
- b _0809106C
- .align 2, 0
-_08091050: .4byte gUnknown_81097C4
-_08091054: .4byte gUnknown_81097B0
-_08091058: .4byte gUnknown_81097C5
-_0809105C:
- mov r1, r8
- cmp r1, 0
- beq _08091074
- mov r2, r12
- ldrb r0, [r2]
- strb r0, [r4]
- adds r4, 0x1
- ldrb r0, [r2, 0x1]
-_0809106C:
- strb r0, [r4]
- adds r4, 0x1
- adds r6, 0x1
- b _08091080
-_08091074:
- mov r0, r10
- cmp r0, 0
- beq _08091080
- movs r0, 0x60
- strb r0, [r4]
- adds r4, 0x1
-_08091080:
- adds r2, r7, 0
- cmp r2, 0x4
- ble _0809100E
- lsls r1, r5, 1
- mov r2, r9
- adds r0, r1, r2
- ldrb r0, [r0]
- strb r0, [r4]
- adds r4, 0x1
- mov r0, r9
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r4]
- adds r6, 0x1
- movs r0, 0
- strb r0, [r4, 0x1]
- adds r0, r6, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8090FEC
-
- thumb_func_start sub_80910B4
-sub_80910B4:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _080910C0
- movs r3, 0
- b _080910DA
- .align 2, 0
-_080910C0: .4byte gUnknown_203B460
-_080910C4:
- cmp r2, r4
- ble _080910D4
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_080910D4:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_080910DA:
- cmp r2, 0x13
- bgt _08091106
- ldr r0, [r7]
- adds r0, r3, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _08091106
- ldr r5, _0809112C
- movs r6, 0x1
-_080910F0:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x13
- bgt _08091106
- ldr r0, [r5]
- adds r0, r3, r0
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080910F0
-_08091106:
- cmp r2, 0x14
- bne _080910C4
- cmp r4, 0x13
- bgt _08091124
- ldr r3, _0809112C
- movs r2, 0
-_08091112:
- lsls r1, r4, 2
- ldr r0, [r3]
- adds r1, r0
- strb r2, [r1, 0x2]
- strb r2, [r1, 0x1]
- strb r2, [r1]
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091112
-_08091124:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809112C: .4byte gUnknown_203B460
- thumb_func_end sub_80910B4
-
- thumb_func_start sub_8091130
-sub_8091130:
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r0, _08091154
- ldr r2, [r0]
- movs r5, 0x1
-_0809113E:
- ldrb r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _08091158
- ldrb r0, [r2, 0x2]
- cmp r0, r4
- bne _08091158
- adds r0, r3, 0
- b _08091164
- .align 2, 0
-_08091154: .4byte gUnknown_203B460
-_08091158:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x13
- ble _0809113E
- movs r0, 0x1
- negs r0, r0
-_08091164:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091130
-
- thumb_func_start sub_809116C
-sub_809116C:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080911A0
- ldr r2, [r0]
- movs r6, 0x1
- movs r3, 0x13
-_0809117C:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809118E
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _0809118E
- adds r4, 0x1
-_0809118E:
- adds r2, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _0809117C
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080911A0: .4byte gUnknown_203B460
- thumb_func_end sub_809116C
-
- thumb_func_start sub_80911A4
-sub_80911A4:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_809116C
- adds r4, r0, 0
- movs r3, 0
- ldr r0, _080911F4
- ldr r7, [r0]
- movs r6, 0x1
-_080911BA:
- movs r0, 0x58
- muls r0, r3
- adds r2, r7, r0
- ldrh r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080911E2
- lsrs r0, r1, 1
- ands r0, r6
- cmp r0, 0
- beq _080911E2
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- beq _080911E2
- cmp r0, r5
- bne _080911E2
- adds r4, 0x1
-_080911E2:
- adds r3, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r3, r0
- ble _080911BA
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080911F4: .4byte gUnknown_203B45C
- thumb_func_end sub_80911A4
-
- thumb_func_start sub_80911F8
-sub_80911F8:
- push {r4,r5,lr}
- adds r2, r0, 0
- ldr r4, _08091230
- cmp r2, 0x12
- bgt _0809121C
- adds r5, r4, 0
- lsls r0, r2, 2
- adds r3, r0, 0x4
-_08091208:
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x12
- ble _08091208
-_0809121C:
- ldr r0, [r4]
- adds r0, 0x4E
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r0, 0x4C
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08091230: .4byte gUnknown_203B460
- thumb_func_end sub_80911F8
-
- thumb_func_start sub_8091234
-sub_8091234:
- ldr r3, _08091248
- ldr r1, [r3]
- lsls r0, 2
- adds r1, r0
- movs r2, 0
- strb r2, [r1, 0x2]
- ldr r1, [r3]
- adds r1, r0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_08091248: .4byte gUnknown_203B460
- thumb_func_end sub_8091234
-
- thumb_func_start sub_809124C
-sub_809124C:
- push {lr}
- sub sp, 0x4
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- mov r0, sp
- adds r1, r3, 0
- bl sub_8090A8C
- mov r0, sp
- bl sub_8091290
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_809124C
-
- thumb_func_start sub_8091274
-sub_8091274:
- push {lr}
- sub sp, 0x4
- adds r1, r0, 0
- mov r0, sp
- bl sub_8090B64
- mov r0, sp
- bl sub_8091290
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end sub_8091274
-
- thumb_func_start sub_8091290
-sub_8091290:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r5, _080912B4
- movs r6, 0x1
-_0809129A:
- lsls r1, r3, 2
- ldr r0, [r5]
- adds r2, r1, r0
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080912B8
- ldr r0, [r4]
- str r0, [r2]
- movs r0, 0
- b _080912C0
- .align 2, 0
-_080912B4: .4byte gUnknown_203B460
-_080912B8:
- adds r3, 0x1
- cmp r3, 0x13
- ble _0809129A
- movs r0, 0x1
-_080912C0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8091290
-
- thumb_func_start sub_80912C8
-sub_80912C8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- movs r6, 0
-_080912D6:
- ldr r0, _0809139C
- lsls r1, r5, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080912FE
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _080912FE
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r6, [r4, 0x2]
- strb r6, [r4, 0x1]
- strb r6, [r4]
-_080912FE:
- adds r5, 0x1
- cmp r5, 0x13
- ble _080912D6
- bl sub_80910B4
- movs r5, 0
-_0809130A:
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- lsls r2, r5, 2
- ldr r1, _0809139C
- mov r8, r1
- ldr r0, [r1]
- adds r3, r2, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- mov r10, r2
- adds r7, r5, 0x1
- cmp r0, 0
- beq _08091382
- ldrb r0, [r3, 0x2]
- bl sub_8090D44
- adds r6, r0, 0
- adds r4, r7, 0
- cmp r7, 0x13
- bgt _08091368
-_08091336:
- lsls r5, r4, 2
- mov r1, r8
- ldr r0, [r1]
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08091362
- ldrb r0, [r2, 0x2]
- bl sub_8090D44
- cmp r6, r0
- ble _08091362
- mov r9, r4
- mov r1, r8
- ldr r0, [r1]
- adds r0, r5
- ldrb r0, [r0, 0x2]
- bl sub_8090D44
- adds r6, r0, 0
-_08091362:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091336
-_08091368:
- mov r4, r9
- cmp r4, 0
- blt _08091382
- ldr r0, _0809139C
- ldr r1, [r0]
- mov r0, r10
- adds r2, r1, r0
- ldr r3, [r2]
- lsls r0, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- str r3, [r1]
-_08091382:
- adds r5, r7, 0
- cmp r5, 0x13
- ble _0809130A
- bl sub_80910B4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809139C: .4byte gUnknown_203B460
- thumb_func_end sub_80912C8
-
- thumb_func_start sub_80913A0
-sub_80913A0:
- push {lr}
- ldr r1, _080913C4
- ldr r1, [r1]
- movs r3, 0x98
- lsls r3, 2
- adds r2, r1, r3
- ldr r1, [r2]
- adds r1, r0
- str r1, [r2]
- ldr r0, _080913C8
- cmp r1, r0
- bgt _080913BE
- cmp r1, 0
- bge _080913C0
- movs r0, 0
-_080913BE:
- str r0, [r2]
-_080913C0:
- pop {r0}
- bx r0
- .align 2, 0
-_080913C4: .4byte gUnknown_203B460
-_080913C8: .4byte 0x0001869f
- thumb_func_end sub_80913A0
-
- thumb_func_start sub_80913CC
-sub_80913CC:
- lsls r0, 24
- ldr r1, _080913DC
- ldr r1, [r1]
- lsrs r0, 19
- adds r0, r1
- ldrh r0, [r0, 0x18]
- bx lr
- .align 2, 0
-_080913DC: .4byte gUnknown_20389A4
- thumb_func_end sub_80913CC
-
- thumb_func_start sub_80913E0
-sub_80913E0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x5C
- adds r6, r0, 0
- adds r5, r1, 0
- mov r8, r2
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- ldrb r1, [r6, 0x2]
- add r0, sp, 0x4
- movs r2, 0
- bl sub_8090DC4
- ldrb r0, [r6, 0x2]
- cmp r0, 0x7C
- bne _08091414
- ldr r0, _080914D4
- ldrb r1, [r6, 0x1]
- adds r1, 0x7D
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- bl sub_8090DC4
-_08091414:
- adds r0, r5, 0
- bl sub_80073B8
- movs r7, 0
- str r7, [sp]
- movs r0, 0x10
- movs r1, 0
- add r2, sp, 0x4
- adds r3, r5, 0
- bl sub_8014FF0
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- adds r2, r0, 0
- str r7, [sp]
- movs r0, 0x8
- movs r1, 0x18
- adds r3, r5, 0
- bl sub_8014FF0
- ldrb r0, [r6, 0x2]
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080914B6
- add r4, sp, 0x54
- ldrb r0, [r6, 0x2]
- bl sub_80913CC
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_8092A88
- movs r0, 0x7
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x52
- movs r3, 0xC8
- bl sub_80078A4
- ldr r0, _080914D8
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x4
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r4, 0
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092334
- adds r2, r0, 0
- str r7, [sp]
- movs r0, 0x40
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r4, 0
- bl sub_8092BF4
- ldr r1, _080914DC
- str r0, [r1]
- ldr r0, _080914E0
- ldr r2, [r0]
- str r7, [sp]
- movs r0, 0x80
- movs r1, 0x54
- adds r3, r5, 0
- bl sub_8014FF0
-_080914B6:
- adds r0, r5, 0
- bl sub_80073E0
- ldrb r0, [r6, 0x2]
- bl sub_8090D98
- mov r1, r8
- bl sub_8097DF0
- add sp, 0x5C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080914D4: .4byte gUnknown_202DE58
-_080914D8: .4byte gUnknown_810CF0C
-_080914DC: .4byte gUnknown_202DE30
-_080914E0: .4byte gUnknown_8115970
- thumb_func_end sub_80913E0
-
- thumb_func_start sub_80914E4
-sub_80914E4:
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r0, 0
- beq _0809151A
- cmp r0, 0x69
- beq _0809151A
- cmp r0, 0x79
- beq _0809151A
- cmp r0, 0x77
- beq _0809151A
- cmp r0, 0x78
- beq _0809151A
- cmp r0, 0x7A
- beq _0809151A
- bl sub_8090D30
- cmp r0, 0
- beq _0809151A
- adds r0, r4, 0
- bl sub_8090D1C
- cmp r0, 0
- beq _0809151A
- movs r0, 0x1
- b _0809151C
-_0809151A:
- movs r0, 0
-_0809151C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80914E4
-
- thumb_func_start sub_8091524
-sub_8091524:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _0809153C
- cmp r0, 0x69
- beq _0809153C
- cmp r1, 0x7C
- beq _0809153C
- movs r0, 0x1
- b _0809153E
-_0809153C:
- movs r0, 0
-_0809153E:
- pop {r1}
- bx r1
- thumb_func_end sub_8091524
-
- thumb_func_start sub_8091544
-sub_8091544:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _08091568
- cmp r0, 0x69
- beq _08091568
- cmp r0, 0x79
- beq _08091568
- cmp r0, 0x77
- beq _08091568
- cmp r0, 0x78
- beq _08091568
- cmp r1, 0x7A
- beq _08091568
- movs r0, 0x1
- b _0809156A
-_08091568:
- movs r0, 0
-_0809156A:
- pop {r1}
- bx r1
- thumb_func_end sub_8091544
-
- thumb_func_start sub_8091570
-sub_8091570:
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _08091596
- adds r0, r4, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _08091596
- movs r0, 0
- b _08091598
-_08091596:
- movs r0, 0x1
-_08091598:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091570
-
- thumb_func_start sub_80915A0
-sub_80915A0:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0xE0
- beq _080915CC
- cmp r0, 0xE1
- beq _080915CC
- cmp r0, 0xE2
- beq _080915CC
- cmp r0, 0xE3
- beq _080915CC
- cmp r0, 0xE4
- beq _080915CC
- cmp r0, 0xE5
- beq _080915CC
- cmp r0, 0xE6
- beq _080915CC
- cmp r1, 0xE7
- beq _080915CC
- movs r0, 0
- b _080915CE
-_080915CC:
- movs r0, 0x1
-_080915CE:
- pop {r1}
- bx r1
- thumb_func_end sub_80915A0
-
- thumb_func_start sub_80915D4
-sub_80915D4:
- ldr r1, _080915E0
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080915E0: .4byte gUnknown_810A3F0
- thumb_func_end sub_80915D4
-
- thumb_func_start sub_80915E4
-sub_80915E4:
- ldr r1, _080915F0
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080915F0: .4byte gUnknown_810A3F0
- thumb_func_end sub_80915E4
-
- thumb_func_start sub_80915F4
-sub_80915F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r7, r3, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r0, _080916B8
- strh r0, [r7]
- movs r0, 0
- strh r0, [r7, 0x2]
- adds r0, r5, 0
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- bne _0809161E
- b _08091756
-_0809161E:
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- movs r1, 0
- bl sub_808DC68
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r2, 0x8
- ldrsh r0, [r6, r2]
- movs r1, 0x1
- bl sub_808DC68
- lsls r0, 24
- lsrs r0, 24
- adds r2, r5, 0
- subs r2, 0x55
- ldr r5, _080916BC
- lsls r2, 1
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 2
- adds r1, r2, r1
- adds r1, r5
- movs r4, 0
- ldrsh r3, [r1, r4]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r2, r1
- adds r2, r5
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r2, 0x14
- ldrsh r1, [r6, r2]
- adds r3, r0
- ldrh r4, [r6, 0x14]
- adds r3, r4
- strh r3, [r6, 0x14]
- movs r2, 0x14
- ldrsh r0, [r6, r2]
- subs r1, r0, r1
- lsls r3, 16
- cmp r3, 0
- bgt _0809167C
- movs r0, 0x1
- strh r0, [r6, 0x14]
-_0809167C:
- movs r4, 0x14
- ldrsh r0, [r6, r4]
- ldr r2, _080916C0
- cmp r0, r2
- ble _08091688
- strh r2, [r6, 0x14]
-_08091688:
- movs r0, 0
- cmp r1, 0x8
- bgt _0809169C
- movs r0, 0x1
- cmp r1, 0x4
- bgt _0809169C
- movs r0, 0x3
- cmp r1, 0x2
- ble _0809169C
- movs r0, 0x2
-_0809169C:
- strh r0, [r7]
- mov r1, r8
- cmp r1, 0
- bne _08091756
- cmp r0, 0
- bne _080916C4
- movs r0, 0x10
- bl RandomCapped
- cmp r0, 0xA
- bne _080916C4
- movs r0, 0xF
- b _080916D2
- .align 2, 0
-_080916B8: .4byte 0x0000ffff
-_080916BC: .4byte gUnknown_810A580
-_080916C0: .4byte 0x000003e7
-_080916C4:
- movs r0, 0x4
- bl RandomCapped
- ldr r1, _080916EC
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
-_080916D2:
- strh r0, [r7, 0x2]
- ldrh r1, [r7, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080916F6
- ldrb r0, [r6, 0x18]
- cmp r0, 0xFE
- bhi _080916F0
- adds r0, 0x1
- strb r0, [r6, 0x18]
- b _080916F6
- .align 2, 0
-_080916EC: .4byte gUnknown_81097E0
-_080916F0:
- ldr r0, _0809170C
- ands r0, r1
- strh r0, [r7, 0x2]
-_080916F6:
- ldrh r1, [r7, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08091716
- ldrb r0, [r6, 0x19]
- cmp r0, 0xFE
- bhi _08091710
- adds r0, 0x1
- strb r0, [r6, 0x19]
- b _08091716
- .align 2, 0
-_0809170C: .4byte 0x0000fffe
-_08091710:
- ldr r0, _0809172C
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091716:
- ldrh r1, [r7, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08091736
- ldrb r0, [r6, 0x1A]
- cmp r0, 0xFE
- bhi _08091730
- adds r0, 0x1
- strb r0, [r6, 0x1A]
- b _08091736
- .align 2, 0
-_0809172C: .4byte 0x0000fffd
-_08091730:
- ldr r0, _0809174C
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091736:
- ldrh r1, [r7, 0x2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08091756
- ldrb r0, [r6, 0x1B]
- cmp r0, 0xFE
- bhi _08091750
- adds r0, 0x1
- strb r0, [r6, 0x1B]
- b _08091756
- .align 2, 0
-_0809174C: .4byte 0x0000fffb
-_08091750:
- ldr r0, _08091760
- ands r0, r1
- strh r0, [r7, 0x2]
-_08091756:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091760: .4byte 0x0000fff7
- thumb_func_end sub_80915F4
-
- thumb_func_start sub_8091764
-sub_8091764:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x55
- bls _08091776
- cmp r0, 0x66
- bhi _08091776
- movs r0, 0x1
- b _08091778
-_08091776:
- movs r0, 0
-_08091778:
- pop {r1}
- bx r1
- thumb_func_end sub_8091764
-
- thumb_func_start sub_809177C
-sub_809177C:
- push {r4,lr}
- movs r4, 0
-_08091780:
- lsls r1, r4, 2
- ldr r0, _080917A4
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080917A8
- ldrb r0, [r2, 0x2]
- bl sub_8091764
- lsls r0, 24
- cmp r0, 0
- beq _080917A8
- movs r0, 0x1
- b _080917B0
- .align 2, 0
-_080917A4: .4byte gUnknown_203B460
-_080917A8:
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091780
- movs r0, 0
-_080917B0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809177C
-
- thumb_func_start sub_80917B8
-sub_80917B8:
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4, 0x2]
- bl sub_8090A60
- lsls r0, 24
- cmp r0, 0
- beq _080917E0
- ldr r2, _080917DC
- ldr r1, [r2]
- ldrb r0, [r4, 0x2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- ldrb r3, [r4, 0x1]
- adds r0, r3
- b _080917F0
- .align 2, 0
-_080917DC: .4byte gUnknown_203B460
-_080917E0:
- ldr r2, _0809180C
- ldr r1, [r2]
- ldrb r0, [r4, 0x2]
- lsls r0, 1
- adds r1, 0x50
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
-_080917F0:
- strh r0, [r1]
- ldr r0, [r2]
- ldrb r1, [r4, 0x2]
- lsls r1, 1
- adds r0, 0x50
- adds r2, r0, r1
- ldrh r0, [r2]
- ldr r1, _08091810
- cmp r0, r1
- bls _08091806
- strh r1, [r2]
-_08091806:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809180C: .4byte gUnknown_203B460
-_08091810: .4byte 0x000003e7
- thumb_func_end sub_80917B8
-
- thumb_func_start sub_8091814
-sub_8091814:
- push {lr}
- movs r3, 0
- ldr r0, _0809183C
- ldr r0, [r0]
- movs r2, 0x8C
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x7
-_08091824:
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809182C
- adds r3, 0x1
-_0809182C:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08091824
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809183C: .4byte gUnknown_203B460
- thumb_func_end sub_8091814
-
- thumb_func_start sub_8091840
-sub_8091840:
- lsls r0, 24
- ldr r1, _08091858
- lsrs r0, 22
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_08091858: .4byte gUnknown_203B460
- thumb_func_end sub_8091840
-
- thumb_func_start sub_809185C
-sub_809185C:
- lsls r0, 24
- ldr r1, _08091870
- lsrs r0, 22
- movs r2, 0x8C
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_08091870: .4byte gUnknown_203B460
- thumb_func_end sub_809185C
-
- thumb_func_start sub_8091874
-sub_8091874:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _08091884
- movs r6, 0x8C
- lsls r6, 2
- movs r3, 0
- b _080918A0
- .align 2, 0
-_08091884: .4byte gUnknown_203B460
-_08091888:
- cmp r2, r4
- ble _0809189A
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r0, r6
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809189A:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_080918A0:
- cmp r2, 0x7
- bgt _080918CA
- ldr r0, [r7]
- adds r0, r3
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _080918CA
- ldr r5, _080918E8
- movs r1, 0x8C
- lsls r1, 2
-_080918B6:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x7
- bgt _080918CA
- ldr r0, [r5]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080918B6
-_080918CA:
- cmp r2, 0x8
- bne _08091888
- cmp r4, 0x7
- bgt _080918E0
-_080918D2:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091840
- adds r4, 0x1
- cmp r4, 0x7
- ble _080918D2
-_080918E0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080918E8: .4byte gUnknown_203B460
- thumb_func_end sub_8091874
-
- thumb_func_start sub_80918EC
-sub_80918EC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
-_080918F8:
- adds r1, r0, 0x1
- mov r8, r1
- mov r6, r8
- cmp r1, 0x7
- bgt _08091964
- ldr r1, _08091978
- mov r9, r1
- lsls r7, r0, 2
- movs r0, 0x8C
- lsls r0, 2
- mov r10, r0
-_0809190E:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- lsls r5, r6, 2
- adds r0, r5
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- cmp r4, r0
- bgt _0809194C
- cmp r4, r0
- bne _0809195E
- mov r1, r9
- ldr r0, [r1]
- adds r2, r0, r7
- ldr r1, _0809197C
- adds r2, r1
- adds r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _0809195E
-_0809194C:
- mov r1, r9
- ldr r0, [r1]
- add r0, r10
- adds r2, r0, r7
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_0809195E:
- adds r6, 0x1
- cmp r6, 0x7
- ble _0809190E
-_08091964:
- mov r0, r8
- cmp r0, 0x6
- ble _080918F8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091978: .4byte gUnknown_203B460
-_0809197C: .4byte 0x00000231
- thumb_func_end sub_80918EC
-
- thumb_func_start sub_8091980
-sub_8091980:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r1, sp
- ldr r0, _080919F4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- movs r5, 0
-_0809199C:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8091840
- adds r5, 0x1
- cmp r5, 0x7
- ble _0809199C
- mov r0, r8
- lsls r7, r0, 2
- ldr r6, _080919F8
- movs r5, 0x7
-_080919B2:
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- adds r0, r6, 0
- bl RandomCapped
- adds r2, r0, 0
- mov r1, sp
- adds r0, r1, r7
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- bl sub_80919FC
- subs r5, 0x1
- cmp r5, 0
- bge _080919B2
- bl sub_80918EC
- mov r0, r8
- bl sub_8091BB4
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080919F4: .4byte gUnknown_81097E8
-_080919F8: .4byte 0x0000270f
- thumb_func_end sub_8091980
-
- thumb_func_start sub_80919FC
-sub_80919FC:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl sub_8090B08
- movs r3, 0
- ldr r5, _08091A34
- movs r4, 0x8C
- lsls r4, 2
-_08091A14:
- ldr r1, [r5]
- lsls r2, r3, 2
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091A38
- movs r3, 0x8C
- lsls r3, 2
- adds r0, r1, r3
- adds r0, r2
- ldr r1, [sp]
- str r1, [r0]
- movs r0, 0
- b _08091A40
- .align 2, 0
-_08091A34: .4byte gUnknown_203B460
-_08091A38:
- adds r3, 0x1
- cmp r3, 0x7
- ble _08091A14
- movs r0, 0x1
-_08091A40:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80919FC
-
- thumb_func_start sub_8091A48
-sub_8091A48:
- push {lr}
- movs r3, 0
- ldr r0, _08091A70
- ldr r0, [r0]
- movs r2, 0x94
- lsls r2, 2
- adds r1, r0, r2
- movs r2, 0x3
-_08091A58:
- ldrb r0, [r1]
- cmp r0, 0
- beq _08091A60
- adds r3, 0x1
-_08091A60:
- adds r1, 0x4
- subs r2, 0x1
- cmp r2, 0
- bge _08091A58
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08091A70: .4byte gUnknown_203B460
- thumb_func_end sub_8091A48
-
- thumb_func_start sub_8091A74
-sub_8091A74:
- lsls r0, 24
- ldr r1, _08091A8C
- lsrs r0, 22
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_08091A8C: .4byte gUnknown_203B460
- thumb_func_end sub_8091A74
-
- thumb_func_start sub_8091A90
-sub_8091A90:
- lsls r0, 24
- ldr r1, _08091AA4
- lsrs r0, 22
- movs r2, 0x94
- lsls r2, 2
- adds r0, r2
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_08091AA4: .4byte gUnknown_203B460
- thumb_func_end sub_8091A90
-
- thumb_func_start sub_8091AA8
-sub_8091AA8:
- push {r4-r7,lr}
- movs r2, 0
- movs r4, 0
- ldr r7, _08091AB8
- movs r6, 0x94
- lsls r6, 2
- movs r3, 0
- b _08091AD4
- .align 2, 0
-_08091AB8: .4byte gUnknown_203B460
-_08091ABC:
- cmp r2, r4
- ble _08091ACE
- ldr r0, [r7]
- lsls r1, r4, 2
- adds r0, r6
- adds r1, r0, r1
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_08091ACE:
- adds r3, 0x4
- adds r2, 0x1
- adds r4, 0x1
-_08091AD4:
- cmp r2, 0x3
- bgt _08091AFE
- ldr r0, [r7]
- adds r0, r3
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091AFE
- ldr r5, _08091B1C
- movs r1, 0x94
- lsls r1, 2
-_08091AEA:
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08091AFE
- ldr r0, [r5]
- adds r0, r3
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08091AEA
-_08091AFE:
- cmp r2, 0x4
- bne _08091ABC
- cmp r4, 0x3
- bgt _08091B14
-_08091B06:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8091A74
- adds r4, 0x1
- cmp r4, 0x3
- ble _08091B06
-_08091B14:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091B1C: .4byte gUnknown_203B460
- thumb_func_end sub_8091AA8
-
- thumb_func_start sub_8091B20
-sub_8091B20:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
-_08091B2C:
- adds r1, r0, 0x1
- mov r8, r1
- mov r6, r8
- cmp r1, 0x3
- bgt _08091B98
- ldr r1, _08091BAC
- mov r9, r1
- lsls r7, r0, 2
- movs r0, 0x94
- lsls r0, 2
- mov r10, r0
-_08091B42:
- mov r1, r9
- ldr r0, [r1]
- adds r0, r7
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- adds r4, r0, 0
- mov r1, r9
- ldr r0, [r1]
- lsls r5, r6, 2
- adds r0, r5
- add r0, r10
- ldrb r0, [r0]
- bl sub_8090D44
- cmp r4, r0
- bgt _08091B80
- cmp r4, r0
- bne _08091B92
- mov r1, r9
- ldr r0, [r1]
- adds r2, r0, r7
- ldr r1, _08091BB0
- adds r2, r1
- adds r0, r5
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08091B92
-_08091B80:
- mov r1, r9
- ldr r0, [r1]
- add r0, r10
- adds r2, r0, r7
- ldr r3, [r2]
- adds r0, r5
- ldr r1, [r0]
- str r1, [r2]
- str r3, [r0]
-_08091B92:
- adds r6, 0x1
- cmp r6, 0x3
- ble _08091B42
-_08091B98:
- mov r0, r8
- cmp r0, 0x2
- ble _08091B2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091BAC: .4byte gUnknown_203B460
-_08091BB0: .4byte 0x00000251
- thumb_func_end sub_8091B20
-
- thumb_func_start sub_8091BB4
-sub_8091BB4:
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- mov r1, sp
- ldr r0, _08091C14
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldr r0, [r0]
- str r0, [r1]
- movs r5, 0
-_08091BCA:
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_8091A74
- adds r5, 0x1
- cmp r5, 0x3
- ble _08091BCA
- lsls r7, r4, 2
- ldr r6, _08091C18
- movs r5, 0x3
-_08091BDE:
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- adds r0, r6, 0
- bl RandomCapped
- adds r2, r0, 0
- mov r1, sp
- adds r0, r1, r7
- ldr r0, [r0]
- adds r1, r4, 0
- bl sub_8091E94
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091C1C
- subs r5, 0x1
- cmp r5, 0
- bge _08091BDE
- bl sub_8091B20
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08091C14: .4byte gUnknown_81097F8
-_08091C18: .4byte 0x0000270f
- thumb_func_end sub_8091BB4
-
- thumb_func_start sub_8091C1C
-sub_8091C1C:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl sub_8090B08
- movs r3, 0
- ldr r5, _08091C54
- movs r4, 0x94
- lsls r4, 2
-_08091C34:
- ldr r1, [r5]
- lsls r2, r3, 2
- adds r0, r1, r2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _08091C58
- movs r3, 0x94
- lsls r3, 2
- adds r0, r1, r3
- adds r0, r2
- ldr r1, [sp]
- str r1, [r0]
- movs r0, 0
- b _08091C60
- .align 2, 0
-_08091C54: .4byte gUnknown_203B460
-_08091C58:
- adds r3, 0x1
- cmp r3, 0x3
- ble _08091C34
- movs r0, 0x1
-_08091C60:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091C1C
-
- thumb_func_start sub_8091C68
-sub_8091C68:
- 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
- movs r4, 0
- ldr r5, _08091D10
-_08091C7C:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- mov r0, sp
- bl sub_8091E28
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091C7C
- ldr r6, _08091D10
- movs r5, 0x50
- movs r4, 0xEF
-_08091C94:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0xA
- bl sub_809488C
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08091C94
- ldr r6, _08091D10
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0x7
-_08091CB0:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DE0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091CB0
- ldr r6, _08091D10
- movs r5, 0x94
- lsls r5, 2
- movs r4, 0x3
-_08091CCA:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DE0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091CCA
- ldr r4, _08091D10
- ldr r1, [r4]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- ldr r1, [r4]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_809488C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091D10: .4byte gUnknown_203B460
- thumb_func_end sub_8091C68
-
- thumb_func_start sub_8091D14
-sub_8091D14:
- 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
- movs r4, 0
- ldr r5, _08091DBC
-_08091D28:
- lsls r0, r4, 2
- ldr r1, [r5]
- adds r1, r0
- mov r0, sp
- bl sub_8091E00
- adds r4, 0x1
- cmp r4, 0x13
- ble _08091D28
- ldr r6, _08091DBC
- movs r5, 0x50
- movs r4, 0xEF
-_08091D40:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- movs r2, 0xA
- bl sub_8094924
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _08091D40
- ldr r6, _08091DBC
- movs r5, 0x8C
- lsls r5, 2
- movs r4, 0x7
-_08091D5C:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DC0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091D5C
- ldr r6, _08091DBC
- movs r5, 0x94
- lsls r5, 2
- movs r4, 0x3
-_08091D76:
- ldr r1, [r6]
- adds r1, r5
- mov r0, sp
- bl sub_8091DC0
- adds r5, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _08091D76
- ldr r4, _08091DBC
- ldr r1, [r4]
- movs r0, 0x98
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- ldr r1, [r4]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- mov r0, sp
- movs r2, 0x18
- bl sub_8094924
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091DBC: .4byte gUnknown_203B460
- thumb_func_end sub_8091D14
-
- thumb_func_start sub_8091DC0
-sub_8091DC0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x8
- bl sub_8094924
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091DC0
-
- thumb_func_start sub_8091DE0
-sub_8091DE0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x8
- bl sub_809488C
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091DE0
-
- thumb_func_start sub_8091E00
-sub_8091E00:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- bl sub_8094924
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_8094924
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091E00
-
- thumb_func_start sub_8091E28
-sub_8091E28:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x8
- bl sub_809488C
- adds r1, r5, 0x1
- adds r0, r4, 0
- movs r2, 0x7
- bl sub_809488C
- adds r5, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x8
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8091E28
-
- thumb_func_start sub_8091E50
-sub_8091E50:
- lsls r0, 24
- ldr r1, _08091E5C
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08091E5C: .4byte gUnknown_810AF50
- thumb_func_end sub_8091E50
-
- thumb_func_start sub_8091E60
-sub_8091E60:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r1, 24
- lsrs r4, r0, 24
- cmp r3, 0x3E
- bhi _08091E8C
- ldr r2, _08091E88
- lsrs r0, 27
- lsls r1, r3, 5
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
- movs r1, 0x7
- ands r1, r4
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- b _08091E8E
- .align 2, 0
-_08091E88: .4byte gUnknown_8108F64
-_08091E8C:
- movs r0, 0
-_08091E8E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8091E60
-
- thumb_func_start sub_8091E94
-sub_8091E94:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r4, _08091EE4
- add sp, r4
- mov r8, r1
- mov r10, r2
- ldr r1, _08091EE8
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- movs r3, 0
- add r1, sp, 0x18
- mov r9, r1
- ldr r2, _08091EEC
- mov r12, r2
- add r6, sp, 0x1F8
- ldr r2, [r0]
- adds r7, r6, 0
- movs r4, 0
-_08091EC0:
- ldrh r1, [r2]
- cmp r1, r12
- bls _08091EF4
- ldrh r0, [r2]
- ldr r1, _08091EF0
- adds r0, r1
- cmp r0, 0
- beq _08091EFC
- movs r5, 0
- adds r1, r7, r4
-_08091ED4:
- strh r5, [r1]
- adds r1, 0x2
- adds r4, 0x2
- adds r3, 0x1
- subs r0, 0x1
- cmp r0, 0
- bne _08091ED4
- b _08091EFC
- .align 2, 0
-_08091EE4: .4byte 0xfffffc10
-_08091EE8: .4byte gUnknown_8108E58
-_08091EEC: .4byte 0x0000752f
-_08091EF0: .4byte 0xffff8ad0
-_08091EF4:
- adds r0, r6, r4
- strh r1, [r0]
- adds r4, 0x2
- adds r3, 0x1
-_08091EFC:
- adds r2, 0x2
- cmp r3, 0xFB
- ble _08091EC0
- movs r3, 0xB
- add r2, sp, 0x1F8
- mov r1, sp
-_08091F08:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08091F08
- mov r2, r9
- add r1, sp, 0x210
- movs r3, 0xEF
-_08091F1C:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08091F1C
- movs r7, 0xC
- movs r6, 0
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _08091F4A
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, r8
- blt _08091F4A
- movs r7, 0
- b _08091F66
-_08091F46:
- mov r8, r5
- b _08091F9C
-_08091F4A:
- adds r6, 0x1
- cmp r6, 0xB
- bgt _08091F66
- lsls r0, r6, 1
- mov r2, sp
- adds r1, r2, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08091F4A
- cmp r0, r8
- blt _08091F4A
- lsls r0, r6, 24
- lsrs r7, r0, 24
-_08091F66:
- movs r0, 0x46
- mov r8, r0
- cmp r7, 0xC
- beq _08091F9C
- movs r6, 0
- mov r4, r9
-_08091F72:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08091F94
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r7
- bne _08091F94
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, r10
- bge _08091F46
-_08091F94:
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0xEF
- ble _08091F72
-_08091F9C:
- mov r0, r8
- movs r3, 0xFC
- lsls r3, 2
- add sp, r3
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8091E94
-
- thumb_func_start sub_8091FB4
-sub_8091FB4:
- push {r4-r6,lr}
- movs r6, 0
-_08091FB8:
- ldr r0, _08092038
- lsls r1, r6, 2
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08091FE8
- movs r0, 0xF7
- ands r0, r1
- movs r5, 0
- strb r0, [r4]
- ldrb r0, [r4, 0x2]
- cmp r0, 0x69
- bne _08091FE8
- adds r0, r4, 0
- bl sub_80915D4
- bl sub_80913A0
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x1]
- strb r5, [r4]
-_08091FE8:
- adds r6, 0x1
- cmp r6, 0x13
- ble _08091FB8
- bl sub_80910B4
- movs r6, 0
-_08091FF4:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _0809203C
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092026
- adds r4, r2, 0
- adds r4, 0x28
- ldrb r0, [r4]
- cmp r0, 0
- beq _08092026
- cmp r0, 0x69
- bne _08092026
- adds r0, r4, 0
- bl sub_80915E4
- bl sub_80913A0
- movs r0, 0
- strb r0, [r4]
-_08092026:
- adds r6, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r6, r0
- ble _08091FF4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092038: .4byte gUnknown_203B460
-_0809203C: .4byte gUnknown_203B45C
- thumb_func_end sub_8091FB4
-
- thumb_func_start sub_8092040
-sub_8092040:
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xEF
- bls _0809204E
-_0809204A:
- movs r0, 0x1
- b _08092070
-_0809204E:
- movs r2, 0
- ldr r0, _08092078
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0xF0
- beq _0809206E
- adds r1, r4, 0
-_0809205C:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, r3
- beq _0809204A
- adds r2, 0x1
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0xF0
- bne _0809205C
-_0809206E:
- movs r0, 0
-_08092070:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08092078: .4byte gUnknown_810A35B
- thumb_func_end sub_8092040
-
- thumb_func_start sub_809207C
-sub_809207C:
- ldr r1, _08092084
- ldr r0, _08092088
- str r0, [r1]
- bx lr
- .align 2, 0
-_08092084: .4byte gUnknown_203B464
-_08092088: .4byte gUnknown_2038C10
- thumb_func_end sub_809207C
-
- thumb_func_start sub_809208C
-sub_809208C:
- ldr r0, _08092090
- bx lr
- .align 2, 0
-_08092090: .4byte gUnknown_2038C10
- thumb_func_end sub_809208C
-
- thumb_func_start sub_8092094
-sub_8092094:
- push {r4,lr}
- ldr r4, _080920B0
- ldr r0, [r4]
- ldr r1, _080920B4
- movs r2, 0xA
- bl sub_8092310
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1, 0xC]
- strb r0, [r1, 0x10]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080920B0: .4byte gUnknown_203B464
-_080920B4: .4byte gUnknown_810982C
- thumb_func_end sub_8092094
-
- thumb_func_start sub_80920B8
-sub_80920B8:
- push {lr}
- adds r2, r0, 0
- movs r1, 0
- ldr r0, _080920D4
- ldr r3, [r0]
-_080920C2:
- adds r0, r3, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r2, 0x1
- adds r1, 0x1
- cmp r1, 0x9
- ble _080920C2
- pop {r0}
- bx r0
- .align 2, 0
-_080920D4: .4byte gUnknown_203B464
- thumb_func_end sub_80920B8
-
- thumb_func_start sub_80920D8
-sub_80920D8:
- push {lr}
- ldr r1, _080920E8
- ldr r1, [r1]
- movs r2, 0xA
- bl sub_80922B4
- pop {r0}
- bx r0
- .align 2, 0
-_080920E8: .4byte gUnknown_203B464
- thumb_func_end sub_80920D8
-
- thumb_func_start sub_80920EC
-sub_80920EC:
- push {r4,lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r4, _0809210C
-_080920F4:
- ldr r0, [r4]
- adds r0, r2
- ldrb r1, [r3]
- strb r1, [r0]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x9
- ble _080920F4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809210C: .4byte gUnknown_203B464
- thumb_func_end sub_80920EC
-
- thumb_func_start sub_8092110
-sub_8092110:
- ldr r0, _08092118
- ldr r0, [r0]
- ldr r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08092118: .4byte gUnknown_203B464
- thumb_func_end sub_8092110
-
- thumb_func_start sub_809211C
-sub_809211C:
- push {lr}
- bl sub_8092178
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- beq _08092144
- ldr r1, _0809213C
- lsls r0, 2
- adds r0, r1
- ldr r1, _08092140
- ldr r1, [r1]
- ldr r0, [r0]
- ldr r1, [r1, 0xC]
- subs r0, r1
- b _08092146
- .align 2, 0
-_0809213C: .4byte gUnknown_8109810
-_08092140: .4byte gUnknown_203B464
-_08092144:
- movs r0, 0
-_08092146:
- pop {r1}
- bx r1
- thumb_func_end sub_809211C
-
- thumb_func_start sub_809214C
-sub_809214C:
- ldr r1, _08092154
- ldr r1, [r1]
- str r0, [r1, 0xC]
- bx lr
- .align 2, 0
-_08092154: .4byte gUnknown_203B464
- thumb_func_end sub_809214C
-
- thumb_func_start sub_8092158
-sub_8092158:
- push {lr}
- ldr r1, _08092170
- ldr r2, [r1]
- ldr r1, [r2, 0xC]
- adds r1, r0
- str r1, [r2, 0xC]
- ldr r0, _08092174
- cmp r1, r0
- ble _0809216C
- str r0, [r2, 0xC]
-_0809216C:
- pop {r0}
- bx r0
- .align 2, 0
-_08092170: .4byte gUnknown_203B464
-_08092174: .4byte 0x05f5e0ff
- thumb_func_end sub_8092158
-
- thumb_func_start sub_8092178
-sub_8092178:
- push {lr}
- movs r1, 0
- ldr r0, _08092190
- ldr r0, [r0]
- ldr r3, [r0, 0xC]
- ldr r2, _08092194
-_08092184:
- ldr r0, [r2]
- cmp r3, r0
- bge _08092198
- lsls r0, r1, 24
- lsrs r0, 24
- b _080921A2
- .align 2, 0
-_08092190: .4byte gUnknown_203B464
-_08092194: .4byte gUnknown_8109810
-_08092198:
- adds r2, 0x4
- adds r1, 0x1
- cmp r1, 0x6
- ble _08092184
- movs r0, 0x6
-_080921A2:
- pop {r1}
- bx r1
- thumb_func_end sub_8092178
-
- thumb_func_start sub_80921A8
-sub_80921A8:
- lsls r0, 24
- ldr r1, _080921B4
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080921B4: .4byte gUnknown_810B44C
- thumb_func_end sub_80921A8
-
- thumb_func_start sub_80921B8
-sub_80921B8:
- ldr r0, _080921C0
- ldr r0, [r0]
- ldrb r0, [r0, 0x10]
- bx lr
- .align 2, 0
-_080921C0: .4byte gUnknown_203B464
- thumb_func_end sub_80921B8
-
- thumb_func_start sub_80921C4
-sub_80921C4:
- push {r4-r6,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- add r6, sp, 0x10
- movs r0, 0xFF
- strb r0, [r6]
- mov r5, sp
- adds r5, 0x11
- movs r0, 0
- strb r0, [r5]
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- ldr r4, _08092228
- ldr r1, [r4]
- mov r0, sp
- movs r2, 0x58
- bl sub_809488C
- ldr r1, [r4]
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x20
- bl sub_809488C
- movs r0, 0
- bl sub_80023E4
- ldr r1, [r4]
- strb r0, [r1, 0x10]
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- adds r1, r5, 0
- cmp r0, 0
- beq _08092210
- adds r1, r6, 0
-_08092210:
- mov r0, sp
- movs r2, 0x1
- bl sub_809488C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08092228: .4byte gUnknown_203B464
- thumb_func_end sub_80921C4
-
- thumb_func_start sub_809222C
-sub_809222C:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809485C
- ldr r5, _0809227C
- ldr r1, [r5]
- mov r0, sp
- movs r2, 0x58
- bl sub_8094924
- ldr r1, [r5]
- adds r1, 0xC
- mov r0, sp
- movs r2, 0x20
- bl sub_8094924
- add r4, sp, 0x10
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- strb r0, [r2, 0x10]
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809227C: .4byte gUnknown_203B464
- thumb_func_end sub_809222C
-
- thumb_func_start sub_8092280
-sub_8092280:
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_8092280
-
- thumb_func_start sub_8092288
-sub_8092288:
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_8092288
-
- thumb_func_start sub_8092290
-sub_8092290:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- b _080922A4
-_08092298:
- ldrb r0, [r4]
- adds r4, 0x1
- bl sub_8092288
- strb r0, [r5]
- adds r5, 0x1
-_080922A4:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08092298
- movs r0, 0
- strb r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092290
-
- thumb_func_start sub_80922B4
-sub_80922B4:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- b _080922CA
-_080922BE:
- ldrb r0, [r4]
- adds r4, 0x1
- bl sub_8092288
- strb r0, [r6]
- adds r6, 0x1
-_080922CA:
- adds r0, r5, 0
- subs r5, 0x1
- cmp r0, 0
- ble _080922D8
- ldrb r0, [r4]
- cmp r0, 0
- bne _080922BE
-_080922D8:
- movs r0, 0
- strb r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80922B4
-
- thumb_func_start sub_80922E4
-sub_80922E4:
- ldr r1, _080922F0
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080922F0: .4byte gUnknown_810983C
- thumb_func_end sub_80922E4
-
- thumb_func_start sub_80922F4
-sub_80922F4:
- push {lr}
- adds r2, r0, 0
- b _08092300
-_080922FA:
- strb r0, [r2]
- adds r1, 0x1
- adds r2, 0x1
-_08092300:
- ldrb r0, [r1]
- cmp r0, 0
- bne _080922FA
- movs r0, 0
- strb r0, [r2]
- pop {r0}
- bx r0
- thumb_func_end sub_80922F4
-
- thumb_func_start sub_8092310
-sub_8092310:
- push {r4,lr}
- adds r4, r0, 0
- b _0809231C
-_08092316:
- strb r0, [r4]
- adds r4, 0x1
- adds r1, 0x1
-_0809231C:
- adds r0, r2, 0
- subs r2, 0x1
- cmp r0, 0
- ble _0809232E
- ldrb r0, [r1]
- adds r3, r0, 0
- cmp r3, 0
- bne _08092316
- strb r3, [r4]
-_0809232E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8092310
-
- thumb_func_start sub_8092334
-sub_8092334:
- lsls r0, 24
- ldr r1, _08092340
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092340: .4byte gUnknown_810AD4C
- thumb_func_end sub_8092334
-
- thumb_func_start sub_8092344
-sub_8092344:
- lsls r0, 24
- ldr r1, _08092350
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092350: .4byte gUnknown_810AE24
- thumb_func_end sub_8092344
-
- thumb_func_start sub_8092354
-sub_8092354:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08092360
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092360: .4byte gUnknown_810AC7C
- thumb_func_end sub_8092354
-
- thumb_func_start sub_8092364
-sub_8092364:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08092370
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092370: .4byte gUnknown_810AC6A
- thumb_func_end sub_8092364
-
- thumb_func_start sub_8092374
-sub_8092374:
- push {lr}
- lsls r1, 24
- ldr r2, _0809238C
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- movs r2, 0x50
- bl strncpy
- pop {r0}
- bx r0
- .align 2, 0
-_0809238C: .4byte gUnknown_810B4C8
- thumb_func_end sub_8092374
-
- thumb_func_start sub_8092390
-sub_8092390:
- lsls r0, 24
- ldr r1, _0809239C
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_0809239C: .4byte gUnknown_810B988
- thumb_func_end sub_8092390
-
- thumb_func_start sub_80923A0
-sub_80923A0:
- ldr r1, _080923A8
- ldr r0, _080923AC
- str r0, [r1]
- bx lr
- .align 2, 0
-_080923A8: .4byte gUnknown_203B468
-_080923AC: .4byte gUnknown_2038C28
- thumb_func_end sub_80923A0
-
- thumb_func_start sub_80923B0
-sub_80923B0:
- ldr r0, _080923B4
- bx lr
- .align 2, 0
-_080923B4: .4byte gUnknown_2038C28
- thumb_func_end sub_80923B0
-
- thumb_func_start sub_80923B8
-sub_80923B8:
- push {lr}
- movs r1, 0
- ldr r3, _080923D0
- movs r2, 0
-_080923C0:
- ldr r0, [r3]
- adds r0, r1
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0x39
- ble _080923C0
- pop {r0}
- bx r0
- .align 2, 0
-_080923D0: .4byte gUnknown_203B468
- thumb_func_end sub_80923B8
-
- thumb_func_start sub_80923D4
-sub_80923D4:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r3, 0
- movs r1, 0
- ldr r2, _080923F0
-_080923DE:
- movs r5, 0
- ldrsh r0, [r2, r5]
- adds r3, r0
- cmp r3, r4
- ble _080923F4
- lsls r0, r1, 24
- lsrs r0, 24
- b _080923FE
- .align 2, 0
-_080923F0: .4byte gUnknown_810AA90
-_080923F4:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x39
- ble _080923DE
- movs r0, 0
-_080923FE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80923D4
-
- thumb_func_start sub_8092404
-sub_8092404:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- movs r6, 0
- movs r4, 0
- mov r5, r10
-_08092426:
- movs r0, 0x58
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _08092494
- ldr r0, [r0]
- adds r2, r1, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092472
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- beq _08092448
- mov r0, r8
- cmp r0, 0
- beq _08092472
-_08092448:
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- bne _08092452
- movs r1, 0x1
-_08092452:
- cmp r1, 0
- beq _0809245A
- cmp r7, 0
- beq _08092472
-_0809245A:
- adds r0, r4, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r9
- bne _08092472
- cmp r6, 0xF
- bgt _08092472
- strh r4, [r5]
- adds r5, 0x2
- adds r6, 0x1
-_08092472:
- adds r4, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- ble _08092426
- lsls r0, r6, 1
- add r0, r10
- ldr r2, _08092498
- adds r1, r2, 0
- strh r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092494: .4byte gUnknown_203B45C
-_08092498: .4byte 0x0000ffff
- thumb_func_end sub_8092404
-
- thumb_func_start sub_809249C
-sub_809249C:
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080924F8
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809251A
- movs r5, 0
-_080924B4:
- ldr r2, _080924FC
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092502
- adds r0, r5, 0
- bl sub_80923D4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r6
- bne _08092502
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080924E2
- movs r1, 0x1
-_080924E2:
- cmp r1, 0
- bne _080924F2
- ldrb r1, [r4, 0x2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- cmp r0, 0
- beq _08092500
-_080924F2:
- movs r7, 0
- b _08092502
- .align 2, 0
-_080924F8: .4byte gUnknown_203B468
-_080924FC: .4byte gUnknown_203B45C
-_08092500:
- strh r0, [r4]
-_08092502:
- adds r5, 0x1
- movs r0, 0xCE
- lsls r0, 1
- cmp r5, r0
- ble _080924B4
- cmp r7, 0
- beq _0809251A
- ldr r0, _08092520
- ldr r0, [r0]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
-_0809251A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092520: .4byte gUnknown_203B468
- thumb_func_end sub_809249C
-
- thumb_func_start sub_8092524
-sub_8092524:
- lsls r0, 24
- ldr r1, _08092530
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092530: .4byte gUnknown_81139D0
- thumb_func_end sub_8092524
-
- thumb_func_start sub_8092534
-sub_8092534:
- lsls r0, 24
- ldr r1, _08092540
- lsrs r0, 21
- adds r0, r1
- ldrb r0, [r0, 0x2]
- bx lr
- .align 2, 0
-_08092540: .4byte gUnknown_810AA90
- thumb_func_end sub_8092534
-
- thumb_func_start sub_8092544
-sub_8092544:
- lsls r0, 24
- ldr r1, _08092554
- lsrs r0, 21
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_08092554: .4byte gUnknown_810AA90
- thumb_func_end sub_8092544
-
- thumb_func_start sub_8092558
-sub_8092558:
- push {lr}
- lsls r2, r1, 24
- ldr r1, _08092570
- ldr r3, _08092574
- lsrs r2, 22
- adds r2, r3
- ldr r2, [r2]
- bl sub_800D158
- pop {r0}
- bx r0
- .align 2, 0
-_08092570: .4byte gUnknown_81098A4
-_08092574: .4byte gUnknown_81139D0
- thumb_func_end sub_8092558
-
- thumb_func_start sub_8092578
-sub_8092578:
- push {r4,r5,lr}
- sub sp, 0x18
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- cmp r2, 0
- beq _080925C0
- ldr r0, _080925B4
- lsls r1, r4, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- add r1, sp, 0x4
- movs r2, 0x1
- bl sub_8090FEC
- ldr r1, _080925B8
- ldr r2, _080925BC
- lsls r0, r4, 2
- adds r0, r2
- ldr r2, [r0]
- add r0, sp, 0x4
- str r0, [sp]
- adds r0, r5, 0
- movs r3, 0x60
- bl sub_800D158
- b _080925CE
- .align 2, 0
-_080925B4: .4byte gUnknown_810AA90
-_080925B8: .4byte gUnknown_81098AC
-_080925BC: .4byte gUnknown_81139D0
-_080925C0:
- ldr r0, _080925D8
- lsls r1, r4, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r5, 0
- bl strcpy
-_080925CE:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080925D8: .4byte gUnknown_81139D0
- thumb_func_end sub_8092578
-
- thumb_func_start sub_80925DC
-sub_80925DC:
- lsls r0, 24
- ldr r1, _080925E8
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080925E8: .4byte gUnknown_8113E30
- thumb_func_end sub_80925DC
-
- thumb_func_start sub_80925EC
-sub_80925EC:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080925FC
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080925FC: .4byte gUnknown_203B468
- thumb_func_end sub_80925EC
-
- thumb_func_start sub_8092600
-sub_8092600:
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08092610
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- bx lr
- .align 2, 0
-_08092610: .4byte gUnknown_203B468
- thumb_func_end sub_8092600
-
- thumb_func_start sub_8092614
-sub_8092614:
- push {lr}
- movs r1, 0x1
- ldr r0, _08092628
- ldr r2, [r0]
-_0809261C:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809262C
- movs r0, 0
- b _08092634
- .align 2, 0
-_08092628: .4byte gUnknown_203B468
-_0809262C:
- adds r1, 0x1
- cmp r1, 0x39
- ble _0809261C
- movs r0, 0x1
-_08092634:
- pop {r1}
- bx r1
- thumb_func_end sub_8092614
-
- thumb_func_start sub_8092638
-sub_8092638:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r2, 24
- lsrs r2, 24
- mov r12, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r6, 0
- movs r3, 0
- ldr r2, _080926DC
- cmp r3, r5
- bge _0809266E
- ldr r1, _080926E0
- adds r3, r5, 0
-_0809265E:
- movs r7, 0
- ldrsh r0, [r1, r7]
- adds r6, r0
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bne _0809265E
- adds r3, r5, 0
-_0809266E:
- str r6, [r4, 0x8]
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080926E8
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r1, _080926E0
- lsls r0, r3, 3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- movs r3, 0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _080926EC
- ldr r5, _080926E4
-_0809269A:
- movs r0, 0x58
- adds r1, r6, 0
- muls r1, r0
- ldr r0, [r5]
- adds r2, r0, r1
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080926CC
- mov r7, r12
- cmp r7, 0
- beq _080926BA
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _080926CC
-_080926BA:
- mov r0, r8
- cmp r0, 0
- beq _080926C6
- ldrb r0, [r2, 0x4]
- cmp r0, 0x41
- beq _080926CC
-_080926C6:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_080926CC:
- adds r3, 0x1
- adds r6, 0x1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r3, r0
- blt _0809269A
- b _080926EC
- .align 2, 0
-_080926DC: .4byte gUnknown_203B468
-_080926E0: .4byte gUnknown_810AA90
-_080926E4: .4byte gUnknown_203B45C
-_080926E8:
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080926EC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8092638
-
- thumb_func_start sub_80926F8
-sub_80926F8:
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r2, 24
- lsrs r7, r2, 24
- movs r5, 0
- movs r2, 0
- ldr r0, _08092780
- mov r12, r0
- cmp r2, r3
- bge _08092724
- ldr r1, _08092784
- adds r2, r3, 0
-_08092714:
- movs r6, 0
- ldrsh r0, [r1, r6]
- adds r5, r0
- adds r1, 0x8
- subs r2, 0x1
- cmp r2, 0
- bne _08092714
- adds r2, r3, 0
-_08092724:
- str r5, [r4, 0x8]
- mov r1, r12
- ldr r0, [r1]
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r4, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _0809279C
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r1, _08092784
- lsls r0, r2, 3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r4]
- movs r6, 0
- ldrsh r0, [r4, r6]
- cmp r0, 0
- ble _080927A0
- ldr r6, _08092788
- adds r2, r0, 0
-_08092752:
- movs r0, 0x58
- adds r1, r5, 0
- muls r1, r0
- ldr r0, [r6]
- adds r3, r0, r1
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092792
- ldrb r0, [r3, 0x2]
- cmp r0, 0
- bne _08092776
- cmp r7, 0
- bne _0809278C
- ldrb r0, [r3, 0x4]
- cmp r0, 0x41
- bne _0809278C
-_08092776:
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- b _08092792
- .align 2, 0
-_08092780: .4byte gUnknown_203B468
-_08092784: .4byte gUnknown_810AA90
-_08092788: .4byte gUnknown_203B45C
-_0809278C:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
-_08092792:
- subs r2, 0x1
- adds r5, 0x1
- cmp r2, 0
- bne _08092752
- b _080927A0
-_0809279C:
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080927A0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80926F8
-
- thumb_func_start sub_80927A8
-sub_80927A8:
- push {r4,r5,lr}
- sub sp, 0x14
- adds r3, r0, 0
- adds r2, r1, 0
- mov r0, sp
- adds r1, r3, 0
- bl sub_809486C
- movs r4, 0
- add r5, sp, 0x10
-_080927BC:
- ldr r0, _080927F0
- ldr r0, [r0]
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080927CC
- movs r0, 0x1
- negs r0, r0
-_080927CC:
- str r0, [sp, 0x10]
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x1
- bl sub_809488C
- adds r4, 0x1
- cmp r4, 0x39
- ble _080927BC
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080927F0: .4byte gUnknown_203B468
- thumb_func_end sub_80927A8
-
- thumb_func_start sub_80927F4
-sub_80927F4:
- 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
- movs r4, 0
- add r7, sp, 0x10
- movs r6, 0x1
- ldr r5, _08092828
-_0809280C:
- mov r0, sp
- adds r1, r7, 0
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [sp, 0x10]
- ands r1, r6
- cmp r1, 0
- beq _0809282C
- ldr r0, [r5]
- adds r0, r4
- strb r6, [r0]
- b _08092832
- .align 2, 0
-_08092828: .4byte gUnknown_203B468
-_0809282C:
- ldr r0, [r5]
- adds r0, r4
- strb r1, [r0]
-_08092832:
- adds r4, 0x1
- cmp r4, 0x39
- ble _0809280C
- mov r0, sp
- bl nullsub_102
- ldr r0, [sp, 0x8]
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80927F4
-
- thumb_func_start LoadWazaParameters
-LoadWazaParameters:
- push {lr}
- ldr r0, _08092868
- ldr r1, _0809286C
- bl OpenFileAndGetFileDataPtr
- ldr r1, _08092870
- str r0, [r1]
- ldr r1, _08092874
- ldr r2, [r0, 0x4]
- ldr r0, [r2]
- str r0, [r1]
- ldr r1, _08092878
- ldr r0, [r2, 0x4]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08092868: .4byte gUnknown_81098D0
-_0809286C: .4byte gUnknown_8300500
-_08092870: .4byte gUnknown_2038C64
-_08092874: .4byte gUnknown_2038C68
-_08092878: .4byte gUnknown_2038C6C
- thumb_func_end LoadWazaParameters
-
- thumb_func_start sub_809287C
-sub_809287C:
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _08092894
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092898
-_08092894:
- movs r0, 0x32
- b _0809289A
-_08092898:
- movs r0, 0x34
-_0809289A:
- pop {r1}
- bx r1
- thumb_func_end sub_809287C
-
- thumb_func_start sub_80928A0
-sub_80928A0:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r2, 0
- mov r0, sp
- bl sub_8093F10
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_80928C0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80928A0
-
- thumb_func_start sub_80928C0
-sub_80928C0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- adds r7, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, r4, 0
- bl sub_809287C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r5, 0
- bne _080928DE
- ldr r5, _080928F0
-_080928DE:
- ldrb r1, [r4, 0x5]
- cmp r1, 0
- beq _080928F8
- ldr r1, _080928F4
- ldrb r2, [r4, 0x5]
- add r0, sp, 0x14
- bl sub_800D158
- b _080928FC
- .align 2, 0
-_080928F0: .4byte gUnknown_81098C4
-_080928F4: .4byte gUnknown_81098DC
-_080928F8:
- add r0, sp, 0x14
- strb r1, [r0]
-_080928FC:
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- beq _08092904
- movs r6, 0x2
-_08092904:
- ldrb r0, [r5, 0x9]
- cmp r0, 0
- beq _08092918
- ldrh r0, [r4, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- beq _08092918
- movs r6, 0x2
-_08092918:
- ldr r0, [r5]
- cmp r0, 0x4
- bls _08092920
- b _08092A6A
-_08092920:
- lsls r0, 2
- ldr r1, _0809292C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809292C: .4byte _08092930
- .align 2, 0
-_08092930:
- .4byte _08092944
- .4byte _0809296C
- .4byte _08092998
- .4byte _080929C4
- .4byte _08092A20
-_08092944:
- ldr r1, _08092964
- ldrh r2, [r4, 0x2]
- ldr r0, _08092968
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- add r0, sp, 0x14
- str r0, [sp]
- adds r0, r7, 0
- adds r2, r6, 0
- bl sub_800D158
- b _08092A6A
- .align 2, 0
-_08092964: .4byte gUnknown_81098E0
-_08092968: .4byte gUnknown_2038C68
-_0809296C:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r1, _0809298C
- mov r8, r1
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- ldr r1, _08092990
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _08092994
- b _080929E0
- .align 2, 0
-_0809298C: .4byte gUnknown_81098EC
-_08092990: .4byte gUnknown_810990C
-_08092994: .4byte gUnknown_8109908
-_08092998:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _080929B8
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- ldr r1, _080929BC
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _080929C0
- b _080929E0
- .align 2, 0
-_080929B8: .4byte gUnknown_8109910
-_080929BC: .4byte gUnknown_810990C
-_080929C0: .4byte gUnknown_8109908
-_080929C4:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _08092A10
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- ldr r1, _08092A14
- mov r12, r1
- cmp r0, 0
- beq _080929E2
- ldr r0, _08092A18
-_080929E0:
- mov r12, r0
-_080929E2:
- ldrh r1, [r4, 0x2]
- ldr r0, _08092A1C
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- add r1, sp, 0x14
- str r1, [sp, 0x4]
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r8
- adds r2, r6, 0
- mov r3, r12
- bl sub_800D158
- b _08092A6A
- .align 2, 0
-_08092A10: .4byte gUnknown_81098EC
-_08092A14: .4byte gUnknown_810990C
-_08092A18: .4byte gUnknown_8109928
-_08092A1C: .4byte gUnknown_2038C68
-_08092A20:
- adds r0, r4, 0
- bl sub_8092BF4
- adds r3, r0, 0
- ldr r0, _08092A78
- mov r8, r0
- ldrb r1, [r4]
- movs r0, 0x4
- ands r0, r1
- ldr r1, _08092A7C
- mov r12, r1
- cmp r0, 0
- beq _08092A3E
- ldr r0, _08092A80
- mov r12, r0
-_08092A3E:
- ldrh r1, [r4, 0x2]
- ldr r0, _08092A84
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [sp]
- add r1, sp, 0x14
- str r1, [sp, 0x4]
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x8]
- ldrb r0, [r4, 0x4]
- str r0, [sp, 0xC]
- str r3, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r8
- adds r2, r6, 0
- mov r3, r12
- bl sub_800D158
-_08092A6A:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092A78: .4byte gUnknown_8109910
-_08092A7C: .4byte gUnknown_810990C
-_08092A80: .4byte gUnknown_8109928
-_08092A84: .4byte gUnknown_2038C68
- thumb_func_end sub_80928C0
-
- thumb_func_start sub_8092A88
-sub_8092A88:
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r2, 0
- movs r0, 0x5
- strb r0, [r4]
- strb r2, [r4, 0x1]
- movs r5, 0
- strh r1, [r4, 0x2]
- adds r0, r4, 0
- bl sub_8092BF4
- strb r0, [r4, 0x4]
- strb r5, [r4, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092A88
-
- thumb_func_start sub_8092AA8
-sub_8092AA8:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r2, 0
- bne _08092AB8
- strb r2, [r5]
- b _08092ACE
-_08092AB8:
- movs r1, 0
- movs r0, 0x5
- strb r0, [r5]
- strb r1, [r5, 0x1]
- movs r4, 0
- strh r2, [r5, 0x2]
- adds r0, r5, 0
- bl sub_8092BF4
- strb r0, [r5, 0x4]
- strb r4, [r5, 0x5]
-_08092ACE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092AA8
-
- thumb_func_start sub_8092AD4
-sub_8092AD4:
- movs r2, 0x5
- strb r2, [r0]
- movs r2, 0
- strh r1, [r0, 0x2]
- strb r2, [r0, 0x4]
- bx lr
- thumb_func_end sub_8092AD4
-
- thumb_func_start sub_8092AE0
-sub_8092AE0:
- ldrh r2, [r0, 0x2]
- ldr r0, _08092AFC
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- lsls r1, 1
- adds r0, 0x8
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08092AFC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092AE0
-
- thumb_func_start sub_8092B00
-sub_8092B00:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092B14
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x6]
- bx lr
- .align 2, 0
-_08092B14: .4byte gUnknown_2038C68
- thumb_func_end sub_8092B00
-
- thumb_func_start sub_8092B18
-sub_8092B18:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _08092B40
- cmp r1, r0
- beq _08092B48
- cmp r1, 0
- beq _08092B48
- movs r0, 0xD2
- lsls r0, 1
- cmp r2, r0
- beq _08092B48
- ldr r0, _08092B44
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r1
- ldr r0, [r0]
- b _08092B4A
- .align 2, 0
-_08092B40: .4byte 0x000001a5
-_08092B44: .4byte gUnknown_2038C6C
-_08092B48:
- ldr r0, _08092B50
-_08092B4A:
- pop {r1}
- bx r1
- .align 2, 0
-_08092B50: .4byte gUnknown_810992B
- thumb_func_end sub_8092B18
-
- thumb_func_start sub_8092B54
-sub_8092B54:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _08092B7C
- cmp r1, r0
- beq _08092B84
- cmp r1, 0
- beq _08092B84
- movs r0, 0xD2
- lsls r0, 1
- cmp r2, r0
- beq _08092B84
- ldr r0, _08092B80
- ldr r1, [r0]
- lsls r0, r2, 3
- adds r0, r1
- ldr r0, [r0, 0x4]
- b _08092B86
- .align 2, 0
-_08092B7C: .4byte 0x000001a5
-_08092B80: .4byte gUnknown_2038C6C
-_08092B84:
- ldr r0, _08092B8C
-_08092B86:
- pop {r1}
- bx r1
- .align 2, 0
-_08092B8C: .4byte gUnknown_810992B
- thumb_func_end sub_8092B54
-
- thumb_func_start sub_8092B90
-sub_8092B90:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BA4
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xD]
- bx lr
- .align 2, 0
-_08092BA4: .4byte gUnknown_2038C68
- thumb_func_end sub_8092B90
-
- thumb_func_start sub_8092BA8
-sub_8092BA8:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BBC
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x11]
- bx lr
- .align 2, 0
-_08092BBC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BA8
-
- thumb_func_start sub_8092BC0
-sub_8092BC0:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092BD4
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_08092BD4: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BC0
-
- thumb_func_start sub_8092BD8
-sub_8092BD8:
- ldrh r2, [r0, 0x2]
- ldr r0, _08092BF0
- ldr r3, [r0]
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- adds r0, 0xE
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08092BF0: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BD8
-
- thumb_func_start sub_8092BF4
-sub_8092BF4:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C08
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xC]
- bx lr
- .align 2, 0
-_08092C08: .4byte gUnknown_2038C68
- thumb_func_end sub_8092BF4
-
- thumb_func_start sub_8092C0C
-sub_8092C0C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C20
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x12]
- bx lr
- .align 2, 0
-_08092C20: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C0C
-
- thumb_func_start sub_8092C24
-sub_8092C24:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C38
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x13]
- bx lr
- .align 2, 0
-_08092C38: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C24
-
- thumb_func_start sub_8092C3C
-sub_8092C3C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C50
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x17]
- bx lr
- .align 2, 0
-_08092C50: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C3C
-
- thumb_func_start sub_8092C54
-sub_8092C54:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C68
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x18]
- bx lr
- .align 2, 0
-_08092C68: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C54
-
- thumb_func_start sub_8092C6C
-sub_8092C6C:
- ldrh r1, [r0, 0x2]
- ldr r0, _08092C80
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x19]
- bx lr
- .align 2, 0
-_08092C80: .4byte gUnknown_2038C68
- thumb_func_end sub_8092C6C
-
- thumb_func_start sub_8092C84
-sub_8092C84:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092A88
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0
- bl sub_80928C0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8092C84
-
- thumb_func_start sub_8092CA8
-sub_8092CA8:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CBC
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, [r1, 0x20]
- bx lr
- .align 2, 0
-_08092CBC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CA8
-
- thumb_func_start sub_8092CC0
-sub_8092CC0:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CD4
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x14]
- bx lr
- .align 2, 0
-_08092CD4: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CC0
-
- thumb_func_start sub_8092CD8
-sub_8092CD8:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092CEC
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x15]
- bx lr
- .align 2, 0
-_08092CEC: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CD8
-
- thumb_func_start sub_8092CF0
-sub_8092CF0:
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08092D04
- ldr r2, [r1]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x16]
- bx lr
- .align 2, 0
-_08092D04: .4byte gUnknown_2038C68
- thumb_func_end sub_8092CF0
-
- thumb_func_start sub_8092D08
-sub_8092D08:
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2]
- cmp r1, 0xD9
- beq _08092D4C
- movs r0, 0x8E
- lsls r0, 1
- cmp r1, r0
- beq _08092D4C
- cmp r1, 0x53
- beq _08092D4C
- cmp r1, 0x22
- beq _08092D4C
- cmp r1, 0x54
- beq _08092D4C
- cmp r1, 0xAB
- beq _08092D4C
- ldr r0, _08092D48
- cmp r1, r0
- beq _08092D4C
- cmp r1, 0x1B
- beq _08092D4C
- cmp r1, 0xF1
- beq _08092D4C
- cmp r1, 0x19
- beq _08092D4C
- ldrh r0, [r2, 0x2]
- cmp r0, 0x1A
- beq _08092D4C
- movs r0, 0
- b _08092D4E
- .align 2, 0
-_08092D48: .4byte 0x00000125
-_08092D4C:
- movs r0, 0x1
-_08092D4E:
- pop {r1}
- bx r1
- thumb_func_end sub_8092D08
-
- thumb_func_start sub_8092D54
-sub_8092D54:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- ldr r5, _08092D78
- ldr r4, _08092D7C
- bl sub_8092C6C
- lsls r0, 2
- adds r0, r4
- ldr r2, [r0]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_800D158
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092D78: .4byte gUnknown_810992C
-_08092D7C: .4byte gUnknown_810CC0C
- thumb_func_end sub_8092D54
-
- thumb_func_start sub_8092D80
-sub_8092D80:
- push {r4,r5,lr}
- adds r3, r1, 0
- movs r5, 0
- lsls r1, r3, 3
- adds r1, r0
-_08092D8A:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x4
- beq _08092DB0
- ldrb r2, [r1]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092DB0
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092DAA
- adds r0, r3, 0
- b _08092DB2
-_08092DAA:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08092D8A
-_08092DB0:
- movs r0, 0
-_08092DB2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092D80
-
- thumb_func_start sub_8092DB8
-sub_8092DB8:
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r5, 0
- movs r6, 0x1
-_08092DC0:
- subs r1, 0x1
- cmp r1, 0
- bge _08092DF0
- movs r2, 0x3
- ldrb r1, [r4, 0x18]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08092DD6
- movs r1, 0x3
- b _08092DEC
-_08092DD6:
- subs r2, 0x1
- cmp r2, 0
- blt _08092E12
- lsls r0, r2, 3
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08092DD6
- adds r1, r2, 0
-_08092DEC:
- cmp r2, 0
- blt _08092E12
-_08092DF0:
- lsls r0, r1, 3
- adds r0, r4
- ldrb r2, [r0]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r2
- cmp r0, 0
- beq _08092E12
- lsrs r0, r2, 1
- ands r0, r3
- cmp r0, 0
- bne _08092E0C
- adds r0, r1, 0
- b _08092E14
-_08092E0C:
- adds r5, 0x1
- cmp r5, 0x3
- ble _08092DC0
-_08092E12:
- movs r0, 0
-_08092E14:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8092DB8
-
- thumb_func_start sub_8092E1C
-sub_8092E1C:
- push {r4,r5,lr}
- adds r3, r1, 0
- movs r5, 0
- lsls r1, r3, 3
- adds r1, r0
-_08092E26:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x8
- beq _08092E4C
- ldrb r2, [r1]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092E4C
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092E46
- adds r0, r3, 0
- b _08092E4E
-_08092E46:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092E26
-_08092E4C:
- movs r0, 0
-_08092E4E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092E1C
-
- thumb_func_start sub_8092E54
-sub_8092E54:
- push {r4,r5,lr}
- adds r3, r1, 0
- movs r5, 0
- lsls r1, r3, 3
- adds r1, r0
-_08092E5E:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x8
- beq _08092E84
- ldrb r2, [r1]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092E84
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092E7E
- adds r0, r3, 0
- b _08092E86
-_08092E7E:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092E5E
-_08092E84:
- movs r0, 0
-_08092E86:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8092E54
-
- thumb_func_start sub_8092E8C
-sub_8092E8C:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- lsls r0, r1, 3
- adds r3, r0, r6
-_08092E96:
- subs r3, 0x8
- subs r1, 0x1
- cmp r1, 0
- bge _08092EC6
- movs r3, 0x7
- movs r4, 0x1
- adds r2, r6, 0
- adds r2, 0x38
-_08092EA6:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08092EBC
- lsrs r0, r1, 1
- ands r0, r4
- cmp r0, 0
- bne _08092EBC
- adds r0, r3, 0
- b _08092EE6
-_08092EBC:
- subs r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bgt _08092EA6
- b _08092EE4
-_08092EC6:
- ldrb r2, [r3]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092EE4
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092EDE
- adds r0, r1, 0
- b _08092EE6
-_08092EDE:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092E96
-_08092EE4:
- movs r0, 0
-_08092EE6:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8092E8C
-
- thumb_func_start sub_8092EEC
-sub_8092EEC:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r5, 0
- lsls r0, r1, 3
- adds r3, r0, r6
-_08092EF6:
- subs r3, 0x8
- subs r1, 0x1
- cmp r1, 0
- bge _08092F26
- movs r3, 0x7
- movs r4, 0x1
- adds r2, r6, 0
- adds r2, 0x38
-_08092F06:
- ldrb r1, [r2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08092F1C
- lsrs r0, r1, 1
- ands r0, r4
- cmp r0, 0
- bne _08092F1C
- adds r0, r3, 0
- b _08092F46
-_08092F1C:
- subs r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bgt _08092F06
- b _08092F44
-_08092F26:
- ldrb r2, [r3]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092F44
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092F3E
- adds r0, r1, 0
- b _08092F46
-_08092F3E:
- adds r5, 0x1
- cmp r5, 0x7
- ble _08092EF6
-_08092F44:
- movs r0, 0
-_08092F46:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8092EEC
-
- thumb_func_start sub_8092F4C
-sub_8092F4C:
- push {r4,lr}
- adds r2, r0, 0
- cmp r1, 0
- ble _08092F78
- movs r4, 0x1
- lsls r0, r1, 3
- adds r3, r0, r2
-_08092F5A:
- ldrb r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- cmp r0, 0
- beq _08092F78
- lsrs r0, r2, 1
- ands r0, r4
- cmp r0, 0
- bne _08092F70
- adds r0, r1, 0
- b _08092F7A
-_08092F70:
- subs r3, 0x8
- subs r1, 0x1
- cmp r1, 0
- bgt _08092F5A
-_08092F78:
- movs r0, 0
-_08092F7A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8092F4C
-
- thumb_func_start sub_8092F80
-sub_8092F80:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093784
- mov r0, sp
- bl sub_8093744
- adds r3, r0, 0
- cmp r3, 0x2
- bhi _08092FCC
- lsls r1, r3, 5
- adds r0, r3, 0x1
- lsls r0, 5
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x3
-_08092FBA:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _08092FBA
-_08092FCC:
- adds r0, r7, 0
- mov r1, sp
- bl sub_80937E0
- movs r3, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r1, r7, 0
-_08092FDC:
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08092FF0
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- mov r8, r3
- b _08092FF8
-_08092FF0:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08092FDC
-_08092FF8:
- mov r0, r8
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8092F80
-
- thumb_func_start sub_8093008
-sub_8093008:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0809307C
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093974
- mov r0, sp
- bl sub_80938F4
- adds r3, r0, 0
- cmp r3, 0x6
- bhi _08093056
- lsls r1, r3, 6
- adds r0, r3, 0x1
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_08093044:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _08093044
-_08093056:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093A2C
- movs r3, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r1, r7, 0
-_08093066:
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08093080
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- mov r8, r3
- b _08093088
- .align 2, 0
-_0809307C: .4byte 0xfffffe00
-_08093080:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _08093066
-_08093088:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093008
-
- thumb_func_start sub_809309C
-sub_809309C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08093110
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_80939D0
- mov r0, sp
- bl sub_8093934
- adds r3, r0, 0
- cmp r3, 0x6
- bhi _080930EA
- lsls r1, r3, 6
- adds r0, r3, 0x1
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_080930D8:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _080930D8
-_080930EA:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093B40
- movs r3, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r1, r7, 0
-_080930FA:
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- beq _08093114
- adds r0, r4, 0
- ands r0, r2
- strb r0, [r1]
- mov r8, r3
- b _0809311C
- .align 2, 0
-_08093110: .4byte 0xfffffe00
-_08093114:
- adds r1, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _080930FA
-_0809311C:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809309C
-
- thumb_func_start sub_8093130
-sub_8093130:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093784
- mov r0, sp
- bl sub_8093744
- adds r1, r0, 0
- subs r0, r1, 0x1
- cmp r0, 0x2
- bhi _0809317C
- lsls r1, 5
- lsls r0, 5
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x3
-_0809316A:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _0809316A
-_0809317C:
- adds r0, r7, 0
- mov r1, sp
- bl sub_80937E0
- movs r1, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r2, r7, 0
-_0809318C:
- ldrb r3, [r2]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _080931A0
- adds r0, r4, 0
- ands r0, r3
- strb r0, [r2]
- mov r8, r1
- b _080931A8
-_080931A0:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x3
- ble _0809318C
-_080931A8:
- mov r0, r8
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093130
-
- thumb_func_start sub_80931B8
-sub_80931B8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _0809322C
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093974
- mov r0, sp
- bl sub_80938F4
- adds r1, r0, 0
- subs r0, r1, 0x1
- cmp r0, 0x6
- bhi _08093206
- lsls r1, 6
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_080931F4:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _080931F4
-_08093206:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093A2C
- movs r1, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r2, r7, 0
-_08093216:
- ldrb r3, [r2]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _08093230
- adds r0, r4, 0
- ands r0, r3
- strb r0, [r2]
- mov r8, r1
- b _08093238
- .align 2, 0
-_0809322C: .4byte 0xfffffe00
-_08093230:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x7
- ble _08093216
-_08093238:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80931B8
-
- thumb_func_start sub_809324C
-sub_809324C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _080932C0
- add sp, r4
- adds r7, r0, 0
- mov r8, r1
- lsls r0, r1, 3
- adds r0, r7, r0
- ldrb r2, [r0]
- movs r1, 0x80
- orrs r1, r2
- strb r1, [r0]
- adds r0, r7, 0
- mov r1, sp
- bl sub_80939D0
- mov r0, sp
- bl sub_8093934
- adds r1, r0, 0
- subs r0, r1, 0x1
- cmp r0, 0x6
- bhi _0809329A
- lsls r1, 6
- lsls r0, 6
- mov r2, sp
- adds r5, r0, r2
- adds r4, r1, r2
- movs r6, 0x7
-_08093288:
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r4!, {r0,r1}
- stm r5!, {r2,r3}
- subs r6, 0x1
- cmp r6, 0
- bge _08093288
-_0809329A:
- adds r0, r7, 0
- mov r1, sp
- bl sub_8093B40
- movs r1, 0
- movs r5, 0x80
- movs r4, 0x7F
- adds r2, r7, 0
-_080932AA:
- ldrb r3, [r2]
- adds r0, r5, 0
- ands r0, r3
- cmp r0, 0
- beq _080932C4
- adds r0, r4, 0
- ands r0, r3
- strb r0, [r2]
- mov r8, r1
- b _080932CC
- .align 2, 0
-_080932C0: .4byte 0xfffffe00
-_080932C4:
- adds r2, 0x8
- adds r1, 0x1
- cmp r1, 0x7
- ble _080932AA
-_080932CC:
- mov r0, r8
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809324C
-
- thumb_func_start sub_80932E0
-sub_80932E0:
- push {lr}
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080932F4
- movs r0, 0
- b _080932F6
-_080932F4:
- movs r0, 0x1
-_080932F6:
- pop {r1}
- bx r1
- thumb_func_end sub_80932E0
-
- thumb_func_start sub_80932FC
-sub_80932FC:
- push {lr}
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _08093310
- movs r0, 0
- b _08093312
-_08093310:
- movs r0, 0x1
-_08093312:
- pop {r1}
- bx r1
- thumb_func_end sub_80932FC
-
- thumb_func_start sub_8093318
-sub_8093318:
- push {r4,lr}
- sub sp, 0x40
- adds r4, r0, 0
- mov r0, sp
- movs r2, 0x40
- bl MemoryCopy8
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093400
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x40
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093318
-
- thumb_func_start sub_809333C
-sub_809333C:
- push {r4,lr}
- sub sp, 0x40
- adds r4, r0, 0
- mov r0, sp
- movs r2, 0x40
- bl MemoryCopy8
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093468
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x40
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809333C
-
- thumb_func_start sub_8093360
-sub_8093360:
- push {r4,lr}
- sub sp, 0x40
- adds r4, r0, 0
- mov r0, sp
- movs r2, 0x40
- bl MemoryCopy8
- adds r0, r4, 0
- mov r1, sp
- bl sub_80933D8
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x40
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8093360
-
- thumb_func_start sub_8093384
-sub_8093384:
- push {lr}
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _08093398
- movs r0, 0x1
- b _0809339A
-_08093398:
- movs r0, 0
-_0809339A:
- pop {r1}
- bx r1
- thumb_func_end sub_8093384
-
- thumb_func_start sub_80933A0
-sub_80933A0:
- push {r4-r6,lr}
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x2
- movs r3, 0x7
-_080933AA:
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- beq _080933BE
- adds r0, r5, 0
- ands r0, r2
- cmp r0, 0
- bne _080933BE
- adds r4, 0x1
-_080933BE:
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _080933AA
- cmp r4, 0x1
- bgt _080933CE
- movs r0, 0
- b _080933D0
-_080933CE:
- movs r0, 0x1
-_080933D0:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80933A0
-
- thumb_func_start sub_80933D8
-sub_80933D8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_8093400
- lsls r0, 24
- cmp r0, 0
- bne _080933F6
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8093468
- lsls r0, 24
- lsrs r0, 24
- b _080933F8
-_080933F6:
- movs r0, 0x1
-_080933F8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80933D8
-
- thumb_func_start sub_8093400
-sub_8093400:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r7, r1, 0
- lsls r0, r4, 3
- adds r0, r7, r0
- ldrh r0, [r0, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- beq _08093428
- b _08093460
-_08093418:
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r6]
- adds r0, r7, 0
- bl sub_809371C
- movs r0, 0x1
- b _08093462
-_08093428:
- adds r5, r4, 0x1
- cmp r5, 0x7
- bgt _08093460
- lsls r0, r5, 3
- adds r4, r0, r7
- adds r6, r4, 0
-_08093434:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093460
- ldrh r0, [r4, 0x2]
- bl sub_809422C
- lsls r0, 24
- cmp r0, 0
- bne _08093460
- ldrb r1, [r4]
- movs r2, 0x2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093418
- adds r4, 0x8
- adds r6, 0x8
- adds r5, 0x1
- cmp r5, 0x7
- ble _08093434
-_08093460:
- movs r0, 0
-_08093462:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093400
-
- thumb_func_start sub_8093468
-sub_8093468:
- push {r4-r7,lr}
- adds r6, r1, 0
- movs r5, 0
- adds r1, r0, 0x1
- movs r4, 0
- cmp r1, 0x7
- bgt _080934A0
- movs r0, 0x2
- mov r12, r0
- movs r7, 0xFD
- lsls r0, r1, 3
- adds r3, r0, r6
-_08093480:
- ldrb r2, [r3]
- mov r0, r12
- ands r0, r2
- cmp r0, 0
- beq _080934A0
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r3]
- movs r5, 0x1
- adds r3, 0x8
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0x7
- bgt _080934A0
- cmp r1, 0x7
- ble _08093480
-_080934A0:
- adds r0, r6, 0
- bl sub_809371C
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093468
-
- thumb_func_start sub_80934B0
-sub_80934B0:
- push {lr}
- adds r2, r0, 0
- adds r0, r2, 0x1
- cmp r0, 0x7
- bgt _080934D2
- lsls r0, r2, 3
- adds r0, 0x8
- adds r0, r1, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080934D2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080934D6
-_080934D2:
- movs r0, 0
- b _080934D8
-_080934D6:
- movs r0, 0x1
-_080934D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80934B0
-
- thumb_func_start sub_80934DC
-sub_80934DC:
- push {r4-r7,lr}
- adds r5, r1, 0
- lsls r0, 3
- adds r4, r5, r0
- ldrb r1, [r4]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080934F4
- movs r0, 0xF7
- ands r0, r1
- b _0809351A
-_080934F4:
- movs r7, 0x1
- movs r6, 0xF7
- adds r1, r5, 0
- movs r3, 0x3
-_080934FC:
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- beq _0809350C
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
-_0809350C:
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _080934FC
- ldrb r1, [r4]
- movs r0, 0x8
- orrs r0, r1
-_0809351A:
- strb r0, [r4]
- adds r0, r5, 0
- bl sub_809371C
- movs r0, 0x1
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80934DC
-
- thumb_func_start sub_809352C
-sub_809352C:
- push {lr}
- lsls r0, 3
- adds r0, r1, r0
- ldrb r3, [r0]
- movs r2, 0xF7
- ands r2, r3
- strb r2, [r0]
- adds r0, r1, 0
- bl sub_809371C
- pop {r0}
- bx r0
- thumb_func_end sub_809352C
-
- thumb_func_start sub_8093544
-sub_8093544:
- push {lr}
- lsls r0, 3
- adds r0, r1, r0
- ldrb r2, [r0]
- movs r3, 0x4
- eors r2, r3
- strb r2, [r0]
- adds r0, r1, 0
- bl sub_809371C
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8093544
-
- thumb_func_start sub_8093560
-sub_8093560:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- movs r5, 0x1
- lsls r0, r4, 3
- adds r0, r6, r0
- ldrh r0, [r0, 0x2]
- strh r0, [r2]
- movs r1, 0
- adds r0, r2, 0x2
- movs r3, 0x2
-_08093576:
- strh r1, [r0]
- adds r0, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _08093576
- adds r4, 0x1
- adds r2, 0x2
- cmp r4, 0x7
- bgt _080935B0
- cmp r5, 0x3
- bgt _080935B0
- movs r7, 0x2
- lsls r0, r4, 3
- adds r3, r0, r6
-_08093592:
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080935B0
- ldrh r0, [r3, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- adds r5, 0x1
- adds r3, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- bgt _080935B0
- cmp r5, 0x3
- ble _08093592
-_080935B0:
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093560
-
- thumb_func_start sub_80935B8
-sub_80935B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r0, 0x63
- mov r12, r0
- movs r0, 0
- mov r8, r0
- movs r6, 0
- adds r4, r1, 0
- cmp r4, 0
- blt _08093606
- lsls r0, r4, 3
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093606
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093606
- movs r7, 0x1
- movs r3, 0x2
-_080935EC:
- subs r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- blt _08093606
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093606
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080935EC
-_08093606:
- adds r2, r4, 0x1
- mov r9, r2
- cmp r2, 0x3
- bgt _08093642
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093642
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093642
- movs r6, 0x1
- movs r7, 0x2
-_08093628:
- adds r3, 0x8
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08093642
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _08093642
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _08093628
-_08093642:
- cmp r6, 0
- bne _0809364A
- movs r0, 0x63
- b _080936CC
-_0809364A:
- movs r6, 0
- b _08093668
-_0809364E:
- ldrb r0, [r3, 0x4]
- cmp r12, r0
- ble _08093656
- mov r12, r0
-_08093656:
- cmp r0, 0
- bne _0809365C
- movs r6, 0x1
-_0809365C:
- ldrb r1, [r3, 0x1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08093668
- movs r6, 0x1
-_08093668:
- subs r2, 0x1
- cmp r2, r4
- blt _0809367C
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809364E
-_0809367C:
- cmp r6, 0
- beq _080936C6
- mov r2, r9
- cmp r2, 0x3
- bgt _080936C0
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080936C0
- movs r6, 0x2
- movs r4, 0xFD
-_08093698:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080936C0
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x1
- mov r8, r0
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080936C0
- lsls r0, r2, 3
- adds r3, r5, r0
- ldrb r1, [r3]
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- bne _08093698
-_080936C0:
- mov r0, r8
- cmp r0, 0
- bne _080936CA
-_080936C6:
- mov r0, r12
- b _080936CC
-_080936CA:
- movs r0, 0
-_080936CC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80935B8
-
- thumb_func_start sub_80936D8
-sub_80936D8:
- push {r4,lr}
- sub sp, 0x80
- adds r4, r0, 0
- mov r1, sp
- bl sub_8093784
- adds r0, r4, 0
- mov r1, sp
- bl sub_80937E0
- add sp, 0x80
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80936D8
-
- thumb_func_start sub_80936F4
-sub_80936F4:
- push {r4,lr}
- ldr r4, _08093718
- add sp, r4
- adds r4, r0, 0
- mov r1, sp
- bl sub_8093974
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093A2C
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093718: .4byte 0xfffffe00
- thumb_func_end sub_80936F4
-
- thumb_func_start sub_809371C
-sub_809371C:
- push {r4,lr}
- ldr r4, _08093740
- add sp, r4
- adds r4, r0, 0
- mov r1, sp
- bl sub_80939D0
- adds r0, r4, 0
- mov r1, sp
- bl sub_8093B40
- movs r3, 0x80
- lsls r3, 2
- add sp, r3
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093740: .4byte 0xfffffe00
- thumb_func_end sub_809371C
-
- thumb_func_start sub_8093744
-sub_8093744:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x80
-_0809374E:
- movs r3, 0
- lsls r0, r4, 5
- adds r2, r0, r7
-_08093754:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809376A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809376A
- adds r0, r4, 0
- b _0809377C
-_0809376A:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- ble _08093754
- adds r4, 0x1
- cmp r4, 0x3
- ble _0809374E
- movs r0, 0x1
- negs r0, r0
-_0809377C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093744
-
- thumb_func_start sub_8093784
-sub_8093784:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r2, 0
- movs r4, 0
-_0809378C:
- lsls r0, r2, 5
- adds r2, 0x1
- movs r3, 0x3
- adds r0, r1
- adds r0, 0x18
-_08093796:
- strb r4, [r0]
- subs r0, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093796
- cmp r2, 0x3
- ble _0809378C
- movs r3, 0
- movs r5, 0
- adds r4, r1, 0
- subs r4, 0x20
- movs r7, 0x2
-_080937AE:
- cmp r5, 0
- beq _080937BC
- ldrb r1, [r6]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080937C0
-_080937BC:
- adds r4, 0x20
- movs r3, 0
-_080937C0:
- lsls r2, r3, 3
- adds r2, r4
- ldm r6!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2]
- adds r3, 0x1
- adds r5, 0x1
- cmp r5, 0x3
- ble _080937AE
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093784
-
- thumb_func_start sub_80937E0
-sub_80937E0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp, 0x8]
- mov r9, r1
- movs r0, 0
- mov r8, r0
- movs r6, 0
- add r1, sp, 0x4
- mov r10, r1
- mov r12, r6
- movs r3, 0x1
-_080937FE:
- mov r2, sp
- adds r0, r2, r6
- mov r7, r12
- strb r7, [r0]
- mov r1, sp
- adds r1, r6
- adds r1, 0x4
- mov r2, r12
- strb r2, [r1]
- adds r7, r0, 0
- lsls r0, r6, 5
- adds r6, 0x1
- adds r5, r1, 0
- mov r1, r9
- adds r2, r0, r1
- movs r4, 0x3
-_0809381E:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0809383E
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08093832
- strb r3, [r7]
-_08093832:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809383E
- strb r3, [r5]
-_0809383E:
- adds r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _0809381E
- cmp r6, 0x3
- ble _080937FE
- movs r6, 0
- mov r2, r8
- lsls r2, 3
- str r2, [sp, 0xC]
-_08093852:
- movs r4, 0
- lsls r0, r6, 5
- mov r7, r9
- adds r5, r0, r7
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x8]
- adds r2, r0, r1
- mov r7, r10
- adds r7, r6
- mov r12, r7
-_08093866:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080938D6
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r4, 0
- bne _08093884
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _0809388A
-_08093884:
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
-_0809388A:
- strb r0, [r2]
- ldrb r0, [r2]
- movs r3, 0xF7
- ands r3, r0
- movs r1, 0
- movs r0, 0xFB
- ands r3, r0
- strb r3, [r2]
- mov r7, sp
- adds r0, r7, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080938B0
- cmp r4, 0
- bne _080938B0
- movs r1, 0x8
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_080938B0:
- mov r1, r12
- ldrb r0, [r1]
- cmp r0, 0
- beq _080938C4
- cmp r4, 0
- bne _080938C4
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080938C4:
- adds r2, 0x8
- ldr r7, [sp, 0xC]
- adds r7, 0x8
- str r7, [sp, 0xC]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x4
- beq _080938E4
-_080938D6:
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _08093866
- adds r6, 0x1
- cmp r6, 0x3
- ble _08093852
-_080938E4:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80937E0
-
- thumb_func_start sub_80938F4
-sub_80938F4:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x80
-_080938FE:
- movs r3, 0
- lsls r0, r4, 6
- adds r2, r0, r7
-_08093904:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809391A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809391A
- adds r0, r4, 0
- b _0809392C
-_0809391A:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _08093904
- adds r4, 0x1
- cmp r4, 0x7
- ble _080938FE
- movs r0, 0x1
- negs r0, r0
-_0809392C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80938F4
-
- thumb_func_start sub_8093934
-sub_8093934:
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- movs r6, 0x1
- movs r5, 0x80
-_0809393E:
- movs r3, 0
- lsls r0, r4, 6
- adds r2, r0, r7
-_08093944:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _0809395A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809395A
- adds r0, r4, 0
- b _0809396C
-_0809395A:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _08093944
- adds r4, 0x1
- cmp r4, 0x7
- ble _0809393E
- movs r0, 0x1
- negs r0, r0
-_0809396C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8093934
-
- thumb_func_start sub_8093974
-sub_8093974:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r2, 0
- movs r4, 0
-_0809397C:
- lsls r0, r2, 6
- adds r2, 0x1
- movs r3, 0x7
- adds r0, r1
- adds r0, 0x38
-_08093986:
- strb r4, [r0]
- subs r0, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093986
- cmp r2, 0x7
- ble _0809397C
- movs r3, 0
- movs r5, 0
- adds r4, r1, 0
- subs r4, 0x40
- movs r7, 0x2
-_0809399E:
- cmp r5, 0
- beq _080939AC
- ldrb r1, [r6]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080939B0
-_080939AC:
- adds r4, 0x40
- movs r3, 0
-_080939B0:
- lsls r2, r3, 3
- adds r2, r4
- ldm r6!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2]
- adds r3, 0x1
- adds r5, 0x1
- cmp r5, 0x7
- ble _0809399E
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093974
-
- thumb_func_start sub_80939D0
-sub_80939D0:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r2, 0
- movs r4, 0
-_080939D8:
- lsls r0, r2, 6
- adds r2, 0x1
- movs r3, 0x7
- adds r0, r1
- adds r0, 0x38
-_080939E2:
- strb r4, [r0]
- subs r0, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _080939E2
- cmp r2, 0x7
- ble _080939D8
- movs r3, 0
- movs r5, 0
- adds r4, r1, 0
- subs r4, 0x40
- movs r7, 0x2
-_080939FA:
- cmp r5, 0
- beq _08093A08
- ldrb r1, [r6]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _08093A0C
-_08093A08:
- adds r4, 0x40
- movs r3, 0
-_08093A0C:
- lsls r2, r3, 3
- adds r2, r4
- ldm r6!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- strb r0, [r2]
- adds r3, 0x1
- adds r5, 0x1
- cmp r5, 0x7
- ble _080939FA
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80939D0
-
- thumb_func_start sub_8093A2C
-sub_8093A2C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp, 0x10]
- mov r9, r1
- movs r0, 0
- mov r8, r0
- movs r6, 0
- add r1, sp, 0x8
- mov r10, r1
- mov r12, r6
- movs r3, 0x1
-_08093A4A:
- mov r2, sp
- adds r0, r2, r6
- mov r7, r12
- strb r7, [r0]
- mov r1, sp
- adds r1, r6
- adds r1, 0x8
- mov r2, r12
- strb r2, [r1]
- adds r7, r0, 0
- lsls r0, r6, 6
- adds r6, 0x1
- adds r5, r1, 0
- mov r1, r9
- adds r2, r0, r1
- movs r4, 0x7
-_08093A6A:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08093A8A
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08093A7E
- strb r3, [r7]
-_08093A7E:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08093A8A
- strb r3, [r5]
-_08093A8A:
- adds r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _08093A6A
- cmp r6, 0x7
- ble _08093A4A
- movs r6, 0
- mov r2, r8
- lsls r2, 3
- str r2, [sp, 0x14]
-_08093A9E:
- movs r4, 0
- lsls r0, r6, 6
- mov r7, r9
- adds r5, r0, r7
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x10]
- adds r2, r0, r1
- mov r7, r10
- adds r7, r6
- mov r12, r7
-_08093AB2:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093B22
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r4, 0
- bne _08093AD0
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _08093AD6
-_08093AD0:
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
-_08093AD6:
- strb r0, [r2]
- ldrb r0, [r2]
- movs r3, 0xF7
- ands r3, r0
- movs r1, 0
- movs r0, 0xFB
- ands r3, r0
- strb r3, [r2]
- mov r7, sp
- adds r0, r7, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093AFC
- cmp r4, 0
- bne _08093AFC
- movs r1, 0x8
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_08093AFC:
- mov r1, r12
- ldrb r0, [r1]
- cmp r0, 0
- beq _08093B10
- cmp r4, 0
- bne _08093B10
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08093B10:
- adds r2, 0x8
- ldr r7, [sp, 0x14]
- adds r7, 0x8
- str r7, [sp, 0x14]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x8
- beq _08093B30
-_08093B22:
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093AB2
- adds r6, 0x1
- cmp r6, 0x7
- ble _08093A9E
-_08093B30:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093A2C
-
- thumb_func_start sub_8093B40
-sub_8093B40:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp, 0x10]
- mov r9, r1
- movs r0, 0
- mov r8, r0
- movs r6, 0
- add r1, sp, 0x8
- mov r10, r1
- mov r12, r6
- movs r3, 0x1
-_08093B5E:
- mov r2, sp
- adds r0, r2, r6
- mov r7, r12
- strb r7, [r0]
- mov r1, sp
- adds r1, r6
- adds r1, 0x8
- mov r2, r12
- strb r2, [r1]
- adds r7, r0, 0
- lsls r0, r6, 6
- adds r6, 0x1
- adds r5, r1, 0
- mov r1, r9
- adds r2, r0, r1
- movs r4, 0x7
-_08093B7E:
- ldrb r1, [r2]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _08093B9E
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08093B92
- strb r3, [r7]
-_08093B92:
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08093B9E
- strb r3, [r5]
-_08093B9E:
- adds r2, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _08093B7E
- cmp r6, 0x7
- ble _08093B5E
- movs r6, 0
- mov r2, r8
- lsls r2, 3
- str r2, [sp, 0x14]
-_08093BB2:
- movs r4, 0
- lsls r0, r6, 6
- mov r7, r9
- adds r5, r0, r7
- ldr r0, [sp, 0x14]
- ldr r1, [sp, 0x10]
- adds r2, r0, r1
- mov r7, r10
- adds r7, r6
- mov r12, r7
-_08093BC6:
- ldrb r1, [r5]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093C36
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r4, 0
- bne _08093BE4
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _08093BEA
-_08093BE4:
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
-_08093BEA:
- strb r0, [r2]
- ldrb r0, [r2]
- movs r3, 0xF7
- ands r3, r0
- movs r1, 0
- movs r0, 0xFB
- ands r3, r0
- strb r3, [r2]
- mov r7, sp
- adds r0, r7, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093C10
- cmp r4, 0
- bne _08093C10
- movs r1, 0x8
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2]
-_08093C10:
- mov r1, r12
- ldrb r0, [r1]
- cmp r0, 0
- beq _08093C24
- cmp r4, 0
- bne _08093C24
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_08093C24:
- adds r2, 0x8
- ldr r7, [sp, 0x14]
- adds r7, 0x8
- str r7, [sp, 0x14]
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x8
- beq _08093C44
-_08093C36:
- adds r5, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093BC6
- adds r6, 0x1
- cmp r6, 0x7
- ble _08093BB2
-_08093C44:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093B40
-
- thumb_func_start sub_8093C54
-sub_8093C54:
- push {r4-r7,lr}
- sub sp, 0x40
- adds r6, r0, 0
- lsls r0, r1, 3
- adds r0, r6
- movs r2, 0
- strb r2, [r0]
- adds r3, r1, 0x1
- cmp r3, 0x7
- bgt _08093CA6
- lsls r0, r3, 3
- adds r4, r6, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093CA6
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093CA6
- mov r12, r2
- movs r7, 0x1
- adds r2, r4, 0
- movs r5, 0x2
-_08093C86:
- mov r0, r12
- strb r0, [r4]
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- bgt _08093CA6
- adds r4, r2, 0
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093CA6
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08093C86
-_08093CA6:
- movs r4, 0
- movs r7, 0x1
- adds r2, r6, 0
- mov r5, sp
- movs r3, 0x7
-_08093CB0:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093CC2
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- stm r5!, {r0,r1}
- adds r4, 0x1
-_08093CC2:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093CB0
- cmp r4, 0x7
- bgt _08093CDE
- movs r1, 0
- lsls r0, r4, 3
- add r0, sp
-_08093CD4:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093CD4
-_08093CDE:
- mov r4, sp
- adds r2, r6, 0
- movs r3, 0x7
-_08093CE4:
- ldm r4!, {r0,r1}
- stm r2!, {r0,r1}
- subs r3, 0x1
- cmp r3, 0
- bge _08093CE4
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093C54
-
- thumb_func_start sub_8093CF8
-sub_8093CF8:
- push {r4-r7,lr}
- sub sp, 0x40
- adds r6, r0, 0
- lsls r0, r1, 3
- adds r0, r6
- movs r2, 0
- strb r2, [r0]
- adds r3, r1, 0x1
- cmp r3, 0x7
- bgt _08093D4A
- lsls r0, r3, 3
- adds r4, r6, r0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093D4A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08093D4A
- mov r12, r2
- movs r7, 0x1
- adds r2, r4, 0
- movs r5, 0x2
-_08093D2A:
- mov r0, r12
- strb r0, [r4]
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- bgt _08093D4A
- adds r4, r2, 0
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093D4A
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _08093D2A
-_08093D4A:
- movs r4, 0
- movs r7, 0x1
- adds r2, r6, 0
- mov r5, sp
- movs r3, 0x7
-_08093D54:
- ldrb r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _08093D66
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- stm r5!, {r0,r1}
- adds r4, 0x1
-_08093D66:
- adds r2, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093D54
- cmp r4, 0x7
- bgt _08093D82
- movs r1, 0
- lsls r0, r4, 3
- add r0, sp
-_08093D78:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x7
- ble _08093D78
-_08093D82:
- mov r4, sp
- adds r2, r6, 0
- movs r3, 0x7
-_08093D88:
- ldm r4!, {r0,r1}
- stm r2!, {r0,r1}
- subs r3, 0x1
- cmp r3, 0
- bge _08093D88
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093CF8
-
- thumb_func_start sub_8093D9C
-sub_8093D9C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092A88
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8093DE8
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8093D9C
-
- thumb_func_start sub_8093DC4
-sub_8093DC4:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r3, 0
- mov r0, sp
- bl sub_8093F10
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_8093DE8
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8093DC4
-
- thumb_func_start sub_8093DE8
-sub_8093DE8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08093E80
- add sp, r4
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- mov r8, r3
- adds r0, r5, 0
- bl sub_80073B8
- ldr r0, _08093E84
- adds r1, r6, 0
- movs r2, 0
- bl sub_80928C0
- lsls r4, 3
- adds r4, 0x10
- ldr r2, _08093E88
- movs r7, 0
- str r7, [sp]
- adds r0, r4, 0
- movs r1, 0
- adds r3, r5, 0
- bl sub_8014FF0
- movs r3, 0x13
- ldrh r1, [r6, 0x2]
- ldr r4, _08093E8C
- ldr r2, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r2, [r0, 0x1C]
- ldrb r0, [r2]
- cmp r0, 0x2A
- bne _08093E3A
- movs r3, 0x10
- adds r2, 0x1
-_08093E3A:
- str r7, [sp]
- movs r0, 0x4
- adds r1, r3, 0
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8093E90
- adds r0, r5, 0
- bl sub_80073E0
- ldrh r1, [r6, 0x2]
- ldr r2, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, [r0, 0x1C]
- add r0, sp, 0x4
- bl strcpy
- add r0, sp, 0x4
- mov r1, r8
- bl sub_8097DF0
- movs r3, 0xC9
- lsls r3, 2
- add sp, r3
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08093E80: .4byte 0xfffffcdc
-_08093E84: .4byte gUnknown_202DF98
-_08093E88: .4byte gUnknown_8109930
-_08093E8C: .4byte gUnknown_2038C68
- thumb_func_end sub_8093DE8
-
- thumb_func_start sub_8093E90
-sub_8093E90:
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- movs r0, 0x7
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x4
- movs r2, 0x48
- movs r3, 0xC8
- bl sub_80078A4
- ldr r0, _08093F00
- adds r1, r6, 0
- bl sub_8092D54
- ldr r0, _08093F04
- ldr r2, [r0]
- movs r4, 0
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x4A
- adds r3, r5, 0
- bl sub_8014FF0
- ldr r0, _08093F08
- ldr r2, [r0]
- str r4, [sp]
- movs r0, 0x4
- movs r1, 0x56
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_8092B00
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092334
- adds r2, r0, 0
- str r4, [sp]
- movs r0, 0x40
- movs r1, 0x56
- adds r3, r5, 0
- bl sub_8014FF0
- adds r0, r6, 0
- bl sub_8092BC0
- ldr r1, _08093F0C
- str r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08093F00: .4byte gUnknown_202DF98
-_08093F04: .4byte gUnknown_810CF00
-_08093F08: .4byte gUnknown_810CF0C
-_08093F0C: .4byte gUnknown_202DE30
- thumb_func_end sub_8093E90
-
- thumb_func_start sub_8093F10
-sub_8093F10:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093F48
- movs r0, 0
- strb r1, [r3]
- strb r0, [r3, 0x1]
- ldrh r0, [r4, 0x2]
- strh r0, [r3, 0x2]
- ldrh r1, [r4, 0x2]
- ldr r0, _08093F44
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xC]
- strb r0, [r3, 0x4]
- ldrb r0, [r4, 0x4]
- strb r0, [r3, 0x5]
- b _08093F4A
- .align 2, 0
-_08093F44: .4byte gUnknown_2038C68
-_08093F48:
- strb r0, [r3]
-_08093F4A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8093F10
-
- thumb_func_start sub_8093F50
-sub_8093F50:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r7, 0
- adds r3, r6, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08093F5C:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093F8C
- strb r1, [r3]
- strb r7, [r3, 0x1]
- ldrh r0, [r4, 0x2]
- strh r0, [r3, 0x2]
- ldrh r1, [r4, 0x2]
- ldr r0, _08093F88
- ldr r2, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0xC]
- strb r0, [r3, 0x4]
- ldrb r0, [r4, 0x4]
- strb r0, [r3, 0x5]
- b _08093F8E
- .align 2, 0
-_08093F88: .4byte gUnknown_2038C68
-_08093F8C:
- strb r0, [r3]
-_08093F8E:
- adds r3, 0x8
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08093F5C
- adds r1, r6, 0
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093F50
-
- thumb_func_start sub_8093FA8
-sub_8093FA8:
- push {lr}
- adds r2, r0, 0
- movs r3, 0x3
-_08093FAE:
- ldrb r0, [r1]
- strb r0, [r2]
- ldrh r0, [r1, 0x2]
- strh r0, [r2, 0x2]
- ldrb r0, [r1, 0x5]
- strb r0, [r2, 0x4]
- adds r2, 0x8
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _08093FAE
- pop {r0}
- bx r0
- thumb_func_end sub_8093FA8
-
- thumb_func_start sub_8093FC8
-sub_8093FC8:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r2, r1, 0
- movs r3, 0
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094002
- movs r7, 0xFB
- movs r6, 0x1
- adds r4, r2, 0
- adds r2, r5, 0
-_08093FE2:
- ldm r4!, {r0,r1}
- str r0, [r2]
- str r1, [r2, 0x4]
- ldrb r1, [r2, 0x1]
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r2, 0x1]
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08094002
- ldrb r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08093FE2
-_08094002:
- cmp r3, 0x7
- bgt _08094016
- movs r1, 0
- lsls r0, r3, 3
- adds r0, r5
-_0809400C:
- strb r1, [r0]
- adds r0, 0x8
- adds r3, 0x1
- cmp r3, 0x7
- ble _0809400C
-_08094016:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8093FC8
-
- thumb_func_start sub_809401C
-sub_809401C:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- movs r2, 0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094046
- movs r6, 0x1
- adds r4, r5, 0
-_08094032:
- ldm r3!, {r0,r1}
- stm r4!, {r0,r1}
- adds r2, 0x1
- cmp r2, 0x3
- bgt _08094046
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _08094032
-_08094046:
- cmp r2, 0x7
- bgt _0809405A
- movs r1, 0
- lsls r0, r2, 3
- adds r0, r5
-_08094050:
- strb r1, [r0]
- adds r0, 0x8
- adds r2, 0x1
- cmp r2, 0x7
- ble _08094050
-_0809405A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809401C
-
- thumb_func_start sub_8094060
-sub_8094060:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- movs r4, 0
- movs r5, 0
- adds r3, r6, 0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094084
-_08094076:
- lsls r2, r4, 3
- adds r2, r7, r2
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r4, 0x1
-_08094084:
- adds r5, 0x1
- cmp r5, 0x7
- bgt _0809409C
- lsls r0, r5, 3
- adds r3, r6, r0
- ldrb r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094084
- cmp r4, 0x3
- ble _08094076
-_0809409C:
- cmp r4, 0x3
- bgt _080940B0
- movs r1, 0
- lsls r0, r4, 3
- adds r0, r7
-_080940A6:
- strb r1, [r0]
- adds r0, 0x8
- adds r4, 0x1
- cmp r4, 0x3
- ble _080940A6
-_080940B0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094060
-
- thumb_func_start sub_80940B8
-sub_80940B8:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_809488C
- adds r5, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80940B8
-
- thumb_func_start sub_80940E0
-sub_80940E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r5, 0x2
- adds r0, r4, 0
- movs r2, 0x9
- bl sub_8094924
- adds r5, 0x4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x7
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80940E0
-
- thumb_func_start sub_8094108
-sub_8094108:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08094110:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80940B8
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094110
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094108
-
- thumb_func_start sub_8094128
-sub_8094128:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r5, 0x3
-_08094130:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80940E0
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094130
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094128
-
- thumb_func_start sub_8094148
-sub_8094148:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x4
- bl sub_809488C
- adds r1, r4, 0x1
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_809488C
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_809488C
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x7
- bl sub_809488C
- adds r4, 0x5
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8094148
-
- thumb_func_start sub_8094184
-sub_8094184:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_0809418E:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8094148
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _0809418E
- adds r1, r7, 0
- adds r1, 0x20
- adds r0, r6, 0
- movs r2, 0x8
- bl sub_809488C
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094184
-
- thumb_func_start sub_80941B0
-sub_80941B0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x4
- bl sub_8094924
- adds r1, r4, 0x1
- adds r0, r5, 0
- movs r2, 0x1
- bl sub_8094924
- adds r1, r4, 0x2
- adds r0, r5, 0
- movs r2, 0x9
- bl sub_8094924
- adds r1, r4, 0x4
- adds r0, r5, 0
- movs r2, 0x7
- bl sub_8094924
- adds r4, 0x5
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80941B0
-
- thumb_func_start sub_80941FC
-sub_80941FC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r1, 0
- adds r4, r7, 0
- movs r5, 0x3
-_08094206:
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80941B0
- adds r4, 0x8
- subs r5, 0x1
- cmp r5, 0
- bge _08094206
- adds r1, r7, 0
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
- adds r0, r6, 0
- movs r2, 0x8
- bl sub_8094924
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80941FC
-
- thumb_func_start sub_809422C
-sub_809422C:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x97
- beq _08094260
- cmp r1, 0x64
- beq _08094260
- cmp r1, 0x3C
- beq _08094260
- cmp r1, 0x4B
- beq _08094260
- movs r0, 0xAE
- lsls r0, 1
- cmp r1, r0
- beq _08094260
- cmp r1, 0x99
- beq _08094260
- cmp r1, 0xCD
- beq _08094260
- cmp r1, 0x9C
- beq _08094260
- cmp r2, 0x8
- beq _08094260
- movs r0, 0
- b _08094262
-_08094260:
- movs r0, 0x1
-_08094262:
- pop {r1}
- bx r1
- thumb_func_end sub_809422C
-
- thumb_func_start sub_8094268
-sub_8094268:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- asrs r0, r3, 16
- asrs r1, r2, 16
- adds r0, r1
- lsls r0, 16
- ldr r6, _080942B0
- ands r3, r6
- orrs r3, r0
- adds r2, r3, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _080942B4
- ands r3, r4
- orrs r3, r2
- asrs r1, r3, 16
- ldr r0, _080942B8
- cmp r1, r0
- ble _080942A6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- ands r3, r4
- orrs r3, r0
- asrs r0, r3, 16
- ldr r1, _080942BC
- adds r0, r1
- lsls r0, 16
- ands r3, r6
- orrs r3, r0
-_080942A6:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080942B0: .4byte 0x0000ffff
-_080942B4: .4byte 0xffff0000
-_080942B8: .4byte 0x000003e7
-_080942BC: .4byte 0xfffffc18
- thumb_func_end sub_8094268
-
- thumb_func_start sub_80942C0
-sub_80942C0:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r3, r1, 0
- asrs r0, r3, 16
- asrs r1, r2, 16
- subs r0, r1
- lsls r0, 16
- ldr r4, _08094310
- ands r3, r4
- orrs r3, r0
- subs r2, r3, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _08094314
- ands r3, r1
- orrs r3, r2
- cmp r3, 0
- bge _080942FC
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- ands r3, r1
- orrs r3, r0
- asrs r0, r3, 16
- movs r2, 0xFA
- lsls r2, 2
- adds r0, r2
- lsls r0, 16
- ands r3, r4
- orrs r3, r0
-_080942FC:
- lsls r0, r3, 16
- cmp r0, 0
- bge _08094304
- movs r3, 0
-_08094304:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08094310: .4byte 0x0000ffff
-_08094314: .4byte 0xffff0000
- thumb_func_end sub_80942C0
-
- thumb_func_start sub_8094318
-sub_8094318:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08094336
- cmp r1, r0
- blt _0809433A
- asrs r1, r3, 16
- asrs r0, r2, 16
- cmp r1, r0
- ble _0809433A
-_08094336:
- str r2, [r4]
- b _0809433C
-_0809433A:
- str r3, [r4]
-_0809433C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094318
-
- thumb_func_start sub_8094344
-sub_8094344:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r0, r3, 16
- asrs r1, r0, 16
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- bgt _08094362
- cmp r1, r0
- blt _08094366
- asrs r1, r3, 16
- asrs r0, r2, 16
- cmp r1, r0
- ble _08094366
-_08094362:
- str r3, [r4]
- b _08094368
-_08094366:
- str r2, [r4]
-_08094368:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8094344
-
- thumb_func_start sub_8094370
-sub_8094370:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- lsls r2, 16
- ldr r4, _08094398
- lsrs r3, r1, 16
- orrs r3, r2
- asrs r2, 16
- ldr r1, _0809439C
- asrs r0, r1, 16
- cmp r2, r0
- ble _0809438C
- ands r3, r4
- orrs r3, r1
-_0809438C:
- str r3, [r5]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08094398: .4byte 0x0000ffff
-_0809439C: .4byte 0x03e70000
- thumb_func_end sub_8094370
-
- thumb_func_start sub_80943A0
-sub_80943A0:
- lsls r1, 16
- lsrs r2, r1, 16
- str r2, [r0]
- bx lr
- thumb_func_end sub_80943A0
-
- thumb_func_start sub_80943A8
-sub_80943A8:
- push {r4,r5,lr}
- ldr r3, [r1, 0x4]
- lsrs r2, r3, 16
- ldr r1, _080943D4
- ands r5, r1
- orrs r5, r2
- ldr r4, _080943D8
- adds r2, r4, 0
- ands r2, r3
- lsls r1, r2, 5
- subs r1, r2
- lsls r1, 2
- adds r1, r2
- lsls r1, 3
- lsrs r1, 16
- lsls r1, 16
- ands r5, r4
- orrs r5, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080943D4: .4byte 0xffff0000
-_080943D8: .4byte 0x0000ffff
- thumb_func_end sub_80943A8
-
- thumb_func_start sub_80943DC
-sub_80943DC:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- lsls r1, r4, 16
- asrs r1, 16
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- asrs r1, r4, 16
- adds r0, r1
- lsls r3, r2, 16
- asrs r3, 16
- lsls r1, r3, 5
- subs r1, r3
- lsls r1, 2
- adds r1, r3
- lsls r1, 3
- asrs r2, 16
- adds r1, r2
- muls r0, r1
- movs r5, 0xFA
- lsls r5, 2
- adds r1, r5, 0
- bl __divsi3
- adds r6, r0, 0
- adds r1, r5, 0
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _08094448
- ands r4, r1
- orrs r4, r0
- adds r0, r6, 0
- adds r1, r5, 0
- bl __modsi3
- lsls r0, 16
- ldr r1, _0809444C
- ands r1, r4
- orrs r0, r1
- mov r1, r8
- str r0, [r1]
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08094448: .4byte 0xffff0000
-_0809444C: .4byte 0x0000ffff
- thumb_func_end sub_80943DC
-
- thumb_func_start sub_8094450
-sub_8094450:
- push {lr}
- adds r1, r0, 0
- lsls r0, r1, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _0809446A
- asrs r0, r1, 16
- cmp r0, 0
- bne _08094466
- movs r0, 0
- b _08094476
-_08094466:
- movs r0, 0x1
- b _08094476
-_0809446A:
- asrs r0, r1, 16
- cmp r0, 0
- bne _08094474
- adds r0, r2, 0
- b _08094476
-_08094474:
- adds r0, r2, 0x1
-_08094476:
- pop {r1}
- bx r1
- thumb_func_end sub_8094450
-
- thumb_func_start sub_809447C
-sub_809447C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x10
- bl sub_8094924
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_8094924
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809447C
-
- thumb_func_start sub_809449C
-sub_809449C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r2, 0x10
- bl sub_809488C
- adds r4, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_809488C
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809449C
-
- thumb_func_start sub_80944BC
-sub_80944BC:
- push {r4,lr}
- sub sp, 0x8
- adds r4, r1, 0
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _080944F4
- cmp r1, r0
- bgt _08094500
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- bl sub_8092AA8
- ldr r0, _080944F8
- mov r1, sp
- movs r2, 0
- bl sub_80928C0
- ldr r0, _080944FC
- ldr r0, [r0]
- adds r2, r4, 0
- adds r2, 0xC8
- adds r1, r4, 0
- movs r3, 0
- bl xxx_format_string
- b _08094516
- .align 2, 0
-_080944F4: .4byte 0x000001f3
-_080944F8: .4byte gUnknown_202DE58
-_080944FC: .4byte gUnknown_811383C
-_08094500:
- ldr r0, _08094520
- ldr r2, _08094524
- adds r1, r2
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- movs r2, 0xC8
- bl strncpy
-_08094516:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094520: .4byte gUnknown_8113080
-_08094524: .4byte 0xfffffe0c
- thumb_func_end sub_80944BC
-
- thumb_func_start sub_8094528
-sub_8094528:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _08094544
- cmp r1, r0
- ble _08094550
- ldr r0, _08094548
- ldr r2, _0809454C
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1]
- b _08094552
- .align 2, 0
-_08094544: .4byte 0x000001f3
-_08094548: .4byte gUnknown_8113080
-_0809454C: .4byte 0xfffffe0c
-_08094550:
- movs r0, 0x1
-_08094552:
- pop {r1}
- bx r1
- thumb_func_end sub_8094528
-
- thumb_func_start sub_8094558
-sub_8094558:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xCC
- adds r7, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- bl sub_80073B8
- movs r5, 0
- str r5, [sp]
- movs r0, 0x10
- movs r1, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_8014FF0
- ldr r4, _080945D0
- adds r1, r6, 0
- adds r1, 0x18
- adds r0, r4, 0
- bl sub_8090208
- ldr r0, _080945D4
- ldr r2, [r0]
- str r5, [sp]
- movs r0, 0x4
- movs r1, 0x10
- adds r3, r7, 0
- bl sub_8014FF0
- movs r5, 0x1A
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0xA
- bl sub_80922B4
- adds r4, 0x50
- adds r1, r6, 0
- adds r1, 0xA
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- bl sub_8094528
- lsls r0, 24
- cmp r0, 0
- beq _080945DC
- ldr r0, _080945D8
- ldr r0, [r0]
- add r2, sp, 0xCC
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
- b _080945EA
- .align 2, 0
-_080945D0: .4byte gUnknown_202DF98
-_080945D4: .4byte gUnknown_8113850
-_080945D8: .4byte gUnknown_8113868
-_080945DC:
- ldr r0, _0809465C
- ldr r0, [r0]
- add r2, sp, 0xCC
- add r1, sp, 0x4
- movs r3, 0
- bl xxx_format_string
-_080945EA:
- add r0, sp, 0x4
- bl sub_8008ED0
- movs r4, 0xB0
- subs r0, r4, r0
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0
- mov r8, r1
- str r1, [sp]
- adds r1, r5, 0
- add r2, sp, 0x4
- adds r3, r7, 0
- bl sub_8014FF0
- adds r5, 0xA
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- add r1, sp, 0x4
- bl sub_80944BC
- add r0, sp, 0x4
- bl sub_8008ED0
- subs r4, r0
- lsrs r0, r4, 31
- adds r4, r0
- asrs r0, r4, 1
- mov r1, r8
- str r1, [sp]
- adds r1, r5, 0
- add r2, sp, 0x4
- adds r3, r7, 0
- bl sub_8014FF0
- adds r5, 0x10
- ldr r1, _08094660
- ldr r0, [r6, 0x20]
- str r0, [r1]
- adds r0, r6, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- str r0, [r1, 0x4]
- cmp r0, 0x63
- ble _08094668
- ldr r0, _08094664
- ldr r2, [r0]
- mov r0, r8
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _0809467A
- .align 2, 0
-_0809465C: .4byte gUnknown_8113870
-_08094660: .4byte gUnknown_202DE30
-_08094664: .4byte gUnknown_81138C0
-_08094668:
- ldr r0, _080946CC
- ldr r2, [r0]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_0809467A:
- adds r5, 0xA
- ldr r4, _080946D0
- movs r1, 0x24
- ldrsh r0, [r6, r1]
- str r0, [r4]
- ldr r0, _080946D4
- ldr r2, [r0]
- movs r0, 0
- mov r8, r0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- adds r5, 0xA
- adds r0, r6, 0
- adds r0, 0x26
- ldrb r2, [r0]
- str r2, [r4]
- adds r0, 0x2
- ldrb r0, [r0]
- str r0, [r4, 0x4]
- adds r0, r6, 0
- adds r0, 0x2B
- ldrb r1, [r0]
- cmp r1, 0
- beq _080946DC
- adds r0, r1, 0
- adds r0, r2, r0
- str r0, [r4]
- ldr r0, _080946D8
- ldr r2, [r0]
- mov r1, r8
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _080946EC
- .align 2, 0
-_080946CC: .4byte gUnknown_8113898
-_080946D0: .4byte gUnknown_202DE30
-_080946D4: .4byte gUnknown_81138D0
-_080946D8: .4byte gUnknown_8113950
-_080946DC:
- ldr r0, _08094714
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_080946EC:
- adds r0, r6, 0
- adds r0, 0x2D
- ldrb r1, [r0]
- cmp r1, 0
- beq _08094720
- ldr r2, _08094718
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, _0809471C
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _08094730
- .align 2, 0
-_08094714: .4byte gUnknown_81138E4
-_08094718: .4byte gUnknown_202DE30
-_0809471C: .4byte gUnknown_8113974
-_08094720:
- ldr r0, _08094768
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_08094730:
- adds r5, 0xA
- ldr r2, _0809476C
- adds r0, r6, 0
- adds r0, 0x27
- ldrb r3, [r0]
- str r3, [r2]
- adds r0, 0x2
- ldrb r0, [r0]
- str r0, [r2, 0x4]
- adds r0, r6, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- cmp r1, 0
- beq _08094774
- adds r0, r1, 0
- adds r0, r3, r0
- str r0, [r2]
- ldr r0, _08094770
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _08094784
- .align 2, 0
-_08094768: .4byte gUnknown_8113900
-_0809476C: .4byte gUnknown_202DE30
-_08094770: .4byte gUnknown_8113990
-_08094774:
- ldr r0, _080947AC
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_08094784:
- adds r0, r6, 0
- adds r0, 0x2E
- ldrb r1, [r0]
- cmp r1, 0
- beq _080947B8
- ldr r2, _080947B0
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, _080947B4
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- b _080947C8
- .align 2, 0
-_080947AC: .4byte gUnknown_8113918
-_080947B0: .4byte gUnknown_202DE30
-_080947B4: .4byte gUnknown_81139B4
-_080947B8:
- ldr r0, _080947E4
- ldr r2, [r0]
- str r1, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
-_080947C8:
- adds r5, 0x10
- adds r2, r6, 0
- adds r2, 0x1C
- ldrb r1, [r6, 0x1C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080947EC
- ldr r0, _080947E8
- adds r1, r2, 0
- movs r2, 0
- bl sub_8090E14
- b _080947F6
- .align 2, 0
-_080947E4: .4byte gUnknown_8113934
-_080947E8: .4byte gUnknown_202DE58
-_080947EC:
- ldr r0, _0809481C
- ldr r1, _08094820
- ldr r1, [r1]
- bl strcpy
-_080947F6:
- ldr r0, _08094824
- ldr r2, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x4
- adds r1, r5, 0
- adds r3, r7, 0
- bl sub_8014FF0
- adds r0, r7, 0
- bl sub_80073E0
- add sp, 0xCC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809481C: .4byte gUnknown_202DE58
-_08094820: .4byte gUnknown_81139B8
-_08094824: .4byte gUnknown_81139CC
- thumb_func_end sub_8094558
-
- thumb_func_start sub_8094828
-sub_8094828:
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, 0
- beq _08094852
- bl sub_8090BD0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bne _0809484C
- ldr r0, _08094848
- b _08094856
- .align 2, 0
-_08094848: .4byte 0x00000223
-_0809484C:
- movs r0, 0x89
- lsls r0, 2
- b _08094856
-_08094852:
- lsls r0, r2, 16
- asrs r0, 16
-_08094856:
- pop {r1}
- bx r1
- thumb_func_end sub_8094828
-
- thumb_func_start sub_809485C
-sub_809485C:
- str r1, [r0]
- movs r3, 0
- str r3, [r0, 0x8]
- str r3, [r0, 0xC]
- adds r1, r2
- str r1, [r0, 0x4]
- bx lr
- thumb_func_end sub_809485C
-
- thumb_func_start sub_809486C
-sub_809486C:
- push {lr}
- str r1, [r0]
- movs r3, 0
- str r3, [r0, 0x8]
- str r3, [r0, 0xC]
- adds r3, r1, r2
- str r3, [r0, 0x4]
- adds r0, r1, 0
- adds r1, r2, 0
- bl MemoryClear8
- pop {r0}
- bx r0
- thumb_func_end sub_809486C
-
- thumb_func_start nullsub_102
-nullsub_102:
- bx lr
- thumb_func_end nullsub_102
-
- thumb_func_start sub_809488C
-sub_809488C:
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r4, r2, 0
- movs r5, 0
- adds r6, r1, 0
- cmp r4, 0
- beq _080948DE
- movs r7, 0x1
-_0809489C:
- ldrb r0, [r6]
- asrs r0, r5
- ands r0, r7
- cmp r0, 0
- beq _080948B4
- ldr r2, [r3]
- ldr r1, [r3, 0x8]
- adds r0, r7, 0
- lsls r0, r1
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
-_080948B4:
- adds r5, 0x1
- cmp r5, 0x8
- bne _080948BE
- adds r6, 0x1
- movs r5, 0
-_080948BE:
- ldr r0, [r3, 0x8]
- adds r0, 0x1
- str r0, [r3, 0x8]
- cmp r0, 0x8
- bne _080948D2
- ldr r0, [r3]
- adds r0, 0x1
- str r0, [r3]
- movs r0, 0
- str r0, [r3, 0x8]
-_080948D2:
- ldr r0, [r3, 0xC]
- adds r0, 0x1
- str r0, [r3, 0xC]
- subs r4, 0x1
- cmp r4, 0
- bne _0809489C
-_080948DE:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809488C
-
- thumb_func_start sub_80948E4
-sub_80948E4:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r2, 0
- adds r6, r1, 0
- cmp r5, 0
- beq _0809491C
-_080948F0:
- ldrb r1, [r6]
- ldr r0, [r4, 0x8]
- lsls r1, r0
- ldr r3, [r4]
- ldrb r2, [r3]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r3]
- ldr r2, [r4]
- adds r0, r2, 0x1
- str r0, [r4]
- asrs r1, 8
- ldrb r0, [r2, 0x1]
- orrs r1, r0
- strb r1, [r2, 0x1]
- adds r6, 0x1
- ldr r0, [r4, 0xC]
- adds r0, 0x8
- str r0, [r4, 0xC]
- subs r5, 0x1
- cmp r5, 0
- bne _080948F0
-_0809491C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80948E4
-
- thumb_func_start sub_8094924
-sub_8094924:
- push {r4-r7,lr}
- adds r3, r0, 0
- adds r5, r2, 0
- movs r6, 0
- adds r2, r1, 0
- cmp r5, 0
- beq _08094978
-_08094932:
- cmp r6, 0
- bne _08094938
- strb r6, [r2]
-_08094938:
- ldr r7, [r3]
- ldrb r0, [r7]
- ldr r4, [r3, 0x8]
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08094952
- adds r0, r1, 0
- lsls r0, r6
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
-_08094952:
- adds r6, 0x1
- cmp r6, 0x8
- bne _0809495C
- adds r2, 0x1
- movs r6, 0
-_0809495C:
- adds r0, r4, 0x1
- str r0, [r3, 0x8]
- cmp r0, 0x8
- bne _0809496C
- adds r0, r7, 0x1
- str r0, [r3]
- movs r0, 0
- str r0, [r3, 0x8]
-_0809496C:
- ldr r0, [r3, 0xC]
- adds r0, 0x1
- str r0, [r3, 0xC]
- subs r5, 0x1
- cmp r5, 0
- bne _08094932
-_08094978:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094924
-
- thumb_func_start sub_8094980
-sub_8094980:
- ldr r1, _08094988
- ldr r0, _0809498C
- str r0, [r1]
- bx lr
- .align 2, 0
-_08094988: .4byte gUnknown_203B46C
-_0809498C: .4byte gUnknown_2038C70
- thumb_func_end sub_8094980
-
- thumb_func_start sub_8094990
-sub_8094990:
- ldr r0, _08094994
- bx lr
- .align 2, 0
-_08094994: .4byte gUnknown_2038C70
- thumb_func_end sub_8094990
-
- thumb_func_start sub_8094998
-sub_8094998:
- push {lr}
- lsls r0, 24
- ldr r2, _080949D8
- ldr r1, [r2]
- movs r3, 0
- strb r3, [r1, 0x8]
- cmp r0, 0
- beq _080949AC
- ldr r0, [r2]
- strb r3, [r0, 0xB]
-_080949AC:
- ldr r0, [r2]
- strb r3, [r0, 0x9]
- ldr r0, [r2]
- strb r3, [r0, 0xA]
- ldr r0, [r2]
- strb r3, [r0]
- ldr r0, [r2]
- movs r1, 0x1
- strb r1, [r0, 0x1]
- ldr r0, [r2]
- strb r1, [r0, 0x2]
- ldr r0, [r2]
- strb r1, [r0, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x4]
- ldr r0, [r2]
- strb r3, [r0, 0xC]
- bl sub_8094C14
- pop {r0}
- bx r0
- .align 2, 0
-_080949D8: .4byte gUnknown_203B46C
- thumb_func_end sub_8094998
-
- thumb_func_start sub_80949DC
-sub_80949DC:
- push {lr}
- adds r2, r0, 0
- ldr r0, _08094A38
- ldr r1, [r0]
- ldrb r0, [r1, 0x8]
- ldrb r3, [r2, 0x8]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x9]
- ldrb r3, [r2, 0x9]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xA]
- ldrb r3, [r2, 0xA]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xB]
- ldrb r3, [r2, 0xB]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1]
- ldrb r3, [r2]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x1]
- ldrb r3, [r2, 0x1]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x2]
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x3]
- ldrb r3, [r2, 0x3]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0x4]
- ldrb r3, [r2, 0x4]
- cmp r0, r3
- bne _08094A3C
- ldrb r0, [r1, 0xC]
- ldrb r2, [r2, 0xC]
- cmp r0, r2
- bne _08094A3C
- movs r0, 0x1
- b _08094A3E
- .align 2, 0
-_08094A38: .4byte gUnknown_203B46C
-_08094A3C:
- movs r0, 0
-_08094A3E:
- pop {r1}
- bx r1
- thumb_func_end sub_80949DC
-
- thumb_func_start sub_8094A44
-sub_8094A44:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r1, 0xFF
- mov r0, sp
- strb r1, [r0]
- mov r7, sp
- adds r7, 0x1
- movs r0, 0
- strb r0, [r7]
- ldr r5, _08094B14
- ldr r1, [r5]
- adds r1, 0x8
- adds r0, r4, 0
- movs r2, 0x2
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x9]
- mov r1, sp
- adds r6, r7, 0
- cmp r0, 0
- bne _08094A74
- adds r1, r6, 0
-_08094A74:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0xA]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094A88
- mov r1, sp
-_08094A88:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0xB]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094A9C
- mov r1, sp
-_08094A9C:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AB0
- mov r1, sp
-_08094AB0:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AC4
- mov r1, sp
-_08094AC4:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- adds r1, r6, 0
- cmp r0, 0
- beq _08094AD8
- mov r1, sp
-_08094AD8:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r0, [r5]
- ldrb r0, [r0, 0x3]
- adds r1, r7, 0
- cmp r0, 0
- beq _08094AEC
- mov r1, sp
-_08094AEC:
- adds r0, r4, 0
- movs r2, 0x1
- bl sub_809488C
- ldr r1, [r5]
- adds r1, 0x4
- adds r0, r4, 0
- movs r2, 0x3
- bl sub_809488C
- ldr r1, [r5]
- adds r1, 0xC
- adds r0, r4, 0
- movs r2, 0x2
- bl sub_809488C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094B14: .4byte gUnknown_203B46C
- thumb_func_end sub_8094A44
-
- thumb_func_start sub_8094B18
-sub_8094B18:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r6, r0, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_8094924
- ldr r5, _08094C10
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x3
- mov r8, r0
- ands r0, r1
- strb r0, [r2, 0x8]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x9]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0xA]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0xB]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x1]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r2, 0x2]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x1
- bl sub_8094924
- ldr r1, [r5]
- mov r0, sp
- ldrb r0, [r0]
- ands r4, r0
- strb r4, [r1, 0x3]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x3
- bl sub_8094924
- ldr r2, [r5]
- mov r0, sp
- ldrb r1, [r0]
- movs r0, 0x7
- ands r0, r1
- strb r0, [r2, 0x4]
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_8094924
- ldr r1, [r5]
- mov r0, sp
- ldrb r0, [r0]
- mov r2, r8
- ands r2, r0
- strb r2, [r1, 0xC]
- bl sub_8094C14
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C10: .4byte gUnknown_203B46C
- thumb_func_end sub_8094B18
-
- thumb_func_start sub_8094C14
-sub_8094C14:
- push {r4,lr}
- sub sp, 0x10
- mov r1, sp
- ldr r0, _08094C40
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- ldr r0, _08094C44
- ldr r0, [r0]
- ldrb r1, [r0, 0x8]
- movs r0, 0x3
- ands r0, r1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- bl sub_80099F0
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C40: .4byte gUnknown_8109954
-_08094C44: .4byte gUnknown_203B46C
- thumb_func_end sub_8094C14
-
- thumb_func_start sub_8094C48
-sub_8094C48:
- push {lr}
- ldr r0, _08094C5C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _08094C60
- cmp r0, 0x3
- beq _08094C60
- movs r0, 0x1
- b _08094C62
- .align 2, 0
-_08094C5C: .4byte gUnknown_203B46C
-_08094C60:
- movs r0, 0
-_08094C62:
- pop {r1}
- bx r1
- thumb_func_end sub_8094C48
-
- thumb_func_start sub_8094C68
-sub_8094C68:
- push {lr}
- ldr r0, _08094C7C
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2
- beq _08094C80
- cmp r0, 0x5
- beq _08094C80
- movs r0, 0x1
- b _08094C82
- .align 2, 0
-_08094C7C: .4byte gUnknown_203B46C
-_08094C80:
- movs r0, 0
-_08094C82:
- pop {r1}
- bx r1
- thumb_func_end sub_8094C68
-
- thumb_func_start sub_8094C88
-sub_8094C88:
- push {lr}
- ldr r0, _08094C98
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0x2
- bhi _08094C9C
- movs r0, 0x1
- b _08094CA8
- .align 2, 0
-_08094C98: .4byte gUnknown_203B46C
-_08094C9C:
- subs r0, 0x3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _08094CAA
- movs r0, 0x4
-_08094CA8:
- strb r0, [r1, 0x4]
-_08094CAA:
- pop {r0}
- bx r0
- thumb_func_end sub_8094C88
-
- thumb_func_start sub_8094CB0
-sub_8094CB0:
- ldr r1, _08094CBC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CBC: .4byte 0x0000ffff
- thumb_func_end sub_8094CB0
-
- thumb_func_start sub_8094CC0
-sub_8094CC0:
- ldr r1, _08094CCC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CCC: .4byte 0x0000ffff
- thumb_func_end sub_8094CC0
-
- thumb_func_start sub_8094CD0
-sub_8094CD0:
- ldr r1, _08094CDC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CDC: .4byte 0x0000ffff
- thumb_func_end sub_8094CD0
-
- thumb_func_start sub_8094CE0
-sub_8094CE0:
- ldr r1, _08094CEC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CEC: .4byte 0x0000ffff
- thumb_func_end sub_8094CE0
-
- thumb_func_start sub_8094CF0
-sub_8094CF0:
- ldr r1, _08094CFC
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094CFC: .4byte 0x0000ffff
- thumb_func_end sub_8094CF0
-
- thumb_func_start sub_8094D00
-sub_8094D00:
- ldr r1, _08094D0C
- strh r1, [r0]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_08094D0C: .4byte 0x0000ffff
- thumb_func_end sub_8094D00
-
- thumb_func_start sub_8094D10
-sub_8094D10:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D10
-
- thumb_func_start sub_8094D14
-sub_8094D14:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D14
-
- thumb_func_start sub_8094D18
-sub_8094D18:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D18
-
- thumb_func_start sub_8094D1C
-sub_8094D1C:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D1C
-
- thumb_func_start sub_8094D20
-sub_8094D20:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D20
-
- thumb_func_start sub_8094D24
-sub_8094D24:
- movs r0, 0
- bx lr
- thumb_func_end sub_8094D24
-
- thumb_func_start sub_8094D28
-sub_8094D28:
- push {r4-r7,lr}
- ldr r2, _08094D64
- str r0, [r2]
- ldr r1, _08094D68
- movs r0, 0x1
- str r0, [r1]
- ldr r7, _08094D6C
- adds r5, r2, 0
- adds r4, r1, 0
- ldr r6, _08094D70
-_08094D3C:
- ldr r2, [r4]
- lsls r3, r2, 2
- adds r3, r5
- subs r0, r2, 0x1
- lsls r0, 2
- adds r0, r5
- ldr r0, [r0]
- lsrs r1, r0, 30
- eors r0, r1
- muls r0, r6
- adds r0, r2
- str r0, [r3]
- adds r2, 0x1
- str r2, [r4]
- cmp r2, r7
- ble _08094D3C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094D64: .4byte gUnknown_3001198
-_08094D68: .4byte gUnknown_203B470
-_08094D6C: .4byte 0x0000026f
-_08094D70: .4byte 0x6c078965
- thumb_func_end sub_8094D28
-
- thumb_func_start sub_8094D74
-sub_8094D74:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r7, r1, 0
- ldr r0, _08094E34
- bl sub_8094D28
- movs r4, 0x1
- movs r5, 0
- adds r3, r7, 0
- movs r0, 0x9C
- lsls r0, 2
- cmp r3, r0
- bge _08094D96
- adds r3, r0, 0
-_08094D96:
- ldr r6, _08094E38
- cmp r3, 0
- beq _08094DE2
- mov r9, r6
- ldr r0, _08094E3C
- adds r0, r6
- mov r12, r0
- adds r2, r6, 0
-_08094DA6:
- ldr r1, [r2]
- lsrs r0, r1, 30
- eors r1, r0
- ldr r0, _08094E40
- muls r0, r1
- ldr r1, [r2, 0x4]
- eors r1, r0
- lsls r0, r5, 2
- add r0, r8
- ldr r0, [r0]
- adds r1, r0
- adds r1, r5
- str r1, [r2, 0x4]
- adds r2, 0x4
- adds r4, 0x1
- adds r5, 0x1
- ldr r0, _08094E44
- cmp r4, r0
- ble _08094DD6
- mov r1, r12
- ldr r0, [r1]
- str r0, [r6]
- mov r2, r9
- movs r4, 0x1
-_08094DD6:
- cmp r5, r7
- blt _08094DDC
- movs r5, 0
-_08094DDC:
- subs r3, 0x1
- cmp r3, 0
- bne _08094DA6
-_08094DE2:
- ldr r3, _08094E44
- ldr r5, _08094E38
- ldr r0, _08094E3C
- adds r0, r5
- mov r8, r0
- lsls r0, r4, 2
- subs r0, 0x4
- adds r2, r0, r5
- ldr r1, _08094E48
- mov r12, r1
- adds r7, r3, 0
-_08094DF8:
- ldr r0, [r2]
- lsrs r1, r0, 30
- eors r0, r1
- mov r1, r12
- muls r1, r0
- ldr r0, [r2, 0x4]
- eors r0, r1
- subs r0, r4
- str r0, [r2, 0x4]
- adds r2, 0x4
- adds r4, 0x1
- cmp r4, r7
- ble _08094E1C
- mov r1, r8
- ldr r0, [r1]
- str r0, [r6]
- adds r2, r5, 0
- movs r4, 0x1
-_08094E1C:
- subs r3, 0x1
- cmp r3, 0
- bne _08094DF8
- movs r0, 0x80
- lsls r0, 24
- str r0, [r6]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094E34: .4byte 0x012bd6aa
-_08094E38: .4byte gUnknown_3001198
-_08094E3C: .4byte 0x000009bc
-_08094E40: .4byte 0x0019660d
-_08094E44: .4byte 0x0000026f
-_08094E48: .4byte 0x5d588b65
- thumb_func_end sub_8094D74
-
- thumb_func_start sub_8094E4C
-sub_8094E4C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _08094F54
- ldr r2, [r0]
- ldr r1, _08094F58
- mov r8, r0
- cmp r2, r1
- ble _08094F1C
- ldr r0, _08094F5C
- cmp r2, r0
- bne _08094E6C
- ldr r0, _08094F60
- bl sub_8094D28
-_08094E6C:
- movs r3, 0
- ldr r0, _08094F64
- mov r9, r0
- ldr r7, _08094F68
- mov r12, r9
- adds r5, r7, 0
-_08094E78:
- ldr r4, [r5]
- movs r6, 0x80
- lsls r6, 24
- ands r4, r6
- ldr r0, [r5, 0x4]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- ldr r1, _08094F70
- adds r0, r3, r1
- lsls r0, 2
- adds r0, r7
- lsrs r2, r4, 1
- ldr r1, [r0]
- eors r1, r2
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r12
- ldr r0, [r0]
- eors r1, r0
- stm r5!, {r1}
- adds r3, 0x1
- cmp r3, 0xE2
- ble _08094E78
- ldr r5, _08094F74
- cmp r3, r5
- bgt _08094EE6
- ldr r1, _08094F68
- ldr r4, _08094F64
- mov r12, r4
- lsls r0, r3, 2
- adds r2, r0, r1
- ldr r4, _08094F78
- adds r0, r4
- adds r7, r0, r1
-_08094EC0:
- ldr r4, [r2]
- ands r4, r6
- ldr r0, [r2, 0x4]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- lsrs r0, r4, 1
- ldm r7!, {r1}
- eors r1, r0
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r12
- ldr r0, [r0]
- eors r1, r0
- stm r2!, {r1}
- adds r3, 0x1
- cmp r3, r5
- ble _08094EC0
-_08094EE6:
- ldr r2, _08094F68
- ldr r0, _08094F7C
- adds r3, r2, r0
- ldr r4, [r3]
- movs r0, 0x80
- lsls r0, 24
- ands r4, r0
- ldr r0, [r2]
- ldr r1, _08094F6C
- ands r0, r1
- orrs r4, r0
- movs r1, 0xC6
- lsls r1, 3
- adds r2, r1
- lsrs r0, r4, 1
- ldr r1, [r2]
- eors r1, r0
- movs r0, 0x1
- ands r4, r0
- lsls r0, r4, 2
- add r0, r9
- ldr r0, [r0]
- eors r1, r0
- str r1, [r3]
- movs r0, 0
- mov r4, r8
- str r0, [r4]
-_08094F1C:
- ldr r2, _08094F68
- mov r0, r8
- ldr r1, [r0]
- lsls r0, r1, 2
- adds r0, r2
- ldr r4, [r0]
- adds r1, 0x1
- mov r0, r8
- str r1, [r0]
- lsrs r0, r4, 11
- eors r4, r0
- lsls r0, r4, 7
- ldr r1, _08094F80
- ands r0, r1
- eors r4, r0
- lsls r0, r4, 15
- ldr r1, _08094F84
- ands r0, r1
- eors r4, r0
- lsrs r0, r4, 18
- eors r4, r0
- adds r0, r4, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08094F54: .4byte gUnknown_203B470
-_08094F58: .4byte 0x0000026f
-_08094F5C: .4byte 0x00000271
-_08094F60: .4byte 0x00001571
-_08094F64: .4byte gUnknown_203B474
-_08094F68: .4byte gUnknown_3001198
-_08094F6C: .4byte 0x7fffffff
-_08094F70: .4byte 0x0000018d
-_08094F74: .4byte 0x0000026e
-_08094F78: .4byte 0xfffffc74
-_08094F7C: .4byte 0x000009bc
-_08094F80: .4byte 0x9d2c5680
-_08094F84: .4byte 0xefc60000
- thumb_func_end sub_8094E4C
-
- thumb_func_start sub_8094F88
-sub_8094F88:
- push {lr}
- ldr r1, _08094F98
- ldr r0, _08094F9C
- str r0, [r1]
- bl sub_8094FA8
- pop {r0}
- bx r0
- .align 2, 0
-_08094F98: .4byte gUnknown_203B47C
-_08094F9C: .4byte gUnknown_2038C80
- thumb_func_end sub_8094F88
-
- thumb_func_start sub_8094FA0
-sub_8094FA0:
- ldr r0, _08094FA4
- bx lr
- .align 2, 0
-_08094FA4: .4byte gUnknown_2038C80
- thumb_func_end sub_8094FA0
-
- thumb_func_start sub_8094FA8
-sub_8094FA8:
- movs r1, 0
- strb r1, [r0, 0x4]
- strb r1, [r0, 0x3]
- strb r1, [r0, 0x2]
- strh r1, [r0]
- bx lr
- thumb_func_end sub_8094FA8
-
- thumb_func_start sub_8094FB4
-sub_8094FB4:
- push {lr}
- adds r2, r0, 0
- ldrb r0, [r2, 0x4]
- adds r0, 0x1
- movs r1, 0
- strb r0, [r2, 0x4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _0809500A
- strb r1, [r2, 0x4]
- ldrb r0, [r2, 0x3]
- adds r0, 0x1
- strb r0, [r2, 0x3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _0809500A
- strb r1, [r2, 0x3]
- ldrb r0, [r2, 0x2]
- adds r0, 0x1
- strb r0, [r2, 0x2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _0809500A
- strb r1, [r2, 0x2]
- ldrh r3, [r2]
- movs r0, 0
- ldrsh r1, [r2, r0]
- ldr r0, _08094FFC
- cmp r1, r0
- bgt _08095000
- adds r0, r3, 0x1
- b _08095008
- .align 2, 0
-_08094FFC: .4byte 0x0000270e
-_08095000:
- movs r0, 0x3B
- strb r0, [r2, 0x3]
- strb r0, [r2, 0x2]
- ldr r0, _08095010
-_08095008:
- strh r0, [r2]
-_0809500A:
- pop {r0}
- bx r0
- .align 2, 0
-_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 sub_8090134
- 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 sub_8090114
- 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 sub_8090114
- 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 gUnknown_8109994
- 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 sub_809009C
- b _08097496
-_08097494:
- ldr r0, _0809749C
-_08097496:
- pop {r1}
- bx r1
- .align 2, 0
-_0809749C: .4byte gUnknown_8109CA8
- 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 sub_809009C
- b _080974BA
-_080974B8:
- ldr r0, _080974C0
-_080974BA:
- pop {r1}
- bx r1
- .align 2, 0
-_080974C0: .4byte gUnknown_8109CA8
- 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 gUnknown_8109994
- 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 sub_809009C
- 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 gUnknown_8109CD4
-_08097608:
- ldr r0, _0809760C
- b _08097612
- .align 2, 0
-_0809760C: .4byte gUnknown_8109CE4
-_08097610:
- ldr r0, _08097618
-_08097612:
- pop {r1}
- bx r1
- .align 2, 0
-_08097618: .4byte gUnknown_8109CF4
- 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 gUnknown_810B04C
- 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 gUnknown_810E074
-_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 gUnknown_810E074
-_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 gUnknown_810E074
-_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
-
- thumb_func_start xxx_script_related_8098468
-xxx_script_related_8098468:
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, _08098494
- str r0, [r1]
- ldr r4, _08098498
- movs r2, 0
- strb r2, [r4]
- ldr r3, _0809849C
- movs r1, 0x1
- strb r1, [r3]
- ldr r1, _080984A0
- strb r2, [r1]
- subs r0, 0xD
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _08098504
- lsls r0, 2
- ldr r1, _080984A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08098494: .4byte gUnknown_20398B4
-_08098498: .4byte gUnknown_20398B9
-_0809849C: .4byte gUnknown_20398B8
-_080984A0: .4byte gUnknown_20398BA
-_080984A4: .4byte _080984A8
- .align 2, 0
-_080984A8:
- .4byte _080984BC
- .4byte _080984C8
- .4byte _080984CE
- .4byte _080984D4
- .4byte _080984FC
-_080984BC:
- movs r1, 0x1
- strb r1, [r2]
- movs r0, 0
- strb r0, [r3]
- strb r1, [r4]
- b _08098504
-_080984C8:
- movs r0, 0x1
- strb r0, [r3]
- b _08098502
-_080984CE:
- movs r0, 0x1
- strb r0, [r3]
- b _08098502
-_080984D4:
- add r2, sp, 0x4
- movs r0, 0x3
- mov r1, sp
- bl sub_8001B88
- ldr r2, _080984F4
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0
- bne _080984EA
- movs r1, 0x1
-_080984EA:
- strb r1, [r2]
- ldr r1, _080984F8
- movs r0, 0x1
- strb r0, [r1]
- b _08098504
- .align 2, 0
-_080984F4: .4byte gUnknown_20398B8
-_080984F8: .4byte gUnknown_20398B9
-_080984FC:
- movs r0, 0
- strb r0, [r3]
- movs r0, 0x1
-_08098502:
- strb r0, [r4]
-_08098504:
- bl sub_801180C
- ldr r0, _080985B0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08098522
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098522
- movs r0, 0x10
- bl sub_80118C4
-_08098522:
- ldr r1, _080985B4
- ldr r2, _080985B8
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl xxx_update_some_bg_tiles
- bl sub_8099648
- bl sub_809975C
- bl sub_809D0AC
- bl sub_80A7744
- bl sub_809D490
- bl sub_80A62F0
- bl sub_809C5C4
- bl sub_809A560
- bl sub_809CB50
- bl sub_80A4A7C
- bl nullsub_117
- bl sub_80AD990
- bl sub_80A77F8
- bl sub_80ABB54
- bl sub_80ACB90
- bl sub_809A62C
- ldr r0, _080985BC
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080985C0
- strb r1, [r0]
- ldr r6, _080985C4
- movs r0, 0x1
- str r0, [r6]
- ldr r1, _080985C8
- movs r0, 0
- str r0, [r1]
- ldr r0, _080985CC
- movs r4, 0x1
- negs r4, r4
- str r4, [r0]
- ldr r5, _080985D0
- movs r0, 0
- movs r1, 0xD
- bl sub_8001658
- strh r0, [r5]
- movs r0, 0
- movs r1, 0xE
- bl sub_8001658
- ldr r1, _080985D4
- str r0, [r1]
- ldr r0, _080985D8
- strh r4, [r0]
- adds r7, r4, 0
- ldr r0, [r6]
- b _08098988
- .align 2, 0
-_080985B0: .4byte gUnknown_20398B9
-_080985B4: .4byte gUnknown_2026E4E
-_080985B8: .4byte 0x00000808
-_080985BC: .4byte gUnknown_203B49C
-_080985C0: .4byte gUnknown_203B49D
-_080985C4: .4byte gUnknown_20398A8
-_080985C8: .4byte gUnknown_20398AC
-_080985CC: .4byte gUnknown_20398B0
-_080985D0: .4byte gUnknown_20398BE
-_080985D4: .4byte gUnknown_20398C0
-_080985D8: .4byte gUnknown_20398C4
-_080985DC:
- movs r0, 0x1
- negs r0, r0
- bl sub_809A71C
- bl sub_809A76C
- bl sub_809977C
- ldr r0, _08098600
- ldr r0, [r0]
- cmp r0, 0x11
- bls _080985F6
- b _08098756
-_080985F6:
- lsls r0, 2
- ldr r1, _08098604
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08098600: .4byte gUnknown_20398B4
-_08098604: .4byte _08098608
- .align 2, 0
-_08098608:
- .4byte _08098650
- .4byte _08098756
- .4byte _08098660
- .4byte _08098660
- .4byte _08098756
- .4byte _08098666
- .4byte _08098756
- .4byte _08098756
- .4byte _08098756
- .4byte _0809866A
- .4byte _0809866A
- .4byte _0809866A
- .4byte _0809866A
- .4byte _0809870C
- .4byte _08098748
- .4byte _0809874C
- .4byte _08098750
- .4byte _08098754
-_08098650:
- bl sub_8098C58
- ldr r1, _0809865C
- movs r0, 0x1
- str r0, [r1]
- b _08098756
- .align 2, 0
-_0809865C: .4byte gUnknown_20398B4
-_08098660:
- bl sub_8001D88
- b _08098756
-_08098666:
- movs r7, 0x70
- b _08098756
-_0809866A:
- ldr r0, _080986BC
- ldr r2, [r0]
- movs r0, 0
- movs r1, 0x16
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x25
- movs r2, 0
- bl sub_80018D8
- bl sub_8098C58
- movs r0, 0
- movs r1, 0x15
- movs r2, 0x1
- movs r3, 0x2
- bl sub_800226C
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _08098756
- cmp r4, 0x51
- bne _080986C0
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- b _080986C6
- .align 2, 0
-_080986BC: .4byte gUnknown_20398B4
-_080986C0:
- adds r0, r4, 0
- bl sub_80A2608
-_080986C6:
- movs r1, 0xA
- ldrsh r7, [r0, r1]
- ldr r5, _08098700
- ldr r0, [r5]
- cmp r0, 0x9
- bne _080986E0
- lsls r2, r4, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x31
- movs r3, 0x1
- bl sub_800199C
-_080986E0:
- ldr r0, [r5]
- bl sub_8098FCC
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08098756
- ldr r0, _08098704
- strh r1, [r0]
- ldr r1, _08098708
- movs r0, 0
- str r0, [r1]
- b _08098756
- .align 2, 0
-_08098700: .4byte gUnknown_20398B4
-_08098704: .4byte gUnknown_20398BE
-_08098708: .4byte gUnknown_20398C0
-_0809870C:
- bl sub_8098C58
- ldr r1, _08098744
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xF
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xD
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0
- bl sub_80018D8
- movs r7, 0x71
- b _08098756
- .align 2, 0
-_08098744: .4byte gUnknown_20398B4
-_08098748:
- movs r7, 0x73
- b _08098756
-_0809874C:
- movs r7, 0x74
- b _08098756
-_08098750:
- movs r7, 0x75
- b _08098756
-_08098754:
- movs r7, 0x76
-_08098756:
- ldr r0, _08098790
- ldrb r0, [r0]
- cmp r0, 0
- bne _080987C0
- movs r0, 0
- movs r1, 0xD
- bl sub_8001658
- adds r5, r0, 0
- ldr r4, _08098794
- ldr r2, [r4]
- movs r0, 0
- movs r1, 0x18
- bl sub_80018D8
- ldr r4, [r4]
- cmp r4, 0x1
- beq _080987A6
- cmp r4, 0x3
- bne _0809879C
- ldr r0, _08098798
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0xF
- bl sub_80018D8
- b _080987A6
- .align 2, 0
-_08098790: .4byte gUnknown_20398B9
-_08098794: .4byte gUnknown_20398B4
-_08098798: .4byte gUnknown_20398BE
-_0809879C:
- movs r0, 0
- movs r1, 0xF
- adds r2, r5, 0
- bl sub_80018D8
-_080987A6:
- ldr r0, _0809882C
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0xD
- bl sub_80018D8
- ldr r0, _08098830
- ldr r2, [r0]
- movs r0, 0
- movs r1, 0xE
- bl sub_80018D8
-_080987C0:
- ldr r1, _08098834
- movs r0, 0x2
- str r0, [r1]
- ldr r0, _08098838
- movs r1, 0
- str r1, [r0]
- ldr r0, _0809883C
- str r1, [r0]
- ldr r0, _08098840
- movs r4, 0x1
- negs r4, r4
- str r4, [r0]
- ldr r2, _08098844
- ldr r1, _0809882C
- ldrh r0, [r1]
- strh r0, [r2]
- strh r4, [r1]
- bl sub_809977C
- bl sub_809D4B0
- adds r0, r4, 0
- bl GroundSprite_Reset
- bl sub_809C63C
- bl sub_809A62C
- bl sub_80A4AEC
- bl sub_809D0BC
- bl sub_80AD9D0
- bl sub_80A786C
- bl sub_80ABB98
- bl sub_80ACBD4
- bl sub_809C658
- bl nullsub_16
- bl sub_8097944
- cmp r7, r4
- beq _08098848
- adds r0, r7, 0
- movs r1, 0
- bl GroundMap_ExecuteEvent
- b _08098850
- .align 2, 0
-_0809882C: .4byte gUnknown_20398BE
-_08098830: .4byte gUnknown_20398C0
-_08098834: .4byte gUnknown_20398B4
-_08098838: .4byte gUnknown_20398A8
-_0809883C: .4byte gUnknown_20398AC
-_08098840: .4byte gUnknown_20398B0
-_08098844: .4byte gUnknown_20398BC
-_08098848:
- movs r0, 0x66
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_08098850:
- bl GroundMap_Action
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- bl xxx_call_update_bg_sound_input
-_08098864:
- bl xxx_call_update_bg_sound_input
- bl sub_80A6E68
- ldr r0, _08098890
- ldr r0, [r0]
- cmp r0, 0
- beq _080988B2
- ldr r1, _08098894
- ldr r0, [r1]
- cmp r0, 0
- ble _0809889C
- subs r0, 0x1
- str r0, [r1]
- cmp r0, 0
- bgt _080988F8
- ldr r0, _08098898
- ldr r0, [r0]
- bl sub_80999D4
- b _080988F8
- .align 2, 0
-_08098890: .4byte gUnknown_20398A8
-_08098894: .4byte gUnknown_20398AC
-_08098898: .4byte gUnknown_20398B0
-_0809889C:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _080988F8
- bl sub_809C740
- lsls r0, 24
- cmp r0, 0
- bne _0809897C
- b _080988F8
-_080988B2:
- ldr r0, _08098968
- ldrb r0, [r0]
- cmp r0, 0
- beq _080988F8
- ldr r0, _0809896C
- ldrb r0, [r0]
- cmp r0, 0
- bne _080988F8
- bl sub_809AFAC
- lsls r0, 24
- cmp r0, 0
- bne _080988F8
- ldr r0, _08098970
- ldrh r0, [r0, 0x2]
- ldr r2, _08098974
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080988E4
- bl sub_80048BC
- lsls r0, 24
- cmp r0, 0
- beq _080988F8
-_080988E4:
- movs r0, 0x72
- movs r1, 0
- bl GroundMap_ExecuteEvent
- movs r0, 0x1E
- bl sub_8098F44
- movs r0, 0x1E
- bl sub_80118C4
-_080988F8:
- bl GroundMap_Action
- bl nullsub_124
- bl GroundLives_Action
- bl GroundObject_Action
- bl GroundEffect_Action
- bl nullsub_105
- bl sub_809B474
- bl sub_80A2380
- bl sub_809D25C
- bl sub_80A59DC
- bl sub_809B614
- bl sub_809CA20
- bl sub_80A6E80
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- ldr r0, _08098978
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl sub_809B638
- bl nullsub_106
- bl sub_80A73EC
- bl sub_8099750
- bl sub_8009908
- b _08098864
- .align 2, 0
-_08098968: .4byte gUnknown_20398B9
-_0809896C: .4byte gUnknown_20398B8
-_08098970: .4byte gUnknown_20255F0
-_08098974: .4byte 0x0000030f
-_08098978: .4byte gUnknown_203B47C
-_0809897C:
- bl sub_80A4AEC
- movs r7, 0x1
- negs r7, r7
- ldr r0, _080989E8
- ldr r0, [r0]
-_08098988:
- subs r0, 0x1
- cmp r0, 0x1
- bhi _08098990
- b _080985DC
-_08098990:
- bl sub_80A4AC4
- bl nullsub_118
- bl sub_80A78F0
- bl sub_80ABBD4
- bl sub_80ACC10
- bl sub_80ADA08
- bl sub_809CB74
- bl sub_809A610
- bl sub_809C618
- bl sub_80A658C
- bl sub_809D508
- bl sub_80A7754
- bl nullsub_119
- bl sub_8099768
- bl nullsub_103
- bl nullsub_16
- ldr r0, _080989EC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080989FA
- ldr r0, _080989E8
- ldr r0, [r0]
- cmp r0, 0x9
- beq _080989F0
- cmp r0, 0xA
- bne _080989F0
- movs r0, 0x10
- b _08098BD2
- .align 2, 0
-_080989E8: .4byte gUnknown_20398A8
-_080989EC: .4byte gUnknown_20398B9
-_080989F0:
- movs r0, 0x1E
- bl sub_80118C4
- movs r0, 0xF
- b _08098BD2
-_080989FA:
- ldr r0, _08098A10
- ldr r0, [r0]
- subs r0, 0x3
- cmp r0, 0x5
- bls _08098A06
- b _08098BC0
-_08098A06:
- lsls r0, 2
- ldr r1, _08098A14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08098A10: .4byte gUnknown_20398A8
-_08098A14: .4byte _08098A18
- .align 2, 0
-_08098A18:
- .4byte _08098A30
- .4byte _08098A72
- .4byte _08098AA0
- .4byte _08098B08
- .4byte _08098B58
- .4byte _08098B8C
-_08098A30:
- movs r4, 0x1
- negs r4, r4
- movs r0, 0
- movs r1, 0x13
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x14
- adds r2, r4, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x4
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x4
- bl sub_80018D8
- movs r0, 0
- movs r1, 0xD
- bl sub_8001658
- adds r2, r0, 0
- movs r0, 0
- movs r1, 0xF
- bl sub_80018D8
- movs r0, 0x5
- b _08098BD2
-_08098A72:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x5
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x5
- bl sub_80018D8
- movs r2, 0x1
- negs r2, r2
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- movs r0, 0x6
- b _08098BD2
-_08098AA0:
- ldr r5, _08098B04
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_80A2654
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0
- ldrsh r2, [r5, r0]
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x14
- adds r2, r4, 0
- bl sub_80018D8
- ldrh r2, [r5]
- movs r0, 0
- movs r1, 0x30
- movs r3, 0x1
- bl sub_800199C
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _08098B00
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- bl sub_80018D8
-_08098B00:
- movs r0, 0x7
- b _08098BD2
- .align 2, 0
-_08098B04: .4byte gUnknown_20398C4
-_08098B08:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x51
- bl sub_80018D8
- ldr r0, _08098B54
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _08098B4E
- movs r0, 0
- movs r1, 0x11
- movs r2, 0
- bl sub_80018D8
-_08098B4E:
- movs r0, 0x8
- b _08098BD2
- .align 2, 0
-_08098B54: .4byte gUnknown_20398C4
-_08098B58:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x50
- bl sub_80018D8
- ldr r0, _08098B88
- ldrb r2, [r0]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0x9
- b _08098BD2
- .align 2, 0
-_08098B88: .4byte gUnknown_2039950
-_08098B8C:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x52
- bl sub_80018D8
- ldr r0, _08098BBC
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x7
- bl sub_80018D8
- movs r0, 0xA
- b _08098BD2
- .align 2, 0
-_08098BBC: .4byte gUnknown_20398C4
-_08098BC0:
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0x10
- bl sub_80118C4
- movs r0, 0xE
-_08098BD2:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end xxx_script_related_8098468
-
- thumb_func_start sub_8098BDC
-sub_8098BDC:
- push {lr}
- bl sub_809B57C
- bl sub_80A2380
- bl sub_809D25C
- bl sub_80A59DC
- bl sub_809B614
- bl sub_809CA20
- bl sub_80A6E80
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- ldr r0, _08098C54
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl sub_809B638
- bl nullsub_106
- bl sub_80A73EC
- bl sub_8099750
- bl sub_8009908
- bl xxx_call_update_bg_sound_input
- bl sub_80A6E68
- bl GroundMap_Action
- bl nullsub_124
- bl GroundLives_Action
- bl GroundObject_Action
- bl GroundEffect_Action
- pop {r0}
- bx r0
- .align 2, 0
-_08098C54: .4byte gUnknown_203B47C
- thumb_func_end sub_8098BDC
-
- thumb_func_start sub_8098C58
-sub_8098C58:
- push {lr}
- movs r0, 0
- movs r1, 0x36
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_809CB8C
- bl sub_8001D88
- movs r0, 0
- movs r1, 0x2A
- bl sub_8001658
- cmp r0, 0
- beq _08098CA2
- movs r0, 0
- movs r1, 0x29
- bl sub_8001658
- adds r2, r0, 0
- adds r2, 0x1
- cmp r2, 0xF
- ble _08098C90
- movs r2, 0
-_08098C90:
- movs r0, 0
- movs r1, 0x29
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x2A
- movs r2, 0
- bl sub_80018D8
-_08098CA2:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_8001784
- adds r3, r0, 0
- cmp r3, 0
- bgt _08098CB4
- movs r3, 0x1
-_08098CB4:
- subs r3, 0x1
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_800199C
- bl sub_8098CC8
- pop {r0}
- bx r0
- thumb_func_end sub_8098C58
-
- thumb_func_start sub_8098CC8
-sub_8098CC8:
- push {lr}
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CDE
- movs r1, 0
- b _08098D06
-_08098CDE:
- movs r0, 0x3
- movs r1, 0xF
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CF2
- movs r1, 0x1
- b _08098D06
-_08098CF2:
- movs r0, 0x3
- movs r1, 0x12
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _08098D06
- movs r1, 0x2
-_08098D06:
- adds r0, r1, 0
- bl sub_8091980
- bl sub_809674C
- bl sub_80961B4
- bl sub_8091FB4
- pop {r0}
- bx r0
- thumb_func_end sub_8098CC8
-
- thumb_func_start sub_8098D1C
-sub_8098D1C:
- push {r4-r7,lr}
- adds r7, r1, 0
- adds r4, r2, 0
- lsls r0, 16
- asrs r5, r0, 16
- ldr r6, _08098D34
- ldr r0, [r6]
- cmp r0, 0
- beq _08098D38
- movs r0, 0
- b _08098D60
- .align 2, 0
-_08098D34: .4byte gUnknown_20398A8
-_08098D38:
- ldr r1, _08098D68
- movs r0, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl Log
- movs r1, 0x1
- str r1, [r6]
- ldr r0, _08098D6C
- str r1, [r0]
- ldr r0, _08098D70
- str r4, [r0]
- ldr r1, _08098D74
- movs r0, 0x2
- str r0, [r1]
- ldr r0, _08098D78
- strh r5, [r0]
- ldr r0, _08098D7C
- str r7, [r0]
- movs r0, 0x1
-_08098D60:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08098D68: .4byte gUnknown_8115F5C
-_08098D6C: .4byte gUnknown_20398AC
-_08098D70: .4byte gUnknown_20398B0
-_08098D74: .4byte gUnknown_20398B4
-_08098D78: .4byte gUnknown_20398BE
-_08098D7C: .4byte gUnknown_20398C0
- thumb_func_end sub_8098D1C
-
- thumb_func_start sub_8098D80
-sub_8098D80:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098DB8
- ldr r0, [r1]
- cmp r0, 0
- bne _08098DC4
- movs r0, 0x3
- str r0, [r1]
- ldr r1, _08098DBC
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098DC0
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DB2
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DB2:
- movs r0, 0x1
- b _08098DC6
- .align 2, 0
-_08098DB8: .4byte gUnknown_20398A8
-_08098DBC: .4byte gUnknown_20398AC
-_08098DC0: .4byte gUnknown_20398B0
-_08098DC4:
- movs r0, 0
-_08098DC6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098D80
-
- thumb_func_start sub_8098DCC
-sub_8098DCC:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098E04
- ldr r0, [r1]
- cmp r0, 0
- bne _08098E10
- movs r0, 0x4
- str r0, [r1]
- ldr r1, _08098E08
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098E0C
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DFE
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DFE:
- movs r0, 0x1
- b _08098E12
- .align 2, 0
-_08098E04: .4byte gUnknown_20398A8
-_08098E08: .4byte gUnknown_20398AC
-_08098E0C: .4byte gUnknown_20398B0
-_08098E10:
- movs r0, 0
-_08098E12:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098DCC
-
- thumb_func_start sub_8098E18
-sub_8098E18:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- asrs r2, r0, 16
- adds r5, r2, 0
- ldr r4, _08098E40
- ldr r0, [r4]
- cmp r0, 0
- bne _08098EA8
- ldr r1, _08098E44
- movs r0, 0
- adds r3, r6, 0
- bl Log
- ldr r0, _08098E48
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098E4C
- movs r0, 0x7
- b _08098E8A
- .align 2, 0
-_08098E40: .4byte gUnknown_20398A8
-_08098E44: .4byte gUnknown_8115F80
-_08098E48: .4byte gUnknown_203B49D
-_08098E4C:
- ldr r0, _08098E74
- ldrb r0, [r0]
- ldr r1, _08098E78
- cmp r0, 0
- bne _08098E58
- strh r5, [r1]
-_08098E58:
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_80A2750
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- beq _08098E88
- cmp r0, 0x2
- bgt _08098E7C
- cmp r0, 0x1
- beq _08098E84
- b _08098E8C
- .align 2, 0
-_08098E74: .4byte gUnknown_203B49C
-_08098E78: .4byte gUnknown_20398C4
-_08098E7C:
- cmp r0, 0x4
- bne _08098E8C
- movs r0, 0x8
- b _08098E8A
-_08098E84:
- movs r0, 0x5
- b _08098E8A
-_08098E88:
- movs r0, 0x6
-_08098E8A:
- str r0, [r4]
-_08098E8C:
- ldr r0, _08098EA0
- movs r1, 0x1
- str r1, [r0]
- ldr r0, _08098EA4
- str r6, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EAA
- .align 2, 0
-_08098EA0: .4byte gUnknown_20398AC
-_08098EA4: .4byte gUnknown_20398B0
-_08098EA8:
- movs r0, 0
-_08098EAA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8098E18
-
- thumb_func_start sub_8098EB0
-sub_8098EB0:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098EE4
- ldr r0, [r5]
- cmp r0, 0
- bne _08098EF8
- ldr r0, _08098EE8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098EF8
- ldr r1, _08098EEC
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x7
- str r0, [r5]
- ldr r1, _08098EF0
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098EF4
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EFA
- .align 2, 0
-_08098EE4: .4byte gUnknown_20398A8
-_08098EE8: .4byte gUnknown_203B49D
-_08098EEC: .4byte gUnknown_8115FA4
-_08098EF0: .4byte gUnknown_20398AC
-_08098EF4: .4byte gUnknown_20398B0
-_08098EF8:
- movs r0, 0
-_08098EFA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098EB0
-
- thumb_func_start sub_8098F00
-sub_8098F00:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F10
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F14
- movs r0, 0
- b _08098F32
- .align 2, 0
-_08098F10: .4byte gUnknown_20398A8
-_08098F14:
- ldr r1, _08098F38
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x9
- str r0, [r5]
- ldr r1, _08098F3C
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F40
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F32:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F38: .4byte gUnknown_8115FC8
-_08098F3C: .4byte gUnknown_20398AC
-_08098F40: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F00
-
- thumb_func_start sub_8098F44
-sub_8098F44:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F54
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F58
- movs r0, 0
- b _08098F76
- .align 2, 0
-_08098F54: .4byte gUnknown_20398A8
-_08098F58:
- ldr r1, _08098F7C
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0xA
- str r0, [r5]
- ldr r1, _08098F80
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F84
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F76:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F7C: .4byte gUnknown_8115FE8
-_08098F80: .4byte gUnknown_20398AC
-_08098F84: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F44
-
- thumb_func_start sub_8098F88
-sub_8098F88:
- ldr r0, _08098F90
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F90: .4byte gUnknown_20398B9
- thumb_func_end sub_8098F88
-
- thumb_func_start sub_8098F94
-sub_8098F94:
- ldr r0, _08098F9C
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F9C: .4byte gUnknown_20398BA
- thumb_func_end sub_8098F94
-
- thumb_func_start sub_8098FA0
-sub_8098FA0:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8098FA0
-
- thumb_func_start sub_8098FB4
-sub_8098FB4:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2B18
- pop {r1}
- bx r1
- thumb_func_end sub_8098FB4
-
- thumb_func_start sub_8098FCC
-sub_8098FCC:
- push {r4,lr}
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809909E
- cmp r1, 0x51
- bne _08098FF6
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- b _08098FF8
-_08098FF6:
- adds r0, r2, 0
-_08098FF8:
- bl sub_80A2608
- adds r4, r0, 0
- ldr r0, _0809900C
- ldr r0, [r0]
- cmp r0, 0x9
- bne _08099010
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- b _080990B2
- .align 2, 0
-_0809900C: .4byte gUnknown_20398B4
-_08099010:
- ldrh r0, [r4, 0x4]
- subs r0, 0xB2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- bhi _080990AE
- lsls r0, 2
- ldr r1, _08099028
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099028: .4byte _0809902C
- .align 2, 0
-_0809902C:
- .4byte _0809908C
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
-_0809908C:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x2
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _080990AE
-_0809909E:
- movs r0, 0xC
- b _080990B2
-_080990A2:
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809909E
-_080990AE:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
-_080990B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098FCC
-
- thumb_func_start sub_80990B8
-sub_80990B8:
- push {lr}
- movs r0, 0xB
- bl sub_8098FCC
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _080990D2
- bl sub_8098FB4
- b _080990E4
-_080990D2:
- ldr r1, _080990E8
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A2B18
-_080990E4:
- pop {r1}
- bx r1
- .align 2, 0
-_080990E8: .4byte gUnknown_811BAF4
- thumb_func_end sub_80990B8
-
- thumb_func_start sub_80990EC
-sub_80990EC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r4, 0
- bl sub_80A2608
- mov r8, r0
- ldrb r0, [r0, 0xC]
- movs r5, 0
- strb r0, [r7]
- movs r0, 0x1
- strb r0, [r7, 0x1]
- strb r5, [r7, 0xC]
- adds r0, r4, 0
- bl sub_80A2750
- lsls r0, 16
- asrs r6, r0, 16
- cmp r6, 0x2
- beq _080991C8
- cmp r6, 0x2
- bgt _08099126
- cmp r6, 0x1
- beq _0809912C
- b _080991CA
-_08099126:
- cmp r6, 0x4
- beq _080991C4
- b _080991CA
-_0809912C:
- movs r1, 0
- strb r5, [r7, 0xB]
- adds r0, r4, 0
- subs r0, 0x25
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0809913E
- movs r1, 0x1
-_0809913E:
- cmp r1, 0
- beq _080991CA
- strb r6, [r7, 0xC]
- mov r0, sp
- movs r1, 0x5B
- bl sub_80A8EC0
- add r4, sp, 0x18
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0xA
- bl sub_8092310
- add r5, sp, 0x30
- str r4, [sp, 0x58]
- add r1, sp, 0x5C
- movs r2, 0
- movs r0, 0x5E
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x5E
- strb r2, [r0]
- add r0, sp, 0x60
- movs r1, 0x47
- strb r1, [r0]
- strb r2, [r0, 0x1]
- add r1, sp, 0x64
- movs r0, 0x82
- lsls r0, 1
- strh r0, [r1]
- movs r0, 0xE0
- strh r0, [r1, 0x2]
- movs r0, 0xAC
- strh r0, [r1, 0x4]
- movs r0, 0xBE
- strh r0, [r1, 0x6]
- add r1, sp, 0x6C
- movs r0, 0x50
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x6E
- movs r2, 0xF
- strh r2, [r0]
- add r0, sp, 0x70
- strh r6, [r0]
- adds r0, 0x2
- movs r1, 0x19
- strh r1, [r0]
- strh r1, [r0, 0x2]
- adds r0, 0x4
- strh r2, [r0]
- strh r2, [r0, 0x2]
- ldr r0, _080991C0
- str r0, [sp, 0x7C]
- add r1, sp, 0x58
- adds r0, r5, 0
- movs r2, 0x28
- bl memcpy
- adds r0, r7, 0
- adds r0, 0x18
- adds r1, r5, 0
- bl sub_808D144
- b _080991CA
- .align 2, 0
-_080991C0: .4byte 0x000061a8
-_080991C4:
- strb r5, [r7, 0xB]
- b _080991CA
-_080991C8:
- strb r6, [r7, 0xB]
-_080991CA:
- movs r0, 0
- strb r0, [r7, 0x4]
- strb r0, [r7, 0xD]
- mov r1, r8
- ldrb r0, [r1, 0x11]
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80990EC
-
- thumb_func_start sub_80991E0
-sub_80991E0:
- push {lr}
- adds r2, r0, 0
- ldr r3, _08099204
- ldrh r0, [r3]
- strh r0, [r1]
- ldr r0, _08099208
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809920C
- movs r0, 0
- ldrsh r1, [r3, r0]
- adds r0, r2, 0
- bl sub_80990EC
- lsls r0, 24
- lsrs r0, 24
- b _08099218
- .align 2, 0
-_08099204: .4byte gUnknown_20398C4
-_08099208: .4byte gUnknown_203B49C
-_0809920C:
- ldr r1, _0809921C
- adds r0, r2, 0
- movs r2, 0x88
- bl memcpy
- movs r0, 0x1
-_08099218:
- pop {r1}
- bx r1
- .align 2, 0
-_0809921C: .4byte gUnknown_20398C8
- thumb_func_end sub_80991E0
-
- thumb_func_start sub_8099220
-sub_8099220:
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, 0
- beq _08099258
- ldr r1, _08099248
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0809924C
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08099250
- strh r3, [r0]
- ldr r0, _08099254
- adds r1, r2, 0
- movs r2, 0x88
- bl memcpy
- b _0809926A
- .align 2, 0
-_08099248: .4byte gUnknown_203B49C
-_0809924C: .4byte gUnknown_203B49D
-_08099250: .4byte gUnknown_20398C4
-_08099254: .4byte gUnknown_20398C8
-_08099258:
- ldr r0, _08099270
- strb r2, [r0]
- ldr r0, _08099274
- strb r2, [r0]
- ldr r1, _08099278
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
-_0809926A:
- pop {r0}
- bx r0
- .align 2, 0
-_08099270: .4byte gUnknown_203B49C
-_08099274: .4byte gUnknown_203B49D
-_08099278: .4byte gUnknown_20398C4
- thumb_func_end sub_8099220
-
- thumb_func_start sub_809927C
-sub_809927C:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080992CC
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080992D0
- strb r1, [r0]
- ldr r1, _080992D4
- movs r0, 0x50
- strh r0, [r1]
- ldr r4, _080992D8
- strb r5, [r4]
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x50
- bl sub_80018D8
- ldrb r2, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- ldr r4, _080992DC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095494
- subs r4, 0x10
- movs r1, 0
- movs r0, 0x1
- strb r0, [r4, 0xB]
- strb r1, [r4, 0xC]
- strb r1, [r4, 0x4]
- strb r1, [r4, 0xD]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080992CC: .4byte gUnknown_203B49C
-_080992D0: .4byte gUnknown_203B49D
-_080992D4: .4byte gUnknown_20398C4
-_080992D8: .4byte gUnknown_2039950
-_080992DC: .4byte gUnknown_20398D8
- thumb_func_end sub_809927C
-
- thumb_func_start sub_80992E0
-sub_80992E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08099316
- cmp r1, 0x50
- beq _08099316
- cmp r1, 0x51
- beq _08099316
- cmp r1, 0x52
- beq _08099316
- strh r1, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strh r0, [r5]
- movs r0, 0x1
- b _08099322
-_08099316:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r4]
- strh r0, [r5]
- movs r0, 0
-_08099322:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80992E0
-
- thumb_func_start sub_8099328
-sub_8099328:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _08099358
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- cmp r0, 0x3E
- bhi _08099358
- strb r0, [r4]
- movs r0, 0x1
- b _0809935A
-_08099358:
- movs r0, 0
-_0809935A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099328
-
- thumb_func_start sub_8099360
-sub_8099360:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x52
- beq _08099378
- movs r0, 0
- b _0809938E
-_08099378:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- strb r0, [r4]
- movs r0, 0x1
-_0809938E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099360
-
- thumb_func_start sub_8099394
-sub_8099394:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x50
- beq _080993AC
- movs r0, 0
- b _080993B8
-_080993AC:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strb r0, [r4]
- movs r0, 0x1
-_080993B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099394
-
- thumb_func_start sub_80993C0
-sub_80993C0:
- push {lr}
- lsls r0, 24
- ldr r2, _080993D4
- movs r1, 0
- cmp r0, 0
- bne _080993CE
- movs r1, 0x1
-_080993CE:
- strb r1, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080993D4: .4byte gUnknown_20398B8
- thumb_func_end sub_80993C0
-
- thumb_func_start sub_80993D8
-sub_80993D8:
- push {lr}
- bl sub_80A4B38
- pop {r0}
- bx r0
- thumb_func_end sub_80993D8
-
- thumb_func_start sub_80993E4
-sub_80993E4:
- push {lr}
- bl sub_80A4B54
- pop {r0}
- bx r0
- thumb_func_end sub_80993E4
-
- thumb_func_start sub_80993F0
-sub_80993F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- mov r10, r0
- bl sub_801180C
- movs r0, 0x10
- bl sub_80118C4
- ldr r1, _0809948C
- ldr r2, _08099490
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl xxx_update_some_bg_tiles
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_8099648
- bl sub_809975C
- bl sub_809D0AC
- bl sub_8014144
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80A4A7C
- mov r7, sp
- add r0, sp, 0x8
- mov r8, r0
-_08099454:
- bl sub_801D9E4
- lsls r0, 24
- cmp r0, 0
- beq _0809949C
- mov r0, r10
- bl sub_801DA58
-_08099464:
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- movs r0, 0
- bl sub_8012A18
- bl sub_801DA78
- cmp r0, 0x2
- beq _08099494
- cmp r0, 0x3
- bne _08099464
- bl sub_801DAC0
- lsls r0, 16
- asrs r0, 16
- mov r10, r0
- b _080994A2
- .align 2, 0
-_0809948C: .4byte gUnknown_2026E4E
-_08099490: .4byte 0x00000808
-_08099494:
- movs r1, 0x1
- negs r1, r1
- mov r10, r1
- b _080994A2
-_0809949C:
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
-_080994A2:
- bl sub_801DB0C
- movs r0, 0x1
- negs r0, r0
- cmp r10, r0
- bne _080994B0
- b _08099624
-_080994B0:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_80A4AEC
- bl sub_809D0BC
- mov r0, r10
- bl GroundMap_Select
- mov r0, sp
- mov r1, r8
- bl sub_80A579C
- ldr r0, [r7, 0x4]
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r7, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, [sp]
- ldr r1, _08099520
- adds r0, r1
- str r0, [sp]
- ldr r0, [r7, 0x4]
- adds r0, r1
- str r0, [r7, 0x4]
- ldr r0, [sp, 0x8]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [r0, 0x4]
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r2, [sp, 0x8]
- ldr r0, [sp]
- subs r0, r2, r0
- str r0, [sp, 0x20]
- ldr r0, [r7, 0x4]
- subs r0, r1, r0
- str r0, [sp, 0x24]
- movs r4, 0
- movs r5, 0
- movs r0, 0x4
- bl sub_80999E8
- mov r9, r5
- b _08099604
- .align 2, 0
-_08099520: .4byte 0xfffffc00
-_08099524:
- ldr r0, _0809953C
- ldrh r1, [r0, 0x2]
- ldrh r6, [r0]
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- beq _08099540
- bl sub_80999FC
- movs r1, 0x1
- mov r9, r1
- b _080995AE
- .align 2, 0
-_0809953C: .4byte gUnknown_20255F0
-_08099540:
- adds r0, r6, 0
- bl sub_809CFE8
- lsls r0, 24
- asrs r1, r0, 24
- movs r2, 0x1
- negs r2, r2
- cmp r1, r2
- beq _0809959A
- add r0, sp, 0x10
- movs r2, 0x80
- lsls r2, 1
- bl sub_8002BB8
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- movs r0, 0x2
- ands r6, r0
- cmp r6, 0
- beq _0809956A
- movs r0, 0x4
-_0809956A:
- adds r1, r0, 0
- muls r1, r2
- adds r1, r4
- adds r4, r1, 0
- muls r0, r3
- adds r5, r0
- cmp r1, 0
- bge _0809957E
- movs r4, 0
- b _08099588
-_0809957E:
- ldr r0, [sp, 0x20]
- cmp r4, r0
- blt _08099588
- adds r4, r0, 0
- subs r4, 0x1
-_08099588:
- cmp r5, 0
- bge _08099590
- movs r5, 0
- b _0809959A
-_08099590:
- ldr r1, [sp, 0x24]
- cmp r5, r1
- blt _0809959A
- adds r5, r1, 0
- subs r5, 0x1
-_0809959A:
- ldr r0, [sp]
- adds r0, r4
- str r0, [sp, 0x18]
- ldr r0, [r7, 0x4]
- adds r0, r5
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0
- bl sub_809D158
-_080995AE:
- bl sub_809D25C
- bl sub_80A59DC
- bl xxx_draw_string_80144C4
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- ldr r0, _08099620
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl nullsub_8
- bl sub_8005180
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl xxx_call_update_bg_vram
- bl CopySpritesToOam
- bl sub_8005304
- bl sub_8099750
- bl sub_8009908
-_08099604:
- bl xxx_call_update_bg_sound_input
- movs r0, 0
- bl sub_8004D8C
- mov r2, r9
- cmp r2, 0
- beq _08099524
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _080995AE
- b _08099454
- .align 2, 0
-_08099620: .4byte gUnknown_203B46C
-_08099624:
- movs r0, 0x10
- bl sub_80118C4
- bl sub_80A4AC4
- bl sub_8099768
- bl nullsub_103
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80993F0
-
- thumb_func_start sub_8099648
-sub_8099648:
- push {lr}
- bl sub_8003600
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_8099648
-
- thumb_func_start nullsub_103
-nullsub_103:
- bx lr
- thumb_func_end nullsub_103
-
- thumb_func_start sub_809965C
-sub_809965C:
- push {r4,lr}
- movs r0, 0
- bl sub_8099690
- ldr r0, _08099688
- ldr r1, _0809968C
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- movs r0, 0xF8
- lsls r0, 1
- ldr r1, [r4, 0x4]
- movs r2, 0x10
- bl sub_800388C
- adds r0, r4, 0
- bl CloseFile
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099688: .4byte gUnknown_811601C
-_0809968C: .4byte gUnknown_8300500
- thumb_func_end sub_809965C
-
- thumb_func_start sub_8099690
-sub_8099690:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _080996BC
- ldr r1, _080996C0
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- cmp r4, 0x1
- beq _080996CC
- cmp r4, 0x2
- beq _080996D4
- ldr r0, _080996C4
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- ldr r4, _080996C8
- cmp r0, 0
- beq _080996D6
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- b _080996D6
- .align 2, 0
-_080996BC: .4byte gUnknown_8116028
-_080996C0: .4byte gUnknown_8300500
-_080996C4: .4byte gUnknown_203B46C
-_080996C8: .4byte gUnknown_202D078
-_080996CC:
- ldr r4, _080996D0
- b _080996D6
- .align 2, 0
-_080996D0: .4byte gUnknown_202D1B8
-_080996D4:
- ldr r4, _08099704
-_080996D6:
- movs r0, 0xF0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_800388C
- adds r5, r4, 0
- movs r4, 0
-_080996E4:
- adds r0, r4, 0
- adds r0, 0xF0
- adds r1, r5, 0
- adds r5, 0x4
- bl nullsub_5
- adds r4, 0x1
- cmp r4, 0xF
- ble _080996E4
- adds r0, r6, 0
- bl CloseFile
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08099704: .4byte gUnknown_202D1F8
- thumb_func_end sub_8099690
-
- thumb_func_start sub_8099708
-sub_8099708:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r0, 16
- bl sub_8003810
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8099708
-
- thumb_func_start sub_809971C
-sub_809971C:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r2, 0
- ble _0809973E
- adds r4, r2, 0
-_0809972A:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldm r6!, {r1}
- bl sub_8003810
- subs r4, 0x1
- cmp r4, 0
- bne _0809972A
-_0809973E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809971C
-
- thumb_func_start sub_8099744
-sub_8099744:
- push {lr}
- bl sub_80039B8
- pop {r0}
- bx r0
- thumb_func_end sub_8099744
-
- thumb_func_start sub_8099750
-sub_8099750:
- push {lr}
- bl TransferBGPaletteBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8099750
-
- thumb_func_start sub_809975C
-sub_809975C:
- push {lr}
- bl sub_809977C
- pop {r0}
- bx r0
- thumb_func_end sub_809975C
-
- thumb_func_start sub_8099768
-sub_8099768:
- push {lr}
- bl sub_809977C
- bl sub_8099744
- bl sub_8099750
- pop {r0}
- bx r0
- thumb_func_end sub_8099768
-
- thumb_func_start sub_809977C
-sub_809977C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r1, _080997DC
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080997E0
- movs r0, 0
- strh r0, [r1]
- ldr r6, _080997E4
- adds r0, r6, 0
- bl sub_8099838
- ldr r0, _080997E8
- mov r8, r0
- bl sub_8099838
- ldr r4, _080997EC
- adds r0, r4, 0
- bl sub_8099838
- subs r4, 0x8
- movs r0, 0
- str r0, [r4]
- movs r5, 0x80
- lsls r5, 1
- strh r5, [r4, 0x14]
- strh r0, [r6, 0xC]
- bl sub_8099DD0
- mov r0, r8
- strh r5, [r0, 0xC]
- adds r0, r5, 0
- bl sub_8099E58
- ldr r1, _080997F0
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x40
-_080997CA:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080997CA
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080997DC: .4byte gUnknown_2039990
-_080997E0: .4byte gUnknown_2039992
-_080997E4: .4byte gUnknown_2039958
-_080997E8: .4byte gUnknown_2039968
-_080997EC: .4byte gUnknown_2039980
-_080997F0: .4byte gUnknown_2039998
- thumb_func_end sub_809977C
-
- thumb_func_start sub_80997F4
-sub_80997F4:
- push {lr}
- lsls r0, 16
- ldr r2, _08099818
- lsrs r0, 15
- adds r0, r2
- strh r1, [r0]
- ldr r0, _0809981C
- bl sub_8099848
- ldr r0, _08099820
- bl sub_8099848
- ldr r0, _08099824
- bl sub_8099848
- pop {r0}
- bx r0
- .align 2, 0
-_08099818: .4byte gUnknown_2039998
-_0809981C: .4byte gUnknown_2039958
-_08099820: .4byte gUnknown_2039968
-_08099824: .4byte gUnknown_2039980
- thumb_func_end sub_80997F4
-
- thumb_func_start sub_8099828
-sub_8099828:
- lsls r0, 16
- ldr r1, _08099834
- lsrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_08099834: .4byte gUnknown_2039998
- thumb_func_end sub_8099828
-
- thumb_func_start sub_8099838
-sub_8099838:
- movs r1, 0x1
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0xC]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- bx lr
- thumb_func_end sub_8099838
-
- thumb_func_start sub_8099848
-sub_8099848:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1]
- cmp r0, 0
- bne _08099856
- movs r0, 0x1
- str r0, [r1]
-_08099856:
- pop {r0}
- bx r0
- thumb_func_end sub_8099848
-
- thumb_func_start sub_809985C
-sub_809985C:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099872
- cmp r1, 0
- bne _08099874
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r2, 0xC]
- movs r0, 0x1
- b _08099876
-_08099872:
- movs r1, 0x1E
-_08099874:
- movs r0, 0x2
-_08099876:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_809985C
-
- thumb_func_start sub_8099880
-sub_8099880:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099892
- cmp r1, 0
- bne _08099894
- strh r1, [r2, 0xC]
- movs r0, 0x1
- b _08099896
-_08099892:
- movs r1, 0x1E
-_08099894:
- movs r0, 0x3
-_08099896:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_8099880
-
- thumb_func_start sub_80998A0
-sub_80998A0:
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r1, 0
- bge _080998B2
- movs r1, 0x1E
-_080998B2:
- cmp r2, r3
- bls _080998BE
- movs r0, 0x5
- str r0, [r4]
- subs r0, r2, r3
- b _080998D0
-_080998BE:
- cmp r2, r3
- bcs _080998CA
- movs r0, 0x4
- str r0, [r4]
- subs r0, r3, r2
- b _080998D0
-_080998CA:
- movs r0, 0x1
- str r0, [r4]
- movs r0, 0
-_080998D0:
- strh r0, [r4, 0xA]
- strh r1, [r4, 0x4]
- strh r1, [r4, 0x6]
- strh r2, [r4, 0xC]
- strh r3, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80998A0
-
- thumb_func_start sub_80998E0
-sub_80998E0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4]
- cmp r0, 0x5
- bhi _080999CA
- lsls r0, 2
- ldr r1, _080998F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080998F4: .4byte _080998F8
- .align 2, 0
-_080998F8:
- .4byte _080999CA
- .4byte _080999C2
- .4byte _08099910
- .4byte _08099946
- .4byte _08099976
- .4byte _0809999A
-_08099910:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099940
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bcs _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099940:
- movs r0, 0x80
- lsls r0, 1
- b _080999C0
-_08099946:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099970
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bls _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099970:
- strh r1, [r4, 0xC]
- str r1, [r4]
- b _080999C6
-_08099976:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- subs r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_0809999A:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- adds r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_080999BE:
- ldrh r0, [r4, 0x8]
-_080999C0:
- strh r0, [r4, 0xC]
-_080999C2:
- movs r0, 0
- str r0, [r4]
-_080999C6:
- movs r0, 0x1
- b _080999CC
-_080999CA:
- movs r0, 0
-_080999CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80998E0
-
- thumb_func_start sub_80999D4
-sub_80999D4:
- ldr r2, _080999E0
- movs r1, 0x1
- strb r1, [r2]
- ldr r1, _080999E4
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080999E0: .4byte gUnknown_2039990
-_080999E4: .4byte gUnknown_2039992
- thumb_func_end sub_80999D4
-
- thumb_func_start sub_80999E8
-sub_80999E8:
- push {lr}
- adds r1, r0, 0
- ldr r0, _080999F8
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_080999F8: .4byte gUnknown_2039958
- thumb_func_end sub_80999E8
-
- thumb_func_start sub_80999FC
-sub_80999FC:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A0C
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A0C: .4byte gUnknown_2039958
- thumb_func_end sub_80999FC
-
- thumb_func_start sub_8099A10
-sub_8099A10:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _08099A30
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80998A0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099A30: .4byte gUnknown_2039958
- thumb_func_end sub_8099A10
-
- thumb_func_start sub_8099A34
-sub_8099A34:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A44
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_08099A44: .4byte gUnknown_2039968
- thumb_func_end sub_8099A34
-
- thumb_func_start sub_8099A48
-sub_8099A48:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A58
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A58: .4byte gUnknown_2039968
- thumb_func_end sub_8099A48
-
- thumb_func_start sub_8099A5C
-sub_8099A5C:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099A88
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_809985C
- subs r0, r4, 0x1
- cmp r0, 0xD
- bhi _08099AF0
- lsls r0, 2
- ldr r1, _08099A8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099A88: .4byte gUnknown_2039978
-_08099A8C: .4byte _08099A90
- .align 2, 0
-_08099A90:
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AE8
-_08099AC8:
- ldr r0, _08099AD8
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0xC]
- ldr r0, _08099ADC
- strh r1, [r0, 0xC]
- b _08099AF0
- .align 2, 0
-_08099AD8: .4byte gUnknown_2039968
-_08099ADC: .4byte gUnknown_2039958
-_08099AE0:
- ldr r1, _08099AE4
- b _08099AEA
- .align 2, 0
-_08099AE4: .4byte gUnknown_2039968
-_08099AE8:
- ldr r1, _08099AF8
-_08099AEA:
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1, 0xC]
-_08099AF0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099AF8: .4byte gUnknown_2039958
- thumb_func_end sub_8099A5C
-
- thumb_func_start sub_8099AFC
-sub_8099AFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099B28
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_8099880
- subs r0, r4, 0x2
- cmp r0, 0xC
- bhi _08099B86
- lsls r0, 2
- ldr r1, _08099B2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099B28: .4byte gUnknown_2039978
-_08099B2C: .4byte _08099B30
- .align 2, 0
-_08099B30:
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B80
- .4byte _08099B80
-_08099B64:
- ldr r0, _08099B70
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _08099B74
- strh r1, [r0, 0xC]
- b _08099B86
- .align 2, 0
-_08099B70: .4byte gUnknown_2039968
-_08099B74: .4byte gUnknown_2039958
-_08099B78:
- ldr r1, _08099B7C
- b _08099B82
- .align 2, 0
-_08099B7C: .4byte gUnknown_2039968
-_08099B80:
- ldr r1, _08099B90
-_08099B82:
- movs r0, 0
- strh r0, [r1, 0xC]
-_08099B86:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099B90: .4byte gUnknown_2039958
- thumb_func_end sub_8099AFC
-
- thumb_func_start sub_8099B94
-sub_8099B94:
- push {lr}
- ldr r0, _08099BA4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099BA8
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BA4: .4byte gUnknown_2039990
-_08099BA8:
- ldr r1, _08099BBC
- ldr r0, [r1]
- cmp r0, 0
- beq _08099BC0
- ldr r0, [r1, 0x8]
- cmp r0, 0
- beq _08099BD6
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BBC: .4byte gUnknown_2039978
-_08099BC0:
- movs r1, 0
- ldr r0, _08099BDC
- ldr r0, [r0]
- cmp r0, 0
- bne _08099BD2
- ldr r0, _08099BE0
- ldr r0, [r0]
- cmp r0, 0
- beq _08099BD4
-_08099BD2:
- movs r1, 0x1
-_08099BD4:
- adds r0, r1, 0
-_08099BD6:
- pop {r1}
- bx r1
- .align 2, 0
-_08099BDC: .4byte gUnknown_2039958
-_08099BE0: .4byte gUnknown_2039968
- thumb_func_end sub_8099B94
-
- thumb_func_start sub_8099BE4
-sub_8099BE4:
- push {r4,r5,lr}
- ldr r4, _08099C10
- ldr r0, [r4]
- cmp r0, 0
- bne _08099BF6
- ldr r0, [r4, 0x8]
- cmp r0, 0
- bne _08099BF6
- b _08099D08
-_08099BF6:
- adds r0, r4, 0
- adds r0, 0x8
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099C14
- ldrh r0, [r4, 0x14]
- ldr r1, [r4, 0x4]
- bl sub_8099E80
- b _08099DC0
- .align 2, 0
-_08099C10: .4byte gUnknown_2039978
-_08099C14:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _08099C1C
- b _08099DC0
-_08099C1C:
- ldr r0, [r4]
- cmp r0, 0xE
- bls _08099C24
- b _08099DC0
-_08099C24:
- lsls r0, 2
- ldr r1, _08099C30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099C30: .4byte _08099C34
- .align 2, 0
-_08099C34:
- .4byte _08099DC0
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099CD8
- .4byte _08099CD8
-_08099C70:
- ldr r0, _08099C80
- ldrh r1, [r0, 0x14]
- adds r3, r0, 0
- cmp r1, 0xFF
- bls _08099C84
- movs r0, 0
- str r0, [r3]
- b _08099DC0
- .align 2, 0
-_08099C80: .4byte gUnknown_2039978
-_08099C84:
- ldr r0, _08099CA0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08099C8E
- b _08099DC0
-_08099C8E:
- movs r2, 0
- ldr r0, [r3]
- cmp r0, 0x3
- beq _08099CB2
- cmp r0, 0x3
- bhi _08099CA4
- cmp r0, 0x1
- beq _08099CAE
- b _08099CBC
- .align 2, 0
-_08099CA0: .4byte gUnknown_2039990
-_08099CA4:
- cmp r0, 0x5
- beq _08099CB6
- cmp r0, 0x7
- beq _08099CBA
- b _08099CBC
-_08099CAE:
- movs r2, 0x2
- b _08099CC0
-_08099CB2:
- movs r2, 0x4
- b _08099CC0
-_08099CB6:
- movs r2, 0x6
- b _08099CC0
-_08099CBA:
- movs r2, 0x8
-_08099CBC:
- cmp r2, 0
- beq _08099CD4
-_08099CC0:
- ldr r0, _08099CD0
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r0, r2, 0
- ldr r2, [r3, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099CD0: .4byte gUnknown_2039992
-_08099CD4:
- str r2, [r3]
- b _08099DC0
-_08099CD8:
- ldr r2, _08099CE4
- ldrh r0, [r2, 0x14]
- cmp r0, 0
- bne _08099CE8
- str r0, [r2]
- b _08099DC0
- .align 2, 0
-_08099CE4: .4byte gUnknown_2039978
-_08099CE8:
- ldr r0, _08099D00
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099DC0
- ldr r0, [r2]
- ldr r1, _08099D04
- movs r3, 0
- ldrsh r1, [r1, r3]
- ldr r2, [r2, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099D00: .4byte gUnknown_2039990
-_08099D04: .4byte gUnknown_2039992
-_08099D08:
- ldr r0, _08099D88
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099D98
- movs r5, 0x1
- ldr r4, _08099D8C
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D20
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D46
-_08099D20:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D34
- ldr r0, _08099D90
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8099880
-_08099D34:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D46
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099D46:
- ldr r4, _08099D94
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D54
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D7A
-_08099D54:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D68
- ldr r0, _08099D90
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r0, r4, 0
- bl sub_8099880
-_08099D68:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D7A
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099D7A:
- cmp r5, 0
- beq _08099DC0
- ldr r1, _08099D88
- movs r0, 0
- strb r0, [r1]
- b _08099DC0
- .align 2, 0
-_08099D88: .4byte gUnknown_2039990
-_08099D8C: .4byte gUnknown_2039958
-_08099D90: .4byte gUnknown_2039992
-_08099D94: .4byte gUnknown_2039968
-_08099D98:
- ldr r4, _08099DC8
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DAC
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099DAC:
- ldr r4, _08099DCC
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DC0
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099DC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099DC8: .4byte gUnknown_2039958
-_08099DCC: .4byte gUnknown_2039968
- thumb_func_end sub_8099BE4
-
- thumb_func_start sub_8099DD0
-sub_8099DD0:
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r4, 0
- ldr r6, _08099DF4
- movs r5, 0xD
-_08099DDC:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099DF8
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E00
- .align 2, 0
-_08099DF4: .4byte gUnknown_2039998
-_08099DF8:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E00:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099DDC
- ldr r0, _08099E30
- movs r4, 0x80
- lsls r4, 13
- adds r6, r0, 0
- adds r6, 0x20
- movs r5, 0xE
-_08099E1A:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099E34
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E3C
- .align 2, 0
-_08099E30: .4byte gUnknown_2039998
-_08099E34:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E3C:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099E1A
- movs r0, 0x20
- adds r1, r7, 0
- bl sub_8003664
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099DD0
-
- thumb_func_start sub_8099E58
-sub_8099E58:
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xF
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0xE
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0x1F
- adds r1, r4, 0
- bl sub_8003664
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E58
-
- thumb_func_start sub_8099E80
-sub_8099E80:
- push {r4-r7,lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _08099EA0
- ldr r1, [r0]
- adds r2, r0, 0
- cmp r1, 0xE
- bls _08099E96
- b _0809A558
-_08099E96:
- lsls r0, r1, 2
- ldr r1, _08099EA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099EA0: .4byte gUnknown_2039978
-_08099EA4: .4byte _08099EA8
- .align 2, 0
-_08099EA8:
- .4byte _0809A558
- .4byte _08099EE4
- .4byte _0809A05A
- .4byte _0809A1D2
- .4byte _0809A34A
- .4byte _08099FDE
- .4byte _0809A156
- .4byte _0809A2CE
- .4byte _0809A4BC
- .4byte _08099F5E
- .4byte _0809A0D6
- .4byte _0809A24E
- .4byte _0809A3EA
- .4byte _0809A48A
- .4byte _0809A48A
-_08099EE4:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099F00
-_08099EEA:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F04
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F0E
- .align 2, 0
-_08099F00: .4byte gUnknown_2039998
-_08099F04:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F0E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099EEA
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _08099F40
- adds r7, r0, 0
- adds r7, 0x20
-_08099F28:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F44
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F4E
- .align 2, 0
-_08099F40: .4byte gUnknown_2039998
-_08099F44:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F4E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099F28
- b _0809A558
-_08099F5E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _08099F80
- adds r7, r0, 0
- adds r7, 0x1C
-_08099F6A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F84
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F8E
- .align 2, 0
-_08099F80: .4byte gUnknown_2039998
-_08099F84:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F8E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099F6A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _08099FC0
- adds r7, r0, 0
- adds r7, 0x3E
-_08099FA8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099FC4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099FCE
- .align 2, 0
-_08099FC0: .4byte gUnknown_2039998
-_08099FC4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099FCE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099FA8
- b _0809A558
-_08099FDE:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099FFC
-_08099FE4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A000
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A00A
- .align 2, 0
-_08099FFC: .4byte gUnknown_2039998
-_0809A000:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A00A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _08099FE4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A03C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A024:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A040
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A04A
- .align 2, 0
-_0809A03C: .4byte gUnknown_2039998
-_0809A040:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A04A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A024
- b _0809A558
-_0809A05A:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A078
-_0809A060:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A07C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A086
- .align 2, 0
-_0809A078: .4byte gUnknown_2039998
-_0809A07C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A086:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A060
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A0B8
- adds r7, r0, 0
- adds r7, 0x20
-_0809A0A0:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0BC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A0C6
- .align 2, 0
-_0809A0B8: .4byte gUnknown_2039998
-_0809A0BC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A0C6:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A0A0
- b _0809A558
-_0809A0D6:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A0F8
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A0E2:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0FC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A106
- .align 2, 0
-_0809A0F8: .4byte gUnknown_2039998
-_0809A0FC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A106:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A0E2
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A138
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A120:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A13C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A146
- .align 2, 0
-_0809A138: .4byte gUnknown_2039998
-_0809A13C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A146:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A120
- b _0809A558
-_0809A156:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A174
-_0809A15C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A178
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A182
- .align 2, 0
-_0809A174: .4byte gUnknown_2039998
-_0809A178:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A182:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A15C
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A1B4
- adds r7, r0, 0
- adds r7, 0x20
-_0809A19C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1B8
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1C2
- .align 2, 0
-_0809A1B4: .4byte gUnknown_2039998
-_0809A1B8:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A1C2:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A19C
- b _0809A558
-_0809A1D2:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A1F0
-_0809A1D8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1F4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1FE
- .align 2, 0
-_0809A1F0: .4byte gUnknown_2039998
-_0809A1F4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A1FE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A1D8
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A230
- adds r7, r0, 0
- adds r7, 0x20
-_0809A218:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A234
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A23E
- .align 2, 0
-_0809A230: .4byte gUnknown_2039998
-_0809A234:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A23E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A218
- b _0809A558
-_0809A24E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A270
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A25A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A274
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A27E
- .align 2, 0
-_0809A270: .4byte gUnknown_2039998
-_0809A274:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A27E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A25A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A2B0
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A298:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2B4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2BE
- .align 2, 0
-_0809A2B0: .4byte gUnknown_2039998
-_0809A2B4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2BE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A298
- b _0809A558
-_0809A2CE:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A2EC
-_0809A2D4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2F0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2FA
- .align 2, 0
-_0809A2EC: .4byte gUnknown_2039998
-_0809A2F0:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2FA:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A2D4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A32C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A314:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A330
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A33A
- .align 2, 0
-_0809A32C: .4byte gUnknown_2039998
-_0809A330:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A33A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A314
- b _0809A558
-_0809A34A:
- movs r4, 0
- movs r5, 0
-_0809A34E:
- ldr r0, _0809A36C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A370
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A38C
- .align 2, 0
-_0809A36C: .4byte gUnknown_2039998
-_0809A370:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A382
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A38C
-_0809A382:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A38C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A34E
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A39E:
- ldr r0, _0809A3BC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A3C0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A3DC
- .align 2, 0
-_0809A3BC: .4byte gUnknown_2039998
-_0809A3C0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A3D2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A3DC
-_0809A3D2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A3DC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A39E
- b _0809A558
-_0809A3EA:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
-_0809A3F0:
- ldr r0, _0809A40C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A410
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A42C
- .align 2, 0
-_0809A40C: .4byte gUnknown_2039998
-_0809A410:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A422
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A42C
-_0809A422:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A42C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A3F0
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
-_0809A43E:
- ldr r0, _0809A45C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A460
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A47C
- .align 2, 0
-_0809A45C: .4byte gUnknown_2039998
-_0809A460:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A472
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A47C
-_0809A472:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A47C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A43E
- b _0809A558
-_0809A48A:
- ldr r0, [r2]
- cmp r0, 0xD
- beq _0809A496
- cmp r0, 0xE
- beq _0809A4AA
- b _0809A4BC
-_0809A496:
- mov r0, sp
- movs r1, 0x90
- strb r1, [r0]
- strb r1, [r0, 0x1]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x2]
- movs r0, 0x1
- negs r0, r0
- b _0809A4BA
-_0809A4AA:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0xC0
- strb r0, [r1, 0x1]
- movs r0, 0x80
- strb r0, [r1, 0x2]
- subs r0, 0x81
-_0809A4BA:
- strb r0, [r1, 0x3]
-_0809A4BC:
- movs r4, 0
- movs r5, 0
-_0809A4C0:
- ldr r0, _0809A4DC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A4E0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A4FC
- .align 2, 0
-_0809A4DC: .4byte gUnknown_2039998
-_0809A4E0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A4F2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A4FC
-_0809A4F2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A4FC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A4C0
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A50E:
- ldr r0, _0809A52C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A530
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A54C
- .align 2, 0
-_0809A52C: .4byte gUnknown_2039998
-_0809A530:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A542
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A54C
-_0809A542:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A54C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A50E
-_0809A558:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E80
-
- thumb_func_start sub_809A560
-sub_809A560:
- push {r4-r6,lr}
- bl sub_8014144
- ldr r6, _0809A5F4
- movs r0, 0xB5
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r6]
- movs r4, 0
- str r4, [r0]
- movs r5, 0x1
- negs r5, r5
- str r5, [r0, 0x4]
- str r5, [r0, 0x8]
- ldr r0, _0809A5F8
- strh r4, [r0]
- ldr r0, _0809A5FC
- strh r4, [r0]
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809A600
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r5, [r1]
- ldr r1, _0809A604
- adds r0, r1
- str r5, [r0]
- bl sub_809A7EC
- ldr r0, [r6]
- ldr r2, _0809A608
- adds r0, r2
- ldr r1, _0809A60C
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A5F4: .4byte gUnknown_3001B64
-_0809A5F8: .4byte gUnknown_20399DC
-_0809A5FC: .4byte gUnknown_20399DE
-_0809A600: .4byte 0x00000414
-_0809A604: .4byte 0x00000434
-_0809A608: .4byte 0x000005a4
-_0809A60C: .4byte 0x0000ffff
- thumb_func_end sub_809A560
-
- thumb_func_start sub_809A610
-sub_809A610:
- push {r4,lr}
- bl sub_809A62C
- ldr r4, _0809A628
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A628: .4byte gUnknown_3001B64
- thumb_func_end sub_809A610
-
- thumb_func_start sub_809A62C
-sub_809A62C:
- push {r4,lr}
- ldr r0, _0809A670
- ldr r0, [r0]
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- ldr r0, _0809A674
- strh r2, [r0]
- ldr r0, _0809A678
- strh r2, [r0]
- movs r4, 0
-_0809A648:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_809A83C
- adds r4, 0x1
- cmp r4, 0x9
- ble _0809A648
- ldr r0, _0809A670
- ldr r0, [r0]
- ldr r1, _0809A67C
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A670: .4byte gUnknown_3001B64
-_0809A674: .4byte gUnknown_20399DC
-_0809A678: .4byte gUnknown_20399DE
-_0809A67C: .4byte 0x00000414
- thumb_func_end sub_809A62C
-
- thumb_func_start sub_809A680
-sub_809A680:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0x4
- bhi _0809A6C2
- lsls r0, r4, 2
- ldr r1, _0809A694
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A694: .4byte _0809A698
- .align 2, 0
-_0809A698:
- .4byte _0809A6AC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
-_0809A6AC:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0809A6D0
-_0809A6BC:
- bl sub_809B294
- b _0809A6D0
-_0809A6C2:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0809A6D0:
- ldr r0, _0809A6E0
- ldr r0, [r0]
- str r4, [r0]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A6E0: .4byte gUnknown_3001B64
- thumb_func_end sub_809A680
-
- thumb_func_start sub_809A6E4
-sub_809A6E4:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A6F4
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_0809A6F4: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6E4
-
- thumb_func_start sub_809A6F8
-sub_809A6F8:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A708
- ldrh r1, [r2]
- bics r1, r0
- strh r1, [r2]
- bx lr
- .align 2, 0
-_0809A708: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6F8
-
- thumb_func_start sub_809A70C
-sub_809A70C:
- ldr r0, _0809A714
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_0809A714: .4byte gUnknown_20399DC
- thumb_func_end sub_809A70C
-
- thumb_func_start nullsub_209
-nullsub_209:
- bx lr
- thumb_func_end nullsub_209
-
- thumb_func_start sub_809A71C
-sub_809A71C:
- push {lr}
- adds r1, r0, 0
- ldr r0, _0809A734
- ldr r0, [r0]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- adds r0, r1, 0
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A734: .4byte gUnknown_3001B64
- thumb_func_end sub_809A71C
-
- thumb_func_start sub_809A738
-sub_809A738:
- push {lr}
- ldr r2, _0809A74C
- ldr r2, [r2]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A74C: .4byte gUnknown_3001B64
- thumb_func_end sub_809A738
-
- thumb_func_start sub_809A750
-sub_809A750:
- push {lr}
- ldr r0, _0809A764
- ldr r0, [r0]
- adds r0, 0xC
- bl sub_809B40C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809A764: .4byte gUnknown_3001B64
- thumb_func_end sub_809A750
-
- thumb_func_start sub_809A768
-sub_809A768:
- movs r0, 0
- bx lr
- thumb_func_end sub_809A768
-
- thumb_func_start sub_809A76C
-sub_809A76C:
- push {lr}
- ldr r0, _0809A78C
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x1
- bcc _0809A7A4
- cmp r1, 0x2
- bls _0809A790
- cmp r1, 0x3
- bne _0809A7A4
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- b _0809A798
- .align 2, 0
-_0809A78C: .4byte gUnknown_3001B64
-_0809A790:
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x84
-_0809A798:
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7AE
-_0809A7A4:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7AE:
- pop {r1}
- bx r1
- thumb_func_end sub_809A76C
-
- thumb_func_start sub_809A7B4
-sub_809A7B4:
- push {lr}
- ldr r0, _0809A7D8
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809A7DC
- cmp r1, 0x1
- bcc _0809A7DC
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7E6
- .align 2, 0
-_0809A7D8: .4byte gUnknown_3001B64
-_0809A7DC:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7E6:
- pop {r1}
- bx r1
- thumb_func_end sub_809A7B4
-
- thumb_func_start sub_809A7EC
-sub_809A7EC:
- push {r4-r6,lr}
- ldr r0, _0809A830
- ldr r0, [r0]
- ldr r2, _0809A834
- adds r1, r0, r2
- ldr r0, _0809A838
- adds r6, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x9
- movs r5, 0xFF
-_0809A802:
- ldrh r0, [r1]
- orrs r0, r6
- strh r0, [r1]
- strh r2, [r1, 0x2]
- strb r3, [r1, 0x4]
- strb r3, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- orrs r0, r5
- strb r0, [r1, 0x6]
- strb r3, [r1, 0x7]
- str r2, [r1, 0x8]
- str r2, [r1, 0xC]
- str r2, [r1, 0x10]
- str r2, [r1, 0x14]
- strb r3, [r1, 0x1C]
- str r2, [r1, 0x20]
- subs r4, 0x1
- adds r1, 0x24
- cmp r4, 0
- bge _0809A802
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A830: .4byte gUnknown_3001B64
-_0809A834: .4byte 0x0000043c
-_0809A838: .4byte 0x0000ffff
- thumb_func_end sub_809A7EC
-
- thumb_func_start sub_809A83C
-sub_809A83C:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809A8A0
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r3, _0809A8A4
- adds r1, r3
- ldr r2, [r2]
- adds r6, r2, r1
- ldr r1, _0809A8A8
- strh r1, [r6]
- movs r2, 0
- movs r7, 0
- strh r7, [r6, 0x2]
- strb r2, [r6, 0x4]
- strb r2, [r6, 0x5]
- movs r1, 0xFF
- strb r1, [r6, 0x6]
- strb r2, [r6, 0x7]
- str r7, [r6, 0x8]
- str r7, [r6, 0xC]
- str r7, [r6, 0x10]
- str r7, [r6, 0x14]
- strb r2, [r6, 0x1C]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 4
- ldr r0, _0809A8AC
- adds r0, r4, r0
- ldr r5, _0809A8B0
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809A8B4
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- ldr r0, [r6, 0x20]
- cmp r0, 0
- beq _0809A89A
- bl CloseFile
- str r7, [r6, 0x20]
-_0809A89A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A8A0: .4byte gUnknown_3001B64
-_0809A8A4: .4byte 0x0000043c
-_0809A8A8: .4byte 0x0000ffff
-_0809A8AC: .4byte gUnknown_202DF98
-_0809A8B0: .4byte gUnknown_811615C
-_0809A8B4: .4byte gUnknown_202E2B8
- thumb_func_end sub_809A83C
-
- thumb_func_start sub_809A8B8
-sub_809A8B8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- mov r0, sp
- strh r1, [r0]
- ldr r1, _0809A928
- mov r2, r9
- lsls r0, r2, 3
- add r0, r9
- lsls r0, 2
- ldr r2, _0809A92C
- adds r0, r2
- ldr r1, [r1]
- adds r7, r1, r0
- movs r0, 0x1
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, [r7, 0x20]
- cmp r0, 0
- beq _0809A8F6
- bl CloseFile
- ldr r2, [sp, 0x4]
- str r2, [r7, 0x20]
-_0809A8F6:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A7DDC
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bhi _0809A9D6
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- adds r5, r0, 0
- cmp r5, 0
- bne _0809A930
- movs r2, 0
- mov r10, r2
- b _0809A9D6
- .align 2, 0
-_0809A928: .4byte gUnknown_3001B64
-_0809A92C: .4byte 0x0000043c
-_0809A930:
- bl sub_808D3BC
- cmp r5, r0
- bne _0809A940
- mov r1, sp
- movs r0, 0x21
- strh r0, [r1]
- b _0809A9D6
-_0809A940:
- bl sub_808D3F8
- cmp r5, r0
- bne _0809A950
- mov r1, sp
- movs r0, 0x22
- strh r0, [r1]
- b _0809A9D6
-_0809A950:
- ldrb r0, [r5, 0x4]
- subs r0, 0x43
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _0809A990
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, _0809A978
- cmp r1, r0
- beq _0809A9D6
- cmp r1, r0
- ble _0809A97C
- adds r0, 0x16
- cmp r1, r0
- bgt _0809A98A
- subs r0, 0x1
- cmp r1, r0
- blt _0809A98A
- b _0809A9D6
- .align 2, 0
-_0809A978: .4byte 0x00000183
-_0809A97C:
- movs r0, 0x82
- lsls r0, 1
- cmp r1, r0
- beq _0809A9D6
- adds r0, 0x2F
- cmp r1, r0
- beq _0809A9D6
-_0809A98A:
- movs r1, 0
- mov r10, r1
- b _0809A9D6
-_0809A990:
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r0, 0x87
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9B0
- subs r0, 0x2
- cmp r1, r0
- bge _0809A9D6
- cmp r1, 0x90
- blt _0809A9D2
- cmp r1, 0x92
- ble _0809A9D6
- cmp r1, 0x96
- beq _0809A9D6
- b _0809A9D2
-_0809A9B0:
- movs r0, 0xCF
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9CC
- subs r0, 0x4
- cmp r1, r0
- bge _0809A9D6
- subs r0, 0x87
- cmp r1, r0
- bgt _0809A9D2
- subs r0, 0x1
- cmp r1, r0
- blt _0809A9D2
- b _0809A9D6
-_0809A9CC:
- ldr r0, _0809A9F0
- cmp r1, r0
- beq _0809A9D6
-_0809A9D2:
- movs r0, 0
- mov r10, r0
-_0809A9D6:
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x21
- bhi _0809AA98
- lsls r0, 2
- ldr r1, _0809A9F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A9F0: .4byte 0x000001a7
-_0809A9F4: .4byte _0809A9F8
- .align 2, 0
-_0809A9F8:
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
-_0809AA80:
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80A8CF0
- lsls r0, 24
- cmp r0, 0
- beq _0809AA94
- movs r2, 0x1
- str r2, [sp, 0x4]
- b _0809AA98
-_0809AA94:
- movs r0, 0
- mov r10, r0
-_0809AA98:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AB34
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A7AE8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _0809AACE
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- adds r0, r1, 0
- bl sub_80A8BFC
- strh r0, [r7, 0x2]
- b _0809AAE6
-_0809AACE:
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809AB34
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- strh r1, [r7, 0x2]
-_0809AAE6:
- mov r0, r9
- lsls r4, r0, 2
- add r4, r9
- lsls r4, 4
- ldr r0, _0809AB28
- adds r0, r4, r0
- ldr r5, _0809AB2C
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809AB30
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- mov r1, r10
- strb r1, [r7, 0x4]
- mov r2, sp
- ldrb r2, [r2, 0x4]
- strb r2, [r7, 0x5]
- movs r0, 0xFF
- strb r0, [r7, 0x6]
- mov r0, r8
- strb r0, [r7, 0x7]
- str r6, [r7, 0x8]
- str r6, [r7, 0xC]
- str r6, [r7, 0x10]
- str r6, [r7, 0x14]
- strb r0, [r7, 0x1C]
- movs r0, 0x1
- b _0809AB3C
- .align 2, 0
-_0809AB28: .4byte gUnknown_202DF98
-_0809AB2C: .4byte gUnknown_811616C
-_0809AB30: .4byte gUnknown_202E2B8
-_0809AB34:
- mov r0, r9
- bl sub_809A83C
- movs r0, 0
-_0809AB3C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809A8B8
-
- thumb_func_start sub_809AB4C
-sub_809AB4C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AB78
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AB7C
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AB80
- movs r0, 0
- b _0809ABA0
- .align 2, 0
-_0809AB78: .4byte gUnknown_3001B64
-_0809AB7C: .4byte 0x0000043c
-_0809AB80:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809ABA8
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809ABAC
- adds r4, r0
- ldr r1, _0809ABB0
- adds r0, r4, 0
- bl strcpy
- movs r0, 0x1
-_0809ABA0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ABA8: .4byte gUnknown_202DF98
-_0809ABAC: .4byte gUnknown_202E2B8
-_0809ABB0: .4byte gUnknown_811617C
- thumb_func_end sub_809AB4C
-
- thumb_func_start sub_809ABB4
-sub_809ABB4:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809ABE0
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809ABE4
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809ABE8
- movs r0, 0
- b _0809AC0A
- .align 2, 0
-_0809ABE0: .4byte gUnknown_3001B64
-_0809ABE4: .4byte 0x0000043c
-_0809ABE8:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r5, _0809AC10
- adds r5, r4, r5
- movs r0, 0x2
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_808D908
- ldr r0, _0809AC14
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- movs r0, 0x1
-_0809AC0A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC10: .4byte gUnknown_202DF98
-_0809AC14: .4byte gUnknown_202E2B8
- thumb_func_end sub_809ABB4
-
- thumb_func_start sub_809AC18
-sub_809AC18:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AC44
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AC48
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AC4C
- movs r0, 0
- b _0809AC6E
- .align 2, 0
-_0809AC44: .4byte gUnknown_3001B64
-_0809AC48: .4byte 0x0000043c
-_0809AC4C:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809AC74
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809AC78
- adds r4, r0
- movs r3, 0
- ldrsh r1, [r6, r3]
- adds r0, r4, 0
- bl sub_80A8EC0
- movs r0, 0x1
-_0809AC6E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC74: .4byte gUnknown_202DF98
-_0809AC78: .4byte gUnknown_202E2B8
- thumb_func_end sub_809AC18
-
- thumb_func_start sub_809AC7C
-sub_809AC7C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r2, _0809AD10
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AD14
- adds r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldr r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ACA8
- bl CloseFile
- movs r0, 0
- str r0, [r4, 0x20]
-_0809ACA8:
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bge _0809ACB2
- b _0809ADC0
-_0809ACB2:
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0809ACBC
- b _0809ADC0
-_0809ACBC:
- cmp r1, 0
- bne _0809ACC2
- b _0809ADC0
-_0809ACC2:
- cmp r6, 0x15
- beq _0809ACCE
- movs r0, 0
- strb r6, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_0809ACCE:
- ldr r2, _0809AD18
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- movs r6, 0
- movs r3, 0
- strh r0, [r4, 0x18]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r4, 0x1A]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- strb r0, [r4, 0x1D]
- strb r6, [r4, 0x1E]
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _0809AD1C
- strb r5, [r4, 0x6]
- str r3, [r4, 0x10]
- str r3, [r4, 0x14]
- strb r6, [r4, 0x1C]
- movs r0, 0
- b _0809ADD2
- .align 2, 0
-_0809AD10: .4byte gUnknown_3001B64
-_0809AD14: .4byte 0x0000043c
-_0809AD18: .4byte gUnknown_8116040
-_0809AD1C:
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0809ADC0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_808DD90
- str r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ADB6
- strb r5, [r4, 0x6]
- str r0, [r4, 0x10]
- movs r1, 0
- bl GetFileDataPtr
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x4D
- beq _0809AD62
- cmp r0, 0x4D
- bgt _0809AD4C
- cmp r0, 0x47
- beq _0809AD56
- b _0809ADA8
-_0809AD4C:
- cmp r0, 0x53
- beq _0809AD76
- cmp r0, 0x73
- beq _0809AD8A
- b _0809ADA8
-_0809AD56:
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x5
- bgt _0809ADA8
- adds r0, r5, 0x6
- b _0809AD9C
-_0809AD62:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x3
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x4
- b _0809AD9C
-_0809AD76:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x1
- b _0809AD9C
-_0809AD8A:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x1
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x2
-_0809AD9C:
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x40
- orrs r5, r0
- lsls r0, r5, 24
- asrs r5, r0, 24
-_0809ADA8:
- ldr r0, [r4, 0x20]
- ldr r0, [r0, 0x4]
- str r0, [r4, 0x14]
- movs r0, 0xF
- ands r5, r0
- strb r5, [r4, 0x1C]
- b _0809ADBC
-_0809ADB6:
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r6, [r4, 0x1C]
-_0809ADBC:
- movs r0, 0x1
- b _0809ADD2
-_0809ADC0:
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- movs r0, 0
- strb r0, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r0, [r4, 0x1C]
-_0809ADD2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AC7C
-
- thumb_func_start sub_809ADD8
-sub_809ADD8:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809AE28
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AE2C
- adds r1, r0
- ldr r0, [r2]
- adds r3, r0, r1
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0
- blt _0809AE34
- cmp r0, 0
- beq _0809AE34
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r3, 0x8]
- str r1, [r3, 0xC]
- ldr r2, _0809AE30
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r3, 0x18]
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r3, 0x1A]
- movs r0, 0x1
- b _0809AE36
- .align 2, 0
-_0809AE28: .4byte gUnknown_3001B64
-_0809AE2C: .4byte 0x0000043c
-_0809AE30: .4byte gUnknown_8116040
-_0809AE34:
- movs r0, 0
-_0809AE36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809ADD8
-
- thumb_func_start sub_809AE3C
-sub_809AE3C:
- push {r4,lr}
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _0809AE88
- ldr r1, _0809AE80
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r3, _0809AE84
- adds r0, r3
- ldr r1, [r1]
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809AE74
- movs r1, 0x6
- ldrsb r1, [r4, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809AE74
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0
- bl sub_809AC7C
-_0809AE74:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0809AE88
- adds r0, r4, 0
- adds r0, 0x10
- b _0809AE8A
- .align 2, 0
-_0809AE80: .4byte gUnknown_3001B64
-_0809AE84: .4byte 0x0000043c
-_0809AE88:
- movs r0, 0
-_0809AE8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE3C
-
- thumb_func_start sub_809AE90
-sub_809AE90:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- lsls r1, 16
- asrs r6, r1, 16
- cmp r4, 0
- bne _0809AEA4
- bl sub_809A76C
- b _0809AEE0
-_0809AEA4:
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AEDC
- ldr r1, _0809AED0
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809AED4
- ldr r0, [r0]
- adds r0, 0xC
- ldr r2, _0809AED8
- lsls r1, r5, 1
- adds r1, r2
- ldrh r1, [r1]
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AEE0
- .align 2, 0
-_0809AED0: .4byte gUnknown_8116134
-_0809AED4: .4byte gUnknown_3001B64
-_0809AED8: .4byte gUnknown_8116148
-_0809AEDC:
- bl sub_809A7B4
-_0809AEE0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE90
-
- thumb_func_start sub_809AEEC
-sub_809AEEC:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF1C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF1C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF18
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF20
- .align 2, 0
-_0809AF18: .4byte gUnknown_3001B64
-_0809AF1C:
- bl sub_809A76C
-_0809AF20:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AEEC
-
- thumb_func_start sub_809AF2C
-sub_809AF2C:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF5C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF5C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF58
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF60
- .align 2, 0
-_0809AF58: .4byte gUnknown_3001B64
-_0809AF5C:
- bl sub_809A76C
-_0809AF60:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF2C
-
- thumb_func_start sub_809AF6C
-sub_809AF6C:
- push {r4,lr}
- adds r4, r1, 0
- cmp r4, 0
- beq _0809AF9C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF9C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF98
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x65
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AFA0
- .align 2, 0
-_0809AF98: .4byte gUnknown_3001B64
-_0809AF9C:
- bl sub_809A76C
-_0809AFA0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF6C
-
- thumb_func_start sub_809AFAC
-sub_809AFAC:
- push {lr}
- movs r1, 0
- ldr r0, _0809AFC4
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bne _0809AFBC
- movs r1, 0x1
-_0809AFBC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809AFC4: .4byte gUnknown_3001B64
- thumb_func_end sub_809AFAC
-
- thumb_func_start sub_809AFC8
-sub_809AFC8:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r1, 0
- adds r1, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- asrs r1, 16
- ldr r4, _0809AFF8
- negs r2, r0
- orrs r2, r0
- lsrs r2, 31
- str r1, [sp]
- str r3, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- adds r3, r5, 0
- bl sub_809B028
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AFF8: .4byte gUnknown_81160E8
- thumb_func_end sub_809AFC8
-
- thumb_func_start sub_809AFFC
-sub_809AFFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- bl sub_809B18C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r4, 0
- beq _0809B01C
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bne _0809B01A
- movs r1, 0x1
-_0809B01A:
- strb r1, [r4]
-_0809B01C:
- adds r0, r2, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AFFC
-
- thumb_func_start sub_809B028
-sub_809B028:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- mov r8, r0
- adds r7, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, 16
- asrs r4, r0, 16
- ldr r1, _0809B084
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B088
- ldr r1, [r0]
- ldr r0, _0809B08C
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- ldr r2, _0809B090
- adds r0, r1, r2
- mov r2, r8
- str r2, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r1, r2
- movs r2, 0x2
- str r2, [r0]
- ldr r0, _0809B094
- adds r1, r0
- cmp r5, 0
- beq _0809B098
- str r2, [r1]
- b _0809B09A
- .align 2, 0
-_0809B084: .4byte gUnknown_8116134
-_0809B088: .4byte gUnknown_3001B64
-_0809B08C: .4byte 0x00000414
-_0809B090: .4byte 0x0000041c
-_0809B094: .4byte 0x00000424
-_0809B098:
- str r5, [r1]
-_0809B09A:
- ldr r0, _0809B0D4
- ldr r0, [r0]
- movs r1, 0x85
- lsls r1, 3
- adds r2, r0, r1
- movs r1, 0
- str r1, [r2]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r7, [r0]
- ldr r0, _0809B0D8
- lsls r2, r6, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _0809B0F6
- cmp r4, 0
- bge _0809B0E4
- ldr r0, _0809B0DC
- ldr r1, _0809B0E0
- bl strcpy
- b _0809B0F6
- .align 2, 0
-_0809B0D4: .4byte gUnknown_3001B64
-_0809B0D8: .4byte gUnknown_8116148
-_0809B0DC: .4byte gUnknown_202E5D8
-_0809B0E0: .4byte gUnknown_8116180
-_0809B0E4:
- ldr r0, _0809B134
- ldr r1, _0809B138
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 4
- ldr r3, _0809B13C
- adds r2, r3
- bl sub_800D158
-_0809B0F6:
- adds r0, r4, 0
- bl sub_809AE3C
- ldr r4, _0809B140
- movs r1, 0
- str r1, [sp]
- movs r3, 0x4
- str r3, [sp, 0x4]
- str r1, [sp, 0x8]
- str r0, [sp, 0xC]
- ldr r0, _0809B144
- adds r0, r5, r0
- ldrh r2, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0809B11C
- movs r1, 0xC
-_0809B11C:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0809B128
- orrs r1, r3
-_0809B128:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809B148
- movs r0, 0x21
- b _0809B14A
- .align 2, 0
-_0809B134: .4byte gUnknown_202E5D8
-_0809B138: .4byte gUnknown_8116188
-_0809B13C: .4byte gUnknown_202E2B8
-_0809B140: .4byte sub_809B428
-_0809B144: .4byte gUnknown_8116148
-_0809B148:
- movs r0, 0x1
-_0809B14A:
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- ldr r0, [sp, 0x30]
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8014248
- ldr r0, _0809B184
- ldr r0, [r0]
- ldr r1, _0809B188
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809B176
- movs r0, 0x1
- bl sub_809A6E4
-_0809B176:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B184: .4byte gUnknown_3001B64
-_0809B188: .4byte 0x00000424
- thumb_func_end sub_809B028
-
- thumb_func_start sub_809B18C
-sub_809B18C:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B1BC
- cmp r1, 0
- beq _0809B1A2
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B1A2:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B1B4
- movs r1, 0x1
-_0809B1B4:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B1BC: .4byte gUnknown_3001B64
- thumb_func_end sub_809B18C
-
- thumb_func_start sub_809B1C0
-sub_809B1C0:
- push {lr}
- adds r3, r2, 0
- movs r2, 0
- bl sub_809B1D4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809B1C0
-
- thumb_func_start sub_809B1D4
-sub_809B1D4:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- cmp r4, 0xB
- beq _0809B1E8
- cmp r4, 0xC
- beq _0809B1F0
- b _0809B202
-_0809B1E8:
- adds r0, r5, 0
- bl sub_8021700
- b _0809B1F8
-_0809B1F0:
- bl sub_8001D88
- bl sub_802FCF0
-_0809B1F8:
- lsls r0, 24
- cmp r0, 0
- beq _0809B202
- movs r0, 0
- b _0809B24C
-_0809B202:
- movs r0, 0x4
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B254
- ldr r1, [r0]
- ldr r2, _0809B258
- adds r0, r1, r2
- str r4, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r1, r3
- movs r2, 0
- str r2, [r0]
- adds r3, 0x4
- adds r0, r1, r3
- str r2, [r0]
- movs r0, 0x84
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- ldr r2, _0809B25C
- adds r0, r1, r2
- str r5, [r0]
- adds r3, 0xC
- adds r0, r1, r3
- str r6, [r0]
- adds r2, 0x8
- adds r0, r1, r2
- str r7, [r0]
- adds r3, 0x8
- adds r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- movs r0, 0x1
-_0809B24C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809B254: .4byte gUnknown_3001B64
-_0809B258: .4byte 0x00000414
-_0809B25C: .4byte 0x00000424
- thumb_func_end sub_809B1D4
-
- thumb_func_start sub_809B260
-sub_809B260:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B290
- cmp r1, 0
- beq _0809B276
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B276:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B288
- movs r1, 0x1
-_0809B288:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B290: .4byte gUnknown_3001B64
- thumb_func_end sub_809B260
-
- thumb_func_start sub_809B294
-sub_809B294:
- push {lr}
- movs r0, 0x3
- bl sub_80063D8
- ldr r0, _0809B2B4
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- movs r3, 0
- bl sub_809B2B8
- pop {r0}
- bx r0
- .align 2, 0
-_0809B2B4: .4byte gUnknown_3001B64
- thumb_func_end sub_809B294
-
- thumb_func_start sub_809B2B8
-sub_809B2B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r7, r3, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- strh r5, [r4]
- cmp r7, 0
- bne _0809B2F6
- cmp r5, 0
- bne _0809B2DE
- str r7, [r4, 0x4]
- movs r0, 0
- b _0809B3FC
-_0809B2DE:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- bne _0809B2E8
- b _0809B3FA
-_0809B2E8:
- bl sub_8014490
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B3FA
-_0809B2F6:
- movs r0, 0x1
- str r0, [r4, 0x4]
- adds r0, 0xFF
- ands r0, r5
- cmp r0, 0
- beq _0809B32A
- cmp r6, 0
- bge _0809B318
- ldr r0, _0809B310
- ldr r1, _0809B314
- bl strcpy
- b _0809B32A
- .align 2, 0
-_0809B310: .4byte gUnknown_202E5D8
-_0809B314: .4byte gUnknown_8116180
-_0809B318:
- ldr r0, _0809B3D0
- ldr r1, _0809B3D4
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 4
- ldr r3, _0809B3D8
- adds r2, r3
- bl sub_800D158
-_0809B32A:
- ldr r0, _0809B3DC
- mov r8, r0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B344
- adds r4, 0x8
- ldr r1, _0809B3E0
- adds r0, r4, 0
- adds r2, r7, 0
- bl sub_800D158
- adds r7, r4, 0
-_0809B344:
- adds r0, r6, 0
- bl sub_809AE3C
- ldr r1, _0809B3E4
- mov r9, r1
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- movs r2, 0
- str r2, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r6, 0x80
- lsls r6, 1
- adds r0, r5, 0
- ands r0, r6
- movs r1, 0
- cmp r0, 0
- beq _0809B370
- movs r1, 0xC
-_0809B370:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r5, 0
- ands r0, r4
- cmp r0, 0
- beq _0809B380
- movs r0, 0x4
- orrs r1, r0
-_0809B380:
- mov r0, r8
- ldr r3, [r0]
- ldr r2, [r3]
- cmp r2, 0x3
- bne _0809B38E
- movs r0, 0x10
- orrs r1, r0
-_0809B38E:
- cmp r2, 0x2
- bne _0809B396
- movs r0, 0x10
- orrs r1, r0
-_0809B396:
- adds r2, r1, 0
- movs r1, 0x20
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809B3A4
- orrs r2, r1
-_0809B3A4:
- lsrs r1, r5, 6
- movs r0, 0x1
- ands r1, r0
- orrs r1, r2
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- beq _0809B3B6
- orrs r1, r6
-_0809B3B6:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _0809B3C0
- orrs r1, r4
-_0809B3C0:
- ldr r0, [r3, 0x4]
- cmp r0, r12
- beq _0809B3E8
- movs r0, 0x2
- orrs r0, r1
- lsls r0, 16
- b _0809B3EA
- .align 2, 0
-_0809B3D0: .4byte gUnknown_202E5D8
-_0809B3D4: .4byte gUnknown_8116188
-_0809B3D8: .4byte gUnknown_202E2B8
-_0809B3DC: .4byte gUnknown_3001B64
-_0809B3E0: .4byte gUnknown_8116190
-_0809B3E4: .4byte sub_809B428
-_0809B3E8:
- lsls r0, r1, 16
-_0809B3EA:
- lsrs r0, 16
- str r0, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r9
- mov r2, r12
- movs r3, 0
- bl sub_8014248
-_0809B3FA:
- movs r0, 0x1
-_0809B3FC:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809B2B8
-
- thumb_func_start sub_809B40C
-sub_809B40C:
- push {lr}
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _0809B41C
- cmp r0, 0x3
- bhi _0809B420
- cmp r0, 0x2
- bcc _0809B420
-_0809B41C:
- movs r0, 0
- b _0809B422
-_0809B420:
- movs r0, 0x1
-_0809B422:
- pop {r1}
- bx r1
- thumb_func_end sub_809B40C
-
- thumb_func_start sub_809B428
-sub_809B428:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- ldrb r0, [r5, 0x2]
- cmp r0, 0x4F
- beq _0809B44C
- cmp r0, 0x4F
- bgt _0809B43E
- cmp r0, 0x49
- beq _0809B444
- b _0809B46A
-_0809B43E:
- cmp r0, 0x57
- beq _0809B454
- b _0809B46A
-_0809B444:
- movs r0, 0x1E
- bl sub_8099A34
- b _0809B462
-_0809B44C:
- movs r0, 0x1E
- bl sub_8099A48
- b _0809B462
-_0809B454:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809B462
- adds r0, r5, 0
- b _0809B46C
-_0809B462:
- adds r1, r4, 0
- adds r1, 0x21
- movs r0, 0x1
- strb r0, [r1]
-_0809B46A:
- movs r0, 0
-_0809B46C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B428
-
- thumb_func_start sub_809B474
-sub_809B474:
- push {r4-r6,lr}
- ldr r0, _0809B498
- ldr r1, [r0]
- ldr r2, [r1]
- adds r6, r0, 0
- cmp r2, 0x3
- bls _0809B56E
- cmp r2, 0x4
- bne _0809B56E
- movs r5, 0x84
- lsls r5, 3
- adds r0, r1, r5
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B49C
- cmp r0, 0x2
- beq _0809B508
- b _0809B56E
- .align 2, 0
-_0809B498: .4byte gUnknown_3001B64
-_0809B49C:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B4B0
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- str r1, [r0]
- b _0809B4E8
-_0809B4B0:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B4F8
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0809B4F2
- bl sub_809B294
- ldr r0, [r4, 0x4]
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _0809B4F2
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r2]
- adds r1, r5
- movs r0, 0x3
- str r0, [r1]
-_0809B4E8:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B56E
-_0809B4F2:
- ldrh r0, [r4]
- bl sub_809A6E4
-_0809B4F8:
- ldr r0, _0809B534
- ldr r1, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- movs r2, 0x2
- str r2, [r1]
- adds r6, r0, 0
-_0809B508:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B54E
- ldr r0, [r4, 0xC]
- bl _call_via_r0
- adds r2, r0, 0
- cmp r2, 0x1
- bls _0809B56E
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r1, r0, r3
- cmp r2, 0x2
- bne _0809B538
- movs r0, 0x1
- negs r0, r0
- b _0809B53A
- .align 2, 0
-_0809B534: .4byte gUnknown_3001B64
-_0809B538:
- movs r0, 0
-_0809B53A:
- str r0, [r1]
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0809B546
- bl _call_via_r0
-_0809B546:
- ldrh r0, [r4]
- bl sub_809A6F8
- b _0809B558
-_0809B54E:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B56E
-_0809B558:
- ldr r0, _0809B578
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- movs r1, 0x3
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
-_0809B56E:
- bl sub_809B57C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B578: .4byte gUnknown_3001B64
- thumb_func_end sub_809B474
-
- thumb_func_start sub_809B57C
-sub_809B57C:
- push {r4,r5,lr}
- sub sp, 0x8
- bl xxx_draw_string_80144C4
- ldr r5, _0809B5C8
- ldr r0, [r5]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809B5E4
- cmp r1, 0x1
- bcc _0809B5E4
- movs r4, 0x84
- lsls r4, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B5CC
- cmp r0, 0x3
- beq _0809B5CC
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0809B5E4
- ldr r1, [sp]
- movs r0, 0x1
- bl sub_809D9E0
- ldr r1, [r5]
- adds r2, r1, r4
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
- ldr r0, [sp]
- str r0, [r1]
- b _0809B5E4
- .align 2, 0
-_0809B5C8: .4byte gUnknown_3001B64
-_0809B5CC:
- add r0, sp, 0x4
- bl sub_80144A4
- adds r4, r0, 0
- cmp r4, 0
- bne _0809B5E4
- movs r0, 0
- bl sub_809D9B8
- ldr r0, _0809B5FC
- ldr r0, [r0]
- str r4, [r0]
-_0809B5E4:
- ldr r0, _0809B5FC
- ldr r0, [r0]
- ldr r1, _0809B600
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _0809B604
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- b _0809B60C
- .align 2, 0
-_0809B5FC: .4byte gUnknown_3001B64
-_0809B600: .4byte 0x00000434
-_0809B604:
- movs r0, 0
- movs r1, 0x5
- bl sub_8005838
-_0809B60C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809B57C
-
- thumb_func_start sub_809B614
-sub_809B614:
- push {lr}
- bl sub_80060EC
- ldr r0, _0809B62C
- ldr r2, _0809B630
- ldrh r1, [r2]
- strh r1, [r0]
- ldr r0, _0809B634
- ands r0, r1
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809B62C: .4byte gUnknown_20399DE
-_0809B630: .4byte gUnknown_20399DC
-_0809B634: .4byte 0x0000fffd
- thumb_func_end sub_809B614
-
- thumb_func_start sub_809B638
-sub_809B638:
- push {lr}
- bl xxx_call_update_bg_vram
- pop {r0}
- bx r0
- thumb_func_end sub_809B638
-
- thumb_func_start nullsub_210
-nullsub_210:
- bx lr
- thumb_func_end nullsub_210
-
- thumb_func_start sub_809B648
-sub_809B648:
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r0, _0809B66C
- ldr r1, [r0]
- ldr r2, _0809B670
- adds r1, r2
- ldr r1, [r1]
- subs r1, 0x2
- adds r6, r0, 0
- cmp r1, 0x2C
- bls _0809B662
- bl _0809C392
-_0809B662:
- lsls r0, r1, 2
- ldr r1, _0809B674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809B66C: .4byte gUnknown_3001B64
-_0809B670: .4byte 0x00000414
-_0809B674: .4byte _0809B678
- .align 2, 0
-_0809B678:
- .4byte _0809B72C
- .4byte _0809B772
- .4byte _0809B7AC
- .4byte _0809B834
- .4byte _0809B89C
- .4byte _0809B8FC
- .4byte _0809B91C
- .4byte _0809B944
- .4byte _0809B9D2
- .4byte _0809BA2A
- .4byte _0809BAA8
- .4byte _0809BB66
- .4byte _0809BBDA
- .4byte _0809BBDA
- .4byte _0809BC26
- .4byte _0809BC68
- .4byte _0809C1B4
- .4byte _0809BC78
- .4byte _0809C1C2
- .4byte _0809C1C2
- .4byte _0809C1C8
- .4byte _0809BCBC
- .4byte _0809BCBC
- .4byte _0809BD1C
- .4byte _0809BD64
- .4byte _0809BDE8
- .4byte _0809BE30
- .4byte _0809BE40
- .4byte _0809BE50
- .4byte _0809BE60
- .4byte _0809BE9C
- .4byte _0809BEB8
- .4byte _0809BED4
- .4byte _0809BF70
- .4byte _0809BFFC
- .4byte _0809C072
- .4byte _0809C0B8
- .4byte _0809C0FC
- .4byte _0809C148
- .4byte _0809C158
- .4byte _0809C168
- .4byte _0809C204
- .4byte _0809C238
- .4byte _0809C280
- .4byte _0809C32A
-_0809B72C:
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r2, r3
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B780
- ldr r0, _0809B754
- ldrh r0, [r0, 0x2]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809B758
- movs r0, 0x86
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x1
- str r0, [r1]
- bl _0809C392
- .align 2, 0
-_0809B754: .4byte gUnknown_20255F0
-_0809B758:
- bl sub_8094D14
- lsls r0, 24
- cmp r0, 0
- beq _0809B784
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2
- str r1, [r0]
- bl _0809C392
-_0809B772:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B78A
-_0809B780:
- bl sub_809B294
-_0809B784:
- movs r0, 0x1
- bl _0809C394
-_0809B78A:
- ldr r0, _0809B7A8
- ldrh r1, [r0]
- ldrh r0, [r0, 0x2]
- movs r2, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809B79C
- bl _0809C392
-_0809B79C:
- ands r1, r2
- cmp r1, 0
- bne _0809B784
- bl _0809C392
- .align 2, 0
-_0809B7A8: .4byte gUnknown_20255F0
-_0809B7AC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B7F4
- bl sub_809B294
- ldr r1, [r6]
- ldr r2, _0809B7D8
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B7E0
- ldr r3, _0809B7DC
- adds r0, r1, r3
- ldr r1, [r0]
- movs r0, 0
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7D8: .4byte 0x00000424
-_0809B7DC: .4byte 0x0000042c
-_0809B7E0:
- ldr r2, _0809B7F0
- adds r0, r1, r2
- ldr r1, [r0]
- movs r0, 0x2
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7F0: .4byte 0x0000042c
-_0809B7F4:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B80C
- bl sub_80160D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809C1BC
-_0809B80C:
- cmp r0, 0x2
- bne _0809B784
- ldr r0, [r6]
- ldr r1, _0809B830
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B784
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
-_0809B828:
- movs r1, 0
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B830: .4byte 0x00000424
-_0809B834:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B85C
- bl sub_809B294
- ldr r0, [r6]
- ldr r1, _0809B858
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B858: .4byte 0x0000042c
-_0809B85C:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B874
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809C1BC
-_0809B874:
- cmp r0, 0x2
- beq _0809B87A
- b _0809B784
-_0809B87A:
- ldr r0, [r6]
- ldr r3, _0809B898
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B888
- b _0809B784
-_0809B888:
- bl sub_80160D8
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809B828
- .align 2, 0
-_0809B898: .4byte 0x00000424
-_0809B89C:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B8C4
- bl sub_809B294
- ldr r0, [r6]
- ldr r3, _0809B8C0
- adds r0, r3
- ldr r1, [r0]
- movs r0, 0x4
- bl sub_80151C0
- b _0809B784
- .align 2, 0
-_0809B8C0: .4byte 0x0000042c
-_0809B8C4:
- bl sub_80154F0
- cmp r0, 0x3
- bne _0809B8D4
- bl sub_80155F0
- bl _0809C1B4
-_0809B8D4:
- cmp r0, 0x2
- beq _0809B8DA
- b _0809B784
-_0809B8DA:
- ldr r0, [r6]
- ldr r2, _0809B8F8
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B8E8
- b _0809B784
-_0809B8E8:
- bl sub_80155F0
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809B8F8: .4byte 0x00000424
-_0809B8FC:
- ldr r0, [r6]
- ldr r1, _0809B914
- adds r0, r1
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809B918
- b _0809B932
- .align 2, 0
-_0809B914: .4byte 0x0000042c
-_0809B918: .4byte gUnknown_81161A8
-_0809B91C:
- ldr r0, [r6]
- ldr r3, _0809B93C
- adds r0, r3
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809B940
-_0809B932:
- str r1, [r0]
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
- .align 2, 0
-_0809B93C: .4byte 0x0000042c
-_0809B940: .4byte gUnknown_81161B8
-_0809B944:
- bl sub_809B294
- ldr r4, _0809B984
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B998
- bl sub_809B294
- ldr r0, [r4]
- ldr r3, _0809B988
- adds r0, r3
- ldr r0, [r0]
- ldr r1, _0809B98C
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809B990
- ldr r0, [r4]
-_0809B972:
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809B978:
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B984: .4byte gUnknown_3001B64
-_0809B988: .4byte 0x0000042c
-_0809B98C: .4byte gUnknown_811610C
-_0809B990:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809B998:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809B9A6:
- bl sub_8015198
- ldr r1, [r4]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- bl sub_80151A4
- bl _0809C392
-_0809B9BC:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80151A4
- bl _0809C392
-_0809B9D2:
- bl sub_809B294
- ldr r4, _0809BA08
- ldr r0, [r4]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA1C
- bl sub_809B294
- ldr r0, [r4]
- ldr r2, _0809BA0C
- adds r0, r2
- ldr r0, [r0]
- ldr r1, _0809BA10
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809BA14
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA08: .4byte gUnknown_3001B64
-_0809BA0C: .4byte 0x0000042c
-_0809BA10: .4byte gUnknown_811612C
-_0809BA14:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA1C:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809BA2A:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA68
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BA5C
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x3
- bl sub_80211AC
- lsls r0, 24
- cmp r0, 0
- bne _0809BA60
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA5C: .4byte 0x00000424
-_0809BA60:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA68:
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x2
- beq _0809BA92
- cmp r0, 0x3
- beq _0809BA78
- b _0809B784
-_0809BA78:
- bl sub_802132C
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- bl sub_80213A0
- bl _0809C392
-_0809BA92:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80213A0
- bl _0809C392
-_0809BAA8:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB10
- movs r0, 0
- movs r1, 0x12
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2654
- lsls r0, 16
- asrs r4, r0, 16
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_802F73C
- lsls r0, 24
- cmp r0, 0
- bne _0809BAEA
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
-_0809BAEA:
- movs r5, 0x1
- negs r5, r5
- cmp r4, r5
- beq _0809BB08
- adds r0, r4, 0
- bl sub_802F848
- lsls r0, 24
- cmp r0, 0
- bne _0809BB08
- movs r0, 0
- movs r1, 0x12
- adds r2, r5, 0
- bl sub_80018D8
-_0809BB08:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB10:
- movs r0, 0x1
- bl sub_802F8A0
- cmp r0, 0x2
- beq _0809BB50
- cmp r0, 0x3
- beq _0809BB20
- b _0809B784
-_0809BB20:
- bl sub_802F90C
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- str r4, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB50:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB66:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB9A
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- bl sub_80302E8
- lsls r0, 24
- cmp r0, 0
- bne _0809BB92
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
-_0809BB92:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB9A:
- movs r0, 0x1
- bl sub_80303AC
- cmp r0, 0x2
- beq _0809BBC4
- cmp r0, 0x3
- beq _0809BBAA
- b _0809B784
-_0809BBAA:
- bl sub_8030418
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_8030480
- bl _0809C392
-_0809BBC4:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_8030480
- bl _0809C392
-_0809BBDA:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BC14
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BC10
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xE
- bne _0809BC02
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
-_0809BC02:
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
- b _0809B784
- .align 2, 0
-_0809BC10: .4byte 0x00000414
-_0809BC14:
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- beq _0809BC20
- b _0809B784
-_0809BC20:
- bl sub_8012750
- b _0809C392
-_0809BC26:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8016C94
- lsls r0, 24
- cmp r0, 0
- beq _0809BC5C
- ldr r0, _0809BC54
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BC58
- b _0809C266
- .align 2, 0
-_0809BC54: .4byte gUnknown_3001B64
-_0809BC58: .4byte gUnknown_81161C8
-_0809BC5C:
- ldr r0, _0809BC64
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BC64: .4byte gUnknown_3001B64
-_0809BC68:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BC74
- b _0809C266
- .align 2, 0
-_0809BC74: .4byte gUnknown_81161D8
-_0809BC78:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_80162E4
- lsls r0, 24
- cmp r0, 0
- beq _0809BCB0
- ldr r0, _0809BCA8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BCAC
- b _0809C266
- .align 2, 0
-_0809BCA8: .4byte gUnknown_3001B64
-_0809BCAC: .4byte gUnknown_81161E8
-_0809BCB0:
- ldr r0, _0809BCB8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BCB8: .4byte gUnknown_3001B64
-_0809BCBC:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809B294
- ldr r0, _0809BCE0
- ldr r0, [r0]
- ldr r2, _0809BCE4
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x17
- bne _0809BCE8
- negs r0, r4
- orrs r0, r4
- lsrs r0, 31
- b _0809BCF0
- .align 2, 0
-_0809BCE0: .4byte gUnknown_3001B64
-_0809BCE4: .4byte 0x00000414
-_0809BCE8:
- movs r0, 0x2
- cmp r4, 0
- beq _0809BCF0
- movs r0, 0x3
-_0809BCF0:
- bl sub_8018B00
- lsls r0, 24
- cmp r0, 0
- beq _0809BD10
- ldr r0, _0809BD08
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BD0C
- b _0809C266
- .align 2, 0
-_0809BD08: .4byte gUnknown_3001B64
-_0809BD0C: .4byte gUnknown_81161F8
-_0809BD10:
- ldr r0, _0809BD18
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BD18: .4byte gUnknown_3001B64
-_0809BD1C:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_801FB50
- lsls r0, 24
- cmp r0, 0
- beq _0809BD54
- ldr r0, _0809BD4C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BD50
- b _0809C266
- .align 2, 0
-_0809BD4C: .4byte gUnknown_3001B64
-_0809BD50: .4byte gUnknown_8116208
-_0809BD54:
- ldr r0, _0809BD60
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BD60: .4byte gUnknown_3001B64
-_0809BD64:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BD84
- bl sub_809B294
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_802465C
- b _0809B784
-_0809BD84:
- bl sub_80246F0
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x39
- bl sub_8001658
- cmp r0, 0
- bne _0809BDB2
- bl sub_80247B4
- lsls r0, 24
- cmp r0, 0
- beq _0809BDB2
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0x46
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809BDB2:
- cmp r4, 0x3
- bne _0809BDCC
- bl sub_80247C0
- ldr r0, _0809BDC8
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809C1BC
- .align 2, 0
-_0809BDC8: .4byte gUnknown_3001B64
-_0809BDCC:
- cmp r4, 0x2
- beq _0809BDD2
- b _0809B784
-_0809BDD2:
- bl sub_80247C0
- ldr r0, _0809BDE4
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809BDE4: .4byte gUnknown_3001B64
-_0809BDE8:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8021B9C
- lsls r0, 24
- cmp r0, 0
- beq _0809BE20
- ldr r0, _0809BE18
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE1C
- b _0809C266
- .align 2, 0
-_0809BE18: .4byte gUnknown_3001B64
-_0809BE1C: .4byte gUnknown_8116218
-_0809BE20:
- ldr r0, _0809BE2C
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809BE2C: .4byte gUnknown_3001B64
-_0809BE30:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BE3C
- b _0809C266
- .align 2, 0
-_0809BE3C: .4byte gUnknown_8116228
-_0809BE40:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE4C
- b _0809C266
- .align 2, 0
-_0809BE4C: .4byte gUnknown_8116238
-_0809BE50:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BE5C
- b _0809C266
- .align 2, 0
-_0809BE5C: .4byte gUnknown_8116248
-_0809BE60:
- bl sub_809B294
- movs r0, 0x98
- lsls r0, 1
- bl sub_80314B4
- lsls r0, 24
- cmp r0, 0
- bne _0809BE84
- ldr r0, _0809BE80
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BE80: .4byte gUnknown_3001B64
-_0809BE84:
- ldr r0, _0809BE94
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE98
- b _0809C266
- .align 2, 0
-_0809BE94: .4byte gUnknown_3001B64
-_0809BE98: .4byte gUnknown_8116258
-_0809BE9C:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BEB0
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BEB4
- b _0809C266
- .align 2, 0
-_0809BEB0: .4byte gUnknown_3001B64
-_0809BEB4: .4byte gUnknown_8116268
-_0809BEB8:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BECC
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BED0
- b _0809C266
- .align 2, 0
-_0809BECC: .4byte gUnknown_3001B64
-_0809BED0: .4byte gUnknown_8116278
-_0809BED4:
- mov r0, sp
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- beq _0809BF4E
- add r1, sp, 0x4
- add r2, sp, 0x8
- movs r0, 0x2
- bl sub_8001B88
- ldr r0, [sp, 0x8]
- cmp r0, 0x7
- bgt _0809BF4E
- add r4, sp, 0xC
-_0809BEF2:
- lsls r1, r0, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r2, [r0]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809BF44
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BF40
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r2, r0, r1
- ldrh r1, [r4, 0x2]
- lsls r1, 16
- asrs r1, 16
- negs r0, r1
- orrs r0, r1
- lsrs r1, r0, 31
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0809BF30
- adds r1, 0x2
-_0809BF30:
- str r1, [r2]
- cmp r1, 0
- beq _0809BF38
- b _0809C392
-_0809BF38:
- movs r0, 0x3
- str r0, [r2]
- b _0809C392
- .align 2, 0
-_0809BF40: .4byte gUnknown_3001B64
-_0809BF44:
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
- cmp r0, 0x7
- ble _0809BEF2
-_0809BF4E:
- ldr r0, _0809BF6C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- bl sub_8096BD0
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- b _0809C392
- .align 2, 0
-_0809BF6C: .4byte gUnknown_3001B64
-_0809BF70:
- mov r5, sp
- adds r5, 0x1
- adds r0, r5, 0
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- bne _0809BF82
- b _0809C392
-_0809BF82:
- add r1, sp, 0x14
- add r2, sp, 0x18
- movs r0, 0x2
- bl sub_8001B88
- add r4, sp, 0x1C
- ldr r1, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r5]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- bne _0809BFA4
- b _0809C392
-_0809BFA4:
- ldr r0, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5]
- bl sub_802DB28
- lsls r0, 24
- cmp r0, 0
- bne _0809BFB8
- b _0809C392
-_0809BFB8:
- movs r0, 0
- movs r1, 0x19
- bl sub_8001658
- cmp r0, 0x63
- bgt _0809BFCE
- adds r2, r0, 0x1
- movs r0, 0
- movs r1, 0x19
- bl sub_80018D8
-_0809BFCE:
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0x18]
- adds r2, 0x1
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BFF4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BFF8
- b _0809C266
- .align 2, 0
-_0809BFF4: .4byte gUnknown_3001B64
-_0809BFF8: .4byte gUnknown_8116288
-_0809BFFC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C036
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- asrs r4, 31
- movs r0, 0x4
- ands r4, r0
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C032
- bl _0809B784
-_0809C032:
- ldr r0, [r6]
- b _0809B972
-_0809C036:
- bl sub_802FE58
- cmp r0, 0x2
- beq _0809C05E
- cmp r0, 0x3
- beq _0809C046
- bl _0809B784
-_0809C046:
- bl sub_802FED0
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_802FEE0
- b _0809C392
-_0809C05E:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802FEE0
- b _0809C392
-_0809C072:
- movs r4, 0x1
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C082
- movs r4, 0x5
-_0809C082:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0A8
- ldr r0, _0809C0A0
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C0A4
- b _0809C266
- .align 2, 0
-_0809C0A0: .4byte gUnknown_3001B64
-_0809C0A4: .4byte gUnknown_8116298
-_0809C0A8:
- ldr r0, _0809C0B4
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809C0B4: .4byte gUnknown_3001B64
-_0809C0B8:
- movs r4, 0x2
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C0C8
- movs r4, 0x6
-_0809C0C8:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0F0
- ldr r0, _0809C0E8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809C0EC
- b _0809C266
- .align 2, 0
-_0809C0E8: .4byte gUnknown_3001B64
-_0809C0EC: .4byte gUnknown_81162A8
-_0809C0F0:
- ldr r0, _0809C0F8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809C0F8: .4byte gUnknown_3001B64
-_0809C0FC:
- movs r4, 0x3
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C10C
- movs r4, 0x7
-_0809C10C:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C134
- ldr r0, _0809C12C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C130
- b _0809C266
- .align 2, 0
-_0809C12C: .4byte gUnknown_3001B64
-_0809C130: .4byte gUnknown_81162B8
-_0809C134:
- ldr r0, _0809C144
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C144: .4byte gUnknown_3001B64
-_0809C148:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C154
- b _0809C266
- .align 2, 0
-_0809C154: .4byte gUnknown_81162C8
-_0809C158:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C164
- b _0809C266
- .align 2, 0
-_0809C164: .4byte gUnknown_81162D8
-_0809C168:
- bl sub_809B294
- bl sub_803B050
- lsls r0, 24
- cmp r0, 0
- beq _0809C1A0
- ldr r4, _0809C194
- ldr r0, [r4]
- ldr r3, _0809C198
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_803B100
- ldr r0, [r4]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C19C
- b _0809C266
- .align 2, 0
-_0809C194: .4byte gUnknown_3001B64
-_0809C198: .4byte 0x000005a4
-_0809C19C: .4byte gUnknown_81162E8
-_0809C1A0:
- ldr r0, _0809C1B0
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C1B0: .4byte gUnknown_3001B64
-_0809C1B4:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809C1BC:
- movs r1, 0x1
- str r1, [r0]
- b _0809C392
-_0809C1C2:
- bl sub_809B294
- b _0809C392
-_0809C1C8:
- movs r0, 0x2
- bl sub_80252F0
- lsls r0, 24
- cmp r0, 0
- beq _0809C1EC
- ldr r0, _0809C1E4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C1E8
- b _0809C266
- .align 2, 0
-_0809C1E4: .4byte gUnknown_3001B64
-_0809C1E8: .4byte gUnknown_81162F8
-_0809C1EC:
- ldr r0, _0809C200
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x2
- negs r1, r1
- str r1, [r0]
- b _0809C392
- .align 2, 0
-_0809C200: .4byte gUnknown_3001B64
-_0809C204:
- ldr r1, [r6]
- ldr r2, _0809C230
- adds r0, r1, r2
- ldr r0, [r0]
- movs r3, 0x85
- lsls r3, 3
- adds r1, r3
- ldr r1, [r1]
- bl sub_809CCDC
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r1, r0
- ldr r0, _0809C234
- str r0, [r1]
- bl _0809B784
- .align 2, 0
-_0809C230: .4byte 0x00000424
-_0809C234: .4byte gUnknown_8116308
-_0809C238:
- ldr r0, [r6]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r0, r2
- ldr r5, [r1]
- ldr r3, _0809C26C
- adds r0, r3
- ldrb r4, [r0]
- bl sub_809B294
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_801B60C
- lsls r0, 24
- cmp r0, 0
- beq _0809C274
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C270
-_0809C266:
- str r1, [r0]
- bl _0809B784
- .align 2, 0
-_0809C26C: .4byte 0x00000424
-_0809C270: .4byte gUnknown_8116318
-_0809C274:
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809B978
-_0809C280:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C2B8
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- lsls r0, 24
- cmp r0, 0
- beq _0809C2B2
- bl _0809B784
-_0809C2B2:
- ldr r0, [r6]
- bl _0809B972
-_0809C2B8:
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x2
- beq _0809C320
- cmp r0, 0x3
- beq _0809C2CA
- bl _0809B784
-_0809C2CA:
- bl sub_801A8AC
- adds r5, r0, 0
- ldr r0, _0809C304
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1
- ldrb r4, [r0, 0x2]
- adds r0, r4, 0
- bl sub_8091570
- lsls r0, 24
- cmp r0, 0
- beq _0809C30C
- ldr r0, _0809C308
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- bl sub_80911F8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- b _0809C318
- .align 2, 0
-_0809C304: .4byte gUnknown_203B460
-_0809C308: .4byte gUnknown_202DE58
-_0809C30C:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
-_0809C314:
- movs r1, 0x1
- negs r1, r1
-_0809C318:
- str r1, [r0]
- bl sub_801A928
- b _0809C392
-_0809C320:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809C314
-_0809C32A:
- adds r4, r6, 0
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C36C
- bl sub_809B294
- ldr r1, [r4]
- ldr r3, _0809C368
- adds r0, r1, r3
- ldr r0, [r0]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r2
- ldr r1, [r1]
- bl sub_8035444
- lsls r0, 24
- cmp r0, 0
- beq _0809C35C
- bl _0809B784
-_0809C35C:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C368: .4byte 0x00000424
-_0809C36C:
- bl sub_8035574
- cmp r0, 0x3
- bls _0809C378
- bl _0809B784
-_0809C378:
- cmp r0, 0x2
- bcs _0809C380
- bl _0809B784
-_0809C380:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_803565C
-_0809C392:
- movs r0, 0
-_0809C394:
- add sp, 0x24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809B648
-
- thumb_func_start sub_809C39C
-sub_809C39C:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C3D4
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C3CC
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C3CC:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C3D4: .4byte gUnknown_3001B64
- thumb_func_end sub_809C39C
-
- thumb_func_start sub_809C3D8
-sub_809C3D8:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C410
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C408
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C408:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C410: .4byte gUnknown_3001B64
- thumb_func_end sub_809C3D8
-
- thumb_func_start sub_809C414
-sub_809C414:
- push {lr}
- bl sub_802540C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0809C448
- ldr r0, _0809C444
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- adds r0, r1, 0
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
- b _0809C458
- .align 2, 0
-_0809C444: .4byte gUnknown_3001B64
-_0809C448:
- ldr r0, _0809C460
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C458:
- bl sub_8025418
- pop {r0}
- bx r0
- .align 2, 0
-_0809C460: .4byte gUnknown_3001B64
- thumb_func_end sub_809C414
-
- thumb_func_start sub_809C464
-sub_809C464:
- push {lr}
- bl sub_803C850
- bl sub_8001064
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_809C464
-
- thumb_func_start sub_809C478
-sub_809C478:
- push {lr}
- sub sp, 0x8
- bl sub_80356A0
- cmp r0, 0x3
- bne _0809C492
- ldr r0, _0809C4AC
- bl sub_8011988
- bl InitFlash
- bl ClearFlashData
-_0809C492:
- bl sub_8035758
- add r2, sp, 0x4
- movs r0, 0x3
- mov r1, sp
- bl sub_8001B88
- movs r0, 0
- bl sub_80993C0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4AC: .4byte 0x00000313
- thumb_func_end sub_809C478
-
- thumb_func_start sub_809C4B0
-sub_809C4B0:
- push {r4,r5,lr}
- movs r4, 0x1
- negs r4, r4
- ldr r5, _0809C4FC
- ldr r0, [r5]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r0, r2
- ldr r0, [r1]
- cmp r0, 0
- bne _0809C4DE
- bl sub_803B168
- lsls r0, 16
- ldr r1, [r5]
- ldr r3, _0809C500
- adds r2, r1, r3
- asrs r4, r0, 16
- lsrs r0, 16
- strh r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
-_0809C4DE:
- str r4, [r1]
- bl sub_803B1BC
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809C4F4
- adds r0, r4, 0
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809C4F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4FC: .4byte gUnknown_3001B64
-_0809C500: .4byte 0x000005a4
- thumb_func_end sub_809C4B0
-
- thumb_func_start sub_809C504
-sub_809C504:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80282DC
- adds r4, r0, 0
- cmp r4, 0x1
- bne _0809C530
- mov r0, sp
- ldrb r0, [r0]
- bl sub_809927C
- ldr r0, _0809C52C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r4, [r0]
- b _0809C540
- .align 2, 0
-_0809C52C: .4byte gUnknown_3001B64
-_0809C530:
- ldr r0, _0809C54C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C540:
- bl sub_80282FC
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C54C: .4byte gUnknown_3001B64
- thumb_func_end sub_809C504
-
- thumb_func_start sub_809C550
-sub_809C550:
- push {r4,r5,lr}
- bl sub_802E90C
- adds r4, r0, 0
- movs r5, 0
- bl sub_802E918
- cmp r4, 0x2
- beq _0809C586
- cmp r4, 0x2
- bhi _0809C56C
- cmp r4, 0x1
- beq _0809C572
- b _0809C5AC
-_0809C56C:
- cmp r4, 0x3
- beq _0809C59A
- b _0809C5AC
-_0809C572:
- movs r0, 0x4
- movs r1, 0x1D
- movs r2, 0x3
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x1
- b _0809C5AC
-_0809C586:
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0x2
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x2
- b _0809C5AC
-_0809C59A:
- movs r0, 0xB
- movs r1, 0x33
- movs r2, 0x8
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x3
-_0809C5AC:
- ldr r0, _0809C5C0
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C5C0: .4byte gUnknown_3001B64
- thumb_func_end sub_809C550
-
- thumb_func_start sub_809C5C4
-sub_809C5C4:
- push {r4,lr}
- ldr r4, _0809C610
- movs r0, 0x24
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r3, 0
- strh r2, [r0, 0x8]
- strh r2, [r0, 0xA]
- strb r3, [r0, 0xD]
- ldr r0, [r4]
- strb r3, [r0, 0xE]
- ldr r1, [r4]
- str r2, [r1, 0x10]
- ldr r0, _0809C614
- strh r0, [r1, 0x14]
- movs r0, 0x23
- strh r0, [r1, 0x16]
- strb r3, [r1, 0x18]
- ldr r1, [r4]
- movs r0, 0x3F
- strb r0, [r1, 0x19]
- ldr r0, [r4]
- str r2, [r0, 0x1C]
- adds r0, 0x20
- strb r3, [r0]
- bl nullsub_107
- bl sub_809C63C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C610: .4byte gUnknown_3001B68
-_0809C614: .4byte 0x0000ffff
- thumb_func_end sub_809C5C4
-
- thumb_func_start sub_809C618
-sub_809C618:
- push {r4,lr}
- bl sub_809C63C
- bl nullsub_107
- bl nullsub_108
- ldr r4, _0809C638
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C638: .4byte gUnknown_3001B68
- thumb_func_end sub_809C618
-
- thumb_func_start sub_809C63C
-sub_809C63C:
- push {lr}
- bl nullsub_108
- ldr r0, _0809C654
- ldr r0, [r0]
- movs r1, 0
- str r1, [r0, 0x1C]
- adds r0, 0x20
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0809C654: .4byte gUnknown_3001B68
- thumb_func_end sub_809C63C
-
- thumb_func_start sub_809C658
-sub_809C658:
- push {lr}
- ldr r0, _0809C670
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809C6C8
- lsls r0, 2
- ldr r1, _0809C674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C670: .4byte gUnknown_3001B68
-_0809C674: .4byte _0809C678
- .align 2, 0
-_0809C678:
- .4byte _0809C6C0
- .4byte _0809C6C0
- .4byte _0809C6AC
- .4byte _0809C690
- .4byte _0809C69E
- .4byte _0809C6B6
-_0809C690:
- bl nullsub_111
- bl nullsub_112
- bl nullsub_113
- b _0809C6C8
-_0809C69E:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809C6C8
-_0809C6AC:
- bl nullsub_109
- bl nullsub_110
- b _0809C6C8
-_0809C6B6:
- bl nullsub_107
- bl nullsub_108
- b _0809C6C8
-_0809C6C0:
- bl nullsub_107
- bl nullsub_108
-_0809C6C8:
- pop {r0}
- bx r0
- thumb_func_end sub_809C658
-
- thumb_func_start sub_809C6CC
-sub_809C6CC:
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0809C6E8
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- cmp r0, r2
- beq _0809C6E2
- movs r0, 0
- strh r2, [r1, 0x8]
- strb r0, [r1, 0xE]
-_0809C6E2:
- pop {r0}
- bx r0
- .align 2, 0
-_0809C6E8: .4byte gUnknown_3001B68
- thumb_func_end sub_809C6CC
-
- thumb_func_start sub_809C6EC
-sub_809C6EC:
- push {lr}
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _0809C718
- ldr r0, _0809C70C
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809C710
- movs r0, 0x4
- bl sub_809C6CC
- b _0809C71E
- .align 2, 0
-_0809C70C: .4byte gUnknown_203B46C
-_0809C710:
- movs r0, 0x3
- bl sub_809C6CC
- b _0809C71E
-_0809C718:
- movs r0, 0x5
- bl sub_809C6CC
-_0809C71E:
- pop {r0}
- bx r0
- thumb_func_end sub_809C6EC
-
- thumb_func_start sub_809C724
-sub_809C724:
- ldr r0, _0809C72C
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_0809C72C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C724
-
- thumb_func_start sub_809C730
-sub_809C730:
- push {lr}
- bl sub_809C740
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809C730
-
- thumb_func_start sub_809C740
-sub_809C740:
- push {lr}
- ldr r0, _0809C750
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _0809C754
- movs r0, 0
- b _0809C756
- .align 2, 0
-_0809C750: .4byte gUnknown_3001B68
-_0809C754:
- movs r0, 0x1
-_0809C756:
- pop {r1}
- bx r1
- thumb_func_end sub_809C740
-
- thumb_func_start nullsub_104
-nullsub_104:
- bx lr
- thumb_func_end nullsub_104
-
- thumb_func_start sub_809C760
-sub_809C760:
- ldr r0, _0809C76C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xE]
- bx lr
- .align 2, 0
-_0809C76C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C760
-
- thumb_func_start sub_809C770
-sub_809C770:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- lsls r1, 16
- asrs r6, r1, 16
- ldr r4, _0809C790
- ldr r1, [r4]
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- beq _0809C794
- movs r0, 0
- strb r0, [r1, 0xE]
- b _0809CA10
- .align 2, 0
-_0809C790: .4byte gUnknown_3001B68
-_0809C794:
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- bne _0809C79E
- bl sub_809C6EC
-_0809C79E:
- ldr r0, [r4]
- ldrb r5, [r0, 0x18]
- ldrb r7, [r0, 0x19]
- cmp r6, 0x26
- bls _0809C7AA
- b _0809C8C8
-_0809C7AA:
- lsls r0, r6, 2
- ldr r1, _0809C7B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C7B4: .4byte _0809C7B8
- .align 2, 0
-_0809C7B8:
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C854
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C86E
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C854:
- mov r0, r8
- bl sub_8002658
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0809C864
- b _0809CA10
-_0809C864:
- movs r4, 0x1
- b _0809C988
-_0809C868:
- movs r4, 0x1
- movs r5, 0
- b _0809C988
-_0809C86E:
- mov r0, r8
- subs r0, 0xA4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bls _0809C87C
- b _0809CA10
-_0809C87C:
- lsls r0, 2
- ldr r1, _0809C888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C888: .4byte _0809C88C
- .align 2, 0
-_0809C88C:
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C8C4:
- movs r4, 0
- b _0809C988
-_0809C8C8:
- adds r0, r6, 0
- subs r0, 0xC
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x16
- bhi _0809C968
- lsls r0, 2
- ldr r1, _0809C8E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C8E0: .4byte _0809C8E4
- .align 2, 0
-_0809C8E4:
- .4byte _0809C968
- .4byte _0809C940
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C944
- .4byte _0809C944
- .4byte _0809C948
- .4byte _0809C948
- .4byte _0809C94C
- .4byte _0809C968
- .4byte _0809C950
- .4byte _0809C950
- .4byte _0809C954
- .4byte _0809C954
- .4byte _0809C958
- .4byte _0809C958
- .4byte _0809C95C
- .4byte _0809C95C
- .4byte _0809C960
- .4byte _0809C960
- .4byte _0809C964
-_0809C940:
- movs r1, 0
- b _0809C974
-_0809C944:
- movs r1, 0x7
- b _0809C974
-_0809C948:
- movs r1, 0x9
- b _0809C974
-_0809C94C:
- movs r1, 0xA
- b _0809C974
-_0809C950:
- movs r1, 0xB
- b _0809C974
-_0809C954:
- movs r1, 0xD
- b _0809C974
-_0809C958:
- movs r1, 0xF
- b _0809C974
-_0809C95C:
- movs r1, 0x11
- b _0809C974
-_0809C960:
- movs r1, 0x13
- b _0809C974
-_0809C964:
- movs r1, 0x20
- b _0809C974
-_0809C968:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
-_0809C974:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809CA10
- adds r0, r1, 0
- bl sub_80A2740
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0x2
-_0809C988:
- ldr r0, _0809C99C
- ldr r2, [r0]
- ldr r1, [r2, 0x10]
- adds r3, r0, 0
- cmp r1, r4
- beq _0809C9A0
- movs r0, 0x2
- str r0, [r2]
- b _0809C9DE
- .align 2, 0
-_0809C99C: .4byte gUnknown_3001B68
-_0809C9A0:
- cmp r4, 0x1
- bne _0809C9CC
- ldrb r0, [r2, 0x18]
- cmp r5, r0
- bne _0809C9B2
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- cmp r0, r8
- beq _0809C9BC
-_0809C9B2:
- strb r4, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r4, [r0]
- b _0809C9E8
-_0809C9BC:
- cmp r5, 0
- bne _0809C9E8
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
- strb r4, [r2, 0xC]
- b _0809C9E8
-_0809C9CC:
- cmp r4, 0x2
- bne _0809C9E8
- ldrb r0, [r2, 0x19]
- cmp r7, r0
- bne _0809C9DE
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
-_0809C9DE:
- movs r1, 0x1
- strb r1, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r1, [r0]
-_0809C9E8:
- ldr r1, [r3]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CA10
- str r4, [r1, 0x10]
- movs r2, 0
- mov r0, r8
- strh r0, [r1, 0x14]
- strh r6, [r1, 0x16]
- strb r5, [r1, 0x18]
- ldr r0, [r3]
- strb r7, [r0, 0x19]
- ldr r1, [r3]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x4
- beq _0809CA10
- strb r2, [r1, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r2, [r0]
-_0809CA10:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809C770
-
- thumb_func_start nullsub_105
-nullsub_105:
- bx lr
- thumb_func_end nullsub_105
-
- thumb_func_start sub_809CA20
-sub_809CA20:
- push {lr}
- ldr r1, _0809CA74
- ldr r2, [r1]
- ldr r0, [r2]
- cmp r0, 0
- beq _0809CA38
- movs r0, 0
- str r0, [r2]
- movs r0, 0x1F
- str r0, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0xC]
-_0809CA38:
- ldr r1, [r1]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CAE8
- ldrh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _0809CA5E
- ldr r2, [r1, 0x10]
- cmp r2, 0
- bne _0809CA5E
- movs r0, 0x2
- strh r0, [r1, 0xA]
- str r2, [r1, 0x1C]
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
-_0809CA5E:
- ldr r0, _0809CA74
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809CADA
- lsls r0, 2
- ldr r1, _0809CA78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CA74: .4byte gUnknown_3001B68
-_0809CA78: .4byte _0809CA7C
- .align 2, 0
-_0809CA7C:
- .4byte _0809CAD2
- .4byte _0809CAD2
- .4byte _0809CABE
- .4byte _0809CA94
- .4byte _0809CAB0
- .4byte _0809CAC8
-_0809CA94:
- bl nullsub_111
- bl nullsub_113
- bl nullsub_112
- ldr r0, _0809CAAC
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- b _0809CADA
- .align 2, 0
-_0809CAAC: .4byte gUnknown_3001B68
-_0809CAB0:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809CADA
-_0809CABE:
- bl nullsub_109
- bl nullsub_110
- b _0809CADA
-_0809CAC8:
- bl nullsub_107
- bl nullsub_108
- b _0809CADA
-_0809CAD2:
- bl nullsub_107
- bl nullsub_108
-_0809CADA:
- ldr r0, _0809CAE4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xC]
- b _0809CB1E
- .align 2, 0
-_0809CAE4: .4byte gUnknown_3001B68
-_0809CAE8:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x5
- bhi _0809CB1E
- lsls r0, 2
- ldr r1, _0809CAF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CAF8: .4byte _0809CAFC
- .align 2, 0
-_0809CAFC:
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB14
- .4byte _0809CB1A
- .4byte _0809CB1E
-_0809CB14:
- bl nullsub_113
- b _0809CB1E
-_0809CB1A:
- bl nullsub_116
-_0809CB1E:
- pop {r0}
- bx r0
- thumb_func_end sub_809CA20
-
- thumb_func_start nullsub_106
-nullsub_106:
- bx lr
- thumb_func_end nullsub_106
-
- thumb_func_start nullsub_107
-nullsub_107:
- bx lr
- thumb_func_end nullsub_107
-
- thumb_func_start nullsub_108
-nullsub_108:
- bx lr
- thumb_func_end nullsub_108
-
- thumb_func_start nullsub_109
-nullsub_109:
- bx lr
- thumb_func_end nullsub_109
-
- thumb_func_start nullsub_110
-nullsub_110:
- bx lr
- thumb_func_end nullsub_110
-
- thumb_func_start nullsub_111
-nullsub_111:
- bx lr
- thumb_func_end nullsub_111
-
- thumb_func_start nullsub_112
-nullsub_112:
- bx lr
- thumb_func_end nullsub_112
-
- thumb_func_start nullsub_113
-nullsub_113:
- bx lr
- thumb_func_end nullsub_113
-
- thumb_func_start nullsub_114
-nullsub_114:
- bx lr
- thumb_func_end nullsub_114
-
- thumb_func_start nullsub_115
-nullsub_115:
- bx lr
- thumb_func_end nullsub_115
-
- thumb_func_start nullsub_116
-nullsub_116:
- bx lr
- thumb_func_end nullsub_116
-
- thumb_func_start sub_809CB50
-sub_809CB50:
- push {r4,lr}
- ldr r4, _0809CB70
- movs r0, 0xC
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- movs r1, 0
- str r1, [r0, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB70: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB50
-
- thumb_func_start sub_809CB74
-sub_809CB74:
- push {r4,lr}
- ldr r4, _0809CB88
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB88: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB74
-
- thumb_func_start sub_809CB8C
-sub_809CB8C:
- push {lr}
- movs r0, 0
- movs r1, 0x3B
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x3D
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_809CB8C
-
- thumb_func_start sub_809CBA4
-sub_809CBA4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091130
- cmp r0, 0
- bge _0809CBB6
- movs r0, 0
- b _0809CBB8
-_0809CBB6:
- movs r0, 0x1
-_0809CBB8:
- pop {r1}
- bx r1
- thumb_func_end sub_809CBA4
-
- thumb_func_start sub_809CBBC
-sub_809CBBC:
- push {r4-r7,lr}
- sub sp, 0x54
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- ldrb r1, [r4]
- cmp r1, 0x69
- bne _0809CC20
- ldr r1, _0809CC0C
- movs r0, 0x2
- ldrsh r2, [r4, r0]
- ldr r0, _0809CC10
- ldr r0, [r0]
- movs r3, 0xD2
- lsls r3, 4
- adds r0, r3
- ldr r3, [r0]
- mov r0, sp
- bl sub_800D158
- ldr r0, _0809CC14
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r2, r0, r1
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- ldr r0, [r2]
- adds r1, r0, r1
- ldr r0, _0809CC18
- cmp r1, r0
- ble _0809CC1C
- cmp r6, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r6, 0
- b _0809CC4A
- .align 2, 0
-_0809CC0C: .4byte gUnknown_81163E4
-_0809CC10: .4byte gUnknown_20389A4
-_0809CC14: .4byte gUnknown_203B460
-_0809CC18: .4byte 0x0001869f
-_0809CC1C:
- str r1, [r2]
- b _0809CC5E
-_0809CC20:
- ldrb r0, [r4, 0x2]
- lsls r1, 16
- lsls r0, 8
- orrs r0, r1
- str r0, [sp, 0x50]
- add r4, sp, 0x50
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CC52
- cmp r5, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r5, 0
-_0809CC4A:
- bl sub_809AE90
-_0809CC4E:
- movs r0, 0
- b _0809CC82
-_0809CC52:
- ldrb r0, [r4, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
-_0809CC5E:
- cmp r7, 0
- beq _0809CC80
- ldr r0, _0809CC8C
- mov r1, sp
- bl strcpy
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r7, 0
- bl sub_809AE90
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xCB
- bl sub_8011974
-_0809CC80:
- movs r0, 0x1
-_0809CC82:
- add sp, 0x54
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CC8C: .4byte gUnknown_202DE58
- thumb_func_end sub_809CBBC
-
- thumb_func_start sub_809CC90
-sub_809CC90:
- push {lr}
- lsls r0, 2
- ldr r1, _0809CCBC
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x69
- bne _0809CCC8
- ldr r0, _0809CCC0
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r0, [r0]
- adds r0, r1
- ldr r1, _0809CCC4
- cmp r0, r1
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
- .align 2, 0
-_0809CCBC: .4byte gUnknown_81163BC
-_0809CCC0: .4byte gUnknown_203B460
-_0809CCC4: .4byte 0x0001869f
-_0809CCC8:
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
-_0809CCD4:
- movs r0, 0x1
-_0809CCD6:
- pop {r1}
- bx r1
- thumb_func_end sub_809CC90
-
- thumb_func_start sub_809CCDC
-sub_809CCDC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r1, r6, 2
- ldr r0, _0809CD20
- adds r5, r1, r0
- ldr r0, _0809CD24
- ldr r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x4]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x2
- cmp r4, 0x63
- bgt _0809CD04
- movs r0, 0
- cmp r4, 0x1
- ble _0809CD04
- movs r0, 0x1
-_0809CD04:
- ldr r1, _0809CD28
- ldr r2, _0809CD2C
- ldr r3, _0809CD30
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- adds r0, r5, 0
- bl sub_809CBBC
- lsls r0, 24
- cmp r0, 0
- bne _0809CD34
- movs r0, 0x2
- b _0809CD3E
- .align 2, 0
-_0809CD20: .4byte gUnknown_81163BC
-_0809CD24: .4byte gUnknown_20399E0
-_0809CD28: .4byte gUnknown_81163F0
-_0809CD2C: .4byte gUnknown_811642C
-_0809CD30: .4byte gUnknown_203B4A0
-_0809CD34:
- ldr r0, _0809CD44
- ldr r0, [r0]
- str r6, [r0, 0x4]
- str r4, [r0, 0x8]
- movs r0, 0x1
-_0809CD3E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CD44: .4byte gUnknown_20399E0
- thumb_func_end sub_809CCDC
-
- thumb_func_start sub_809CD48
-sub_809CD48:
- push {lr}
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809CD58
- movs r0, 0x3
- b _0809CD5A
-_0809CD58:
- movs r0, 0
-_0809CD5A:
- pop {r1}
- bx r1
- thumb_func_end sub_809CD48
-
- thumb_func_start nullsub_117
-nullsub_117:
- bx lr
- thumb_func_end nullsub_117
-
- thumb_func_start nullsub_118
-nullsub_118:
- bx lr
- thumb_func_end nullsub_118
-
- thumb_func_start sub_809CD68
-sub_809CD68:
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- strb r2, [r0, 0x18]
- bx lr
- thumb_func_end sub_809CD68
-
- thumb_func_start sub_809CD7C
-sub_809CD7C:
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- bx lr
- thumb_func_end sub_809CD7C
-
- thumb_func_start sub_809CD8C
-sub_809CD8C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0x5
- bne _0809CD9E
- bl sub_809CD68
- str r4, [r5]
- b _0809CDB0
-_0809CD9E:
- ldr r0, [r5, 0x4]
- cmp r0, r4
- beq _0809CDB0
- str r4, [r5, 0x4]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x10]
- movs r0, 0
- str r0, [r5, 0x14]
-_0809CDB0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809CD8C
-
- thumb_func_start sub_809CDB8
-sub_809CDB8:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _0809CDC4
- ldr r0, [r1]
-_0809CDC4:
- pop {r1}
- bx r1
- thumb_func_end sub_809CDB8
-
- thumb_func_start sub_809CDC8
-sub_809CDC8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r1, [sp, 0x24]
- movs r0, 0x1
- negs r0, r0
- str r0, [r3]
- ldr r0, [r4]
- cmp r0, 0x1
- beq _0809CDEA
- cmp r0, 0x2
- beq _0809CDFE
- b _0809CE12
-_0809CDEA:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- beq _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x2
- b _0809CE10
-_0809CDFE:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- bne _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x1
-_0809CE10:
- str r0, [r4]
-_0809CE12:
- ldr r0, [r4, 0x4]
- mov r8, r0
- cmp r0, 0
- bne _0809CE1E
- ldr r1, [r4]
- mov r8, r1
-_0809CE1E:
- mov r0, r8
- subs r0, 0x1
- cmp r0, 0x6
- bls _0809CE28
- b _0809CFCC
-_0809CE28:
- lsls r0, 2
- ldr r1, _0809CE34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CE34: .4byte _0809CE38
- .align 2, 0
-_0809CE38:
- .4byte _0809CE54
- .4byte _0809CF74
- .4byte _0809CFCC
- .4byte _0809CFCC
- .4byte _0809CECC
- .4byte _0809CF5C
- .4byte _0809CF5C
-_0809CE54:
- ldr r0, _0809CE70
- ldrh r2, [r0]
- ldrh r1, [r0, 0x2]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- beq _0809CE74
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809CEA4
- movs r0, 0
- b _0809CEA8
- .align 2, 0
-_0809CE70: .4byte gUnknown_20255F0
-_0809CE74:
- movs r3, 0x2
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _0809CE82
- movs r0, 0x14
- b _0809CEA8
-_0809CE82:
- ldr r0, [r4, 0x10]
- cmp r0, 0x1
- ble _0809CEA4
- subs r0, 0x1
- str r0, [r4, 0x10]
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- bne _0809CEAA
- movs r0, 0x13
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x5
- b _0809CFDA
-_0809CEA4:
- movs r0, 0x1
- negs r0, r0
-_0809CEA8:
- str r0, [r4, 0x10]
-_0809CEAA:
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0809CEB6
- movs r0, 0xA
- b _0809CEC2
-_0809CEB6:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bne _0809CEC0
- movs r0, 0x8
- b _0809CEC2
-_0809CEC0:
- movs r0, 0x7
-_0809CEC2:
- str r0, [r6]
- adds r0, r2, 0
- bl sub_809CFE8
- b _0809CF4E
-_0809CECC:
- mov r0, sp
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- ldr r0, _0809CEEC
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809CEF0
- movs r0, 0x4
- bl sub_809C6CC
- b _0809CEF6
- .align 2, 0
-_0809CEEC: .4byte gUnknown_203B46C
-_0809CEF0:
- movs r0, 0x3
- bl sub_809C6CC
-_0809CEF6:
- bl nullsub_104
- adds r0, r4, 0
- bl sub_809CD7C
- movs r5, 0x1
- str r5, [r4]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0809CF1E
- cmp r0, 0x2
- bgt _0809CF14
- cmp r0, 0x1
- beq _0809CF2A
- b _0809CF54
-_0809CF14:
- cmp r0, 0x3
- beq _0809CF2A
- cmp r0, 0x4
- beq _0809CF3C
- b _0809CF54
-_0809CF1E:
- movs r0, 0x4
- str r0, [r4]
- movs r0, 0x1E
- bl sub_8098D80
- b _0809CF46
-_0809CF2A:
- movs r0, 0x4
- str r0, [r4]
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x4
- b _0809CFDA
-_0809CF3C:
- str r0, [r4]
- movs r0, 0x45
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809CF46:
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CF4E:
- strb r0, [r7]
- ldr r0, [r4]
- b _0809CFDA
-_0809CF54:
- movs r0, 0x2
- bl sub_809D9B8
- b _0809CFCC
-_0809CF5C:
- add r0, sp, 0x4
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- adds r0, r4, 0
- bl sub_809CD7C
- movs r0, 0x1
- str r0, [r4]
- b _0809CFDA
-_0809CF74:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- ble _0809CF86
- subs r0, 0x1
- str r0, [r4, 0x8]
- movs r0, 0x9
- str r0, [r6]
- ldrb r0, [r4, 0xC]
- b _0809CFD6
-_0809CF86:
- ldr r0, _0809CFA0
- ldrh r1, [r0]
- movs r0, 0x9
- str r0, [r6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0809CFA4
- movs r0, 0x4
- b _0809CFB6
- .align 2, 0
-_0809CFA0: .4byte gUnknown_20255F0
-_0809CFA4:
- movs r0, 0x80
- ands r1, r0
- cmp r1, 0
- beq _0809CFB0
- strb r2, [r7]
- b _0809CFB8
-_0809CFB0:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFB6:
- strb r0, [r7]
-_0809CFB8:
- ldrb r0, [r7]
- strb r0, [r4, 0xC]
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- cmp r0, r1
- beq _0809CFD8
- movs r0, 0x20
- str r0, [r4, 0x8]
- b _0809CFD8
-_0809CFCC:
- movs r0, 0
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFD6:
- strb r0, [r7]
-_0809CFD8:
- mov r0, r8
-_0809CFDA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809CDC8
-
- thumb_func_start sub_809CFE8
-sub_809CFE8:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809D014
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D004
- movs r0, 0x3
- b _0809D052
-_0809D004:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D010
- movs r0, 0x5
- b _0809D052
-_0809D010:
- movs r0, 0x4
- b _0809D052
-_0809D014:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809D038
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D028
- movs r0, 0x1
- b _0809D052
-_0809D028:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D034
- movs r0, 0x7
- b _0809D052
-_0809D034:
- movs r0, 0
- b _0809D052
-_0809D038:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D044
- movs r0, 0x2
- b _0809D052
-_0809D044:
- movs r0, 0x20
- ands r2, r0
- cmp r2, 0
- bne _0809D050
- subs r0, 0x21
- b _0809D052
-_0809D050:
- movs r0, 0x6
-_0809D052:
- pop {r1}
- bx r1
- thumb_func_end sub_809CFE8
-
- thumb_func_start sub_809D058
-sub_809D058:
- push {lr}
- ldr r1, [r0, 0x4]
- cmp r1, 0x3F
- bgt _0809D076
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D06A
- movs r0, 0x5
- b _0809D0A6
-_0809D06A:
- cmp r0, 0x88
- ble _0809D072
- movs r0, 0x3
- b _0809D0A6
-_0809D072:
- movs r0, 0x4
- b _0809D0A6
-_0809D076:
- cmp r1, 0x60
- ble _0809D090
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D084
- movs r0, 0x7
- b _0809D0A6
-_0809D084:
- cmp r0, 0x88
- ble _0809D08C
- movs r0, 0x1
- b _0809D0A6
-_0809D08C:
- movs r0, 0
- b _0809D0A6
-_0809D090:
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D09A
- movs r0, 0x6
- b _0809D0A6
-_0809D09A:
- cmp r0, 0x88
- bgt _0809D0A4
- movs r0, 0x1
- negs r0, r0
- b _0809D0A6
-_0809D0A4:
- movs r0, 0x2
-_0809D0A6:
- pop {r1}
- bx r1
- thumb_func_end sub_809D058
-
- thumb_func_start sub_809D0AC
-sub_809D0AC:
- push {lr}
- bl sub_809D0BC
- pop {r0}
- bx r0
- thumb_func_end sub_809D0AC
-
- thumb_func_start nullsub_119
-nullsub_119:
- bx lr
- thumb_func_end nullsub_119
-
- thumb_func_start sub_809D0BC
-sub_809D0BC:
- push {r4,r5,lr}
- ldr r5, _0809D0F8
- ldr r1, _0809D0FC
- ldr r2, [r1]
- ldr r3, [r1, 0x4]
- str r2, [r5, 0x3C]
- str r3, [r5, 0x40]
- adds r0, r5, 0
- adds r0, 0x44
- movs r4, 0
- strb r4, [r0]
- movs r0, 0
- bl sub_809D158
- str r4, [r5, 0x8]
- str r4, [r5, 0xC]
- str r4, [r5, 0x10]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x4]
- str r4, [r5, 0x24]
- str r4, [r5, 0x28]
- str r4, [r5, 0x2C]
- str r4, [r5, 0x30]
- str r4, [r5, 0x34]
- str r4, [r5, 0x38]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D0F8: .4byte gUnknown_20399E8
-_0809D0FC: .4byte gUnknown_8116478
- thumb_func_end sub_809D0BC
-
- thumb_func_start sub_809D100
-sub_809D100:
- push {lr}
- adds r2, r0, 0
- ldr r1, _0809D120
- ldr r0, [r1, 0x24]
- cmp r0, r2
- beq _0809D11A
- str r2, [r1, 0x24]
- movs r0, 0
- str r0, [r1, 0x28]
- str r0, [r1, 0x2C]
- str r0, [r1, 0x30]
- str r0, [r1, 0x34]
- str r0, [r1, 0x38]
-_0809D11A:
- pop {r0}
- bx r0
- .align 2, 0
-_0809D120: .4byte gUnknown_20399E8
- thumb_func_end sub_809D100
-
- thumb_func_start sub_809D124
-sub_809D124:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, _0809D144
- ldr r0, [r3, 0x24]
- cmp r0, r4
- beq _0809D13A
- str r4, [r3, 0x24]
- movs r0, 0
- str r0, [r3, 0x30]
- str r0, [r3, 0x34]
- str r0, [r3, 0x38]
-_0809D13A:
- str r1, [r3, 0x28]
- str r2, [r3, 0x2C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D144: .4byte gUnknown_20399E8
- thumb_func_end sub_809D124
-
- thumb_func_start sub_809D148
-sub_809D148:
- ldr r1, _0809D154
- str r0, [r1]
- movs r0, 0
- str r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_0809D154: .4byte gUnknown_20399E8
- thumb_func_end sub_809D148
-
- thumb_func_start sub_809D158
-sub_809D158:
- ldr r2, _0809D16C
- str r0, [r2]
- movs r0, 0
- str r0, [r2, 0x8]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r2, 0x1C]
- str r1, [r2, 0x20]
- bx lr
- .align 2, 0
-_0809D16C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D158
-
- thumb_func_start sub_809D170
-sub_809D170:
- ldr r2, _0809D17C
- str r0, [r2]
- movs r0, 0
- str r0, [r2, 0x8]
- str r1, [r2, 0x4]
- bx lr
- .align 2, 0
-_0809D17C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D170
-
- thumb_func_start sub_809D180
-sub_809D180:
- ldr r2, _0809D18C
- str r0, [r2]
- movs r0, 0x1
- str r0, [r2, 0x8]
- str r1, [r2, 0xC]
- bx lr
- .align 2, 0
-_0809D18C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D180
-
- thumb_func_start sub_809D190
-sub_809D190:
- ldr r3, _0809D1A4
- str r0, [r3]
- movs r0, 0x1
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r3, 0x14]
- str r1, [r3, 0x18]
- bx lr
- .align 2, 0
-_0809D1A4: .4byte gUnknown_20399E8
- thumb_func_end sub_809D190
-
- thumb_func_start sub_809D1A8
-sub_809D1A8:
- ldr r3, _0809D1B8
- str r0, [r3]
- movs r0, 0x1
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- str r1, [r3, 0x4]
- bx lr
- .align 2, 0
-_0809D1B8: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1A8
-
- thumb_func_start sub_809D1BC
-sub_809D1BC:
- ldr r2, _0809D1C8
- str r0, [r2]
- movs r0, 0x2
- str r0, [r2, 0x8]
- str r1, [r2, 0x10]
- bx lr
- .align 2, 0
-_0809D1C8: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1BC
-
- thumb_func_start sub_809D1CC
-sub_809D1CC:
- ldr r3, _0809D1E0
- str r0, [r3]
- movs r0, 0x2
- str r0, [r3, 0x8]
- str r2, [r3, 0x10]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r3, 0x14]
- str r1, [r3, 0x18]
- bx lr
- .align 2, 0
-_0809D1E0: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1CC
-
- thumb_func_start sub_809D1E4
-sub_809D1E4:
- ldr r3, _0809D1F4
- str r0, [r3]
- movs r0, 0x2
- str r0, [r3, 0x8]
- str r2, [r3, 0x10]
- str r1, [r3, 0x4]
- bx lr
- .align 2, 0
-_0809D1F4: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1E4
-
- thumb_func_start sub_809D1F8
-sub_809D1F8:
- ldr r2, _0809D204
- str r0, [r2]
- movs r0, 0x3
- str r0, [r2, 0x8]
- str r1, [r2, 0xC]
- bx lr
- .align 2, 0
-_0809D204: .4byte gUnknown_20399E8
- thumb_func_end sub_809D1F8
-
- thumb_func_start sub_809D208
-sub_809D208:
- ldr r3, _0809D21C
- str r0, [r3]
- movs r0, 0x3
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- str r0, [r3, 0x14]
- str r1, [r3, 0x18]
- bx lr
- .align 2, 0
-_0809D21C: .4byte gUnknown_20399E8
- thumb_func_end sub_809D208
-
- thumb_func_start sub_809D220
-sub_809D220:
- ldr r3, _0809D230
- str r0, [r3]
- movs r0, 0x3
- str r0, [r3, 0x8]
- str r2, [r3, 0xC]
- str r1, [r3, 0x4]
- bx lr
- .align 2, 0
-_0809D230: .4byte gUnknown_20399E8
- thumb_func_end sub_809D220
-
- thumb_func_start sub_809D234
-sub_809D234:
- push {lr}
- ldr r0, _0809D244
- ldr r0, [r0, 0x8]
- cmp r0, 0
- beq _0809D240
- movs r0, 0x1
-_0809D240:
- pop {r1}
- bx r1
- .align 2, 0
-_0809D244: .4byte gUnknown_20399E8
- thumb_func_end sub_809D234
-
- thumb_func_start sub_809D248
-sub_809D248:
- ldr r3, _0809D258
- ldr r1, [r3, 0x3C]
- ldr r2, [r3, 0x40]
- str r1, [r0]
- str r2, [r0, 0x4]
- adds r3, 0x44
- ldrb r0, [r3]
- bx lr
- .align 2, 0
-_0809D258: .4byte gUnknown_20399E8
- thumb_func_end sub_809D248
-
- thumb_func_start sub_809D25C
-sub_809D25C:
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r4, _0809D274
- ldr r0, [r4]
- cmp r0, 0x2
- beq _0809D28C
- cmp r0, 0x2
- bhi _0809D278
- cmp r0, 0x1
- beq _0809D27E
- b _0809D2B2
- .align 2, 0
-_0809D274: .4byte gUnknown_20399E8
-_0809D278:
- cmp r0, 0x3
- beq _0809D29A
- b _0809D2B2
-_0809D27E:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_80A8FD8
- b _0809D2A6
-_0809D28C:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_80AC448
- b _0809D2A6
-_0809D29A:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- adds r1, r4, 0
- adds r1, 0x1C
- bl sub_80AD360
-_0809D2A6:
- lsls r0, 16
- ldr r1, _0809D2C4
- cmp r0, r1
- bne _0809D2B2
- movs r0, 0
- str r0, [r4]
-_0809D2B2:
- ldr r4, _0809D2C8
- ldr r0, [r4, 0x8]
- cmp r0, 0x2
- beq _0809D356
- cmp r0, 0x2
- bhi _0809D2CC
- cmp r0, 0x1
- beq _0809D2D2
- b _0809D388
- .align 2, 0
-_0809D2C4: .4byte 0xffff0000
-_0809D2C8: .4byte gUnknown_20399E8
-_0809D2CC:
- cmp r0, 0x3
- beq _0809D314
- b _0809D388
-_0809D2D2:
- ldr r0, [r4, 0x1C]
- ldr r1, [r4, 0x14]
- subs r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r4, 0x20]
- ldr r1, [r4, 0x18]
- subs r0, r1
- str r0, [sp, 0x8]
- ldr r1, [r4, 0xC]
- add r0, sp, 0x4
- bl sub_800290C
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bne _0809D2FA
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _0809D2FA
- str r0, [r4, 0x8]
- b _0809D392
-_0809D2FA:
- ldr r2, _0809D310
- ldr r0, [r2, 0x14]
- ldr r1, [sp, 0x4]
- adds r0, r1
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- ldr r1, [sp, 0x8]
- adds r0, r1
- str r0, [r2, 0x18]
- b _0809D392
- .align 2, 0
-_0809D310: .4byte gUnknown_20399E8
-_0809D314:
- ldr r1, [r4, 0x1C]
- ldr r0, [r4, 0x14]
- subs r0, r1, r0
- cmp r0, 0
- bge _0809D320
- adds r0, 0xFF
-_0809D320:
- asrs r2, r0, 8
- ldr r1, [r4, 0x20]
- ldr r0, [r4, 0x18]
- subs r1, r0
- cmp r1, 0
- bge _0809D32E
- adds r1, 0xFF
-_0809D32E:
- asrs r1, 8
- lsls r0, r2, 8
- lsls r1, 8
- bl sub_8009FB8
- cmp r0, 0
- bge _0809D33E
- adds r0, 0xFF
-_0809D33E:
- asrs r0, 8
- lsls r0, 8
- ldr r1, [r4, 0xC]
- bl __divsi3
- str r0, [r4, 0x10]
- cmp r0, 0
- bgt _0809D352
- movs r0, 0x1
- str r0, [r4, 0x10]
-_0809D352:
- movs r0, 0x2
- str r0, [r4, 0x8]
-_0809D356:
- add r0, sp, 0xC
- ldr r1, _0809D384
- adds r2, r1, 0
- adds r2, 0x8
- adds r5, r1, 0
- subs r5, 0x14
- ldr r3, [r5, 0x10]
- movs r4, 0x1
- str r4, [sp]
- bl sub_8002934
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- str r0, [r5, 0x14]
- str r1, [r5, 0x18]
- ldr r0, [r5, 0x10]
- subs r0, 0x1
- str r0, [r5, 0x10]
- cmp r0, 0
- bgt _0809D392
- movs r0, 0
- str r0, [r5, 0x8]
- b _0809D392
- .align 2, 0
-_0809D384: .4byte gUnknown_20399FC
-_0809D388:
- ldr r2, _0809D3A4
- ldr r0, [r2, 0x1C]
- ldr r1, [r2, 0x20]
- str r0, [r2, 0x14]
- str r1, [r2, 0x18]
-_0809D392:
- ldr r5, _0809D3A4
- ldr r0, [r5, 0x24]
- cmp r0, 0x1
- beq _0809D3A8
- cmp r0, 0x2
- beq _0809D3D2
- movs r0, 0
- str r0, [r5, 0x34]
- b _0809D402
- .align 2, 0
-_0809D3A4: .4byte gUnknown_20399E8
-_0809D3A8:
- ldr r0, [r5, 0x30]
- subs r0, 0x1
- str r0, [r5, 0x30]
- cmp r0, 0
- bgt _0809D404
- movs r0, 0x4
- str r0, [r5, 0x30]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- lsls r0, 10
- str r0, [r5, 0x34]
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- lsls r0, 10
- b _0809D402
-_0809D3D2:
- ldr r0, [r5, 0x30]
- subs r0, 0x1
- str r0, [r5, 0x30]
- cmp r0, 0
- bgt _0809D404
- ldr r0, [r5, 0x2C]
- str r0, [r5, 0x30]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- ldr r1, [r5, 0x28]
- muls r0, r1
- lsls r0, 8
- str r0, [r5, 0x34]
- adds r0, r4, 0
- movs r1, 0x2
- bl OtherRandomRange
- ldr r1, [r5, 0x28]
- muls r0, r1
- lsls r0, 8
-_0809D402:
- str r0, [r5, 0x38]
-_0809D404:
- add r5, sp, 0x14
- add r6, sp, 0x1C
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80A579C
- lsls r0, 24
- cmp r0, 0
- beq _0809D474
- ldr r4, _0809D47C
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x34]
- adds r0, r1
- adds r2, r0, 0
- subs r2, 0x80
- ldr r0, [r4, 0x18]
- ldr r1, [r4, 0x38]
- adds r0, r1
- ldr r1, _0809D480
- adds r3, r0, r1
- ldr r0, [sp, 0x14]
- cmp r2, r0
- bge _0809D434
- adds r2, r0, 0
-_0809D434:
- ldr r0, [sp, 0x1C]
- cmp r2, r0
- blt _0809D43C
- subs r2, r0, 0x1
-_0809D43C:
- ldr r0, [r5, 0x4]
- cmp r3, r0
- bge _0809D444
- adds r3, r0, 0
-_0809D444:
- ldr r1, [r6, 0x4]
- cmp r3, r1
- blt _0809D44C
- subs r3, r1, 0x1
-_0809D44C:
- ldr r1, _0809D484
- adds r0, r2, r1
- cmp r0, 0
- bge _0809D458
- adds r1, 0xFF
- adds r0, r2, r1
-_0809D458:
- asrs r0, 8
- str r0, [r4, 0x3C]
- ldr r1, _0809D488
- adds r0, r3, r1
- cmp r0, 0
- bge _0809D468
- adds r1, 0xFF
- adds r0, r3, r1
-_0809D468:
- asrs r0, 8
- str r0, [r4, 0x40]
- adds r1, r4, 0
- adds r1, 0x44
- movs r0, 0x1
- strb r0, [r1]
-_0809D474:
- add sp, 0x24
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D47C: .4byte gUnknown_20399E8
-_0809D480: .4byte 0xfffff480
-_0809D484: .4byte 0xffff8700
-_0809D488: .4byte 0xffffb000
- thumb_func_end sub_809D25C
-
- thumb_func_start nullsub_120
-nullsub_120:
- bx lr
- thumb_func_end nullsub_120
-
- thumb_func_start sub_809D490
-sub_809D490:
- push {r4,lr}
- ldr r4, _0809D4AC
- movs r0, 0x80
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- bl sub_809D4B0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D4AC: .4byte gUnknown_203B4B0
- thumb_func_end sub_809D490
-
- thumb_func_start sub_809D4B0
-sub_809D4B0:
- push {r4,r5,lr}
- ldr r0, _0809D4EC
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _0809D4F0
- strh r1, [r0]
- ldr r0, _0809D4F4
- strh r1, [r0]
- ldr r1, _0809D4F8
- movs r0, 0
- strb r0, [r1]
- movs r1, 0
- ldr r5, _0809D4FC
- movs r2, 0
- ldr r3, _0809D500
- ldr r4, _0809D504
-_0809D4D4:
- adds r0, r1, r5
- strb r2, [r0]
- adds r0, r1, r3
- strb r2, [r0]
- stm r4!, {r2}
- adds r1, 0x1
- cmp r1, 0x80
- ble _0809D4D4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D4EC: .4byte gUnknown_2039A30
-_0809D4F0: .4byte gUnknown_2039A32
-_0809D4F4: .4byte gUnknown_2039A34
-_0809D4F8: .4byte gUnknown_2039A36
-_0809D4FC: .4byte gUnknown_2039A38
-_0809D500: .4byte gUnknown_2039AC0
-_0809D504: .4byte gUnknown_2039B48
- thumb_func_end sub_809D4B0
-
- thumb_func_start sub_809D508
-sub_809D508:
- push {r4,lr}
- ldr r4, _0809D51C
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D51C: .4byte gUnknown_203B4B0
- thumb_func_end sub_809D508
-
- thumb_func_start sub_809D520
-sub_809D520:
- ldr r1, _0809D528
- strh r1, [r0]
- bx lr
- .align 2, 0
-_0809D528: .4byte 0x0000ffff
- thumb_func_end sub_809D520
-
- thumb_func_start sub_809D52C
-sub_809D52C:
- push {lr}
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0x1
- beq _0809D544
- cmp r1, 0x1
- ble _0809D562
- cmp r1, 0x2
- beq _0809D54E
- cmp r1, 0x3
- beq _0809D558
- b _0809D562
-_0809D544:
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A882C
- b _0809D564
-_0809D54E:
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- bl sub_80AC240
- b _0809D564
-_0809D558:
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80AD158
- b _0809D564
-_0809D562:
- movs r0, 0
-_0809D564:
- pop {r1}
- bx r1
- thumb_func_end sub_809D52C
-
- thumb_func_start sub_809D568
-sub_809D568:
- push {lr}
- adds r3, r0, 0
- ldr r0, _0809D5B4
- strh r0, [r3]
- movs r2, 0
- movs r0, 0
- strh r0, [r3, 0x2]
- str r0, [r3, 0x8]
- str r0, [r3, 0x4]
- str r0, [r3, 0x14]
- str r0, [r3, 0x10]
- adds r1, r3, 0
- adds r1, 0x20
- strb r2, [r1]
- str r0, [r3, 0x1C]
- movs r1, 0x1
- negs r1, r1
- strh r1, [r3, 0x22]
- strh r0, [r3, 0x24]
- adds r2, r3, 0
- adds r2, 0x26
- movs r1, 0xFF
- strb r1, [r2]
- strh r0, [r3, 0x28]
- strh r0, [r3, 0x2A]
- strh r0, [r3, 0x2C]
- str r0, [r3, 0x30]
- movs r2, 0
- movs r1, 0x3
- adds r0, r3, 0
- adds r0, 0x5C
-_0809D5A6:
- str r2, [r0]
- subs r0, 0x4
- subs r1, 0x1
- cmp r1, 0
- bge _0809D5A6
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5B4: .4byte 0x0000ffff
- thumb_func_end sub_809D568
-
- thumb_func_start sub_809D5B8
-sub_809D5B8:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- str r0, [r4]
- str r0, [r4, 0x4]
- ldr r0, _0809D5FC
- strh r0, [r4, 0x10]
- movs r0, 0xFF
- strb r0, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_809D520
- movs r2, 0
- movs r1, 0x3
- adds r0, r4, 0
- adds r0, 0x20
-_0809D5DA:
- str r2, [r0]
- subs r0, 0x4
- subs r1, 0x1
- cmp r1, 0
- bge _0809D5DA
- adds r0, r4, 0
- adds r0, 0x24
- bl sub_809D568
- adds r0, r4, 0
- adds r0, 0x84
- bl sub_809D568
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5FC: .4byte 0x0000ffff
- thumb_func_end sub_809D5B8
-
- thumb_func_start sub_809D600
-sub_809D600:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x18]
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- asrs r5, 24
- bl sub_809D5B8
- str r6, [r7]
- mov r0, r8
- str r0, [r7, 0x4]
- strh r4, [r7, 0x10]
- strb r5, [r7, 0x12]
- ldrh r0, [r6]
- strh r0, [r7, 0x8]
- ldr r1, [r6, 0x4]
- cmp r1, 0
- beq _0809D63A
- mov r0, r8
- bl _call_via_r1
- strh r0, [r7, 0xA]
- b _0809D63C
-_0809D63A:
- strh r1, [r7, 0xA]
-_0809D63C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809D600
-
- thumb_func_start sub_809D648
-sub_809D648:
- push {lr}
- bl sub_809D5B8
- pop {r0}
- bx r0
- thumb_func_end sub_809D648
-
- thumb_func_start sub_809D654
-sub_809D654:
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_809D654
-
- thumb_func_start sub_809D65C
-sub_809D65C:
- push {lr}
- adds r1, r0, 0
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0809D66E
- movs r0, 0x1
- negs r0, r0
- b _0809D672
-_0809D66E:
- movs r2, 0x24
- ldrsh r0, [r1, r2]
-_0809D672:
- pop {r1}
- bx r1
- thumb_func_end sub_809D65C
-
- thumb_func_start sub_809D678
-sub_809D678:
- movs r2, 0x26
- ldrsh r1, [r0, r2]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bx lr
- thumb_func_end sub_809D678
-
- thumb_func_start sub_809D684
-sub_809D684:
- push {lr}
- adds r2, r0, 0
- adds r3, r1, 0
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _0809D6A4
- ldr r0, [r2, 0x34]
- cmp r0, 0
- beq _0809D69C
- ldr r1, [r2, 0x38]
- b _0809D69E
-_0809D69C:
- ldr r1, [r2, 0x2C]
-_0809D69E:
- ldr r0, [r3]
- cmp r1, r0
- beq _0809D6CC
-_0809D6A4:
- adds r0, r2, 0
- adds r0, 0x86
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0809D6D0
- adds r0, r2, 0
- adds r0, 0x94
- ldr r0, [r0]
- cmp r0, 0
- beq _0809D6C0
- adds r0, r2, 0
- adds r0, 0x98
- b _0809D6C4
-_0809D6C0:
- adds r0, r2, 0
- adds r0, 0x8C
-_0809D6C4:
- ldr r1, [r0]
- ldr r0, [r3]
- cmp r1, r0
- bne _0809D6D0
-_0809D6CC:
- movs r0, 0x1
- b _0809D6D2
-_0809D6D0:
- movs r0, 0
-_0809D6D2:
- pop {r1}
- bx r1
- thumb_func_end sub_809D684
-
- thumb_func_start sub_809D6D8
-sub_809D6D8:
- lsls r1, 16
- asrs r1, 14
- adds r0, 0x14
- adds r0, r1
- str r2, [r0]
- bx lr
- thumb_func_end sub_809D6D8
-
- thumb_func_start sub_809D6E4
-sub_809D6E4:
- push {r4,lr}
- lsls r2, 16
- asrs r2, 16
- lsls r4, r2, 2
- adds r3, r0, 0
- adds r3, 0x14
- adds r3, r4
- ldr r3, [r3]
- str r3, [r1]
- strh r2, [r1, 0x4]
- ldrh r2, [r0, 0x10]
- strh r2, [r1, 0x6]
- ldrb r0, [r0, 0x12]
- strb r0, [r1, 0x8]
- adds r0, r3, 0
- cmp r0, 0
- beq _0809D708
- movs r0, 0x1
-_0809D708:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D6E4
-
- thumb_func_start sub_809D710
-sub_809D710:
- push {r4,lr}
- adds r4, r0, 0
- adds r3, r1, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _0809D73C
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r1, 0x8
- adds r0, r1
- ldr r0, [r0]
- str r0, [r3]
- movs r0, 0x2
- strh r0, [r3, 0x4]
- cmp r4, 0
- beq _0809D740
- ldrh r0, [r4, 0x10]
- strh r0, [r3, 0x6]
- ldrb r0, [r4, 0x12]
- b _0809D746
- .align 2, 0
-_0809D73C: .4byte gUnknown_812F1F8
-_0809D740:
- ldr r0, _0809D750
- strh r0, [r3, 0x6]
- movs r0, 0xFF
-_0809D746:
- strb r0, [r3, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D750: .4byte 0x0000ffff
- thumb_func_end sub_809D710
-
- thumb_func_start sub_809D754
-sub_809D754:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_809D568
- adds r4, 0x84
- adds r0, r4, 0
- bl sub_809D568
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D754
-
- thumb_func_start sub_809D770
-sub_809D770:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x24
- bl sub_809D568
- adds r0, r4, 0
- adds r0, 0x84
- bl sub_809D568
- movs r0, 0x4
- strh r0, [r4, 0x26]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D770
-
- thumb_func_start GroundScript_ExecutePP
-GroundScript_ExecutePP:
- push {r4-r7,lr}
- adds r5, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- cmp r6, 0
- beq _0809D7A2
- ldr r0, [r6]
- cmp r0, 0
- bne _0809D7A6
-_0809D7A2:
- movs r0, 0
- b _0809D8B8
-_0809D7A6:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0x5
- bhi _0809D858
- lsls r0, 2
- ldr r1, _0809D7B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809D7B8: .4byte _0809D7BC
- .align 2, 0
-_0809D7BC:
- .4byte _0809D830
- .4byte _0809D84A
- .4byte _0809D7D4
- .4byte _0809D7D4
- .4byte _0809D858
- .4byte _0809D7EE
-_0809D7D4:
- movs r3, 0x24
- ldrsh r0, [r5, r3]
- cmp r0, 0x1
- beq _0809D838
- adds r4, r5, 0
- adds r4, 0x24
- cmp r0, 0x5
- bne _0809D86C
- adds r0, r5, 0
- adds r0, 0x84
- bl sub_809D568
- b _0809D86C
-_0809D7EE:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- beq _0809D808
- ldr r0, _0809D800
- ldr r1, _0809D804
- bl FatalError
- .align 2, 0
-_0809D800: .4byte gUnknown_8116538
-_0809D804: .4byte gUnknown_8116544
-_0809D808:
- adds r2, r5, 0
- adds r2, 0x84
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809D828
- ldr r0, _0809D820
- ldr r1, _0809D824
- bl FatalError
- .align 2, 0
-_0809D820: .4byte gUnknown_8116560
-_0809D824: .4byte gUnknown_811656C
-_0809D828:
- adds r4, r5, 0
- adds r4, 0x24
- adds r0, r2, 0
- b _0809D840
-_0809D830:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _0809D84A
-_0809D838:
- adds r0, r5, 0
- adds r0, 0x84
- adds r4, r5, 0
- adds r4, 0x24
-_0809D840:
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- b _0809D86C
-_0809D84A:
- adds r0, r5, 0
- adds r0, 0x84
- bl sub_809D568
- adds r4, r5, 0
- adds r4, 0x24
- b _0809D86C
-_0809D858:
- ldr r0, _0809D864
- ldr r1, _0809D868
- movs r3, 0x4
- ldrsh r2, [r6, r3]
- bl FatalError
- .align 2, 0
-_0809D864: .4byte gUnknown_8116588
-_0809D868: .4byte gUnknown_8116594
-_0809D86C:
- adds r0, r4, 0
- bl sub_809D568
- cmp r7, 0
- beq _0809D87C
- ldr r0, [r7]
- str r0, [r5, 0xC]
- b _0809D884
-_0809D87C:
- adds r0, r5, 0
- adds r0, 0xC
- bl sub_809D520
-_0809D884:
- ldrh r0, [r6, 0x4]
- movs r1, 0
- strh r0, [r5, 0x24]
- movs r0, 0x3
- strh r0, [r5, 0x26]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x30]
- ldrb r0, [r6, 0x8]
- adds r2, r5, 0
- adds r2, 0x32
- strb r0, [r2]
- ldr r0, [r6]
- str r0, [r5, 0x28]
- str r0, [r5, 0x2C]
- str r1, [r5, 0x34]
- str r1, [r5, 0x38]
- ldr r0, [r5]
- ldr r2, [r0, 0x14]
- cmp r2, 0
- beq _0809D8B6
- ldr r0, [r5, 0x4]
- adds r1, r5, 0
- adds r1, 0x4A
- bl _call_via_r2
-_0809D8B6:
- movs r0, 0x1
-_0809D8B8:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GroundScript_ExecutePP
-
- thumb_func_start sub_809D8C0
-sub_809D8C0:
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 16
- mov r1, sp
- bl sub_809D6E4
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl GroundScript_ExecutePP
- lsls r0, 24
- lsrs r0, 24
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809D8C0
-
- thumb_func_start sub_809D8EC
-sub_809D8EC:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 16
- asrs r5, r1, 16
- cmp r5, 0
- bne _0809D910
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809D910
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A2460
- str r0, [r4, 0x28]
- movs r0, 0
- b _0809D922
-_0809D910:
- adds r0, r4, 0
- adds r0, 0x46
- strh r5, [r0]
- movs r0, 0x2
- strh r0, [r4, 0x26]
- ldr r1, _0809D928
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_0809D922:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D928: .4byte gUnknown_2039A36
- thumb_func_end sub_809D8EC
-
- thumb_func_start sub_809D92C
-sub_809D92C:
- push {lr}
- ldr r1, _0809D93C
- bl sub_809D770
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809D93C: .4byte gUnknown_81165C8
- thumb_func_end sub_809D92C
-
- thumb_func_start sub_809D940
-sub_809D940:
- push {r4,lr}
- bl sub_80A8B74
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80AC378
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80AD290
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D940
-
- thumb_func_start sub_809D968
-sub_809D968:
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r1, 16
- asrs r6, r1, 16
- movs r4, 0
- adds r2, r5, 0
- adds r2, 0x46
- ldrh r1, [r2]
- movs r0, 0
- ldrsh r3, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- beq _0809D98E
- cmp r3, r6
- bne _0809D98E
- ldr r0, _0809D9B4
- strh r0, [r2]
- movs r4, 0x1
-_0809D98E:
- adds r2, r5, 0
- adds r2, 0xA6
- ldrh r1, [r2]
- movs r0, 0
- ldrsh r3, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- beq _0809D9AA
- cmp r3, r6
- bne _0809D9AA
- ldr r0, _0809D9B4
- strh r0, [r2]
- movs r4, 0x1
-_0809D9AA:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D9B4: .4byte 0x0000ffff
- thumb_func_end sub_809D968
-
- thumb_func_start sub_809D9B8
-sub_809D9B8:
- lsls r0, 16
- asrs r0, 16
- ldr r1, _0809D9D4
- adds r1, r0, r1
- movs r3, 0
- movs r2, 0x1
- strb r2, [r1]
- ldr r1, _0809D9D8
- lsls r0, 2
- adds r0, r1
- str r3, [r0]
- ldr r0, _0809D9DC
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0809D9D4: .4byte gUnknown_2039A38
-_0809D9D8: .4byte gUnknown_2039B48
-_0809D9DC: .4byte gUnknown_2039A36
- thumb_func_end sub_809D9B8
-
- thumb_func_start sub_809D9E0
-sub_809D9E0:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809D9FC
- adds r2, r0, r2
- movs r3, 0x1
- strb r3, [r2]
- ldr r2, _0809DA00
- lsls r0, 2
- adds r0, r2
- str r1, [r0]
- ldr r0, _0809DA04
- strb r3, [r0]
- bx lr
- .align 2, 0
-_0809D9FC: .4byte gUnknown_2039A38
-_0809DA00: .4byte gUnknown_2039B48
-_0809DA04: .4byte gUnknown_2039A36
- thumb_func_end sub_809D9E0
-
- thumb_func_start sub_809DA08
-sub_809DA08:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- ldr r1, _0809DA2C
- lsls r0, r4, 2
- adds r0, r1
- str r2, [r0]
- cmp r4, 0
- bne _0809DA38
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809DA30
- movs r0, 0
- b _0809DA5E
- .align 2, 0
-_0809DA2C: .4byte gUnknown_2039B48
-_0809DA30:
- adds r0, r5, 0
- adds r0, 0x46
- strh r4, [r0]
- b _0809DA52
-_0809DA38:
- movs r1, 0x80
- adds r2, r5, 0
- adds r2, 0x46
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _0809DA64
- adds r0, r4, r0
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _0809DA68
- adds r0, r4, r0
- strb r1, [r0]
-_0809DA52:
- movs r0, 0x2
- strh r0, [r5, 0x26]
- ldr r1, _0809DA6C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_0809DA5E:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809DA64: .4byte gUnknown_2039A38
-_0809DA68: .4byte gUnknown_2039AC0
-_0809DA6C: .4byte gUnknown_2039A36
- thumb_func_end sub_809DA08
-
- thumb_func_start HandleAction
-HandleAction:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x148
- adds r7, r0, 0
- movs r1, 0x26
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _0809DA8A
- bl _0809EAB8
-_0809DA8A:
- movs r2, 0x26
- ldrsh r0, [r7, r2]
- cmp r0, 0x4
- bls _0809DA96
- bl _0809E9CC
-_0809DA96:
- lsls r0, 2
- ldr r1, _0809DAA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DAA0: .4byte _0809DAA4
- .align 2, 0
-_0809DAA4:
- .4byte _0809E9C6
- .4byte _0809E9C6
- .4byte _0809DAB8
- .4byte _0809E900
- .4byte _0809E9C6
-_0809DAB8:
- adds r1, r7, 0
- adds r1, 0x44
- ldrb r0, [r1]
- subs r0, 0x3
- adds r6, r1, 0
- cmp r0, 0xED
- bls _0809DACA
- bl _0809E9D6
-_0809DACA:
- lsls r0, 2
- ldr r1, _0809DAD4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DAD4: .4byte _0809DAD8
- .align 2, 0
-_0809DAD8:
- .4byte _0809E382
- .4byte _0809E3C4
- .4byte _0809E524
- .4byte _0809E464
- .4byte _0809E4B4
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809DED6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E308
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E308
- .4byte _0809E31C
- .4byte _0809E75C
- .4byte _0809E33C
- .4byte _0809E368
- .4byte _0809E658
- .4byte _0809E6B4
- .4byte _0809E6E8
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809DF60
- .4byte _0809E0A2
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809DFDC
- .4byte _0809E0A2
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E078
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E08C
- .4byte _0809E0E8
- .4byte _0809E0E8
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E146
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809E9D6
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E2D0
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E798
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E864
- .4byte _0809E9D6
- .4byte _0809E8D8
- .4byte _0809DE90
- .4byte _0809DE90
- .4byte _0809DEA6
- .4byte _0809DEBE
- .4byte _0809DED6
- .4byte _0809DEE8
- .4byte _0809DF24
- .4byte _0809DF24
- .4byte _0809E2DE
- .4byte _0809E9D6
- .4byte _0809E2DE
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
- .4byte _0809E9D6
-_0809DE90:
- adds r1, r7, 0
- adds r1, 0x4E
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _0809DEA2
- bl _0809EAB2
-_0809DEA2:
- bl _0809E8F4
-_0809DEA6:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r1, [r1, 0x4C]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _0809DEBA
- bl _0809E9D6
-_0809DEBA:
- bl _0809E8F4
-_0809DEBE:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r1, [r1, 0x50]
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- beq _0809DED2
- bl _0809E9D6
-_0809DED2:
- bl _0809E8F4
-_0809DED6:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809DEE4
- bl _0809E9D6
-_0809DEE4:
- bl _0809E8F4
-_0809DEE8:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- ldrh r0, [r0, 0x2]
- bl sub_8011940
- lsls r0, 24
- cmp r0, 0
- bne _0809DF06
- bl _0809E8F4
-_0809DF06:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r1, [r2]
- adds r0, r1, 0x1
- strh r0, [r2]
- lsls r1, 16
- ldr r0, _0809DF20
- cmp r1, r0
- bgt _0809DF1C
- bl _0809E9D6
-_0809DF1C:
- bl _0809E8F4
- .align 2, 0
-_0809DF20: .4byte 0x2a2f0000
-_0809DF24:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- ldrh r0, [r0, 0x2]
- bl sub_80119C0
- lsls r0, 24
- cmp r0, 0
- bne _0809DF42
- bl _0809E8F4
-_0809DF42:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r1, [r2]
- adds r0, r1, 0x1
- strh r0, [r2]
- lsls r1, 16
- ldr r0, _0809DF5C
- cmp r1, r0
- bgt _0809DF58
- bl _0809E9D6
-_0809DF58:
- bl _0809E8F4
- .align 2, 0
-_0809DF5C: .4byte 0x0e0f0000
-_0809DF60:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r5, sp, 0xA4
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r7, 0x60]
- ldr r0, [r5]
- subs r1, r0
- add r4, sp, 0xAC
- str r1, [r4]
- ldr r0, [r7, 0x64]
- ldr r1, [r5, 0x4]
- subs r0, r1
- str r0, [r4, 0x4]
- ldr r1, [r7, 0x54]
- adds r0, r4, 0
- bl sub_800290C
- ldr r0, [r4]
- cmp r0, 0
- bne _0809DF98
- ldr r0, [r4, 0x4]
- cmp r0, 0
- bne _0809DF98
- bl _0809E8F4
-_0809DF98:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r4, 0
- bl _call_via_r2
- movs r1, 0x9
- ands r1, r0
- cmp r1, 0
- beq _0809DFB0
- bl _0809E8F4
-_0809DFB0:
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- adds r2, r7, 0
- adds r2, 0x4E
- ldrh r0, [r2]
- movs r5, 0
- ldrsh r1, [r2, r5]
- cmp r1, 0
- bge _0809DFD0
- bl _0809E9D6
-_0809DFD0:
- cmp r1, 0
- ble _0809DFD8
- bl _0809EAAC
-_0809DFD8:
- bl _0809E8F4
-_0809DFDC:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r5, sp, 0xB4
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r7, 0x60]
- ldr r0, [r5]
- subs r1, r0
- add r4, sp, 0xBC
- str r1, [r4]
- ldr r0, [r7, 0x64]
- ldr r1, [r5, 0x4]
- subs r0, r1
- str r0, [r4, 0x4]
- ldr r1, [r7, 0x54]
- adds r0, r4, 0
- bl sub_800290C
- ldr r0, [r4]
- adds r5, r4, 0
- cmp r0, 0
- bne _0809E016
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bne _0809E016
- bl _0809E8F4
-_0809E016:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r5, 0
- bl _call_via_r2
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_8002C60
- lsls r0, 24
- adds r2, r7, 0
- adds r2, 0x4A
- asrs r1, r0, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- movs r0, 0x9
- ands r0, r4
- cmp r0, 0
- beq _0809E04C
- bl _0809E8F4
-_0809E04C:
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- adds r2, r7, 0
- adds r2, 0x4E
- ldrh r0, [r2]
- movs r6, 0
- ldrsh r1, [r2, r6]
- cmp r1, 0
- bge _0809E06C
- bl _0809E9D6
-_0809E06C:
- cmp r1, 0
- ble _0809E074
- bl _0809EAAC
-_0809E074:
- bl _0809E8F4
-_0809E078:
- adds r6, r7, 0
- adds r6, 0x4E
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- ble _0809E088
- bl _0809EA62
-_0809E088:
- bl _0809E8F4
-_0809E08C:
- movs r2, 0x4E
- adds r2, r7
- mov r8, r2
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _0809E09E
- bl _0809E9DA
-_0809E09E:
- bl _0809E8F4
-_0809E0A2:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0xE4
- add r2, sp, 0xE8
- ldr r3, [r1, 0x10]
- adds r1, r4, 0
- bl _call_via_r3
- ldr r0, [r7, 0x6C]
- ldr r1, [r4]
- subs r0, r1
- adds r2, r4, 0
- cmp r0, 0
- bne _0809E0C2
- bl _0809E8F4
-_0809E0C2:
- ldr r4, [r7, 0x54]
- cmn r0, r4
- bge _0809E0CC
- subs r0, r1, r4
- b _0809E0D4
-_0809E0CC:
- cmp r0, r4
- ble _0809E0D2
- adds r0, r4, 0
-_0809E0D2:
- adds r0, r1, r0
-_0809E0D4:
- str r0, [r2]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- add r1, sp, 0xE4
- ldr r1, [r1]
- ldr r2, [r2, 0x28]
- bl _call_via_r2
- bl _0809E9D6
-_0809E0E8:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0x14
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r2, [r7, 0x54]
- add r4, sp, 0xEC
- adds r0, r4, 0
- bl sub_8002BB8
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- add r1, sp, 0xF4
- str r2, [r1]
- str r3, [r1, 0x4]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r2, 0x48]
- bl _call_via_r2
- movs r1, 0x9
- ands r1, r0
- cmp r1, 0
- beq _0809E124
- bl _0809E8F4
-_0809E124:
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- adds r1, r7, 0
- adds r1, 0x4E
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- ble _0809E144
- bl _0809EAB2
-_0809E144:
- b _0809E8F4
-_0809E146:
- adds r1, r7, 0
- adds r1, 0x4E
- ldrh r2, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- mov r10, r1
- cmp r0, 0
- ble _0809E15A
- bl _0809EAB2
-_0809E15A:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- movs r4, 0x1
- negs r4, r4
- mov r8, r4
- movs r5, 0
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- mov r4, sp
- adds r4, 0x15
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- add r0, sp, 0x4
- ldrb r0, [r0]
- subs r0, 0x91
- mov r9, r4
- cmp r0, 0x4
- bhi _0809E234
- lsls r0, 2
- ldr r1, _0809E194
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809E194: .4byte _0809E198
- .align 2, 0
-_0809E198:
- .4byte _0809E1AC
- .4byte _0809E1AC
- .4byte _0809E1BA
- .4byte _0809E1E0
- .4byte _0809E20C
-_0809E1AC:
- adds r0, r7, 0
- adds r0, 0x71
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- b _0809E234
-_0809E1BA:
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _0809E234
- movs r5, 0x1
- add r1, sp, 0xFC
- adds r0, r4, 0
- bl sub_80A8FD8
- add r1, sp, 0x104
- adds r0, r4, 0
- bl sub_80A8F9C
- b _0809E234
-_0809E1E0:
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _0809E234
- movs r5, 0x1
- add r1, sp, 0xFC
- bl sub_80A8FD8
- ldr r0, _0809E208
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- add r2, sp, 0x104
- str r0, [r2]
- str r1, [r2, 0x4]
- b _0809E234
- .align 2, 0
-_0809E208: .4byte gUnknown_81164DC
-_0809E20C:
- movs r5, 0x1
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0xFC
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- add r1, sp, 0x104
- ldr r2, [r2, 0x8]
- bl _call_via_r2
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
-_0809E234:
- cmp r5, 0
- beq _0809E282
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r5, sp, 0x10C
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0x114
- ldr r2, [r1, 0x8]
- adds r1, r4, 0
- bl _call_via_r2
- add r6, sp, 0xFC
- add r3, sp, 0x104
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- bne _0809E28C
- ldr r3, _0809E2CC
- adds r0, r5, 0
- adds r1, r3, 0
- adds r2, r6, 0
- bl sub_8002D54
- lsls r0, 24
- asrs r0, 24
- mov r8, r0
-_0809E282:
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- bne _0809E28C
- b _0809E8F4
-_0809E28C:
- mov r5, r9
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r8, r0
- bne _0809E298
- b _0809E8F4
-_0809E298:
- mov r6, r9
- movs r0, 0
- ldrsb r0, [r6, r0]
- add r1, sp, 0x4
- ldrh r2, [r1, 0x2]
- lsls r2, 24
- lsrs r2, 24
- mov r1, r8
- bl sub_8002A70
- adds r1, r7, 0
- adds r1, 0x4A
- strb r0, [r1]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- add r0, sp, 0x4
- ldrb r0, [r0, 0x1]
- mov r1, r10
- strh r0, [r1]
- b _0809E9CC
- .align 2, 0
-_0809E2CC: .4byte gUnknown_81164DC
-_0809E2D0:
- bl sub_809D234
- lsls r0, 24
- cmp r0, 0
- beq _0809E2DC
- b _0809E9D6
-_0809E2DC:
- b _0809E8F4
-_0809E2DE:
- adds r0, r7, 0
- adds r0, 0x46
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E2F0
- b _0809E9D6
-_0809E2F0:
- ldr r1, _0809E304
- adds r0, r7, 0
- adds r0, 0x4C
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- b _0809E8EC
- .align 2, 0
-_0809E304: .4byte gUnknown_2039B48
-_0809E308:
- adds r0, r7, 0
- adds r0, 0x46
- movs r4, 0
- ldrsh r1, [r0, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E31A
- b _0809E9D6
-_0809E31A:
- b _0809E8CA
-_0809E31C:
- adds r0, r7, 0
- adds r0, 0x46
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E32E
- b _0809E9D6
-_0809E32E:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809E33A
- b _0809E9D6
-_0809E33A:
- b _0809E8CA
-_0809E33C:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- ldrb r1, [r0, 0x1]
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- ldr r3, [sp, 0x8]
- adds r0, r7, 0
- bl sub_80A14E8
- adds r1, r0, 0
- cmp r1, 0
- bge _0809E360
- b _0809E9D6
-_0809E360:
- movs r0, 0x3
- strh r0, [r7, 0x26]
- adds r0, r7, 0
- b _0809E60C
-_0809E368:
- add r0, sp, 0x11C
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E376
- b _0809E9D6
-_0809E376:
- add r0, sp, 0x11C
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
-_0809E382:
- add r0, sp, 0x120
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E390
- b _0809E9D6
-_0809E390:
- add r4, sp, 0x120
- ldr r0, [r4]
- cmp r0, 0
- blt _0809E3BA
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldrb r0, [r4]
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- add r1, sp, 0x4
- movs r3, 0x2
- ldrsh r2, [r1, r3]
- movs r1, 0
- bl sub_8098D1C
-_0809E3BA:
- ldr r1, [r4]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
-_0809E3C4:
- adds r4, r7, 0
- adds r4, 0x4C
- movs r5, 0
- ldrsh r0, [r4, r5]
- cmp r0, 0
- bne _0809E40C
- add r0, sp, 0x124
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E3DE
- b _0809E9D6
-_0809E3DE:
- add r0, sp, 0x124
- ldr r0, [r0]
- cmp r0, 0
- blt _0809E400
- lsls r0, 16
- asrs r0, 16
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- movs r0, 0x1
- b _0809E402
-_0809E400:
- ldr r0, _0809E408
-_0809E402:
- strh r0, [r4]
- b _0809E8CE
- .align 2, 0
-_0809E408: .4byte 0x0000ffff
-_0809E40C:
- cmp r0, 0x1
- bne _0809E464
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0
- movs r1, 0x12
- bl sub_8001658
- adds r2, r0, 0
- lsls r2, 16
- asrs r4, r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x30
- bl sub_8001784
- cmp r4, 0x13
- bne _0809E43C
- cmp r0, 0
- beq _0809E45A
-_0809E43C:
- add r0, sp, 0x4
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_8098DCC
- adds r0, r7, 0
- movs r1, 0
- bl sub_80A2460
- str r0, [r7, 0x28]
- movs r0, 0
- movs r1, 0
- bl sub_80A87AC
- b _0809E8F4
-_0809E45A:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x13
- bl sub_80018D8
-_0809E464:
- adds r0, r7, 0
- adds r0, 0x4C
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r5, r0, 0
- cmp r1, 0
- bne _0809E4B4
- add r0, sp, 0x128
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E480
- b _0809E9D6
-_0809E480:
- add r0, sp, 0x128
- ldr r1, [r0]
- cmp r1, 0
- blt _0809E4AA
- ldrb r0, [r6]
- cmp r0, 0x4
- bne _0809E49A
- lsls r0, r1, 16
- asrs r0, 16
- bl sub_80A26B8
- lsls r0, 16
- b _0809E49C
-_0809E49A:
- lsls r0, r1, 16
-_0809E49C:
- asrs r2, r0, 16
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- movs r0, 0x1
- b _0809E4AC
-_0809E4AA:
- ldr r0, _0809E4B0
-_0809E4AC:
- strh r0, [r5]
- b _0809E8CE
- .align 2, 0
-_0809E4B0: .4byte 0x0000ffff
-_0809E4B4:
- adds r0, r7, 0
- adds r0, 0x4C
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r5, r0, 0
- cmp r1, 0x1
- beq _0809E4C4
- b _0809E5B8
-_0809E4C4:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r6, r0, 16
- add r4, sp, 0x18
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80990EC
- lsls r0, 24
- cmp r0, 0
- beq _0809E580
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8099220
- movs r0, 0x6
- bl sub_80023E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- ldr r4, _0809E51C
- ldr r2, [r4]
- movs r1, 0
- str r1, [sp]
- bl sub_809034C
- adds r1, r0, 0
- ldr r0, _0809E520
- str r1, [r0]
- cmp r1, 0x1
- beq _0809E586
- cmp r1, 0x1
- bcc _0809E580
- cmp r1, 0x2
- bne _0809E5AE
- strh r1, [r5]
- ldr r2, [r4]
- movs r0, 0x9
- b _0809E58E
- .align 2, 0
-_0809E51C: .4byte gUnknown_203B4B0
-_0809E520: .4byte gUnknown_2039DA4
-_0809E524:
- adds r0, r7, 0
- adds r0, 0x4C
- movs r4, 0
- ldrsh r6, [r0, r4]
- adds r5, r0, 0
- cmp r6, 0x1
- bne _0809E5B8
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 24
- lsrs r0, 24
- bl sub_8095228
- adds r4, r0, 0
- movs r0, 0x6
- bl sub_80023E4
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x4]
- ldr r4, _0809E578
- ldr r2, [r4]
- str r6, [sp]
- movs r1, 0
- bl sub_809034C
- adds r1, r0, 0
- ldr r0, _0809E57C
- str r1, [r0]
- cmp r1, 0x1
- beq _0809E586
- cmp r1, 0x1
- bcc _0809E580
- cmp r1, 0x2
- bne _0809E5AE
- strh r1, [r5]
- ldr r2, [r4]
- movs r0, 0x9
- b _0809E58E
- .align 2, 0
-_0809E578: .4byte gUnknown_203B4B0
-_0809E57C: .4byte gUnknown_2039DA4
-_0809E580:
- movs r0, 0x3
- strh r0, [r5]
- b _0809E9CC
-_0809E586:
- movs r0, 0x4
- strh r0, [r5]
- ldr r2, [r4]
- movs r0, 0xA
-_0809E58E:
- movs r1, 0x1
- bl sub_809B1C0
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_809D8EC
- lsls r0, 24
- cmp r0, 0
- bne _0809E5A4
- b _0809E9CC
-_0809E5A4:
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- b _0809E9CC
-_0809E5AE:
- ldr r0, _0809E5B4
- strh r0, [r5]
- b _0809E9CC
- .align 2, 0
-_0809E5B4: .4byte 0x0000ffff
-_0809E5B8:
- movs r6, 0
- ldrsh r2, [r5, r6]
- cmp r2, 0x2
- bne _0809E5DA
- add r0, sp, 0x12C
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E5CE
- b _0809E9D6
-_0809E5CE:
- add r0, sp, 0x12C
- ldr r0, [r0]
- cmp r0, 0
- beq _0809E626
- movs r0, 0x3
- b _0809E628
-_0809E5DA:
- cmp r2, 0x3
- bne _0809E614
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- strh r2, [r7, 0x26]
- add r0, sp, 0x4
- movs r6, 0x2
- ldrsh r0, [r0, r6]
- bl sub_80999FC
- movs r0, 0x70
- movs r1, 0
- bl GroundMap_ExecuteEvent
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _0809E608
- b _0809E9CC
-_0809E608:
- adds r0, r7, 0
- movs r1, 0x1
-_0809E60C:
- bl sub_80A2460
- str r0, [r7, 0x28]
- b _0809E9CC
-_0809E614:
- cmp r2, 0x4
- bne _0809E63C
- add r0, sp, 0x130
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E626
- b _0809E9D6
-_0809E626:
- ldr r0, _0809E638
-_0809E628:
- strh r0, [r5]
- movs r0, 0
- movs r1, 0
- bl sub_80A87AC
- bl sub_809A76C
- b _0809E9CC
- .align 2, 0
-_0809E638: .4byte 0x0000ffff
-_0809E63C:
- movs r0, 0
- movs r1, 0
- bl sub_8099220
- movs r4, 0x1
- negs r4, r4
- movs r0, 0
- movs r1, 0x13
- adds r2, r4, 0
- bl sub_80018D8
- adds r0, r7, 0
- adds r1, r4, 0
- b _0809E8EE
-_0809E658:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x134
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E672
- b _0809E9D6
-_0809E672:
- add r0, sp, 0x134
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809E6A4
- ldr r0, [sp, 0x8]
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E6A4
- adds r0, r1, 0
- bl sub_80A8D54
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _0809E6B0
-_0809E696:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _0809E696
-_0809E6A4:
- add r0, sp, 0x134
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
- .align 2, 0
-_0809E6B0: .4byte gUnknown_2039D98
-_0809E6B4:
- add r0, sp, 0x138
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E6C2
- b _0809E9D6
-_0809E6C2:
- add r4, sp, 0x138
- ldr r0, [r4]
- cmp r0, 0x1
- bne _0809E6D0
- ldr r0, _0809E6DC
- bl sub_80920EC
-_0809E6D0:
- ldr r1, [r4]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
- .align 2, 0
-_0809E6DC: .4byte gUnknown_2039D98
-_0809E6E0:
- movs r1, 0x2
- add r0, sp, 0x13C
- str r1, [r0]
- b _0809E74A
-_0809E6E8:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- ldr r5, [sp, 0x10]
- add r0, sp, 0x13C
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- bne _0809E704
- b _0809E9D6
-_0809E704:
- add r0, sp, 0x13C
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809E74A
- add r4, sp, 0x18
- ldr r0, _0809E758
- adds r3, r4, 0
- movs r2, 0
- mov r1, sp
- adds r1, 0x27
-_0809E718:
- strb r2, [r1]
- subs r1, 0x1
- cmp r1, r3
- bge _0809E718
- adds r1, r4, 0
- bl sub_80922F4
- movs r2, 0
- ldrb r0, [r4]
- ldrb r3, [r5]
- cmp r0, r3
- bne _0809E6E0
- cmp r0, 0
- beq _0809E74A
-_0809E734:
- adds r2, 0x1
- cmp r2, 0xF
- bgt _0809E74A
- adds r0, r4, r2
- adds r1, r5, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _0809E6E0
- cmp r0, 0
- bne _0809E734
-_0809E74A:
- add r0, sp, 0x13C
- ldr r1, [r0]
- adds r0, r7, 0
- bl sub_80A2460
- b _0809E8C8
- .align 2, 0
-_0809E758: .4byte gUnknown_2039D98
-_0809E75C:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r3, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bne _0809E76C
- b _0809E872
-_0809E76C:
- add r4, sp, 0xA0
- adds r0, r4, 0
- bl sub_809AFFC
- lsls r0, 24
- cmp r0, 0
- bne _0809E77C
- b _0809E9D6
-_0809E77C:
- ldrb r0, [r4]
- cmp r0, 0
- bne _0809E784
- b _0809E8CA
-_0809E784:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- b _0809E8C2
-_0809E798:
- add r1, sp, 0x4
- ldr r0, [r7, 0x40]
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, [r0]
- str r0, [r1]
- adds r2, r7, 0
- adds r2, 0x50
- movs r3, 0
- ldrsh r0, [r2, r3]
- adds r4, r2, 0
- cmp r0, 0
- bne _0809E84C
- movs r3, 0
- adds r0, r7, 0
- adds r0, 0x4C
- movs r5, 0
- ldrsh r2, [r0, r5]
- adds r5, r0, 0
- cmp r2, 0
- bge _0809E7CC
- ldr r0, [r7, 0x28]
- ldrb r0, [r0]
- cmp r0, 0xD1
- beq _0809E812
- b _0809E8F4
-_0809E7CC:
- ldr r1, [r7, 0x28]
- ldrb r0, [r1]
- cmp r0, 0xD0
- bne _0809E7F8
- movs r6, 0x2
- ldrsh r0, [r1, r6]
- cmp r0, r2
- beq _0809E812
-_0809E7DC:
- ldr r0, [r7, 0x28]
- adds r1, r0, 0
- adds r1, 0x10
- str r1, [r7, 0x28]
- ldrb r0, [r0, 0x10]
- cmp r0, 0xD0
- bne _0809E7F8
- movs r0, 0x2
- ldrsh r1, [r1, r0]
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _0809E7DC
- movs r3, 0x1
-_0809E7F8:
- cmp r3, 0
- bne _0809E812
- ldr r1, [r7, 0x28]
- ldrb r0, [r1]
- cmp r0, 0xD1
- bne _0809E8F4
-_0809E804:
- adds r0, r1, 0
- adds r1, 0x10
- str r1, [r7, 0x28]
- ldrb r0, [r0, 0x10]
- cmp r0, 0xD1
- beq _0809E804
- b _0809E8F4
-_0809E812:
- add r0, sp, 0x4
- ldrb r0, [r0, 0x1]
- ldr r1, [sp, 0x8]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [r7, 0x28]
- ldr r2, [r2, 0xC]
- bl sub_809AE90
- lsls r0, 24
- cmp r0, 0
- beq _0809E844
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- adds r0, r7, 0
- movs r1, 0
- bl sub_809D8EC
- lsls r0, 24
- cmp r0, 0
- beq _0809E844
- movs r0, 0x1
- strh r0, [r4]
-_0809E844:
- ldr r0, [r7, 0x28]
- adds r0, 0x10
- str r0, [r7, 0x28]
- b _0809E9CC
-_0809E84C:
- adds r0, r7, 0
- adds r0, 0x46
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E85E
- b _0809E9D6
-_0809E85E:
- movs r0, 0
- strh r0, [r2]
- b _0809E8D0
-_0809E864:
- adds r2, r7, 0
- adds r2, 0x50
- ldrh r3, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bne _0809E88A
-_0809E872:
- adds r0, r7, 0
- adds r0, 0x46
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E884
- b _0809E9D6
-_0809E884:
- adds r0, r3, 0x1
- strh r0, [r2]
- b _0809E9CC
-_0809E88A:
- add r0, sp, 0x140
- bl sub_809B18C
- lsls r0, 24
- cmp r0, 0
- bne _0809E898
- b _0809E9D6
-_0809E898:
- add r0, sp, 0x140
- ldr r3, [r0]
- cmp r3, 0
- ble _0809E8CA
- adds r0, r7, 0
- adds r0, 0x4C
- movs r6, 0
- ldrsh r2, [r0, r6]
- ldr r1, [r7, 0x40]
- lsls r0, r3, 4
- lsls r2, 4
- adds r2, r1
- add r1, sp, 0x4
- adds r0, r2
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, [r0]
- str r0, [r1]
- add r0, sp, 0x4
- movs r5, 0x2
- ldrsh r1, [r0, r5]
-_0809E8C2:
- adds r0, r7, 0
- bl sub_80A242C
-_0809E8C8:
- str r0, [r7, 0x28]
-_0809E8CA:
- movs r0, 0x3
- strh r0, [r7, 0x26]
-_0809E8CE:
- movs r0, 0
-_0809E8D0:
- movs r1, 0
- bl sub_80A87AC
- b _0809E9CC
-_0809E8D8:
- adds r0, r7, 0
- adds r0, 0x46
- movs r6, 0
- ldrsh r1, [r0, r6]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809E9D6
- ldr r0, _0809E8FC
- ldr r1, [r0, 0x4]
-_0809E8EC:
- adds r0, r7, 0
-_0809E8EE:
- bl sub_80A2460
- str r0, [r7, 0x28]
-_0809E8F4:
- movs r0, 0x3
- strh r0, [r7, 0x26]
- b _0809E9CC
- .align 2, 0
-_0809E8FC: .4byte gUnknown_2039B48
-_0809E900:
- adds r0, r7, 0
- bl ExecuteScriptCommand
- strh r0, [r7, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _0809E9BC
- lsls r0, 2
- ldr r1, _0809E91C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809E91C: .4byte _0809E920
- .align 2, 0
-_0809E920:
- .4byte _0809E934
- .4byte _0809E9B8
- .4byte _0809E9BC
- .4byte _0809E9D6
- .4byte _0809E9B4
-_0809E934:
- adds r0, r7, 0
- adds r0, 0x86
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0809E9AA
- adds r4, r7, 0
- adds r4, 0x84
- adds r0, r7, 0
- adds r0, 0x24
- adds r1, r4, 0
- movs r2, 0x60
- bl memcpy
- ldr r2, [r7]
- ldr r0, [r2, 0x2C]
- cmp r0, 0
- beq _0809E98E
- adds r5, r7, 0
- adds r5, 0x4A
- movs r1, 0
- ldrsb r1, [r5, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809E98E
- ldr r0, [r7, 0x4]
- add r1, sp, 0x144
- ldr r2, [r2, 0x18]
- bl _call_via_r2
- add r0, sp, 0x144
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- beq _0809E98E
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0
- ldrsb r1, [r5, r1]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
-_0809E98E:
- ldr r0, [r7]
- ldr r2, [r0, 0x30]
- cmp r2, 0
- beq _0809E9A2
- ldr r0, [r7, 0x4]
- adds r1, r7, 0
- adds r1, 0x48
- ldrh r1, [r1]
- bl _call_via_r2
-_0809E9A2:
- adds r0, r4, 0
- bl sub_809D568
- b _0809E9D6
-_0809E9AA:
- adds r0, r7, 0
- adds r0, 0x24
- bl sub_809D568
- b _0809E9D6
-_0809E9B4:
- movs r0, 0x4
- b _0809EABA
-_0809E9B8:
- movs r0, 0x1
- b _0809EABA
-_0809E9BC:
- adds r1, r7, 0
- adds r1, 0x50
- movs r0, 0
- strh r0, [r1]
- b _0809E9CC
-_0809E9C6:
- movs r2, 0x26
- ldrsh r0, [r7, r2]
- b _0809EABA
-_0809E9CC:
- movs r3, 0x1
- cmp r3, 0
- beq _0809E9D6
- bl _0809DA8A
-_0809E9D6:
- movs r0, 0x3
- b _0809EABA
-_0809E9DA:
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- add r4, sp, 0xCC
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- add r5, sp, 0xD4
- adds r1, r7, 0
- adds r1, 0x58
- adds r2, r7, 0
- adds r2, 0x60
- mov r6, r8
- movs r0, 0
- ldrsh r6, [r6, r0]
- mov r9, r6
- adds r6, r7, 0
- adds r6, 0x50
- movs r3, 0
- ldrsh r0, [r6, r3]
- str r0, [sp]
- adds r0, r5, 0
- mov r3, r9
- bl sub_8002934
- ldr r1, [r5]
- ldr r0, [r4]
- subs r1, r0
- add r0, sp, 0xDC
- str r1, [r0]
- ldr r1, [r5, 0x4]
- ldr r2, [r4, 0x4]
- subs r1, r2
- str r1, [r0, 0x4]
- bl sub_8002C60
- lsls r0, 24
- adds r2, r7, 0
- adds r2, 0x4A
- asrs r1, r0, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- mov r4, r8
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _0809E9D6
-_0809EA62:
- add r5, sp, 0xC4
- adds r1, r7, 0
- adds r1, 0x58
- adds r2, r7, 0
- adds r2, 0x60
- movs r3, 0
- ldrsh r0, [r6, r3]
- mov r8, r0
- adds r4, r7, 0
- adds r4, 0x50
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [sp]
- adds r0, r5, 0
- mov r3, r8
- bl sub_8002934
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- movs r1, 0x80
- lsls r1, 5
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- ldrh r0, [r6]
- subs r0, 0x1
- strh r0, [r6]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _0809E9D6
-_0809EAAC:
- subs r0, 0x1
- strh r0, [r2]
- b _0809E9D6
-_0809EAB2:
- subs r0, r2, 0x1
- strh r0, [r1]
- b _0809E9D6
-_0809EAB8:
- movs r0, 0
-_0809EABA:
- add sp, 0x148
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end HandleAction
-
- thumb_func_start ExecuteScriptCommand
-ExecuteScriptCommand:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1BC
- mov r9, r0
- movs r0, 0x24
- add r0, r9
- mov r10, r0
-_0809EAE0:
- mov r1, r10
- ldr r2, [r1, 0x4]
- str r2, [r1, 0x1C]
- add r1, sp, 0x8
- adds r0, r2, 0
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, [r0]
- str r0, [r1]
- adds r2, 0x10
- mov r0, r10
- str r2, [r0, 0x4]
- add r0, sp, 0x8
- ldrb r0, [r0]
- mov r1, r10
- adds r1, 0x20
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- adds r2, r1, 0
- cmp r0, 0xF5
- bhi _0809EAE0
- lsls r0, 2
- ldr r1, _0809EB18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809EB18: .4byte _0809EB1C
- .align 2, 0
-_0809EB1C:
- .4byte _0809EEF4
- .4byte _0809EF40
- .4byte _0809EFA2
- .4byte _0809EFD6
- .4byte _0809F064
- .4byte _0809F02A
- .4byte _0809F06C
- .4byte _0809F0D0
- .4byte _0809F0D0
- .4byte _0809F1FC
- .4byte _0809F2C8
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F2D6
- .4byte _0809F42A
- .4byte _0809F432
- .4byte _0809F43A
- .4byte _0809F442
- .4byte _0809F4FE
- .4byte _0809F5BE
- .4byte _0809F5AE
- .4byte _0809F5C6
- .4byte _0809F5C6
- .4byte _0809F660
- .4byte _0809F6EA
- .4byte _0809F786
- .4byte _0809F830
- .4byte _0809F842
- .4byte _0809F854
- .4byte _0809F872
- .4byte _0809F884
- .4byte _0809F896
- .4byte _0809F896
- .4byte _0809F8E8
- .4byte _0809F8F4
- .4byte _0809F900
- .4byte _0809F90C
- .4byte _0809F93E
- .4byte _0809FAF8
- .4byte _0809FB10
- .4byte _0809F92E
- .4byte _0809F936
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FB28
- .4byte _0809FBDA
- .4byte _0809FC12
- .4byte _0809FC40
- .4byte _0809FC2E
- .4byte _0809FC46
- .4byte _0809FCA4
- .4byte _0809FCC4
- .4byte _0809EAE0
- .4byte _080A0E3A
- .4byte _0809FCE8
- .4byte _0809FCF0
- .4byte _0809FD0A
- .4byte _0809FD38
- .4byte _0809FD6C
- .4byte _0809FDA0
- .4byte _0809FDA8
- .4byte _0809FDC2
- .4byte _0809FDD4
- .4byte _0809FDE2
- .4byte _0809FDC2
- .4byte _0809FDD4
- .4byte _0809FDE2
- .4byte _0809FE04
- .4byte _0809FE28
- .4byte _0809FE86
- .4byte _0809FEBE
- .4byte _0809FED0
- .4byte _0809FF00
- .4byte _0809FF32
- .4byte _0809FF46
- .4byte _0809FF62
- .4byte _0809FF78
- .4byte _0809FF9A
- .4byte _0809FFBA
- .4byte _0809FFE4
- .4byte _080A0010
- .4byte _080A0064
- .4byte _080A0096
- .4byte _080A010E
- .4byte _080A0186
- .4byte _080A0198
- .4byte _080A01B8
- .4byte _080A01F0
- .4byte _080A0220
- .4byte _080A0250
- .4byte _080A0282
- .4byte _080A0282
- .4byte _080A0560
- .4byte _080A0198
- .4byte _080A01B8
- .4byte _080A01F0
- .4byte _080A0220
- .4byte _080A0250
- .4byte _080A0282
- .4byte _080A0282
- .4byte _080A0560
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A02B2
- .4byte _080A0310
- .4byte _080A0370
- .4byte _080A03F8
- .4byte _080A0462
- .4byte _080A04F2
- .4byte _080A057C
- .4byte _080A05A4
- .4byte _080A05F0
- .4byte _080A060E
- .4byte _080A065C
- .4byte _080A068A
- .4byte _080A068A
- .4byte _080A068A
- .4byte _080A07CA
- .4byte _080A07DC
- .4byte _080A07C4
- .4byte _080A07C4
- .4byte _080A07C4
- .4byte _0809EAE0
- .4byte _080A080C
- .4byte _080A081E
- .4byte _080A086A
- .4byte _080A08BE
- .4byte _080A08CA
- .4byte _080A091E
- .4byte _080A0986
- .4byte _080A0998
- .4byte _080A09EA
- .4byte _080A0A52
- .4byte _080A0A64
- .4byte _080A0AB6
- .4byte _080A0B1E
- .4byte _080A0B30
- .4byte _080A0B42
- .4byte _080A0B54
- .4byte _080A0B6C
- .4byte _080A0B88
- .4byte _080A0BA2
- .4byte _080A0BB4
- .4byte _080A0BDA
- .4byte _080A0BF6
- .4byte _080A0C08
- .4byte _080A0C20
- .4byte _080A0C38
- .4byte _080A0C50
- .4byte _080A0C68
- .4byte _080A0C80
- .4byte _080A0C90
- .4byte _080A0CA2
- .4byte _080A0CC8
- .4byte _080A0CF2
- .4byte _080A0D16
- .4byte _080A0D40
- .4byte _080A0D6A
- .4byte _080A0D7A
- .4byte _080A0D94
- .4byte _080A0DAE
- .4byte _080A0DD6
- .4byte _080A0E08
- .4byte _080A0DE2
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _080A0E56
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _080A10A0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _080A10F8
- .4byte _0809EAE0
- .4byte _080A129E
- .4byte _080A12A8
- .4byte _080A12B4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _0809F0C4
- .4byte _080A12D0
- .4byte _080A12E6
- .4byte _080A12F4
- .4byte _080A1318
- .4byte _080A1324
- .4byte _080A1338
- .4byte _080A1344
- .4byte _080A1368
- .4byte _080A1374
- .4byte _080A13CA
- .4byte _080A13F8
- .4byte _080A1404
- .4byte _080A140C
- .4byte _080A1428
- .4byte _080A142C
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
- .4byte _0809EAE0
-_0809EEF4:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- adds r6, r4, 0
- add r0, sp, 0x8
- ldrb r5, [r0, 0x1]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809EF26
- ldr r1, _0809EF38
- ldr r2, _0809EF3C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r3, [r0]
- str r5, [sp]
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809EF26:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8098D1C
- b _0809EAE0
- .align 2, 0
-_0809EF38: .4byte gUnknown_81165D4
-_0809EF3C: .4byte gUnknown_811BAF4
-_0809EF40:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- movs r5, 0x1
- negs r5, r5
- cmp r4, r5
- bne _0809EF5A
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
-_0809EF5A:
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809EF70
- ldr r1, _0809EF90
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809EF70:
- cmp r4, r5
- beq _0809EF94
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8098E18
- mov r0, r9
- movs r1, 0x1
- bl sub_80A2460
- mov r3, r9
- str r0, [r3, 0x28]
- b _0809EAE0
- .align 2, 0
-_0809EF90: .4byte gUnknown_81165F4
-_0809EF94:
- mov r0, r9
- movs r1, 0
- bl sub_80A2460
- mov r4, r9
- str r0, [r4, 0x28]
- b _0809EAE0
-_0809EFA2:
- ldr r0, [sp, 0xC]
- bl sub_8021700
- lsls r0, 24
- cmp r0, 0
- beq _0809EFBE
- movs r1, 0x1
- negs r1, r1
- mov r0, r9
- bl sub_80A2460
- mov r5, r9
- str r0, [r5, 0x28]
- b _0809EAE0
-_0809EFBE:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_8098D80
- mov r0, r9
- movs r1, 0
- bl sub_80A2460
- mov r2, r9
- str r0, [r2, 0x28]
- b _0809EAE0
-_0809EFD6:
- ldr r1, [sp, 0xC]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809F00C
- bl sub_802FCF0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _0809F0BC
- movs r0, 0xC
- movs r1, 0
- movs r2, 0
- bl sub_809B1C0
- lsls r0, 24
- cmp r0, 0
- beq _0809F0BC
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- mov r0, r9
- adds r0, 0x4C
- strh r4, [r0]
- b _0809F0C4
-_0809F00C:
- lsls r0, r1, 16
- asrs r0, 16
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
-_0809F02A:
- ldr r2, [sp, 0xC]
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _0809F054
- movs r0, 0x24
- movs r1, 0
- movs r2, 0
- bl sub_809B1C0
- lsls r0, 24
- cmp r0, 0
- beq _0809F0BC
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0
- b _0809F0C2
-_0809F054:
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
-_0809F064:
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
-_0809F06C:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _0809F088
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
- b _0809F092
-_0809F088:
- movs r0, 0
- movs r1, 0x13
- adds r2, r4, 0
- bl sub_80018D8
-_0809F092:
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F0A8
- ldr r1, _0809F0B8
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809F0A8:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809F0BC
- mov r1, r9
- adds r1, 0x4C
- movs r0, 0x1
- b _0809F0C2
- .align 2, 0
-_0809F0B8: .4byte gUnknown_811660C
-_0809F0BC:
- mov r1, r9
- adds r1, 0x4C
- ldr r0, _0809F0CC
-_0809F0C2:
- strh r0, [r1]
-_0809F0C4:
- movs r0, 0x2
- bl _080A142E
- .align 2, 0
-_0809F0CC: .4byte 0x0000ffff
-_0809F0D0:
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _0809F130
- ldr r5, _0809F11C
- ldr r0, [sp, 0xC]
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A4D7C
- ldr r4, _0809F120
- strh r0, [r4]
- ldr r1, _0809F124
- strh r0, [r1]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F16A
- ldr r1, _0809F128
- movs r3, 0
- ldrsh r2, [r5, r3]
- movs r5, 0
- ldrsh r3, [r4, r5]
- ldr r4, _0809F12C
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- bl Log
- b _0809F16A
- .align 2, 0
-_0809F11C: .4byte gUnknown_2039A30
-_0809F120: .4byte gUnknown_2039A32
-_0809F124: .4byte gUnknown_2039A34
-_0809F128: .4byte gUnknown_8116628
-_0809F12C: .4byte gUnknown_811BAF4
-_0809F130:
- ldr r5, _0809F1E8
- ldr r4, _0809F1EC
- ldr r1, [sp, 0xC]
- strh r1, [r4]
- strh r1, [r5]
- ldr r0, _0809F1F0
- strh r1, [r0]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F16A
- ldr r1, _0809F1F4
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r4, 0
- ldrsh r3, [r5, r4]
- ldr r4, _0809F1F8
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- bl Log
-_0809F16A:
- ldr r5, _0809F1EC
- movs r0, 0
- ldrsh r2, [r5, r0]
- movs r0, 0
- movs r1, 0x10
- bl sub_80018D8
- ldr r6, _0809F1F8
- movs r2, 0
- ldrsh r1, [r5, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0
- movs r1, 0x11
- bl sub_80018D8
- ldr r4, _0809F1E8
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl GroundSprite_Reset
- bl sub_809D0BC
- bl sub_80AD9D0
- bl sub_80A786C
- bl sub_80ABB98
- bl sub_80ACBD4
- movs r2, 0
- ldrsh r0, [r5, r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- bl sub_809C770
- movs r5, 0
- ldrsh r0, [r4, r5]
- bl GroundMap_Select
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl GroundLink_Select
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r1, 0
- movs r2, 0
- bl GroundLives_Select
- movs r3, 0
- ldrsh r0, [r4, r3]
- b _0809F2A0
- .align 2, 0
-_0809F1E8: .4byte gUnknown_2039A32
-_0809F1EC: .4byte gUnknown_2039A30
-_0809F1F0: .4byte gUnknown_2039A34
-_0809F1F4: .4byte gUnknown_8116644
-_0809F1F8: .4byte gUnknown_811BAF4
-_0809F1FC:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- adds r6, r0, 0
- ldr r1, _0809F2AC
- ldr r5, _0809F2B0
- ldr r4, _0809F2B4
- ldr r0, [sp, 0x10]
- strh r0, [r4]
- strh r0, [r5]
- strh r0, [r1]
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F242
- ldr r1, _0809F2B8
- movs r0, 0
- ldrsh r2, [r4, r0]
- movs r4, 0
- ldrsh r3, [r5, r4]
- ldr r4, _0809F2BC
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r4, 0x8
- adds r0, r4
- ldr r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- bl Log
-_0809F242:
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl GroundSprite_Reset
- bl sub_809D0BC
- bl sub_80AD9D0
- bl sub_80A786C
- bl sub_80ABB98
- bl sub_80ACBD4
- ldrb r2, [r6, 0xC]
- ldr r1, _0809F2C0
- ldr r0, [sp, 0x58]
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x58]
- add r1, sp, 0x8
- ldrh r2, [r1, 0x2]
- lsls r2, 24
- lsrs r2, 16
- ldr r1, _0809F2C4
- ands r0, r1
- orrs r0, r2
- str r0, [sp, 0x58]
- movs r2, 0
- ldrsh r0, [r5, r2]
- add r1, sp, 0x58
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- bl GroundMap_SelectDungeon
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl GroundLink_Select
- movs r4, 0
- ldrsh r0, [r5, r4]
- movs r1, 0
- movs r2, 0
- bl GroundLives_Select
- movs r1, 0
- ldrsh r0, [r5, r1]
-_0809F2A0:
- movs r1, 0
- movs r2, 0
- bl GroundObject_Select
- b _0809EAE0
- .align 2, 0
-_0809F2AC: .4byte gUnknown_2039A34
-_0809F2B0: .4byte gUnknown_2039A32
-_0809F2B4: .4byte gUnknown_2039A30
-_0809F2B8: .4byte gUnknown_8116664
-_0809F2BC: .4byte gUnknown_811BAF4
-_0809F2C0: .4byte 0xffffff00
-_0809F2C4: .4byte 0xffff00ff
-_0809F2C8:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl GroundWeather_Select
- bl _0809EAE0
-_0809F2D6:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809F2E8
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- b _0809F2EE
-_0809F2E8:
- mov r3, r10
- movs r4, 0xC
- ldrsh r0, [r3, r4]
-_0809F2EE:
- adds r6, r0, 0
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F302
- add r0, sp, 0x8
- movs r1, 0x1
- ldrsb r1, [r0, r1]
- b _0809F308
-_0809F302:
- mov r5, r10
- movs r1, 0xE
- ldrsb r1, [r5, r1]
-_0809F308:
- adds r5, r1, 0
- add r0, sp, 0x8
- ldrb r0, [r0]
- subs r0, 0xC
- cmp r0, 0x9
- bls _0809F318
- bl _0809EAE0
-_0809F318:
- lsls r0, 2
- ldr r1, _0809F324
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809F324: .4byte _0809F328
- .align 2, 0
-_0809F328:
- .4byte _0809F350
- .4byte _0809F380
- .4byte _0809F398
- .4byte _0809F3B0
- .4byte _0809F3C8
- .4byte _0809F3E0
- .4byte _0809F3FA
- .4byte _0809F406
- .4byte _0809F412
- .4byte _0809F41E
-_0809F350:
- ldr r4, _0809F37C
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundLives_Select
- movs r2, 0
- ldrsh r0, [r4, r2]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundObject_Select
- movs r3, 0
- ldrsh r0, [r4, r3]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundEffect_Select
- movs r1, 0
- ldrsh r0, [r4, r1]
- b _0809F3CE
- .align 2, 0
-_0809F37C: .4byte gUnknown_2039A32
-_0809F380:
- ldr r0, _0809F394
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundLives_Select
- bl _0809EAE0
- .align 2, 0
-_0809F394: .4byte gUnknown_2039A32
-_0809F398:
- ldr r0, _0809F3AC
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundObject_Select
- bl _0809EAE0
- .align 2, 0
-_0809F3AC: .4byte gUnknown_2039A32
-_0809F3B0:
- ldr r0, _0809F3C4
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundEffect_Select
- bl _0809EAE0
- .align 2, 0
-_0809F3C4: .4byte gUnknown_2039A32
-_0809F3C8:
- ldr r0, _0809F3DC
- movs r1, 0
- ldrsh r0, [r0, r1]
-_0809F3CE:
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundEvent_Select
- bl _0809EAE0
- .align 2, 0
-_0809F3DC: .4byte gUnknown_2039A32
-_0809F3E0:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A7988
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80ABC5C
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80ACC98
- b _0809F41E
-_0809F3FA:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80A7988
- bl _0809EAE0
-_0809F406:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80ABC5C
- bl _0809EAE0
-_0809F412:
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80ACC98
- bl _0809EAE0
-_0809F41E:
- adds r0, r6, 0
- adds r1, r5, 0
- bl GroundEvent_Cancel
- bl _0809EAE0
-_0809F42A:
- bl sub_80A79FC
- bl _0809EAE0
-_0809F432:
- bl sub_80ABCCC
- bl _0809EAE0
-_0809F43A:
- bl sub_80ACD08
- bl _0809EAE0
-_0809F442:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0x18
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- add r6, sp, 0x1C
- ldr r0, [sp, 0x10]
- add r5, sp, 0x34
- movs r2, 0
- strb r0, [r5]
- ldrb r1, [r4]
- mov r0, sp
- adds r0, 0x35
- strb r1, [r0]
- adds r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- str r2, [sp, 0x38]
- add r4, sp, 0x3C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- bl memset
- ldr r2, _0809F4AC
- ldr r1, [sp, 0xC]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- str r0, [r4, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x18
- bl memcpy
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- adds r1, r6, 0
- cmp r0, 0
- blt _0809F4B0
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- b _0809F4B6
- .align 2, 0
-_0809F4AC: .4byte gUnknown_812F1F8
-_0809F4B0:
- mov r4, r10
- movs r5, 0xC
- ldrsh r2, [r4, r5]
-_0809F4B6:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F4C8
- add r0, sp, 0x8
- movs r3, 0x1
- ldrsb r3, [r0, r3]
- b _0809F4CE
-_0809F4C8:
- mov r0, r10
- movs r3, 0xE
- ldrsb r3, [r0, r3]
-_0809F4CE:
- movs r0, 0x1
- negs r0, r0
- bl GroundObject_Add
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- bge _0809F4E2
- bl _0809EAE0
-_0809F4E2:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0x5C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AC49C
- bl _0809EAE0
-_0809F4FE:
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- add r4, sp, 0x4C
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- add r5, sp, 0x1C
- ldr r0, [sp, 0x10]
- add r1, sp, 0x28
- movs r3, 0
- strb r0, [r1]
- ldrb r2, [r4]
- mov r0, sp
- adds r0, 0x29
- strb r2, [r0]
- adds r0, 0x1
- movs r2, 0x1
- strb r2, [r0]
- adds r0, 0x1
- strb r2, [r0]
- str r3, [sp, 0x2C]
- ldr r3, _0809F55C
- ldr r2, [sp, 0xC]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r3, 0x8
- adds r0, r3
- ldr r0, [r0]
- str r0, [sp, 0x30]
- adds r0, r5, 0
- movs r2, 0xC
- bl memcpy
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- adds r1, r5, 0
- cmp r0, 0
- blt _0809F560
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- b _0809F566
- .align 2, 0
-_0809F55C: .4byte gUnknown_812F1F8
-_0809F560:
- mov r5, r10
- movs r0, 0xC
- ldrsh r2, [r5, r0]
-_0809F566:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F578
- add r0, sp, 0x8
- movs r3, 0x1
- ldrsb r3, [r0, r3]
- b _0809F57E
-_0809F578:
- mov r4, r10
- movs r3, 0xE
- ldrsb r3, [r4, r3]
-_0809F57E:
- movs r0, 0x1
- negs r0, r0
- bl GroundEffect_Add
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- bge _0809F592
- bl _0809EAE0
-_0809F592:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- add r4, sp, 0x64
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AD3B4
- bl _0809EAE0
-_0809F5AE:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- movs r1, 0x1
- bl GroundMap_ExecuteEvent
- bl _0809EAE0
-_0809F5BE:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- b _0809F712
-_0809F5C6:
- ldr r1, [sp, 0xC]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809F5D6
- lsls r0, r1, 16
- asrs r0, 16
- b _0809F5DC
-_0809F5D6:
- ldr r0, _0809F5F0
- movs r3, 0
- ldrsh r0, [r0, r3]
-_0809F5DC:
- adds r4, r0, 0
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809F5F4
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- b _0809F5FA
- .align 2, 0
-_0809F5F0: .4byte gUnknown_2039A30
-_0809F5F4:
- mov r0, r10
- movs r2, 0xC
- ldrsh r1, [r0, r2]
-_0809F5FA:
- adds r6, r1, 0
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _0809F60E
- add r0, sp, 0x8
- movs r5, 0x1
- ldrsb r5, [r0, r5]
- b _0809F614
-_0809F60E:
- mov r3, r10
- movs r5, 0xE
- ldrsb r5, [r3, r5]
-_0809F614:
- adds r0, r4, 0
- bl sub_80A4D7C
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x1E
- bne _0809F62A
- movs r3, 0x1
-_0809F62A:
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl GroundMap_ExecuteStation
- ldr r1, _0809F65C
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r4
- bne _0809F642
- bl _0809EAE0
-_0809F642:
- strh r4, [r1]
- bl sub_809D940
- mov r1, r9
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0809F656
- bl _0809EAE0
-_0809F656:
- bl _080A142C
- .align 2, 0
-_0809F65C: .4byte gUnknown_2039A34
-_0809F660:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2608
- adds r5, r0, 0
- lsls r2, r4, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x30
- bl sub_8001784
- cmp r0, 0
- bne _0809F68A
- movs r3, 0x6
- ldrsh r5, [r5, r3]
- b _0809F68E
-_0809F68A:
- movs r0, 0x8
- ldrsh r5, [r5, r0]
-_0809F68E:
- adds r0, r4, 0
- subs r0, 0x37
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bls _0809F6DC
- adds r0, r4, 0
- bl sub_80A2750
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _0809F6DC
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0809F6D8
- movs r0, 0x1
- bl sub_8011BA4
- lsls r0, 24
- cmp r0, 0
- beq _0809F6C6
- ldr r1, _0809F6D4
- movs r0, 0x1
- adds r2, r4, 0
- bl Log
-_0809F6C6:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8098E18
- bl _0809EAE0
- .align 2, 0
-_0809F6D4: .4byte gUnknown_8116684
-_0809F6D8:
- adds r0, r5, 0
- b _0809F712
-_0809F6DC:
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- bl sub_8098E18
- bl _0809EAE0
-_0809F6EA:
- mov r1, r9
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _0809F71C
- cmp r0, 0x1
- bgt _0809F700
- cmp r0, 0
- beq _0809F70C
- bl _0809EAE0
-_0809F700:
- cmp r0, 0x2
- beq _0809F73E
- cmp r0, 0x3
- beq _0809F762
- bl _0809EAE0
-_0809F70C:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
-_0809F712:
- movs r1, 0
- bl GroundMap_ExecuteEvent
- bl _0809EAE0
-_0809F71C:
- add r4, sp, 0x1C
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- mov r0, r9
- adds r1, r4, 0
- bl sub_809D710
- mov r1, r9
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- adds r1, 0x8
- adds r2, r4, 0
- bl GroundLives_ExecuteScript
- bl _0809EAE0
-_0809F73E:
- add r4, sp, 0x28
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- mov r0, r9
- adds r1, r4, 0
- bl sub_809D710
- mov r5, r9
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- mov r1, r9
- adds r1, 0x8
- adds r2, r4, 0
- bl GroundObject_ExecuteScript
- bl _0809EAE0
-_0809F762:
- add r4, sp, 0x34
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- mov r0, r9
- adds r1, r4, 0
- bl sub_809D710
- mov r5, r9
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- mov r1, r9
- adds r1, 0x8
- adds r2, r4, 0
- bl GroundEffect_ExecuteScript
- bl _0809EAE0
-_0809F786:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- cmp r0, 0
- bge _0809F79E
- bl _0809EAE0
-_0809F79E:
- add r1, sp, 0x6C
- bl sub_80A8BD8
- ldr r0, [sp, 0x6C]
- movs r1, 0x80
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- beq _0809F818
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r7, sp, 0x70
- ldr r2, [r1, 0xC]
- adds r1, r7, 0
- bl _call_via_r2
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- add r5, sp, 0x78
- ldr r2, [r1, 0x8]
- adds r1, r5, 0
- bl _call_via_r2
- add r6, sp, 0x80
- mov r0, r8
- adds r1, r6, 0
- bl sub_80A8FD8
- add r4, sp, 0x88
- mov r0, r8
- adds r1, r4, 0
- bl sub_80A8F9C
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r7, 0
- adds r3, r5, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r1, r0, 24
- adds r4, r1, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809F812
- ldr r3, _0809F82C
- adds r0, r7, 0
- adds r1, r3, 0
- adds r2, r6, 0
- bl sub_8002D54
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, r4
- beq _0809F818
-_0809F812:
- mov r0, r8
- bl sub_80A9090
-_0809F818:
- mov r4, r9
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- mov r1, r8
- bl GroundLives_ExecutePlayerScriptActionLives
- movs r0, 0x3
- bl _080A142E
- .align 2, 0
-_0809F82C: .4byte gUnknown_81164DC
-_0809F830:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80999E8
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F842:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- bl sub_80999FC
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F854:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x10]
- lsls r2, 16
- lsrs r2, 16
- bl sub_8099A10
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F872:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- bl sub_8099A34
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F884:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_8099A48
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F896:
- ldr r0, [sp, 0x10]
- asrs r0, 16
- add r1, sp, 0x20
- movs r2, 0
- strb r0, [r1]
- ldr r0, [sp, 0x10]
- asrs r0, 8
- adds r1, 0x1
- strb r0, [r1]
- ldr r1, [sp, 0x10]
- mov r0, sp
- adds r0, 0x22
- strb r1, [r0]
- adds r0, 0x1
- strb r2, [r0]
- ldr r2, [sp, 0x20]
- str r2, [sp, 0x1C]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x27
- beq _0809F8C6
- cmp r0, 0x28
- beq _0809F8D4
- b _0809F8E0
-_0809F8C6:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- bl sub_8099A5C
- b _0809F8E0
-_0809F8D4:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0xC]
- bl sub_8099AFC
-_0809F8E0:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A130C
-_0809F8E8:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- bl sub_809A6E4
- bl _0809EAE0
-_0809F8F4:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- bl sub_809A6F8
- bl _0809EAE0
-_0809F900:
- ldr r0, [sp, 0xC]
- ldr r1, [sp, 0x10]
- bl sub_809A738
- bl _0809EAE0
-_0809F90C:
- bl sub_809A768
- lsls r0, 24
- cmp r0, 0
- bne _0809F91A
- bl _0809EAE0
-_0809F91A:
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- mov r0, r9
- movs r1, 0
- bl sub_809D8EC
- bl _080A130A
-_0809F92E:
- bl sub_809A76C
- bl _0809EAE0
-_0809F936:
- bl sub_809A7B4
- bl _0809EAE0
-_0809F93E:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0xA
- bls _0809F94A
- bl _0809EAE0
-_0809F94A:
- lsls r0, 2
- ldr r1, _0809F954
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809F954: .4byte _0809F958
- .align 2, 0
-_0809F958:
- .4byte _0809F984
- .4byte _0809F992
- .4byte _0809F9A4
- .4byte _0809F9B6
- .4byte _0809F9D8
- .4byte _0809F9EA
- .4byte _0809F9FC
- .4byte _0809FA44
- .4byte _0809FA56
- .4byte _0809FA68
- .4byte _0809FAB0
-_0809F984:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- bl sub_809A83C
- bl _0809EAE0
-_0809F992:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- mov r1, r9
- adds r1, 0x8
- bl sub_80A2500
- bl _0809EAE0
-_0809F9A4:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- mov r1, r9
- adds r1, 0xC
- bl sub_80A2500
- bl _0809EAE0
-_0809F9B6:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- add r1, sp, 0x90
- lsls r0, 16
- movs r2, 0x1
- orrs r0, r2
- str r0, [r1]
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- bl sub_80A2500
- bl _0809EAE0
-_0809F9D8:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- mov r1, r9
- adds r1, 0x8
- bl sub_80A252C
- bl _0809EAE0
-_0809F9EA:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- mov r1, r9
- adds r1, 0xC
- bl sub_80A252C
- bl _0809EAE0
-_0809F9FC:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- add r1, sp, 0x94
- ldrh r2, [r1]
- orrs r2, r0
- str r2, [r1]
- cmp r2, 0
- blt _0809FA30
- ldr r0, _0809FA2C
- ands r2, r0
- movs r0, 0x1
- orrs r2, r0
- str r2, [r1]
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_80A252C
- bl _0809EAE0
- .align 2, 0
-_0809FA2C: .4byte 0xffff0000
-_0809FA30:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- bl sub_80A2584
- bl _0809EAE0
-_0809FA44:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- mov r1, r9
- adds r1, 0x8
- bl sub_80A2558
- bl _0809EAE0
-_0809FA56:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- mov r1, r9
- adds r1, 0xC
- bl sub_80A2558
- bl _0809EAE0
-_0809FA68:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- add r1, sp, 0x98
- ldrh r2, [r1]
- orrs r2, r0
- str r2, [r1]
- cmp r2, 0
- blt _0809FA9C
- ldr r0, _0809FA98
- ands r2, r0
- movs r0, 0x1
- orrs r2, r0
- str r2, [r1]
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- bl sub_80A2558
- bl _0809EAE0
- .align 2, 0
-_0809FA98: .4byte 0xffff0000
-_0809FA9C:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- bl sub_80A2598
- bl _0809EAE0
-_0809FAB0:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2740
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _0809FAD0
- cmp r0, 0x2
- beq _0809FAD4
- b _0809FAD8
-_0809FAD0:
- movs r4, 0x1
- b _0809FAD8
-_0809FAD4:
- movs r4, 0x1
- negs r4, r4
-_0809FAD8:
- adds r0, r1, 0
- bl sub_8090298
- ldr r2, _0809FAF4
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- lsls r1, 2
- adds r1, r2
- adds r0, r4
- str r0, [r1]
- bl _0809EAE0
- .align 2, 0
-_0809FAF4: .4byte gUnknown_202DE30
-_0809FAF8:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- ldr r1, [sp, 0xC]
- lsls r1, 24
- asrs r1, 24
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- bl sub_809AC7C
- bl _0809EAE0
-_0809FB10:
- ldr r0, [sp, 0xC]
- add r1, sp, 0x9C
- str r0, [r1]
- ldr r0, [sp, 0x10]
- str r0, [r1, 0x4]
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_809ADD8
- bl _0809EAE0
-_0809FB28:
- movs r1, 0
- ldrb r0, [r2]
- subs r0, 0x32
- cmp r0, 0x6
- bhi _0809FBBE
- lsls r0, 2
- ldr r1, _0809FB3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809FB3C: .4byte _0809FB40
- .align 2, 0
-_0809FB40:
- .4byte _0809FB5C
- .4byte _0809FB6C
- .4byte _0809FB7C
- .4byte _0809FB8C
- .4byte _0809FB9C
- .4byte _0809FBAC
- .4byte _0809FBB4
-_0809FB5C:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldr r2, [sp, 0x14]
- movs r0, 0
- bl sub_809AE90
- b _0809FBBA
-_0809FB6C:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- ldr r2, [sp, 0x14]
- movs r0, 0x1
- bl sub_809AE90
- b _0809FBBA
-_0809FB7C:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- ldr r2, [sp, 0x14]
- movs r0, 0x2
- bl sub_809AE90
- b _0809FBBA
-_0809FB8C:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- ldr r2, [sp, 0x14]
- movs r0, 0x3
- bl sub_809AE90
- b _0809FBBA
-_0809FB9C:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldr r2, [sp, 0x14]
- movs r0, 0x4
- bl sub_809AE90
- b _0809FBBA
-_0809FBAC:
- ldr r0, [sp, 0x14]
- bl sub_809AEEC
- b _0809FBBA
-_0809FBB4:
- ldr r0, [sp, 0x14]
- bl sub_809AF2C
-_0809FBBA:
- lsls r0, 24
- lsrs r1, r0, 24
-_0809FBBE:
- cmp r1, 0
- bne _0809FBC6
- bl _0809EAE0
-_0809FBC6:
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- mov r0, r9
- movs r1, 0
- bl sub_809D8EC
- bl _080A130A
-_0809FBDA:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0x14]
- bl sub_809AF6C
- lsls r0, 24
- cmp r0, 0
- bne _0809FBF0
- bl _0809EAE0
-_0809FBF0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- bge _0809FBFE
- bl _0809EAE0
-_0809FBFE:
- movs r0, 0
- movs r1, 0xA
- bl sub_80A87AC
- mov r0, r9
- movs r1, 0
- bl sub_809D8EC
- bl _080A130A
-_0809FC12:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- lsls r2, 16
- asrs r2, 16
- ldr r3, [sp, 0x14]
- bl sub_809AFC8
- bl _080A1280
-_0809FC2E:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- bl sub_809B1D4
- bl _080A1292
-_0809FC40:
- movs r0, 0
- bl _080A0654
-_0809FC46:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809FC90
- adds r0, r1, 0
- bl sub_80A8D54
- cmp r0, 0
- bne _0809FC62
- bl _0809EAE0
-_0809FC62:
- movs r3, 0
- ldr r2, _0809FC8C
- adds r5, r2, 0
- adds r4, r0, 0
- adds r4, 0x4C
-_0809FC6C:
- adds r0, r3, r5
- adds r1, r4, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _0809FC6C
- movs r0, 0
- strb r0, [r2, 0xA]
- movs r0, 0x4
- movs r1, 0
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FC8C: .4byte gUnknown_2039D98
-_0809FC90:
- ldr r2, _0809FCA0
- movs r0, 0x4
- movs r1, 0x1
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FCA0: .4byte gUnknown_2039D98
-_0809FCA4:
- ldr r4, _0809FCC0
- adds r0, r4, 0
- bl sub_80920B8
- movs r0, 0
- strb r0, [r4, 0xA]
- movs r0, 0x5
- movs r1, 0
- adds r2, r4, 0
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FCC0: .4byte gUnknown_2039D98
-_0809FCC4:
- ldr r2, _0809FCE4
- adds r3, r2, 0
- movs r1, 0
- adds r0, r2, 0
- adds r0, 0xB
-_0809FCCE:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, r3
- bge _0809FCCE
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- movs r0, 0x6
- bl sub_809B1C0
- bl _080A1292
- .align 2, 0
-_0809FCE4: .4byte gUnknown_2039D98
-_0809FCE8:
- bl sub_80118A4
- bl _0809EAE0
-_0809FCF0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809FD00
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _0809FD02
-_0809FD00:
- movs r0, 0x1E
-_0809FD02:
- bl sub_80118C4
- bl _0809EAE0
-_0809FD0A:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0809FD1E
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80A25AC
- b _0809FD20
-_0809FD1E:
- ldr r0, [sp, 0xC]
-_0809FD20:
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0809FD34
- cmp r1, r0
- beq _0809FDA0
- adds r0, r1, 0
- bl sub_80118F0
- bl _0809EAE0
- .align 2, 0
-_0809FD34: .4byte 0x000003e7
-_0809FD38:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0809FD4C
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80A25AC
- b _0809FD4E
-_0809FD4C:
- ldr r0, [sp, 0xC]
-_0809FD4E:
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0809FD68
- cmp r2, r0
- beq _0809FDA0
- add r0, sp, 0x8
- ldrh r1, [r0, 0x2]
- adds r0, r2, 0
- bl sub_8011900
- bl _0809EAE0
- .align 2, 0
-_0809FD68: .4byte 0x000003e7
-_0809FD6C:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0809FD80
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80A25AC
- b _0809FD82
-_0809FD80:
- ldr r0, [sp, 0xC]
-_0809FD82:
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0809FD9C
- cmp r1, r0
- bne _0809FD90
- bl _0809EAE0
-_0809FD90:
- adds r0, r1, 0
- bl sub_8011914
- bl _0809EAE0
- .align 2, 0
-_0809FD9C: .4byte 0x000003e7
-_0809FDA0:
- bl sub_8011924
- bl _0809EAE0
-_0809FDA8:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809FDB8
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _0809FDBA
-_0809FDB8:
- movs r0, 0x1E
-_0809FDBA:
- bl sub_8011930
- bl _0809EAE0
-_0809FDC2:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8011974
- bl _0809EAE0
-_0809FDD4:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- bl sub_801199C
- bl _0809EAE0
-_0809FDE2:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- lsrs r2, r0, 16
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _0809FDF8
- add r0, sp, 0x8
- ldrh r1, [r0, 0x2]
- b _0809FDFA
-_0809FDF8:
- movs r1, 0x1E
-_0809FDFA:
- adds r0, r2, 0
- bl sub_80119AC
- bl _0809EAE0
-_0809FE04:
- mov r1, r9
- adds r1, 0x84
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0x1
- bne _0809FE16
- adds r0, r1, 0
- bl sub_809D568
-_0809FE16:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x1C]
- movs r1, 0
- bl _call_via_r2
- bl _0809EAE0
-_0809FE28:
- mov r0, r9
- adds r0, 0xC
- bl sub_809D52C
- adds r4, r0, 0
- cmp r4, 0
- bne _0809FE3A
- bl _0809EAE0
-_0809FE3A:
- ldr r1, [r4]
- mov r2, r9
- ldr r0, [r2, 0x4]
- add r5, sp, 0xA4
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r4]
- mov r3, r9
- ldr r0, [r3, 0x4]
- mov r4, sp
- adds r4, 0x4D
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- ldrb r0, [r4]
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r1, r9
- ldr r2, [r1]
- ldr r0, [r1, 0x4]
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- bl _0809EAE0
-_0809FE86:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r6, sp, 0xAC
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- add r4, sp, 0xB4
- add r5, sp, 0xBC
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80AD914
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r3, [r1, 0x20]
- adds r1, r4, 0
- adds r2, r5, 0
- bl _call_via_r3
- bl _0809EAE0
-_0809FEBE:
- mov r1, r9
- ldr r2, [r1]
- ldr r0, [r1, 0x4]
- ldr r1, [sp, 0xC]
- ldr r2, [r2, 0x3C]
- bl _call_via_r2
- bl _0809EAE0
-_0809FED0:
- ldr r0, [sp, 0xC]
- movs r1, 0x80
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- beq _0809FEEE
- mov r1, r9
- adds r1, 0x84
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _0809FEEE
- adds r0, r1, 0
- bl sub_809D568
-_0809FEEE:
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldr r1, [sp, 0xC]
- ldr r2, [r2, 0x40]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF00:
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- mov r1, r9
- adds r1, 0x4A
- ldr r2, [r2, 0x14]
- bl _call_via_r2
- add r0, sp, 0x8
- ldrh r1, [r0, 0x2]
- cmp r1, 0
- beq _0809FF1E
- mov r0, r9
- adds r0, 0x48
- strh r1, [r0]
-_0809FF1E:
- mov r5, r9
- ldr r2, [r5]
- ldr r0, [r5, 0x4]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- ldr r2, [r2, 0x30]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF32:
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- ldr r2, [r2, 0x34]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF46:
- mov r1, r9
- ldr r3, [r1]
- ldr r0, [r1, 0x4]
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- add r2, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r2, r4]
- ldr r3, [r3, 0x38]
- bl _call_via_r3
- bl _0809EAE0
-_0809FF62:
- mov r5, r9
- ldr r2, [r5]
- ldr r0, [r5, 0x4]
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- ldr r2, [r2, 0x44]
- bl _call_via_r2
- bl _0809EAE0
-_0809FF78:
- ldr r0, [sp, 0xC]
- lsls r0, 8
- add r1, sp, 0xC4
- str r0, [r1]
- ldr r0, [sp, 0x10]
- lsls r0, 8
- str r0, [r1, 0x4]
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- ldr r2, [r2, 0x24]
- bl _call_via_r2
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- mov r5, r10
- b _080A05EA
-_0809FF9A:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- lsls r0, 8
- add r1, sp, 0xCC
- str r0, [r1]
- ldr r0, [sp, 0xC]
- lsls r0, 8
- str r0, [r1, 0x4]
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldr r2, [r2, 0x48]
- bl _call_via_r2
- b _080A0650
-_0809FFBA:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl OtherRandomCapped
- lsls r0, 8
- add r4, sp, 0xD4
- str r0, [r4]
- ldr r0, [sp, 0xC]
- bl OtherRandomCapped
- lsls r0, 8
- str r0, [r4, 0x4]
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r4, 0
- bl _call_via_r2
- b _080A07B4
-_0809FFE4:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0xDC
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r4, 0
- bl _call_via_r2
- b _080A0650
-_080A0010:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- add r6, sp, 0xE4
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- add r4, sp, 0xEC
- add r5, sp, 0xF4
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80AD914
- ldr r0, [r5]
- ldr r1, [r4]
- subs r0, r1
- bl OtherRandomCapped
- ldr r1, [r4]
- adds r1, r0
- str r1, [r6]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x4]
- subs r0, r1
- bl OtherRandomCapped
- ldr r1, [r4, 0x4]
- adds r1, r0
- str r1, [r6, 0x4]
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r6, 0
- bl _call_via_r2
- b _080A07B4
-_080A0064:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080A007A
- bl _0809EAE0
-_080A007A:
- add r4, sp, 0xFC
- adds r1, r4, 0
- bl sub_80A8FD8
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r4, 0
- bl _call_via_r2
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- b _080A03F0
-_080A0096:
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x32
- bl sub_8001784
- add r5, sp, 0x104
- str r0, [r5]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x33
- bl sub_8001784
- str r0, [r5, 0x4]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x34
- bl sub_8001784
- adds r6, r0, 0
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- movs r1, 0x35
- bl sub_8001784
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 24
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r5, 0
- bl _call_via_r2
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- ldr r2, [r1, 0x28]
- adds r1, r6, 0
- bl _call_via_r2
- mov r0, r9
- adds r0, 0x4A
- strb r4, [r0]
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- ldr r2, [r1, 0x2C]
- adds r1, r4, 0
- bl _call_via_r2
- b _080A0650
-_080A010E:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- add r4, sp, 0x10C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r3, [r5]
- ldr r0, [r5, 0x4]
- add r1, sp, 0x114
- add r2, sp, 0x118
- ldr r3, [r3, 0x10]
- bl _call_via_r3
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- mov r5, sp
- adds r5, 0x4E
- ldr r2, [r1, 0x14]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- add r0, sp, 0x10C
- ldr r3, [r0]
- movs r0, 0
- movs r1, 0x32
- bl sub_800199C
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- ldr r3, [r4, 0x4]
- movs r0, 0
- movs r1, 0x33
- bl sub_800199C
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- add r0, sp, 0x114
- ldr r3, [r0]
- movs r0, 0
- movs r1, 0x34
- bl sub_800199C
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- movs r3, 0
- ldrsb r3, [r5, r3]
- movs r0, 0
- movs r1, 0x35
- bl sub_800199C
- bl _0809EAE0
-_080A0186:
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [sp, 0xC]
- lsls r1, 8
- ldr r2, [r2, 0x28]
- bl _call_via_r2
- b _080A07B4
-_080A0198:
- ldr r0, [sp, 0xC]
- lsls r0, 8
- mov r2, r10
- str r0, [r2, 0x3C]
- ldr r0, [sp, 0x10]
- lsls r0, 8
- str r0, [r2, 0x40]
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- str r0, [r2, 0x30]
- ldr r0, _080A01B4
- bl _080A12AE
- .align 2, 0
-_080A01B4: .4byte 0x0000ffff
-_080A01B8:
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r4, sp, 0x11C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r1, [sp, 0xC]
- lsls r1, 8
- add r0, sp, 0x11C
- ldr r0, [r0]
- adds r0, r1
- mov r5, r10
- str r0, [r5, 0x3C]
- ldr r1, [sp, 0x10]
- lsls r1, 8
- ldr r0, [r4, 0x4]
- adds r0, r1
- str r0, [r5, 0x40]
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- str r0, [r5, 0x30]
- ldr r0, _080A01EC
- b _080A05EA
- .align 2, 0
-_080A01EC: .4byte 0x0000ffff
-_080A01F0:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- mov r4, r10
- adds r4, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- mov r4, r10
- str r0, [r4, 0x30]
- ldr r0, _080A021C
- b _080A0656
- .align 2, 0
-_080A021C: .4byte 0x0000ffff
-_080A0220:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- mov r4, r10
- adds r4, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- mov r2, r10
- str r0, [r2, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A12AE
-_080A0250:
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- mov r4, r10
- adds r4, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- mov r5, r10
- str r0, [r5, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl OtherRandomCapped
- b _080A05EA
-_080A0282:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080A0298
- bl _0809EAE0
-_080A0298:
- mov r1, r10
- adds r1, 0x3C
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- mov r2, r10
- str r0, [r2, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- bl _080A12AE
-_080A02B2:
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r1, r0, 8
- mov r4, r10
- str r1, [r4, 0x3C]
- ldr r0, [sp, 0x10]
- lsls r2, r0, 8
- str r2, [r4, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x7D
- beq _080A02DC
- cmp r0, 0x83
- bne _080A0304
-_080A02DC:
- mov r5, r10
- ldr r0, [r5, 0x34]
- subs r0, r1, r0
- ldr r1, [r5, 0x38]
- subs r1, r2, r1
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl __divsi3
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0300
- bl _0809F0C4
-_080A0300:
- movs r0, 0x1
- b _080A05EA
-_080A0304:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r3, r10
- strh r0, [r3, 0x2A]
- bl _0809F0C4
-_080A0310:
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 8
- mov r5, r10
- ldr r4, [r5, 0x34]
- adds r3, r4, r0
- str r3, [r5, 0x3C]
- ldr r0, [sp, 0x10]
- lsls r0, 8
- ldr r2, [r5, 0x38]
- adds r1, r2, r0
- str r1, [r5, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x7E
- beq _080A0342
- cmp r0, 0x84
- bne _080A036A
-_080A0342:
- subs r0, r3, r4
- subs r1, r2
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl __divsi3
- mov r3, r10
- strh r0, [r3, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0362
- bl _0809F0C4
-_080A0362:
- movs r0, 0x1
- strh r0, [r3, 0x2A]
- bl _0809F0C4
-_080A036A:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A0654
-_080A0370:
- ldr r4, [sp, 0xC]
- lsls r4, 1
- subs r4, 0x1
- ldr r5, [sp, 0x10]
- lsls r5, 1
- subs r5, 0x1
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- adds r0, r4, 0
- bl OtherRandomCapped
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- subs r0, r1
- lsls r0, 8
- mov r3, r10
- ldr r1, [r3, 0x34]
- adds r1, r0
- str r1, [r3, 0x3C]
- adds r0, r5, 0
- bl OtherRandomCapped
- ldr r1, [sp, 0xC]
- subs r0, r1
- lsls r0, 8
- mov r4, r10
- ldr r3, [r4, 0x38]
- adds r2, r3, r0
- str r2, [r4, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x7F
- beq _080A03C4
- cmp r0, 0x85
- bne _080A03EC
-_080A03C4:
- mov r5, r10
- ldr r0, [r5, 0x3C]
- ldr r1, [r5, 0x34]
- subs r0, r1
- subs r1, r2, r3
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl __divsi3
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A03E8
- bl _0809F0C4
-_080A03E8:
- movs r0, 0x1
- b _080A05EA
-_080A03EC:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
-_080A03F0:
- mov r3, r10
- strh r0, [r3, 0x2A]
- bl _0809F0C4
-_080A03F8:
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- mov r5, r10
- ldr r0, [r5, 0x34]
- ldr r1, [r5, 0x38]
- mov r2, r10
- str r0, [r2, 0x3C]
- str r1, [r2, 0x40]
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- mov r1, r10
- adds r1, 0x3C
- bl sub_80AD8B4
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x80
- beq _080A042E
- cmp r0, 0x86
- bne _080A045C
-_080A042E:
- mov r3, r10
- ldr r0, [r3, 0x3C]
- ldr r1, [r3, 0x34]
- subs r0, r1
- ldr r1, [r3, 0x40]
- ldr r2, [r3, 0x38]
- subs r1, r2
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- bl __divsi3
- mov r5, r10
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0458
- bl _0809F0C4
-_080A0458:
- movs r0, 0x1
- b _080A05EA
-_080A045C:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A07B8
-_080A0462:
- ldr r4, [sp, 0xC]
- lsls r4, 1
- subs r4, 0x1
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- mov r5, r10
- adds r5, 0x3C
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r0, [sp, 0x10]
- lsls r0, 16
- asrs r0, 16
- adds r1, r5, 0
- bl sub_80AD8B4
- adds r0, r4, 0
- bl OtherRandomCapped
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- subs r0, r1
- lsls r0, 8
- mov r5, r10
- ldr r1, [r5, 0x3C]
- adds r1, r0
- str r1, [r5, 0x3C]
- adds r0, r4, 0
- bl OtherRandomCapped
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- subs r0, r1
- lsls r0, 8
- ldr r1, [r5, 0x40]
- adds r2, r1, r0
- str r2, [r5, 0x40]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x81
- beq _080A04C0
- cmp r0, 0x87
- bne _080A04EC
-_080A04C0:
- mov r3, r10
- ldr r0, [r3, 0x3C]
- ldr r1, [r3, 0x34]
- subs r0, r1
- ldr r1, [r3, 0x38]
- subs r1, r2, r1
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- bl __divsi3
- mov r5, r10
- strh r0, [r5, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A04E8
- bl _0809F0C4
-_080A04E8:
- movs r0, 0x1
- b _080A05EA
-_080A04EC:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A07B8
-_080A04F2:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- bge _080A0508
- bl _0809EAE0
-_080A0508:
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- mov r1, r10
- adds r1, 0x34
- ldr r2, [r2, 0xC]
- bl _call_via_r2
- mov r1, r10
- adds r1, 0x3C
- adds r0, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x82
- beq _080A052E
- cmp r0, 0x88
- bne _080A055A
-_080A052E:
- mov r4, r10
- ldr r0, [r4, 0x3C]
- ldr r1, [r4, 0x34]
- subs r0, r1
- ldr r1, [r4, 0x40]
- ldr r2, [r4, 0x38]
- subs r1, r2
- bl sub_8009FB8
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- bl __divsi3
- strh r0, [r4, 0x2A]
- lsls r0, 16
- cmp r0, 0
- ble _080A0556
- bl _0809F0C4
-_080A0556:
- movs r0, 0x1
- b _080A0656
-_080A055A:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- b _080A07B8
-_080A0560:
- ldr r0, [sp, 0xC]
- lsls r0, 8
- mov r2, r10
- str r0, [r2, 0x48]
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- str r0, [r2, 0x30]
- ldr r0, _080A0578
- bl _080A12AE
- .align 2, 0
-_080A0578: .4byte 0x0000ffff
-_080A057C:
- ldr r1, [sp, 0xC]
- mov r0, r9
- adds r0, 0x4A
- strb r1, [r0]
- mov r4, r9
- ldr r2, [r4]
- ldr r0, [r4, 0x4]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- mov r1, r10
- str r0, [r1, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- b _080A07BA
-_080A05A4:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- mov r4, sp
- adds r4, 0x4F
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r0, 0
- ldrsb r0, [r4, r0]
- ldr r1, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- mov r5, r10
- str r0, [r5, 0x30]
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
-_080A05EA:
- strh r0, [r5, 0x2A]
- bl _0809F0C4
-_080A05F0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
-_080A0600:
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
- b _080A07B4
-_080A060E:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080A0650
- add r4, sp, 0x50
- adds r1, r4, 0
- bl sub_80A9050
- movs r0, 0
- ldrsb r0, [r4, r0]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
-_080A0650:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
-_080A0654:
- mov r4, r10
-_080A0656:
- strh r0, [r4, 0x2A]
- bl _0809F0C4
-_080A065C:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- mov r4, sp
- adds r4, 0x51
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r0, 0
- ldrsb r0, [r4, r0]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- ldr r2, [r5]
- ldr r0, [r5, 0x4]
- b _080A0600
-_080A068A:
- movs r5, 0
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0x8F
- beq _080A06CA
- cmp r0, 0x8F
- bgt _080A069E
- cmp r0, 0x8E
- beq _080A06A4
- b _080A0724
-_080A069E:
- cmp r0, 0x90
- beq _080A06F8
- b _080A0724
-_080A06A4:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _080A0724
- movs r5, 0x1
- add r1, sp, 0x124
- adds r0, r4, 0
- bl sub_80A8FD8
- add r1, sp, 0x12C
- adds r0, r4, 0
- bl sub_80A8F9C
- b _080A0724
-_080A06CA:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080A0724
- movs r5, 0x1
- add r1, sp, 0x124
- bl sub_80A8FD8
- ldr r0, _080A06F4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- add r2, sp, 0x12C
- str r0, [r2]
- str r1, [r2, 0x4]
- b _080A0724
- .align 2, 0
-_080A06F4: .4byte gUnknown_81164DC
-_080A06F8:
- movs r5, 0x1
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- add r4, sp, 0x124
- ldr r2, [r1, 0xC]
- adds r1, r4, 0
- bl _call_via_r2
- mov r3, r9
- ldr r2, [r3]
- ldr r0, [r3, 0x4]
- add r1, sp, 0x12C
- ldr r2, [r2, 0x8]
- bl _call_via_r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r1, r4, 0
- bl sub_80AD8B4
-_080A0724:
- cmp r5, 0
- beq _080A07B4
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r5, sp, 0x134
- ldr r2, [r1, 0xC]
- adds r1, r5, 0
- bl _call_via_r2
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r4, sp, 0x13C
- ldr r2, [r1, 0x8]
- adds r1, r4, 0
- bl _call_via_r2
- add r7, sp, 0x124
- add r3, sp, 0x12C
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_8002DF0
- mov r1, sp
- adds r1, 0x52
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- ldrsb r4, [r1, r4]
- adds r6, r1, 0
- cmp r4, r0
- bne _080A078C
- ldr r3, _080A07C0
- adds r0, r5, 0
- adds r1, r3, 0
- adds r2, r7, 0
- bl sub_8002D54
- strb r0, [r6]
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, r4
- bne _080A078C
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r2, [r1, 0x14]
- adds r1, r6, 0
- bl _call_via_r2
-_080A078C:
- movs r0, 0
- ldrsb r0, [r6, r0]
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x4A
- strb r0, [r1]
- mov r0, r9
- ldr r2, [r0]
- ldr r0, [r0, 0x4]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, [r2, 0x2C]
- bl _call_via_r2
-_080A07B4:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
-_080A07B8:
- mov r1, r10
-_080A07BA:
- strh r0, [r1, 0x2A]
- bl _0809F0C4
- .align 2, 0
-_080A07C0: .4byte gUnknown_81164DC
-_080A07C4:
- movs r0, 0
- bl _080A12AC
-_080A07CA:
- ldr r0, [sp, 0xC]
- mov r1, r9
- adds r1, 0x71
- movs r2, 0
- strb r0, [r1]
- mov r3, r10
- strh r2, [r3, 0x2A]
- bl _0809F0C4
-_080A07DC:
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- mov r4, sp
- adds r4, 0x53
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r0, 0
- ldrsb r0, [r4, r0]
- ldr r1, [sp, 0xC]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8002984
- mov r1, r9
- adds r1, 0x71
- movs r2, 0
- strb r0, [r1]
- mov r5, r10
- strh r2, [r5, 0x2A]
- bl _0809F0C4
-_080A080C:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_809D124
- bl _0809EAE0
-_080A081E:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- mov r3, r9
- movs r4, 0x8
- ldrsh r0, [r3, r4]
- cmp r0, 0x2
- beq _080A0856
- cmp r0, 0x2
- bgt _080A0844
- cmp r0, 0x1
- beq _080A084C
- bl _0809EAE0
-_080A0844:
- cmp r0, 0x3
- beq _080A0860
- bl _0809EAE0
-_080A084C:
- movs r0, 0x1
- bl sub_809D170
- bl _0809EAE0
-_080A0856:
- movs r0, 0x2
- bl sub_809D170
- bl _0809EAE0
-_080A0860:
- movs r0, 0x3
- bl sub_809D170
- bl _0809EAE0
-_080A086A:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- cmp r1, 0x2
- beq _080A08A0
- cmp r1, 0x2
- bgt _080A088E
- cmp r1, 0x1
- beq _080A0896
- bl _0809EAE0
-_080A088E:
- cmp r1, 0x3
- beq _080A08AA
- bl _0809EAE0
-_080A0896:
- add r4, sp, 0x144
- adds r1, r4, 0
- bl sub_80A8FD8
- b _080A08B2
-_080A08A0:
- add r4, sp, 0x144
- adds r1, r4, 0
- bl sub_80AC448
- b _080A08B2
-_080A08AA:
- add r4, sp, 0x144
- adds r1, r4, 0
- bl sub_80AD360
-_080A08B2:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D158
- bl _0809EAE0
-_080A08BE:
- movs r0, 0x1
- movs r1, 0
- bl sub_809D170
- bl _0809EAE0
-_080A08CA:
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bge _080A08E2
- bl _0809EAE0
-_080A08E2:
- mov r4, r9
- movs r5, 0x8
- ldrsh r0, [r4, r5]
- cmp r0, 0x2
- beq _080A090A
- cmp r0, 0x2
- bgt _080A08F8
- cmp r0, 0x1
- beq _080A0900
- bl _0809EAE0
-_080A08F8:
- cmp r0, 0x3
- beq _080A0914
- bl _0809EAE0
-_080A0900:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0x1
- b _080A0990
-_080A090A:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x2
- b _080A0990
-_080A0914:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0x3
- b _080A0990
-_080A091E:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- mov r2, r9
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- cmp r1, 0x2
- beq _080A095C
- cmp r1, 0x2
- bgt _080A0944
- cmp r1, 0x1
- beq _080A094C
- bl _0809EAE0
-_080A0944:
- cmp r1, 0x3
- beq _080A096C
- bl _0809EAE0
-_080A094C:
- add r4, sp, 0x14C
- adds r1, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- b _080A097A
-_080A095C:
- add r4, sp, 0x14C
- adds r1, r4, 0
- bl sub_80AC448
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- b _080A097A
-_080A096C:
- add r4, sp, 0x14C
- adds r1, r4, 0
- bl sub_80AD360
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
-_080A097A:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D190
- bl _0809F0C4
-_080A0986:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x1
- movs r1, 0
-_080A0990:
- bl sub_809D1A8
- bl _0809F0C4
-_080A0998:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bge _080A09B0
- bl _0809EAE0
-_080A09B0:
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- beq _080A09D6
- cmp r0, 0x2
- bgt _080A09C4
- cmp r0, 0x1
- beq _080A09CC
- bl _0809EAE0
-_080A09C4:
- cmp r0, 0x3
- beq _080A09E0
- bl _0809EAE0
-_080A09CC:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0x1
- b _080A0A5C
-_080A09D6:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x2
- b _080A0A5C
-_080A09E0:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0x3
- b _080A0A5C
-_080A09EA:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- mov r2, r9
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- cmp r1, 0x2
- beq _080A0A28
- cmp r1, 0x2
- bgt _080A0A10
- cmp r1, 0x1
- beq _080A0A18
- bl _0809EAE0
-_080A0A10:
- cmp r1, 0x3
- beq _080A0A38
- bl _0809EAE0
-_080A0A18:
- add r4, sp, 0x154
- adds r1, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- b _080A0A46
-_080A0A28:
- add r4, sp, 0x154
- adds r1, r4, 0
- bl sub_80AC448
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- b _080A0A46
-_080A0A38:
- add r4, sp, 0x154
- adds r1, r4, 0
- bl sub_80AD360
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
-_080A0A46:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D1CC
- bl _0809F0C4
-_080A0A52:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x1
- movs r1, 0
-_080A0A5C:
- bl sub_809D1E4
- bl _0809F0C4
-_080A0A64:
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bge _080A0A7C
- bl _0809EAE0
-_080A0A7C:
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r0, 0x2
- beq _080A0AA2
- cmp r0, 0x2
- bgt _080A0A90
- cmp r0, 0x1
- beq _080A0A98
- bl _0809EAE0
-_080A0A90:
- cmp r0, 0x3
- beq _080A0AAC
- bl _0809EAE0
-_080A0A98:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- movs r0, 0x1
- b _080A0B28
-_080A0AA2:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x2
- b _080A0B28
-_080A0AAC:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0x3
- b _080A0B28
-_080A0AB6:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- ldr r1, [r1, 0x4]
- bl _call_via_r1
- lsls r0, 16
- asrs r0, 16
- mov r2, r9
- movs r3, 0x8
- ldrsh r1, [r2, r3]
- cmp r1, 0x2
- beq _080A0AF4
- cmp r1, 0x2
- bgt _080A0ADC
- cmp r1, 0x1
- beq _080A0AE4
- bl _0809EAE0
-_080A0ADC:
- cmp r1, 0x3
- beq _080A0B04
- bl _0809EAE0
-_080A0AE4:
- add r4, sp, 0x15C
- adds r1, r4, 0
- bl sub_80A8FD8
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- b _080A0B12
-_080A0AF4:
- add r4, sp, 0x15C
- adds r1, r4, 0
- bl sub_80AC448
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r2, [r0, r1]
- b _080A0B12
-_080A0B04:
- add r4, sp, 0x15C
- adds r1, r4, 0
- bl sub_80AD360
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
-_080A0B12:
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D208
- bl _0809F0C4
-_080A0B1E:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0x1
- movs r1, 0
-_080A0B28:
- bl sub_809D220
- bl _0809F0C4
-_080A0B30:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- bl sub_8001570
- bl _0809EAE0
-_080A0B42:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl sub_80015C0
- bl _0809EAE0
-_080A0B54:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r1, r3]
- ldr r2, [sp, 0xC]
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_800226C
- bl _0809EAE0
-_080A0B6C:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- asrs r2, 16
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_80022A0
- bl _0809EAE0
-_080A0B88:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- ldr r2, [sp, 0xC]
- lsls r2, 16
- lsrs r2, 16
- ldr r3, [sp, 0x10]
- bl sub_800199C
- bl _0809EAE0
-_080A0BA2:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001BB4
- bl _0809EAE0
-_080A0BB4:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- add r1, sp, 0x164
- add r2, sp, 0x168
- bl sub_8001B88
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- add r1, sp, 0x164
- ldr r1, [r1]
- add r2, sp, 0x168
- ldr r2, [r2]
- adds r2, 0x1
- bl sub_8001BB4
- bl _0809EAE0
-_080A0BDA:
- ldr r2, [sp, 0xC]
- movs r0, 0
- movs r1, 0x13
- bl sub_80018D8
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r2, [r0, r4]
- movs r0, 0
- movs r1, 0x16
- bl sub_80018D8
- bl _0809EAE0
-_080A0BF6:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r2, [r0, r5]
- movs r0, 0
- movs r1, 0x1C
- bl sub_80018D8
- bl _0809EAE0
-_080A0C08:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_80026E8
- bl _0809EAE0
-_080A0C20:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r0, [r0, r2]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_809733C
- bl _0809EAE0
-_080A0C38:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_80973A8
- bl _0809EAE0
-_080A0C50:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_8097418
- bl _0809EAE0
-_080A0C68:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- add r1, sp, 0x8
- ldrb r2, [r1, 0x1]
- negs r1, r2
- orrs r1, r2
- lsrs r1, 31
- bl sub_80975A8
- bl _0809EAE0
-_080A0C80:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80976F8
- bl _0809EAE0
-_080A0C90:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- ldr r2, [sp, 0xC]
- movs r0, 0
- movs r3, 0x2
- bl sub_80022F8
- b _080A0E1E
-_080A0CA2:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [sp, 0x10]
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_80022F8
- lsls r0, 24
- cmp r0, 0
- bne _080A0CC0
- bl _0809EAE0
-_080A0CC0:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- b _080A0D5C
-_080A0CC8:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [sp, 0x10]
- lsls r2, 16
- asrs r2, 16
- add r3, sp, 0x8
- ldrb r3, [r3, 0x1]
- bl sub_8002318
- lsls r0, 24
- cmp r0, 0
- bne _080A0CEA
- bl _0809EAE0
-_080A0CEA:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- b _080A0E2C
-_080A0CF2:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- ldr r2, [sp, 0x10]
- lsls r2, 16
- lsrs r2, 16
- bl sub_8001784
- cmp r0, 0
- bne _080A0D0E
- bl _0809EAE0
-_080A0D0E:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- b _080A0D5C
-_080A0D16:
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- bl sub_8001AB0
- ldr r1, [sp, 0x10]
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- bne _080A0D38
- bl _0809EAE0
-_080A0D38:
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- b _080A0E2C
-_080A0D40:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- bne _080A0D58
- bl _0809EAE0
-_080A0D58:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
-_080A0D5C:
- mov r0, r9
- bl sub_80A242C
- mov r5, r10
- str r0, [r5, 0x4]
- bl _0809EAE0
-_080A0D6A:
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001D08
- b _080A0DBA
-_080A0D7A:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x10]
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- bne _080A0D92
- bl _0809EAE0
-_080A0D92:
- b _080A0DF6
-_080A0D94:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A0DA8
- bl _0809EAE0
-_080A0DA8:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- b _080A132A
-_080A0DAE:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8098100
-_080A0DBA:
- lsls r0, 24
- cmp r0, 0
- bne _080A0DC4
- bl _0809EAE0
-_080A0DC4:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- mov r0, r9
- bl sub_80A242C
- mov r2, r10
- str r0, [r2, 0x4]
- bl _0809EAE0
-_080A0DD6:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80026CC
- b _080A0E1E
-_080A0DE2:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_809CBA4
- cmp r0, 0
- bgt _080A0DF6
- bl _0809EAE0
-_080A0DF6:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
- mov r0, r9
- bl sub_80A242C
- mov r4, r10
- str r0, [r4, 0x4]
- bl _0809EAE0
-_080A0E08:
- mov r5, r9
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080A0E16
- bl _0809EAE0
-_080A0E16:
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- bl sub_80A8C98
-_080A0E1E:
- lsls r0, 24
- cmp r0, 0
- bne _080A0E28
- bl _0809EAE0
-_080A0E28:
- add r0, sp, 0x8
- ldrb r1, [r0, 0x1]
-_080A0E2C:
- mov r0, r9
- bl sub_80A242C
- mov r3, r10
- str r0, [r3, 0x4]
- bl _0809EAE0
-_080A0E3A:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091130
- cmp r0, 0
- bge _080A0E4E
- bl _0809EAE0
-_080A0E4E:
- bl sub_80911F8
- bl _0809EAE0
-_080A0E56:
- add r0, sp, 0x8
- ldrb r2, [r0]
- adds r0, r2, 0
- subs r0, 0xC0
- cmp r0, 0xB
- bls _080A0E64
- b _080A1088
-_080A0E64:
- lsls r0, 2
- ldr r1, _080A0E70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A0E70: .4byte _080A0E74
- .align 2, 0
-_080A0E74:
- .4byte _080A0EA4
- .4byte _080A0EB6
- .4byte _080A0ECC
- .4byte _080A0EFA
- .4byte _080A0F08
- .4byte _080A0F14
- .4byte _080A0F26
- .4byte _080A0F36
- .4byte _080A0F98
- .4byte _080A1008
- .4byte _080A0F4C
- .4byte _080A107A
-_080A0EA4:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r1, r4]
- bl sub_8001658
- adds r1, r0, 0
- b _080A1098
-_080A0EB6:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r1, r5]
- bl sub_8001658
- ldr r1, [sp, 0xC]
- add r2, sp, 0x8
- ldrb r2, [r2, 0x1]
- b _080A0EF2
-_080A0ECC:
- mov r4, r10
- adds r4, 0x50
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8001658
- adds r5, r0, 0
- ldr r1, [sp, 0xC]
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8001658
- adds r1, r0, 0
- add r0, sp, 0x8
- ldrb r2, [r0, 0x1]
- adds r0, r5, 0
-_080A0EF2:
- bl FlagCalc
- adds r1, r0, 0
- b _080A1098
-_080A0EFA:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- bl OtherRandomCapped
- adds r1, r0, 0
- b _080A1098
-_080A0F08:
- add r0, sp, 0x8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- movs r0, 0
- movs r2, 0
- b _080A0F1E
-_080A0F14:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- movs r0, 0
- movs r2, 0x1
-_080A0F1E:
- bl sub_8001784
- adds r1, r0, 0
- b _080A1098
-_080A0F26:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A8C2C
- lsls r0, 16
- asrs r1, r0, 16
- b _080A1098
-_080A0F36:
- mov r0, r9
- ldr r1, [r0]
- ldr r0, [r0, 0x4]
- add r4, sp, 0x54
- ldr r2, [r1, 0x14]
- adds r1, r4, 0
- bl _call_via_r2
- movs r1, 0
- ldrsb r1, [r4, r1]
- b _080A1098
-_080A0F4C:
- mov r2, r9
- ldr r1, [r2]
- ldr r0, [r2, 0x4]
- movs r3, 0xB6
- lsls r3, 1
- add r3, sp
- mov r8, r3
- ldr r2, [r1, 0xC]
- mov r1, r8
- bl _call_via_r2
- add r6, sp, 0x16C
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- add r4, sp, 0x174
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- adds r5, r4, 0
- adds r1, r5, 0
- bl sub_80AD8B4
- ldr r1, [r4]
- ldr r0, [r6]
- subs r1, r0
- add r0, sp, 0x17C
- str r1, [r0]
- ldr r1, [r5, 0x4]
- mov r4, r8
- ldr r0, [r4, 0x4]
- subs r1, r0
- add r0, sp, 0x17C
- str r1, [r0, 0x4]
- bl sub_8002C60
- b _080A106A
-_080A0F98:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r6, r0, 16
- cmp r6, 0
- blt _080A1074
- mov r5, r9
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- movs r2, 0xC2
- lsls r2, 1
- add r2, sp
- mov r8, r2
- ldr r2, [r1, 0xC]
- mov r1, r8
- bl _call_via_r2
- ldr r1, [r5]
- ldr r0, [r5, 0x4]
- add r5, sp, 0x18C
- ldr r2, [r1, 0x8]
- adds r1, r5, 0
- bl _call_via_r2
- add r7, sp, 0x194
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80A8FD8
- add r4, sp, 0x19C
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80A8F9C
- mov r0, r8
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A1098
- ldr r3, _080A1004
- mov r0, r8
- adds r1, r3, 0
- adds r2, r7, 0
- b _080A1066
- .align 2, 0
-_080A1004: .4byte gUnknown_81164DC
-_080A1008:
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r7, r0, 16
- cmp r7, 0
- blt _080A1074
- mov r3, r9
- ldr r1, [r3]
- ldr r0, [r3, 0x4]
- add r6, sp, 0x1A4
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- mov r4, r9
- ldr r1, [r4]
- ldr r0, [r4, 0x4]
- add r4, sp, 0x1AC
- ldr r2, [r1, 0x8]
- adds r1, r4, 0
- bl _call_via_r2
- add r5, sp, 0x1B4
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80A8FD8
- ldr r7, _080A1070
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r7, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A1098
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r5, 0
- adds r3, r7, 0
-_080A1066:
- bl sub_8002D54
-_080A106A:
- lsls r0, 24
- asrs r1, r0, 24
- b _080A1098
- .align 2, 0
-_080A1070: .4byte gUnknown_81164DC
-_080A1074:
- movs r1, 0x1
- negs r1, r1
- b _080A1098
-_080A107A:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r0, [r0, r5]
- bl sub_809CC90
- adds r1, r0, 0
- b _080A1098
-_080A1088:
- ldr r0, _080A1090
- ldr r1, _080A1094
- bl FatalError
- .align 2, 0
-_080A1090: .4byte gUnknown_81166B4
-_080A1094: .4byte gUnknown_81166C0
-_080A1098:
- mov r0, r9
- bl sub_80A2460
- b _080A1330
-_080A10A0:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl sub_8001658
- adds r2, r0, 0
- mov r3, r10
- strh r2, [r3, 0x28]
- ldr r1, [r3, 0x4]
- ldrb r0, [r1]
- cmp r0, 0xD0
- bne _080A10DE
- lsls r0, r2, 16
- asrs r3, r0, 16
-_080A10C0:
- adds r2, r1, 0
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, r3
- bne _080A10CE
- bl _0809F0C4
-_080A10CE:
- adds r0, r1, 0
- adds r0, 0x10
- mov r5, r10
- str r0, [r5, 0x4]
- adds r1, r0, 0
- ldrb r0, [r2, 0x10]
- cmp r0, 0xD0
- beq _080A10C0
-_080A10DE:
- mov r1, r10
- ldr r0, [r1, 0x4]
- ldrb r0, [r0]
- cmp r0, 0xD1
- beq _080A10EC
- bl _0809EAE0
-_080A10EC:
- ldr r0, _080A10F4
- strh r0, [r1, 0x28]
- bl _0809F0C4
- .align 2, 0
-_080A10F4: .4byte 0x0000ffff
-_080A10F8:
- ldr r7, [sp, 0x14]
- ldr r1, _080A11F0
- movs r0, 0
- str r0, [r1]
- mov r2, r10
- strh r0, [r2, 0x28]
- add r0, sp, 0x8
- ldrb r0, [r0]
- cmp r0, 0xD8
- bgt _080A1176
- cmp r0, 0xD6
- blt _080A1176
- mov r0, r10
- adds r0, 0x50
- ldr r1, [sp, 0x10]
- lsls r1, 16
- asrs r1, 16
- bl sub_8001658
- adds r3, r0, 0
- mov r4, r10
- ldr r1, [r4, 0x4]
- ldrb r0, [r1]
- cmp r0, 0xD0
- bne _080A114E
-_080A112A:
- adds r2, r1, 0
- movs r5, 0x2
- ldrsh r0, [r2, r5]
- cmp r0, r3
- bne _080A1136
- ldr r7, [r2, 0xC]
-_080A1136:
- adds r0, r1, 0
- adds r0, 0x10
- mov r1, r10
- str r0, [r1, 0x4]
- ldrh r1, [r1, 0x28]
- adds r1, 0x1
- mov r4, r10
- strh r1, [r4, 0x28]
- adds r1, r0, 0
- ldrb r0, [r2, 0x10]
- cmp r0, 0xD0
- beq _080A112A
-_080A114E:
- mov r5, r10
- ldr r1, [r5, 0x4]
- ldrb r0, [r1]
- cmp r0, 0xD1
- bne _080A1176
-_080A1158:
- cmp r7, 0
- bne _080A115E
- ldr r7, [r1, 0xC]
-_080A115E:
- mov r0, r10
- ldr r2, [r0, 0x4]
- adds r1, r2, 0
- adds r1, 0x10
- str r1, [r0, 0x4]
- ldrh r0, [r0, 0x28]
- adds r0, 0x1
- mov r3, r10
- strh r0, [r3, 0x28]
- ldrb r0, [r2, 0x10]
- cmp r0, 0xD1
- beq _080A1158
-_080A1176:
- cmp r7, 0
- bne _080A117C
- ldr r7, _080A11F4
-_080A117C:
- mov r4, r10
- ldr r5, [r4, 0x4]
- ldrb r0, [r5]
- cmp r0, 0xD9
- bne _080A11B8
- ldr r0, _080A11F8
- mov r8, r0
- ldr r6, _080A11F0
- movs r1, 0x4
- add r1, r8
- mov r12, r1
-_080A1192:
- ldr r1, [r6]
- lsls r2, r1, 3
- mov r4, r8
- adds r3, r2, r4
- adds r4, r5, 0
- ldr r0, [r4, 0xC]
- str r0, [r3]
- add r2, r12
- adds r1, 0x1
- str r1, [r2]
- str r1, [r6]
- adds r0, r4, 0
- adds r0, 0x10
- mov r5, r10
- str r0, [r5, 0x4]
- adds r5, r0, 0
- ldrb r0, [r4, 0x10]
- cmp r0, 0xD9
- beq _080A1192
-_080A11B8:
- ldr r0, _080A11F0
- ldr r1, [r0]
- cmp r1, 0
- bgt _080A11C4
- bl _0809EAE0
-_080A11C4:
- ldr r3, _080A11F8
- lsls r2, r1, 3
- adds r1, r2, r3
- movs r0, 0
- str r0, [r1]
- adds r0, r3, 0x4
- adds r2, r0
- add r0, sp, 0x8
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- str r0, [r2]
- add r0, sp, 0x8
- ldrb r0, [r0]
- subs r0, 0xD2
- cmp r0, 0x6
- bhi _080A1280
- lsls r0, 2
- ldr r1, _080A11FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A11F0: .4byte gUnknown_203B4AC
-_080A11F4: .4byte gUnknown_81166D8
-_080A11F8: .4byte gUnknown_2039D50
-_080A11FC: .4byte _080A1200
- .align 2, 0
-_080A1200:
- .4byte _080A121C
- .4byte _080A121C
- .4byte _080A123E
- .4byte _080A1260
- .4byte _080A121C
- .4byte _080A123E
- .4byte _080A1260
-_080A121C:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- movs r2, 0x1
- negs r2, r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- str r7, [sp, 0x4]
- adds r0, r3, 0
- movs r3, 0
- bl sub_809B028
- b _080A1280
-_080A123E:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- movs r2, 0x1
- negs r2, r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- str r7, [sp, 0x4]
- adds r0, r3, 0
- movs r3, 0x1
- bl sub_809B028
- b _080A1280
-_080A1260:
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- movs r2, 0x1
- negs r2, r2
- ldr r0, [sp, 0xC]
- lsls r0, 16
- asrs r0, 16
- str r0, [sp]
- str r7, [sp, 0x4]
- adds r0, r3, 0
- movs r3, 0x2
- bl sub_809B028
-_080A1280:
- mov r0, r9
- movs r1, 0x1
- bl sub_809D8EC
- lsls r0, 24
- cmp r0, 0
- bne _080A1292
- bl _0809EAE0
-_080A1292:
- movs r0, 0
- movs r1, 0xB
- bl sub_80A87AC
- bl _0809F0C4
-_080A129E:
- mov r0, r9
- movs r1, 0x1
- bl sub_809D8EC
- b _080A130A
-_080A12A8:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
-_080A12AC:
- mov r2, r10
-_080A12AE:
- strh r0, [r2, 0x2A]
- bl _0809F0C4
-_080A12B4:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- ldr r0, [sp, 0xC]
- subs r0, r1
- bl OtherRandomCapped
- add r1, sp, 0x8
- ldrh r1, [r1, 0x2]
- adds r1, r0
- mov r4, r10
- strh r1, [r4, 0x2A]
- bl _0809F0C4
-_080A12D0:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r5, r10
- strh r0, [r5, 0x28]
- add r0, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- mov r0, r9
- bl sub_809D8EC
- b _080A130A
-_080A12E6:
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r0, [r0, r3]
- bl sub_809D9B8
- bl _0809EAE0
-_080A12F4:
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- mov r4, r10
- strh r0, [r4, 0x28]
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- ldrb r2, [r0, 0x1]
- mov r0, r9
- bl sub_809DA08
-_080A130A:
- lsls r0, 24
-_080A130C:
- cmp r0, 0
- bne _080A1314
- bl _0809EAE0
-_080A1314:
- bl _0809F0C4
-_080A1318:
- mov r1, r10
- adds r1, 0x10
- mov r0, r10
- adds r0, 0x4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080A1324:
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
-_080A132A:
- mov r0, r9
- bl sub_80A242C
-_080A1330:
- mov r1, r10
- str r0, [r1, 0x4]
- bl _0809EAE0
-_080A1338:
- mov r1, r10
- adds r1, 0x10
- mov r0, r10
- adds r0, 0x4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080A1344:
- ldr r2, _080A1364
- add r0, sp, 0x8
- movs r5, 0x2
- ldrsh r1, [r0, r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- mov r1, r10
- str r0, [r1, 0x4]
- str r0, [r1, 0x8]
- bl _0809EAE0
- .align 2, 0
-_080A1364: .4byte gUnknown_812F1F8
-_080A1368:
- mov r1, r10
- adds r1, 0x10
- mov r0, r10
- adds r0, 0x4
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
-_080A1374:
- ldr r0, _080A138C
- movs r5, 0
- ldrsh r1, [r0, r5]
- add r0, sp, 0x8
- ldrh r0, [r0, 0x2]
- lsls r0, 16
- cmp r0, 0
- blt _080A1390
- add r0, sp, 0x8
- movs r3, 0x2
- ldrsh r2, [r0, r3]
- b _080A1396
- .align 2, 0
-_080A138C: .4byte gUnknown_2039A34
-_080A1390:
- mov r4, r10
- movs r5, 0xC
- ldrsh r2, [r4, r5]
-_080A1396:
- adds r5, r2, 0
- add r0, sp, 0x8
- ldrb r0, [r0, 0x1]
- lsls r0, 24
- cmp r0, 0
- blt _080A13AA
- add r0, sp, 0x8
- movs r4, 0x1
- ldrsb r4, [r0, r4]
- b _080A13B0
-_080A13AA:
- mov r0, r10
- movs r4, 0xE
- ldrsb r4, [r0, r4]
-_080A13B0:
- add r0, sp, 0x1C
- adds r2, r5, 0
- adds r3, r4, 0
- bl GroundMap_GetStationScript
- ldr r0, [sp, 0x1C]
- mov r1, r10
- str r0, [r1, 0x4]
- str r0, [r1, 0x8]
- strh r5, [r1, 0xC]
- strb r4, [r1, 0xE]
- bl _0809EAE0
-_080A13CA:
- mov r0, r10
- adds r0, 0x50
- add r1, sp, 0x8
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A4D7C
- ldr r4, _080A13F4
- strh r0, [r4]
- bl sub_809D940
- movs r3, 0
- ldrsh r0, [r4, r3]
- bl GroundMap_ExecuteEnter
- bl _0809EAE0
- .align 2, 0
-_080A13F4: .4byte gUnknown_2039A34
-_080A13F8:
- movs r0, 0
- mov r4, r10
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- bl _0809EAE0
-_080A1404:
- mov r5, r10
- ldr r0, [r5, 0x10]
- cmp r0, 0
- bne _080A1410
-_080A140C:
- movs r0, 0
- b _080A142E
-_080A1410:
- mov r0, r10
- adds r0, 0x4
- mov r1, r10
- adds r1, 0x10
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- movs r0, 0
- mov r5, r10
- str r0, [r5, 0x10]
- str r0, [r5, 0x14]
- bl _0809EAE0
-_080A1428:
- movs r0, 0x1
- b _080A142E
-_080A142C:
- movs r0, 0x4
-_080A142E:
- add sp, 0x1BC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ExecuteScriptCommand
-
- thumb_func_start sub_80A1440
-sub_80A1440:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A14E8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A1440
-
- thumb_func_start GroundScript_ExecuteTrigger
-GroundScript_ExecuteTrigger:
- push {r4,r5,lr}
- sub sp, 0xF4
- lsls r0, 16
- asrs r4, r0, 16
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- ldr r1, _080A14C8
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0xB
- bne _080A14C4
- add r5, sp, 0x10
- ldr r1, _080A14CC
- movs r0, 0
- str r0, [sp]
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_809D600
- movs r0, 0
- add r1, sp, 0x4
- adds r2, r4, 0
- bl sub_809D710
- ldr r3, _080A14D0
- adds r0, r5, 0
- movs r1, 0
- add r2, sp, 0x4
- bl GroundScript_ExecutePP
- add r1, sp, 0x44
- add r0, sp, 0x38
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldr r0, _080A14D4
- str r0, [r5, 0x34]
- str r0, [r5, 0x38]
- ldr r1, _080A14D8
- adds r0, r5, 0
- bl HandleAction
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r5, 0
- bl sub_809D648
- cmp r4, 0
- beq _080A14DC
-_080A14C4:
- movs r0, 0
- b _080A14DE
- .align 2, 0
-_080A14C8: .4byte gUnknown_812F1F8
-_080A14CC: .4byte gUnknown_8116488
-_080A14D0: .4byte gUnknown_81166F8
-_080A14D4: .4byte gUnknown_81164E4
-_080A14D8: .4byte gUnknown_8116704
-_080A14DC:
- movs r0, 0x1
-_080A14DE:
- add sp, 0xF4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GroundScript_ExecuteTrigger
-
- thumb_func_start sub_80A14E8
-sub_80A14E8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r4, _080A1514
- add sp, r4
- adds r6, r0, 0
- adds r5, r2, 0
- adds r7, r3, 0
- lsls r1, 24
- lsrs r1, 24
- subs r0, r1, 0x1
- cmp r0, 0x49
- bls _080A1508
- bl _080A236A
-_080A1508:
- lsls r0, 2
- ldr r1, _080A1518
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A1514: .4byte 0xfffffc80
-_080A1518: .4byte _080A151C
- .align 2, 0
-_080A151C:
- .4byte _080A1644
- .4byte _080A164C
- .4byte _080A1672
- .4byte _080A167A
- .4byte _080A1680
- .4byte _080A1688
- .4byte _080A1690
- .4byte _080A1698
- .4byte _080A169E
- .4byte _080A16C6
- .4byte _080A1730
- .4byte _080A1756
- .4byte _080A178C
- .4byte _080A1792
- .4byte _080A17C0
- .4byte _080A17C6
- .4byte _080A1800
- .4byte _080A1814
- .4byte _080A1824
- .4byte _080A1840
- .4byte _080A185E
- .4byte _080A18C2
- .4byte _080A18E2
- .4byte _080A18F2
- .4byte _080A1904
- .4byte _080A197C
- .4byte _080A1988
- .4byte _080A19DC
- .4byte _080A19FC
- .4byte _080A1A0E
- .4byte _080A1A18
- .4byte _080A1A70
- .4byte _080A1AF8
- .4byte _080A1B20
- .4byte _080A1B36
- .4byte _080A1B58
- .4byte _080A1B64
- .4byte _080A1BD8
- .4byte _080A1BE4
- .4byte _080A1C30
- .4byte _080A1C84
- .4byte _080A1DEC
- .4byte _080A1E30
- .4byte _080A1E3C
- .4byte _080A1ED0
- .4byte _080A1ED6
- .4byte _080A1F28
- .4byte _080A1F3C
- .4byte _080A1F44
- .4byte _080A1F50
- .4byte _080A1F80
- .4byte _080A1FDA
- .4byte _080A202C
- .4byte _080A2054
- .4byte _080A2060
- .4byte _080A204A
- .4byte _080A206C
- .4byte _080A2076
- .4byte _080A207C
- .4byte _080A2082
- .4byte _080A20D4
- .4byte _080A20F4
- .4byte _080A21E4
- .4byte _080A228C
- .4byte _080A229E
- .4byte _080A2298
- .4byte _080A22AE
- .4byte _080A22CC
- .4byte _080A22E4
- .4byte _080A2304
- .4byte _080A2320
- .4byte _080A232E
- .4byte _080A233A
- .4byte _080A2346
-_080A1644:
- bl sub_8098C58
- bl _080A236A
-_080A164C:
- bl sub_8011C34
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080A1660
- bl Random
- bl sub_8011C40
-_080A1660:
- movs r0, 0x1
- bl sub_8011C28
- bl sub_8001064
- bl sub_809965C
- bl _080A236A
-_080A1672:
- bl sub_8098CC8
- bl _080A236A
-_080A167A:
- bl sub_80961D8
- b _080A1804
-_080A1680:
- bl sub_8096028
- bl _080A236A
-_080A1688:
- bl sub_80963FC
- bl _080A236A
-_080A1690:
- bl sub_8096488
- bl _080A236A
-_080A1698:
- bl sub_80964B4
- b _080A1804
-_080A169E:
- movs r0, 0x8
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A16B0
- bl sub_808D4B0
- b _080A16B4
-_080A16B0:
- bl sub_808D500
-_080A16B4:
- lsls r0, 24
- lsrs r4, r0, 24
- bl nullsub_104
- negs r0, r4
- orrs r0, r4
- lsrs r0, 31
- bl _080A236C
-_080A16C6:
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- beq _080A16D2
- bl _080A236A
-_080A16D2:
- movs r2, 0xE
- ldrsh r0, [r6, r2]
- add r1, sp, 0x314
- bl sub_80A8C4C
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080A16E8
- bl _080A236A
-_080A16E8:
- add r0, sp, 0x314
- ldrb r0, [r0]
- cmp r0, 0x44
- bne _080A16FC
- movs r0, 0x82
- lsls r0, 1
- cmp r1, r0
- bne _080A16FC
- bl _080A203C
-_080A16FC:
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- bl sub_80A90C8
- lsls r0, 16
- ldr r1, _080A172C
- asrs r0, 14
- adds r0, r1
- ldr r1, [r0]
- add r0, sp, 0x4
- bl strcpy
- movs r0, 0
- movs r1, 0x1
- add r2, sp, 0x4
- bl sub_809AE90
-_080A171E:
- lsls r0, 24
-_080A1720:
- cmp r0, 0
- beq _080A1726
- b _080A1EBE
-_080A1726:
- bl _080A236A
- .align 2, 0
-_080A172C: .4byte gUnknown_813237C
-_080A1730:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2740
- lsls r0, 24
- lsrs r0, 24
- bl sub_80969D0
- movs r1, 0
- cmp r0, 0
- ble _080A1750
- movs r1, 0x1
-_080A1750:
- adds r0, r1, 0
- bl _080A236C
-_080A1756:
- add r4, sp, 0x104
- adds r0, r4, 0
- bl sub_8099394
- lsls r0, 24
- cmp r0, 0
- bne _080A1768
- bl _080A236A
-_080A1768:
- ldr r0, _080A1788
- ldr r1, [r0]
- ldrb r2, [r4]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 4
- adds r1, r0
- adds r1, 0x2C
- movs r0, 0
- ldrsb r0, [r1, r0]
-_080A177C:
- cmp r0, 0
- ble _080A1782
- b _080A1EBE
-_080A1782:
- bl _080A236A
- .align 2, 0
-_080A1788: .4byte gUnknown_203B480
-_080A178C:
- bl sub_8097640
- b _080A1804
-_080A1792:
- movs r5, 0x11
-_080A1794:
- lsls r4, r5, 16
- asrs r0, r4, 16
- bl sub_809758C
- lsls r0, 24
- cmp r0, 0
- beq _080A17B6
- lsrs r4, 16
- movs r0, 0
- movs r1, 0x2F
- adds r2, r4, 0
- bl sub_8001784
- cmp r0, 0
- bne _080A17B6
- bl _080A234E
-_080A17B6:
- adds r5, 0x1
- cmp r5, 0x16
- ble _080A1794
- bl _080A236A
-_080A17C0:
- bl sub_80964E4
- b _080A1804
-_080A17C6:
- movs r4, 0x8
- ldrsh r0, [r6, r4]
- cmp r0, 0x1
- beq _080A17D2
- bl _080A236A
-_080A17D2:
- movs r5, 0xA
- ldrsh r0, [r6, r5]
- cmp r0, 0
- beq _080A17DE
- bl _080A236A
-_080A17DE:
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- beq _080A17EA
- bl _080A236A
-_080A17EA:
- movs r2, 0xA
- ldrsh r4, [r6, r2]
- movs r3, 0xE
- ldrsh r0, [r6, r3]
- bl sub_80A8E9C
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80A87E0
- b _080A171E
-_080A1800:
- bl sub_80A8D20
-_080A1804:
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- bl _080A236C
-_080A1814:
- ldr r0, _080A1820
- ldrh r0, [r0]
- movs r1, 0xC0
- lsls r1, 2
- ands r0, r1
- b _080A1720
- .align 2, 0
-_080A1820: .4byte gUnknown_20255F0
-_080A1824:
- lsls r0, r5, 16
- asrs r0, 16
- bl sub_80A8D54
- cmp r0, 0
- bne _080A1834
- bl _080A236A
-_080A1834:
- ldrh r0, [r0]
- lsrs r0, 1
- movs r1, 0x1
- ands r0, r1
- bl _080A236C
-_080A1840:
- movs r4, 0x8
- ldrsh r0, [r6, r4]
- cmp r0, 0x1
- beq _080A184C
- bl _080A236A
-_080A184C:
- movs r5, 0xA
- ldrsh r0, [r6, r5]
- bl sub_80A8BFC
- lsls r0, 16
- asrs r0, 16
- bl sub_808DB48
- b _080A171E
-_080A185E:
- lsls r0, r5, 16
- asrs r0, 16
- bl sub_80A7AE8
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- bge _080A1872
- bl _080A236A
-_080A1872:
- lsls r4, r7, 8
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- add r7, sp, 0x318
- ldr r2, [r1, 0xC]
- adds r1, r7, 0
- bl _call_via_r2
- add r6, sp, 0x320
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80A8FD8
- add r0, sp, 0x318
- ldr r3, [r0]
- subs r1, r3, r4
- add r0, sp, 0x320
- ldr r2, [r0]
- cmp r1, r2
- ble _080A189E
- bl _080A236A
-_080A189E:
- adds r0, r3, r4
- cmp r0, r2
- bge _080A18A8
- bl _080A236A
-_080A18A8:
- ldr r2, [r7, 0x4]
- subs r0, r2, r4
- ldr r1, [r6, 0x4]
- cmp r0, r1
- ble _080A18B6
- bl _080A236A
-_080A18B6:
- adds r0, r2, r4
- cmp r0, r1
- blt _080A18BE
- b _080A1EBE
-_080A18BE:
- bl _080A236A
-_080A18C2:
- movs r0, 0x1
- bl sub_80A8D54
- cmp r0, 0
- bne _080A18D0
- bl _080A236A
-_080A18D0:
- adds r1, r0, 0
- adds r1, 0x4C
- movs r2, 0
- adds r0, 0x55
-_080A18D8:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080A18D8
- b _080A1EBE
-_080A18E2:
- movs r0, 0xC
- bl sub_80925EC
- movs r0, 0x12
- bl sub_80925EC
- bl _080A236A
-_080A18F2:
- ldr r0, _080A1900
- movs r1, 0x3C
-_080A18F6:
- movs r2, 0xA
- bl sub_80A8F50
- bl _080A236A
- .align 2, 0
-_080A1900: .4byte gUnknown_2039D98
-_080A1904:
- movs r0, 0x51
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
- add r1, sp, 0x4
- ldr r0, _080A1970
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r4,r6}
- stm r1!, {r2,r4,r6}
- ldm r0!, {r3,r4,r6}
- stm r1!, {r3,r4,r6}
- ldr r0, [r0]
- str r0, [r1]
- add r4, sp, 0x2C
- adds r0, r4, 0
- add r1, sp, 0x4
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A193C
- b _080A1EBE
-_080A193C:
- movs r3, 0
- ldr r1, _080A1974
- mov r8, r1
- lsls r6, r5, 2
- ldr r2, _080A1978
- adds r4, r0, 0
- adds r4, 0x4C
- mov r7, r8
-_080A194C:
- adds r0, r4, r3
- adds r1, r3, r7
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _080A194C
-_080A195A:
- adds r0, r6, r5
- lsls r0, 4
- adds r0, r2
- mov r1, r8
- movs r2, 0xA
- bl sub_80922B4
-_080A1968:
- bl sub_8097848
- bl _080A236A
- .align 2, 0
-_080A1970: .4byte gUnknown_8116710
-_080A1974: .4byte gUnknown_2039D98
-_080A1978: .4byte gUnknown_202E2B8
-_080A197C:
- ldr r0, _080A1984
- movs r1, 0x53
- b _080A18F6
- .align 2, 0
-_080A1984: .4byte gUnknown_2039D98
-_080A1988:
- ldr r0, _080A19D4
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
- add r1, sp, 0x84
- adds r2, r1, 0
- ldr r0, _080A19D8
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0xAC
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- adds r4, r0, 0
- cmp r4, 0
- bne _080A19C2
- b _080A1EBE
-_080A19C2:
- bl sub_8097848
- ldrh r1, [r4]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r4]
- bl _080A236A
- .align 2, 0
-_080A19D4: .4byte 0x00000183
-_080A19D8: .4byte gUnknown_8116738
-_080A19DC:
- ldr r0, _080A19F8
- movs r1, 0
- bl sub_808D434
- adds r2, r0, 0
- cmp r2, 0
- bne _080A19EC
- b _080A1EBE
-_080A19EC:
- ldrh r1, [r2]
- movs r0, 0x2
- orrs r0, r1
- strh r0, [r2]
- bl _080A236A
- .align 2, 0
-_080A19F8: .4byte 0x00000183
-_080A19FC:
- movs r0, 0x82
- lsls r0, 1
-_080A1A00:
- bl sub_808D278
- cmp r0, 0
- bne _080A1A0A
- b _080A1EBE
-_080A1A0A:
- bl _080A236A
-_080A1A0E:
- ldr r0, _080A1A14
- movs r1, 0x7C
- b _080A18F6
- .align 2, 0
-_080A1A14: .4byte gUnknown_2039D98
-_080A1A18:
- add r1, sp, 0x108
- adds r2, r1, 0
- ldr r0, _080A1A64
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x130
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A1A42
- b _080A1EBE
-_080A1A42:
- movs r3, 0
- ldr r4, _080A1A68
- mov r8, r4
- lsls r6, r5, 2
- ldr r2, _080A1A6C
- adds r4, r0, 0
- adds r4, 0x4C
- mov r7, r8
-_080A1A52:
- adds r0, r4, r3
- adds r1, r3, r7
- ldrb r1, [r1]
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x9
- ble _080A1A52
- b _080A195A
- .align 2, 0
-_080A1A64: .4byte gUnknown_8116760
-_080A1A68: .4byte gUnknown_2039D98
-_080A1A6C: .4byte gUnknown_202E2B8
-_080A1A70:
- movs r0, 0x9E
- movs r1, 0x1
- bl sub_80026E8
- movs r0, 0x91
- movs r1, 0
- bl sub_808D434
- cmp r0, 0
- bne _080A1A9A
- ldr r3, _080A1AEC
- str r0, [sp]
- movs r0, 0x91
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- beq _080A1A9A
- bl sub_8097848
-_080A1A9A:
- movs r0, 0x92
- movs r1, 0
- bl sub_808D434
- cmp r0, 0
- bne _080A1ABC
- ldr r3, _080A1AF0
- str r0, [sp]
- movs r0, 0x92
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- beq _080A1ABC
- bl sub_8097848
-_080A1ABC:
- movs r0, 0x90
- movs r1, 0
- bl sub_808D434
- cmp r0, 0
- beq _080A1ACC
- bl _080A236A
-_080A1ACC:
- ldr r3, _080A1AF4
- str r0, [sp]
- movs r0, 0x90
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- bne _080A1AE2
- bl _080A236A
-_080A1AE2:
- bl sub_8097848
- bl _080A236A
- .align 2, 0
-_080A1AEC: .4byte gUnknown_8116788
-_080A1AF0: .4byte gUnknown_811678C
-_080A1AF4: .4byte gUnknown_8116790
-_080A1AF8:
- movs r0, 0x90
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- bne _080A1B08
- bl _080A236A
-_080A1B08:
- movs r0, 0x91
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- bne _080A1B18
- bl _080A236A
-_080A1B18:
- movs r0, 0x92
- bl sub_808E734
- b _080A171E
-_080A1B20:
- bl sub_808D33C
- ldrh r0, [r0, 0x8]
- subs r0, 0x90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080A1B32
- b _080A1EBE
-_080A1B32:
- bl _080A236A
-_080A1B36:
- bl sub_808D33C
- cmp r0, 0
- beq _080A1B4A
- movs r5, 0x8
- ldrsh r1, [r0, r5]
- ldr r0, _080A1B54
- cmp r1, r0
- bne _080A1B4A
- b _080A203C
-_080A1B4A:
- ldr r0, _080A1B54
- bl sub_8098134
- b _080A171E
- .align 2, 0
-_080A1B54: .4byte 0x00000113
-_080A1B58:
- ldr r0, _080A1B60
- movs r1, 0x79
- b _080A18F6
- .align 2, 0
-_080A1B60: .4byte gUnknown_2039D98
-_080A1B64:
- ldr r4, _080A1BCC
- adds r0, r4, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1B88
- adds r0, r4, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
-_080A1B88:
- add r1, sp, 0x188
- adds r2, r1, 0
- ldr r0, _080A1BD0
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldm r0!, {r4-r6}
- stm r2!, {r4-r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x1B0
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A1BB2
- b _080A1EBE
-_080A1BB2:
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _080A1BD4
-_080A1BBA:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080A1BBA
- b _080A1968
- .align 2, 0
-_080A1BCC: .4byte 0x00000199
-_080A1BD0: .4byte gUnknown_8116794
-_080A1BD4: .4byte gUnknown_2039D98
-_080A1BD8:
- ldr r0, _080A1BE0
- movs r1, 0x7A
- b _080A18F6
- .align 2, 0
-_080A1BE0: .4byte gUnknown_2039D98
-_080A1BE4:
- add r1, sp, 0x208
- adds r2, r1, 0
- ldr r0, _080A1C28
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x230
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- bne _080A1C0E
- b _080A1EBE
-_080A1C0E:
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _080A1C2C
-_080A1C16:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080A1C16
- b _080A1968
- .align 2, 0
-_080A1C28: .4byte gUnknown_81167BC
-_080A1C2C: .4byte gUnknown_2039D98
-_080A1C30:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080A1C70
- ldr r0, _080A1C64
- ldrb r4, [r0, 0x2]
- adds r0, r4, 0
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- bne _080A1C4A
- b _080A236A
-_080A1C4A:
- ldr r0, _080A1C68
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r1, r0, r1
- ldrh r2, [r1]
- ldr r0, _080A1C6C
- cmp r2, r0
- bls _080A1C5E
- b _080A236A
-_080A1C5E:
- adds r0, r2, 0x1
- strh r0, [r1]
- b _080A236A
- .align 2, 0
-_080A1C64: .4byte gUnknown_81167E4
-_080A1C68: .4byte gUnknown_203B460
-_080A1C6C: .4byte 0x000003e6
-_080A1C70:
- ldr r0, _080A1C80
- ldrb r0, [r0, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
- b _080A236A
- .align 2, 0
-_080A1C80: .4byte gUnknown_81167E4
-_080A1C84:
- movs r0, 0xD1
- lsls r0, 1
- bl RandomCapped
- adds r0, 0x1
- lsls r0, 16
- asrs r5, r0, 16
- movs r0, 0x20
- bl RandomCapped
- adds r4, r0, 0
- movs r7, 0xD2
- lsls r7, 1
- movs r6, 0
- ldr r0, _080A1DE0
- mov r8, r0
-_080A1CA4:
- adds r0, r5, 0x1
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, r8
- ble _080A1CB0
- movs r5, 0x1
-_080A1CB0:
- subs r7, 0x1
- cmp r7, 0
- bge _080A1CCC
- cmp r6, 0
- bne _080A1CBC
- b _080A2360
-_080A1CBC:
- cmp r4, r6
- blt _080A1CCC
- adds r0, r6, 0
- bl RandomCapped
- adds r4, r0, 0
- movs r7, 0xD2
- lsls r7, 1
-_080A1CCC:
- adds r0, r5, 0
- subs r0, 0x90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080A1CA4
- ldr r0, _080A1DE4
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0xB
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0xD
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x88
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x67
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x23
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x3
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- cmp r5, r8
- beq _080A1CA4
- cmp r5, 0x96
- beq _080A1CA4
- subs r0, 0x5
- cmp r5, r0
- beq _080A1CA4
- cmp r5, 0x97
- beq _080A1CA4
- subs r0, 0x5
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x8C
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x2
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x5
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x82
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- adds r0, 0x1
- cmp r5, r0
- beq _080A1CA4
- subs r0, 0x83
- cmp r5, r0
- beq _080A1CA4
- adds r0, r5, 0
- bl sub_80981DC
- lsls r0, 24
- cmp r0, 0
- beq _080A1CA4
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- beq _080A1D9E
- adds r0, r5, 0
- bl sub_808E734
- lsls r0, 24
- cmp r0, 0
- bne _080A1CA4
- adds r0, r5, 0
- bl sub_808D278
- cmp r0, 0
- beq _080A1CA4
-_080A1D9E:
- adds r6, 0x1
- subs r4, 0x1
- cmp r4, 0
- blt _080A1DA8
- b _080A1CA4
-_080A1DA8:
- movs r0, 0
- movs r1, 0x1F
- adds r2, r5, 0
- bl sub_80018D8
- ldr r4, _080A1DE8
- adds r0, r5, 0
- bl sub_808DBA8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8092578
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1EBE
- b _080A203C
- .align 2, 0
-_080A1DE0: .4byte 0x000001a3
-_080A1DE4: .4byte 0x0000019b
-_080A1DE8: .4byte gUnknown_202E628
-_080A1DEC:
- movs r0, 0
- movs r1, 0x1F
- bl sub_8001658
- lsls r0, 16
- asrs r5, r0, 16
- ldr r4, _080A1E2C
- adds r0, r5, 0
- bl sub_808DBA8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8092578
- cmp r5, 0
- bne _080A1E14
- b _080A236A
-_080A1E14:
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1EBE
- b _080A203C
- .align 2, 0
-_080A1E2C: .4byte gUnknown_202E628
-_080A1E30:
- ldr r0, _080A1E38
- movs r1, 0x20
- b _080A18F6
- .align 2, 0
-_080A1E38: .4byte gUnknown_2039D98
-_080A1E3C:
- cmp r5, 0
- bne _080A1E42
- b _080A2360
-_080A1E42:
- movs r0, 0
- movs r1, 0x1F
- bl sub_8001658
- lsls r0, 16
- asrs r5, r0, 16
- adds r6, r5, 0
- ldr r4, _080A1EC4
- adds r0, r5, 0
- bl sub_808DBA8
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0
- bl sub_8092578
- cmp r5, 0
- bne _080A1E6C
- b _080A236A
-_080A1E6C:
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092600
- lsls r0, 24
- cmp r0, 0
- bne _080A1E8E
- adds r0, r5, 0
- bl sub_808DBA8
- lsls r0, 24
- lsrs r0, 24
- bl sub_80925EC
-_080A1E8E:
- ldr r3, _080A1EC8
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0
- bl sub_808D2E8
- cmp r0, 0
- bne _080A1EA4
- b _080A236A
-_080A1EA4:
- movs r2, 0
- adds r3, r0, 0
- adds r3, 0x4C
- ldr r4, _080A1ECC
-_080A1EAC:
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x9
- ble _080A1EAC
- bl sub_8097848
-_080A1EBE:
- movs r0, 0x1
- b _080A236C
- .align 2, 0
-_080A1EC4: .4byte gUnknown_202E628
-_080A1EC8: .4byte gUnknown_81167E8
-_080A1ECC: .4byte gUnknown_2039D98
-_080A1ED0:
- bl sub_809211C
- b _080A177C
-_080A1ED6:
- bl sub_8092178
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809211C
- cmp r0, 0
- bgt _080A1EE8
- b _080A236A
-_080A1EE8:
- bl sub_8092158
- bl sub_8092178
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- bl sub_80921A8
- adds r1, r0, 0
- ldr r4, _080A1F30
- adds r0, r4, 0
- bl strcpy
- adds r0, r5, 0
- bl sub_80921A8
- adds r1, r0, 0
- adds r4, 0x50
- adds r0, r4, 0
- bl strcpy
- movs r1, 0x1
- negs r1, r1
- ldr r2, _080A1F34
- movs r0, 0
- bl sub_809AE90
- lsls r0, 24
- cmp r0, 0
- bne _080A1EBE
-_080A1F28:
- ldr r0, _080A1F38
- bl sub_80913A0
- b _080A236A
- .align 2, 0
-_080A1F30: .4byte gUnknown_202DE58
-_080A1F34: .4byte gUnknown_81167EC
-_080A1F38: .4byte 0x00002710
-_080A1F3C:
- ldr r0, _080A1F40
- b _080A1A00
- .align 2, 0
-_080A1F40: .4byte 0x00000133
-_080A1F44:
- ldr r0, _080A1F4C
- movs r1, 0x52
- b _080A18F6
- .align 2, 0
-_080A1F4C: .4byte gUnknown_2039D98
-_080A1F50:
- add r1, sp, 0x288
- adds r2, r1, 0
- ldr r0, _080A1F7C
- ldm r0!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r0!, {r3,r4,r6}
- stm r2!, {r3,r4,r6}
- ldm r0!, {r3,r5,r6}
- stm r2!, {r3,r5,r6}
- ldr r0, [r0]
- str r0, [r2]
- add r4, sp, 0x2B0
- adds r0, r4, 0
- bl sub_808D144
- adds r0, r4, 0
- bl sub_808D1DC
- cmp r0, 0
- beq _080A1EBE
- b _080A1968
- .align 2, 0
-_080A1F7C: .4byte gUnknown_811681C
-_080A1F80:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x12
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- bne _080A1F94
- b _080A236A
-_080A1F94:
- movs r0, 0
- movs r1, 0xF
- bl sub_8001658
- cmp r0, 0x4
- bne _080A1FA2
- b _080A236A
-_080A1FA2:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_8001784
- cmp r0, 0
- ble _080A1FB2
- b _080A236A
-_080A1FB2:
- movs r0, 0x80
- lsls r0, 1
- bl OtherRandomCapped
- cmp r0, 0
- bne _080A1FCC
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- movs r3, 0x4
- bl sub_800199C
- b _080A1EBE
-_080A1FCC:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- movs r3, 0x1
- bl sub_800199C
- b _080A236A
-_080A1FDA:
- ldr r6, _080A200C
- ldr r7, _080A2010
- movs r5, 0x2
-_080A1FE0:
- bl sub_8090A34
- cmp r0, 0x13
- ble _080A2018
- ldrb r4, [r6, 0x2]
- adds r0, r4, 0
- bl sub_8091524
- lsls r0, 24
- cmp r0, 0
- beq _080A2024
- ldr r0, _080A2014
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r0, 0x50
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r7
- bhi _080A2024
- adds r0, 0x1
- strh r0, [r1]
- b _080A2024
- .align 2, 0
-_080A200C: .4byte gUnknown_8116844
-_080A2010: .4byte 0x000003e6
-_080A2014: .4byte gUnknown_203B460
-_080A2018:
- ldrb r0, [r6, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
-_080A2024:
- subs r5, 0x1
- cmp r5, 0
- bge _080A1FE0
- b _080A236A
-_080A202C:
- bl sub_808D33C
- cmp r0, 0
- beq _080A2040
- movs r4, 0x8
- ldrsh r0, [r0, r4]
- cmp r0, 0x71
- bne _080A2040
-_080A203C:
- movs r0, 0x2
- b _080A236C
-_080A2040:
- movs r0, 0x71
- bl sub_8098134
- bl _080A171E
-_080A204A:
- movs r0, 0
- movs r1, 0x1
- bl sub_80A56A0
- b _080A236A
-_080A2054:
- add r0, sp, 0x328
- str r5, [r0]
- str r7, [r0, 0x4]
- bl sub_80A56F0
- b _080A236A
-_080A2060:
- add r0, sp, 0x330
- str r5, [r0]
- str r7, [r0, 0x4]
- bl sub_80A5704
- b _080A236A
-_080A206C:
- lsls r0, r5, 16
- lsrs r0, 16
- bl sub_809C6CC
- b _080A236A
-_080A2076:
- bl sub_809C6EC
- b _080A236A
-_080A207C:
- bl sub_809C760
- b _080A236A
-_080A2082:
- movs r0, 0
- movs r4, 0x80
- lsls r4, 9
-_080A2088:
- movs r1, 0x80
- lsls r1, 15
- bl sub_80A86C8
- adds r0, r4, 0
- movs r5, 0x80
- lsls r5, 9
- adds r4, r5
- asrs r0, 16
- cmp r0, 0x17
- ble _080A2088
- movs r0, 0
- adds r4, r5, 0
-_080A20A2:
- movs r1, 0x80
- lsls r1, 15
- bl sub_80AC1B0
- adds r0, r4, 0
- movs r6, 0x80
- lsls r6, 9
- adds r4, r6
- asrs r0, 16
- cmp r0, 0xF
- ble _080A20A2
- movs r0, 0
- adds r4, r6, 0
-_080A20BC:
- movs r1, 0x80
- lsls r1, 15
- bl sub_80AD0C8
- adds r0, r4, 0
- movs r1, 0x80
- lsls r1, 9
- adds r4, r1
- asrs r0, 16
- cmp r0, 0xF
- ble _080A20BC
- b _080A236A
-_080A20D4:
- add r0, sp, 0x338
- str r5, [r0]
- adds r4, r0, 0
- str r7, [r4, 0x4]
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A5984
- adds r2, r0, 0
- lsls r2, 16
- lsrs r2, 16
- movs r0, 0
- adds r1, r4, 0
- bl sub_80A59A0
- b _080A236A
-_080A20F4:
- add r1, sp, 0x308
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1]
- strb r2, [r1, 0x1]
- strb r0, [r1, 0x2]
- strb r0, [r1, 0x3]
- str r2, [r1, 0x4]
- ldr r0, _080A21D8
- ldr r2, _080A21DC
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1, 0x8]
- movs r0, 0x1
- negs r0, r0
- lsls r2, r5, 16
- asrs r2, 16
- lsls r3, r7, 24
- asrs r3, 24
- bl GroundEffect_Add
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080A2128
- b _080A236A
-_080A2128:
- bl sub_80AD158
- adds r7, r0, 0
- add r4, sp, 0x340
- add r5, sp, 0x348
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A579C
- ldr r0, [r4, 0x4]
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r4, 0x4]
- ldr r0, [r5, 0x4]
- adds r0, r1
- str r0, [r5, 0x4]
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- add r6, sp, 0x350
- ldr r2, [r1, 0xC]
- adds r1, r6, 0
- bl _call_via_r2
- add r1, sp, 0x350
- ldr r2, [r1]
- add r0, sp, 0x340
- ldr r0, [r0]
- cmp r2, r0
- blt _080A216E
- add r0, sp, 0x348
- ldr r0, [r0]
- cmp r2, r0
- blt _080A2170
- subs r0, 0x1
-_080A216E:
- str r0, [r1]
-_080A2170:
- ldr r1, [r6, 0x4]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- blt _080A2180
- ldr r0, [r5, 0x4]
- cmp r1, r0
- blt _080A2182
- subs r0, 0x1
-_080A2180:
- str r0, [r6, 0x4]
-_080A2182:
- add r1, sp, 0x340
- ldr r0, [r1]
- ldr r2, _080A21E0
- adds r0, r2
- str r0, [r1]
- ldr r0, [r4, 0x4]
- adds r0, r2
- str r0, [r4, 0x4]
- add r1, sp, 0x348
- ldr r0, [r1]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- str r0, [r1]
- ldr r0, [r5, 0x4]
- adds r0, r2
- str r0, [r5, 0x4]
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r3, [r1, 0x20]
- adds r1, r4, 0
- adds r2, r5, 0
- bl _call_via_r3
- ldr r1, [r7]
- ldr r0, [r7, 0x4]
- ldr r2, [r1, 0x24]
- adds r1, r6, 0
- bl _call_via_r2
- movs r0, 0
- movs r1, 0
- add r2, sp, 0x358
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r2, [r7]
- ldr r0, [r7, 0x4]
- add r1, sp, 0x358
- ldr r2, [r2, 0x48]
- bl _call_via_r2
- b _080A1EBE
- .align 2, 0
-_080A21D8: .4byte gUnknown_812F1F8
-_080A21DC: .4byte 0x00001310
-_080A21E0: .4byte 0xfffffc00
-_080A21E4:
- ldr r0, _080A2288
- ldrh r4, [r0]
- ldrh r0, [r0, 0x2]
- movs r1, 0xC
- ands r0, r1
- cmp r0, 0
- beq _080A21F4
- b _080A236A
-_080A21F4:
- adds r0, r4, 0
- bl sub_809CFE8
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A2282
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x360
- bl sub_8002BB8
- add r0, sp, 0x360
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- add r2, sp, 0x368
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x2
- ands r4, r0
- cmp r4, 0
- beq _080A2226
- movs r0, 0x4
-_080A2226:
- cmp r0, 0
- beq _080A2282
- movs r3, 0xDA
- lsls r3, 2
- add r3, sp
- mov r9, r3
- add r7, sp, 0x370
- add r4, sp, 0x378
- mov r8, r0
-_080A2238:
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- ldr r2, [r1, 0x48]
- mov r1, r9
- bl _call_via_r2
- cmp r0, 0
- beq _080A2276
- movs r5, 0
- str r5, [r7]
- mov r1, r9
- ldr r0, [r1, 0x4]
- str r0, [r7, 0x4]
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r7, 0
- bl _call_via_r2
- cmp r0, 0
- beq _080A2276
- mov r2, r9
- ldr r0, [r2]
- str r0, [r4]
- str r5, [r4, 0x4]
- ldr r1, [r6]
- ldr r0, [r6, 0x4]
- ldr r2, [r1, 0x48]
- adds r1, r4, 0
- bl _call_via_r2
-_080A2276:
- movs r3, 0x1
- negs r3, r3
- add r8, r3
- mov r5, r8
- cmp r5, 0
- bne _080A2238
-_080A2282:
- movs r0, 0x1
- negs r0, r0
- b _080A236C
- .align 2, 0
-_080A2288: .4byte gUnknown_20255F0
-_080A228C:
- negs r0, r5
- orrs r0, r5
- lsrs r0, 31
- bl sub_80993C0
- b _080A236A
-_080A2298:
- movs r0, 0x1
- bl sub_8011C28
-_080A229E:
- adds r0, r5, 0
- bl sub_8098F00
- lsls r0, r5, 16
- lsrs r0, 16
- bl sub_80118C4
- b _080A236A
-_080A22AE:
- bl sub_800C068
- ldr r1, _080A22C4
- strh r0, [r1]
- lsls r0, 16
- ldr r1, _080A22C8
- cmp r0, r1
- beq _080A22C0
- b _080A1EBE
-_080A22C0:
- b _080A236A
- .align 2, 0
-_080A22C4: .4byte gUnknown_2039DA8
-_080A22C8: .4byte 0x03e70000
-_080A22CC:
- ldr r4, _080A22DC
- ldrh r0, [r4]
- ldr r5, _080A22E0
- cmp r0, r5
- beq _080A236A
- bl sub_80118F0
- b _080A2312
- .align 2, 0
-_080A22DC: .4byte gUnknown_2039DA8
-_080A22E0: .4byte 0x000003e7
-_080A22E4:
- ldr r4, _080A22FC
- ldrh r0, [r4]
- ldr r6, _080A2300
- cmp r0, r6
- beq _080A236A
- lsls r1, r5, 16
- lsrs r1, 16
- bl sub_8011900
- strh r6, [r4]
- b _080A1EBE
- .align 2, 0
-_080A22FC: .4byte gUnknown_2039DA8
-_080A2300: .4byte 0x000003e7
-_080A2304:
- ldr r4, _080A2318
- ldrh r0, [r4]
- ldr r5, _080A231C
- cmp r0, r5
- beq _080A236A
- bl sub_8011914
-_080A2312:
- strh r5, [r4]
- b _080A1EBE
- .align 2, 0
-_080A2318: .4byte gUnknown_2039DA8
-_080A231C: .4byte 0x000003e7
-_080A2320:
- lsls r0, r5, 16
- lsrs r0, 16
- lsls r1, r7, 16
- lsrs r1, 16
- bl sub_80997F4
- b _080A236A
-_080A232E:
- lsls r1, r5, 16
- lsrs r1, 16
- movs r0, 0x1E
- bl sub_80997F4
- b _080A236A
-_080A233A:
- lsls r1, r5, 16
- lsrs r1, 16
- movs r0, 0
- bl GroundSprite_ExtendPaletteAdd
- b _080A236A
-_080A2346:
- movs r0, 0
- bl sub_80A6C88
- b _080A236A
-_080A234E:
- movs r0, 0
- movs r1, 0x2F
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_800199C
- adds r0, r5, 0
- subs r0, 0x10
- b _080A236C
-_080A2360:
- movs r0, 0
- movs r1, 0x1F
- movs r2, 0
- bl sub_80018D8
-_080A236A:
- movs r0, 0
-_080A236C:
- movs r3, 0xE0
- 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_80A14E8
-
- thumb_func_start sub_80A2380
-sub_80A2380:
- push {r4-r7,lr}
- ldr r1, _080A241C
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A2414
- movs r0, 0
- strb r0, [r1]
- movs r6, 0
-_080A2390:
- ldr r0, _080A2420
- adds r7, r6, r0
- ldrb r0, [r7]
- cmp r0, 0
- beq _080A240E
- movs r0, 0x1
- ldr r1, _080A2424
- adds r2, r6, 0
- bl Log
- lsls r5, r6, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80A4D2C
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80A8B1C
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80AC320
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80AD238
- orrs r4, r0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A2428
- adds r5, r6, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080A240C
- cmp r4, 0
- beq _080A240E
- movs r0, 0x80
- adds r4, r6, 0
- orrs r4, r0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80A4D2C
- adds r0, r4, 0
- bl sub_80A8B1C
- adds r0, r4, 0
- bl sub_80AC320
- adds r0, r4, 0
- bl sub_80AD238
- movs r0, 0
- strb r0, [r5]
-_080A240C:
- strb r0, [r7]
-_080A240E:
- adds r6, 0x1
- cmp r6, 0x80
- ble _080A2390
-_080A2414:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A241C: .4byte gUnknown_2039A36
-_080A2420: .4byte gUnknown_2039A38
-_080A2424: .4byte gUnknown_8116848
-_080A2428: .4byte gUnknown_2039AC0
- thumb_func_end sub_80A2380
-
- thumb_func_start sub_80A242C
-sub_80A242C:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r1, 0
- ldr r0, [r0, 0x2C]
- adds r2, r0, 0
- adds r2, 0x10
- mov r3, sp
-_080A243A:
- mov r1, sp
- adds r0, r2, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldr r0, [r0]
- str r0, [r1]
- adds r2, 0x10
- ldrb r0, [r3]
- cmp r0, 0xF4
- bne _080A243A
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r4, r0
- bne _080A243A
- adds r0, r2, 0
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A242C
-
- thumb_func_start sub_80A2460
-sub_80A2460:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r5, r0, 0
- mov r8, r1
- ldr r6, [r5, 0x28]
- mov r4, sp
-_080A2470:
- mov r0, sp
- adds r1, r6, 0
- ldm r1!, {r2,r3,r7}
- stm r0!, {r2,r3,r7}
- ldr r1, [r1]
- str r1, [r0]
- ldrb r0, [r4]
- cmp r0, 0xCC
- bne _080A249E
- ldr r1, [sp, 0x4]
- mov r0, r8
- movs r2, 0x2
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- beq _080A24F0
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_80A242C
- b _080A24F4
-_080A249E:
- cmp r0, 0xCD
- bne _080A24BE
- ldr r1, [sp, 0x4]
- ldrb r2, [r4, 0x1]
- mov r0, r8
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- beq _080A24F0
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- adds r0, r5, 0
- bl sub_80A242C
- b _080A24F4
-_080A24BE:
- cmp r0, 0xCE
- bne _080A24EC
- ldr r1, [sp, 0x4]
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- adds r0, 0x74
- bl sub_8001658
- adds r1, r0, 0
- ldrb r2, [r4, 0x1]
- mov r0, r8
- bl FlagJudge
- lsls r0, 24
- cmp r0, 0
- beq _080A24F0
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- adds r0, r5, 0
- bl sub_80A242C
- b _080A24F4
-_080A24EC:
- adds r0, r6, 0
- b _080A24F4
-_080A24F0:
- adds r6, 0x10
- b _080A2470
-_080A24F4:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2460
-
- thumb_func_start sub_80A2500
-sub_80A2500:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A2524
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- bl sub_80A8BBC
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_809AB4C
-_080A2524:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A2500
-
- thumb_func_start sub_80A252C
-sub_80A252C:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A2550
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- bl sub_80A8BBC
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_809ABB4
-_080A2550:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A252C
-
- thumb_func_start sub_80A2558
-sub_80A2558:
- push {r4,lr}
- adds r4, r0, 0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A257C
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- bl sub_80A8BBC
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_809AC18
-_080A257C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A2558
-
- thumb_func_start sub_80A2584
-sub_80A2584:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- lsls r0, 16
- asrs r0, 16
- bl sub_809ABB4
- pop {r0}
- bx r0
- thumb_func_end sub_80A2584
-
- thumb_func_start sub_80A2598
-sub_80A2598:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- lsls r0, 16
- asrs r0, 16
- bl sub_809AC18
- pop {r0}
- bx r0
- thumb_func_end sub_80A2598
-
- thumb_func_start sub_80A25AC
-sub_80A25AC:
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- beq _080A25C2
- adds r0, r4, 0
- b _080A2602
-_080A25C2:
- cmp r4, 0x32
- bne _080A25CA
- movs r0, 0x32
- b _080A2602
-_080A25CA:
- movs r0, 0xC
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A25E0
- ldr r0, _080A25DC
- b _080A2602
- .align 2, 0
-_080A25DC: .4byte 0x000003e7
-_080A25E0:
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A25F0
- movs r0, 0x13
- b _080A2602
-_080A25F0:
- cmp r4, 0x1
- bne _080A2600
- movs r0, 0
- movs r1, 0x28
- bl sub_8001658
- movs r0, 0x1
- b _080A2602
-_080A2600:
- adds r0, r5, 0
-_080A2602:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A25AC
-
- thumb_func_start sub_80A2608
-sub_80A2608:
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A261C
- adds r0, r1
- bx lr
- .align 2, 0
-_080A261C: .4byte gUnknown_81168A8
- thumb_func_end sub_80A2608
-
- thumb_func_start sub_80A2620
-sub_80A2620:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A26B8
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A2640
- adds r0, r1
- pop {r1}
- bx r1
- .align 2, 0
-_080A2640: .4byte gUnknown_81168A8
- thumb_func_end sub_80A2620
-
- thumb_func_start sub_80A2644
-sub_80A2644:
- ldr r1, _080A2650
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A2650: .4byte gUnknown_8116F24
- thumb_func_end sub_80A2644
-
- thumb_func_start sub_80A2654
-sub_80A2654:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80A2654
-
- thumb_func_start sub_80A2668
-sub_80A2668:
- push {lr}
- lsls r0, 16
- ldr r2, _080A267C
- adds r1, r0, r2
- lsrs r0, r1, 16
- cmp r0, 0x18
- bls _080A2680
- movs r0, 0x1
- negs r0, r0
- b _080A2682
- .align 2, 0
-_080A267C: .4byte 0xffc90000
-_080A2680:
- asrs r0, r1, 16
-_080A2682:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2668
-
- thumb_func_start sub_80A2688
-sub_80A2688:
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- adds r3, r1, 0
- adds r2, r1, 0
- subs r2, 0x4B
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x16
- bhi _080A26A0
- adds r0, r2, 0
- b _080A26B4
-_080A26A0:
- cmp r1, 0x2F
- bne _080A26A8
- movs r0, 0x17
- b _080A26B4
-_080A26A8:
- cmp r3, 0x30
- beq _080A26B2
- movs r0, 0x1
- negs r0, r0
- b _080A26B4
-_080A26B2:
- movs r0, 0x18
-_080A26B4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2688
-
- thumb_func_start sub_80A26B8
-sub_80A26B8:
- lsls r0, 16
- ldr r1, _080A26C8
- asrs r0, 15
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A26C8: .4byte gUnknown_8116F9A
- thumb_func_end sub_80A26B8
-
- thumb_func_start sub_80A26CC
-sub_80A26CC:
- lsls r0, 16
- movs r1, 0xDC
- lsls r1, 14
- adds r0, r1
- asrs r0, 16
- bx lr
- thumb_func_end sub_80A26CC
-
- thumb_func_start sub_80A26D8
-sub_80A26D8:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_080A26E0:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2608
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A26FC
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A26FC
- adds r0, r4, 0
- b _080A2706
-_080A26FC:
- adds r5, 0x1
- cmp r5, 0x52
- ble _080A26E0
- movs r0, 0x1
- negs r0, r0
-_080A2706:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A26D8
-
- thumb_func_start sub_80A270C
-sub_80A270C:
- push {lr}
- lsls r0, 16
- ldr r1, _080A2724
- asrs r0, 15
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- pop {r1}
- bx r1
- .align 2, 0
-_080A2724: .4byte gUnknown_8116F9A
- thumb_func_end sub_80A270C
-
- thumb_func_start sub_80A2728
-sub_80A2728:
- push {lr}
- lsls r0, 16
- movs r1, 0xDC
- lsls r1, 14
- adds r0, r1
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_80A2728
-
- thumb_func_start sub_80A2740
-sub_80A2740:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_80A2740
-
- thumb_func_start sub_80A2750
-sub_80A2750:
- push {r4,lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x50
- bne _080A2760
- movs r0, 0x3
- b _080A27C4
-_080A2760:
- cmp r1, 0x51
- beq _080A27BE
- cmp r1, 0x52
- beq _080A2780
- adds r0, r1, 0
- subs r0, 0x28
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bls _080A27BE
- adds r0, r1, 0
- subs r0, 0x37
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x18
- bhi _080A2784
-_080A2780:
- movs r0, 0x4
- b _080A27C4
-_080A2784:
- adds r0, r2, 0
- bl sub_80A2608
- adds r4, r0, 0
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A27C2
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A27C2
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A27C2
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A27C2
-_080A27BE:
- movs r0, 0x2
- b _080A27C4
-_080A27C2:
- movs r0, 0x1
-_080A27C4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2750
-
- thumb_func_start sub_80A27CC
-sub_80A27CC:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r4, r0, 16
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A2620
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A281A
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A281A
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A2816
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A281A
- adds r0, r5, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A281A
-_080A2816:
- movs r0, 0x1
- b _080A281C
-_080A281A:
- movs r0, 0
-_080A281C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A27CC
-
- thumb_func_start sub_80A2824
-sub_80A2824:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _080A28AC
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A2880
- movs r5, 0
-_080A2844:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A2874
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A2874
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A287C
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- bne _080A287C
-_080A2874:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A2844
- b _080A28AC
-_080A287C:
- movs r0, 0x1
- b _080A28AE
-_080A2880:
- movs r5, 0
-_080A2882:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A28A6
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A28A6
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A287C
-_080A28A6:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A2882
-_080A28AC:
- movs r0, 0
-_080A28AE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2824
-
- thumb_func_start sub_80A28B4
-sub_80A28B4:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A28E8
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A28E4
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A28E8
-_080A28E4:
- movs r0, 0x1
- b _080A28EA
-_080A28E8:
- movs r0, 0
-_080A28EA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A28B4
-
- thumb_func_start sub_80A28F0
-sub_80A28F0:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
-_080A28F8:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r1, r0, 0
- ldrb r0, [r1, 0x11]
- cmp r0, 0
- beq _080A292C
- ldrb r0, [r1, 0xC]
- cmp r0, r6
- bne _080A292C
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A2928
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A292C
-_080A2928:
- movs r0, 0x1
- b _080A2934
-_080A292C:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A28F8
- movs r0, 0
-_080A2934:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A28F0
-
- thumb_func_start sub_80A293C
-sub_80A293C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x40
- mov r8, r0
- movs r7, 0
- movs r1, 0
- mov r0, sp
- adds r0, 0x3E
-_080A294E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _080A294E
- movs r5, 0
-_080A2958:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r6, r0, 0
- ldrb r0, [r6, 0x11]
- cmp r0, 0
- beq _080A2980
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- beq _080A2980
- ldrb r0, [r6, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2980:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A2958
- movs r5, 0
-_080A2988:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A299A
- mov r2, r8
- adds r0, r2, r7
- strb r5, [r0]
- adds r7, 0x1
-_080A299A:
- adds r5, 0x1
- cmp r5, 0x3E
- ble _080A2988
- adds r0, r7, 0
- add sp, 0x40
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A293C
-
- thumb_func_start sub_80A29B0
-sub_80A29B0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x48
- mov r8, r0
- movs r7, 0
- movs r0, 0x2B
- add r0, sp
- mov r9, r0
- add r1, sp, 0x2C
- mov r10, r1
- mov r2, sp
- adds r2, 0x2D
- str r2, [sp, 0x40]
- mov r0, sp
- adds r0, 0x2E
- str r0, [sp, 0x44]
- movs r1, 0
- adds r0, 0x10
-_080A29DA:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _080A29DA
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A2A1E
- movs r5, 0
-_080A29F0:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r6, r0, 0
- ldrb r0, [r6, 0x11]
- cmp r0, 0
- beq _080A2A18
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A2A18
- ldrb r0, [r6, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2A18:
- adds r5, 0x1
- cmp r5, 0x2D
- ble _080A29F0
-_080A2A1E:
- movs r0, 0
- mov r1, r9
- strb r0, [r1]
- mov r2, r10
- strb r0, [r2]
- ldr r1, [sp, 0x40]
- strb r0, [r1]
- ldr r2, [sp, 0x44]
- strb r0, [r2]
- movs r5, 0
-_080A2A32:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A2A44
- mov r2, r8
- adds r0, r2, r7
- strb r5, [r0]
- adds r7, 0x1
-_080A2A44:
- adds r5, 0x1
- cmp r5, 0x3E
- ble _080A2A32
- adds r0, r7, 0
- add sp, 0x48
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A29B0
-
- thumb_func_start sub_80A2A5C
-sub_80A2A5C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x40
- mov r8, r0
- movs r7, 0
- movs r1, 0
- mov r0, sp
- adds r0, 0x3E
-_080A2A6E:
- strb r1, [r0]
- subs r0, 0x1
- cmp r0, sp
- bge _080A2A6E
- movs r0, 0x1
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A2AC0
- movs r6, 0
-_080A2A84:
- lsls r0, r6, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r5, r0, 0
- ldrb r0, [r5, 0x11]
- cmp r0, 0
- beq _080A2AB8
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- bne _080A2AAE
- adds r0, r4, 0
- bl sub_80973F4
- lsls r0, 24
- cmp r0, 0
- beq _080A2AB8
-_080A2AAE:
- ldrb r0, [r5, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2AB8:
- adds r6, 0x1
- cmp r6, 0x2D
- ble _080A2A84
- b _080A2AF0
-_080A2AC0:
- movs r6, 0
-_080A2AC2:
- lsls r0, r6, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80A2620
- adds r5, r0, 0
- ldrb r0, [r5, 0x11]
- cmp r0, 0
- beq _080A2AEA
- adds r0, r4, 0
- bl sub_8097384
- lsls r0, 24
- cmp r0, 0
- beq _080A2AEA
- ldrb r0, [r5, 0xC]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A2AEA:
- adds r6, 0x1
- cmp r6, 0x2D
- ble _080A2AC2
-_080A2AF0:
- movs r6, 0
-_080A2AF2:
- mov r1, sp
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A2B04
- mov r2, r8
- adds r0, r2, r7
- strb r6, [r0]
- adds r7, 0x1
-_080A2B04:
- adds r6, 0x1
- cmp r6, 0x3E
- ble _080A2AF2
- adds r0, r7, 0
- add sp, 0x40
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2A5C
-
- thumb_func_start sub_80A2B18
-sub_80A2B18:
- lsls r0, 16
- ldr r1, _080A2B24
- asrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080A2B24: .4byte gUnknown_8117000
- thumb_func_end sub_80A2B18
-
- thumb_func_start sub_80A2B28
-sub_80A2B28:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2B18
- pop {r1}
- bx r1
- thumb_func_end sub_80A2B28
-
- thumb_func_start sub_80A2B40
-sub_80A2B40:
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r2, _080A2BFC
- adds r0, r5, r2
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldr r3, _080A2C00
- adds r0, r5, r3
- movs r4, 0
- ldrsh r1, [r0, r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- movs r2, 0xA9
- lsls r2, 3
- adds r1, r5, r2
- str r0, [r1]
- movs r6, 0
- movs r3, 0xA7
- lsls r3, 3
- adds r0, r5, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r6, r0
- bge _080A2BC0
-_080A2B7C:
- lsls r4, r6, 2
- ldr r0, _080A2C04
- adds r2, r5, r0
- adds r2, r4
- ldr r1, _080A2C08
- adds r0, r5, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r1, r6, 0x2
- adds r0, r1
- lsls r0, 11
- ldr r1, _080A2C0C
- adds r0, r1
- str r0, [r2]
- ldr r1, _080A2C10
- adds r0, r5, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 7
- movs r1, 0x6
- bl MemoryAlloc
- ldr r3, _080A2C14
- adds r1, r5, r3
- adds r1, r4
- str r0, [r1]
- adds r6, 0x1
- movs r4, 0xA7
- lsls r4, 3
- adds r0, r5, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r6, r0
- blt _080A2B7C
-_080A2BC0:
- cmp r6, 0x1
- bgt _080A2BD8
- movs r1, 0
- lsls r0, r6, 2
- ldr r2, _080A2C14
- adds r0, r2
- adds r0, r5
-_080A2BCE:
- str r1, [r0, 0x8]
- stm r0!, {r1}
- adds r6, 0x1
- cmp r6, 0x1
- ble _080A2BCE
-_080A2BD8:
- movs r3, 0xA8
- lsls r3, 3
- adds r0, r5, r3
- ldr r1, [r0]
- cmp r1, 0
- beq _080A2C20
- ldr r4, _080A2C18
- adds r0, r5, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 8
- movs r1, 0x6
- bl MemoryAlloc
- ldr r2, _080A2C1C
- adds r1, r5, r2
- str r0, [r1]
- b _080A2C26
- .align 2, 0
-_080A2BFC: .4byte 0x0000052c
-_080A2C00: .4byte 0x00000534
-_080A2C04: .4byte 0x00000554
-_080A2C08: .4byte 0x00000536
-_080A2C0C: .4byte gUnknown_202B038
-_080A2C10: .4byte 0x0000053c
-_080A2C14: .4byte 0x0000054c
-_080A2C18: .4byte 0x0000053a
-_080A2C1C: .4byte 0x00000544
-_080A2C20:
- ldr r3, _080A2CF0
- adds r0, r5, r3
- str r1, [r0]
-_080A2C26:
- movs r4, 0x86
- lsls r4, 3
- adds r0, r5, r4
- movs r1, 0
- str r1, [r0]
- ldr r2, _080A2CF4
- adds r0, r5, r2
- str r1, [r0]
- movs r3, 0x87
- lsls r3, 3
- adds r0, r5, r3
- str r1, [r0]
- adds r4, 0xC
- adds r0, r5, r4
- str r1, [r0]
- adds r2, 0xC
- adds r0, r5, r2
- str r1, [r0]
- adds r3, 0xF2
- adds r0, r5, r3
- strb r1, [r0]
- adds r4, 0x8
- adds r2, r5, r4
- ldr r0, _080A2CF8
- strh r0, [r2]
- movs r2, 0x8D
- lsls r2, 3
- adds r0, r5, r2
- str r1, [r0]
- subs r3, 0xE2
- adds r0, r5, r3
- strb r1, [r0]
- adds r4, 0x5
- adds r0, r5, r4
- strb r1, [r0]
- subs r2, 0x1E
- adds r0, r5, r2
- strb r1, [r0]
- adds r3, 0x3
- adds r0, r5, r3
- strb r1, [r0]
- adds r4, 0x3
- adds r0, r5, r4
- strb r1, [r0]
- adds r2, 0x3
- adds r0, r5, r2
- strb r1, [r0]
- adds r2, r5, 0
- adds r3, 0x21
- adds r0, r5, r3
- str r1, [r0]
- adds r4, 0x24
- adds r0, r5, r4
- strb r1, [r0]
- adds r3, 0x5
- adds r0, r5, r3
- strb r1, [r0]
- movs r0, 0
- movs r1, 0xD
-_080A2C9C:
- strh r0, [r2]
- strh r0, [r2, 0x2]
- str r0, [r2, 0x8]
- str r0, [r2, 0x4]
- subs r1, 0x1
- adds r2, 0x10
- cmp r1, 0
- bge _080A2C9C
- movs r1, 0
- movs r4, 0xF8
- lsls r4, 2
- adds r0, r5, r4
- movs r2, 0x1
-_080A2CB6:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- str r1, [r0, 0x14]
- str r1, [r0, 0x10]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x18]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adds r0, 0x28
- subs r2, 0x1
- cmp r2, 0
- bge _080A2CB6
- movs r4, 0
-_080A2CD8:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2CFC
- bl sub_80A456C
- adds r4, 0x1
- cmp r4, 0x1
- ble _080A2CD8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2CF0: .4byte 0x00000544
-_080A2CF4: .4byte 0x00000434
-_080A2CF8: .4byte 0x0000ffff
-_080A2CFC: .4byte gUnknown_81172B8
- thumb_func_end sub_80A2B40
-
- thumb_func_start sub_80A2D00
-sub_80A2D00:
- push {r4-r7,lr}
- adds r6, r0, 0
- bl sub_80A2DD4
- ldr r0, _080A2D5C
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2D1A
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A2D1A:
- movs r1, 0xA9
- lsls r1, 3
- adds r4, r6, r1
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- movs r5, 0
- movs r7, 0
-_080A2D2E:
- lsls r2, r5, 2
- ldr r1, _080A2D60
- adds r0, r6, r1
- adds r1, r0, r2
- ldr r0, [r1]
- cmp r0, 0
- beq _080A2D3E
- str r7, [r1]
-_080A2D3E:
- ldr r1, _080A2D64
- adds r0, r6, r1
- adds r4, r0, r2
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2D50
- bl MemoryFree
- str r7, [r4]
-_080A2D50:
- adds r5, 0x1
- cmp r5, 0x1
- ble _080A2D2E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2D5C: .4byte 0x00000544
-_080A2D60: .4byte 0x00000554
-_080A2D64: .4byte 0x0000054c
- thumb_func_end sub_80A2D00
-
- thumb_func_start sub_80A2D68
-sub_80A2D68:
- push {r4,lr}
- ldr r1, _080A2D84
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2D7C
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A2D7C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2D84: .4byte 0x00000544
- thumb_func_end sub_80A2D68
-
- thumb_func_start sub_80A2D88
-sub_80A2D88:
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r0, 0xA8
- lsls r0, 3
- adds r7, r6, r0
- ldr r0, [r7]
- cmp r0, 0
- beq _080A2DC6
- movs r1, 0x89
- lsls r1, 3
- adds r5, r6, r1
- ldr r2, _080A2DCC
- adds r4, r6, r2
- movs r1, 0
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r1, 0x6
- bl MemoryAlloc
- ldr r2, _080A2DD0
- adds r1, r6, r2
- str r0, [r1]
- subs r2, 0xDC
- adds r1, r6, r2
- ldr r1, [r1]
- movs r2, 0
- ldrsh r3, [r4, r2]
- ldr r4, [r7]
- adds r2, r5, 0
- bl _call_via_r4
-_080A2DC6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2DCC: .4byte 0x0000053a
-_080A2DD0: .4byte 0x00000544
- thumb_func_end sub_80A2D88
-
- thumb_func_start sub_80A2DD4
-sub_80A2DD4:
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r0, 0xFA
- lsls r0, 2
- adds r4, r6, r0
- movs r5, 0x1
-_080A2DE0:
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2DEE
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2DEE:
- adds r4, 0x28
- subs r5, 0x1
- cmp r5, 0
- bge _080A2DE0
- ldr r0, _080A2E5C
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E08
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E08:
- movs r0, 0x88
- lsls r0, 3
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E1C
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E1C:
- movs r0, 0x86
- lsls r0, 3
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E30
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E30:
- ldr r0, _080A2E60
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E42
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E42:
- movs r0, 0x87
- lsls r0, 3
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080A2E56
- bl CloseFile
- movs r0, 0
- str r0, [r4]
-_080A2E56:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2E5C: .4byte 0x0000043c
-_080A2E60: .4byte 0x00000434
- thumb_func_end sub_80A2DD4
-
- thumb_func_start sub_80A2E64
-sub_80A2E64:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r0, 0
- bl sub_80A2DD4
- ldr r0, _080A2FA4
- adds r1, r7, r0
- ldr r0, _080A2FA8
- strh r0, [r1]
- movs r1, 0xA5
- lsls r1, 3
- adds r0, r7, r1
- movs r1, 0
- movs r2, 0
- strh r2, [r0]
- movs r3, 0x89
- lsls r3, 3
- adds r0, r7, r3
- strb r1, [r0]
- ldr r4, _080A2FAC
- adds r0, r7, r4
- strb r1, [r0]
- adds r3, 0x2
- adds r0, r7, r3
- strb r1, [r0]
- adds r4, 0x2
- adds r0, r7, r4
- strb r1, [r0]
- adds r3, 0x2
- adds r0, r7, r3
- strb r1, [r0]
- adds r4, 0x2
- adds r0, r7, r4
- strb r1, [r0]
- adds r3, r7, 0
- adds r4, 0x1F
- adds r0, r7, r4
- str r2, [r0]
- movs r2, 0x8E
- lsls r2, 3
- adds r0, r7, r2
- strb r1, [r0]
- adds r4, 0x5
- adds r0, r7, r4
- strb r1, [r0]
- movs r0, 0
- movs r1, 0xD
-_080A2ECA:
- strh r0, [r3]
- strh r0, [r3, 0x2]
- str r0, [r3, 0x8]
- str r0, [r3, 0x4]
- subs r1, 0x1
- adds r3, 0x10
- cmp r1, 0
- bge _080A2ECA
- movs r1, 0
- movs r2, 0xF8
- lsls r2, 2
- adds r0, r7, r2
- movs r2, 0x1
-_080A2EE4:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strh r1, [r0, 0x2]
- strh r1, [r0, 0x4]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- str r1, [r0, 0x14]
- str r1, [r0, 0x10]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x18]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adds r0, 0x28
- subs r2, 0x1
- cmp r2, 0
- bge _080A2EE4
- ldr r3, _080A2FB0
- adds r0, r7, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- lsls r0, 20
- lsrs r6, r0, 16
- movs r5, 0
- ldr r1, _080A2FB4
- adds r0, r7, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r5, r0
- bge _080A2F78
- mov r10, r5
- add r4, sp, 0x4
- movs r3, 0xFF
- mov r9, r3
-_080A2F26:
- mov r0, r10
- str r0, [sp]
- ldrb r0, [r4]
- mov r1, r9
- orrs r0, r1
- strb r0, [r4]
- ldrb r0, [r4, 0x1]
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- orrs r0, r1
- strb r0, [r4, 0x2]
- mov r2, r10
- strb r2, [r4, 0x3]
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, [sp]
- bl sub_8003810
- adds r5, 0x1
- mov r8, r5
- movs r5, 0xE
-_080A2F56:
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, [sp, 0x4]
- bl sub_8003810
- subs r5, 0x1
- cmp r5, 0
- bge _080A2F56
- mov r5, r8
- ldr r3, _080A2FB4
- adds r0, r7, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _080A2F26
-_080A2F78:
- adds r0, r7, 0
- movs r1, 0
- bl sub_80A3BB0
- movs r2, 0x91
- lsls r2, 3
- adds r0, r7, r2
- bl sub_80A3EB0
- ldr r3, _080A2FB8
- adds r1, r7, r3
- movs r0, 0x1
- strb r0, [r1]
- 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
-_080A2FA4: .4byte 0x00000444
-_080A2FA8: .4byte 0x0000ffff
-_080A2FAC: .4byte 0x00000449
-_080A2FB0: .4byte 0x0000052c
-_080A2FB4: .4byte 0x0000052e
-_080A2FB8: .4byte 0x0000052a
- thumb_func_end sub_80A2E64
-
- thumb_func_start sub_80A2FBC
-sub_80A2FBC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r9, r0
- lsls r1, 16
- asrs r4, r1, 16
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _080A2FDE
- mov r0, r9
- bl sub_80A2E64
- b _080A3428
-_080A2FDE:
- mov r0, r9
- bl sub_80A2DD4
- ldr r0, _080A3284
- add r0, r9
- strh r4, [r0]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080A3288
- adds r0, r1
- str r0, [sp, 0xC]
- ldr r0, [r0]
- ldr r4, _080A328C
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- movs r6, 0x86
- lsls r6, 3
- add r6, r9
- str r0, [r6]
- ldr r1, [sp, 0xC]
- ldr r0, [r1, 0x4]
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- ldr r5, _080A3290
- add r5, r9
- str r0, [r5]
- ldr r2, [sp, 0xC]
- ldr r0, [r2, 0x8]
- adds r1, r4, 0
- bl OpenFileAndGetFileDataPtr
- movs r1, 0x87
- lsls r1, 3
- add r1, r9
- str r0, [r1]
- ldr r1, [r6]
- ldr r1, [r1, 0x4]
- str r1, [sp, 0x18]
- ldr r1, [r5]
- ldr r1, [r1, 0x4]
- mov r8, r1
- ldr r6, [r0, 0x4]
- ldr r3, _080A3294
- add r3, r9
- str r3, [sp, 0x10]
- ldr r4, _080A3298
- add r4, r9
- str r4, [sp, 0x14]
- movs r5, 0x89
- lsls r5, 3
- add r5, r9
- mov r10, r5
- ldr r7, [sp, 0x18]
- ldrb r0, [r7]
- strh r0, [r3]
- adds r0, r7, 0
- adds r0, 0x2
- str r0, [sp, 0x18]
- ldrb r0, [r0]
- strh r0, [r3, 0x2]
- ldr r1, [sp, 0x18]
- adds r1, 0x2
- str r1, [sp, 0x18]
- mov r2, r8
- ldrh r0, [r2]
- strh r0, [r4]
- movs r3, 0x2
- add r8, r3
- mov r4, r8
- ldrh r0, [r4]
- ldr r5, [sp, 0x14]
- strh r0, [r5, 0x2]
- add r8, r3
- mov r7, r8
- ldrh r0, [r7]
- strh r0, [r5, 0x4]
- add r8, r3
- add r3, sp, 0x8
- ldr r0, _080A329C
- add r0, r9
- str r0, [sp, 0x1C]
- adds r1, r0, 0
- movs r2, 0x3
-_080A308A:
- mov r4, r8
- ldrh r0, [r4]
- strh r0, [r1]
- movs r5, 0x2
- add r8, r5
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080A308A
- mov r7, r8
- ldrh r0, [r7]
- movs r2, 0
- movs r1, 0
- ldr r4, [sp, 0x14]
- strh r0, [r4, 0xE]
- add r8, r5
- ldrb r0, [r6]
- mov r5, r10
- strb r0, [r5]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x1]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x2]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x3]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x4]
- adds r6, 0x1
- ldrb r0, [r6]
- strb r0, [r5, 0x5]
- adds r6, 0x1
- ldrb r0, [r6]
- strh r0, [r5, 0x6]
- adds r6, 0x2
- ldrb r0, [r6]
- strh r0, [r5, 0x8]
- adds r6, 0x2
- ldrb r0, [r6]
- strh r0, [r5, 0xA]
- adds r6, 0x2
- ldr r7, [sp, 0x18]
- ldr r0, _080A32A0
- add r0, r9
- movs r4, 0
- ldrsh r0, [r0, r4]
- lsls r0, 20
- lsrs r5, r0, 16
- str r1, [sp, 0x4]
- movs r0, 0xFF
- strb r0, [r3]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r3, 0x1]
- strb r0, [r3, 0x2]
- strb r2, [r3, 0x3]
- movs r4, 0
- ldr r1, [sp, 0x10]
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldr r3, [sp, 0xC]
- adds r3, 0xC
- str r3, [sp, 0x20]
- cmp r4, r0
- bge _080A3158
- ldr r0, _080A32A4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- bge _080A3198
-_080A311E:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r1, [sp, 0x4]
- bl sub_8003810
- adds r0, r5, 0
- adds r1, r7, 0
- movs r2, 0xF
- bl sub_809971C
- adds r0, r5, 0
- adds r0, 0xF
- lsls r0, 16
- lsrs r5, r0, 16
- adds r7, 0x3C
- adds r4, 0x1
- ldr r2, [sp, 0x10]
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r4, r0
- bge _080A3158
- ldr r0, _080A32A4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- blt _080A311E
-_080A3158:
- ldr r0, _080A32A4
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r4, r0
- bge _080A3198
-_080A3164:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r1, [sp, 0x4]
- bl sub_8003810
- adds r7, r4, 0x1
- movs r4, 0xE
-_080A3176:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r1, [sp, 0x8]
- bl sub_8003810
- subs r4, 0x1
- cmp r4, 0
- bge _080A3176
- adds r4, r7, 0
- ldr r0, _080A32A4
- add r0, r9
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r4, r0
- blt _080A3164
-_080A3198:
- movs r0, 0xA6
- lsls r0, 3
- add r0, r9
- movs r4, 0
- ldrsh r0, [r0, r4]
- lsls r0, 5
- ldr r5, _080A32A8
- adds r0, r5
- ldr r4, _080A32A0
- add r4, r9
- ldr r5, _080A3298
- add r5, r9
- mov r1, r8
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80A37C4
- movs r0, 0xA9
- lsls r0, 3
- add r0, r9
- ldr r0, [r0]
- movs r1, 0xA5
- lsls r1, 3
- add r1, r9
- ldr r7, [sp, 0x14]
- movs r3, 0x4
- ldrsh r2, [r7, r3]
- subs r2, 0x1
- lsls r2, 5
- add r2, r8
- str r5, [sp]
- adds r3, r4, 0
- bl _UncompressCell
- ldr r0, _080A32AC
- add r0, r9
- movs r3, 0x89
- lsls r3, 3
- add r3, r9
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80A3908
- adds r6, r0, 0
- movs r0, 0x8D
- lsls r0, 3
- add r0, r9
- str r6, [r0]
- ldr r0, _080A32B0
- add r0, r9
- ldr r2, [r0]
- cmp r2, 0
- beq _080A321C
- movs r1, 0xA8
- lsls r1, 3
- add r1, r9
- ldr r0, _080A32B4
- add r0, r9
- movs r4, 0
- ldrsh r3, [r0, r4]
- ldr r4, [r1]
- adds r0, r2, 0
- adds r1, r6, 0
- mov r2, r10
- bl _call_via_r4
-_080A321C:
- mov r2, r9
- movs r4, 0
- ldr r5, [sp, 0x10]
- movs r6, 0x2
- ldrsh r0, [r5, r6]
- cmp r0, 0
- beq _080A32E4
- movs r7, 0
- ldrsh r1, [r5, r7]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- ldr r5, [sp, 0x18]
- adds r3, r5, r0
- lsls r1, 2
- adds r6, r3, r1
- ldr r0, _080A32B8
- add r0, r9
- str r3, [r0]
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080A32BC
- add r0, r9
- strb r1, [r0]
- ldr r7, [sp, 0x10]
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r4, r0
- bge _080A32F8
- ldr r1, _080A32A4
- add r1, r9
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r4, r0
- bge _080A32F8
- movs r5, 0
- mov r8, r1
-_080A326C:
- movs r7, 0x2
- ldrsh r0, [r3, r7]
- cmp r0, 0
- ble _080A32C0
- str r6, [r2, 0x4]
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 2
- adds r6, r0
- b _080A32C2
- .align 2, 0
-_080A3284: .4byte 0x00000444
-_080A3288: .4byte gUnknown_81188F0
-_080A328C: .4byte gUnknown_9890000
-_080A3290: .4byte 0x00000434
-_080A3294: .4byte 0x00000464
-_080A3298: .4byte 0x00000454
-_080A329C: .4byte 0x0000045a
-_080A32A0: .4byte 0x0000052c
-_080A32A4: .4byte 0x0000052e
-_080A32A8: .4byte 0x06008000
-_080A32AC: .4byte 0x0000054c
-_080A32B0: .4byte 0x00000544
-_080A32B4: .4byte 0x0000053a
-_080A32B8: .4byte 0x0000046c
-_080A32BC: .4byte 0x00000471
-_080A32C0:
- str r5, [r2, 0x4]
-_080A32C2:
- strh r5, [r2]
- strh r5, [r2, 0x2]
- str r5, [r2, 0x8]
- adds r4, 0x1
- adds r2, 0x10
- adds r3, 0x4
- ldr r1, [sp, 0x10]
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r4, r0
- bge _080A32F8
- mov r1, r8
- movs r7, 0
- ldrsh r0, [r1, r7]
- cmp r4, r0
- blt _080A326C
- b _080A32F8
-_080A32E4:
- ldr r0, _080A3384
- add r0, r9
- str r4, [r0]
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- strb r4, [r0]
- ldr r0, _080A3388
- add r0, r9
- strb r4, [r0]
-_080A32F8:
- cmp r4, 0xD
- bgt _080A330E
- movs r0, 0
-_080A32FE:
- strh r0, [r2]
- strh r0, [r2, 0x2]
- str r0, [r2, 0x8]
- str r0, [r2, 0x4]
- adds r4, 0x1
- adds r2, 0x10
- cmp r4, 0xD
- ble _080A32FE
-_080A330E:
- movs r0, 0xA6
- lsls r0, 3
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- ldr r2, [sp, 0x14]
- movs r3, 0x4
- ldrsh r1, [r2, r3]
- adds r0, r1
- lsls r0, 5
- ldr r4, _080A338C
- adds r5, r0, r4
- movs r7, 0
- movs r6, 0
- mov r8, r6
- movs r4, 0xF8
- lsls r4, 2
- add r4, r9
- ldr r0, [sp, 0x1C]
- str r0, [sp, 0x28]
- ldr r3, [sp, 0x20]
-_080A3338:
- ldr r0, [r3]
- cmp r0, 0
- beq _080A3394
- ldr r1, _080A3390
- str r3, [sp, 0x24]
- bl OpenFileAndGetFileDataPtr
- str r0, [r4, 0x8]
- movs r1, 0x1
- strb r1, [r4]
- strb r1, [r4, 0x1]
- ldr r2, [r0, 0x4]
- str r2, [r4, 0xC]
- adds r1, r2, 0x4
- movs r0, 0x2
- ldrsh r6, [r2, r0]
- lsls r6, 2
- adds r0, r1, r6
- str r1, [r4, 0x14]
- str r1, [r4, 0x10]
- str r0, [r4, 0x1C]
- str r0, [r4, 0x18]
- mov r1, r8
- strh r1, [r4, 0x2]
- ldr r0, [r2, 0x4]
- strh r0, [r4, 0x4]
- str r5, [r4, 0x20]
- ldr r2, [sp, 0x28]
- movs r6, 0
- ldrsh r0, [r2, r6]
- lsls r0, 5
- str r0, [r4, 0x24]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r0, 5
- adds r5, r0
- ldr r3, [sp, 0x24]
- b _080A33AC
- .align 2, 0
-_080A3384: .4byte 0x0000046c
-_080A3388: .4byte 0x00000471
-_080A338C: .4byte 0x06008000
-_080A3390: .4byte gUnknown_9890000
-_080A3394:
- strb r0, [r4]
- strb r0, [r4, 0x1]
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x2]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- str r0, [r4, 0x14]
- str r0, [r4, 0x10]
- str r0, [r4, 0x1C]
- str r0, [r4, 0x18]
- str r0, [r4, 0x20]
- str r0, [r4, 0x24]
-_080A33AC:
- adds r4, 0x28
- ldr r2, [sp, 0x28]
- adds r2, 0x2
- str r2, [sp, 0x28]
- adds r3, 0x4
- adds r7, 0x1
- cmp r7, 0x1
- ble _080A3338
- cmp r7, 0x3
- bgt _080A340E
-_080A33C0:
- lsls r0, r7, 2
- ldr r3, [sp, 0x20]
- adds r0, r3, r0
- ldr r0, [r0]
- adds r4, r7, 0x1
- cmp r0, 0
- beq _080A3408
- ldr r1, _080A3438
- bl OpenFileAndGetFileDataPtr
- adds r3, r0, 0
- ldr r0, [r3, 0x4]
- adds r1, r0, 0x4
- movs r6, 0x2
- ldrsh r0, [r0, r6]
- lsls r0, 2
- adds r1, r0
- lsls r0, r7, 1
- ldr r7, [sp, 0x1C]
- adds r0, r7, r0
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 4
- cmp r0, 0
- ble _080A3402
- adds r2, r0, 0
-_080A33F4:
- ldrh r0, [r1]
- strh r0, [r5]
- adds r1, 0x2
- adds r5, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080A33F4
-_080A3402:
- adds r0, r3, 0
- bl CloseFile
-_080A3408:
- adds r7, r4, 0
- cmp r7, 0x3
- ble _080A33C0
-_080A340E:
- mov r0, r9
- movs r1, 0
- bl sub_80A3BB0
- movs r0, 0x91
- lsls r0, 3
- add r0, r9
- bl sub_80A3EB0
- ldr r1, _080A343C
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080A3428:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3438: .4byte gUnknown_9890000
-_080A343C: .4byte 0x0000052a
- thumb_func_end sub_80A2FBC
-
- thumb_func_start sub_80A3440
-sub_80A3440:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4C
- mov r9, r0
- str r2, [sp, 0x34]
- str r3, [sp, 0x38]
- lsls r1, 16
- asrs r5, r1, 16
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- beq _080A3464
- ldrb r0, [r2]
- cmp r0, 0x63
- bne _080A346C
-_080A3464:
- mov r0, r9
- bl sub_80A2E64
- b _080A376C
-_080A346C:
- mov r0, r9
- adds r1, r5, 0
- bl sub_80A2FBC
- mov r0, r9
- bl sub_80A2DD4
- ldr r0, _080A377C
- add r0, r9
- strh r5, [r0]
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- ldr r0, _080A3780
- adds r4, r0
- ldr r0, [r4]
- ldr r5, _080A3784
- adds r1, r5, 0
- bl OpenFileAndGetFileDataPtr
- movs r1, 0x86
- lsls r1, 3
- add r1, r9
- mov r8, r1
- str r0, [r1]
- ldr r0, [r4, 0x4]
- adds r1, r5, 0
- bl OpenFileAndGetFileDataPtr
- ldr r6, _080A3788
- add r6, r9
- str r0, [r6]
- ldr r0, [r4, 0x8]
- adds r1, r5, 0
- bl OpenFileAndGetFileDataPtr
- movs r1, 0x87
- lsls r1, 3
- add r1, r9
- str r0, [r1]
- mov r2, r8
- ldr r1, [r2]
- ldr r2, [r1, 0x4]
- ldr r1, [r6]
- ldr r3, [r1, 0x4]
- ldr r7, [r0, 0x4]
- ldr r1, _080A378C
- add r1, r9
- ldr r4, _080A3790
- add r4, r9
- str r4, [sp, 0x3C]
- movs r0, 0x89
- lsls r0, 3
- add r0, r9
- mov r10, r0
- ldrb r0, [r2]
- strh r0, [r1]
- ldrb r0, [r2, 0x2]
- strh r0, [r1, 0x2]
- ldrh r0, [r3]
- strh r0, [r4]
- adds r3, 0x2
- ldrh r0, [r3]
- strh r0, [r4, 0x2]
- adds r3, 0x2
- ldrh r0, [r3]
- strh r0, [r4, 0x4]
- adds r3, 0x2
- add r5, sp, 0x2C
- ldr r1, _080A3794
- add r1, r9
- str r1, [sp, 0x48]
- movs r2, 0x3
-_080A34FE:
- ldrh r0, [r3]
- strh r0, [r1]
- adds r3, 0x2
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080A34FE
- ldrh r0, [r3]
- movs r2, 0
- mov r8, r2
- ldr r4, [sp, 0x3C]
- strh r0, [r4, 0xE]
- ldrb r0, [r7]
- mov r1, r10
- strb r0, [r1]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x1]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x2]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x3]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x4]
- adds r7, 0x1
- ldrb r0, [r7]
- strb r0, [r1, 0x5]
- adds r7, 0x1
- ldrb r0, [r7]
- strh r0, [r1, 0x6]
- adds r7, 0x2
- ldrb r0, [r7]
- strh r0, [r1, 0x8]
- adds r7, 0x2
- ldrb r0, [r7]
- strh r0, [r1, 0xA]
- adds r7, 0x2
- ldr r4, _080A3798
- add r4, r9
- ldr r0, [r4]
- str r0, [sp, 0x2C]
- str r2, [r5, 0x4]
- ldr r2, _080A379C
- add r2, r9
- movs r3, 0x89
- lsls r3, 3
- add r3, r9
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80A3908
- adds r7, r0, 0
- movs r0, 0x8D
- lsls r0, 3
- add r0, r9
- str r7, [r0]
- ldr r5, _080A37A0
- add r5, r9
- movs r6, 0x88
- lsls r6, 3
- add r6, r9
- ldr r2, _080A37A4
- movs r0, 0xA9
- lsls r0, 3
- add r0, r9
- ldr r3, [r0]
- ldr r0, _080A37A8
- add r0, r9
- ldr r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x34]
- str r0, [sp, 0x4]
- ldr r1, [sp, 0x38]
- str r1, [sp, 0x8]
- movs r0, 0x40
- str r0, [sp, 0xC]
- mov r1, r10
- ldrb r0, [r1, 0x5]
- str r0, [sp, 0x10]
- ldr r0, [r4]
- str r0, [sp, 0x14]
- mov r0, r8
- str r0, [sp, 0x18]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80ADD9C
- ldr r0, [r5]
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r6]
- movs r1, 0
- bl GetFileDataPtr
- movs r2, 0xA8
- lsls r2, 3
- add r2, r9
- ldr r0, [r4]
- ldr r1, _080A37AC
- add r1, r9
- movs r4, 0
- ldrsh r3, [r1, r4]
- ldr r4, [r2]
- adds r1, r7, 0
- mov r2, r10
- bl _call_via_r4
- movs r0, 0x80
- lsls r0, 2
- ldr r1, [sp, 0x3C]
- strh r0, [r1, 0x4]
- ldr r1, [sp, 0x48]
- movs r2, 0
- adds r0, r1, 0x6
-_080A35EA:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080A35EA
- movs r2, 0
- movs r0, 0xFA
- ldr r4, [sp, 0x3C]
- strh r0, [r4, 0xE]
- ldr r1, _080A378C
- add r1, r9
- movs r0, 0xC
- strh r0, [r1]
- ldr r0, _080A37B0
- add r0, r9
- strh r2, [r0]
- ldr r0, _080A37A0
- add r0, r9
- ldr r0, [r0]
- cmp r0, 0
- beq _080A36E6
- ldr r4, [r0, 0x4]
- movs r7, 0
- str r7, [sp, 0x1C]
- add r1, sp, 0x20
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x1]
- strb r0, [r1, 0x2]
- movs r0, 0
- strb r0, [r1, 0x3]
- movs r5, 0
- ldr r0, _080A37B4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _080A36E6
- mov r2, sp
- adds r2, 0x28
- str r2, [sp, 0x40]
- mov r0, sp
- adds r0, 0x29
- str r0, [sp, 0x44]
- movs r1, 0x2A
- add r1, sp
- mov r10, r1
- movs r2, 0x2B
- add r2, sp
- mov r8, r2
-_080A3650:
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, [sp, 0x1C]
- bl sub_8003810
- adds r4, 0x4
- adds r6, r5, 0x1
- movs r5, 0xE
-_080A3664:
- ldrb r0, [r4]
- ldr r1, [sp, 0x40]
- strb r0, [r1]
- ldrb r0, [r4, 0x1]
- ldr r2, [sp, 0x44]
- strb r0, [r2]
- ldrb r0, [r4, 0x2]
- mov r1, r10
- strb r0, [r1]
- ldrb r0, [r4, 0x3]
- mov r2, r8
- strb r0, [r2]
- ldr r1, [sp, 0x28]
- str r1, [sp, 0x24]
- adds r0, r7, 0
- adds r2, r0, 0x1
- lsls r2, 16
- lsrs r7, r2, 16
- bl sub_8003810
- adds r4, 0x4
- subs r5, 0x1
- cmp r5, 0
- bge _080A3664
- adds r5, r6, 0
- cmp r5, 0xB
- bgt _080A36A6
- ldr r0, _080A37B4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- blt _080A3650
-_080A36A6:
- ldr r0, _080A37B4
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r5, r0
- bge _080A36E6
-_080A36B2:
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, [sp, 0x1C]
- bl sub_8003810
- adds r6, r5, 0x1
- movs r5, 0xE
-_080A36C4:
- adds r0, r7, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r1, [sp, 0x20]
- bl sub_8003810
- subs r5, 0x1
- cmp r5, 0
- bge _080A36C4
- adds r5, r6, 0
- ldr r0, _080A37B4
- add r0, r9
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r5, r0
- blt _080A36B2
-_080A36E6:
- mov r4, r9
- movs r0, 0x88
- lsls r0, 3
- add r0, r9
- ldr r1, [r0]
- cmp r1, 0
- beq _080A36FE
- mov r0, r9
- adds r0, 0xE0
- movs r2, 0x20
- bl sub_8004AA4
-_080A36FE:
- ldr r0, _080A37B8
- add r0, r9
- movs r1, 0
- str r1, [r0]
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- strb r1, [r0]
- ldr r0, _080A37BC
- add r0, r9
- strb r1, [r0]
- movs r0, 0
- movs r1, 0xD
-_080A3718:
- strh r0, [r4]
- strh r0, [r4, 0x2]
- str r0, [r4, 0x8]
- str r0, [r4, 0x4]
- subs r1, 0x1
- adds r4, 0x10
- cmp r1, 0
- bge _080A3718
- movs r1, 0
- movs r0, 0xF8
- lsls r0, 2
- add r0, r9
- movs r2, 0x1
-_080A3732:
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x2]
- str r1, [r0, 0x8]
- str r1, [r0, 0xC]
- str r1, [r0, 0x14]
- str r1, [r0, 0x10]
- str r1, [r0, 0x1C]
- str r1, [r0, 0x18]
- str r1, [r0, 0x20]
- str r1, [r0, 0x24]
- adds r0, 0x28
- subs r2, 0x1
- cmp r2, 0
- bge _080A3732
- mov r0, r9
- movs r1, 0
- bl sub_80A3BB0
- movs r0, 0x91
- lsls r0, 3
- add r0, r9
- bl sub_80A3EB0
- ldr r1, _080A37C0
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080A376C:
- add sp, 0x4C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A377C: .4byte 0x00000444
-_080A3780: .4byte gUnknown_81188F0
-_080A3784: .4byte gUnknown_9890000
-_080A3788: .4byte 0x00000434
-_080A378C: .4byte 0x00000464
-_080A3790: .4byte 0x00000454
-_080A3794: .4byte 0x0000045a
-_080A3798: .4byte 0x00000544
-_080A379C: .4byte 0x0000052c
-_080A37A0: .4byte 0x0000043c
-_080A37A4: .4byte 0x06008000
-_080A37A8: .4byte 0x0000054c
-_080A37AC: .4byte 0x0000053a
-_080A37B0: .4byte 0x00000466
-_080A37B4: .4byte 0x0000052e
-_080A37B8: .4byte 0x0000046c
-_080A37BC: .4byte 0x00000471
-_080A37C0: .4byte 0x0000052a
- thumb_func_end sub_80A3440
-
- thumb_func_start sub_80A37C4
-sub_80A37C4:
- push {r4-r6,lr}
- adds r6, r2, 0
- adds r4, r1, 0
- adds r2, r0, 0
- movs r0, 0
- movs r1, 0xF
-_080A37D0:
- strh r0, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A37D0
- movs r0, 0x1
- movs r1, 0x4
- ldrsh r3, [r3, r1]
- cmp r0, r3
- bge _080A37FE
- adds r5, r3, 0
-_080A37E6:
- adds r3, r0, 0x1
- movs r1, 0xF
-_080A37EA:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A37EA
- adds r0, r3, 0
- cmp r0, r5
- blt _080A37E6
-_080A37FE:
- movs r3, 0x6
- ldrsh r1, [r6, r3]
- cmp r0, r1
- bge _080A3820
- ldr r3, _080A3828
- adds r4, r3, 0
- adds r5, r1, 0
-_080A380C:
- adds r3, r0, 0x1
- movs r1, 0xF
-_080A3810:
- strh r4, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A3810
- adds r0, r3, 0
- cmp r0, r5
- blt _080A380C
-_080A3820:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3828: .4byte 0x0000ffff
- thumb_func_end sub_80A37C4
-
- thumb_func_start _UncompressCell
-_UncompressCell:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r1, 0
- mov r8, r3
- ldr r3, [sp, 0x18]
- adds r4, r2, 0
- adds r2, r0, 0
- mov r1, r8
- ldrh r0, [r1]
- lsls r0, 12
- ldrh r1, [r1, 0x4]
- orrs r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, [r3]
- ldr r0, _080A385C
- cmp r1, r0
- bne _080A3860
- movs r0, 0x1
- strh r0, [r5]
- movs r5, 0x4
- b _080A3890
- .align 2, 0
-_080A385C: .4byte 0x00020002
-_080A3860:
- ldr r0, _080A3870
- cmp r1, r0
- bne _080A3874
- movs r0, 0x2
- strh r0, [r5]
- movs r5, 0x9
- b _080A3890
- .align 2, 0
-_080A3870: .4byte 0x00030003
-_080A3874:
- movs r0, 0
- strh r0, [r5]
- ldr r0, _080A3888
- ldr r1, _080A388C
- movs r4, 0
- ldrsh r2, [r3, r4]
- movs r6, 0x2
- ldrsh r3, [r3, r6]
- bl FatalError
- .align 2, 0
-_080A3888: .4byte gUnknown_81172E8
-_080A388C: .4byte gUnknown_81172F4
-_080A3890:
- movs r0, 0
- movs r1, 0x8
-_080A3894:
- strh r0, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A3894
- movs r0, 0x1
- movs r7, 0xE
- ldrsh r1, [r3, r7]
- cmp r0, r1
- bge _080A38DC
- mov r12, r1
-_080A38AA:
- movs r1, 0
- adds r3, r0, 0x1
- cmp r1, r5
- bge _080A38C6
- adds r1, r5, 0
-_080A38B4:
- ldrh r0, [r4]
- adds r0, r6, r0
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _080A38B4
- adds r1, r5, 0
-_080A38C6:
- cmp r1, 0x8
- bgt _080A38D6
- movs r0, 0
-_080A38CC:
- strh r0, [r2]
- adds r2, 0x2
- adds r1, 0x1
- cmp r1, 0x8
- ble _080A38CC
-_080A38D6:
- adds r0, r3, 0
- cmp r0, r12
- blt _080A38AA
-_080A38DC:
- mov r1, r8
- movs r4, 0x8
- ldrsh r3, [r1, r4]
- cmp r0, r3
- bge _080A38FE
- movs r4, 0
- adds r5, r3, 0
-_080A38EA:
- adds r3, r0, 0x1
- movs r1, 0x8
-_080A38EE:
- strh r4, [r2]
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080A38EE
- adds r0, r3, 0
- cmp r0, r5
- blt _080A38EA
-_080A38FE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end _UncompressCell
-
- thumb_func_start sub_80A3908
-sub_80A3908:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r0, [sp]
- str r2, [sp, 0x4]
- mov r9, r3
- adds r6, r1, 0
- movs r2, 0
- ldr r1, [sp, 0x4]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r2, r0
- blt _080A392A
- b _080A3B6C
-_080A392A:
- lsls r0, r2, 2
- ldr r4, [sp]
- adds r0, r4
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0
- adds r2, 0x1
- str r2, [sp, 0x8]
- mov r5, r9
- ldrb r5, [r5, 0x5]
- cmp r1, r5
- blt _080A3944
- b _080A3B2A
-_080A3944:
- ldr r0, _080A39A4
- mov r10, r0
-_080A3948:
- movs r2, 0
- mov r8, r2
- cmp r1, 0
- bne _080A3A18
- movs r3, 0x1
- str r3, [sp, 0xC]
- mov r4, r9
- ldrb r4, [r4, 0x4]
- cmp r1, r4
- blt _080A395E
- b _080A3B04
-_080A395E:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0xBF
- ble _080A39A8
- adds r2, r1, 0
- subs r2, 0xBF
- cmp r1, 0xBF
- ble _080A39A0
- ldr r5, _080A39A4
- adds r4, r5, 0
- adds r3, r2, 0
-_080A3974:
- ldrb r1, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r1, r0
- adds r6, 0x3
- adds r0, r1, 0
- ands r0, r4
- mov r5, r12
- strh r0, [r5]
- movs r0, 0x2
- add r12, r0
- asrs r1, 12
- ands r1, r4
- mov r5, r12
- strh r1, [r5]
- add r12, r0
- subs r3, 0x1
- cmp r3, 0
- bne _080A3974
-_080A39A0:
- lsls r0, r2, 1
- b _080A3A0C
- .align 2, 0
-_080A39A4: .4byte 0x00000fff
-_080A39A8:
- cmp r1, 0x7F
- ble _080A39EA
- ldrb r2, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r2, r0
- adds r6, 0x3
- adds r4, r1, 0
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A39E6
- adds r0, r2, 0
- mov r1, r10
- ands r0, r1
- asrs r1, r2, 12
- mov r2, r10
- ands r1, r2
- adds r3, r4, 0
-_080A39D2:
- mov r5, r12
- strh r0, [r5]
- movs r2, 0x2
- add r12, r2
- mov r5, r12
- strh r1, [r5]
- add r12, r2
- subs r3, 0x1
- cmp r3, 0
- bne _080A39D2
-_080A39E6:
- lsls r0, r4, 1
- b _080A3A0C
-_080A39EA:
- movs r3, 0
- adds r0, r1, 0x1
- cmp r3, r1
- bgt _080A3A0A
- movs r1, 0
- adds r3, r0, 0
-_080A39F6:
- mov r2, r12
- strh r1, [r2]
- movs r4, 0x2
- add r12, r4
- mov r5, r12
- strh r1, [r5]
- add r12, r4
- subs r3, 0x1
- cmp r3, 0
- bne _080A39F6
-_080A3A0A:
- lsls r0, 1
-_080A3A0C:
- add r8, r0
- mov r0, r9
- ldrb r0, [r0, 0x4]
- cmp r8, r0
- blt _080A395E
- b _080A3B04
-_080A3A18:
- mov r4, r12
- subs r4, 0x80
- adds r1, 0x1
- str r1, [sp, 0xC]
- mov r1, r9
- ldrb r1, [r1, 0x4]
- cmp r8, r1
- bge _080A3B04
-_080A3A28:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0xBF
- ble _080A3A80
- adds r5, r1, 0
- subs r5, 0xBF
- cmp r1, 0xBF
- ble _080A3A78
- ldr r2, _080A3A7C
- adds r7, r2, 0
- adds r3, r5, 0
-_080A3A3E:
- ldrb r2, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r2, r0
- adds r6, 0x3
- adds r0, r2, 0
- ands r0, r7
- ldrh r1, [r4]
- eors r0, r1
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r0, 0x2
- add r12, r0
- asrs r2, 12
- ands r2, r7
- ldrh r0, [r4]
- eors r2, r0
- mov r1, r12
- strh r2, [r1]
- adds r4, 0x2
- movs r2, 0x2
- add r12, r2
- subs r3, 0x1
- cmp r3, 0
- bne _080A3A3E
-_080A3A78:
- lsls r0, r5, 1
- b _080A3AFA
- .align 2, 0
-_080A3A7C: .4byte 0x00000fff
-_080A3A80:
- cmp r1, 0x7F
- ble _080A3AD2
- ldrb r2, [r6]
- ldrb r0, [r6, 0x1]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r6, 0x2]
- lsls r0, 16
- orrs r2, r0
- adds r6, 0x3
- adds r7, r1, 0
- subs r7, 0x7F
- cmp r1, 0x7F
- ble _080A3ACE
- adds r5, r2, 0
- mov r3, r10
- ands r5, r3
- asrs r2, 12
- ands r2, r3
- adds r3, r7, 0
-_080A3AA8:
- ldrh r1, [r4]
- adds r0, r5, 0
- eors r0, r1
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r0, 0x2
- add r12, r0
- ldrh r1, [r4]
- adds r0, r2, 0
- eors r0, r1
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r0, 0x2
- add r12, r0
- subs r3, 0x1
- cmp r3, 0
- bne _080A3AA8
-_080A3ACE:
- lsls r0, r7, 1
- b _080A3AFA
-_080A3AD2:
- movs r3, 0
- adds r2, r1, 0x1
- cmp r3, r1
- bgt _080A3AF8
- adds r3, r2, 0
-_080A3ADC:
- ldrh r0, [r4]
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- movs r5, 0x2
- add r12, r5
- ldrh r0, [r4]
- mov r1, r12
- strh r0, [r1]
- adds r4, 0x2
- add r12, r5
- subs r3, 0x1
- cmp r3, 0
- bne _080A3ADC
-_080A3AF8:
- lsls r0, r2, 1
-_080A3AFA:
- add r8, r0
- mov r2, r9
- ldrb r2, [r2, 0x4]
- cmp r8, r2
- blt _080A3A28
-_080A3B04:
- mov r3, r8
- cmp r3, 0x3F
- bgt _080A3B1E
- movs r0, 0
-_080A3B0C:
- mov r4, r12
- strh r0, [r4]
- movs r5, 0x2
- add r12, r5
- movs r1, 0x1
- add r8, r1
- mov r2, r8
- cmp r2, 0x3F
- ble _080A3B0C
-_080A3B1E:
- ldr r1, [sp, 0xC]
- mov r3, r9
- ldrb r3, [r3, 0x5]
- cmp r1, r3
- bge _080A3B2A
- b _080A3948
-_080A3B2A:
- ldr r4, [sp, 0x4]
- movs r5, 0x10
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bge _080A3B5E
- movs r2, 0
-_080A3B36:
- adds r1, 0x1
- str r1, [sp, 0xC]
- movs r0, 0x3F
- mov r8, r0
-_080A3B3E:
- mov r1, r12
- strh r2, [r1]
- movs r3, 0x2
- add r12, r3
- movs r4, 0x1
- negs r4, r4
- add r8, r4
- mov r5, r8
- cmp r5, 0
- bge _080A3B3E
- ldr r1, [sp, 0xC]
- ldr r3, [sp, 0x4]
- movs r4, 0x10
- ldrsh r0, [r3, r4]
- cmp r1, r0
- blt _080A3B36
-_080A3B5E:
- ldr r2, [sp, 0x8]
- ldr r5, [sp, 0x4]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r2, r0
- bge _080A3B6C
- b _080A392A
-_080A3B6C:
- adds r0, r6, 0
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A3908
-
- thumb_func_start sub_80A3B80
-sub_80A3B80:
- push {r4,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r4, _080A3BA8
- adds r0, r3, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080A3BA2
- adds r4, 0x4
- adds r0, r3, r4
- strb r1, [r0]
- ldr r1, _080A3BAC
- adds r0, r3, r1
- strb r2, [r0]
-_080A3BA2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3BA8: .4byte 0x0000046c
-_080A3BAC: .4byte 0x00000471
- thumb_func_end sub_80A3B80
-
- thumb_func_start sub_80A3BB0
-sub_80A3BB0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r6, r1, 0
- movs r0, 0x91
- lsls r0, 3
- adds r0, r5
- mov r8, r0
- cmp r1, 0
- blt _080A3BD4
- cmp r1, 0x1
- ble _080A3BD4
- cmp r1, 0x4
- ble _080A3C00
-_080A3BD4:
- ldr r1, _080A3BFC
- adds r0, r5, r1
- movs r1, 0x1
- str r1, [r0]
- movs r2, 0xA7
- lsls r2, 3
- adds r0, r5, r2
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0
- cmp r6, 0x1
- bne _080A3BEE
- movs r0, 0x1
-_080A3BEE:
- str r0, [sp]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl sub_80A3D40
- b _080A3C48
- .align 2, 0
-_080A3BFC: .4byte 0x00000474
-_080A3C00:
- ldr r2, _080A3C88
- adds r0, r5, r2
- movs r7, 0x2
- str r7, [r0]
- movs r0, 0xA7
- lsls r0, 3
- adds r4, r5, r0
- movs r2, 0
- ldrsh r0, [r4, r2]
- subs r3, r0, 0x1
- movs r0, 0
- cmp r1, 0x4
- bne _080A3C1C
- movs r0, 0x1
-_080A3C1C:
- str r0, [sp]
- mov r0, r8
- adds r1, r5, 0
- movs r2, 0
- bl sub_80A3D40
- movs r1, 0x9B
- lsls r1, 3
- adds r0, r5, r1
- movs r1, 0
- ldrsh r2, [r4, r1]
- subs r2, 0x1
- adds r3, r7, 0
- eors r3, r6
- negs r1, r3
- orrs r1, r3
- lsrs r1, 31
- str r1, [sp]
- adds r1, r5, 0
- movs r3, 0x1
- bl sub_80A3D40
-_080A3C48:
- movs r6, 0
- ldr r2, _080A3C88
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r6, r0
- bge _080A3CF0
- movs r0, 0x8F
- lsls r0, 3
- adds r7, r5, r0
- mov r4, r8
-_080A3C5C:
- adds r0, r5, 0
- adds r1, r6, 0
- ldr r2, _080A3C8C
- bl sub_80A456C
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A3C72
- cmp r0, 0x2
- beq _080A3CB4
-_080A3C72:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- beq _080A3C94
- cmp r0, 0x1
- ble _080A3C82
- cmp r0, 0x2
- beq _080A3C9C
-_080A3C82:
- ldr r0, _080A3C90
- b _080A3CD6
- .align 2, 0
-_080A3C88: .4byte 0x00000474
-_080A3C8C: .4byte gUnknown_8117314
-_080A3C90: .4byte sub_80A3EBC
-_080A3C94:
- ldr r0, _080A3C98
- b _080A3CD6
- .align 2, 0
-_080A3C98: .4byte sub_80A3EF4
-_080A3C9C:
- ldrb r0, [r4, 0x6]
- ldr r1, _080A3CAC
- cmp r0, 0
- beq _080A3CA6
- ldr r1, _080A3CB0
-_080A3CA6:
- str r1, [r4, 0x18]
- b _080A3CD8
- .align 2, 0
-_080A3CAC: .4byte sub_80A4088
-_080A3CB0: .4byte sub_80A41C4
-_080A3CB4:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A3CCC
- cmp r0, 0x1
- ble _080A3CC4
- cmp r0, 0x2
- beq _080A3CD4
-_080A3CC4:
- ldr r0, _080A3CC8
- b _080A3CD6
- .align 2, 0
-_080A3CC8: .4byte sub_80A3ED4
-_080A3CCC:
- ldr r0, _080A3CD0
- b _080A3CD6
- .align 2, 0
-_080A3CD0: .4byte sub_80A3F94
-_080A3CD4:
- ldr r0, _080A3D34
-_080A3CD6:
- str r0, [r4, 0x18]
-_080A3CD8:
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80A3E14
- adds r7, 0x8
- adds r4, 0x50
- adds r6, 0x1
- ldr r2, _080A3D38
- adds r0, r5, r2
- ldr r0, [r0]
- cmp r6, r0
- blt _080A3C5C
-_080A3CF0:
- ldr r1, _080A3D38
- adds r0, r5, r1
- ldr r6, [r0]
- cmp r6, 0x1
- bgt _080A3D26
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 4
- mov r2, r8
- adds r4, r0, r2
-_080A3D04:
- adds r0, r5, 0
- adds r1, r6, 0
- ldr r2, _080A3D3C
- bl sub_80A456C
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- movs r3, 0
- bl sub_80A3D40
- adds r4, 0x50
- adds r6, 0x1
- cmp r6, 0x1
- ble _080A3D04
-_080A3D26:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D34: .4byte sub_80A4358
-_080A3D38: .4byte 0x00000474
-_080A3D3C: .4byte gUnknown_8117314
- thumb_func_end sub_80A3BB0
-
- thumb_func_start sub_80A3D40
-sub_80A3D40:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- adds r5, r1, 0
- mov r8, r3
- ldr r1, [sp, 0x1C]
- movs r3, 0xA5
- lsls r3, 3
- adds r0, r5, r3
- ldrh r0, [r0]
- strh r0, [r4]
- strh r2, [r4, 0x2]
- mov r7, r8
- strh r7, [r4, 0x4]
- strb r1, [r4, 0x6]
- ldr r1, _080A3E10
- adds r0, r5, r1
- ldrb r0, [r0]
- str r0, [r4, 0x8]
- subs r3, 0xDB
- adds r0, r5, r3
- ldrb r0, [r0]
- str r0, [r4, 0xC]
- movs r7, 0x89
- lsls r7, 3
- adds r0, r5, r7
- ldrb r0, [r0]
- lsls r0, 3
- str r0, [r4, 0x10]
- subs r1, 0x3
- adds r0, r5, r1
- ldrb r0, [r0]
- lsls r0, 3
- str r0, [r4, 0x14]
- adds r3, 0xFB
- adds r0, r5, r3
- ldr r0, [r0]
- str r0, [r4, 0x1C]
- movs r3, 0
- cmp r3, r8
- bge _080A3DE0
- adds r7, 0xF0
- adds r6, r5, r7
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r2, r0
- bge _080A3DE0
- lsls r0, r2, 2
- adds r7, 0x14
- adds r0, r7
- adds r1, r0, r5
- movs r0, 0x20
- adds r0, r4
- mov r12, r0
- movs r7, 0x28
- adds r7, r4
- mov r9, r7
-_080A3DB6:
- ldr r0, [r1]
- mov r7, r12
- adds r7, 0x4
- mov r12, r7
- subs r7, 0x4
- stm r7!, {r0}
- ldr r0, [r1, 0x8]
- mov r7, r9
- adds r7, 0x4
- mov r9, r7
- subs r7, 0x4
- stm r7!, {r0}
- adds r3, 0x1
- adds r1, 0x4
- adds r2, 0x1
- cmp r3, r8
- bge _080A3DE0
- movs r7, 0
- ldrsh r0, [r6, r7]
- cmp r2, r0
- blt _080A3DB6
-_080A3DE0:
- cmp r3, 0x1
- bgt _080A3DF8
- movs r1, 0
- lsls r0, r3, 2
- adds r0, 0x20
- adds r0, r4
-_080A3DEC:
- str r1, [r0]
- str r1, [r0, 0x8]
- adds r0, 0x4
- adds r3, 0x1
- cmp r3, 0x1
- ble _080A3DEC
-_080A3DF8:
- movs r0, 0x8F
- lsls r0, 3
- adds r1, r5, r0
- adds r0, r4, 0
- bl sub_80A3E14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3E10: .4byte 0x0000044c
- thumb_func_end sub_80A3D40
-
- thumb_func_start sub_80A3E14
-sub_80A3E14:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- adds r0, r1, 0
- ldr r1, [r0]
- mov r8, r1
- str r1, [r4, 0x30]
- cmp r1, 0
- bge _080A3E2A
- adds r1, 0x7
-_080A3E2A:
- asrs r6, r1, 3
- str r6, [r4, 0x38]
- ldr r7, [r0, 0x4]
- str r7, [r4, 0x34]
- adds r0, r7, 0
- cmp r7, 0
- bge _080A3E3A
- adds r0, r7, 0x7
-_080A3E3A:
- asrs r5, r0, 3
- str r5, [r4, 0x3C]
- movs r3, 0
- ldrsh r2, [r4, r3]
- cmp r2, 0x1
- beq _080A3E60
- cmp r2, 0x1
- bgt _080A3E50
- cmp r2, 0
- beq _080A3E56
- b _080A3EA4
-_080A3E50:
- cmp r2, 0x2
- beq _080A3E7E
- b _080A3EA4
-_080A3E56:
- str r2, [r4, 0x40]
- str r2, [r4, 0x44]
- str r2, [r4, 0x48]
- str r2, [r4, 0x4C]
- b _080A3EA4
-_080A3E60:
- lsrs r1, 31
- adds r1, r6, r1
- asrs r1, 1
- str r1, [r4, 0x40]
- lsrs r0, 31
- adds r0, r5, r0
- asrs r0, 1
- str r0, [r4, 0x44]
- lsls r1, 4
- mov r2, r8
- subs r1, r2, r1
- str r1, [r4, 0x48]
- lsls r0, 4
- subs r0, r7, r0
- b _080A3EA2
-_080A3E7E:
- adds r0, r6, 0
- movs r1, 0x3
- bl __divsi3
- str r0, [r4, 0x40]
- adds r0, r5, 0
- movs r1, 0x3
- bl __divsi3
- str r0, [r4, 0x44]
- lsls r0, r6, 3
- mov r3, r8
- subs r0, r3, r0
- str r0, [r4, 0x48]
- adds r0, r7, 0
- movs r1, 0x18
- bl __modsi3
-_080A3EA2:
- str r0, [r4, 0x4C]
-_080A3EA4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3E14
-
- thumb_func_start sub_80A3EB0
-sub_80A3EB0:
- push {lr}
- ldr r1, [r0, 0x18]
- bl _call_via_r1
- pop {r0}
- bx r0
- thumb_func_end sub_80A3EB0
-
- thumb_func_start sub_80A3EBC
-sub_80A3EBC:
- push {lr}
- ldr r0, [r0, 0x28]
- movs r2, 0
- movs r1, 0x80
- lsls r1, 3
-_080A3EC6:
- strh r2, [r0]
- adds r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bne _080A3EC6
- pop {r0}
- bx r0
- thumb_func_end sub_80A3EBC
-
- thumb_func_start sub_80A3ED4
-sub_80A3ED4:
- push {lr}
- ldr r1, [r0, 0x28]
- ldr r0, [r0, 0x2C]
- movs r3, 0
- movs r2, 0x80
- lsls r2, 3
-_080A3EE0:
- strh r3, [r1]
- adds r1, 0x2
- strh r3, [r0]
- adds r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080A3EE0
- pop {r0}
- bx r0
- thumb_func_end sub_80A3ED4
-
- thumb_func_start sub_80A3EF4
-sub_80A3EF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r1, [r0, 0x44]
- lsls r1, 6
- ldr r2, [r0, 0x40]
- adds r1, r2
- lsls r1, 1
- ldr r2, [r0, 0x20]
- adds r2, r1
- movs r1, 0
- mov r12, r1
- ldr r3, [r0, 0x28]
- str r3, [sp, 0xC]
- ldr r0, [r0, 0x1C]
- mov r10, r0
- mov r0, sp
- str r0, [sp, 0x8]
-_080A3F1E:
- adds r5, r2, 0
- movs r2, 0x80
- adds r2, r5
- mov r9, r2
- adds r1, 0x1
- mov r8, r1
- ldr r1, [sp, 0x8]
- mov r3, r12
- lsls r0, r3, 1
- ldr r2, [sp, 0xC]
- adds r0, r2
- movs r2, 0x1
-_080A3F36:
- stm r1!, {r0}
- adds r0, 0x40
- movs r3, 0x20
- add r12, r3
- subs r2, 0x1
- cmp r2, 0
- bge _080A3F36
- movs r4, 0
- mov r7, sp
-_080A3F48:
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r10
- adds r3, r1, r0
- adds r5, 0x2
- adds r6, r4, 0x1
- adds r4, r7, 0
- movs r2, 0x1
-_080A3F5C:
- ldr r0, [r4]
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r0, 0x2
- ldrh r1, [r3]
- strh r1, [r0]
- adds r3, 0x2
- adds r0, 0x2
- stm r4!, {r0}
- subs r2, 0x1
- cmp r2, 0
- bge _080A3F5C
- adds r4, r6, 0
- cmp r4, 0xF
- ble _080A3F48
- mov r2, r9
- mov r1, r8
- cmp r1, 0xA
- ble _080A3F1E
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3EF4
-
- thumb_func_start sub_80A3F94
-sub_80A3F94:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- ldr r1, [r0, 0x44]
- lsls r1, 6
- ldr r2, [r0, 0x40]
- adds r1, r2
- lsls r1, 1
- ldr r2, [r0, 0x20]
- adds r3, r2, r1
- ldr r2, [r0, 0x24]
- adds r2, r1
- movs r1, 0
- ldr r4, [r0, 0x28]
- str r4, [sp, 0x2C]
- ldr r5, [r0, 0x2C]
- str r5, [sp, 0x18]
- ldr r0, [r0, 0x1C]
- str r0, [sp, 0x1C]
- mov r0, sp
- str r0, [sp, 0x10]
- mov r4, sp
- adds r4, 0x8
- str r4, [sp, 0x14]
- movs r5, 0
- str r5, [sp, 0x30]
-_080A3FCE:
- mov r8, r3
- mov r12, r2
- mov r0, r8
- adds r0, 0x80
- str r0, [sp, 0x20]
- mov r4, r12
- adds r4, 0x80
- str r4, [sp, 0x24]
- adds r1, 0x1
- str r1, [sp, 0x28]
- ldr r3, [sp, 0x14]
- ldr r2, [sp, 0x10]
- ldr r5, [sp, 0x30]
- ldr r0, [sp, 0x18]
- adds r1, r5, r0
- ldr r4, [sp, 0x2C]
- adds r0, r5, r4
- movs r5, 0x1
-_080A3FF2:
- stm r2!, {r0}
- stm r3!, {r1}
- adds r1, 0x40
- adds r0, 0x40
- ldr r4, [sp, 0x30]
- adds r4, 0x40
- str r4, [sp, 0x30]
- subs r5, 0x1
- cmp r5, 0
- bge _080A3FF2
- movs r2, 0
- ldr r5, [sp, 0x1C]
- mov r9, r5
-_080A400C:
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r4, r1, r0
- movs r5, 0x2
- add r8, r5
- mov r0, r12
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r3, r1, r0
- add r12, r5
- movs r5, 0
- adds r2, 0x1
- mov r10, r2
- ldr r7, [sp, 0x14]
- ldr r6, [sp, 0x10]
-_080A4038:
- ldr r1, [r6]
- ldr r2, [r7]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- stm r6!, {r1}
- stm r7!, {r2}
- adds r5, 0x1
- cmp r5, 0x1
- ble _080A4038
- mov r2, r10
- cmp r2, 0xF
- ble _080A400C
- ldr r3, [sp, 0x20]
- ldr r2, [sp, 0x24]
- ldr r1, [sp, 0x28]
- cmp r1, 0xA
- ble _080A3FCE
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3F94
-
- thumb_func_start sub_80A4088
-sub_80A4088:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r0, [r4, 0x38]
- movs r1, 0x3
- bl __modsi3
- adds r7, r0, 0
- ldr r0, [r4, 0x44]
- lsls r0, 6
- ldr r1, [r4, 0x40]
- adds r0, r1
- lsls r0, 1
- ldr r1, [r4, 0x20]
- adds r1, r0
- movs r0, 0
- mov r8, r0
- ldr r2, [r4, 0x28]
- str r2, [sp, 0xC]
- ldr r4, [r4, 0x1C]
- mov r12, r4
-_080A40BA:
- adds r5, r1, 0
- movs r1, 0x80
- adds r1, r5
- mov r9, r1
- adds r0, 0x1
- mov r10, r0
- mov r1, sp
- mov r2, r8
- lsls r0, r2, 1
- ldr r2, [sp, 0xC]
- adds r0, r2
- movs r3, 0x2
-_080A40D2:
- stm r1!, {r0}
- adds r0, 0x40
- movs r2, 0x20
- add r8, r2
- subs r3, 0x1
- cmp r3, 0
- bge _080A40D2
- cmp r7, 0
- beq _080A412E
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r12
- adds r2, r1, r0
- adds r5, 0x2
- cmp r7, 0x1
- bne _080A4116
- adds r2, 0x2
- mov r4, sp
- movs r3, 0x2
-_080A40FC:
- ldr r0, [r4]
- ldrh r1, [r2]
- strh r1, [r0]
- adds r0, 0x2
- ldrh r1, [r2, 0x2]
- strh r1, [r0]
- adds r0, 0x2
- stm r4!, {r0}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A40FC
- b _080A412E
-_080A4116:
- adds r2, 0x4
- mov r4, sp
- movs r3, 0x2
-_080A411C:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r1, 0x2
- stm r4!, {r1}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A411C
-_080A412E:
- movs r3, 0
-_080A4130:
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r12
- adds r2, r1, r0
- adds r5, 0x2
- adds r6, r3, 0x1
- mov r4, sp
- movs r3, 0x2
-_080A4144:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- stm r4!, {r1}
- subs r3, 0x1
- cmp r3, 0
- bge _080A4144
- adds r3, r6, 0
- cmp r3, 0x9
- ble _080A4130
- cmp r7, 0x1
- beq _080A41AA
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r12
- adds r2, r1, r0
- cmp r7, 0
- bne _080A4198
- mov r4, sp
- movs r3, 0x2
-_080A4184:
- ldm r4!, {r0}
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x2]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4184
- b _080A41AA
-_080A4198:
- mov r4, sp
- movs r3, 0x2
-_080A419C:
- ldm r4!, {r1}
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A419C
-_080A41AA:
- mov r1, r9
- mov r0, r10
- cmp r0, 0x7
- ble _080A40BA
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4088
-
- thumb_func_start sub_80A41C4
-sub_80A41C4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- ldr r0, [r0, 0x38]
- movs r1, 0x3
- bl __modsi3
- str r0, [sp, 0xC]
- mov r0, r8
- ldr r2, [r0, 0x44]
- lsls r0, r2, 6
- mov r1, r8
- ldr r3, [r1, 0x40]
- adds r0, r3
- lsls r0, 1
- ldr r1, [r1, 0x20]
- adds r4, r1, r0
- movs r0, 0
- str r0, [sp, 0x10]
- mov r1, r8
- ldr r0, [r1, 0xC]
- subs r0, r2
- mov r10, r0
- ldr r0, [r1, 0x8]
- subs r0, r3
- str r0, [sp, 0x14]
- movs r2, 0
-_080A4202:
- ldr r5, [sp, 0x14]
- mov r3, r10
- cmp r3, 0
- ble _080A4212
- movs r0, 0x1
- negs r0, r0
- add r10, r0
- b _080A4222
-_080A4212:
- mov r1, r8
- ldr r1, [r1, 0xC]
- mov r10, r1
- mov r3, r8
- ldr r0, [r3, 0x40]
- lsls r0, 1
- ldr r1, [r3, 0x20]
- adds r4, r1, r0
-_080A4222:
- adds r6, r4, 0
- mov r0, r8
- ldr r1, [r0, 0x28]
- ldrh r7, [r4]
- ldr r3, [r0, 0x1C]
- mov r9, r3
- adds r0, r4, 0x2
- mov r12, r0
- adds r4, 0x80
- str r4, [sp, 0x18]
- adds r2, 0x1
- str r2, [sp, 0x1C]
- mov r2, sp
- ldr r3, [sp, 0x10]
- lsls r0, r3, 1
- adds r0, r1
- movs r3, 0x2
-_080A4244:
- stm r2!, {r0}
- adds r0, 0x40
- ldr r4, [sp, 0x10]
- adds r4, 0x20
- str r4, [sp, 0x10]
- subs r3, 0x1
- cmp r3, 0
- bge _080A4244
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _080A42B2
- lsls r0, r7, 3
- adds r0, r7
- lsls r0, 1
- mov r1, r9
- adds r2, r1, r0
- mov r6, r12
- ldr r3, [sp, 0xC]
- cmp r3, 0x1
- bne _080A428C
- adds r2, 0x2
- mov r4, sp
- movs r3, 0x2
-_080A4272:
- ldr r0, [r4]
- ldrh r1, [r2]
- strh r1, [r0]
- adds r0, 0x2
- ldrh r1, [r2, 0x2]
- strh r1, [r0]
- adds r0, 0x2
- stm r4!, {r0}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4272
- b _080A42A4
-_080A428C:
- adds r2, 0x4
- mov r4, sp
- movs r3, 0x2
-_080A4292:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r1, 0x2
- stm r4!, {r1}
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4292
-_080A42A4:
- subs r5, 0x1
- cmp r5, 0
- bgt _080A42B2
- mov r4, r8
- ldr r5, [r4, 0x8]
- lsls r0, r5, 1
- subs r6, r0
-_080A42B2:
- movs r3, 0
-_080A42B4:
- ldrh r1, [r6]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r2, r1, r0
- adds r6, 0x2
- subs r5, 0x1
- adds r7, r3, 0x1
- mov r4, sp
- movs r3, 0x2
-_080A42CA:
- ldr r1, [r4]
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- stm r4!, {r1}
- subs r3, 0x1
- cmp r3, 0
- bge _080A42CA
- cmp r5, 0
- bgt _080A42F8
- mov r3, r8
- ldr r5, [r3, 0x8]
- lsls r0, r5, 1
- subs r6, r0
-_080A42F8:
- adds r3, r7, 0
- cmp r3, 0x9
- ble _080A42B4
- ldr r4, [sp, 0xC]
- cmp r4, 0x1
- beq _080A433E
- ldrh r1, [r6]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r1, r9
- adds r2, r1, r0
- cmp r4, 0
- bne _080A432C
- mov r4, sp
- movs r3, 0x2
-_080A4318:
- ldm r4!, {r0}
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x2]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4318
- b _080A433E
-_080A432C:
- mov r4, sp
- movs r3, 0x2
-_080A4330:
- ldm r4!, {r1}
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x6
- subs r3, 0x1
- cmp r3, 0
- bge _080A4330
-_080A433E:
- ldr r4, [sp, 0x18]
- ldr r2, [sp, 0x1C]
- cmp r2, 0x7
- bgt _080A4348
- b _080A4202
-_080A4348:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A41C4
-
- thumb_func_start sub_80A4358
-sub_80A4358:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x3C
- adds r4, r0, 0
- ldr r0, [r4, 0x38]
- movs r1, 0x3
- bl __modsi3
- str r0, [sp, 0x18]
- ldr r0, [r4, 0x44]
- lsls r0, 6
- ldr r1, [r4, 0x40]
- adds r0, r1
- lsls r0, 1
- ldr r1, [r4, 0x20]
- adds r2, r1, r0
- ldr r1, [r4, 0x24]
- adds r1, r0
- movs r0, 0
- ldr r3, [r4, 0x28]
- str r3, [sp, 0x24]
- ldr r5, [r4, 0x2C]
- str r5, [sp, 0x28]
- ldr r4, [r4, 0x1C]
- str r4, [sp, 0x20]
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x1C]
- movs r4, 0
- str r4, [sp, 0x38]
-_080A439A:
- mov r12, r2
- mov r8, r1
- mov r5, r12
- adds r5, 0x80
- str r5, [sp, 0x30]
- adds r1, 0x80
- str r1, [sp, 0x34]
- adds r0, 0x1
- str r0, [sp, 0x2C]
- add r3, sp, 0xC
- mov r2, sp
- ldr r4, [sp, 0x38]
- ldr r5, [sp, 0x28]
- adds r1, r4, r5
- ldr r5, [sp, 0x24]
- adds r0, r4, r5
- movs r5, 0x2
-_080A43BC:
- stm r2!, {r0}
- stm r3!, {r1}
- adds r1, 0x40
- adds r0, 0x40
- ldr r4, [sp, 0x38]
- adds r4, 0x40
- str r4, [sp, 0x38]
- subs r5, 0x1
- cmp r5, 0
- bge _080A43BC
- ldr r5, [sp, 0x18]
- cmp r5, 0
- beq _080A445C
- mov r0, r12
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, [sp, 0x20]
- adds r4, r1, r0
- movs r3, 0x2
- add r12, r3
- mov r5, r8
- ldrh r1, [r5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r1, [sp, 0x20]
- adds r3, r1, r0
- movs r5, 0x2
- add r8, r5
- ldr r0, [sp, 0x18]
- cmp r0, 0x1
- bne _080A4434
- adds r4, 0x2
- adds r3, 0x2
- ldr r7, [sp, 0x1C]
- mov r6, sp
-_080A4408:
- ldr r1, [r6]
- ldr r2, [r7]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x2]
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r3, 0x2]
- strh r0, [r2]
- adds r2, 0x2
- stm r6!, {r1}
- stm r7!, {r2}
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A4408
- b _080A445C
-_080A4434:
- adds r4, 0x4
- adds r3, 0x4
- ldr r6, [sp, 0x1C]
- mov r2, sp
- movs r5, 0x2
-_080A443E:
- ldr r1, [r2]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r1, 0x2
- stm r2!, {r1}
- ldr r1, [r6]
- ldrh r0, [r3]
- strh r0, [r1]
- adds r1, 0x2
- stm r6!, {r1}
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A443E
-_080A445C:
- movs r2, 0
- ldr r1, [sp, 0x20]
- mov r9, r1
-_080A4462:
- mov r3, r12
- ldrh r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- mov r5, r9
- adds r4, r5, r0
- movs r0, 0x2
- add r12, r0
- mov r3, r8
- ldrh r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- adds r3, r5, r0
- movs r5, 0x2
- add r8, r5
- movs r5, 0
- adds r2, 0x1
- mov r10, r2
- mov r7, sp
- add r6, sp, 0xC
-_080A448E:
- ldr r1, [r7]
- ldr r2, [r6]
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r4]
- strh r0, [r1]
- adds r4, 0x2
- adds r1, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- stm r7!, {r1}
- stm r6!, {r2}
- adds r5, 0x1
- cmp r5, 0x2
- ble _080A448E
- mov r2, r10
- cmp r2, 0x9
- ble _080A4462
- ldr r0, [sp, 0x18]
- cmp r0, 0x1
- beq _080A453A
- mov r3, r12
- ldrh r1, [r3]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- ldr r5, [sp, 0x20]
- adds r4, r5, r0
- mov r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 1
- adds r3, r5, r0
- ldr r1, [sp, 0x18]
- cmp r1, 0
- bne _080A451E
- ldr r7, [sp, 0x1C]
- mov r6, sp
- movs r5, 0x2
-_080A44FE:
- ldm r6!, {r1}
- ldm r7!, {r2}
- ldrh r0, [r4]
- strh r0, [r1]
- ldrh r0, [r4, 0x2]
- strh r0, [r1, 0x2]
- ldrh r0, [r3]
- strh r0, [r2]
- ldrh r0, [r3, 0x2]
- strh r0, [r2, 0x2]
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A44FE
- b _080A453A
-_080A451E:
- ldr r6, [sp, 0x1C]
- mov r2, sp
- movs r5, 0x2
-_080A4524:
- ldm r2!, {r1}
- ldrh r0, [r4]
- strh r0, [r1]
- ldm r6!, {r1}
- ldrh r0, [r3]
- strh r0, [r1]
- adds r4, 0x6
- adds r3, 0x6
- subs r5, 0x1
- cmp r5, 0
- bge _080A4524
-_080A453A:
- ldr r2, [sp, 0x30]
- ldr r1, [sp, 0x34]
- ldr r0, [sp, 0x2C]
- cmp r0, 0x7
- bgt _080A4546
- b _080A439A
-_080A4546:
- add sp, 0x3C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4358
-
- thumb_func_start sub_80A4558
-sub_80A4558:
- lsls r1, 3
- movs r3, 0x8F
- lsls r3, 3
- adds r0, r3
- adds r0, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- thumb_func_end sub_80A4558
-
- thumb_func_start sub_80A456C
-sub_80A456C:
- lsls r1, 3
- movs r3, 0x8F
- lsls r3, 3
- adds r0, r3
- adds r0, r1
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- thumb_func_end sub_80A456C
-
- thumb_func_start sub_80A4580
-sub_80A4580:
- push {r4,lr}
- adds r3, r2, 0
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 4
- movs r1, 0x91
- lsls r1, 3
- adds r2, r1
- adds r2, r0, r2
- ldr r0, [r3]
- cmp r0, 0
- bge _080A45AE
- ldrb r0, [r2, 0x6]
- ldr r4, [r3, 0x4]
- cmp r0, 0
- beq _080A45CA
- ldr r1, [r2, 0x10]
-_080A45A2:
- ldr r0, [r3]
- adds r0, r1
- str r0, [r3]
- cmp r0, 0
- blt _080A45A2
- b _080A45CC
-_080A45AE:
- ldr r1, [r2, 0x10]
- ldr r4, [r3, 0x4]
- cmp r0, r1
- blt _080A45CC
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _080A45C8
-_080A45BC:
- ldr r0, [r3]
- subs r0, r1
- str r0, [r3]
- cmp r0, r1
- bge _080A45BC
- b _080A45CC
-_080A45C8:
- subs r0, r1, 0x1
-_080A45CA:
- str r0, [r3]
-_080A45CC:
- cmp r4, 0
- bge _080A45E4
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _080A45FE
- ldr r1, [r2, 0x14]
-_080A45D8:
- ldr r0, [r3, 0x4]
- adds r0, r1
- str r0, [r3, 0x4]
- cmp r0, 0
- blt _080A45D8
- b _080A4600
-_080A45E4:
- ldr r1, [r2, 0x14]
- cmp r4, r1
- blt _080A4600
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _080A45FC
-_080A45F0:
- ldr r0, [r3, 0x4]
- subs r0, r1
- str r0, [r3, 0x4]
- cmp r0, r1
- bge _080A45F0
- b _080A4600
-_080A45FC:
- subs r0, r1, 0x1
-_080A45FE:
- str r0, [r3, 0x4]
-_080A4600:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4580
-
- thumb_func_start sub_80A4608
-sub_80A4608:
- movs r3, 0x89
- lsls r3, 3
- adds r2, r0, r3
- ldrb r2, [r2]
- str r2, [r1]
- ldr r2, _080A461C
- adds r0, r2
- ldrb r0, [r0]
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080A461C: .4byte 0x00000449
- thumb_func_end sub_80A4608
-
- thumb_func_start sub_80A4620
-sub_80A4620:
- movs r3, 0x89
- lsls r3, 3
- adds r2, r0, r3
- ldrb r2, [r2]
- lsls r2, 3
- str r2, [r1]
- ldr r2, _080A4638
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- str r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080A4638: .4byte 0x00000449
- thumb_func_end sub_80A4620
-
- thumb_func_start sub_80A463C
-sub_80A463C:
- movs r3, 0
- str r3, [r1]
- str r3, [r1, 0x4]
- movs r3, 0x89
- lsls r3, 3
- adds r1, r0, r3
- ldrb r1, [r1]
- lsls r1, 11
- str r1, [r2]
- ldr r1, _080A465C
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 11
- str r0, [r2, 0x4]
- bx lr
- .align 2, 0
-_080A465C: .4byte 0x00000449
- thumb_func_end sub_80A463C
-
- thumb_func_start sub_80A4660
-sub_80A4660:
- push {r4-r7,lr}
- adds r6, r3, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, _080A4678
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- bne _080A467C
- movs r0, 0
- b _080A46B6
- .align 2, 0
-_080A4678: .4byte 0x00000544
-_080A467C:
- ldr r0, [r2, 0x4]
- lsls r0, 8
- ldr r1, [r2]
- adds r0, r1
- ldr r1, _080A46BC
- adds r0, r1
- adds r4, r0
- ldr r3, [r6, 0x4]
- cmp r3, 0
- ble _080A46B4
- movs r7, 0x80
- lsls r7, 1
-_080A4694:
- ldr r1, [r6]
- adds r2, r4, 0
- cmp r1, 0
- ble _080A46AC
-_080A469C:
- ldrb r0, [r2]
- ands r0, r5
- adds r2, 0x1
- cmp r0, 0
- bne _080A46B6
- subs r1, 0x1
- cmp r1, 0
- bgt _080A469C
-_080A46AC:
- adds r4, r7
- subs r3, 0x1
- cmp r3, 0
- bgt _080A4694
-_080A46B4:
- movs r0, 0
-_080A46B6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A46BC: .4byte 0x00000405
- thumb_func_end sub_80A4660
-
- thumb_func_start sub_80A46C0
-sub_80A46C0:
- push {r4-r7,lr}
- adds r6, r3, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, _080A46D8
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- bne _080A46DC
-_080A46D2:
- movs r0, 0
- b _080A4716
- .align 2, 0
-_080A46D8: .4byte 0x00000544
-_080A46DC:
- ldr r0, [r2, 0x4]
- lsls r0, 8
- ldr r1, [r2]
- adds r0, r1
- ldr r1, _080A471C
- adds r0, r1
- adds r4, r0
- ldr r3, [r6, 0x4]
- cmp r3, 0
- ble _080A4714
- movs r7, 0x80
- lsls r7, 1
-_080A46F4:
- ldr r1, [r6]
- adds r2, r4, 0
- cmp r1, 0
- ble _080A470C
-_080A46FC:
- ldrb r0, [r2]
- ands r0, r5
- adds r2, 0x1
- cmp r0, r5
- bne _080A46D2
- subs r1, 0x1
- cmp r1, 0
- bgt _080A46FC
-_080A470C:
- adds r4, r7
- subs r3, 0x1
- cmp r3, 0
- bgt _080A46F4
-_080A4714:
- movs r0, 0x1
-_080A4716:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A471C: .4byte 0x00000405
- thumb_func_end sub_80A46C0
-
- thumb_func_start sub_80A4720
-sub_80A4720:
- lsls r1, 2
- ldr r3, _080A473C
- adds r0, r3
- adds r0, r1
- ldr r1, [r2, 0x4]
- lsls r1, 7
- ldr r3, [r0]
- adds r3, r1
- ldr r0, [r2]
- lsls r0, 1
- adds r3, r0
- ldrh r0, [r3]
- bx lr
- .align 2, 0
-_080A473C: .4byte 0x0000054c
- thumb_func_end sub_80A4720
-
- thumb_func_start sub_80A4740
-sub_80A4740:
- push {r4,lr}
- lsls r1, 2
- ldr r4, _080A4760
- adds r0, r4
- adds r0, r1
- ldr r1, [r2, 0x4]
- lsls r1, 7
- ldr r4, [r0]
- adds r4, r1
- ldr r0, [r2]
- lsls r0, 1
- adds r4, r0
- strh r3, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4760: .4byte 0x0000054c
- thumb_func_end sub_80A4740
-
- thumb_func_start sub_80A4764
-sub_80A4764:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- ldr r0, _080A47E8
- add r0, r9
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A4784
- b _080A49CE
-_080A4784:
- ldr r0, _080A47EC
- add r0, r9
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r0, 0
- beq _080A4864
- mov r4, r9
- ldr r0, _080A47F0
- add r0, r9
- ldr r5, [r0]
- ldr r0, _080A47F4
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 20
- lsrs r6, r0, 16
- movs r7, 0
- ldr r0, _080A47F8
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r7, r0
- bge _080A484C
-_080A47B2:
- ldr r1, [r4, 0x4]
- cmp r1, 0
- beq _080A4832
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- cmp r0, 0
- bgt _080A4832
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- cmp r0, 0
- bgt _080A4808
- ldr r0, _080A47FC
- add r0, r9
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A4800
- ldrh r0, [r5]
- strh r0, [r4, 0x2]
- ldrh r0, [r5, 0x2]
- strh r0, [r4]
- str r1, [r4, 0x8]
- b _080A480C
- .align 2, 0
-_080A47E8: .4byte 0x00000444
-_080A47EC: .4byte 0x00000466
-_080A47F0: .4byte 0x0000046c
-_080A47F4: .4byte 0x0000052c
-_080A47F8: .4byte 0x00000464
-_080A47FC: .4byte 0x00000471
-_080A4800:
- strh r0, [r4]
- strh r0, [r4, 0x2]
- str r0, [r4, 0x8]
- b _080A480C
-_080A4808:
- ldrh r0, [r5]
- strh r0, [r4, 0x2]
-_080A480C:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _080A4832
- movs r0, 0
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0
- bl sub_8003810
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, [r4, 0x8]
- movs r2, 0xF
- bl sub_809971C
- ldr r0, [r4, 0x8]
- adds r0, 0x3C
- str r0, [r4, 0x8]
-_080A4832:
- adds r7, 0x1
- adds r4, 0x10
- adds r5, 0x4
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080A485C
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r7, r0
- blt _080A47B2
-_080A484C:
- movs r0, 0x8E
- lsls r0, 3
- add r0, r9
- ldrb r1, [r0]
- ldr r0, _080A4860
- add r0, r9
- strb r1, [r0]
- b _080A48E6
- .align 2, 0
-_080A485C: .4byte 0x00000464
-_080A4860: .4byte 0x00000471
-_080A4864:
- movs r0, 0x88
- lsls r0, 3
- add r0, r9
- ldr r0, [r0]
- cmp r0, 0
- beq _080A48E6
- mov r4, r9
- adds r4, 0xE0
- movs r6, 0xA0
- movs r5, 0x1F
-_080A4878:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D14
- lsls r0, 24
- cmp r0, 0
- beq _080A48DC
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8004D40
- lsls r0, 24
- cmp r0, 0
- bne _080A48DC
- ldrh r0, [r4, 0x6]
- subs r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- cmp r0, 0
- bgt _080A48DC
- ldrh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- ldr r1, [r4, 0xC]
- ldr r0, [r4, 0x10]
- cmp r1, r0
- bcc _080A48B0
- ldr r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_080A48B0:
- ldr r1, [r4, 0xC]
- ldm r1!, {r0}
- str r0, [r4, 0x14]
- str r1, [r4, 0xC]
- ldrb r1, [r4, 0x14]
- add r0, sp, 0x4
- strb r1, [r0]
- ldrb r1, [r4, 0x15]
- adds r0, 0x1
- strb r1, [r0]
- ldrb r1, [r4, 0x16]
- adds r0, 0x1
- strb r1, [r0]
- ldrb r1, [r4, 0x17]
- adds r0, 0x1
- strb r1, [r0]
- ldr r1, [sp, 0x4]
- str r1, [sp]
- lsls r0, r6, 16
- lsrs r0, 16
- bl sub_8003810
-_080A48DC:
- subs r5, 0x1
- adds r4, 0x18
- adds r6, 0x1
- cmp r5, 0
- bge _080A4878
-_080A48E6:
- movs r5, 0
- movs r4, 0x1
-_080A48EA:
- movs r2, 0xF8
- lsls r2, 2
- adds r0, r5, r2
- mov r6, r9
- adds r2, r6, r0
- ldrb r0, [r2]
- cmp r0, 0
- beq _080A4942
- ldrh r1, [r2, 0x4]
- subs r0, r1, 0x1
- strh r0, [r2, 0x4]
- lsls r1, 16
- cmp r1, 0
- bgt _080A4942
- ldr r0, [r2, 0x14]
- adds r0, 0x4
- str r0, [r2, 0x14]
- ldr r1, [r2, 0x24]
- lsrs r1, 1
- lsls r1, 1
- ldr r0, [r2, 0x1C]
- adds r0, r1
- str r0, [r2, 0x1C]
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r2, 0x2]
- ldr r1, [r2, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x2
- ldrsh r1, [r1, r6]
- cmp r0, r1
- blt _080A4938
- ldr r0, [r2, 0x10]
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- str r0, [r2, 0x1C]
- strh r3, [r2, 0x2]
-_080A4938:
- movs r0, 0x1
- strb r0, [r2, 0x1]
- ldr r0, [r2, 0x14]
- ldr r0, [r0]
- strh r0, [r2, 0x4]
-_080A4942:
- adds r5, 0x28
- subs r4, 0x1
- cmp r4, 0
- bge _080A48EA
- movs r4, 0x91
- lsls r4, 3
- add r4, r9
- movs r7, 0x8F
- lsls r7, 3
- add r7, r9
- movs r0, 0
- mov r8, r0
- b _080A49BC
-_080A495C:
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80A3E14
- adds r0, r4, 0
- bl sub_80A3EB0
- movs r6, 0
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- ldr r0, _080A4998
- add r0, r9
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r5, r1, r0
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x1
- add r8, r2
- movs r1, 0x50
- adds r1, r4
- mov r10, r1
- adds r7, 0x8
- cmp r6, r0
- bge _080A49BA
-_080A498E:
- cmp r5, 0
- beq _080A499C
- cmp r5, 0x1
- beq _080A49A6
- b _080A49AE
- .align 2, 0
-_080A4998: .4byte 0x00000536
-_080A499C:
- ldr r0, [r4, 0x48]
- ldr r1, [r4, 0x4C]
- bl sub_800CCA0
- b _080A49AE
-_080A49A6:
- ldr r0, [r4, 0x48]
- ldr r1, [r4, 0x4C]
- bl sub_800CCAC
-_080A49AE:
- adds r6, 0x1
- adds r5, 0x1
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r6, r0
- blt _080A498E
-_080A49BA:
- mov r4, r10
-_080A49BC:
- ldr r0, _080A49E0
- add r0, r9
- ldr r0, [r0]
- cmp r8, r0
- blt _080A495C
- ldr r1, _080A49E4
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080A49CE:
- 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
-_080A49E0: .4byte 0x00000474
-_080A49E4: .4byte 0x0000052a
- thumb_func_end sub_80A4764
-
- thumb_func_start sub_80A49E8
-sub_80A49E8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, _080A4A74
- adds r5, r6, r0
- movs r1, 0xFF
- lsls r1, 2
- adds r4, r6, r1
- ldr r0, _080A4A78
- adds r0, r6
- mov r8, r0
- movs r7, 0x1
-_080A4A02:
- ldrb r0, [r5]
- cmp r0, 0
- beq _080A4A1C
- ldr r0, [r4, 0x4]
- ldr r1, [r4]
- ldr r2, [r4, 0x8]
- bl MemoryCopy32
- movs r0, 0
- strb r0, [r5]
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1]
-_080A4A1C:
- adds r5, 0x28
- adds r4, 0x28
- subs r7, 0x1
- cmp r7, 0
- bge _080A4A02
- ldr r1, _080A4A78
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A4A68
- movs r5, 0
- adds r1, 0xC
- adds r0, r6, r1
- movs r1, 0
- ldrsh r4, [r0, r1]
- movs r1, 0xA7
- lsls r1, 3
- adds r0, r6, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r5, r0
- bge _080A4A60
- movs r0, 0xA7
- lsls r0, 3
- adds r7, r6, r0
-_080A4A4E:
- adds r0, r4, 0x2
- bl sub_80098F8
- adds r5, 0x1
- adds r4, 0x1
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r5, r0
- blt _080A4A4E
-_080A4A60:
- ldr r0, _080A4A78
- adds r1, r6, r0
- movs r0, 0
- strb r0, [r1]
-_080A4A68:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4A74: .4byte 0x000003e1
-_080A4A78: .4byte 0x0000052a
- thumb_func_end sub_80A49E8
-
- thumb_func_start sub_80A4A7C
-sub_80A4A7C:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080A4AB8
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r2, r0, 0
- adds r2, 0xE4
- ldr r1, _080A4ABC
- strh r1, [r2]
- ldr r1, _080A4AC0
- movs r3, 0x1
- negs r3, r3
- str r3, [sp]
- movs r2, 0
- bl sub_809D600
- movs r0, 0
- bl sub_80A5E8C
- bl sub_80A4AEC
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4AB8: .4byte gUnknown_3001B6C
-_080A4ABC: .4byte 0x0000ffff
-_080A4AC0: .4byte gUnknown_811736C
- thumb_func_end sub_80A4A7C
-
- thumb_func_start sub_80A4AC4
-sub_80A4AC4:
- push {r4,lr}
- bl sub_80A4AEC
- bl sub_80A5EBC
- ldr r4, _080A4AE8
- ldr r0, [r4]
- bl sub_809D648
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4AE8: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4AC4
-
- thumb_func_start sub_80A4AEC
-sub_80A4AEC:
- push {r4,lr}
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- ldr r0, _080A4B2C
- ldr r0, [r0]
- ldr r1, _080A4B30
- bl sub_809D754
- ldr r4, _080A4B34
- ldr r0, [r4]
- cmp r0, 0
- beq _080A4B1E
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A4B1E:
- movs r0, 0
- bl sub_80A5EDC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B2C: .4byte gUnknown_3001B6C
-_080A4B30: .4byte gUnknown_8117538
-_080A4B34: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4AEC
-
- thumb_func_start sub_80A4B38
-sub_80A4B38:
- push {lr}
- bl nullsub_121
- ldr r0, _080A4B50
- ldr r0, [r0]
- cmp r0, 0
- beq _080A4B4A
- bl sub_80A2D68
-_080A4B4A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B50: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4B38
-
- thumb_func_start sub_80A4B54
-sub_80A4B54:
- push {lr}
- ldr r0, _080A4B6C
- ldr r0, [r0]
- cmp r0, 0
- beq _080A4B62
- bl sub_80A2D88
-_080A4B62:
- bl nullsub_122
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B6C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A4B54
-
- thumb_func_start GroundMap_GetStationScript
-GroundMap_GetStationScript:
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- adds r5, r3, 0
- lsls r4, 16
- asrs r4, 16
- lsls r6, 16
- asrs r6, 16
- lsls r5, 24
- asrs r5, 24
- adds r0, r4, 0
- bl sub_80A77A0
- ldr r1, _080A4BE0
- adds r0, r4, 0
- bl sub_80A77D0
- mov r9, r0
- ldr r1, _080A4BE4
- str r5, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl Log
- lsls r1, r6, 3
- mov r2, r9
- ldr r0, [r2, 0x4]
- adds r0, r1
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r0, [r0, 0x24]
- ldr r0, [r0]
- ldr r0, [r0, 0x8]
- mov r1, r8
- str r0, [r1]
- movs r0, 0x2
- strh r0, [r1, 0x4]
- strh r6, [r1, 0x6]
- strb r5, [r1, 0x8]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4BE0: .4byte gUnknown_8117560
-_080A4BE4: .4byte gUnknown_811756C
- thumb_func_end GroundMap_GetStationScript
-
- thumb_func_start sub_80A4BE8
-sub_80A4BE8:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- movs r2, 0
- movs r3, 0
- bl GroundMap_GetStationScript
- pop {r0}
- bx r0
- thumb_func_end sub_80A4BE8
-
- thumb_func_start GroundMap_ExecuteEvent
-GroundMap_ExecuteEvent:
- push {r4,r5,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- asrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080A4C44
- movs r0, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl Log
- movs r0, 0
- mov r1, sp
- adds r2, r4, 0
- bl sub_809D710
- cmp r5, 0
- beq _080A4C2C
- mov r1, sp
- movs r0, 0x5
- strh r0, [r1, 0x4]
-_080A4C2C:
- ldr r0, _080A4C48
- ldr r0, [r0]
- ldr r3, _080A4C4C
- movs r1, 0
- mov r2, sp
- bl GroundScript_ExecutePP
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4C44: .4byte gUnknown_8117594
-_080A4C48: .4byte gUnknown_3001B6C
-_080A4C4C: .4byte gUnknown_81175E0
- thumb_func_end GroundMap_ExecuteEvent
-
- thumb_func_start GroundMap_ExecuteStation
-GroundMap_ExecuteStation:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- lsls r6, 24
- asrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _080A4CB8
- str r6, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r5, 0
- bl Log
- add r0, sp, 0x8
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl GroundMap_GetStationScript
- mov r0, r8
- cmp r0, 0
- beq _080A4C9C
- add r1, sp, 0x8
- movs r0, 0x5
- strh r0, [r1, 0x4]
-_080A4C9C:
- ldr r0, _080A4CBC
- ldr r0, [r0]
- ldr r3, _080A4CC0
- movs r1, 0
- add r2, sp, 0x8
- bl GroundScript_ExecutePP
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4CB8: .4byte gUnknown_81175EC
-_080A4CBC: .4byte gUnknown_3001B6C
-_080A4CC0: .4byte gUnknown_8117644
- thumb_func_end GroundMap_ExecuteStation
-
- thumb_func_start GroundMap_ExecuteEnter
-GroundMap_ExecuteEnter:
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- ldr r1, _080A4D08
- movs r0, 0
- adds r2, r4, 0
- bl Log
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A4BE8
- mov r1, sp
- movs r3, 0
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1, 0x4]
- mov r0, sp
- strh r2, [r0, 0x6]
- strb r3, [r0, 0x8]
- ldr r0, _080A4D0C
- ldr r0, [r0]
- ldr r3, _080A4D10
- movs r1, 0
- mov r2, sp
- bl GroundScript_ExecutePP
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4D08: .4byte gUnknown_8117650
-_080A4D0C: .4byte gUnknown_3001B6C
-_080A4D10: .4byte gUnknown_8117698
- thumb_func_end GroundMap_ExecuteEnter
-
- thumb_func_start sub_80A4D14
-sub_80A4D14:
- push {lr}
- ldr r0, _080A4D28
- ldr r0, [r0]
- bl sub_809D678
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A4D28: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4D14
-
- thumb_func_start sub_80A4D2C
-sub_80A4D2C:
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _080A4D44
- ldr r0, [r0]
- bl sub_809D968
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A4D44: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A4D2C
-
- thumb_func_start sub_80A4D48
-sub_80A4D48:
- push {lr}
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080A4D74
- ldr r1, _080A4D70
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- beq _080A4D6C
- cmp r0, 0x8
- bne _080A4D74
-_080A4D6C:
- movs r0, 0
- b _080A4D76
- .align 2, 0
-_080A4D70: .4byte gUnknown_811BAF4
-_080A4D74:
- movs r0, 0x1
-_080A4D76:
- pop {r1}
- bx r1
- thumb_func_end sub_80A4D48
-
- thumb_func_start sub_80A4D7C
-sub_80A4D7C:
- push {r4,r5,lr}
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0x9
- beq _080A4D94
- cmp r5, 0x9
- bgt _080A4D90
- cmp r5, 0x2
- beq _080A4DB6
- b _080A4DC4
-_080A4D90:
- cmp r5, 0xC
- bne _080A4DC4
-_080A4D94:
- movs r0, 0
- movs r1, 0x27
- bl sub_8001658
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x28
- bl sub_8001658
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 1
- adds r1, r0
- adds r1, r5, r1
- lsls r1, 16
- asrs r5, r1, 16
- b _080A4DC4
-_080A4DB6:
- movs r0, 0x6
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A4DC4
- movs r5, 0x3
-_080A4DC4:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4D7C
-
- thumb_func_start GroundMap_Select
-GroundMap_Select:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- ldr r1, _080A4E38
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- movs r0, 0
- bl sub_80A5EDC
- ldr r4, _080A4E3C
- ldr r0, [r4]
- cmp r0, 0
- beq _080A4E08
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A4E08:
- ldr r0, _080A4E40
- movs r1, 0x6
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r4]
- ldr r0, _080A4E44
- ldr r0, [r0]
- adds r0, 0xE4
- strh r5, [r0]
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _080A4E4C
- ldr r1, _080A4E48
- adds r0, r2, 0
- bl sub_80A2B40
- ldr r0, [r4]
- adds r1, r5, 0
- bl sub_80A2FBC
- b _080A50BA
- .align 2, 0
-_080A4E38: .4byte gUnknown_81176A4
-_080A4E3C: .4byte gUnknown_3001B70
-_080A4E40: .4byte 0x0000055c
-_080A4E44: .4byte gUnknown_3001B6C
-_080A4E48: .4byte gUnknown_8117324
-_080A4E4C:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- ldr r1, _080A4E6C
- adds r6, r0, r1
- ldrh r0, [r6]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _080A4F20
- lsls r0, 2
- ldr r1, _080A4E70
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A4E6C: .4byte gUnknown_811BAF4
-_080A4E70: .4byte _080A4E74
- .align 2, 0
-_080A4E74:
- .4byte _080A4F08
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4F20
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4EA8
- .4byte _080A4ECC
- .4byte _080A4ECC
-_080A4EA8:
- ldr r0, _080A4EC0
- ldr r0, [r0]
- ldr r1, _080A4EC4
- bl sub_80A2B40
- ldr r1, _080A4EC8
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- b _080A4F30
- .align 2, 0
-_080A4EC0: .4byte gUnknown_3001B70
-_080A4EC4: .4byte gUnknown_811733C
-_080A4EC8: .4byte gUnknown_2026E4E
-_080A4ECC:
- ldr r4, _080A4EDC
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- negs r1, r1
- ldr r6, _080A4EE0
- b _080A4EEA
- .align 2, 0
-_080A4EDC: .4byte gUnknown_81173C0
-_080A4EE0: .4byte gUnknown_3001B70
-_080A4EE4:
- adds r4, 0xC
- movs r2, 0
- ldrsh r0, [r4, r2]
-_080A4EEA:
- cmp r0, r1
- beq _080A4EF2
- cmp r0, r5
- bne _080A4EE4
-_080A4EF2:
- ldr r0, [r6]
- bl MemoryFree
- movs r0, 0
- str r0, [r6]
- adds r1, r4, 0x4
- ldr r2, [r4, 0x8]
- adds r0, r5, 0
- bl GroundMap_SelectDungeon
- b _080A50BA
-_080A4F08:
- ldr r0, _080A4F18
- ldr r1, _080A4F1C
- movs r2, 0
- ldrsh r3, [r6, r2]
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A4F18: .4byte gUnknown_81176D0
-_080A4F1C: .4byte gUnknown_81176DC
-_080A4F20:
- ldr r0, _080A4FA0
- ldr r0, [r0]
- ldr r1, _080A4FA4
- bl sub_80A2B40
- movs r0, 0x1
- bl sub_80A5EDC
-_080A4F30:
- ldr r5, _080A4FA0
- ldr r0, [r5]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- bl sub_80A2FBC
- ldr r0, _080A4FA8
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xE8
- movs r1, 0
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- movs r4, 0x80
- lsls r4, 1
- add r4, r12
- movs r3, 0x82
- lsls r3, 1
- add r3, r12
- movs r2, 0x84
- lsls r2, 1
- add r2, r12
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- str r1, [r0]
- str r1, [r2]
- str r1, [r3]
- str r1, [r4]
- mov r0, r12
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xAD
- beq _080A5034
- cmp r0, 0xAD
- bgt _080A4FC0
- cmp r0, 0xA3
- bgt _080A4FAC
- cmp r0, 0xA2
- bge _080A4FEE
- cmp r0, 0x4
- beq _080A5084
- cmp r0, 0xA1
- beq _080A5084
- b _080A50A2
- .align 2, 0
-_080A4FA0: .4byte gUnknown_3001B70
-_080A4FA4: .4byte gUnknown_8117324
-_080A4FA8: .4byte gUnknown_3001B6C
-_080A4FAC:
- cmp r0, 0xAA
- beq _080A500C
- cmp r0, 0xAA
- bgt _080A4FBA
- cmp r0, 0xA8
- beq _080A500C
- b _080A50A2
-_080A4FBA:
- cmp r0, 0xAB
- beq _080A5018
- b _080A50A2
-_080A4FC0:
- cmp r0, 0xBA
- beq _080A506A
- cmp r0, 0xBA
- bgt _080A4FD6
- cmp r0, 0xAF
- beq _080A5072
- cmp r0, 0xAF
- blt _080A5044
- cmp r0, 0xB0
- beq _080A5060
- b _080A50A2
-_080A4FD6:
- cmp r0, 0xDF
- beq _080A4FEE
- cmp r0, 0xDF
- bgt _080A4FE4
- cmp r0, 0xC0
- beq _080A5020
- b _080A50A2
-_080A4FE4:
- cmp r0, 0xE0
- beq _080A508E
- cmp r0, 0xE1
- beq _080A5096
- b _080A50A2
-_080A4FEE:
- ldr r0, _080A5000
- ldr r0, [r0]
- movs r1, 0x4
- bl sub_80A3BB0
- ldr r1, _080A5004
- ldr r2, _080A5008
- b _080A5050
- .align 2, 0
-_080A5000: .4byte gUnknown_3001B70
-_080A5004: .4byte gUnknown_2026E4E
-_080A5008: .4byte 0x00000808
-_080A500C:
- ldr r0, _080A5014
- ldr r0, [r0]
- b _080A5062
- .align 2, 0
-_080A5014: .4byte gUnknown_3001B70
-_080A5018:
- ldr r0, [r5]
- movs r1, 0x1
- bl sub_80A3BB0
-_080A5020:
- ldr r0, _080A5030
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80A3B80
- b _080A50A2
- .align 2, 0
-_080A5030: .4byte gUnknown_3001B70
-_080A5034:
- ldr r1, _080A503C
- ldr r2, _080A5040
- b _080A5050
- .align 2, 0
-_080A503C: .4byte gUnknown_2026E4E
-_080A5040: .4byte 0x00001010
-_080A5044:
- ldr r0, [r5]
- movs r1, 0x4
- bl sub_80A3BB0
- ldr r1, _080A5058
- ldr r2, _080A505C
-_080A5050:
- adds r0, r2, 0
- strh r0, [r1]
- b _080A50A2
- .align 2, 0
-_080A5058: .4byte gUnknown_2026E4E
-_080A505C: .4byte 0x0000080c
-_080A5060:
- ldr r0, [r5]
-_080A5062:
- movs r1, 0x1
- bl sub_80A3BB0
- b _080A50A2
-_080A506A:
- ldr r0, _080A507C
- ldr r2, _080A5080
- adds r1, r2, 0
- strh r1, [r0]
-_080A5072:
- ldr r0, [r5]
- movs r1, 0x4
- bl sub_80A3BB0
- b _080A50A2
- .align 2, 0
-_080A507C: .4byte gUnknown_2026E4E
-_080A5080: .4byte 0x00001010
-_080A5084:
- ldr r0, [r5]
- movs r1, 0x3
- bl sub_80A3BB0
- b _080A50A2
-_080A508E:
- ldr r0, [r5]
- movs r1, 0x3
- bl sub_80A3BB0
-_080A5096:
- ldr r0, _080A50C0
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80A3B80
-_080A50A2:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A50B4
- adds r0, r1, 0
- bl GroundWeather_Select
-_080A50B4:
- ldr r0, _080A50C4
- bl sub_80A56D8
-_080A50BA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A50C0: .4byte gUnknown_3001B70
-_080A50C4: .4byte gUnknown_81176F8
- thumb_func_end GroundMap_Select
-
- thumb_func_start GroundMap_SelectDungeon
-GroundMap_SelectDungeon:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r1
- mov r10, r2
- lsls r0, 16
- asrs r5, r0, 16
- ldr r1, _080A514C
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x37
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x38
- bl sub_80015C0
- movs r0, 0
- bl sub_80A5EDC
- ldr r7, _080A5150
- ldr r0, [r7]
- cmp r0, 0
- beq _080A5110
- bl sub_80A2D00
- ldr r0, [r7]
- bl MemoryFree
- movs r0, 0
- str r0, [r7]
-_080A5110:
- ldr r0, _080A5154
- movs r1, 0x6
- bl MemoryAlloc
- adds r2, r0, 0
- str r2, [r7]
- ldr r0, _080A5158
- mov r9, r0
- ldr r0, [r0]
- adds r0, 0xE4
- movs r4, 0
- strh r5, [r0]
- movs r6, 0x1
- negs r6, r6
- cmp r5, r6
- beq _080A5138
- mov r1, r8
- ldrb r0, [r1]
- cmp r0, 0x63
- bne _080A5160
-_080A5138:
- ldr r1, _080A515C
- adds r0, r2, 0
- bl sub_80A2B40
- ldr r0, [r7]
- adds r1, r6, 0
- bl sub_80A2FBC
- b _080A51EC
- .align 2, 0
-_080A514C: .4byte gUnknown_8117700
-_080A5150: .4byte gUnknown_3001B70
-_080A5154: .4byte 0x0000055c
-_080A5158: .4byte gUnknown_3001B6C
-_080A515C: .4byte gUnknown_8117324
-_080A5160:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 2
- ldr r1, _080A5180
- adds r6, r0, r1
- ldrh r0, [r6]
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080A518C
- ldr r0, _080A5184
- ldr r1, _080A5188
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A5180: .4byte gUnknown_811BAF4
-_080A5184: .4byte gUnknown_8117734
-_080A5188: .4byte gUnknown_8117740
-_080A518C:
- ldr r1, _080A51FC
- adds r0, r2, 0
- bl sub_80A2B40
- movs r0, 0x1
- bl sub_80A5EDC
- ldr r0, [r7]
- movs r2, 0x4
- ldrsh r1, [r6, r2]
- mov r2, r8
- mov r3, r10
- bl sub_80A3440
- mov r0, r9
- ldr r0, [r0]
- mov r12, r0
- adds r0, 0xE8
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- adds r0, 0x4
- str r4, [r0]
- movs r3, 0x80
- lsls r3, 1
- add r3, r12
- movs r2, 0x82
- lsls r2, 1
- add r2, r12
- movs r1, 0x84
- lsls r1, 1
- add r1, r12
- movs r0, 0x86
- lsls r0, 1
- add r0, r12
- str r4, [r0]
- str r4, [r1]
- str r4, [r2]
- str r4, [r3]
- ldr r0, _080A5200
- bl sub_80A56D8
-_080A51EC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A51FC: .4byte gUnknown_8117354
-_080A5200: .4byte gUnknown_8117754
- thumb_func_end GroundMap_SelectDungeon
-
- thumb_func_start sub_80A5204
-sub_80A5204:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- str r0, [sp]
- mov r8, r1
- str r2, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bgt _080A5222
- b _080A53EA
-_080A5222:
- mov r5, r8
- ldr r2, [sp]
- mov r12, r2
- movs r0, 0
- ldr r3, [sp, 0x4]
- ldrb r3, [r3, 0x1]
- str r3, [sp, 0x10]
- ldr r1, [sp, 0x4]
- ldrh r2, [r1, 0xA]
- mov r1, sp
- strh r2, [r1, 0xC]
- movs r1, 0xFF
-_080A523A:
- adds r0, 0x1
- mov r10, r0
- movs r3, 0xFF
- mov r9, r3
-_080A5242:
- mov r0, r12
- strb r1, [r0]
- movs r2, 0x1
- add r12, r2
- movs r3, 0x1
- negs r3, r3
- add r9, r3
- mov r0, r9
- cmp r0, 0
- bge _080A5242
- mov r0, r10
- cmp r0, 0x3
- ble _080A523A
- movs r1, 0
- ldr r2, [sp, 0x10]
- cmp r1, r2
- blt _080A5266
- b _080A53BA
-_080A5266:
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
-_080A526A:
- adds r0, 0x1
- mov r10, r0
- adds r0, r1, 0x1
- str r0, [sp, 0x14]
- movs r0, 0xFF
- movs r2, 0x4
- mov r9, r2
-_080A5278:
- mov r3, r12
- strb r0, [r3]
- movs r2, 0x1
- add r12, r2
- movs r3, 0x1
- negs r3, r3
- add r9, r3
- mov r2, r9
- cmp r2, 0
- bge _080A5278
- movs r3, 0x5
- mov r9, r3
- movs r0, 0
- cmp r1, 0
- bne _080A5308
- cmp r1, r7
- bge _080A5394
-_080A529A:
- ldrb r1, [r5]
- adds r5, 0x1
- cmp r1, 0xBF
- ble _080A52C2
- adds r6, r0, 0
- subs r6, 0xBF
- cmp r1, 0xBF
- ble _080A5300
- adds r2, r1, 0
- subs r2, 0xBF
-_080A52AE:
- ldrb r0, [r5]
- mov r3, r12
- strb r0, [r3]
- adds r5, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A52AE
- b _080A5300
-_080A52C2:
- cmp r1, 0x7F
- ble _080A52E6
- ldrb r4, [r5]
- adds r5, 0x1
- adds r6, r0, 0
- subs r6, 0x7F
- cmp r1, 0x7F
- ble _080A5300
- adds r2, r1, 0
- subs r2, 0x7F
-_080A52D6:
- mov r3, r12
- strb r4, [r3]
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A52D6
- b _080A5300
-_080A52E6:
- movs r2, 0
- adds r6, r0, 0x1
- cmp r2, r1
- bgt _080A5300
- movs r0, 0
- adds r2, r1, 0x1
-_080A52F2:
- mov r3, r12
- strb r0, [r3]
- movs r3, 0x1
- add r12, r3
- subs r2, 0x1
- cmp r2, 0
- bne _080A52F2
-_080A5300:
- adds r0, r6, r1
- cmp r0, r7
- blt _080A529A
- b _080A5394
-_080A5308:
- ldr r4, _080A5340
- add r4, r12
- cmp r0, r7
- bge _080A5394
-_080A5310:
- ldrb r3, [r5]
- adds r5, 0x1
- cmp r3, 0xBF
- ble _080A5344
- adds r6, r0, 0
- subs r6, 0xBF
- cmp r3, 0xBF
- ble _080A538E
- adds r2, r3, 0
- subs r2, 0xBF
-_080A5324:
- ldrb r1, [r5]
- ldrb r0, [r4]
- eors r1, r0
- mov r0, r12
- strb r1, [r0]
- adds r4, 0x1
- adds r5, 0x1
- movs r1, 0x1
- add r12, r1
- subs r2, 0x1
- cmp r2, 0
- bne _080A5324
- b _080A538E
- .align 2, 0
-_080A5340: .4byte 0xffffff00
-_080A5344:
- cmp r3, 0x7F
- ble _080A5372
- ldrb r2, [r5]
- mov r8, r2
- adds r5, 0x1
- adds r6, r0, 0
- subs r6, 0x7F
- cmp r3, 0x7F
- ble _080A538E
- adds r2, r3, 0
- subs r2, 0x7F
-_080A535A:
- ldrb r1, [r4]
- mov r0, r8
- eors r0, r1
- mov r1, r12
- strb r0, [r1]
- adds r4, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A535A
- b _080A538E
-_080A5372:
- movs r2, 0
- adds r6, r0, 0x1
- cmp r2, r3
- bgt _080A538E
- adds r2, r3, 0x1
-_080A537C:
- ldrb r0, [r4]
- mov r1, r12
- strb r0, [r1]
- adds r4, 0x1
- movs r0, 0x1
- add r12, r0
- subs r2, 0x1
- cmp r2, 0
- bne _080A537C
-_080A538E:
- adds r0, r6, r3
- cmp r0, r7
- blt _080A5310
-_080A5394:
- add r9, r7
- mov r1, r9
- cmp r1, 0xFF
- bgt _080A53AE
- movs r0, 0xFF
-_080A539E:
- mov r2, r12
- strb r0, [r2]
- movs r3, 0x1
- add r12, r3
- add r9, r3
- mov r1, r9
- cmp r1, 0xFF
- ble _080A539E
-_080A53AE:
- ldr r1, [sp, 0x14]
- mov r0, r10
- ldr r2, [sp, 0x10]
- cmp r1, r2
- bge _080A53BA
- b _080A526A
-_080A53BA:
- ldr r3, [sp, 0x8]
- cmp r0, r3
- bge _080A53E6
- movs r1, 0xFF
-_080A53C2:
- adds r0, 0x1
- mov r10, r0
- movs r0, 0xFF
- mov r9, r0
-_080A53CA:
- mov r2, r12
- strb r1, [r2]
- movs r3, 0x1
- add r12, r3
- movs r0, 0x1
- negs r0, r0
- add r9, r0
- mov r2, r9
- cmp r2, 0
- bge _080A53CA
- mov r0, r10
- ldr r3, [sp, 0x8]
- cmp r0, r3
- blt _080A53C2
-_080A53E6:
- mov r8, r5
- b _080A547E
-_080A53EA:
- ldr r1, [sp]
- movs r0, 0
- ldr r2, [sp, 0x4]
- ldrb r2, [r2, 0x1]
- str r2, [sp, 0x10]
- ldr r3, [sp, 0x4]
- ldrh r2, [r3, 0xA]
- mov r3, sp
- strh r2, [r3, 0xC]
- movs r6, 0xFF
-_080A53FE:
- adds r5, r0, 0x1
- movs r4, 0xFF
-_080A5402:
- strb r6, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A5402
- adds r0, r5, 0
- cmp r0, 0x3
- ble _080A53FE
- movs r4, 0
- ldr r3, [sp, 0x10]
- cmp r4, r3
- bge _080A5460
- ldr r2, [sp, 0x4]
- ldrb r7, [r2]
- movs r3, 0xFF
-_080A5420:
- adds r5, r0, 0x1
- adds r2, r4, 0x1
- movs r4, 0x4
-_080A5426:
- strb r3, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A5426
- movs r4, 0x5
- cmp r7, 0
- beq _080A5444
- movs r6, 0
- adds r0, r7, 0
-_080A543A:
- strb r6, [r1]
- adds r1, 0x1
- subs r0, 0x1
- cmp r0, 0
- bne _080A543A
-_080A5444:
- adds r4, r7
- cmp r4, 0xFF
- bgt _080A5456
- movs r0, 0xFF
-_080A544C:
- strb r0, [r1]
- adds r1, 0x1
- adds r4, 0x1
- cmp r4, 0xFF
- ble _080A544C
-_080A5456:
- adds r4, r2, 0
- adds r0, r5, 0
- ldr r2, [sp, 0x10]
- cmp r4, r2
- blt _080A5420
-_080A5460:
- ldr r3, [sp, 0x8]
- cmp r0, r3
- bge _080A547E
- movs r6, 0xFF
-_080A5468:
- adds r5, r0, 0x1
- movs r4, 0xFF
-_080A546C:
- strb r6, [r1]
- adds r1, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _080A546C
- adds r0, r5, 0
- ldr r2, [sp, 0x8]
- cmp r0, r2
- blt _080A5468
-_080A547E:
- mov r3, sp
- ldrh r3, [r3, 0xC]
- lsls r0, r3, 16
- cmp r0, 0
- bgt _080A548A
- b _080A5590
-_080A548A:
- mov r6, r8
- ldr r0, [sp]
- movs r1, 0x80
- lsls r1, 3
- adds r2, r0, r1
- movs r0, 0
- ldr r3, [sp, 0x10]
- cmp r0, r3
- bge _080A5586
- movs r1, 0xFB
- mov r10, r1
-_080A54A0:
- adds r2, 0x5
- movs r4, 0
- cmp r0, 0
- bne _080A54EC
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- movs r1, 0x1
- mov r9, r1
- cmp r0, r7
- bge _080A5574
-_080A54B4:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0x7F
- ble _080A54DE
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A54D6
- movs r5, 0x80
- adds r3, r1, 0
- subs r3, 0x7F
-_080A54C8:
- ldrb r0, [r2]
- orrs r0, r5
- strb r0, [r2]
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A54C8
-_080A54D6:
- adds r4, r1
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- b _080A54E6
-_080A54DE:
- adds r0, r1, 0x1
- adds r2, r0
- adds r0, r4, 0x1
- adds r4, r0, r1
-_080A54E6:
- cmp r4, r7
- blt _080A54B4
- b _080A5574
-_080A54EC:
- ldr r1, _080A5538
- adds r1, r2
- mov r12, r1
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- adds r0, 0x1
- mov r9, r0
- cmp r4, r7
- bge _080A5574
-_080A54FE:
- ldrb r5, [r6]
- adds r6, 0x1
- cmp r5, 0x7F
- ble _080A553C
- subs r4, 0x7F
- cmp r5, 0x7F
- ble _080A556A
- movs r7, 0x80
- movs r0, 0x80
- mov r8, r0
- adds r3, r5, 0
- subs r3, 0x7F
-_080A5516:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- bne _080A552C
- ldrb r0, [r2]
- orrs r0, r7
- strb r0, [r2]
-_080A552C:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A5516
- b _080A556A
- .align 2, 0
-_080A5538: .4byte 0xffffff00
-_080A553C:
- movs r3, 0
- adds r4, 0x1
- cmp r3, r5
- bgt _080A556A
- movs r7, 0x80
- movs r3, 0x80
- mov r8, r3
- adds r3, r5, 0x1
-_080A554C:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- beq _080A5562
- ldrb r0, [r2]
- orrs r0, r7
- strb r0, [r2]
-_080A5562:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A554C
-_080A556A:
- adds r4, r5
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- cmp r4, r7
- blt _080A54FE
-_080A5574:
- mov r1, r10
- subs r0, r1, r7
- adds r2, r0
- mov r0, r9
- ldr r3, [sp, 0x4]
- ldrb r3, [r3, 0x1]
- str r3, [sp, 0x10]
- cmp r0, r3
- blt _080A54A0
-_080A5586:
- mov r8, r6
- ldr r0, [sp, 0x4]
- ldrh r1, [r0, 0xA]
- mov r0, sp
- strh r1, [r0, 0xC]
-_080A5590:
- mov r2, sp
- ldrh r2, [r2, 0xC]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080A568C
- mov r6, r8
- ldr r3, [sp]
- movs r0, 0x80
- lsls r0, 3
- adds r2, r3, r0
- movs r0, 0
- b _080A5684
-_080A55AA:
- adds r2, 0x5
- movs r4, 0
- cmp r0, 0
- bne _080A55F2
- ldr r3, [sp, 0x4]
- ldrb r7, [r3]
- movs r1, 0x1
- mov r10, r1
- cmp r0, r7
- bge _080A567C
-_080A55BE:
- ldrb r1, [r6]
- adds r6, 0x1
- cmp r1, 0x7F
- ble _080A55E4
- subs r4, 0x7F
- cmp r1, 0x7F
- ble _080A55E0
- movs r5, 0x40
- adds r3, r1, 0
- subs r3, 0x7F
-_080A55D2:
- ldrb r0, [r2]
- orrs r0, r5
- strb r0, [r2]
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A55D2
-_080A55E0:
- adds r4, r1
- b _080A55EC
-_080A55E4:
- adds r0, r1, 0x1
- adds r2, r0
- adds r0, r4, 0x1
- adds r4, r0, r1
-_080A55EC:
- cmp r4, r7
- blt _080A55BE
- b _080A567C
-_080A55F2:
- ldr r3, _080A5640
- adds r3, r2
- mov r12, r3
- ldr r1, [sp, 0x4]
- ldrb r7, [r1]
- adds r0, 0x1
- mov r10, r0
- cmp r4, r7
- bge _080A567C
-_080A5604:
- ldrb r5, [r6]
- adds r6, 0x1
- cmp r5, 0x7F
- ble _080A5644
- subs r4, 0x7F
- cmp r5, 0x7F
- ble _080A5676
- movs r3, 0x40
- mov r8, r3
- movs r0, 0x40
- mov r9, r0
- adds r3, r5, 0
- subs r3, 0x7F
-_080A561E:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- bne _080A5636
- ldrb r0, [r2]
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
-_080A5636:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A561E
- b _080A5676
- .align 2, 0
-_080A5640: .4byte 0xffffff00
-_080A5644:
- movs r3, 0
- adds r4, 0x1
- cmp r3, r5
- bgt _080A5676
- movs r3, 0x40
- mov r8, r3
- movs r0, 0x40
- mov r9, r0
- adds r3, r5, 0x1
-_080A5656:
- mov r0, r12
- ldrb r1, [r0]
- mov r0, r9
- ands r0, r1
- movs r1, 0x1
- add r12, r1
- cmp r0, 0
- beq _080A566E
- ldrb r0, [r2]
- mov r1, r8
- orrs r0, r1
- strb r0, [r2]
-_080A566E:
- adds r2, 0x1
- subs r3, 0x1
- cmp r3, 0
- bne _080A5656
-_080A5676:
- adds r4, r5
- cmp r4, r7
- blt _080A5604
-_080A567C:
- movs r3, 0xFB
- subs r0, r3, r7
- adds r2, r0
- mov r0, r10
-_080A5684:
- ldr r1, [sp, 0x10]
- cmp r0, r1
- blt _080A55AA
- mov r8, r6
-_080A568C:
- mov r0, r8
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A5204
-
- thumb_func_start sub_80A56A0
-sub_80A56A0:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- lsls r3, 24
- lsrs r3, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080A56BC
- ldr r0, [r0]
- adds r1, r3, 0
- bl sub_80A3B80
- pop {r0}
- bx r0
- .align 2, 0
-_080A56BC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56A0
-
- thumb_func_start sub_80A56C0
-sub_80A56C0:
- push {lr}
- adds r2, r0, 0
- ldr r0, _080A56D4
- ldr r0, [r0]
- movs r1, 0
- bl sub_80A4558
- pop {r0}
- bx r0
- .align 2, 0
-_080A56D4: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56C0
-
- thumb_func_start sub_80A56D8
-sub_80A56D8:
- push {lr}
- adds r2, r0, 0
- ldr r0, _080A56EC
- ldr r0, [r0]
- movs r1, 0
- bl sub_80A456C
- pop {r0}
- bx r0
- .align 2, 0
-_080A56EC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A56D8
-
- thumb_func_start sub_80A56F0
-sub_80A56F0:
- ldr r1, _080A5700
- ldr r2, [r1]
- adds r2, 0xE8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- bx lr
- .align 2, 0
-_080A5700: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A56F0
-
- thumb_func_start sub_80A5704
-sub_80A5704:
- ldr r1, _080A5724
- ldr r3, [r1]
- adds r2, r3, 0
- adds r2, 0xF8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- adds r0, r3, 0
- adds r0, 0xF0
- movs r1, 0
- str r1, [r0]
- adds r0, 0x4
- str r1, [r0]
- bx lr
- .align 2, 0
-_080A5724: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A5704
-
- thumb_func_start sub_80A5728
-sub_80A5728:
- ldr r0, _080A5734
- ldr r0, [r0]
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A5734: .4byte gUnknown_3001B6C
- thumb_func_end sub_80A5728
-
- thumb_func_start sub_80A5738
-sub_80A5738:
- ldr r0, _080A5750
- ldr r0, [r0]
- adds r0, 0xE4
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A5754
- adds r0, r1
- bx lr
- .align 2, 0
-_080A5750: .4byte gUnknown_3001B6C
-_080A5754: .4byte gUnknown_811BAF4
- thumb_func_end sub_80A5738
-
- thumb_func_start sub_80A5758
-sub_80A5758:
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A5768
- ldr r0, [r0]
- cmp r0, 0
- bne _080A576C
- movs r0, 0
- b _080A5772
- .align 2, 0
-_080A5768: .4byte gUnknown_3001B70
-_080A576C:
- bl sub_80A4608
- movs r0, 0x1
-_080A5772:
- pop {r1}
- bx r1
- thumb_func_end sub_80A5758
-
- thumb_func_start sub_80A5778
-sub_80A5778:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080A578C
- ldr r0, [r0]
- cmp r0, 0
- bne _080A5790
- movs r0, 0
- b _080A5798
- .align 2, 0
-_080A578C: .4byte gUnknown_3001B70
-_080A5790:
- adds r1, r3, 0
- bl sub_80A463C
- movs r0, 0x1
-_080A5798:
- pop {r1}
- bx r1
- thumb_func_end sub_80A5778
-
- thumb_func_start sub_80A579C
-sub_80A579C:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r0, _080A5838
- ldr r3, [r0]
- cmp r3, 0
- beq _080A5854
- ldr r0, _080A583C
- ldr r0, [r0]
- adds r2, r0, 0
- adds r2, 0xE4
- movs r0, 0
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A5854
- adds r0, r1, 0
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 2
- ldr r0, _080A5840
- adds r4, r0
- adds r0, r3, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80A463C
- ldr r2, [r6]
- mov r12, r2
- movs r0, 0xF0
- lsls r0, 7
- add r0, r12
- str r0, [r6]
- ldr r3, [r6, 0x4]
- movs r7, 0xA0
- lsls r7, 7
- adds r0, r3, r7
- str r0, [r6, 0x4]
- ldr r2, [r5]
- ldr r1, _080A5844
- adds r0, r2, r1
- str r0, [r5]
- ldr r1, [r5, 0x4]
- ldr r7, _080A5848
- adds r0, r1, r7
- str r0, [r5, 0x4]
- movs r7, 0
- ldrsh r0, [r4, r7]
- cmp r0, 0xA
- bne _080A581E
- movs r0, 0x90
- lsls r0, 8
- add r0, r12
- str r0, [r6]
- movs r4, 0xD0
- lsls r4, 7
- adds r0, r3, r4
- str r0, [r6, 0x4]
- ldr r7, _080A584C
- adds r0, r2, r7
- str r0, [r5]
- ldr r2, _080A5850
- adds r0, r1, r2
- str r0, [r5, 0x4]
-_080A581E:
- ldr r1, [r6]
- ldr r0, [r5]
- cmp r1, r0
- ble _080A5828
- str r1, [r5]
-_080A5828:
- ldr r1, [r6, 0x4]
- ldr r0, [r5, 0x4]
- cmp r1, r0
- ble _080A5832
- str r1, [r5, 0x4]
-_080A5832:
- movs r0, 0x1
- b _080A5856
- .align 2, 0
-_080A5838: .4byte gUnknown_3001B70
-_080A583C: .4byte gUnknown_3001B6C
-_080A5840: .4byte gUnknown_811BAF4
-_080A5844: .4byte 0xffff8800
-_080A5848: .4byte 0xffffb000
-_080A584C: .4byte 0xffff7000
-_080A5850: .4byte 0xffff9800
-_080A5854:
- movs r0, 0
-_080A5856:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A579C
-
- thumb_func_start sub_80A585C
-sub_80A585C:
- push {r4-r7,lr}
- adds r7, r1, 0
- ldr r1, _080A5884
- ldr r2, [r1]
- ldr r1, _080A5888
- adds r2, r1
- ldr r1, [r0, 0x4]
- lsls r1, 8
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _080A588C
- adds r1, r0
- ldr r0, [r2]
- adds r5, r0, r1
- ldr r4, [r7, 0x4]
- cmp r0, 0
- bne _080A5890
-_080A587E:
- movs r0, 0x1
- b _080A58C0
- .align 2, 0
-_080A5884: .4byte gUnknown_3001B70
-_080A5888: .4byte 0x00000544
-_080A588C: .4byte 0x00000405
-_080A5890:
- cmp r4, 0
- ble _080A58BE
- movs r1, 0x80
- lsls r1, 1
- mov r12, r1
-_080A589A:
- ldr r2, [r7]
- adds r3, r5, 0
- cmp r2, 0
- ble _080A58B6
- movs r6, 0x80
-_080A58A4:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- adds r3, 0x1
- cmp r0, 0
- bne _080A587E
- subs r2, 0x1
- cmp r2, 0
- bgt _080A58A4
-_080A58B6:
- add r5, r12
- subs r4, 0x1
- cmp r4, 0
- bgt _080A589A
-_080A58BE:
- movs r0, 0
-_080A58C0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A585C
-
- thumb_func_start sub_80A58C8
-sub_80A58C8:
- push {r4-r7,lr}
- adds r7, r1, 0
- ldr r1, _080A58F0
- ldr r2, [r1]
- ldr r1, _080A58F4
- adds r2, r1
- ldr r1, [r0, 0x4]
- lsls r1, 8
- ldr r0, [r0]
- adds r1, r0
- ldr r0, _080A58F8
- adds r1, r0
- ldr r0, [r2]
- adds r5, r0, r1
- ldr r4, [r7, 0x4]
- cmp r0, 0
- bne _080A58FC
-_080A58EA:
- movs r0, 0x1
- b _080A592C
- .align 2, 0
-_080A58F0: .4byte gUnknown_3001B70
-_080A58F4: .4byte 0x00000544
-_080A58F8: .4byte 0x00000405
-_080A58FC:
- cmp r4, 0
- ble _080A592A
- movs r1, 0x80
- lsls r1, 1
- mov r12, r1
-_080A5906:
- ldr r2, [r7]
- adds r3, r5, 0
- cmp r2, 0
- ble _080A5922
- movs r6, 0x40
-_080A5910:
- ldrb r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- adds r3, 0x1
- cmp r0, 0
- bne _080A58EA
- subs r2, 0x1
- cmp r2, 0
- bgt _080A5910
-_080A5922:
- add r5, r12
- subs r4, 0x1
- cmp r4, 0
- bgt _080A5906
-_080A592A:
- movs r0, 0
-_080A592C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A58C8
-
- thumb_func_start sub_80A5934
-sub_80A5934:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5958
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4660
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A5958: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5934
-
- thumb_func_start sub_80A595C
-sub_80A595C:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5980
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A46C0
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A5980: .4byte gUnknown_3001B70
- thumb_func_end sub_80A595C
-
- thumb_func_start sub_80A5984
-sub_80A5984:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _080A599C
- ldr r0, [r0]
- adds r1, r3, 0
- bl sub_80A4720
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080A599C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5984
-
- thumb_func_start sub_80A59A0
-sub_80A59A0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r3, r2, 16
- lsrs r3, 16
- ldr r0, _080A59BC
- ldr r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4740
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A59BC: .4byte gUnknown_3001B70
- thumb_func_end sub_80A59A0
-
- thumb_func_start GroundMap_Action
-GroundMap_Action:
- push {lr}
- bl nullsub_123
- ldr r0, _080A59D4
- ldr r0, [r0]
- ldr r1, _080A59D8
- bl HandleAction
- pop {r0}
- bx r0
- .align 2, 0
-_080A59D4: .4byte gUnknown_3001B6C
-_080A59D8: .4byte gUnknown_8117770
- thumb_func_end GroundMap_Action
-
- thumb_func_start sub_80A59DC
-sub_80A59DC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x58
- ldr r7, _080A5A34
- ldr r0, [r7]
- cmp r0, 0
- bne _080A59F0
- b _080A5E5A
-_080A59F0:
- mov r9, sp
- mov r0, sp
- bl sub_809D248
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A5A04
- str r0, [sp]
- str r0, [sp, 0x4]
-_080A5A04:
- ldr r0, _080A5A38
- mov r8, r0
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0xE4
- movs r1, 0
- ldrsh r0, [r0, r1]
- mov r6, r8
- cmp r0, 0xAB
- bne _080A5A1A
- b _080A5BBE
-_080A5A1A:
- cmp r0, 0xAB
- bgt _080A5A46
- cmp r0, 0xA3
- bgt _080A5A3C
- cmp r0, 0xA2
- bge _080A5A76
- cmp r0, 0x4
- bne _080A5A2C
- b _080A5D76
-_080A5A2C:
- cmp r0, 0xA1
- bne _080A5A32
- b _080A5E28
-_080A5A32:
- b _080A5E46
- .align 2, 0
-_080A5A34: .4byte gUnknown_3001B70
-_080A5A38: .4byte gUnknown_3001B6C
-_080A5A3C:
- cmp r0, 0xA8
- beq _080A5AF4
- cmp r0, 0xAA
- beq _080A5AF4
- b _080A5E46
-_080A5A46:
- cmp r0, 0xB0
- bne _080A5A4C
- b _080A5C76
-_080A5A4C:
- cmp r0, 0xB0
- bgt _080A5A5E
- cmp r0, 0xAE
- bne _080A5A56
- b _080A5B58
-_080A5A56:
- cmp r0, 0xAF
- bne _080A5A5C
- b _080A5BD8
-_080A5A5C:
- b _080A5E46
-_080A5A5E:
- cmp r0, 0xDF
- beq _080A5A76
- cmp r0, 0xDF
- bgt _080A5A6E
- cmp r0, 0xBA
- bne _080A5A6C
- b _080A5D18
-_080A5A6C:
- b _080A5E46
-_080A5A6E:
- cmp r0, 0xE0
- bne _080A5A74
- b _080A5DDA
-_080A5A74:
- b _080A5E46
-_080A5A76:
- ldr r3, [r6]
- adds r2, r3, 0
- adds r2, 0xF4
- ldr r1, [r2]
- adds r0, r1, 0x2
- str r0, [r2]
- adds r4, r3, 0
- adds r4, 0xFC
- cmp r0, 0
- bge _080A5A8C
- adds r0, r1, 0x5
-_080A5A8C:
- asrs r1, r0, 2
- ldr r0, [r4]
- adds r0, r1
- str r0, [r4]
- ldr r0, [r2]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2]
- ldr r5, _080A5AF0
- ldr r0, [r5]
- adds r2, r3, 0
- adds r2, 0xF8
- movs r1, 0
- bl sub_80A4580
- ldr r0, [sp]
- str r0, [sp, 0x8]
- ldr r0, [r6]
- adds r0, 0xFC
- ldr r1, [sp, 0x4]
- ldr r0, [r0]
- adds r1, r0
- add r4, sp, 0x8
- str r1, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- ldr r0, [sp]
- str r0, [sp, 0x8]
- ldr r0, [r6]
- adds r0, 0xFC
- ldr r1, [sp, 0x4]
- ldr r0, [r0]
- subs r1, r0
- str r1, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A5DD0
- .align 2, 0
-_080A5AF0: .4byte gUnknown_3001B70
-_080A5AF4:
- ldr r2, [r6]
- adds r3, r2, 0
- adds r3, 0xF0
- adds r0, r2, 0
- adds r0, 0xE8
- ldr r1, [r3]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r3]
- adds r2, 0xF8
- cmp r1, 0
- bge _080A5B0E
- adds r1, 0x7
-_080A5B0E:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r3]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5B20
- adds r0, r1, 0x7
-_080A5B20:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r3]
- ldr r5, _080A5B54
- ldr r0, [r5]
- movs r1, 0
- bl sub_80A4580
- ldr r0, [r6]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x10]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x10
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- movs r1, 0
- b _080A5DD2
- .align 2, 0
-_080A5B54: .4byte gUnknown_3001B70
-_080A5B58:
- adds r4, r3, 0
- adds r4, 0xF0
- adds r0, r3, 0
- adds r0, 0xE8
- ldr r1, [r4]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r4]
- adds r2, r3, 0
- adds r2, 0xF8
- cmp r1, 0
- bge _080A5B72
- adds r1, 0x7
-_080A5B72:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5B84
- adds r0, r1, 0x7
-_080A5B84:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r0, [r7]
- movs r1, 0
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x18]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x18
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- b _080A5DCE
-_080A5BBE:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- ldr r0, [r7]
- add r4, sp, 0x20
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5BD8:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r3, [r0]
- adds r4, r3, 0
- adds r4, 0xF0
- adds r1, r3, 0
- adds r1, 0xE8
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- adds r5, r3, 0
- adds r5, 0xF4
- adds r1, r3, 0
- adds r1, 0xEC
- ldr r0, [r5]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r5]
- adds r2, r3, 0
- adds r2, 0xF8
- ldr r1, [r4]
- cmp r1, 0
- bge _080A5C12
- adds r1, 0x7
-_080A5C12:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- adds r3, 0xFC
- ldr r1, [r5]
- cmp r1, 0
- bge _080A5C24
- adds r1, 0x7
-_080A5C24:
- asrs r1, 3
- ldr r0, [r3]
- adds r0, r1
- str r0, [r3]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5C36
- adds r0, r1, 0x7
-_080A5C36:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r1, [r5]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5C48
- adds r0, r1, 0x7
-_080A5C48:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r5]
- ldr r0, [r7]
- movs r1, 0
- bl sub_80A4580
- mov r1, r8
- ldr r2, [r1]
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, [sp]
- ldr r1, [r1]
- adds r0, r1
- str r0, [sp, 0x28]
- adds r2, 0xFC
- mov r1, r9
- ldr r0, [r1, 0x4]
- ldr r1, [r2]
- adds r0, r1
- add r4, sp, 0x28
- b _080A5DC2
-_080A5C76:
- adds r4, r3, 0
- adds r4, 0xF0
- adds r1, r3, 0
- adds r1, 0xE8
- ldr r0, [r4]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r4]
- adds r5, r3, 0
- adds r5, 0xF4
- adds r1, r3, 0
- adds r1, 0xEC
- ldr r0, [r5]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r5]
- adds r6, r3, 0
- adds r6, 0xF8
- ldr r1, [r4]
- cmp r1, 0
- bge _080A5CA2
- adds r1, 0x7
-_080A5CA2:
- asrs r1, 3
- ldr r0, [r6]
- adds r0, r1
- str r0, [r6]
- adds r2, r3, 0
- adds r2, 0xFC
- ldr r1, [r5]
- cmp r1, 0
- bge _080A5CB6
- adds r1, 0x7
-_080A5CB6:
- asrs r1, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r1, [r4]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5CC8
- adds r0, r1, 0x7
-_080A5CC8:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r4]
- ldr r1, [r5]
- adds r0, r1, 0
- cmp r1, 0
- bge _080A5CDA
- adds r0, r1, 0x7
-_080A5CDA:
- asrs r0, 3
- lsls r0, 3
- subs r0, r1, r0
- str r0, [r5]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r6, 0
- bl sub_80A4580
- mov r0, r8
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0xF8
- ldr r0, [sp]
- ldr r1, [r1]
- adds r0, r1
- str r0, [sp, 0x30]
- adds r2, 0xFC
- ldr r0, [sp, 0x4]
- ldr r1, [r2]
- adds r0, r1
- add r4, sp, 0x30
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5D18:
- ldr r0, [r7]
- movs r1, 0x1
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5D3A
- adds r0, r4, 0x4
-_080A5D3A:
- asrs r1, r0, 2
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x3
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x38]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x38
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r7]
- movs r1, 0
- b _080A5DD2
-_080A5D76:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5D98
- adds r0, 0x7
-_080A5D98:
- asrs r1, r0, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x7
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r1, [sp]
- ldr r0, [r0]
- adds r1, r0
- str r1, [sp, 0x40]
- ldr r0, [sp, 0x4]
- add r4, sp, 0x40
-_080A5DC2:
- str r0, [r4, 0x4]
- ldr r0, [r7]
- movs r1, 0x1
- adds r2, r4, 0
- bl sub_80A4580
-_080A5DCE:
- ldr r0, [r7]
-_080A5DD0:
- movs r1, 0x1
-_080A5DD2:
- adds r2, r4, 0
- bl sub_80A456C
- b _080A5E52
-_080A5DDA:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- mov r0, r8
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0xF0
- ldr r4, [r3]
- adds r0, r4, 0x1
- str r0, [r3]
- adds r2, r1, 0
- adds r2, 0xF8
- cmp r0, 0
- bge _080A5DFC
- adds r0, 0x7
-_080A5DFC:
- asrs r1, r0, 3
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
- ldr r0, [r3]
- movs r1, 0x7
- ands r0, r1
- str r0, [r3]
- ldr r0, [r7]
- movs r1, 0x1
- bl sub_80A4580
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xF8
- ldr r0, [r0]
- str r0, [sp, 0x48]
- ldr r0, [sp, 0x4]
- add r2, sp, 0x48
- str r0, [r2, 0x4]
- ldr r0, [r7]
- b _080A5E3E
-_080A5E28:
- ldr r0, [r7]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x50]
- str r1, [sp, 0x54]
- ldr r0, [r7]
- add r2, sp, 0x50
-_080A5E3E:
- movs r1, 0x1
- bl sub_80A456C
- b _080A5E52
-_080A5E46:
- ldr r0, _080A5E6C
- ldr r0, [r0]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
-_080A5E52:
- ldr r0, _080A5E6C
- ldr r0, [r0]
- bl sub_80A4764
-_080A5E5A:
- bl sub_80A60D8
- add sp, 0x58
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E6C: .4byte gUnknown_3001B70
- thumb_func_end sub_80A59DC
-
- thumb_func_start sub_80A5E70
-sub_80A5E70:
- push {lr}
- ldr r0, _080A5E88
- ldr r0, [r0]
- cmp r0, 0
- beq _080A5E7E
- bl sub_80A49E8
-_080A5E7E:
- bl sub_80A62D0
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E88: .4byte gUnknown_3001B70
- thumb_func_end sub_80A5E70
-
- thumb_func_start sub_80A5E8C
-sub_80A5E8C:
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A5EB4
- movs r0, 0x24
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r5]
- ldr r1, _080A5EB8
- strh r1, [r0]
- movs r1, 0
- strb r1, [r0, 0x2]
- adds r0, r4, 0
- bl sub_80A5EDC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5EB4: .4byte gUnknown_3001B74
-_080A5EB8: .4byte 0x0000ffff
- thumb_func_end sub_80A5E8C
-
- thumb_func_start sub_80A5EBC
-sub_80A5EBC:
- push {r4,lr}
- movs r0, 0
- bl sub_80A5EDC
- ldr r4, _080A5ED8
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5ED8: .4byte gUnknown_3001B74
- thumb_func_end sub_80A5EBC
-
- thumb_func_start sub_80A5EDC
-sub_80A5EDC:
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- movs r6, 0x1
- negs r6, r6
- movs r0, 0
- movs r1, 0x1B
- adds r2, r6, 0
- bl sub_80018D8
- ldr r0, _080A5F34
- ldr r1, [r0]
- ldr r0, _080A5F38
- strh r0, [r1]
- strb r5, [r1, 0x2]
- ldr r4, _080A5F3C
- ldr r0, [r4]
- cmp r0, 0
- beq _080A5F12
- bl sub_80A2D00
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
-_080A5F12:
- cmp r5, 0
- beq _080A5F2E
- ldr r0, _080A5F40
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r1, _080A5F44
- bl sub_80A2B40
- ldr r0, [r4]
- adds r1, r6, 0
- bl sub_80A2FBC
-_080A5F2E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5F34: .4byte gUnknown_3001B74
-_080A5F38: .4byte 0x0000ffff
-_080A5F3C: .4byte gUnknown_3001B78
-_080A5F40: .4byte 0x0000055c
-_080A5F44: .4byte gUnknown_8117784
- thumb_func_end sub_80A5EDC
-
- thumb_func_start nullsub_121
-nullsub_121:
- bx lr
- thumb_func_end nullsub_121
-
- thumb_func_start nullsub_122
-nullsub_122:
- bx lr
- thumb_func_end nullsub_122
-
- thumb_func_start GroundWeather_Select
-GroundWeather_Select:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r5, r0, 16
- adds r7, r5, 0
- ldr r1, _080A5F94
- ldr r6, _080A5F98
- ldr r0, [r6]
- ldrb r3, [r0, 0x2]
- movs r0, 0
- adds r2, r5, 0
- bl Log
- movs r0, 0
- movs r1, 0x1B
- adds r2, r5, 0
- bl sub_80018D8
- ldr r0, [r6]
- movs r4, 0
- strh r5, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080A5F80
- b _080A60B4
-_080A5F80:
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _080A5FA0
- ldr r0, _080A5F9C
- ldr r0, [r0]
- adds r1, r5, 0
- bl sub_80A2FBC
- b _080A60B4
- .align 2, 0
-_080A5F94: .4byte gUnknown_811779C
-_080A5F98: .4byte gUnknown_3001B74
-_080A5F9C: .4byte gUnknown_3001B78
-_080A5FA0:
- lsls r1, r7, 2
- ldr r0, _080A5FD8
- adds r5, r1, r0
- ldr r0, _080A5FDC
- ldr r0, [r0]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl sub_80A2FBC
- ldr r0, [r6]
- str r4, [r0, 0x4]
- str r4, [r0, 0x8]
- str r4, [r0, 0xC]
- str r4, [r0, 0x10]
- str r4, [r0, 0x20]
- str r4, [r0, 0x1C]
- str r4, [r0, 0x18]
- str r4, [r0, 0x14]
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xF
- bhi _080A6098
- lsls r0, 2
- ldr r1, _080A5FE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A5FD8: .4byte gUnknown_811E5F4
-_080A5FDC: .4byte gUnknown_3001B78
-_080A5FE0: .4byte _080A5FE4
- .align 2, 0
-_080A5FE4:
- .4byte _080A6088
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6088
- .4byte _080A6088
- .4byte _080A6088
- .4byte _080A6098
- .4byte _080A6040
- .4byte _080A6088
- .4byte _080A6024
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6098
- .4byte _080A6050
- .4byte _080A606C
-_080A6024:
- ldr r0, _080A6034
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6038
- ldr r2, _080A603C
- b _080A60B0
- .align 2, 0
-_080A6034: .4byte gUnknown_3001B78
-_080A6038: .4byte gUnknown_2026E4E
-_080A603C: .4byte 0x0000040c
-_080A6040:
- ldr r1, _080A6048
- ldr r2, _080A604C
- b _080A60B0
- .align 2, 0
-_080A6048: .4byte gUnknown_2026E4E
-_080A604C: .4byte 0x00000808
-_080A6050:
- ldr r0, _080A6060
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6064
- ldr r2, _080A6068
- b _080A60B0
- .align 2, 0
-_080A6060: .4byte gUnknown_3001B78
-_080A6064: .4byte gUnknown_2026E4E
-_080A6068: .4byte 0x00001010
-_080A606C:
- ldr r0, _080A607C
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
- ldr r1, _080A6080
- ldr r2, _080A6084
- b _080A60B0
- .align 2, 0
-_080A607C: .4byte gUnknown_3001B78
-_080A6080: .4byte gUnknown_2026E4E
-_080A6084: .4byte 0x0000040c
-_080A6088:
- ldr r1, _080A6090
- ldr r2, _080A6094
- b _080A60B0
- .align 2, 0
-_080A6090: .4byte gUnknown_2026E4E
-_080A6094: .4byte 0x00001010
-_080A6098:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080A60AA
- ldr r0, _080A60BC
- ldr r0, [r0]
- movs r1, 0x1
- bl sub_80A3BB0
-_080A60AA:
- ldr r1, _080A60C0
- movs r2, 0x80
- lsls r2, 5
-_080A60B0:
- adds r0, r2, 0
- strh r0, [r1]
-_080A60B4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A60BC: .4byte gUnknown_3001B78
-_080A60C0: .4byte gUnknown_2026E4E
- thumb_func_end GroundWeather_Select
-
- thumb_func_start sub_80A60C4
-sub_80A60C4:
- ldr r0, _080A60D0
- ldr r0, [r0]
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A60D0: .4byte gUnknown_3001B74
- thumb_func_end sub_80A60C4
-
- thumb_func_start nullsub_123
-nullsub_123:
- bx lr
- thumb_func_end nullsub_123
-
- thumb_func_start sub_80A60D8
-sub_80A60D8:
- push {r4-r6,lr}
- sub sp, 0x28
- ldr r0, _080A6104
- ldr r3, [r0]
- ldrb r1, [r3, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- bne _080A60EA
- b _080A62C0
-_080A60EA:
- ldrh r0, [r3]
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bls _080A60F8
- b _080A6278
-_080A60F8:
- lsls r0, 2
- ldr r1, _080A6108
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A6104: .4byte gUnknown_3001B74
-_080A6108: .4byte _080A610C
- .align 2, 0
-_080A610C:
- .4byte _080A62AC
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6278
- .4byte _080A6150
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61CC
- .4byte _080A61D0
- .4byte _080A6224
-_080A6150:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x2
- str r0, [r2, 0x4]
- ldr r4, [r2, 0x8]
- adds r3, r4, 0x1
- str r3, [r2, 0x8]
- cmp r0, 0
- bge _080A6164
- adds r0, r1, 0x5
-_080A6164:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- adds r1, r3, 0
- cmp r1, 0
- bge _080A6174
- adds r1, r4, 0x4
-_080A6174:
- asrs r1, 2
- ldr r0, [r2, 0x10]
- adds r0, r1
- str r0, [r2, 0x10]
- ldr r4, _080A61C8
- ldr r0, [r4]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r1, [r6]
- ldr r0, [r1, 0x4]
- movs r2, 0x3
- ands r0, r2
- str r0, [r1, 0x4]
- ldr r0, [r1, 0x8]
- ands r0, r2
- str r0, [r1, 0x8]
- mov r0, sp
- bl sub_80A56C0
- ldr r2, [r6]
- ldr r0, [sp]
- ldr r1, [r2, 0xC]
- subs r0, r1
- str r0, [sp]
- ldr r0, [sp, 0x4]
- ldr r1, [r2, 0x10]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r0, [r4]
- movs r1, 0
- mov r2, sp
- bl sub_80A4580
- ldr r0, [r4]
- movs r1, 0
- mov r2, sp
- bl sub_80A456C
- b _080A62B8
- .align 2, 0
-_080A61C8: .4byte gUnknown_3001B78
-_080A61CC:
- add r4, sp, 0x8
- b _080A628E
-_080A61D0:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x1
- str r0, [r2, 0x4]
- cmp r0, 0
- bge _080A61DE
- adds r0, r1, 0x4
-_080A61DE:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- ldr r5, _080A6220
- ldr r0, [r5]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2, 0x4]
- add r4, sp, 0x10
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r1, [r6]
- ldr r0, [sp, 0x10]
- ldr r1, [r1, 0xC]
- subs r0, r1
- str r0, [sp, 0x10]
- movs r0, 0
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A6298
- .align 2, 0
-_080A6220: .4byte gUnknown_3001B78
-_080A6224:
- ldr r2, [r6]
- ldr r1, [r2, 0x4]
- adds r0, r1, 0x2
- str r0, [r2, 0x4]
- cmp r0, 0
- bge _080A6232
- adds r0, r1, 0x5
-_080A6232:
- asrs r1, r0, 2
- ldr r0, [r2, 0xC]
- adds r0, r1
- str r0, [r2, 0xC]
- ldr r5, _080A6274
- ldr r0, [r5]
- adds r2, 0xC
- movs r1, 0
- bl sub_80A4580
- ldr r2, [r6]
- ldr r0, [r2, 0x4]
- movs r1, 0x3
- ands r0, r1
- str r0, [r2, 0x4]
- add r4, sp, 0x18
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r1, [r6]
- ldr r0, [sp, 0x18]
- ldr r1, [r1, 0xC]
- subs r0, r1
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [r4, 0x4]
- ldr r0, [r5]
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A4580
- ldr r0, [r5]
- b _080A6298
- .align 2, 0
-_080A6274: .4byte gUnknown_3001B78
-_080A6278:
- ldr r0, [r6]
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 2
- ldr r1, _080A62A4
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A62AC
- add r4, sp, 0x20
-_080A628E:
- adds r0, r4, 0
- bl sub_80A56C0
- ldr r0, _080A62A8
- ldr r0, [r0]
-_080A6298:
- movs r1, 0
- adds r2, r4, 0
- bl sub_80A456C
- b _080A62B8
- .align 2, 0
-_080A62A4: .4byte gUnknown_811E5F4
-_080A62A8: .4byte gUnknown_3001B78
-_080A62AC:
- ldr r0, _080A62C8
- ldr r0, [r0]
- ldr r2, _080A62CC
- movs r1, 0
- bl sub_80A456C
-_080A62B8:
- ldr r0, _080A62C8
- ldr r0, [r0]
- bl sub_80A4764
-_080A62C0:
- add sp, 0x28
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A62C8: .4byte gUnknown_3001B78
-_080A62CC: .4byte gUnknown_81177BC
- thumb_func_end sub_80A60D8
-
- thumb_func_start sub_80A62D0
-sub_80A62D0:
- push {lr}
- ldr r0, _080A62E8
- ldr r0, [r0]
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080A62E4
- ldr r0, _080A62EC
- ldr r0, [r0]
- bl sub_80A49E8
-_080A62E4:
- pop {r0}
- bx r0
- .align 2, 0
-_080A62E8: .4byte gUnknown_3001B74
-_080A62EC: .4byte gUnknown_3001B78
- thumb_func_end sub_80A62D0
-
- thumb_func_start sub_80A62F0
-sub_80A62F0:
- push {r4-r7,lr}
- ldr r4, _080A6378
- movs r0, 0x88
- lsls r0, 1
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r0, _080A637C
- ldr r1, _080A6380
- bl OpenFileAndGetFileDataPtr
- ldr r1, _080A6384
- str r0, [r1]
- movs r0, 0x1
- bl sub_800DAC0
- ldr r4, [r4]
- ldr r1, _080A6388
- movs r0, 0x16
- str r0, [r1]
- ldr r1, _080A638C
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0
- movs r2, 0
- movs r1, 0x80
- lsls r1, 9
- adds r3, r1, 0
-_080A632A:
- str r2, [r4]
- lsls r0, 4
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- adds r0, r1, 0
- adds r1, r3
- asrs r0, 16
- adds r4, 0xC
- cmp r0, 0x15
- ble _080A632A
- ldr r0, _080A6378
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 1
- adds r4, r0, r1
- movs r6, 0
- movs r7, 0
- movs r5, 0xE8
- lsls r5, 13
-_080A6350:
- strh r7, [r4]
- strh r7, [r4, 0x2]
- lsrs r0, r5, 16
- movs r1, 0
- bl sub_80997F4
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r6, 0x1
- adds r4, 0x4
- cmp r6, 0x1
- ble _080A6350
- movs r0, 0x1
- negs r0, r0
- bl GroundSprite_Reset
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6378: .4byte gUnknown_3001B7C
-_080A637C: .4byte gUnknown_81177CC
-_080A6380: .4byte gUnknown_83B0000
-_080A6384: .4byte gUnknown_203B4B4
-_080A6388: .4byte gUnknown_2039DD4
-_080A638C: .4byte gUnknown_2039DD0
- thumb_func_end sub_80A62F0
-
- thumb_func_start GroundSprite_Reset
-GroundSprite_Reset:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- ldr r1, _080A641C
- movs r0, 0
- bl Log
- ldr r0, _080A6420
- movs r1, 0
- mov r8, r1
- strh r1, [r0]
- ldr r0, _080A6424
- strh r1, [r0]
- bl sub_80A6460
- mov r0, r9
- bl sub_80A4D48
- lsls r0, 24
- movs r1, 0x2
- cmp r0, 0
- beq _080A63C6
- movs r1, 0x3
-_080A63C6:
- movs r0, 0xF8
- lsls r0, 1
- bl sub_808E53C
- ldr r5, _080A6428
- adds r0, r5, 0
- bl sub_8004E8C
- ldr r4, _080A642C
- adds r0, r4, 0
- bl sub_8004E8C
- ldrh r1, [r4, 0x4]
- ldr r6, _080A6430
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r4, 0x4]
- ldrh r1, [r4, 0xA]
- adds r0, r6, 0
- ands r0, r1
- movs r2, 0x80
- lsls r2, 4
- adds r7, r2, 0
- orrs r0, r7
- strh r0, [r4, 0xA]
- mov r0, r9
- bl sub_80A4D48
- lsls r0, 24
- cmp r0, 0
- beq _080A6434
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- adds r0, r6, 0
- ands r0, r1
- movs r2, 0xC0
- lsls r2, 4
- adds r1, r2, 0
- orrs r0, r1
- b _080A6444
- .align 2, 0
-_080A641C: .4byte gUnknown_81177D8
-_080A6420: .4byte gUnknown_2039DCC
-_080A6424: .4byte gUnknown_2039DCE
-_080A6428: .4byte gUnknown_2039DB0
-_080A642C: .4byte gUnknown_2039DC0
-_080A6430: .4byte 0x0000f3ff
-_080A6434:
- ldrh r1, [r5, 0x4]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r5, 0x4]
- ldrh r1, [r5, 0xA]
- adds r0, r6, 0
- ands r0, r1
- orrs r0, r7
-_080A6444:
- strh r0, [r5, 0xA]
- movs r0, 0x1
- bl sub_8004D8C
- movs r0, 0x1
- bl nullsub_10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundSprite_Reset
-
- thumb_func_start sub_80A6460
-sub_80A6460:
- push {r4-r7,lr}
- ldr r0, _080A649C
- ldr r1, _080A64A0
- bl OpenFileAndGetFileDataPtr
- adds r7, r0, 0
- movs r5, 0x80
- lsls r5, 1
- ldr r4, [r7, 0x4]
- movs r6, 0xC
-_080A6474:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_809971C
- adds r0, r5, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r5, r0, 16
- adds r4, 0x40
- subs r6, 0x1
- cmp r6, 0
- bge _080A6474
- adds r0, r7, 0
- bl CloseFile
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A649C: .4byte gUnknown_81177EC
-_080A64A0: .4byte gUnknown_8510000
- thumb_func_end sub_80A6460
-
- thumb_func_start sub_80A64A4
-sub_80A64A4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080A6508
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 1
- adds r7, r0, r1
- bl sub_80A6460
- movs r0, 0
- mov r8, r0
-_080A64C0:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r0, 0
- ble _080A6568
- ldrh r5, [r7]
- mov r0, r8
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r1, r8
- lsls r0, r1, 20
- movs r1, 0xE8
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- mov r9, r0
- movs r0, 0x80
- lsls r0, 2
- adds r1, r0, 0
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080A6514
- ldr r0, _080A650C
- ldr r1, _080A6510
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 6
- ldr r1, [r6, 0x4]
- adds r2, r1, r0
- b _080A652A
- .align 2, 0
-_080A6508: .4byte gUnknown_3001B7C
-_080A650C: .4byte gUnknown_81177EC
-_080A6510: .4byte gUnknown_8510000
-_080A6514:
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 2
- ldr r1, _080A6584
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080A6588
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- ldr r2, [r6, 0x4]
-_080A652A:
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- adds r1, r5, 0
- ands r1, r0
- lsls r1, 16
- lsrs r1, 16
- negs r1, r1
- lsrs r4, r1, 31
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- ands r5, r0
- cmp r5, 0
- beq _080A654C
- movs r0, 0x2
- orrs r4, r0
-_080A654C:
- mov r0, r9
- adds r1, r2, 0
- movs r2, 0x10
- bl sub_809971C
- mov r0, r10
- adds r1, r4, 0
- bl sub_80997F4
- cmp r6, 0
- beq _080A6568
- adds r0, r6, 0
- bl CloseFile
-_080A6568:
- movs r0, 0x1
- add r8, r0
- adds r7, 0x4
- mov r1, r8
- cmp r1, 0x1
- ble _080A64C0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6584: .4byte gUnknown_81178F4
-_080A6588: .4byte gUnknown_9E60000
- thumb_func_end sub_80A64A4
-
- thumb_func_start sub_80A658C
-sub_80A658C:
- push {r4,lr}
- bl sub_800DB7C
- movs r0, 0
- bl sub_8004D8C
- movs r0, 0
- bl nullsub_10
- bl sub_8005180
- bl nullsub_12
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- ldr r0, _080A65D0
- ldr r0, [r0]
- bl CloseFile
- ldr r4, _080A65D4
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A65D0: .4byte gUnknown_203B4B4
-_080A65D4: .4byte gUnknown_3001B7C
- thumb_func_end sub_80A658C
-
- thumb_func_start sub_80A65D8
-sub_80A65D8:
- adds r0, 0x50
- ldrh r0, [r0]
- bx lr
- thumb_func_end sub_80A65D8
-
- thumb_func_start sub_80A65E0
-sub_80A65E0:
- lsrs r0, 16
- ldr r2, _080A65EC
- adds r1, r2, 0
- ands r0, r1
- bx lr
- .align 2, 0
-_080A65EC: .4byte 0x0000337f
- thumb_func_end sub_80A65E0
-
- thumb_func_start sub_80A65F0
-sub_80A65F0:
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, 0x50
- strh r1, [r0]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- asrs r2, r0, 31
- movs r0, 0x40
- ands r2, r0
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6616
- subs r2, 0x40
-_080A6616:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6624
- adds r1, r2, 0
- adds r1, 0x48
- b _080A6628
-_080A6624:
- adds r1, r2, 0
- adds r1, 0x40
-_080A6628:
- adds r0, r3, 0
- adds r0, 0x6A
- strh r1, [r0]
- adds r2, r3, 0
- adds r2, 0x50
- ldrh r1, [r2]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080A6648
- adds r1, r3, 0
- adds r1, 0x3C
- ldr r0, _080A6644
- b _080A664E
- .align 2, 0
-_080A6644: .4byte gUnknown_2039DC0
-_080A6648:
- adds r1, r3, 0
- adds r1, 0x3C
- ldr r0, _080A6680
-_080A664E:
- ldm r0!, {r4-r6}
- stm r1!, {r4-r6}
- ldrh r1, [r2]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080A6678
- ldrh r2, [r3, 0x3C]
- ldr r1, _080A6684
- adds r0, r1, 0
- ands r0, r2
- strh r0, [r3, 0x3C]
- adds r2, r3, 0
- adds r2, 0x42
- ldrh r0, [r2]
- ands r1, r0
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- orrs r1, r0
- strh r1, [r2]
-_080A6678:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6680: .4byte gUnknown_2039DB0
-_080A6684: .4byte 0x0000f3ff
- thumb_func_end sub_80A65F0
-
- thumb_func_start sub_80A6688
-sub_80A6688:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- bl sub_80A65E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80A65F0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6688
-
- thumb_func_start sub_80A66A4
-sub_80A66A4:
- push {lr}
- movs r1, 0
- adds r0, 0x48
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- ble _080A66B4
- movs r1, 0x1
-_080A66B4:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A66A4
-
- thumb_func_start sub_80A66BC
-sub_80A66BC:
- push {lr}
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080A66CC
- movs r0, 0
- b _080A66CE
-_080A66CC:
- movs r0, 0x1
-_080A66CE:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66BC
-
- thumb_func_start sub_80A66D4
-sub_80A66D4:
- push {lr}
- adds r1, r0, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080A66F2
- adds r0, r1, 0
- adds r0, 0x48
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- ble _080A66F2
- movs r0, 0x1
- b _080A66F4
-_080A66F2:
- movs r0, 0
-_080A66F4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66D4
-
- thumb_func_start sub_80A66F8
-sub_80A66F8:
- push {lr}
- adds r1, r0, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- blt _080A6716
- ldrh r1, [r1]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- bne _080A6716
- lsrs r0, r1, 15
- b _080A6718
-_080A6716:
- movs r0, 0
-_080A6718:
- pop {r1}
- bx r1
- thumb_func_end sub_80A66F8
-
- thumb_func_start sub_80A671C
-sub_80A671C:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r4, 0
- adds r6, 0x58
- movs r0, 0
- ldrsh r1, [r6, r0]
- cmp r1, 0
- beq _080A6752
- movs r0, 0xE0
- lsls r0, 1
- cmp r1, r0
- beq _080A674A
- ldr r0, [r4, 0x5C]
- movs r5, 0x1
- negs r5, r5
- cmp r0, r5
- beq _080A674A
- bl sub_800E9E4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080A674E
-_080A674A:
- movs r0, 0x1
- b _080A6754
-_080A674E:
- str r5, [r4, 0x5C]
- strh r0, [r6]
-_080A6752:
- movs r0, 0
-_080A6754:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A671C
-
- thumb_func_start sub_80A675C
-sub_80A675C:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r1, 0
- mov r0, sp
- bl sub_809D248
- lsls r0, 24
- cmp r0, 0
- beq _080A678C
- ldr r1, [r6]
- cmp r1, 0
- bge _080A6776
- adds r1, 0xFF
-_080A6776:
- asrs r1, 8
- ldr r0, [sp]
- subs r4, r1, r0
- ldr r1, [r6, 0x4]
- cmp r1, 0
- bge _080A6784
- adds r1, 0xFF
-_080A6784:
- asrs r1, 8
- ldr r0, [sp, 0x4]
- subs r5, r1, r0
- b _080A67A0
-_080A678C:
- ldr r0, [r6]
- cmp r0, 0
- bge _080A6794
- adds r0, 0xFF
-_080A6794:
- asrs r4, r0, 8
- ldr r1, [r6, 0x4]
- cmp r1, 0
- bge _080A679E
- adds r1, 0xFF
-_080A679E:
- asrs r5, r1, 8
-_080A67A0:
- adds r1, r4, 0
- adds r1, 0x40
- ldr r0, _080A67BC
- cmp r1, r0
- bhi _080A67C0
- movs r0, 0x10
- negs r0, r0
- cmp r5, r0
- blt _080A67C0
- cmp r5, 0xCF
- bgt _080A67C0
- movs r0, 0x1
- b _080A67C2
- .align 2, 0
-_080A67BC: .4byte 0x0000016f
-_080A67C0:
- movs r0, 0
-_080A67C2:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A675C
-
- thumb_func_start sub_80A67CC
-sub_80A67CC:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r7, 0
- cmp r5, 0
- beq _080A67E2
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- ble _080A67E2
- movs r7, 0x1
-_080A67E2:
- adds r0, r2, 0
- bl sub_80A65E0
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- bl sub_80A65F0
- movs r1, 0
- str r1, [r4, 0x74]
- str r1, [r4, 0x78]
- movs r6, 0x1
- negs r6, r6
- str r6, [r4, 0x7C]
- adds r0, r4, 0
- adds r0, 0x70
- strb r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r2, r4, 0
- adds r2, 0x52
- ldr r0, _080A6884
- strh r0, [r2]
- str r1, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x64
- strh r1, [r0]
- adds r2, 0x14
- adds r0, r6, 0
- adds r3, r0, 0
- strh r0, [r2]
- adds r0, r4, 0
- adds r0, 0x68
- strh r1, [r0]
- subs r0, 0x10
- strh r1, [r0]
- adds r1, r4, 0
- adds r1, 0x5A
- movs r0, 0xFF
- strb r0, [r1]
- str r6, [r4, 0x5C]
- str r6, [r4, 0x60]
- cmp r7, 0
- beq _080A6888
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r4, 0x48]
- str r1, [r4, 0x4C]
- adds r5, r4, 0
- adds r5, 0x48
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- bne _080A689A
- adds r0, r4, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- bne _080A689A
- adds r0, r5, 0
- bl sub_80A6CF4
- lsls r0, 24
- cmp r0, 0
- beq _080A689A
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80A68F8
- b _080A689A
- .align 2, 0
-_080A6884: .4byte 0x0000ffff
-_080A6888:
- adds r1, r4, 0
- adds r1, 0x48
- ldrh r0, [r1]
- orrs r0, r3
- strh r0, [r1]
- adds r0, r4, 0
- adds r0, 0x4A
- strh r7, [r0]
- str r7, [r4, 0x4C]
-_080A689A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A67CC
-
- thumb_func_start sub_80A68A0
-sub_80A68A0:
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A68CE
- adds r0, r4, 0
- adds r0, 0x58
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080A68CE
- ldr r1, [r4, 0x5C]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A68CE
- adds r0, r1, 0
- bl sub_800DC14
-_080A68CE:
- ldr r0, [r4, 0x54]
- cmp r0, 0
- beq _080A68DC
- bl CloseFile
- movs r0, 0
- str r0, [r4, 0x54]
-_080A68DC:
- adds r0, r4, 0
- bl sub_80A69FC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A68A0
-
- thumb_func_start sub_80A68E8
-sub_80A68E8:
- push {lr}
- movs r0, 0x15
-_080A68EC:
- subs r0, 0x1
- cmp r0, 0
- bge _080A68EC
- pop {r0}
- bx r0
- thumb_func_end sub_80A68E8
-
- thumb_func_start sub_80A68F8
-sub_80A68F8:
- push {r4-r7,lr}
- mov r12, r0
- adds r5, r2, 0
- ldr r0, _080A6924
- ldr r4, [r0]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, r5
- blt _080A6956
- adds r5, r0, 0
- movs r3, 0
- ldr r0, [r4]
- mov r6, r12
- adds r6, 0x52
- mov r7, r12
- adds r7, 0x64
- cmp r0, 0
- bne _080A6928
- movs r2, 0x1
- cmp r2, r5
- blt _080A692A
- b _080A6986
- .align 2, 0
-_080A6924: .4byte gUnknown_3001B7C
-_080A6928:
- movs r2, 0
-_080A692A:
- adds r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- adds r4, 0xC
- cmp r3, 0x15
- bgt _080A6986
- ldr r0, [r4]
- cmp r0, 0
- bne _080A6928
- adds r2, 0x1
- cmp r2, r5
- blt _080A692A
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- subs r0, 0xC
- subs r4, r0
- adds r0, r3, 0x1
- subs r0, r2
- lsls r0, 16
- asrs r3, r0, 16
- b _080A6986
-_080A6956:
- movs r3, 0x15
- adds r4, 0xFC
- ldr r0, [r4]
- mov r6, r12
- adds r6, 0x52
- mov r7, r12
- adds r7, 0x64
- cmp r0, 0
- bne _080A696C
- movs r2, 0x1
- b _080A6982
-_080A696C:
- movs r2, 0
-_080A696E:
- subs r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- subs r4, 0xC
- cmp r3, 0
- blt _080A6986
- ldr r0, [r4]
- cmp r0, 0
- bne _080A696C
- adds r2, 0x1
-_080A6982:
- cmp r2, r5
- blt _080A696E
-_080A6986:
- cmp r2, r5
- blt _080A69C4
- strh r3, [r6]
- strh r5, [r7]
- movs r0, 0x1
- str r0, [r4]
- mov r0, r12
- str r0, [r4, 0x8]
- ldrh r1, [r1, 0x2]
- bl GroundSprite_ExtendPaletteAdd
- cmp r5, 0x1
- ble _080A69B2
- movs r2, 0x2
- adds r0, r4, 0
- adds r0, 0xC
- subs r1, r5, 0x1
-_080A69A8:
- str r2, [r0]
- adds r0, 0xC
- subs r1, 0x1
- cmp r1, 0
- bne _080A69A8
-_080A69B2:
- ldr r1, _080A69C0
- ldr r0, [r1]
- subs r0, r5
- str r0, [r1]
- movs r0, 0x1
- b _080A69EC
- .align 2, 0
-_080A69C0: .4byte gUnknown_2039DD4
-_080A69C4:
- ldr r1, _080A69F4
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- mov r1, r12
- str r0, [r1, 0x7C]
- mov r0, r12
- adds r0, 0x70
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A69F8
- strh r0, [r6]
- strh r1, [r7]
- mov r0, r12
- adds r0, 0x6C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r0, 0
-_080A69EC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A69F4: .4byte gUnknown_2039DD0
-_080A69F8: .4byte 0x0000ffff
- thumb_func_end sub_80A68F8
-
- thumb_func_start sub_80A69FC
-sub_80A69FC:
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r7, r6, 0
- adds r7, 0x52
- movs r0, 0
- ldrsh r4, [r7, r0]
- ldr r0, _080A6A80
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- ldr r0, [r0]
- adds r5, r0, r1
- cmp r4, 0
- blt _080A6A7A
- adds r0, r6, 0
- bl sub_80A6C88
- movs r0, 0
- str r0, [r5, 0x8]
- str r0, [r5]
- adds r5, 0xC
- ldr r1, _080A6A84
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- asrs r4, r0, 16
- adds r6, 0x64
- mov r12, r6
- cmp r4, 0x15
- bgt _080A6A6A
- ldr r0, [r5]
- cmp r0, 0x2
- bne _080A6A6A
- movs r6, 0
- adds r2, r1, 0
- lsls r1, r4, 16
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
- adds r3, r0, 0
-_080A6A50:
- str r6, [r5]
- adds r5, 0xC
- ldr r0, [r2]
- adds r0, 0x1
- str r0, [r2]
- adds r0, r1, 0
- adds r1, r3
- asrs r4, r0, 16
- cmp r4, 0x15
- bgt _080A6A6A
- ldr r0, [r5]
- cmp r0, 0x2
- beq _080A6A50
-_080A6A6A:
- ldr r0, _080A6A88
- strh r0, [r7]
- movs r0, 0
- mov r1, r12
- strh r0, [r1]
- ldr r1, _080A6A8C
- movs r0, 0x1
- strb r0, [r1]
-_080A6A7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A80: .4byte gUnknown_3001B7C
-_080A6A84: .4byte gUnknown_2039DD4
-_080A6A88: .4byte 0x0000ffff
-_080A6A8C: .4byte gUnknown_2039DD0
- thumb_func_end sub_80A69FC
-
- thumb_func_start GroundSprite_ExtendPaletteAdd
-GroundSprite_ExtendPaletteAdd:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r0
- lsls r1, 16
- lsrs r2, r1, 16
- adds r5, r2, 0
- movs r0, 0xC0
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- bne _080A6AB0
- b _080A6C6C
-_080A6AB0:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r2
- cmp r0, 0
- beq _080A6AD8
- ldr r0, _080A6AD4
- ldr r1, [r0]
- movs r3, 0x86
- lsls r3, 1
- adds r4, r1, r3
- ldrh r1, [r4]
- adds r3, r0, 0
- cmp r1, r2
- bne _080A6B36
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- b _080A6C78
- .align 2, 0
-_080A6AD4: .4byte gUnknown_3001B7C
-_080A6AD8:
- movs r0, 0
- mov r8, r0
- ldr r1, _080A6B1C
- ldr r0, [r1]
- movs r2, 0x84
- lsls r2, 1
- adds r4, r0, r2
- adds r3, r1, 0
- movs r1, 0xE8
- lsls r1, 13
-_080A6AEC:
- ldrh r0, [r4]
- cmp r0, r5
- bne _080A6B24
- lsrs r1, 16
- adds r3, r1, 0
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- mov r0, r10
- cmp r0, 0
- beq _080A6B08
- subs r1, 0x10
- adds r0, 0x68
- strh r1, [r0]
-_080A6B08:
- adds r0, r3, 0
- subs r0, 0x10
- str r0, [sp]
- str r5, [sp, 0x4]
- movs r0, 0
- ldr r1, _080A6B20
- mov r2, r8
- bl Log
- b _080A6C78
- .align 2, 0
-_080A6B1C: .4byte gUnknown_3001B7C
-_080A6B20: .4byte gUnknown_81177F4
-_080A6B24:
- movs r2, 0x80
- lsls r2, 9
- adds r1, r2
- movs r0, 0x1
- add r8, r0
- adds r4, 0x4
- mov r2, r8
- cmp r2, 0x1
- ble _080A6AEC
-_080A6B36:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r5
- cmp r0, 0
- beq _080A6B68
- movs r0, 0x1
- mov r8, r0
- ldr r0, [r3]
- movs r1, 0x86
- lsls r1, 1
- adds r4, r0, r1
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A6BA8
- ldr r0, _080A6B60
- ldr r1, _080A6B64
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A6B60: .4byte gUnknown_8117858
-_080A6B64: .4byte gUnknown_8117864
-_080A6B68:
- movs r0, 0
- mov r8, r0
- ldr r0, [r3]
- movs r1, 0x84
- lsls r1, 1
- adds r4, r0, r1
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A6B90
-_080A6B7C:
- movs r3, 0x1
- add r8, r3
- adds r4, 0x4
- mov r0, r8
- cmp r0, 0x1
- bgt _080A6B96
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _080A6B7C
-_080A6B90:
- mov r2, r8
- cmp r2, 0x1
- ble _080A6BA8
-_080A6B96:
- ldr r0, _080A6BA0
- ldr r1, _080A6BA4
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
-_080A6BA0: .4byte gUnknown_8117888
-_080A6BA4: .4byte gUnknown_8117864
-_080A6BA8:
- mov r0, r8
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r3, r8
- lsls r0, r3, 20
- movs r1, 0xE8
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- str r0, [sp, 0x10]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r5
- cmp r0, 0
- beq _080A6BE8
- ldr r0, _080A6BE0
- ldr r1, _080A6BE4
- bl OpenFileAndGetFileDataPtr
- mov r9, r0
- ldr r7, [r0, 0x4]
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 6
- adds r7, r0
- b _080A6BFE
- .align 2, 0
-_080A6BE0: .4byte gUnknown_81177EC
-_080A6BE4: .4byte gUnknown_8510000
-_080A6BE8:
- movs r0, 0xFF
- ands r0, r5
- lsls r0, 2
- ldr r1, _080A6C60
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080A6C64
- bl OpenFileAndGetFileDataPtr
- mov r9, r0
- ldr r7, [r0, 0x4]
-_080A6BFE:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r5
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r6, r0, 31
- movs r0, 0x80
- lsls r0, 6
- ands r0, r5
- cmp r0, 0
- beq _080A6C1A
- movs r0, 0x2
- orrs r6, r0
-_080A6C1A:
- ldr r0, [sp, 0xC]
- adds r1, r6, 0
- bl sub_80997F4
- ldr r0, [sp, 0x10]
- adds r1, r7, 0
- movs r2, 0x10
- bl sub_809971C
- strh r5, [r4]
- movs r0, 0x1
- strh r0, [r4, 0x2]
- ldr r2, [sp, 0xC]
- subs r2, 0x10
- mov r3, r10
- cmp r3, 0
- beq _080A6C42
- mov r0, r10
- adds r0, 0x68
- strh r2, [r0]
-_080A6C42:
- ldr r1, _080A6C68
- str r2, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0
- mov r2, r8
- ldr r3, [sp, 0xC]
- bl Log
- mov r0, r9
- cmp r0, 0
- beq _080A6C78
- bl CloseFile
- b _080A6C78
- .align 2, 0
-_080A6C60: .4byte gUnknown_81178F4
-_080A6C64: .4byte gUnknown_9E60000
-_080A6C68: .4byte gUnknown_8117894
-_080A6C6C:
- mov r1, r10
- cmp r1, 0
- beq _080A6C78
- mov r0, r10
- adds r0, 0x68
- strh r5, [r0]
-_080A6C78:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundSprite_ExtendPaletteAdd
-
- thumb_func_start sub_80A6C88
-sub_80A6C88:
- push {r4-r6,lr}
- adds r2, r0, 0
- cmp r2, 0
- beq _080A6C9E
- adds r0, 0x68
- ldrh r0, [r0]
- adds r5, r0, 0
- subs r5, 0xD
- cmp r5, 0
- blt _080A6CE6
- b _080A6CA0
-_080A6C9E:
- movs r5, 0x1
-_080A6CA0:
- ldr r0, _080A6CEC
- lsls r1, r5, 2
- movs r3, 0x84
- lsls r3, 1
- adds r1, r3
- ldr r0, [r0]
- adds r4, r0, r1
- cmp r2, 0
- beq _080A6CBA
- adds r1, r2, 0
- adds r1, 0x68
- movs r0, 0
- strh r0, [r1]
-_080A6CBA:
- ldrh r0, [r4, 0x2]
- subs r0, 0x1
- movs r6, 0
- strh r0, [r4, 0x2]
- lsls r0, 16
- cmp r0, 0
- bgt _080A6CE6
- ldr r1, _080A6CF0
- ldrh r3, [r4]
- movs r0, 0
- adds r2, r5, 0
- bl Log
- strh r6, [r4]
- strh r6, [r4, 0x2]
- adds r0, r5, 0
- adds r0, 0x1D
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_80997F4
-_080A6CE6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6CEC: .4byte gUnknown_3001B7C
-_080A6CF0: .4byte gUnknown_81178C0
- thumb_func_end sub_80A6C88
-
- thumb_func_start sub_80A6CF4
-sub_80A6CF4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x68
- movs r1, 0
- mov r8, r1
- movs r1, 0
- ldrsh r2, [r0, r1]
- mov r9, r2
- movs r2, 0
- mov r10, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x60]
- str r0, [sp, 0x64]
- add r4, sp, 0x58
- adds r0, r4, 0
- bl sub_809D248
- movs r7, 0
- ldr r0, _080A6D70
- ldr r3, [r0]
- movs r1, 0x80
- lsls r1, 6
- mov r12, r1
- mov r4, sp
-_080A6D2C:
- ldr r0, [r3]
- cmp r0, 0x1
- bne _080A6DB4
- ldr r2, [r3, 0x8]
- adds r0, r2, 0
- adds r0, 0x50
- ldrh r1, [r0]
- mov r0, r12
- ands r0, r1
- cmp r0, 0
- bne _080A6DB4
- ldr r0, [r2, 0x7C]
- cmp r0, 0
- blt _080A6DB4
- ldr r1, [r2, 0x74]
- cmp r1, 0
- bge _080A6D50
- adds r1, 0xFF
-_080A6D50:
- asrs r1, 8
- ldr r0, [sp, 0x58]
- subs r5, r1, r0
- ldr r1, [r2, 0x78]
- cmp r1, 0
- bge _080A6D5E
- adds r1, 0xFF
-_080A6D5E:
- asrs r1, 8
- ldr r0, [sp, 0x5C]
- subs r1, r0
- adds r6, r1, 0
- cmp r1, 0
- ble _080A6D74
- adds r0, r6, 0
- adds r0, 0x28
- b _080A6D78
- .align 2, 0
-_080A6D70: .4byte gUnknown_3001B7C
-_080A6D74:
- movs r0, 0x28
- subs r0, r6
-_080A6D78:
- str r0, [r2, 0x7C]
- cmp r5, 0
- ble _080A6D88
- ldr r0, [r2, 0x7C]
- cmp r5, r0
- ble _080A6D92
- str r5, [r2, 0x7C]
- b _080A6D92
-_080A6D88:
- negs r1, r5
- ldr r0, [r2, 0x7C]
- cmp r1, r0
- ble _080A6D92
- str r1, [r2, 0x7C]
-_080A6D92:
- adds r0, r2, 0
- adds r0, 0x48
- movs r1, 0
- ldrsh r0, [r0, r1]
- add r10, r0
- cmp r0, r9
- blt _080A6DAE
- ldr r0, [r2, 0x7C]
- ldr r1, [sp, 0x64]
- cmp r1, r0
- bge _080A6DAE
- mov r1, r8
- str r1, [sp, 0x60]
- str r0, [sp, 0x64]
-_080A6DAE:
- stm r4!, {r2}
- movs r2, 0x1
- add r8, r2
-_080A6DB4:
- adds r0, r7, 0x1
- lsls r0, 16
- asrs r7, r0, 16
- adds r3, 0xC
- cmp r7, 0x15
- ble _080A6D2C
- cmp r10, r9
- blt _080A6E54
- ldr r0, [sp, 0x60]
- cmp r0, 0
- blt _080A6DD8
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- bl sub_80A69FC
- movs r0, 0x1
- b _080A6E56
-_080A6DD8:
- mov r1, r8
- cmp r1, 0
- ble _080A6E54
-_080A6DDE:
- movs r5, 0x1
- negs r5, r5
- adds r3, r5, 0
- movs r6, 0
- mov r7, r8
- subs r7, 0x1
- mov r2, r8
- cmp r2, 0
- ble _080A6E08
- mov r2, sp
- mov r1, r8
-_080A6DF4:
- ldr r0, [r2]
- ldr r0, [r0, 0x7C]
- cmp r3, r0
- bge _080A6E00
- mov r5, r8
- adds r3, r0, 0
-_080A6E00:
- adds r2, 0x4
- subs r1, 0x1
- cmp r1, 0
- bne _080A6DF4
-_080A6E08:
- lsls r0, r5, 2
- mov r1, sp
- adds r4, r1, r0
- ldr r0, [r4]
- bl sub_80A69FC
- mov r8, r7
- adds r1, r5, 0
- cmp r1, r8
- bge _080A6E28
- adds r2, r4, 0
-_080A6E1E:
- ldr r0, [r2, 0x4]
- stm r2!, {r0}
- adds r1, 0x1
- cmp r1, r8
- blt _080A6E1E
-_080A6E28:
- movs r1, 0
- ldr r0, _080A6E40
- ldr r3, [r0]
-_080A6E2E:
- ldr r0, [r3]
- cmp r0, 0
- bne _080A6E44
- adds r6, 0x1
- cmp r6, r9
- blt _080A6E46
- movs r0, 0x1
- b _080A6E56
- .align 2, 0
-_080A6E40: .4byte gUnknown_3001B7C
-_080A6E44:
- movs r6, 0
-_080A6E46:
- adds r1, 0x1
- adds r3, 0xC
- cmp r1, 0x15
- ble _080A6E2E
- mov r2, r8
- cmp r2, 0
- bgt _080A6DDE
-_080A6E54:
- movs r0, 0
-_080A6E56:
- add sp, 0x68
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A6CF4
-
- thumb_func_start sub_80A6E68
-sub_80A6E68:
- push {lr}
- movs r0, 0
- bl sub_8004D8C
- movs r0, 0
- bl nullsub_10
- bl sub_800E970
- pop {r0}
- bx r0
- thumb_func_end sub_80A6E68
-
- thumb_func_start sub_80A6E80
-sub_80A6E80:
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080A6EC4
- adds r0, r4, 0
- bl sub_809D248
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A6E98
- str r0, [r4]
- str r0, [r4, 0x4]
-_080A6E98:
- bl sub_80ABA7C
- bl sub_80ACAD4
- bl sub_80AD7AC
- ldrh r1, [r4, 0x4]
- lsls r1, 16
- ldrh r0, [r4]
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_800E90C
- bl sub_8005180
- bl nullsub_12
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6EC4: .4byte gUnknown_2039DD8
- thumb_func_end sub_80A6E80
-
- thumb_func_start sub_80A6EC8
-sub_80A6EC8:
- push {lr}
- adds r2, r0, 0
- adds r0, 0x52
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- ble _080A6EF6
- adds r0, r2, 0
- adds r0, 0x48
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bgt _080A6EE4
- adds r1, r0, 0
-_080A6EE4:
- adds r0, r2, 0
- adds r0, 0x64
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, r1
- beq _080A6EF6
- adds r0, r2, 0
- adds r0, 0x66
- strh r1, [r0]
-_080A6EF6:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6EC8
-
- thumb_func_start sub_80A6EFC
-sub_80A6EFC:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080A6F48
- adds r5, r4, 0
- adds r5, 0x66
- movs r2, 0
- ldrsh r0, [r5, r2]
- cmp r0, 0
- blt _080A6F28
- adds r1, r4, 0
- adds r1, 0x48
- adds r2, r0, 0
- b _080A6F62
-_080A6F28:
- adds r1, r4, 0
- adds r1, 0x48
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bgt _080A6F36
- b _080A7038
-_080A6F36:
- movs r2, 0x1
- negs r2, r2
- adds r0, r4, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- beq _080A7038
- b _080A6F72
-_080A6F48:
- adds r5, r4, 0
- adds r5, 0x66
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- blt _080A6F72
- adds r0, r4, 0
- bl sub_80A69FC
- adds r1, r4, 0
- adds r1, 0x48
- movs r0, 0
- ldrsh r2, [r5, r0]
-_080A6F62:
- adds r0, r4, 0
- bl sub_80A68F8
- lsls r0, 24
- cmp r0, 0
- beq _080A7038
- ldr r0, _080A6F8C
- strh r0, [r5]
-_080A6F72:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r7
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- beq _080A6F94
- ldrh r1, [r4]
- ldr r0, _080A6F90
- ands r0, r1
- strh r0, [r4]
- b _080A7038
- .align 2, 0
-_080A6F8C: .4byte 0x0000ffff
-_080A6F90: .4byte 0x0000efff
-_080A6F94:
- ldr r2, _080A6FE0
- adds r0, r4, 0
- adds r0, 0x52
- movs r5, 0
- ldrsh r1, [r0, r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- mov r12, r1
- adds r1, r4, 0
- adds r1, 0x70
- movs r0, 0x1
- strb r0, [r1]
- subs r0, 0x2
- str r0, [r4, 0x7C]
- movs r1, 0xE0
- lsls r1, 3
- ands r1, r7
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _080A6FE4
- cmp r1, r0
- ble _080A6FEE
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _080A6FFA
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- bne _080A6FEE
- adds r0, r4, 0
- adds r0, 0x6C
- strh r3, [r0]
- b _080A7000
- .align 2, 0
-_080A6FE0: .4byte gUnknown_3001B7C
-_080A6FE4:
- adds r1, r4, 0
- adds r1, 0x6C
- movs r0, 0x80
- strh r0, [r1]
- b _080A7000
-_080A6FEE:
- adds r1, r4, 0
- adds r1, 0x6C
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- b _080A7000
-_080A6FFA:
- adds r0, r4, 0
- adds r0, 0x6C
- strh r1, [r0]
-_080A7000:
- adds r0, r4, 0
- adds r0, 0x6E
- movs r1, 0
- strh r1, [r0]
- ldr r5, [r4, 0x4C]
- movs r0, 0xFF
- ands r0, r7
- adds r2, r6, 0
- cmp r6, 0
- bge _080A7016
- adds r2, r6, 0x7
-_080A7016:
- asrs r2, 3
- adds r2, r0, r2
- movs r3, 0x7
- ands r3, r6
- mov r6, r12
- ldr r0, [r6, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- lsls r0, r7, 16
- lsrs r0, 27
- movs r1, 0x1
- ands r0, r1
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80053D0
-_080A7038:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6EFC
-
- thumb_func_start sub_80A7040
-sub_80A7040:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r3, 0
- lsls r1, 16
- asrs r3, r1, 16
- lsls r2, 24
- asrs r2, 24
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A708C
- cmp r3, 0
- beq _080A7068
- movs r0, 0xE0
- lsls r0, 1
- cmp r3, r0
- bne _080A7080
-_080A7068:
- adds r0, r4, 0
- bl sub_80A671C
- lsls r0, 24
- cmp r0, 0
- beq _080A708C
- adds r1, r4, 0
- adds r1, 0x58
- movs r0, 0xE0
- lsls r0, 1
- strh r0, [r1]
- b _080A708C
-_080A7080:
- adds r0, r4, 0
- adds r0, 0x58
- strh r3, [r0]
- adds r0, 0x2
- strb r2, [r0]
- str r5, [r4, 0x60]
-_080A708C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7040
-
- thumb_func_start sub_80A7094
-sub_80A7094:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r7, r0, 0
- mov r10, r1
- mov r8, r2
- str r3, [sp, 0x3C]
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [r7, 0x74]
- str r1, [r7, 0x78]
- movs r6, 0
- str r6, [r7, 0x7C]
- adds r0, r7, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A7172
- adds r4, r7, 0
- adds r4, 0x58
- movs r0, 0
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080A7172
- movs r0, 0xE0
- lsls r0, 1
- cmp r1, r0
- bne _080A70EC
- ldr r0, [r7, 0x5C]
- movs r5, 0x1
- negs r5, r5
- cmp r0, r5
- beq _080A70E8
- bl sub_800DC14
- str r5, [r7, 0x5C]
-_080A70E8:
- strh r6, [r4]
- b _080A7172
-_080A70EC:
- ldr r0, [r7, 0x5C]
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- cmp r0, r9
- bne _080A7160
- add r1, sp, 0x8
- ldr r0, _080A715C
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_800EE5C
- bl sub_800EF64
- add r2, sp, 0x14
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [sp, 0x14]
- str r6, [r2, 0x4]
- adds r0, r7, 0
- adds r0, 0x5A
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- str r0, [r2, 0x8]
- mov r4, r8
- ldr r0, [r4]
- cmp r0, 0
- bge _080A712C
- adds r0, 0xFF
-_080A712C:
- asrs r0, 8
- strh r0, [r2, 0xC]
- mov r5, r8
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bge _080A713A
- adds r0, 0xFF
-_080A713A:
- asrs r0, 8
- strh r0, [r2, 0xE]
- strh r6, [r2, 0x10]
- strh r6, [r2, 0x12]
- mov r0, r9
- str r0, [r2, 0x14]
- str r6, [r2, 0x18]
- add r1, sp, 0x30
- add r0, sp, 0x8
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- adds r0, r2, 0
- bl sub_800E890
- str r0, [r7, 0x5C]
- b _080A7172
- .align 2, 0
-_080A715C: .4byte gUnknown_81178E0
-_080A7160:
- bl sub_800E9E4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A7172
- mov r1, r9
- str r1, [r7, 0x5C]
- strh r0, [r4]
-_080A7172:
- adds r0, r7, 0
- adds r0, 0x52
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- blt _080A7222
- adds r0, r7, 0
- adds r0, 0x50
- ldrh r4, [r0]
- movs r0, 0x40
- ands r0, r4
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0
- bne _080A7222
- mov r3, r8
- ldr r1, [r3]
- cmp r1, 0
- bge _080A719C
- adds r1, 0xFF
-_080A719C:
- asrs r1, 8
- ldr r2, _080A7228
- ldr r0, [r2]
- subs r5, r1, r0
- mov r1, r8
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bge _080A71AE
- adds r0, 0xFF
-_080A71AE:
- asrs r1, r0, 8
- ldr r0, [r2, 0x4]
- subs r6, r1, r0
- ldr r3, [sp, 0x3C]
- cmp r3, 0
- bge _080A71BC
- adds r3, 0xFF
-_080A71BC:
- asrs r0, r3, 8
- subs r0, r6, r0
- mov r8, r0
- adds r1, r5, 0
- adds r1, 0x40
- ldr r0, _080A722C
- cmp r1, r0
- bhi _080A7274
- movs r0, 0x10
- negs r0, r0
- cmp r6, r0
- blt _080A7274
- cmp r6, 0xCF
- bgt _080A7274
- cmp r8, r0
- blt _080A7274
- mov r2, r8
- cmp r2, 0xCF
- bgt _080A7274
- movs r0, 0x10
- ands r0, r4
- cmp r0, 0
- beq _080A7234
- ldr r0, _080A7230
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7234
- adds r0, r7, 0
- movs r1, 0
- bl sub_80A72B8
- movs r1, 0x98
- lsls r1, 1
- adds r0, r7, 0
- adds r0, 0x68
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0xD0
- movs r3, 0
- bl sub_800558C
- adds r0, r7, 0
- adds r0, 0x70
- mov r3, r9
- strb r3, [r0]
-_080A7222:
- movs r0, 0
- b _080A72A6
- .align 2, 0
-_080A7228: .4byte gUnknown_2039DD8
-_080A722C: .4byte 0x0000016f
-_080A7230: .4byte gUnknown_2039DCC
-_080A7234:
- adds r4, r7, 0
- adds r4, 0x70
- ldrb r1, [r4]
- adds r0, r7, 0
- bl sub_80A72B8
- adds r0, r7, 0
- adds r0, 0x6A
- movs r1, 0
- ldrsh r3, [r0, r1]
- adds r3, r6
- subs r0, 0x2
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, r8
- bl sub_800558C
- movs r0, 0
- strb r0, [r4]
- mov r2, r10
- cmp r2, 0
- beq _080A7270
- mov r3, r10
- str r5, [r3]
- str r6, [r3, 0x4]
-_080A7270:
- movs r0, 0x1
- b _080A72A6
-_080A7274:
- adds r4, r7, 0
- adds r4, 0x70
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A7222
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80A72B8
- movs r1, 0x98
- lsls r1, 1
- adds r0, r7, 0
- adds r0, 0x68
- ldrh r0, [r0]
- str r0, [sp]
- adds r0, r7, 0
- adds r0, 0x3C
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r2, 0xD0
- movs r3, 0
- bl sub_800558C
- movs r0, 0
- strb r0, [r4]
-_080A72A6:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7094
-
- thumb_func_start sub_80A72B8
-sub_80A72B8:
- push {r4-r7,lr}
- adds r6, r0, 0
- lsls r1, 24
- cmp r1, 0
- beq _080A72D2
- adds r1, r6, 0
- adds r1, 0x6E
- movs r0, 0
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_80054BC
- b _080A7304
-_080A72D2:
- adds r5, r6, 0
- adds r5, 0x6E
- adds r0, r6, 0
- adds r0, 0x6C
- ldrh r0, [r0]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080A7304
- ldr r0, _080A730C
- adds r7, r0, 0
-_080A72EE:
- adds r4, r5, 0
- ldrh r1, [r5]
- adds r0, r7, r1
- strh r0, [r5]
- adds r0, r6, 0
- bl sub_80054BC
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xFF
- bgt _080A72EE
-_080A7304:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A730C: .4byte 0xffffff00
- thumb_func_end sub_80A72B8
-
- thumb_func_start sub_80A7310
-sub_80A7310:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- mov r12, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080A73DC
- mov r0, r12
- ldr r0, [r0, 0x5C]
- mov r8, r0
- movs r0, 0x1
- negs r0, r0
- cmp r8, r0
- beq _080A73DC
- ldr r0, [r4]
- cmp r0, 0
- bge _080A7344
- adds r0, 0xFF
-_080A7344:
- lsls r0, 8
- lsrs r0, 16
- ldr r1, _080A73D0
- mov r9, r1
- ldr r2, [sp, 0x4]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0x4]
- ldr r0, [r4, 0x4]
- cmp r0, 0
- bge _080A735C
- adds r0, 0xFF
-_080A735C:
- lsls r0, 8
- lsrs r0, 16
- lsls r0, 16
- ldr r6, _080A73D4
- adds r4, r6, 0
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x4]
- asrs r2, r4, 16
- ldr r0, _080A73D8
- ldr r0, [r0, 0x4]
- subs r0, r2, r0
- mov r1, r12
- adds r1, 0x6A
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r0, r1
- adds r7, r0, 0x2
- cmp r3, 0
- bge _080A7386
- adds r3, 0xFF
-_080A7386:
- asrs r0, r3, 8
- subs r0, r2, r0
- lsls r0, 16
- adds r2, r6, 0
- ands r2, r4
- orrs r2, r0
- str r2, [sp, 0x4]
- cmp r5, 0
- beq _080A73B8
- ldr r1, [r5]
- add r0, sp, 0x4
- ldrh r0, [r0]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r0, r9
- ands r0, r2
- orrs r0, r1
- asrs r2, r0, 16
- ldr r1, [r5, 0x4]
- adds r1, r2
- lsls r1, 16
- ands r0, r6
- orrs r0, r1
- str r0, [sp, 0x4]
-_080A73B8:
- mov r0, r12
- adds r0, 0x3C
- str r0, [sp]
- mov r0, r8
- add r1, sp, 0x4
- movs r2, 0
- adds r3, r7, 0
- bl sub_800E8AC
- movs r0, 0x1
- b _080A73DE
- .align 2, 0
-_080A73D0: .4byte 0xffff0000
-_080A73D4: .4byte 0x0000ffff
-_080A73D8: .4byte gUnknown_2039DD8
-_080A73DC:
- movs r0, 0
-_080A73DE:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7310
-
- thumb_func_start sub_80A73EC
-sub_80A73EC:
- push {lr}
- bl CopySpritesToOam
- bl nullsub_13
- bl sub_8005304
- bl nullsub_14
- ldr r1, _080A7420
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r1, _080A7424
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bls _080A741A
- movs r0, 0
- strh r0, [r1]
-_080A741A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A7420: .4byte gUnknown_2039DCC
-_080A7424: .4byte gUnknown_2039DCE
- thumb_func_end sub_80A73EC
-
- thumb_func_start sub_80A7428
-sub_80A7428:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r6, r0, 0
- mov r8, r3
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r4, r2, 0
- ldr r1, _080A7480
- mov r0, sp
- bl sprintf
- ldr r1, _080A7484
- mov r0, sp
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- adds r0, r4, 0
- bl sub_808DACC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A7488
- ldr r2, [sp, 0xC]
- ands r2, r1
- orrs r2, r0
- str r2, [sp, 0xC]
- movs r0, 0xD3
- lsls r0, 1
- cmp r4, r0
- bne _080A7490
- ldr r0, _080A748C
- ands r0, r2
- movs r1, 0x91
- lsls r1, 17
- orrs r0, r1
- str r0, [sp, 0xC]
- b _080A74AC
- .align 2, 0
-_080A7480: .4byte gUnknown_8117EDC
-_080A7484: .4byte gUnknown_8510000
-_080A7488: .4byte 0xffff0000
-_080A748C: .4byte 0x0000ffff
-_080A7490:
- movs r1, 0
- cmp r7, 0x47
- bne _080A7498
- movs r1, 0x1
-_080A7498:
- adds r0, r4, 0
- bl sub_808DD68
- lsls r0, 24
- lsrs r0, 8
- ldr r2, _080A74E0
- ldr r1, [sp, 0xC]
- ands r1, r2
- orrs r1, r0
- str r1, [sp, 0xC]
-_080A74AC:
- ldr r0, [r5, 0x4]
- add r1, sp, 0xC
- str r0, [r1, 0x4]
- adds r0, r6, 0
- mov r2, r8
- bl sub_80A67CC
- str r5, [r6, 0x54]
- adds r0, r6, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A74D4
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r6, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A74D4:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A74E0: .4byte 0x0000ffff
- thumb_func_end sub_80A7428
-
- thumb_func_start sub_80A74E4
-sub_80A74E4:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A74E4
-
- thumb_func_start sub_80A74F0
-sub_80A74F0:
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- lsls r2, 24
- asrs r5, r2, 24
- cmp r3, 0
- bge _080A7514
- movs r0, 0xE0
- lsls r0, 1
- cmp r4, r0
- beq _080A7512
- adds r0, r4, 0
- bl sub_800E700
- adds r3, r0, 0
- b _080A7514
-_080A7512:
- movs r3, 0
-_080A7514:
- adds r0, r6, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A7040
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A74F0
-
- thumb_func_start sub_80A7524
-sub_80A7524:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- adds r5, r0, 0
- adds r6, r2, 0
- adds r7, r3, 0
- lsls r1, 16
- asrs r1, 16
- mov r8, r1
- mov r1, sp
- bl sub_80A7094
- lsls r0, 24
- cmp r0, 0
- beq _080A75C0
- ldr r1, [r5, 0x5C]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A758C
- ldr r2, [r5, 0x60]
- cmp r2, 0x3
- bgt _080A7580
- cmp r2, 0
- blt _080A7580
- add r4, sp, 0x8
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_800569C
- movs r1, 0
- ldrsh r0, [r4, r1]
- str r0, [sp, 0xC]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- add r2, sp, 0xC
- str r0, [r2, 0x4]
- adds r0, r5, 0
- adds r1, r6, 0
- adds r3, r7, 0
- bl sub_80A7310
- b _080A758C
-_080A7580:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- adds r3, r7, 0
- bl sub_80A7310
-_080A758C:
- adds r0, r5, 0
- adds r0, 0x50
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080A75B4
- ldr r0, [sp]
- lsls r0, 16
- ldr r1, [sp, 0x4]
- lsls r1, 16
- lsrs r0, 16
- orrs r0, r1
- str r0, [sp, 0x14]
- add r1, sp, 0x14
- mov r0, r8
- adds r2, r5, 0
- bl sub_808E668
-_080A75B4:
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0
- adds r3, r7, 0
- bl sub_80A7310
-_080A75C0:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7524
-
- thumb_func_start sub_80A75CC
-sub_80A75CC:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 13
- ldr r0, _080A7618
- adds r2, r0
- movs r5, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080A761C
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- ldrh r3, [r2, 0x2]
- lsls r3, 16
- ldr r0, _080A7620
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _080A7628
- ldr r1, _080A7624
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x4]
- b _080A762A
- .align 2, 0
-_080A7618: .4byte gUnknown_8117AE4
-_080A761C: .4byte 0xffff0000
-_080A7620: .4byte 0x0000ffff
-_080A7624: .4byte gUnknown_9E60000
-_080A7628:
- str r5, [sp, 0x4]
-_080A762A:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r6, 0
- bl sub_80A67CC
- str r5, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A764E
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A764E:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A75CC
-
- thumb_func_start sub_80A7658
-sub_80A7658:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A7658
-
- thumb_func_start sub_80A7664
-sub_80A7664:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A7094
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- adds r3, r6, 0
- bl sub_80A7310
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7664
-
- thumb_func_start sub_80A7688
-sub_80A7688:
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r3, 0
- lsls r2, 16
- asrs r2, 13
- ldr r0, _080A76D4
- adds r2, r0
- movs r5, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 16
- lsrs r0, 16
- ldr r3, _080A76D8
- ldr r1, [sp]
- ands r1, r3
- orrs r1, r0
- str r1, [sp]
- ldrh r3, [r2, 0x2]
- lsls r3, 16
- ldr r0, _080A76DC
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- ldr r0, [r2, 0x4]
- cmp r0, 0
- beq _080A76E4
- ldr r1, _080A76E0
- bl OpenFile
- adds r5, r0, 0
- movs r1, 0
- bl GetFileDataPtr
- ldr r0, [r5, 0x4]
- str r0, [sp, 0x4]
- b _080A76E6
- .align 2, 0
-_080A76D4: .4byte gUnknown_8117E8C
-_080A76D8: .4byte 0xffff0000
-_080A76DC: .4byte 0x0000ffff
-_080A76E0: .4byte gUnknown_9E60000
-_080A76E4:
- str r5, [sp, 0x4]
-_080A76E6:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r6, 0
- bl sub_80A67CC
- str r5, [r4, 0x54]
- adds r0, r4, 0
- adds r0, 0x52
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- blt _080A770A
- movs r1, 0x80
- lsls r1, 4
- adds r0, r4, 0
- movs r2, 0
- bl sub_80A6EFC
-_080A770A:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7688
-
- thumb_func_start sub_80A7714
-sub_80A7714:
- push {lr}
- bl sub_80A68A0
- pop {r0}
- bx r0
- thumb_func_end sub_80A7714
-
- thumb_func_start sub_80A7720
-sub_80A7720:
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- movs r1, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A7094
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- adds r3, r6, 0
- bl sub_80A7310
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7720
-
- thumb_func_start sub_80A7744
-sub_80A7744:
- ldr r1, _080A7750
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A7750: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7744
-
- thumb_func_start sub_80A7754
-sub_80A7754:
- ldr r1, _080A7760
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A7760: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7754
-
- thumb_func_start sub_80A7764
-sub_80A7764:
- push {r4,lr}
- lsls r0, 16
- asrs r4, r0, 16
- bl sub_80A7784
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080A777A
- ldr r0, _080A7780
- strh r4, [r0]
-_080A777A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7780: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7764
-
- thumb_func_start sub_80A7784
-sub_80A7784:
- push {lr}
- ldr r2, _080A779C
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080A7796
- strh r1, [r2]
-_080A7796:
- pop {r0}
- bx r0
- .align 2, 0
-_080A779C: .4byte gUnknown_2039DE0
- thumb_func_end sub_80A7784
-
- thumb_func_start sub_80A77A0
-sub_80A77A0:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- ldr r0, _080A77BC
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, r1
- beq _080A77CA
- cmp r1, 0
- bge _080A77C0
- bl sub_80A7784
- b _080A77C6
- .align 2, 0
-_080A77BC: .4byte gUnknown_2039DE0
-_080A77C0:
- adds r0, r2, 0
- bl sub_80A7764
-_080A77C6:
- movs r0, 0x1
- b _080A77CC
-_080A77CA:
- movs r0, 0
-_080A77CC:
- pop {r1}
- bx r1
- thumb_func_end sub_80A77A0
-
- thumb_func_start sub_80A77D0
-sub_80A77D0:
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A77E8
- ldr r0, _080A77E4
- b _080A77F0
- .align 2, 0
-_080A77E4: .4byte gUnknown_8117EFC
-_080A77E8:
- ldr r0, _080A77F4
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
-_080A77F0:
- pop {r1}
- bx r1
- .align 2, 0
-_080A77F4: .4byte gUnknown_811E258
- thumb_func_end sub_80A77D0
-
- thumb_func_start sub_80A77F8
-sub_80A77F8:
- push {r4,r5,lr}
- ldr r4, _080A7860
- movs r0, 0xCE
- lsls r0, 2
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- ldr r4, _080A7864
- movs r0, 0xBA
- lsls r0, 6
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080A7868
- adds r5, r0, 0
- movs r4, 0xF8
- lsls r4, 1
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080A7826:
- ldrh r0, [r1, 0x2]
- orrs r0, r5
- strh r0, [r1, 0x2]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, r4
- cmp r0, 0x17
- ble _080A7826
- ldr r4, _080A7860
- ldr r1, [r4]
- movs r0, 0xCB
- lsls r0, 2
- adds r1, r0
- movs r0, 0
- movs r2, 0x19
- bl sub_809D710
- ldr r0, [r4]
- movs r1, 0xCC
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- bl sub_80A786C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7860: .4byte gUnknown_3001B80
-_080A7864: .4byte gUnknown_3001B84
-_080A7868: .4byte 0x0000ffff
- thumb_func_end sub_80A77F8
-
- thumb_func_start sub_80A786C
-sub_80A786C:
- push {r4-r6,lr}
- ldr r0, _080A78E8
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080A787C:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080A788A
- adds r0, r1, 0
- bl sub_80A8684
-_080A788A:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- movs r2, 0xF8
- lsls r2, 1
- adds r4, r2
- cmp r1, 0x17
- ble _080A787C
- ldr r3, _080A78EC
- ldr r0, [r3]
- movs r2, 0x1
- negs r2, r2
- str r2, [r0, 0x24]
- adds r0, 0x28
- movs r1, 0xFF
- strb r1, [r0]
- movs r5, 0
- movs r4, 0
- movs r1, 0x2
-_080A78B4:
- ldr r0, [r3]
- adds r0, r4
- str r2, [r0, 0x8]
- str r5, [r0]
- str r5, [r0, 0x4]
- adds r4, 0xC
- subs r1, 0x1
- cmp r1, 0
- bge _080A78B4
- ldr r4, _080A78EC
- movs r2, 0
- movs r3, 0x2C
- movs r1, 0x3F
-_080A78CE:
- ldr r0, [r4]
- adds r0, r3
- str r2, [r0]
- str r2, [r0, 0x4]
- str r2, [r0, 0x8]
- adds r3, 0xC
- subs r1, 0x1
- cmp r1, 0
- bge _080A78CE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A78E8: .4byte gUnknown_3001B84
-_080A78EC: .4byte gUnknown_3001B80
- thumb_func_end sub_80A786C
-
- thumb_func_start sub_80A78F0
-sub_80A78F0:
- push {r4,r5,lr}
- bl sub_80A786C
- ldr r4, _080A7914
- ldr r0, [r4]
- bl MemoryFree
- movs r5, 0
- str r5, [r4]
- ldr r4, _080A7918
- ldr r0, [r4]
- bl MemoryFree
- str r5, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7914: .4byte gUnknown_3001B84
-_080A7918: .4byte gUnknown_3001B80
- thumb_func_end sub_80A78F0
-
- thumb_func_start GroundLives_Select
-GroundLives_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080A7980
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080A7984
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0x4]
- ldr r0, [r0]
- cmp r0, 0
- ble _080A7976
- adds r4, r0, 0
-_080A7960:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundLives_Add
- subs r4, 0x1
- adds r5, 0x18
- cmp r4, 0
- bne _080A7960
-_080A7976:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7980: .4byte gUnknown_811808C
-_080A7984: .4byte gUnknown_8118098
- thumb_func_end GroundLives_Select
-
- thumb_func_start sub_80A7988
-sub_80A7988:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080A79F4
- movs r0, 0
- adds r2, r7, 0
- adds r3, r5, 0
- bl Log
- movs r1, 0
- ldr r0, _080A79F8
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080A79B2:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080A79D4
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080A79D4
- cmp r5, 0
- blt _080A79CE
- movs r0, 0x6
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080A79D4
-_080A79CE:
- adds r0, r1, 0
- bl sub_80A8684
-_080A79D4:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- movs r2, 0xF8
- lsls r2, 1
- adds r4, r2
- cmp r1, 0x17
- ble _080A79B2
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A79F4: .4byte gUnknown_81180BC
-_080A79F8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A7988
-
- thumb_func_start sub_80A79FC
-sub_80A79FC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r1, _080A7A70
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080A7A74
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0xA2
- lsls r1, 1
- adds r5, r4, r1
- mov r7, sp
-_080A7A20:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080A7A50
- ldr r0, [r5]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r7, 0x4]
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r4, r1
- mov r1, sp
- bl sub_80A675C
- lsls r0, 24
- cmp r0, 0
- bne _080A7A50
- adds r0, r6, 0
- bl sub_80A8684
-_080A7A50:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r0, 0xF8
- lsls r0, 1
- adds r5, r0
- adds r4, r0
- cmp r6, 0x17
- ble _080A7A20
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7A70: .4byte gUnknown_81180D8
-_080A7A74: .4byte gUnknown_3001B84
- thumb_func_end sub_80A79FC
-
- thumb_func_start sub_80A7A78
-sub_80A7A78:
- push {r4-r7,lr}
- ldr r1, _080A7AC0
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080A7AC4
- ldr r4, [r0]
- movs r7, 0x1
- negs r7, r7
- movs r0, 0x9F
- lsls r0, 1
- adds r5, r4, r0
-_080A7A92:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080A7ACC
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- ands r0, r1
- cmp r0, 0
- beq _080A7AC8
- movs r0, 0xA2
- lsls r0, 1
- adds r1, r4, r0
- adds r0, 0x8
- adds r2, r4, r0
- movs r0, 0x20
- bl sub_80ADCA0
- b _080A7ACA
- .align 2, 0
-_080A7AC0: .4byte gUnknown_81180D8
-_080A7AC4: .4byte gUnknown_3001B84
-_080A7AC8:
- ldr r0, _080A7AE4
-_080A7ACA:
- strh r0, [r5]
-_080A7ACC:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r1, 0xF8
- lsls r1, 1
- adds r5, r1
- adds r4, r1
- cmp r6, 0x17
- ble _080A7A92
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7AE4: .4byte 0x0000ffff
- thumb_func_end sub_80A7A78
-
- thumb_func_start sub_80A7AE8
-sub_80A7AE8:
- push {r4-r7,lr}
- sub sp, 0x4
- mov r1, sp
- strh r0, [r1]
- mov r0, sp
- bl sub_80A7B94
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080A7B34
- movs r3, 0
- ldr r0, _080A7B24
- ldr r1, [r0]
- adds r4, r2, 0
- movs r2, 0x80
- lsls r2, 9
- adds r6, r2, 0
- movs r5, 0xF8
- lsls r5, 1
-_080A7B16:
- movs r7, 0x2
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bne _080A7B28
- adds r0, r3, 0
- b _080A7B38
- .align 2, 0
-_080A7B24: .4byte gUnknown_3001B84
-_080A7B28:
- adds r0, r2, 0
- adds r2, r6
- asrs r3, r0, 16
- adds r1, r5
- cmp r3, 0x17
- ble _080A7B16
-_080A7B34:
- movs r0, 0x1
- negs r0, r0
-_080A7B38:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7AE8
-
- thumb_func_start sub_80A7B40
-sub_80A7B40:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _080A7B70
- ldr r1, [r0]
- movs r6, 0x1
- negs r6, r6
- movs r2, 0x80
- lsls r2, 9
- movs r5, 0x9E
- lsls r5, 1
-_080A7B58:
- movs r7, 0x2
- ldrsh r0, [r1, r7]
- cmp r0, r6
- beq _080A7B74
- adds r0, r1, r5
- movs r7, 0
- ldrsh r0, [r0, r7]
- cmp r0, r4
- bne _080A7B74
- adds r0, r3, 0
- b _080A7B8C
- .align 2, 0
-_080A7B70: .4byte gUnknown_3001B84
-_080A7B74:
- adds r0, r2, 0
- movs r3, 0x80
- lsls r3, 9
- adds r2, r3
- asrs r3, r0, 16
- movs r7, 0xF8
- lsls r7, 1
- adds r1, r7
- cmp r3, 0x17
- ble _080A7B58
- movs r0, 0x1
- negs r0, r0
-_080A7B8C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7B40
-
- thumb_func_start sub_80A7B94
-sub_80A7B94:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r7, r0, 0
- movs r0, 0
- ldrsh r2, [r7, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A7BD4
- adds r0, r1
- movs r6, 0x1
- negs r6, r6
- movs r1, 0
- ldrsh r5, [r0, r1]
- cmp r5, 0x1
- bne _080A7C14
- adds r0, r2, 0
- cmp r0, 0
- bne _080A7C10
- movs r0, 0
- movs r1, 0x1C
- bl sub_8001658
- adds r4, r0, 0
- cmp r4, 0x1
- beq _080A7BDE
- cmp r4, 0x1
- bgt _080A7BD8
- cmp r4, 0
- beq _080A7BF2
- b _080A7C08
- .align 2, 0
-_080A7BD4: .4byte gUnknown_811E63C
-_080A7BD8:
- cmp r4, 0x2
- beq _080A7BE4
- b _080A7C08
-_080A7BDE:
- movs r0, 0x2
- strh r0, [r7]
- b _080A7C10
-_080A7BE4:
- bl sub_808D33C
- adds r6, r0, 0
- bl sub_808D3BC
- cmp r0, r6
- bne _080A7BF6
-_080A7BF2:
- strh r5, [r7]
- b _080A7C10
-_080A7BF6:
- bl sub_808D3F8
- cmp r0, r6
- bne _080A7C02
- strh r4, [r7]
- b _080A7C10
-_080A7C02:
- movs r0, 0x3
- strh r0, [r7]
- b _080A7C10
-_080A7C08:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- b _080A7DAC
-_080A7C10:
- movs r6, 0
- b _080A7DD2
-_080A7C14:
- cmp r5, 0x2
- bne _080A7CD2
- movs r0, 0
- movs r1, 0x1D
- bl sub_8001658
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x1E
- bl sub_8001658
- adds r2, r0, 0
- ldrh r1, [r7]
- subs r0, r1, 0x4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080A7C82
- cmp r1, 0x4
- bne _080A7C44
- adds r0, r4, 0
- cmp r0, 0
- bne _080A7C4C
- b _080A7C4A
-_080A7C44:
- movs r0, 0
- cmp r4, 0
- beq _080A7C4C
-_080A7C4A:
- adds r0, r2, 0
-_080A7C4C:
- cmp r0, 0x2
- beq _080A7C7A
- cmp r0, 0x2
- bhi _080A7C5A
- cmp r0, 0x1
- beq _080A7C6E
- b _080A7DA6
-_080A7C5A:
- cmp r0, 0x3
- beq _080A7C60
- b _080A7DA6
-_080A7C60:
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- bne _080A7C72
-_080A7C6E:
- movs r0, 0x6
- b _080A7C80
-_080A7C72:
- bl sub_808D3F8
- cmp r0, r4
- bne _080A7C7E
-_080A7C7A:
- movs r0, 0x7
- b _080A7C80
-_080A7C7E:
- movs r0, 0x8
-_080A7C80:
- strh r0, [r7]
-_080A7C82:
- movs r0, 0
- ldrsh r5, [r7, r0]
- cmp r5, 0x7
- beq _080A7CB0
- cmp r5, 0x7
- bgt _080A7C94
- cmp r5, 0x6
- beq _080A7C9A
- b _080A7CCA
-_080A7C94:
- cmp r5, 0x8
- beq _080A7CC6
- b _080A7CCA
-_080A7C9A:
- movs r6, 0x2
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r4, r0
- beq _080A7CAC
- b _080A7DD2
-_080A7CAC:
- strh r5, [r7]
- b _080A7DD2
-_080A7CB0:
- movs r6, 0x1
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3F8
- cmp r4, r0
- beq _080A7CC2
- b _080A7DD2
-_080A7CC2:
- movs r0, 0x6
- b _080A7DD0
-_080A7CC6:
- movs r6, 0x2
- b _080A7DD2
-_080A7CCA:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- b _080A7DAC
-_080A7CD2:
- cmp r5, 0x3
- bne _080A7DB0
- ldrh r1, [r7]
- adds r0, r1, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _080A7D12
- adds r4, r2, 0
- subs r4, 0xA
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _080A7DD2
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7D06
- mov r0, sp
- bl sub_808D6A4
- b _080A7D0C
-_080A7D06:
- mov r0, sp
- bl sub_808D654
-_080A7D0C:
- cmp r4, r0
- bge _080A7DA6
- b _080A7D7E
-_080A7D12:
- adds r0, r1, 0
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080A7DA6
- movs r0, 0
- movs r1, 0x10
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A7DA6
- movs r2, 0
- ldrsh r0, [r7, r2]
- adds r4, r0, 0
- subs r4, 0xE
- adds r0, r1, 0
- mov r1, sp
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- bge _080A7DA6
- ldr r2, _080A7D84
- ldr r0, [sp, 0x8]
- adds r0, r4
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7D88
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7DA6
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A7DA6
-_080A7D7E:
- movs r0, 0x1
- negs r0, r0
- b _080A7DD4
- .align 2, 0
-_080A7D84: .4byte gUnknown_203B45C
-_080A7D88:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A7DA6
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A7DA6
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080A7DA2
- movs r1, 0x1
-_080A7DA2:
- cmp r1, 0
- beq _080A7D7E
-_080A7DA6:
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
-_080A7DAC:
- strh r0, [r7]
- b _080A7D7E
-_080A7DB0:
- cmp r2, 0x23
- bne _080A7DD2
- bl sub_808D33C
- adds r4, r0, 0
- bl sub_808D3BC
- cmp r0, r4
- bne _080A7DC6
- movs r0, 0x21
- b _080A7DD0
-_080A7DC6:
- bl sub_808D3F8
- cmp r0, r4
- bne _080A7DD2
- movs r0, 0x22
-_080A7DD0:
- strh r0, [r7]
-_080A7DD2:
- adds r0, r6, 0
-_080A7DD4:
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7B94
-
- thumb_func_start sub_80A7DDC
-sub_80A7DDC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x24
- adds r7, r0, 0
- adds r5, r1, 0
- bl sub_80A7B94
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0
- strh r0, [r5]
- ldrh r3, [r7]
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r6, 0x1
- negs r6, r6
- cmp r0, r6
- bne _080A7E0A
-_080A7E04:
- movs r0, 0x1
- negs r0, r0
- b _080A8098
-_080A7E0A:
- movs r0, 0
- ldrsh r2, [r7, r0]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A7E50
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- beq _080A7E22
- b _080A7F38
-_080A7E22:
- adds r0, r3, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _080A7E90
- adds r4, r2, 0
- subs r4, 0xA
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- beq _080A7E58
- ldr r0, _080A7E54
- lsls r1, r4, 1
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r5]
- cmp r0, 0
- bne _080A7E04
- strh r6, [r7]
- b _080A7E04
- .align 2, 0
-_080A7E50: .4byte gUnknown_811E63C
-_080A7E54: .4byte gUnknown_81180F0
-_080A7E58:
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7E6C
- mov r0, sp
- bl sub_808D6A4
- b _080A7E72
-_080A7E6C:
- mov r0, sp
- bl sub_808D654
-_080A7E72:
- cmp r4, r0
- blt _080A7E78
- b _080A8080
-_080A7E78:
- ldr r2, _080A7E8C
- lsls r0, r4, 2
- add r0, sp
- ldr r1, [r0]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- ldrh r0, [r0, 0x8]
- b _080A800A
- .align 2, 0
-_080A7E8C: .4byte gUnknown_203B45C
-_080A7E90:
- adds r0, r3, 0
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bls _080A7E9E
- b _080A8080
-_080A7E9E:
- movs r0, 0
- movs r1, 0x10
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080A7EB8
- b _080A8080
-_080A7EB8:
- movs r2, 0
- ldrsh r0, [r7, r2]
- adds r4, r0, 0
- subs r4, 0xE
- adds r0, r1, 0
- mov r1, sp
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r4, r0
- blt _080A7ED8
- b _080A8080
-_080A7ED8:
- ldr r2, _080A7F0C
- ldr r0, [sp, 0x8]
- adds r0, r4
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A7F10
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A7EFE
- b _080A8080
-_080A7EFE:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _080A7F06
- b _080A8080
-_080A7F06:
- ldrh r0, [r4, 0x8]
- b _080A800A
- .align 2, 0
-_080A7F0C: .4byte gUnknown_203B45C
-_080A7F10:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A7F1C
- b _080A8080
-_080A7F1C:
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _080A7F24
- b _080A8080
-_080A7F24:
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080A7F2E
- movs r1, 0x1
-_080A7F2E:
- cmp r1, 0
- beq _080A7F34
- b _080A8080
-_080A7F34:
- ldrh r0, [r4, 0x8]
- b _080A800A
-_080A7F38:
- subs r0, r3, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x23
- bls _080A7F44
- b _080A808A
-_080A7F44:
- lsls r0, 2
- ldr r1, _080A7F50
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A7F50: .4byte _080A7F54
- .align 2, 0
-_080A7F54:
- .4byte _080A7FE4
- .4byte _080A7FEC
- .4byte _080A7FF4
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A7FE4
- .4byte _080A7FEC
- .4byte _080A7FF4
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A808A
- .4byte _080A8032
- .4byte _080A8032
- .4byte _080A8014
- .4byte _080A7FE4
- .4byte _080A7FEC
- .4byte _080A7FF4
- .4byte _080A7FFC
-_080A7FE4:
- bl sub_808D3BC
- ldrh r0, [r0, 0x8]
- b _080A8094
-_080A7FEC:
- bl sub_808D3F8
- ldrh r0, [r0, 0x8]
- b _080A8094
-_080A7FF4:
- bl sub_808D33C
- ldrh r0, [r0, 0x8]
- b _080A8094
-_080A7FFC:
- movs r0, 0xF
- bl RandomCapped
- ldr r1, _080A8010
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
-_080A800A:
- strh r0, [r5]
- b _080A7E04
- .align 2, 0
-_080A8010: .4byte gUnknown_81180FC
-_080A8014:
- movs r0, 0
- movs r1, 0x1F
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080A8028
- strh r0, [r5]
- b _080A7E04
-_080A8028:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r7]
- b _080A7E04
-_080A8032:
- movs r0, 0x89
- strh r0, [r5]
- add r6, sp, 0x10
- adds r0, r6, 0
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- bne _080A8046
- b _080A7E04
-_080A8046:
- add r1, sp, 0x14
- add r2, sp, 0x18
- movs r0, 0x2
- bl sub_8001B88
- add r4, sp, 0x1C
- ldr r1, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A8076
- movs r2, 0
- ldrsh r0, [r7, r2]
- cmp r0, 0x1E
- bne _080A8072
- ldrh r0, [r4, 0x2]
- b _080A8074
-_080A8072:
- ldrh r0, [r4, 0x4]
-_080A8074:
- strh r0, [r5]
-_080A8076:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080A8080
- b _080A7E04
-_080A8080:
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r7]
- b _080A7E04
-_080A808A:
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A8096
- ldrh r0, [r4, 0x2]
-_080A8094:
- strh r0, [r5]
-_080A8096:
- mov r0, r8
-_080A8098:
- add sp, 0x24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A7DDC
-
- thumb_func_start GroundLives_Add
-GroundLives_Add:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp, 0x10]
- lsls r0, 16
- asrs r6, r0, 16
- lsls r2, 16
- asrs r2, 16
- str r2, [sp, 0x14]
- lsls r3, 24
- asrs r3, 24
- str r3, [sp, 0x18]
- ldrb r1, [r1]
- add r0, sp, 0xC
- strh r1, [r0]
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0xE
- add r0, sp, 0xC
- adds r1, r4, 0
- bl sub_80A7DDC
- lsls r0, 16
- asrs r7, r0, 16
- add r0, sp, 0xC
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- mov r9, r4
- cmp r1, r0
- beq _080A81AE
- cmp r7, 0x1
- beq _080A8104
- cmp r7, 0x1
- bgt _080A80FA
- cmp r7, 0
- beq _080A8100
- b _080A8118
-_080A80FA:
- cmp r7, 0x2
- beq _080A8108
- b _080A8118
-_080A8100:
- movs r6, 0
- b _080A8118
-_080A8104:
- movs r6, 0x1
- b _080A8118
-_080A8108:
- movs r0, 0
- movs r1, 0x1D
- bl sub_8001658
- cmp r0, 0
- bne _080A8116
- movs r7, 0x1
-_080A8116:
- movs r6, 0x2
-_080A8118:
- add r0, sp, 0xC
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A813C
- adds r0, r1
- str r0, [sp, 0x1C]
- cmp r6, 0
- bge _080A81B4
- cmp r2, 0x21
- beq _080A8140
- cmp r2, 0x23
- beq _080A8154
- adds r0, r2, 0
- b _080A8162
- .align 2, 0
-_080A813C: .4byte gUnknown_811E63C
-_080A8140:
- ldr r0, _080A8150
- ldr r0, [r0]
- movs r4, 0x2
- ldrsh r0, [r0, r4]
- cmp r0, 0x1
- beq _080A81AE
- movs r0, 0x21
- b _080A8162
- .align 2, 0
-_080A8150: .4byte gUnknown_3001B84
-_080A8154:
- ldr r0, _080A8188
- ldr r0, [r0]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0x3
- beq _080A81AE
- movs r0, 0x23
-_080A8162:
- bl sub_80A7AE8
- adds r6, r0, 0
- cmp r6, 0
- bge _080A81B4
- movs r2, 0x3
- ldr r0, _080A8188
- ldr r0, [r0]
- movs r3, 0xBA
- lsls r3, 3
- adds r5, r0, r3
- movs r4, 0x2
- ldrsh r1, [r5, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A818C
- movs r6, 0x3
- b _080A81B4
- .align 2, 0
-_080A8188: .4byte gUnknown_3001B84
-_080A818C:
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0xF8
- lsls r0, 1
- adds r5, r0
- cmp r2, 0x17
- bgt _080A81AA
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A818C
- adds r6, r2, 0
-_080A81AA:
- cmp r6, 0
- bge _080A81B4
-_080A81AE:
- movs r0, 0x1
- negs r0, r0
- b _080A8674
-_080A81B4:
- ldr r1, _080A8234
- lsls r0, r6, 5
- subs r0, r6
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- ldr r1, _080A8238
- add r0, sp, 0xC
- movs r4, 0
- ldrsh r3, [r0, r4]
- ldr r2, [sp, 0x1C]
- movs r4, 0
- ldrsh r0, [r2, r4]
- str r0, [sp]
- ldr r0, [sp, 0x14]
- str r0, [sp, 0x4]
- ldr r2, [sp, 0x18]
- str r2, [sp, 0x8]
- movs r0, 0
- adds r2, r6, 0
- bl Log
- movs r2, 0
- movs r3, 0x2
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A81F0
- movs r2, 0x1
-_080A81F0:
- str r2, [sp, 0x20]
- strh r6, [r5]
- add r0, sp, 0xC
- ldrh r0, [r0]
- strh r0, [r5, 0x2]
- mov r4, sp
- ldrh r4, [r4, 0x14]
- strh r4, [r5, 0x4]
- mov r0, sp
- ldrb r0, [r0, 0x18]
- strb r0, [r5, 0x6]
- mov r1, r9
- ldrh r0, [r1]
- strh r0, [r5, 0x8]
- movs r2, 0x90
- lsls r2, 1
- adds r4, r5, r2
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x9
- str r0, [r4]
- ldr r3, [sp, 0x1C]
- ldrh r0, [r3]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bhi _080A82D8
- lsls r0, 2
- ldr r1, _080A823C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A8234: .4byte gUnknown_3001B84
-_080A8238: .4byte gUnknown_811811C
-_080A823C: .4byte _080A8240
- .align 2, 0
-_080A8240:
- .4byte _080A8268
- .4byte _080A8280
- .4byte _080A8290
- .4byte _080A82D8
- .4byte _080A82D8
- .4byte _080A8298
- .4byte _080A82A8
- .4byte _080A82B4
- .4byte _080A82BE
- .4byte _080A82CA
-_080A8268:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- ldr r0, _080A827C
- str r0, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- b _080A82E0
- .align 2, 0
-_080A827C: .4byte 0x2300181d
-_080A8280:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- ldr r0, _080A828C
- b _080A82E0
- .align 2, 0
-_080A828C: .4byte 0x23001000
-_080A8290:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- b _080A82DE
-_080A8298:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- ldr r0, _080A82A4
- b _080A82E0
- .align 2, 0
-_080A82A4: .4byte 0x2000000d
-_080A82A8:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x80
- lsls r0, 10
- b _080A82E0
-_080A82B4:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- b _080A82E0
-_080A82BE:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0xC0
- lsls r0, 12
- b _080A82E0
-_080A82CA:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- ldr r0, _080A82D4
- b _080A82E0
- .align 2, 0
-_080A82D4: .4byte 0x20010000
-_080A82D8:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
-_080A82DE:
- ldr r0, _080A83DC
-_080A82E0:
- str r0, [r1]
- ldr r2, [sp, 0x1C]
- ldrb r1, [r2, 0x8]
- lsls r1, 11
- str r1, [r5, 0xC]
- ldrb r0, [r2, 0x9]
- lsls r0, 11
- str r0, [r5, 0x10]
- lsrs r1, 1
- str r1, [r5, 0x14]
- lsrs r0, 1
- str r0, [r5, 0x18]
- ldr r3, [sp, 0x10]
- ldrb r0, [r3, 0x1]
- strb r0, [r5, 0x1C]
- adds r2, r3, 0
- adds r2, 0x4
- adds r4, r5, 0
- adds r4, 0x20
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080A8328
- ldrb r0, [r3, 0x4]
- lsls r3, r0, 11
- str r3, [r5, 0x20]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A8328
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r5, 0x20]
-_080A8328:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080A834A
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A834A
- movs r2, 0x80
- lsls r2, 3
- adds r0, r3, r2
- str r0, [r4, 0x4]
-_080A834A:
- ldr r3, [sp, 0x20]
- cmp r3, 0
- beq _080A83EC
- ldrb r0, [r5, 0x1C]
- movs r4, 0xA1
- lsls r4, 1
- adds r1, r5, r4
- movs r3, 0
- strb r0, [r1]
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r1, 0xA6
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2]
- adds r4, 0x6
- adds r2, r5, r4
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA8
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r5, r2
- adds r4, 0x10
- adds r0, r5, r4
- str r3, [r0]
- str r3, [r1]
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r5, r1
- strh r7, [r0]
- ldr r1, _080A83E0
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- ldr r1, [r1]
- adds r1, r0
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x8]
- str r3, [r1]
- str r3, [r1, 0x4]
- ldrh r0, [r5, 0x2]
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080A83E4
- movs r0, 0x12
- bl OtherRandomCapped
- movs r2, 0xA0
- lsls r2, 1
- adds r1, r5, r2
- strh r0, [r1]
- b _080A83EC
- .align 2, 0
-_080A83DC: .4byte 0x2300068d
-_080A83E0: .4byte gUnknown_3001B80
-_080A83E4:
- movs r4, 0xA0
- lsls r4, 1
- adds r0, r5, r4
- strh r3, [r0]
-_080A83EC:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- ands r0, r1
- cmp r0, 0
- beq _080A8418
- movs r2, 0xA2
- lsls r2, 1
- adds r1, r5, r2
- movs r3, 0xA6
- lsls r3, 1
- adds r2, r5, r3
- movs r0, 0x20
- bl sub_80ADCA0
- movs r4, 0x9F
- lsls r4, 1
- adds r1, r5, r4
- b _080A8420
-_080A8418:
- movs r0, 0x9F
- lsls r0, 1
- adds r1, r5, r0
- ldr r0, _080A849C
-_080A8420:
- strh r0, [r1]
- adds r0, r5, 0
- adds r0, 0x28
- adds r1, r5, 0
- adds r1, 0x30
- bl sub_80A5778
- ldr r1, [sp, 0x20]
- cmp r1, 0
- beq _080A84AC
- ldr r2, _080A84A0
- adds r1, r5, r2
- movs r0, 0xFF
- strb r0, [r1]
- movs r3, 0xAF
- lsls r3, 1
- adds r1, r5, r3
- movs r3, 0
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r4, 0xB0
- lsls r4, 1
- adds r1, r5, r4
- movs r2, 0x1
- movs r0, 0x1
- strh r0, [r1]
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r5, r1
- str r3, [r0]
- adds r4, 0x8
- adds r1, r5, r4
- ldr r0, _080A84A4
- strh r0, [r1]
- movs r1, 0xAE
- lsls r1, 1
- adds r0, r5, r1
- strb r2, [r0]
- movs r2, 0xB5
- lsls r2, 1
- adds r0, r5, r2
- strh r3, [r0]
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r5, r3
- movs r4, 0x2
- ldrsh r1, [r5, r4]
- movs r3, 0x8
- ldrsh r2, [r5, r3]
- movs r4, 0x8E
- lsls r4, 1
- adds r3, r5, r4
- ldr r3, [r3]
- bl sub_80A7428
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080A84A8
- ldr r0, [sp, 0x18]
- str r0, [sp]
- b _080A855C
- .align 2, 0
-_080A849C: .4byte 0x0000ffff
-_080A84A0: .4byte 0x0000015d
-_080A84A4: .4byte 0x00000807
-_080A84A8: .4byte gUnknown_8117F10
-_080A84AC:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r0, _080A84F0
- ldr r1, [r0]
- movs r2, 0xCB
- lsls r2, 2
- adds r1, r2
- adds r0, r4, 0
- bl sub_809D684
- lsls r0, 24
- cmp r0, 0
- beq _080A8550
- adds r0, r5, 0
- adds r0, 0xBE
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- beq _080A84F4
- adds r0, r5, 0
- adds r0, 0xE0
- ldrh r0, [r0]
- mov r10, r0
- adds r0, r5, 0
- adds r0, 0xE2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- mov r9, r0
- adds r7, r5, 0
- adds r7, 0x80
- movs r0, 0x82
- adds r0, r5
- b _080A8508
- .align 2, 0
-_080A84F0: .4byte gUnknown_3001B80
-_080A84F4:
- adds r1, r5, 0
- adds r1, 0x80
- ldrh r2, [r1]
- mov r10, r2
- adds r0, r5, 0
- adds r0, 0x82
- movs r3, 0
- ldrsb r3, [r0, r3]
- mov r9, r3
- adds r7, r1, 0
-_080A8508:
- mov r8, r0
- adds r0, r4, 0
- bl sub_809D648
- ldr r1, _080A8544
- ldr r0, [sp, 0x18]
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- ldr r3, [sp, 0x14]
- bl sub_809D600
- ldr r0, _080A8548
- ldr r2, [r0]
- movs r1, 0xCB
- lsls r1, 2
- adds r2, r1
- ldr r3, _080A854C
- adds r0, r4, 0
- movs r1, 0
- bl GroundScript_ExecutePP
- mov r2, r10
- strh r2, [r7]
- mov r0, r9
- mov r3, r8
- strb r0, [r3]
- movs r1, 0x1
- mov r8, r1
- b _080A8566
- .align 2, 0
-_080A8544: .4byte gUnknown_8117F10
-_080A8548: .4byte gUnknown_3001B80
-_080A854C: .4byte gUnknown_8118170
-_080A8550:
- adds r0, r4, 0
- bl sub_809D648
- ldr r1, _080A861C
- ldr r2, [sp, 0x18]
- str r2, [sp]
-_080A855C:
- adds r0, r4, 0
- adds r2, r5, 0
- ldr r3, [sp, 0x14]
- bl sub_809D600
-_080A8566:
- ldr r3, [sp, 0x10]
- ldr r2, [r3, 0xC]
- cmp r2, 0
- bne _080A8574
- ldr r0, _080A8620
- adds r0, 0xEC
- ldr r2, [r0]
-_080A8574:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_809D6D8
- ldr r0, [sp, 0x10]
- ldr r2, [r0, 0x10]
- cmp r2, 0
- bne _080A8588
- ldr r0, _080A8620
- ldr r2, [r0, 0x38]
-_080A8588:
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_809D6D8
- ldr r1, [sp, 0x10]
- ldr r2, [r1, 0x14]
- cmp r2, 0
- bne _080A859C
- ldr r0, _080A8620
- ldr r2, [r0, 0x50]
-_080A859C:
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_809D6D8
- ldr r3, [sp, 0x10]
- ldr r2, [r3, 0x8]
- cmp r2, 0
- beq _080A8630
- adds r0, r4, 0
- movs r1, 0
- bl sub_809D6D8
- ldr r0, [sp, 0x20]
- cmp r0, 0
- bne _080A860C
- mov r1, r8
- cmp r1, 0
- bne _080A860C
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r5, r2
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _080A860C
- ldr r0, _080A8624
- ldr r2, [r0]
- movs r3, 0xCB
- lsls r3, 2
- adds r2, r3
- ldr r3, _080A8628
- adds r0, r4, 0
- movs r1, 0
- bl GroundScript_ExecutePP
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r5, r1
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r5, r2
- ldrh r0, [r0]
- ldrh r1, [r1]
- orrs r0, r1
- adds r1, r5, 0
- adds r1, 0x80
- strh r0, [r1]
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r5, r3
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r0, 0x82
- strb r1, [r0]
-_080A860C:
- ldr r3, _080A862C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_809D8C0
- b _080A865A
- .align 2, 0
-_080A861C: .4byte gUnknown_8117F10
-_080A8620: .4byte gUnknown_812F1F8
-_080A8624: .4byte gUnknown_3001B80
-_080A8628: .4byte gUnknown_811817C
-_080A862C: .4byte gUnknown_8118188
-_080A8630:
- mov r4, r8
- cmp r4, 0
- beq _080A865A
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x82
- ldrb r0, [r0]
- movs r2, 0xA1
- lsls r2, 1
- adds r1, r5, r2
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x80
- ldrh r1, [r0]
- adds r0, r5, 0
- bl sub_80A9750
-_080A865A:
- ldr r3, [sp, 0x1C]
- movs r4, 0
- ldrsh r0, [r3, r4]
- cmp r0, 0x1
- bne _080A8672
- ldr r0, [sp, 0x20]
- cmp r0, 0
- beq _080A8672
- movs r0, 0x1
- adds r1, r6, 0
- bl sub_809D170
-_080A8672:
- adds r0, r6, 0
-_080A8674:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GroundLives_Add
-
- thumb_func_start sub_80A8684
-sub_80A8684:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _080A86BC
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080A86C0
- movs r0, 0
- bl Log
- movs r1, 0xB8
- lsls r1, 1
- adds r0, r4, r1
- bl sub_80A74E4
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D648
- ldr r0, _080A86C4
- strh r0, [r4, 0x2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A86BC: .4byte gUnknown_3001B84
-_080A86C0: .4byte gUnknown_8118194
-_080A86C4: .4byte 0x0000ffff
- thumb_func_end sub_80A8684
-
- thumb_func_start sub_80A86C8
-sub_80A86C8:
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8708
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r3, 0x1
- negs r3, r3
- cmp r0, r3
- beq _080A8744
- movs r2, 0x9E
- lsls r2, 1
- adds r1, r4, r2
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080A870C
- movs r0, 0xC0
- lsls r0, 6
- ands r0, r5
- cmp r0, 0
- beq _080A872E
- bl sub_80AB5A4
- b _080A872E
- .align 2, 0
-_080A8708: .4byte gUnknown_3001B84
-_080A870C:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r5
- cmp r0, 0
- beq _080A872E
- ldr r2, _080A874C
- movs r0, 0
- ldrsh r1, [r1, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, [r2]
- adds r1, r0
- str r3, [r1, 0x8]
- movs r0, 0
- str r0, [r1]
- str r0, [r1, 0x4]
-_080A872E:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- orrs r1, r5
- str r1, [r0]
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r4, r2
- bl sub_80A6688
-_080A8744:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A874C: .4byte gUnknown_3001B80
- thumb_func_end sub_80A86C8
-
- thumb_func_start sub_80A8750
-sub_80A8750:
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A87A8
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A87A2
- movs r1, 0x9E
- lsls r1, 1
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080A878C
- movs r0, 0xC0
- lsls r0, 6
- ands r0, r5
- cmp r0, 0
- beq _080A878C
- bl sub_80AB5A4
-_080A878C:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- bics r1, r5
- str r1, [r0]
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r4, r2
- bl sub_80A6688
-_080A87A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A87A8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8750
-
- thumb_func_start sub_80A87AC
-sub_80A87AC:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A87DC
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A87D8
- movs r1, 0x90
- lsls r1, 1
- adds r0, r2, r1
- adds r1, r3, 0
- bl sub_809CD8C
-_080A87D8:
- pop {r0}
- bx r0
- .align 2, 0
-_080A87DC: .4byte gUnknown_3001B84
- thumb_func_end sub_80A87AC
-
- thumb_func_start sub_80A87E0
-sub_80A87E0:
- push {r4,lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8820
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8824
- movs r0, 0x7
- movs r1, 0
- adds r2, r3, 0
- bl sub_809B1C0
- lsls r0, 24
- cmp r0, 0
- beq _080A8824
- movs r1, 0x90
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0x5
- bl sub_809CD8C
- movs r0, 0x1
- b _080A8826
- .align 2, 0
-_080A8820: .4byte gUnknown_3001B84
-_080A8824:
- movs r0, 0
-_080A8826:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A87E0
-
- thumb_func_start sub_80A882C
-sub_80A882C:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8850
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8854
- movs r0, 0
- b _080A8858
- .align 2, 0
-_080A8850: .4byte gUnknown_3001B84
-_080A8854:
- adds r0, r2, 0
- adds r0, 0x38
-_080A8858:
- pop {r1}
- bx r1
- thumb_func_end sub_80A882C
-
- thumb_func_start sub_80A885C
-sub_80A885C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r3, r2, 16
- ldr r2, _080A8884
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8888
- movs r0, 0
- b _080A8898
- .align 2, 0
-_080A8884: .4byte gUnknown_3001B84
-_080A8888:
- adds r0, r2, 0
- adds r0, 0x38
- adds r1, r4, 0
- adds r2, r3, 0
- bl sub_809D6E4
- lsls r0, 24
- lsrs r0, 24
-_080A8898:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A885C
-
- thumb_func_start sub_80A88A0
-sub_80A88A0:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A88C4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A88C8
- movs r0, 0
- b _080A88D4
- .align 2, 0
-_080A88C4: .4byte gUnknown_3001B84
-_080A88C8:
- adds r0, r2, 0
- adds r0, 0x38
- bl sub_809D678
- lsls r0, 24
- lsrs r0, 24
-_080A88D4:
- pop {r1}
- bx r1
- thumb_func_end sub_80A88A0
-
- thumb_func_start GroundLives_ExecuteScript
-GroundLives_ExecuteScript:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- asrs r4, 16
- ldr r1, _080A8914
- lsls r0, r4, 5
- subs r0, r4
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- ldr r1, _080A8918
- movs r0, 0x2
- ldrsh r3, [r5, r0]
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A891C
- movs r0, 0
- b _080A8934
- .align 2, 0
-_080A8914: .4byte gUnknown_3001B84
-_080A8918: .4byte gUnknown_81181B0
-_080A891C:
- adds r0, r5, 0
- adds r0, 0x38
- ldr r3, _080A893C
- adds r1, r7, 0
- adds r2, r6, 0
- bl GroundScript_ExecutePP
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A8934:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A893C: .4byte gUnknown_81181F4
- thumb_func_end GroundLives_ExecuteScript
-
- thumb_func_start _ExecutePlayerScript
-_ExecutePlayerScript:
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- adds r4, r2, 0
- movs r0, 0xAF
- lsls r0, 1
- adds r1, r3, r0
- movs r2, 0
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r0, 0xB0
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strh r0, [r1]
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r3, r1
- str r2, [r0]
- movs r0, 0xB4
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- ldr r1, _080A898C
- cmp r0, r1
- beq _080A8984
- strh r1, [r2]
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080A8984:
- cmp r4, 0
- bne _080A8990
- movs r0, 0
- b _080A89A2
- .align 2, 0
-_080A898C: .4byte 0x00000807
-_080A8990:
- adds r0, r3, 0
- adds r0, 0x38
- ldr r3, _080A89A8
- adds r1, r5, 0
- adds r2, r4, 0
- bl GroundScript_ExecutePP
- lsls r0, 24
- lsrs r0, 24
-_080A89A2:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A89A8: .4byte gUnknown_8118218
- thumb_func_end _ExecutePlayerScript
-
- thumb_func_start sub_80A89AC
-sub_80A89AC:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r4, _080A89CC
- lsls r3, r0, 5
- subs r3, r0
- lsls r3, 4
- ldr r0, [r4]
- adds r0, r3
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A89CC: .4byte gUnknown_3001B84
- thumb_func_end sub_80A89AC
-
- thumb_func_start GroundLives_ExecutePlayerScriptActionLives
-GroundLives_ExecutePlayerScriptActionLives:
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- cmp r2, 0
- blt _080A8A50
- cmp r4, 0
- blt _080A8A50
- ldr r1, _080A8A48
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- lsls r0, r4, 5
- subs r0, r4
- lsls r0, 4
- adds r1, r0
- movs r2, 0x2
- ldrsh r0, [r5, r2]
- movs r2, 0x1
- negs r2, r2
- cmp r0, r2
- beq _080A8A50
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, r2
- beq _080A8A50
- adds r6, r1, 0
- adds r6, 0x38
- adds r0, r6, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_809D6E4
- lsls r0, 24
- cmp r0, 0
- beq _080A8A50
- movs r1, 0x1
- lsls r0, r4, 16
- orrs r0, r1
- str r0, [sp, 0xC]
- adds r1, r5, 0
- adds r1, 0x40
- ldr r3, _080A8A4C
- adds r0, r6, 0
- movs r2, 0x3
- bl sub_809D8C0
- add r1, sp, 0xC
- adds r0, r5, 0
- mov r2, sp
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- b _080A8A52
- .align 2, 0
-_080A8A48: .4byte gUnknown_3001B84
-_080A8A4C: .4byte gUnknown_8118250
-_080A8A50:
- movs r0, 0
-_080A8A52:
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end GroundLives_ExecutePlayerScriptActionLives
-
- thumb_func_start sub_80A8A5C
-sub_80A8A5C:
- push {r4-r6,lr}
- sub sp, 0x1C
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- cmp r2, 0
- blt _080A8AC0
- cmp r5, 0
- blt _080A8AC0
- ldr r1, _080A8ABC
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r6, r1, r0
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x2
- bl sub_80AC274
- lsls r0, 24
- cmp r0, 0
- beq _080A8AC0
- movs r1, 0x2
- lsls r0, r5, 16
- orrs r0, r1
- str r0, [sp, 0x18]
- add r4, sp, 0xC
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x3
- bl sub_80AC274
- adds r1, r6, 0
- adds r1, 0x40
- adds r0, r5, 0
- adds r2, r4, 0
- bl GroundObject_ExecuteScript
- add r1, sp, 0x18
- adds r0, r6, 0
- mov r2, sp
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- b _080A8AC2
- .align 2, 0
-_080A8ABC: .4byte gUnknown_3001B84
-_080A8AC0:
- movs r0, 0
-_080A8AC2:
- add sp, 0x1C
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8A5C
-
- thumb_func_start sub_80A8ACC
-sub_80A8ACC:
- push {r4,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, 0
- blt _080A8B10
- cmp r3, 0
- blt _080A8B10
- ldr r1, _080A8B0C
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r4, r1, r0
- adds r0, r3, 0
- mov r1, sp
- bl sub_80ADC64
- lsls r0, 24
- cmp r0, 0
- beq _080A8B10
- adds r0, r4, 0
- movs r1, 0
- mov r2, sp
- bl _ExecutePlayerScript
- lsls r0, 24
- lsrs r0, 24
- b _080A8B12
- .align 2, 0
-_080A8B0C: .4byte gUnknown_3001B84
-_080A8B10:
- movs r0, 0
-_080A8B12:
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8ACC
-
- thumb_func_start sub_80A8B1C
-sub_80A8B1C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _080A8B70
- ldr r4, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080A8B36:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080A8B4E
- adds r0, r4, 0
- adds r0, 0x38
- adds r1, r7, 0
- bl sub_809D968
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080A8B4E:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xF8
- lsls r1, 1
- adds r4, r1
- cmp r0, 0x17
- ble _080A8B36
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A8B70: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8B1C
-
- thumb_func_start sub_80A8B74
-sub_80A8B74:
- push {r4-r7,lr}
- ldr r0, _080A8BB8
- ldr r4, [r0]
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- movs r6, 0x80
- lsls r6, 9
-_080A8B84:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080A8B9A
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D92C
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080A8B9A:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xF8
- lsls r1, 1
- adds r4, r1
- cmp r0, 0x17
- ble _080A8B84
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A8BB8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8B74
-
- thumb_func_start sub_80A8BBC
-sub_80A8BBC:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8BD4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A8BD4: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8BBC
-
- thumb_func_start sub_80A8BD8
-sub_80A8BD8:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080A8BF8
- lsls r2, r0, 5
- subs r2, r0
- lsls r2, 4
- ldr r0, [r3]
- adds r0, r2
- movs r3, 0x8E
- lsls r3, 1
- adds r2, r0, r3
- ldr r2, [r2]
- str r2, [r1]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A8BF8: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8BD8
-
- thumb_func_start sub_80A8BFC
-sub_80A8BFC:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8C20
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8C24
- movs r0, 0
- b _080A8C28
- .align 2, 0
-_080A8C20: .4byte gUnknown_3001B84
-_080A8C24:
- movs r1, 0x8
- ldrsh r0, [r2, r1]
-_080A8C28:
- pop {r1}
- bx r1
- thumb_func_end sub_80A8BFC
-
- thumb_func_start sub_80A8C2C
-sub_80A8C2C:
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- strh r0, [r1]
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A7DDC
- movs r1, 0
- ldrsh r0, [r4, r1]
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8C2C
-
- thumb_func_start sub_80A8C4C
-sub_80A8C4C:
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8C80
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8C90
- adds r0, r1, 0
- bl sub_80A8D54
- adds r1, r0, 0
- cmp r1, 0
- beq _080A8C84
- ldr r0, [r1, 0x4]
- str r0, [r5]
- b _080A8C8A
- .align 2, 0
-_080A8C80: .4byte gUnknown_3001B84
-_080A8C84:
- movs r0, 0x63
- strb r0, [r5]
- strb r1, [r5, 0x1]
-_080A8C8A:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- b _080A8C92
-_080A8C90:
- movs r0, 0
-_080A8C92:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8C4C
-
- thumb_func_start sub_80A8C98
-sub_80A8C98:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8CD4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r3, r0, r1
- movs r0, 0x2
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8CE8
- ldr r1, _080A8CD8
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _080A8CE8
- movs r0, 0x8
- ldrsh r3, [r3, r0]
-_080A8CC6:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r3
- bne _080A8CDC
- movs r0, 0x1
- b _080A8CEA
- .align 2, 0
-_080A8CD4: .4byte gUnknown_3001B84
-_080A8CD8: .4byte gUnknown_8117FCE
-_080A8CDC:
- adds r1, 0x2
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080A8CC6
-_080A8CE8:
- movs r0, 0
-_080A8CEA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8C98
-
- thumb_func_start sub_80A8CF0
-sub_80A8CF0:
- push {r4,lr}
- lsls r0, 16
- asrs r3, r0, 16
- ldr r1, _080A8CFC
- b _080A8D0E
- .align 2, 0
-_080A8CFC: .4byte gUnknown_8117FCE
-_080A8D00:
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r3
- bne _080A8D0C
- movs r0, 0x1
- b _080A8D1A
-_080A8D0C:
- adds r1, 0x2
-_080A8D0E:
- ldrh r2, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080A8D00
- movs r0, 0
-_080A8D1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8CF0
-
- thumb_func_start sub_80A8D20
-sub_80A8D20:
- push {lr}
- movs r0, 0
- bl sub_80A7AE8
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8D50
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x90
- lsls r1, 1
- adds r0, r1
- bl sub_809CDB8
- movs r1, 0
- cmp r0, 0x1
- bne _080A8D4A
- movs r1, 0x1
-_080A8D4A:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A8D50: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8D20
-
- thumb_func_start sub_80A8D54
-sub_80A8D54:
- push {r4,r5,lr}
- sub sp, 0x14
- mov r1, sp
- strh r0, [r1]
- mov r0, sp
- bl sub_80A7B94
- mov r0, sp
- ldrh r1, [r0]
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- beq _080A8D76
- cmp r0, 0x6
- beq _080A8D76
- cmp r0, 0x21
- bne _080A8D7C
-_080A8D76:
- bl sub_808D3BC
- b _080A8E94
-_080A8D7C:
- cmp r0, 0x2
- beq _080A8D88
- cmp r0, 0x7
- beq _080A8D88
- cmp r0, 0x22
- bne _080A8D8E
-_080A8D88:
- bl sub_808D3F8
- b _080A8E94
-_080A8D8E:
- cmp r0, 0x3
- beq _080A8D9A
- cmp r0, 0x8
- beq _080A8D9A
- cmp r0, 0x23
- bne _080A8DA0
-_080A8D9A:
- bl sub_808D33C
- b _080A8E94
-_080A8DA0:
- adds r0, r1, 0
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x3
- bhi _080A8DF8
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r5, r0, 0
- subs r5, 0xA
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _080A8E92
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A8DD6
- add r4, sp, 0x4
- adds r0, r4, 0
- bl sub_808D6A4
- b _080A8DDE
-_080A8DD6:
- add r4, sp, 0x4
- adds r0, r4, 0
- bl sub_808D654
-_080A8DDE:
- cmp r5, r0
- bge _080A8E92
- ldr r2, _080A8DF4
- lsls r0, r5, 2
- adds r0, r4, r0
- ldr r1, [r0]
- movs r0, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r0, r1
- b _080A8E94
- .align 2, 0
-_080A8DF4: .4byte gUnknown_203B45C
-_080A8DF8:
- adds r0, r1, 0
- subs r0, 0xE
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080A8E92
- movs r0, 0
- movs r1, 0x10
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_8002658
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080A8E92
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r5, r0, 0
- subs r5, 0xE
- add r4, sp, 0x4
- adds r0, r1, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_8092638
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bge _080A8E92
- ldr r2, _080A8E6C
- ldr r0, [r4, 0x8]
- adds r0, r5
- movs r1, 0x58
- muls r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- movs r0, 0x9
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _080A8E70
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8E92
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A8E92
- adds r0, r4, 0
- b _080A8E94
- .align 2, 0
-_080A8E6C: .4byte gUnknown_203B45C
-_080A8E70:
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8E92
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080A8E92
- movs r1, 0
- ldrb r0, [r4, 0x4]
- cmp r0, 0x41
- bne _080A8E8A
- movs r1, 0x1
-_080A8E8A:
- cmp r1, 0
- bne _080A8E92
- adds r0, r4, 0
- b _080A8E94
-_080A8E92:
- movs r0, 0
-_080A8E94:
- add sp, 0x14
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A8D54
-
- thumb_func_start sub_80A8E9C
-sub_80A8E9C:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8EBC
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- pop {r1}
- bx r1
- .align 2, 0
-_080A8EBC: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8E9C
-
- thumb_func_start sub_80A8EC0
-sub_80A8EC0:
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- strh r1, [r0]
- mov r5, sp
- adds r5, 0x2
- adds r1, r5, 0
- bl sub_80A7DDC
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- cmp r0, 0
- beq _080A8EF0
- adds r1, r0, 0
- adds r1, 0x4C
- adds r0, r4, 0
- movs r2, 0xA
- bl sub_80922B4
- b _080A8F44
-_080A8EF0:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0x20
- bne _080A8F00
- movs r0, 0
- ldrsh r1, [r5, r0]
- b _080A8F34
-_080A8F00:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A8F3C
- mov r0, sp
- movs r1, 0
- ldrsh r2, [r0, r1]
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A8F2C
- adds r0, r1
- cmp r2, 0x34
- beq _080A8F20
- cmp r2, 0x64
- bne _080A8F30
-_080A8F20:
- ldr r1, [r0, 0x4]
- adds r0, r4, 0
- bl strcpy
- b _080A8F44
- .align 2, 0
-_080A8F2C: .4byte gUnknown_811E63C
-_080A8F30:
- movs r2, 0x2
- ldrsh r1, [r0, r2]
-_080A8F34:
- adds r0, r4, 0
- bl sub_808D8BC
- b _080A8F44
-_080A8F3C:
- ldr r1, _080A8F4C
- adds r0, r4, 0
- bl strcpy
-_080A8F44:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8F4C: .4byte gUnknown_811825C
- thumb_func_end sub_80A8EC0
-
- thumb_func_start sub_80A8F50
-sub_80A8F50:
- push {r4,r5,lr}
- sub sp, 0x80
- adds r4, r0, 0
- adds r5, r2, 0
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- bl sub_80A8EC0
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_8092310
- add sp, 0x80
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8F50
-
- thumb_func_start sub_80A8F74
-sub_80A8F74:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8F98
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r0, r3, 0
- bl sub_80A8EC0
- pop {r0}
- bx r0
- .align 2, 0
-_080A8F98: .4byte gUnknown_3001B84
- thumb_func_end sub_80A8F74
-
- thumb_func_start sub_80A8F9C
-sub_80A8F9C:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A8FC4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A8FC8
- movs r0, 0
- str r0, [r3]
- str r0, [r3, 0x4]
- b _080A8FD0
- .align 2, 0
-_080A8FC4: .4byte gUnknown_3001B84
-_080A8FC8:
- ldr r0, [r2, 0xC]
- ldr r1, [r2, 0x10]
- str r0, [r3]
- str r1, [r3, 0x4]
-_080A8FD0:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80A8F9C
-
- thumb_func_start sub_80A8FD8
-sub_80A8FD8:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A9000
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A9004
- movs r0, 0
- str r0, [r3]
- b _080A901E
- .align 2, 0
-_080A9000: .4byte gUnknown_3001B84
-_080A9004:
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x14]
- adds r0, r1
- str r0, [r3]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x18]
- adds r0, r1
-_080A901E:
- str r0, [r3, 0x4]
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80A8FD8
-
- thumb_func_start sub_80A9028
-sub_80A9028:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080A904C
- lsls r2, r0, 5
- subs r2, r0
- lsls r2, 4
- ldr r4, [r3]
- adds r4, r2
- adds r0, r4, 0
- bl sub_80A9F20
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A904C: .4byte gUnknown_3001B84
- thumb_func_end sub_80A9028
-
- thumb_func_start sub_80A9050
-sub_80A9050:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A9078
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- adds r3, r0, 0
- cmp r1, r0
- bne _080A907C
- strb r3, [r4]
- b _080A9086
- .align 2, 0
-_080A9078: .4byte gUnknown_3001B84
-_080A907C:
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- strb r0, [r4]
-_080A9086:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9050
-
- thumb_func_start sub_80A9090
-sub_80A9090:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- asrs r3, r1, 24
- ldr r2, _080A90C4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A90BA
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r2, r1
- strb r3, [r0]
-_080A90BA:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- .align 2, 0
-_080A90C4: .4byte gUnknown_3001B84
- thumb_func_end sub_80A9090
-
- thumb_func_start sub_80A90C8
-sub_80A90C8:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080A90E4
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080A90E4: .4byte gUnknown_3001B84
- thumb_func_end sub_80A90C8
-
- thumb_func_start sub_80A90E8
-sub_80A90E8:
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, r3
- beq _080A9196
- ldr r1, _080A916C
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r5, r1, r0
- lsls r0, r3, 5
- subs r0, r3
- lsls r0, 4
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080A9196
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r1
- beq _080A9196
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [sp]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r5, r2
- ldr r0, [r0]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, r4, r3
- ldr r0, [r3]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp, 0x8]
- adds r2, r4, r2
- ldr r0, [r2]
- ldr r1, [r4, 0x18]
- adds r0, r1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x24
- bgt _080A9170
- adds r1, r5, 0
- adds r1, 0xC
- adds r3, r4, 0
- adds r3, 0xC
- mov r0, sp
- bl sub_8002DF0
- b _080A917E
- .align 2, 0
-_080A916C: .4byte gUnknown_3001B84
-_080A9170:
- adds r1, r5, 0
- adds r1, 0xC
- adds r3, r4, 0
- adds r3, 0xC
- mov r0, sp
- bl sub_8002D54
-_080A917E:
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A9196
- movs r2, 0xA1
- lsls r2, 1
- adds r0, r5, r2
- strb r1, [r0]
- movs r0, 0x1
- b _080A9198
-_080A9196:
- movs r0, 0
-_080A9198:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A90E8
-
- thumb_func_start sub_80A91A0
-sub_80A91A0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- asrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- cmp r2, r4
- beq _080A928E
- ldr r1, _080A9260
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r7, r1, r0
- lsls r0, r4, 5
- subs r0, r4
- lsls r0, 4
- adds r1, r0
- mov r8, r1
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
- cmp r0, r10
- beq _080A928E
- mov r3, r8
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, r10
- beq _080A928E
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r7, r3
- ldr r0, [r0]
- ldr r1, [r7, 0x14]
- adds r0, r1
- str r0, [sp]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- ldr r1, [r7, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- add r3, r8
- ldr r0, [r3]
- mov r3, r8
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [sp, 0x8]
- add r2, r8
- ldr r0, [r2]
- ldr r1, [r3, 0x18]
- adds r0, r1
- add r4, sp, 0x8
- str r0, [r4, 0x4]
- adds r5, r7, 0
- adds r5, 0xC
- mov r6, r8
- adds r6, 0xC
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_8002DF0
- lsls r0, 24
- asrs r0, 24
- mov r9, r0
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- adds r3, r6, 0
- bl sub_8002D54
- lsls r0, 24
- asrs r1, r0, 24
- cmp r9, r10
- beq _080A928E
- cmp r1, r10
- beq _080A928E
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- cmp r0, 0x24
- bgt _080A9264
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r7, r3
- mov r2, r9
- strb r2, [r0]
- b _080A926C
- .align 2, 0
-_080A9260: .4byte gUnknown_3001B84
-_080A9264:
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r7, r3
- strb r1, [r0]
-_080A926C:
- mov r2, r8
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0x25
- bgt _080A927A
- mov r0, r9
- b _080A927C
-_080A927A:
- adds r0, r1, 0
-_080A927C:
- movs r1, 0x5
- bl sub_8002984
- movs r1, 0xA1
- lsls r1, 1
- add r1, r8
- strb r0, [r1]
- movs r0, 0x1
- b _080A9290
-_080A928E:
- movs r0, 0
-_080A9290:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A91A0
-
- thumb_func_start sub_80A92A0
-sub_80A92A0:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r1
- adds r4, r2, 0
- lsls r0, 16
- asrs r6, r0, 16
- ldr r0, _080A931C
- ldr r0, [r0]
- mov r12, r0
- movs r2, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r5, 0x80
- lsls r5, 9
-_080A92C2:
- cmp r2, r6
- beq _080A9320
- mov r1, r12
- movs r7, 0x2
- ldrsh r0, [r1, r7]
- cmp r0, r8
- beq _080A9320
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- mov r1, r9
- ands r0, r1
- cmp r0, 0
- beq _080A9320
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r3]
- cmp r1, r0
- bge _080A9320
- movs r0, 0xA6
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- ble _080A9320
- movs r0, 0xA4
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r3, 0x4]
- cmp r1, r0
- bge _080A9320
- movs r0, 0xA8
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- ble _080A9320
- adds r0, r2, 0
- b _080A9338
- .align 2, 0
-_080A931C: .4byte gUnknown_3001B84
-_080A9320:
- adds r0, r5, 0
- movs r7, 0x80
- lsls r7, 9
- adds r5, r7
- asrs r2, r0, 16
- movs r0, 0xF8
- lsls r0, 1
- add r12, r0
- cmp r2, 0x17
- ble _080A92C2
- movs r0, 0x1
- negs r0, r0
-_080A9338:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A92A0
-
- thumb_func_start sub_80A9344
-sub_80A9344:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r1
- str r2, [sp]
- adds r5, r3, 0
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- ldr r0, _080A93C4
- ldr r0, [r0]
- mov r12, r0
- movs r4, 0
- movs r0, 0x1
- negs r0, r0
- mov r10, r0
- movs r7, 0x80
- lsls r7, 9
-_080A936E:
- cmp r4, r8
- beq _080A93C8
- mov r1, r12
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, r10
- beq _080A93C8
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- mov r6, r9
- ands r0, r6
- cmp r0, 0
- beq _080A93C8
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- mov r6, r12
- ldr r0, [r6, 0x14]
- adds r2, r1, r0
- movs r0, 0xA4
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r6, 0x18]
- adds r3, r1, r0
- ldr r0, [r5]
- cmp r2, r0
- bge _080A93C8
- ldr r1, [sp]
- ldr r0, [r1]
- cmp r2, r0
- ble _080A93C8
- ldr r0, [r5, 0x4]
- cmp r3, r0
- bge _080A93C8
- ldr r0, [r1, 0x4]
- cmp r3, r0
- ble _080A93C8
- adds r0, r4, 0
- b _080A93E0
- .align 2, 0
-_080A93C4: .4byte gUnknown_3001B84
-_080A93C8:
- adds r0, r7, 0
- movs r2, 0x80
- lsls r2, 9
- adds r7, r2
- asrs r4, r0, 16
- movs r6, 0xF8
- lsls r6, 1
- add r12, r6
- cmp r4, 0x17
- ble _080A936E
- movs r0, 0x1
- negs r0, r0
-_080A93E0:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9344
-
- thumb_func_start sub_80A93F0
-sub_80A93F0:
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r2, _080A947C
- lsls r1, r0, 5
- subs r1, r0
- lsls r1, 4
- ldr r0, [r2]
- adds r0, r1
- mov r12, r0
- movs r0, 0xA2
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- bge _080A941A
- ldr r1, _080A9480
- adds r0, r1
-_080A941A:
- asrs r5, r0, 11
- str r5, [sp]
- movs r0, 0xA4
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- bge _080A942E
- ldr r7, _080A9480
- adds r0, r7
-_080A942E:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- subs r1, r0, 0x1
- cmp r1, 0
- bge _080A9444
- ldr r7, _080A9484
- adds r1, r0, r7
-_080A9444:
- asrs r2, r1, 11
- movs r0, 0xA8
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- subs r1, r0, 0x1
- cmp r1, 0
- bge _080A9458
- ldr r7, _080A9484
- adds r1, r0, r7
-_080A9458:
- asrs r3, r1, 11
- subs r0, r2, r5
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r3, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- adds r0, r6, 0
- mov r1, sp
- bl sub_80A5934
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A947C: .4byte gUnknown_3001B84
-_080A9480: .4byte 0x000007ff
-_080A9484: .4byte 0x000007fe
- thumb_func_end sub_80A93F0
-
- thumb_func_start sub_80A9488
-sub_80A9488:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- ldr r0, [r7]
- cmp r0, 0
- bge _080A94A0
- ldr r1, _080A9528
- adds r0, r1
-_080A94A0:
- asrs r0, 11
- mov r12, r0
- str r0, [sp]
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _080A94B0
- ldr r3, _080A9528
- adds r0, r3
-_080A94B0:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- mov r6, r8
- ldr r3, [r6]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A94C2
- ldr r6, _080A952C
- adds r0, r3, r6
-_080A94C2:
- asrs r1, r0, 11
- mov r0, r8
- ldr r3, [r0, 0x4]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A94D2
- ldr r6, _080A952C
- adds r0, r3, r6
-_080A94D2:
- asrs r2, r0, 11
- mov r3, r12
- subs r0, r1, r3
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r2, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _080A9504
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A585C
- lsls r0, 24
- cmp r0, 0
- bne _080A9522
-_080A9504:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A9530
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A58C8
- lsls r0, 24
- cmp r0, 0
- beq _080A9530
-_080A9522:
- movs r0, 0x1
- b _080A95A0
- .align 2, 0
-_080A9528: .4byte 0x000007ff
-_080A952C: .4byte 0x000007fe
-_080A9530:
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080A9556
- movs r6, 0
- ldrsh r0, [r5, r6]
- adds r2, r7, 0
- mov r3, r8
- bl sub_80A92A0
- lsls r0, 16
- cmp r0, 0
- blt _080A9556
- movs r0, 0x4
- b _080A95A0
-_080A9556:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080A957A
- movs r0, 0x4
- adds r1, r7, 0
- mov r2, r8
- bl sub_80AC4C8
- lsls r0, 16
- cmp r0, 0
- blt _080A957A
- movs r0, 0x8
- b _080A95A0
-_080A957A:
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080A959E
- movs r0, 0x40
- adds r1, r7, 0
- mov r2, r8
- bl sub_80ADCA0
- lsls r0, 16
- cmp r0, 0
- blt _080A959E
- movs r0, 0x10
- b _080A95A0
-_080A959E:
- movs r0, 0
-_080A95A0:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9488
-
- thumb_func_start sub_80A95AC
-sub_80A95AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- ldr r0, [r7]
- cmp r0, 0
- bge _080A95C6
- ldr r1, _080A96BC
- adds r0, r1
-_080A95C6:
- asrs r0, 11
- mov r9, r0
- str r0, [sp]
- ldr r0, [r7, 0x4]
- cmp r0, 0
- bge _080A95D6
- ldr r2, _080A96BC
- adds r0, r2
-_080A95D6:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- mov r6, r8
- ldr r3, [r6]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A95E8
- ldr r6, _080A96C0
- adds r0, r3, r6
-_080A95E8:
- asrs r1, r0, 11
- mov r0, r8
- ldr r3, [r0, 0x4]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080A95F8
- ldr r6, _080A96C0
- adds r0, r3, r6
-_080A95F8:
- asrs r2, r0, 11
- mov r3, r9
- subs r0, r1, r3
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r2, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _080A962C
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A585C
- lsls r0, 24
- cmp r0, 0
- beq _080A962C
- b _080A973C
-_080A962C:
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A964A
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A58C8
- lsls r0, 24
- cmp r0, 0
- bne _080A973C
-_080A964A:
- movs r4, 0x8E
- lsls r4, 1
- adds r0, r5, r4
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080A96C8
- movs r2, 0
- ldrsh r0, [r5, r2]
- movs r1, 0x44
- adds r2, r7, 0
- mov r3, r8
- bl sub_80A92A0
- lsls r0, 16
- asrs r2, r0, 16
- mov r9, r2
- cmp r2, 0
- blt _080A96C8
- ldr r1, _080A96C4
- lsls r0, r2, 5
- subs r0, r2
- lsls r0, 4
- ldr r1, [r1]
- adds r6, r1, r0
- adds r0, r6, r4
- ldr r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A973C
- movs r0, 0x80
- lsls r0, 2
- ands r1, r0
- cmp r1, 0
- beq _080A96A8
- adds r4, 0x26
- adds r0, r5, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x5
- bl sub_8002984
- adds r4, r6, r4
- strb r0, [r4]
-_080A96A8:
- movs r3, 0
- ldrsh r0, [r5, r3]
- mov r1, r9
- bl GroundLives_ExecutePlayerScriptActionLives
-_080A96B2:
- lsls r0, 24
- cmp r0, 0
- bne _080A9738
- b _080A973C
- .align 2, 0
-_080A96BC: .4byte 0x000007ff
-_080A96C0: .4byte 0x000007fe
-_080A96C4: .4byte gUnknown_3001B84
-_080A96C8:
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080A9708
- movs r0, 0x44
- adds r1, r7, 0
- mov r2, r8
- bl sub_80AC4C8
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _080A9708
- add r1, sp, 0x10
- adds r0, r4, 0
- bl sub_80AC3E0
- ldr r0, [sp, 0x10]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A973C
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r1, r4, 0
- bl sub_80A8A5C
- b _080A96B2
-_080A9708:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r5, r2
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080A9740
- movs r0, 0x40
- adds r1, r7, 0
- mov r2, r8
- bl sub_80ADCA0
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _080A9740
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl sub_80A8ACC
- lsls r0, 24
- cmp r0, 0
- beq _080A973C
-_080A9738:
- movs r0, 0x2
- b _080A9742
-_080A973C:
- movs r0, 0x1
- b _080A9742
-_080A9740:
- movs r0, 0
-_080A9742:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A95AC
-
- thumb_func_start sub_80A9750
-sub_80A9750:
- push {r4,lr}
- mov r12, r0
- lsls r1, 16
- lsrs r1, 16
- adds r4, r1, 0
- movs r3, 0xFF
- ands r3, r1
- movs r2, 0xF0
- lsls r2, 4
- ands r2, r1
- cmp r3, 0
- beq _080A9770
- movs r0, 0xB0
- lsls r0, 1
- add r0, r12
- strh r3, [r0]
-_080A9770:
- cmp r2, 0
- beq _080A977C
- movs r0, 0xAF
- lsls r0, 1
- add r0, r12
- strh r2, [r0]
-_080A977C:
- movs r2, 0xB0
- lsls r2, 1
- add r2, r12
- ldrh r0, [r2]
- cmp r0, 0x1
- bne _080A97A8
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- beq _080A97B6
- movs r0, 0xB2
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- ldr r2, _080A97A4
- cmp r0, 0
- bgt _080A97A0
- b _080A9E98
-_080A97A0:
- b _080A97C0
- .align 2, 0
-_080A97A4: .4byte 0x00000807
-_080A97A8:
- cmp r0, 0x2
- beq _080A97AE
- b _080A9E8C
-_080A97AE:
- movs r0, 0x80
- lsls r0, 5
- cmp r4, r0
- bne _080A97C6
-_080A97B6:
- movs r1, 0xB2
- lsls r1, 1
- add r1, r12
- movs r0, 0x4
- str r0, [r1]
-_080A97C0:
- movs r2, 0x80
- lsls r2, 4
- b _080A9E98
-_080A97C6:
- movs r0, 0xB2
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- cmp r0, 0
- bgt _080A97C0
- mov r1, r12
- ldrh r0, [r1, 0x8]
- subs r0, 0xC
- lsls r0, 16
- asrs r1, r0, 16
- ldr r0, _080A97F0
- cmp r1, r0
- bls _080A97E4
- b _080A9E7E
-_080A97E4:
- lsls r0, r1, 2
- ldr r1, _080A97F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A97F0: .4byte 0x00000197
-_080A97F4: .4byte _080A97F8
- .align 2, 0
-_080A97F8:
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E68
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E60
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E60
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E7E
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
- .4byte _080A9E58
-_080A9E58:
- ldr r2, _080A9E5C
- b _080A9E98
- .align 2, 0
-_080A9E5C: .4byte 0x00000807
-_080A9E60:
- ldr r2, _080A9E64
- b _080A9E98
- .align 2, 0
-_080A9E64: .4byte 0x00000307
-_080A9E68:
- movs r0, 0xB4
- lsls r0, 1
- add r0, r12
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r2, _080A9E84
- cmp r1, r2
- beq _080A9E98
- ldr r0, _080A9E88
- cmp r1, r0
- beq _080A9E98
-_080A9E7E:
- movs r2, 0xC0
- lsls r2, 2
- b _080A9E98
- .align 2, 0
-_080A9E84: .4byte 0x00000807
-_080A9E88: .4byte 0x00000307
-_080A9E8C:
- ldr r1, _080A9EC4
- ldrh r0, [r2]
- lsls r0, 1
- adds r0, r1
- movs r4, 0
- ldrsh r2, [r0, r4]
-_080A9E98:
- movs r0, 0xE0
- lsls r0, 3
- ands r0, r2
- cmp r0, 0
- bne _080A9EEE
- movs r0, 0xAF
- lsls r0, 1
- add r0, r12
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 2
- cmp r1, r0
- beq _080A9EEE
- cmp r1, r0
- bgt _080A9EC8
- movs r3, 0x80
- lsls r3, 1
- cmp r1, r3
- beq _080A9EDA
- movs r0, 0x80
- lsls r0, 2
- b _080A9ED4
- .align 2, 0
-_080A9EC4: .4byte gUnknown_8117F64
-_080A9EC8:
- movs r3, 0x80
- lsls r3, 3
- cmp r1, r3
- beq _080A9EDE
- movs r0, 0x80
- lsls r0, 4
-_080A9ED4:
- cmp r1, r0
- beq _080A9EEC
- b _080A9EEE
-_080A9EDA:
- orrs r2, r0
- b _080A9EEE
-_080A9EDE:
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1, 0
- orrs r2, r0
- lsls r0, r2, 16
- asrs r2, r0, 16
- b _080A9EEE
-_080A9EEC:
- orrs r2, r3
-_080A9EEE:
- movs r1, 0xB4
- lsls r1, 1
- add r1, r12
- ldrh r3, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, r2
- beq _080A9F02
- strh r2, [r1]
- b _080A9F0C
-_080A9F02:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r3
- cmp r0, 0
- beq _080A9F16
-_080A9F0C:
- movs r1, 0xAE
- lsls r1, 1
- add r1, r12
- movs r0, 0x1
- strb r0, [r1]
-_080A9F16:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9750
-
- thumb_func_start sub_80A9F20
-sub_80A9F20:
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldr r2, [r1]
- ldr r4, [r5, 0x14]
- subs r0, r2, r4
- str r0, [sp]
- ldr r3, [r1, 0x4]
- ldr r1, [r5, 0x18]
- subs r0, r3, r1
- str r0, [sp, 0x4]
- adds r2, r4
- str r2, [sp, 0x8]
- adds r3, r1
- add r2, sp, 0x8
- str r3, [r2, 0x4]
- ldr r1, [r5, 0x28]
- ldr r0, [sp]
- cmp r0, r1
- blt _080A9F5E
- ldr r1, [r5, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- bge _080A9F5E
- ldr r1, [r5, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- blt _080A9F5E
- ldr r0, [r5, 0x34]
- cmp r3, r0
- blt _080A9F62
-_080A9F5E:
- movs r0, 0x1
- b _080A9F8C
-_080A9F62:
- adds r0, r5, 0
- mov r1, sp
- bl sub_80A9488
- cmp r0, 0
- bne _080A9F8C
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0
-_080A9F8C:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9F20
-
- thumb_func_start sub_80A9F94
-sub_80A9F94:
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- ldr r2, [r1]
- adds r0, r2
- str r0, [sp]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, 0x4
- adds r0, r4, r3
- ldr r0, [r0]
- adds r0, r2
- str r0, [sp, 0x8]
- movs r2, 0xA8
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, r1
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- movs r6, 0
- ldr r3, [r4, 0x28]
- ldr r0, [sp]
- adds r2, r1, 0
- cmp r0, r3
- bge _080A9FE4
- str r3, [sp]
- ldr r0, [r4, 0xC]
- adds r0, r3, r0
- str r0, [sp, 0x8]
- b _080A9FF4
-_080A9FE4:
- ldr r1, [r4, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080A9FF6
- ldr r0, [r4, 0xC]
- subs r0, r1, r0
- str r0, [sp]
- str r1, [sp, 0x8]
-_080A9FF4:
- movs r6, 0x1
-_080A9FF6:
- ldr r1, [r4, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- bge _080AA008
- str r1, [sp, 0x4]
- ldr r0, [r4, 0x10]
- adds r0, r1, r0
- str r0, [r2, 0x4]
- b _080AA018
-_080AA008:
- ldr r1, [r4, 0x34]
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AA01A
- ldr r0, [r4, 0x10]
- subs r0, r1, r0
- str r0, [sp, 0x4]
- str r1, [r2, 0x4]
-_080AA018:
- movs r6, 0x1
-_080AA01A:
- adds r0, r4, 0
- mov r1, sp
- bl sub_80A9488
- adds r5, r0, 0
- cmp r5, 0
- beq _080AA034
- adds r0, r4, 0
- movs r1, 0
- bl sub_80AAF68
- adds r0, r5, 0
- b _080AA06A
-_080AA034:
- movs r3, 0xA2
- lsls r3, 1
- adds r2, r4, r3
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r4, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r6, 0
- bne _080AA060
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80AAF68
- movs r0, 0
- b _080AA06A
-_080AA060:
- adds r0, r4, 0
- movs r1, 0
- bl sub_80AAF68
- movs r0, 0x1
-_080AA06A:
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9F94
-
- thumb_func_start sub_80AA074
-sub_80AA074:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- ldr r2, [r1]
- adds r0, r2
- str r0, [sp]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, 0x4
- adds r0, r4, r3
- ldr r0, [r0]
- adds r0, r2
- str r0, [sp, 0x8]
- movs r2, 0xA8
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, r1
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- ldr r3, [r4, 0x28]
- ldr r0, [sp]
- adds r5, r1, 0
- cmp r0, r3
- bge _080AA0C2
- str r3, [sp]
- ldr r0, [r4, 0xC]
- adds r0, r3, r0
- str r0, [sp, 0x8]
- b _080AA0D2
-_080AA0C2:
- ldr r1, [r4, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080AA0D2
- ldr r0, [r4, 0xC]
- subs r0, r1, r0
- str r0, [sp]
- str r1, [sp, 0x8]
-_080AA0D2:
- ldr r1, [r4, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- bge _080AA0E4
- str r1, [sp, 0x4]
- ldr r0, [r4, 0x10]
- adds r0, r1, r0
- str r0, [r5, 0x4]
- b _080AA0F4
-_080AA0E4:
- ldr r1, [r4, 0x34]
- ldr r0, [r5, 0x4]
- cmp r0, r1
- blt _080AA0F4
- ldr r0, [r4, 0x10]
- subs r0, r1, r0
- str r0, [sp, 0x4]
- str r1, [r5, 0x4]
-_080AA0F4:
- adds r0, r4, 0
- mov r1, sp
- adds r2, r5, 0
- bl sub_80A95AC
- adds r6, r0, 0
- cmp r6, 0
- bne _080AA170
- movs r3, 0xA2
- lsls r3, 1
- adds r2, r4, r3
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r4, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AA170
- movs r0, 0x20
- mov r1, sp
- adds r2, r5, 0
- bl sub_80ADCA0
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- blt _080AA166
- movs r2, 0x9F
- lsls r2, 1
- adds r7, r4, r2
- movs r3, 0
- ldrsh r0, [r7, r3]
- cmp r0, r5
- beq _080AA170
- movs r1, 0
- ldrsh r0, [r4, r1]
- adds r1, r5, 0
- bl sub_80A8ACC
- lsls r0, 24
- cmp r0, 0
- beq _080AA170
- strh r5, [r7]
- movs r6, 0x2
- b _080AA170
-_080AA166:
- movs r2, 0x9F
- lsls r2, 1
- adds r1, r4, r2
- ldr r0, _080AA17C
- strh r0, [r1]
-_080AA170:
- adds r0, r6, 0
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AA17C: .4byte 0x0000ffff
- thumb_func_end sub_80AA074
-
- thumb_func_start sub_80AA180
-sub_80AA180:
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _080AA220
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- bl sub_80A9344
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080AA220
- mov r1, sp
- bl sub_80A8FD8
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r4, r2
- ldr r1, [r0]
- ldr r0, [r4, 0x14]
- adds r1, r0
- ldr r0, [sp]
- subs r0, r1
- str r0, [sp, 0x8]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r4, 0x18]
- adds r0, r1
- ldr r1, [sp, 0x4]
- subs r1, r0
- add r0, sp, 0x8
- str r1, [r0, 0x4]
- bl sub_8002C60
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AA2B2
- movs r0, 0xA1
- lsls r0, 1
- adds r2, r4, r0
- lsls r0, r1, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r3, _080AA21C
- adds r1, r4, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AA20A
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AA20A:
- movs r1, 0
- ldrsb r1, [r2, r1]
- adds r0, r4, 0
- bl sub_80AA3F8
- lsls r0, 24
- cmp r0, 0
- bne _080AA2AE
- b _080AA2B2
- .align 2, 0
-_080AA21C: .4byte 0x0000015d
-_080AA220:
- movs r0, 0x8
- ands r0, r5
- cmp r0, 0
- beq _080AA2B2
- movs r0, 0x80
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_80AC554
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- blt _080AA2B2
- mov r1, sp
- bl sub_80AC448
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, [r4, 0x14]
- adds r1, r0
- ldr r0, [sp]
- subs r0, r1
- str r0, [sp, 0x8]
- add r0, sp, 0x8
- movs r2, 0xA4
- lsls r2, 1
- adds r1, r4, r2
- ldr r2, [r1]
- ldr r1, [r4, 0x18]
- adds r2, r1
- ldr r1, [sp, 0x4]
- subs r1, r2
- str r1, [r0, 0x4]
- bl sub_8002C60
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AA2B2
- movs r3, 0xA1
- lsls r3, 1
- adds r2, r4, r3
- lsls r0, r1, 24
- lsrs r0, 24
- strb r0, [r2]
- adds r3, 0x1B
- adds r1, r4, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AA29E
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AA29E:
- movs r1, 0
- ldrsb r1, [r2, r1]
- adds r0, r4, 0
- bl sub_80AA3F8
- lsls r0, 24
- cmp r0, 0
- beq _080AA2B2
-_080AA2AE:
- movs r0, 0x3
- b _080AA2B4
-_080AA2B2:
- movs r0, 0
-_080AA2B4:
- add sp, 0x10
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA180
-
- thumb_func_start sub_80AA2BC
-sub_80AA2BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- adds r7, r0, 0
- mov r8, r1
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, [sp]
- cmp r0, 0
- bge _080AA2E6
- ldr r1, _080AA3C4
- adds r0, r1
-_080AA2E6:
- asrs r0, 11
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bge _080AA2F4
- ldr r2, _080AA3C4
- adds r0, r2
-_080AA2F4:
- asrs r0, 11
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- ldr r4, [sp, 0x10]
- subs r0, r4, 0x1
- mov r10, r1
- cmp r0, 0
- bge _080AA308
- ldr r1, _080AA3C8
- adds r0, r4, r1
-_080AA308:
- asrs r2, r0, 11
- add r0, sp, 0x10
- ldr r4, [r0, 0x4]
- subs r1, r4, 0x1
- mov r9, r0
- cmp r1, 0
- bge _080AA31A
- ldr r0, _080AA3C8
- adds r1, r4, r0
-_080AA31A:
- asrs r3, r1, 11
- ldr r0, [sp, 0x8]
- subs r0, r2, r0
- adds r0, 0x1
- str r0, [sp, 0x18]
- mov r1, r10
- ldr r0, [r1, 0x4]
- subs r0, r3, r0
- adds r0, 0x1
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0x4
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- beq _080AA394
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r1, 0x80
- mov r2, sp
- mov r3, r9
- bl sub_80A92A0
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0
- blt _080AA394
- ldr r1, _080AA3CC
- lsls r0, r5, 5
- subs r0, r5
- lsls r0, 4
- ldr r1, [r1]
- adds r6, r1, r0
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r6, r2
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 2
- ands r0, r1
- cmp r0, 0
- beq _080AA384
- movs r4, 0xA1
- lsls r4, 1
- adds r0, r7, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x5
- bl sub_8002984
- adds r4, r6, r4
- strb r0, [r4]
-_080AA384:
- movs r1, 0
- ldrsh r0, [r7, r1]
- adds r1, r5, 0
- bl GroundLives_ExecutePlayerScriptActionLives
- lsls r0, 24
- cmp r0, 0
- bne _080AA3BE
-_080AA394:
- movs r0, 0x8
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- beq _080AA3D0
- movs r0, 0x80
- mov r1, sp
- mov r2, r9
- bl sub_80AC4C8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _080AA3D0
- movs r2, 0
- ldrsh r0, [r7, r2]
- bl sub_80A8A5C
- lsls r0, 24
- cmp r0, 0
- beq _080AA3D0
-_080AA3BE:
- movs r0, 0x3
- b _080AA3E6
- .align 2, 0
-_080AA3C4: .4byte 0x000007ff
-_080AA3C8: .4byte 0x000007fe
-_080AA3CC: .4byte gUnknown_3001B84
-_080AA3D0:
- movs r0, 0x10
- mov r1, r10
- add r2, sp, 0x18
- bl sub_80A595C
- lsls r0, 24
- cmp r0, 0
- bne _080AA3E4
- movs r0, 0
- b _080AA3E6
-_080AA3E4:
- movs r0, 0x6
-_080AA3E6:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA2BC
-
- thumb_func_start sub_80AA3F8
-sub_80AA3F8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x40
- adds r6, r0, 0
- lsls r1, 24
- asrs r1, 24
- str r1, [sp, 0x28]
- movs r2, 0x80
- lsls r2, 1
- mov r0, sp
- bl sub_8002BB8
- ldr r4, [sp]
- ldr r5, [sp, 0x4]
- movs r0, 0xA2
- lsls r0, 1
- adds r0, r6
- mov r9, r0
- ldr r0, [r0]
- adds r0, r4
- str r0, [sp, 0x8]
- movs r1, 0xA4
- lsls r1, 1
- adds r1, r6
- mov r10, r1
- ldr r0, [r1]
- adds r0, r5
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r1, 0xA6
- lsls r1, 1
- adds r0, r6, r1
- ldr r0, [r0]
- adds r0, r4
- str r0, [sp, 0x10]
- adds r1, 0x4
- adds r0, r6, r1
- ldr r0, [r0]
- adds r0, r5
- add r3, sp, 0x10
- str r0, [r3, 0x4]
- adds r0, r6, 0
- movs r1, 0xC
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- bne _080AA462
-_080AA45E:
- movs r0, 0x1
- b _080AA650
-_080AA462:
- ldr r0, [r6, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r2, 0x80
- lsls r2, 2
- mov r8, r2
- add r0, r8
- muls r0, r4
- cmp r0, 0
- bge _080AA47A
- adds r0, 0xFF
-_080AA47A:
- asrs r0, 8
- str r0, [sp, 0x2C]
- ldr r0, [r6, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- add r0, r8
- muls r0, r5
- cmp r0, 0
- bge _080AA490
- adds r0, 0xFF
-_080AA490:
- asrs r0, 8
- str r0, [sp, 0x30]
- mov r1, r9
- ldr r0, [r1]
- ldr r1, [r6, 0x14]
- adds r0, r1
- ldr r2, [sp, 0x2C]
- adds r0, r2
- ldr r2, _080AA4F4
- adds r0, r2
- str r0, [sp, 0x18]
- mov r1, r10
- ldr r0, [r1]
- ldr r1, [r6, 0x18]
- adds r0, r1
- ldr r1, [sp, 0x30]
- adds r0, r1
- adds r0, r2
- add r2, sp, 0x18
- str r0, [r2, 0x4]
- movs r1, 0xC0
- lsls r1, 3
- ldr r0, [sp, 0x18]
- adds r0, r1
- str r0, [sp, 0x20]
- ldr r0, [r2, 0x4]
- adds r0, r1
- add r3, sp, 0x20
- str r0, [r3, 0x4]
- ldr r0, _080AA4F8
- mov r9, r0
- ldr r0, [sp, 0x28]
- lsls r1, r0, 2
- add r9, r1
- mov r0, r9
- ldr r0, [r0]
- str r0, [sp, 0x34]
- ldr r0, _080AA4FC
- adds r0, r1, r0
- ldr r0, [r0]
- str r0, [sp, 0x38]
- ldr r0, _080AA500
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x3C]
- mov r10, r8
- mov r9, r2
- mov r8, r3
- b _080AA568
- .align 2, 0
-_080AA4F4: .4byte 0xfffffd00
-_080AA4F8: .4byte gUnknown_8117FF0
-_080AA4FC: .4byte gUnknown_8118010
-_080AA500: .4byte gUnknown_8118030
-_080AA504:
- ldr r1, [r6, 0x28]
- ldr r0, [sp, 0x18]
- cmp r0, r1
- bge _080AA50E
- b _080AA64E
-_080AA50E:
- ldr r1, [r6, 0x30]
- ldr r0, [sp, 0x20]
- cmp r0, r1
- blt _080AA518
- b _080AA64E
-_080AA518:
- ldr r1, [r6, 0x2C]
- mov r2, r9
- ldr r0, [r2, 0x4]
- cmp r0, r1
- bge _080AA524
- b _080AA64E
-_080AA524:
- ldr r1, [r6, 0x34]
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AA530
- b _080AA64E
-_080AA530:
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, r9
- mov r3, r8
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- beq _080AA45E
- ldr r0, [sp, 0x18]
- adds r0, r4
- str r0, [sp, 0x18]
- mov r1, r9
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x20]
- adds r0, r4
- str r0, [sp, 0x20]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- cmp r7, 0x6
- beq _080AA572
- movs r0, 0x80
- lsls r0, 1
- add r10, r0
-_080AA568:
- ldr r1, [sp, 0x34]
- cmp r10, r1
- blt _080AA504
- cmp r7, 0x6
- bne _080AA64E
-_080AA572:
- ldr r2, [sp, 0x38]
- cmp r10, r2
- bge _080AA5DC
-_080AA578:
- ldr r1, [sp, 0x18]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AA64E
- ldr r1, [sp, 0x20]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AA64E
- mov r0, r9
- ldr r1, [r0, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AA64E
- mov r2, r8
- ldr r1, [r2, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AA64E
- adds r0, r6, 0
- movs r1, 0x4
- mov r2, r9
- mov r3, r8
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- bne _080AA5B0
- b _080AA45E
-_080AA5B0:
- ldr r0, [sp, 0x18]
- adds r0, r4
- str r0, [sp, 0x18]
- mov r1, r9
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x20]
- adds r0, r4
- str r0, [sp, 0x20]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- cmp r7, 0x6
- bne _080AA5E0
- movs r0, 0x80
- lsls r0, 1
- add r10, r0
- ldr r1, [sp, 0x38]
- cmp r10, r1
- blt _080AA578
-_080AA5DC:
- cmp r7, 0x6
- beq _080AA64E
-_080AA5E0:
- movs r2, 0
- mov r10, r2
- ldr r0, [sp, 0x3C]
- cmp r10, r0
- bge _080AA64E
-_080AA5EA:
- ldr r1, [sp, 0x18]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AA64E
- ldr r1, [sp, 0x20]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AA64E
- mov r2, r9
- ldr r1, [r2, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AA64E
- mov r0, r8
- ldr r1, [r0, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AA64E
- adds r0, r6, 0
- movs r1, 0x4
- mov r2, r9
- mov r3, r8
- bl sub_80AA2BC
- adds r7, r0, 0
- cmp r7, 0x3
- bne _080AA622
- b _080AA45E
-_080AA622:
- cmp r7, 0x6
- beq _080AA64E
- ldr r0, [sp, 0x18]
- adds r0, r4
- str r0, [sp, 0x18]
- mov r1, r9
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x20]
- adds r0, r4
- str r0, [sp, 0x20]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- movs r0, 0x80
- lsls r0, 1
- add r10, r0
- ldr r1, [sp, 0x3C]
- cmp r10, r1
- blt _080AA5EA
-_080AA64E:
- movs r0, 0
-_080AA650:
- add sp, 0x40
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA3F8
-
- thumb_func_start sub_80AA660
-sub_80AA660:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x80
- lsls r0, 1
- bl sub_80AC4C8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _080AA686
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_80A8A5C
- lsls r0, 24
- cmp r0, 0
- beq _080AA686
- movs r0, 0x4
- b _080AA688
-_080AA686:
- movs r0, 0
-_080AA688:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA660
-
- thumb_func_start sub_80AA690
-sub_80AA690:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r7, r0, 0
- lsls r1, 24
- asrs r1, 24
- mov r9, r1
- movs r2, 0x80
- lsls r2, 1
- mov r0, sp
- bl sub_8002BB8
- ldr r5, [sp]
- ldr r6, [sp, 0x4]
- ldr r0, [r7, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x80
- lsls r1, 2
- mov r8, r1
- add r0, r8
- muls r0, r5
- cmp r0, 0
- bge _080AA6CA
- adds r0, 0xFF
-_080AA6CA:
- asrs r3, r0, 8
- ldr r0, [r7, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- add r0, r8
- muls r0, r6
- cmp r0, 0
- bge _080AA6DE
- adds r0, 0xFF
-_080AA6DE:
- asrs r4, r0, 8
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r7, r2
- ldr r0, [r0]
- ldr r1, [r7, 0x14]
- adds r0, r1
- adds r0, r3
- ldr r2, _080AA76C
- adds r0, r2
- str r0, [sp, 0x8]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- ldr r0, [r0]
- ldr r1, [r7, 0x18]
- adds r0, r1
- adds r0, r4
- adds r0, r2
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r1, 0xC0
- lsls r1, 3
- ldr r0, [sp, 0x8]
- adds r0, r1
- str r0, [sp, 0x10]
- ldr r0, [r2, 0x4]
- adds r0, r1
- add r3, sp, 0x10
- str r0, [r3, 0x4]
- ldr r1, _080AA770
- mov r4, r9
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- mov r10, r0
- mov r9, r8
- mov r8, r2
- adds r4, r3, 0
- cmp r9, r10
- bge _080AA79C
-_080AA730:
- ldr r1, [r7, 0x28]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080AA79C
- ldr r1, [r7, 0x30]
- ldr r0, [sp, 0x10]
- cmp r0, r1
- bge _080AA79C
- ldr r1, [r7, 0x2C]
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AA79C
- ldr r1, [r7, 0x34]
- ldr r0, [r4, 0x4]
- cmp r0, r1
- bge _080AA79C
- adds r0, r7, 0
- mov r1, r8
- adds r2, r4, 0
- bl sub_80AA660
- cmp r0, 0x4
- beq _080AA774
- cmp r0, 0x4
- bhi _080AA778
- cmp r0, 0
- bne _080AA778
- b _080AA79C
- .align 2, 0
-_080AA76C: .4byte 0xfffffd00
-_080AA770: .4byte gUnknown_8117FF0
-_080AA774:
- movs r0, 0x1
- b _080AA79E
-_080AA778:
- ldr r0, [sp, 0x8]
- adds r0, r5
- str r0, [sp, 0x8]
- mov r1, r8
- ldr r0, [r1, 0x4]
- adds r0, r6
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x10]
- adds r0, r5
- str r0, [sp, 0x10]
- ldr r0, [r4, 0x4]
- adds r0, r6
- str r0, [r4, 0x4]
- movs r2, 0x80
- lsls r2, 1
- add r9, r2
- cmp r9, r10
- blt _080AA730
-_080AA79C:
- movs r0, 0
-_080AA79E:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA690
-
- thumb_func_start sub_80AA7B0
-sub_80AA7B0:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x20
- adds r7, r0, 0
- adds r6, r1, 0
- mov r12, r2
- ldr r2, [sp, 0x38]
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- ldr r0, [sp]
- cmp r0, 0
- bge _080AA7DA
- ldr r1, _080AA884
- adds r0, r1
-_080AA7DA:
- asrs r0, 11
- str r0, [sp, 0x8]
- ldr r0, [sp, 0x4]
- cmp r0, 0
- bge _080AA7E8
- ldr r2, _080AA884
- adds r0, r2
-_080AA7E8:
- asrs r0, 11
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- ldr r4, [sp, 0x10]
- subs r0, r4, 0x1
- mov r8, r1
- cmp r0, 0
- bge _080AA7FC
- ldr r5, _080AA888
- adds r0, r4, r5
-_080AA7FC:
- asrs r2, r0, 11
- add r4, sp, 0x10
- ldr r1, [r4, 0x4]
- subs r0, r1, 0x1
- cmp r0, 0
- bge _080AA80C
- ldr r5, _080AA888
- adds r0, r1, r5
-_080AA80C:
- asrs r3, r0, 11
- ldr r0, [sp, 0x8]
- subs r0, r2, r0
- adds r0, 0x1
- str r0, [sp, 0x18]
- mov r1, r8
- ldr r0, [r1, 0x4]
- subs r0, r3, r0
- adds r0, 0x1
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0x4
- mov r2, r12
- ands r0, r2
- adds r5, r1, 0
- cmp r0, 0
- beq _080AA890
- movs r1, 0
- ldrsh r0, [r7, r1]
- movs r1, 0x80
- mov r2, sp
- adds r3, r4, 0
- bl sub_80A92A0
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _080AA890
- adds r0, r4, 0
- bl sub_80A8BBC
- lsls r0, 16
- ldr r2, _080AA88C
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0xF
- bhi _080AA890
- adds r0, r4, 0
- bl sub_80A8E9C
- cmp r0, 0
- beq _080AA890
- strh r4, [r6]
- movs r5, 0xA1
- lsls r5, 1
- adds r0, r7, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x5
- bl sub_8002984
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r4, 0
- bl sub_80A9090
- movs r0, 0x5
- b _080AA8AE
- .align 2, 0
-_080AA884: .4byte 0x000007ff
-_080AA888: .4byte 0x000007fe
-_080AA88C: .4byte 0xfff20000
-_080AA890:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r6]
- movs r0, 0x10
- mov r1, r8
- adds r2, r5, 0
- bl sub_80A595C
- lsls r0, 24
- cmp r0, 0
- bne _080AA8AC
- movs r0, 0
- b _080AA8AE
-_080AA8AC:
- movs r0, 0x6
-_080AA8AE:
- add sp, 0x20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA7B0
-
- thumb_func_start sub_80AA8BC
-sub_80AA8BC:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r6, r0, 0
- str r1, [sp, 0x1C]
- lsls r2, 24
- asrs r2, 24
- mov r8, r2
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x4
- mov r1, r8
- bl sub_8002BB8
- ldr r4, [sp, 0x4]
- ldr r5, [sp, 0x8]
- ldr r0, [r6, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- movs r1, 0x80
- lsls r1, 2
- mov r9, r1
- add r0, r9
- muls r0, r4
- cmp r0, 0
- bge _080AA8FA
- adds r0, 0xFF
-_080AA8FA:
- asrs r0, 8
- str r0, [sp, 0x20]
- ldr r0, [r6, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- add r0, r9
- muls r0, r5
- cmp r0, 0
- bge _080AA910
- adds r0, 0xFF
-_080AA910:
- asrs r0, 8
- str r0, [sp, 0x24]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r6, r2
- ldr r0, [r0]
- ldr r1, [r6, 0x14]
- adds r0, r1
- ldr r7, [sp, 0x20]
- adds r0, r7
- ldr r2, _080AA9F0
- adds r0, r2
- str r0, [sp, 0xC]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- ldr r0, [r0]
- ldr r1, [r6, 0x18]
- adds r0, r1
- ldr r7, [sp, 0x24]
- adds r0, r7
- adds r0, r2
- add r2, sp, 0xC
- str r0, [r2, 0x4]
- movs r1, 0xC0
- lsls r1, 3
- ldr r0, [sp, 0xC]
- adds r0, r1
- str r0, [sp, 0x14]
- ldr r0, [r2, 0x4]
- adds r0, r1
- add r3, sp, 0x14
- str r0, [r3, 0x4]
- ldr r0, _080AA9F4
- mov r7, r8
- lsls r1, r7, 2
- adds r0, r1, r0
- ldr r0, [r0]
- mov r10, r0
- ldr r0, _080AA9F8
- adds r0, r1, r0
- ldr r0, [r0]
- str r0, [sp, 0x28]
- ldr r0, _080AA9FC
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0x2C]
- movs r1, 0
- movs r7, 0x1
- negs r7, r7
- adds r0, r7, 0
- ldr r7, [sp, 0x1C]
- strh r0, [r7]
- mov r8, r2
- adds r7, r3, 0
- cmp r9, r10
- bge _080AA9E8
-_080AA982:
- ldr r1, [r6, 0x28]
- ldr r0, [sp, 0xC]
- cmp r0, r1
- bge _080AA98C
- b _080AAAD4
-_080AA98C:
- ldr r1, [r6, 0x30]
- ldr r0, [sp, 0x14]
- cmp r0, r1
- blt _080AA996
- b _080AAAD4
-_080AA996:
- ldr r1, [r6, 0x2C]
- mov r2, r8
- ldr r0, [r2, 0x4]
- cmp r0, r1
- bge _080AA9A2
- b _080AAAD4
-_080AA9A2:
- ldr r1, [r6, 0x34]
- ldr r0, [r7, 0x4]
- cmp r0, r1
- blt _080AA9AC
- b _080AAAD4
-_080AA9AC:
- str r7, [sp]
- adds r0, r6, 0
- ldr r1, [sp, 0x1C]
- movs r2, 0xC
- mov r3, r8
- bl sub_80AA7B0
- adds r1, r0, 0
- cmp r1, 0x5
- beq _080AAA66
- ldr r0, [sp, 0xC]
- adds r0, r4
- str r0, [sp, 0xC]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- ldr r0, [sp, 0x14]
- adds r0, r4
- str r0, [sp, 0x14]
- ldr r0, [r7, 0x4]
- adds r0, r5
- str r0, [r7, 0x4]
- cmp r1, 0x6
- beq _080AAA5A
- movs r0, 0x80
- lsls r0, 1
- add r9, r0
- cmp r9, r10
- blt _080AA982
-_080AA9E8:
- cmp r1, 0x6
- bne _080AAAD4
- b _080AAA5A
- .align 2, 0
-_080AA9F0: .4byte 0xfffffd00
-_080AA9F4: .4byte gUnknown_8117FF0
-_080AA9F8: .4byte gUnknown_8118010
-_080AA9FC: .4byte gUnknown_8118030
-_080AAA00:
- ldr r1, [sp, 0xC]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [sp, 0x14]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AAAD4
- mov r0, r8
- ldr r1, [r0, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [r7, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AAAD4
- str r7, [sp]
- adds r0, r6, 0
- ldr r1, [sp, 0x1C]
- movs r2, 0x4
- mov r3, r8
- bl sub_80AA7B0
- adds r1, r0, 0
- cmp r1, 0x5
- beq _080AAA66
- ldr r0, [sp, 0xC]
- adds r0, r4
- str r0, [sp, 0xC]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r5
- str r0, [r2, 0x4]
- ldr r0, [sp, 0x14]
- adds r0, r4
- str r0, [sp, 0x14]
- ldr r0, [r7, 0x4]
- adds r0, r5
- str r0, [r7, 0x4]
- cmp r1, 0x6
- bne _080AAA6A
- movs r0, 0x80
- lsls r0, 1
- add r9, r0
-_080AAA5A:
- ldr r2, [sp, 0x28]
- cmp r9, r2
- blt _080AAA00
- cmp r1, 0x6
- bne _080AAA6A
- b _080AAAD4
-_080AAA66:
- movs r0, 0x1
- b _080AAAD6
-_080AAA6A:
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x2C]
- cmp r9, r1
- bge _080AAAD4
-_080AAA74:
- ldr r1, [sp, 0xC]
- ldr r0, [r6, 0x28]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [sp, 0x14]
- ldr r0, [r6, 0x30]
- cmp r1, r0
- bge _080AAAD4
- mov r2, r8
- ldr r1, [r2, 0x4]
- ldr r0, [r6, 0x2C]
- cmp r1, r0
- blt _080AAAD4
- ldr r1, [r7, 0x4]
- ldr r0, [r6, 0x34]
- cmp r1, r0
- bge _080AAAD4
- str r7, [sp]
- adds r0, r6, 0
- ldr r1, [sp, 0x1C]
- movs r2, 0x4
- mov r3, r8
- bl sub_80AA7B0
- adds r1, r0, 0
- cmp r1, 0x5
- beq _080AAA66
- cmp r1, 0x6
- beq _080AAAD4
- ldr r0, [sp, 0xC]
- adds r0, r4
- str r0, [sp, 0xC]
- mov r1, r8
- ldr r0, [r1, 0x4]
- adds r0, r5
- str r0, [r1, 0x4]
- ldr r0, [sp, 0x14]
- adds r0, r4
- str r0, [sp, 0x14]
- ldr r0, [r7, 0x4]
- adds r0, r5
- str r0, [r7, 0x4]
- movs r2, 0x80
- lsls r2, 1
- add r9, r2
- ldr r0, [sp, 0x2C]
- cmp r9, r0
- blt _080AAA74
-_080AAAD4:
- movs r0, 0
-_080AAAD6:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AA8BC
-
- thumb_func_start sub_80AAAE8
-sub_80AAAE8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x80
- adds r5, r0, 0
- adds r3, r1, 0
- lsls r2, 24
- asrs r4, r2, 24
- movs r0, 0x1
- negs r0, r0
- str r0, [sp, 0x78]
- movs r2, 0xAF
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r6, 0xB0
- lsls r6, 1
- adds r1, r5, r6
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, [sp, 0x78]
- cmp r4, r0
- beq _080AAB26
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r5, r1
- strb r4, [r0]
-_080AAB26:
- subs r0, r3, 0x1
- cmp r0, 0x13
- bls _080AAB2E
- b _080AAEB8
-_080AAB2E:
- lsls r0, 2
- ldr r1, _080AAB38
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AAB38: .4byte _080AAB3C
- .align 2, 0
-_080AAB3C:
- .4byte _080AAB8C
- .4byte _080AAD60
- .4byte _080AAC9C
- .4byte _080AAC9C
- .4byte _080AAC9C
- .4byte _080AAB9E
- .4byte _080AAB9E
- .4byte _080AAB9E
- .4byte _080AAD7C
- .4byte _080AADF4
- .4byte _080AAE06
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAEB8
- .4byte _080AAE32
- .4byte _080AAE9C
-_080AAB8C:
- movs r4, 0xB2
- lsls r4, 1
- adds r1, r5, r4
- movs r0, 0
- str r0, [r1]
- movs r6, 0xC0
- lsls r6, 2
- str r6, [sp, 0x78]
- b _080AAD6E
-_080AAB9E:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080AAC88
- movs r6, 0
- movs r0, 0xB2
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- str r0, [r1]
- cmp r3, 0x7
- beq _080AABD2
- cmp r3, 0x7
- bhi _080AABC0
- cmp r3, 0x6
- beq _080AABC6
- b _080AABEA
-_080AABC0:
- cmp r3, 0x8
- beq _080AABDE
- b _080AABEA
-_080AABC6:
- movs r1, 0x90
- lsls r1, 4
- str r1, [sp, 0x78]
- movs r2, 0x1
- str r2, [sp, 0x7C]
- b _080AABFC
-_080AABD2:
- movs r3, 0x80
- lsls r3, 4
- str r3, [sp, 0x78]
- movs r0, 0x2
- str r0, [sp, 0x7C]
- b _080AABFC
-_080AABDE:
- movs r1, 0xA0
- lsls r1, 4
- str r1, [sp, 0x78]
- movs r2, 0x4
- str r2, [sp, 0x7C]
- b _080AABFC
-_080AABEA:
- movs r3, 0xB2
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0
- str r0, [r1]
- ldr r0, _080AAC20
- str r0, [sp, 0x78]
- movs r1, 0
- str r1, [sp, 0x7C]
-_080AABFC:
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x28
- adds r1, r4, 0
- bl sub_8002BB8
- ldr r0, [sp, 0x28]
- ldr r1, [sp, 0x2C]
- str r0, [sp, 0x38]
- str r1, [sp, 0x3C]
- movs r2, 0
- mov r10, r2
- add r3, sp, 0x40
- mov r9, r3
- add r4, sp, 0x30
- mov r8, r4
- b _080AAC42
- .align 2, 0
-_080AAC20: .4byte 0x00000807
-_080AAC24:
- cmp r6, 0x1
- bne _080AAC3E
- ldr r0, [sp, 0x38]
- str r0, [sp, 0x30]
- mov r6, r8
- str r7, [r6, 0x4]
- adds r0, r5, 0
- mov r1, r8
- bl sub_80AA074
- adds r6, r0, 0
- cmp r6, 0x2
- beq _080AAC78
-_080AAC3E:
- movs r0, 0x1
- add r10, r0
-_080AAC42:
- ldr r1, [sp, 0x7C]
- cmp r10, r1
- bge _080AAC74
- add r4, sp, 0x38
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AA074
- adds r6, r0, 0
- cmp r6, 0x2
- beq _080AAC78
- cmp r6, 0x1
- bne _080AAC3E
- movs r7, 0
- str r7, [sp, 0x40]
- ldr r0, [r4, 0x4]
- mov r2, r9
- str r0, [r2, 0x4]
- adds r0, r5, 0
- mov r1, r9
- bl sub_80AA074
- adds r6, r0, 0
- cmp r6, 0x2
- bne _080AAC24
-_080AAC74:
- cmp r6, 0x2
- bne _080AAC7E
-_080AAC78:
- movs r3, 0x1
- negs r3, r3
- b _080AAD6C
-_080AAC7E:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80AAF68
- b _080AAEC0
-_080AAC88:
- movs r4, 0xB2
- lsls r4, 1
- adds r1, r5, r4
- movs r0, 0
- str r0, [r1]
- ldr r6, _080AAC98
- str r6, [sp, 0x78]
- b _080AAD6E
- .align 2, 0
-_080AAC98: .4byte 0x00000807
-_080AAC9C:
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _080AAD60
- movs r0, 0xB2
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x4
- str r0, [r1]
- cmp r3, 0x4
- beq _080AACCE
- cmp r3, 0x4
- bhi _080AACBC
- cmp r3, 0x3
- beq _080AACC2
- b _080AACE6
-_080AACBC:
- cmp r3, 0x5
- beq _080AACDA
- b _080AACE6
-_080AACC2:
- movs r1, 0x90
- lsls r1, 4
- str r1, [sp, 0x78]
- movs r2, 0x1
- mov r9, r2
- b _080AACF6
-_080AACCE:
- movs r3, 0x80
- lsls r3, 4
- str r3, [sp, 0x78]
- movs r6, 0x2
- mov r9, r6
- b _080AACF6
-_080AACDA:
- movs r0, 0xA0
- lsls r0, 4
- str r0, [sp, 0x78]
- movs r1, 0x4
- mov r9, r1
- b _080AACF6
-_080AACE6:
- movs r2, 0xB2
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- str r0, [r1]
- ldr r3, _080AAD5C
- str r3, [sp, 0x78]
- mov r9, r0
-_080AACF6:
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x48
- adds r1, r4, 0
- bl sub_8002BB8
- ldr r0, [sp, 0x48]
- ldr r1, [sp, 0x4C]
- str r0, [sp, 0x50]
- str r1, [sp, 0x54]
- movs r6, 0
- cmp r6, r9
- bge _080AAD52
- add r4, sp, 0x50
- mov r8, r4
- add r7, sp, 0x58
-_080AAD16:
- adds r0, r5, 0
- mov r1, r8
- bl sub_80A9F94
- cmp r0, 0
- beq _080AAD4C
- movs r4, 0
- str r4, [sp, 0x58]
- mov r1, r8
- ldr r0, [r1, 0x4]
- str r0, [r7, 0x4]
- adds r0, r5, 0
- adds r1, r7, 0
- bl sub_80A9F94
- cmp r0, 0
- beq _080AAD4C
- ldr r0, [sp, 0x50]
- str r0, [sp, 0x60]
- add r1, sp, 0x60
- str r4, [r1, 0x4]
- adds r0, r5, 0
- bl sub_80A9F94
- cmp r0, 0
- beq _080AAD4C
- mov r9, r4
-_080AAD4C:
- adds r6, 0x1
- cmp r6, r9
- blt _080AAD16
-_080AAD52:
- adds r0, r5, 0
- mov r1, r9
- bl sub_80AAF68
- b _080AAEC0
- .align 2, 0
-_080AAD5C: .4byte 0x00000807
-_080AAD60:
- movs r2, 0xB2
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- str r0, [r1]
- ldr r3, _080AAD78
-_080AAD6C:
- str r3, [sp, 0x78]
-_080AAD6E:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80AAF68
- b _080AAEC0
- .align 2, 0
-_080AAD78: .4byte 0x00000807
-_080AAD7C:
- movs r6, 0x8E
- lsls r6, 1
- adds r0, r5, r6
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _080AAD9C
- ldr r0, _080AAD98
- ldr r0, [r0]
- adds r0, 0x28
- strb r4, [r0]
- b _080AADA6
- .align 2, 0
-_080AAD98: .4byte gUnknown_3001B80
-_080AAD9C:
- ldr r0, _080AADF0
- ldr r0, [r0]
- adds r0, 0x28
- movs r1, 0xFF
- strb r1, [r0]
-_080AADA6:
- movs r1, 0xB2
- lsls r1, 1
- adds r0, r5, r1
- movs r1, 0
- str r1, [r0]
- movs r2, 0x80
- lsls r2, 4
- str r2, [sp, 0x78]
- movs r3, 0xA1
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x4
- strb r0, [r1]
- movs r6, 0x1
- negs r6, r6
- cmp r4, r6
- bne _080AADCA
- b _080AAEC0
-_080AADCA:
- movs r2, 0x80
- lsls r2, 1
- add r0, sp, 0x68
- adds r1, r4, 0
- bl sub_8002BB8
- ldr r0, [sp, 0x68]
- ldr r1, [sp, 0x6C]
- str r0, [sp, 0x70]
- str r1, [sp, 0x74]
- add r1, sp, 0x70
- adds r0, r5, 0
- bl sub_80AA074
- cmp r0, 0x2
- bne _080AAEC0
- str r6, [sp, 0x78]
- b _080AAEC0
- .align 2, 0
-_080AADF0: .4byte gUnknown_3001B80
-_080AADF4:
- movs r4, 0xA1
- lsls r4, 1
- adds r0, r5, r4
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r0, r5, 0
- bl sub_80AA3F8
- b _080AAEC0
-_080AAE06:
- movs r6, 0xA1
- lsls r6, 1
- adds r0, r5, r6
- movs r1, 0
- ldrsb r1, [r0, r1]
- adds r0, r5, 0
- bl sub_80AA690
- lsls r0, 24
- cmp r0, 0
- bne _080AAEC0
- movs r0, 0
- mov r1, sp
- movs r2, 0x9
- bl sub_809D710
- adds r0, r5, 0
- movs r1, 0
- mov r2, sp
- bl _ExecutePlayerScript
- b _080AAEC0
-_080AAE32:
- add r6, sp, 0xC
- movs r1, 0xA1
- lsls r1, 1
- adds r0, r5, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80AA8BC
- lsls r0, 24
- cmp r0, 0
- beq _080AAE84
- add r4, sp, 0x10
- movs r0, 0
- adds r1, r4, 0
- movs r2, 0x6
- bl sub_809D710
- movs r2, 0
- ldrsh r0, [r6, r2]
- adds r1, r5, 0
- adds r1, 0x40
- adds r2, r4, 0
- bl GroundLives_ExecuteScript
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl _ExecutePlayerScript
- movs r3, 0
- ldrsh r0, [r6, r3]
- bl sub_80A8E9C
- adds r2, r0, 0
- movs r0, 0x7
- movs r1, 0
- bl sub_809B1C0
- b _080AAE8E
-_080AAE84:
- movs r0, 0x7
- movs r1, 0
- movs r2, 0
- bl sub_809B1C0
-_080AAE8E:
- movs r4, 0x90
- lsls r4, 1
- adds r0, r5, r4
- movs r1, 0x5
- bl sub_809CD8C
- b _080AAEC0
-_080AAE9C:
- add r4, sp, 0x1C
- ldr r2, _080AAEB4
- movs r0, 0
- adds r1, r4, 0
- bl sub_809D710
- adds r0, r5, 0
- movs r1, 0
- adds r2, r4, 0
- bl _ExecutePlayerScript
- b _080AAEC0
- .align 2, 0
-_080AAEB4: .4byte 0x00000195
-_080AAEB8:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80AAF68
-_080AAEC0:
- movs r0, 0x1
- negs r0, r0
- ldr r6, [sp, 0x78]
- cmp r6, r0
- beq _080AAF04
- movs r0, 0xB4
- lsls r0, 1
- adds r2, r5, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r6, r0
- beq _080AAF04
- movs r3, 0xAE
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0
- strb r0, [r1]
- movs r4, 0xB8
- lsls r4, 1
- adds r0, r5, r4
- strh r6, [r2]
- movs r1, 0xA1
- lsls r1, 1
- adds r3, r5, r1
- ldrb r1, [r3]
- subs r4, 0x13
- adds r2, r5, r4
- strb r1, [r2]
- movs r2, 0
- ldrsb r2, [r3, r2]
- ldr r1, [sp, 0x78]
- bl sub_80A6EFC
- b _080AAF54
-_080AAF04:
- movs r6, 0xAE
- lsls r6, 1
- adds r2, r5, r6
- ldrb r0, [r2]
- cmp r0, 0
- bne _080AAF2A
- ldr r0, _080AAF64
- adds r1, r5, r0
- movs r3, 0xA1
- lsls r3, 1
- adds r0, r5, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AAF54
-_080AAF2A:
- movs r0, 0
- strb r0, [r2]
- movs r4, 0xB8
- lsls r4, 1
- adds r0, r5, r4
- movs r6, 0xB4
- lsls r6, 1
- adds r1, r5, r6
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0xA1
- lsls r3, 1
- adds r4, r5, r3
- ldrb r2, [r4]
- subs r6, 0xB
- adds r3, r5, r6
- strb r2, [r3]
- movs r2, 0
- ldrsb r2, [r4, r2]
- bl sub_80A6EFC
-_080AAF54:
- add sp, 0x80
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAF64: .4byte 0x0000015d
- thumb_func_end sub_80AAAE8
-
- thumb_func_start sub_80AAF68
-sub_80AAF68:
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 7
- ands r0, r1
- cmp r0, 0
- beq _080AB002
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r1, 0x1
- bl sub_80A93F0
- lsls r0, 24
- cmp r0, 0
- beq _080AAFD0
- movs r1, 0xE4
- lsls r1, 1
- adds r0, r4, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- cmp r1, 0
- bne _080AAFA6
- movs r0, 0xB5
- lsls r0, 1
- adds r1, r4, r0
- adds r0, 0x4C
- b _080AAFB4
-_080AAFA6:
- movs r0, 0xDB
- lsls r0, 1
- cmp r1, r0
- beq _080AAFC2
- subs r0, 0x4C
- adds r1, r4, r0
- adds r0, 0x56
-_080AAFB4:
- strh r0, [r1]
- movs r2, 0xB6
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
-_080AAFC2:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 17
- bl sub_80A8750
- b _080AB002
-_080AAFD0:
- movs r2, 0xE4
- lsls r2, 1
- adds r0, r4, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0xDB
- lsls r0, 1
- cmp r1, r0
- bne _080AAFF6
- subs r0, 0x4C
- adds r1, r4, r0
- adds r0, 0x56
- strh r0, [r1]
- movs r2, 0xB6
- lsls r2, 1
- adds r1, r4, r2
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
-_080AAFF6:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x80
- lsls r1, 17
- bl sub_80A86C8
-_080AB002:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AAF68
-
- thumb_func_start sub_80AB008
-sub_80AB008:
- movs r1, 0
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_80AB008
-
- thumb_func_start sub_80AB010
-sub_80AB010:
- ldr r2, [r0, 0xC]
- ldr r3, [r0, 0x10]
- str r2, [r1]
- str r3, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AB010
-
- thumb_func_start sub_80AB01C
-sub_80AB01C:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _080AB05C
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4]
- ldr r0, [r3, 0x14]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x14]
- adds r1, r0
- str r1, [r2]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4, 0x4]
- ldr r0, [r3, 0x18]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0xA8
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x18]
- adds r1, r0
- str r1, [r2]
- b _080AB0C2
-_080AB05C:
- movs r0, 0xA2
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA6
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0xA8
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0xAA
- lsls r2, 1
- adds r1, r3, r2
- adds r2, 0x4
- adds r0, r3, r2
- str r4, [r0]
- str r4, [r1]
- movs r0, 0xA1
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1C
- ldrsb r0, [r3, r0]
- cmp r1, r0
- beq _080AB0BE
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AB0BE:
- ldrb r0, [r3, 0x1C]
- strb r0, [r2]
-_080AB0C2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB01C
-
- thumb_func_start sub_80AB0C8
-sub_80AB0C8:
- push {r4,lr}
- ldr r3, [r1]
- ldr r4, [r1, 0x4]
- str r3, [r0, 0x28]
- str r4, [r0, 0x2C]
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0, 0x30]
- str r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB0C8
-
- thumb_func_start sub_80AB0E0
-sub_80AB0E0:
- adds r3, r0, 0
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x14]
- adds r0, r2
- str r0, [r1]
- movs r2, 0xA4
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x18]
- adds r0, r2
- str r0, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AB0E0
-
- thumb_func_start sub_80AB100
-sub_80AB100:
- push {lr}
- bl sub_80A9F20
- pop {r1}
- bx r1
- thumb_func_end sub_80AB100
-
- thumb_func_start sub_80AB10C
-sub_80AB10C:
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0xAA
- lsls r4, 1
- adds r0, r3, r4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0xAC
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- str r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AB10C
-
- thumb_func_start sub_80AB12C
-sub_80AB12C:
- movs r2, 0xAA
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- bx lr
- thumb_func_end sub_80AB12C
-
- thumb_func_start sub_80AB138
-sub_80AB138:
- movs r2, 0xA1
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- bx lr
- thumb_func_end sub_80AB138
-
- thumb_func_start sub_80AB144
-sub_80AB144:
- push {lr}
- adds r3, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AB17C
- movs r0, 0xA1
- lsls r0, 1
- adds r2, r3, r0
- lsls r0, r1, 24
- lsrs r0, 24
- strb r0, [r2]
- ldr r2, _080AB180
- adds r1, r3, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AB17C
- movs r0, 0xAE
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AB17C:
- pop {r0}
- bx r0
- .align 2, 0
-_080AB180: .4byte 0x0000015d
- thumb_func_end sub_80AB144
-
- thumb_func_start sub_80AB184
-sub_80AB184:
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- bl sub_80A9750
- pop {r0}
- bx r0
- thumb_func_end sub_80AB184
-
- thumb_func_start sub_80AB194
-sub_80AB194:
- push {lr}
- mov r12, r0
- lsls r1, 16
- asrs r1, 16
- adds r3, r1, 0
- cmp r1, 0
- bne _080AB1A8
- movs r0, 0xE0
- lsls r0, 1
- adds r3, r0, 0
-_080AB1A8:
- movs r0, 0xB5
- lsls r0, 1
- add r0, r12
- strh r3, [r0]
- movs r0, 0xB6
- lsls r0, 1
- add r0, r12
- str r2, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_80AB194
-
- thumb_func_start nullsub_211
-nullsub_211:
- bx lr
- thumb_func_end nullsub_211
-
- thumb_func_start sub_80AB1C0
-sub_80AB1C0:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xAE
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB1DE
- adds r2, 0x14
- adds r0, r1, r2
- bl sub_80A66F8
- lsls r0, 24
- lsrs r0, 24
- b _080AB1E0
-_080AB1DE:
- movs r0, 0x1
-_080AB1E0:
- pop {r1}
- bx r1
- thumb_func_end sub_80AB1C0
-
- thumb_func_start sub_80AB1E4
-sub_80AB1E4:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xB5
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080AB206
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r1, r2
- bl sub_80A671C
- lsls r0, 24
- lsrs r0, 24
- b _080AB208
-_080AB206:
- movs r0, 0x1
-_080AB208:
- pop {r1}
- bx r1
- thumb_func_end sub_80AB1E4
-
- thumb_func_start sub_80AB20C
-sub_80AB20C:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- thumb_func_end sub_80AB20C
-
- thumb_func_start sub_80AB218
-sub_80AB218:
- push {lr}
- movs r2, 0
- ldrsh r0, [r0, r2]
- bl sub_80A86C8
- pop {r0}
- bx r0
- thumb_func_end sub_80AB218
-
- thumb_func_start sub_80AB228
-sub_80AB228:
- push {lr}
- movs r2, 0
- ldrsh r0, [r0, r2]
- bl sub_80A8750
- pop {r0}
- bx r0
- thumb_func_end sub_80AB228
-
- thumb_func_start sub_80AB238
-sub_80AB238:
- push {lr}
- movs r2, 0xB8
- lsls r2, 1
- adds r0, r2
- bl sub_80A6EC8
- pop {r0}
- bx r0
- thumb_func_end sub_80AB238
-
- thumb_func_start sub_80AB248
-sub_80AB248:
- push {lr}
- bl sub_80A9F94
- pop {r1}
- bx r1
- thumb_func_end sub_80AB248
-
- thumb_func_start GroundLives_Action
-GroundLives_Action:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x3C
- ldr r0, _080AB29C
- ldr r5, [r0]
- movs r0, 0
- mov r9, r0
-_080AB266:
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- movs r3, 0x1
- negs r3, r3
- mov r8, r3
- adds r0, r3, 0
- cmp r1, r0
- bne _080AB278
- b _080AB47C
-_080AB278:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080AB2A0
- adds r0, r4, 0
- bl HandleAction
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- beq _080AB2A4
- cmp r3, 0x4
- beq _080AB292
- b _080AB44C
-_080AB292:
- mov r0, r9
- bl sub_80A8684
- b _080AB47C
- .align 2, 0
-_080AB29C: .4byte gUnknown_3001B84
-_080AB2A0: .4byte gUnknown_8118280
-_080AB2A4:
- movs r0, 0x8E
- lsls r0, 1
- adds r2, r5, r0
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- bne _080AB2B8
- b _080AB42E
-_080AB2B8:
- str r3, [sp, 0xC]
- add r0, sp, 0x8
- mov r1, r8
- strb r1, [r0]
- str r3, [sp, 0x10]
- movs r3, 0x90
- lsls r3, 1
- adds r0, r5, r3
- add r1, sp, 0xC
- add r3, sp, 0x10
- add r4, sp, 0x14
- str r4, [sp]
- ldr r2, [r2]
- str r2, [sp, 0x4]
- add r2, sp, 0x8
- bl sub_809CDC8
- subs r0, 0x1
- mov r8, r4
- cmp r0, 0x7
- bls _080AB2E4
- b _080AB44C
-_080AB2E4:
- lsls r0, 2
- ldr r1, _080AB2F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AB2F0: .4byte _080AB2F4
- .align 2, 0
-_080AB2F4:
- .4byte _080AB314
- .4byte _080AB314
- .4byte _080AB326
- .4byte _080AB44C
- .4byte _080AB314
- .4byte _080AB44C
- .4byte _080AB44C
- .4byte _080AB314
-_080AB314:
- ldr r1, [sp, 0xC]
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r3, [sp, 0x10]
- adds r0, r5, 0
- bl sub_80AAAE8
- b _080AB44C
-_080AB326:
- add r4, sp, 0x1C
- adds r0, r4, 0
- bl sub_809D248
- ldr r1, [sp, 0x1C]
- ldr r0, [sp, 0x14]
- adds r6, r1, r0
- ldr r1, [r4, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r7, r1, r0
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r5, r3
- ldr r1, [r0]
- ldr r0, [r5, 0x14]
- adds r0, r1, r0
- cmp r0, 0
- bge _080AB34E
- adds r0, 0xFF
-_080AB34E:
- asrs r0, 8
- subs r0, r6, r0
- str r0, [sp, 0x24]
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r5, r1
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r0, r1, r0
- cmp r0, 0
- bge _080AB366
- adds r0, 0xFF
-_080AB366:
- asrs r0, 8
- subs r0, r7, r0
- add r1, sp, 0x24
- str r0, [r1, 0x4]
- adds r0, r6, 0
- subs r0, 0x10
- lsls r0, 8
- str r0, [sp, 0x2C]
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 8
- str r0, [sp, 0x34]
- subs r0, r7, 0x4
- lsls r0, 8
- add r2, sp, 0x2C
- str r0, [r2, 0x4]
- adds r0, r7, 0
- adds r0, 0x1C
- lsls r0, 8
- add r3, sp, 0x34
- str r0, [r3, 0x4]
- ldr r0, [sp, 0xC]
- adds r4, r1, 0
- cmp r0, 0xC
- bne _080AB3C4
- adds r0, r5, 0
- movs r1, 0xC
- bl sub_80AA180
- cmp r0, 0
- bne _080AB44C
- ldr r0, [sp, 0x24]
- adds r0, 0x10
- cmp r0, 0x20
- bhi _080AB44C
- movs r0, 0x1C
- negs r0, r0
- ldr r1, [r4, 0x4]
- cmp r1, r0
- blt _080AB44C
- cmp r1, 0x4
- bgt _080AB44C
- movs r2, 0x1
- negs r2, r2
- adds r0, r5, 0
- movs r1, 0x13
- b _080AB426
-_080AB3C4:
- ldr r0, [sp, 0x24]
- adds r0, 0x10
- cmp r0, 0x20
- bhi _080AB3DA
- movs r0, 0x1C
- negs r0, r0
- ldr r1, [r4, 0x4]
- cmp r1, r0
- blt _080AB3DA
- cmp r1, 0x4
- ble _080AB44C
-_080AB3DA:
- adds r0, r4, 0
- bl sub_8002C60
- add r1, sp, 0x8
- strb r0, [r1]
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- cmp r0, r1
- beq _080AB44C
- ldr r0, [sp, 0xC]
- cmp r0, 0x11
- beq _080AB410
- cmp r0, 0x11
- bhi _080AB3FE
- cmp r0, 0x10
- beq _080AB404
- b _080AB44C
-_080AB3FE:
- cmp r0, 0x12
- beq _080AB41C
- b _080AB44C
-_080AB404:
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- movs r1, 0x6
- b _080AB426
-_080AB410:
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- movs r1, 0x7
- b _080AB426
-_080AB41C:
- add r0, sp, 0x8
- movs r2, 0
- ldrsb r2, [r0, r2]
- adds r0, r5, 0
- movs r1, 0x8
-_080AB426:
- movs r3, 0
- bl sub_80AAAE8
- b _080AB44C
-_080AB42E:
- movs r0, 0x80
- lsls r0, 5
- ands r1, r0
- cmp r1, 0
- beq _080AB440
- adds r0, r5, 0
- bl sub_80AB5D4
- b _080AB44C
-_080AB440:
- ldr r3, _080AB4C4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_809D8C0
-_080AB44C:
- movs r2, 0xAE
- lsls r2, 1
- adds r1, r5, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080AB47C
- movs r0, 0
- strb r0, [r1]
- movs r3, 0xB8
- lsls r3, 1
- adds r0, r5, r3
- adds r2, 0xC
- adds r1, r5, r2
- movs r3, 0
- ldrsh r1, [r1, r3]
- subs r2, 0x26
- adds r4, r5, r2
- ldrb r2, [r4]
- ldr r3, _080AB4C8
- strb r2, [r3, r5]
- movs r2, 0
- ldrsb r2, [r4, r2]
- bl sub_80A6EFC
-_080AB47C:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- movs r0, 0xF8
- lsls r0, 1
- adds r5, r0
- mov r1, r9
- cmp r1, 0x17
- bgt _080AB494
- b _080AB266
-_080AB494:
- ldr r0, _080AB4CC
- ldr r6, [r0]
- ldr r0, _080AB4D0
- ldr r5, [r0]
- movs r0, 0
- str r0, [r6]
- str r0, [r6, 0x4]
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _080AB4BE
- movs r3, 0x8E
- lsls r3, 1
- adds r0, r5, r3
- ldr r1, [r0]
- movs r3, 0x80
- lsls r3, 6
- ands r3, r1
- cmp r3, 0
- beq _080AB4D4
-_080AB4BE:
- bl sub_80AB5A4
- b _080AB594
- .align 2, 0
-_080AB4C4: .4byte gUnknown_811828C
-_080AB4C8: .4byte 0x0000015d
-_080AB4CC: .4byte gUnknown_3001B80
-_080AB4D0: .4byte gUnknown_3001B84
-_080AB4D4:
- movs r0, 0x80
- lsls r0, 5
- ands r1, r0
- cmp r1, 0
- beq _080AB590
- ldr r7, [r6, 0x24]
- cmp r7, 0
- bge _080AB51E
- adds r2, r6, 0
- adds r2, 0x2C
- str r3, [r6, 0x24]
- str r3, [r6, 0x2C]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2, 0x4]
- movs r3, 0xA4
- lsls r3, 1
- adds r0, r5, r3
- ldr r0, [r0]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2, 0x8]
- adds r0, r6, 0
- movs r2, 0
- movs r1, 0x2
-_080AB50E:
- str r2, [r0, 0x8]
- str r2, [r0]
- str r2, [r0, 0x4]
- subs r1, 0x1
- adds r0, 0xC
- cmp r1, 0
- bge _080AB50E
- b _080AB594
-_080AB51E:
- adds r2, r7, 0x1
- adds r0, r2, 0
- cmp r2, 0
- bge _080AB52A
- adds r0, r7, 0
- adds r0, 0x40
-_080AB52A:
- asrs r1, r0, 6
- lsls r0, r1, 6
- subs r1, r2, r0
- str r1, [r6, 0x24]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r0, r6
- mov r8, r0
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldr r2, [r0]
- ldr r0, [r5, 0x14]
- adds r2, r0
- mov r3, r8
- str r2, [r3, 0x4]
- adds r1, 0x4
- adds r0, r5, r1
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r1, r0
- str r1, [r3, 0x8]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r0, 0x2C
- adds r0, r6, r0
- ldr r3, [r0, 0x4]
- ldr r0, [r0, 0x8]
- subs r0, r1, r0
- subs r2, r3
- cmp r2, 0
- bge _080AB572
- negs r2, r2
-_080AB572:
- adds r4, r2, 0
- cmp r0, 0
- bge _080AB57A
- negs r0, r0
-_080AB57A:
- cmp r0, r4
- bge _080AB580
- adds r0, r2, 0
-_080AB580:
- mov r2, r8
- str r0, [r2]
- cmp r0, 0
- bgt _080AB58C
- str r7, [r6, 0x24]
- b _080AB594
-_080AB58C:
- str r0, [r6]
- b _080AB594
-_080AB590:
- bl sub_80AB5A4
-_080AB594:
- add sp, 0x3C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end GroundLives_Action
-
- thumb_func_start sub_80AB5A4
-sub_80AB5A4:
- push {lr}
- ldr r3, _080AB5D0
- ldr r0, [r3]
- movs r2, 0x1
- negs r2, r2
- str r2, [r0, 0x24]
- adds r0, 0x28
- movs r1, 0xFF
- strb r1, [r0]
- ldr r3, [r3]
- movs r1, 0
- movs r0, 0x2
-_080AB5BC:
- str r2, [r3, 0x8]
- str r1, [r3]
- str r1, [r3, 0x4]
- subs r0, 0x1
- adds r3, 0xC
- cmp r0, 0
- bge _080AB5BC
- pop {r0}
- bx r0
- .align 2, 0
-_080AB5D0: .4byte gUnknown_3001B80
- thumb_func_end sub_80AB5A4
-
- thumb_func_start sub_80AB5D4
-sub_80AB5D4:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r9, r0
- ldr r4, _080AB6BC
- movs r2, 0x9E
- lsls r2, 1
- add r2, r9
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r3, [r4]
- adds r0, r3
- mov r8, r0
- adds r0, r1, 0
- adds r5, r4, 0
- cmp r0, 0
- bne _080AB604
- b _080AB9E6
-_080AB604:
- movs r1, 0xAF
- lsls r1, 1
- add r1, r9
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r1]
- movs r1, 0xB0
- lsls r1, 1
- add r1, r9
- movs r0, 0x1
- strh r0, [r1]
- movs r0, 0x8E
- lsls r0, 1
- add r0, r9
- ldr r2, [r0]
- movs r0, 0x80
- lsls r0, 6
- ands r2, r0
- cmp r2, 0
- beq _080AB6D4
- movs r2, 0xA1
- lsls r2, 1
- add r2, r9
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x4
- bne _080AB64C
- movs r0, 0xB4
- lsls r0, 1
- add r0, r9
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- beq _080AB670
-_080AB64C:
- movs r1, 0xB2
- lsls r1, 1
- add r1, r9
- movs r0, 0
- str r0, [r1]
- movs r1, 0xB4
- lsls r1, 1
- add r1, r9
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- movs r0, 0x4
- strb r0, [r2]
- movs r1, 0xAE
- lsls r1, 1
- add r1, r9
- movs r0, 0x1
- strb r0, [r1]
-_080AB670:
- ldr r0, [r5]
- adds r2, r0, 0
- adds r2, 0x28
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AB69C
- movs r2, 0x80
- lsls r2, 1
- mov r0, sp
- bl sub_8002BB8
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- add r1, sp, 0x8
- mov r0, r9
- bl sub_80A9F94
-_080AB69C:
- mov r4, r8
- ldr r0, [r4, 0x8]
- cmp r0, 0
- blt _080AB6A6
- b _080AB9E6
-_080AB6A6:
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- bge _080AB6B0
- b _080AB9E6
-_080AB6B0:
- str r0, [r4, 0x8]
- movs r0, 0
- str r0, [r4]
- str r0, [r4, 0x4]
- b _080AB9E6
- .align 2, 0
-_080AB6BC: .4byte gUnknown_3001B80
-_080AB6C0:
- ldr r5, [sp, 0x28]
- ldr r0, [r5, 0x4]
- adds r0, r7, r0
- str r0, [r5, 0x4]
- b _080AB7E2
-_080AB6CA:
- ldr r1, [sp, 0x28]
- ldr r0, [r1, 0x4]
- subs r0, r7
- str r0, [r1, 0x4]
- b _080AB7E2
-_080AB6D4:
- movs r0, 0xA2
- lsls r0, 1
- add r0, r9
- ldr r1, [r0]
- mov r5, r9
- ldr r0, [r5, 0x14]
- adds r0, r1, r0
- str r0, [sp, 0x20]
- movs r0, 0xA4
- lsls r0, 1
- add r0, r9
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r0, r1, r0
- str r0, [sp, 0x24]
- ldr r0, [sp, 0x20]
- ldr r1, [sp, 0x24]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- mov r1, r8
- ldr r0, [r1, 0x8]
- cmp r0, 0
- bge _080AB710
- ldr r0, [r3, 0x24]
- cmp r0, 0
- bge _080AB70A
- b _080AB9E6
-_080AB70A:
- str r0, [r1, 0x8]
- str r2, [r1]
- str r2, [r1, 0x4]
-_080AB710:
- mov r2, r8
- ldr r7, [r2]
- movs r3, 0x1
- mov r10, r3
- mov r5, sp
- adds r5, 0x10
- str r5, [sp, 0x28]
-_080AB71E:
- mov r0, r8
- ldr r1, [r0, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- ldr r2, _080AB754
- ldr r1, [r2]
- adds r1, r0
- mov r12, r1
- ldr r6, [r1, 0x4]
- ldr r5, [sp, 0x10]
- subs r4, r6, r5
- adds r2, r4, 0
- ldr r1, [r1, 0x8]
- ldr r0, [sp, 0x14]
- subs r3, r1, r0
- cmp r4, 0
- ble _080AB75E
- cmp r2, r7
- ble _080AB758
- adds r0, r7, r5
- str r0, [sp, 0x10]
- movs r4, 0
- mov r10, r4
- b _080AB75A
- .align 2, 0
-_080AB754: .4byte gUnknown_3001B80
-_080AB758:
- str r6, [sp, 0x10]
-_080AB75A:
- adds r1, r2, 0
- b _080AB778
-_080AB75E:
- cmp r4, 0
- bge _080AB776
- cmn r2, r7
- bge _080AB770
- subs r0, r5, r7
- str r0, [sp, 0x10]
- movs r5, 0
- mov r10, r5
- b _080AB772
-_080AB770:
- str r6, [sp, 0x10]
-_080AB772:
- negs r1, r2
- b _080AB778
-_080AB776:
- movs r1, 0
-_080AB778:
- cmp r3, 0
- ble _080AB78E
- cmp r3, r7
- bgt _080AB6C0
- mov r4, r12
- ldr r0, [r4, 0x8]
- str r0, [sp, 0x14]
- cmp r3, r1
- ble _080AB7A2
- adds r1, r3, 0
- b _080AB7A2
-_080AB78E:
- cmp r3, 0
- bge _080AB7A2
- cmn r3, r7
- blt _080AB6CA
- mov r5, r12
- ldr r0, [r5, 0x8]
- str r0, [sp, 0x14]
- cmn r3, r1
- bge _080AB7A2
- negs r1, r3
-_080AB7A2:
- mov r0, r10
- cmp r0, 0
- beq _080AB7E2
- subs r7, r1
- cmp r7, 0
- ble _080AB7E2
- ldr r1, _080AB7D4
- ldr r0, [r1]
- mov r3, r8
- ldr r2, [r3, 0x8]
- ldr r0, [r0, 0x24]
- cmp r2, r0
- beq _080AB7D8
- adds r1, r2, 0x1
- adds r0, r1, 0
- cmp r1, 0
- bge _080AB7C8
- adds r0, r2, 0
- adds r0, 0x40
-_080AB7C8:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- mov r4, r8
- str r0, [r4, 0x8]
- b _080AB7DC
- .align 2, 0
-_080AB7D4: .4byte gUnknown_3001B80
-_080AB7D8:
- movs r5, 0
- mov r10, r5
-_080AB7DC:
- mov r0, r10
- cmp r0, 0
- bne _080AB71E
-_080AB7E2:
- mov r1, r8
- ldr r0, [r1, 0x8]
- bl sub_80ABA00
- adds r6, r0, 0
- ldr r0, _080AB860
- ldr r7, [r0]
- movs r2, 0x9E
- lsls r2, 1
- add r2, r9
- mov r10, r2
- movs r3, 0
- ldrsh r2, [r2, r3]
- subs r1, r2, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r1, r7, 0x4
- adds r1, r0
- ldr r0, _080AB864
- lsls r2, 2
- adds r2, r0
- ldr r1, [r1]
- ldr r0, [r2]
- adds r1, r0
- mov r12, r1
- mov r4, r8
- ldr r1, [r4, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r0, r7, r0
- ldr r3, [r0, 0x4]
- ldr r2, [sp, 0x10]
- ldr r1, [r0, 0x8]
- ldr r5, [sp, 0x28]
- ldr r0, [r5, 0x4]
- subs r1, r0
- subs r3, r2
- cmp r3, 0
- bge _080AB838
- negs r3, r3
-_080AB838:
- adds r4, r3, 0
- cmp r1, 0
- bge _080AB840
- negs r1, r1
-_080AB840:
- cmp r1, r4
- bge _080AB846
- adds r1, r3, 0
-_080AB846:
- adds r6, r1
- mov r0, r8
- str r6, [r0, 0x4]
- cmp r6, r12
- bgt _080AB86C
- ldr r0, [r0]
- cmp r0, 0
- ble _080AB8B2
- ldr r1, _080AB868
- adds r0, r1
- mov r2, r8
- b _080AB8B0
- .align 2, 0
-_080AB860: .4byte gUnknown_3001B80
-_080AB864: .4byte gUnknown_8118050
-_080AB868: .4byte 0xffffff00
-_080AB86C:
- mov r3, r10
- movs r4, 0
- ldrsh r1, [r3, r4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 11
- cmp r6, r0
- bgt _080AB88E
- mov r5, r8
- ldr r0, [r5]
- cmp r0, 0xFF
- bgt _080AB8B2
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- str r0, [r5]
- b _080AB8B2
-_080AB88E:
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r7, r0
- ldr r0, [r0]
- cmp r0, 0xFF
- bgt _080AB8A2
- movs r0, 0x80
- lsls r0, 1
-_080AB8A2:
- mov r2, r8
- ldr r1, [r2]
- cmp r1, r0
- bge _080AB8B2
- movs r3, 0x80
- lsls r3, 1
- adds r0, r1, r3
-_080AB8B0:
- str r0, [r2]
-_080AB8B2:
- ldr r0, _080AB96C
- ldr r3, [r0]
- mov r4, r8
- ldr r0, [r4, 0x8]
- subs r0, 0x40
- ldr r2, [r3, 0x24]
- subs r1, r2, r0
- adds r0, r1, 0
- cmp r1, 0
- bge _080AB8C8
- adds r0, 0x3F
-_080AB8C8:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- cmp r0, 0x3B
- ble _080AB8FC
- adds r1, r2, 0x5
- adds r0, r1, 0
- cmp r1, 0
- bge _080AB8DE
- adds r0, r2, 0
- adds r0, 0x44
-_080AB8DE:
- asrs r0, 6
- lsls r0, 6
- subs r0, r1, r0
- mov r5, r8
- str r0, [r5, 0x8]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x30
- adds r0, r1
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
-_080AB8FC:
- mov r0, r9
- ldr r1, [sp, 0x28]
- bl sub_80A9F20
- adds r6, r0, 0
- cmp r6, 0
- bne _080AB9E6
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x20]
- subs r0, r1
- str r0, [sp, 0x18]
- ldr r2, [sp, 0x28]
- ldr r1, [r2, 0x4]
- ldr r3, [sp, 0x24]
- subs r1, r3
- add r0, sp, 0x18
- str r1, [r0, 0x4]
- movs r5, 0xA1
- lsls r5, 1
- add r5, r9
- movs r4, 0
- ldrsb r4, [r5, r4]
- bl sub_8002C60
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- adds r0, r4, 0
- bl sub_8002B04
- strb r0, [r5]
- mov r4, r8
- ldr r0, [r4]
- cmp r0, 0
- ble _080AB970
- movs r1, 0xB2
- lsls r1, 1
- add r1, r9
- movs r0, 0x4
- str r0, [r1]
- ldr r1, [r4]
- movs r0, 0x80
- lsls r0, 2
- movs r2, 0x80
- lsls r2, 4
- cmp r1, r0
- ble _080AB95E
- movs r2, 0xA0
- lsls r2, 4
-_080AB95E:
- adds r4, r2, 0
- mov r0, r9
- movs r1, 0x1
- bl sub_80AAF68
- b _080AB982
- .align 2, 0
-_080AB96C: .4byte gUnknown_3001B80
-_080AB970:
- ldr r4, _080AB9F8
- movs r0, 0xB2
- lsls r0, 1
- add r0, r9
- str r6, [r0]
- mov r0, r9
- movs r1, 0
- bl sub_80AAF68
-_080AB982:
- movs r0, 0xAE
- lsls r0, 1
- add r0, r9
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AB9B6
- movs r0, 0xB4
- lsls r0, 1
- add r0, r9
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r4, r0
- bne _080AB9B6
- ldr r1, _080AB9FC
- add r1, r9
- movs r0, 0xA1
- lsls r0, 1
- add r0, r9
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080AB9E6
-_080AB9B6:
- movs r1, 0xAE
- lsls r1, 1
- add r1, r9
- movs r0, 0
- strb r0, [r1]
- movs r0, 0xB8
- lsls r0, 1
- add r0, r9
- movs r1, 0xB4
- lsls r1, 1
- add r1, r9
- strh r4, [r1]
- movs r3, 0xA1
- lsls r3, 1
- add r3, r9
- ldrb r1, [r3]
- ldr r2, _080AB9FC
- add r2, r9
- strb r1, [r2]
- movs r2, 0
- ldrsb r2, [r3, r2]
- adds r1, r4, 0
- bl sub_80A6EFC
-_080AB9E6:
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB9F8: .4byte 0x00000807
-_080AB9FC: .4byte 0x0000015d
- thumb_func_end sub_80AB5D4
-
- thumb_func_start sub_80ABA00
-sub_80ABA00:
- push {r4,r5,lr}
- adds r1, r0, 0
- movs r4, 0
- ldr r0, _080ABA34
- ldr r2, [r0]
- ldr r3, [r2, 0x24]
- adds r5, r0, 0
- cmp r3, r1
- ble _080ABA38
- adds r1, 0x1
- cmp r1, r3
- bge _080ABA72
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r2, r0, r2
- subs r1, r3, r1
-_080ABA24:
- ldr r0, [r2]
- adds r4, r0
- adds r2, 0xC
- subs r1, 0x1
- cmp r1, 0
- bne _080ABA24
- b _080ABA72
- .align 2, 0
-_080ABA34: .4byte gUnknown_3001B80
-_080ABA38:
- cmp r3, r1
- bge _080ABA72
- adds r1, 0x1
- cmp r1, 0x3F
- bgt _080ABA58
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, 0x2C
- adds r2, r0, r2
-_080ABA4C:
- ldr r0, [r2]
- adds r4, r0
- adds r2, 0xC
- adds r1, 0x1
- cmp r1, 0x3F
- ble _080ABA4C
-_080ABA58:
- ldr r1, [r5]
- ldr r0, [r1, 0x24]
- cmp r0, 0
- ble _080ABA72
- adds r2, r1, 0
- adds r2, 0x2C
- adds r1, r0, 0
-_080ABA66:
- ldr r0, [r2]
- adds r4, r0
- adds r2, 0xC
- subs r1, 0x1
- cmp r1, 0
- bne _080ABA66
-_080ABA72:
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80ABA00
-
- thumb_func_start sub_80ABA7C
-sub_80ABA7C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r0, _080ABB50
- ldr r5, [r0]
- movs r0, 0
- mov r8, r0
- movs r1, 0xA2
- lsls r1, 1
- adds r4, r5, r1
- movs r2, 0x1
- negs r2, r2
- mov r9, r2
-_080ABA9A:
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, r9
- beq _080ABB2C
- ldr r0, [r4]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x4]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r1, [r4, 0x10]
- ldr r0, [r4, 0x14]
- adds r7, r1, r0
- ldr r0, [r4, 0x20]
- cmp r0, 0
- ble _080ABADA
- subs r0, 0x1
- str r0, [r4, 0x20]
- cmp r0, 0
- bgt _080ABADA
- ldrh r0, [r4, 0x1C]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080ABADA
- ldrh r1, [r4, 0x1C]
- adds r0, r5, 0
- bl sub_80A9750
-_080ABADA:
- movs r2, 0xB8
- lsls r2, 1
- adds r6, r5, r2
- adds r0, r6, 0
- bl sub_80A66D4
- lsls r0, 24
- cmp r0, 0
- beq _080ABAFE
- movs r0, 0
- strb r0, [r4, 0x18]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r2, 0x19
- ldrsb r2, [r4, r2]
- adds r0, r6, 0
- bl sub_80A6EFC
-_080ABAFE:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080ABB1E
- adds r1, r0, 0
- movs r2, 0xA1
- lsls r2, 1
- adds r0, r5, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r3, [r4, 0x28]
- adds r0, r6, 0
- bl sub_80A74F0
- movs r0, 0
- strh r0, [r4, 0x26]
-_080ABB1E:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- adds r0, r6, 0
- mov r2, sp
- adds r3, r7, 0
- bl sub_80A7524
-_080ABB2C:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r1, 0xF8
- lsls r1, 1
- adds r4, r1
- adds r5, r1
- cmp r0, 0x17
- ble _080ABA9A
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABB50: .4byte gUnknown_3001B84
- thumb_func_end sub_80ABA7C
-
- thumb_func_start sub_80ABB54
-sub_80ABB54:
- push {r4,r5,lr}
- ldr r4, _080ABB90
- movs r0, 0xE2
- lsls r0, 5
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080ABB94
- adds r5, r0, 0
- movs r4, 0xE2
- lsls r4, 1
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080ABB74:
- ldrh r0, [r1, 0x6]
- orrs r0, r5
- strh r0, [r1, 0x6]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, r4
- cmp r0, 0xF
- ble _080ABB74
- bl sub_80ABB98
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABB90: .4byte gUnknown_3001B88
-_080ABB94: .4byte 0x0000ffff
- thumb_func_end sub_80ABB54
-
- thumb_func_start sub_80ABB98
-sub_80ABB98:
- push {r4-r6,lr}
- ldr r0, _080ABBD0
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080ABBA8:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080ABBB6
- adds r0, r1, 0
- bl GroundObject_Delete
-_080ABBB6:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ABBA8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABBD0: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABB98
-
- thumb_func_start sub_80ABBD4
-sub_80ABBD4:
- push {r4,lr}
- bl sub_80ABB98
- ldr r4, _080ABBEC
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABBEC: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABBD4
-
- thumb_func_start GroundObject_Select
-GroundObject_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080ABC54
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080ABC58
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0xC]
- ldr r0, [r0, 0x8]
- cmp r0, 0
- ble _080ABC4A
- adds r4, r0, 0
-_080ABC34:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundObject_Add
- subs r4, 0x1
- adds r5, 0x18
- cmp r4, 0
- bne _080ABC34
-_080ABC4A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABC54: .4byte gUnknown_81183E4
-_080ABC58: .4byte gUnknown_81183F0
- thumb_func_end GroundObject_Select
-
- thumb_func_start sub_80ABC5C
-sub_80ABC5C:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080ABCC4
- movs r0, 0
- adds r2, r7, 0
- bl Log
- movs r1, 0
- ldr r0, _080ABCC8
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080ABC84:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080ABCA6
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080ABCA6
- cmp r5, 0
- blt _080ABCA0
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080ABCA6
-_080ABCA0:
- adds r0, r1, 0
- bl GroundObject_Delete
-_080ABCA6:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ABC84
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABCC4: .4byte gUnknown_8118414
-_080ABCC8: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABC5C
-
- thumb_func_start sub_80ABCCC
-sub_80ABCCC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r1, _080ABD40
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080ABD44
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x92
- lsls r1, 1
- adds r5, r4, r1
- mov r7, sp
-_080ABCF0:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080ABD20
- ldr r0, [r5]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r7, 0x4]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- mov r1, sp
- bl sub_80A675C
- lsls r0, 24
- cmp r0, 0
- bne _080ABD20
- adds r0, r6, 0
- bl GroundObject_Delete
-_080ABD20:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r5, r0
- adds r4, r0
- cmp r6, 0xF
- ble _080ABCF0
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABD40: .4byte gUnknown_811842C
-_080ABD44: .4byte gUnknown_3001B88
- thumb_func_end sub_80ABCCC
-
- thumb_func_start sub_80ABD48
-sub_80ABD48:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _080ABD6C
- ldr r1, [r0]
- movs r6, 0xE2
- lsls r6, 1
- movs r2, 0x80
- lsls r2, 9
- adds r5, r2, 0
-_080ABD5E:
- movs r7, 0x6
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bne _080ABD70
- adds r0, r3, 0
- b _080ABD80
- .align 2, 0
-_080ABD6C: .4byte gUnknown_3001B88
-_080ABD70:
- adds r0, r2, 0
- adds r2, r5
- asrs r3, r0, 16
- adds r1, r6
- cmp r3, 0xF
- ble _080ABD5E
- movs r0, 0x1
- negs r0, r0
-_080ABD80:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ABD48
-
- thumb_func_start GroundObject_Add
-GroundObject_Add:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r8, r1
- lsls r0, 16
- asrs r7, r0, 16
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- lsls r3, 24
- asrs r3, 24
- mov r9, r3
- ldrb r4, [r1]
- cmp r4, 0x1A
- bne _080ABDDA
- movs r0, 0
- movs r1, 0x28
- bl sub_8001658
- cmp r0, 0x1
- bgt _080ABDBC
- movs r4, 0x1B
- b _080ABDDA
-_080ABDBC:
- movs r0, 0
- movs r1, 0x29
- bl sub_8001658
- cmp r0, 0
- bne _080ABDD4
- movs r0, 0
- movs r1, 0x27
- bl sub_8001658
- adds r0, 0x1C
- b _080ABDD6
-_080ABDD4:
- adds r0, 0x2B
-_080ABDD6:
- lsls r0, 16
- asrs r4, r0, 16
-_080ABDDA:
- lsls r1, r4, 2
- ldr r0, _080ABE10
- adds r6, r1, r0
- cmp r7, 0
- bge _080ABE40
- cmp r4, 0xE
- bgt _080ABDF4
- cmp r4, 0xD
- blt _080ABDF4
- adds r0, r4, 0
- bl sub_80ABD48
- adds r7, r0, 0
-_080ABDF4:
- cmp r7, 0
- bge _080ABE40
- movs r3, 0
- ldr r0, _080ABE14
- ldr r5, [r0]
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ABE18
- movs r7, 0
- b _080ABE40
- .align 2, 0
-_080ABE10: .4byte gUnknown_811ED20
-_080ABE14: .4byte gUnknown_3001B88
-_080ABE18:
- adds r0, r3, 0x1
- lsls r0, 16
- asrs r3, r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r5, r1
- cmp r3, 0xF
- bgt _080ABE36
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ABE18
- adds r7, r3, 0
-_080ABE36:
- cmp r7, 0
- bge _080ABE40
- movs r0, 0x1
- negs r0, r0
- b _080AC142
-_080ABE40:
- ldr r1, _080ABEA8
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, [r1]
- adds r5, r1, r0
- ldr r1, _080ABEAC
- mov r3, r8
- ldrb r0, [r3]
- str r0, [sp]
- movs r2, 0
- ldrsh r0, [r6, r2]
- str r0, [sp, 0x4]
- mov r3, r10
- str r3, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- movs r0, 0
- adds r2, r7, 0
- adds r3, r4, 0
- bl Log
- movs r2, 0
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ABE80
- movs r2, 0x1
-_080ABE80:
- str r2, [sp, 0x10]
- strh r7, [r5, 0x4]
- strh r4, [r5, 0x6]
- mov r0, r10
- strh r0, [r5, 0x8]
- mov r1, r9
- strb r1, [r5, 0xA]
- ldrh r0, [r6]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bls _080ABE9C
- b _080ABF8C
-_080ABE9C:
- lsls r0, 2
- ldr r1, _080ABEB0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ABEA8: .4byte gUnknown_3001B88
-_080ABEAC: .4byte gUnknown_8118448
-_080ABEB0: .4byte _080ABEB4
- .align 2, 0
-_080ABEB4:
- .4byte _080ABEF0
- .4byte _080ABF7C
- .4byte _080ABF46
- .4byte _080ABF54
- .4byte _080ABF54
- .4byte _080ABF5E
- .4byte _080ABF68
- .4byte _080ABF72
- .4byte _080ABF3C
- .4byte _080ABEFA
- .4byte _080ABEF0
- .4byte _080ABF06
- .4byte _080ABF2C
- .4byte _080ABF1E
- .4byte _080ABF12
-_080ABEF0:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0
- b _080ABF94
-_080ABEFA:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x80
- lsls r0, 10
- b _080ABF94
-_080ABF06:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x80
- lsls r0, 11
- b _080ABF94
-_080ABF12:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x83
- lsls r0, 18
- b _080ABF94
-_080ABF1E:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ABF28
- b _080ABF94
- .align 2, 0
-_080ABF28: .4byte 0x220c0000
-_080ABF2C:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- ldr r0, _080ABF38
- b _080ABF94
- .align 2, 0
-_080ABF38: .4byte 0x20010000
-_080ABF3C:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x5
- b _080ABF94
-_080ABF46:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ABF50
- b _080ABF94
- .align 2, 0
-_080ABF50: .4byte 0x22000184
-_080ABF54:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- adds r0, 0x68
- b _080ABF94
-_080ABF5E:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x44
- b _080ABF94
-_080ABF68:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x84
- b _080ABF94
-_080ABF72:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- adds r0, 0x64
- b _080ABF94
-_080ABF7C:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- ldr r0, _080ABF88
- b _080ABF94
- .align 2, 0
-_080ABF88: .4byte 0x020000c4
-_080ABF8C:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ABFA8
-_080ABF94:
- str r0, [r1]
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- bne _080ABFAC
- mov r1, r8
- ldrb r0, [r1, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r1, 0x3]
- b _080ABFB4
- .align 2, 0
-_080ABFA8: .4byte 0x02000185
-_080ABFAC:
- ldrb r0, [r6, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r6, 0x3]
-_080ABFB4:
- lsls r0, 11
- str r0, [r5, 0x10]
- ldr r0, [r5, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x14]
- ldr r0, [r5, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x18]
- mov r2, r8
- ldrb r0, [r2, 0x1]
- strb r0, [r5, 0x1C]
- adds r2, 0x4
- adds r4, r5, 0
- adds r4, 0x20
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ABFFC
- mov r3, r8
- ldrb r0, [r3, 0x4]
- lsls r3, r0, 11
- str r3, [r5, 0x20]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ABFFC
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r5, 0x20]
-_080ABFFC:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AC01E
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AC01E
- movs r2, 0x80
- lsls r2, 3
- adds r0, r3, r2
- str r0, [r4, 0x4]
-_080AC01E:
- ldr r3, [sp, 0x10]
- cmp r3, 0
- beq _080AC076
- ldrb r1, [r5, 0x1C]
- movs r2, 0x90
- lsls r2, 1
- adds r0, r5, r2
- movs r3, 0
- strb r1, [r0]
- movs r0, 0x92
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r1, 0x96
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r1, 0x98
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r5, r2
- adds r2, 0x4
- adds r0, r5, r2
- str r3, [r0]
- str r3, [r1]
-_080AC076:
- adds r0, r5, 0
- adds r0, 0x28
- adds r1, r5, 0
- adds r1, 0x30
- bl sub_80A5778
- ldr r3, [sp, 0x10]
- cmp r3, 0
- beq _080AC0C0
- movs r0, 0x9F
- lsls r0, 1
- adds r1, r5, r0
- movs r2, 0
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- movs r3, 0x9E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x1
- strb r0, [r1]
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r5, r1
- strh r2, [r0]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r5, r2
- movs r3, 0x6
- ldrsh r2, [r5, r3]
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r3, [r1]
- adds r1, r7, 0
- bl sub_80A75CC
-_080AC0C0:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080AC154
- mov r0, r9
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- mov r3, r10
- bl sub_809D600
- adds r6, r4, 0
- mov r1, r8
- ldr r2, [r1, 0xC]
- cmp r2, 0
- bne _080AC0F2
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r5, r2
- bl sub_80A66A4
- lsls r0, 24
- ldr r2, _080AC158
- cmp r0, 0
- beq _080AC0F2
- ldr r2, _080AC15C
-_080AC0F2:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_809D6D8
- adds r1, r4, 0
- mov r3, r8
- ldr r2, [r3, 0x10]
- cmp r2, 0
- bne _080AC108
- ldr r0, _080AC160
- ldr r2, [r0, 0x38]
-_080AC108:
- adds r0, r1, 0
- movs r1, 0x2
- bl sub_809D6D8
- mov r0, r8
- ldr r2, [r0, 0x14]
- cmp r2, 0
- bne _080AC11C
- ldr r0, _080AC160
- ldr r2, [r0, 0x68]
-_080AC11C:
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_809D6D8
- mov r1, r8
- ldr r2, [r1, 0x8]
- cmp r2, 0
- beq _080AC140
- adds r0, r4, 0
- movs r1, 0
- bl sub_809D6D8
- ldr r3, _080AC164
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_809D8C0
-_080AC140:
- adds r0, r7, 0
-_080AC142:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC154: .4byte gUnknown_81182A0
-_080AC158: .4byte gUnknown_81182F4
-_080AC15C: .4byte gUnknown_8118350
-_080AC160: .4byte gUnknown_812F1F8
-_080AC164: .4byte gUnknown_81184A4
- thumb_func_end GroundObject_Add
-
- thumb_func_start GroundObject_Delete
-GroundObject_Delete:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _080AC1A4
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AC1A8
- movs r0, 0
- bl Log
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- bl sub_80A7658
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D648
- ldr r0, _080AC1AC
- strh r0, [r4, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC1A4: .4byte gUnknown_3001B88
-_080AC1A8: .4byte gUnknown_81184B0
-_080AC1AC: .4byte 0x0000ffff
- thumb_func_end GroundObject_Delete
-
- thumb_func_start sub_80AC1B0
-sub_80AC1B0:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC1F0
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AC1EA
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- ldr r1, [r0]
- orrs r1, r3
- str r1, [r0]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r2, r3
- bl sub_80A6688
-_080AC1EA:
- pop {r0}
- bx r0
- .align 2, 0
-_080AC1F0: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC1B0
-
- thumb_func_start sub_80AC1F4
-sub_80AC1F4:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC238
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r3, r0, r1
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AC232
- movs r0, 0x8E
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, _080AC23C
- eors r0, r4
- ldr r1, [r2]
- ands r1, r0
- str r1, [r2]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r3, r2
- bl sub_80A6688
-_080AC232:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC238: .4byte gUnknown_3001B88
-_080AC23C: .4byte 0x337fffff
- thumb_func_end sub_80AC1F4
-
- thumb_func_start sub_80AC240
-sub_80AC240:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC268
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC26C
- movs r0, 0
- b _080AC270
- .align 2, 0
-_080AC268: .4byte gUnknown_3001B88
-_080AC26C:
- adds r0, r2, 0
- adds r0, 0x38
-_080AC270:
- pop {r1}
- bx r1
- thumb_func_end sub_80AC240
-
- thumb_func_start sub_80AC274
-sub_80AC274:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r3, r2, 16
- ldr r2, _080AC2A0
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC2A4
- movs r0, 0
- b _080AC2B4
- .align 2, 0
-_080AC2A0: .4byte gUnknown_3001B88
-_080AC2A4:
- adds r0, r2, 0
- adds r0, 0x38
- adds r1, r4, 0
- adds r2, r3, 0
- bl sub_809D6E4
- lsls r0, 24
- lsrs r0, 24
-_080AC2B4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC274
-
- thumb_func_start GroundObject_ExecuteScript
-GroundObject_ExecuteScript:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r3, 16
- asrs r3, 16
- ldr r1, _080AC2F4
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AC2F8
- movs r0, 0
- adds r2, r3, 0
- bl Log
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC2FC
- movs r0, 0
- b _080AC314
- .align 2, 0
-_080AC2F4: .4byte gUnknown_3001B88
-_080AC2F8: .4byte gUnknown_81184CC
-_080AC2FC:
- adds r0, r4, 0
- adds r0, 0x38
- ldr r3, _080AC31C
- adds r1, r5, 0
- adds r2, r6, 0
- bl GroundScript_ExecutePP
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AC314:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC31C: .4byte gUnknown_8118504
- thumb_func_end GroundObject_ExecuteScript
-
- thumb_func_start sub_80AC320
-sub_80AC320:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _080AC374
- ldr r4, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080AC33A:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080AC352
- adds r0, r4, 0
- adds r0, 0x38
- adds r1, r7, 0
- bl sub_809D968
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AC352:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AC33A
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC374: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC320
-
- thumb_func_start sub_80AC378
-sub_80AC378:
- push {r4-r7,lr}
- ldr r0, _080AC3BC
- ldr r4, [r0]
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- movs r6, 0x80
- lsls r6, 9
-_080AC388:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080AC39E
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D92C
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AC39E:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AC388
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC3BC: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC378
-
- thumb_func_start sub_80AC3C0
-sub_80AC3C0:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC3DC
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AC3DC: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC3C0
-
- thumb_func_start sub_80AC3E0
-sub_80AC3E0:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AC404
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, [r3]
- adds r0, r2
- movs r3, 0x8E
- lsls r3, 1
- adds r2, r0, r3
- ldr r2, [r2]
- str r2, [r1]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AC404: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC3E0
-
- thumb_func_start sub_80AC408
-sub_80AC408:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC434
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC438
- movs r0, 0
- str r0, [r3]
- str r0, [r3, 0x4]
- b _080AC440
- .align 2, 0
-_080AC434: .4byte gUnknown_3001B88
-_080AC438:
- ldr r0, [r2, 0xC]
- ldr r1, [r2, 0x10]
- str r0, [r3]
- str r1, [r3, 0x4]
-_080AC440:
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AC408
-
- thumb_func_start sub_80AC448
-sub_80AC448:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AC474
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AC478
- movs r0, 0
- str r0, [r3]
- b _080AC492
- .align 2, 0
-_080AC474: .4byte gUnknown_3001B88
-_080AC478:
- movs r1, 0x92
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x14]
- adds r0, r1
- str r0, [r3]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x18]
- adds r0, r1
-_080AC492:
- str r0, [r3, 0x4]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AC448
-
- thumb_func_start sub_80AC49C
-sub_80AC49C:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AC4C4
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, [r3]
- adds r4, r2
- adds r0, r4, 0
- bl sub_80AC6AC
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AC4C4: .4byte gUnknown_3001B88
- thumb_func_end sub_80AC49C
-
- thumb_func_start sub_80AC4C8
-sub_80AC4C8:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- ldr r0, _080AC530
- ldr r3, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r12, r0
- movs r6, 0x80
- lsls r6, 9
-_080AC4DE:
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- cmp r0, r12
- beq _080AC534
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- ands r0, r7
- cmp r0, 0
- beq _080AC534
- adds r1, 0x8
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r2]
- cmp r1, r0
- bge _080AC534
- movs r1, 0x96
- lsls r1, 1
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r4]
- cmp r1, r0
- ble _080AC534
- movs r1, 0x94
- lsls r1, 1
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _080AC534
- movs r1, 0x98
- lsls r1, 1
- adds r0, r3, r1
- ldr r1, [r0]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- ble _080AC534
- adds r0, r5, 0
- b _080AC54C
- .align 2, 0
-_080AC530: .4byte gUnknown_3001B88
-_080AC534:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r5, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r3, r0
- cmp r5, 0xF
- ble _080AC4DE
- movs r0, 0x1
- negs r0, r0
-_080AC54C:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC4C8
-
- thumb_func_start sub_80AC554
-sub_80AC554:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r10, r1
- adds r4, r2, 0
- ldr r0, _080AC5C8
- ldr r0, [r0]
- mov r12, r0
- movs r6, 0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- movs r7, 0x80
- lsls r7, 9
-_080AC576:
- mov r1, r12
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, r9
- beq _080AC5CC
- movs r0, 0x8E
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- mov r5, r8
- ands r0, r5
- cmp r0, 0
- beq _080AC5CC
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- mov r5, r12
- ldr r0, [r5, 0x14]
- adds r2, r1, r0
- movs r0, 0x94
- lsls r0, 1
- add r0, r12
- ldr r1, [r0]
- ldr r0, [r5, 0x18]
- adds r3, r1, r0
- ldr r0, [r4]
- cmp r2, r0
- bge _080AC5CC
- mov r1, r10
- ldr r0, [r1]
- cmp r2, r0
- ble _080AC5CC
- ldr r0, [r4, 0x4]
- cmp r3, r0
- bge _080AC5CC
- ldr r0, [r1, 0x4]
- cmp r3, r0
- ble _080AC5CC
- adds r0, r6, 0
- b _080AC5E4
- .align 2, 0
-_080AC5C8: .4byte gUnknown_3001B88
-_080AC5CC:
- adds r0, r7, 0
- movs r2, 0x80
- lsls r2, 9
- adds r7, r2
- asrs r6, r0, 16
- movs r5, 0xE2
- lsls r5, 1
- add r12, r5
- cmp r6, 0xF
- ble _080AC576
- movs r0, 0x1
- negs r0, r0
-_080AC5E4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC554
-
- thumb_func_start sub_80AC5F4
-sub_80AC5F4:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- mov r8, r0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, [r5]
- cmp r0, 0
- bge _080AC60C
- ldr r1, _080AC670
- adds r0, r1
-_080AC60C:
- asrs r0, 11
- mov r12, r0
- str r0, [sp]
- ldr r0, [r5, 0x4]
- cmp r0, 0
- bge _080AC61C
- ldr r3, _080AC670
- adds r0, r3
-_080AC61C:
- asrs r4, r0, 11
- str r4, [sp, 0x4]
- ldr r3, [r6]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080AC62C
- ldr r7, _080AC674
- adds r0, r3, r7
-_080AC62C:
- asrs r1, r0, 11
- ldr r3, [r6, 0x4]
- subs r0, r3, 0x1
- cmp r0, 0
- bge _080AC63A
- ldr r7, _080AC674
- adds r0, r3, r7
-_080AC63A:
- asrs r2, r0, 11
- mov r3, r12
- subs r0, r1, r3
- adds r0, 0x1
- str r0, [sp, 0x8]
- subs r0, r2, r4
- adds r0, 0x1
- add r2, sp, 0x8
- str r0, [r2, 0x4]
- movs r0, 0x8E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AC678
- mov r0, sp
- adds r1, r2, 0
- bl sub_80A585C
- lsls r0, 24
- cmp r0, 0
- beq _080AC678
- movs r0, 0x1
- b _080AC6A0
- .align 2, 0
-_080AC670: .4byte 0x000007ff
-_080AC674: .4byte 0x000007fe
-_080AC678:
- movs r0, 0x8E
- lsls r0, 1
- add r0, r8
- ldr r0, [r0]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AC69E
- movs r0, 0x1
- negs r0, r0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A92A0
- lsls r0, 16
- cmp r0, 0
- blt _080AC69E
- movs r0, 0x4
- b _080AC6A0
-_080AC69E:
- movs r0, 0
-_080AC6A0:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC5F4
-
- thumb_func_start sub_80AC6AC
-sub_80AC6AC:
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- ldr r2, [r1]
- ldr r4, [r5, 0x14]
- subs r0, r2, r4
- str r0, [sp]
- ldr r3, [r1, 0x4]
- ldr r1, [r5, 0x18]
- subs r0, r3, r1
- str r0, [sp, 0x4]
- adds r2, r4
- str r2, [sp, 0x8]
- adds r3, r1
- add r2, sp, 0x8
- str r3, [r2, 0x4]
- ldr r1, [r5, 0x28]
- ldr r0, [sp]
- cmp r0, r1
- blt _080AC6EA
- ldr r1, [r5, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- bge _080AC6EA
- ldr r1, [r5, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- blt _080AC6EA
- ldr r0, [r5, 0x34]
- cmp r3, r0
- blt _080AC6EE
-_080AC6EA:
- movs r0, 0x1
- b _080AC718
-_080AC6EE:
- adds r0, r5, 0
- mov r1, sp
- bl sub_80AC5F4
- cmp r0, 0
- bne _080AC718
- movs r0, 0x92
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0
-_080AC718:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC6AC
-
- thumb_func_start sub_80AC720
-sub_80AC720:
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- movs r2, 0x92
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- ldr r2, [r1]
- adds r0, r2
- str r0, [sp]
- movs r3, 0x94
- lsls r3, 1
- adds r0, r4, r3
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r0, r1
- str r0, [sp, 0x4]
- adds r3, 0x4
- adds r0, r4, r3
- ldr r0, [r0]
- adds r0, r2
- str r0, [sp, 0x8]
- movs r2, 0x98
- lsls r2, 1
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, r1
- add r1, sp, 0x8
- str r0, [r1, 0x4]
- movs r5, 0
- ldr r3, [r4, 0x28]
- ldr r0, [sp]
- adds r2, r1, 0
- cmp r0, r3
- bge _080AC770
- str r3, [sp]
- ldr r0, [r4, 0xC]
- adds r0, r3, r0
- str r0, [sp, 0x8]
- b _080AC780
-_080AC770:
- ldr r1, [r4, 0x30]
- ldr r0, [sp, 0x8]
- cmp r0, r1
- blt _080AC782
- ldr r0, [r4, 0xC]
- subs r0, r1, r0
- str r0, [sp]
- str r1, [sp, 0x8]
-_080AC780:
- movs r5, 0x1
-_080AC782:
- ldr r1, [r4, 0x2C]
- ldr r0, [sp, 0x4]
- cmp r0, r1
- bge _080AC794
- str r1, [sp, 0x4]
- ldr r0, [r4, 0x10]
- adds r0, r1, r0
- str r0, [r2, 0x4]
- b _080AC7A4
-_080AC794:
- ldr r1, [r4, 0x34]
- ldr r0, [r2, 0x4]
- cmp r0, r1
- blt _080AC7A6
- ldr r0, [r4, 0x10]
- subs r0, r1, r0
- str r0, [sp, 0x4]
- str r1, [r2, 0x4]
-_080AC7A4:
- movs r5, 0x1
-_080AC7A6:
- adds r0, r4, 0
- mov r1, sp
- bl sub_80AC5F4
- cmp r0, 0
- bne _080AC7D8
- movs r3, 0x92
- lsls r3, 1
- adds r2, r4, r3
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r4, r0
- ldr r0, [sp, 0x8]
- ldr r1, [sp, 0xC]
- str r0, [r2]
- str r1, [r2, 0x4]
- cmp r5, 0
- bne _080AC7D6
- movs r0, 0
- b _080AC7D8
-_080AC7D6:
- movs r0, 0x1
-_080AC7D8:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80AC720
-
- thumb_func_start sub_80AC7E0
-sub_80AC7E0:
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_80AC7E0
-
- thumb_func_start sub_80AC7E8
-sub_80AC7E8:
- ldr r2, [r0, 0xC]
- ldr r3, [r0, 0x10]
- str r2, [r1]
- str r3, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AC7E8
-
- thumb_func_start sub_80AC7F4
-sub_80AC7F4:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _080AC834
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4]
- ldr r0, [r3, 0x14]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x14]
- adds r1, r0
- str r1, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4, 0x4]
- ldr r0, [r3, 0x18]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x18]
- adds r1, r0
- str r1, [r2]
- b _080AC89A
-_080AC834:
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r3, r2
- adds r2, 0x4
- adds r0, r3, r2
- str r4, [r0]
- str r4, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1C
- ldrsb r0, [r3, r0]
- cmp r1, r0
- beq _080AC896
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AC896:
- ldrb r0, [r3, 0x1C]
- strb r0, [r2]
-_080AC89A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC7F4
-
- thumb_func_start sub_80AC8A0
-sub_80AC8A0:
- push {r4,lr}
- ldr r3, [r1]
- ldr r4, [r1, 0x4]
- str r3, [r0, 0x28]
- str r4, [r0, 0x2C]
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0, 0x30]
- str r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC8A0
-
- thumb_func_start sub_80AC8B8
-sub_80AC8B8:
- adds r3, r0, 0
- movs r2, 0x92
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x14]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x18]
- adds r0, r2
- str r0, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AC8B8
-
- thumb_func_start sub_80AC8D8
-sub_80AC8D8:
- push {lr}
- bl sub_80AC6AC
- pop {r1}
- bx r1
- thumb_func_end sub_80AC8D8
-
- thumb_func_start sub_80AC8E4
-sub_80AC8E4:
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0x9A
- lsls r4, 1
- adds r0, r3, r4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- str r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC8E4
-
- thumb_func_start sub_80AC904
-sub_80AC904:
- movs r2, 0x9A
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- bx lr
- thumb_func_end sub_80AC904
-
- thumb_func_start sub_80AC910
-sub_80AC910:
- movs r2, 0x90
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- bx lr
- thumb_func_end sub_80AC910
-
- thumb_func_start sub_80AC91C
-sub_80AC91C:
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AC934
- movs r3, 0x90
- lsls r3, 1
- adds r0, r2, r3
- strb r1, [r0]
-_080AC934:
- pop {r0}
- bx r0
- thumb_func_end sub_80AC91C
-
- thumb_func_start sub_80AC938
-sub_80AC938:
- push {r4,r5,lr}
- lsls r1, 16
- adds r3, r0, 0
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- cmp r0, 0
- beq _080AC958
- ldr r1, _080AC954
- lsls r0, 1
- adds r0, r1
- b _080AC95E
- .align 2, 0
-_080AC954: .4byte gUnknown_81183A0
-_080AC958:
- movs r5, 0x9F
- lsls r5, 1
- adds r0, r3, r5
-_080AC95E:
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r5, 0x9F
- lsls r5, 1
- adds r1, r3, r5
- ldrh r4, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r2
- beq _080AC97C
- strh r2, [r1]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- b _080AC98C
-_080AC97C:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r4
- cmp r0, 0
- beq _080AC990
- movs r5, 0x9E
- lsls r5, 1
- adds r1, r3, r5
-_080AC98C:
- movs r0, 0x1
- strb r0, [r1]
-_080AC990:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC938
-
- thumb_func_start sub_80AC998
-sub_80AC998:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- adds r2, r1, 0
- cmp r1, 0
- bne _080AC9AA
- movs r1, 0xE0
- lsls r1, 1
- adds r2, r1, 0
-_080AC9AA:
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- strh r2, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_80AC998
-
- thumb_func_start sub_80AC9B8
-sub_80AC9B8:
- push {lr}
- adds r1, r0, 0
- movs r2, 0x9E
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AC9D6
- adds r2, 0x8
- adds r0, r1, r2
- bl sub_80A66F8
- lsls r0, 24
- lsrs r0, 24
- b _080AC9D8
-_080AC9D6:
- movs r0, 0x1
-_080AC9D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80AC9B8
-
- thumb_func_start sub_80AC9DC
-sub_80AC9DC:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080AC9FE
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r1, r2
- bl sub_80A671C
- lsls r0, 24
- lsrs r0, 24
- b _080ACA00
-_080AC9FE:
- movs r0, 0x1
-_080ACA00:
- pop {r1}
- bx r1
- thumb_func_end sub_80AC9DC
-
- thumb_func_start sub_80ACA04
-sub_80ACA04:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- thumb_func_end sub_80ACA04
-
- thumb_func_start sub_80ACA10
-sub_80ACA10:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AC1B0
- pop {r0}
- bx r0
- thumb_func_end sub_80ACA10
-
- thumb_func_start sub_80ACA20
-sub_80ACA20:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AC1F4
- pop {r0}
- bx r0
- thumb_func_end sub_80ACA20
-
- thumb_func_start sub_80ACA30
-sub_80ACA30:
- push {lr}
- bl sub_80AC720
- pop {r1}
- bx r1
- thumb_func_end sub_80ACA30
-
- thumb_func_start GroundObject_Action
-GroundObject_Action:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080ACA7C
- ldr r5, [r0]
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x9E
- lsls r1, 1
- adds r6, r5, r1
-_080ACA54:
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r0, r8
- beq _080ACAB2
- adds r4, r5, 0
- adds r4, 0x38
- adds r0, r4, 0
- ldr r1, _080ACA80
- bl HandleAction
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080ACA84
- cmp r0, 0x4
- bne _080ACA90
- adds r0, r7, 0
- bl GroundObject_Delete
- b _080ACAB2
- .align 2, 0
-_080ACA7C: .4byte gUnknown_3001B88
-_080ACA80: .4byte gUnknown_8118524
-_080ACA84:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- ldr r3, _080ACAD0
- bl sub_809D8C0
-_080ACA90:
- ldrb r0, [r6]
- cmp r0, 0
- beq _080ACAB2
- movs r0, 0
- strb r0, [r6]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldrh r2, [r6, 0x2]
- movs r3, 0xF8
- lsls r3, 5
- adds r1, r3, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- bl sub_80A6EFC
-_080ACAB2:
- adds r0, r7, 0x1
- lsls r0, 16
- asrs r7, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r6, r0
- adds r5, r0
- cmp r7, 0xF
- ble _080ACA54
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACAD0: .4byte gUnknown_8118530
- thumb_func_end GroundObject_Action
-
- thumb_func_start sub_80ACAD4
-sub_80ACAD4:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r0, _080ACB8C
- ldr r6, [r0]
- movs r0, 0
- mov r8, r0
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- movs r2, 0x90
- lsls r2, 1
- adds r4, r6, r2
-_080ACAF2:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- beq _080ACB64
- ldr r0, [r4, 0x4]
- ldr r1, [r6, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x8]
- ldr r1, [r6, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r1, [r4, 0x14]
- ldr r0, [r4, 0x18]
- adds r7, r1, r0
- movs r0, 0xA2
- lsls r0, 1
- adds r5, r6, r0
- adds r0, r5, 0
- bl sub_80A66D4
- lsls r0, 24
- cmp r0, 0
- beq _080ACB40
- movs r0, 0
- strb r0, [r4, 0x1C]
- ldrh r2, [r4, 0x1E]
- movs r0, 0xF8
- lsls r0, 5
- adds r1, r0, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- adds r0, r5, 0
- bl sub_80A6EFC
-_080ACB40:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080ACB5A
- adds r1, r0, 0
- movs r2, 0
- ldrsb r2, [r4, r2]
- adds r0, r5, 0
- movs r3, 0
- bl sub_80A7040
- movs r0, 0
- strh r0, [r4, 0x20]
-_080ACB5A:
- adds r0, r5, 0
- mov r1, sp
- adds r2, r7, 0
- bl sub_80A7664
-_080ACB64:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0xE2
- lsls r0, 1
- adds r4, r0
- adds r6, r0
- mov r1, r8
- cmp r1, 0xF
- ble _080ACAF2
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACB8C: .4byte gUnknown_3001B88
- thumb_func_end sub_80ACAD4
-
- thumb_func_start sub_80ACB90
-sub_80ACB90:
- push {r4,r5,lr}
- ldr r4, _080ACBCC
- movs r0, 0xE2
- lsls r0, 5
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080ACBD0
- adds r5, r0, 0
- movs r4, 0xE2
- lsls r4, 1
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080ACBB0:
- ldrh r0, [r1, 0x6]
- orrs r0, r5
- strh r0, [r1, 0x6]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, r4
- cmp r0, 0xF
- ble _080ACBB0
- bl sub_80ACBD4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACBCC: .4byte gUnknown_3001B8C
-_080ACBD0: .4byte 0x0000ffff
- thumb_func_end sub_80ACB90
-
- thumb_func_start sub_80ACBD4
-sub_80ACBD4:
- push {r4-r6,lr}
- ldr r0, _080ACC0C
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080ACBE4:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080ACBF2
- adds r0, r1, 0
- bl sub_80AD080
-_080ACBF2:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ACBE4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACC0C: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACBD4
-
- thumb_func_start sub_80ACC10
-sub_80ACC10:
- push {r4,lr}
- bl sub_80ACBD4
- ldr r4, _080ACC28
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACC28: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACC10
-
- thumb_func_start GroundEffect_Select
-GroundEffect_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080ACC90
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080ACC94
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0x14]
- ldr r0, [r0, 0x10]
- cmp r0, 0
- ble _080ACC86
- adds r4, r0, 0
-_080ACC70:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundEffect_Add
- subs r4, 0x1
- adds r5, 0xC
- cmp r4, 0
- bne _080ACC70
-_080ACC86:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACC90: .4byte gUnknown_8118610
-_080ACC94: .4byte gUnknown_811861C
- thumb_func_end GroundEffect_Select
-
- thumb_func_start sub_80ACC98
-sub_80ACC98:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080ACD00
- movs r0, 0
- adds r2, r7, 0
- bl Log
- movs r1, 0
- ldr r0, _080ACD04
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080ACCC0:
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080ACCE2
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080ACCE2
- cmp r5, 0
- blt _080ACCDC
- movs r0, 0xA
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080ACCE2
-_080ACCDC:
- adds r0, r1, 0
- bl sub_80AD080
-_080ACCE2:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- movs r2, 0xE2
- lsls r2, 1
- adds r4, r2
- cmp r1, 0xF
- ble _080ACCC0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACD00: .4byte gUnknown_8118640
-_080ACD04: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACC98
-
- thumb_func_start sub_80ACD08
-sub_80ACD08:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r1, _080ACD7C
- movs r0, 0
- bl Log
- movs r6, 0
- ldr r0, _080ACD80
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x92
- lsls r1, 1
- adds r5, r4, r1
- mov r7, sp
-_080ACD2C:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080ACD5C
- ldr r0, [r5]
- ldr r1, [r4, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r5, 0x4]
- ldr r1, [r4, 0x18]
- adds r0, r1
- str r0, [r7, 0x4]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- mov r1, sp
- bl sub_80A675C
- lsls r0, 24
- cmp r0, 0
- bne _080ACD5C
- adds r0, r6, 0
- bl sub_80AD080
-_080ACD5C:
- adds r0, r6, 0x1
- lsls r0, 16
- asrs r6, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r5, r0
- adds r4, r0
- cmp r6, 0xF
- ble _080ACD2C
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ACD7C: .4byte gUnknown_8118658
-_080ACD80: .4byte gUnknown_3001B8C
- thumb_func_end sub_80ACD08
-
- thumb_func_start sub_80ACD84
-sub_80ACD84:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r4, r0, 16
- movs r3, 0
- ldr r0, _080ACDA8
- ldr r1, [r0]
- movs r6, 0xE2
- lsls r6, 1
- movs r2, 0x80
- lsls r2, 9
- adds r5, r2, 0
-_080ACD9A:
- movs r7, 0x6
- ldrsh r0, [r1, r7]
- cmp r0, r4
- bne _080ACDAC
- adds r0, r3, 0
- b _080ACDBC
- .align 2, 0
-_080ACDA8: .4byte gUnknown_3001B8C
-_080ACDAC:
- adds r0, r2, 0
- adds r2, r5
- asrs r3, r0, 16
- adds r1, r6
- cmp r3, 0xF
- ble _080ACD9A
- movs r0, 0x1
- negs r0, r0
-_080ACDBC:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ACD84
-
- thumb_func_start GroundEffect_Add
-GroundEffect_Add:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- adds r7, r1, 0
- lsls r0, 16
- asrs r6, r0, 16
- lsls r2, 16
- asrs r2, 16
- mov r10, r2
- lsls r3, 24
- asrs r3, 24
- mov r9, r3
- ldrb r0, [r7]
- lsls r0, 2
- ldr r1, _080ACE08
- adds r0, r1
- mov r8, r0
- ldr r3, _080ACE0C
- cmp r6, 0
- bge _080ACE38
- movs r2, 0
- ldr r5, [r3]
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ACE10
- movs r6, 0
- b _080ACE38
- .align 2, 0
-_080ACE08: .4byte gUnknown_811EE38
-_080ACE0C: .4byte gUnknown_3001B8C
-_080ACE10:
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r2, r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r5, r1
- cmp r2, 0xF
- bgt _080ACE2E
- movs r4, 0x6
- ldrsh r1, [r5, r4]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ACE10
- adds r6, r2, 0
-_080ACE2E:
- cmp r6, 0
- bge _080ACE38
- movs r0, 0x1
- negs r0, r0
- b _080AD062
-_080ACE38:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 4
- adds r0, r6
- lsls r0, 2
- ldr r1, [r3]
- adds r5, r1, r0
- ldr r1, _080ACE9C
- ldrb r3, [r7]
- mov r2, r8
- movs r4, 0
- ldrsh r0, [r2, r4]
- str r0, [sp]
- mov r0, r10
- str r0, [sp, 0x4]
- mov r2, r9
- str r2, [sp, 0x8]
- movs r0, 0
- adds r2, r6, 0
- bl Log
- movs r2, 0
- movs r3, 0x6
- ldrsh r1, [r5, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ACE72
- movs r2, 0x1
-_080ACE72:
- str r2, [sp, 0xC]
- strh r6, [r5, 0x4]
- ldrb r0, [r7]
- strh r0, [r5, 0x6]
- mov r4, r10
- strh r4, [r5, 0x8]
- mov r0, r9
- strb r0, [r5, 0xA]
- mov r1, r8
- ldrh r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _080ACEEC
- lsls r0, 2
- ldr r1, _080ACEA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ACE9C: .4byte gUnknown_8118674
-_080ACEA0: .4byte _080ACEA4
- .align 2, 0
-_080ACEA4:
- .4byte _080ACEB8
- .4byte _080ACEEC
- .4byte _080ACEC4
- .4byte _080ACED0
- .4byte _080ACEDC
-_080ACEB8:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- movs r0, 0x81
- lsls r0, 22
- b _080ACEF4
-_080ACEC4:
- movs r4, 0x8E
- lsls r4, 1
- adds r1, r5, r4
- movs r0, 0x83
- lsls r0, 18
- b _080ACEF4
-_080ACED0:
- movs r0, 0x8E
- lsls r0, 1
- adds r1, r5, r0
- movs r0, 0x88
- lsls r0, 22
- b _080ACEF4
-_080ACEDC:
- movs r2, 0x8E
- lsls r2, 1
- adds r1, r5, r2
- ldr r0, _080ACEE8
- b _080ACEF4
- .align 2, 0
-_080ACEE8: .4byte 0x22020000
-_080ACEEC:
- movs r3, 0x8E
- lsls r3, 1
- adds r1, r5, r3
- ldr r0, _080ACF08
-_080ACEF4:
- str r0, [r1]
- mov r4, r8
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- bne _080ACF0C
- ldrb r0, [r7, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r7, 0x3]
- b _080ACF16
- .align 2, 0
-_080ACF08: .4byte 0x220c0000
-_080ACF0C:
- mov r1, r8
- ldrb r0, [r1, 0x2]
- lsls r0, 11
- str r0, [r5, 0xC]
- ldrb r0, [r1, 0x3]
-_080ACF16:
- lsls r0, 11
- str r0, [r5, 0x10]
- ldr r0, [r5, 0xC]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x14]
- ldr r0, [r5, 0x10]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- str r0, [r5, 0x18]
- ldrb r0, [r7, 0x1]
- strb r0, [r5, 0x1C]
- adds r2, r7, 0x4
- adds r4, r5, 0
- adds r4, 0x20
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ACF5A
- ldrb r0, [r7, 0x4]
- lsls r3, r0, 11
- str r3, [r5, 0x20]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ACF5A
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r5, 0x20]
-_080ACF5A:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ACF7C
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ACF7C
- movs r2, 0x80
- lsls r2, 3
- adds r0, r3, r2
- str r0, [r4, 0x4]
-_080ACF7C:
- ldr r3, [sp, 0xC]
- cmp r3, 0
- beq _080ACFD2
- ldrb r1, [r5, 0x1C]
- movs r4, 0x90
- lsls r4, 1
- adds r0, r5, r4
- movs r3, 0
- strb r1, [r0]
- movs r0, 0x92
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r1, 0x96
- lsls r1, 1
- adds r2, r5, r1
- ldr r0, [r5, 0x20]
- ldr r1, [r5, 0x14]
- adds r0, r1
- str r0, [r2]
- adds r4, 0x8
- adds r2, r5, r4
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r5, r0
- ldr r0, [r5, 0x24]
- ldr r1, [r5, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r5, r2
- adds r4, 0x10
- adds r0, r5, r4
- str r3, [r0]
- str r3, [r1]
-_080ACFD2:
- adds r0, r5, 0
- adds r0, 0x28
- adds r1, r5, 0
- adds r1, 0x30
- bl sub_80A5778
- ldr r0, [sp, 0xC]
- cmp r0, 0
- beq _080AD01A
- movs r2, 0x9F
- lsls r2, 1
- adds r1, r5, r2
- movs r2, 0
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1]
- movs r3, 0x9E
- lsls r3, 1
- adds r1, r5, r3
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0xA0
- lsls r4, 1
- adds r0, r5, r4
- strh r2, [r0]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- movs r3, 0x6
- ldrsh r2, [r5, r3]
- subs r4, 0x24
- adds r1, r5, r4
- ldr r3, [r1]
- adds r1, r6, 0
- bl sub_80A7688
-_080AD01A:
- adds r4, r5, 0
- adds r4, 0x38
- ldr r1, _080AD074
- mov r0, r9
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r5, 0
- mov r3, r10
- bl sub_809D600
- ldr r2, [r7, 0x8]
- cmp r2, 0
- bne _080AD04C
- mov r1, r8
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- bne _080AD048
- ldr r0, _080AD078
- movs r1, 0xB0
- lsls r1, 2
- adds r0, r1
- ldr r2, [r0]
-_080AD048:
- cmp r2, 0
- beq _080AD060
-_080AD04C:
- adds r0, r4, 0
- movs r1, 0
- bl sub_809D6D8
- ldr r3, _080AD07C
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl sub_809D8C0
-_080AD060:
- adds r0, r6, 0
-_080AD062:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD074: .4byte gUnknown_8118544
-_080AD078: .4byte gUnknown_812F1F8
-_080AD07C: .4byte gUnknown_81186CC
- thumb_func_end GroundEffect_Add
-
- thumb_func_start sub_80AD080
-sub_80AD080:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r1, _080AD0BC
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 4
- adds r0, r2
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AD0C0
- movs r0, 0
- bl Log
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r4, r1
- bl sub_80A7714
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D648
- ldr r0, _080AD0C4
- strh r0, [r4, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD0BC: .4byte gUnknown_3001B8C
-_080AD0C0: .4byte gUnknown_81186D8
-_080AD0C4: .4byte 0x0000ffff
- thumb_func_end sub_80AD080
-
- thumb_func_start sub_80AD0C8
-sub_80AD0C8:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD108
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AD102
- movs r1, 0x8E
- lsls r1, 1
- adds r0, r2, r1
- ldr r1, [r0]
- orrs r1, r3
- str r1, [r0]
- movs r3, 0xA2
- lsls r3, 1
- adds r0, r2, r3
- bl sub_80A6688
-_080AD102:
- pop {r0}
- bx r0
- .align 2, 0
-_080AD108: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD0C8
-
- thumb_func_start sub_80AD10C
-sub_80AD10C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD150
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r3, r0, r1
- movs r0, 0x6
- ldrsh r1, [r3, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AD14A
- movs r0, 0x8E
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, _080AD154
- eors r0, r4
- ldr r1, [r2]
- ands r1, r0
- str r1, [r2]
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r3, r2
- bl sub_80A6688
-_080AD14A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD150: .4byte gUnknown_3001B8C
-_080AD154: .4byte 0x337fffff
- thumb_func_end sub_80AD10C
-
- thumb_func_start sub_80AD158
-sub_80AD158:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD180
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD184
- movs r0, 0
- b _080AD188
- .align 2, 0
-_080AD180: .4byte gUnknown_3001B8C
-_080AD184:
- adds r0, r2, 0
- adds r0, 0x38
-_080AD188:
- pop {r1}
- bx r1
- thumb_func_end sub_80AD158
-
- thumb_func_start sub_80AD18C
-sub_80AD18C:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- lsls r2, 16
- asrs r3, r2, 16
- ldr r2, _080AD1B8
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD1BC
- movs r0, 0
- b _080AD1CC
- .align 2, 0
-_080AD1B8: .4byte gUnknown_3001B8C
-_080AD1BC:
- adds r0, r2, 0
- adds r0, 0x38
- adds r1, r4, 0
- adds r2, r3, 0
- bl sub_809D6E4
- lsls r0, 24
- lsrs r0, 24
-_080AD1CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD18C
-
- thumb_func_start GroundEffect_ExecuteScript
-GroundEffect_ExecuteScript:
- push {r4-r6,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r3, 16
- asrs r3, 16
- ldr r1, _080AD20C
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, [r1]
- adds r4, r1, r0
- ldr r1, _080AD210
- movs r0, 0
- adds r2, r3, 0
- bl Log
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD214
- movs r0, 0
- b _080AD22C
- .align 2, 0
-_080AD20C: .4byte gUnknown_3001B8C
-_080AD210: .4byte gUnknown_81186F4
-_080AD214:
- adds r0, r4, 0
- adds r0, 0x38
- ldr r3, _080AD234
- adds r1, r5, 0
- adds r2, r6, 0
- bl GroundScript_ExecutePP
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AD22C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD234: .4byte gUnknown_811872C
- thumb_func_end GroundEffect_ExecuteScript
-
- thumb_func_start sub_80AD238
-sub_80AD238:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- ldr r0, _080AD28C
- ldr r4, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080AD252:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r8
- beq _080AD26A
- adds r0, r4, 0
- adds r0, 0x38
- adds r1, r7, 0
- bl sub_809D968
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AD26A:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AD252
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD28C: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD238
-
- thumb_func_start sub_80AD290
-sub_80AD290:
- push {r4-r7,lr}
- ldr r0, _080AD2D4
- ldr r4, [r0]
- movs r5, 0
- movs r7, 0x1
- negs r7, r7
- movs r6, 0x80
- lsls r6, 9
-_080AD2A0:
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, r7
- beq _080AD2B6
- adds r0, r4, 0
- adds r0, 0x38
- bl sub_809D92C
- orrs r5, r0
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080AD2B6:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r0, 16
- movs r1, 0xE2
- lsls r1, 1
- adds r4, r1
- cmp r0, 0xF
- ble _080AD2A0
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD2D4: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD290
-
- thumb_func_start sub_80AD2D8
-sub_80AD2D8:
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD2F4
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AD2F4: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD2D8
-
- thumb_func_start sub_80AD2F8
-sub_80AD2F8:
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AD31C
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, [r3]
- adds r0, r2
- movs r3, 0x8E
- lsls r3, 1
- adds r2, r0, r3
- ldr r2, [r2]
- str r2, [r1]
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- bx lr
- .align 2, 0
-_080AD31C: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD2F8
-
- thumb_func_start sub_80AD320
-sub_80AD320:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD34C
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD350
- movs r0, 0
- str r0, [r3]
- str r0, [r3, 0x4]
- b _080AD358
- .align 2, 0
-_080AD34C: .4byte gUnknown_3001B8C
-_080AD350:
- ldr r0, [r2, 0xC]
- ldr r1, [r2, 0x10]
- str r0, [r3]
- str r1, [r3, 0x4]
-_080AD358:
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AD320
-
- thumb_func_start sub_80AD360
-sub_80AD360:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080AD38C
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, [r2]
- adds r2, r0, r1
- movs r0, 0x6
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080AD390
- movs r0, 0
- str r0, [r3]
- b _080AD3AA
- .align 2, 0
-_080AD38C: .4byte gUnknown_3001B8C
-_080AD390:
- movs r1, 0x92
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x14]
- adds r0, r1
- str r0, [r3]
- movs r1, 0x94
- lsls r1, 1
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r2, 0x18]
- adds r0, r1
-_080AD3AA:
- str r0, [r3, 0x4]
- movs r1, 0x6
- ldrsh r0, [r2, r1]
- pop {r1}
- bx r1
- thumb_func_end sub_80AD360
-
- thumb_func_start sub_80AD3B4
-sub_80AD3B4:
- push {r4,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r3, _080AD3DC
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 4
- adds r2, r0
- lsls r2, 2
- ldr r4, [r3]
- adds r4, r2
- adds r0, r4, 0
- bl sub_80AD3E0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD3DC: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD3B4
-
- thumb_func_start sub_80AD3E0
-sub_80AD3E0:
- push {r4-r7,lr}
- mov r12, r0
- ldr r3, [r1]
- ldr r2, [r0, 0x14]
- subs r6, r3, r2
- ldr r1, [r1, 0x4]
- ldr r0, [r0, 0x18]
- subs r7, r1, r0
- adds r4, r3, r2
- adds r5, r1, r0
- mov r1, r12
- ldr r0, [r1, 0x28]
- cmp r6, r0
- blt _080AD40E
- ldr r0, [r1, 0x30]
- cmp r4, r0
- bge _080AD40E
- ldr r0, [r1, 0x2C]
- cmp r7, r0
- blt _080AD40E
- ldr r0, [r1, 0x34]
- cmp r5, r0
- blt _080AD412
-_080AD40E:
- movs r0, 0x1
- b _080AD428
-_080AD412:
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- str r6, [r0]
- str r7, [r0, 0x4]
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- str r4, [r0]
- str r5, [r0, 0x4]
- movs r0, 0
-_080AD428:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD3E0
-
- thumb_func_start sub_80AD430
-sub_80AD430:
- push {r4-r6,lr}
- mov r12, r0
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- ldr r2, [r1]
- adds r5, r0, r2
- movs r0, 0x94
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- ldr r1, [r1, 0x4]
- adds r6, r0, r1
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- adds r3, r0, r2
- movs r0, 0x98
- lsls r0, 1
- add r0, r12
- ldr r0, [r0]
- adds r4, r0, r1
- mov r0, r12
- ldr r1, [r0, 0x28]
- cmp r5, r1
- bge _080AD470
- adds r5, r1, 0
- ldr r0, [r0, 0xC]
- adds r3, r1, r0
- b _080AD47E
-_080AD470:
- mov r2, r12
- ldr r1, [r2, 0x30]
- cmp r3, r1
- blt _080AD47E
- ldr r0, [r2, 0xC]
- subs r5, r1, r0
- adds r3, r1, 0
-_080AD47E:
- mov r0, r12
- ldr r1, [r0, 0x2C]
- cmp r6, r1
- bge _080AD48E
- adds r6, r1, 0
- ldr r0, [r0, 0x10]
- adds r4, r1, r0
- b _080AD49C
-_080AD48E:
- mov r2, r12
- ldr r1, [r2, 0x34]
- cmp r4, r1
- blt _080AD49C
- ldr r0, [r2, 0x10]
- subs r6, r1, r0
- adds r4, r1, 0
-_080AD49C:
- movs r0, 0x92
- lsls r0, 1
- add r0, r12
- str r5, [r0]
- str r6, [r0, 0x4]
- movs r0, 0x96
- lsls r0, 1
- add r0, r12
- str r3, [r0]
- str r4, [r0, 0x4]
- movs r0, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80AD430
-
- thumb_func_start sub_80AD4B8
-sub_80AD4B8:
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- bx lr
- thumb_func_end sub_80AD4B8
-
- thumb_func_start sub_80AD4C0
-sub_80AD4C0:
- ldr r2, [r0, 0xC]
- ldr r3, [r0, 0x10]
- str r2, [r1]
- str r3, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AD4C0
-
- thumb_func_start sub_80AD4CC
-sub_80AD4CC:
- push {r4,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- beq _080AD50C
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4]
- ldr r0, [r3, 0x14]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x14]
- adds r1, r0
- str r1, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r1, [r4, 0x4]
- ldr r0, [r3, 0x18]
- subs r0, r1, r0
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x18]
- adds r1, r0
- str r1, [r2]
- b _080AD572
-_080AD50C:
- movs r0, 0x92
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x96
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x20]
- ldr r1, [r3, 0x14]
- adds r0, r1
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- subs r0, r1
- str r0, [r2]
- movs r0, 0x98
- lsls r0, 1
- adds r2, r3, r0
- ldr r0, [r3, 0x24]
- ldr r1, [r3, 0x18]
- adds r0, r1
- str r0, [r2]
- movs r2, 0x9A
- lsls r2, 1
- adds r1, r3, r2
- adds r2, 0x4
- adds r0, r3, r2
- str r4, [r0]
- str r4, [r1]
- movs r0, 0x90
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r0, 0x1C
- ldrsb r0, [r3, r0]
- cmp r1, r0
- beq _080AD56E
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x1
- strb r0, [r1]
-_080AD56E:
- ldrb r0, [r3, 0x1C]
- strb r0, [r2]
-_080AD572:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD4CC
-
- thumb_func_start sub_80AD578
-sub_80AD578:
- push {r4,lr}
- ldr r3, [r1]
- ldr r4, [r1, 0x4]
- str r3, [r0, 0x28]
- str r4, [r0, 0x2C]
- ldr r1, [r2]
- ldr r2, [r2, 0x4]
- str r1, [r0, 0x30]
- str r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD578
-
- thumb_func_start sub_80AD590
-sub_80AD590:
- adds r3, r0, 0
- movs r2, 0x92
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x14]
- adds r0, r2
- str r0, [r1]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r3, r2
- ldr r0, [r0]
- ldr r2, [r3, 0x18]
- adds r0, r2
- str r0, [r1, 0x4]
- bx lr
- thumb_func_end sub_80AD590
-
- thumb_func_start sub_80AD5B0
-sub_80AD5B0:
- push {lr}
- bl sub_80AD3E0
- pop {r1}
- bx r1
- thumb_func_end sub_80AD5B0
-
- thumb_func_start sub_80AD5BC
-sub_80AD5BC:
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0x9A
- lsls r4, 1
- adds r0, r3, r4
- ldr r0, [r0]
- str r0, [r1]
- movs r1, 0x9C
- lsls r1, 1
- adds r0, r3, r1
- ldr r0, [r0]
- str r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD5BC
-
- thumb_func_start sub_80AD5DC
-sub_80AD5DC:
- movs r2, 0x9A
- lsls r2, 1
- adds r0, r2
- str r1, [r0]
- bx lr
- thumb_func_end sub_80AD5DC
-
- thumb_func_start sub_80AD5E8
-sub_80AD5E8:
- movs r2, 0x90
- lsls r2, 1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- bx lr
- thumb_func_end sub_80AD5E8
-
- thumb_func_start sub_80AD5F4
-sub_80AD5F4:
- push {lr}
- adds r2, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080AD60C
- movs r3, 0x90
- lsls r3, 1
- adds r0, r2, r3
- strb r1, [r0]
-_080AD60C:
- pop {r0}
- bx r0
- thumb_func_end sub_80AD5F4
-
- thumb_func_start sub_80AD610
-sub_80AD610:
- push {r4,r5,lr}
- lsls r1, 16
- adds r3, r0, 0
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r0, 16
- cmp r0, 0
- beq _080AD630
- ldr r1, _080AD62C
- lsls r0, 1
- adds r0, r1
- b _080AD636
- .align 2, 0
-_080AD62C: .4byte gUnknown_81185F2
-_080AD630:
- movs r5, 0x9F
- lsls r5, 1
- adds r0, r3, r5
-_080AD636:
- movs r1, 0
- ldrsh r2, [r0, r1]
- movs r5, 0x9F
- lsls r5, 1
- adds r1, r3, r5
- ldrh r4, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r2
- beq _080AD654
- strh r2, [r1]
- movs r0, 0x9E
- lsls r0, 1
- adds r1, r3, r0
- b _080AD664
-_080AD654:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r4
- cmp r0, 0
- beq _080AD668
- movs r5, 0x9E
- lsls r5, 1
- adds r1, r3, r5
-_080AD664:
- movs r0, 0x1
- strb r0, [r1]
-_080AD668:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AD610
-
- thumb_func_start sub_80AD670
-sub_80AD670:
- push {lr}
- lsls r1, 16
- asrs r1, 16
- adds r2, r1, 0
- cmp r1, 0
- bne _080AD682
- movs r1, 0xE0
- lsls r1, 1
- adds r2, r1, 0
-_080AD682:
- movs r1, 0xA0
- lsls r1, 1
- adds r0, r1
- strh r2, [r0]
- pop {r0}
- bx r0
- thumb_func_end sub_80AD670
-
- thumb_func_start sub_80AD690
-sub_80AD690:
- push {lr}
- adds r1, r0, 0
- movs r2, 0x9E
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080AD6AE
- adds r2, 0x8
- adds r0, r1, r2
- bl sub_80A66F8
- lsls r0, 24
- lsrs r0, 24
- b _080AD6B0
-_080AD6AE:
- movs r0, 0x1
-_080AD6B0:
- pop {r1}
- bx r1
- thumb_func_end sub_80AD690
-
- thumb_func_start sub_80AD6B4
-sub_80AD6B4:
- push {lr}
- adds r1, r0, 0
- movs r2, 0xA0
- lsls r2, 1
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080AD6D6
- movs r2, 0xA2
- lsls r2, 1
- adds r0, r1, r2
- bl sub_80A671C
- lsls r0, 24
- lsrs r0, 24
- b _080AD6D8
-_080AD6D6:
- movs r0, 0x1
-_080AD6D8:
- pop {r1}
- bx r1
- thumb_func_end sub_80AD6B4
-
- thumb_func_start sub_80AD6DC
-sub_80AD6DC:
- movs r2, 0x8E
- lsls r2, 1
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- bx lr
- thumb_func_end sub_80AD6DC
-
- thumb_func_start sub_80AD6E8
-sub_80AD6E8:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AD0C8
- pop {r0}
- bx r0
- thumb_func_end sub_80AD6E8
-
- thumb_func_start sub_80AD6F8
-sub_80AD6F8:
- push {lr}
- movs r2, 0x4
- ldrsh r0, [r0, r2]
- bl sub_80AD10C
- pop {r0}
- bx r0
- thumb_func_end sub_80AD6F8
-
- thumb_func_start sub_80AD708
-sub_80AD708:
- push {lr}
- bl sub_80AD430
- pop {r1}
- bx r1
- thumb_func_end sub_80AD708
-
- thumb_func_start GroundEffect_Action
-GroundEffect_Action:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080AD754
- ldr r5, [r0]
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r1, 0x9E
- lsls r1, 1
- adds r6, r5, r1
-_080AD72C:
- movs r3, 0x6
- ldrsh r0, [r5, r3]
- cmp r0, r8
- beq _080AD78A
- adds r4, r5, 0
- adds r4, 0x38
- adds r0, r4, 0
- ldr r1, _080AD758
- bl HandleAction
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080AD75C
- cmp r0, 0x4
- bne _080AD768
- adds r0, r7, 0
- bl sub_80AD080
- b _080AD78A
- .align 2, 0
-_080AD754: .4byte gUnknown_3001B8C
-_080AD758: .4byte gUnknown_811874C
-_080AD75C:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- ldr r3, _080AD7A8
- bl sub_809D8C0
-_080AD768:
- ldrb r0, [r6]
- cmp r0, 0
- beq _080AD78A
- movs r0, 0
- strb r0, [r6]
- movs r1, 0xA2
- lsls r1, 1
- adds r0, r5, r1
- ldrh r2, [r6, 0x2]
- movs r3, 0xF8
- lsls r3, 5
- adds r1, r3, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- bl sub_80A6EFC
-_080AD78A:
- adds r0, r7, 0x1
- lsls r0, 16
- asrs r7, r0, 16
- movs r0, 0xE2
- lsls r0, 1
- adds r6, r0
- adds r5, r0
- cmp r7, 0xF
- ble _080AD72C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD7A8: .4byte gUnknown_8118758
- thumb_func_end GroundEffect_Action
-
- thumb_func_start sub_80AD7AC
-sub_80AD7AC:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r0, _080AD864
- ldr r6, [r0]
- movs r0, 0
- mov r8, r0
- movs r1, 0x1
- negs r1, r1
- mov r9, r1
- movs r2, 0x90
- lsls r2, 1
- adds r4, r6, r2
-_080AD7CA:
- movs r0, 0x6
- ldrsh r1, [r6, r0]
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- beq _080AD83C
- ldr r0, [r4, 0x4]
- ldr r1, [r6, 0x14]
- adds r0, r1
- str r0, [sp]
- ldr r0, [r4, 0x8]
- ldr r1, [r6, 0x18]
- adds r0, r1
- str r0, [sp, 0x4]
- ldr r1, [r4, 0x14]
- ldr r0, [r4, 0x18]
- adds r7, r1, r0
- movs r0, 0xA2
- lsls r0, 1
- adds r5, r6, r0
- adds r0, r5, 0
- bl sub_80A66D4
- lsls r0, 24
- cmp r0, 0
- beq _080AD818
- movs r0, 0
- strb r0, [r4, 0x1C]
- ldrh r2, [r4, 0x1E]
- movs r0, 0xF8
- lsls r0, 5
- adds r1, r0, 0
- ands r1, r2
- lsls r2, 24
- asrs r2, 24
- adds r0, r5, 0
- bl sub_80A6EFC
-_080AD818:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080AD832
- adds r1, r0, 0
- movs r2, 0
- ldrsb r2, [r4, r2]
- adds r0, r5, 0
- movs r3, 0
- bl sub_80A7040
- movs r0, 0
- strh r0, [r4, 0x20]
-_080AD832:
- adds r0, r5, 0
- mov r1, sp
- adds r2, r7, 0
- bl sub_80A7720
-_080AD83C:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- movs r0, 0xE2
- lsls r0, 1
- adds r4, r0
- adds r6, r0
- mov r1, r8
- cmp r1, 0xF
- ble _080AD7CA
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD864: .4byte gUnknown_3001B8C
- thumb_func_end sub_80AD7AC
-
- thumb_func_start sub_80AD868
-sub_80AD868:
- ldr r1, _080AD870
- movs r0, 0
- str r0, [r1]
- bx lr
- .align 2, 0
-_080AD870: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD868
-
- thumb_func_start sub_80AD874
-sub_80AD874:
- ldr r1, _080AD87C
- movs r0, 0
- str r0, [r1]
- bx lr
- .align 2, 0
-_080AD87C: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD874
-
- thumb_func_start GroundLink_Select
-GroundLink_Select:
- push {lr}
- lsls r0, 16
- asrs r0, 16
- ldr r1, _080AD898
- bl sub_80A77D0
- ldr r1, _080AD89C
- ldr r0, [r0, 0x8]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080AD898: .4byte gUnknown_8118798
-_080AD89C: .4byte gUnknown_203B4B8
- thumb_func_end GroundLink_Select
-
- thumb_func_start sub_80AD8A0
-sub_80AD8A0:
- lsls r0, 16
- ldr r1, _080AD8B0
- asrs r0, 13
- ldr r1, [r1]
- adds r1, r0
- adds r0, r1, 0
- bx lr
- .align 2, 0
-_080AD8B0: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD8A0
-
- thumb_func_start sub_80AD8B4
-sub_80AD8B4:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- ldr r1, _080AD910
- asrs r0, 13
- ldr r1, [r1]
- adds r2, r1, r0
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD8E4
- ldrb r0, [r2]
- lsls r3, r0, 11
- str r3, [r4]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD8E4
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4]
-_080AD8E4:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD906
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD906
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4, 0x4]
-_080AD906:
- ldrb r0, [r2, 0x6]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD910: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD8B4
-
- thumb_func_start sub_80AD914
-sub_80AD914:
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- ldr r1, _080AD98C
- asrs r0, 13
- ldr r1, [r1]
- adds r2, r1, r0
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r4]
- str r1, [r4, 0x4]
- ldrb r1, [r2, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD94E
- ldrb r0, [r2]
- lsls r3, r0, 11
- str r3, [r4]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD94E
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4]
-_080AD94E:
- ldrb r1, [r2, 0x3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080AD970
- ldrb r0, [r2, 0x1]
- lsls r3, r0, 11
- str r3, [r4, 0x4]
- ldrb r1, [r2, 0x3]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AD970
- movs r1, 0x80
- lsls r1, 3
- adds r0, r3, r1
- str r0, [r4, 0x4]
-_080AD970:
- ldrb r1, [r2, 0x4]
- lsls r1, 11
- ldr r0, [r4]
- adds r0, r1
- str r0, [r5]
- ldrb r1, [r2, 0x5]
- lsls r1, 11
- ldr r0, [r4, 0x4]
- adds r0, r1
- str r0, [r5, 0x4]
- ldrb r0, [r2, 0x6]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AD98C: .4byte gUnknown_203B4B8
- thumb_func_end sub_80AD914
-
- thumb_func_start sub_80AD990
-sub_80AD990:
- push {r4,lr}
- ldr r4, _080AD9C8
- movs r0, 0x80
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- adds r1, r0, 0
- ldr r0, _080AD9CC
- adds r4, r0, 0
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2, 0
-_080AD9AC:
- ldrh r0, [r1, 0x2]
- orrs r0, r4
- strh r0, [r1, 0x2]
- adds r0, r2, 0
- adds r2, r3
- asrs r0, 16
- adds r1, 0x20
- cmp r0, 0x1F
- ble _080AD9AC
- bl sub_80AD9D0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AD9C8: .4byte gUnknown_3001B90
-_080AD9CC: .4byte 0x0000ffff
- thumb_func_end sub_80AD990
-
- thumb_func_start sub_80AD9D0
-sub_80AD9D0:
- push {r4-r6,lr}
- ldr r0, _080ADA04
- ldr r4, [r0]
- movs r1, 0
- movs r6, 0x1
- negs r6, r6
- movs r5, 0x80
- lsls r5, 9
-_080AD9E0:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r6
- beq _080AD9EE
- adds r0, r1, 0
- bl GroundEvent_Delete
-_080AD9EE:
- adds r0, r5, 0
- movs r1, 0x80
- lsls r1, 9
- adds r5, r1
- asrs r1, r0, 16
- adds r4, 0x20
- cmp r1, 0x1F
- ble _080AD9E0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA04: .4byte gUnknown_3001B90
- thumb_func_end sub_80AD9D0
-
- thumb_func_start sub_80ADA08
-sub_80ADA08:
- push {r4,lr}
- bl sub_80AD9D0
- ldr r4, _080ADA20
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA20: .4byte gUnknown_3001B90
- thumb_func_end sub_80ADA08
-
- thumb_func_start GroundEvent_Select
-GroundEvent_Select:
- push {r4-r7,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- lsls r1, 16
- asrs r7, r1, 16
- lsls r2, 24
- asrs r6, r2, 24
- ldr r1, _080ADA88
- adds r0, r4, 0
- bl sub_80A77D0
- adds r5, r0, 0
- ldr r1, _080ADA8C
- str r6, [sp]
- movs r0, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl Log
- lsls r1, r7, 3
- ldr r0, [r5, 0x4]
- adds r0, r1
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldr r5, [r0, 0x1C]
- ldr r0, [r0, 0x18]
- cmp r0, 0
- ble _080ADA7E
- adds r4, r0, 0
-_080ADA68:
- movs r0, 0x1
- negs r0, r0
- adds r1, r5, 0
- adds r2, r7, 0
- adds r3, r6, 0
- bl GroundEvent_Add
- subs r4, 0x1
- adds r5, 0xC
- cmp r4, 0
- bne _080ADA68
-_080ADA7E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA88: .4byte gUnknown_81187DC
-_080ADA8C: .4byte gUnknown_81187E8
- thumb_func_end GroundEvent_Select
-
- thumb_func_start GroundEvent_Cancel
-GroundEvent_Cancel:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r7, r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- ldr r1, _080ADAF8
- movs r0, 0
- adds r2, r7, 0
- adds r3, r5, 0
- bl Log
- movs r1, 0
- ldr r0, _080ADAFC
- ldr r4, [r0]
- movs r0, 0x1
- negs r0, r0
- mov r8, r0
- movs r6, 0x80
- lsls r6, 9
-_080ADABA:
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, r8
- beq _080ADADC
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, r7
- bne _080ADADC
- cmp r5, 0
- blt _080ADAD6
- movs r0, 0x6
- ldrsb r0, [r4, r0]
- cmp r0, r5
- bne _080ADADC
-_080ADAD6:
- adds r0, r1, 0
- bl GroundEvent_Delete
-_080ADADC:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r1, r0, 16
- adds r4, 0x20
- cmp r1, 0x1F
- ble _080ADABA
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADAF8: .4byte gUnknown_811880C
-_080ADAFC: .4byte gUnknown_3001B90
- thumb_func_end GroundEvent_Cancel
-
- thumb_func_start GroundEvent_Add
-GroundEvent_Add:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- mov r8, r1
- lsls r0, 16
- asrs r7, r0, 16
- lsls r2, 16
- asrs r6, r2, 16
- lsls r3, 24
- asrs r3, 24
- mov r9, r3
- ldr r5, [r1, 0x8]
- cmp r7, 0
- bge _080ADB60
- ldr r0, _080ADB38
- ldr r4, [r0]
- movs r2, 0
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ADB3C
- movs r7, 0
- b _080ADB68
- .align 2, 0
-_080ADB38: .4byte gUnknown_3001B90
-_080ADB3C:
- adds r0, r2, 0x1
- lsls r0, 16
- asrs r2, r0, 16
- adds r4, 0x20
- cmp r2, 0x1F
- bgt _080ADB56
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ADB3C
- adds r7, r2, 0
-_080ADB56:
- cmp r7, 0
- bge _080ADB68
- movs r0, 0x1
- negs r0, r0
- b _080ADC24
-_080ADB60:
- ldr r0, _080ADBA0
- lsls r1, r7, 5
- ldr r0, [r0]
- adds r4, r0, r1
-_080ADB68:
- ldr r1, _080ADBA4
- movs r0, 0
- ldrsh r3, [r5, r0]
- str r6, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x8]
- ldr r0, [r0, 0x8]
- str r0, [sp, 0x8]
- movs r0, 0
- adds r2, r7, 0
- bl Log
- strh r7, [r4]
- ldrh r0, [r5]
- strh r0, [r4, 0x2]
- strh r6, [r4, 0x4]
- mov r3, r9
- strb r3, [r4, 0x6]
- movs r6, 0x2
- ldrsh r0, [r5, r6]
- cmp r0, 0x1
- blt _080ADBA8
- cmp r0, 0x2
- bgt _080ADBA8
- movs r0, 0x60
- b _080ADBAA
- .align 2, 0
-_080ADBA0: .4byte gUnknown_3001B90
-_080ADBA4: .4byte gUnknown_8118828
-_080ADBA8:
- movs r0, 0x20
-_080ADBAA:
- str r0, [r4, 0x8]
- mov r3, r8
- ldrb r0, [r3]
- lsls r1, r0, 11
- ldrb r0, [r3, 0x1]
- lsls r2, r0, 11
- mov r5, r8
- adds r5, 0x4
- add r6, sp, 0xC
- mov r12, r6
- ldrb r6, [r5, 0x2]
- movs r0, 0x4
- ands r0, r6
- cmp r0, 0
- bne _080ADBDE
- ldrb r0, [r3, 0x4]
- lsls r3, r0, 11
- str r3, [sp, 0xC]
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _080ADBDE
- movs r6, 0x80
- lsls r6, 3
- adds r0, r3, r6
- str r0, [sp, 0xC]
-_080ADBDE:
- ldrb r6, [r5, 0x3]
- movs r0, 0x4
- ands r0, r6
- cmp r0, 0
- bne _080ADC02
- ldrb r0, [r5, 0x1]
- lsls r3, r0, 11
- mov r0, r12
- str r3, [r0, 0x4]
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _080ADC02
- movs r5, 0x80
- lsls r5, 3
- adds r0, r3, r5
- mov r6, r12
- str r0, [r6, 0x4]
-_080ADC02:
- ldr r0, [sp, 0xC]
- str r0, [r4, 0xC]
- ldr r0, [sp, 0xC]
- adds r0, r1
- str r0, [r4, 0x14]
- ldr r0, [sp, 0x10]
- str r0, [r4, 0x10]
- ldr r0, [sp, 0x10]
- adds r0, r2
- str r0, [r4, 0x18]
- mov r1, r8
- ldr r0, [r1, 0x8]
- ldr r0, [r0, 0x8]
- str r0, [r4, 0x1C]
- bl sub_80A7A78
- adds r0, r7, 0
-_080ADC24:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end GroundEvent_Add
-
- thumb_func_start GroundEvent_Delete
-GroundEvent_Delete:
- push {r4,lr}
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- ldr r0, _080ADC58
- lsls r1, r2, 5
- ldr r4, [r0]
- adds r4, r1
- ldr r1, _080ADC5C
- movs r0, 0
- bl Log
- ldr r0, _080ADC60
- strh r0, [r4, 0x2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADC58: .4byte gUnknown_3001B90
-_080ADC5C: .4byte gUnknown_811886C
-_080ADC60: .4byte 0x0000ffff
- thumb_func_end GroundEvent_Delete
-
- thumb_func_start sub_80ADC64
-sub_80ADC64:
- push {lr}
- adds r3, r1, 0
- lsls r0, 16
- ldr r1, _080ADC84
- asrs r0, 11
- ldr r1, [r1]
- adds r2, r1, r0
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080ADC88
- movs r0, 0
- b _080ADC9A
- .align 2, 0
-_080ADC84: .4byte gUnknown_3001B90
-_080ADC88:
- ldr r0, [r2, 0x1C]
- str r0, [r3]
- movs r0, 0x2
- strh r0, [r3, 0x4]
- ldrh r0, [r2, 0x4]
- strh r0, [r3, 0x6]
- ldrb r0, [r2, 0x6]
- strb r0, [r3, 0x8]
- movs r0, 0x1
-_080ADC9A:
- pop {r1}
- bx r1
- thumb_func_end sub_80ADC64
-
- thumb_func_start sub_80ADCA0
-sub_80ADCA0:
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r4, r1, 0
- ldr r0, _080ADCEC
- ldr r3, [r0]
- movs r5, 0
- movs r0, 0x1
- negs r0, r0
- mov r12, r0
- movs r6, 0x80
- lsls r6, 9
-_080ADCB6:
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, r12
- beq _080ADCF0
- ldr r0, [r3, 0x8]
- ands r0, r7
- cmp r0, 0
- beq _080ADCF0
- ldr r1, [r3, 0xC]
- ldr r0, [r2]
- cmp r1, r0
- bge _080ADCF0
- ldr r1, [r3, 0x14]
- ldr r0, [r4]
- cmp r1, r0
- ble _080ADCF0
- ldr r1, [r3, 0x10]
- ldr r0, [r2, 0x4]
- cmp r1, r0
- bge _080ADCF0
- ldr r1, [r3, 0x18]
- ldr r0, [r4, 0x4]
- cmp r1, r0
- ble _080ADCF0
- adds r0, r5, 0
- b _080ADD04
- .align 2, 0
-_080ADCEC: .4byte gUnknown_3001B90
-_080ADCF0:
- adds r0, r6, 0
- movs r1, 0x80
- lsls r1, 9
- adds r6, r1
- asrs r5, r0, 16
- adds r3, 0x20
- cmp r5, 0x1F
- ble _080ADCB6
- movs r0, 0x1
- negs r0, r0
-_080ADD04:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADCA0
-
- thumb_func_start sub_80ADD0C
-sub_80ADD0C:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r0, _080ADD74
- ldr r4, [r0]
- movs r7, 0
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
- movs r1, 0x80
- lsls r1, 9
- mov r12, r1
-_080ADD2C:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, r9
- beq _080ADD78
- ldr r0, [r4, 0x8]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _080ADD78
- ldr r0, [r4, 0xC]
- ldr r1, [r4, 0x14]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r2, r0, 1
- ldr r0, [r4, 0x10]
- ldr r1, [r4, 0x18]
- adds r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r3, r0, 1
- ldr r0, [r5]
- cmp r2, r0
- bge _080ADD78
- ldr r0, [r6]
- cmp r2, r0
- ble _080ADD78
- ldr r0, [r5, 0x4]
- cmp r3, r0
- bge _080ADD78
- ldr r0, [r6, 0x4]
- cmp r3, r0
- ble _080ADD78
- adds r0, r7, 0
- b _080ADD8C
- .align 2, 0
-_080ADD74: .4byte gUnknown_3001B90
-_080ADD78:
- mov r0, r12
- movs r1, 0x80
- lsls r1, 9
- add r12, r1
- asrs r7, r0, 16
- adds r4, 0x20
- cmp r7, 0x1F
- ble _080ADD2C
- movs r0, 0x1
- negs r0, r0
-_080ADD8C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADD0C
-
- thumb_func_start nullsub_124
-nullsub_124:
- bx lr
- thumb_func_end nullsub_124
-
- thumb_func_start sub_80ADD9C
-sub_80ADD9C:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- str r2, [sp, 0x28]
- str r3, [sp, 0x2C]
- ldr r5, [sp, 0x54]
- ldr r0, [sp, 0x5C]
- mov r9, r0
- movs r0, 0x93
- lsls r0, 4
- movs r1, 0x7
- bl MemoryAlloc
- mov r10, r0
- ldr r0, _080ADEB4
- ldr r7, _080ADEB8
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- add r4, sp, 0x1C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80901D8
- ldrb r5, [r4]
- ldrb r4, [r4, 0x1]
- cmp r5, 0x3E
- bls _080ADDE2
- movs r5, 0x3E
-_080ADDE2:
- cmp r4, 0
- bgt _080ADDE8
- movs r4, 0x1
-_080ADDE8:
- adds r0, r5, 0
- bl sub_8090298
- cmp r4, r0
- blt _080ADDFA
- adds r0, r5, 0
- bl sub_8090298
- subs r4, r0, 0x1
-_080ADDFA:
- ldr r2, [r6, 0x4]
- ldr r1, [r2]
- lsls r0, r5, 2
- adds r0, r1
- lsls r1, r4, 4
- ldr r0, [r0]
- adds r0, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r2, [r2, 0x4]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- mov r8, r0
- adds r0, r6, 0
- bl CloseFile
- ldr r1, _080ADEBC
- ldr r0, _080ADEC0
- add r0, r8
- ldrb r5, [r0]
- add r0, sp, 0x10
- adds r2, r5, 0
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- movs r1, 0
- adds r2, r4, 0
- bl sub_800AE28
- adds r0, r4, 0
- bl CloseFile
- ldr r1, _080ADEC4
- add r0, sp, 0x10
- mov r2, r8
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFile
- ldr r1, [sp, 0x20]
- str r0, [r1]
- ldr r1, _080ADEC8
- add r0, sp, 0x10
- adds r2, r5, 0
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- ldr r1, _080ADECC
- ldr r0, [sp, 0x2C]
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
- mov r2, r8
- cmp r2, 0x3F
- bgt _080ADED4
- ldr r1, _080ADED0
- add r0, sp, 0x10
- adds r2, r5, 0
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- mov r0, r10
- movs r1, 0x93
- lsls r1, 4
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
- b _080ADEFC
- .align 2, 0
-_080ADEB4: .4byte gUnknown_8118890
-_080ADEB8: .4byte gUnknown_83B0000
-_080ADEBC: .4byte gUnknown_811889C
-_080ADEC0: .4byte gUnknown_8108EC0
-_080ADEC4: .4byte gUnknown_81188A8
-_080ADEC8: .4byte gUnknown_81188B4
-_080ADECC: .4byte 0x00001194
-_080ADED0: .4byte gUnknown_81188C0
-_080ADED4:
- ldr r1, _080ADF80
- add r0, sp, 0x10
- mov r2, r8
- ldr r3, [sp, 0x58]
- bl sprintf
- add r0, sp, 0x10
- adds r1, r7, 0
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- movs r1, 0x90
- lsls r1, 2
- mov r0, r10
- adds r2, r4, 0
- bl sub_800AAA8
- adds r0, r4, 0
- bl CloseFile
-_080ADEFC:
- movs r5, 0
- ldr r3, [sp, 0x60]
- cmp r5, r3
- bge _080ADF52
-_080ADF04:
- mov r0, r8
- bl sub_8097F40
- lsls r0, 24
- movs r7, 0
- cmp r0, 0
- beq _080ADF14
- movs r7, 0x3
-_080ADF14:
- movs r4, 0
- adds r6, r5, 0x1
- cmp r4, r9
- bge _080ADF4A
-_080ADF1C:
- ldr r0, [sp, 0x64]
- str r0, [sp]
- str r7, [sp, 0x4]
- mov r1, r10
- str r1, [sp, 0x8]
- mov r2, r8
- str r2, [sp, 0xC]
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, r9
- ldr r3, [sp, 0x60]
- bl sub_80ADFB8
- mov r1, r9
- muls r1, r5
- adds r1, r4
- lsls r1, 1
- ldr r3, [sp, 0x50]
- adds r1, r3
- strh r0, [r1]
- adds r4, 0x1
- cmp r4, r9
- blt _080ADF1C
-_080ADF4A:
- adds r5, r6, 0
- ldr r0, [sp, 0x60]
- cmp r5, r0
- blt _080ADF04
-_080ADF52:
- ldr r1, _080ADF84
- add r0, sp, 0x10
- mov r2, r8
- bl sprintf
- ldr r1, _080ADF88
- add r0, sp, 0x10
- bl OpenFile
- ldr r1, [sp, 0x24]
- str r0, [r1]
- mov r0, r10
- bl MemoryFree
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADF80: .4byte gUnknown_81188CC
-_080ADF84: .4byte gUnknown_81188DC
-_080ADF88: .4byte gUnknown_83B0000
- thumb_func_end sub_80ADD9C
-
- thumb_func_start sub_80ADF8C
-sub_80ADF8C:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [sp, 0xC]
- cmp r4, 0
- blt _080ADFB0
- cmp r1, 0
- blt _080ADFB0
- cmp r4, r2
- bge _080ADFB0
- cmp r1, r3
- bge _080ADFB0
- adds r0, r1, 0
- muls r0, r2
- adds r0, r4, r0
- lsls r0, 1
- ldr r1, [sp, 0x8]
- adds r0, r1
- ldrh r0, [r0]
-_080ADFB0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADF8C
-
- thumb_func_start sub_80ADFB8
-sub_80ADFB8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- mov r9, r0
- mov r10, r1
- adds r6, r2, 0
- mov r8, r3
- ldr r4, [sp, 0x5C]
- movs r7, 0
- ldr r0, [sp, 0x50]
- str r0, [sp]
- ldr r1, [sp, 0x54]
- str r1, [sp, 0x4]
- mov r0, r9
- mov r1, r10
- bl sub_80ADF8C
- str r0, [sp, 0x28]
- cmp r4, 0x3F
- ble _080AE000
- mov r0, r9
- cmp r0, 0x17
- bgt _080ADFFC
- mov r1, r10
- cmp r1, 0x17
- bgt _080ADFFC
- lsls r0, r1, 1
- add r0, r10
- lsls r0, 3
- add r0, r9
- b _080AE24E
-_080ADFFC:
- ldr r0, [sp, 0x54]
- b _080AE254
-_080AE000:
- mov r0, r10
- adds r0, 0x1
- str r0, [sp, 0x2C]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- mov r0, r9
- ldr r1, [sp, 0x2C]
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x8]
- mov r4, r9
- adds r4, 0x1
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- ldr r1, [sp, 0x2C]
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0xC]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, r10
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x10]
- mov r5, r10
- subs r5, 0x1
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x14]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- mov r0, r9
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x18]
- subs r4, 0x2
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x1C]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, r10
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x50]
- str r1, [sp]
- ldr r0, [sp, 0x54]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- ldr r1, [sp, 0x2C]
- adds r2, r6, 0
- mov r3, r8
- bl sub_80ADF8C
- adds r1, r0, 0
- str r1, [sp, 0x24]
- ldr r0, [sp, 0x28]
- cmp r0, 0x1
- bne _080AE12A
- movs r7, 0xFF
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _080AE0D2
- movs r7, 0xFE
-_080AE0D2:
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _080AE0DE
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_080AE0DE:
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _080AE0EA
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_080AE0EA:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _080AE0F6
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_080AE0F6:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _080AE102
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_080AE102:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _080AE10E
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_080AE10E:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- bne _080AE11A
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_080AE11A:
- cmp r1, 0
- bne _080AE124
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_080AE124:
- movs r0, 0x80
- lsls r0, 2
- b _080AE248
-_080AE12A:
- ldr r0, [sp, 0x28]
- cmp r0, 0x2
- bne _080AE192
- movs r7, 0xFF
- ldr r0, [sp, 0x8]
- cmp r0, 0x2
- beq _080AE13A
- movs r7, 0xFE
-_080AE13A:
- ldr r0, [sp, 0xC]
- cmp r0, 0x2
- beq _080AE146
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_080AE146:
- ldr r0, [sp, 0x10]
- cmp r0, 0x2
- beq _080AE152
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_080AE152:
- ldr r0, [sp, 0x14]
- cmp r0, 0x2
- beq _080AE15E
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_080AE15E:
- ldr r0, [sp, 0x18]
- cmp r0, 0x2
- beq _080AE16A
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_080AE16A:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x2
- beq _080AE176
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_080AE176:
- ldr r0, [sp, 0x20]
- cmp r0, 0x2
- beq _080AE182
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_080AE182:
- cmp r1, 0x2
- beq _080AE18C
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_080AE18C:
- movs r0, 0x80
- lsls r0, 1
- b _080AE248
-_080AE192:
- ldr r1, [sp, 0x28]
- cmp r1, 0x3
- bne _080AE1FC
- movs r7, 0xFF
- ldr r0, [sp, 0x8]
- cmp r0, 0x3
- beq _080AE1A2
- movs r7, 0xFE
-_080AE1A2:
- ldr r0, [sp, 0xC]
- cmp r0, 0x3
- beq _080AE1AE
- movs r0, 0x3
- negs r0, r0
- ands r7, r0
-_080AE1AE:
- ldr r0, [sp, 0x10]
- cmp r0, 0x3
- beq _080AE1BA
- movs r0, 0x5
- negs r0, r0
- ands r7, r0
-_080AE1BA:
- ldr r0, [sp, 0x14]
- cmp r0, 0x3
- beq _080AE1C6
- movs r0, 0x9
- negs r0, r0
- ands r7, r0
-_080AE1C6:
- ldr r0, [sp, 0x18]
- cmp r0, 0x3
- beq _080AE1D2
- movs r0, 0x11
- negs r0, r0
- ands r7, r0
-_080AE1D2:
- ldr r0, [sp, 0x1C]
- cmp r0, 0x3
- beq _080AE1DE
- movs r0, 0x21
- negs r0, r0
- ands r7, r0
-_080AE1DE:
- ldr r0, [sp, 0x20]
- cmp r0, 0x3
- beq _080AE1EA
- movs r0, 0x41
- negs r0, r0
- ands r7, r0
-_080AE1EA:
- ldr r0, [sp, 0x24]
- cmp r0, 0x3
- beq _080AE1F6
- movs r0, 0x81
- negs r0, r0
- ands r7, r0
-_080AE1F6:
- movs r0, 0x80
- lsls r0, 1
- b _080AE248
-_080AE1FC:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _080AE204
- movs r7, 0x1
-_080AE204:
- ldr r0, [sp, 0xC]
- cmp r0, 0
- bne _080AE20E
- movs r0, 0x2
- orrs r7, r0
-_080AE20E:
- ldr r0, [sp, 0x10]
- cmp r0, 0
- bne _080AE218
- movs r0, 0x4
- orrs r7, r0
-_080AE218:
- ldr r0, [sp, 0x14]
- cmp r0, 0
- bne _080AE222
- movs r0, 0x8
- orrs r7, r0
-_080AE222:
- ldr r0, [sp, 0x18]
- cmp r0, 0
- bne _080AE22C
- movs r0, 0x10
- orrs r7, r0
-_080AE22C:
- ldr r0, [sp, 0x1C]
- cmp r0, 0
- bne _080AE236
- movs r0, 0x20
- orrs r7, r0
-_080AE236:
- ldr r0, [sp, 0x20]
- cmp r0, 0
- bne _080AE240
- movs r0, 0x40
- orrs r7, r0
-_080AE240:
- ldr r0, [sp, 0x24]
- cmp r0, 0
- bne _080AE24A
- movs r0, 0x80
-_080AE248:
- orrs r7, r0
-_080AE24A:
- lsls r0, r7, 1
- adds r0, r7
-_080AE24E:
- ldr r1, [sp, 0x58]
- adds r0, r1, r0
- ldrb r0, [r0]
-_080AE254:
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80ADFB8
-
.align 2, 0 @ Don't pad with nop.