mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 06:57:18 -05:00
19958 lines
301 KiB
ArmAsm
19958 lines
301 KiB
ArmAsm
.include "constants/gba_constants.inc"
|
|
.include "asm/macros.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start xxx_script_related_8098468
|
|
xxx_script_related_8098468:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x8
|
|
ldr r1, _08098494
|
|
str r0, [r1]
|
|
ldr r4, _08098498
|
|
movs r2, 0
|
|
strb r2, [r4]
|
|
ldr r3, _0809849C
|
|
movs r1, 0x1
|
|
strb r1, [r3]
|
|
ldr r1, _080984A0
|
|
strb r2, [r1]
|
|
subs r0, 0xD
|
|
adds r2, r1, 0
|
|
cmp r0, 0x4
|
|
bhi _08098504
|
|
lsls r0, 2
|
|
ldr r1, _080984A4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08098494: .4byte gUnknown_20398B4
|
|
_08098498: .4byte gUnknown_20398B9
|
|
_0809849C: .4byte gUnknown_20398B8
|
|
_080984A0: .4byte gUnknown_20398BA
|
|
_080984A4: .4byte _080984A8
|
|
.align 2, 0
|
|
_080984A8:
|
|
.4byte _080984BC
|
|
.4byte _080984C8
|
|
.4byte _080984CE
|
|
.4byte _080984D4
|
|
.4byte _080984FC
|
|
_080984BC:
|
|
movs r1, 0x1
|
|
strb r1, [r2]
|
|
movs r0, 0
|
|
strb r0, [r3]
|
|
strb r1, [r4]
|
|
b _08098504
|
|
_080984C8:
|
|
movs r0, 0x1
|
|
strb r0, [r3]
|
|
b _08098502
|
|
_080984CE:
|
|
movs r0, 0x1
|
|
strb r0, [r3]
|
|
b _08098502
|
|
_080984D4:
|
|
add r2, sp, 0x4
|
|
movs r0, 0x3
|
|
mov r1, sp
|
|
bl sub_8001B88
|
|
ldr r2, _080984F4
|
|
movs r1, 0
|
|
ldr r0, [sp]
|
|
cmp r0, 0
|
|
bne _080984EA
|
|
movs r1, 0x1
|
|
_080984EA:
|
|
strb r1, [r2]
|
|
ldr r1, _080984F8
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
b _08098504
|
|
.align 2, 0
|
|
_080984F4: .4byte gUnknown_20398B8
|
|
_080984F8: .4byte gUnknown_20398B9
|
|
_080984FC:
|
|
movs r0, 0
|
|
strb r0, [r3]
|
|
movs r0, 0x1
|
|
_08098502:
|
|
strb r0, [r4]
|
|
_08098504:
|
|
bl sub_801180C
|
|
ldr r0, _080985B0
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _08098522
|
|
movs r0, 0xD
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _08098522
|
|
movs r0, 0x10
|
|
bl sub_80118C4
|
|
_08098522:
|
|
ldr r1, _080985B4
|
|
ldr r2, _080985B8
|
|
adds r0, r2, 0
|
|
strh r0, [r1]
|
|
movs r0, 0
|
|
bl xxx_update_some_bg_tiles
|
|
bl sub_8099648
|
|
bl sub_809975C
|
|
bl sub_809D0AC
|
|
bl sub_80A7744
|
|
bl sub_809D490
|
|
bl sub_80A62F0
|
|
bl sub_809C5C4
|
|
bl sub_809A560
|
|
bl sub_809CB50
|
|
bl sub_80A4A7C
|
|
bl nullsub_117
|
|
bl sub_80AD990
|
|
bl sub_80A77F8
|
|
bl sub_80ABB54
|
|
bl sub_80ACB90
|
|
bl sub_809A62C
|
|
ldr r0, _080985BC
|
|
movs r1, 0
|
|
strb r1, [r0]
|
|
ldr r0, _080985C0
|
|
strb r1, [r0]
|
|
ldr r6, _080985C4
|
|
movs r0, 0x1
|
|
str r0, [r6]
|
|
ldr r1, _080985C8
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
ldr r0, _080985CC
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
str r4, [r0]
|
|
ldr r5, _080985D0
|
|
movs r0, 0
|
|
movs r1, 0xD
|
|
bl sub_8001658
|
|
strh r0, [r5]
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
bl sub_8001658
|
|
ldr r1, _080985D4
|
|
str r0, [r1]
|
|
ldr r0, _080985D8
|
|
strh r4, [r0]
|
|
adds r7, r4, 0
|
|
ldr r0, [r6]
|
|
b _08098988
|
|
.align 2, 0
|
|
_080985B0: .4byte gUnknown_20398B9
|
|
_080985B4: .4byte gUnknown_2026E4E
|
|
_080985B8: .4byte 0x00000808
|
|
_080985BC: .4byte gUnknown_203B49C
|
|
_080985C0: .4byte gUnknown_203B49D
|
|
_080985C4: .4byte gUnknown_20398A8
|
|
_080985C8: .4byte gUnknown_20398AC
|
|
_080985CC: .4byte gUnknown_20398B0
|
|
_080985D0: .4byte gUnknown_20398BE
|
|
_080985D4: .4byte gUnknown_20398C0
|
|
_080985D8: .4byte gUnknown_20398C4
|
|
_080985DC:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl sub_809A71C
|
|
bl sub_809A76C
|
|
bl sub_809977C
|
|
ldr r0, _08098600
|
|
ldr r0, [r0]
|
|
cmp r0, 0x11
|
|
bls _080985F6
|
|
b _08098756
|
|
_080985F6:
|
|
lsls r0, 2
|
|
ldr r1, _08098604
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08098600: .4byte gUnknown_20398B4
|
|
_08098604: .4byte _08098608
|
|
.align 2, 0
|
|
_08098608:
|
|
.4byte _08098650
|
|
.4byte _08098756
|
|
.4byte _08098660
|
|
.4byte _08098660
|
|
.4byte _08098756
|
|
.4byte _08098666
|
|
.4byte _08098756
|
|
.4byte _08098756
|
|
.4byte _08098756
|
|
.4byte _0809866A
|
|
.4byte _0809866A
|
|
.4byte _0809866A
|
|
.4byte _0809866A
|
|
.4byte _0809870C
|
|
.4byte _08098748
|
|
.4byte _0809874C
|
|
.4byte _08098750
|
|
.4byte _08098754
|
|
_08098650:
|
|
bl sub_8098C58
|
|
ldr r1, _0809865C
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
b _08098756
|
|
.align 2, 0
|
|
_0809865C: .4byte gUnknown_20398B4
|
|
_08098660:
|
|
bl sub_8001D88
|
|
b _08098756
|
|
_08098666:
|
|
movs r7, 0x70
|
|
b _08098756
|
|
_0809866A:
|
|
ldr r0, _080986BC
|
|
ldr r2, [r0]
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x25
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
bl sub_8098C58
|
|
movs r0, 0
|
|
movs r1, 0x15
|
|
movs r2, 0x1
|
|
movs r3, 0x2
|
|
bl sub_800226C
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _08098756
|
|
cmp r4, 0x51
|
|
bne _080986C0
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A2608
|
|
b _080986C6
|
|
.align 2, 0
|
|
_080986BC: .4byte gUnknown_20398B4
|
|
_080986C0:
|
|
adds r0, r4, 0
|
|
bl sub_80A2608
|
|
_080986C6:
|
|
movs r1, 0xA
|
|
ldrsh r7, [r0, r1]
|
|
ldr r5, _08098700
|
|
ldr r0, [r5]
|
|
cmp r0, 0x9
|
|
bne _080986E0
|
|
lsls r2, r4, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x31
|
|
movs r3, 0x1
|
|
bl sub_800199C
|
|
_080986E0:
|
|
ldr r0, [r5]
|
|
bl sub_8098FCC
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _08098756
|
|
ldr r0, _08098704
|
|
strh r1, [r0]
|
|
ldr r1, _08098708
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
b _08098756
|
|
.align 2, 0
|
|
_08098700: .4byte gUnknown_20398B4
|
|
_08098704: .4byte gUnknown_20398BE
|
|
_08098708: .4byte gUnknown_20398C0
|
|
_0809870C:
|
|
bl sub_8098C58
|
|
ldr r1, _08098744
|
|
movs r0, 0x1
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x1
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0xF
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0xD
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
movs r7, 0x71
|
|
b _08098756
|
|
.align 2, 0
|
|
_08098744: .4byte gUnknown_20398B4
|
|
_08098748:
|
|
movs r7, 0x73
|
|
b _08098756
|
|
_0809874C:
|
|
movs r7, 0x74
|
|
b _08098756
|
|
_08098750:
|
|
movs r7, 0x75
|
|
b _08098756
|
|
_08098754:
|
|
movs r7, 0x76
|
|
_08098756:
|
|
ldr r0, _08098790
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080987C0
|
|
movs r0, 0
|
|
movs r1, 0xD
|
|
bl sub_8001658
|
|
adds r5, r0, 0
|
|
ldr r4, _08098794
|
|
ldr r2, [r4]
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
bl sub_80018D8
|
|
ldr r4, [r4]
|
|
cmp r4, 0x1
|
|
beq _080987A6
|
|
cmp r4, 0x3
|
|
bne _0809879C
|
|
ldr r0, _08098798
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
movs r0, 0
|
|
movs r1, 0xF
|
|
bl sub_80018D8
|
|
b _080987A6
|
|
.align 2, 0
|
|
_08098790: .4byte gUnknown_20398B9
|
|
_08098794: .4byte gUnknown_20398B4
|
|
_08098798: .4byte gUnknown_20398BE
|
|
_0809879C:
|
|
movs r0, 0
|
|
movs r1, 0xF
|
|
adds r2, r5, 0
|
|
bl sub_80018D8
|
|
_080987A6:
|
|
ldr r0, _0809882C
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
movs r0, 0
|
|
movs r1, 0xD
|
|
bl sub_80018D8
|
|
ldr r0, _08098830
|
|
ldr r2, [r0]
|
|
movs r0, 0
|
|
movs r1, 0xE
|
|
bl sub_80018D8
|
|
_080987C0:
|
|
ldr r1, _08098834
|
|
movs r0, 0x2
|
|
str r0, [r1]
|
|
ldr r0, _08098838
|
|
movs r1, 0
|
|
str r1, [r0]
|
|
ldr r0, _0809883C
|
|
str r1, [r0]
|
|
ldr r0, _08098840
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
str r4, [r0]
|
|
ldr r2, _08098844
|
|
ldr r1, _0809882C
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
strh r4, [r1]
|
|
bl sub_809977C
|
|
bl sub_809D4B0
|
|
adds r0, r4, 0
|
|
bl GroundSprite_Reset
|
|
bl sub_809C63C
|
|
bl sub_809A62C
|
|
bl sub_80A4AEC
|
|
bl sub_809D0BC
|
|
bl sub_80AD9D0
|
|
bl sub_80A786C
|
|
bl sub_80ABB98
|
|
bl sub_80ACBD4
|
|
bl sub_809C658
|
|
bl nullsub_16
|
|
bl sub_8097944
|
|
cmp r7, r4
|
|
beq _08098848
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl GroundMap_ExecuteEvent
|
|
b _08098850
|
|
.align 2, 0
|
|
_0809882C: .4byte gUnknown_20398BE
|
|
_08098830: .4byte gUnknown_20398C0
|
|
_08098834: .4byte gUnknown_20398B4
|
|
_08098838: .4byte gUnknown_20398A8
|
|
_0809883C: .4byte gUnknown_20398AC
|
|
_08098840: .4byte gUnknown_20398B0
|
|
_08098844: .4byte gUnknown_20398BC
|
|
_08098848:
|
|
movs r0, 0x66
|
|
movs r1, 0
|
|
bl GroundMap_ExecuteEvent
|
|
_08098850:
|
|
bl GroundMap_Action
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_8005838
|
|
bl sub_80060EC
|
|
bl xxx_call_update_bg_sound_input
|
|
_08098864:
|
|
bl xxx_call_update_bg_sound_input
|
|
bl sub_80A6E68
|
|
ldr r0, _08098890
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _080988B2
|
|
ldr r1, _08098894
|
|
ldr r0, [r1]
|
|
cmp r0, 0
|
|
ble _0809889C
|
|
subs r0, 0x1
|
|
str r0, [r1]
|
|
cmp r0, 0
|
|
bgt _080988F8
|
|
ldr r0, _08098898
|
|
ldr r0, [r0]
|
|
bl sub_80999D4
|
|
b _080988F8
|
|
.align 2, 0
|
|
_08098890: .4byte gUnknown_20398A8
|
|
_08098894: .4byte gUnknown_20398AC
|
|
_08098898: .4byte gUnknown_20398B0
|
|
_0809889C:
|
|
bl sub_8099B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080988F8
|
|
bl sub_809C740
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809897C
|
|
b _080988F8
|
|
_080988B2:
|
|
ldr r0, _08098968
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080988F8
|
|
ldr r0, _0809896C
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
bne _080988F8
|
|
bl sub_809AFAC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080988F8
|
|
ldr r0, _08098970
|
|
ldrh r0, [r0, 0x2]
|
|
ldr r2, _08098974
|
|
adds r1, r2, 0
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
bne _080988E4
|
|
bl sub_80048BC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080988F8
|
|
_080988E4:
|
|
movs r0, 0x72
|
|
movs r1, 0
|
|
bl GroundMap_ExecuteEvent
|
|
movs r0, 0x1E
|
|
bl sub_8098F44
|
|
movs r0, 0x1E
|
|
bl sub_80118C4
|
|
_080988F8:
|
|
bl GroundMap_Action
|
|
bl nullsub_124
|
|
bl GroundLives_Action
|
|
bl GroundObject_Action
|
|
bl GroundEffect_Action
|
|
bl nullsub_105
|
|
bl sub_809B474
|
|
bl 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, _08098978
|
|
ldr r0, [r0]
|
|
bl sub_8094FB4
|
|
bl sub_800CB20
|
|
bl sub_800485C
|
|
bl nullsub_120
|
|
bl sub_80A5E70
|
|
bl sub_809B638
|
|
bl nullsub_106
|
|
bl sub_80A73EC
|
|
bl sub_8099750
|
|
bl sub_8009908
|
|
b _08098864
|
|
.align 2, 0
|
|
_08098968: .4byte gUnknown_20398B9
|
|
_0809896C: .4byte gUnknown_20398B8
|
|
_08098970: .4byte gUnknown_20255F0
|
|
_08098974: .4byte 0x0000030f
|
|
_08098978: .4byte gUnknown_203B47C
|
|
_0809897C:
|
|
bl sub_80A4AEC
|
|
movs r7, 0x1
|
|
negs r7, r7
|
|
ldr r0, _080989E8
|
|
ldr r0, [r0]
|
|
_08098988:
|
|
subs r0, 0x1
|
|
cmp r0, 0x1
|
|
bhi _08098990
|
|
b _080985DC
|
|
_08098990:
|
|
bl sub_80A4AC4
|
|
bl nullsub_118
|
|
bl sub_80A78F0
|
|
bl sub_80ABBD4
|
|
bl sub_80ACC10
|
|
bl sub_80ADA08
|
|
bl sub_809CB74
|
|
bl sub_809A610
|
|
bl sub_809C618
|
|
bl sub_80A658C
|
|
bl sub_809D508
|
|
bl sub_80A7754
|
|
bl nullsub_119
|
|
bl sub_8099768
|
|
bl nullsub_103
|
|
bl nullsub_16
|
|
ldr r0, _080989EC
|
|
ldrb r0, [r0]
|
|
cmp r0, 0
|
|
beq _080989FA
|
|
ldr r0, _080989E8
|
|
ldr r0, [r0]
|
|
cmp r0, 0x9
|
|
beq _080989F0
|
|
cmp r0, 0xA
|
|
bne _080989F0
|
|
movs r0, 0x10
|
|
b _08098BD2
|
|
.align 2, 0
|
|
_080989E8: .4byte gUnknown_20398A8
|
|
_080989EC: .4byte gUnknown_20398B9
|
|
_080989F0:
|
|
movs r0, 0x1E
|
|
bl sub_80118C4
|
|
movs r0, 0xF
|
|
b _08098BD2
|
|
_080989FA:
|
|
ldr r0, _08098A10
|
|
ldr r0, [r0]
|
|
subs r0, 0x3
|
|
cmp r0, 0x5
|
|
bls _08098A06
|
|
b _08098BC0
|
|
_08098A06:
|
|
lsls r0, 2
|
|
ldr r1, _08098A14
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08098A10: .4byte gUnknown_20398A8
|
|
_08098A14: .4byte _08098A18
|
|
.align 2, 0
|
|
_08098A18:
|
|
.4byte _08098A30
|
|
.4byte _08098A72
|
|
.4byte _08098AA0
|
|
.4byte _08098B08
|
|
.4byte _08098B58
|
|
.4byte _08098B8C
|
|
_08098A30:
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
adds r2, r4, 0
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
adds r2, r4, 0
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x4
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
movs r2, 0x4
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0xD
|
|
bl sub_8001658
|
|
adds r2, r0, 0
|
|
movs r0, 0
|
|
movs r1, 0xF
|
|
bl sub_80018D8
|
|
movs r0, 0x5
|
|
b _08098BD2
|
|
_08098A72:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x5
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
movs r2, 0x5
|
|
bl sub_80018D8
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_80018D8
|
|
movs r0, 0x6
|
|
b _08098BD2
|
|
_08098AA0:
|
|
ldr r5, _08098B04
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
bl sub_80A2654
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
movs r0, 0
|
|
ldrsh r2, [r5, r0]
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
adds r2, r4, 0
|
|
bl sub_80018D8
|
|
ldrh r2, [r5]
|
|
movs r0, 0
|
|
movs r1, 0x30
|
|
movs r3, 0x1
|
|
bl sub_800199C
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xA
|
|
bne _08098B00
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
_08098B00:
|
|
movs r0, 0x7
|
|
b _08098BD2
|
|
.align 2, 0
|
|
_08098B04: .4byte gUnknown_20398C4
|
|
_08098B08:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0x51
|
|
bl sub_80018D8
|
|
ldr r0, _08098B54
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0xA
|
|
bne _08098B4E
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
_08098B4E:
|
|
movs r0, 0x8
|
|
b _08098BD2
|
|
.align 2, 0
|
|
_08098B54: .4byte gUnknown_20398C4
|
|
_08098B58:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0x50
|
|
bl sub_80018D8
|
|
ldr r0, _08098B88
|
|
ldrb r2, [r0]
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0x9
|
|
b _08098BD2
|
|
.align 2, 0
|
|
_08098B88: .4byte gUnknown_2039950
|
|
_08098B8C:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0x52
|
|
bl sub_80018D8
|
|
ldr r0, _08098BBC
|
|
movs r1, 0
|
|
ldrsh r2, [r0, r1]
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
movs r2, 0x7
|
|
bl sub_80018D8
|
|
movs r0, 0xA
|
|
b _08098BD2
|
|
.align 2, 0
|
|
_08098BBC: .4byte gUnknown_20398C4
|
|
_08098BC0:
|
|
movs r0, 0
|
|
movs r1, 0x18
|
|
movs r2, 0x1
|
|
bl sub_80018D8
|
|
movs r0, 0x10
|
|
bl sub_80118C4
|
|
movs r0, 0xE
|
|
_08098BD2:
|
|
add sp, 0x8
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end xxx_script_related_8098468
|
|
|
|
thumb_func_start sub_8098BDC
|
|
sub_8098BDC:
|
|
push {lr}
|
|
bl sub_809B57C
|
|
bl 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
|
|
|
|
thumb_func_start sub_809D148
|
|
sub_809D148:
|
|
ldr r1, _0809D154
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
str r0, [r1, 0x8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D154: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D148
|
|
|
|
thumb_func_start sub_809D158
|
|
sub_809D158:
|
|
ldr r2, _0809D16C
|
|
str r0, [r2]
|
|
movs r0, 0
|
|
str r0, [r2, 0x8]
|
|
ldr r0, [r1]
|
|
ldr r1, [r1, 0x4]
|
|
str r0, [r2, 0x1C]
|
|
str r1, [r2, 0x20]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D16C: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D158
|
|
|
|
thumb_func_start sub_809D170
|
|
sub_809D170:
|
|
ldr r2, _0809D17C
|
|
str r0, [r2]
|
|
movs r0, 0
|
|
str r0, [r2, 0x8]
|
|
str r1, [r2, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D17C: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D170
|
|
|
|
thumb_func_start sub_809D180
|
|
sub_809D180:
|
|
ldr r2, _0809D18C
|
|
str r0, [r2]
|
|
movs r0, 0x1
|
|
str r0, [r2, 0x8]
|
|
str r1, [r2, 0xC]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D18C: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D180
|
|
|
|
thumb_func_start sub_809D190
|
|
sub_809D190:
|
|
ldr r3, _0809D1A4
|
|
str r0, [r3]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
str r2, [r3, 0xC]
|
|
ldr r0, [r1]
|
|
ldr r1, [r1, 0x4]
|
|
str r0, [r3, 0x14]
|
|
str r1, [r3, 0x18]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D1A4: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D190
|
|
|
|
thumb_func_start sub_809D1A8
|
|
sub_809D1A8:
|
|
ldr r3, _0809D1B8
|
|
str r0, [r3]
|
|
movs r0, 0x1
|
|
str r0, [r3, 0x8]
|
|
str r2, [r3, 0xC]
|
|
str r1, [r3, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D1B8: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D1A8
|
|
|
|
thumb_func_start sub_809D1BC
|
|
sub_809D1BC:
|
|
ldr r2, _0809D1C8
|
|
str r0, [r2]
|
|
movs r0, 0x2
|
|
str r0, [r2, 0x8]
|
|
str r1, [r2, 0x10]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D1C8: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D1BC
|
|
|
|
thumb_func_start sub_809D1CC
|
|
sub_809D1CC:
|
|
ldr r3, _0809D1E0
|
|
str r0, [r3]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x8]
|
|
str r2, [r3, 0x10]
|
|
ldr r0, [r1]
|
|
ldr r1, [r1, 0x4]
|
|
str r0, [r3, 0x14]
|
|
str r1, [r3, 0x18]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D1E0: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D1CC
|
|
|
|
thumb_func_start sub_809D1E4
|
|
sub_809D1E4:
|
|
ldr r3, _0809D1F4
|
|
str r0, [r3]
|
|
movs r0, 0x2
|
|
str r0, [r3, 0x8]
|
|
str r2, [r3, 0x10]
|
|
str r1, [r3, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D1F4: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D1E4
|
|
|
|
thumb_func_start sub_809D1F8
|
|
sub_809D1F8:
|
|
ldr r2, _0809D204
|
|
str r0, [r2]
|
|
movs r0, 0x3
|
|
str r0, [r2, 0x8]
|
|
str r1, [r2, 0xC]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D204: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D1F8
|
|
|
|
thumb_func_start sub_809D208
|
|
sub_809D208:
|
|
ldr r3, _0809D21C
|
|
str r0, [r3]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x8]
|
|
str r2, [r3, 0xC]
|
|
ldr r0, [r1]
|
|
ldr r1, [r1, 0x4]
|
|
str r0, [r3, 0x14]
|
|
str r1, [r3, 0x18]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D21C: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D208
|
|
|
|
thumb_func_start sub_809D220
|
|
sub_809D220:
|
|
ldr r3, _0809D230
|
|
str r0, [r3]
|
|
movs r0, 0x3
|
|
str r0, [r3, 0x8]
|
|
str r2, [r3, 0xC]
|
|
str r1, [r3, 0x4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D230: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D220
|
|
|
|
thumb_func_start sub_809D234
|
|
sub_809D234:
|
|
push {lr}
|
|
ldr r0, _0809D244
|
|
ldr r0, [r0, 0x8]
|
|
cmp r0, 0
|
|
beq _0809D240
|
|
movs r0, 0x1
|
|
_0809D240:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809D244: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D234
|
|
|
|
thumb_func_start sub_809D248
|
|
sub_809D248:
|
|
ldr r3, _0809D258
|
|
ldr r1, [r3, 0x3C]
|
|
ldr r2, [r3, 0x40]
|
|
str r1, [r0]
|
|
str r2, [r0, 0x4]
|
|
adds r3, 0x44
|
|
ldrb r0, [r3]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D258: .4byte gUnknown_20399E8
|
|
thumb_func_end sub_809D248
|
|
|
|
thumb_func_start sub_809D25C
|
|
sub_809D25C:
|
|
push {r4-r6,lr}
|
|
sub sp, 0x24
|
|
ldr r4, _0809D274
|
|
ldr r0, [r4]
|
|
cmp r0, 0x2
|
|
beq _0809D28C
|
|
cmp r0, 0x2
|
|
bhi _0809D278
|
|
cmp r0, 0x1
|
|
beq _0809D27E
|
|
b _0809D2B2
|
|
.align 2, 0
|
|
_0809D274: .4byte gUnknown_20399E8
|
|
_0809D278:
|
|
cmp r0, 0x3
|
|
beq _0809D29A
|
|
b _0809D2B2
|
|
_0809D27E:
|
|
movs r1, 0x4
|
|
ldrsh r0, [r4, r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x1C
|
|
bl sub_80A8FD8
|
|
b _0809D2A6
|
|
_0809D28C:
|
|
movs r1, 0x4
|
|
ldrsh r0, [r4, r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x1C
|
|
bl sub_80AC448
|
|
b _0809D2A6
|
|
_0809D29A:
|
|
movs r1, 0x4
|
|
ldrsh r0, [r4, r1]
|
|
adds r1, r4, 0
|
|
adds r1, 0x1C
|
|
bl sub_80AD360
|
|
_0809D2A6:
|
|
lsls r0, 16
|
|
ldr r1, _0809D2C4
|
|
cmp r0, r1
|
|
bne _0809D2B2
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
_0809D2B2:
|
|
ldr r4, _0809D2C8
|
|
ldr r0, [r4, 0x8]
|
|
cmp r0, 0x2
|
|
beq _0809D356
|
|
cmp r0, 0x2
|
|
bhi _0809D2CC
|
|
cmp r0, 0x1
|
|
beq _0809D2D2
|
|
b _0809D388
|
|
.align 2, 0
|
|
_0809D2C4: .4byte 0xffff0000
|
|
_0809D2C8: .4byte gUnknown_20399E8
|
|
_0809D2CC:
|
|
cmp r0, 0x3
|
|
beq _0809D314
|
|
b _0809D388
|
|
_0809D2D2:
|
|
ldr r0, [r4, 0x1C]
|
|
ldr r1, [r4, 0x14]
|
|
subs r0, r1
|
|
str r0, [sp, 0x4]
|
|
ldr r0, [r4, 0x20]
|
|
ldr r1, [r4, 0x18]
|
|
subs r0, r1
|
|
str r0, [sp, 0x8]
|
|
ldr r1, [r4, 0xC]
|
|
add r0, sp, 0x4
|
|
bl sub_800290C
|
|
ldr r0, [sp, 0x4]
|
|
cmp r0, 0
|
|
bne _0809D2FA
|
|
ldr r0, [sp, 0x8]
|
|
cmp r0, 0
|
|
bne _0809D2FA
|
|
str r0, [r4, 0x8]
|
|
b _0809D392
|
|
_0809D2FA:
|
|
ldr r2, _0809D310
|
|
ldr r0, [r2, 0x14]
|
|
ldr r1, [sp, 0x4]
|
|
adds r0, r1
|
|
str r0, [r2, 0x14]
|
|
ldr r0, [r2, 0x18]
|
|
ldr r1, [sp, 0x8]
|
|
adds r0, r1
|
|
str r0, [r2, 0x18]
|
|
b _0809D392
|
|
.align 2, 0
|
|
_0809D310: .4byte gUnknown_20399E8
|
|
_0809D314:
|
|
ldr r1, [r4, 0x1C]
|
|
ldr r0, [r4, 0x14]
|
|
subs r0, r1, r0
|
|
cmp r0, 0
|
|
bge _0809D320
|
|
adds r0, 0xFF
|
|
_0809D320:
|
|
asrs r2, r0, 8
|
|
ldr r1, [r4, 0x20]
|
|
ldr r0, [r4, 0x18]
|
|
subs r1, r0
|
|
cmp r1, 0
|
|
bge _0809D32E
|
|
adds r1, 0xFF
|
|
_0809D32E:
|
|
asrs r1, 8
|
|
lsls r0, r2, 8
|
|
lsls r1, 8
|
|
bl sub_8009FB8
|
|
cmp r0, 0
|
|
bge _0809D33E
|
|
adds r0, 0xFF
|
|
_0809D33E:
|
|
asrs r0, 8
|
|
lsls r0, 8
|
|
ldr r1, [r4, 0xC]
|
|
bl __divsi3
|
|
str r0, [r4, 0x10]
|
|
cmp r0, 0
|
|
bgt _0809D352
|
|
movs r0, 0x1
|
|
str r0, [r4, 0x10]
|
|
_0809D352:
|
|
movs r0, 0x2
|
|
str r0, [r4, 0x8]
|
|
_0809D356:
|
|
add r0, sp, 0xC
|
|
ldr r1, _0809D384
|
|
adds r2, r1, 0
|
|
adds r2, 0x8
|
|
adds r5, r1, 0
|
|
subs r5, 0x14
|
|
ldr r3, [r5, 0x10]
|
|
movs r4, 0x1
|
|
str r4, [sp]
|
|
bl sub_8002934
|
|
ldr r0, [sp, 0xC]
|
|
ldr r1, [sp, 0x10]
|
|
str r0, [r5, 0x14]
|
|
str r1, [r5, 0x18]
|
|
ldr r0, [r5, 0x10]
|
|
subs r0, 0x1
|
|
str r0, [r5, 0x10]
|
|
cmp r0, 0
|
|
bgt _0809D392
|
|
movs r0, 0
|
|
str r0, [r5, 0x8]
|
|
b _0809D392
|
|
.align 2, 0
|
|
_0809D384: .4byte gUnknown_20399FC
|
|
_0809D388:
|
|
ldr r2, _0809D3A4
|
|
ldr r0, [r2, 0x1C]
|
|
ldr r1, [r2, 0x20]
|
|
str r0, [r2, 0x14]
|
|
str r1, [r2, 0x18]
|
|
_0809D392:
|
|
ldr r5, _0809D3A4
|
|
ldr r0, [r5, 0x24]
|
|
cmp r0, 0x1
|
|
beq _0809D3A8
|
|
cmp r0, 0x2
|
|
beq _0809D3D2
|
|
movs r0, 0
|
|
str r0, [r5, 0x34]
|
|
b _0809D402
|
|
.align 2, 0
|
|
_0809D3A4: .4byte gUnknown_20399E8
|
|
_0809D3A8:
|
|
ldr r0, [r5, 0x30]
|
|
subs r0, 0x1
|
|
str r0, [r5, 0x30]
|
|
cmp r0, 0
|
|
bgt _0809D404
|
|
movs r0, 0x4
|
|
str r0, [r5, 0x30]
|
|
movs r4, 0x2
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl OtherRandomRange
|
|
lsls r0, 10
|
|
str r0, [r5, 0x34]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl OtherRandomRange
|
|
lsls r0, 10
|
|
b _0809D402
|
|
_0809D3D2:
|
|
ldr r0, [r5, 0x30]
|
|
subs r0, 0x1
|
|
str r0, [r5, 0x30]
|
|
cmp r0, 0
|
|
bgt _0809D404
|
|
ldr r0, [r5, 0x2C]
|
|
str r0, [r5, 0x30]
|
|
movs r4, 0x2
|
|
negs r4, r4
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl OtherRandomRange
|
|
ldr r1, [r5, 0x28]
|
|
muls r0, r1
|
|
lsls r0, 8
|
|
str r0, [r5, 0x34]
|
|
adds r0, r4, 0
|
|
movs r1, 0x2
|
|
bl OtherRandomRange
|
|
ldr r1, [r5, 0x28]
|
|
muls r0, r1
|
|
lsls r0, 8
|
|
_0809D402:
|
|
str r0, [r5, 0x38]
|
|
_0809D404:
|
|
add r5, sp, 0x14
|
|
add r6, sp, 0x1C
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl sub_80A579C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809D474
|
|
ldr r4, _0809D47C
|
|
ldr r0, [r4, 0x14]
|
|
ldr r1, [r4, 0x34]
|
|
adds r0, r1
|
|
adds r2, r0, 0
|
|
subs r2, 0x80
|
|
ldr r0, [r4, 0x18]
|
|
ldr r1, [r4, 0x38]
|
|
adds r0, r1
|
|
ldr r1, _0809D480
|
|
adds r3, r0, r1
|
|
ldr r0, [sp, 0x14]
|
|
cmp r2, r0
|
|
bge _0809D434
|
|
adds r2, r0, 0
|
|
_0809D434:
|
|
ldr r0, [sp, 0x1C]
|
|
cmp r2, r0
|
|
blt _0809D43C
|
|
subs r2, r0, 0x1
|
|
_0809D43C:
|
|
ldr r0, [r5, 0x4]
|
|
cmp r3, r0
|
|
bge _0809D444
|
|
adds r3, r0, 0
|
|
_0809D444:
|
|
ldr r1, [r6, 0x4]
|
|
cmp r3, r1
|
|
blt _0809D44C
|
|
subs r3, r1, 0x1
|
|
_0809D44C:
|
|
ldr r1, _0809D484
|
|
adds r0, r2, r1
|
|
cmp r0, 0
|
|
bge _0809D458
|
|
adds r1, 0xFF
|
|
adds r0, r2, r1
|
|
_0809D458:
|
|
asrs r0, 8
|
|
str r0, [r4, 0x3C]
|
|
ldr r1, _0809D488
|
|
adds r0, r3, r1
|
|
cmp r0, 0
|
|
bge _0809D468
|
|
adds r1, 0xFF
|
|
adds r0, r3, r1
|
|
_0809D468:
|
|
asrs r0, 8
|
|
str r0, [r4, 0x40]
|
|
adds r1, r4, 0
|
|
adds r1, 0x44
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
_0809D474:
|
|
add sp, 0x24
|
|
pop {r4-r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D47C: .4byte gUnknown_20399E8
|
|
_0809D480: .4byte 0xfffff480
|
|
_0809D484: .4byte 0xffff8700
|
|
_0809D488: .4byte 0xffffb000
|
|
thumb_func_end sub_809D25C
|
|
|
|
thumb_func_start nullsub_120
|
|
nullsub_120:
|
|
bx lr
|
|
thumb_func_end nullsub_120
|
|
|
|
thumb_func_start sub_809D490
|
|
sub_809D490:
|
|
push {r4,lr}
|
|
ldr r4, _0809D4AC
|
|
movs r0, 0x80
|
|
lsls r0, 3
|
|
movs r1, 0x6
|
|
bl MemoryAlloc
|
|
str r0, [r4]
|
|
bl sub_809D4B0
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D4AC: .4byte gUnknown_203B4B0
|
|
thumb_func_end sub_809D490
|
|
|
|
thumb_func_start sub_809D4B0
|
|
sub_809D4B0:
|
|
push {r4,r5,lr}
|
|
ldr r0, _0809D4EC
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
adds r1, r2, 0
|
|
strh r1, [r0]
|
|
ldr r0, _0809D4F0
|
|
strh r1, [r0]
|
|
ldr r0, _0809D4F4
|
|
strh r1, [r0]
|
|
ldr r1, _0809D4F8
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
movs r1, 0
|
|
ldr r5, _0809D4FC
|
|
movs r2, 0
|
|
ldr r3, _0809D500
|
|
ldr r4, _0809D504
|
|
_0809D4D4:
|
|
adds r0, r1, r5
|
|
strb r2, [r0]
|
|
adds r0, r1, r3
|
|
strb r2, [r0]
|
|
stm r4!, {r2}
|
|
adds r1, 0x1
|
|
cmp r1, 0x80
|
|
ble _0809D4D4
|
|
pop {r4,r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D4EC: .4byte gUnknown_2039A30
|
|
_0809D4F0: .4byte gUnknown_2039A32
|
|
_0809D4F4: .4byte gUnknown_2039A34
|
|
_0809D4F8: .4byte gUnknown_2039A36
|
|
_0809D4FC: .4byte gUnknown_2039A38
|
|
_0809D500: .4byte gUnknown_2039AC0
|
|
_0809D504: .4byte gUnknown_2039B48
|
|
thumb_func_end sub_809D4B0
|
|
|
|
thumb_func_start sub_809D508
|
|
sub_809D508:
|
|
push {r4,lr}
|
|
ldr r4, _0809D51C
|
|
ldr r0, [r4]
|
|
bl MemoryFree
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D51C: .4byte gUnknown_203B4B0
|
|
thumb_func_end sub_809D508
|
|
|
|
thumb_func_start sub_809D520
|
|
sub_809D520:
|
|
ldr r1, _0809D528
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D528: .4byte 0x0000ffff
|
|
thumb_func_end sub_809D520
|
|
|
|
thumb_func_start sub_809D52C
|
|
sub_809D52C:
|
|
push {lr}
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
cmp r1, 0x1
|
|
beq _0809D544
|
|
cmp r1, 0x1
|
|
ble _0809D562
|
|
cmp r1, 0x2
|
|
beq _0809D54E
|
|
cmp r1, 0x3
|
|
beq _0809D558
|
|
b _0809D562
|
|
_0809D544:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_80A882C
|
|
b _0809D564
|
|
_0809D54E:
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
bl sub_80AC240
|
|
b _0809D564
|
|
_0809D558:
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_80AD158
|
|
b _0809D564
|
|
_0809D562:
|
|
movs r0, 0
|
|
_0809D564:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D52C
|
|
|
|
thumb_func_start sub_809D568
|
|
sub_809D568:
|
|
push {lr}
|
|
adds r3, r0, 0
|
|
ldr r0, _0809D5B4
|
|
strh r0, [r3]
|
|
movs r2, 0
|
|
movs r0, 0
|
|
strh r0, [r3, 0x2]
|
|
str r0, [r3, 0x8]
|
|
str r0, [r3, 0x4]
|
|
str r0, [r3, 0x14]
|
|
str r0, [r3, 0x10]
|
|
adds r1, r3, 0
|
|
adds r1, 0x20
|
|
strb r2, [r1]
|
|
str r0, [r3, 0x1C]
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
strh r1, [r3, 0x22]
|
|
strh r0, [r3, 0x24]
|
|
adds r2, r3, 0
|
|
adds r2, 0x26
|
|
movs r1, 0xFF
|
|
strb r1, [r2]
|
|
strh r0, [r3, 0x28]
|
|
strh r0, [r3, 0x2A]
|
|
strh r0, [r3, 0x2C]
|
|
str r0, [r3, 0x30]
|
|
movs r2, 0
|
|
movs r1, 0x3
|
|
adds r0, r3, 0
|
|
adds r0, 0x5C
|
|
_0809D5A6:
|
|
str r2, [r0]
|
|
subs r0, 0x4
|
|
subs r1, 0x1
|
|
cmp r1, 0
|
|
bge _0809D5A6
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D5B4: .4byte 0x0000ffff
|
|
thumb_func_end sub_809D568
|
|
|
|
thumb_func_start sub_809D5B8
|
|
sub_809D5B8:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r0, 0
|
|
str r0, [r4]
|
|
str r0, [r4, 0x4]
|
|
ldr r0, _0809D5FC
|
|
strh r0, [r4, 0x10]
|
|
movs r0, 0xFF
|
|
strb r0, [r4, 0x12]
|
|
adds r0, r4, 0
|
|
adds r0, 0xC
|
|
bl sub_809D520
|
|
movs r2, 0
|
|
movs r1, 0x3
|
|
adds r0, r4, 0
|
|
adds r0, 0x20
|
|
_0809D5DA:
|
|
str r2, [r0]
|
|
subs r0, 0x4
|
|
subs r1, 0x1
|
|
cmp r1, 0
|
|
bge _0809D5DA
|
|
adds r0, r4, 0
|
|
adds r0, 0x24
|
|
bl sub_809D568
|
|
adds r0, r4, 0
|
|
adds r0, 0x84
|
|
bl sub_809D568
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D5FC: .4byte 0x0000ffff
|
|
thumb_func_end sub_809D5B8
|
|
|
|
thumb_func_start sub_809D600
|
|
sub_809D600:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r7, r0, 0
|
|
adds r6, r1, 0
|
|
mov r8, r2
|
|
adds r4, r3, 0
|
|
ldr r5, [sp, 0x18]
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
lsls r5, 24
|
|
asrs r5, 24
|
|
bl sub_809D5B8
|
|
str r6, [r7]
|
|
mov r0, r8
|
|
str r0, [r7, 0x4]
|
|
strh r4, [r7, 0x10]
|
|
strb r5, [r7, 0x12]
|
|
ldrh r0, [r6]
|
|
strh r0, [r7, 0x8]
|
|
ldr r1, [r6, 0x4]
|
|
cmp r1, 0
|
|
beq _0809D63A
|
|
mov r0, r8
|
|
bl _call_via_r1
|
|
strh r0, [r7, 0xA]
|
|
b _0809D63C
|
|
_0809D63A:
|
|
strh r1, [r7, 0xA]
|
|
_0809D63C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809D600
|
|
|
|
thumb_func_start sub_809D648
|
|
sub_809D648:
|
|
push {lr}
|
|
bl sub_809D5B8
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_809D648
|
|
|
|
thumb_func_start sub_809D654
|
|
sub_809D654:
|
|
movs r1, 0x26
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
thumb_func_end sub_809D654
|
|
|
|
thumb_func_start sub_809D65C
|
|
sub_809D65C:
|
|
push {lr}
|
|
adds r1, r0, 0
|
|
movs r2, 0x26
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
bne _0809D66E
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
b _0809D672
|
|
_0809D66E:
|
|
movs r2, 0x24
|
|
ldrsh r0, [r1, r2]
|
|
_0809D672:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D65C
|
|
|
|
thumb_func_start sub_809D678
|
|
sub_809D678:
|
|
movs r2, 0x26
|
|
ldrsh r1, [r0, r2]
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
bx lr
|
|
thumb_func_end sub_809D678
|
|
|
|
thumb_func_start sub_809D684
|
|
sub_809D684:
|
|
push {lr}
|
|
adds r2, r0, 0
|
|
adds r3, r1, 0
|
|
movs r1, 0x26
|
|
ldrsh r0, [r2, r1]
|
|
cmp r0, 0
|
|
beq _0809D6A4
|
|
ldr r0, [r2, 0x34]
|
|
cmp r0, 0
|
|
beq _0809D69C
|
|
ldr r1, [r2, 0x38]
|
|
b _0809D69E
|
|
_0809D69C:
|
|
ldr r1, [r2, 0x2C]
|
|
_0809D69E:
|
|
ldr r0, [r3]
|
|
cmp r1, r0
|
|
beq _0809D6CC
|
|
_0809D6A4:
|
|
adds r0, r2, 0
|
|
adds r0, 0x86
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
beq _0809D6D0
|
|
adds r0, r2, 0
|
|
adds r0, 0x94
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809D6C0
|
|
adds r0, r2, 0
|
|
adds r0, 0x98
|
|
b _0809D6C4
|
|
_0809D6C0:
|
|
adds r0, r2, 0
|
|
adds r0, 0x8C
|
|
_0809D6C4:
|
|
ldr r1, [r0]
|
|
ldr r0, [r3]
|
|
cmp r1, r0
|
|
bne _0809D6D0
|
|
_0809D6CC:
|
|
movs r0, 0x1
|
|
b _0809D6D2
|
|
_0809D6D0:
|
|
movs r0, 0
|
|
_0809D6D2:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D684
|
|
|
|
thumb_func_start sub_809D6D8
|
|
sub_809D6D8:
|
|
lsls r1, 16
|
|
asrs r1, 14
|
|
adds r0, 0x14
|
|
adds r0, r1
|
|
str r2, [r0]
|
|
bx lr
|
|
thumb_func_end sub_809D6D8
|
|
|
|
thumb_func_start sub_809D6E4
|
|
sub_809D6E4:
|
|
push {r4,lr}
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
lsls r4, r2, 2
|
|
adds r3, r0, 0
|
|
adds r3, 0x14
|
|
adds r3, r4
|
|
ldr r3, [r3]
|
|
str r3, [r1]
|
|
strh r2, [r1, 0x4]
|
|
ldrh r2, [r0, 0x10]
|
|
strh r2, [r1, 0x6]
|
|
ldrb r0, [r0, 0x12]
|
|
strb r0, [r1, 0x8]
|
|
adds r0, r3, 0
|
|
cmp r0, 0
|
|
beq _0809D708
|
|
movs r0, 0x1
|
|
_0809D708:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D6E4
|
|
|
|
thumb_func_start sub_809D710
|
|
sub_809D710:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r3, r1, 0
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
ldr r1, _0809D73C
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r1, 0x8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [r3]
|
|
movs r0, 0x2
|
|
strh r0, [r3, 0x4]
|
|
cmp r4, 0
|
|
beq _0809D740
|
|
ldrh r0, [r4, 0x10]
|
|
strh r0, [r3, 0x6]
|
|
ldrb r0, [r4, 0x12]
|
|
b _0809D746
|
|
.align 2, 0
|
|
_0809D73C: .4byte gUnknown_812F1F8
|
|
_0809D740:
|
|
ldr r0, _0809D750
|
|
strh r0, [r3, 0x6]
|
|
movs r0, 0xFF
|
|
_0809D746:
|
|
strb r0, [r3, 0x8]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_0809D750: .4byte 0x0000ffff
|
|
thumb_func_end sub_809D710
|
|
|
|
thumb_func_start sub_809D754
|
|
sub_809D754:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, 0x24
|
|
bl sub_809D568
|
|
adds r4, 0x84
|
|
adds r0, r4, 0
|
|
bl sub_809D568
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D754
|
|
|
|
thumb_func_start sub_809D770
|
|
sub_809D770:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
adds r0, 0x24
|
|
bl sub_809D568
|
|
adds r0, r4, 0
|
|
adds r0, 0x84
|
|
bl sub_809D568
|
|
movs r0, 0x4
|
|
strh r0, [r4, 0x26]
|
|
movs r0, 0x1
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D770
|
|
|
|
thumb_func_start GroundScript_ExecutePP
|
|
GroundScript_ExecutePP:
|
|
push {r4-r7,lr}
|
|
adds r5, r0, 0
|
|
adds r7, r1, 0
|
|
adds r6, r2, 0
|
|
cmp r6, 0
|
|
beq _0809D7A2
|
|
ldr r0, [r6]
|
|
cmp r0, 0
|
|
bne _0809D7A6
|
|
_0809D7A2:
|
|
movs r0, 0
|
|
b _0809D8B8
|
|
_0809D7A6:
|
|
movs r1, 0x4
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0x5
|
|
bhi _0809D858
|
|
lsls r0, 2
|
|
ldr r1, _0809D7B8
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809D7B8: .4byte _0809D7BC
|
|
.align 2, 0
|
|
_0809D7BC:
|
|
.4byte _0809D830
|
|
.4byte _0809D84A
|
|
.4byte _0809D7D4
|
|
.4byte _0809D7D4
|
|
.4byte _0809D858
|
|
.4byte _0809D7EE
|
|
_0809D7D4:
|
|
movs r3, 0x24
|
|
ldrsh r0, [r5, r3]
|
|
cmp r0, 0x1
|
|
beq _0809D838
|
|
adds r4, r5, 0
|
|
adds r4, 0x24
|
|
cmp r0, 0x5
|
|
bne _0809D86C
|
|
adds r0, r5, 0
|
|
adds r0, 0x84
|
|
bl sub_809D568
|
|
b _0809D86C
|
|
_0809D7EE:
|
|
movs r1, 0x24
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x2
|
|
beq _0809D808
|
|
ldr r0, _0809D800
|
|
ldr r1, _0809D804
|
|
bl FatalError
|
|
.align 2, 0
|
|
_0809D800: .4byte gUnknown_8116538
|
|
_0809D804: .4byte gUnknown_8116544
|
|
_0809D808:
|
|
adds r2, r5, 0
|
|
adds r2, 0x84
|
|
movs r3, 0
|
|
ldrsh r1, [r2, r3]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809D828
|
|
ldr r0, _0809D820
|
|
ldr r1, _0809D824
|
|
bl FatalError
|
|
.align 2, 0
|
|
_0809D820: .4byte gUnknown_8116560
|
|
_0809D824: .4byte gUnknown_811656C
|
|
_0809D828:
|
|
adds r4, r5, 0
|
|
adds r4, 0x24
|
|
adds r0, r2, 0
|
|
b _0809D840
|
|
_0809D830:
|
|
movs r1, 0x24
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x1
|
|
bne _0809D84A
|
|
_0809D838:
|
|
adds r0, r5, 0
|
|
adds r0, 0x84
|
|
adds r4, r5, 0
|
|
adds r4, 0x24
|
|
_0809D840:
|
|
adds r1, r4, 0
|
|
movs r2, 0x60
|
|
bl memcpy
|
|
b _0809D86C
|
|
_0809D84A:
|
|
adds r0, r5, 0
|
|
adds r0, 0x84
|
|
bl sub_809D568
|
|
adds r4, r5, 0
|
|
adds r4, 0x24
|
|
b _0809D86C
|
|
_0809D858:
|
|
ldr r0, _0809D864
|
|
ldr r1, _0809D868
|
|
movs r3, 0x4
|
|
ldrsh r2, [r6, r3]
|
|
bl FatalError
|
|
.align 2, 0
|
|
_0809D864: .4byte gUnknown_8116588
|
|
_0809D868: .4byte gUnknown_8116594
|
|
_0809D86C:
|
|
adds r0, r4, 0
|
|
bl sub_809D568
|
|
cmp r7, 0
|
|
beq _0809D87C
|
|
ldr r0, [r7]
|
|
str r0, [r5, 0xC]
|
|
b _0809D884
|
|
_0809D87C:
|
|
adds r0, r5, 0
|
|
adds r0, 0xC
|
|
bl sub_809D520
|
|
_0809D884:
|
|
ldrh r0, [r6, 0x4]
|
|
movs r1, 0
|
|
strh r0, [r5, 0x24]
|
|
movs r0, 0x3
|
|
strh r0, [r5, 0x26]
|
|
ldrh r0, [r6, 0x6]
|
|
strh r0, [r5, 0x30]
|
|
ldrb r0, [r6, 0x8]
|
|
adds r2, r5, 0
|
|
adds r2, 0x32
|
|
strb r0, [r2]
|
|
ldr r0, [r6]
|
|
str r0, [r5, 0x28]
|
|
str r0, [r5, 0x2C]
|
|
str r1, [r5, 0x34]
|
|
str r1, [r5, 0x38]
|
|
ldr r0, [r5]
|
|
ldr r2, [r0, 0x14]
|
|
cmp r2, 0
|
|
beq _0809D8B6
|
|
ldr r0, [r5, 0x4]
|
|
adds r1, r5, 0
|
|
adds r1, 0x4A
|
|
bl _call_via_r2
|
|
_0809D8B6:
|
|
movs r0, 0x1
|
|
_0809D8B8:
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GroundScript_ExecutePP
|
|
|
|
thumb_func_start sub_809D8C0
|
|
sub_809D8C0:
|
|
push {r4-r6,lr}
|
|
sub sp, 0xC
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r6, r3, 0
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
mov r1, sp
|
|
bl sub_809D6E4
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
mov r2, sp
|
|
adds r3, r6, 0
|
|
bl GroundScript_ExecutePP
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
add sp, 0xC
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D8C0
|
|
|
|
thumb_func_start sub_809D8EC
|
|
sub_809D8EC:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
lsls r1, 16
|
|
asrs r5, r1, 16
|
|
cmp r5, 0
|
|
bne _0809D910
|
|
bl sub_809A750
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809D910
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
bl sub_80A2460
|
|
str r0, [r4, 0x28]
|
|
movs r0, 0
|
|
b _0809D922
|
|
_0809D910:
|
|
adds r0, r4, 0
|
|
adds r0, 0x46
|
|
strh r5, [r0]
|
|
movs r0, 0x2
|
|
strh r0, [r4, 0x26]
|
|
ldr r1, _0809D928
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
_0809D922:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809D928: .4byte gUnknown_2039A36
|
|
thumb_func_end sub_809D8EC
|
|
|
|
thumb_func_start sub_809D92C
|
|
sub_809D92C:
|
|
push {lr}
|
|
ldr r1, _0809D93C
|
|
bl sub_809D770
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809D93C: .4byte gUnknown_81165C8
|
|
thumb_func_end sub_809D92C
|
|
|
|
thumb_func_start sub_809D940
|
|
sub_809D940:
|
|
push {r4,lr}
|
|
bl sub_80A8B74
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80AC378
|
|
orrs r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
bl sub_80AD290
|
|
orrs r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r4, 0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_809D940
|
|
|
|
thumb_func_start sub_809D968
|
|
sub_809D968:
|
|
push {r4-r6,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 16
|
|
asrs r6, r1, 16
|
|
movs r4, 0
|
|
adds r2, r5, 0
|
|
adds r2, 0x46
|
|
ldrh r1, [r2]
|
|
movs r0, 0
|
|
ldrsh r3, [r2, r0]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r3, r0
|
|
beq _0809D98E
|
|
cmp r3, r6
|
|
bne _0809D98E
|
|
ldr r0, _0809D9B4
|
|
strh r0, [r2]
|
|
movs r4, 0x1
|
|
_0809D98E:
|
|
adds r2, r5, 0
|
|
adds r2, 0xA6
|
|
ldrh r1, [r2]
|
|
movs r0, 0
|
|
ldrsh r3, [r2, r0]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r3, r0
|
|
beq _0809D9AA
|
|
cmp r3, r6
|
|
bne _0809D9AA
|
|
ldr r0, _0809D9B4
|
|
strh r0, [r2]
|
|
movs r4, 0x1
|
|
_0809D9AA:
|
|
adds r0, r4, 0
|
|
pop {r4-r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809D9B4: .4byte 0x0000ffff
|
|
thumb_func_end sub_809D968
|
|
|
|
thumb_func_start sub_809D9B8
|
|
sub_809D9B8:
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
ldr r1, _0809D9D4
|
|
adds r1, r0, r1
|
|
movs r3, 0
|
|
movs r2, 0x1
|
|
strb r2, [r1]
|
|
ldr r1, _0809D9D8
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
str r3, [r0]
|
|
ldr r0, _0809D9DC
|
|
strb r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D9D4: .4byte gUnknown_2039A38
|
|
_0809D9D8: .4byte gUnknown_2039B48
|
|
_0809D9DC: .4byte gUnknown_2039A36
|
|
thumb_func_end sub_809D9B8
|
|
|
|
thumb_func_start sub_809D9E0
|
|
sub_809D9E0:
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
ldr r2, _0809D9FC
|
|
adds r2, r0, r2
|
|
movs r3, 0x1
|
|
strb r3, [r2]
|
|
ldr r2, _0809DA00
|
|
lsls r0, 2
|
|
adds r0, r2
|
|
str r1, [r0]
|
|
ldr r0, _0809DA04
|
|
strb r3, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0809D9FC: .4byte gUnknown_2039A38
|
|
_0809DA00: .4byte gUnknown_2039B48
|
|
_0809DA04: .4byte gUnknown_2039A36
|
|
thumb_func_end sub_809D9E0
|
|
|
|
thumb_func_start sub_809DA08
|
|
sub_809DA08:
|
|
push {r4,r5,lr}
|
|
adds r5, r0, 0
|
|
lsls r1, 16
|
|
asrs r4, r1, 16
|
|
ldr r1, _0809DA2C
|
|
lsls r0, r4, 2
|
|
adds r0, r1
|
|
str r2, [r0]
|
|
cmp r4, 0
|
|
bne _0809DA38
|
|
bl sub_809A750
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809DA30
|
|
movs r0, 0
|
|
b _0809DA5E
|
|
.align 2, 0
|
|
_0809DA2C: .4byte gUnknown_2039B48
|
|
_0809DA30:
|
|
adds r0, r5, 0
|
|
adds r0, 0x46
|
|
strh r4, [r0]
|
|
b _0809DA52
|
|
_0809DA38:
|
|
movs r1, 0x80
|
|
adds r2, r5, 0
|
|
adds r2, 0x46
|
|
adds r0, r4, 0
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
ldr r0, _0809DA64
|
|
adds r0, r4, r0
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
ldr r0, _0809DA68
|
|
adds r0, r4, r0
|
|
strb r1, [r0]
|
|
_0809DA52:
|
|
movs r0, 0x2
|
|
strh r0, [r5, 0x26]
|
|
ldr r1, _0809DA6C
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
_0809DA5E:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_0809DA64: .4byte gUnknown_2039A38
|
|
_0809DA68: .4byte gUnknown_2039AC0
|
|
_0809DA6C: .4byte gUnknown_2039A36
|
|
thumb_func_end sub_809DA08
|
|
|
|
thumb_func_start HandleAction
|
|
HandleAction:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x148
|
|
adds r7, r0, 0
|
|
movs r1, 0x26
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
bne _0809DA8A
|
|
bl _0809EAB8
|
|
_0809DA8A:
|
|
movs r2, 0x26
|
|
ldrsh r0, [r7, r2]
|
|
cmp r0, 0x4
|
|
bls _0809DA96
|
|
bl _0809E9CC
|
|
_0809DA96:
|
|
lsls r0, 2
|
|
ldr r1, _0809DAA0
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809DAA0: .4byte _0809DAA4
|
|
.align 2, 0
|
|
_0809DAA4:
|
|
.4byte _0809E9C6
|
|
.4byte _0809E9C6
|
|
.4byte _0809DAB8
|
|
.4byte _0809E900
|
|
.4byte _0809E9C6
|
|
_0809DAB8:
|
|
adds r1, r7, 0
|
|
adds r1, 0x44
|
|
ldrb r0, [r1]
|
|
subs r0, 0x3
|
|
adds r6, r1, 0
|
|
cmp r0, 0xED
|
|
bls _0809DACA
|
|
bl _0809E9D6
|
|
_0809DACA:
|
|
lsls r0, 2
|
|
ldr r1, _0809DAD4
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809DAD4: .4byte _0809DAD8
|
|
.align 2, 0
|
|
_0809DAD8:
|
|
.4byte _0809E382
|
|
.4byte _0809E3C4
|
|
.4byte _0809E524
|
|
.4byte _0809E464
|
|
.4byte _0809E4B4
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809DED6
|
|
.4byte _0809DED6
|
|
.4byte _0809DED6
|
|
.4byte _0809DED6
|
|
.4byte _0809DED6
|
|
.4byte _0809DED6
|
|
.4byte _0809DED6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E308
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E308
|
|
.4byte _0809E31C
|
|
.4byte _0809E75C
|
|
.4byte _0809E33C
|
|
.4byte _0809E368
|
|
.4byte _0809E658
|
|
.4byte _0809E6B4
|
|
.4byte _0809E6E8
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809E9D6
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809E9D6
|
|
.4byte _0809DE90
|
|
.4byte _0809DF60
|
|
.4byte _0809DF60
|
|
.4byte _0809DF60
|
|
.4byte _0809DF60
|
|
.4byte _0809DF60
|
|
.4byte _0809DF60
|
|
.4byte _0809DF60
|
|
.4byte _0809E0A2
|
|
.4byte _0809DFDC
|
|
.4byte _0809DFDC
|
|
.4byte _0809DFDC
|
|
.4byte _0809DFDC
|
|
.4byte _0809DFDC
|
|
.4byte _0809DFDC
|
|
.4byte _0809DFDC
|
|
.4byte _0809E0A2
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E078
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E08C
|
|
.4byte _0809E0E8
|
|
.4byte _0809E0E8
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809E146
|
|
.4byte _0809E146
|
|
.4byte _0809E146
|
|
.4byte _0809E146
|
|
.4byte _0809E146
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809E9D6
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E2D0
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E798
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E864
|
|
.4byte _0809E864
|
|
.4byte _0809E864
|
|
.4byte _0809E864
|
|
.4byte _0809E864
|
|
.4byte _0809E864
|
|
.4byte _0809E864
|
|
.4byte _0809E9D6
|
|
.4byte _0809E8D8
|
|
.4byte _0809DE90
|
|
.4byte _0809DE90
|
|
.4byte _0809DEA6
|
|
.4byte _0809DEBE
|
|
.4byte _0809DED6
|
|
.4byte _0809DEE8
|
|
.4byte _0809DF24
|
|
.4byte _0809DF24
|
|
.4byte _0809E2DE
|
|
.4byte _0809E9D6
|
|
.4byte _0809E2DE
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9D6
|
|
_0809DE90:
|
|
adds r1, r7, 0
|
|
adds r1, 0x4E
|
|
ldrh r2, [r1]
|
|
movs r3, 0
|
|
ldrsh r0, [r1, r3]
|
|
cmp r0, 0
|
|
ble _0809DEA2
|
|
bl _0809EAB2
|
|
_0809DEA2:
|
|
bl _0809E8F4
|
|
_0809DEA6:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r1, [r1, 0x4C]
|
|
bl _call_via_r1
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809DEBA
|
|
bl _0809E9D6
|
|
_0809DEBA:
|
|
bl _0809E8F4
|
|
_0809DEBE:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r1, [r1, 0x50]
|
|
bl _call_via_r1
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809DED2
|
|
bl _0809E9D6
|
|
_0809DED2:
|
|
bl _0809E8F4
|
|
_0809DED6:
|
|
bl sub_8099B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809DEE4
|
|
bl _0809E9D6
|
|
_0809DEE4:
|
|
bl _0809E8F4
|
|
_0809DEE8:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r4-r6}
|
|
stm r1!, {r4-r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
add r0, sp, 0x4
|
|
ldrh r0, [r0, 0x2]
|
|
bl sub_8011940
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809DF06
|
|
bl _0809E8F4
|
|
_0809DF06:
|
|
adds r2, r7, 0
|
|
adds r2, 0x50
|
|
ldrh r1, [r2]
|
|
adds r0, r1, 0x1
|
|
strh r0, [r2]
|
|
lsls r1, 16
|
|
ldr r0, _0809DF20
|
|
cmp r1, r0
|
|
bgt _0809DF1C
|
|
bl _0809E9D6
|
|
_0809DF1C:
|
|
bl _0809E8F4
|
|
.align 2, 0
|
|
_0809DF20: .4byte 0x2a2f0000
|
|
_0809DF24:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
add r0, sp, 0x4
|
|
ldrh r0, [r0, 0x2]
|
|
bl sub_80119C0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809DF42
|
|
bl _0809E8F4
|
|
_0809DF42:
|
|
adds r2, r7, 0
|
|
adds r2, 0x50
|
|
ldrh r1, [r2]
|
|
adds r0, r1, 0x1
|
|
strh r0, [r2]
|
|
lsls r1, 16
|
|
ldr r0, _0809DF5C
|
|
cmp r1, r0
|
|
bgt _0809DF58
|
|
bl _0809E9D6
|
|
_0809DF58:
|
|
bl _0809E8F4
|
|
.align 2, 0
|
|
_0809DF5C: .4byte 0x0e0f0000
|
|
_0809DF60:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r5, sp, 0xA4
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r1, [r7, 0x60]
|
|
ldr r0, [r5]
|
|
subs r1, r0
|
|
add r4, sp, 0xAC
|
|
str r1, [r4]
|
|
ldr r0, [r7, 0x64]
|
|
ldr r1, [r5, 0x4]
|
|
subs r0, r1
|
|
str r0, [r4, 0x4]
|
|
ldr r1, [r7, 0x54]
|
|
adds r0, r4, 0
|
|
bl sub_800290C
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
bne _0809DF98
|
|
ldr r0, [r4, 0x4]
|
|
cmp r0, 0
|
|
bne _0809DF98
|
|
bl _0809E8F4
|
|
_0809DF98:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r1, 0x48]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
movs r1, 0x9
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _0809DFB0
|
|
bl _0809E8F4
|
|
_0809DFB0:
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
movs r1, 0x80
|
|
lsls r1, 5
|
|
ldr r2, [r2, 0x30]
|
|
bl _call_via_r2
|
|
adds r2, r7, 0
|
|
adds r2, 0x4E
|
|
ldrh r0, [r2]
|
|
movs r5, 0
|
|
ldrsh r1, [r2, r5]
|
|
cmp r1, 0
|
|
bge _0809DFD0
|
|
bl _0809E9D6
|
|
_0809DFD0:
|
|
cmp r1, 0
|
|
ble _0809DFD8
|
|
bl _0809EAAC
|
|
_0809DFD8:
|
|
bl _0809E8F4
|
|
_0809DFDC:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r5, sp, 0xB4
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r1, [r7, 0x60]
|
|
ldr r0, [r5]
|
|
subs r1, r0
|
|
add r4, sp, 0xBC
|
|
str r1, [r4]
|
|
ldr r0, [r7, 0x64]
|
|
ldr r1, [r5, 0x4]
|
|
subs r0, r1
|
|
str r0, [r4, 0x4]
|
|
ldr r1, [r7, 0x54]
|
|
adds r0, r4, 0
|
|
bl sub_800290C
|
|
ldr r0, [r4]
|
|
adds r5, r4, 0
|
|
cmp r0, 0
|
|
bne _0809E016
|
|
ldr r0, [r5, 0x4]
|
|
cmp r0, 0
|
|
bne _0809E016
|
|
bl _0809E8F4
|
|
_0809E016:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r1, 0x48]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
adds r4, r0, 0
|
|
adds r0, r5, 0
|
|
bl sub_8002C60
|
|
lsls r0, 24
|
|
adds r2, r7, 0
|
|
adds r2, 0x4A
|
|
asrs r1, r0, 24
|
|
lsrs r0, 24
|
|
strb r0, [r2]
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
movs r0, 0x9
|
|
ands r0, r4
|
|
cmp r0, 0
|
|
beq _0809E04C
|
|
bl _0809E8F4
|
|
_0809E04C:
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
movs r1, 0x80
|
|
lsls r1, 5
|
|
ldr r2, [r2, 0x30]
|
|
bl _call_via_r2
|
|
adds r2, r7, 0
|
|
adds r2, 0x4E
|
|
ldrh r0, [r2]
|
|
movs r6, 0
|
|
ldrsh r1, [r2, r6]
|
|
cmp r1, 0
|
|
bge _0809E06C
|
|
bl _0809E9D6
|
|
_0809E06C:
|
|
cmp r1, 0
|
|
ble _0809E074
|
|
bl _0809EAAC
|
|
_0809E074:
|
|
bl _0809E8F4
|
|
_0809E078:
|
|
adds r6, r7, 0
|
|
adds r6, 0x4E
|
|
movs r1, 0
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0
|
|
ble _0809E088
|
|
bl _0809EA62
|
|
_0809E088:
|
|
bl _0809E8F4
|
|
_0809E08C:
|
|
movs r2, 0x4E
|
|
adds r2, r7
|
|
mov r8, r2
|
|
movs r3, 0
|
|
ldrsh r0, [r2, r3]
|
|
cmp r0, 0
|
|
ble _0809E09E
|
|
bl _0809E9DA
|
|
_0809E09E:
|
|
bl _0809E8F4
|
|
_0809E0A2:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r4, sp, 0xE4
|
|
add r2, sp, 0xE8
|
|
ldr r3, [r1, 0x10]
|
|
adds r1, r4, 0
|
|
bl _call_via_r3
|
|
ldr r0, [r7, 0x6C]
|
|
ldr r1, [r4]
|
|
subs r0, r1
|
|
adds r2, r4, 0
|
|
cmp r0, 0
|
|
bne _0809E0C2
|
|
bl _0809E8F4
|
|
_0809E0C2:
|
|
ldr r4, [r7, 0x54]
|
|
cmn r0, r4
|
|
bge _0809E0CC
|
|
subs r0, r1, r4
|
|
b _0809E0D4
|
|
_0809E0CC:
|
|
cmp r0, r4
|
|
ble _0809E0D2
|
|
adds r0, r4, 0
|
|
_0809E0D2:
|
|
adds r0, r1, r0
|
|
_0809E0D4:
|
|
str r0, [r2]
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r1, sp, 0xE4
|
|
ldr r1, [r1]
|
|
ldr r2, [r2, 0x28]
|
|
bl _call_via_r2
|
|
bl _0809E9D6
|
|
_0809E0E8:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r4, sp, 0x14
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
ldr r2, [r7, 0x54]
|
|
add r4, sp, 0xEC
|
|
adds r0, r4, 0
|
|
bl sub_8002BB8
|
|
ldr r2, [r4]
|
|
ldr r3, [r4, 0x4]
|
|
add r1, sp, 0xF4
|
|
str r2, [r1]
|
|
str r3, [r1, 0x4]
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r2, 0x48]
|
|
bl _call_via_r2
|
|
movs r1, 0x9
|
|
ands r1, r0
|
|
cmp r1, 0
|
|
beq _0809E124
|
|
bl _0809E8F4
|
|
_0809E124:
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
movs r1, 0x80
|
|
lsls r1, 5
|
|
ldr r2, [r2, 0x30]
|
|
bl _call_via_r2
|
|
adds r1, r7, 0
|
|
adds r1, 0x4E
|
|
ldrh r2, [r1]
|
|
movs r4, 0
|
|
ldrsh r0, [r1, r4]
|
|
cmp r0, 0
|
|
ble _0809E144
|
|
bl _0809EAB2
|
|
_0809E144:
|
|
b _0809E8F4
|
|
_0809E146:
|
|
adds r1, r7, 0
|
|
adds r1, 0x4E
|
|
ldrh r2, [r1]
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
mov r10, r1
|
|
cmp r0, 0
|
|
ble _0809E15A
|
|
bl _0809EAB2
|
|
_0809E15A:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
mov r8, r4
|
|
movs r5, 0
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
mov r4, sp
|
|
adds r4, 0x15
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r0, sp, 0x4
|
|
ldrb r0, [r0]
|
|
subs r0, 0x91
|
|
mov r9, r4
|
|
cmp r0, 0x4
|
|
bhi _0809E234
|
|
lsls r0, 2
|
|
ldr r1, _0809E194
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809E194: .4byte _0809E198
|
|
.align 2, 0
|
|
_0809E198:
|
|
.4byte _0809E1AC
|
|
.4byte _0809E1AC
|
|
.4byte _0809E1BA
|
|
.4byte _0809E1E0
|
|
.4byte _0809E20C
|
|
_0809E1AC:
|
|
adds r0, r7, 0
|
|
adds r0, 0x71
|
|
ldrb r0, [r0]
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
mov r8, r0
|
|
b _0809E234
|
|
_0809E1BA:
|
|
ldr r0, [sp, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
cmp r4, 0
|
|
blt _0809E234
|
|
movs r5, 0x1
|
|
add r1, sp, 0xFC
|
|
adds r0, r4, 0
|
|
bl sub_80A8FD8
|
|
add r1, sp, 0x104
|
|
adds r0, r4, 0
|
|
bl sub_80A8F9C
|
|
b _0809E234
|
|
_0809E1E0:
|
|
ldr r0, [sp, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
blt _0809E234
|
|
movs r5, 0x1
|
|
add r1, sp, 0xFC
|
|
bl sub_80A8FD8
|
|
ldr r0, _0809E208
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
add r2, sp, 0x104
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
b _0809E234
|
|
.align 2, 0
|
|
_0809E208: .4byte gUnknown_81164DC
|
|
_0809E20C:
|
|
movs r5, 0x1
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r4, sp, 0xFC
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r1, sp, 0x104
|
|
ldr r2, [r2, 0x8]
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0x8]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_80AD8B4
|
|
_0809E234:
|
|
cmp r5, 0
|
|
beq _0809E282
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r5, sp, 0x10C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r4, sp, 0x114
|
|
ldr r2, [r1, 0x8]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r6, sp, 0xFC
|
|
add r3, sp, 0x104
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
adds r2, r6, 0
|
|
bl sub_8002DF0
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
mov r8, r0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r8, r0
|
|
bne _0809E28C
|
|
ldr r3, _0809E2CC
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
adds r2, r6, 0
|
|
bl sub_8002D54
|
|
lsls r0, 24
|
|
asrs r0, 24
|
|
mov r8, r0
|
|
_0809E282:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r8, r0
|
|
bne _0809E28C
|
|
b _0809E8F4
|
|
_0809E28C:
|
|
mov r5, r9
|
|
movs r0, 0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r8, r0
|
|
bne _0809E298
|
|
b _0809E8F4
|
|
_0809E298:
|
|
mov r6, r9
|
|
movs r0, 0
|
|
ldrsb r0, [r6, r0]
|
|
add r1, sp, 0x4
|
|
ldrh r2, [r1, 0x2]
|
|
lsls r2, 24
|
|
lsrs r2, 24
|
|
mov r1, r8
|
|
bl sub_8002A70
|
|
adds r1, r7, 0
|
|
adds r1, 0x4A
|
|
strb r0, [r1]
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
add r0, sp, 0x4
|
|
ldrb r0, [r0, 0x1]
|
|
mov r1, r10
|
|
strh r0, [r1]
|
|
b _0809E9CC
|
|
.align 2, 0
|
|
_0809E2CC: .4byte gUnknown_81164DC
|
|
_0809E2D0:
|
|
bl sub_809D234
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809E2DC
|
|
b _0809E9D6
|
|
_0809E2DC:
|
|
b _0809E8F4
|
|
_0809E2DE:
|
|
adds r0, r7, 0
|
|
adds r0, 0x46
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809E2F0
|
|
b _0809E9D6
|
|
_0809E2F0:
|
|
ldr r1, _0809E304
|
|
adds r0, r7, 0
|
|
adds r0, 0x4C
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
lsls r0, 2
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
b _0809E8EC
|
|
.align 2, 0
|
|
_0809E304: .4byte gUnknown_2039B48
|
|
_0809E308:
|
|
adds r0, r7, 0
|
|
adds r0, 0x46
|
|
movs r4, 0
|
|
ldrsh r1, [r0, r4]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809E31A
|
|
b _0809E9D6
|
|
_0809E31A:
|
|
b _0809E8CA
|
|
_0809E31C:
|
|
adds r0, r7, 0
|
|
adds r0, 0x46
|
|
movs r5, 0
|
|
ldrsh r1, [r0, r5]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809E32E
|
|
b _0809E9D6
|
|
_0809E32E:
|
|
bl sub_8099B94
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809E33A
|
|
b _0809E9D6
|
|
_0809E33A:
|
|
b _0809E8CA
|
|
_0809E33C:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
add r0, sp, 0x4
|
|
ldrb r1, [r0, 0x1]
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
ldr r3, [sp, 0x8]
|
|
adds r0, r7, 0
|
|
bl sub_80A14E8
|
|
adds r1, r0, 0
|
|
cmp r1, 0
|
|
bge _0809E360
|
|
b _0809E9D6
|
|
_0809E360:
|
|
movs r0, 0x3
|
|
strh r0, [r7, 0x26]
|
|
adds r0, r7, 0
|
|
b _0809E60C
|
|
_0809E368:
|
|
add r0, sp, 0x11C
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E376
|
|
b _0809E9D6
|
|
_0809E376:
|
|
add r0, sp, 0x11C
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl sub_80A2460
|
|
b _0809E8C8
|
|
_0809E382:
|
|
add r0, sp, 0x120
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E390
|
|
b _0809E9D6
|
|
_0809E390:
|
|
add r4, sp, 0x120
|
|
ldr r0, [r4]
|
|
cmp r0, 0
|
|
blt _0809E3BA
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
ldrb r0, [r4]
|
|
bl sub_8002694
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
add r1, sp, 0x4
|
|
movs r3, 0x2
|
|
ldrsh r2, [r1, r3]
|
|
movs r1, 0
|
|
bl sub_8098D1C
|
|
_0809E3BA:
|
|
ldr r1, [r4]
|
|
adds r0, r7, 0
|
|
bl sub_80A2460
|
|
b _0809E8C8
|
|
_0809E3C4:
|
|
adds r4, r7, 0
|
|
adds r4, 0x4C
|
|
movs r5, 0
|
|
ldrsh r0, [r4, r5]
|
|
cmp r0, 0
|
|
bne _0809E40C
|
|
add r0, sp, 0x124
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E3DE
|
|
b _0809E9D6
|
|
_0809E3DE:
|
|
add r0, sp, 0x124
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
blt _0809E400
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A26B8
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x12
|
|
bl sub_80018D8
|
|
movs r0, 0x1
|
|
b _0809E402
|
|
_0809E400:
|
|
ldr r0, _0809E408
|
|
_0809E402:
|
|
strh r0, [r4]
|
|
b _0809E8CE
|
|
.align 2, 0
|
|
_0809E408: .4byte 0x0000ffff
|
|
_0809E40C:
|
|
cmp r0, 0x1
|
|
bne _0809E464
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
movs r0, 0
|
|
movs r1, 0x12
|
|
bl sub_8001658
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
asrs r4, r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x30
|
|
bl sub_8001784
|
|
cmp r4, 0x13
|
|
bne _0809E43C
|
|
cmp r0, 0
|
|
beq _0809E45A
|
|
_0809E43C:
|
|
add r0, sp, 0x4
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
bl sub_8098DCC
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl sub_80A2460
|
|
str r0, [r7, 0x28]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80A87AC
|
|
b _0809E8F4
|
|
_0809E45A:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
movs r2, 0x13
|
|
bl sub_80018D8
|
|
_0809E464:
|
|
adds r0, r7, 0
|
|
adds r0, 0x4C
|
|
movs r2, 0
|
|
ldrsh r1, [r0, r2]
|
|
adds r5, r0, 0
|
|
cmp r1, 0
|
|
bne _0809E4B4
|
|
add r0, sp, 0x128
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E480
|
|
b _0809E9D6
|
|
_0809E480:
|
|
add r0, sp, 0x128
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
blt _0809E4AA
|
|
ldrb r0, [r6]
|
|
cmp r0, 0x4
|
|
bne _0809E49A
|
|
lsls r0, r1, 16
|
|
asrs r0, 16
|
|
bl sub_80A26B8
|
|
lsls r0, 16
|
|
b _0809E49C
|
|
_0809E49A:
|
|
lsls r0, r1, 16
|
|
_0809E49C:
|
|
asrs r2, r0, 16
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_80018D8
|
|
movs r0, 0x1
|
|
b _0809E4AC
|
|
_0809E4AA:
|
|
ldr r0, _0809E4B0
|
|
_0809E4AC:
|
|
strh r0, [r5]
|
|
b _0809E8CE
|
|
.align 2, 0
|
|
_0809E4B0: .4byte 0x0000ffff
|
|
_0809E4B4:
|
|
adds r0, r7, 0
|
|
adds r0, 0x4C
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
adds r5, r0, 0
|
|
cmp r1, 0x1
|
|
beq _0809E4C4
|
|
b _0809E5B8
|
|
_0809E4C4:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r6, r0, 16
|
|
add r4, sp, 0x18
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl sub_80990EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809E580
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
bl sub_8099220
|
|
movs r0, 0x6
|
|
bl sub_80023E4
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
ldrb r0, [r4]
|
|
ldr r4, _0809E51C
|
|
ldr r2, [r4]
|
|
movs r1, 0
|
|
str r1, [sp]
|
|
bl sub_809034C
|
|
adds r1, r0, 0
|
|
ldr r0, _0809E520
|
|
str r1, [r0]
|
|
cmp r1, 0x1
|
|
beq _0809E586
|
|
cmp r1, 0x1
|
|
bcc _0809E580
|
|
cmp r1, 0x2
|
|
bne _0809E5AE
|
|
strh r1, [r5]
|
|
ldr r2, [r4]
|
|
movs r0, 0x9
|
|
b _0809E58E
|
|
.align 2, 0
|
|
_0809E51C: .4byte gUnknown_203B4B0
|
|
_0809E520: .4byte gUnknown_2039DA4
|
|
_0809E524:
|
|
adds r0, r7, 0
|
|
adds r0, 0x4C
|
|
movs r4, 0
|
|
ldrsh r6, [r0, r4]
|
|
adds r5, r0, 0
|
|
cmp r6, 0x1
|
|
bne _0809E5B8
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
bl sub_8001658
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8095228
|
|
adds r4, r0, 0
|
|
movs r0, 0x6
|
|
bl sub_80023E4
|
|
adds r3, r0, 0
|
|
lsls r3, 24
|
|
lsrs r3, 24
|
|
ldrb r0, [r4, 0x4]
|
|
ldr r4, _0809E578
|
|
ldr r2, [r4]
|
|
str r6, [sp]
|
|
movs r1, 0
|
|
bl sub_809034C
|
|
adds r1, r0, 0
|
|
ldr r0, _0809E57C
|
|
str r1, [r0]
|
|
cmp r1, 0x1
|
|
beq _0809E586
|
|
cmp r1, 0x1
|
|
bcc _0809E580
|
|
cmp r1, 0x2
|
|
bne _0809E5AE
|
|
strh r1, [r5]
|
|
ldr r2, [r4]
|
|
movs r0, 0x9
|
|
b _0809E58E
|
|
.align 2, 0
|
|
_0809E578: .4byte gUnknown_203B4B0
|
|
_0809E57C: .4byte gUnknown_2039DA4
|
|
_0809E580:
|
|
movs r0, 0x3
|
|
strh r0, [r5]
|
|
b _0809E9CC
|
|
_0809E586:
|
|
movs r0, 0x4
|
|
strh r0, [r5]
|
|
ldr r2, [r4]
|
|
movs r0, 0xA
|
|
_0809E58E:
|
|
movs r1, 0x1
|
|
bl sub_809B1C0
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
bl sub_809D8EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E5A4
|
|
b _0809E9CC
|
|
_0809E5A4:
|
|
movs r0, 0
|
|
movs r1, 0xB
|
|
bl sub_80A87AC
|
|
b _0809E9CC
|
|
_0809E5AE:
|
|
ldr r0, _0809E5B4
|
|
strh r0, [r5]
|
|
b _0809E9CC
|
|
.align 2, 0
|
|
_0809E5B4: .4byte 0x0000ffff
|
|
_0809E5B8:
|
|
movs r6, 0
|
|
ldrsh r2, [r5, r6]
|
|
cmp r2, 0x2
|
|
bne _0809E5DA
|
|
add r0, sp, 0x12C
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E5CE
|
|
b _0809E9D6
|
|
_0809E5CE:
|
|
add r0, sp, 0x12C
|
|
ldr r0, [r0]
|
|
cmp r0, 0
|
|
beq _0809E626
|
|
movs r0, 0x3
|
|
b _0809E628
|
|
_0809E5DA:
|
|
cmp r2, 0x3
|
|
bne _0809E614
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
strh r2, [r7, 0x26]
|
|
add r0, sp, 0x4
|
|
movs r6, 0x2
|
|
ldrsh r0, [r0, r6]
|
|
bl sub_80999FC
|
|
movs r0, 0x70
|
|
movs r1, 0
|
|
bl GroundMap_ExecuteEvent
|
|
movs r1, 0x8
|
|
ldrsh r0, [r7, r1]
|
|
cmp r0, 0
|
|
bne _0809E608
|
|
b _0809E9CC
|
|
_0809E608:
|
|
adds r0, r7, 0
|
|
movs r1, 0x1
|
|
_0809E60C:
|
|
bl sub_80A2460
|
|
str r0, [r7, 0x28]
|
|
b _0809E9CC
|
|
_0809E614:
|
|
cmp r2, 0x4
|
|
bne _0809E63C
|
|
add r0, sp, 0x130
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E626
|
|
b _0809E9D6
|
|
_0809E626:
|
|
ldr r0, _0809E638
|
|
_0809E628:
|
|
strh r0, [r5]
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_80A87AC
|
|
bl sub_809A76C
|
|
b _0809E9CC
|
|
.align 2, 0
|
|
_0809E638: .4byte 0x0000ffff
|
|
_0809E63C:
|
|
movs r0, 0
|
|
movs r1, 0
|
|
bl sub_8099220
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
adds r2, r4, 0
|
|
bl sub_80018D8
|
|
adds r0, r7, 0
|
|
adds r1, r4, 0
|
|
b _0809E8EE
|
|
_0809E658:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
add r0, sp, 0x134
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E672
|
|
b _0809E9D6
|
|
_0809E672:
|
|
add r0, sp, 0x134
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _0809E6A4
|
|
ldr r0, [sp, 0x8]
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809E6A4
|
|
adds r0, r1, 0
|
|
bl sub_80A8D54
|
|
movs r2, 0
|
|
adds r3, r0, 0
|
|
adds r3, 0x4C
|
|
ldr r4, _0809E6B0
|
|
_0809E696:
|
|
adds r0, r3, r2
|
|
adds r1, r2, r4
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x9
|
|
ble _0809E696
|
|
_0809E6A4:
|
|
add r0, sp, 0x134
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl sub_80A2460
|
|
b _0809E8C8
|
|
.align 2, 0
|
|
_0809E6B0: .4byte gUnknown_2039D98
|
|
_0809E6B4:
|
|
add r0, sp, 0x138
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E6C2
|
|
b _0809E9D6
|
|
_0809E6C2:
|
|
add r4, sp, 0x138
|
|
ldr r0, [r4]
|
|
cmp r0, 0x1
|
|
bne _0809E6D0
|
|
ldr r0, _0809E6DC
|
|
bl sub_80920EC
|
|
_0809E6D0:
|
|
ldr r1, [r4]
|
|
adds r0, r7, 0
|
|
bl sub_80A2460
|
|
b _0809E8C8
|
|
.align 2, 0
|
|
_0809E6DC: .4byte gUnknown_2039D98
|
|
_0809E6E0:
|
|
movs r1, 0x2
|
|
add r0, sp, 0x13C
|
|
str r1, [r0]
|
|
b _0809E74A
|
|
_0809E6E8:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
ldr r5, [sp, 0x10]
|
|
add r0, sp, 0x13C
|
|
bl sub_809B260
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E704
|
|
b _0809E9D6
|
|
_0809E704:
|
|
add r0, sp, 0x13C
|
|
ldr r0, [r0]
|
|
cmp r0, 0x1
|
|
bne _0809E74A
|
|
add r4, sp, 0x18
|
|
ldr r0, _0809E758
|
|
adds r3, r4, 0
|
|
movs r2, 0
|
|
mov r1, sp
|
|
adds r1, 0x27
|
|
_0809E718:
|
|
strb r2, [r1]
|
|
subs r1, 0x1
|
|
cmp r1, r3
|
|
bge _0809E718
|
|
adds r1, r4, 0
|
|
bl sub_80922F4
|
|
movs r2, 0
|
|
ldrb r0, [r4]
|
|
ldrb r3, [r5]
|
|
cmp r0, r3
|
|
bne _0809E6E0
|
|
cmp r0, 0
|
|
beq _0809E74A
|
|
_0809E734:
|
|
adds r2, 0x1
|
|
cmp r2, 0xF
|
|
bgt _0809E74A
|
|
adds r0, r4, r2
|
|
adds r1, r5, r2
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _0809E6E0
|
|
cmp r0, 0
|
|
bne _0809E734
|
|
_0809E74A:
|
|
add r0, sp, 0x13C
|
|
ldr r1, [r0]
|
|
adds r0, r7, 0
|
|
bl sub_80A2460
|
|
b _0809E8C8
|
|
.align 2, 0
|
|
_0809E758: .4byte gUnknown_2039D98
|
|
_0809E75C:
|
|
adds r2, r7, 0
|
|
adds r2, 0x50
|
|
ldrh r3, [r2]
|
|
movs r4, 0
|
|
ldrsh r0, [r2, r4]
|
|
cmp r0, 0
|
|
bne _0809E76C
|
|
b _0809E872
|
|
_0809E76C:
|
|
add r4, sp, 0xA0
|
|
adds r0, r4, 0
|
|
bl sub_809AFFC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E77C
|
|
b _0809E9D6
|
|
_0809E77C:
|
|
ldrb r0, [r4]
|
|
cmp r0, 0
|
|
bne _0809E784
|
|
b _0809E8CA
|
|
_0809E784:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
add r0, sp, 0x4
|
|
movs r4, 0x2
|
|
ldrsh r1, [r0, r4]
|
|
b _0809E8C2
|
|
_0809E798:
|
|
add r1, sp, 0x4
|
|
ldr r0, [r7, 0x40]
|
|
ldm r0!, {r2,r5,r6}
|
|
stm r1!, {r2,r5,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r2, r7, 0
|
|
adds r2, 0x50
|
|
movs r3, 0
|
|
ldrsh r0, [r2, r3]
|
|
adds r4, r2, 0
|
|
cmp r0, 0
|
|
bne _0809E84C
|
|
movs r3, 0
|
|
adds r0, r7, 0
|
|
adds r0, 0x4C
|
|
movs r5, 0
|
|
ldrsh r2, [r0, r5]
|
|
adds r5, r0, 0
|
|
cmp r2, 0
|
|
bge _0809E7CC
|
|
ldr r0, [r7, 0x28]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xD1
|
|
beq _0809E812
|
|
b _0809E8F4
|
|
_0809E7CC:
|
|
ldr r1, [r7, 0x28]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xD0
|
|
bne _0809E7F8
|
|
movs r6, 0x2
|
|
ldrsh r0, [r1, r6]
|
|
cmp r0, r2
|
|
beq _0809E812
|
|
_0809E7DC:
|
|
ldr r0, [r7, 0x28]
|
|
adds r1, r0, 0
|
|
adds r1, 0x10
|
|
str r1, [r7, 0x28]
|
|
ldrb r0, [r0, 0x10]
|
|
cmp r0, 0xD0
|
|
bne _0809E7F8
|
|
movs r0, 0x2
|
|
ldrsh r1, [r1, r0]
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
cmp r1, r0
|
|
bne _0809E7DC
|
|
movs r3, 0x1
|
|
_0809E7F8:
|
|
cmp r3, 0
|
|
bne _0809E812
|
|
ldr r1, [r7, 0x28]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xD1
|
|
bne _0809E8F4
|
|
_0809E804:
|
|
adds r0, r1, 0
|
|
adds r1, 0x10
|
|
str r1, [r7, 0x28]
|
|
ldrb r0, [r0, 0x10]
|
|
cmp r0, 0xD1
|
|
beq _0809E804
|
|
b _0809E8F4
|
|
_0809E812:
|
|
add r0, sp, 0x4
|
|
ldrb r0, [r0, 0x1]
|
|
ldr r1, [sp, 0x8]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r2, [r7, 0x28]
|
|
ldr r2, [r2, 0xC]
|
|
bl sub_809AE90
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809E844
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
bl sub_80A87AC
|
|
adds r0, r7, 0
|
|
movs r1, 0
|
|
bl sub_809D8EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809E844
|
|
movs r0, 0x1
|
|
strh r0, [r4]
|
|
_0809E844:
|
|
ldr r0, [r7, 0x28]
|
|
adds r0, 0x10
|
|
str r0, [r7, 0x28]
|
|
b _0809E9CC
|
|
_0809E84C:
|
|
adds r0, r7, 0
|
|
adds r0, 0x46
|
|
movs r3, 0
|
|
ldrsh r1, [r0, r3]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809E85E
|
|
b _0809E9D6
|
|
_0809E85E:
|
|
movs r0, 0
|
|
strh r0, [r2]
|
|
b _0809E8D0
|
|
_0809E864:
|
|
adds r2, r7, 0
|
|
adds r2, 0x50
|
|
ldrh r3, [r2]
|
|
movs r4, 0
|
|
ldrsh r0, [r2, r4]
|
|
cmp r0, 0
|
|
bne _0809E88A
|
|
_0809E872:
|
|
adds r0, r7, 0
|
|
adds r0, 0x46
|
|
movs r5, 0
|
|
ldrsh r1, [r0, r5]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809E884
|
|
b _0809E9D6
|
|
_0809E884:
|
|
adds r0, r3, 0x1
|
|
strh r0, [r2]
|
|
b _0809E9CC
|
|
_0809E88A:
|
|
add r0, sp, 0x140
|
|
bl sub_809B18C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809E898
|
|
b _0809E9D6
|
|
_0809E898:
|
|
add r0, sp, 0x140
|
|
ldr r3, [r0]
|
|
cmp r3, 0
|
|
ble _0809E8CA
|
|
adds r0, r7, 0
|
|
adds r0, 0x4C
|
|
movs r6, 0
|
|
ldrsh r2, [r0, r6]
|
|
ldr r1, [r7, 0x40]
|
|
lsls r0, r3, 4
|
|
lsls r2, 4
|
|
adds r2, r1
|
|
add r1, sp, 0x4
|
|
adds r0, r2
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
add r0, sp, 0x4
|
|
movs r5, 0x2
|
|
ldrsh r1, [r0, r5]
|
|
_0809E8C2:
|
|
adds r0, r7, 0
|
|
bl sub_80A242C
|
|
_0809E8C8:
|
|
str r0, [r7, 0x28]
|
|
_0809E8CA:
|
|
movs r0, 0x3
|
|
strh r0, [r7, 0x26]
|
|
_0809E8CE:
|
|
movs r0, 0
|
|
_0809E8D0:
|
|
movs r1, 0
|
|
bl sub_80A87AC
|
|
b _0809E9CC
|
|
_0809E8D8:
|
|
adds r0, r7, 0
|
|
adds r0, 0x46
|
|
movs r6, 0
|
|
ldrsh r1, [r0, r6]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bne _0809E9D6
|
|
ldr r0, _0809E8FC
|
|
ldr r1, [r0, 0x4]
|
|
_0809E8EC:
|
|
adds r0, r7, 0
|
|
_0809E8EE:
|
|
bl sub_80A2460
|
|
str r0, [r7, 0x28]
|
|
_0809E8F4:
|
|
movs r0, 0x3
|
|
strh r0, [r7, 0x26]
|
|
b _0809E9CC
|
|
.align 2, 0
|
|
_0809E8FC: .4byte gUnknown_2039B48
|
|
_0809E900:
|
|
adds r0, r7, 0
|
|
bl ExecuteScriptCommand
|
|
strh r0, [r7, 0x26]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x4
|
|
bhi _0809E9BC
|
|
lsls r0, 2
|
|
ldr r1, _0809E91C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809E91C: .4byte _0809E920
|
|
.align 2, 0
|
|
_0809E920:
|
|
.4byte _0809E934
|
|
.4byte _0809E9B8
|
|
.4byte _0809E9BC
|
|
.4byte _0809E9D6
|
|
.4byte _0809E9B4
|
|
_0809E934:
|
|
adds r0, r7, 0
|
|
adds r0, 0x86
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0
|
|
beq _0809E9AA
|
|
adds r4, r7, 0
|
|
adds r4, 0x84
|
|
adds r0, r7, 0
|
|
adds r0, 0x24
|
|
adds r1, r4, 0
|
|
movs r2, 0x60
|
|
bl memcpy
|
|
ldr r2, [r7]
|
|
ldr r0, [r2, 0x2C]
|
|
cmp r0, 0
|
|
beq _0809E98E
|
|
adds r5, r7, 0
|
|
adds r5, 0x4A
|
|
movs r1, 0
|
|
ldrsb r1, [r5, r1]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809E98E
|
|
ldr r0, [r7, 0x4]
|
|
add r1, sp, 0x144
|
|
ldr r2, [r2, 0x18]
|
|
bl _call_via_r2
|
|
add r0, sp, 0x144
|
|
ldr r0, [r0]
|
|
movs r1, 0x80
|
|
lsls r1, 3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809E98E
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
movs r1, 0
|
|
ldrsb r1, [r5, r1]
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
_0809E98E:
|
|
ldr r0, [r7]
|
|
ldr r2, [r0, 0x30]
|
|
cmp r2, 0
|
|
beq _0809E9A2
|
|
ldr r0, [r7, 0x4]
|
|
adds r1, r7, 0
|
|
adds r1, 0x48
|
|
ldrh r1, [r1]
|
|
bl _call_via_r2
|
|
_0809E9A2:
|
|
adds r0, r4, 0
|
|
bl sub_809D568
|
|
b _0809E9D6
|
|
_0809E9AA:
|
|
adds r0, r7, 0
|
|
adds r0, 0x24
|
|
bl sub_809D568
|
|
b _0809E9D6
|
|
_0809E9B4:
|
|
movs r0, 0x4
|
|
b _0809EABA
|
|
_0809E9B8:
|
|
movs r0, 0x1
|
|
b _0809EABA
|
|
_0809E9BC:
|
|
adds r1, r7, 0
|
|
adds r1, 0x50
|
|
movs r0, 0
|
|
strh r0, [r1]
|
|
b _0809E9CC
|
|
_0809E9C6:
|
|
movs r2, 0x26
|
|
ldrsh r0, [r7, r2]
|
|
b _0809EABA
|
|
_0809E9CC:
|
|
movs r3, 0x1
|
|
cmp r3, 0
|
|
beq _0809E9D6
|
|
bl _0809DA8A
|
|
_0809E9D6:
|
|
movs r0, 0x3
|
|
b _0809EABA
|
|
_0809E9DA:
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r4, sp, 0xCC
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r5, sp, 0xD4
|
|
adds r1, r7, 0
|
|
adds r1, 0x58
|
|
adds r2, r7, 0
|
|
adds r2, 0x60
|
|
mov r6, r8
|
|
movs r0, 0
|
|
ldrsh r6, [r6, r0]
|
|
mov r9, r6
|
|
adds r6, r7, 0
|
|
adds r6, 0x50
|
|
movs r3, 0
|
|
ldrsh r0, [r6, r3]
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
mov r3, r9
|
|
bl sub_8002934
|
|
ldr r1, [r5]
|
|
ldr r0, [r4]
|
|
subs r1, r0
|
|
add r0, sp, 0xDC
|
|
str r1, [r0]
|
|
ldr r1, [r5, 0x4]
|
|
ldr r2, [r4, 0x4]
|
|
subs r1, r2
|
|
str r1, [r0, 0x4]
|
|
bl sub_8002C60
|
|
lsls r0, 24
|
|
adds r2, r7, 0
|
|
adds r2, 0x4A
|
|
asrs r1, r0, 24
|
|
lsrs r0, 24
|
|
strb r0, [r2]
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
movs r1, 0x80
|
|
lsls r1, 5
|
|
ldr r2, [r2, 0x30]
|
|
bl _call_via_r2
|
|
mov r4, r8
|
|
ldrh r0, [r4]
|
|
subs r0, 0x1
|
|
strh r0, [r4]
|
|
ldrh r0, [r6]
|
|
adds r0, 0x1
|
|
strh r0, [r6]
|
|
b _0809E9D6
|
|
_0809EA62:
|
|
add r5, sp, 0xC4
|
|
adds r1, r7, 0
|
|
adds r1, 0x58
|
|
adds r2, r7, 0
|
|
adds r2, 0x60
|
|
movs r3, 0
|
|
ldrsh r0, [r6, r3]
|
|
mov r8, r0
|
|
adds r4, r7, 0
|
|
adds r4, 0x50
|
|
movs r3, 0
|
|
ldrsh r0, [r4, r3]
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
mov r3, r8
|
|
bl sub_8002934
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
movs r1, 0x80
|
|
lsls r1, 5
|
|
ldr r2, [r2, 0x30]
|
|
bl _call_via_r2
|
|
ldrh r0, [r6]
|
|
subs r0, 0x1
|
|
strh r0, [r6]
|
|
ldrh r0, [r4]
|
|
adds r0, 0x1
|
|
strh r0, [r4]
|
|
b _0809E9D6
|
|
_0809EAAC:
|
|
subs r0, 0x1
|
|
strh r0, [r2]
|
|
b _0809E9D6
|
|
_0809EAB2:
|
|
subs r0, r2, 0x1
|
|
strh r0, [r1]
|
|
b _0809E9D6
|
|
_0809EAB8:
|
|
movs r0, 0
|
|
_0809EABA:
|
|
add sp, 0x148
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end HandleAction
|
|
|
|
thumb_func_start ExecuteScriptCommand
|
|
ExecuteScriptCommand:
|
|
push {r4-r7,lr}
|
|
mov r7, r10
|
|
mov r6, r9
|
|
mov r5, r8
|
|
push {r5-r7}
|
|
sub sp, 0x1BC
|
|
mov r9, r0
|
|
movs r0, 0x24
|
|
add r0, r9
|
|
mov r10, r0
|
|
_0809EAE0:
|
|
mov r1, r10
|
|
ldr r2, [r1, 0x4]
|
|
str r2, [r1, 0x1C]
|
|
add r1, sp, 0x8
|
|
adds r0, r2, 0
|
|
ldm r0!, {r3-r5}
|
|
stm r1!, {r3-r5}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r2, 0x10
|
|
mov r0, r10
|
|
str r2, [r0, 0x4]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
mov r1, r10
|
|
adds r1, 0x20
|
|
strb r0, [r1]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
subs r0, 0x1
|
|
adds r2, r1, 0
|
|
cmp r0, 0xF5
|
|
bhi _0809EAE0
|
|
lsls r0, 2
|
|
ldr r1, _0809EB18
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809EB18: .4byte _0809EB1C
|
|
.align 2, 0
|
|
_0809EB1C:
|
|
.4byte _0809EEF4
|
|
.4byte _0809EF40
|
|
.4byte _0809EFA2
|
|
.4byte _0809EFD6
|
|
.4byte _0809F064
|
|
.4byte _0809F02A
|
|
.4byte _0809F06C
|
|
.4byte _0809F0D0
|
|
.4byte _0809F0D0
|
|
.4byte _0809F1FC
|
|
.4byte _0809F2C8
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F2D6
|
|
.4byte _0809F42A
|
|
.4byte _0809F432
|
|
.4byte _0809F43A
|
|
.4byte _0809F442
|
|
.4byte _0809F4FE
|
|
.4byte _0809F5BE
|
|
.4byte _0809F5AE
|
|
.4byte _0809F5C6
|
|
.4byte _0809F5C6
|
|
.4byte _0809F660
|
|
.4byte _0809F6EA
|
|
.4byte _0809F786
|
|
.4byte _0809F830
|
|
.4byte _0809F842
|
|
.4byte _0809F854
|
|
.4byte _0809F872
|
|
.4byte _0809F884
|
|
.4byte _0809F896
|
|
.4byte _0809F896
|
|
.4byte _0809F8E8
|
|
.4byte _0809F8F4
|
|
.4byte _0809F900
|
|
.4byte _0809F90C
|
|
.4byte _0809F93E
|
|
.4byte _0809FAF8
|
|
.4byte _0809FB10
|
|
.4byte _0809F92E
|
|
.4byte _0809F936
|
|
.4byte _0809FB28
|
|
.4byte _0809FB28
|
|
.4byte _0809FB28
|
|
.4byte _0809FB28
|
|
.4byte _0809FB28
|
|
.4byte _0809FB28
|
|
.4byte _0809FB28
|
|
.4byte _0809FBDA
|
|
.4byte _0809FC12
|
|
.4byte _0809FC40
|
|
.4byte _0809FC2E
|
|
.4byte _0809FC46
|
|
.4byte _0809FCA4
|
|
.4byte _0809FCC4
|
|
.4byte _0809EAE0
|
|
.4byte _080A0E3A
|
|
.4byte _0809FCE8
|
|
.4byte _0809FCF0
|
|
.4byte _0809FD0A
|
|
.4byte _0809FD38
|
|
.4byte _0809FD6C
|
|
.4byte _0809FDA0
|
|
.4byte _0809FDA8
|
|
.4byte _0809FDC2
|
|
.4byte _0809FDD4
|
|
.4byte _0809FDE2
|
|
.4byte _0809FDC2
|
|
.4byte _0809FDD4
|
|
.4byte _0809FDE2
|
|
.4byte _0809FE04
|
|
.4byte _0809FE28
|
|
.4byte _0809FE86
|
|
.4byte _0809FEBE
|
|
.4byte _0809FED0
|
|
.4byte _0809FF00
|
|
.4byte _0809FF32
|
|
.4byte _0809FF46
|
|
.4byte _0809FF62
|
|
.4byte _0809FF78
|
|
.4byte _0809FF9A
|
|
.4byte _0809FFBA
|
|
.4byte _0809FFE4
|
|
.4byte _080A0010
|
|
.4byte _080A0064
|
|
.4byte _080A0096
|
|
.4byte _080A010E
|
|
.4byte _080A0186
|
|
.4byte _080A0198
|
|
.4byte _080A01B8
|
|
.4byte _080A01F0
|
|
.4byte _080A0220
|
|
.4byte _080A0250
|
|
.4byte _080A0282
|
|
.4byte _080A0282
|
|
.4byte _080A0560
|
|
.4byte _080A0198
|
|
.4byte _080A01B8
|
|
.4byte _080A01F0
|
|
.4byte _080A0220
|
|
.4byte _080A0250
|
|
.4byte _080A0282
|
|
.4byte _080A0282
|
|
.4byte _080A0560
|
|
.4byte _080A02B2
|
|
.4byte _080A0310
|
|
.4byte _080A0370
|
|
.4byte _080A03F8
|
|
.4byte _080A0462
|
|
.4byte _080A04F2
|
|
.4byte _080A02B2
|
|
.4byte _080A0310
|
|
.4byte _080A0370
|
|
.4byte _080A03F8
|
|
.4byte _080A0462
|
|
.4byte _080A04F2
|
|
.4byte _080A02B2
|
|
.4byte _080A0310
|
|
.4byte _080A0370
|
|
.4byte _080A03F8
|
|
.4byte _080A0462
|
|
.4byte _080A04F2
|
|
.4byte _080A02B2
|
|
.4byte _080A0310
|
|
.4byte _080A0370
|
|
.4byte _080A03F8
|
|
.4byte _080A0462
|
|
.4byte _080A04F2
|
|
.4byte _080A057C
|
|
.4byte _080A05A4
|
|
.4byte _080A05F0
|
|
.4byte _080A060E
|
|
.4byte _080A065C
|
|
.4byte _080A068A
|
|
.4byte _080A068A
|
|
.4byte _080A068A
|
|
.4byte _080A07CA
|
|
.4byte _080A07DC
|
|
.4byte _080A07C4
|
|
.4byte _080A07C4
|
|
.4byte _080A07C4
|
|
.4byte _0809EAE0
|
|
.4byte _080A080C
|
|
.4byte _080A081E
|
|
.4byte _080A086A
|
|
.4byte _080A08BE
|
|
.4byte _080A08CA
|
|
.4byte _080A091E
|
|
.4byte _080A0986
|
|
.4byte _080A0998
|
|
.4byte _080A09EA
|
|
.4byte _080A0A52
|
|
.4byte _080A0A64
|
|
.4byte _080A0AB6
|
|
.4byte _080A0B1E
|
|
.4byte _080A0B30
|
|
.4byte _080A0B42
|
|
.4byte _080A0B54
|
|
.4byte _080A0B6C
|
|
.4byte _080A0B88
|
|
.4byte _080A0BA2
|
|
.4byte _080A0BB4
|
|
.4byte _080A0BDA
|
|
.4byte _080A0BF6
|
|
.4byte _080A0C08
|
|
.4byte _080A0C20
|
|
.4byte _080A0C38
|
|
.4byte _080A0C50
|
|
.4byte _080A0C68
|
|
.4byte _080A0C80
|
|
.4byte _080A0C90
|
|
.4byte _080A0CA2
|
|
.4byte _080A0CC8
|
|
.4byte _080A0CF2
|
|
.4byte _080A0D16
|
|
.4byte _080A0D40
|
|
.4byte _080A0D6A
|
|
.4byte _080A0D7A
|
|
.4byte _080A0D94
|
|
.4byte _080A0DAE
|
|
.4byte _080A0DD6
|
|
.4byte _080A0E08
|
|
.4byte _080A0DE2
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _080A0E56
|
|
.4byte _0809EAE0
|
|
.4byte _0809EAE0
|
|
.4byte _0809EAE0
|
|
.4byte _080A10A0
|
|
.4byte _0809EAE0
|
|
.4byte _0809EAE0
|
|
.4byte _080A10F8
|
|
.4byte _080A10F8
|
|
.4byte _080A10F8
|
|
.4byte _080A10F8
|
|
.4byte _080A10F8
|
|
.4byte _080A10F8
|
|
.4byte _080A10F8
|
|
.4byte _0809EAE0
|
|
.4byte _080A129E
|
|
.4byte _080A12A8
|
|
.4byte _080A12B4
|
|
.4byte _0809F0C4
|
|
.4byte _0809F0C4
|
|
.4byte _0809F0C4
|
|
.4byte _0809F0C4
|
|
.4byte _0809F0C4
|
|
.4byte _0809F0C4
|
|
.4byte _080A12D0
|
|
.4byte _080A12E6
|
|
.4byte _080A12F4
|
|
.4byte _080A1318
|
|
.4byte _080A1324
|
|
.4byte _080A1338
|
|
.4byte _080A1344
|
|
.4byte _080A1368
|
|
.4byte _080A1374
|
|
.4byte _080A13CA
|
|
.4byte _080A13F8
|
|
.4byte _080A1404
|
|
.4byte _080A140C
|
|
.4byte _080A1428
|
|
.4byte _080A142C
|
|
.4byte _0809EAE0
|
|
.4byte _0809EAE0
|
|
.4byte _0809EAE0
|
|
.4byte _0809EAE0
|
|
.4byte _0809EAE0
|
|
_0809EEF4:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
adds r6, r4, 0
|
|
add r0, sp, 0x8
|
|
ldrb r5, [r0, 0x1]
|
|
movs r0, 0x1
|
|
bl sub_8011BA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809EF26
|
|
ldr r1, _0809EF38
|
|
ldr r2, _0809EF3C
|
|
lsls r0, r4, 1
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
adds r2, 0x8
|
|
adds r0, r2
|
|
ldr r3, [r0]
|
|
str r5, [sp]
|
|
movs r0, 0x1
|
|
adds r2, r4, 0
|
|
bl Log
|
|
_0809EF26:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r2, [r0, r1]
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl sub_8098D1C
|
|
b _0809EAE0
|
|
.align 2, 0
|
|
_0809EF38: .4byte gUnknown_81165D4
|
|
_0809EF3C: .4byte gUnknown_811BAF4
|
|
_0809EF40:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r5, 0x1
|
|
negs r5, r5
|
|
cmp r4, r5
|
|
bne _0809EF5A
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
_0809EF5A:
|
|
movs r0, 0x1
|
|
bl sub_8011BA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809EF70
|
|
ldr r1, _0809EF90
|
|
movs r0, 0x1
|
|
adds r2, r4, 0
|
|
bl Log
|
|
_0809EF70:
|
|
cmp r4, r5
|
|
beq _0809EF94
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
adds r0, r4, 0
|
|
bl sub_8098E18
|
|
mov r0, r9
|
|
movs r1, 0x1
|
|
bl sub_80A2460
|
|
mov r3, r9
|
|
str r0, [r3, 0x28]
|
|
b _0809EAE0
|
|
.align 2, 0
|
|
_0809EF90: .4byte gUnknown_81165F4
|
|
_0809EF94:
|
|
mov r0, r9
|
|
movs r1, 0
|
|
bl sub_80A2460
|
|
mov r4, r9
|
|
str r0, [r4, 0x28]
|
|
b _0809EAE0
|
|
_0809EFA2:
|
|
ldr r0, [sp, 0xC]
|
|
bl sub_8021700
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809EFBE
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
mov r0, r9
|
|
bl sub_80A2460
|
|
mov r5, r9
|
|
str r0, [r5, 0x28]
|
|
b _0809EAE0
|
|
_0809EFBE:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_8098D80
|
|
mov r0, r9
|
|
movs r1, 0
|
|
bl sub_80A2460
|
|
mov r2, r9
|
|
str r0, [r2, 0x28]
|
|
b _0809EAE0
|
|
_0809EFD6:
|
|
ldr r1, [sp, 0xC]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bne _0809F00C
|
|
bl sub_802FCF0
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
cmp r4, 0
|
|
bne _0809F0BC
|
|
movs r0, 0xC
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809B1C0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F0BC
|
|
movs r0, 0
|
|
movs r1, 0xB
|
|
bl sub_80A87AC
|
|
mov r0, r9
|
|
adds r0, 0x4C
|
|
strh r4, [r0]
|
|
b _0809F0C4
|
|
_0809F00C:
|
|
lsls r0, r1, 16
|
|
asrs r0, 16
|
|
bl sub_80A26B8
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x12
|
|
bl sub_80018D8
|
|
mov r1, r9
|
|
adds r1, 0x4C
|
|
movs r0, 0x1
|
|
b _0809F0C2
|
|
_0809F02A:
|
|
ldr r2, [sp, 0xC]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r2, r0
|
|
bne _0809F054
|
|
movs r0, 0x24
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_809B1C0
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F0BC
|
|
movs r0, 0
|
|
movs r1, 0xB
|
|
bl sub_80A87AC
|
|
mov r1, r9
|
|
adds r1, 0x4C
|
|
movs r0, 0
|
|
b _0809F0C2
|
|
_0809F054:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_80018D8
|
|
mov r1, r9
|
|
adds r1, 0x4C
|
|
movs r0, 0x1
|
|
b _0809F0C2
|
|
_0809F064:
|
|
mov r1, r9
|
|
adds r1, 0x4C
|
|
movs r0, 0x1
|
|
b _0809F0C2
|
|
_0809F06C:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
bne _0809F088
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
b _0809F092
|
|
_0809F088:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
adds r2, r4, 0
|
|
bl sub_80018D8
|
|
_0809F092:
|
|
movs r0, 0x1
|
|
bl sub_8011BA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F0A8
|
|
ldr r1, _0809F0B8
|
|
movs r0, 0x1
|
|
adds r2, r4, 0
|
|
bl Log
|
|
_0809F0A8:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r4, r0
|
|
beq _0809F0BC
|
|
mov r1, r9
|
|
adds r1, 0x4C
|
|
movs r0, 0x1
|
|
b _0809F0C2
|
|
.align 2, 0
|
|
_0809F0B8: .4byte gUnknown_811660C
|
|
_0809F0BC:
|
|
mov r1, r9
|
|
adds r1, 0x4C
|
|
ldr r0, _0809F0CC
|
|
_0809F0C2:
|
|
strh r0, [r1]
|
|
_0809F0C4:
|
|
movs r0, 0x2
|
|
bl _080A142E
|
|
.align 2, 0
|
|
_0809F0CC: .4byte 0x0000ffff
|
|
_0809F0D0:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x8
|
|
bne _0809F130
|
|
ldr r5, _0809F11C
|
|
ldr r0, [sp, 0xC]
|
|
strh r0, [r5]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A4D7C
|
|
ldr r4, _0809F120
|
|
strh r0, [r4]
|
|
ldr r1, _0809F124
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
bl sub_8011BA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F16A
|
|
ldr r1, _0809F128
|
|
movs r3, 0
|
|
ldrsh r2, [r5, r3]
|
|
movs r5, 0
|
|
ldrsh r3, [r4, r5]
|
|
ldr r4, _0809F12C
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r4, 0x8
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
bl Log
|
|
b _0809F16A
|
|
.align 2, 0
|
|
_0809F11C: .4byte gUnknown_2039A30
|
|
_0809F120: .4byte gUnknown_2039A32
|
|
_0809F124: .4byte gUnknown_2039A34
|
|
_0809F128: .4byte gUnknown_8116628
|
|
_0809F12C: .4byte gUnknown_811BAF4
|
|
_0809F130:
|
|
ldr r5, _0809F1E8
|
|
ldr r4, _0809F1EC
|
|
ldr r1, [sp, 0xC]
|
|
strh r1, [r4]
|
|
strh r1, [r5]
|
|
ldr r0, _0809F1F0
|
|
strh r1, [r0]
|
|
movs r0, 0x1
|
|
bl sub_8011BA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F16A
|
|
ldr r1, _0809F1F4
|
|
movs r0, 0
|
|
ldrsh r2, [r4, r0]
|
|
movs r4, 0
|
|
ldrsh r3, [r5, r4]
|
|
ldr r4, _0809F1F8
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r4, 0x8
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
bl Log
|
|
_0809F16A:
|
|
ldr r5, _0809F1EC
|
|
movs r0, 0
|
|
ldrsh r2, [r5, r0]
|
|
movs r0, 0
|
|
movs r1, 0x10
|
|
bl sub_80018D8
|
|
ldr r6, _0809F1F8
|
|
movs r2, 0
|
|
ldrsh r1, [r5, r2]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r0, r6
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
movs r0, 0
|
|
movs r1, 0x11
|
|
bl sub_80018D8
|
|
ldr r4, _0809F1E8
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
bl GroundSprite_Reset
|
|
bl sub_809D0BC
|
|
bl sub_80AD9D0
|
|
bl sub_80A786C
|
|
bl sub_80ABB98
|
|
bl sub_80ACBD4
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
lsls r1, r0, 1
|
|
adds r1, r0
|
|
lsls r1, 2
|
|
adds r1, r6
|
|
movs r3, 0x2
|
|
ldrsh r1, [r1, r3]
|
|
bl sub_809C770
|
|
movs r5, 0
|
|
ldrsh r0, [r4, r5]
|
|
bl GroundMap_Select
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
bl GroundLink_Select
|
|
movs r2, 0
|
|
ldrsh r0, [r4, r2]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl GroundLives_Select
|
|
movs r3, 0
|
|
ldrsh r0, [r4, r3]
|
|
b _0809F2A0
|
|
.align 2, 0
|
|
_0809F1E8: .4byte gUnknown_2039A32
|
|
_0809F1EC: .4byte gUnknown_2039A30
|
|
_0809F1F0: .4byte gUnknown_2039A34
|
|
_0809F1F4: .4byte gUnknown_8116644
|
|
_0809F1F8: .4byte gUnknown_811BAF4
|
|
_0809F1FC:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A2608
|
|
adds r6, r0, 0
|
|
ldr r1, _0809F2AC
|
|
ldr r5, _0809F2B0
|
|
ldr r4, _0809F2B4
|
|
ldr r0, [sp, 0x10]
|
|
strh r0, [r4]
|
|
strh r0, [r5]
|
|
strh r0, [r1]
|
|
movs r0, 0x1
|
|
bl sub_8011BA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F242
|
|
ldr r1, _0809F2B8
|
|
movs r0, 0
|
|
ldrsh r2, [r4, r0]
|
|
movs r4, 0
|
|
ldrsh r3, [r5, r4]
|
|
ldr r4, _0809F2BC
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r4, 0x8
|
|
adds r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [sp]
|
|
movs r0, 0x1
|
|
bl Log
|
|
_0809F242:
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
bl GroundSprite_Reset
|
|
bl sub_809D0BC
|
|
bl sub_80AD9D0
|
|
bl sub_80A786C
|
|
bl sub_80ABB98
|
|
bl sub_80ACBD4
|
|
ldrb r2, [r6, 0xC]
|
|
ldr r1, _0809F2C0
|
|
ldr r0, [sp, 0x58]
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
str r0, [sp, 0x58]
|
|
add r1, sp, 0x8
|
|
ldrh r2, [r1, 0x2]
|
|
lsls r2, 24
|
|
lsrs r2, 16
|
|
ldr r1, _0809F2C4
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
str r0, [sp, 0x58]
|
|
movs r2, 0
|
|
ldrsh r0, [r5, r2]
|
|
add r1, sp, 0x58
|
|
add r2, sp, 0x8
|
|
ldrb r2, [r2, 0x1]
|
|
bl GroundMap_SelectDungeon
|
|
movs r3, 0
|
|
ldrsh r0, [r5, r3]
|
|
bl GroundLink_Select
|
|
movs r4, 0
|
|
ldrsh r0, [r5, r4]
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl GroundLives_Select
|
|
movs r1, 0
|
|
ldrsh r0, [r5, r1]
|
|
_0809F2A0:
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl GroundObject_Select
|
|
b _0809EAE0
|
|
.align 2, 0
|
|
_0809F2AC: .4byte gUnknown_2039A34
|
|
_0809F2B0: .4byte gUnknown_2039A32
|
|
_0809F2B4: .4byte gUnknown_2039A30
|
|
_0809F2B8: .4byte gUnknown_8116664
|
|
_0809F2BC: .4byte gUnknown_811BAF4
|
|
_0809F2C0: .4byte 0xffffff00
|
|
_0809F2C4: .4byte 0xffff00ff
|
|
_0809F2C8:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl GroundWeather_Select
|
|
bl _0809EAE0
|
|
_0809F2D6:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _0809F2E8
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
b _0809F2EE
|
|
_0809F2E8:
|
|
mov r3, r10
|
|
movs r4, 0xC
|
|
ldrsh r0, [r3, r4]
|
|
_0809F2EE:
|
|
adds r6, r0, 0
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
blt _0809F302
|
|
add r0, sp, 0x8
|
|
movs r1, 0x1
|
|
ldrsb r1, [r0, r1]
|
|
b _0809F308
|
|
_0809F302:
|
|
mov r5, r10
|
|
movs r1, 0xE
|
|
ldrsb r1, [r5, r1]
|
|
_0809F308:
|
|
adds r5, r1, 0
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
subs r0, 0xC
|
|
cmp r0, 0x9
|
|
bls _0809F318
|
|
bl _0809EAE0
|
|
_0809F318:
|
|
lsls r0, 2
|
|
ldr r1, _0809F324
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809F324: .4byte _0809F328
|
|
.align 2, 0
|
|
_0809F328:
|
|
.4byte _0809F350
|
|
.4byte _0809F380
|
|
.4byte _0809F398
|
|
.4byte _0809F3B0
|
|
.4byte _0809F3C8
|
|
.4byte _0809F3E0
|
|
.4byte _0809F3FA
|
|
.4byte _0809F406
|
|
.4byte _0809F412
|
|
.4byte _0809F41E
|
|
_0809F350:
|
|
ldr r4, _0809F37C
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundLives_Select
|
|
movs r2, 0
|
|
ldrsh r0, [r4, r2]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundObject_Select
|
|
movs r3, 0
|
|
ldrsh r0, [r4, r3]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundEffect_Select
|
|
movs r1, 0
|
|
ldrsh r0, [r4, r1]
|
|
b _0809F3CE
|
|
.align 2, 0
|
|
_0809F37C: .4byte gUnknown_2039A32
|
|
_0809F380:
|
|
ldr r0, _0809F394
|
|
movs r2, 0
|
|
ldrsh r0, [r0, r2]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundLives_Select
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809F394: .4byte gUnknown_2039A32
|
|
_0809F398:
|
|
ldr r0, _0809F3AC
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundObject_Select
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809F3AC: .4byte gUnknown_2039A32
|
|
_0809F3B0:
|
|
ldr r0, _0809F3C4
|
|
movs r4, 0
|
|
ldrsh r0, [r0, r4]
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundEffect_Select
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809F3C4: .4byte gUnknown_2039A32
|
|
_0809F3C8:
|
|
ldr r0, _0809F3DC
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
_0809F3CE:
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundEvent_Select
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809F3DC: .4byte gUnknown_2039A32
|
|
_0809F3E0:
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl GroundLives_Cancel
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl GroundObject_Cancel
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl GroundEffect_Cancel
|
|
b _0809F41E
|
|
_0809F3FA:
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl GroundLives_Cancel
|
|
bl _0809EAE0
|
|
_0809F406:
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl GroundObject_Cancel
|
|
bl _0809EAE0
|
|
_0809F412:
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl GroundEffect_Cancel
|
|
bl _0809EAE0
|
|
_0809F41E:
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
bl GroundEvent_Cancel
|
|
bl _0809EAE0
|
|
_0809F42A:
|
|
bl sub_80A79FC
|
|
bl _0809EAE0
|
|
_0809F432:
|
|
bl GroundObject_CancelBlank
|
|
bl _0809EAE0
|
|
_0809F43A:
|
|
bl GroundEffect_CancelBlank
|
|
bl _0809EAE0
|
|
_0809F442:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
add r4, sp, 0x18
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r6, sp, 0x1C
|
|
ldr r0, [sp, 0x10]
|
|
add r5, sp, 0x34
|
|
movs r2, 0
|
|
strb r0, [r5]
|
|
ldrb r1, [r4]
|
|
mov r0, sp
|
|
adds r0, 0x35
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
movs r1, 0x1
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r1, [r0]
|
|
str r2, [sp, 0x38]
|
|
add r4, sp, 0x3C
|
|
adds r0, r4, 0
|
|
movs r1, 0
|
|
movs r2, 0x10
|
|
bl memset
|
|
ldr r2, _0809F4AC
|
|
ldr r1, [sp, 0xC]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x8
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r4, 0xC]
|
|
adds r0, r6, 0
|
|
adds r1, r5, 0
|
|
movs r2, 0x18
|
|
bl memcpy
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
adds r1, r6, 0
|
|
cmp r0, 0
|
|
blt _0809F4B0
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
b _0809F4B6
|
|
.align 2, 0
|
|
_0809F4AC: .4byte gUnknown_812F1F8
|
|
_0809F4B0:
|
|
mov r4, r10
|
|
movs r5, 0xC
|
|
ldrsh r2, [r4, r5]
|
|
_0809F4B6:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
blt _0809F4C8
|
|
add r0, sp, 0x8
|
|
movs r3, 0x1
|
|
ldrsb r3, [r0, r3]
|
|
b _0809F4CE
|
|
_0809F4C8:
|
|
mov r0, r10
|
|
movs r3, 0xE
|
|
ldrsb r3, [r0, r3]
|
|
_0809F4CE:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl GroundObject_Add
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
cmp r5, 0
|
|
bge _0809F4E2
|
|
bl _0809EAE0
|
|
_0809F4E2:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
add r4, sp, 0x5C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_80AC49C
|
|
bl _0809EAE0
|
|
_0809F4FE:
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
add r4, sp, 0x4C
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r5, sp, 0x1C
|
|
ldr r0, [sp, 0x10]
|
|
add r1, sp, 0x28
|
|
movs r3, 0
|
|
strb r0, [r1]
|
|
ldrb r2, [r4]
|
|
mov r0, sp
|
|
adds r0, 0x29
|
|
strb r2, [r0]
|
|
adds r0, 0x1
|
|
movs r2, 0x1
|
|
strb r2, [r0]
|
|
adds r0, 0x1
|
|
strb r2, [r0]
|
|
str r3, [sp, 0x2C]
|
|
ldr r3, _0809F55C
|
|
ldr r2, [sp, 0xC]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 2
|
|
adds r3, 0x8
|
|
adds r0, r3
|
|
ldr r0, [r0]
|
|
str r0, [sp, 0x30]
|
|
adds r0, r5, 0
|
|
movs r2, 0xC
|
|
bl memcpy
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
adds r1, r5, 0
|
|
cmp r0, 0
|
|
blt _0809F560
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
b _0809F566
|
|
.align 2, 0
|
|
_0809F55C: .4byte gUnknown_812F1F8
|
|
_0809F560:
|
|
mov r5, r10
|
|
movs r0, 0xC
|
|
ldrsh r2, [r5, r0]
|
|
_0809F566:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
blt _0809F578
|
|
add r0, sp, 0x8
|
|
movs r3, 0x1
|
|
ldrsb r3, [r0, r3]
|
|
b _0809F57E
|
|
_0809F578:
|
|
mov r4, r10
|
|
movs r3, 0xE
|
|
ldrsb r3, [r4, r3]
|
|
_0809F57E:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
bl GroundEffect_Add
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
cmp r5, 0
|
|
bge _0809F592
|
|
bl _0809EAE0
|
|
_0809F592:
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
add r4, sp, 0x64
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
bl sub_80AD3B4
|
|
bl _0809EAE0
|
|
_0809F5AE:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
movs r1, 0x1
|
|
bl GroundMap_ExecuteEvent
|
|
bl _0809EAE0
|
|
_0809F5BE:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
b _0809F712
|
|
_0809F5C6:
|
|
ldr r1, [sp, 0xC]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809F5D6
|
|
lsls r0, r1, 16
|
|
asrs r0, 16
|
|
b _0809F5DC
|
|
_0809F5D6:
|
|
ldr r0, _0809F5F0
|
|
movs r3, 0
|
|
ldrsh r0, [r0, r3]
|
|
_0809F5DC:
|
|
adds r4, r0, 0
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _0809F5F4
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r0, r5]
|
|
b _0809F5FA
|
|
.align 2, 0
|
|
_0809F5F0: .4byte gUnknown_2039A30
|
|
_0809F5F4:
|
|
mov r0, r10
|
|
movs r2, 0xC
|
|
ldrsh r1, [r0, r2]
|
|
_0809F5FA:
|
|
adds r6, r1, 0
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
blt _0809F60E
|
|
add r0, sp, 0x8
|
|
movs r5, 0x1
|
|
ldrsb r5, [r0, r5]
|
|
b _0809F614
|
|
_0809F60E:
|
|
mov r3, r10
|
|
movs r5, 0xE
|
|
ldrsb r5, [r3, r5]
|
|
_0809F614:
|
|
adds r0, r4, 0
|
|
bl sub_80A4D7C
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
movs r3, 0
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x1E
|
|
bne _0809F62A
|
|
movs r3, 0x1
|
|
_0809F62A:
|
|
adds r0, r4, 0
|
|
adds r1, r6, 0
|
|
adds r2, r5, 0
|
|
bl GroundMap_ExecuteStation
|
|
ldr r1, _0809F65C
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
cmp r0, r4
|
|
bne _0809F642
|
|
bl _0809EAE0
|
|
_0809F642:
|
|
strh r4, [r1]
|
|
bl sub_809D940
|
|
mov r1, r9
|
|
movs r2, 0x8
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0
|
|
bne _0809F656
|
|
bl _0809EAE0
|
|
_0809F656:
|
|
bl _080A142C
|
|
.align 2, 0
|
|
_0809F65C: .4byte gUnknown_2039A34
|
|
_0809F660:
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
adds r0, r4, 0
|
|
bl sub_80A2608
|
|
adds r5, r0, 0
|
|
lsls r2, r4, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x30
|
|
bl sub_8001784
|
|
cmp r0, 0
|
|
bne _0809F68A
|
|
movs r3, 0x6
|
|
ldrsh r5, [r5, r3]
|
|
b _0809F68E
|
|
_0809F68A:
|
|
movs r0, 0x8
|
|
ldrsh r5, [r5, r0]
|
|
_0809F68E:
|
|
adds r0, r4, 0
|
|
subs r0, 0x37
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x10
|
|
bls _0809F6DC
|
|
adds r0, r4, 0
|
|
bl sub_80A2750
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0x1
|
|
bne _0809F6DC
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r5, r0
|
|
bne _0809F6D8
|
|
movs r0, 0x1
|
|
bl sub_8011BA4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _0809F6C6
|
|
ldr r1, _0809F6D4
|
|
movs r0, 0x1
|
|
adds r2, r4, 0
|
|
bl Log
|
|
_0809F6C6:
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_8098E18
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809F6D4: .4byte gUnknown_8116684
|
|
_0809F6D8:
|
|
adds r0, r5, 0
|
|
b _0809F712
|
|
_0809F6DC:
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
adds r0, r4, 0
|
|
bl sub_8098E18
|
|
bl _0809EAE0
|
|
_0809F6EA:
|
|
mov r1, r9
|
|
movs r2, 0xC
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0x1
|
|
beq _0809F71C
|
|
cmp r0, 0x1
|
|
bgt _0809F700
|
|
cmp r0, 0
|
|
beq _0809F70C
|
|
bl _0809EAE0
|
|
_0809F700:
|
|
cmp r0, 0x2
|
|
beq _0809F73E
|
|
cmp r0, 0x3
|
|
beq _0809F762
|
|
bl _0809EAE0
|
|
_0809F70C:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
_0809F712:
|
|
movs r1, 0
|
|
bl GroundMap_ExecuteEvent
|
|
bl _0809EAE0
|
|
_0809F71C:
|
|
add r4, sp, 0x1C
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
mov r0, r9
|
|
adds r1, r4, 0
|
|
bl sub_809D710
|
|
mov r1, r9
|
|
movs r2, 0xE
|
|
ldrsh r0, [r1, r2]
|
|
adds r1, 0x8
|
|
adds r2, r4, 0
|
|
bl GroundLives_ExecuteScript
|
|
bl _0809EAE0
|
|
_0809F73E:
|
|
add r4, sp, 0x28
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
mov r0, r9
|
|
adds r1, r4, 0
|
|
bl sub_809D710
|
|
mov r5, r9
|
|
movs r1, 0xE
|
|
ldrsh r0, [r5, r1]
|
|
mov r1, r9
|
|
adds r1, 0x8
|
|
adds r2, r4, 0
|
|
bl GroundObject_ExecuteScript
|
|
bl _0809EAE0
|
|
_0809F762:
|
|
add r4, sp, 0x34
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
mov r0, r9
|
|
adds r1, r4, 0
|
|
bl sub_809D710
|
|
mov r5, r9
|
|
movs r1, 0xE
|
|
ldrsh r0, [r5, r1]
|
|
mov r1, r9
|
|
adds r1, 0x8
|
|
adds r2, r4, 0
|
|
bl GroundEffect_ExecuteScript
|
|
bl _0809EAE0
|
|
_0809F786:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
mov r8, r0
|
|
cmp r0, 0
|
|
bge _0809F79E
|
|
bl _0809EAE0
|
|
_0809F79E:
|
|
add r1, sp, 0x6C
|
|
bl sub_80A8BD8
|
|
ldr r0, [sp, 0x6C]
|
|
movs r1, 0x80
|
|
lsls r1, 2
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809F818
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
add r7, sp, 0x70
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r7, 0
|
|
bl _call_via_r2
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
add r5, sp, 0x78
|
|
ldr r2, [r1, 0x8]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
add r6, sp, 0x80
|
|
mov r0, r8
|
|
adds r1, r6, 0
|
|
bl sub_80A8FD8
|
|
add r4, sp, 0x88
|
|
mov r0, r8
|
|
adds r1, r4, 0
|
|
bl sub_80A8F9C
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
adds r2, r7, 0
|
|
adds r3, r5, 0
|
|
bl sub_8002DF0
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
adds r4, r1, 0
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bne _0809F812
|
|
ldr r3, _0809F82C
|
|
adds r0, r7, 0
|
|
adds r1, r3, 0
|
|
adds r2, r6, 0
|
|
bl sub_8002D54
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
cmp r1, r4
|
|
beq _0809F818
|
|
_0809F812:
|
|
mov r0, r8
|
|
bl sub_80A9090
|
|
_0809F818:
|
|
mov r4, r9
|
|
movs r5, 0xA
|
|
ldrsh r0, [r4, r5]
|
|
mov r1, r8
|
|
bl GroundLives_ExecutePlayerScriptActionLives
|
|
movs r0, 0x3
|
|
bl _080A142E
|
|
.align 2, 0
|
|
_0809F82C: .4byte gUnknown_81164DC
|
|
_0809F830:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_80999E8
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A130C
|
|
_0809F842:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
bl sub_80999FC
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A130C
|
|
_0809F854:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
lsrs r1, 16
|
|
ldr r2, [sp, 0x10]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
bl sub_8099A10
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A130C
|
|
_0809F872:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
bl sub_8099A34
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A130C
|
|
_0809F884:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
bl sub_8099A48
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A130C
|
|
_0809F896:
|
|
ldr r0, [sp, 0x10]
|
|
asrs r0, 16
|
|
add r1, sp, 0x20
|
|
movs r2, 0
|
|
strb r0, [r1]
|
|
ldr r0, [sp, 0x10]
|
|
asrs r0, 8
|
|
adds r1, 0x1
|
|
strb r0, [r1]
|
|
ldr r1, [sp, 0x10]
|
|
mov r0, sp
|
|
adds r0, 0x22
|
|
strb r1, [r0]
|
|
adds r0, 0x1
|
|
strb r2, [r0]
|
|
ldr r2, [sp, 0x20]
|
|
str r2, [sp, 0x1C]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x27
|
|
beq _0809F8C6
|
|
cmp r0, 0x28
|
|
beq _0809F8D4
|
|
b _0809F8E0
|
|
_0809F8C6:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
ldr r1, [sp, 0xC]
|
|
bl sub_8099A5C
|
|
b _0809F8E0
|
|
_0809F8D4:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
ldr r1, [sp, 0xC]
|
|
bl sub_8099AFC
|
|
_0809F8E0:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A130C
|
|
_0809F8E8:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
bl sub_809A6E4
|
|
bl _0809EAE0
|
|
_0809F8F4:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
bl sub_809A6F8
|
|
bl _0809EAE0
|
|
_0809F900:
|
|
ldr r0, [sp, 0xC]
|
|
ldr r1, [sp, 0x10]
|
|
bl sub_809A738
|
|
bl _0809EAE0
|
|
_0809F90C:
|
|
bl sub_809A768
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809F91A
|
|
bl _0809EAE0
|
|
_0809F91A:
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
bl sub_80A87AC
|
|
mov r0, r9
|
|
movs r1, 0
|
|
bl sub_809D8EC
|
|
bl _080A130A
|
|
_0809F92E:
|
|
bl sub_809A76C
|
|
bl _0809EAE0
|
|
_0809F936:
|
|
bl sub_809A7B4
|
|
bl _0809EAE0
|
|
_0809F93E:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0xA
|
|
bls _0809F94A
|
|
bl _0809EAE0
|
|
_0809F94A:
|
|
lsls r0, 2
|
|
ldr r1, _0809F954
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809F954: .4byte _0809F958
|
|
.align 2, 0
|
|
_0809F958:
|
|
.4byte _0809F984
|
|
.4byte _0809F992
|
|
.4byte _0809F9A4
|
|
.4byte _0809F9B6
|
|
.4byte _0809F9D8
|
|
.4byte _0809F9EA
|
|
.4byte _0809F9FC
|
|
.4byte _0809FA44
|
|
.4byte _0809FA56
|
|
.4byte _0809FA68
|
|
.4byte _0809FAB0
|
|
_0809F984:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
bl sub_809A83C
|
|
bl _0809EAE0
|
|
_0809F992:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
mov r1, r9
|
|
adds r1, 0x8
|
|
bl sub_80A2500
|
|
bl _0809EAE0
|
|
_0809F9A4:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
mov r1, r9
|
|
adds r1, 0xC
|
|
bl sub_80A2500
|
|
bl _0809EAE0
|
|
_0809F9B6:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
add r1, sp, 0x90
|
|
lsls r0, 16
|
|
movs r2, 0x1
|
|
orrs r0, r2
|
|
str r0, [r1]
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
bl sub_80A2500
|
|
bl _0809EAE0
|
|
_0809F9D8:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
mov r1, r9
|
|
adds r1, 0x8
|
|
bl sub_80A252C
|
|
bl _0809EAE0
|
|
_0809F9EA:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
mov r1, r9
|
|
adds r1, 0xC
|
|
bl sub_80A252C
|
|
bl _0809EAE0
|
|
_0809F9FC:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
add r1, sp, 0x94
|
|
ldrh r2, [r1]
|
|
orrs r2, r0
|
|
str r2, [r1]
|
|
cmp r2, 0
|
|
blt _0809FA30
|
|
ldr r0, _0809FA2C
|
|
ands r2, r0
|
|
movs r0, 0x1
|
|
orrs r2, r0
|
|
str r2, [r1]
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
bl sub_80A252C
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809FA2C: .4byte 0xffff0000
|
|
_0809FA30:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_80A2584
|
|
bl _0809EAE0
|
|
_0809FA44:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
mov r1, r9
|
|
adds r1, 0x8
|
|
bl sub_80A2558
|
|
bl _0809EAE0
|
|
_0809FA56:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
mov r1, r9
|
|
adds r1, 0xC
|
|
bl sub_80A2558
|
|
bl _0809EAE0
|
|
_0809FA68:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
add r1, sp, 0x98
|
|
ldrh r2, [r1]
|
|
orrs r2, r0
|
|
str r2, [r1]
|
|
cmp r2, 0
|
|
blt _0809FA9C
|
|
ldr r0, _0809FA98
|
|
ands r2, r0
|
|
movs r0, 0x1
|
|
orrs r2, r0
|
|
str r2, [r1]
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
bl sub_80A2558
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809FA98: .4byte 0xffff0000
|
|
_0809FA9C:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_80A2598
|
|
bl _0809EAE0
|
|
_0809FAB0:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A2740
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
movs r4, 0
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
beq _0809FAD0
|
|
cmp r0, 0x2
|
|
beq _0809FAD4
|
|
b _0809FAD8
|
|
_0809FAD0:
|
|
movs r4, 0x1
|
|
b _0809FAD8
|
|
_0809FAD4:
|
|
movs r4, 0x1
|
|
negs r4, r4
|
|
_0809FAD8:
|
|
adds r0, r1, 0
|
|
bl sub_8090298
|
|
ldr r2, _0809FAF4
|
|
add r1, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r1, [r1, r3]
|
|
lsls r1, 2
|
|
adds r1, r2
|
|
adds r0, r4
|
|
str r0, [r1]
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809FAF4: .4byte gUnknown_202DE30
|
|
_0809FAF8:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
add r2, sp, 0x8
|
|
ldrb r2, [r2, 0x1]
|
|
bl sub_809AC7C
|
|
bl _0809EAE0
|
|
_0809FB10:
|
|
ldr r0, [sp, 0xC]
|
|
add r1, sp, 0x9C
|
|
str r0, [r1]
|
|
ldr r0, [sp, 0x10]
|
|
str r0, [r1, 0x4]
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
bl sub_809ADD8
|
|
bl _0809EAE0
|
|
_0809FB28:
|
|
movs r1, 0
|
|
ldrb r0, [r2]
|
|
subs r0, 0x32
|
|
cmp r0, 0x6
|
|
bhi _0809FBBE
|
|
lsls r0, 2
|
|
ldr r1, _0809FB3C
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0809FB3C: .4byte _0809FB40
|
|
.align 2, 0
|
|
_0809FB40:
|
|
.4byte _0809FB5C
|
|
.4byte _0809FB6C
|
|
.4byte _0809FB7C
|
|
.4byte _0809FB8C
|
|
.4byte _0809FB9C
|
|
.4byte _0809FBAC
|
|
.4byte _0809FBB4
|
|
_0809FB5C:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
ldr r2, [sp, 0x14]
|
|
movs r0, 0
|
|
bl sub_809AE90
|
|
b _0809FBBA
|
|
_0809FB6C:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r1, [r0, r3]
|
|
ldr r2, [sp, 0x14]
|
|
movs r0, 0x1
|
|
bl sub_809AE90
|
|
b _0809FBBA
|
|
_0809FB7C:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r0, r4]
|
|
ldr r2, [sp, 0x14]
|
|
movs r0, 0x2
|
|
bl sub_809AE90
|
|
b _0809FBBA
|
|
_0809FB8C:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r0, r5]
|
|
ldr r2, [sp, 0x14]
|
|
movs r0, 0x3
|
|
bl sub_809AE90
|
|
b _0809FBBA
|
|
_0809FB9C:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
ldr r2, [sp, 0x14]
|
|
movs r0, 0x4
|
|
bl sub_809AE90
|
|
b _0809FBBA
|
|
_0809FBAC:
|
|
ldr r0, [sp, 0x14]
|
|
bl sub_809AEEC
|
|
b _0809FBBA
|
|
_0809FBB4:
|
|
ldr r0, [sp, 0x14]
|
|
bl sub_809AF2C
|
|
_0809FBBA:
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
_0809FBBE:
|
|
cmp r1, 0
|
|
bne _0809FBC6
|
|
bl _0809EAE0
|
|
_0809FBC6:
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
bl sub_80A87AC
|
|
mov r0, r9
|
|
movs r1, 0
|
|
bl sub_809D8EC
|
|
bl _080A130A
|
|
_0809FBDA:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
ldr r1, [sp, 0x14]
|
|
bl sub_809AF6C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _0809FBF0
|
|
bl _0809EAE0
|
|
_0809FBF0:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
bge _0809FBFE
|
|
bl _0809EAE0
|
|
_0809FBFE:
|
|
movs r0, 0
|
|
movs r1, 0xA
|
|
bl sub_80A87AC
|
|
mov r0, r9
|
|
movs r1, 0
|
|
bl sub_809D8EC
|
|
bl _080A130A
|
|
_0809FC12:
|
|
add r0, sp, 0x8
|
|
ldrb r1, [r0, 0x1]
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x10]
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
ldr r3, [sp, 0x14]
|
|
bl sub_809AFC8
|
|
bl _080A1280
|
|
_0809FC2E:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x10]
|
|
ldr r3, [sp, 0x14]
|
|
bl sub_809B1D4
|
|
bl _080A1292
|
|
_0809FC40:
|
|
movs r0, 0
|
|
bl _080A0654
|
|
_0809FC46:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _0809FC90
|
|
adds r0, r1, 0
|
|
bl sub_80A8D54
|
|
cmp r0, 0
|
|
bne _0809FC62
|
|
bl _0809EAE0
|
|
_0809FC62:
|
|
movs r3, 0
|
|
ldr r2, _0809FC8C
|
|
adds r5, r2, 0
|
|
adds r4, r0, 0
|
|
adds r4, 0x4C
|
|
_0809FC6C:
|
|
adds r0, r3, r5
|
|
adds r1, r4, r3
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x9
|
|
ble _0809FC6C
|
|
movs r0, 0
|
|
strb r0, [r2, 0xA]
|
|
movs r0, 0x4
|
|
movs r1, 0
|
|
bl sub_809B1C0
|
|
bl _080A1292
|
|
.align 2, 0
|
|
_0809FC8C: .4byte gUnknown_2039D98
|
|
_0809FC90:
|
|
ldr r2, _0809FCA0
|
|
movs r0, 0x4
|
|
movs r1, 0x1
|
|
bl sub_809B1C0
|
|
bl _080A1292
|
|
.align 2, 0
|
|
_0809FCA0: .4byte gUnknown_2039D98
|
|
_0809FCA4:
|
|
ldr r4, _0809FCC0
|
|
adds r0, r4, 0
|
|
bl sub_80920B8
|
|
movs r0, 0
|
|
strb r0, [r4, 0xA]
|
|
movs r0, 0x5
|
|
movs r1, 0
|
|
adds r2, r4, 0
|
|
bl sub_809B1C0
|
|
bl _080A1292
|
|
.align 2, 0
|
|
_0809FCC0: .4byte gUnknown_2039D98
|
|
_0809FCC4:
|
|
ldr r2, _0809FCE4
|
|
adds r3, r2, 0
|
|
movs r1, 0
|
|
adds r0, r2, 0
|
|
adds r0, 0xB
|
|
_0809FCCE:
|
|
strb r1, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, r3
|
|
bge _0809FCCE
|
|
add r0, sp, 0x8
|
|
ldrb r1, [r0, 0x1]
|
|
movs r0, 0x6
|
|
bl sub_809B1C0
|
|
bl _080A1292
|
|
.align 2, 0
|
|
_0809FCE4: .4byte gUnknown_2039D98
|
|
_0809FCE8:
|
|
bl sub_80118A4
|
|
bl _0809EAE0
|
|
_0809FCF0:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _0809FD00
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
b _0809FD02
|
|
_0809FD00:
|
|
movs r0, 0x1E
|
|
_0809FD02:
|
|
bl sub_80118C4
|
|
bl _0809EAE0
|
|
_0809FD0A:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0
|
|
bne _0809FD1E
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80A25AC
|
|
b _0809FD20
|
|
_0809FD1E:
|
|
ldr r0, [sp, 0xC]
|
|
_0809FD20:
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _0809FD34
|
|
cmp r1, r0
|
|
beq _0809FDA0
|
|
adds r0, r1, 0
|
|
bl sub_80118F0
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809FD34: .4byte 0x000003e7
|
|
_0809FD38:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0
|
|
bne _0809FD4C
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80A25AC
|
|
b _0809FD4E
|
|
_0809FD4C:
|
|
ldr r0, [sp, 0xC]
|
|
_0809FD4E:
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
ldr r0, _0809FD68
|
|
cmp r2, r0
|
|
beq _0809FDA0
|
|
add r0, sp, 0x8
|
|
ldrh r1, [r0, 0x2]
|
|
adds r0, r2, 0
|
|
bl sub_8011900
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809FD68: .4byte 0x000003e7
|
|
_0809FD6C:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
cmp r0, 0
|
|
bne _0809FD80
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_80A25AC
|
|
b _0809FD82
|
|
_0809FD80:
|
|
ldr r0, [sp, 0xC]
|
|
_0809FD82:
|
|
lsls r0, 16
|
|
lsrs r1, r0, 16
|
|
ldr r0, _0809FD9C
|
|
cmp r1, r0
|
|
bne _0809FD90
|
|
bl _0809EAE0
|
|
_0809FD90:
|
|
adds r0, r1, 0
|
|
bl sub_8011914
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_0809FD9C: .4byte 0x000003e7
|
|
_0809FDA0:
|
|
bl sub_8011924
|
|
bl _0809EAE0
|
|
_0809FDA8:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _0809FDB8
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
b _0809FDBA
|
|
_0809FDB8:
|
|
movs r0, 0x1E
|
|
_0809FDBA:
|
|
bl sub_8011930
|
|
bl _0809EAE0
|
|
_0809FDC2:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
movs r1, 0x80
|
|
lsls r1, 1
|
|
bl sub_8011974
|
|
bl _0809EAE0
|
|
_0809FDD4:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
bl sub_801199C
|
|
bl _0809EAE0
|
|
_0809FDE2:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
lsrs r2, r0, 16
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _0809FDF8
|
|
add r0, sp, 0x8
|
|
ldrh r1, [r0, 0x2]
|
|
b _0809FDFA
|
|
_0809FDF8:
|
|
movs r1, 0x1E
|
|
_0809FDFA:
|
|
adds r0, r2, 0
|
|
bl sub_80119AC
|
|
bl _0809EAE0
|
|
_0809FE04:
|
|
mov r1, r9
|
|
adds r1, 0x84
|
|
movs r5, 0
|
|
ldrsh r0, [r1, r5]
|
|
cmp r0, 0x1
|
|
bne _0809FE16
|
|
adds r0, r1, 0
|
|
bl sub_809D568
|
|
_0809FE16:
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r2, [r1, 0x1C]
|
|
movs r1, 0
|
|
bl _call_via_r2
|
|
bl _0809EAE0
|
|
_0809FE28:
|
|
mov r0, r9
|
|
adds r0, 0xC
|
|
bl sub_809D52C
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
bne _0809FE3A
|
|
bl _0809EAE0
|
|
_0809FE3A:
|
|
ldr r1, [r4]
|
|
mov r2, r9
|
|
ldr r0, [r2, 0x4]
|
|
add r5, sp, 0xA4
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r1, [r4]
|
|
mov r3, r9
|
|
ldr r0, [r3, 0x4]
|
|
mov r4, sp
|
|
adds r4, 0x4D
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldrb r0, [r4]
|
|
mov r1, r9
|
|
adds r1, 0x4A
|
|
strb r0, [r1]
|
|
mov r1, r9
|
|
ldr r2, [r1]
|
|
ldr r0, [r1, 0x4]
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
bl _0809EAE0
|
|
_0809FE86:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
add r6, sp, 0xAC
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
add r4, sp, 0xB4
|
|
add r5, sp, 0xBC
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
adds r3, r6, 0
|
|
bl sub_80AD914
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r3, [r1, 0x20]
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl _call_via_r3
|
|
bl _0809EAE0
|
|
_0809FEBE:
|
|
mov r1, r9
|
|
ldr r2, [r1]
|
|
ldr r0, [r1, 0x4]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [r2, 0x3C]
|
|
bl _call_via_r2
|
|
bl _0809EAE0
|
|
_0809FED0:
|
|
ldr r0, [sp, 0xC]
|
|
movs r1, 0x80
|
|
lsls r1, 3
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _0809FEEE
|
|
mov r1, r9
|
|
adds r1, 0x84
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0x1
|
|
bne _0809FEEE
|
|
adds r0, r1, 0
|
|
bl sub_809D568
|
|
_0809FEEE:
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [r2, 0x40]
|
|
bl _call_via_r2
|
|
bl _0809EAE0
|
|
_0809FF00:
|
|
mov r4, r9
|
|
ldr r2, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
mov r1, r9
|
|
adds r1, 0x4A
|
|
ldr r2, [r2, 0x14]
|
|
bl _call_via_r2
|
|
add r0, sp, 0x8
|
|
ldrh r1, [r0, 0x2]
|
|
cmp r1, 0
|
|
beq _0809FF1E
|
|
mov r0, r9
|
|
adds r0, 0x48
|
|
strh r1, [r0]
|
|
_0809FF1E:
|
|
mov r5, r9
|
|
ldr r2, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
add r1, sp, 0x8
|
|
ldrh r1, [r1, 0x2]
|
|
ldr r2, [r2, 0x30]
|
|
bl _call_via_r2
|
|
bl _0809EAE0
|
|
_0809FF32:
|
|
mov r0, r9
|
|
ldr r2, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
add r1, sp, 0x8
|
|
ldrh r1, [r1, 0x2]
|
|
ldr r2, [r2, 0x34]
|
|
bl _call_via_r2
|
|
bl _0809EAE0
|
|
_0809FF46:
|
|
mov r1, r9
|
|
ldr r3, [r1]
|
|
ldr r0, [r1, 0x4]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
add r2, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r2, r4]
|
|
ldr r3, [r3, 0x38]
|
|
bl _call_via_r3
|
|
bl _0809EAE0
|
|
_0809FF62:
|
|
mov r5, r9
|
|
ldr r2, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
add r1, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r1, [r1, r3]
|
|
ldr r2, [r2, 0x44]
|
|
bl _call_via_r2
|
|
bl _0809EAE0
|
|
_0809FF78:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 8
|
|
add r1, sp, 0xC4
|
|
str r0, [r1]
|
|
ldr r0, [sp, 0x10]
|
|
lsls r0, 8
|
|
str r0, [r1, 0x4]
|
|
mov r4, r9
|
|
ldr r2, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
ldr r2, [r2, 0x24]
|
|
bl _call_via_r2
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
mov r5, r10
|
|
b _080A05EA
|
|
_0809FF9A:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
lsls r0, 8
|
|
add r1, sp, 0xCC
|
|
str r0, [r1]
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 8
|
|
str r0, [r1, 0x4]
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
ldr r2, [r2, 0x48]
|
|
bl _call_via_r2
|
|
b _080A0650
|
|
_0809FFBA:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
bl OtherRandomCapped
|
|
lsls r0, 8
|
|
add r4, sp, 0xD4
|
|
str r0, [r4]
|
|
ldr r0, [sp, 0xC]
|
|
bl OtherRandomCapped
|
|
lsls r0, 8
|
|
str r0, [r4, 0x4]
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r2, [r1, 0x48]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
b _080A07B4
|
|
_0809FFE4:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
add r4, sp, 0xDC
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_80AD8B4
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
b _080A0650
|
|
_080A0010:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
add r6, sp, 0xE4
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
add r4, sp, 0xEC
|
|
add r5, sp, 0xF4
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
adds r3, r6, 0
|
|
bl sub_80AD914
|
|
ldr r0, [r5]
|
|
ldr r1, [r4]
|
|
subs r0, r1
|
|
bl OtherRandomCapped
|
|
ldr r1, [r4]
|
|
adds r1, r0
|
|
str r1, [r6]
|
|
ldr r0, [r5, 0x4]
|
|
ldr r1, [r4, 0x4]
|
|
subs r0, r1
|
|
bl OtherRandomCapped
|
|
ldr r1, [r4, 0x4]
|
|
adds r1, r0
|
|
str r1, [r6, 0x4]
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
b _080A07B4
|
|
_080A0064:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
bge _080A007A
|
|
bl _0809EAE0
|
|
_080A007A:
|
|
add r4, sp, 0xFC
|
|
adds r1, r4, 0
|
|
bl sub_80A8FD8
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
b _080A03F0
|
|
_080A0096:
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x32
|
|
bl sub_8001784
|
|
add r5, sp, 0x104
|
|
str r0, [r5]
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x33
|
|
bl sub_8001784
|
|
str r0, [r5, 0x4]
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x34
|
|
bl sub_8001784
|
|
adds r6, r0, 0
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
movs r1, 0x35
|
|
bl sub_8001784
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
asrs r4, 24
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
ldr r2, [r1, 0x28]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
mov r0, r9
|
|
adds r0, 0x4A
|
|
strb r4, [r0]
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
ldr r2, [r1, 0x2C]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
b _080A0650
|
|
_080A010E:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
add r4, sp, 0x10C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
ldr r3, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
add r1, sp, 0x114
|
|
add r2, sp, 0x118
|
|
ldr r3, [r3, 0x10]
|
|
bl _call_via_r3
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
mov r5, sp
|
|
adds r5, 0x4E
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
add r0, sp, 0x10C
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
movs r1, 0x32
|
|
bl sub_800199C
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r3, [r4, 0x4]
|
|
movs r0, 0
|
|
movs r1, 0x33
|
|
bl sub_800199C
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
add r0, sp, 0x114
|
|
ldr r3, [r0]
|
|
movs r0, 0
|
|
movs r1, 0x34
|
|
bl sub_800199C
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r3, 0
|
|
ldrsb r3, [r5, r3]
|
|
movs r0, 0
|
|
movs r1, 0x35
|
|
bl sub_800199C
|
|
bl _0809EAE0
|
|
_080A0186:
|
|
mov r0, r9
|
|
ldr r2, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 8
|
|
ldr r2, [r2, 0x28]
|
|
bl _call_via_r2
|
|
b _080A07B4
|
|
_080A0198:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 8
|
|
mov r2, r10
|
|
str r0, [r2, 0x3C]
|
|
ldr r0, [sp, 0x10]
|
|
lsls r0, 8
|
|
str r0, [r2, 0x40]
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
str r0, [r2, 0x30]
|
|
ldr r0, _080A01B4
|
|
bl _080A12AE
|
|
.align 2, 0
|
|
_080A01B4: .4byte 0x0000ffff
|
|
_080A01B8:
|
|
mov r4, r9
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
add r4, sp, 0x11C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 8
|
|
add r0, sp, 0x11C
|
|
ldr r0, [r0]
|
|
adds r0, r1
|
|
mov r5, r10
|
|
str r0, [r5, 0x3C]
|
|
ldr r1, [sp, 0x10]
|
|
lsls r1, 8
|
|
ldr r0, [r4, 0x4]
|
|
adds r0, r1
|
|
str r0, [r5, 0x40]
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
str r0, [r5, 0x30]
|
|
ldr r0, _080A01EC
|
|
b _080A05EA
|
|
.align 2, 0
|
|
_080A01EC: .4byte 0x0000ffff
|
|
_080A01F0:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
mov r4, r10
|
|
adds r4, 0x3C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_80AD8B4
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
mov r4, r10
|
|
str r0, [r4, 0x30]
|
|
ldr r0, _080A021C
|
|
b _080A0656
|
|
.align 2, 0
|
|
_080A021C: .4byte 0x0000ffff
|
|
_080A0220:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
mov r4, r10
|
|
adds r4, 0x3C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_80AD8B4
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
mov r2, r10
|
|
str r0, [r2, 0x30]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A12AE
|
|
_080A0250:
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
mov r4, r10
|
|
adds r4, 0x3C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_80AD8B4
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
mov r5, r10
|
|
str r0, [r5, 0x30]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl OtherRandomCapped
|
|
b _080A05EA
|
|
_080A0282:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
bge _080A0298
|
|
bl _0809EAE0
|
|
_080A0298:
|
|
mov r1, r10
|
|
adds r1, 0x3C
|
|
bl sub_80A8FD8
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
mov r2, r10
|
|
str r0, [r2, 0x30]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
bl _080A12AE
|
|
_080A02B2:
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
mov r1, r10
|
|
adds r1, 0x34
|
|
ldr r2, [r2, 0xC]
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r1, r0, 8
|
|
mov r4, r10
|
|
str r1, [r4, 0x3C]
|
|
ldr r0, [sp, 0x10]
|
|
lsls r2, r0, 8
|
|
str r2, [r4, 0x40]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x7D
|
|
beq _080A02DC
|
|
cmp r0, 0x83
|
|
bne _080A0304
|
|
_080A02DC:
|
|
mov r5, r10
|
|
ldr r0, [r5, 0x34]
|
|
subs r0, r1, r0
|
|
ldr r1, [r5, 0x38]
|
|
subs r1, r2, r1
|
|
bl sub_8009FB8
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
bl __divsi3
|
|
strh r0, [r5, 0x2A]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _080A0300
|
|
bl _0809F0C4
|
|
_080A0300:
|
|
movs r0, 0x1
|
|
b _080A05EA
|
|
_080A0304:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
mov r3, r10
|
|
strh r0, [r3, 0x2A]
|
|
bl _0809F0C4
|
|
_080A0310:
|
|
mov r4, r9
|
|
ldr r2, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
mov r1, r10
|
|
adds r1, 0x34
|
|
ldr r2, [r2, 0xC]
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 8
|
|
mov r5, r10
|
|
ldr r4, [r5, 0x34]
|
|
adds r3, r4, r0
|
|
str r3, [r5, 0x3C]
|
|
ldr r0, [sp, 0x10]
|
|
lsls r0, 8
|
|
ldr r2, [r5, 0x38]
|
|
adds r1, r2, r0
|
|
str r1, [r5, 0x40]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x7E
|
|
beq _080A0342
|
|
cmp r0, 0x84
|
|
bne _080A036A
|
|
_080A0342:
|
|
subs r0, r3, r4
|
|
subs r1, r2
|
|
bl sub_8009FB8
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
bl __divsi3
|
|
mov r3, r10
|
|
strh r0, [r3, 0x2A]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _080A0362
|
|
bl _0809F0C4
|
|
_080A0362:
|
|
movs r0, 0x1
|
|
strh r0, [r3, 0x2A]
|
|
bl _0809F0C4
|
|
_080A036A:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
b _080A0654
|
|
_080A0370:
|
|
ldr r4, [sp, 0xC]
|
|
lsls r4, 1
|
|
subs r4, 0x1
|
|
ldr r5, [sp, 0x10]
|
|
lsls r5, 1
|
|
subs r5, 0x1
|
|
mov r0, r9
|
|
ldr r2, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
mov r1, r10
|
|
adds r1, 0x34
|
|
ldr r2, [r2, 0xC]
|
|
bl _call_via_r2
|
|
adds r0, r4, 0
|
|
bl OtherRandomCapped
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
subs r0, r1
|
|
lsls r0, 8
|
|
mov r3, r10
|
|
ldr r1, [r3, 0x34]
|
|
adds r1, r0
|
|
str r1, [r3, 0x3C]
|
|
adds r0, r5, 0
|
|
bl OtherRandomCapped
|
|
ldr r1, [sp, 0xC]
|
|
subs r0, r1
|
|
lsls r0, 8
|
|
mov r4, r10
|
|
ldr r3, [r4, 0x38]
|
|
adds r2, r3, r0
|
|
str r2, [r4, 0x40]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x7F
|
|
beq _080A03C4
|
|
cmp r0, 0x85
|
|
bne _080A03EC
|
|
_080A03C4:
|
|
mov r5, r10
|
|
ldr r0, [r5, 0x3C]
|
|
ldr r1, [r5, 0x34]
|
|
subs r0, r1
|
|
subs r1, r2, r3
|
|
bl sub_8009FB8
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
bl __divsi3
|
|
strh r0, [r5, 0x2A]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _080A03E8
|
|
bl _0809F0C4
|
|
_080A03E8:
|
|
movs r0, 0x1
|
|
b _080A05EA
|
|
_080A03EC:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
_080A03F0:
|
|
mov r3, r10
|
|
strh r0, [r3, 0x2A]
|
|
bl _0809F0C4
|
|
_080A03F8:
|
|
mov r4, r9
|
|
ldr r2, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
mov r1, r10
|
|
adds r1, 0x34
|
|
ldr r2, [r2, 0xC]
|
|
bl _call_via_r2
|
|
mov r5, r10
|
|
ldr r0, [r5, 0x34]
|
|
ldr r1, [r5, 0x38]
|
|
mov r2, r10
|
|
str r0, [r2, 0x3C]
|
|
str r1, [r2, 0x40]
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
mov r1, r10
|
|
adds r1, 0x3C
|
|
bl sub_80AD8B4
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x80
|
|
beq _080A042E
|
|
cmp r0, 0x86
|
|
bne _080A045C
|
|
_080A042E:
|
|
mov r3, r10
|
|
ldr r0, [r3, 0x3C]
|
|
ldr r1, [r3, 0x34]
|
|
subs r0, r1
|
|
ldr r1, [r3, 0x40]
|
|
ldr r2, [r3, 0x38]
|
|
subs r1, r2
|
|
bl sub_8009FB8
|
|
add r1, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r1, r4]
|
|
bl __divsi3
|
|
mov r5, r10
|
|
strh r0, [r5, 0x2A]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _080A0458
|
|
bl _0809F0C4
|
|
_080A0458:
|
|
movs r0, 0x1
|
|
b _080A05EA
|
|
_080A045C:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
b _080A07B8
|
|
_080A0462:
|
|
ldr r4, [sp, 0xC]
|
|
lsls r4, 1
|
|
subs r4, 0x1
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
mov r5, r10
|
|
adds r5, 0x3C
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0x10]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r1, r5, 0
|
|
bl sub_80AD8B4
|
|
adds r0, r4, 0
|
|
bl OtherRandomCapped
|
|
add r1, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r1, [r1, r3]
|
|
subs r0, r1
|
|
lsls r0, 8
|
|
mov r5, r10
|
|
ldr r1, [r5, 0x3C]
|
|
adds r1, r0
|
|
str r1, [r5, 0x3C]
|
|
adds r0, r4, 0
|
|
bl OtherRandomCapped
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
subs r0, r1
|
|
lsls r0, 8
|
|
ldr r1, [r5, 0x40]
|
|
adds r2, r1, r0
|
|
str r2, [r5, 0x40]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x81
|
|
beq _080A04C0
|
|
cmp r0, 0x87
|
|
bne _080A04EC
|
|
_080A04C0:
|
|
mov r3, r10
|
|
ldr r0, [r3, 0x3C]
|
|
ldr r1, [r3, 0x34]
|
|
subs r0, r1
|
|
ldr r1, [r3, 0x38]
|
|
subs r1, r2, r1
|
|
bl sub_8009FB8
|
|
add r1, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r1, r4]
|
|
bl __divsi3
|
|
mov r5, r10
|
|
strh r0, [r5, 0x2A]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _080A04E8
|
|
bl _0809F0C4
|
|
_080A04E8:
|
|
movs r0, 0x1
|
|
b _080A05EA
|
|
_080A04EC:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
b _080A07B8
|
|
_080A04F2:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
cmp r4, 0
|
|
bge _080A0508
|
|
bl _0809EAE0
|
|
_080A0508:
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
mov r1, r10
|
|
adds r1, 0x34
|
|
ldr r2, [r2, 0xC]
|
|
bl _call_via_r2
|
|
mov r1, r10
|
|
adds r1, 0x3C
|
|
adds r0, r4, 0
|
|
bl sub_80A8FD8
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x82
|
|
beq _080A052E
|
|
cmp r0, 0x88
|
|
bne _080A055A
|
|
_080A052E:
|
|
mov r4, r10
|
|
ldr r0, [r4, 0x3C]
|
|
ldr r1, [r4, 0x34]
|
|
subs r0, r1
|
|
ldr r1, [r4, 0x40]
|
|
ldr r2, [r4, 0x38]
|
|
subs r1, r2
|
|
bl sub_8009FB8
|
|
add r1, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r1, r5]
|
|
bl __divsi3
|
|
strh r0, [r4, 0x2A]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
ble _080A0556
|
|
bl _0809F0C4
|
|
_080A0556:
|
|
movs r0, 0x1
|
|
b _080A0656
|
|
_080A055A:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
b _080A07B8
|
|
_080A0560:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 8
|
|
mov r2, r10
|
|
str r0, [r2, 0x48]
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
str r0, [r2, 0x30]
|
|
ldr r0, _080A0578
|
|
bl _080A12AE
|
|
.align 2, 0
|
|
_080A0578: .4byte 0x0000ffff
|
|
_080A057C:
|
|
ldr r1, [sp, 0xC]
|
|
mov r0, r9
|
|
adds r0, 0x4A
|
|
strb r1, [r0]
|
|
mov r4, r9
|
|
ldr r2, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
mov r1, r10
|
|
str r0, [r1, 0x30]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
b _080A07BA
|
|
_080A05A4:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
mov r4, sp
|
|
adds r4, 0x4F
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_8002984
|
|
mov r1, r9
|
|
adds r1, 0x4A
|
|
strb r0, [r1]
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
mov r5, r10
|
|
str r0, [r5, 0x30]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
_080A05EA:
|
|
strh r0, [r5, 0x2A]
|
|
bl _0809F0C4
|
|
_080A05F0:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
mov r1, r9
|
|
adds r1, 0x4A
|
|
strb r0, [r1]
|
|
mov r0, r9
|
|
ldr r2, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
_080A0600:
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
b _080A07B4
|
|
_080A060E:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
blt _080A0650
|
|
add r4, sp, 0x50
|
|
adds r1, r4, 0
|
|
bl sub_80A9050
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
add r1, sp, 0x8
|
|
ldrh r1, [r1, 0x2]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_8002984
|
|
mov r1, r9
|
|
adds r1, 0x4A
|
|
strb r0, [r1]
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
_080A0650:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
_080A0654:
|
|
mov r4, r10
|
|
_080A0656:
|
|
strh r0, [r4, 0x2A]
|
|
bl _0809F0C4
|
|
_080A065C:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
mov r4, sp
|
|
adds r4, 0x51
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
add r1, sp, 0x8
|
|
ldrh r1, [r1, 0x2]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_8002984
|
|
mov r1, r9
|
|
adds r1, 0x4A
|
|
strb r0, [r1]
|
|
ldr r2, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
b _080A0600
|
|
_080A068A:
|
|
movs r5, 0
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x8F
|
|
beq _080A06CA
|
|
cmp r0, 0x8F
|
|
bgt _080A069E
|
|
cmp r0, 0x8E
|
|
beq _080A06A4
|
|
b _080A0724
|
|
_080A069E:
|
|
cmp r0, 0x90
|
|
beq _080A06F8
|
|
b _080A0724
|
|
_080A06A4:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
cmp r4, 0
|
|
blt _080A0724
|
|
movs r5, 0x1
|
|
add r1, sp, 0x124
|
|
adds r0, r4, 0
|
|
bl sub_80A8FD8
|
|
add r1, sp, 0x12C
|
|
adds r0, r4, 0
|
|
bl sub_80A8F9C
|
|
b _080A0724
|
|
_080A06CA:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
blt _080A0724
|
|
movs r5, 0x1
|
|
add r1, sp, 0x124
|
|
bl sub_80A8FD8
|
|
ldr r0, _080A06F4
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
add r2, sp, 0x12C
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
b _080A0724
|
|
.align 2, 0
|
|
_080A06F4: .4byte gUnknown_81164DC
|
|
_080A06F8:
|
|
movs r5, 0x1
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
add r4, sp, 0x124
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
mov r3, r9
|
|
ldr r2, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
add r1, sp, 0x12C
|
|
ldr r2, [r2, 0x8]
|
|
bl _call_via_r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r1, r4, 0
|
|
bl sub_80AD8B4
|
|
_080A0724:
|
|
cmp r5, 0
|
|
beq _080A07B4
|
|
mov r4, r9
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
add r5, sp, 0x134
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
add r4, sp, 0x13C
|
|
ldr r2, [r1, 0x8]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r7, sp, 0x124
|
|
add r3, sp, 0x12C
|
|
adds r0, r5, 0
|
|
adds r1, r4, 0
|
|
adds r2, r7, 0
|
|
bl sub_8002DF0
|
|
mov r1, sp
|
|
adds r1, 0x52
|
|
strb r0, [r1]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
movs r4, 0
|
|
ldrsb r4, [r1, r4]
|
|
adds r6, r1, 0
|
|
cmp r4, r0
|
|
bne _080A078C
|
|
ldr r3, _080A07C0
|
|
adds r0, r5, 0
|
|
adds r1, r3, 0
|
|
adds r2, r7, 0
|
|
bl sub_8002D54
|
|
strb r0, [r6]
|
|
movs r0, 0
|
|
ldrsb r0, [r6, r0]
|
|
cmp r0, r4
|
|
bne _080A078C
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
_080A078C:
|
|
movs r0, 0
|
|
ldrsb r0, [r6, r0]
|
|
add r1, sp, 0x8
|
|
ldrh r1, [r1, 0x2]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_8002984
|
|
mov r1, r9
|
|
adds r1, 0x4A
|
|
strb r0, [r1]
|
|
mov r0, r9
|
|
ldr r2, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldrb r1, [r1]
|
|
lsls r1, 24
|
|
asrs r1, 24
|
|
ldr r2, [r2, 0x2C]
|
|
bl _call_via_r2
|
|
_080A07B4:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
_080A07B8:
|
|
mov r1, r10
|
|
_080A07BA:
|
|
strh r0, [r1, 0x2A]
|
|
bl _0809F0C4
|
|
.align 2, 0
|
|
_080A07C0: .4byte gUnknown_81164DC
|
|
_080A07C4:
|
|
movs r0, 0
|
|
bl _080A12AC
|
|
_080A07CA:
|
|
ldr r0, [sp, 0xC]
|
|
mov r1, r9
|
|
adds r1, 0x71
|
|
movs r2, 0
|
|
strb r0, [r1]
|
|
mov r3, r10
|
|
strh r2, [r3, 0x2A]
|
|
bl _0809F0C4
|
|
_080A07DC:
|
|
mov r4, r9
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
mov r4, sp
|
|
adds r4, 0x53
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
movs r0, 0
|
|
ldrsb r0, [r4, r0]
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
bl sub_8002984
|
|
mov r1, r9
|
|
adds r1, 0x71
|
|
movs r2, 0
|
|
strb r0, [r1]
|
|
mov r5, r10
|
|
strh r2, [r5, 0x2A]
|
|
bl _0809F0C4
|
|
_080A080C:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x10]
|
|
bl sub_809D124
|
|
bl _0809EAE0
|
|
_080A081E:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
mov r3, r9
|
|
movs r4, 0x8
|
|
ldrsh r0, [r3, r4]
|
|
cmp r0, 0x2
|
|
beq _080A0856
|
|
cmp r0, 0x2
|
|
bgt _080A0844
|
|
cmp r0, 0x1
|
|
beq _080A084C
|
|
bl _0809EAE0
|
|
_080A0844:
|
|
cmp r0, 0x3
|
|
beq _080A0860
|
|
bl _0809EAE0
|
|
_080A084C:
|
|
movs r0, 0x1
|
|
bl sub_809D170
|
|
bl _0809EAE0
|
|
_080A0856:
|
|
movs r0, 0x2
|
|
bl sub_809D170
|
|
bl _0809EAE0
|
|
_080A0860:
|
|
movs r0, 0x3
|
|
bl sub_809D170
|
|
bl _0809EAE0
|
|
_080A086A:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
movs r2, 0x8
|
|
ldrsh r1, [r5, r2]
|
|
cmp r1, 0x2
|
|
beq _080A08A0
|
|
cmp r1, 0x2
|
|
bgt _080A088E
|
|
cmp r1, 0x1
|
|
beq _080A0896
|
|
bl _0809EAE0
|
|
_080A088E:
|
|
cmp r1, 0x3
|
|
beq _080A08AA
|
|
bl _0809EAE0
|
|
_080A0896:
|
|
add r4, sp, 0x144
|
|
adds r1, r4, 0
|
|
bl sub_80A8FD8
|
|
b _080A08B2
|
|
_080A08A0:
|
|
add r4, sp, 0x144
|
|
adds r1, r4, 0
|
|
bl sub_80AC448
|
|
b _080A08B2
|
|
_080A08AA:
|
|
add r4, sp, 0x144
|
|
adds r1, r4, 0
|
|
bl sub_80AD360
|
|
_080A08B2:
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
bl sub_809D158
|
|
bl _0809EAE0
|
|
_080A08BE:
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
bl sub_809D170
|
|
bl _0809EAE0
|
|
_080A08CA:
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
cmp r1, 0
|
|
bge _080A08E2
|
|
bl _0809EAE0
|
|
_080A08E2:
|
|
mov r4, r9
|
|
movs r5, 0x8
|
|
ldrsh r0, [r4, r5]
|
|
cmp r0, 0x2
|
|
beq _080A090A
|
|
cmp r0, 0x2
|
|
bgt _080A08F8
|
|
cmp r0, 0x1
|
|
beq _080A0900
|
|
bl _0809EAE0
|
|
_080A08F8:
|
|
cmp r0, 0x3
|
|
beq _080A0914
|
|
bl _0809EAE0
|
|
_080A0900:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
movs r0, 0x1
|
|
b _080A0990
|
|
_080A090A:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
movs r0, 0x2
|
|
b _080A0990
|
|
_080A0914:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
movs r0, 0x3
|
|
b _080A0990
|
|
_080A091E:
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
mov r2, r9
|
|
movs r3, 0x8
|
|
ldrsh r1, [r2, r3]
|
|
cmp r1, 0x2
|
|
beq _080A095C
|
|
cmp r1, 0x2
|
|
bgt _080A0944
|
|
cmp r1, 0x1
|
|
beq _080A094C
|
|
bl _0809EAE0
|
|
_080A0944:
|
|
cmp r1, 0x3
|
|
beq _080A096C
|
|
bl _0809EAE0
|
|
_080A094C:
|
|
add r4, sp, 0x14C
|
|
adds r1, r4, 0
|
|
bl sub_80A8FD8
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
b _080A097A
|
|
_080A095C:
|
|
add r4, sp, 0x14C
|
|
adds r1, r4, 0
|
|
bl sub_80AC448
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r2, [r0, r1]
|
|
b _080A097A
|
|
_080A096C:
|
|
add r4, sp, 0x14C
|
|
adds r1, r4, 0
|
|
bl sub_80AD360
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
_080A097A:
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
bl sub_809D190
|
|
bl _0809F0C4
|
|
_080A0986:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
_080A0990:
|
|
bl sub_809D1A8
|
|
bl _0809F0C4
|
|
_080A0998:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
cmp r1, 0
|
|
bge _080A09B0
|
|
bl _0809EAE0
|
|
_080A09B0:
|
|
movs r2, 0x8
|
|
ldrsh r0, [r5, r2]
|
|
cmp r0, 0x2
|
|
beq _080A09D6
|
|
cmp r0, 0x2
|
|
bgt _080A09C4
|
|
cmp r0, 0x1
|
|
beq _080A09CC
|
|
bl _0809EAE0
|
|
_080A09C4:
|
|
cmp r0, 0x3
|
|
beq _080A09E0
|
|
bl _0809EAE0
|
|
_080A09CC:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
movs r0, 0x1
|
|
b _080A0A5C
|
|
_080A09D6:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
movs r0, 0x2
|
|
b _080A0A5C
|
|
_080A09E0:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
movs r0, 0x3
|
|
b _080A0A5C
|
|
_080A09EA:
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
mov r2, r9
|
|
movs r3, 0x8
|
|
ldrsh r1, [r2, r3]
|
|
cmp r1, 0x2
|
|
beq _080A0A28
|
|
cmp r1, 0x2
|
|
bgt _080A0A10
|
|
cmp r1, 0x1
|
|
beq _080A0A18
|
|
bl _0809EAE0
|
|
_080A0A10:
|
|
cmp r1, 0x3
|
|
beq _080A0A38
|
|
bl _0809EAE0
|
|
_080A0A18:
|
|
add r4, sp, 0x154
|
|
adds r1, r4, 0
|
|
bl sub_80A8FD8
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
b _080A0A46
|
|
_080A0A28:
|
|
add r4, sp, 0x154
|
|
adds r1, r4, 0
|
|
bl sub_80AC448
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r2, [r0, r1]
|
|
b _080A0A46
|
|
_080A0A38:
|
|
add r4, sp, 0x154
|
|
adds r1, r4, 0
|
|
bl sub_80AD360
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
_080A0A46:
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
bl sub_809D1CC
|
|
bl _0809F0C4
|
|
_080A0A52:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
_080A0A5C:
|
|
bl sub_809D1E4
|
|
bl _0809F0C4
|
|
_080A0A64:
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
cmp r1, 0
|
|
bge _080A0A7C
|
|
bl _0809EAE0
|
|
_080A0A7C:
|
|
movs r2, 0x8
|
|
ldrsh r0, [r5, r2]
|
|
cmp r0, 0x2
|
|
beq _080A0AA2
|
|
cmp r0, 0x2
|
|
bgt _080A0A90
|
|
cmp r0, 0x1
|
|
beq _080A0A98
|
|
bl _0809EAE0
|
|
_080A0A90:
|
|
cmp r0, 0x3
|
|
beq _080A0AAC
|
|
bl _0809EAE0
|
|
_080A0A98:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
movs r0, 0x1
|
|
b _080A0B28
|
|
_080A0AA2:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
movs r0, 0x2
|
|
b _080A0B28
|
|
_080A0AAC:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
movs r0, 0x3
|
|
b _080A0B28
|
|
_080A0AB6:
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
ldr r1, [r1, 0x4]
|
|
bl _call_via_r1
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
mov r2, r9
|
|
movs r3, 0x8
|
|
ldrsh r1, [r2, r3]
|
|
cmp r1, 0x2
|
|
beq _080A0AF4
|
|
cmp r1, 0x2
|
|
bgt _080A0ADC
|
|
cmp r1, 0x1
|
|
beq _080A0AE4
|
|
bl _0809EAE0
|
|
_080A0ADC:
|
|
cmp r1, 0x3
|
|
beq _080A0B04
|
|
bl _0809EAE0
|
|
_080A0AE4:
|
|
add r4, sp, 0x15C
|
|
adds r1, r4, 0
|
|
bl sub_80A8FD8
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
b _080A0B12
|
|
_080A0AF4:
|
|
add r4, sp, 0x15C
|
|
adds r1, r4, 0
|
|
bl sub_80AC448
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r2, [r0, r1]
|
|
b _080A0B12
|
|
_080A0B04:
|
|
add r4, sp, 0x15C
|
|
adds r1, r4, 0
|
|
bl sub_80AD360
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
_080A0B12:
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
bl sub_809D208
|
|
bl _0809F0C4
|
|
_080A0B1E:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
movs r0, 0x1
|
|
movs r1, 0
|
|
_080A0B28:
|
|
bl sub_809D220
|
|
bl _0809F0C4
|
|
_080A0B30:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r1, r5]
|
|
bl sub_8001570
|
|
bl _0809EAE0
|
|
_080A0B42:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_80015C0
|
|
bl _0809EAE0
|
|
_080A0B54:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r1, [r1, r3]
|
|
ldr r2, [sp, 0xC]
|
|
add r3, sp, 0x8
|
|
ldrb r3, [r3, 0x1]
|
|
bl sub_800226C
|
|
bl _0809EAE0
|
|
_080A0B6C:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r1, r4]
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
add r3, sp, 0x8
|
|
ldrb r3, [r3, 0x1]
|
|
bl sub_80022A0
|
|
bl _0809EAE0
|
|
_080A0B88:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r1, r5]
|
|
ldr r2, [sp, 0xC]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
ldr r3, [sp, 0x10]
|
|
bl sub_800199C
|
|
bl _0809EAE0
|
|
_080A0BA2:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x10]
|
|
bl sub_8001BB4
|
|
bl _0809EAE0
|
|
_080A0BB4:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
add r1, sp, 0x164
|
|
add r2, sp, 0x168
|
|
bl sub_8001B88
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
add r1, sp, 0x164
|
|
ldr r1, [r1]
|
|
add r2, sp, 0x168
|
|
ldr r2, [r2]
|
|
adds r2, 0x1
|
|
bl sub_8001BB4
|
|
bl _0809EAE0
|
|
_080A0BDA:
|
|
ldr r2, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r1, 0x13
|
|
bl sub_80018D8
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r2, [r0, r4]
|
|
movs r0, 0
|
|
movs r1, 0x16
|
|
bl sub_80018D8
|
|
bl _0809EAE0
|
|
_080A0BF6:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r2, [r0, r5]
|
|
movs r0, 0
|
|
movs r1, 0x1C
|
|
bl sub_80018D8
|
|
bl _0809EAE0
|
|
_080A0C08:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
add r1, sp, 0x8
|
|
ldrb r2, [r1, 0x1]
|
|
negs r1, r2
|
|
orrs r1, r2
|
|
lsrs r1, 31
|
|
bl sub_80026E8
|
|
bl _0809EAE0
|
|
_080A0C20:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r0, [r0, r2]
|
|
add r1, sp, 0x8
|
|
ldrb r2, [r1, 0x1]
|
|
negs r1, r2
|
|
orrs r1, r2
|
|
lsrs r1, 31
|
|
bl sub_809733C
|
|
bl _0809EAE0
|
|
_080A0C38:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
add r1, sp, 0x8
|
|
ldrb r2, [r1, 0x1]
|
|
negs r1, r2
|
|
orrs r1, r2
|
|
lsrs r1, 31
|
|
bl sub_80973A8
|
|
bl _0809EAE0
|
|
_080A0C50:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
add r1, sp, 0x8
|
|
ldrb r2, [r1, 0x1]
|
|
negs r1, r2
|
|
orrs r1, r2
|
|
lsrs r1, 31
|
|
bl sub_8097418
|
|
bl _0809EAE0
|
|
_080A0C68:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
add r1, sp, 0x8
|
|
ldrb r2, [r1, 0x1]
|
|
negs r1, r2
|
|
orrs r1, r2
|
|
lsrs r1, 31
|
|
bl sub_80975A8
|
|
bl _0809EAE0
|
|
_080A0C80:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80976F8
|
|
bl _0809EAE0
|
|
_080A0C90:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
ldr r2, [sp, 0xC]
|
|
movs r0, 0
|
|
movs r3, 0x2
|
|
bl sub_80022F8
|
|
b _080A0E1E
|
|
_080A0CA2:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r2, [sp, 0x10]
|
|
add r3, sp, 0x8
|
|
ldrb r3, [r3, 0x1]
|
|
bl sub_80022F8
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0CC0
|
|
bl _0809EAE0
|
|
_080A0CC0:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r0, r4]
|
|
b _080A0D5C
|
|
_080A0CC8:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r2, [sp, 0x10]
|
|
lsls r2, 16
|
|
asrs r2, 16
|
|
add r3, sp, 0x8
|
|
ldrb r3, [r3, 0x1]
|
|
bl sub_8002318
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0CEA
|
|
bl _0809EAE0
|
|
_080A0CEA:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
b _080A0E2C
|
|
_080A0CF2:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
ldr r2, [sp, 0x10]
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
bl sub_8001784
|
|
cmp r0, 0
|
|
bne _080A0D0E
|
|
bl _0809EAE0
|
|
_080A0D0E:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r0, r4]
|
|
b _080A0D5C
|
|
_080A0D16:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_8001AB0
|
|
ldr r1, [sp, 0x10]
|
|
add r2, sp, 0x8
|
|
ldrb r2, [r2, 0x1]
|
|
bl FlagJudge
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0D38
|
|
bl _0809EAE0
|
|
_080A0D38:
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
b _080A0E2C
|
|
_080A0D40:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r0, [r0, r4]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x10]
|
|
bl sub_8001CC4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0D58
|
|
bl _0809EAE0
|
|
_080A0D58:
|
|
add r0, sp, 0x8
|
|
ldrb r1, [r0, 0x1]
|
|
_080A0D5C:
|
|
mov r0, r9
|
|
bl sub_80A242C
|
|
mov r5, r10
|
|
str r0, [r5, 0x4]
|
|
bl _0809EAE0
|
|
_080A0D6A:
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x10]
|
|
bl sub_8001D08
|
|
b _080A0DBA
|
|
_080A0D7A:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
ldr r1, [sp, 0xC]
|
|
ldr r2, [sp, 0x10]
|
|
bl sub_8001D44
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0D92
|
|
bl _0809EAE0
|
|
_080A0D92:
|
|
b _080A0DF6
|
|
_080A0D94:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0DA8
|
|
bl _0809EAE0
|
|
_080A0DA8:
|
|
add r0, sp, 0x8
|
|
ldrb r1, [r0, 0x1]
|
|
b _080A132A
|
|
_080A0DAE:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8098100
|
|
_080A0DBA:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0DC4
|
|
bl _0809EAE0
|
|
_080A0DC4:
|
|
add r0, sp, 0x8
|
|
ldrb r1, [r0, 0x1]
|
|
mov r0, r9
|
|
bl sub_80A242C
|
|
mov r2, r10
|
|
str r0, [r2, 0x4]
|
|
bl _0809EAE0
|
|
_080A0DD6:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80026CC
|
|
b _080A0E1E
|
|
_080A0DE2:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_809CBA4
|
|
cmp r0, 0
|
|
bgt _080A0DF6
|
|
bl _0809EAE0
|
|
_080A0DF6:
|
|
add r0, sp, 0x8
|
|
ldrb r1, [r0, 0x1]
|
|
mov r0, r9
|
|
bl sub_80A242C
|
|
mov r4, r10
|
|
str r0, [r4, 0x4]
|
|
bl _0809EAE0
|
|
_080A0E08:
|
|
mov r5, r9
|
|
movs r1, 0x8
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, 0x1
|
|
beq _080A0E16
|
|
bl _0809EAE0
|
|
_080A0E16:
|
|
movs r2, 0xA
|
|
ldrsh r0, [r5, r2]
|
|
bl sub_80A8C98
|
|
_080A0E1E:
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A0E28
|
|
bl _0809EAE0
|
|
_080A0E28:
|
|
add r0, sp, 0x8
|
|
ldrb r1, [r0, 0x1]
|
|
_080A0E2C:
|
|
mov r0, r9
|
|
bl sub_80A242C
|
|
mov r3, r10
|
|
str r0, [r3, 0x4]
|
|
bl _0809EAE0
|
|
_080A0E3A:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8091130
|
|
cmp r0, 0
|
|
bge _080A0E4E
|
|
bl _0809EAE0
|
|
_080A0E4E:
|
|
bl sub_80911F8
|
|
bl _0809EAE0
|
|
_080A0E56:
|
|
add r0, sp, 0x8
|
|
ldrb r2, [r0]
|
|
adds r0, r2, 0
|
|
subs r0, 0xC0
|
|
cmp r0, 0xB
|
|
bls _080A0E64
|
|
b _080A1088
|
|
_080A0E64:
|
|
lsls r0, 2
|
|
ldr r1, _080A0E70
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080A0E70: .4byte _080A0E74
|
|
.align 2, 0
|
|
_080A0E74:
|
|
.4byte _080A0EA4
|
|
.4byte _080A0EB6
|
|
.4byte _080A0ECC
|
|
.4byte _080A0EFA
|
|
.4byte _080A0F08
|
|
.4byte _080A0F14
|
|
.4byte _080A0F26
|
|
.4byte _080A0F36
|
|
.4byte _080A0F98
|
|
.4byte _080A1008
|
|
.4byte _080A0F4C
|
|
.4byte _080A107A
|
|
_080A0EA4:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r1, r4]
|
|
bl sub_8001658
|
|
adds r1, r0, 0
|
|
b _080A1098
|
|
_080A0EB6:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r1, r5]
|
|
bl sub_8001658
|
|
ldr r1, [sp, 0xC]
|
|
add r2, sp, 0x8
|
|
ldrb r2, [r2, 0x1]
|
|
b _080A0EF2
|
|
_080A0ECC:
|
|
mov r4, r10
|
|
adds r4, 0x50
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
adds r0, r4, 0
|
|
bl sub_8001658
|
|
adds r5, r0, 0
|
|
ldr r1, [sp, 0xC]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_8001658
|
|
adds r1, r0, 0
|
|
add r0, sp, 0x8
|
|
ldrb r2, [r0, 0x1]
|
|
adds r0, r5, 0
|
|
_080A0EF2:
|
|
bl FlagCalc
|
|
adds r1, r0, 0
|
|
b _080A1098
|
|
_080A0EFA:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
bl OtherRandomCapped
|
|
adds r1, r0, 0
|
|
b _080A1098
|
|
_080A0F08:
|
|
add r0, sp, 0x8
|
|
movs r4, 0x2
|
|
ldrsh r1, [r0, r4]
|
|
movs r0, 0
|
|
movs r2, 0
|
|
b _080A0F1E
|
|
_080A0F14:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r0, r5]
|
|
movs r0, 0
|
|
movs r2, 0x1
|
|
_080A0F1E:
|
|
bl sub_8001784
|
|
adds r1, r0, 0
|
|
b _080A1098
|
|
_080A0F26:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A8C2C
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
b _080A1098
|
|
_080A0F36:
|
|
mov r0, r9
|
|
ldr r1, [r0]
|
|
ldr r0, [r0, 0x4]
|
|
add r4, sp, 0x54
|
|
ldr r2, [r1, 0x14]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
movs r1, 0
|
|
ldrsb r1, [r4, r1]
|
|
b _080A1098
|
|
_080A0F4C:
|
|
mov r2, r9
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, 0x4]
|
|
movs r3, 0xB6
|
|
lsls r3, 1
|
|
add r3, sp
|
|
mov r8, r3
|
|
ldr r2, [r1, 0xC]
|
|
mov r1, r8
|
|
bl _call_via_r2
|
|
add r6, sp, 0x16C
|
|
ldr r0, [r6]
|
|
ldr r1, [r6, 0x4]
|
|
add r4, sp, 0x174
|
|
str r0, [r4]
|
|
str r1, [r4, 0x4]
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
adds r5, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80AD8B4
|
|
ldr r1, [r4]
|
|
ldr r0, [r6]
|
|
subs r1, r0
|
|
add r0, sp, 0x17C
|
|
str r1, [r0]
|
|
ldr r1, [r5, 0x4]
|
|
mov r4, r8
|
|
ldr r0, [r4, 0x4]
|
|
subs r1, r0
|
|
add r0, sp, 0x17C
|
|
str r1, [r0, 0x4]
|
|
bl sub_8002C60
|
|
b _080A106A
|
|
_080A0F98:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r6, r0, 16
|
|
cmp r6, 0
|
|
blt _080A1074
|
|
mov r5, r9
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
movs r2, 0xC2
|
|
lsls r2, 1
|
|
add r2, sp
|
|
mov r8, r2
|
|
ldr r2, [r1, 0xC]
|
|
mov r1, r8
|
|
bl _call_via_r2
|
|
ldr r1, [r5]
|
|
ldr r0, [r5, 0x4]
|
|
add r5, sp, 0x18C
|
|
ldr r2, [r1, 0x8]
|
|
adds r1, r5, 0
|
|
bl _call_via_r2
|
|
add r7, sp, 0x194
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
bl sub_80A8FD8
|
|
add r4, sp, 0x19C
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
bl sub_80A8F9C
|
|
mov r0, r8
|
|
adds r1, r5, 0
|
|
adds r2, r7, 0
|
|
adds r3, r4, 0
|
|
bl sub_8002DF0
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bne _080A1098
|
|
ldr r3, _080A1004
|
|
mov r0, r8
|
|
adds r1, r3, 0
|
|
adds r2, r7, 0
|
|
b _080A1066
|
|
.align 2, 0
|
|
_080A1004: .4byte gUnknown_81164DC
|
|
_080A1008:
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r7, r0, 16
|
|
cmp r7, 0
|
|
blt _080A1074
|
|
mov r3, r9
|
|
ldr r1, [r3]
|
|
ldr r0, [r3, 0x4]
|
|
add r6, sp, 0x1A4
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
mov r4, r9
|
|
ldr r1, [r4]
|
|
ldr r0, [r4, 0x4]
|
|
add r4, sp, 0x1AC
|
|
ldr r2, [r1, 0x8]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
add r5, sp, 0x1B4
|
|
adds r0, r7, 0
|
|
adds r1, r5, 0
|
|
bl sub_80A8FD8
|
|
ldr r7, _080A1070
|
|
adds r0, r6, 0
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
adds r3, r7, 0
|
|
bl sub_8002DF0
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
bne _080A1098
|
|
adds r0, r6, 0
|
|
adds r1, r7, 0
|
|
adds r2, r5, 0
|
|
adds r3, r7, 0
|
|
_080A1066:
|
|
bl sub_8002D54
|
|
_080A106A:
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
b _080A1098
|
|
.align 2, 0
|
|
_080A1070: .4byte gUnknown_81164DC
|
|
_080A1074:
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
b _080A1098
|
|
_080A107A:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r0, [r0, r5]
|
|
bl sub_809CC90
|
|
adds r1, r0, 0
|
|
b _080A1098
|
|
_080A1088:
|
|
ldr r0, _080A1090
|
|
ldr r1, _080A1094
|
|
bl FatalError
|
|
.align 2, 0
|
|
_080A1090: .4byte gUnknown_81166B4
|
|
_080A1094: .4byte gUnknown_81166C0
|
|
_080A1098:
|
|
mov r0, r9
|
|
bl sub_80A2460
|
|
b _080A1330
|
|
_080A10A0:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_8001658
|
|
adds r2, r0, 0
|
|
mov r3, r10
|
|
strh r2, [r3, 0x28]
|
|
ldr r1, [r3, 0x4]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xD0
|
|
bne _080A10DE
|
|
lsls r0, r2, 16
|
|
asrs r3, r0, 16
|
|
_080A10C0:
|
|
adds r2, r1, 0
|
|
movs r4, 0x2
|
|
ldrsh r0, [r1, r4]
|
|
cmp r0, r3
|
|
bne _080A10CE
|
|
bl _0809F0C4
|
|
_080A10CE:
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
mov r5, r10
|
|
str r0, [r5, 0x4]
|
|
adds r1, r0, 0
|
|
ldrb r0, [r2, 0x10]
|
|
cmp r0, 0xD0
|
|
beq _080A10C0
|
|
_080A10DE:
|
|
mov r1, r10
|
|
ldr r0, [r1, 0x4]
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xD1
|
|
beq _080A10EC
|
|
bl _0809EAE0
|
|
_080A10EC:
|
|
ldr r0, _080A10F4
|
|
strh r0, [r1, 0x28]
|
|
bl _0809F0C4
|
|
.align 2, 0
|
|
_080A10F4: .4byte 0x0000ffff
|
|
_080A10F8:
|
|
ldr r7, [sp, 0x14]
|
|
ldr r1, _080A11F0
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
mov r2, r10
|
|
strh r0, [r2, 0x28]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
cmp r0, 0xD8
|
|
bgt _080A1176
|
|
cmp r0, 0xD6
|
|
blt _080A1176
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
ldr r1, [sp, 0x10]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
bl sub_8001658
|
|
adds r3, r0, 0
|
|
mov r4, r10
|
|
ldr r1, [r4, 0x4]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xD0
|
|
bne _080A114E
|
|
_080A112A:
|
|
adds r2, r1, 0
|
|
movs r5, 0x2
|
|
ldrsh r0, [r2, r5]
|
|
cmp r0, r3
|
|
bne _080A1136
|
|
ldr r7, [r2, 0xC]
|
|
_080A1136:
|
|
adds r0, r1, 0
|
|
adds r0, 0x10
|
|
mov r1, r10
|
|
str r0, [r1, 0x4]
|
|
ldrh r1, [r1, 0x28]
|
|
adds r1, 0x1
|
|
mov r4, r10
|
|
strh r1, [r4, 0x28]
|
|
adds r1, r0, 0
|
|
ldrb r0, [r2, 0x10]
|
|
cmp r0, 0xD0
|
|
beq _080A112A
|
|
_080A114E:
|
|
mov r5, r10
|
|
ldr r1, [r5, 0x4]
|
|
ldrb r0, [r1]
|
|
cmp r0, 0xD1
|
|
bne _080A1176
|
|
_080A1158:
|
|
cmp r7, 0
|
|
bne _080A115E
|
|
ldr r7, [r1, 0xC]
|
|
_080A115E:
|
|
mov r0, r10
|
|
ldr r2, [r0, 0x4]
|
|
adds r1, r2, 0
|
|
adds r1, 0x10
|
|
str r1, [r0, 0x4]
|
|
ldrh r0, [r0, 0x28]
|
|
adds r0, 0x1
|
|
mov r3, r10
|
|
strh r0, [r3, 0x28]
|
|
ldrb r0, [r2, 0x10]
|
|
cmp r0, 0xD1
|
|
beq _080A1158
|
|
_080A1176:
|
|
cmp r7, 0
|
|
bne _080A117C
|
|
ldr r7, _080A11F4
|
|
_080A117C:
|
|
mov r4, r10
|
|
ldr r5, [r4, 0x4]
|
|
ldrb r0, [r5]
|
|
cmp r0, 0xD9
|
|
bne _080A11B8
|
|
ldr r0, _080A11F8
|
|
mov r8, r0
|
|
ldr r6, _080A11F0
|
|
movs r1, 0x4
|
|
add r1, r8
|
|
mov r12, r1
|
|
_080A1192:
|
|
ldr r1, [r6]
|
|
lsls r2, r1, 3
|
|
mov r4, r8
|
|
adds r3, r2, r4
|
|
adds r4, r5, 0
|
|
ldr r0, [r4, 0xC]
|
|
str r0, [r3]
|
|
add r2, r12
|
|
adds r1, 0x1
|
|
str r1, [r2]
|
|
str r1, [r6]
|
|
adds r0, r4, 0
|
|
adds r0, 0x10
|
|
mov r5, r10
|
|
str r0, [r5, 0x4]
|
|
adds r5, r0, 0
|
|
ldrb r0, [r4, 0x10]
|
|
cmp r0, 0xD9
|
|
beq _080A1192
|
|
_080A11B8:
|
|
ldr r0, _080A11F0
|
|
ldr r1, [r0]
|
|
cmp r1, 0
|
|
bgt _080A11C4
|
|
bl _0809EAE0
|
|
_080A11C4:
|
|
ldr r3, _080A11F8
|
|
lsls r2, r1, 3
|
|
adds r1, r2, r3
|
|
movs r0, 0
|
|
str r0, [r1]
|
|
adds r0, r3, 0x4
|
|
adds r2, r0
|
|
add r0, sp, 0x8
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
str r0, [r2]
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0]
|
|
subs r0, 0xD2
|
|
cmp r0, 0x6
|
|
bhi _080A1280
|
|
lsls r0, 2
|
|
ldr r1, _080A11FC
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080A11F0: .4byte gUnknown_203B4AC
|
|
_080A11F4: .4byte gUnknown_81166D8
|
|
_080A11F8: .4byte gUnknown_2039D50
|
|
_080A11FC: .4byte _080A1200
|
|
.align 2, 0
|
|
_080A1200:
|
|
.4byte _080A121C
|
|
.4byte _080A121C
|
|
.4byte _080A123E
|
|
.4byte _080A1260
|
|
.4byte _080A121C
|
|
.4byte _080A123E
|
|
.4byte _080A1260
|
|
_080A121C:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
negs r1, r0
|
|
orrs r1, r0
|
|
lsrs r1, 31
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
str r0, [sp]
|
|
str r7, [sp, 0x4]
|
|
adds r0, r3, 0
|
|
movs r3, 0
|
|
bl sub_809B028
|
|
b _080A1280
|
|
_080A123E:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
negs r1, r0
|
|
orrs r1, r0
|
|
lsrs r1, 31
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
str r0, [sp]
|
|
str r7, [sp, 0x4]
|
|
adds r0, r3, 0
|
|
movs r3, 0x1
|
|
bl sub_809B028
|
|
b _080A1280
|
|
_080A1260:
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
negs r1, r0
|
|
orrs r1, r0
|
|
lsrs r1, 31
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
ldr r0, [sp, 0xC]
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
str r0, [sp]
|
|
str r7, [sp, 0x4]
|
|
adds r0, r3, 0
|
|
movs r3, 0x2
|
|
bl sub_809B028
|
|
_080A1280:
|
|
mov r0, r9
|
|
movs r1, 0x1
|
|
bl sub_809D8EC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1292
|
|
bl _0809EAE0
|
|
_080A1292:
|
|
movs r0, 0
|
|
movs r1, 0xB
|
|
bl sub_80A87AC
|
|
bl _0809F0C4
|
|
_080A129E:
|
|
mov r0, r9
|
|
movs r1, 0x1
|
|
bl sub_809D8EC
|
|
b _080A130A
|
|
_080A12A8:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
_080A12AC:
|
|
mov r2, r10
|
|
_080A12AE:
|
|
strh r0, [r2, 0x2A]
|
|
bl _0809F0C4
|
|
_080A12B4:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r1, [r0, r3]
|
|
ldr r0, [sp, 0xC]
|
|
subs r0, r1
|
|
bl OtherRandomCapped
|
|
add r1, sp, 0x8
|
|
ldrh r1, [r1, 0x2]
|
|
adds r1, r0
|
|
mov r4, r10
|
|
strh r1, [r4, 0x2A]
|
|
bl _0809F0C4
|
|
_080A12D0:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
mov r5, r10
|
|
strh r0, [r5, 0x28]
|
|
add r0, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r0, r2]
|
|
mov r0, r9
|
|
bl sub_809D8EC
|
|
b _080A130A
|
|
_080A12E6:
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r0, [r0, r3]
|
|
bl sub_809D9B8
|
|
bl _0809EAE0
|
|
_080A12F4:
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
mov r4, r10
|
|
strh r0, [r4, 0x28]
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r0, r5]
|
|
ldrb r2, [r0, 0x1]
|
|
mov r0, r9
|
|
bl sub_809DA08
|
|
_080A130A:
|
|
lsls r0, 24
|
|
_080A130C:
|
|
cmp r0, 0
|
|
bne _080A1314
|
|
bl _0809EAE0
|
|
_080A1314:
|
|
bl _0809F0C4
|
|
_080A1318:
|
|
mov r1, r10
|
|
adds r1, 0x10
|
|
mov r0, r10
|
|
adds r0, 0x4
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
_080A1324:
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r0, r5]
|
|
_080A132A:
|
|
mov r0, r9
|
|
bl sub_80A242C
|
|
_080A1330:
|
|
mov r1, r10
|
|
str r0, [r1, 0x4]
|
|
bl _0809EAE0
|
|
_080A1338:
|
|
mov r1, r10
|
|
adds r1, 0x10
|
|
mov r0, r10
|
|
adds r0, 0x4
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
_080A1344:
|
|
ldr r2, _080A1364
|
|
add r0, sp, 0x8
|
|
movs r5, 0x2
|
|
ldrsh r1, [r0, r5]
|
|
lsls r0, r1, 1
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
adds r2, 0x8
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
mov r1, r10
|
|
str r0, [r1, 0x4]
|
|
str r0, [r1, 0x8]
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_080A1364: .4byte gUnknown_812F1F8
|
|
_080A1368:
|
|
mov r1, r10
|
|
adds r1, 0x10
|
|
mov r0, r10
|
|
adds r0, 0x4
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
_080A1374:
|
|
ldr r0, _080A138C
|
|
movs r5, 0
|
|
ldrsh r1, [r0, r5]
|
|
add r0, sp, 0x8
|
|
ldrh r0, [r0, 0x2]
|
|
lsls r0, 16
|
|
cmp r0, 0
|
|
blt _080A1390
|
|
add r0, sp, 0x8
|
|
movs r3, 0x2
|
|
ldrsh r2, [r0, r3]
|
|
b _080A1396
|
|
.align 2, 0
|
|
_080A138C: .4byte gUnknown_2039A34
|
|
_080A1390:
|
|
mov r4, r10
|
|
movs r5, 0xC
|
|
ldrsh r2, [r4, r5]
|
|
_080A1396:
|
|
adds r5, r2, 0
|
|
add r0, sp, 0x8
|
|
ldrb r0, [r0, 0x1]
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
blt _080A13AA
|
|
add r0, sp, 0x8
|
|
movs r4, 0x1
|
|
ldrsb r4, [r0, r4]
|
|
b _080A13B0
|
|
_080A13AA:
|
|
mov r0, r10
|
|
movs r4, 0xE
|
|
ldrsb r4, [r0, r4]
|
|
_080A13B0:
|
|
add r0, sp, 0x1C
|
|
adds r2, r5, 0
|
|
adds r3, r4, 0
|
|
bl GroundMap_GetStationScript
|
|
ldr r0, [sp, 0x1C]
|
|
mov r1, r10
|
|
str r0, [r1, 0x4]
|
|
str r0, [r1, 0x8]
|
|
strh r5, [r1, 0xC]
|
|
strb r4, [r1, 0xE]
|
|
bl _0809EAE0
|
|
_080A13CA:
|
|
mov r0, r10
|
|
adds r0, 0x50
|
|
add r1, sp, 0x8
|
|
movs r2, 0x2
|
|
ldrsh r1, [r1, r2]
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A4D7C
|
|
ldr r4, _080A13F4
|
|
strh r0, [r4]
|
|
bl sub_809D940
|
|
movs r3, 0
|
|
ldrsh r0, [r4, r3]
|
|
bl GroundMap_ExecuteEnter
|
|
bl _0809EAE0
|
|
.align 2, 0
|
|
_080A13F4: .4byte gUnknown_2039A34
|
|
_080A13F8:
|
|
movs r0, 0
|
|
mov r4, r10
|
|
str r0, [r4, 0x10]
|
|
str r0, [r4, 0x14]
|
|
bl _0809EAE0
|
|
_080A1404:
|
|
mov r5, r10
|
|
ldr r0, [r5, 0x10]
|
|
cmp r0, 0
|
|
bne _080A1410
|
|
_080A140C:
|
|
movs r0, 0
|
|
b _080A142E
|
|
_080A1410:
|
|
mov r0, r10
|
|
adds r0, 0x4
|
|
mov r1, r10
|
|
adds r1, 0x10
|
|
ldm r1!, {r2-r4}
|
|
stm r0!, {r2-r4}
|
|
movs r0, 0
|
|
mov r5, r10
|
|
str r0, [r5, 0x10]
|
|
str r0, [r5, 0x14]
|
|
bl _0809EAE0
|
|
_080A1428:
|
|
movs r0, 0x1
|
|
b _080A142E
|
|
_080A142C:
|
|
movs r0, 0x4
|
|
_080A142E:
|
|
add sp, 0x1BC
|
|
pop {r3-r5}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
mov r10, r5
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end ExecuteScriptCommand
|
|
|
|
thumb_func_start sub_80A1440
|
|
sub_80A1440:
|
|
push {r4,r5,lr}
|
|
adds r4, r0, 0
|
|
adds r5, r1, 0
|
|
adds r3, r2, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl sub_80A14E8
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A1440
|
|
|
|
thumb_func_start GroundScript_ExecuteTrigger
|
|
GroundScript_ExecuteTrigger:
|
|
push {r4,r5,lr}
|
|
sub sp, 0xF4
|
|
lsls r0, 16
|
|
asrs r4, r0, 16
|
|
lsls r0, r4, 1
|
|
adds r0, r4
|
|
lsls r0, 2
|
|
ldr r1, _080A14C8
|
|
adds r0, r1
|
|
movs r1, 0x2
|
|
ldrsh r0, [r0, r1]
|
|
cmp r0, 0xB
|
|
bne _080A14C4
|
|
add r5, sp, 0x10
|
|
ldr r1, _080A14CC
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r5, 0
|
|
movs r2, 0
|
|
movs r3, 0
|
|
bl sub_809D600
|
|
movs r0, 0
|
|
add r1, sp, 0x4
|
|
adds r2, r4, 0
|
|
bl sub_809D710
|
|
ldr r3, _080A14D0
|
|
adds r0, r5, 0
|
|
movs r1, 0
|
|
add r2, sp, 0x4
|
|
bl GroundScript_ExecutePP
|
|
add r1, sp, 0x44
|
|
add r0, sp, 0x38
|
|
ldm r0!, {r2-r4}
|
|
stm r1!, {r2-r4}
|
|
ldr r0, _080A14D4
|
|
str r0, [r5, 0x34]
|
|
str r0, [r5, 0x38]
|
|
ldr r1, _080A14D8
|
|
adds r0, r5, 0
|
|
bl HandleAction
|
|
adds r4, r0, 0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r5, 0
|
|
bl sub_809D648
|
|
cmp r4, 0
|
|
beq _080A14DC
|
|
_080A14C4:
|
|
movs r0, 0
|
|
b _080A14DE
|
|
.align 2, 0
|
|
_080A14C8: .4byte gUnknown_812F1F8
|
|
_080A14CC: .4byte gUnknown_8116488
|
|
_080A14D0: .4byte gUnknown_81166F8
|
|
_080A14D4: .4byte gUnknown_81164E4
|
|
_080A14D8: .4byte gUnknown_8116704
|
|
_080A14DC:
|
|
movs r0, 0x1
|
|
_080A14DE:
|
|
add sp, 0xF4
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GroundScript_ExecuteTrigger
|
|
|
|
thumb_func_start sub_80A14E8
|
|
sub_80A14E8:
|
|
push {r4-r7,lr}
|
|
mov r7, r9
|
|
mov r6, r8
|
|
push {r6,r7}
|
|
ldr r4, _080A1514
|
|
add sp, r4
|
|
adds r6, r0, 0
|
|
adds r5, r2, 0
|
|
adds r7, r3, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
subs r0, r1, 0x1
|
|
cmp r0, 0x49
|
|
bls _080A1508
|
|
bl _080A236A
|
|
_080A1508:
|
|
lsls r0, 2
|
|
ldr r1, _080A1518
|
|
adds r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080A1514: .4byte 0xfffffc80
|
|
_080A1518: .4byte _080A151C
|
|
.align 2, 0
|
|
_080A151C:
|
|
.4byte _080A1644
|
|
.4byte _080A164C
|
|
.4byte _080A1672
|
|
.4byte _080A167A
|
|
.4byte _080A1680
|
|
.4byte _080A1688
|
|
.4byte _080A1690
|
|
.4byte _080A1698
|
|
.4byte _080A169E
|
|
.4byte _080A16C6
|
|
.4byte _080A1730
|
|
.4byte _080A1756
|
|
.4byte _080A178C
|
|
.4byte _080A1792
|
|
.4byte _080A17C0
|
|
.4byte _080A17C6
|
|
.4byte _080A1800
|
|
.4byte _080A1814
|
|
.4byte _080A1824
|
|
.4byte _080A1840
|
|
.4byte _080A185E
|
|
.4byte _080A18C2
|
|
.4byte _080A18E2
|
|
.4byte _080A18F2
|
|
.4byte _080A1904
|
|
.4byte _080A197C
|
|
.4byte _080A1988
|
|
.4byte _080A19DC
|
|
.4byte _080A19FC
|
|
.4byte _080A1A0E
|
|
.4byte _080A1A18
|
|
.4byte _080A1A70
|
|
.4byte _080A1AF8
|
|
.4byte _080A1B20
|
|
.4byte _080A1B36
|
|
.4byte _080A1B58
|
|
.4byte _080A1B64
|
|
.4byte _080A1BD8
|
|
.4byte _080A1BE4
|
|
.4byte _080A1C30
|
|
.4byte _080A1C84
|
|
.4byte _080A1DEC
|
|
.4byte _080A1E30
|
|
.4byte _080A1E3C
|
|
.4byte _080A1ED0
|
|
.4byte _080A1ED6
|
|
.4byte _080A1F28
|
|
.4byte _080A1F3C
|
|
.4byte _080A1F44
|
|
.4byte _080A1F50
|
|
.4byte _080A1F80
|
|
.4byte _080A1FDA
|
|
.4byte _080A202C
|
|
.4byte _080A2054
|
|
.4byte _080A2060
|
|
.4byte _080A204A
|
|
.4byte _080A206C
|
|
.4byte _080A2076
|
|
.4byte _080A207C
|
|
.4byte _080A2082
|
|
.4byte _080A20D4
|
|
.4byte _080A20F4
|
|
.4byte _080A21E4
|
|
.4byte _080A228C
|
|
.4byte _080A229E
|
|
.4byte _080A2298
|
|
.4byte _080A22AE
|
|
.4byte _080A22CC
|
|
.4byte _080A22E4
|
|
.4byte _080A2304
|
|
.4byte _080A2320
|
|
.4byte _080A232E
|
|
.4byte _080A233A
|
|
.4byte _080A2346
|
|
_080A1644:
|
|
bl sub_8098C58
|
|
bl _080A236A
|
|
_080A164C:
|
|
bl sub_8011C34
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
cmp r0, r1
|
|
bne _080A1660
|
|
bl Random
|
|
bl sub_8011C40
|
|
_080A1660:
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
bl sub_8001064
|
|
bl sub_809965C
|
|
bl _080A236A
|
|
_080A1672:
|
|
bl sub_8098CC8
|
|
bl _080A236A
|
|
_080A167A:
|
|
bl sub_80961D8
|
|
b _080A1804
|
|
_080A1680:
|
|
bl sub_8096028
|
|
bl _080A236A
|
|
_080A1688:
|
|
bl sub_80963FC
|
|
bl _080A236A
|
|
_080A1690:
|
|
bl sub_8096488
|
|
bl _080A236A
|
|
_080A1698:
|
|
bl sub_80964B4
|
|
b _080A1804
|
|
_080A169E:
|
|
movs r0, 0x8
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A16B0
|
|
bl sub_808D4B0
|
|
b _080A16B4
|
|
_080A16B0:
|
|
bl sub_808D500
|
|
_080A16B4:
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl nullsub_104
|
|
negs r0, r4
|
|
orrs r0, r4
|
|
lsrs r0, 31
|
|
bl _080A236C
|
|
_080A16C6:
|
|
movs r1, 0xC
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0x1
|
|
beq _080A16D2
|
|
bl _080A236A
|
|
_080A16D2:
|
|
movs r2, 0xE
|
|
ldrsh r0, [r6, r2]
|
|
add r1, sp, 0x314
|
|
bl sub_80A8C4C
|
|
lsls r0, 16
|
|
asrs r1, r0, 16
|
|
cmp r1, 0
|
|
bne _080A16E8
|
|
bl _080A236A
|
|
_080A16E8:
|
|
add r0, sp, 0x314
|
|
ldrb r0, [r0]
|
|
cmp r0, 0x44
|
|
bne _080A16FC
|
|
movs r0, 0x82
|
|
lsls r0, 1
|
|
cmp r1, r0
|
|
bne _080A16FC
|
|
bl _080A203C
|
|
_080A16FC:
|
|
movs r3, 0xE
|
|
ldrsh r0, [r6, r3]
|
|
bl sub_80A90C8
|
|
lsls r0, 16
|
|
ldr r1, _080A172C
|
|
asrs r0, 14
|
|
adds r0, r1
|
|
ldr r1, [r0]
|
|
add r0, sp, 0x4
|
|
bl strcpy
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
add r2, sp, 0x4
|
|
bl sub_809AE90
|
|
_080A171E:
|
|
lsls r0, 24
|
|
_080A1720:
|
|
cmp r0, 0
|
|
beq _080A1726
|
|
b _080A1EBE
|
|
_080A1726:
|
|
bl _080A236A
|
|
.align 2, 0
|
|
_080A172C: .4byte gUnknown_813237C
|
|
_080A1730:
|
|
movs r0, 0
|
|
movs r1, 0x14
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A2740
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80969D0
|
|
movs r1, 0
|
|
cmp r0, 0
|
|
ble _080A1750
|
|
movs r1, 0x1
|
|
_080A1750:
|
|
adds r0, r1, 0
|
|
bl _080A236C
|
|
_080A1756:
|
|
add r4, sp, 0x104
|
|
adds r0, r4, 0
|
|
bl sub_8099394
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1768
|
|
bl _080A236A
|
|
_080A1768:
|
|
ldr r0, _080A1788
|
|
ldr r1, [r0]
|
|
ldrb r2, [r4]
|
|
lsls r0, r2, 1
|
|
adds r0, r2
|
|
lsls r0, 4
|
|
adds r1, r0
|
|
adds r1, 0x2C
|
|
movs r0, 0
|
|
ldrsb r0, [r1, r0]
|
|
_080A177C:
|
|
cmp r0, 0
|
|
ble _080A1782
|
|
b _080A1EBE
|
|
_080A1782:
|
|
bl _080A236A
|
|
.align 2, 0
|
|
_080A1788: .4byte gUnknown_203B480
|
|
_080A178C:
|
|
bl sub_8097640
|
|
b _080A1804
|
|
_080A1792:
|
|
movs r5, 0x11
|
|
_080A1794:
|
|
lsls r4, r5, 16
|
|
asrs r0, r4, 16
|
|
bl sub_809758C
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A17B6
|
|
lsrs r4, 16
|
|
movs r0, 0
|
|
movs r1, 0x2F
|
|
adds r2, r4, 0
|
|
bl sub_8001784
|
|
cmp r0, 0
|
|
bne _080A17B6
|
|
bl _080A234E
|
|
_080A17B6:
|
|
adds r5, 0x1
|
|
cmp r5, 0x16
|
|
ble _080A1794
|
|
bl _080A236A
|
|
_080A17C0:
|
|
bl sub_80964E4
|
|
b _080A1804
|
|
_080A17C6:
|
|
movs r4, 0x8
|
|
ldrsh r0, [r6, r4]
|
|
cmp r0, 0x1
|
|
beq _080A17D2
|
|
bl _080A236A
|
|
_080A17D2:
|
|
movs r5, 0xA
|
|
ldrsh r0, [r6, r5]
|
|
cmp r0, 0
|
|
beq _080A17DE
|
|
bl _080A236A
|
|
_080A17DE:
|
|
movs r1, 0xC
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, 0x1
|
|
beq _080A17EA
|
|
bl _080A236A
|
|
_080A17EA:
|
|
movs r2, 0xA
|
|
ldrsh r4, [r6, r2]
|
|
movs r3, 0xE
|
|
ldrsh r0, [r6, r3]
|
|
bl sub_80A8E9C
|
|
adds r1, r0, 0
|
|
adds r0, r4, 0
|
|
bl sub_80A87E0
|
|
b _080A171E
|
|
_080A1800:
|
|
bl sub_80A8D20
|
|
_080A1804:
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
negs r0, r1
|
|
orrs r0, r1
|
|
lsrs r0, 31
|
|
bl _080A236C
|
|
_080A1814:
|
|
ldr r0, _080A1820
|
|
ldrh r0, [r0]
|
|
movs r1, 0xC0
|
|
lsls r1, 2
|
|
ands r0, r1
|
|
b _080A1720
|
|
.align 2, 0
|
|
_080A1820: .4byte gUnknown_20255F0
|
|
_080A1824:
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
bl sub_80A8D54
|
|
cmp r0, 0
|
|
bne _080A1834
|
|
bl _080A236A
|
|
_080A1834:
|
|
ldrh r0, [r0]
|
|
lsrs r0, 1
|
|
movs r1, 0x1
|
|
ands r0, r1
|
|
bl _080A236C
|
|
_080A1840:
|
|
movs r4, 0x8
|
|
ldrsh r0, [r6, r4]
|
|
cmp r0, 0x1
|
|
beq _080A184C
|
|
bl _080A236A
|
|
_080A184C:
|
|
movs r5, 0xA
|
|
ldrsh r0, [r6, r5]
|
|
bl sub_80A8BFC
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_808DB48
|
|
b _080A171E
|
|
_080A185E:
|
|
lsls r0, r5, 16
|
|
asrs r0, 16
|
|
bl sub_80A7AE8
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
cmp r5, 0
|
|
bge _080A1872
|
|
bl _080A236A
|
|
_080A1872:
|
|
lsls r4, r7, 8
|
|
ldr r1, [r6]
|
|
ldr r0, [r6, 0x4]
|
|
add r7, sp, 0x318
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r7, 0
|
|
bl _call_via_r2
|
|
add r6, sp, 0x320
|
|
adds r0, r5, 0
|
|
adds r1, r6, 0
|
|
bl sub_80A8FD8
|
|
add r0, sp, 0x318
|
|
ldr r3, [r0]
|
|
subs r1, r3, r4
|
|
add r0, sp, 0x320
|
|
ldr r2, [r0]
|
|
cmp r1, r2
|
|
ble _080A189E
|
|
bl _080A236A
|
|
_080A189E:
|
|
adds r0, r3, r4
|
|
cmp r0, r2
|
|
bge _080A18A8
|
|
bl _080A236A
|
|
_080A18A8:
|
|
ldr r2, [r7, 0x4]
|
|
subs r0, r2, r4
|
|
ldr r1, [r6, 0x4]
|
|
cmp r0, r1
|
|
ble _080A18B6
|
|
bl _080A236A
|
|
_080A18B6:
|
|
adds r0, r2, r4
|
|
cmp r0, r1
|
|
blt _080A18BE
|
|
b _080A1EBE
|
|
_080A18BE:
|
|
bl _080A236A
|
|
_080A18C2:
|
|
movs r0, 0x1
|
|
bl sub_80A8D54
|
|
cmp r0, 0
|
|
bne _080A18D0
|
|
bl _080A236A
|
|
_080A18D0:
|
|
adds r1, r0, 0
|
|
adds r1, 0x4C
|
|
movs r2, 0
|
|
adds r0, 0x55
|
|
_080A18D8:
|
|
strb r2, [r0]
|
|
subs r0, 0x1
|
|
cmp r0, r1
|
|
bge _080A18D8
|
|
b _080A1EBE
|
|
_080A18E2:
|
|
movs r0, 0xC
|
|
bl sub_80925EC
|
|
movs r0, 0x12
|
|
bl sub_80925EC
|
|
bl _080A236A
|
|
_080A18F2:
|
|
ldr r0, _080A1900
|
|
movs r1, 0x3C
|
|
_080A18F6:
|
|
movs r2, 0xA
|
|
bl sub_80A8F50
|
|
bl _080A236A
|
|
.align 2, 0
|
|
_080A1900: .4byte gUnknown_2039D98
|
|
_080A1904:
|
|
movs r0, 0x51
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80925EC
|
|
add r1, sp, 0x4
|
|
ldr r0, _080A1970
|
|
ldm r0!, {r2,r3,r6}
|
|
stm r1!, {r2,r3,r6}
|
|
ldm r0!, {r2,r4,r6}
|
|
stm r1!, {r2,r4,r6}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r1!, {r3,r4,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
add r4, sp, 0x2C
|
|
adds r0, r4, 0
|
|
add r1, sp, 0x4
|
|
bl sub_808D144
|
|
adds r0, r4, 0
|
|
bl sub_808D1DC
|
|
cmp r0, 0
|
|
bne _080A193C
|
|
b _080A1EBE
|
|
_080A193C:
|
|
movs r3, 0
|
|
ldr r1, _080A1974
|
|
mov r8, r1
|
|
lsls r6, r5, 2
|
|
ldr r2, _080A1978
|
|
adds r4, r0, 0
|
|
adds r4, 0x4C
|
|
mov r7, r8
|
|
_080A194C:
|
|
adds r0, r4, r3
|
|
adds r1, r3, r7
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x9
|
|
ble _080A194C
|
|
_080A195A:
|
|
adds r0, r6, r5
|
|
lsls r0, 4
|
|
adds r0, r2
|
|
mov r1, r8
|
|
movs r2, 0xA
|
|
bl sub_80922B4
|
|
_080A1968:
|
|
bl sub_8097848
|
|
bl _080A236A
|
|
.align 2, 0
|
|
_080A1970: .4byte gUnknown_8116710
|
|
_080A1974: .4byte gUnknown_2039D98
|
|
_080A1978: .4byte gPlayerName
|
|
_080A197C:
|
|
ldr r0, _080A1984
|
|
movs r1, 0x53
|
|
b _080A18F6
|
|
.align 2, 0
|
|
_080A1984: .4byte gUnknown_2039D98
|
|
_080A1988:
|
|
ldr r0, _080A19D4
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80925EC
|
|
add r1, sp, 0x84
|
|
adds r2, r1, 0
|
|
ldr r0, _080A19D8
|
|
ldm r0!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
add r4, sp, 0xAC
|
|
adds r0, r4, 0
|
|
bl sub_808D144
|
|
adds r0, r4, 0
|
|
bl sub_808D1DC
|
|
adds r4, r0, 0
|
|
cmp r4, 0
|
|
bne _080A19C2
|
|
b _080A1EBE
|
|
_080A19C2:
|
|
bl sub_8097848
|
|
ldrh r1, [r4]
|
|
movs r0, 0x2
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
bl _080A236A
|
|
.align 2, 0
|
|
_080A19D4: .4byte 0x00000183
|
|
_080A19D8: .4byte gUnknown_8116738
|
|
_080A19DC:
|
|
ldr r0, _080A19F8
|
|
movs r1, 0
|
|
bl sub_808D434
|
|
adds r2, r0, 0
|
|
cmp r2, 0
|
|
bne _080A19EC
|
|
b _080A1EBE
|
|
_080A19EC:
|
|
ldrh r1, [r2]
|
|
movs r0, 0x2
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bl _080A236A
|
|
.align 2, 0
|
|
_080A19F8: .4byte 0x00000183
|
|
_080A19FC:
|
|
movs r0, 0x82
|
|
lsls r0, 1
|
|
_080A1A00:
|
|
bl sub_808D278
|
|
cmp r0, 0
|
|
bne _080A1A0A
|
|
b _080A1EBE
|
|
_080A1A0A:
|
|
bl _080A236A
|
|
_080A1A0E:
|
|
ldr r0, _080A1A14
|
|
movs r1, 0x7C
|
|
b _080A18F6
|
|
.align 2, 0
|
|
_080A1A14: .4byte gUnknown_2039D98
|
|
_080A1A18:
|
|
add r1, sp, 0x108
|
|
adds r2, r1, 0
|
|
ldr r0, _080A1A64
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
add r4, sp, 0x130
|
|
adds r0, r4, 0
|
|
bl sub_808D144
|
|
adds r0, r4, 0
|
|
bl sub_808D1DC
|
|
cmp r0, 0
|
|
bne _080A1A42
|
|
b _080A1EBE
|
|
_080A1A42:
|
|
movs r3, 0
|
|
ldr r4, _080A1A68
|
|
mov r8, r4
|
|
lsls r6, r5, 2
|
|
ldr r2, _080A1A6C
|
|
adds r4, r0, 0
|
|
adds r4, 0x4C
|
|
mov r7, r8
|
|
_080A1A52:
|
|
adds r0, r4, r3
|
|
adds r1, r3, r7
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r3, 0x1
|
|
cmp r3, 0x9
|
|
ble _080A1A52
|
|
b _080A195A
|
|
.align 2, 0
|
|
_080A1A64: .4byte gUnknown_8116760
|
|
_080A1A68: .4byte gUnknown_2039D98
|
|
_080A1A6C: .4byte gPlayerName
|
|
_080A1A70:
|
|
movs r0, 0x9E
|
|
movs r1, 0x1
|
|
bl sub_80026E8
|
|
movs r0, 0x91
|
|
movs r1, 0
|
|
bl sub_808D434
|
|
cmp r0, 0
|
|
bne _080A1A9A
|
|
ldr r3, _080A1AEC
|
|
str r0, [sp]
|
|
movs r0, 0x91
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_808D2E8
|
|
cmp r0, 0
|
|
beq _080A1A9A
|
|
bl sub_8097848
|
|
_080A1A9A:
|
|
movs r0, 0x92
|
|
movs r1, 0
|
|
bl sub_808D434
|
|
cmp r0, 0
|
|
bne _080A1ABC
|
|
ldr r3, _080A1AF0
|
|
str r0, [sp]
|
|
movs r0, 0x92
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_808D2E8
|
|
cmp r0, 0
|
|
beq _080A1ABC
|
|
bl sub_8097848
|
|
_080A1ABC:
|
|
movs r0, 0x90
|
|
movs r1, 0
|
|
bl sub_808D434
|
|
cmp r0, 0
|
|
beq _080A1ACC
|
|
bl _080A236A
|
|
_080A1ACC:
|
|
ldr r3, _080A1AF4
|
|
str r0, [sp]
|
|
movs r0, 0x90
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_808D2E8
|
|
cmp r0, 0
|
|
bne _080A1AE2
|
|
bl _080A236A
|
|
_080A1AE2:
|
|
bl sub_8097848
|
|
bl _080A236A
|
|
.align 2, 0
|
|
_080A1AEC: .4byte gUnknown_8116788
|
|
_080A1AF0: .4byte gUnknown_811678C
|
|
_080A1AF4: .4byte gUnknown_8116790
|
|
_080A1AF8:
|
|
movs r0, 0x90
|
|
bl sub_808E734
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1B08
|
|
bl _080A236A
|
|
_080A1B08:
|
|
movs r0, 0x91
|
|
bl sub_808E734
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1B18
|
|
bl _080A236A
|
|
_080A1B18:
|
|
movs r0, 0x92
|
|
bl sub_808E734
|
|
b _080A171E
|
|
_080A1B20:
|
|
bl sub_808D33C
|
|
ldrh r0, [r0, 0x8]
|
|
subs r0, 0x90
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x2
|
|
bls _080A1B32
|
|
b _080A1EBE
|
|
_080A1B32:
|
|
bl _080A236A
|
|
_080A1B36:
|
|
bl sub_808D33C
|
|
cmp r0, 0
|
|
beq _080A1B4A
|
|
movs r5, 0x8
|
|
ldrsh r1, [r0, r5]
|
|
ldr r0, _080A1B54
|
|
cmp r1, r0
|
|
bne _080A1B4A
|
|
b _080A203C
|
|
_080A1B4A:
|
|
ldr r0, _080A1B54
|
|
bl sub_8098134
|
|
b _080A171E
|
|
.align 2, 0
|
|
_080A1B54: .4byte 0x00000113
|
|
_080A1B58:
|
|
ldr r0, _080A1B60
|
|
movs r1, 0x79
|
|
b _080A18F6
|
|
.align 2, 0
|
|
_080A1B60: .4byte gUnknown_2039D98
|
|
_080A1B64:
|
|
ldr r4, _080A1BCC
|
|
adds r0, r4, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1B88
|
|
adds r0, r4, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80925EC
|
|
_080A1B88:
|
|
add r1, sp, 0x188
|
|
adds r2, r1, 0
|
|
ldr r0, _080A1BD0
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldm r0!, {r4-r6}
|
|
stm r2!, {r4-r6}
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
add r4, sp, 0x1B0
|
|
adds r0, r4, 0
|
|
bl sub_808D144
|
|
adds r0, r4, 0
|
|
bl sub_808D1DC
|
|
cmp r0, 0
|
|
bne _080A1BB2
|
|
b _080A1EBE
|
|
_080A1BB2:
|
|
movs r2, 0
|
|
adds r3, r0, 0
|
|
adds r3, 0x4C
|
|
ldr r4, _080A1BD4
|
|
_080A1BBA:
|
|
adds r0, r3, r2
|
|
adds r1, r2, r4
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x9
|
|
ble _080A1BBA
|
|
b _080A1968
|
|
.align 2, 0
|
|
_080A1BCC: .4byte 0x00000199
|
|
_080A1BD0: .4byte gUnknown_8116794
|
|
_080A1BD4: .4byte gUnknown_2039D98
|
|
_080A1BD8:
|
|
ldr r0, _080A1BE0
|
|
movs r1, 0x7A
|
|
b _080A18F6
|
|
.align 2, 0
|
|
_080A1BE0: .4byte gUnknown_2039D98
|
|
_080A1BE4:
|
|
add r1, sp, 0x208
|
|
adds r2, r1, 0
|
|
ldr r0, _080A1C28
|
|
ldm r0!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
add r4, sp, 0x230
|
|
adds r0, r4, 0
|
|
bl sub_808D144
|
|
adds r0, r4, 0
|
|
bl sub_808D1DC
|
|
cmp r0, 0
|
|
bne _080A1C0E
|
|
b _080A1EBE
|
|
_080A1C0E:
|
|
movs r2, 0
|
|
adds r3, r0, 0
|
|
adds r3, 0x4C
|
|
ldr r4, _080A1C2C
|
|
_080A1C16:
|
|
adds r0, r3, r2
|
|
adds r1, r2, r4
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x9
|
|
ble _080A1C16
|
|
b _080A1968
|
|
.align 2, 0
|
|
_080A1C28: .4byte gUnknown_81167BC
|
|
_080A1C2C: .4byte gUnknown_2039D98
|
|
_080A1C30:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _080A1C70
|
|
ldr r0, _080A1C64
|
|
ldrb r4, [r0, 0x2]
|
|
adds r0, r4, 0
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1C4A
|
|
b _080A236A
|
|
_080A1C4A:
|
|
ldr r0, _080A1C68
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 1
|
|
adds r0, 0x50
|
|
adds r1, r0, r1
|
|
ldrh r2, [r1]
|
|
ldr r0, _080A1C6C
|
|
cmp r2, r0
|
|
bls _080A1C5E
|
|
b _080A236A
|
|
_080A1C5E:
|
|
adds r0, r2, 0x1
|
|
strh r0, [r1]
|
|
b _080A236A
|
|
.align 2, 0
|
|
_080A1C64: .4byte gUnknown_81167E4
|
|
_080A1C68: .4byte gUnknown_203B460
|
|
_080A1C6C: .4byte 0x000003e6
|
|
_080A1C70:
|
|
ldr r0, _080A1C80
|
|
ldrb r0, [r0, 0x2]
|
|
movs r1, 0
|
|
bl sub_809124C
|
|
bl sub_80910B4
|
|
b _080A236A
|
|
.align 2, 0
|
|
_080A1C80: .4byte gUnknown_81167E4
|
|
_080A1C84:
|
|
movs r0, 0xD1
|
|
lsls r0, 1
|
|
bl RandomCapped
|
|
adds r0, 0x1
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
movs r0, 0x20
|
|
bl RandomCapped
|
|
adds r4, r0, 0
|
|
movs r7, 0xD2
|
|
lsls r7, 1
|
|
movs r6, 0
|
|
ldr r0, _080A1DE0
|
|
mov r8, r0
|
|
_080A1CA4:
|
|
adds r0, r5, 0x1
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
cmp r5, r8
|
|
ble _080A1CB0
|
|
movs r5, 0x1
|
|
_080A1CB0:
|
|
subs r7, 0x1
|
|
cmp r7, 0
|
|
bge _080A1CCC
|
|
cmp r6, 0
|
|
bne _080A1CBC
|
|
b _080A2360
|
|
_080A1CBC:
|
|
cmp r4, r6
|
|
blt _080A1CCC
|
|
adds r0, r6, 0
|
|
bl RandomCapped
|
|
adds r4, r0, 0
|
|
movs r7, 0xD2
|
|
lsls r7, 1
|
|
_080A1CCC:
|
|
adds r0, r5, 0
|
|
subs r0, 0x90
|
|
lsls r0, 16
|
|
lsrs r0, 16
|
|
cmp r0, 0x2
|
|
bls _080A1CA4
|
|
ldr r0, _080A1DE4
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0xB
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
subs r0, 0xD
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
subs r0, 0x88
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x67
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x23
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x3
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
cmp r5, r8
|
|
beq _080A1CA4
|
|
cmp r5, 0x96
|
|
beq _080A1CA4
|
|
subs r0, 0x5
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
cmp r5, 0x97
|
|
beq _080A1CA4
|
|
subs r0, 0x5
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
subs r0, 0x8C
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
subs r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x2
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x5
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x82
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, 0x1
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
subs r0, 0x83
|
|
cmp r5, r0
|
|
beq _080A1CA4
|
|
adds r0, r5, 0
|
|
bl sub_80981DC
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A1CA4
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A1D9E
|
|
adds r0, r5, 0
|
|
bl sub_808E734
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1CA4
|
|
adds r0, r5, 0
|
|
bl sub_808D278
|
|
cmp r0, 0
|
|
beq _080A1CA4
|
|
_080A1D9E:
|
|
adds r6, 0x1
|
|
subs r4, 0x1
|
|
cmp r4, 0
|
|
blt _080A1DA8
|
|
b _080A1CA4
|
|
_080A1DA8:
|
|
movs r0, 0
|
|
movs r1, 0x1F
|
|
adds r2, r5, 0
|
|
bl sub_80018D8
|
|
ldr r4, _080A1DE8
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1EBE
|
|
b _080A203C
|
|
.align 2, 0
|
|
_080A1DE0: .4byte 0x000001a3
|
|
_080A1DE4: .4byte 0x0000019b
|
|
_080A1DE8: .4byte gUnknown_202E628
|
|
_080A1DEC:
|
|
movs r0, 0
|
|
movs r1, 0x1F
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
ldr r4, _080A1E2C
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
cmp r5, 0
|
|
bne _080A1E14
|
|
b _080A236A
|
|
_080A1E14:
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1EBE
|
|
b _080A203C
|
|
.align 2, 0
|
|
_080A1E2C: .4byte gUnknown_202E628
|
|
_080A1E30:
|
|
ldr r0, _080A1E38
|
|
movs r1, 0x20
|
|
b _080A18F6
|
|
.align 2, 0
|
|
_080A1E38: .4byte gUnknown_2039D98
|
|
_080A1E3C:
|
|
cmp r5, 0
|
|
bne _080A1E42
|
|
b _080A2360
|
|
_080A1E42:
|
|
movs r0, 0
|
|
movs r1, 0x1F
|
|
bl sub_8001658
|
|
lsls r0, 16
|
|
asrs r5, r0, 16
|
|
adds r6, r5, 0
|
|
ldr r4, _080A1EC4
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
adds r1, r0, 0
|
|
lsls r1, 24
|
|
lsrs r1, 24
|
|
adds r0, r4, 0
|
|
movs r2, 0
|
|
bl sub_8092578
|
|
cmp r5, 0
|
|
bne _080A1E6C
|
|
b _080A236A
|
|
_080A1E6C:
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_8092600
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1E8E
|
|
adds r0, r5, 0
|
|
bl sub_808DBA8
|
|
lsls r0, 24
|
|
lsrs r0, 24
|
|
bl sub_80925EC
|
|
_080A1E8E:
|
|
ldr r3, _080A1EC8
|
|
movs r0, 0
|
|
str r0, [sp]
|
|
adds r0, r6, 0
|
|
movs r1, 0
|
|
movs r2, 0
|
|
bl sub_808D2E8
|
|
cmp r0, 0
|
|
bne _080A1EA4
|
|
b _080A236A
|
|
_080A1EA4:
|
|
movs r2, 0
|
|
adds r3, r0, 0
|
|
adds r3, 0x4C
|
|
ldr r4, _080A1ECC
|
|
_080A1EAC:
|
|
adds r0, r3, r2
|
|
adds r1, r2, r4
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r2, 0x1
|
|
cmp r2, 0x9
|
|
ble _080A1EAC
|
|
bl sub_8097848
|
|
_080A1EBE:
|
|
movs r0, 0x1
|
|
b _080A236C
|
|
.align 2, 0
|
|
_080A1EC4: .4byte gUnknown_202E628
|
|
_080A1EC8: .4byte gUnknown_81167E8
|
|
_080A1ECC: .4byte gUnknown_2039D98
|
|
_080A1ED0:
|
|
bl sub_809211C
|
|
b _080A177C
|
|
_080A1ED6:
|
|
bl sub_8092178
|
|
lsls r0, 24
|
|
lsrs r4, r0, 24
|
|
bl sub_809211C
|
|
cmp r0, 0
|
|
bgt _080A1EE8
|
|
b _080A236A
|
|
_080A1EE8:
|
|
bl sub_8092158
|
|
bl sub_8092178
|
|
adds r5, r0, 0
|
|
lsls r5, 24
|
|
lsrs r5, 24
|
|
adds r0, r4, 0
|
|
bl sub_80921A8
|
|
adds r1, r0, 0
|
|
ldr r4, _080A1F30
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
adds r0, r5, 0
|
|
bl sub_80921A8
|
|
adds r1, r0, 0
|
|
adds r4, 0x50
|
|
adds r0, r4, 0
|
|
bl strcpy
|
|
movs r1, 0x1
|
|
negs r1, r1
|
|
ldr r2, _080A1F34
|
|
movs r0, 0
|
|
bl sub_809AE90
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1EBE
|
|
_080A1F28:
|
|
ldr r0, _080A1F38
|
|
bl sub_80913A0
|
|
b _080A236A
|
|
.align 2, 0
|
|
_080A1F30: .4byte gUnknown_202DE58
|
|
_080A1F34: .4byte gUnknown_81167EC
|
|
_080A1F38: .4byte 0x00002710
|
|
_080A1F3C:
|
|
ldr r0, _080A1F40
|
|
b _080A1A00
|
|
.align 2, 0
|
|
_080A1F40: .4byte 0x00000133
|
|
_080A1F44:
|
|
ldr r0, _080A1F4C
|
|
movs r1, 0x52
|
|
b _080A18F6
|
|
.align 2, 0
|
|
_080A1F4C: .4byte gUnknown_2039D98
|
|
_080A1F50:
|
|
add r1, sp, 0x288
|
|
adds r2, r1, 0
|
|
ldr r0, _080A1F7C
|
|
ldm r0!, {r3-r5}
|
|
stm r2!, {r3-r5}
|
|
ldm r0!, {r3,r4,r6}
|
|
stm r2!, {r3,r4,r6}
|
|
ldm r0!, {r3,r5,r6}
|
|
stm r2!, {r3,r5,r6}
|
|
ldr r0, [r0]
|
|
str r0, [r2]
|
|
add r4, sp, 0x2B0
|
|
adds r0, r4, 0
|
|
bl sub_808D144
|
|
adds r0, r4, 0
|
|
bl sub_808D1DC
|
|
cmp r0, 0
|
|
beq _080A1EBE
|
|
b _080A1968
|
|
.align 2, 0
|
|
_080A1F7C: .4byte gUnknown_811681C
|
|
_080A1F80:
|
|
movs r2, 0x1
|
|
negs r2, r2
|
|
movs r0, 0x3
|
|
movs r1, 0x12
|
|
bl sub_8001D44
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A1F94
|
|
b _080A236A
|
|
_080A1F94:
|
|
movs r0, 0
|
|
movs r1, 0xF
|
|
bl sub_8001658
|
|
cmp r0, 0x4
|
|
bne _080A1FA2
|
|
b _080A236A
|
|
_080A1FA2:
|
|
movs r0, 0
|
|
movs r1, 0x42
|
|
movs r2, 0
|
|
bl sub_8001784
|
|
cmp r0, 0
|
|
ble _080A1FB2
|
|
b _080A236A
|
|
_080A1FB2:
|
|
movs r0, 0x80
|
|
lsls r0, 1
|
|
bl OtherRandomCapped
|
|
cmp r0, 0
|
|
bne _080A1FCC
|
|
movs r0, 0
|
|
movs r1, 0x42
|
|
movs r2, 0
|
|
movs r3, 0x4
|
|
bl sub_800199C
|
|
b _080A1EBE
|
|
_080A1FCC:
|
|
movs r0, 0
|
|
movs r1, 0x42
|
|
movs r2, 0
|
|
movs r3, 0x1
|
|
bl sub_800199C
|
|
b _080A236A
|
|
_080A1FDA:
|
|
ldr r6, _080A200C
|
|
ldr r7, _080A2010
|
|
movs r5, 0x2
|
|
_080A1FE0:
|
|
bl sub_8090A34
|
|
cmp r0, 0x13
|
|
ble _080A2018
|
|
ldrb r4, [r6, 0x2]
|
|
adds r0, r4, 0
|
|
bl sub_8091524
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A2024
|
|
ldr r0, _080A2014
|
|
ldr r0, [r0]
|
|
lsls r1, r4, 1
|
|
adds r0, 0x50
|
|
adds r1, r0, r1
|
|
ldrh r0, [r1]
|
|
cmp r0, r7
|
|
bhi _080A2024
|
|
adds r0, 0x1
|
|
strh r0, [r1]
|
|
b _080A2024
|
|
.align 2, 0
|
|
_080A200C: .4byte gUnknown_8116844
|
|
_080A2010: .4byte 0x000003e6
|
|
_080A2014: .4byte gUnknown_203B460
|
|
_080A2018:
|
|
ldrb r0, [r6, 0x2]
|
|
movs r1, 0
|
|
bl sub_809124C
|
|
bl sub_80910B4
|
|
_080A2024:
|
|
subs r5, 0x1
|
|
cmp r5, 0
|
|
bge _080A1FE0
|
|
b _080A236A
|
|
_080A202C:
|
|
bl sub_808D33C
|
|
cmp r0, 0
|
|
beq _080A2040
|
|
movs r4, 0x8
|
|
ldrsh r0, [r0, r4]
|
|
cmp r0, 0x71
|
|
bne _080A2040
|
|
_080A203C:
|
|
movs r0, 0x2
|
|
b _080A236C
|
|
_080A2040:
|
|
movs r0, 0x71
|
|
bl sub_8098134
|
|
bl _080A171E
|
|
_080A204A:
|
|
movs r0, 0
|
|
movs r1, 0x1
|
|
bl sub_80A56A0
|
|
b _080A236A
|
|
_080A2054:
|
|
add r0, sp, 0x328
|
|
str r5, [r0]
|
|
str r7, [r0, 0x4]
|
|
bl sub_80A56F0
|
|
b _080A236A
|
|
_080A2060:
|
|
add r0, sp, 0x330
|
|
str r5, [r0]
|
|
str r7, [r0, 0x4]
|
|
bl sub_80A5704
|
|
b _080A236A
|
|
_080A206C:
|
|
lsls r0, r5, 16
|
|
lsrs r0, 16
|
|
bl sub_809C6CC
|
|
b _080A236A
|
|
_080A2076:
|
|
bl sub_809C6EC
|
|
b _080A236A
|
|
_080A207C:
|
|
bl sub_809C760
|
|
b _080A236A
|
|
_080A2082:
|
|
movs r0, 0
|
|
movs r4, 0x80
|
|
lsls r4, 9
|
|
_080A2088:
|
|
movs r1, 0x80
|
|
lsls r1, 15
|
|
bl sub_80A86C8
|
|
adds r0, r4, 0
|
|
movs r5, 0x80
|
|
lsls r5, 9
|
|
adds r4, r5
|
|
asrs r0, 16
|
|
cmp r0, 0x17
|
|
ble _080A2088
|
|
movs r0, 0
|
|
adds r4, r5, 0
|
|
_080A20A2:
|
|
movs r1, 0x80
|
|
lsls r1, 15
|
|
bl sub_80AC1B0
|
|
adds r0, r4, 0
|
|
movs r6, 0x80
|
|
lsls r6, 9
|
|
adds r4, r6
|
|
asrs r0, 16
|
|
cmp r0, 0xF
|
|
ble _080A20A2
|
|
movs r0, 0
|
|
adds r4, r6, 0
|
|
_080A20BC:
|
|
movs r1, 0x80
|
|
lsls r1, 15
|
|
bl sub_80AD0C8
|
|
adds r0, r4, 0
|
|
movs r1, 0x80
|
|
lsls r1, 9
|
|
adds r4, r1
|
|
asrs r0, 16
|
|
cmp r0, 0xF
|
|
ble _080A20BC
|
|
b _080A236A
|
|
_080A20D4:
|
|
add r0, sp, 0x338
|
|
str r5, [r0]
|
|
adds r4, r0, 0
|
|
str r7, [r4, 0x4]
|
|
movs r0, 0x1
|
|
adds r1, r4, 0
|
|
bl sub_80A5984
|
|
adds r2, r0, 0
|
|
lsls r2, 16
|
|
lsrs r2, 16
|
|
movs r0, 0
|
|
adds r1, r4, 0
|
|
bl sub_80A59A0
|
|
b _080A236A
|
|
_080A20F4:
|
|
add r1, sp, 0x308
|
|
movs r2, 0
|
|
movs r0, 0x1
|
|
strb r0, [r1]
|
|
strb r2, [r1, 0x1]
|
|
strb r0, [r1, 0x2]
|
|
strb r0, [r1, 0x3]
|
|
str r2, [r1, 0x4]
|
|
ldr r0, _080A21D8
|
|
ldr r2, _080A21DC
|
|
adds r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r1, 0x8]
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
lsls r2, r5, 16
|
|
asrs r2, 16
|
|
lsls r3, r7, 24
|
|
asrs r3, 24
|
|
bl GroundEffect_Add
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
cmp r0, 0
|
|
bge _080A2128
|
|
b _080A236A
|
|
_080A2128:
|
|
bl sub_80AD158
|
|
adds r7, r0, 0
|
|
add r4, sp, 0x340
|
|
add r5, sp, 0x348
|
|
adds r0, r4, 0
|
|
adds r1, r5, 0
|
|
bl sub_80A579C
|
|
ldr r0, [r4, 0x4]
|
|
movs r1, 0xC0
|
|
lsls r1, 4
|
|
adds r0, r1
|
|
str r0, [r4, 0x4]
|
|
ldr r0, [r5, 0x4]
|
|
adds r0, r1
|
|
str r0, [r5, 0x4]
|
|
ldr r1, [r6]
|
|
ldr r0, [r6, 0x4]
|
|
add r6, sp, 0x350
|
|
ldr r2, [r1, 0xC]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
add r1, sp, 0x350
|
|
ldr r2, [r1]
|
|
add r0, sp, 0x340
|
|
ldr r0, [r0]
|
|
cmp r2, r0
|
|
blt _080A216E
|
|
add r0, sp, 0x348
|
|
ldr r0, [r0]
|
|
cmp r2, r0
|
|
blt _080A2170
|
|
subs r0, 0x1
|
|
_080A216E:
|
|
str r0, [r1]
|
|
_080A2170:
|
|
ldr r1, [r6, 0x4]
|
|
ldr r0, [r4, 0x4]
|
|
cmp r1, r0
|
|
blt _080A2180
|
|
ldr r0, [r5, 0x4]
|
|
cmp r1, r0
|
|
blt _080A2182
|
|
subs r0, 0x1
|
|
_080A2180:
|
|
str r0, [r6, 0x4]
|
|
_080A2182:
|
|
add r1, sp, 0x340
|
|
ldr r0, [r1]
|
|
ldr r2, _080A21E0
|
|
adds r0, r2
|
|
str r0, [r1]
|
|
ldr r0, [r4, 0x4]
|
|
adds r0, r2
|
|
str r0, [r4, 0x4]
|
|
add r1, sp, 0x348
|
|
ldr r0, [r1]
|
|
movs r2, 0x80
|
|
lsls r2, 3
|
|
adds r0, r2
|
|
str r0, [r1]
|
|
ldr r0, [r5, 0x4]
|
|
adds r0, r2
|
|
str r0, [r5, 0x4]
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r3, [r1, 0x20]
|
|
adds r1, r4, 0
|
|
adds r2, r5, 0
|
|
bl _call_via_r3
|
|
ldr r1, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
ldr r2, [r1, 0x24]
|
|
adds r1, r6, 0
|
|
bl _call_via_r2
|
|
movs r0, 0
|
|
movs r1, 0
|
|
add r2, sp, 0x358
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
ldr r2, [r7]
|
|
ldr r0, [r7, 0x4]
|
|
add r1, sp, 0x358
|
|
ldr r2, [r2, 0x48]
|
|
bl _call_via_r2
|
|
b _080A1EBE
|
|
.align 2, 0
|
|
_080A21D8: .4byte gUnknown_812F1F8
|
|
_080A21DC: .4byte 0x00001310
|
|
_080A21E0: .4byte 0xfffffc00
|
|
_080A21E4:
|
|
ldr r0, _080A2288
|
|
ldrh r4, [r0]
|
|
ldrh r0, [r0, 0x2]
|
|
movs r1, 0xC
|
|
ands r0, r1
|
|
cmp r0, 0
|
|
beq _080A21F4
|
|
b _080A236A
|
|
_080A21F4:
|
|
adds r0, r4, 0
|
|
bl sub_809CFE8
|
|
lsls r0, 24
|
|
asrs r1, r0, 24
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
cmp r1, r0
|
|
beq _080A2282
|
|
movs r2, 0x80
|
|
lsls r2, 1
|
|
add r0, sp, 0x360
|
|
bl sub_8002BB8
|
|
add r0, sp, 0x360
|
|
ldr r1, [r0, 0x4]
|
|
ldr r0, [r0]
|
|
add r2, sp, 0x368
|
|
str r0, [r2]
|
|
str r1, [r2, 0x4]
|
|
movs r0, 0x2
|
|
ands r4, r0
|
|
cmp r4, 0
|
|
beq _080A2226
|
|
movs r0, 0x4
|
|
_080A2226:
|
|
cmp r0, 0
|
|
beq _080A2282
|
|
movs r3, 0xDA
|
|
lsls r3, 2
|
|
add r3, sp
|
|
mov r9, r3
|
|
add r7, sp, 0x370
|
|
add r4, sp, 0x378
|
|
mov r8, r0
|
|
_080A2238:
|
|
ldr r1, [r6]
|
|
ldr r0, [r6, 0x4]
|
|
ldr r2, [r1, 0x48]
|
|
mov r1, r9
|
|
bl _call_via_r2
|
|
cmp r0, 0
|
|
beq _080A2276
|
|
movs r5, 0
|
|
str r5, [r7]
|
|
mov r1, r9
|
|
ldr r0, [r1, 0x4]
|
|
str r0, [r7, 0x4]
|
|
ldr r1, [r6]
|
|
ldr r0, [r6, 0x4]
|
|
ldr r2, [r1, 0x48]
|
|
adds r1, r7, 0
|
|
bl _call_via_r2
|
|
cmp r0, 0
|
|
beq _080A2276
|
|
mov r2, r9
|
|
ldr r0, [r2]
|
|
str r0, [r4]
|
|
str r5, [r4, 0x4]
|
|
ldr r1, [r6]
|
|
ldr r0, [r6, 0x4]
|
|
ldr r2, [r1, 0x48]
|
|
adds r1, r4, 0
|
|
bl _call_via_r2
|
|
_080A2276:
|
|
movs r3, 0x1
|
|
negs r3, r3
|
|
add r8, r3
|
|
mov r5, r8
|
|
cmp r5, 0
|
|
bne _080A2238
|
|
_080A2282:
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
b _080A236C
|
|
.align 2, 0
|
|
_080A2288: .4byte gUnknown_20255F0
|
|
_080A228C:
|
|
negs r0, r5
|
|
orrs r0, r5
|
|
lsrs r0, 31
|
|
bl sub_80993C0
|
|
b _080A236A
|
|
_080A2298:
|
|
movs r0, 0x1
|
|
bl sub_8011C28
|
|
_080A229E:
|
|
adds r0, r5, 0
|
|
bl sub_8098F00
|
|
lsls r0, r5, 16
|
|
lsrs r0, 16
|
|
bl sub_80118C4
|
|
b _080A236A
|
|
_080A22AE:
|
|
bl sub_800C068
|
|
ldr r1, _080A22C4
|
|
strh r0, [r1]
|
|
lsls r0, 16
|
|
ldr r1, _080A22C8
|
|
cmp r0, r1
|
|
beq _080A22C0
|
|
b _080A1EBE
|
|
_080A22C0:
|
|
b _080A236A
|
|
.align 2, 0
|
|
_080A22C4: .4byte gUnknown_2039DA8
|
|
_080A22C8: .4byte 0x03e70000
|
|
_080A22CC:
|
|
ldr r4, _080A22DC
|
|
ldrh r0, [r4]
|
|
ldr r5, _080A22E0
|
|
cmp r0, r5
|
|
beq _080A236A
|
|
bl sub_80118F0
|
|
b _080A2312
|
|
.align 2, 0
|
|
_080A22DC: .4byte gUnknown_2039DA8
|
|
_080A22E0: .4byte 0x000003e7
|
|
_080A22E4:
|
|
ldr r4, _080A22FC
|
|
ldrh r0, [r4]
|
|
ldr r6, _080A2300
|
|
cmp r0, r6
|
|
beq _080A236A
|
|
lsls r1, r5, 16
|
|
lsrs r1, 16
|
|
bl sub_8011900
|
|
strh r6, [r4]
|
|
b _080A1EBE
|
|
.align 2, 0
|
|
_080A22FC: .4byte gUnknown_2039DA8
|
|
_080A2300: .4byte 0x000003e7
|
|
_080A2304:
|
|
ldr r4, _080A2318
|
|
ldrh r0, [r4]
|
|
ldr r5, _080A231C
|
|
cmp r0, r5
|
|
beq _080A236A
|
|
bl sub_8011914
|
|
_080A2312:
|
|
strh r5, [r4]
|
|
b _080A1EBE
|
|
.align 2, 0
|
|
_080A2318: .4byte gUnknown_2039DA8
|
|
_080A231C: .4byte 0x000003e7
|
|
_080A2320:
|
|
lsls r0, r5, 16
|
|
lsrs r0, 16
|
|
lsls r1, r7, 16
|
|
lsrs r1, 16
|
|
bl sub_80997F4
|
|
b _080A236A
|
|
_080A232E:
|
|
lsls r1, r5, 16
|
|
lsrs r1, 16
|
|
movs r0, 0x1E
|
|
bl sub_80997F4
|
|
b _080A236A
|
|
_080A233A:
|
|
lsls r1, r5, 16
|
|
lsrs r1, 16
|
|
movs r0, 0
|
|
bl GroundSprite_ExtendPaletteAdd
|
|
b _080A236A
|
|
_080A2346:
|
|
movs r0, 0
|
|
bl GroundSprite_ExtendPaletteDelete
|
|
b _080A236A
|
|
_080A234E:
|
|
movs r0, 0
|
|
movs r1, 0x2F
|
|
adds r2, r4, 0
|
|
movs r3, 0x1
|
|
bl sub_800199C
|
|
adds r0, r5, 0
|
|
subs r0, 0x10
|
|
b _080A236C
|
|
_080A2360:
|
|
movs r0, 0
|
|
movs r1, 0x1F
|
|
movs r2, 0
|
|
bl sub_80018D8
|
|
_080A236A:
|
|
movs r0, 0
|
|
_080A236C:
|
|
movs r3, 0xE0
|
|
lsls r3, 2
|
|
add sp, r3
|
|
pop {r3,r4}
|
|
mov r8, r3
|
|
mov r9, r4
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A14E8
|
|
|
|
thumb_func_start GroundScript_Unlock
|
|
GroundScript_Unlock:
|
|
push {r4-r7,lr}
|
|
ldr r1, _080A241C
|
|
ldrb r0, [r1]
|
|
cmp r0, 0
|
|
beq _080A2414
|
|
movs r0, 0
|
|
strb r0, [r1]
|
|
movs r6, 0
|
|
_080A2390:
|
|
ldr r0, _080A2420
|
|
adds r7, r6, r0
|
|
ldrb r0, [r7]
|
|
cmp r0, 0
|
|
beq _080A240E
|
|
movs r0, 0x1
|
|
ldr r1, _080A2424
|
|
adds r2, r6, 0
|
|
bl Log
|
|
lsls r5, r6, 16
|
|
asrs r5, 16
|
|
adds r0, r5, 0
|
|
bl sub_80A4D2C
|
|
adds r4, r0, 0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
bl sub_80A8B1C
|
|
orrs r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
bl sub_80AC320
|
|
orrs r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
adds r0, r5, 0
|
|
bl sub_80AD238
|
|
orrs r4, r0
|
|
lsls r4, 24
|
|
lsrs r4, 24
|
|
ldr r0, _080A2428
|
|
adds r5, r6, r0
|
|
ldrb r0, [r5]
|
|
cmp r0, 0
|
|
beq _080A240C
|
|
cmp r4, 0
|
|
beq _080A240E
|
|
movs r0, 0x80
|
|
adds r4, r6, 0
|
|
orrs r4, r0
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
adds r0, r4, 0
|
|
bl sub_80A4D2C
|
|
adds r0, r4, 0
|
|
bl sub_80A8B1C
|
|
adds r0, r4, 0
|
|
bl sub_80AC320
|
|
adds r0, r4, 0
|
|
bl sub_80AD238
|
|
movs r0, 0
|
|
strb r0, [r5]
|
|
_080A240C:
|
|
strb r0, [r7]
|
|
_080A240E:
|
|
adds r6, 0x1
|
|
cmp r6, 0x80
|
|
ble _080A2390
|
|
_080A2414:
|
|
pop {r4-r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080A241C: .4byte gUnknown_2039A36
|
|
_080A2420: .4byte gUnknown_2039A38
|
|
_080A2424: .4byte gUnknown_8116848
|
|
_080A2428: .4byte gUnknown_2039AC0
|
|
thumb_func_end GroundScript_Unlock
|
|
|
|
thumb_func_start sub_80A242C
|
|
sub_80A242C:
|
|
push {r4-r7,lr}
|
|
sub sp, 0x10
|
|
adds r4, r1, 0
|
|
ldr r0, [r0, 0x2C]
|
|
adds r2, r0, 0
|
|
adds r2, 0x10
|
|
mov r3, sp
|
|
_080A243A:
|
|
mov r1, sp
|
|
adds r0, r2, 0
|
|
ldm r0!, {r5-r7}
|
|
stm r1!, {r5-r7}
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r2, 0x10
|
|
ldrb r0, [r3]
|
|
cmp r0, 0xF4
|
|
bne _080A243A
|
|
movs r1, 0x2
|
|
ldrsh r0, [r3, r1]
|
|
cmp r4, r0
|
|
bne _080A243A
|
|
adds r0, r2, 0
|
|
add sp, 0x10
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A242C
|
|
|
|
thumb_func_start sub_80A2460
|
|
sub_80A2460:
|
|
push {r4-r7,lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, 0x10
|
|
adds r5, r0, 0
|
|
mov r8, r1
|
|
ldr r6, [r5, 0x28]
|
|
mov r4, sp
|
|
_080A2470:
|
|
mov r0, sp
|
|
adds r1, r6, 0
|
|
ldm r1!, {r2,r3,r7}
|
|
stm r0!, {r2,r3,r7}
|
|
ldr r1, [r1]
|
|
str r1, [r0]
|
|
ldrb r0, [r4]
|
|
cmp r0, 0xCC
|
|
bne _080A249E
|
|
ldr r1, [sp, 0x4]
|
|
mov r0, r8
|
|
movs r2, 0x2
|
|
bl FlagJudge
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A24F0
|
|
movs r0, 0x2
|
|
ldrsh r1, [r4, r0]
|
|
adds r0, r5, 0
|
|
bl sub_80A242C
|
|
b _080A24F4
|
|
_080A249E:
|
|
cmp r0, 0xCD
|
|
bne _080A24BE
|
|
ldr r1, [sp, 0x4]
|
|
ldrb r2, [r4, 0x1]
|
|
mov r0, r8
|
|
bl FlagJudge
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A24F0
|
|
movs r2, 0x2
|
|
ldrsh r1, [r4, r2]
|
|
adds r0, r5, 0
|
|
bl sub_80A242C
|
|
b _080A24F4
|
|
_080A24BE:
|
|
cmp r0, 0xCE
|
|
bne _080A24EC
|
|
ldr r1, [sp, 0x4]
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
adds r0, r5, 0
|
|
adds r0, 0x74
|
|
bl sub_8001658
|
|
adds r1, r0, 0
|
|
ldrb r2, [r4, 0x1]
|
|
mov r0, r8
|
|
bl FlagJudge
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A24F0
|
|
movs r3, 0x2
|
|
ldrsh r1, [r4, r3]
|
|
adds r0, r5, 0
|
|
bl sub_80A242C
|
|
b _080A24F4
|
|
_080A24EC:
|
|
adds r0, r6, 0
|
|
b _080A24F4
|
|
_080A24F0:
|
|
adds r6, 0x10
|
|
b _080A2470
|
|
_080A24F4:
|
|
add sp, 0x10
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4-r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A2460
|
|
|
|
thumb_func_start sub_80A2500
|
|
sub_80A2500:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0x1
|
|
bne _080A2524
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
movs r2, 0x2
|
|
ldrsh r0, [r1, r2]
|
|
bl sub_80A8BBC
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_809AB4C
|
|
_080A2524:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A2500
|
|
|
|
thumb_func_start sub_80A252C
|
|
sub_80A252C:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0x1
|
|
bne _080A2550
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
movs r2, 0x2
|
|
ldrsh r0, [r1, r2]
|
|
bl sub_80A8BBC
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_809ABB4
|
|
_080A2550:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A252C
|
|
|
|
thumb_func_start sub_80A2558
|
|
sub_80A2558:
|
|
push {r4,lr}
|
|
adds r4, r0, 0
|
|
movs r2, 0
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, 0x1
|
|
bne _080A257C
|
|
lsls r4, 16
|
|
asrs r4, 16
|
|
movs r2, 0x2
|
|
ldrsh r0, [r1, r2]
|
|
bl sub_80A8BBC
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
adds r0, r4, 0
|
|
bl sub_809AC18
|
|
_080A257C:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A2558
|
|
|
|
thumb_func_start sub_80A2584
|
|
sub_80A2584:
|
|
push {lr}
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_809ABB4
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A2584
|
|
|
|
thumb_func_start sub_80A2598
|
|
sub_80A2598:
|
|
push {lr}
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_809AC18
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_80A2598
|
|
|
|
thumb_func_start sub_80A25AC
|
|
sub_80A25AC:
|
|
push {r4,r5,lr}
|
|
lsls r0, 16
|
|
lsrs r4, r0, 16
|
|
adds r5, r4, 0
|
|
bl sub_8098F88
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A25C2
|
|
adds r0, r4, 0
|
|
b _080A2602
|
|
_080A25C2:
|
|
cmp r4, 0x32
|
|
bne _080A25CA
|
|
movs r0, 0x32
|
|
b _080A2602
|
|
_080A25CA:
|
|
movs r0, 0xC
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
bne _080A25E0
|
|
ldr r0, _080A25DC
|
|
b _080A2602
|
|
.align 2, 0
|
|
_080A25DC: .4byte 0x000003e7
|
|
_080A25E0:
|
|
movs r0, 0xD
|
|
bl sub_80023E4
|
|
lsls r0, 24
|
|
cmp r0, 0
|
|
beq _080A25F0
|
|
movs r0, 0x13
|
|
b _080A2602
|
|
_080A25F0:
|
|
cmp r4, 0x1
|
|
bne _080A2600
|
|
movs r0, 0
|
|
movs r1, 0x28
|
|
bl sub_8001658
|
|
movs r0, 0x1
|
|
b _080A2602
|
|
_080A2600:
|
|
adds r0, r5, 0
|
|
_080A2602:
|
|
pop {r4,r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A25AC
|
|
|
|
thumb_func_start sub_80A2608
|
|
sub_80A2608:
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080A261C
|
|
adds r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_080A261C: .4byte gUnknown_81168A8
|
|
thumb_func_end sub_80A2608
|
|
|
|
thumb_func_start sub_80A2620
|
|
sub_80A2620:
|
|
push {lr}
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A26B8
|
|
adds r1, r0, 0
|
|
lsls r1, 16
|
|
asrs r1, 16
|
|
lsls r0, r1, 2
|
|
adds r0, r1
|
|
lsls r0, 2
|
|
ldr r1, _080A2640
|
|
adds r0, r1
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080A2640: .4byte gUnknown_81168A8
|
|
thumb_func_end sub_80A2620
|
|
|
|
thumb_func_start sub_80A2644
|
|
sub_80A2644:
|
|
ldr r1, _080A2650
|
|
lsls r0, 1
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080A2650: .4byte gUnknown_8116F24
|
|
thumb_func_end sub_80A2644
|
|
|
|
thumb_func_start sub_80A2654
|
|
sub_80A2654:
|
|
push {lr}
|
|
lsls r0, 16
|
|
asrs r0, 16
|
|
bl sub_80A2608
|
|
movs r1, 0xE
|
|
ldrsh r0, [r0, r1]
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A2654
|
|
|
|
thumb_func_start sub_80A2668
|
|
sub_80A2668:
|
|
push {lr}
|
|
lsls r0, 16
|
|
ldr r2, _080A267C
|
|
adds r1, r0, r2
|
|
lsrs r0, r1, 16
|
|
cmp r0, 0x18
|
|
bls _080A2680
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
b _080A2682
|
|
.align 2, 0
|
|
_080A267C: .4byte 0xffc90000
|
|
_080A2680:
|
|
asrs r0, r1, 16
|
|
_080A2682:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A2668
|
|
|
|
thumb_func_start sub_80A2688
|
|
sub_80A2688:
|
|
push {lr}
|
|
lsls r0, 24
|
|
lsrs r1, r0, 24
|
|
adds r3, r1, 0
|
|
adds r2, r1, 0
|
|
subs r2, 0x4B
|
|
lsls r0, r2, 24
|
|
lsrs r0, 24
|
|
cmp r0, 0x16
|
|
bhi _080A26A0
|
|
adds r0, r2, 0
|
|
b _080A26B4
|
|
_080A26A0:
|
|
cmp r1, 0x2F
|
|
bne _080A26A8
|
|
movs r0, 0x17
|
|
b _080A26B4
|
|
_080A26A8:
|
|
cmp r3, 0x30
|
|
beq _080A26B2
|
|
movs r0, 0x1
|
|
negs r0, r0
|
|
b _080A26B4
|
|
_080A26B2:
|
|
movs r0, 0x18
|
|
_080A26B4:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_80A2688
|
|
|
|
thumb_func_start sub_80A26B8
|
|
sub_80A26B8:
|
|
lsls r0, 16
|
|
ldr r1, _080A26C8
|
|
asrs r0, 15
|
|
adds r0, r1
|
|
movs r1, 0
|
|
ldrsh r0, [r0, r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080A26C8: .4byte gUnknown_8116F9A
|
|
thumb_func_end sub_80A26B8
|
|
|
|
.align 2,0 @ Don't pad with nop
|