summaryrefslogtreecommitdiff
path: root/asm/code_8098468.s
diff options
context:
space:
mode:
authorSeth Barberee <seth.barberee@gmail.com>2020-10-17 00:51:33 -0500
committerSeth Barberee <seth.barberee@gmail.com>2020-10-17 00:51:33 -0500
commit3106e3010202441e6cb6672c95a7a113abcf1eac (patch)
tree3e790d86e8b0dee413340629a65697d14483718e /asm/code_8098468.s
parentad82979bfc9cf787a39fa58911fdfdcbbd476e11 (diff)
some more splitting and decomping
Diffstat (limited to 'asm/code_8098468.s')
-rw-r--r--asm/code_8098468.s8934
1 files changed, 0 insertions, 8934 deletions
diff --git a/asm/code_8098468.s b/asm/code_8098468.s
index d2653ef..a45dba8 100644
--- a/asm/code_8098468.s
+++ b/asm/code_8098468.s
@@ -788,8938 +788,4 @@ _08098BD2:
bx r1
thumb_func_end xxx_script_related_8098468
- thumb_func_start sub_8098BDC
-sub_8098BDC:
- push {lr}
- bl sub_809B57C
- bl GroundScript_Unlock
- bl sub_809D25C
- bl sub_80A59DC
- bl sub_809B614
- bl sub_809CA20
- bl sub_80A6E80
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- ldr r0, _08098C54
- ldr r0, [r0]
- bl sub_8094FB4
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl sub_809B638
- bl nullsub_106
- bl sub_80A73EC
- bl sub_8099750
- bl sub_8009908
- bl xxx_call_update_bg_sound_input
- bl sub_80A6E68
- bl GroundMap_Action
- bl nullsub_124
- bl GroundLives_Action
- bl GroundObject_Action
- bl GroundEffect_Action
- pop {r0}
- bx r0
- .align 2, 0
-_08098C54: .4byte gUnknown_203B47C
- thumb_func_end sub_8098BDC
-
- thumb_func_start sub_8098C58
-sub_8098C58:
- push {lr}
- movs r0, 0
- movs r1, 0x36
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_809CB8C
- bl sub_8001D88
- movs r0, 0
- movs r1, 0x2A
- bl sub_8001658
- cmp r0, 0
- beq _08098CA2
- movs r0, 0
- movs r1, 0x29
- bl sub_8001658
- adds r2, r0, 0
- adds r2, 0x1
- cmp r2, 0xF
- ble _08098C90
- movs r2, 0
-_08098C90:
- movs r0, 0
- movs r1, 0x29
- bl sub_80018D8
- movs r0, 0
- movs r1, 0x2A
- movs r2, 0
- bl sub_80018D8
-_08098CA2:
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_8001784
- adds r3, r0, 0
- cmp r3, 0
- bgt _08098CB4
- movs r3, 0x1
-_08098CB4:
- subs r3, 0x1
- movs r0, 0
- movs r1, 0x42
- movs r2, 0
- bl sub_800199C
- bl sub_8098CC8
- pop {r0}
- bx r0
- thumb_func_end sub_8098C58
-
- thumb_func_start sub_8098CC8
-sub_8098CC8:
- push {lr}
- movs r0, 0x3
- movs r1, 0xB
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CDE
- movs r1, 0
- b _08098D06
-_08098CDE:
- movs r0, 0x3
- movs r1, 0xF
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _08098CF2
- movs r1, 0x1
- b _08098D06
-_08098CF2:
- movs r0, 0x3
- movs r1, 0x12
- movs r2, 0
- bl sub_8001CC4
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _08098D06
- movs r1, 0x2
-_08098D06:
- adds r0, r1, 0
- bl sub_8091980
- bl sub_809674C
- bl sub_80961B4
- bl sub_8091FB4
- pop {r0}
- bx r0
- thumb_func_end sub_8098CC8
-
- thumb_func_start sub_8098D1C
-sub_8098D1C:
- push {r4-r7,lr}
- adds r7, r1, 0
- adds r4, r2, 0
- lsls r0, 16
- asrs r5, r0, 16
- ldr r6, _08098D34
- ldr r0, [r6]
- cmp r0, 0
- beq _08098D38
- movs r0, 0
- b _08098D60
- .align 2, 0
-_08098D34: .4byte gUnknown_20398A8
-_08098D38:
- ldr r1, _08098D68
- movs r0, 0
- adds r2, r5, 0
- adds r3, r4, 0
- bl Log
- movs r1, 0x1
- str r1, [r6]
- ldr r0, _08098D6C
- str r1, [r0]
- ldr r0, _08098D70
- str r4, [r0]
- ldr r1, _08098D74
- movs r0, 0x2
- str r0, [r1]
- ldr r0, _08098D78
- strh r5, [r0]
- ldr r0, _08098D7C
- str r7, [r0]
- movs r0, 0x1
-_08098D60:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08098D68: .4byte gUnknown_8115F5C
-_08098D6C: .4byte gUnknown_20398AC
-_08098D70: .4byte gUnknown_20398B0
-_08098D74: .4byte gUnknown_20398B4
-_08098D78: .4byte gUnknown_20398BE
-_08098D7C: .4byte gUnknown_20398C0
- thumb_func_end sub_8098D1C
-
- thumb_func_start sub_8098D80
-sub_8098D80:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098DB8
- ldr r0, [r1]
- cmp r0, 0
- bne _08098DC4
- movs r0, 0x3
- str r0, [r1]
- ldr r1, _08098DBC
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098DC0
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DB2
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DB2:
- movs r0, 0x1
- b _08098DC6
- .align 2, 0
-_08098DB8: .4byte gUnknown_20398A8
-_08098DBC: .4byte gUnknown_20398AC
-_08098DC0: .4byte gUnknown_20398B0
-_08098DC4:
- movs r0, 0
-_08098DC6:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098D80
-
- thumb_func_start sub_8098DCC
-sub_8098DCC:
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _08098E04
- ldr r0, [r1]
- cmp r0, 0
- bne _08098E10
- movs r0, 0x4
- str r0, [r1]
- ldr r1, _08098E08
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098E0C
- str r4, [r0]
- bl sub_809C730
- movs r0, 0xD
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- bne _08098DFE
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80118C4
-_08098DFE:
- movs r0, 0x1
- b _08098E12
- .align 2, 0
-_08098E04: .4byte gUnknown_20398A8
-_08098E08: .4byte gUnknown_20398AC
-_08098E0C: .4byte gUnknown_20398B0
-_08098E10:
- movs r0, 0
-_08098E12:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098DCC
-
- thumb_func_start sub_8098E18
-sub_8098E18:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- asrs r2, r0, 16
- adds r5, r2, 0
- ldr r4, _08098E40
- ldr r0, [r4]
- cmp r0, 0
- bne _08098EA8
- ldr r1, _08098E44
- movs r0, 0
- adds r3, r6, 0
- bl Log
- ldr r0, _08098E48
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098E4C
- movs r0, 0x7
- b _08098E8A
- .align 2, 0
-_08098E40: .4byte gUnknown_20398A8
-_08098E44: .4byte gUnknown_8115F80
-_08098E48: .4byte gUnknown_203B49D
-_08098E4C:
- ldr r0, _08098E74
- ldrb r0, [r0]
- ldr r1, _08098E78
- cmp r0, 0
- bne _08098E58
- strh r5, [r1]
-_08098E58:
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_80A2750
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- beq _08098E88
- cmp r0, 0x2
- bgt _08098E7C
- cmp r0, 0x1
- beq _08098E84
- b _08098E8C
- .align 2, 0
-_08098E74: .4byte gUnknown_203B49C
-_08098E78: .4byte gUnknown_20398C4
-_08098E7C:
- cmp r0, 0x4
- bne _08098E8C
- movs r0, 0x8
- b _08098E8A
-_08098E84:
- movs r0, 0x5
- b _08098E8A
-_08098E88:
- movs r0, 0x6
-_08098E8A:
- str r0, [r4]
-_08098E8C:
- ldr r0, _08098EA0
- movs r1, 0x1
- str r1, [r0]
- ldr r0, _08098EA4
- str r6, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EAA
- .align 2, 0
-_08098EA0: .4byte gUnknown_20398AC
-_08098EA4: .4byte gUnknown_20398B0
-_08098EA8:
- movs r0, 0
-_08098EAA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8098E18
-
- thumb_func_start sub_8098EB0
-sub_8098EB0:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098EE4
- ldr r0, [r5]
- cmp r0, 0
- bne _08098EF8
- ldr r0, _08098EE8
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098EF8
- ldr r1, _08098EEC
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x7
- str r0, [r5]
- ldr r1, _08098EF0
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098EF4
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
- b _08098EFA
- .align 2, 0
-_08098EE4: .4byte gUnknown_20398A8
-_08098EE8: .4byte gUnknown_203B49D
-_08098EEC: .4byte gUnknown_8115FA4
-_08098EF0: .4byte gUnknown_20398AC
-_08098EF4: .4byte gUnknown_20398B0
-_08098EF8:
- movs r0, 0
-_08098EFA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098EB0
-
- thumb_func_start sub_8098F00
-sub_8098F00:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F10
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F14
- movs r0, 0
- b _08098F32
- .align 2, 0
-_08098F10: .4byte gUnknown_20398A8
-_08098F14:
- ldr r1, _08098F38
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0x9
- str r0, [r5]
- ldr r1, _08098F3C
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F40
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F32:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F38: .4byte gUnknown_8115FC8
-_08098F3C: .4byte gUnknown_20398AC
-_08098F40: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F00
-
- thumb_func_start sub_8098F44
-sub_8098F44:
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _08098F54
- ldr r0, [r5]
- cmp r0, 0
- beq _08098F58
- movs r0, 0
- b _08098F76
- .align 2, 0
-_08098F54: .4byte gUnknown_20398A8
-_08098F58:
- ldr r1, _08098F7C
- movs r0, 0
- adds r2, r4, 0
- bl Log
- movs r0, 0xA
- str r0, [r5]
- ldr r1, _08098F80
- movs r0, 0x1
- str r0, [r1]
- ldr r0, _08098F84
- str r4, [r0]
- bl sub_809C730
- movs r0, 0x1
-_08098F76:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08098F7C: .4byte gUnknown_8115FE8
-_08098F80: .4byte gUnknown_20398AC
-_08098F84: .4byte gUnknown_20398B0
- thumb_func_end sub_8098F44
-
- thumb_func_start sub_8098F88
-sub_8098F88:
- ldr r0, _08098F90
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F90: .4byte gUnknown_20398B9
- thumb_func_end sub_8098F88
-
- thumb_func_start sub_8098F94
-sub_8098F94:
- ldr r0, _08098F9C
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098F9C: .4byte gUnknown_20398BA
- thumb_func_end sub_8098F94
-
- thumb_func_start sub_8098FA0
-sub_8098FA0:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_8098FA0
-
- thumb_func_start sub_8098FB4
-sub_8098FB4:
- push {lr}
- movs r0, 0
- movs r1, 0x11
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2B18
- pop {r1}
- bx r1
- thumb_func_end sub_8098FB4
-
- thumb_func_start sub_8098FCC
-sub_8098FCC:
- push {r4,lr}
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809909E
- cmp r1, 0x51
- bne _08098FF6
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- b _08098FF8
-_08098FF6:
- adds r0, r2, 0
-_08098FF8:
- bl sub_80A2608
- adds r4, r0, 0
- ldr r0, _0809900C
- ldr r0, [r0]
- cmp r0, 0x9
- bne _08099010
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- b _080990B2
- .align 2, 0
-_0809900C: .4byte gUnknown_20398B4
-_08099010:
- ldrh r0, [r4, 0x4]
- subs r0, 0xB2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- bhi _080990AE
- lsls r0, 2
- ldr r1, _08099028
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099028: .4byte _0809902C
- .align 2, 0
-_0809902C:
- .4byte _0809908C
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
- .4byte _080990AE
- .4byte _080990AE
- .4byte _080990A2
-_0809908C:
- movs r2, 0x1
- negs r2, r2
- movs r0, 0x3
- movs r1, 0x2
- bl sub_8001D44
- lsls r0, 24
- cmp r0, 0
- beq _080990AE
-_0809909E:
- movs r0, 0xC
- b _080990B2
-_080990A2:
- movs r0, 0x5
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809909E
-_080990AE:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
-_080990B2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8098FCC
-
- thumb_func_start sub_80990B8
-sub_80990B8:
- push {lr}
- movs r0, 0xB
- bl sub_8098FCC
- lsls r0, 16
- asrs r2, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- bne _080990D2
- bl sub_8098FB4
- b _080990E4
-_080990D2:
- ldr r1, _080990E8
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- bl sub_80A2B18
-_080990E4:
- pop {r1}
- bx r1
- .align 2, 0
-_080990E8: .4byte gUnknown_811BAF4
- thumb_func_end sub_80990B8
-
- thumb_func_start sub_80990EC
-sub_80990EC:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r7, r0, 0
- lsls r1, 16
- asrs r4, r1, 16
- adds r0, r4, 0
- bl sub_80A2608
- mov r8, r0
- ldrb r0, [r0, 0xC]
- movs r5, 0
- strb r0, [r7]
- movs r0, 0x1
- strb r0, [r7, 0x1]
- strb r5, [r7, 0xC]
- adds r0, r4, 0
- bl sub_80A2750
- lsls r0, 16
- asrs r6, r0, 16
- cmp r6, 0x2
- beq _080991C8
- cmp r6, 0x2
- bgt _08099126
- cmp r6, 0x1
- beq _0809912C
- b _080991CA
-_08099126:
- cmp r6, 0x4
- beq _080991C4
- b _080991CA
-_0809912C:
- movs r1, 0
- strb r5, [r7, 0xB]
- adds r0, r4, 0
- subs r0, 0x25
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bhi _0809913E
- movs r1, 0x1
-_0809913E:
- cmp r1, 0
- beq _080991CA
- strb r6, [r7, 0xC]
- mov r0, sp
- movs r1, 0x5B
- bl sub_80A8EC0
- add r4, sp, 0x18
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0xA
- bl sub_8092310
- add r5, sp, 0x30
- str r4, [sp, 0x58]
- add r1, sp, 0x5C
- movs r2, 0
- movs r0, 0x5E
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x5E
- strb r2, [r0]
- add r0, sp, 0x60
- movs r1, 0x47
- strb r1, [r0]
- strb r2, [r0, 0x1]
- add r1, sp, 0x64
- movs r0, 0x82
- lsls r0, 1
- strh r0, [r1]
- movs r0, 0xE0
- strh r0, [r1, 0x2]
- movs r0, 0xAC
- strh r0, [r1, 0x4]
- movs r0, 0xBE
- strh r0, [r1, 0x6]
- add r1, sp, 0x6C
- movs r0, 0x50
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x6E
- movs r2, 0xF
- strh r2, [r0]
- add r0, sp, 0x70
- strh r6, [r0]
- adds r0, 0x2
- movs r1, 0x19
- strh r1, [r0]
- strh r1, [r0, 0x2]
- adds r0, 0x4
- strh r2, [r0]
- strh r2, [r0, 0x2]
- ldr r0, _080991C0
- str r0, [sp, 0x7C]
- add r1, sp, 0x58
- adds r0, r5, 0
- movs r2, 0x28
- bl memcpy
- adds r0, r7, 0
- adds r0, 0x18
- adds r1, r5, 0
- bl sub_808D144
- b _080991CA
- .align 2, 0
-_080991C0: .4byte 0x000061a8
-_080991C4:
- strb r5, [r7, 0xB]
- b _080991CA
-_080991C8:
- strb r6, [r7, 0xB]
-_080991CA:
- movs r0, 0
- strb r0, [r7, 0x4]
- strb r0, [r7, 0xD]
- mov r1, r8
- ldrb r0, [r1, 0x11]
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80990EC
-
- thumb_func_start sub_80991E0
-sub_80991E0:
- push {lr}
- adds r2, r0, 0
- ldr r3, _08099204
- ldrh r0, [r3]
- strh r0, [r1]
- ldr r0, _08099208
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809920C
- movs r0, 0
- ldrsh r1, [r3, r0]
- adds r0, r2, 0
- bl sub_80990EC
- lsls r0, 24
- lsrs r0, 24
- b _08099218
- .align 2, 0
-_08099204: .4byte gUnknown_20398C4
-_08099208: .4byte gUnknown_203B49C
-_0809920C:
- ldr r1, _0809921C
- adds r0, r2, 0
- movs r2, 0x88
- bl memcpy
- movs r0, 0x1
-_08099218:
- pop {r1}
- bx r1
- .align 2, 0
-_0809921C: .4byte gUnknown_20398C8
- thumb_func_end sub_80991E0
-
- thumb_func_start sub_8099220
-sub_8099220:
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- asrs r3, r1, 16
- cmp r2, 0
- beq _08099258
- ldr r1, _08099248
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0809924C
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08099250
- strh r3, [r0]
- ldr r0, _08099254
- adds r1, r2, 0
- movs r2, 0x88
- bl memcpy
- b _0809926A
- .align 2, 0
-_08099248: .4byte gUnknown_203B49C
-_0809924C: .4byte gUnknown_203B49D
-_08099250: .4byte gUnknown_20398C4
-_08099254: .4byte gUnknown_20398C8
-_08099258:
- ldr r0, _08099270
- strb r2, [r0]
- ldr r0, _08099274
- strb r2, [r0]
- ldr r1, _08099278
- movs r2, 0x1
- negs r2, r2
- adds r0, r2, 0
- strh r0, [r1]
-_0809926A:
- pop {r0}
- bx r0
- .align 2, 0
-_08099270: .4byte gUnknown_203B49C
-_08099274: .4byte gUnknown_203B49D
-_08099278: .4byte gUnknown_20398C4
- thumb_func_end sub_8099220
-
- thumb_func_start sub_809927C
-sub_809927C:
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080992CC
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080992D0
- strb r1, [r0]
- ldr r1, _080992D4
- movs r0, 0x50
- strh r0, [r1]
- ldr r4, _080992D8
- strb r5, [r4]
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x50
- bl sub_80018D8
- ldrb r2, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_80018D8
- ldr r4, _080992DC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8095494
- subs r4, 0x10
- movs r1, 0
- movs r0, 0x1
- strb r0, [r4, 0xB]
- strb r1, [r4, 0xC]
- strb r1, [r4, 0x4]
- strb r1, [r4, 0xD]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080992CC: .4byte gUnknown_203B49C
-_080992D0: .4byte gUnknown_203B49D
-_080992D4: .4byte gUnknown_20398C4
-_080992D8: .4byte gUnknown_2039950
-_080992DC: .4byte gUnknown_20398D8
- thumb_func_end sub_809927C
-
- thumb_func_start sub_80992E0
-sub_80992E0:
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08099316
- cmp r1, 0x50
- beq _08099316
- cmp r1, 0x51
- beq _08099316
- cmp r1, 0x52
- beq _08099316
- strh r1, [r4]
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strh r0, [r5]
- movs r0, 0x1
- b _08099322
-_08099316:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strh r0, [r4]
- strh r0, [r5]
- movs r0, 0
-_08099322:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80992E0
-
- thumb_func_start sub_8099328
-sub_8099328:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _08099358
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- cmp r0, 0x3E
- bhi _08099358
- strb r0, [r4]
- movs r0, 0x1
- b _0809935A
-_08099358:
- movs r0, 0
-_0809935A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099328
-
- thumb_func_start sub_8099360
-sub_8099360:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x52
- beq _08099378
- movs r0, 0
- b _0809938E
-_08099378:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2608
- ldrb r0, [r0, 0xC]
- strb r0, [r4]
- movs r0, 0x1
-_0809938E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099360
-
- thumb_func_start sub_8099394
-sub_8099394:
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x50
- beq _080993AC
- movs r0, 0
- b _080993B8
-_080993AC:
- movs r0, 0
- movs r1, 0x14
- bl sub_8001658
- strb r0, [r4]
- movs r0, 0x1
-_080993B8:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099394
-
- thumb_func_start sub_80993C0
-sub_80993C0:
- push {lr}
- lsls r0, 24
- ldr r2, _080993D4
- movs r1, 0
- cmp r0, 0
- bne _080993CE
- movs r1, 0x1
-_080993CE:
- strb r1, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080993D4: .4byte gUnknown_20398B8
- thumb_func_end sub_80993C0
-
- thumb_func_start sub_80993D8
-sub_80993D8:
- push {lr}
- bl sub_80A4B38
- pop {r0}
- bx r0
- thumb_func_end sub_80993D8
-
- thumb_func_start sub_80993E4
-sub_80993E4:
- push {lr}
- bl sub_80A4B54
- pop {r0}
- bx r0
- thumb_func_end sub_80993E4
-
- thumb_func_start sub_80993F0
-sub_80993F0:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x28
- movs r0, 0
- mov r10, r0
- bl sub_801180C
- movs r0, 0x10
- bl sub_80118C4
- ldr r1, _0809948C
- ldr r2, _08099490
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl xxx_update_some_bg_tiles
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_8099648
- bl sub_809975C
- bl sub_809D0AC
- bl sub_8014144
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80A4A7C
- mov r7, sp
- add r0, sp, 0x8
- mov r8, r0
-_08099454:
- bl sub_801D9E4
- lsls r0, 24
- cmp r0, 0
- beq _0809949C
- mov r0, r10
- bl sub_801DA58
-_08099464:
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- movs r0, 0
- bl sub_8012A18
- bl sub_801DA78
- cmp r0, 0x2
- beq _08099494
- cmp r0, 0x3
- bne _08099464
- bl sub_801DAC0
- lsls r0, 16
- asrs r0, 16
- mov r10, r0
- b _080994A2
- .align 2, 0
-_0809948C: .4byte gUnknown_2026E4E
-_08099490: .4byte 0x00000808
-_08099494:
- movs r1, 0x1
- negs r1, r1
- mov r10, r1
- b _080994A2
-_0809949C:
- movs r2, 0x1
- negs r2, r2
- mov r10, r2
-_080994A2:
- bl sub_801DB0C
- movs r0, 0x1
- negs r0, r0
- cmp r10, r0
- bne _080994B0
- b _08099624
-_080994B0:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- bl sub_80A4AEC
- bl sub_809D0BC
- mov r0, r10
- bl GroundMap_Select
- mov r0, sp
- mov r1, r8
- bl sub_80A579C
- ldr r0, [r7, 0x4]
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1
- str r0, [r7, 0x4]
- mov r2, r8
- ldr r0, [r2, 0x4]
- adds r0, r1
- str r0, [r2, 0x4]
- ldr r0, [sp]
- ldr r1, _08099520
- adds r0, r1
- str r0, [sp]
- ldr r0, [r7, 0x4]
- adds r0, r1
- str r0, [r7, 0x4]
- ldr r0, [sp, 0x8]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [r0, 0x4]
- adds r1, r2
- str r1, [r0, 0x4]
- ldr r2, [sp, 0x8]
- ldr r0, [sp]
- subs r0, r2, r0
- str r0, [sp, 0x20]
- ldr r0, [r7, 0x4]
- subs r0, r1, r0
- str r0, [sp, 0x24]
- movs r4, 0
- movs r5, 0
- movs r0, 0x4
- bl sub_80999E8
- mov r9, r5
- b _08099604
- .align 2, 0
-_08099520: .4byte 0xfffffc00
-_08099524:
- ldr r0, _0809953C
- ldrh r1, [r0, 0x2]
- ldrh r6, [r0]
- movs r0, 0x4
- ands r1, r0
- cmp r1, 0
- beq _08099540
- bl sub_80999FC
- movs r1, 0x1
- mov r9, r1
- b _080995AE
- .align 2, 0
-_0809953C: .4byte gUnknown_20255F0
-_08099540:
- adds r0, r6, 0
- bl sub_809CFE8
- lsls r0, 24
- asrs r1, r0, 24
- movs r2, 0x1
- negs r2, r2
- cmp r1, r2
- beq _0809959A
- add r0, sp, 0x10
- movs r2, 0x80
- lsls r2, 1
- bl sub_8002BB8
- ldr r2, [sp, 0x10]
- ldr r3, [sp, 0x14]
- movs r0, 0x2
- ands r6, r0
- cmp r6, 0
- beq _0809956A
- movs r0, 0x4
-_0809956A:
- adds r1, r0, 0
- muls r1, r2
- adds r1, r4
- adds r4, r1, 0
- muls r0, r3
- adds r5, r0
- cmp r1, 0
- bge _0809957E
- movs r4, 0
- b _08099588
-_0809957E:
- ldr r0, [sp, 0x20]
- cmp r4, r0
- blt _08099588
- adds r4, r0, 0
- subs r4, 0x1
-_08099588:
- cmp r5, 0
- bge _08099590
- movs r5, 0
- b _0809959A
-_08099590:
- ldr r1, [sp, 0x24]
- cmp r5, r1
- blt _0809959A
- adds r5, r1, 0
- subs r5, 0x1
-_0809959A:
- ldr r0, [sp]
- adds r0, r4
- str r0, [sp, 0x18]
- ldr r0, [r7, 0x4]
- adds r0, r5
- add r1, sp, 0x18
- str r0, [r1, 0x4]
- movs r0, 0
- bl sub_809D158
-_080995AE:
- bl sub_809D25C
- bl sub_80A59DC
- bl xxx_draw_string_80144C4
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- bl sub_80060EC
- ldr r0, _08099620
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- bl nullsub_8
- bl sub_8005180
- bl sub_8099BE4
- bl sub_8099744
- bl sub_8011860
- bl sub_800CB20
- bl sub_800485C
- bl nullsub_120
- bl sub_80A5E70
- bl xxx_call_update_bg_vram
- bl CopySpritesToOam
- bl sub_8005304
- bl sub_8099750
- bl sub_8009908
-_08099604:
- bl xxx_call_update_bg_sound_input
- movs r0, 0
- bl ResetSprites
- mov r2, r9
- cmp r2, 0
- beq _08099524
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- bne _080995AE
- b _08099454
- .align 2, 0
-_08099620: .4byte gUnknown_203B46C
-_08099624:
- movs r0, 0x10
- bl sub_80118C4
- bl sub_80A4AC4
- bl sub_8099768
- bl nullsub_103
- add sp, 0x28
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80993F0
-
- thumb_func_start sub_8099648
-sub_8099648:
- push {lr}
- bl sub_8003600
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_8099648
-
- thumb_func_start nullsub_103
-nullsub_103:
- bx lr
- thumb_func_end nullsub_103
-
- thumb_func_start sub_809965C
-sub_809965C:
- push {r4,lr}
- movs r0, 0
- bl sub_8099690
- ldr r0, _08099688
- ldr r1, _0809968C
- bl OpenFileAndGetFileDataPtr
- adds r4, r0, 0
- movs r0, 0xF8
- lsls r0, 1
- ldr r1, [r4, 0x4]
- movs r2, 0x10
- bl sub_800388C
- adds r0, r4, 0
- bl CloseFile
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099688: .4byte gUnknown_811601C
-_0809968C: .4byte gUnknown_8300500
- thumb_func_end sub_809965C
-
- thumb_func_start sub_8099690
-sub_8099690:
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _080996BC
- ldr r1, _080996C0
- bl OpenFileAndGetFileDataPtr
- adds r6, r0, 0
- cmp r4, 0x1
- beq _080996CC
- cmp r4, 0x2
- beq _080996D4
- ldr r0, _080996C4
- ldr r0, [r0]
- ldrb r0, [r0, 0xB]
- ldr r4, _080996C8
- cmp r0, 0
- beq _080996D6
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- b _080996D6
- .align 2, 0
-_080996BC: .4byte gUnknown_8116028
-_080996C0: .4byte gUnknown_8300500
-_080996C4: .4byte gUnknown_203B46C
-_080996C8: .4byte gUnknown_202D078
-_080996CC:
- ldr r4, _080996D0
- b _080996D6
- .align 2, 0
-_080996D0: .4byte gUnknown_202D1B8
-_080996D4:
- ldr r4, _08099704
-_080996D6:
- movs r0, 0xF0
- adds r1, r4, 0
- movs r2, 0x10
- bl sub_800388C
- adds r5, r4, 0
- movs r4, 0
-_080996E4:
- adds r0, r4, 0
- adds r0, 0xF0
- adds r1, r5, 0
- adds r5, 0x4
- bl nullsub_5
- adds r4, 0x1
- cmp r4, 0xF
- ble _080996E4
- adds r0, r6, 0
- bl CloseFile
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08099704: .4byte gUnknown_202D1F8
- thumb_func_end sub_8099690
-
- thumb_func_start sub_8099708
-sub_8099708:
- push {lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r0, 16
- bl sub_8003810
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end sub_8099708
-
- thumb_func_start sub_809971C
-sub_809971C:
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r2, 0
- ble _0809973E
- adds r4, r2, 0
-_0809972A:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- ldm r6!, {r1}
- bl sub_8003810
- subs r4, 0x1
- cmp r4, 0
- bne _0809972A
-_0809973E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809971C
-
- thumb_func_start sub_8099744
-sub_8099744:
- push {lr}
- bl sub_80039B8
- pop {r0}
- bx r0
- thumb_func_end sub_8099744
-
- thumb_func_start sub_8099750
-sub_8099750:
- push {lr}
- bl TransferBGPaletteBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8099750
-
- thumb_func_start sub_809975C
-sub_809975C:
- push {lr}
- bl sub_809977C
- pop {r0}
- bx r0
- thumb_func_end sub_809975C
-
- thumb_func_start sub_8099768
-sub_8099768:
- push {lr}
- bl sub_809977C
- bl sub_8099744
- bl sub_8099750
- pop {r0}
- bx r0
- thumb_func_end sub_8099768
-
- thumb_func_start sub_809977C
-sub_809977C:
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r1, _080997DC
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080997E0
- movs r0, 0
- strh r0, [r1]
- ldr r6, _080997E4
- adds r0, r6, 0
- bl sub_8099838
- ldr r0, _080997E8
- mov r8, r0
- bl sub_8099838
- ldr r4, _080997EC
- adds r0, r4, 0
- bl sub_8099838
- subs r4, 0x8
- movs r0, 0
- str r0, [r4]
- movs r5, 0x80
- lsls r5, 1
- strh r5, [r4, 0x14]
- strh r0, [r6, 0xC]
- bl sub_8099DD0
- mov r0, r8
- strh r5, [r0, 0xC]
- adds r0, r5, 0
- bl sub_8099E58
- ldr r1, _080997F0
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0x40
-_080997CA:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080997CA
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080997DC: .4byte gUnknown_2039990
-_080997E0: .4byte gUnknown_2039992
-_080997E4: .4byte gUnknown_2039958
-_080997E8: .4byte gUnknown_2039968
-_080997EC: .4byte gUnknown_2039980
-_080997F0: .4byte gUnknown_2039998
- thumb_func_end sub_809977C
-
- thumb_func_start sub_80997F4
-sub_80997F4:
- push {lr}
- lsls r0, 16
- ldr r2, _08099818
- lsrs r0, 15
- adds r0, r2
- strh r1, [r0]
- ldr r0, _0809981C
- bl sub_8099848
- ldr r0, _08099820
- bl sub_8099848
- ldr r0, _08099824
- bl sub_8099848
- pop {r0}
- bx r0
- .align 2, 0
-_08099818: .4byte gUnknown_2039998
-_0809981C: .4byte gUnknown_2039958
-_08099820: .4byte gUnknown_2039968
-_08099824: .4byte gUnknown_2039980
- thumb_func_end sub_80997F4
-
- thumb_func_start sub_8099828
-sub_8099828:
- lsls r0, 16
- ldr r1, _08099834
- lsrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_08099834: .4byte gUnknown_2039998
- thumb_func_end sub_8099828
-
- thumb_func_start sub_8099838
-sub_8099838:
- movs r1, 0x1
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0xC]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- bx lr
- thumb_func_end sub_8099838
-
- thumb_func_start sub_8099848
-sub_8099848:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1]
- cmp r0, 0
- bne _08099856
- movs r0, 0x1
- str r0, [r1]
-_08099856:
- pop {r0}
- bx r0
- thumb_func_end sub_8099848
-
- thumb_func_start sub_809985C
-sub_809985C:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099872
- cmp r1, 0
- bne _08099874
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r2, 0xC]
- movs r0, 0x1
- b _08099876
-_08099872:
- movs r1, 0x1E
-_08099874:
- movs r0, 0x2
-_08099876:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_809985C
-
- thumb_func_start sub_8099880
-sub_8099880:
- push {lr}
- adds r2, r0, 0
- cmp r1, 0
- blt _08099892
- cmp r1, 0
- bne _08099894
- strh r1, [r2, 0xC]
- movs r0, 0x1
- b _08099896
-_08099892:
- movs r1, 0x1E
-_08099894:
- movs r0, 0x3
-_08099896:
- str r0, [r2]
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- pop {r0}
- bx r0
- thumb_func_end sub_8099880
-
- thumb_func_start sub_80998A0
-sub_80998A0:
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r1, 0
- bge _080998B2
- movs r1, 0x1E
-_080998B2:
- cmp r2, r3
- bls _080998BE
- movs r0, 0x5
- str r0, [r4]
- subs r0, r2, r3
- b _080998D0
-_080998BE:
- cmp r2, r3
- bcs _080998CA
- movs r0, 0x4
- str r0, [r4]
- subs r0, r3, r2
- b _080998D0
-_080998CA:
- movs r0, 0x1
- str r0, [r4]
- movs r0, 0
-_080998D0:
- strh r0, [r4, 0xA]
- strh r1, [r4, 0x4]
- strh r1, [r4, 0x6]
- strh r2, [r4, 0xC]
- strh r3, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80998A0
-
- thumb_func_start sub_80998E0
-sub_80998E0:
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, [r4]
- cmp r0, 0x5
- bhi _080999CA
- lsls r0, 2
- ldr r1, _080998F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080998F4: .4byte _080998F8
- .align 2, 0
-_080998F8:
- .4byte _080999CA
- .4byte _080999C2
- .4byte _08099910
- .4byte _08099946
- .4byte _08099976
- .4byte _0809999A
-_08099910:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099940
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- subs r1, r0
- lsls r1, 16
- lsrs r1, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bcs _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099940:
- movs r0, 0x80
- lsls r0, 1
- b _080999C0
-_08099946:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _08099970
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r0, [r4, 0xC]
- cmp r0, r1
- bls _080999C6
- strh r1, [r4, 0xC]
- b _080999C6
-_08099970:
- strh r1, [r4, 0xC]
- str r1, [r4]
- b _080999C6
-_08099976:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- subs r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_0809999A:
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- strh r0, [r4, 0x4]
- lsls r0, 16
- cmp r0, 0
- ble _080999BE
- movs r0, 0x4
- ldrsh r1, [r4, r0]
- ldrh r0, [r4, 0xA]
- muls r0, r1
- movs r2, 0x6
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x8]
- adds r1, r0
- strh r1, [r4, 0xC]
- b _080999C6
-_080999BE:
- ldrh r0, [r4, 0x8]
-_080999C0:
- strh r0, [r4, 0xC]
-_080999C2:
- movs r0, 0
- str r0, [r4]
-_080999C6:
- movs r0, 0x1
- b _080999CC
-_080999CA:
- movs r0, 0
-_080999CC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80998E0
-
- thumb_func_start sub_80999D4
-sub_80999D4:
- ldr r2, _080999E0
- movs r1, 0x1
- strb r1, [r2]
- ldr r1, _080999E4
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080999E0: .4byte gUnknown_2039990
-_080999E4: .4byte gUnknown_2039992
- thumb_func_end sub_80999D4
-
- thumb_func_start sub_80999E8
-sub_80999E8:
- push {lr}
- adds r1, r0, 0
- ldr r0, _080999F8
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_080999F8: .4byte gUnknown_2039958
- thumb_func_end sub_80999E8
-
- thumb_func_start sub_80999FC
-sub_80999FC:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A0C
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A0C: .4byte gUnknown_2039958
- thumb_func_end sub_80999FC
-
- thumb_func_start sub_8099A10
-sub_8099A10:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _08099A30
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80998A0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099A30: .4byte gUnknown_2039958
- thumb_func_end sub_8099A10
-
- thumb_func_start sub_8099A34
-sub_8099A34:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A44
- bl sub_809985C
- pop {r0}
- bx r0
- .align 2, 0
-_08099A44: .4byte gUnknown_2039968
- thumb_func_end sub_8099A34
-
- thumb_func_start sub_8099A48
-sub_8099A48:
- push {lr}
- adds r1, r0, 0
- ldr r0, _08099A58
- bl sub_8099880
- pop {r0}
- bx r0
- .align 2, 0
-_08099A58: .4byte gUnknown_2039968
- thumb_func_end sub_8099A48
-
- thumb_func_start sub_8099A5C
-sub_8099A5C:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099A88
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_809985C
- subs r0, r4, 0x1
- cmp r0, 0xD
- bhi _08099AF0
- lsls r0, 2
- ldr r1, _08099A8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099A88: .4byte gUnknown_2039978
-_08099A8C: .4byte _08099A90
- .align 2, 0
-_08099A90:
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AC8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE0
- .4byte _08099AF0
- .4byte _08099AE8
- .4byte _08099AE8
-_08099AC8:
- ldr r0, _08099AD8
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0xC]
- ldr r0, _08099ADC
- strh r1, [r0, 0xC]
- b _08099AF0
- .align 2, 0
-_08099AD8: .4byte gUnknown_2039968
-_08099ADC: .4byte gUnknown_2039958
-_08099AE0:
- ldr r1, _08099AE4
- b _08099AEA
- .align 2, 0
-_08099AE4: .4byte gUnknown_2039968
-_08099AE8:
- ldr r1, _08099AF8
-_08099AEA:
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1, 0xC]
-_08099AF0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099AF8: .4byte gUnknown_2039958
- thumb_func_end sub_8099A5C
-
- thumb_func_start sub_8099AFC
-sub_8099AFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- str r2, [sp]
- ldr r0, _08099B28
- str r4, [r0]
- ldr r2, [sp]
- str r2, [r0, 0x4]
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r0, 0x14]
- adds r0, 0x8
- bl sub_8099880
- subs r0, r4, 0x2
- cmp r0, 0xC
- bhi _08099B86
- lsls r0, 2
- ldr r1, _08099B2C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099B28: .4byte gUnknown_2039978
-_08099B2C: .4byte _08099B30
- .align 2, 0
-_08099B30:
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B64
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B80
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B86
- .4byte _08099B78
- .4byte _08099B80
- .4byte _08099B80
-_08099B64:
- ldr r0, _08099B70
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _08099B74
- strh r1, [r0, 0xC]
- b _08099B86
- .align 2, 0
-_08099B70: .4byte gUnknown_2039968
-_08099B74: .4byte gUnknown_2039958
-_08099B78:
- ldr r1, _08099B7C
- b _08099B82
- .align 2, 0
-_08099B7C: .4byte gUnknown_2039968
-_08099B80:
- ldr r1, _08099B90
-_08099B82:
- movs r0, 0
- strh r0, [r1, 0xC]
-_08099B86:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099B90: .4byte gUnknown_2039958
- thumb_func_end sub_8099AFC
-
- thumb_func_start sub_8099B94
-sub_8099B94:
- push {lr}
- ldr r0, _08099BA4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099BA8
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BA4: .4byte gUnknown_2039990
-_08099BA8:
- ldr r1, _08099BBC
- ldr r0, [r1]
- cmp r0, 0
- beq _08099BC0
- ldr r0, [r1, 0x8]
- cmp r0, 0
- beq _08099BD6
- movs r0, 0x1
- b _08099BD6
- .align 2, 0
-_08099BBC: .4byte gUnknown_2039978
-_08099BC0:
- movs r1, 0
- ldr r0, _08099BDC
- ldr r0, [r0]
- cmp r0, 0
- bne _08099BD2
- ldr r0, _08099BE0
- ldr r0, [r0]
- cmp r0, 0
- beq _08099BD4
-_08099BD2:
- movs r1, 0x1
-_08099BD4:
- adds r0, r1, 0
-_08099BD6:
- pop {r1}
- bx r1
- .align 2, 0
-_08099BDC: .4byte gUnknown_2039958
-_08099BE0: .4byte gUnknown_2039968
- thumb_func_end sub_8099B94
-
- thumb_func_start sub_8099BE4
-sub_8099BE4:
- push {r4,r5,lr}
- ldr r4, _08099C10
- ldr r0, [r4]
- cmp r0, 0
- bne _08099BF6
- ldr r0, [r4, 0x8]
- cmp r0, 0
- bne _08099BF6
- b _08099D08
-_08099BF6:
- adds r0, r4, 0
- adds r0, 0x8
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099C14
- ldrh r0, [r4, 0x14]
- ldr r1, [r4, 0x4]
- bl sub_8099E80
- b _08099DC0
- .align 2, 0
-_08099C10: .4byte gUnknown_2039978
-_08099C14:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _08099C1C
- b _08099DC0
-_08099C1C:
- ldr r0, [r4]
- cmp r0, 0xE
- bls _08099C24
- b _08099DC0
-_08099C24:
- lsls r0, 2
- ldr r1, _08099C30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099C30: .4byte _08099C34
- .align 2, 0
-_08099C34:
- .4byte _08099DC0
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099C70
- .4byte _08099CD8
- .4byte _08099CD8
- .4byte _08099CD8
-_08099C70:
- ldr r0, _08099C80
- ldrh r1, [r0, 0x14]
- adds r3, r0, 0
- cmp r1, 0xFF
- bls _08099C84
- movs r0, 0
- str r0, [r3]
- b _08099DC0
- .align 2, 0
-_08099C80: .4byte gUnknown_2039978
-_08099C84:
- ldr r0, _08099CA0
- ldrb r0, [r0]
- cmp r0, 0
- bne _08099C8E
- b _08099DC0
-_08099C8E:
- movs r2, 0
- ldr r0, [r3]
- cmp r0, 0x3
- beq _08099CB2
- cmp r0, 0x3
- bhi _08099CA4
- cmp r0, 0x1
- beq _08099CAE
- b _08099CBC
- .align 2, 0
-_08099CA0: .4byte gUnknown_2039990
-_08099CA4:
- cmp r0, 0x5
- beq _08099CB6
- cmp r0, 0x7
- beq _08099CBA
- b _08099CBC
-_08099CAE:
- movs r2, 0x2
- b _08099CC0
-_08099CB2:
- movs r2, 0x4
- b _08099CC0
-_08099CB6:
- movs r2, 0x6
- b _08099CC0
-_08099CBA:
- movs r2, 0x8
-_08099CBC:
- cmp r2, 0
- beq _08099CD4
-_08099CC0:
- ldr r0, _08099CD0
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r0, r2, 0
- ldr r2, [r3, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099CD0: .4byte gUnknown_2039992
-_08099CD4:
- str r2, [r3]
- b _08099DC0
-_08099CD8:
- ldr r2, _08099CE4
- ldrh r0, [r2, 0x14]
- cmp r0, 0
- bne _08099CE8
- str r0, [r2]
- b _08099DC0
- .align 2, 0
-_08099CE4: .4byte gUnknown_2039978
-_08099CE8:
- ldr r0, _08099D00
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099DC0
- ldr r0, [r2]
- ldr r1, _08099D04
- movs r3, 0
- ldrsh r1, [r1, r3]
- ldr r2, [r2, 0x4]
- bl sub_8099AFC
- b _08099DC0
- .align 2, 0
-_08099D00: .4byte gUnknown_2039990
-_08099D04: .4byte gUnknown_2039992
-_08099D08:
- ldr r0, _08099D88
- ldrb r0, [r0]
- cmp r0, 0
- beq _08099D98
- movs r5, 0x1
- ldr r4, _08099D8C
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D20
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D46
-_08099D20:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D34
- ldr r0, _08099D90
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r4, 0
- bl sub_8099880
-_08099D34:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D46
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099D46:
- ldr r4, _08099D94
- ldrh r0, [r4, 0xC]
- cmp r0, 0
- bne _08099D54
- ldr r0, [r4]
- cmp r0, 0
- beq _08099D7A
-_08099D54:
- movs r5, 0
- ldr r0, [r4]
- cmp r0, 0x3
- beq _08099D68
- ldr r0, _08099D90
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r0, r4, 0
- bl sub_8099880
-_08099D68:
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099D7A
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099D7A:
- cmp r5, 0
- beq _08099DC0
- ldr r1, _08099D88
- movs r0, 0
- strb r0, [r1]
- b _08099DC0
- .align 2, 0
-_08099D88: .4byte gUnknown_2039990
-_08099D8C: .4byte gUnknown_2039958
-_08099D90: .4byte gUnknown_2039992
-_08099D94: .4byte gUnknown_2039968
-_08099D98:
- ldr r4, _08099DC8
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DAC
- ldrh r0, [r4, 0xC]
- bl sub_8099DD0
-_08099DAC:
- ldr r4, _08099DCC
- adds r0, r4, 0
- bl sub_80998E0
- lsls r0, 24
- cmp r0, 0
- beq _08099DC0
- ldrh r0, [r4, 0xC]
- bl sub_8099E58
-_08099DC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099DC8: .4byte gUnknown_2039958
-_08099DCC: .4byte gUnknown_2039968
- thumb_func_end sub_8099BE4
-
- thumb_func_start sub_8099DD0
-sub_8099DD0:
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r4, 0
- ldr r6, _08099DF4
- movs r5, 0xD
-_08099DDC:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099DF8
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E00
- .align 2, 0
-_08099DF4: .4byte gUnknown_2039998
-_08099DF8:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E00:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099DDC
- ldr r0, _08099E30
- movs r4, 0x80
- lsls r4, 13
- adds r6, r0, 0
- adds r6, 0x20
- movs r5, 0xE
-_08099E1A:
- ldrh r1, [r6]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08099E34
- lsrs r0, r4, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099E3C
- .align 2, 0
-_08099E30: .4byte gUnknown_2039998
-_08099E34:
- lsrs r0, r4, 16
- adds r1, r7, 0
- bl sub_8003664
-_08099E3C:
- movs r0, 0x80
- lsls r0, 9
- adds r4, r0
- adds r6, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _08099E1A
- movs r0, 0x20
- adds r1, r7, 0
- bl sub_8003664
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099DD0
-
- thumb_func_start sub_8099E58
-sub_8099E58:
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0xF
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0xE
- adds r1, r4, 0
- bl sub_8003664
- movs r0, 0x1F
- adds r1, r4, 0
- bl sub_8003664
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E58
-
- thumb_func_start sub_8099E80
-sub_8099E80:
- push {r4-r7,lr}
- sub sp, 0x4
- str r1, [sp]
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _08099EA0
- ldr r1, [r0]
- adds r2, r0, 0
- cmp r1, 0xE
- bls _08099E96
- b _0809A558
-_08099E96:
- lsls r0, r1, 2
- ldr r1, _08099EA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08099EA0: .4byte gUnknown_2039978
-_08099EA4: .4byte _08099EA8
- .align 2, 0
-_08099EA8:
- .4byte _0809A558
- .4byte _08099EE4
- .4byte _0809A05A
- .4byte _0809A1D2
- .4byte _0809A34A
- .4byte _08099FDE
- .4byte _0809A156
- .4byte _0809A2CE
- .4byte _0809A4BC
- .4byte _08099F5E
- .4byte _0809A0D6
- .4byte _0809A24E
- .4byte _0809A3EA
- .4byte _0809A48A
- .4byte _0809A48A
-_08099EE4:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099F00
-_08099EEA:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F04
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F0E
- .align 2, 0
-_08099F00: .4byte gUnknown_2039998
-_08099F04:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F0E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099EEA
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _08099F40
- adds r7, r0, 0
- adds r7, 0x20
-_08099F28:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F44
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F4E
- .align 2, 0
-_08099F40: .4byte gUnknown_2039998
-_08099F44:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F4E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099F28
- b _0809A558
-_08099F5E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _08099F80
- adds r7, r0, 0
- adds r7, 0x1C
-_08099F6A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099F84
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099F8E
- .align 2, 0
-_08099F80: .4byte gUnknown_2039998
-_08099F84:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099F8E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _08099F6A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _08099FC0
- adds r7, r0, 0
- adds r7, 0x3E
-_08099FA8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08099FC4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _08099FCE
- .align 2, 0
-_08099FC0: .4byte gUnknown_2039998
-_08099FC4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_08099FCE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _08099FA8
- b _0809A558
-_08099FDE:
- movs r4, 0
- movs r5, 0
- ldr r7, _08099FFC
-_08099FE4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A000
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A00A
- .align 2, 0
-_08099FFC: .4byte gUnknown_2039998
-_0809A000:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A00A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _08099FE4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A03C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A024:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A040
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A04A
- .align 2, 0
-_0809A03C: .4byte gUnknown_2039998
-_0809A040:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036AC
-_0809A04A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A024
- b _0809A558
-_0809A05A:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A078
-_0809A060:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A07C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A086
- .align 2, 0
-_0809A078: .4byte gUnknown_2039998
-_0809A07C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A086:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A060
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A0B8
- adds r7, r0, 0
- adds r7, 0x20
-_0809A0A0:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0BC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A0C6
- .align 2, 0
-_0809A0B8: .4byte gUnknown_2039998
-_0809A0BC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A0C6:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A0A0
- b _0809A558
-_0809A0D6:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A0F8
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A0E2:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A0FC
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A106
- .align 2, 0
-_0809A0F8: .4byte gUnknown_2039998
-_0809A0FC:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A106:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A0E2
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A138
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A120:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A13C
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A146
- .align 2, 0
-_0809A138: .4byte gUnknown_2039998
-_0809A13C:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A146:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A120
- b _0809A558
-_0809A156:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A174
-_0809A15C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A178
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A182
- .align 2, 0
-_0809A174: .4byte gUnknown_2039998
-_0809A178:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A182:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A15C
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A1B4
- adds r7, r0, 0
- adds r7, 0x20
-_0809A19C:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1B8
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1C2
- .align 2, 0
-_0809A1B4: .4byte gUnknown_2039998
-_0809A1B8:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80036F4
-_0809A1C2:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A19C
- b _0809A558
-_0809A1D2:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A1F0
-_0809A1D8:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A1F4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A1FE
- .align 2, 0
-_0809A1F0: .4byte gUnknown_2039998
-_0809A1F4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A1FE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A1D8
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A230
- adds r7, r0, 0
- adds r7, 0x20
-_0809A218:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A234
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A23E
- .align 2, 0
-_0809A230: .4byte gUnknown_2039998
-_0809A234:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A23E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A218
- b _0809A558
-_0809A24E:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
- ldr r0, _0809A270
- adds r7, r0, 0
- adds r7, 0x1C
-_0809A25A:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A274
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A27E
- .align 2, 0
-_0809A270: .4byte gUnknown_2039998
-_0809A274:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A27E:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A25A
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
- ldr r0, _0809A2B0
- adds r7, r0, 0
- adds r7, 0x3E
-_0809A298:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2B4
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2BE
- .align 2, 0
-_0809A2B0: .4byte gUnknown_2039998
-_0809A2B4:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2BE:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A298
- b _0809A558
-_0809A2CE:
- movs r4, 0
- movs r5, 0
- ldr r7, _0809A2EC
-_0809A2D4:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A2F0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A2FA
- .align 2, 0
-_0809A2EC: .4byte gUnknown_2039998
-_0809A2F0:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A2FA:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A2D4
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
- ldr r0, _0809A32C
- adds r7, r0, 0
- adds r7, 0x20
-_0809A314:
- ldrh r1, [r7]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A330
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A33A
- .align 2, 0
-_0809A32C: .4byte gUnknown_2039998
-_0809A330:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_8003780
-_0809A33A:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r7, 0x2
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A314
- b _0809A558
-_0809A34A:
- movs r4, 0
- movs r5, 0
-_0809A34E:
- ldr r0, _0809A36C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A370
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A38C
- .align 2, 0
-_0809A36C: .4byte gUnknown_2039998
-_0809A370:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A382
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A38C
-_0809A382:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A38C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A34E
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A39E:
- ldr r0, _0809A3BC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A3C0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A3DC
- .align 2, 0
-_0809A3BC: .4byte gUnknown_2039998
-_0809A3C0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A3D2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A3DC
-_0809A3D2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A3DC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A39E
- b _0809A558
-_0809A3EA:
- movs r4, 0xE
- movs r5, 0xE0
- lsls r5, 12
-_0809A3F0:
- ldr r0, _0809A40C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A410
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A42C
- .align 2, 0
-_0809A40C: .4byte gUnknown_2039998
-_0809A410:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A422
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A42C
-_0809A422:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A42C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xF
- ble _0809A3F0
- movs r4, 0x1F
- movs r5, 0xF8
- lsls r5, 13
-_0809A43E:
- ldr r0, _0809A45C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A460
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A47C
- .align 2, 0
-_0809A45C: .4byte gUnknown_2039998
-_0809A460:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A472
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A47C
-_0809A472:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A47C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1F
- ble _0809A43E
- b _0809A558
-_0809A48A:
- ldr r0, [r2]
- cmp r0, 0xD
- beq _0809A496
- cmp r0, 0xE
- beq _0809A4AA
- b _0809A4BC
-_0809A496:
- mov r0, sp
- movs r1, 0x90
- strb r1, [r0]
- strb r1, [r0, 0x1]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x2]
- movs r0, 0x1
- negs r0, r0
- b _0809A4BA
-_0809A4AA:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0xC0
- strb r0, [r1, 0x1]
- movs r0, 0x80
- strb r0, [r1, 0x2]
- subs r0, 0x81
-_0809A4BA:
- strb r0, [r1, 0x3]
-_0809A4BC:
- movs r4, 0
- movs r5, 0
-_0809A4C0:
- ldr r0, _0809A4DC
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A4E0
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A4FC
- .align 2, 0
-_0809A4DC: .4byte gUnknown_2039998
-_0809A4E0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A4F2
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A4FC
-_0809A4F2:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A4FC:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0xD
- ble _0809A4C0
- movs r4, 0x10
- movs r5, 0x80
- lsls r5, 13
-_0809A50E:
- ldr r0, _0809A52C
- lsls r1, r4, 1
- adds r1, r0
- ldrh r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809A530
- lsrs r0, r5, 16
- movs r1, 0x80
- lsls r1, 1
- bl sub_8003664
- b _0809A54C
- .align 2, 0
-_0809A52C: .4byte gUnknown_2039998
-_0809A530:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809A542
- lsrs r0, r5, 16
- adds r1, r6, 0
- bl sub_8003664
- b _0809A54C
-_0809A542:
- lsrs r0, r5, 16
- adds r1, r6, 0
- ldr r2, [sp]
- bl sub_80037C8
-_0809A54C:
- movs r0, 0x80
- lsls r0, 9
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x1E
- ble _0809A50E
-_0809A558:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099E80
-
- thumb_func_start sub_809A560
-sub_809A560:
- push {r4-r6,lr}
- bl sub_8014144
- ldr r6, _0809A5F4
- movs r0, 0xB5
- lsls r0, 3
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r6]
- movs r4, 0
- str r4, [r0]
- movs r5, 0x1
- negs r5, r5
- str r5, [r0, 0x4]
- str r5, [r0, 0x8]
- ldr r0, _0809A5F8
- strh r4, [r0]
- ldr r0, _0809A5FC
- strh r4, [r0]
- movs r0, 0
- movs r1, 0x14
- bl sub_80095CC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0x14
- bl sub_8009408
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809A600
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r4, [r1]
- adds r2, 0x4
- adds r1, r0, r2
- str r5, [r1]
- ldr r1, _0809A604
- adds r0, r1
- str r5, [r0]
- bl sub_809A7EC
- ldr r0, [r6]
- ldr r2, _0809A608
- adds r0, r2
- ldr r1, _0809A60C
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A5F4: .4byte gUnknown_3001B64
-_0809A5F8: .4byte gUnknown_20399DC
-_0809A5FC: .4byte gUnknown_20399DE
-_0809A600: .4byte 0x00000414
-_0809A604: .4byte 0x00000434
-_0809A608: .4byte 0x000005a4
-_0809A60C: .4byte 0x0000ffff
- thumb_func_end sub_809A560
-
- thumb_func_start sub_809A610
-sub_809A610:
- push {r4,lr}
- bl sub_809A62C
- ldr r4, _0809A628
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A628: .4byte gUnknown_3001B64
- thumb_func_end sub_809A610
-
- thumb_func_start sub_809A62C
-sub_809A62C:
- push {r4,lr}
- ldr r0, _0809A670
- ldr r0, [r0]
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- ldr r0, _0809A674
- strh r2, [r0]
- ldr r0, _0809A678
- strh r2, [r0]
- movs r4, 0
-_0809A648:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_809A83C
- adds r4, 0x1
- cmp r4, 0x9
- ble _0809A648
- ldr r0, _0809A670
- ldr r0, [r0]
- ldr r1, _0809A67C
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A670: .4byte gUnknown_3001B64
-_0809A674: .4byte gUnknown_20399DC
-_0809A678: .4byte gUnknown_20399DE
-_0809A67C: .4byte 0x00000414
- thumb_func_end sub_809A62C
-
- thumb_func_start sub_809A680
-sub_809A680:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0x4
- bhi _0809A6C2
- lsls r0, r4, 2
- ldr r1, _0809A694
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A694: .4byte _0809A698
- .align 2, 0
-_0809A698:
- .4byte _0809A6AC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
- .4byte _0809A6BC
-_0809A6AC:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- b _0809A6D0
-_0809A6BC:
- bl sub_809B294
- b _0809A6D0
-_0809A6C2:
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
-_0809A6D0:
- ldr r0, _0809A6E0
- ldr r0, [r0]
- str r4, [r0]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0809A6E0: .4byte gUnknown_3001B64
- thumb_func_end sub_809A680
-
- thumb_func_start sub_809A6E4
-sub_809A6E4:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A6F4
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_0809A6F4: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6E4
-
- thumb_func_start sub_809A6F8
-sub_809A6F8:
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809A708
- ldrh r1, [r2]
- bics r1, r0
- strh r1, [r2]
- bx lr
- .align 2, 0
-_0809A708: .4byte gUnknown_20399DC
- thumb_func_end sub_809A6F8
-
- thumb_func_start sub_809A70C
-sub_809A70C:
- ldr r0, _0809A714
- ldrh r0, [r0]
- bx lr
- .align 2, 0
-_0809A714: .4byte gUnknown_20399DC
- thumb_func_end sub_809A70C
-
- thumb_func_start nullsub_209
-nullsub_209:
- bx lr
- thumb_func_end nullsub_209
-
- thumb_func_start sub_809A71C
-sub_809A71C:
- push {lr}
- adds r1, r0, 0
- ldr r0, _0809A734
- ldr r0, [r0]
- str r1, [r0, 0x4]
- str r1, [r0, 0x8]
- adds r0, r1, 0
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A734: .4byte gUnknown_3001B64
- thumb_func_end sub_809A71C
-
- thumb_func_start sub_809A738
-sub_809A738:
- push {lr}
- ldr r2, _0809A74C
- ldr r2, [r2]
- str r0, [r2, 0x4]
- str r1, [r2, 0x8]
- bl sub_801416C
- pop {r0}
- bx r0
- .align 2, 0
-_0809A74C: .4byte gUnknown_3001B64
- thumb_func_end sub_809A738
-
- thumb_func_start sub_809A750
-sub_809A750:
- push {lr}
- ldr r0, _0809A764
- ldr r0, [r0]
- adds r0, 0xC
- bl sub_809B40C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809A764: .4byte gUnknown_3001B64
- thumb_func_end sub_809A750
-
- thumb_func_start sub_809A768
-sub_809A768:
- movs r0, 0
- bx lr
- thumb_func_end sub_809A768
-
- thumb_func_start sub_809A76C
-sub_809A76C:
- push {lr}
- ldr r0, _0809A78C
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x1
- bcc _0809A7A4
- cmp r1, 0x2
- bls _0809A790
- cmp r1, 0x3
- bne _0809A7A4
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- b _0809A798
- .align 2, 0
-_0809A78C: .4byte gUnknown_3001B64
-_0809A790:
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x84
-_0809A798:
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7AE
-_0809A7A4:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7AE:
- pop {r1}
- bx r1
- thumb_func_end sub_809A76C
-
- thumb_func_start sub_809A7B4
-sub_809A7B4:
- push {lr}
- ldr r0, _0809A7D8
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809A7DC
- cmp r1, 0x1
- bcc _0809A7DC
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x4
- movs r3, 0
- bl sub_809B2B8
- lsls r0, 24
- lsrs r0, 24
- b _0809A7E6
- .align 2, 0
-_0809A7D8: .4byte gUnknown_3001B64
-_0809A7DC:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- movs r0, 0
-_0809A7E6:
- pop {r1}
- bx r1
- thumb_func_end sub_809A7B4
-
- thumb_func_start sub_809A7EC
-sub_809A7EC:
- push {r4-r6,lr}
- ldr r0, _0809A830
- ldr r0, [r0]
- ldr r2, _0809A834
- adds r1, r0, r2
- ldr r0, _0809A838
- adds r6, r0, 0
- movs r3, 0
- movs r2, 0
- movs r4, 0x9
- movs r5, 0xFF
-_0809A802:
- ldrh r0, [r1]
- orrs r0, r6
- strh r0, [r1]
- strh r2, [r1, 0x2]
- strb r3, [r1, 0x4]
- strb r3, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- orrs r0, r5
- strb r0, [r1, 0x6]
- strb r3, [r1, 0x7]
- str r2, [r1, 0x8]
- str r2, [r1, 0xC]
- str r2, [r1, 0x10]
- str r2, [r1, 0x14]
- strb r3, [r1, 0x1C]
- str r2, [r1, 0x20]
- subs r4, 0x1
- adds r1, 0x24
- cmp r4, 0
- bge _0809A802
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A830: .4byte gUnknown_3001B64
-_0809A834: .4byte 0x0000043c
-_0809A838: .4byte 0x0000ffff
- thumb_func_end sub_809A7EC
-
- thumb_func_start sub_809A83C
-sub_809A83C:
- push {r4-r7,lr}
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809A8A0
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r3, _0809A8A4
- adds r1, r3
- ldr r2, [r2]
- adds r6, r2, r1
- ldr r1, _0809A8A8
- strh r1, [r6]
- movs r2, 0
- movs r7, 0
- strh r7, [r6, 0x2]
- strb r2, [r6, 0x4]
- strb r2, [r6, 0x5]
- movs r1, 0xFF
- strb r1, [r6, 0x6]
- strb r2, [r6, 0x7]
- str r7, [r6, 0x8]
- str r7, [r6, 0xC]
- str r7, [r6, 0x10]
- str r7, [r6, 0x14]
- strb r2, [r6, 0x1C]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 4
- ldr r0, _0809A8AC
- adds r0, r4, r0
- ldr r5, _0809A8B0
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809A8B4
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- ldr r0, [r6, 0x20]
- cmp r0, 0
- beq _0809A89A
- bl CloseFile
- str r7, [r6, 0x20]
-_0809A89A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A8A0: .4byte gUnknown_3001B64
-_0809A8A4: .4byte 0x0000043c
-_0809A8A8: .4byte 0x0000ffff
-_0809A8AC: .4byte gUnknown_202DF98
-_0809A8B0: .4byte gUnknown_811615C
-_0809A8B4: .4byte gPlayerName
- thumb_func_end sub_809A83C
-
- thumb_func_start sub_809A8B8
-sub_809A8B8:
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- asrs r0, 16
- mov r9, r0
- mov r0, sp
- strh r1, [r0]
- ldr r1, _0809A928
- mov r2, r9
- lsls r0, r2, 3
- add r0, r9
- lsls r0, 2
- ldr r2, _0809A92C
- adds r0, r2
- ldr r1, [r1]
- adds r7, r1, r0
- movs r0, 0x1
- mov r10, r0
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r0, [r7, 0x20]
- cmp r0, 0
- beq _0809A8F6
- bl CloseFile
- ldr r2, [sp, 0x4]
- str r2, [r7, 0x20]
-_0809A8F6:
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80A7DDC
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x13
- bhi _0809A9D6
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A8D54
- adds r5, r0, 0
- cmp r5, 0
- bne _0809A930
- movs r2, 0
- mov r10, r2
- b _0809A9D6
- .align 2, 0
-_0809A928: .4byte gUnknown_3001B64
-_0809A92C: .4byte 0x0000043c
-_0809A930:
- bl sub_808D3BC
- cmp r5, r0
- bne _0809A940
- mov r1, sp
- movs r0, 0x21
- strh r0, [r1]
- b _0809A9D6
-_0809A940:
- bl sub_808D3F8
- cmp r5, r0
- bne _0809A950
- mov r1, sp
- movs r0, 0x22
- strh r0, [r1]
- b _0809A9D6
-_0809A950:
- ldrb r0, [r5, 0x4]
- subs r0, 0x43
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _0809A990
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r0, _0809A978
- cmp r1, r0
- beq _0809A9D6
- cmp r1, r0
- ble _0809A97C
- adds r0, 0x16
- cmp r1, r0
- bgt _0809A98A
- subs r0, 0x1
- cmp r1, r0
- blt _0809A98A
- b _0809A9D6
- .align 2, 0
-_0809A978: .4byte 0x00000183
-_0809A97C:
- movs r0, 0x82
- lsls r0, 1
- cmp r1, r0
- beq _0809A9D6
- adds r0, 0x2F
- cmp r1, r0
- beq _0809A9D6
-_0809A98A:
- movs r1, 0
- mov r10, r1
- b _0809A9D6
-_0809A990:
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r0, 0x87
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9B0
- subs r0, 0x2
- cmp r1, r0
- bge _0809A9D6
- cmp r1, 0x90
- blt _0809A9D2
- cmp r1, 0x92
- ble _0809A9D6
- cmp r1, 0x96
- beq _0809A9D6
- b _0809A9D2
-_0809A9B0:
- movs r0, 0xCF
- lsls r0, 1
- cmp r1, r0
- bgt _0809A9CC
- subs r0, 0x4
- cmp r1, r0
- bge _0809A9D6
- subs r0, 0x87
- cmp r1, r0
- bgt _0809A9D2
- subs r0, 0x1
- cmp r1, r0
- blt _0809A9D2
- b _0809A9D6
-_0809A9CC:
- ldr r0, _0809A9F0
- cmp r1, r0
- beq _0809A9D6
-_0809A9D2:
- movs r0, 0
- mov r10, r0
-_0809A9D6:
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x21
- bhi _0809AA98
- lsls r0, 2
- ldr r1, _0809A9F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A9F0: .4byte 0x000001a7
-_0809A9F4: .4byte _0809A9F8
- .align 2, 0
-_0809A9F8:
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA98
- .4byte _0809AA80
- .4byte _0809AA80
-_0809AA80:
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80A8CF0
- lsls r0, 24
- cmp r0, 0
- beq _0809AA94
- movs r2, 0x1
- str r2, [sp, 0x4]
- b _0809AA98
-_0809AA94:
- movs r0, 0
- mov r10, r0
-_0809AA98:
- mov r0, sp
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AB34
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80A7AE8
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- blt _0809AACE
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- adds r0, r1, 0
- bl sub_80A8BFC
- strh r0, [r7, 0x2]
- b _0809AAE6
-_0809AACE:
- ldrh r1, [r4]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0809AB34
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- mov r8, r2
- movs r6, 0
- strh r0, [r7]
- strh r1, [r7, 0x2]
-_0809AAE6:
- mov r0, r9
- lsls r4, r0, 2
- add r4, r9
- lsls r4, 4
- ldr r0, _0809AB28
- adds r0, r4, r0
- ldr r5, _0809AB2C
- adds r1, r5, 0
- bl strcpy
- ldr r0, _0809AB30
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- mov r1, r10
- strb r1, [r7, 0x4]
- mov r2, sp
- ldrb r2, [r2, 0x4]
- strb r2, [r7, 0x5]
- movs r0, 0xFF
- strb r0, [r7, 0x6]
- mov r0, r8
- strb r0, [r7, 0x7]
- str r6, [r7, 0x8]
- str r6, [r7, 0xC]
- str r6, [r7, 0x10]
- str r6, [r7, 0x14]
- strb r0, [r7, 0x1C]
- movs r0, 0x1
- b _0809AB3C
- .align 2, 0
-_0809AB28: .4byte gUnknown_202DF98
-_0809AB2C: .4byte gUnknown_811616C
-_0809AB30: .4byte gPlayerName
-_0809AB34:
- mov r0, r9
- bl sub_809A83C
- movs r0, 0
-_0809AB3C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809A8B8
-
- thumb_func_start sub_809AB4C
-sub_809AB4C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AB78
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AB7C
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AB80
- movs r0, 0
- b _0809ABA0
- .align 2, 0
-_0809AB78: .4byte gUnknown_3001B64
-_0809AB7C: .4byte 0x0000043c
-_0809AB80:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809ABA8
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809ABAC
- adds r4, r0
- ldr r1, _0809ABB0
- adds r0, r4, 0
- bl strcpy
- movs r0, 0x1
-_0809ABA0:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809ABA8: .4byte gUnknown_202DF98
-_0809ABAC: .4byte gPlayerName
-_0809ABB0: .4byte gUnknown_811617C
- thumb_func_end sub_809AB4C
-
- thumb_func_start sub_809ABB4
-sub_809ABB4:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809ABE0
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809ABE4
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809ABE8
- movs r0, 0
- b _0809AC0A
- .align 2, 0
-_0809ABE0: .4byte gUnknown_3001B64
-_0809ABE4: .4byte 0x0000043c
-_0809ABE8:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r5, _0809AC10
- adds r5, r4, r5
- movs r0, 0x2
- ldrsh r1, [r6, r0]
- adds r0, r5, 0
- bl sub_808D908
- ldr r0, _0809AC14
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl strcpy
- movs r0, 0x1
-_0809AC0A:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC10: .4byte gUnknown_202DF98
-_0809AC14: .4byte gPlayerName
- thumb_func_end sub_809ABB4
-
- thumb_func_start sub_809AC18
-sub_809AC18:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r5, r0, 16
- lsls r1, 16
- asrs r1, 16
- ldr r2, _0809AC44
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- ldr r3, _0809AC48
- adds r0, r3
- ldr r2, [r2]
- adds r6, r2, r0
- adds r0, r5, 0
- bl sub_809A8B8
- lsls r0, 24
- cmp r0, 0
- bne _0809AC4C
- movs r0, 0
- b _0809AC6E
- .align 2, 0
-_0809AC44: .4byte gUnknown_3001B64
-_0809AC48: .4byte 0x0000043c
-_0809AC4C:
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 4
- ldr r0, _0809AC74
- adds r0, r4, r0
- movs r2, 0x2
- ldrsh r1, [r6, r2]
- bl sub_808D908
- ldr r0, _0809AC78
- adds r4, r0
- movs r3, 0
- ldrsh r1, [r6, r3]
- adds r0, r4, 0
- bl sub_80A8EC0
- movs r0, 0x1
-_0809AC6E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AC74: .4byte gUnknown_202DF98
-_0809AC78: .4byte gPlayerName
- thumb_func_end sub_809AC18
-
- thumb_func_start sub_809AC7C
-sub_809AC7C:
- push {r4-r6,lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 24
- asrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r2, _0809AD10
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AD14
- adds r1, r0
- ldr r0, [r2]
- adds r4, r0, r1
- ldr r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ACA8
- bl CloseFile
- movs r0, 0
- str r0, [r4, 0x20]
-_0809ACA8:
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bge _0809ACB2
- b _0809ADC0
-_0809ACB2:
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0809ACBC
- b _0809ADC0
-_0809ACBC:
- cmp r1, 0
- bne _0809ACC2
- b _0809ADC0
-_0809ACC2:
- cmp r6, 0x15
- beq _0809ACCE
- movs r0, 0
- strb r6, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
-_0809ACCE:
- ldr r2, _0809AD18
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- movs r6, 0
- movs r3, 0
- strh r0, [r4, 0x18]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r4, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r4, 0x1A]
- ldrb r0, [r4, 0x7]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- strb r0, [r4, 0x1D]
- strb r6, [r4, 0x1E]
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- bne _0809AD1C
- strb r5, [r4, 0x6]
- str r3, [r4, 0x10]
- str r3, [r4, 0x14]
- strb r6, [r4, 0x1C]
- movs r0, 0
- b _0809ADD2
- .align 2, 0
-_0809AD10: .4byte gUnknown_3001B64
-_0809AD14: .4byte 0x0000043c
-_0809AD18: .4byte gUnknown_8116040
-_0809AD1C:
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0809ADC0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- bl sub_808DD90
- str r0, [r4, 0x20]
- cmp r0, 0
- beq _0809ADB6
- strb r5, [r4, 0x6]
- str r0, [r4, 0x10]
- movs r1, 0
- bl GetFileDataPtr
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x4D
- beq _0809AD62
- cmp r0, 0x4D
- bgt _0809AD4C
- cmp r0, 0x47
- beq _0809AD56
- b _0809ADA8
-_0809AD4C:
- cmp r0, 0x53
- beq _0809AD76
- cmp r0, 0x73
- beq _0809AD8A
- b _0809ADA8
-_0809AD56:
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x5
- bgt _0809ADA8
- adds r0, r5, 0x6
- b _0809AD9C
-_0809AD62:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x3
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x4
- b _0809AD9C
-_0809AD76:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x1
- b _0809AD9C
-_0809AD8A:
- ldrb r0, [r4, 0x1D]
- cmp r0, 0
- beq _0809ADA8
- movs r0, 0xF
- ands r0, r5
- cmp r0, 0x1
- bgt _0809ADA8
- strb r6, [r4, 0x1D]
- adds r0, r5, 0x2
-_0809AD9C:
- lsls r0, 24
- asrs r5, r0, 24
- movs r0, 0x40
- orrs r5, r0
- lsls r0, r5, 24
- asrs r5, r0, 24
-_0809ADA8:
- ldr r0, [r4, 0x20]
- ldr r0, [r0, 0x4]
- str r0, [r4, 0x14]
- movs r0, 0xF
- ands r5, r0
- strb r5, [r4, 0x1C]
- b _0809ADBC
-_0809ADB6:
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r6, [r4, 0x1C]
-_0809ADBC:
- movs r0, 0x1
- b _0809ADD2
-_0809ADC0:
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- movs r0, 0
- strb r0, [r4, 0x7]
- str r0, [r4, 0x8]
- str r0, [r4, 0xC]
- str r0, [r4, 0x10]
- str r0, [r4, 0x14]
- strb r0, [r4, 0x1C]
-_0809ADD2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AC7C
-
- thumb_func_start sub_809ADD8
-sub_809ADD8:
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- asrs r0, 16
- ldr r2, _0809AE28
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809AE2C
- adds r1, r0
- ldr r0, [r2]
- adds r3, r0, r1
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0
- blt _0809AE34
- cmp r0, 0
- beq _0809AE34
- ldr r0, [r4]
- ldr r1, [r4, 0x4]
- str r0, [r3, 0x8]
- str r1, [r3, 0xC]
- ldr r2, _0809AE30
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0x8]
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r3, 0x18]
- ldrb r0, [r3, 0x7]
- lsls r0, 3
- adds r0, r2
- ldr r1, [r3, 0xC]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- strh r0, [r3, 0x1A]
- movs r0, 0x1
- b _0809AE36
- .align 2, 0
-_0809AE28: .4byte gUnknown_3001B64
-_0809AE2C: .4byte 0x0000043c
-_0809AE30: .4byte gUnknown_8116040
-_0809AE34:
- movs r0, 0
-_0809AE36:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809ADD8
-
- thumb_func_start sub_809AE3C
-sub_809AE3C:
- push {r4,lr}
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _0809AE88
- ldr r1, _0809AE80
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r3, _0809AE84
- adds r0, r3
- ldr r1, [r1]
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809AE74
- movs r1, 0x6
- ldrsb r1, [r4, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809AE74
- adds r0, r2, 0
- movs r1, 0
- movs r2, 0
- bl sub_809AC7C
-_0809AE74:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- beq _0809AE88
- adds r0, r4, 0
- adds r0, 0x10
- b _0809AE8A
- .align 2, 0
-_0809AE80: .4byte gUnknown_3001B64
-_0809AE84: .4byte 0x0000043c
-_0809AE88:
- movs r0, 0
-_0809AE8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE3C
-
- thumb_func_start sub_809AE90
-sub_809AE90:
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- lsls r1, 16
- asrs r6, r1, 16
- cmp r4, 0
- bne _0809AEA4
- bl sub_809A76C
- b _0809AEE0
-_0809AEA4:
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AEDC
- ldr r1, _0809AED0
- lsls r0, r5, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809AED4
- ldr r0, [r0]
- adds r0, 0xC
- ldr r2, _0809AED8
- lsls r1, r5, 1
- adds r1, r2
- ldrh r1, [r1]
- adds r2, r6, 0
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AEE0
- .align 2, 0
-_0809AED0: .4byte gUnknown_8116134
-_0809AED4: .4byte gUnknown_3001B64
-_0809AED8: .4byte gUnknown_8116148
-_0809AEDC:
- bl sub_809A7B4
-_0809AEE0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809AE90
-
- thumb_func_start sub_809AEEC
-sub_809AEEC:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF1C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF1C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF18
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF20
- .align 2, 0
-_0809AF18: .4byte gUnknown_3001B64
-_0809AF1C:
- bl sub_809A76C
-_0809AF20:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AEEC
-
- thumb_func_start sub_809AF2C
-sub_809AF2C:
- push {r4,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _0809AF5C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF5C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF58
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0xC2
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AF60
- .align 2, 0
-_0809AF58: .4byte gUnknown_3001B64
-_0809AF5C:
- bl sub_809A76C
-_0809AF60:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF2C
-
- thumb_func_start sub_809AF6C
-sub_809AF6C:
- push {r4,lr}
- adds r4, r1, 0
- cmp r4, 0
- beq _0809AF9C
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809AF9C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_809A680
- ldr r0, _0809AF98
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0x65
- adds r3, r4, 0
- bl sub_809B2B8
- b _0809AFA0
- .align 2, 0
-_0809AF98: .4byte gUnknown_3001B64
-_0809AF9C:
- bl sub_809A76C
-_0809AFA0:
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AF6C
-
- thumb_func_start sub_809AFAC
-sub_809AFAC:
- push {lr}
- movs r1, 0
- ldr r0, _0809AFC4
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x4
- bne _0809AFBC
- movs r1, 0x1
-_0809AFBC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809AFC4: .4byte gUnknown_3001B64
- thumb_func_end sub_809AFAC
-
- thumb_func_start sub_809AFC8
-sub_809AFC8:
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r1, 0
- adds r1, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- asrs r1, 16
- ldr r4, _0809AFF8
- negs r2, r0
- orrs r2, r0
- lsrs r2, 31
- str r1, [sp]
- str r3, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- adds r3, r5, 0
- bl sub_809B028
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AFF8: .4byte gUnknown_81160E8
- thumb_func_end sub_809AFC8
-
- thumb_func_start sub_809AFFC
-sub_809AFFC:
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- mov r0, sp
- bl sub_809B18C
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r4, 0
- beq _0809B01C
- movs r1, 0
- ldr r0, [sp]
- cmp r0, 0x1
- bne _0809B01A
- movs r1, 0x1
-_0809B01A:
- strb r1, [r4]
-_0809B01C:
- adds r0, r2, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809AFFC
-
- thumb_func_start sub_809B028
-sub_809B028:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- mov r8, r0
- adds r7, r2, 0
- adds r6, r3, 0
- ldr r0, [sp, 0x2C]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r0, 16
- asrs r4, r0, 16
- ldr r1, _0809B084
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B088
- ldr r1, [r0]
- ldr r0, _0809B08C
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0
- str r0, [r2]
- ldr r2, _0809B090
- adds r0, r1, r2
- mov r2, r8
- str r2, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r1, r2
- movs r2, 0x2
- str r2, [r0]
- ldr r0, _0809B094
- adds r1, r0
- cmp r5, 0
- beq _0809B098
- str r2, [r1]
- b _0809B09A
- .align 2, 0
-_0809B084: .4byte gUnknown_8116134
-_0809B088: .4byte gUnknown_3001B64
-_0809B08C: .4byte 0x00000414
-_0809B090: .4byte 0x0000041c
-_0809B094: .4byte 0x00000424
-_0809B098:
- str r5, [r1]
-_0809B09A:
- ldr r0, _0809B0D4
- ldr r0, [r0]
- movs r1, 0x85
- lsls r1, 3
- adds r2, r0, r1
- movs r1, 0
- str r1, [r2]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r7, [r0]
- ldr r0, _0809B0D8
- lsls r2, r6, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _0809B0F6
- cmp r4, 0
- bge _0809B0E4
- ldr r0, _0809B0DC
- ldr r1, _0809B0E0
- bl strcpy
- b _0809B0F6
- .align 2, 0
-_0809B0D4: .4byte gUnknown_3001B64
-_0809B0D8: .4byte gUnknown_8116148
-_0809B0DC: .4byte gUnknown_202E5D8
-_0809B0E0: .4byte gUnknown_8116180
-_0809B0E4:
- ldr r0, _0809B134
- ldr r1, _0809B138
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 4
- ldr r3, _0809B13C
- adds r2, r3
- bl sub_800D158
-_0809B0F6:
- adds r0, r4, 0
- bl sub_809AE3C
- ldr r4, _0809B140
- movs r1, 0
- str r1, [sp]
- movs r3, 0x4
- str r3, [sp, 0x4]
- str r1, [sp, 0x8]
- str r0, [sp, 0xC]
- ldr r0, _0809B144
- adds r0, r5, r0
- ldrh r2, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0809B11C
- movs r1, 0xC
-_0809B11C:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0809B128
- orrs r1, r3
-_0809B128:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809B148
- movs r0, 0x21
- b _0809B14A
- .align 2, 0
-_0809B134: .4byte gUnknown_202E5D8
-_0809B138: .4byte gUnknown_8116188
-_0809B13C: .4byte gPlayerName
-_0809B140: .4byte sub_809B428
-_0809B144: .4byte gUnknown_8116148
-_0809B148:
- movs r0, 0x1
-_0809B14A:
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- ldr r0, [sp, 0x30]
- adds r1, r4, 0
- adds r2, r7, 0
- mov r3, r8
- bl sub_8014248
- ldr r0, _0809B184
- ldr r0, [r0]
- ldr r1, _0809B188
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809B176
- movs r0, 0x1
- bl sub_809A6E4
-_0809B176:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B184: .4byte gUnknown_3001B64
-_0809B188: .4byte 0x00000424
- thumb_func_end sub_809B028
-
- thumb_func_start sub_809B18C
-sub_809B18C:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B1BC
- cmp r1, 0
- beq _0809B1A2
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B1A2:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B1B4
- movs r1, 0x1
-_0809B1B4:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B1BC: .4byte gUnknown_3001B64
- thumb_func_end sub_809B18C
-
- thumb_func_start sub_809B1C0
-sub_809B1C0:
- push {lr}
- adds r3, r2, 0
- movs r2, 0
- bl sub_809B1D4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809B1C0
-
- thumb_func_start sub_809B1D4
-sub_809B1D4:
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- adds r7, r3, 0
- cmp r4, 0xB
- beq _0809B1E8
- cmp r4, 0xC
- beq _0809B1F0
- b _0809B202
-_0809B1E8:
- adds r0, r5, 0
- bl sub_8021700
- b _0809B1F8
-_0809B1F0:
- bl sub_8001D88
- bl sub_802FCF0
-_0809B1F8:
- lsls r0, 24
- cmp r0, 0
- beq _0809B202
- movs r0, 0
- b _0809B24C
-_0809B202:
- movs r0, 0x4
- movs r1, 0
- bl sub_809A680
- ldr r0, _0809B254
- ldr r1, [r0]
- ldr r2, _0809B258
- adds r0, r1, r2
- str r4, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r1, r3
- movs r2, 0
- str r2, [r0]
- adds r3, 0x4
- adds r0, r1, r3
- str r2, [r0]
- movs r0, 0x84
- lsls r0, 3
- adds r2, r1, r0
- movs r0, 0x1
- str r0, [r2]
- ldr r2, _0809B25C
- adds r0, r1, r2
- str r5, [r0]
- adds r3, 0xC
- adds r0, r1, r3
- str r6, [r0]
- adds r2, 0x8
- adds r0, r1, r2
- str r7, [r0]
- adds r3, 0x8
- adds r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r1]
- movs r0, 0x1
-_0809B24C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809B254: .4byte gUnknown_3001B64
-_0809B258: .4byte 0x00000414
-_0809B25C: .4byte 0x00000424
- thumb_func_end sub_809B1D4
-
- thumb_func_start sub_809B260
-sub_809B260:
- push {lr}
- adds r1, r0, 0
- ldr r2, _0809B290
- cmp r1, 0
- beq _0809B276
- ldr r0, [r2]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
-_0809B276:
- movs r1, 0
- ldr r0, [r2]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B288
- movs r1, 0x1
-_0809B288:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809B290: .4byte gUnknown_3001B64
- thumb_func_end sub_809B260
-
- thumb_func_start sub_809B294
-sub_809B294:
- push {lr}
- movs r0, 0x3
- bl sub_80063D8
- ldr r0, _0809B2B4
- ldr r0, [r0]
- adds r0, 0xC
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- movs r3, 0
- bl sub_809B2B8
- pop {r0}
- bx r0
- .align 2, 0
-_0809B2B4: .4byte gUnknown_3001B64
- thumb_func_end sub_809B294
-
- thumb_func_start sub_809B2B8
-sub_809B2B8:
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r7, r3, 0
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- asrs r6, r2, 16
- strh r5, [r4]
- cmp r7, 0
- bne _0809B2F6
- cmp r5, 0
- bne _0809B2DE
- str r7, [r4, 0x4]
- movs r0, 0
- b _0809B3FC
-_0809B2DE:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- bne _0809B2E8
- b _0809B3FA
-_0809B2E8:
- bl sub_8014490
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B3FA
-_0809B2F6:
- movs r0, 0x1
- str r0, [r4, 0x4]
- adds r0, 0xFF
- ands r0, r5
- cmp r0, 0
- beq _0809B32A
- cmp r6, 0
- bge _0809B318
- ldr r0, _0809B310
- ldr r1, _0809B314
- bl strcpy
- b _0809B32A
- .align 2, 0
-_0809B310: .4byte gUnknown_202E5D8
-_0809B314: .4byte gUnknown_8116180
-_0809B318:
- ldr r0, _0809B3D0
- ldr r1, _0809B3D4
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 4
- ldr r3, _0809B3D8
- adds r2, r3
- bl sub_800D158
-_0809B32A:
- ldr r0, _0809B3DC
- mov r8, r0
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0x3
- bne _0809B344
- adds r4, 0x8
- ldr r1, _0809B3E0
- adds r0, r4, 0
- adds r2, r7, 0
- bl sub_800D158
- adds r7, r4, 0
-_0809B344:
- adds r0, r6, 0
- bl sub_809AE3C
- ldr r1, _0809B3E4
- mov r9, r1
- movs r1, 0x1
- negs r1, r1
- mov r12, r1
- movs r2, 0
- str r2, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- str r0, [sp, 0xC]
- movs r6, 0x80
- lsls r6, 1
- adds r0, r5, 0
- ands r0, r6
- movs r1, 0
- cmp r0, 0
- beq _0809B370
- movs r1, 0xC
-_0809B370:
- movs r4, 0x80
- lsls r4, 2
- adds r0, r5, 0
- ands r0, r4
- cmp r0, 0
- beq _0809B380
- movs r0, 0x4
- orrs r1, r0
-_0809B380:
- mov r0, r8
- ldr r3, [r0]
- ldr r2, [r3]
- cmp r2, 0x3
- bne _0809B38E
- movs r0, 0x10
- orrs r1, r0
-_0809B38E:
- cmp r2, 0x2
- bne _0809B396
- movs r0, 0x10
- orrs r1, r0
-_0809B396:
- adds r2, r1, 0
- movs r1, 0x20
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0809B3A4
- orrs r2, r1
-_0809B3A4:
- lsrs r1, r5, 6
- movs r0, 0x1
- ands r1, r0
- orrs r1, r2
- movs r0, 0x80
- ands r0, r5
- cmp r0, 0
- beq _0809B3B6
- orrs r1, r6
-_0809B3B6:
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- beq _0809B3C0
- orrs r1, r4
-_0809B3C0:
- ldr r0, [r3, 0x4]
- cmp r0, r12
- beq _0809B3E8
- movs r0, 0x2
- orrs r0, r1
- lsls r0, 16
- b _0809B3EA
- .align 2, 0
-_0809B3D0: .4byte gUnknown_202E5D8
-_0809B3D4: .4byte gUnknown_8116188
-_0809B3D8: .4byte gPlayerName
-_0809B3DC: .4byte gUnknown_3001B64
-_0809B3E0: .4byte gUnknown_8116190
-_0809B3E4: .4byte sub_809B428
-_0809B3E8:
- lsls r0, r1, 16
-_0809B3EA:
- lsrs r0, 16
- str r0, [sp, 0x10]
- adds r0, r7, 0
- mov r1, r9
- mov r2, r12
- movs r3, 0
- bl sub_8014248
-_0809B3FA:
- movs r0, 0x1
-_0809B3FC:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809B2B8
-
- thumb_func_start sub_809B40C
-sub_809B40C:
- push {lr}
- ldr r0, [r0, 0x4]
- cmp r0, 0
- beq _0809B41C
- cmp r0, 0x3
- bhi _0809B420
- cmp r0, 0x2
- bcc _0809B420
-_0809B41C:
- movs r0, 0
- b _0809B422
-_0809B420:
- movs r0, 0x1
-_0809B422:
- pop {r1}
- bx r1
- thumb_func_end sub_809B40C
-
- thumb_func_start sub_809B428
-sub_809B428:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0
- ldrb r0, [r5, 0x2]
- cmp r0, 0x4F
- beq _0809B44C
- cmp r0, 0x4F
- bgt _0809B43E
- cmp r0, 0x49
- beq _0809B444
- b _0809B46A
-_0809B43E:
- cmp r0, 0x57
- beq _0809B454
- b _0809B46A
-_0809B444:
- movs r0, 0x1E
- bl sub_8099A34
- b _0809B462
-_0809B44C:
- movs r0, 0x1E
- bl sub_8099A48
- b _0809B462
-_0809B454:
- bl sub_8099B94
- lsls r0, 24
- cmp r0, 0
- beq _0809B462
- adds r0, r5, 0
- b _0809B46C
-_0809B462:
- adds r1, r4, 0
- adds r1, 0x21
- movs r0, 0x1
- strb r0, [r1]
-_0809B46A:
- movs r0, 0
-_0809B46C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B428
-
- thumb_func_start sub_809B474
-sub_809B474:
- push {r4-r6,lr}
- ldr r0, _0809B498
- ldr r1, [r0]
- ldr r2, [r1]
- adds r6, r0, 0
- cmp r2, 0x3
- bls _0809B56E
- cmp r2, 0x4
- bne _0809B56E
- movs r5, 0x84
- lsls r5, 3
- adds r0, r1, r5
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B49C
- cmp r0, 0x2
- beq _0809B508
- b _0809B56E
- .align 2, 0
-_0809B498: .4byte gUnknown_3001B64
-_0809B49C:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B4B0
- ldr r0, [r6]
- adds r0, r5
- movs r1, 0x3
- str r1, [r0]
- b _0809B4E8
-_0809B4B0:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B4F8
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _0809B4F2
- bl sub_809B294
- ldr r0, [r4, 0x4]
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _0809B4F2
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- movs r0, 0x1
- negs r0, r0
- str r0, [r2]
- adds r1, r5
- movs r0, 0x3
- str r0, [r1]
-_0809B4E8:
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
- b _0809B56E
-_0809B4F2:
- ldrh r0, [r4]
- bl sub_809A6E4
-_0809B4F8:
- ldr r0, _0809B534
- ldr r1, [r0]
- movs r2, 0x84
- lsls r2, 3
- adds r1, r2
- movs r2, 0x2
- str r2, [r1]
- adds r6, r0, 0
-_0809B508:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r4, [r0]
- cmp r4, 0
- beq _0809B54E
- ldr r0, [r4, 0xC]
- bl _call_via_r0
- adds r2, r0, 0
- cmp r2, 0x1
- bls _0809B56E
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r1, r0, r3
- cmp r2, 0x2
- bne _0809B538
- movs r0, 0x1
- negs r0, r0
- b _0809B53A
- .align 2, 0
-_0809B534: .4byte gUnknown_3001B64
-_0809B538:
- movs r0, 0
-_0809B53A:
- str r0, [r1]
- ldr r0, [r4, 0x8]
- cmp r0, 0
- beq _0809B546
- bl _call_via_r0
-_0809B546:
- ldrh r0, [r4]
- bl sub_809A6F8
- b _0809B558
-_0809B54E:
- bl sub_809B648
- lsls r0, 24
- cmp r0, 0
- bne _0809B56E
-_0809B558:
- ldr r0, _0809B578
- ldr r0, [r0]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- movs r1, 0x3
- str r1, [r0]
- movs r0, 0
- movs r1, 0x1
- bl sub_809A680
-_0809B56E:
- bl sub_809B57C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B578: .4byte gUnknown_3001B64
- thumb_func_end sub_809B474
-
- thumb_func_start sub_809B57C
-sub_809B57C:
- push {r4,r5,lr}
- sub sp, 0x8
- bl xxx_draw_string_80144C4
- ldr r5, _0809B5C8
- ldr r0, [r5]
- ldr r1, [r0]
- cmp r1, 0x3
- bhi _0809B5E4
- cmp r1, 0x1
- bcc _0809B5E4
- movs r4, 0x84
- lsls r4, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B5CC
- cmp r0, 0x3
- beq _0809B5CC
- mov r0, sp
- bl sub_80144A4
- cmp r0, 0
- bne _0809B5E4
- ldr r1, [sp]
- movs r0, 0x1
- bl sub_809D9E0
- ldr r1, [r5]
- adds r2, r1, r4
- movs r0, 0x3
- str r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
- ldr r0, [sp]
- str r0, [r1]
- b _0809B5E4
- .align 2, 0
-_0809B5C8: .4byte gUnknown_3001B64
-_0809B5CC:
- add r0, sp, 0x4
- bl sub_80144A4
- adds r4, r0, 0
- cmp r4, 0
- bne _0809B5E4
- movs r0, 0
- bl sub_809D9B8
- ldr r0, _0809B5FC
- ldr r0, [r0]
- str r4, [r0]
-_0809B5E4:
- ldr r0, _0809B5FC
- ldr r0, [r0]
- ldr r1, _0809B600
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- bge _0809B604
- movs r0, 0
- movs r1, 0
- bl sub_8005838
- b _0809B60C
- .align 2, 0
-_0809B5FC: .4byte gUnknown_3001B64
-_0809B600: .4byte 0x00000434
-_0809B604:
- movs r0, 0
- movs r1, 0x5
- bl sub_8005838
-_0809B60C:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809B57C
-
- thumb_func_start sub_809B614
-sub_809B614:
- push {lr}
- bl sub_80060EC
- ldr r0, _0809B62C
- ldr r2, _0809B630
- ldrh r1, [r2]
- strh r1, [r0]
- ldr r0, _0809B634
- ands r0, r1
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_0809B62C: .4byte gUnknown_20399DE
-_0809B630: .4byte gUnknown_20399DC
-_0809B634: .4byte 0x0000fffd
- thumb_func_end sub_809B614
-
- thumb_func_start sub_809B638
-sub_809B638:
- push {lr}
- bl xxx_call_update_bg_vram
- pop {r0}
- bx r0
- thumb_func_end sub_809B638
-
- thumb_func_start nullsub_210
-nullsub_210:
- bx lr
- thumb_func_end nullsub_210
-
- thumb_func_start sub_809B648
-sub_809B648:
- push {r4-r6,lr}
- sub sp, 0x24
- ldr r0, _0809B66C
- ldr r1, [r0]
- ldr r2, _0809B670
- adds r1, r2
- ldr r1, [r1]
- subs r1, 0x2
- adds r6, r0, 0
- cmp r1, 0x2C
- bls _0809B662
- bl _0809C392
-_0809B662:
- lsls r0, r1, 2
- ldr r1, _0809B674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809B66C: .4byte gUnknown_3001B64
-_0809B670: .4byte 0x00000414
-_0809B674: .4byte _0809B678
- .align 2, 0
-_0809B678:
- .4byte _0809B72C
- .4byte _0809B772
- .4byte _0809B7AC
- .4byte _0809B834
- .4byte _0809B89C
- .4byte _0809B8FC
- .4byte _0809B91C
- .4byte _0809B944
- .4byte _0809B9D2
- .4byte _0809BA2A
- .4byte _0809BAA8
- .4byte _0809BB66
- .4byte _0809BBDA
- .4byte _0809BBDA
- .4byte _0809BC26
- .4byte _0809BC68
- .4byte _0809C1B4
- .4byte _0809BC78
- .4byte _0809C1C2
- .4byte _0809C1C2
- .4byte _0809C1C8
- .4byte _0809BCBC
- .4byte _0809BCBC
- .4byte _0809BD1C
- .4byte _0809BD64
- .4byte _0809BDE8
- .4byte _0809BE30
- .4byte _0809BE40
- .4byte _0809BE50
- .4byte _0809BE60
- .4byte _0809BE9C
- .4byte _0809BEB8
- .4byte _0809BED4
- .4byte _0809BF70
- .4byte _0809BFFC
- .4byte _0809C072
- .4byte _0809C0B8
- .4byte _0809C0FC
- .4byte _0809C148
- .4byte _0809C158
- .4byte _0809C168
- .4byte _0809C204
- .4byte _0809C238
- .4byte _0809C280
- .4byte _0809C32A
-_0809B72C:
- ldr r2, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r2, r3
- ldr r0, [r0]
- cmp r0, 0x1
- beq _0809B780
- ldr r0, _0809B754
- ldrh r0, [r0, 0x2]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809B758
- movs r0, 0x86
- lsls r0, 3
- adds r1, r2, r0
- movs r0, 0x1
- str r0, [r1]
- bl _0809C392
- .align 2, 0
-_0809B754: .4byte gUnknown_20255F0
-_0809B758:
- bl sub_8094D14
- lsls r0, 24
- cmp r0, 0
- beq _0809B784
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x2
- str r1, [r0]
- bl _0809C392
-_0809B772:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B78A
-_0809B780:
- bl sub_809B294
-_0809B784:
- movs r0, 0x1
- bl _0809C394
-_0809B78A:
- ldr r0, _0809B7A8
- ldrh r1, [r0]
- ldrh r0, [r0, 0x2]
- movs r2, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809B79C
- bl _0809C392
-_0809B79C:
- ands r1, r2
- cmp r1, 0
- bne _0809B784
- bl _0809C392
- .align 2, 0
-_0809B7A8: .4byte gUnknown_20255F0
-_0809B7AC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B7F4
- bl sub_809B294
- ldr r1, [r6]
- ldr r2, _0809B7D8
- adds r0, r1, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B7E0
- ldr r3, _0809B7DC
- adds r0, r1, r3
- ldr r1, [r0]
- movs r0, 0
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7D8: .4byte 0x00000424
-_0809B7DC: .4byte 0x0000042c
-_0809B7E0:
- ldr r2, _0809B7F0
- adds r0, r1, r2
- ldr r1, [r0]
- movs r0, 0x2
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B7F0: .4byte 0x0000042c
-_0809B7F4:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B80C
- bl sub_80160D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809C1BC
-_0809B80C:
- cmp r0, 0x2
- bne _0809B784
- ldr r0, [r6]
- ldr r1, _0809B830
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0809B784
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
-_0809B828:
- movs r1, 0
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B830: .4byte 0x00000424
-_0809B834:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B85C
- bl sub_809B294
- ldr r0, [r6]
- ldr r1, _0809B858
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x1
- bl sub_801602C
- b _0809B784
- .align 2, 0
-_0809B858: .4byte 0x0000042c
-_0809B85C:
- bl sub_8016080
- cmp r0, 0x3
- bne _0809B874
- bl sub_80160D8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809C1BC
-_0809B874:
- cmp r0, 0x2
- beq _0809B87A
- b _0809B784
-_0809B87A:
- ldr r0, [r6]
- ldr r3, _0809B898
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B888
- b _0809B784
-_0809B888:
- bl sub_80160D8
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809B828
- .align 2, 0
-_0809B898: .4byte 0x00000424
-_0809B89C:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B8C4
- bl sub_809B294
- ldr r0, [r6]
- ldr r3, _0809B8C0
- adds r0, r3
- ldr r1, [r0]
- movs r0, 0x4
- bl sub_80151C0
- b _0809B784
- .align 2, 0
-_0809B8C0: .4byte 0x0000042c
-_0809B8C4:
- bl sub_80154F0
- cmp r0, 0x3
- bne _0809B8D4
- bl sub_80155F0
- bl _0809C1B4
-_0809B8D4:
- cmp r0, 0x2
- beq _0809B8DA
- b _0809B784
-_0809B8DA:
- ldr r0, [r6]
- ldr r2, _0809B8F8
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _0809B8E8
- b _0809B784
-_0809B8E8:
- bl sub_80155F0
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809B8F8: .4byte 0x00000424
-_0809B8FC:
- ldr r0, [r6]
- ldr r1, _0809B914
- adds r0, r1
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809B918
- b _0809B932
- .align 2, 0
-_0809B914: .4byte 0x0000042c
-_0809B918: .4byte gUnknown_81161A8
-_0809B91C:
- ldr r0, [r6]
- ldr r3, _0809B93C
- adds r0, r3
- ldr r0, [r0]
- bl sub_801D014
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809B940
-_0809B932:
- str r1, [r0]
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
- .align 2, 0
-_0809B93C: .4byte 0x0000042c
-_0809B940: .4byte gUnknown_81161B8
-_0809B944:
- bl sub_809B294
- ldr r4, _0809B984
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809B998
- bl sub_809B294
- ldr r0, [r4]
- ldr r3, _0809B988
- adds r0, r3
- ldr r0, [r0]
- ldr r1, _0809B98C
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809B990
- ldr r0, [r4]
-_0809B972:
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809B978:
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl _0809C392
- .align 2, 0
-_0809B984: .4byte gUnknown_3001B64
-_0809B988: .4byte 0x0000042c
-_0809B98C: .4byte gUnknown_811610C
-_0809B990:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809B998:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809B9A6:
- bl sub_8015198
- ldr r1, [r4]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- bl sub_80151A4
- bl _0809C392
-_0809B9BC:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80151A4
- bl _0809C392
-_0809B9D2:
- bl sub_809B294
- ldr r4, _0809BA08
- ldr r0, [r4]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA1C
- bl sub_809B294
- ldr r0, [r4]
- ldr r2, _0809BA0C
- adds r0, r2
- ldr r0, [r0]
- ldr r1, _0809BA10
- bl sub_8015080
- lsls r0, 24
- cmp r0, 0
- bne _0809BA14
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA08: .4byte gUnknown_3001B64
-_0809BA0C: .4byte 0x0000042c
-_0809BA10: .4byte gUnknown_811612C
-_0809BA14:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA1C:
- bl sub_801516C
- cmp r0, 0x2
- beq _0809B9BC
- cmp r0, 0x3
- beq _0809B9A6
- b _0809B784
-_0809BA2A:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BA68
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BA5C
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x3
- bl sub_80211AC
- lsls r0, 24
- cmp r0, 0
- bne _0809BA60
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BA5C: .4byte 0x00000424
-_0809BA60:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BA68:
- movs r0, 0x1
- bl sub_8021274
- cmp r0, 0x2
- beq _0809BA92
- cmp r0, 0x3
- beq _0809BA78
- b _0809B784
-_0809BA78:
- bl sub_802132C
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1]
- bl sub_80213A0
- bl _0809C392
-_0809BA92:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_80213A0
- bl _0809C392
-_0809BAA8:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB10
- movs r0, 0
- movs r1, 0x12
- bl sub_8001658
- lsls r0, 16
- asrs r0, 16
- bl sub_80A2654
- lsls r0, 16
- asrs r4, r0, 16
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_802F73C
- lsls r0, 24
- cmp r0, 0
- bne _0809BAEA
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
-_0809BAEA:
- movs r5, 0x1
- negs r5, r5
- cmp r4, r5
- beq _0809BB08
- adds r0, r4, 0
- bl sub_802F848
- lsls r0, 24
- cmp r0, 0
- bne _0809BB08
- movs r0, 0
- movs r1, 0x12
- adds r2, r5, 0
- bl sub_80018D8
-_0809BB08:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB10:
- movs r0, 0x1
- bl sub_802F8A0
- cmp r0, 0x2
- beq _0809BB50
- cmp r0, 0x3
- beq _0809BB20
- b _0809B784
-_0809BB20:
- bl sub_802F90C
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80A26B8
- adds r2, r0, 0
- lsls r2, 16
- asrs r2, 16
- movs r0, 0
- movs r1, 0x12
- bl sub_80018D8
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- str r4, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB50:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802F974
- bl _0809C392
-_0809BB66:
- ldr r0, [r6]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BB9A
- bl sub_809B294
- movs r0, 0x3
- movs r1, 0
- movs r2, 0xA
- bl sub_80302E8
- lsls r0, 24
- cmp r0, 0
- bne _0809BB92
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
-_0809BB92:
- movs r0, 0x4
- bl sub_80119D4
- b _0809B784
-_0809BB9A:
- movs r0, 0x1
- bl sub_80303AC
- cmp r0, 0x2
- beq _0809BBC4
- cmp r0, 0x3
- beq _0809BBAA
- b _0809B784
-_0809BBAA:
- bl sub_8030418
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_8030480
- bl _0809C392
-_0809BBC4:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_8030480
- bl _0809C392
-_0809BBDA:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BC14
- bl sub_809B294
- ldr r0, [r6]
- ldr r2, _0809BC10
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0xE
- bne _0809BC02
- movs r0, 0
- movs r1, 0x18
- movs r2, 0x1
- bl sub_80018D8
-_0809BC02:
- movs r0, 0x1
- bl sub_8011C28
- movs r0, 0
- bl sub_8012574
- b _0809B784
- .align 2, 0
-_0809BC10: .4byte 0x00000414
-_0809BC14:
- bl sub_8012600
- lsls r0, 24
- cmp r0, 0
- beq _0809BC20
- b _0809B784
-_0809BC20:
- bl sub_8012750
- b _0809C392
-_0809BC26:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8016C94
- lsls r0, 24
- cmp r0, 0
- beq _0809BC5C
- ldr r0, _0809BC54
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BC58
- b _0809C266
- .align 2, 0
-_0809BC54: .4byte gUnknown_3001B64
-_0809BC58: .4byte gUnknown_81161C8
-_0809BC5C:
- ldr r0, _0809BC64
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BC64: .4byte gUnknown_3001B64
-_0809BC68:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BC74
- b _0809C266
- .align 2, 0
-_0809BC74: .4byte gUnknown_81161D8
-_0809BC78:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_80162E4
- lsls r0, 24
- cmp r0, 0
- beq _0809BCB0
- ldr r0, _0809BCA8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BCAC
- b _0809C266
- .align 2, 0
-_0809BCA8: .4byte gUnknown_3001B64
-_0809BCAC: .4byte gUnknown_81161E8
-_0809BCB0:
- ldr r0, _0809BCB8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BCB8: .4byte gUnknown_3001B64
-_0809BCBC:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809B294
- ldr r0, _0809BCE0
- ldr r0, [r0]
- ldr r2, _0809BCE4
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x17
- bne _0809BCE8
- negs r0, r4
- orrs r0, r4
- lsrs r0, 31
- b _0809BCF0
- .align 2, 0
-_0809BCE0: .4byte gUnknown_3001B64
-_0809BCE4: .4byte 0x00000414
-_0809BCE8:
- movs r0, 0x2
- cmp r4, 0
- beq _0809BCF0
- movs r0, 0x3
-_0809BCF0:
- bl sub_8018B00
- lsls r0, 24
- cmp r0, 0
- beq _0809BD10
- ldr r0, _0809BD08
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BD0C
- b _0809C266
- .align 2, 0
-_0809BD08: .4byte gUnknown_3001B64
-_0809BD0C: .4byte gUnknown_81161F8
-_0809BD10:
- ldr r0, _0809BD18
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809BD18: .4byte gUnknown_3001B64
-_0809BD1C:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_801FB50
- lsls r0, 24
- cmp r0, 0
- beq _0809BD54
- ldr r0, _0809BD4C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BD50
- b _0809C266
- .align 2, 0
-_0809BD4C: .4byte gUnknown_3001B64
-_0809BD50: .4byte gUnknown_8116208
-_0809BD54:
- ldr r0, _0809BD60
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BD60: .4byte gUnknown_3001B64
-_0809BD64:
- ldr r0, [r6]
- movs r1, 0x84
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809BD84
- bl sub_809B294
- movs r0, 0
- movs r1, 0x39
- bl sub_80015C0
- bl sub_802465C
- b _0809B784
-_0809BD84:
- bl sub_80246F0
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0x39
- bl sub_8001658
- cmp r0, 0
- bne _0809BDB2
- bl sub_80247B4
- lsls r0, 24
- cmp r0, 0
- beq _0809BDB2
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- movs r0, 0x46
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809BDB2:
- cmp r4, 0x3
- bne _0809BDCC
- bl sub_80247C0
- ldr r0, _0809BDC8
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809C1BC
- .align 2, 0
-_0809BDC8: .4byte gUnknown_3001B64
-_0809BDCC:
- cmp r4, 0x2
- beq _0809BDD2
- b _0809B784
-_0809BDD2:
- bl sub_80247C0
- ldr r0, _0809BDE4
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B828
- .align 2, 0
-_0809BDE4: .4byte gUnknown_3001B64
-_0809BDE8:
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- lsrs r4, 31
- bl sub_809B294
- adds r0, r4, 0
- bl sub_8021B9C
- lsls r0, 24
- cmp r0, 0
- beq _0809BE20
- ldr r0, _0809BE18
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE1C
- b _0809C266
- .align 2, 0
-_0809BE18: .4byte gUnknown_3001B64
-_0809BE1C: .4byte gUnknown_8116218
-_0809BE20:
- ldr r0, _0809BE2C
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809BE2C: .4byte gUnknown_3001B64
-_0809BE30:
- ldr r0, [r6]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BE3C
- b _0809C266
- .align 2, 0
-_0809BE3C: .4byte gUnknown_8116228
-_0809BE40:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE4C
- b _0809C266
- .align 2, 0
-_0809BE4C: .4byte gUnknown_8116238
-_0809BE50:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BE5C
- b _0809C266
- .align 2, 0
-_0809BE5C: .4byte gUnknown_8116248
-_0809BE60:
- bl sub_809B294
- movs r0, 0x98
- lsls r0, 1
- bl sub_80314B4
- lsls r0, 24
- cmp r0, 0
- bne _0809BE84
- ldr r0, _0809BE80
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- b _0809B978
- .align 2, 0
-_0809BE80: .4byte gUnknown_3001B64
-_0809BE84:
- ldr r0, _0809BE94
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809BE98
- b _0809C266
- .align 2, 0
-_0809BE94: .4byte gUnknown_3001B64
-_0809BE98: .4byte gUnknown_8116258
-_0809BE9C:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BEB0
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BEB4
- b _0809C266
- .align 2, 0
-_0809BEB0: .4byte gUnknown_3001B64
-_0809BEB4: .4byte gUnknown_8116268
-_0809BEB8:
- movs r0, 0x4
- bl sub_80119D4
- ldr r0, _0809BECC
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809BED0
- b _0809C266
- .align 2, 0
-_0809BECC: .4byte gUnknown_3001B64
-_0809BED0: .4byte gUnknown_8116278
-_0809BED4:
- mov r0, sp
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- beq _0809BF4E
- add r1, sp, 0x4
- add r2, sp, 0x8
- movs r0, 0x2
- bl sub_8001B88
- ldr r0, [sp, 0x8]
- cmp r0, 0x7
- bgt _0809BF4E
- add r4, sp, 0xC
-_0809BEF2:
- lsls r1, r0, 24
- lsrs r1, 24
- mov r0, sp
- ldrb r2, [r0]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809BF44
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BF40
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r2, r0, r1
- ldrh r1, [r4, 0x2]
- lsls r1, 16
- asrs r1, 16
- negs r0, r1
- orrs r0, r1
- lsrs r1, r0, 31
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0809BF30
- adds r1, 0x2
-_0809BF30:
- str r1, [r2]
- cmp r1, 0
- beq _0809BF38
- b _0809C392
-_0809BF38:
- movs r0, 0x3
- str r0, [r2]
- b _0809C392
- .align 2, 0
-_0809BF40: .4byte gUnknown_3001B64
-_0809BF44:
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- str r0, [sp, 0x8]
- cmp r0, 0x7
- ble _0809BEF2
-_0809BF4E:
- ldr r0, _0809BF6C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- bl sub_8096BD0
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_8001BB4
- b _0809C392
- .align 2, 0
-_0809BF6C: .4byte gUnknown_3001B64
-_0809BF70:
- mov r5, sp
- adds r5, 0x1
- adds r0, r5, 0
- bl sub_8099328
- lsls r0, 24
- cmp r0, 0
- bne _0809BF82
- b _0809C392
-_0809BF82:
- add r1, sp, 0x14
- add r2, sp, 0x18
- movs r0, 0x2
- bl sub_8001B88
- add r4, sp, 0x1C
- ldr r1, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r5]
- adds r0, r4, 0
- bl sub_8096AF8
- ldrb r0, [r4]
- cmp r0, 0
- bne _0809BFA4
- b _0809C392
-_0809BFA4:
- ldr r0, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5]
- bl sub_802DB28
- lsls r0, 24
- cmp r0, 0
- bne _0809BFB8
- b _0809C392
-_0809BFB8:
- movs r0, 0
- movs r1, 0x19
- bl sub_8001658
- cmp r0, 0x63
- bgt _0809BFCE
- adds r2, r0, 0x1
- movs r0, 0
- movs r1, 0x19
- bl sub_80018D8
-_0809BFCE:
- movs r0, 0
- movs r1, 0x39
- movs r2, 0x1
- bl sub_80018D8
- ldr r1, [sp, 0x14]
- ldr r2, [sp, 0x18]
- adds r2, 0x1
- movs r0, 0x2
- bl sub_8001BB4
- ldr r0, _0809BFF4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809BFF8
- b _0809C266
- .align 2, 0
-_0809BFF4: .4byte gUnknown_3001B64
-_0809BFF8: .4byte gUnknown_8116288
-_0809BFFC:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C036
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- lsrs r0, 24
- negs r4, r0
- orrs r4, r0
- asrs r4, 31
- movs r0, 0x4
- ands r4, r0
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C032
- bl _0809B784
-_0809C032:
- ldr r0, [r6]
- b _0809B972
-_0809C036:
- bl sub_802FE58
- cmp r0, 0x2
- beq _0809C05E
- cmp r0, 0x3
- beq _0809C046
- bl _0809B784
-_0809C046:
- bl sub_802FED0
- ldr r1, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- str r0, [r1]
- bl sub_802FEE0
- b _0809C392
-_0809C05E:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_802FEE0
- b _0809C392
-_0809C072:
- movs r4, 0x1
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C082
- movs r4, 0x5
-_0809C082:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0A8
- ldr r0, _0809C0A0
- ldr r0, [r0]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C0A4
- b _0809C266
- .align 2, 0
-_0809C0A0: .4byte gUnknown_3001B64
-_0809C0A4: .4byte gUnknown_8116298
-_0809C0A8:
- ldr r0, _0809C0B4
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- b _0809B978
- .align 2, 0
-_0809C0B4: .4byte gUnknown_3001B64
-_0809C0B8:
- movs r4, 0x2
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C0C8
- movs r4, 0x6
-_0809C0C8:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C0F0
- ldr r0, _0809C0E8
- ldr r0, [r0]
- movs r3, 0x83
- lsls r3, 3
- adds r0, r3
- ldr r1, _0809C0EC
- b _0809C266
- .align 2, 0
-_0809C0E8: .4byte gUnknown_3001B64
-_0809C0EC: .4byte gUnknown_81162A8
-_0809C0F0:
- ldr r0, _0809C0F8
- ldr r0, [r0]
- b _0809B972
- .align 2, 0
-_0809C0F8: .4byte gUnknown_3001B64
-_0809C0FC:
- movs r4, 0x3
- movs r0, 0x4
- bl sub_80023E4
- lsls r0, 24
- cmp r0, 0
- beq _0809C10C
- movs r4, 0x7
-_0809C10C:
- bl sub_809B294
- adds r0, r4, 0
- bl sub_802FD14
- lsls r0, 24
- cmp r0, 0
- beq _0809C134
- ldr r0, _0809C12C
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C130
- b _0809C266
- .align 2, 0
-_0809C12C: .4byte gUnknown_3001B64
-_0809C130: .4byte gUnknown_81162B8
-_0809C134:
- ldr r0, _0809C144
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C144: .4byte gUnknown_3001B64
-_0809C148:
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C154
- b _0809C266
- .align 2, 0
-_0809C154: .4byte gUnknown_81162C8
-_0809C158:
- ldr r0, [r6]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C164
- b _0809C266
- .align 2, 0
-_0809C164: .4byte gUnknown_81162D8
-_0809C168:
- bl sub_809B294
- bl sub_803B050
- lsls r0, 24
- cmp r0, 0
- beq _0809C1A0
- ldr r4, _0809C194
- ldr r0, [r4]
- ldr r3, _0809C198
- adds r0, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_803B100
- ldr r0, [r4]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C19C
- b _0809C266
- .align 2, 0
-_0809C194: .4byte gUnknown_3001B64
-_0809C198: .4byte 0x000005a4
-_0809C19C: .4byte gUnknown_81162E8
-_0809C1A0:
- ldr r0, _0809C1B0
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C1B0: .4byte gUnknown_3001B64
-_0809C1B4:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
-_0809C1BC:
- movs r1, 0x1
- str r1, [r0]
- b _0809C392
-_0809C1C2:
- bl sub_809B294
- b _0809C392
-_0809C1C8:
- movs r0, 0x2
- bl sub_80252F0
- lsls r0, 24
- cmp r0, 0
- beq _0809C1EC
- ldr r0, _0809C1E4
- ldr r0, [r0]
- movs r2, 0x83
- lsls r2, 3
- adds r0, r2
- ldr r1, _0809C1E8
- b _0809C266
- .align 2, 0
-_0809C1E4: .4byte gUnknown_3001B64
-_0809C1E8: .4byte gUnknown_81162F8
-_0809C1EC:
- ldr r0, _0809C200
- ldr r0, [r0]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- movs r1, 0x2
- negs r1, r1
- str r1, [r0]
- b _0809C392
- .align 2, 0
-_0809C200: .4byte gUnknown_3001B64
-_0809C204:
- ldr r1, [r6]
- ldr r2, _0809C230
- adds r0, r1, r2
- ldr r0, [r0]
- movs r3, 0x85
- lsls r3, 3
- adds r1, r3
- ldr r1, [r1]
- bl sub_809CCDC
- ldr r1, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r2, r1, r3
- str r0, [r2]
- movs r0, 0x83
- lsls r0, 3
- adds r1, r0
- ldr r0, _0809C234
- str r0, [r1]
- bl _0809B784
- .align 2, 0
-_0809C230: .4byte 0x00000424
-_0809C234: .4byte gUnknown_8116308
-_0809C238:
- ldr r0, [r6]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r0, r2
- ldr r5, [r1]
- ldr r3, _0809C26C
- adds r0, r3
- ldrb r4, [r0]
- bl sub_809B294
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl sub_801B60C
- lsls r0, 24
- cmp r0, 0
- beq _0809C274
- ldr r0, [r6]
- movs r1, 0x83
- lsls r1, 3
- adds r0, r1
- ldr r1, _0809C270
-_0809C266:
- str r1, [r0]
- bl _0809B784
- .align 2, 0
-_0809C26C: .4byte 0x00000424
-_0809C270: .4byte gUnknown_8116318
-_0809C274:
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- bl _0809B978
-_0809C280:
- ldr r0, [r6]
- movs r3, 0x84
- lsls r3, 3
- adds r0, r3
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C2B8
- bl sub_809B294
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl sub_800641C
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0xA
- bl sub_801A5D8
- lsls r0, 24
- cmp r0, 0
- beq _0809C2B2
- bl _0809B784
-_0809C2B2:
- ldr r0, [r6]
- bl _0809B972
-_0809C2B8:
- movs r0, 0x1
- bl sub_801A6E8
- cmp r0, 0x2
- beq _0809C320
- cmp r0, 0x3
- beq _0809C2CA
- bl _0809B784
-_0809C2CA:
- bl sub_801A8AC
- adds r5, r0, 0
- ldr r0, _0809C304
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, r1
- ldrb r4, [r0, 0x2]
- adds r0, r4, 0
- bl sub_8091570
- lsls r0, 24
- cmp r0, 0
- beq _0809C30C
- ldr r0, _0809C308
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090DC4
- adds r0, r5, 0
- bl sub_80911F8
- ldr r0, [r6]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- movs r1, 0x1
- b _0809C318
- .align 2, 0
-_0809C304: .4byte gUnknown_203B460
-_0809C308: .4byte gUnknown_202DE58
-_0809C30C:
- ldr r0, [r6]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
-_0809C314:
- movs r1, 0x1
- negs r1, r1
-_0809C318:
- str r1, [r0]
- bl sub_801A928
- b _0809C392
-_0809C320:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- b _0809C314
-_0809C32A:
- adds r4, r6, 0
- ldr r0, [r4]
- movs r2, 0x84
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0x1
- bne _0809C36C
- bl sub_809B294
- ldr r1, [r4]
- ldr r3, _0809C368
- adds r0, r1, r3
- ldr r0, [r0]
- movs r2, 0x85
- lsls r2, 3
- adds r1, r2
- ldr r1, [r1]
- bl sub_8035444
- lsls r0, 24
- cmp r0, 0
- beq _0809C35C
- bl _0809B784
-_0809C35C:
- ldr r0, [r4]
- movs r3, 0x86
- lsls r3, 3
- adds r0, r3
- bl _0809B978
- .align 2, 0
-_0809C368: .4byte 0x00000424
-_0809C36C:
- bl sub_8035574
- cmp r0, 0x3
- bls _0809C378
- bl _0809B784
-_0809C378:
- cmp r0, 0x2
- bcs _0809C380
- bl _0809B784
-_0809C380:
- ldr r0, [r6]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
- bl sub_803565C
-_0809C392:
- movs r0, 0
-_0809C394:
- add sp, 0x24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809B648
-
- thumb_func_start sub_809C39C
-sub_809C39C:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C3D4
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C3CC
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C3CC:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C3D4: .4byte gUnknown_3001B64
- thumb_func_end sub_809C39C
-
- thumb_func_start sub_809C3D8
-sub_809C3D8:
- push {lr}
- bl sub_801D178
- ldr r1, _0809C410
- ldr r1, [r1]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r2
- str r0, [r1]
- cmp r0, 0x3
- bne _0809C408
- bl sub_801D1D4
- lsls r0, 24
- lsrs r0, 24
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
-_0809C408:
- bl sub_801D1E0
- pop {r0}
- bx r0
- .align 2, 0
-_0809C410: .4byte gUnknown_3001B64
- thumb_func_end sub_809C3D8
-
- thumb_func_start sub_809C414
-sub_809C414:
- push {lr}
- bl sub_802540C
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0809C448
- ldr r0, _0809C444
- ldr r0, [r0]
- movs r2, 0x86
- lsls r2, 3
- adds r0, r2
- str r1, [r0]
- adds r0, r1, 0
- bl sub_8002694
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1
- negs r2, r2
- movs r1, 0
- bl sub_8098D1C
- b _0809C458
- .align 2, 0
-_0809C444: .4byte gUnknown_3001B64
-_0809C448:
- ldr r0, _0809C460
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C458:
- bl sub_8025418
- pop {r0}
- bx r0
- .align 2, 0
-_0809C460: .4byte gUnknown_3001B64
- thumb_func_end sub_809C414
-
- thumb_func_start sub_809C464
-sub_809C464:
- push {lr}
- bl sub_803C850
- bl sub_8001064
- bl sub_809965C
- pop {r0}
- bx r0
- thumb_func_end sub_809C464
-
- thumb_func_start sub_809C478
-sub_809C478:
- push {lr}
- sub sp, 0x8
- bl sub_80356A0
- cmp r0, 0x3
- bne _0809C492
- ldr r0, _0809C4AC
- bl sub_8011988
- bl InitFlash
- bl ClearFlashData
-_0809C492:
- bl sub_8035758
- add r2, sp, 0x4
- movs r0, 0x3
- mov r1, sp
- bl sub_8001B88
- movs r0, 0
- bl sub_80993C0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4AC: .4byte 0x00000313
- thumb_func_end sub_809C478
-
- thumb_func_start sub_809C4B0
-sub_809C4B0:
- push {r4,r5,lr}
- movs r4, 0x1
- negs r4, r4
- ldr r5, _0809C4FC
- ldr r0, [r5]
- movs r2, 0x86
- lsls r2, 3
- adds r1, r0, r2
- ldr r0, [r1]
- cmp r0, 0
- bne _0809C4DE
- bl sub_803B168
- lsls r0, 16
- ldr r1, [r5]
- ldr r3, _0809C500
- adds r2, r1, r3
- asrs r4, r0, 16
- lsrs r0, 16
- strh r0, [r2]
- movs r0, 0x86
- lsls r0, 3
- adds r1, r0
-_0809C4DE:
- str r4, [r1]
- bl sub_803B1BC
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- beq _0809C4F4
- adds r0, r4, 0
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809C4F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C4FC: .4byte gUnknown_3001B64
-_0809C500: .4byte 0x000005a4
- thumb_func_end sub_809C4B0
-
- thumb_func_start sub_809C504
-sub_809C504:
- push {r4,lr}
- sub sp, 0x4
- mov r0, sp
- bl sub_80282DC
- adds r4, r0, 0
- cmp r4, 0x1
- bne _0809C530
- mov r0, sp
- ldrb r0, [r0]
- bl sub_809927C
- ldr r0, _0809C52C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r4, [r0]
- b _0809C540
- .align 2, 0
-_0809C52C: .4byte gUnknown_3001B64
-_0809C530:
- ldr r0, _0809C54C
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- movs r1, 0x1
- negs r1, r1
- str r1, [r0]
-_0809C540:
- bl sub_80282FC
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C54C: .4byte gUnknown_3001B64
- thumb_func_end sub_809C504
-
- thumb_func_start sub_809C550
-sub_809C550:
- push {r4,r5,lr}
- bl sub_802E90C
- adds r4, r0, 0
- movs r5, 0
- bl sub_802E918
- cmp r4, 0x2
- beq _0809C586
- cmp r4, 0x2
- bhi _0809C56C
- cmp r4, 0x1
- beq _0809C572
- b _0809C5AC
-_0809C56C:
- cmp r4, 0x3
- beq _0809C59A
- b _0809C5AC
-_0809C572:
- movs r0, 0x4
- movs r1, 0x1D
- movs r2, 0x3
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x1
- b _0809C5AC
-_0809C586:
- movs r0, 0x4
- movs r1, 0x1F
- movs r2, 0x2
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x2
- b _0809C5AC
-_0809C59A:
- movs r0, 0xB
- movs r1, 0x33
- movs r2, 0x8
- bl sub_8001CC4
- lsls r0, 24
- cmp r0, 0
- beq _0809C5AC
- movs r5, 0x3
-_0809C5AC:
- ldr r0, _0809C5C0
- ldr r0, [r0]
- movs r1, 0x86
- lsls r1, 3
- adds r0, r1
- str r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C5C0: .4byte gUnknown_3001B64
- thumb_func_end sub_809C550
-
- thumb_func_start sub_809C5C4
-sub_809C5C4:
- push {r4,lr}
- ldr r4, _0809C610
- movs r0, 0x24
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r3, 0
- strh r2, [r0, 0x8]
- strh r2, [r0, 0xA]
- strb r3, [r0, 0xD]
- ldr r0, [r4]
- strb r3, [r0, 0xE]
- ldr r1, [r4]
- str r2, [r1, 0x10]
- ldr r0, _0809C614
- strh r0, [r1, 0x14]
- movs r0, 0x23
- strh r0, [r1, 0x16]
- strb r3, [r1, 0x18]
- ldr r1, [r4]
- movs r0, 0x3F
- strb r0, [r1, 0x19]
- ldr r0, [r4]
- str r2, [r0, 0x1C]
- adds r0, 0x20
- strb r3, [r0]
- bl nullsub_107
- bl sub_809C63C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C610: .4byte gUnknown_3001B68
-_0809C614: .4byte 0x0000ffff
- thumb_func_end sub_809C5C4
-
- thumb_func_start sub_809C618
-sub_809C618:
- push {r4,lr}
- bl sub_809C63C
- bl nullsub_107
- bl nullsub_108
- ldr r4, _0809C638
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C638: .4byte gUnknown_3001B68
- thumb_func_end sub_809C618
-
- thumb_func_start sub_809C63C
-sub_809C63C:
- push {lr}
- bl nullsub_108
- ldr r0, _0809C654
- ldr r0, [r0]
- movs r1, 0
- str r1, [r0, 0x1C]
- adds r0, 0x20
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_0809C654: .4byte gUnknown_3001B68
- thumb_func_end sub_809C63C
-
- thumb_func_start sub_809C658
-sub_809C658:
- push {lr}
- ldr r0, _0809C670
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809C6C8
- lsls r0, 2
- ldr r1, _0809C674
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C670: .4byte gUnknown_3001B68
-_0809C674: .4byte _0809C678
- .align 2, 0
-_0809C678:
- .4byte _0809C6C0
- .4byte _0809C6C0
- .4byte _0809C6AC
- .4byte _0809C690
- .4byte _0809C69E
- .4byte _0809C6B6
-_0809C690:
- bl nullsub_111
- bl nullsub_112
- bl nullsub_113
- b _0809C6C8
-_0809C69E:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809C6C8
-_0809C6AC:
- bl nullsub_109
- bl nullsub_110
- b _0809C6C8
-_0809C6B6:
- bl nullsub_107
- bl nullsub_108
- b _0809C6C8
-_0809C6C0:
- bl nullsub_107
- bl nullsub_108
-_0809C6C8:
- pop {r0}
- bx r0
- thumb_func_end sub_809C658
-
- thumb_func_start sub_809C6CC
-sub_809C6CC:
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0809C6E8
- ldr r1, [r0]
- ldrh r0, [r1, 0x8]
- cmp r0, r2
- beq _0809C6E2
- movs r0, 0
- strh r2, [r1, 0x8]
- strb r0, [r1, 0xE]
-_0809C6E2:
- pop {r0}
- bx r0
- .align 2, 0
-_0809C6E8: .4byte gUnknown_3001B68
- thumb_func_end sub_809C6CC
-
- thumb_func_start sub_809C6EC
-sub_809C6EC:
- push {lr}
- bl sub_8098F88
- lsls r0, 24
- cmp r0, 0
- bne _0809C718
- ldr r0, _0809C70C
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809C710
- movs r0, 0x4
- bl sub_809C6CC
- b _0809C71E
- .align 2, 0
-_0809C70C: .4byte gUnknown_203B46C
-_0809C710:
- movs r0, 0x3
- bl sub_809C6CC
- b _0809C71E
-_0809C718:
- movs r0, 0x5
- bl sub_809C6CC
-_0809C71E:
- pop {r0}
- bx r0
- thumb_func_end sub_809C6EC
-
- thumb_func_start sub_809C724
-sub_809C724:
- ldr r0, _0809C72C
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- bx lr
- .align 2, 0
-_0809C72C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C724
-
- thumb_func_start sub_809C730
-sub_809C730:
- push {lr}
- bl sub_809C740
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_809C730
-
- thumb_func_start sub_809C740
-sub_809C740:
- push {lr}
- ldr r0, _0809C750
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r0, 0
- beq _0809C754
- movs r0, 0
- b _0809C756
- .align 2, 0
-_0809C750: .4byte gUnknown_3001B68
-_0809C754:
- movs r0, 0x1
-_0809C756:
- pop {r1}
- bx r1
- thumb_func_end sub_809C740
-
- thumb_func_start nullsub_104
-nullsub_104:
- bx lr
- thumb_func_end nullsub_104
-
- thumb_func_start sub_809C760
-sub_809C760:
- ldr r0, _0809C76C
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xE]
- bx lr
- .align 2, 0
-_0809C76C: .4byte gUnknown_3001B68
- thumb_func_end sub_809C760
-
- thumb_func_start sub_809C770
-sub_809C770:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
- lsls r1, 16
- asrs r6, r1, 16
- ldr r4, _0809C790
- ldr r1, [r4]
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- beq _0809C794
- movs r0, 0
- strb r0, [r1, 0xE]
- b _0809CA10
- .align 2, 0
-_0809C790: .4byte gUnknown_3001B68
-_0809C794:
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- bne _0809C79E
- bl sub_809C6EC
-_0809C79E:
- ldr r0, [r4]
- ldrb r5, [r0, 0x18]
- ldrb r7, [r0, 0x19]
- cmp r6, 0x26
- bls _0809C7AA
- b _0809C8C8
-_0809C7AA:
- lsls r0, r6, 2
- ldr r1, _0809C7B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C7B4: .4byte _0809C7B8
- .align 2, 0
-_0809C7B8:
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C854
- .4byte _0809C868
- .4byte _0809C868
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C8C8
- .4byte _0809C86E
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C854:
- mov r0, r8
- bl sub_8002658
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _0809C864
- b _0809CA10
-_0809C864:
- movs r4, 0x1
- b _0809C988
-_0809C868:
- movs r4, 0x1
- movs r5, 0
- b _0809C988
-_0809C86E:
- mov r0, r8
- subs r0, 0xA4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bls _0809C87C
- b _0809CA10
-_0809C87C:
- lsls r0, 2
- ldr r1, _0809C888
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C888: .4byte _0809C88C
- .align 2, 0
-_0809C88C:
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809CA10
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
- .4byte _0809C8C4
-_0809C8C4:
- movs r4, 0
- b _0809C988
-_0809C8C8:
- adds r0, r6, 0
- subs r0, 0xC
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x16
- bhi _0809C968
- lsls r0, 2
- ldr r1, _0809C8E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C8E0: .4byte _0809C8E4
- .align 2, 0
-_0809C8E4:
- .4byte _0809C968
- .4byte _0809C940
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C968
- .4byte _0809C944
- .4byte _0809C944
- .4byte _0809C948
- .4byte _0809C948
- .4byte _0809C94C
- .4byte _0809C968
- .4byte _0809C950
- .4byte _0809C950
- .4byte _0809C954
- .4byte _0809C954
- .4byte _0809C958
- .4byte _0809C958
- .4byte _0809C95C
- .4byte _0809C95C
- .4byte _0809C960
- .4byte _0809C960
- .4byte _0809C964
-_0809C940:
- movs r1, 0
- b _0809C974
-_0809C944:
- movs r1, 0x7
- b _0809C974
-_0809C948:
- movs r1, 0x9
- b _0809C974
-_0809C94C:
- movs r1, 0xA
- b _0809C974
-_0809C950:
- movs r1, 0xB
- b _0809C974
-_0809C954:
- movs r1, 0xD
- b _0809C974
-_0809C958:
- movs r1, 0xF
- b _0809C974
-_0809C95C:
- movs r1, 0x11
- b _0809C974
-_0809C960:
- movs r1, 0x13
- b _0809C974
-_0809C964:
- movs r1, 0x20
- b _0809C974
-_0809C968:
- movs r0, 0
- movs r1, 0x13
- bl sub_8001658
- lsls r0, 16
- asrs r1, r0, 16
-_0809C974:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809CA10
- adds r0, r1, 0
- bl sub_80A2740
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0x2
-_0809C988:
- ldr r0, _0809C99C
- ldr r2, [r0]
- ldr r1, [r2, 0x10]
- adds r3, r0, 0
- cmp r1, r4
- beq _0809C9A0
- movs r0, 0x2
- str r0, [r2]
- b _0809C9DE
- .align 2, 0
-_0809C99C: .4byte gUnknown_3001B68
-_0809C9A0:
- cmp r4, 0x1
- bne _0809C9CC
- ldrb r0, [r2, 0x18]
- cmp r5, r0
- bne _0809C9B2
- movs r1, 0x14
- ldrsh r0, [r2, r1]
- cmp r0, r8
- beq _0809C9BC
-_0809C9B2:
- strb r4, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r4, [r0]
- b _0809C9E8
-_0809C9BC:
- cmp r5, 0
- bne _0809C9E8
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
- strb r4, [r2, 0xC]
- b _0809C9E8
-_0809C9CC:
- cmp r4, 0x2
- bne _0809C9E8
- ldrb r0, [r2, 0x19]
- cmp r7, r0
- bne _0809C9DE
- movs r1, 0x16
- ldrsh r0, [r2, r1]
- cmp r0, r6
- beq _0809C9E8
-_0809C9DE:
- movs r1, 0x1
- strb r1, [r2, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r1, [r0]
-_0809C9E8:
- ldr r1, [r3]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CA10
- str r4, [r1, 0x10]
- movs r2, 0
- mov r0, r8
- strh r0, [r1, 0x14]
- strh r6, [r1, 0x16]
- strb r5, [r1, 0x18]
- ldr r0, [r3]
- strb r7, [r0, 0x19]
- ldr r1, [r3]
- ldrh r0, [r1, 0x8]
- cmp r0, 0x4
- beq _0809CA10
- strb r2, [r1, 0xC]
- ldr r0, [r3]
- adds r0, 0x20
- strb r2, [r0]
-_0809CA10:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809C770
-
- thumb_func_start nullsub_105
-nullsub_105:
- bx lr
- thumb_func_end nullsub_105
-
- thumb_func_start sub_809CA20
-sub_809CA20:
- push {lr}
- ldr r1, _0809CA74
- ldr r2, [r1]
- ldr r0, [r2]
- cmp r0, 0
- beq _0809CA38
- movs r0, 0
- str r0, [r2]
- movs r0, 0x1F
- str r0, [r2, 0x4]
- movs r0, 0x1
- strb r0, [r2, 0xC]
-_0809CA38:
- ldr r1, [r1]
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809CAE8
- ldrh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bne _0809CA5E
- ldr r2, [r1, 0x10]
- cmp r2, 0
- bne _0809CA5E
- movs r0, 0x2
- strh r0, [r1, 0xA]
- str r2, [r1, 0x1C]
- adds r1, 0x20
- movs r0, 0
- strb r0, [r1]
-_0809CA5E:
- ldr r0, _0809CA74
- ldr r0, [r0]
- ldrh r0, [r0, 0xA]
- cmp r0, 0x5
- bhi _0809CADA
- lsls r0, 2
- ldr r1, _0809CA78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CA74: .4byte gUnknown_3001B68
-_0809CA78: .4byte _0809CA7C
- .align 2, 0
-_0809CA7C:
- .4byte _0809CAD2
- .4byte _0809CAD2
- .4byte _0809CABE
- .4byte _0809CA94
- .4byte _0809CAB0
- .4byte _0809CAC8
-_0809CA94:
- bl nullsub_111
- bl nullsub_113
- bl nullsub_112
- ldr r0, _0809CAAC
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xD]
- b _0809CADA
- .align 2, 0
-_0809CAAC: .4byte gUnknown_3001B68
-_0809CAB0:
- bl nullsub_114
- bl nullsub_115
- bl nullsub_116
- b _0809CADA
-_0809CABE:
- bl nullsub_109
- bl nullsub_110
- b _0809CADA
-_0809CAC8:
- bl nullsub_107
- bl nullsub_108
- b _0809CADA
-_0809CAD2:
- bl nullsub_107
- bl nullsub_108
-_0809CADA:
- ldr r0, _0809CAE4
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0xC]
- b _0809CB1E
- .align 2, 0
-_0809CAE4: .4byte gUnknown_3001B68
-_0809CAE8:
- ldrh r0, [r1, 0xA]
- cmp r0, 0x5
- bhi _0809CB1E
- lsls r0, 2
- ldr r1, _0809CAF8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CAF8: .4byte _0809CAFC
- .align 2, 0
-_0809CAFC:
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB1E
- .4byte _0809CB14
- .4byte _0809CB1A
- .4byte _0809CB1E
-_0809CB14:
- bl nullsub_113
- b _0809CB1E
-_0809CB1A:
- bl nullsub_116
-_0809CB1E:
- pop {r0}
- bx r0
- thumb_func_end sub_809CA20
-
- thumb_func_start nullsub_106
-nullsub_106:
- bx lr
- thumb_func_end nullsub_106
-
- thumb_func_start nullsub_107
-nullsub_107:
- bx lr
- thumb_func_end nullsub_107
-
- thumb_func_start nullsub_108
-nullsub_108:
- bx lr
- thumb_func_end nullsub_108
-
- thumb_func_start nullsub_109
-nullsub_109:
- bx lr
- thumb_func_end nullsub_109
-
- thumb_func_start nullsub_110
-nullsub_110:
- bx lr
- thumb_func_end nullsub_110
-
- thumb_func_start nullsub_111
-nullsub_111:
- bx lr
- thumb_func_end nullsub_111
-
- thumb_func_start nullsub_112
-nullsub_112:
- bx lr
- thumb_func_end nullsub_112
-
- thumb_func_start nullsub_113
-nullsub_113:
- bx lr
- thumb_func_end nullsub_113
-
- thumb_func_start nullsub_114
-nullsub_114:
- bx lr
- thumb_func_end nullsub_114
-
- thumb_func_start nullsub_115
-nullsub_115:
- bx lr
- thumb_func_end nullsub_115
-
- thumb_func_start nullsub_116
-nullsub_116:
- bx lr
- thumb_func_end nullsub_116
-
- thumb_func_start sub_809CB50
-sub_809CB50:
- push {r4,lr}
- ldr r4, _0809CB70
- movs r0, 0xC
- movs r1, 0x6
- bl MemoryAlloc
- str r0, [r4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x4]
- movs r1, 0
- str r1, [r0, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB70: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB50
-
- thumb_func_start sub_809CB74
-sub_809CB74:
- push {r4,lr}
- ldr r4, _0809CB88
- ldr r0, [r4]
- bl MemoryFree
- movs r0, 0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CB88: .4byte gUnknown_20399E0
- thumb_func_end sub_809CB74
-
- thumb_func_start sub_809CB8C
-sub_809CB8C:
- push {lr}
- movs r0, 0
- movs r1, 0x3B
- bl sub_80015C0
- movs r0, 0
- movs r1, 0x3D
- bl sub_80015C0
- pop {r0}
- bx r0
- thumb_func_end sub_809CB8C
-
- thumb_func_start sub_809CBA4
-sub_809CBA4:
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_8091130
- cmp r0, 0
- bge _0809CBB6
- movs r0, 0
- b _0809CBB8
-_0809CBB6:
- movs r0, 0x1
-_0809CBB8:
- pop {r1}
- bx r1
- thumb_func_end sub_809CBA4
-
- thumb_func_start sub_809CBBC
-sub_809CBBC:
- push {r4-r7,lr}
- sub sp, 0x54
- adds r4, r0, 0
- adds r6, r1, 0
- adds r5, r2, 0
- adds r7, r3, 0
- ldrb r1, [r4]
- cmp r1, 0x69
- bne _0809CC20
- ldr r1, _0809CC0C
- movs r0, 0x2
- ldrsh r2, [r4, r0]
- ldr r0, _0809CC10
- ldr r0, [r0]
- movs r3, 0xD2
- lsls r3, 4
- adds r0, r3
- ldr r3, [r0]
- mov r0, sp
- bl sub_800D158
- ldr r0, _0809CC14
- ldr r0, [r0]
- movs r1, 0x98
- lsls r1, 2
- adds r2, r0, r1
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- ldr r0, [r2]
- adds r1, r0, r1
- ldr r0, _0809CC18
- cmp r1, r0
- ble _0809CC1C
- cmp r6, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r6, 0
- b _0809CC4A
- .align 2, 0
-_0809CC0C: .4byte gUnknown_81163E4
-_0809CC10: .4byte gItemParametersFile + 4
-_0809CC14: .4byte gUnknown_203B460
-_0809CC18: .4byte 0x0001869f
-_0809CC1C:
- str r1, [r2]
- b _0809CC5E
-_0809CC20:
- ldrb r0, [r4, 0x2]
- lsls r1, 16
- lsls r0, 8
- orrs r0, r1
- str r0, [sp, 0x50]
- add r4, sp, 0x50
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0
- bl sub_8090E14
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CC52
- cmp r5, 0
- beq _0809CC4E
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r5, 0
-_0809CC4A:
- bl sub_809AE90
-_0809CC4E:
- movs r0, 0
- b _0809CC82
-_0809CC52:
- ldrb r0, [r4, 0x2]
- movs r1, 0
- bl sub_809124C
- bl sub_80910B4
-_0809CC5E:
- cmp r7, 0
- beq _0809CC80
- ldr r0, _0809CC8C
- mov r1, sp
- bl strcpy
- movs r1, 0x1
- negs r1, r1
- movs r0, 0
- adds r2, r7, 0
- bl sub_809AE90
- movs r1, 0x80
- lsls r1, 1
- movs r0, 0xCB
- bl sub_8011974
-_0809CC80:
- movs r0, 0x1
-_0809CC82:
- add sp, 0x54
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CC8C: .4byte gUnknown_202DE58
- thumb_func_end sub_809CBBC
-
- thumb_func_start sub_809CC90
-sub_809CC90:
- push {lr}
- lsls r0, 2
- ldr r1, _0809CCBC
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0x69
- bne _0809CCC8
- ldr r0, _0809CCC0
- ldr r0, [r0]
- movs r2, 0x98
- lsls r2, 2
- adds r0, r2
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- ldr r0, [r0]
- adds r0, r1
- ldr r1, _0809CCC4
- cmp r0, r1
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
- .align 2, 0
-_0809CCBC: .4byte gUnknown_81163BC
-_0809CCC0: .4byte gUnknown_203B460
-_0809CCC4: .4byte 0x0001869f
-_0809CCC8:
- bl sub_8090A34
- cmp r0, 0x13
- ble _0809CCD4
- movs r0, 0x2
- b _0809CCD6
-_0809CCD4:
- movs r0, 0x1
-_0809CCD6:
- pop {r1}
- bx r1
- thumb_func_end sub_809CC90
-
- thumb_func_start sub_809CCDC
-sub_809CCDC:
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r1, r6, 2
- ldr r0, _0809CD20
- adds r5, r1, r0
- ldr r0, _0809CD24
- ldr r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r0, [r1, 0x4]
- movs r0, 0
- str r0, [r1, 0x8]
- movs r0, 0x2
- cmp r4, 0x63
- bgt _0809CD04
- movs r0, 0
- cmp r4, 0x1
- ble _0809CD04
- movs r0, 0x1
-_0809CD04:
- ldr r1, _0809CD28
- ldr r2, _0809CD2C
- ldr r3, _0809CD30
- lsls r0, 2
- adds r0, r3
- ldr r3, [r0]
- adds r0, r5, 0
- bl sub_809CBBC
- lsls r0, 24
- cmp r0, 0
- bne _0809CD34
- movs r0, 0x2
- b _0809CD3E
- .align 2, 0
-_0809CD20: .4byte gUnknown_81163BC
-_0809CD24: .4byte gUnknown_20399E0
-_0809CD28: .4byte gUnknown_81163F0
-_0809CD2C: .4byte gUnknown_811642C
-_0809CD30: .4byte gUnknown_203B4A0
-_0809CD34:
- ldr r0, _0809CD44
- ldr r0, [r0]
- str r6, [r0, 0x4]
- str r4, [r0, 0x8]
- movs r0, 0x1
-_0809CD3E:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CD44: .4byte gUnknown_20399E0
- thumb_func_end sub_809CCDC
-
- thumb_func_start sub_809CD48
-sub_809CD48:
- push {lr}
- bl sub_809A750
- lsls r0, 24
- cmp r0, 0
- bne _0809CD58
- movs r0, 0x3
- b _0809CD5A
-_0809CD58:
- movs r0, 0
-_0809CD5A:
- pop {r1}
- bx r1
- thumb_func_end sub_809CD48
-
- thumb_func_start nullsub_117
-nullsub_117:
- bx lr
- thumb_func_end nullsub_117
-
- thumb_func_start nullsub_118
-nullsub_118:
- bx lr
- thumb_func_end nullsub_118
-
- thumb_func_start sub_809CD68
-sub_809CD68:
- movs r2, 0
- str r2, [r0]
- str r2, [r0, 0x4]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- strb r2, [r0, 0x18]
- bx lr
- thumb_func_end sub_809CD68
-
- thumb_func_start sub_809CD7C
-sub_809CD7C:
- movs r2, 0
- str r2, [r0]
- movs r1, 0x1
- negs r1, r1
- str r1, [r0, 0x10]
- str r2, [r0, 0x14]
- str r2, [r0, 0x8]
- bx lr
- thumb_func_end sub_809CD7C
-
- thumb_func_start sub_809CD8C
-sub_809CD8C:
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0x5
- bne _0809CD9E
- bl sub_809CD68
- str r4, [r5]
- b _0809CDB0
-_0809CD9E:
- ldr r0, [r5, 0x4]
- cmp r0, r4
- beq _0809CDB0
- str r4, [r5, 0x4]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x10]
- movs r0, 0
- str r0, [r5, 0x14]
-_0809CDB0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809CD8C
-
- thumb_func_start sub_809CDB8
-sub_809CDB8:
- push {lr}
- adds r1, r0, 0
- ldr r0, [r1, 0x4]
- cmp r0, 0
- bne _0809CDC4
- ldr r0, [r1]
-_0809CDC4:
- pop {r1}
- bx r1
- thumb_func_end sub_809CDB8
-
- thumb_func_start sub_809CDC8
-sub_809CDC8:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- adds r7, r2, 0
- ldr r1, [sp, 0x24]
- movs r0, 0x1
- negs r0, r0
- str r0, [r3]
- ldr r0, [r4]
- cmp r0, 0x1
- beq _0809CDEA
- cmp r0, 0x2
- beq _0809CDFE
- b _0809CE12
-_0809CDEA:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- beq _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x2
- b _0809CE10
-_0809CDFE:
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- cmp r1, 0
- bne _0809CE12
- adds r0, r4, 0
- bl sub_809CD68
- movs r0, 0x1
-_0809CE10:
- str r0, [r4]
-_0809CE12:
- ldr r0, [r4, 0x4]
- mov r8, r0
- cmp r0, 0
- bne _0809CE1E
- ldr r1, [r4]
- mov r8, r1
-_0809CE1E:
- mov r0, r8
- subs r0, 0x1
- cmp r0, 0x6
- bls _0809CE28
- b _0809CFCC
-_0809CE28:
- lsls r0, 2
- ldr r1, _0809CE34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809CE34: .4byte _0809CE38
- .align 2, 0
-_0809CE38:
- .4byte _0809CE54
- .4byte _0809CF74
- .4byte _0809CFCC
- .4byte _0809CFCC
- .4byte _0809CECC
- .4byte _0809CF5C
- .4byte _0809CF5C
-_0809CE54:
- ldr r0, _0809CE70
- ldrh r2, [r0]
- ldrh r1, [r0, 0x2]
- movs r0, 0xF0
- ands r0, r2
- cmp r0, 0
- beq _0809CE74
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0809CEA4
- movs r0, 0
- b _0809CEA8
- .align 2, 0
-_0809CE70: .4byte gUnknown_20255F0
-_0809CE74:
- movs r3, 0x2
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _0809CE82
- movs r0, 0x14
- b _0809CEA8
-_0809CE82:
- ldr r0, [r4, 0x10]
- cmp r0, 0x1
- ble _0809CEA4
- subs r0, 0x1
- str r0, [r4, 0x10]
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- bne _0809CEAA
- movs r0, 0x13
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x5
- b _0809CFDA
-_0809CEA4:
- movs r0, 0x1
- negs r0, r0
-_0809CEA8:
- str r0, [r4, 0x10]
-_0809CEAA:
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0809CEB6
- movs r0, 0xA
- b _0809CEC2
-_0809CEB6:
- ldr r0, [r4, 0x10]
- cmp r0, 0
- bne _0809CEC0
- movs r0, 0x8
- b _0809CEC2
-_0809CEC0:
- movs r0, 0x7
-_0809CEC2:
- str r0, [r6]
- adds r0, r2, 0
- bl sub_809CFE8
- b _0809CF4E
-_0809CECC:
- mov r0, sp
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- ldr r0, _0809CEEC
- ldr r0, [r0]
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- bne _0809CEF0
- movs r0, 0x4
- bl sub_809C6CC
- b _0809CEF6
- .align 2, 0
-_0809CEEC: .4byte gUnknown_203B46C
-_0809CEF0:
- movs r0, 0x3
- bl sub_809C6CC
-_0809CEF6:
- bl nullsub_104
- adds r0, r4, 0
- bl sub_809CD7C
- movs r5, 0x1
- str r5, [r4]
- ldr r0, [sp]
- cmp r0, 0x2
- beq _0809CF1E
- cmp r0, 0x2
- bgt _0809CF14
- cmp r0, 0x1
- beq _0809CF2A
- b _0809CF54
-_0809CF14:
- cmp r0, 0x3
- beq _0809CF2A
- cmp r0, 0x4
- beq _0809CF3C
- b _0809CF54
-_0809CF1E:
- movs r0, 0x4
- str r0, [r4]
- movs r0, 0x1E
- bl sub_8098D80
- b _0809CF46
-_0809CF2A:
- movs r0, 0x4
- str r0, [r4]
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r7]
- movs r0, 0x4
- b _0809CFDA
-_0809CF3C:
- str r0, [r4]
- movs r0, 0x45
- movs r1, 0
- bl GroundMap_ExecuteEvent
-_0809CF46:
- str r5, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CF4E:
- strb r0, [r7]
- ldr r0, [r4]
- b _0809CFDA
-_0809CF54:
- movs r0, 0x2
- bl sub_809D9B8
- b _0809CFCC
-_0809CF5C:
- add r0, sp, 0x4
- bl sub_809B260
- lsls r0, 24
- cmp r0, 0
- beq _0809CFCC
- adds r0, r4, 0
- bl sub_809CD7C
- movs r0, 0x1
- str r0, [r4]
- b _0809CFDA
-_0809CF74:
- ldr r0, [r4, 0x8]
- cmp r0, 0
- ble _0809CF86
- subs r0, 0x1
- str r0, [r4, 0x8]
- movs r0, 0x9
- str r0, [r6]
- ldrb r0, [r4, 0xC]
- b _0809CFD6
-_0809CF86:
- ldr r0, _0809CFA0
- ldrh r1, [r0]
- movs r0, 0x9
- str r0, [r6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _0809CFA4
- movs r0, 0x4
- b _0809CFB6
- .align 2, 0
-_0809CFA0: .4byte gUnknown_20255F0
-_0809CFA4:
- movs r0, 0x80
- ands r1, r0
- cmp r1, 0
- beq _0809CFB0
- strb r2, [r7]
- b _0809CFB8
-_0809CFB0:
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFB6:
- strb r0, [r7]
-_0809CFB8:
- ldrb r0, [r7]
- strb r0, [r4, 0xC]
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- cmp r0, r1
- beq _0809CFD8
- movs r0, 0x20
- str r0, [r4, 0x8]
- b _0809CFD8
-_0809CFCC:
- movs r0, 0
- str r0, [r6]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809CFD6:
- strb r0, [r7]
-_0809CFD8:
- mov r0, r8
-_0809CFDA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809CDC8
-
- thumb_func_start sub_809CFE8
-sub_809CFE8:
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809D014
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D004
- movs r0, 0x3
- b _0809D052
-_0809D004:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D010
- movs r0, 0x5
- b _0809D052
-_0809D010:
- movs r0, 0x4
- b _0809D052
-_0809D014:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809D038
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D028
- movs r0, 0x1
- b _0809D052
-_0809D028:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809D034
- movs r0, 0x7
- b _0809D052
-_0809D034:
- movs r0, 0
- b _0809D052
-_0809D038:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809D044
- movs r0, 0x2
- b _0809D052
-_0809D044:
- movs r0, 0x20
- ands r2, r0
- cmp r2, 0
- bne _0809D050
- subs r0, 0x21
- b _0809D052
-_0809D050:
- movs r0, 0x6
-_0809D052:
- pop {r1}
- bx r1
- thumb_func_end sub_809CFE8
-
- thumb_func_start sub_809D058
-sub_809D058:
- push {lr}
- ldr r1, [r0, 0x4]
- cmp r1, 0x3F
- bgt _0809D076
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D06A
- movs r0, 0x5
- b _0809D0A6
-_0809D06A:
- cmp r0, 0x88
- ble _0809D072
- movs r0, 0x3
- b _0809D0A6
-_0809D072:
- movs r0, 0x4
- b _0809D0A6
-_0809D076:
- cmp r1, 0x60
- ble _0809D090
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D084
- movs r0, 0x7
- b _0809D0A6
-_0809D084:
- cmp r0, 0x88
- ble _0809D08C
- movs r0, 0x1
- b _0809D0A6
-_0809D08C:
- movs r0, 0
- b _0809D0A6
-_0809D090:
- ldr r0, [r0]
- cmp r0, 0x67
- bgt _0809D09A
- movs r0, 0x6
- b _0809D0A6
-_0809D09A:
- cmp r0, 0x88
- bgt _0809D0A4
- movs r0, 0x1
- negs r0, r0
- b _0809D0A6
-_0809D0A4:
- movs r0, 0x2
-_0809D0A6:
- pop {r1}
- bx r1
- thumb_func_end sub_809D058
-
- thumb_func_start sub_809D0AC
-sub_809D0AC:
- push {lr}
- bl sub_809D0BC
- pop {r0}
- bx r0
- thumb_func_end sub_809D0AC
-
- thumb_func_start nullsub_119
-nullsub_119:
- bx lr
- thumb_func_end nullsub_119
-
- thumb_func_start sub_809D0BC
-sub_809D0BC:
- push {r4,r5,lr}
- ldr r5, _0809D0F8
- ldr r1, _0809D0FC
- ldr r2, [r1]
- ldr r3, [r1, 0x4]
- str r2, [r5, 0x3C]
- str r3, [r5, 0x40]
- adds r0, r5, 0
- adds r0, 0x44
- movs r4, 0
- strb r4, [r0]
- movs r0, 0
- bl sub_809D158
- str r4, [r5, 0x8]
- str r4, [r5, 0xC]
- str r4, [r5, 0x10]
- movs r0, 0x1
- negs r0, r0
- str r0, [r5, 0x4]
- str r4, [r5, 0x24]
- str r4, [r5, 0x28]
- str r4, [r5, 0x2C]
- str r4, [r5, 0x30]
- str r4, [r5, 0x34]
- str r4, [r5, 0x38]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D0F8: .4byte gUnknown_20399E8
-_0809D0FC: .4byte gUnknown_8116478
- thumb_func_end sub_809D0BC
-
- thumb_func_start sub_809D100
-sub_809D100:
- push {lr}
- adds r2, r0, 0
- ldr r1, _0809D120
- ldr r0, [r1, 0x24]
- cmp r0, r2
- beq _0809D11A
- str r2, [r1, 0x24]
- movs r0, 0
- str r0, [r1, 0x28]
- str r0, [r1, 0x2C]
- str r0, [r1, 0x30]
- str r0, [r1, 0x34]
- str r0, [r1, 0x38]
-_0809D11A:
- pop {r0}
- bx r0
- .align 2, 0
-_0809D120: .4byte gUnknown_20399E8
- thumb_func_end sub_809D100
-
- thumb_func_start sub_809D124
-sub_809D124:
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, _0809D144
- ldr r0, [r3, 0x24]
- cmp r0, r4
- beq _0809D13A
- str r4, [r3, 0x24]
- movs r0, 0
- str r0, [r3, 0x30]
- str r0, [r3, 0x34]
- str r0, [r3, 0x38]
-_0809D13A:
- str r1, [r3, 0x28]
- str r2, [r3, 0x2C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D144: .4byte gUnknown_20399E8
- thumb_func_end sub_809D124
-
-
.align 2,0 @ Don't pad with nop