mirror of
https://github.com/zeldaret/tmc
synced 2026-06-15 22:40:24 -04:00
64159 lines
1.0 MiB
Plaintext
64159 lines
1.0 MiB
Plaintext
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_0805E744
|
|
sub_0805E744: @ 0x0805E744
|
|
push {lr}
|
|
ldr r1, _0805E760 @ =gUnk_030011E8
|
|
movs r0, #0xee
|
|
lsls r0, r0, #2
|
|
adds r2, r1, r0
|
|
_0805E74E:
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
beq _0805E764
|
|
adds r1, #0x88
|
|
cmp r1, r2
|
|
blo _0805E74E
|
|
movs r0, #0
|
|
b _0805E766
|
|
.align 2, 0
|
|
_0805E760: .4byte gUnk_030011E8
|
|
_0805E764:
|
|
adds r0, r1, #0
|
|
_0805E766:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0805E768
|
|
sub_0805E768: @ 0x0805E768
|
|
push {lr}
|
|
ldr r1, _0805E778 @ =sub_0805E678
|
|
cmp r0, #9
|
|
bne _0805E772
|
|
ldr r1, _0805E77C @ =sub_0805E8D4
|
|
_0805E772:
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805E778: .4byte sub_0805E678
|
|
_0805E77C: .4byte sub_0805E8D4
|
|
|
|
thumb_func_start sub_0805E780
|
|
sub_0805E780: @ 0x0805E780
|
|
push {lr}
|
|
ldr r0, _0805E794 @ =gUnk_03003DD0
|
|
ldr r0, [r0, #8]
|
|
bl sub_0805E79C
|
|
ldr r0, _0805E798 @ =gUnk_03005F24
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805E794: .4byte gUnk_03003DD0
|
|
_0805E798: .4byte gUnk_03005F24
|
|
|
|
thumb_func_start sub_0805E79C
|
|
sub_0805E79C: @ 0x0805E79C
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #8]
|
|
ldr r2, _0805E7B4 @ =sub_0805E7BC
|
|
cmp r0, #9
|
|
bne _0805E7AA
|
|
ldr r2, _0805E7B8 @ =sub_0805E900
|
|
_0805E7AA:
|
|
adds r0, r1, #0
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805E7B4: .4byte sub_0805E7BC
|
|
_0805E7B8: .4byte sub_0805E900
|
|
|
|
thumb_func_start sub_0805E7BC
|
|
sub_0805E7BC: @ 0x0805E7BC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _0805E84A
|
|
adds r0, r4, #0
|
|
bl sub_080AE068
|
|
adds r0, r4, #0
|
|
bl sub_0801D230
|
|
adds r0, r4, #0
|
|
bl sub_0806FE84
|
|
adds r0, r4, #0
|
|
bl sub_080788E0
|
|
adds r0, r4, #0
|
|
bl sub_08078954
|
|
adds r0, r4, #0
|
|
bl sub_0805EC60
|
|
adds r0, r4, #0
|
|
bl sub_08017744
|
|
adds r0, r4, #0
|
|
bl sub_0805E92C
|
|
adds r0, r4, #0
|
|
bl sub_0807DB08
|
|
adds r0, r4, #0
|
|
bl sub_0806FBEC
|
|
ldr r0, [r4, #0x64]
|
|
bl sub_0801DA0C
|
|
movs r5, #0
|
|
str r5, [r4, #0x64]
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #3
|
|
bne _0805E818
|
|
adds r0, r4, #0
|
|
bl sub_0804AA1C
|
|
_0805E818:
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
adds r0, #0x3c
|
|
strb r5, [r0]
|
|
adds r0, #5
|
|
strb r5, [r0]
|
|
adds r0, #1
|
|
strb r5, [r0]
|
|
adds r0, #3
|
|
strb r5, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0805EA98
|
|
str r5, [r4, #4]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
str r0, [r4]
|
|
_0805E84A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0805E84C
|
|
sub_0805E84C: @ 0x0805E84C
|
|
push {r4, r5, lr}
|
|
ldr r4, _0805E86C @ =gLinkEntity
|
|
movs r0, #0xaa
|
|
lsls r0, r0, #6
|
|
adds r5, r4, r0
|
|
_0805E856:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
bge _0805E862
|
|
adds r0, r4, #0
|
|
bl sub_0805E870
|
|
_0805E862:
|
|
adds r4, #0x88
|
|
cmp r4, r5
|
|
blo _0805E856
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0805E86C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0805E870
|
|
sub_0805E870: @ 0x0805E870
|
|
sub sp, #4
|
|
movs r1, #0
|
|
str r1, [sp]
|
|
ldr r1, _0805E890 @ =0x040000D4
|
|
mov r2, sp
|
|
str r2, [r1]
|
|
str r0, [r1, #4]
|
|
ldr r0, _0805E894 @ =0x85000022
|
|
str r0, [r1, #8]
|
|
ldr r0, [r1, #8]
|
|
ldr r1, _0805E898 @ =gUnk_03003DBC
|
|
ldrb r0, [r1]
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
add sp, #4
|
|
bx lr
|
|
.align 2, 0
|
|
_0805E890: .4byte 0x040000D4
|
|
_0805E894: .4byte 0x85000022
|
|
_0805E898: .4byte gUnk_03003DBC
|
|
|
|
thumb_func_start sub_0805E89C
|
|
sub_0805E89C: @ 0x0805E89C
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _0805E8CC @ =gUnk_03003D70
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _0805E8C8
|
|
_0805E8A6:
|
|
ldr r0, [r5, #4]
|
|
adds r6, r5, #0
|
|
adds r6, #8
|
|
cmp r0, r5
|
|
beq _0805E8BC
|
|
_0805E8B0:
|
|
ldr r4, [r0, #4]
|
|
bl sub_0805E79C
|
|
adds r0, r4, #0
|
|
cmp r0, r5
|
|
bne _0805E8B0
|
|
_0805E8BC:
|
|
adds r5, r6, #0
|
|
ldr r0, _0805E8D0 @ =gUnk_03003DB8
|
|
cmp r5, r0
|
|
blo _0805E8A6
|
|
bl sub_0805E84C
|
|
_0805E8C8:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0805E8CC: .4byte gUnk_03003D70
|
|
_0805E8D0: .4byte gUnk_03003DB8
|
|
|
|
thumb_func_start sub_0805E8D4
|
|
sub_0805E8D4: @ 0x0805E8D4
|
|
push {lr}
|
|
ldr r1, _0805E8F0 @ =gUnk_02033290
|
|
movs r2, #0x80
|
|
lsls r2, r2, #4
|
|
adds r0, r1, r2
|
|
cmp r1, r0
|
|
bhs _0805E8FA
|
|
adds r2, r0, #0
|
|
_0805E8E4:
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
bne _0805E8F4
|
|
adds r0, r1, #0
|
|
b _0805E8FC
|
|
.align 2, 0
|
|
_0805E8F0: .4byte gUnk_02033290
|
|
_0805E8F4:
|
|
adds r1, #0x40
|
|
cmp r1, r2
|
|
blo _0805E8E4
|
|
_0805E8FA:
|
|
movs r0, #0
|
|
_0805E8FC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805E900
|
|
sub_0805E900: @ 0x0805E900
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _0805E926
|
|
adds r0, r4, #0
|
|
bl sub_0805E92C
|
|
adds r0, r4, #0
|
|
bl sub_0805EA98
|
|
adds r0, r4, #0
|
|
movs r1, #0x40
|
|
bl sub_0801D630
|
|
ldr r1, _0805E928 @ =gUnk_020354B4
|
|
ldrb r0, [r1]
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
_0805E926:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0805E928: .4byte gUnk_020354B4
|
|
|
|
thumb_func_start sub_0805E92C
|
|
sub_0805E92C: @ 0x0805E92C
|
|
push {lr}
|
|
ldr r2, _0805E94C @ =gUnk_02033A90
|
|
ldr r1, _0805E950 @ =0x00000888
|
|
adds r3, r2, r1
|
|
ldr r1, [r3]
|
|
cmp r0, r1
|
|
bne _0805E94A
|
|
movs r0, #0
|
|
str r0, [r3]
|
|
ldr r3, _0805E954 @ =0x0000088C
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
adds r3, #4
|
|
adds r1, r2, r3
|
|
str r0, [r1]
|
|
_0805E94A:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805E94C: .4byte gUnk_02033A90
|
|
_0805E950: .4byte 0x00000888
|
|
_0805E954: .4byte 0x0000088C
|
|
|
|
thumb_func_start sub_0805E958
|
|
sub_0805E958: @ 0x0805E958
|
|
push {lr}
|
|
ldr r0, _0805E96C @ =gUnk_03003D70
|
|
ldr r1, _0805E970 @ =gUnk_020369F0
|
|
movs r2, #0x48
|
|
bl sub_0801D66C
|
|
bl sub_0805E98C
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805E96C: .4byte gUnk_03003D70
|
|
_0805E970: .4byte gUnk_020369F0
|
|
|
|
thumb_func_start sub_0805E974
|
|
sub_0805E974: @ 0x0805E974
|
|
push {lr}
|
|
ldr r0, _0805E984 @ =gUnk_020369F0
|
|
ldr r1, _0805E988 @ =gUnk_03003D70
|
|
movs r2, #0x48
|
|
bl sub_0801D66C
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805E984: .4byte gUnk_020369F0
|
|
_0805E988: .4byte gUnk_03003D70
|
|
|
|
thumb_func_start sub_0805E98C
|
|
sub_0805E98C: @ 0x0805E98C
|
|
push {lr}
|
|
ldr r0, _0805E9A4 @ =gUnk_03003D70
|
|
adds r1, r0, #0
|
|
adds r1, #0x48
|
|
cmp r0, r1
|
|
bhs _0805E9A2
|
|
_0805E998:
|
|
str r0, [r0]
|
|
str r0, [r0, #4]
|
|
adds r0, #8
|
|
cmp r0, r1
|
|
blo _0805E998
|
|
_0805E9A2:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805E9A4: .4byte gUnk_03003D70
|
|
|
|
thumb_func_start sub_0805E9A8
|
|
sub_0805E9A8: @ 0x0805E9A8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r3, _0805E9F0 @ =gUnk_03003D70
|
|
movs r7, #0x10
|
|
movs r0, #0x48
|
|
adds r0, r0, r3
|
|
mov r8, r0
|
|
_0805E9B8:
|
|
ldr r2, [r3, #4]
|
|
adds r4, r3, #0
|
|
adds r4, #8
|
|
cmp r2, r3
|
|
beq _0805E9E2
|
|
movs r6, #0xfd
|
|
movs r5, #0x20
|
|
_0805E9C6:
|
|
ldrb r0, [r2, #0x10]
|
|
adds r1, r6, #0
|
|
ands r1, r0
|
|
strb r1, [r2, #0x10]
|
|
adds r0, r1, #0
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
bne _0805E9DC
|
|
adds r0, r1, #0
|
|
orrs r0, r7
|
|
strb r0, [r2, #0x10]
|
|
_0805E9DC:
|
|
ldr r2, [r2, #4]
|
|
cmp r2, r3
|
|
bne _0805E9C6
|
|
_0805E9E2:
|
|
adds r3, r4, #0
|
|
cmp r3, r8
|
|
blo _0805E9B8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0805E9F0: .4byte gUnk_03003D70
|
|
|
|
thumb_func_start sub_0805E9F4
|
|
sub_0805E9F4: @ 0x0805E9F4
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _0805EA24 @ =gUnk_03003D70
|
|
_0805E9F8:
|
|
ldr r2, [r5, #4]
|
|
adds r6, r5, #0
|
|
adds r6, #8
|
|
cmp r2, r5
|
|
beq _0805EA1A
|
|
_0805EA02:
|
|
ldr r4, [r2, #4]
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0805EA14
|
|
adds r0, r2, #0
|
|
bl sub_0805E79C
|
|
_0805EA14:
|
|
adds r2, r4, #0
|
|
cmp r2, r5
|
|
bne _0805EA02
|
|
_0805EA1A:
|
|
adds r5, r6, #0
|
|
ldr r0, _0805EA28 @ =gUnk_03003DB8
|
|
cmp r5, r0
|
|
blo _0805E9F8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0805EA24: .4byte gUnk_03003D70
|
|
_0805EA28: .4byte gUnk_03003DB8
|
|
|
|
thumb_func_start sub_0805EA2C
|
|
sub_0805EA2C: @ 0x0805EA2C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
lsls r1, r1, #3
|
|
ldr r0, _0805EA5C @ =gUnk_03003D70
|
|
adds r1, r1, r0
|
|
str r1, [r2, #4]
|
|
ldr r0, [r1]
|
|
str r0, [r2]
|
|
str r2, [r0, #4]
|
|
str r2, [r1]
|
|
ldrb r0, [r2, #8]
|
|
cmp r0, #9
|
|
beq _0805EA64
|
|
adds r3, r2, #0
|
|
adds r3, #0x29
|
|
ldrb r1, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
ldr r1, _0805EA60 @ =gUnk_03003DBC
|
|
b _0805EA66
|
|
.align 2, 0
|
|
_0805EA5C: .4byte gUnk_03003D70
|
|
_0805EA60: .4byte gUnk_03003DBC
|
|
_0805EA64:
|
|
ldr r1, _0805EA74 @ =gUnk_020354B4
|
|
_0805EA66:
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r2, #0
|
|
bl sub_0805E374
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805EA74: .4byte gUnk_020354B4
|
|
|
|
thumb_func_start sub_0805EA78
|
|
sub_0805EA78: @ 0x0805EA78
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
bl sub_0805EA98
|
|
lsls r4, r4, #3
|
|
ldr r0, _0805EA94 @ =gUnk_03003D70
|
|
adds r4, r4, r0
|
|
str r4, [r5]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #4]
|
|
str r5, [r0]
|
|
str r5, [r4, #4]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0805EA94: .4byte gUnk_03003D70
|
|
|
|
thumb_func_start sub_0805EA98
|
|
sub_0805EA98: @ 0x0805EA98
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r1, _0805EAB8 @ =gUnk_03003DD0
|
|
ldr r0, [r1, #8]
|
|
cmp r2, r0
|
|
bne _0805EAA8
|
|
ldr r0, [r2]
|
|
str r0, [r1, #8]
|
|
_0805EAA8:
|
|
ldr r1, [r2]
|
|
ldr r0, [r2, #4]
|
|
str r0, [r1, #4]
|
|
ldr r1, [r2, #4]
|
|
ldr r0, [r2]
|
|
str r0, [r1]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805EAB8: .4byte gUnk_03003DD0
|
|
|
|
thumb_func_start sub_0805EABC
|
|
sub_0805EABC: @ 0x0805EABC
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
ldr r4, _0805EAE8 @ =gUnk_03003D70
|
|
adds r7, r4, #0
|
|
adds r7, #0x48
|
|
_0805EAC6:
|
|
ldr r3, [r4, #4]
|
|
cmp r3, r4
|
|
beq _0805EAF6
|
|
ldr r5, _0805EAEC @ =0x0000FFFF
|
|
_0805EACE:
|
|
cmp r3, r6
|
|
beq _0805EAF0
|
|
ldrh r0, [r3, #8]
|
|
ldrh r2, [r6, #8]
|
|
adds r1, r5, #0
|
|
ands r1, r0
|
|
adds r0, r5, #0
|
|
ands r0, r2
|
|
cmp r1, r0
|
|
bne _0805EAF0
|
|
movs r0, #1
|
|
b _0805EAFE
|
|
.align 2, 0
|
|
_0805EAE8: .4byte gUnk_03003D70
|
|
_0805EAEC: .4byte 0x0000FFFF
|
|
_0805EAF0:
|
|
ldr r3, [r3, #4]
|
|
cmp r3, r4
|
|
bne _0805EACE
|
|
_0805EAF6:
|
|
adds r4, #8
|
|
cmp r4, r7
|
|
blo _0805EAC6
|
|
movs r0, #0
|
|
_0805EAFE:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0805EB00
|
|
sub_0805EB00: @ 0x0805EB00
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
lsls r2, r2, #3
|
|
ldr r0, _0805EB28 @ =gUnk_03003D70
|
|
adds r2, r2, r0
|
|
ldr r0, [r2, #4]
|
|
cmp r0, r2
|
|
beq _0805EB22
|
|
_0805EB10:
|
|
ldrb r4, [r0, #8]
|
|
cmp r3, r4
|
|
bne _0805EB1C
|
|
ldrb r4, [r0, #9]
|
|
cmp r1, r4
|
|
beq _0805EB24
|
|
_0805EB1C:
|
|
ldr r0, [r0, #4]
|
|
cmp r0, r2
|
|
bne _0805EB10
|
|
_0805EB22:
|
|
movs r0, #0
|
|
_0805EB24:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0805EB28: .4byte gUnk_03003D70
|
|
|
|
thumb_func_start sub_0805EB2C
|
|
sub_0805EB2C: @ 0x0805EB2C
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, [sp, #0x10]
|
|
lsls r2, r2, #3
|
|
ldr r0, _0805EB60 @ =gUnk_03003D70
|
|
adds r2, r2, r0
|
|
ldr r0, [r2, #4]
|
|
cmp r0, r2
|
|
beq _0805EB5C
|
|
_0805EB3E:
|
|
ldrb r6, [r0, #8]
|
|
cmp r4, r6
|
|
bne _0805EB56
|
|
ldrb r6, [r0, #9]
|
|
cmp r1, r6
|
|
bne _0805EB56
|
|
ldrb r6, [r0, #0xa]
|
|
cmp r3, r6
|
|
bne _0805EB56
|
|
ldrb r6, [r0, #0xb]
|
|
cmp r5, r6
|
|
beq _0805EB5E
|
|
_0805EB56:
|
|
ldr r0, [r0, #4]
|
|
cmp r0, r2
|
|
bne _0805EB3E
|
|
_0805EB5C:
|
|
movs r0, #0
|
|
_0805EB5E:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0805EB60: .4byte gUnk_03003D70
|
|
|
|
thumb_func_start sub_0805EB64
|
|
sub_0805EB64: @ 0x0805EB64
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
lsls r1, r1, #3
|
|
ldr r0, _0805EB88 @ =gUnk_03003D70
|
|
adds r3, r1, r0
|
|
ldr r2, [r4, #4]
|
|
cmp r2, r3
|
|
beq _0805EB96
|
|
ldr r5, _0805EB8C @ =0x0000FFFF
|
|
ldrh r4, [r4, #8]
|
|
_0805EB78:
|
|
ldrh r1, [r2, #8]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, r4
|
|
bne _0805EB90
|
|
adds r0, r2, #0
|
|
b _0805EB98
|
|
.align 2, 0
|
|
_0805EB88: .4byte gUnk_03003D70
|
|
_0805EB8C: .4byte 0x0000FFFF
|
|
_0805EB90:
|
|
ldr r2, [r2, #4]
|
|
cmp r2, r3
|
|
bne _0805EB78
|
|
_0805EB96:
|
|
movs r0, #0
|
|
_0805EB98:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805EB9C
|
|
sub_0805EB9C: @ 0x0805EB9C
|
|
push {r4, r5, lr}
|
|
adds r3, r0, #0
|
|
ldr r2, _0805EBC8 @ =gUnk_03003D70
|
|
adds r4, r2, #0
|
|
adds r4, #0x48
|
|
_0805EBA6:
|
|
ldr r0, [r2, #4]
|
|
cmp r0, r2
|
|
beq _0805EBBE
|
|
_0805EBAC:
|
|
ldrb r5, [r0, #8]
|
|
cmp r3, r5
|
|
bne _0805EBB8
|
|
ldrb r5, [r0, #9]
|
|
cmp r1, r5
|
|
beq _0805EBC6
|
|
_0805EBB8:
|
|
ldr r0, [r0, #4]
|
|
cmp r0, r2
|
|
bne _0805EBAC
|
|
_0805EBBE:
|
|
adds r2, #8
|
|
cmp r2, r4
|
|
blo _0805EBA6
|
|
movs r0, #0
|
|
_0805EBC6:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0805EBC8: .4byte gUnk_03003D70
|
|
|
|
thumb_func_start sub_0805EBCC
|
|
sub_0805EBCC: @ 0x0805EBCC
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _0805EBFC @ =gUnk_03003D70
|
|
_0805EBD0:
|
|
ldr r1, [r5, #4]
|
|
adds r6, r5, #0
|
|
adds r6, #8
|
|
cmp r1, r5
|
|
beq _0805EBEE
|
|
_0805EBDA:
|
|
ldr r4, [r1, #4]
|
|
ldrb r0, [r1, #8]
|
|
cmp r0, #3
|
|
bne _0805EBE8
|
|
adds r0, r1, #0
|
|
bl sub_0805E7BC
|
|
_0805EBE8:
|
|
adds r1, r4, #0
|
|
cmp r1, r5
|
|
bne _0805EBDA
|
|
_0805EBEE:
|
|
adds r5, r6, #0
|
|
ldr r0, _0805EC00 @ =gUnk_03003DB8
|
|
cmp r5, r0
|
|
blo _0805EBD0
|
|
bl sub_0805E84C
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0805EBFC: .4byte gUnk_03003D70
|
|
_0805EC00: .4byte gUnk_03003DB8
|
|
|
|
thumb_func_start sub_0805EC04
|
|
sub_0805EC04: @ 0x0805EC04
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r3, r0, #0
|
|
movs r2, #1
|
|
ldr r0, _0805EC4C @ =gUnk_03000000
|
|
movs r5, #1
|
|
movs r6, #0x3f
|
|
rsbs r6, r6, #0
|
|
movs r7, #4
|
|
rsbs r7, r7, #0
|
|
adds r4, r0, #0
|
|
adds r4, #8
|
|
_0805EC1A:
|
|
ldr r0, _0805EC50 @ =0x00000426
|
|
adds r1, r4, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0805EC54
|
|
strb r5, [r1]
|
|
movs r0, #0x1f
|
|
ands r2, r0
|
|
lsls r2, r2, #1
|
|
ldrb r1, [r3, #0x1b]
|
|
adds r0, r6, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, #0x1b]
|
|
ldrb r2, [r3, #0x19]
|
|
lsls r1, r2, #0x1e
|
|
lsrs r1, r1, #0x1e
|
|
orrs r1, r5
|
|
adds r0, r7, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x19]
|
|
movs r0, #1
|
|
b _0805EC5E
|
|
.align 2, 0
|
|
_0805EC4C: .4byte gUnk_03000000
|
|
_0805EC50: .4byte 0x00000426
|
|
_0805EC54:
|
|
adds r4, #8
|
|
adds r2, #1
|
|
cmp r2, #0x1f
|
|
bls _0805EC1A
|
|
movs r0, #0
|
|
_0805EC5E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0805EC60
|
|
sub_0805EC60: @ 0x0805EC60
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldrb r1, [r3, #0x19]
|
|
lsls r0, r1, #0x1e
|
|
cmp r0, #0
|
|
beq _0805EC90
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r3, #0x19]
|
|
ldrb r2, [r3, #0x1b]
|
|
lsls r1, r2, #0x1a
|
|
lsrs r1, r1, #0x1b
|
|
movs r0, #0x3f
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
strb r0, [r3, #0x1b]
|
|
ldr r0, _0805EC94 @ =gUnk_03000000
|
|
lsls r1, r1, #3
|
|
adds r1, r1, r0
|
|
ldr r0, _0805EC98 @ =0x00000426
|
|
adds r1, r1, r0
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_0805EC90:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805EC94: .4byte gUnk_03000000
|
|
_0805EC98: .4byte 0x00000426
|
|
|
|
thumb_func_start sub_0805EC9C
|
|
sub_0805EC9C: @ 0x0805EC9C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
adds r6, r2, #0
|
|
adds r7, r3, #0
|
|
ldrb r0, [r4, #0x1b]
|
|
lsls r0, r0, #0x1a
|
|
lsrs r0, r0, #0x1b
|
|
cmp r0, #0
|
|
bne _0805ECBE
|
|
adds r0, r4, #0
|
|
bl sub_0805EC04
|
|
cmp r0, #0
|
|
bne _0805ECBE
|
|
movs r0, #0
|
|
b _0805ECE0
|
|
_0805ECBE:
|
|
ldr r1, _0805ECE4 @ =gUnk_03000000
|
|
ldr r0, _0805ECE8 @ =0x00000427
|
|
adds r2, r1, r0
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
ldrb r0, [r4, #0x1b]
|
|
lsls r0, r0, #0x1a
|
|
lsrs r0, r0, #0x1b
|
|
lsls r0, r0, #3
|
|
movs r2, #0x84
|
|
lsls r2, r2, #3
|
|
adds r1, r1, r2
|
|
adds r0, r0, r1
|
|
strh r5, [r0]
|
|
strh r6, [r0, #2]
|
|
strh r7, [r0, #4]
|
|
movs r0, #1
|
|
_0805ECE0:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0805ECE4: .4byte gUnk_03000000
|
|
_0805ECE8: .4byte 0x00000427
|
|
|
|
thumb_func_start sub_0805ECEC
|
|
sub_0805ECEC: @ 0x0805ECEC
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _0805ED0C @ =gUnk_03000000
|
|
ldr r4, _0805ED10 @ =0x00000427
|
|
adds r6, r5, r4
|
|
movs r4, #1
|
|
strb r4, [r6]
|
|
lsls r0, r0, #3
|
|
movs r4, #0x84
|
|
lsls r4, r4, #3
|
|
adds r5, r5, r4
|
|
adds r0, r0, r5
|
|
strh r1, [r0]
|
|
strh r2, [r0, #2]
|
|
strh r3, [r0, #4]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0805ED0C: .4byte gUnk_03000000
|
|
_0805ED10: .4byte 0x00000427
|
|
|
|
thumb_func_start sub_0805ED14
|
|
sub_0805ED14: @ 0x0805ED14
|
|
ldr r2, _0805ED2C @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0x9c
|
|
str r0, [r1]
|
|
adds r0, r2, #0
|
|
adds r0, #0x98
|
|
movs r1, #0
|
|
strh r1, [r0]
|
|
adds r0, #2
|
|
strh r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0805ED2C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0805ED30
|
|
sub_0805ED30: @ 0x0805ED30
|
|
push {r4, lr}
|
|
ldr r2, _0805ED50 @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x9c
|
|
ldr r0, [r0]
|
|
adds r4, r2, #0
|
|
cmp r0, #0
|
|
beq _0805ED88
|
|
adds r1, r4, #0
|
|
adds r1, #0x90
|
|
ldr r2, [r1, #0xc]
|
|
ldrh r0, [r1, #8]
|
|
cmp r0, #0
|
|
bne _0805ED7E
|
|
movs r4, #0
|
|
b _0805ED62
|
|
.align 2, 0
|
|
_0805ED50: .4byte gUnk_03003F80
|
|
_0805ED54:
|
|
cmp r0, #2
|
|
beq _0805ED5E
|
|
strh r3, [r1, #8]
|
|
ldrh r0, [r2, #2]
|
|
strh r0, [r1, #0xa]
|
|
_0805ED5E:
|
|
adds r2, #4
|
|
b _0805ED7C
|
|
_0805ED62:
|
|
ldrh r3, [r2]
|
|
lsrs r0, r3, #0xe
|
|
cmp r0, #1
|
|
bne _0805ED72
|
|
movs r3, #2
|
|
ldrsh r0, [r2, r3]
|
|
adds r2, r2, r0
|
|
b _0805ED62
|
|
_0805ED72:
|
|
cmp r0, #3
|
|
bne _0805ED54
|
|
strh r4, [r1, #8]
|
|
strh r4, [r1, #0xa]
|
|
movs r2, #0
|
|
_0805ED7C:
|
|
str r2, [r1, #0xc]
|
|
_0805ED7E:
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #1
|
|
strh r0, [r1, #8]
|
|
ldrh r1, [r1, #0xa]
|
|
b _0805EDCA
|
|
_0805ED88:
|
|
adds r0, r4, #0
|
|
adds r0, #0x8b
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
bgt _0805ED98
|
|
cmp r0, #0
|
|
blt _0805ED98
|
|
movs r1, #0
|
|
_0805ED98:
|
|
adds r2, r4, #0
|
|
adds r2, #0x8b
|
|
ldrb r0, [r2]
|
|
cmp r0, #1
|
|
beq _0805EDB4
|
|
cmp r0, #1
|
|
bgt _0805EDAC
|
|
cmp r0, #0
|
|
beq _0805EDC6
|
|
b _0805EDCA
|
|
_0805EDAC:
|
|
cmp r0, #3
|
|
bgt _0805EDCA
|
|
movs r1, #0
|
|
b _0805EDCA
|
|
_0805EDB4:
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
ldr r0, _0805EDF8 @ =gUnk_03000FF0
|
|
ldrh r0, [r0]
|
|
bl sub_0805EE04
|
|
adds r1, r4, #0
|
|
adds r1, #0x90
|
|
strh r0, [r1]
|
|
_0805EDC6:
|
|
ldr r0, _0805EDF8 @ =gUnk_03000FF0
|
|
ldrh r1, [r0]
|
|
_0805EDCA:
|
|
adds r0, r1, #0
|
|
bl sub_0805EE04
|
|
ldr r3, _0805EDFC @ =gUnk_03003F80
|
|
adds r1, r3, #0
|
|
adds r1, #0x90
|
|
ldrh r2, [r1]
|
|
strh r0, [r1]
|
|
adds r1, r0, #0
|
|
bics r1, r2
|
|
adds r2, r3, #0
|
|
adds r2, #0x92
|
|
strh r1, [r2]
|
|
ldr r2, _0805EE00 @ =gUnk_08109202
|
|
movs r1, #0xf0
|
|
lsls r1, r1, #4
|
|
ands r1, r0
|
|
lsrs r1, r1, #8
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1]
|
|
strb r0, [r3, #0xd]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0805EDF8: .4byte gUnk_03000FF0
|
|
_0805EDFC: .4byte gUnk_03003F80
|
|
_0805EE00: .4byte gUnk_08109202
|
|
|
|
thumb_func_start sub_0805EE04
|
|
sub_0805EE04: @ 0x0805EE04
|
|
push {r4, r5, lr}
|
|
adds r2, r0, #0
|
|
movs r5, #0x80
|
|
lsls r5, r5, #2
|
|
ands r0, r5
|
|
rsbs r0, r0, #0
|
|
asrs r1, r0, #0x1f
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
ands r1, r0
|
|
movs r4, #0x80
|
|
lsls r4, r4, #1
|
|
adds r0, r2, #0
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _0805EE32
|
|
movs r0, #0x20
|
|
orrs r1, r0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #8
|
|
orrs r1, r0
|
|
movs r0, #0x80
|
|
orrs r1, r0
|
|
_0805EE32:
|
|
movs r0, #1
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0805EE42
|
|
movs r0, #8
|
|
orrs r1, r0
|
|
movs r0, #0x41
|
|
orrs r1, r0
|
|
_0805EE42:
|
|
movs r3, #2
|
|
adds r0, r2, #0
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _0805EE52
|
|
movs r0, #0x10
|
|
orrs r1, r0
|
|
orrs r1, r3
|
|
_0805EE52:
|
|
movs r0, #0x10
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0805EE5C
|
|
orrs r1, r4
|
|
_0805EE5C:
|
|
movs r0, #0x20
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0805EE66
|
|
orrs r1, r5
|
|
_0805EE66:
|
|
movs r0, #0x40
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0805EE74
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
orrs r1, r0
|
|
_0805EE74:
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0805EE82
|
|
movs r0, #0x80
|
|
lsls r0, r0, #4
|
|
orrs r1, r0
|
|
_0805EE82:
|
|
adds r0, r1, #0
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805EE88
|
|
sub_0805EE88: @ 0x0805EE88
|
|
push {lr}
|
|
ldr r1, _0805EEB0 @ =gUnk_030010A0
|
|
adds r0, r1, #0
|
|
adds r0, #0x2f
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0805EEAC
|
|
ldr r1, [r1]
|
|
movs r0, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0805EEAC
|
|
movs r0, #0xc
|
|
ands r1, r0
|
|
lsrs r0, r1, #2
|
|
adds r0, #0x2f
|
|
bl sub_0801D714
|
|
_0805EEAC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805EEB0: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0805EEB4
|
|
sub_0805EEB4: @ 0x0805EEB4
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
adds r3, r1, #0
|
|
strh r3, [r7, #8]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
ldrb r1, [r0, #7]
|
|
cmp r1, #1
|
|
bls _0805EED6
|
|
lsrs r0, r3, #8
|
|
cmp r0, #1
|
|
bne _0805EED6
|
|
movs r0, #0x8c
|
|
lsls r0, r0, #1
|
|
cmp r3, r0
|
|
bhi _0805EED6
|
|
movs r1, #3
|
|
_0805EED6:
|
|
ldr r0, _0805EF14 @ =gUnk_08109214
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r2, [r1]
|
|
lsrs r0, r3, #8
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x16
|
|
adds r0, r0, r2
|
|
ldr r4, [r0]
|
|
adds r2, r2, r4
|
|
lsls r0, r3, #0x18
|
|
lsrs r0, r0, #0x16
|
|
adds r0, r0, r2
|
|
ldr r4, [r0]
|
|
ldr r0, [r1]
|
|
ldr r1, [r0]
|
|
lsrs r1, r1, #2
|
|
ldr r0, [r2]
|
|
lsrs r6, r0, #2
|
|
movs r5, #0
|
|
ldrh r3, [r7, #8]
|
|
lsrs r0, r3, #8
|
|
cmp r0, r1
|
|
bhs _0805EF0E
|
|
lsls r0, r3, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, r6
|
|
blo _0805EF18
|
|
_0805EF0E:
|
|
movs r5, #1
|
|
b _0805EF22
|
|
.align 2, 0
|
|
_0805EF14: .4byte gUnk_08109214
|
|
_0805EF18:
|
|
adds r0, r2, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0805EF22
|
|
movs r5, #2
|
|
_0805EF22:
|
|
cmp r5, #2
|
|
bhi _0805EF2E
|
|
cmp r5, #1
|
|
blo _0805EF2E
|
|
ldr r2, _0805EF3C @ =gUnk_08109244
|
|
movs r4, #0
|
|
_0805EF2E:
|
|
adds r2, r2, r4
|
|
adds r0, r7, #0
|
|
adds r1, r2, #0
|
|
bl sub_0805EF40
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0805EF3C: .4byte gUnk_08109244
|
|
|
|
thumb_func_start sub_0805EF40
|
|
sub_0805EF40: @ 0x0805EF40
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
adds r4, r1, #0
|
|
ldrb r2, [r3]
|
|
movs r0, #1
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0805EF70
|
|
lsls r1, r2, #0x1b
|
|
lsrs r0, r1, #0x1c
|
|
cmp r0, #6
|
|
bls _0805EF5C
|
|
movs r0, #0
|
|
b _0805EF8A
|
|
_0805EF5C:
|
|
lsrs r0, r1, #0x1c
|
|
adds r0, #1
|
|
movs r1, #0xf
|
|
ands r0, r1
|
|
lsls r0, r0, #1
|
|
movs r1, #0x1f
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r3]
|
|
_0805EF70:
|
|
ldrb r0, [r3]
|
|
lsls r0, r0, #0x1b
|
|
lsrs r0, r0, #0x1c
|
|
lsls r0, r0, #2
|
|
adds r1, r3, #0
|
|
adds r1, #0x10
|
|
adds r1, r1, r0
|
|
str r4, [r1]
|
|
ldrb r0, [r3]
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
movs r0, #1
|
|
_0805EF8A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0805EF8C
|
|
sub_0805EF8C: @ 0x0805EF8C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0805EFAE
|
|
lsls r0, r1, #0x1b
|
|
lsrs r0, r0, #0x1c
|
|
lsls r0, r0, #2
|
|
adds r2, #0x10
|
|
adds r2, r2, r0
|
|
ldr r1, [r2]
|
|
ldrb r0, [r1]
|
|
adds r1, #1
|
|
str r1, [r2]
|
|
b _0805EFB0
|
|
_0805EFAE:
|
|
movs r0, #0
|
|
_0805EFB0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805EFB4
|
|
sub_0805EFB4: @ 0x0805EFB4
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
ldrb r2, [r3]
|
|
lsls r1, r2, #0x1b
|
|
lsrs r4, r1, #0x1c
|
|
movs r0, #0x1e
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0805EFDC
|
|
adds r0, r4, #0
|
|
subs r0, #1
|
|
movs r1, #0xf
|
|
ands r0, r1
|
|
lsls r0, r0, #1
|
|
movs r1, #0x1f
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r3]
|
|
b _0805EFE4
|
|
_0805EFDC:
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
strb r0, [r3]
|
|
_0805EFE4:
|
|
adds r0, r4, #0
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0805EFE8
|
|
sub_0805EFE8: @ 0x0805EFE8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
_0805EFEC:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r5, r0, #0
|
|
strb r5, [r6, #1]
|
|
movs r7, #0
|
|
cmp r5, #0xf
|
|
bls _0805EFFE
|
|
b _0805F22C
|
|
_0805EFFE:
|
|
lsls r0, r5, #2
|
|
ldr r1, _0805F008 @ =_0805F00C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0805F008: .4byte _0805F00C
|
|
_0805F00C: @ jump table
|
|
.4byte _0805F04C @ case 0
|
|
.4byte _0805F058 @ case 1
|
|
.4byte _0805F06E @ case 2
|
|
.4byte _0805F07A @ case 3
|
|
.4byte _0805F090 @ case 4
|
|
.4byte _0805F130 @ case 5
|
|
.4byte _0805F150 @ case 6
|
|
.4byte _0805F196 @ case 7
|
|
.4byte _0805F1C0 @ case 8
|
|
.4byte _0805F1CC @ case 9
|
|
.4byte _0805F1D8 @ case 10
|
|
.4byte _0805F1DC @ case 11
|
|
.4byte _0805F1EC @ case 12
|
|
.4byte _0805F1FC @ case 13
|
|
.4byte _0805F20C @ case 14
|
|
.4byte _0805F21C @ case 15
|
|
_0805F04C:
|
|
adds r0, r6, #0
|
|
bl sub_0805EFB4
|
|
adds r7, r0, #0
|
|
movs r5, #0
|
|
b _0805F232
|
|
_0805F058:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r0, #0
|
|
strh r4, [r6, #2]
|
|
movs r5, #6
|
|
cmp r4, #0xa
|
|
bls _0805F06A
|
|
b _0805F232
|
|
_0805F06A:
|
|
movs r5, #5
|
|
b _0805F232
|
|
_0805F06E:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
strh r0, [r6, #2]
|
|
movs r5, #7
|
|
b _0805F232
|
|
_0805F07A:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
lsls r4, r0, #8
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r4, r0
|
|
strh r4, [r6, #2]
|
|
movs r5, #8
|
|
b _0805F232
|
|
_0805F090:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r0, #0
|
|
cmp r4, #0x15
|
|
bhi _0805F12C
|
|
lsls r0, r4, #2
|
|
ldr r1, _0805F0A8 @ =_0805F0AC
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0805F0A8: .4byte _0805F0AC
|
|
_0805F0AC: @ jump table
|
|
.4byte _0805F104 @ case 0
|
|
.4byte _0805F104 @ case 1
|
|
.4byte _0805F104 @ case 2
|
|
.4byte _0805F104 @ case 3
|
|
.4byte _0805F104 @ case 4
|
|
.4byte _0805F104 @ case 5
|
|
.4byte _0805F104 @ case 6
|
|
.4byte _0805F104 @ case 7
|
|
.4byte _0805F104 @ case 8
|
|
.4byte _0805F104 @ case 9
|
|
.4byte _0805F104 @ case 10
|
|
.4byte _0805F104 @ case 11
|
|
.4byte _0805F104 @ case 12
|
|
.4byte _0805F104 @ case 13
|
|
.4byte _0805F104 @ case 14
|
|
.4byte _0805F104 @ case 15
|
|
.4byte _0805F108 @ case 16
|
|
.4byte _0805F114 @ case 17
|
|
.4byte _0805F118 @ case 18
|
|
.4byte _0805F11C @ case 19
|
|
.4byte _0805F120 @ case 20
|
|
.4byte _0805F120 @ case 21
|
|
_0805F104:
|
|
movs r5, #9
|
|
b _0805F12C
|
|
_0805F108:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r0, #0
|
|
movs r5, #0xa
|
|
b _0805F12C
|
|
_0805F114:
|
|
movs r5, #2
|
|
b _0805F12C
|
|
_0805F118:
|
|
movs r5, #3
|
|
b _0805F12C
|
|
_0805F11C:
|
|
movs r5, #4
|
|
b _0805F12C
|
|
_0805F120:
|
|
movs r5, #0xb
|
|
movs r1, #0x14
|
|
eors r1, r4
|
|
rsbs r0, r1, #0
|
|
orrs r0, r1
|
|
lsrs r4, r0, #0x1f
|
|
_0805F12C:
|
|
strh r4, [r6, #2]
|
|
b _0805F232
|
|
_0805F130:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r0, #0
|
|
cmp r4, #0xff
|
|
bne _0805F140
|
|
movs r4, #0
|
|
b _0805F14A
|
|
_0805F140:
|
|
lsls r4, r4, #8
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r4, r0
|
|
_0805F14A:
|
|
strh r4, [r6, #6]
|
|
movs r5, #0xc
|
|
b _0805F232
|
|
_0805F150:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r0, #0
|
|
cmp r4, #4
|
|
bls _0805F162
|
|
cmp r4, #5
|
|
beq _0805F17C
|
|
b _0805EFEC
|
|
_0805F162:
|
|
ldr r1, [r6, #0xc]
|
|
cmp r1, #0
|
|
bne _0805F16A
|
|
ldr r1, _0805F178 @ =gUnk_08109230
|
|
_0805F16A:
|
|
lsls r0, r4, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r6, #0
|
|
bl sub_0805EF40
|
|
b _0805EFEC
|
|
.align 2, 0
|
|
_0805F178: .4byte gUnk_08109230
|
|
_0805F17C:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
lsls r4, r0, #8
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r4, r0
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
bl sub_0805EEB4
|
|
b _0805EFEC
|
|
_0805F196:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
lsls r4, r0, #8
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r4, r4, r0
|
|
ldrb r1, [r6]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #0x1f
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
strb r0, [r6]
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
bl sub_0805EEB4
|
|
b _0805EFEC
|
|
_0805F1C0:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
strh r0, [r6, #2]
|
|
movs r5, #0xd
|
|
b _0805F232
|
|
_0805F1CC:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
strh r0, [r6, #2]
|
|
movs r5, #0xe
|
|
b _0805F232
|
|
_0805F1D8:
|
|
movs r5, #1
|
|
b _0805F232
|
|
_0805F1DC:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r5, r0, #0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
orrs r5, r0
|
|
b _0805F232
|
|
_0805F1EC:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r5, r0, #0
|
|
movs r0, #0xe0
|
|
lsls r0, r0, #3
|
|
orrs r5, r0
|
|
b _0805F232
|
|
_0805F1FC:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r5, r0, #0
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #3
|
|
orrs r5, r0
|
|
b _0805F232
|
|
_0805F20C:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r5, r0, #0
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #3
|
|
orrs r5, r0
|
|
b _0805F232
|
|
_0805F21C:
|
|
adds r0, r6, #0
|
|
bl sub_0805EF8C
|
|
adds r5, r0, #0
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #2
|
|
orrs r5, r0
|
|
b _0805F232
|
|
_0805F22C:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
adds r5, r5, r0
|
|
_0805F232:
|
|
cmp r7, #0
|
|
beq _0805F238
|
|
b _0805EFEC
|
|
_0805F238:
|
|
lsrs r0, r5, #8
|
|
cmp r0, #0
|
|
beq _0805F256
|
|
ldrb r0, [r6]
|
|
lsls r0, r0, #0x19
|
|
lsrs r0, r0, #0x1e
|
|
cmp r0, #0
|
|
beq _0805F254
|
|
cmp r0, #1
|
|
bne _0805F254
|
|
adds r0, r5, #0
|
|
bl sub_0805F9A0
|
|
adds r5, r0, #0
|
|
_0805F254:
|
|
strh r5, [r6, #4]
|
|
_0805F256:
|
|
adds r0, r5, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805F25C
|
|
sub_0805F25C: @ 0x0805F25C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
lsrs r3, r2, #8
|
|
movs r0, #0xf
|
|
ands r3, r0
|
|
movs r0, #0xff
|
|
ands r2, r0
|
|
cmp r3, #8
|
|
bhi _0805F2B6
|
|
lsls r0, r3, #2
|
|
ldr r1, _0805F278 @ =_0805F27C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0805F278: .4byte _0805F27C
|
|
_0805F27C: @ jump table
|
|
.4byte _0805F2A0 @ case 0
|
|
.4byte _0805F2A0 @ case 1
|
|
.4byte _0805F2B6 @ case 2
|
|
.4byte _0805F2B6 @ case 3
|
|
.4byte _0805F2B6 @ case 4
|
|
.4byte _0805F2B4 @ case 5
|
|
.4byte _0805F2B4 @ case 6
|
|
.4byte _0805F2B4 @ case 7
|
|
.4byte _0805F2B4 @ case 8
|
|
_0805F2A0:
|
|
cmp r2, #0x7f
|
|
bls _0805F2B6
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
ldrb r0, [r0, #7]
|
|
cmp r0, #0
|
|
beq _0805F2B6
|
|
subs r2, #0x80
|
|
movs r3, #2
|
|
b _0805F2B6
|
|
_0805F2B4:
|
|
lsls r2, r2, #1
|
|
_0805F2B6:
|
|
ldr r1, _0805F2C4 @ =gUnk_08109248
|
|
lsls r0, r3, #2
|
|
adds r0, r0, r1
|
|
lsls r1, r2, #6
|
|
ldr r0, [r0]
|
|
adds r0, r0, r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805F2C4: .4byte gUnk_08109248
|
|
|
|
thumb_func_start sub_0805F2C8
|
|
sub_0805F2C8: @ 0x0805F2C8
|
|
push {r4, r5, lr}
|
|
movs r1, #0
|
|
ldr r4, _0805F2EC @ =gUnk_02036540
|
|
adds r5, r4, #0
|
|
_0805F2D0:
|
|
ldrb r0, [r4]
|
|
lsls r0, r0, #0x1f
|
|
cmp r0, #0
|
|
bne _0805F2F0
|
|
adds r0, r5, #0
|
|
movs r1, #0xc
|
|
bl sub_0801D630
|
|
ldrb r0, [r4]
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4]
|
|
adds r0, r5, #0
|
|
b _0805F2FC
|
|
.align 2, 0
|
|
_0805F2EC: .4byte gUnk_02036540
|
|
_0805F2F0:
|
|
adds r4, #0xc
|
|
adds r5, #0xc
|
|
adds r1, #1
|
|
cmp r1, #3
|
|
bls _0805F2D0
|
|
movs r0, #0
|
|
_0805F2FC:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805F300
|
|
sub_0805F300: @ 0x0805F300
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r1, #0
|
|
ldr r0, _0805F314 @ =gUnk_02036540
|
|
_0805F308:
|
|
cmp r0, r2
|
|
bne _0805F318
|
|
movs r1, #0xc
|
|
bl sub_0801D630
|
|
b _0805F320
|
|
.align 2, 0
|
|
_0805F314: .4byte gUnk_02036540
|
|
_0805F318:
|
|
adds r0, #0xc
|
|
adds r1, #1
|
|
cmp r1, #3
|
|
bls _0805F308
|
|
_0805F320:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805F324
|
|
sub_0805F324: @ 0x0805F324
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #0x38
|
|
adds r7, r1, #0
|
|
mov r1, sp
|
|
movs r2, #0x30
|
|
bl sub_0801D66C
|
|
movs r0, #0
|
|
str r0, [sp, #0x34]
|
|
movs r1, #0
|
|
str r1, [sp, #0x30]
|
|
mov sl, r1
|
|
mov r8, r1
|
|
b _0805F34C
|
|
_0805F348:
|
|
cmp r6, #0
|
|
beq _0805F41E
|
|
_0805F34C:
|
|
movs r5, #0
|
|
movs r2, #1
|
|
mov sb, r2
|
|
_0805F352:
|
|
mov r0, sp
|
|
bl sub_0805EFE8
|
|
adds r6, r0, #0
|
|
cmp r6, #0xe
|
|
bhi _0805F3B4
|
|
lsls r0, r6, #2
|
|
ldr r1, _0805F368 @ =_0805F36C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0805F368: .4byte _0805F36C
|
|
_0805F36C: @ jump table
|
|
.4byte _0805F402 @ case 0
|
|
.4byte _0805F402 @ case 1
|
|
.4byte _0805F3FC @ case 2
|
|
.4byte _0805F3FC @ case 3
|
|
.4byte _0805F3FC @ case 4
|
|
.4byte _0805F3FC @ case 5
|
|
.4byte _0805F3FC @ case 6
|
|
.4byte _0805F3FC @ case 7
|
|
.4byte _0805F3FC @ case 8
|
|
.4byte _0805F3FC @ case 9
|
|
.4byte _0805F3FC @ case 10
|
|
.4byte _0805F3AC @ case 11
|
|
.4byte _0805F3A8 @ case 12
|
|
.4byte _0805F3FC @ case 13
|
|
.4byte _0805F3FC @ case 14
|
|
_0805F3A8:
|
|
adds r5, #8
|
|
b _0805F3FC
|
|
_0805F3AC:
|
|
mov r0, sp
|
|
ldrh r0, [r0, #2]
|
|
mov r8, r0
|
|
b _0805F3FC
|
|
_0805F3B4:
|
|
mov r0, r8
|
|
cmp r0, #0
|
|
bne _0805F3DE
|
|
adds r0, r6, #0
|
|
bl sub_0805F25C
|
|
adds r4, r0, #0
|
|
lsrs r0, r6, #8
|
|
cmp r0, #4
|
|
bls _0805F3D2
|
|
ldr r0, [r4, #0x40]
|
|
bl sub_0805F7A0
|
|
lsrs r0, r0, #8
|
|
adds r5, r5, r0
|
|
_0805F3D2:
|
|
ldr r0, [r4]
|
|
bl sub_0805F7A0
|
|
lsrs r0, r0, #8
|
|
adds r5, r5, r0
|
|
b _0805F3EA
|
|
_0805F3DE:
|
|
lsrs r0, r6, #8
|
|
cmp r0, #4
|
|
bls _0805F3E8
|
|
adds r5, #0x10
|
|
b _0805F3EA
|
|
_0805F3E8:
|
|
adds r5, #8
|
|
_0805F3EA:
|
|
mov r0, sp
|
|
ldrb r1, [r0]
|
|
movs r0, #0x60
|
|
ands r0, r1
|
|
cmp r0, #0x20
|
|
bne _0805F3FC
|
|
cmp r5, #1
|
|
bls _0805F3FC
|
|
subs r5, #1
|
|
_0805F3FC:
|
|
mov r1, sb
|
|
cmp r1, #0
|
|
bne _0805F352
|
|
_0805F402:
|
|
cmp r5, sl
|
|
bls _0805F408
|
|
mov sl, r5
|
|
_0805F408:
|
|
cmp r5, #0
|
|
beq _0805F414
|
|
ldr r2, [sp, #0x30]
|
|
adds r2, #1
|
|
str r2, [sp, #0x30]
|
|
b _0805F41A
|
|
_0805F414:
|
|
ldr r0, [sp, #0x34]
|
|
adds r0, #1
|
|
str r0, [sp, #0x34]
|
|
_0805F41A:
|
|
cmp r7, #0
|
|
bne _0805F348
|
|
_0805F41E:
|
|
cmp r7, #0
|
|
bne _0805F426
|
|
mov r0, sl
|
|
b _0805F434
|
|
_0805F426:
|
|
ldr r1, [sp, #0x34]
|
|
lsls r0, r1, #0x18
|
|
ldr r2, [sp, #0x30]
|
|
lsls r1, r2, #0x10
|
|
orrs r0, r1
|
|
mov r1, sl
|
|
orrs r0, r1
|
|
_0805F434:
|
|
add sp, #0x38
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0805F440
|
|
sub_0805F440: @ 0x0805F440
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
movs r1, #0x30
|
|
bl sub_0801D630
|
|
ldr r0, _0805F45C @ =0x0000FFFF
|
|
cmp r5, r0
|
|
bls _0805F460
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0805EF40
|
|
b _0805F468
|
|
.align 2, 0
|
|
_0805F45C: .4byte 0x0000FFFF
|
|
_0805F460:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0805EEB4
|
|
_0805F468:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805F46C
|
|
sub_0805F46C: @ 0x0805F46C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
sub sp, #0x48
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_0805F2C8
|
|
mov r8, r0
|
|
cmp r0, #0
|
|
bne _0805F486
|
|
b _0805F5BC
|
|
_0805F486:
|
|
add r4, sp, #0x30
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
movs r2, #0x18
|
|
bl sub_0801D66C
|
|
mov r0, sp
|
|
adds r1, r6, #0
|
|
bl sub_0805F440
|
|
mov r3, sp
|
|
ldrb r0, [r4, #0x17]
|
|
movs r1, #3
|
|
ands r1, r0
|
|
lsls r1, r1, #5
|
|
ldrb r2, [r3]
|
|
movs r0, #0x61
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
ldrb r1, [r4, #0x17]
|
|
lsls r1, r1, #4
|
|
mov r0, r8
|
|
ldrb r2, [r0]
|
|
movs r0, #0xf
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
mov r1, r8
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0x12]
|
|
strh r0, [r1, #4]
|
|
ldr r0, [r4, #8]
|
|
str r0, [r1, #8]
|
|
ldrb r0, [r4, #0x15]
|
|
strb r0, [r1, #2]
|
|
ldrb r0, [r4, #0x14]
|
|
strb r0, [r1, #3]
|
|
ldrb r1, [r4, #0x13]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
mov sb, r4
|
|
cmp r0, #0
|
|
beq _0805F59E
|
|
lsrs r0, r1, #4
|
|
ldrb r1, [r4, #0x14]
|
|
ldr r2, [r4, #4]
|
|
bl sub_0805F918
|
|
ldr r0, [r4, #4]
|
|
adds r0, #0xe0
|
|
str r0, [r4, #4]
|
|
mov r0, sp
|
|
movs r1, #1
|
|
bl sub_0805F324
|
|
lsrs r2, r0, #0x18
|
|
ldrb r1, [r4, #0x16]
|
|
muls r2, r1, r2
|
|
asrs r1, r0, #0x10
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x17
|
|
adds r7, r2, r1
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
adds r1, r4, #0
|
|
mov r2, sb
|
|
ldrb r3, [r2, #0x12]
|
|
cmp r3, r1
|
|
bge _0805F514
|
|
adds r1, r3, #0
|
|
_0805F514:
|
|
adds r4, r1, #7
|
|
movs r2, #8
|
|
rsbs r2, r2, #0
|
|
mov r0, sb
|
|
ldrb r1, [r0, #0x13]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
ands r4, r2
|
|
cmp r0, #0
|
|
bne _0805F52A
|
|
adds r4, r3, #0
|
|
_0805F52A:
|
|
ldr r5, [sp, #0x30]
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
str r0, [sp, #0x30]
|
|
mov r2, sb
|
|
ldrb r1, [r2, #0x13]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0805F54E
|
|
adds r4, #0xf
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r4, r0
|
|
lsrs r0, r4, #3
|
|
adds r0, #2
|
|
subs r5, r5, r0
|
|
b _0805F554
|
|
_0805F54E:
|
|
adds r0, r5, #0
|
|
adds r0, #0x42
|
|
str r0, [sp, #0x30]
|
|
_0805F554:
|
|
lsrs r4, r4, #3
|
|
mov r3, sb
|
|
ldrh r6, [r3, #0x10]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
adds r3, r6, #0
|
|
bl sub_08056DC8
|
|
adds r5, #2
|
|
mov r1, sb
|
|
ldrh r0, [r1, #0x10]
|
|
adds r0, #7
|
|
strh r0, [r1, #0x10]
|
|
ldrh r0, [r1, #0x10]
|
|
subs r6, r0, #1
|
|
adds r0, r7, #0
|
|
subs r7, #1
|
|
cmp r0, #0
|
|
beq _0805F59E
|
|
_0805F57C:
|
|
adds r1, r5, #0
|
|
adds r1, #0x40
|
|
adds r5, r1, #0
|
|
subs r2, r4, #1
|
|
subs r3, r7, #1
|
|
cmp r4, #0
|
|
ble _0805F596
|
|
_0805F58A:
|
|
strh r6, [r1]
|
|
adds r1, #2
|
|
adds r0, r2, #0
|
|
subs r2, #1
|
|
cmp r0, #0
|
|
bgt _0805F58A
|
|
_0805F596:
|
|
adds r0, r7, #0
|
|
adds r7, r3, #0
|
|
cmp r0, #0
|
|
bne _0805F57C
|
|
_0805F59E:
|
|
ldr r0, _0805F5C8 @ =gUnk_02034330
|
|
movs r1, #0x18
|
|
bl sub_0801D630
|
|
_0805F5A6:
|
|
mov r0, sb
|
|
mov r1, sp
|
|
mov r2, r8
|
|
bl sub_0805F5CC
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _0805F5A6
|
|
mov r0, r8
|
|
bl sub_0805F300
|
|
_0805F5BC:
|
|
movs r0, #0
|
|
add sp, #0x48
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0805F5C8: .4byte gUnk_02034330
|
|
|
|
thumb_func_start sub_0805F5CC
|
|
sub_0805F5CC: @ 0x0805F5CC
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
adds r5, r2, #0
|
|
ldrb r0, [r4, #0x14]
|
|
bl sub_0805F8F8
|
|
ldr r1, [r4, #8]
|
|
ldrb r2, [r4, #0x12]
|
|
adds r2, #7
|
|
movs r3, #0xfc
|
|
lsls r3, r3, #1
|
|
ands r2, r3
|
|
lsls r2, r2, #3
|
|
bl sub_0801D610
|
|
adds r0, r6, #0
|
|
movs r1, #0
|
|
bl sub_0805F324
|
|
adds r2, r0, #0
|
|
ldrb r1, [r4, #0x13]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0805F60E
|
|
adds r0, r2, #1
|
|
lsrs r0, r0, #1
|
|
movs r1, #8
|
|
subs r1, r1, r0
|
|
movs r0, #7
|
|
ands r0, r1
|
|
b _0805F610
|
|
_0805F60E:
|
|
movs r0, #0
|
|
_0805F610:
|
|
strh r0, [r5, #6]
|
|
adds r0, r6, #0
|
|
adds r1, r5, #0
|
|
bl sub_0805F6A4
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _0805F660
|
|
ldrh r1, [r5, #6]
|
|
adds r0, r1, #7
|
|
asrs r5, r0, #3
|
|
ldr r2, [r4]
|
|
ldrb r1, [r4, #0x13]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0805F63A
|
|
adds r0, r5, #1
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #1
|
|
subs r2, r2, r0
|
|
_0805F63A:
|
|
ldrh r1, [r4, #0x10]
|
|
adds r0, r2, #0
|
|
adds r2, r5, #0
|
|
bl sub_0805F67C
|
|
strh r0, [r4, #0x10]
|
|
ldr r0, [r4]
|
|
adds r0, #0x80
|
|
str r0, [r4]
|
|
lsls r5, r5, #6
|
|
ldr r0, [r4, #8]
|
|
ldr r1, [r4, #4]
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
ldr r0, [r4, #4]
|
|
adds r0, r0, r5
|
|
str r0, [r4, #4]
|
|
b _0805F670
|
|
_0805F660:
|
|
ldrb r0, [r6, #1]
|
|
cmp r0, #0xa
|
|
bne _0805F670
|
|
ldrb r1, [r4, #0x16]
|
|
lsls r1, r1, #6
|
|
ldr r0, [r4]
|
|
adds r0, r0, r1
|
|
str r0, [r4]
|
|
_0805F670:
|
|
ldrb r1, [r6, #1]
|
|
rsbs r0, r1, #0
|
|
orrs r0, r1
|
|
lsrs r0, r0, #0x1f
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805F67C
|
|
sub_0805F67C: @ 0x0805F67C
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
subs r2, #1
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
cmp r2, r0
|
|
beq _0805F6A0
|
|
adds r4, r0, #0
|
|
_0805F68C:
|
|
strh r1, [r3]
|
|
adds r1, #1
|
|
adds r0, r3, #0
|
|
adds r0, #0x40
|
|
strh r1, [r0]
|
|
adds r1, #1
|
|
adds r3, #2
|
|
subs r2, #1
|
|
cmp r2, r4
|
|
bne _0805F68C
|
|
_0805F6A0:
|
|
adds r0, r1, #0
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0805F6A4
|
|
sub_0805F6A4: @ 0x0805F6A4
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
movs r6, #0
|
|
_0805F6AC:
|
|
adds r0, r5, #0
|
|
bl sub_0805EFE8
|
|
movs r7, #1
|
|
cmp r0, #0xe
|
|
bhi _0805F746
|
|
lsls r0, r0, #2
|
|
ldr r1, _0805F6C4 @ =_0805F6C8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0805F6C4: .4byte _0805F6C8
|
|
_0805F6C8: @ jump table
|
|
.4byte _0805F768 @ case 0
|
|
.4byte _0805F768 @ case 1
|
|
.4byte _0805F764 @ case 2
|
|
.4byte _0805F764 @ case 3
|
|
.4byte _0805F764 @ case 4
|
|
.4byte _0805F764 @ case 5
|
|
.4byte _0805F764 @ case 6
|
|
.4byte _0805F704 @ case 7
|
|
.4byte _0805F764 @ case 8
|
|
.4byte _0805F764 @ case 9
|
|
.4byte _0805F764 @ case 10
|
|
.4byte _0805F740 @ case 11
|
|
.4byte _0805F70E @ case 12
|
|
.4byte _0805F764 @ case 13
|
|
.4byte _0805F764 @ case 14
|
|
_0805F704:
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0xd
|
|
bhi _0805F764
|
|
strb r0, [r4, #2]
|
|
b _0805F764
|
|
_0805F70E:
|
|
ldr r3, _0805F73C @ =gUnk_02034330
|
|
movs r2, #2
|
|
ldrsb r2, [r3, r2]
|
|
cmp r2, #3
|
|
bhi _0805F732
|
|
adds r0, r2, #1
|
|
strb r0, [r3, #2]
|
|
lsls r2, r2, #1
|
|
adds r0, r3, #0
|
|
adds r0, #0x10
|
|
adds r0, r2, r0
|
|
ldrh r1, [r5, #6]
|
|
strh r1, [r0]
|
|
adds r0, r3, #0
|
|
adds r0, #8
|
|
adds r2, r2, r0
|
|
ldrh r0, [r4, #6]
|
|
strh r0, [r2]
|
|
_0805F732:
|
|
ldrh r0, [r4, #6]
|
|
adds r0, #8
|
|
strh r0, [r4, #6]
|
|
adds r6, #8
|
|
b _0805F764
|
|
.align 2, 0
|
|
_0805F73C: .4byte gUnk_02034330
|
|
_0805F740:
|
|
ldrh r0, [r5, #2]
|
|
strb r0, [r4, #1]
|
|
b _0805F764
|
|
_0805F746:
|
|
adds r1, r4, #0
|
|
bl sub_0805F7DC
|
|
adds r6, r6, r0
|
|
ldrb r1, [r5]
|
|
movs r0, #0x60
|
|
ands r0, r1
|
|
cmp r0, #0x20
|
|
bne _0805F764
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, #1
|
|
bls _0805F764
|
|
subs r6, #1
|
|
subs r0, #1
|
|
strh r0, [r4, #6]
|
|
_0805F764:
|
|
cmp r7, #0
|
|
bne _0805F6AC
|
|
_0805F768:
|
|
adds r0, r6, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0805F76C
|
|
sub_0805F76C: @ 0x0805F76C
|
|
push {r4, lr}
|
|
sub sp, #0x30
|
|
adds r2, r0, #0
|
|
adds r4, r1, #0
|
|
mov r0, sp
|
|
adds r1, r2, #0
|
|
bl sub_0805F440
|
|
mov r3, sp
|
|
ldrb r0, [r4]
|
|
lsrs r0, r0, #4
|
|
movs r1, #3
|
|
ands r1, r0
|
|
lsls r1, r1, #5
|
|
ldrb r2, [r3]
|
|
movs r0, #0x61
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
mov r0, sp
|
|
adds r1, r4, #0
|
|
bl sub_0805F6A4
|
|
add sp, #0x30
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0805F7A0
|
|
sub_0805F7A0: @ 0x0805F7A0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0xf
|
|
movs r2, #0
|
|
b _0805F7B4
|
|
_0805F7AA:
|
|
lsls r1, r1, #4
|
|
adds r2, #1
|
|
cmp r2, #7
|
|
bhi _0805F7BA
|
|
adds r0, r4, #0
|
|
_0805F7B4:
|
|
ands r0, r1
|
|
cmp r1, r0
|
|
beq _0805F7AA
|
|
_0805F7BA:
|
|
adds r3, r2, #0
|
|
cmp r3, #7
|
|
bhi _0805F7D2
|
|
b _0805F7CA
|
|
_0805F7C2:
|
|
lsls r1, r1, #4
|
|
adds r2, #1
|
|
cmp r2, #7
|
|
bhi _0805F7D2
|
|
_0805F7CA:
|
|
adds r0, r4, #0
|
|
ands r0, r1
|
|
cmp r1, r0
|
|
bne _0805F7C2
|
|
_0805F7D2:
|
|
subs r2, r2, r3
|
|
lsls r0, r2, #8
|
|
orrs r0, r3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805F7DC
|
|
sub_0805F7DC: @ 0x0805F7DC
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
ldrh r0, [r4, #4]
|
|
ldrh r1, [r4, #6]
|
|
cmp r0, r1
|
|
bhi _0805F7EE
|
|
movs r0, #0
|
|
b _0805F81E
|
|
_0805F7EE:
|
|
adds r0, r6, #0
|
|
bl sub_0805F25C
|
|
adds r5, r0, #0
|
|
ldrh r7, [r4, #6]
|
|
lsrs r0, r6, #8
|
|
cmp r0, #4
|
|
bls _0805F808
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0805F820
|
|
adds r5, #0x40
|
|
_0805F808:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0805F820
|
|
ldrh r1, [r4, #4]
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, r1
|
|
bls _0805F81A
|
|
strh r1, [r4, #6]
|
|
_0805F81A:
|
|
ldrh r0, [r4, #6]
|
|
subs r0, r0, r7
|
|
_0805F81E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0805F820
|
|
sub_0805F820: @ 0x0805F820
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r7, r0, #0
|
|
adds r4, r1, #0
|
|
ldrh r0, [r7, #4]
|
|
ldrh r1, [r7, #6]
|
|
subs r0, r0, r1
|
|
cmp r0, #0
|
|
ble _0805F8DC
|
|
ldr r1, _0805F854 @ =gUnk_02036A58
|
|
adds r0, r4, #0
|
|
bl sub_08002724
|
|
ldrb r0, [r7, #1]
|
|
cmp r0, #0
|
|
bne _0805F858
|
|
ldr r0, [r4]
|
|
bl sub_0805F7A0
|
|
movs r1, #0xf
|
|
ands r1, r0
|
|
lsrs r4, r0, #8
|
|
b _0805F85C
|
|
.align 2, 0
|
|
_0805F854: .4byte gUnk_02036A58
|
|
_0805F858:
|
|
movs r1, #0
|
|
movs r4, #8
|
|
_0805F85C:
|
|
ldrh r0, [r7, #4]
|
|
ldrh r3, [r7, #6]
|
|
subs r0, r0, r3
|
|
cmp r0, #8
|
|
ble _0805F868
|
|
movs r0, #8
|
|
_0805F868:
|
|
cmp r0, r4
|
|
bge _0805F86E
|
|
adds r4, r0, #0
|
|
_0805F86E:
|
|
ldr r0, _0805F8BC @ =gUnk_02036A58
|
|
adds r6, r1, r0
|
|
ldr r0, [r7, #8]
|
|
mov sb, r0
|
|
ldrb r0, [r7, #3]
|
|
lsls r2, r0, #1
|
|
adds r2, r2, r0
|
|
lsls r2, r2, #6
|
|
ldrb r0, [r7, #2]
|
|
lsls r0, r0, #5
|
|
ldr r1, _0805F8C0 @ =gUnk_0810942E
|
|
adds r0, r0, r1
|
|
adds r2, r2, r0
|
|
mov r8, r2
|
|
adds r5, r3, #0
|
|
adds r0, r5, r4
|
|
strh r0, [r7, #6]
|
|
ldrb r0, [r7]
|
|
lsrs r0, r0, #4
|
|
cmp r0, #1
|
|
beq _0805F8D4
|
|
adds r0, r4, #0
|
|
subs r4, #1
|
|
cmp r0, #0
|
|
ble _0805F8DC
|
|
_0805F8A0:
|
|
adds r0, r6, #0
|
|
mov r1, sb
|
|
mov r2, r8
|
|
adds r3, r5, #0
|
|
bl sub_080026C4
|
|
adds r6, #1
|
|
adds r5, #1
|
|
adds r0, r4, #0
|
|
subs r4, #1
|
|
cmp r0, #0
|
|
bgt _0805F8A0
|
|
b _0805F8DC
|
|
.align 2, 0
|
|
_0805F8BC: .4byte gUnk_02036A58
|
|
_0805F8C0: .4byte gUnk_0810942E
|
|
_0805F8C4:
|
|
adds r0, r6, #0
|
|
mov r1, sb
|
|
mov r2, r8
|
|
adds r3, r5, #0
|
|
bl sub_080026F2
|
|
adds r6, #1
|
|
adds r5, #1
|
|
_0805F8D4:
|
|
adds r0, r4, #0
|
|
subs r4, #1
|
|
cmp r0, #0
|
|
bgt _0805F8C4
|
|
_0805F8DC:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0805F8E4
|
|
sub_0805F8E4: @ 0x0805F8E4
|
|
push {r4, r5, lr}
|
|
adds r4, r1, #0
|
|
ldrb r5, [r4, #1]
|
|
movs r1, #1
|
|
strb r1, [r4, #1]
|
|
adds r1, r4, #0
|
|
bl sub_0805F7DC
|
|
strb r5, [r4, #1]
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0805F8F8
|
|
sub_0805F8F8: @ 0x0805F8F8
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #6
|
|
ldr r0, _0805F910 @ =gUnk_081094CE
|
|
adds r1, r1, r0
|
|
ldr r2, _0805F914 @ =gUnk_0810926C
|
|
ldrb r0, [r1, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldr r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0805F910: .4byte gUnk_081094CE
|
|
_0805F914: .4byte gUnk_0810926C
|
|
|
|
thumb_func_start sub_0805F918
|
|
sub_0805F918: @ 0x0805F918
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
mov sl, r2
|
|
adds r0, r5, #0
|
|
bl sub_0805F8F8
|
|
ldr r1, _0805F990 @ =gUnk_02036AD8
|
|
movs r2, #0xe0
|
|
bl sub_0801D610
|
|
ldr r0, _0805F994 @ =gUnk_081092AC
|
|
lsls r4, r4, #2
|
|
adds r4, r4, r0
|
|
ldr r4, [r4]
|
|
mov r8, r4
|
|
lsls r0, r5, #1
|
|
adds r0, r0, r5
|
|
lsls r0, r0, #6
|
|
ldr r1, _0805F998 @ =gUnk_081094CE
|
|
adds r0, r0, r1
|
|
mov sb, r0
|
|
movs r7, #0
|
|
movs r6, #0
|
|
_0805F950:
|
|
ldr r4, _0805F99C @ =gUnk_02036A58
|
|
mov r0, r8
|
|
adds r1, r4, #0
|
|
bl sub_08002724
|
|
movs r0, #0x40
|
|
add r8, r0
|
|
movs r5, #0
|
|
adds r6, #1
|
|
_0805F962:
|
|
adds r0, r4, #0
|
|
ldr r1, _0805F990 @ =gUnk_02036AD8
|
|
mov r2, sb
|
|
adds r3, r7, #0
|
|
bl sub_080026C4
|
|
adds r4, #1
|
|
adds r7, #1
|
|
adds r5, #1
|
|
cmp r5, #7
|
|
bls _0805F962
|
|
cmp r6, #2
|
|
bls _0805F950
|
|
ldr r0, _0805F990 @ =gUnk_02036AD8
|
|
mov r1, sl
|
|
movs r2, #0xe0
|
|
bl sub_08000E96
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0805F990: .4byte gUnk_02036AD8
|
|
_0805F994: .4byte gUnk_081092AC
|
|
_0805F998: .4byte gUnk_081094CE
|
|
_0805F99C: .4byte gUnk_02036A58
|
|
|
|
thumb_func_start sub_0805F9A0
|
|
sub_0805F9A0: @ 0x0805F9A0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
ldrb r0, [r0, #7]
|
|
cmp r0, #0
|
|
bne _0805F9D0
|
|
ldr r1, _0805F9C4 @ =gUnk_081092D4
|
|
movs r3, #0
|
|
_0805F9B2:
|
|
ldrh r0, [r1]
|
|
cmp r0, r2
|
|
beq _0805F9C8
|
|
adds r3, #1
|
|
adds r1, #2
|
|
ldrh r0, [r1]
|
|
cmp r0, #0
|
|
bne _0805F9B2
|
|
b _0805F9D8
|
|
.align 2, 0
|
|
_0805F9C4: .4byte gUnk_081092D4
|
|
_0805F9C8:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
adds r0, r3, r1
|
|
b _0805F9E2
|
|
_0805F9D0:
|
|
ldr r0, _0805F9E4 @ =0x0000031A
|
|
cmp r2, r0
|
|
bne _0805F9D8
|
|
movs r2, #1
|
|
_0805F9D8:
|
|
movs r0, #0xff
|
|
ands r0, r2
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
adds r0, r0, r1
|
|
_0805F9E2:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805F9E4: .4byte 0x0000031A
|
|
|
|
thumb_func_start sub_0805F9E8
|
|
sub_0805F9E8: @ 0x0805F9E8
|
|
push {lr}
|
|
ldr r1, _0805F9FC @ =gUnk_08109A30
|
|
ldr r0, _0805FA00 @ =gUnk_03001000
|
|
ldrb r0, [r0, #3]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805F9FC: .4byte gUnk_08109A30
|
|
_0805FA00: .4byte gUnk_03001000
|
|
|
|
thumb_func_start sub_0805FA04
|
|
sub_0805FA04: @ 0x0805FA04
|
|
push {r4, r5, lr}
|
|
movs r0, #1
|
|
bl sub_0801DA90
|
|
ldr r0, _0805FA78 @ =gUnk_02034CB0
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
bl sub_0801D630
|
|
ldr r0, _0805FA7C @ =gUnk_02001A40
|
|
movs r1, #0x80
|
|
lsls r1, r1, #5
|
|
bl sub_0801D630
|
|
ldr r0, _0805FA80 @ =gUnk_03000F50
|
|
movs r2, #0
|
|
movs r1, #0x94
|
|
lsls r1, r1, #4
|
|
strh r1, [r0]
|
|
strh r2, [r0, #0xa]
|
|
strh r2, [r0, #0xc]
|
|
strh r2, [r0, #0x2e]
|
|
strh r2, [r0, #0x30]
|
|
ldr r1, _0805FA84 @ =0x00001E0F
|
|
strh r1, [r0, #0x2c]
|
|
movs r5, #1
|
|
movs r1, #1
|
|
strh r1, [r0, #0x32]
|
|
bl sub_08056418
|
|
ldr r0, _0805FA88 @ =gUnk_02032EC0
|
|
movs r1, #0xed
|
|
lsls r1, r1, #2
|
|
bl sub_0801D630
|
|
ldr r4, _0805FA8C @ =gUnk_02000080
|
|
adds r0, r4, #0
|
|
movs r1, #0x30
|
|
bl sub_0801D630
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
ldrb r0, [r0, #7]
|
|
strb r0, [r4, #0x16]
|
|
bl sub_08053320
|
|
ldr r1, _0805FA90 @ =0x00001144
|
|
movs r0, #0
|
|
bl sub_0801D79C
|
|
ldr r0, _0805FA94 @ =gUnk_03001000
|
|
strb r5, [r0, #3]
|
|
bl sub_080A3210
|
|
bl sub_08050008
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0805FA78: .4byte gUnk_02034CB0
|
|
_0805FA7C: .4byte gUnk_02001A40
|
|
_0805FA80: .4byte gUnk_03000F50
|
|
_0805FA84: .4byte 0x00001E0F
|
|
_0805FA88: .4byte gUnk_02032EC0
|
|
_0805FA8C: .4byte gUnk_02000080
|
|
_0805FA90: .4byte 0x00001144
|
|
_0805FA94: .4byte gUnk_03001000
|
|
|
|
thumb_func_start sub_0805FA98
|
|
sub_0805FA98: @ 0x0805FA98
|
|
push {r4, lr}
|
|
ldr r0, _0805FAB4 @ =gUnk_03000FF0
|
|
ldrh r1, [r0, #2]
|
|
adds r2, r0, #0
|
|
cmp r1, #0x80
|
|
beq _0805FAD8
|
|
cmp r1, #0x80
|
|
bgt _0805FAB8
|
|
cmp r1, #2
|
|
beq _0805FB44
|
|
cmp r1, #0x40
|
|
beq _0805FACA
|
|
b _0805FB4A
|
|
.align 2, 0
|
|
_0805FAB4: .4byte gUnk_03000FF0
|
|
_0805FAB8:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
cmp r1, r0
|
|
beq _0805FB28
|
|
movs r0, #0x80
|
|
lsls r0, r0, #2
|
|
cmp r1, r0
|
|
beq _0805FAE8
|
|
b _0805FB4A
|
|
_0805FACA:
|
|
ldr r1, _0805FAD4 @ =gUnk_02000080
|
|
ldrb r0, [r1, #0x11]
|
|
subs r0, #1
|
|
strb r0, [r1, #0x11]
|
|
b _0805FBA4
|
|
.align 2, 0
|
|
_0805FAD4: .4byte gUnk_02000080
|
|
_0805FAD8:
|
|
ldr r1, _0805FAE4 @ =gUnk_02000080
|
|
ldrb r0, [r1, #0x11]
|
|
adds r0, #1
|
|
strb r0, [r1, #0x11]
|
|
b _0805FBA4
|
|
.align 2, 0
|
|
_0805FAE4: .4byte gUnk_02000080
|
|
_0805FAE8:
|
|
ldr r0, _0805FB04 @ =gUnk_02000080
|
|
ldrb r1, [r0, #0x10]
|
|
movs r2, #1
|
|
eors r1, r2
|
|
strb r1, [r0, #0x10]
|
|
cmp r1, #0
|
|
bne _0805FB10
|
|
ldr r0, _0805FB08 @ =gUnk_03000F50
|
|
ldr r1, _0805FB0C @ =0x00001F0C
|
|
strh r1, [r0, #8]
|
|
subs r1, #0xfd
|
|
strh r1, [r0, #0x2c]
|
|
b _0805FBA4
|
|
.align 2, 0
|
|
_0805FB04: .4byte gUnk_02000080
|
|
_0805FB08: .4byte gUnk_03000F50
|
|
_0805FB0C: .4byte 0x00001F0C
|
|
_0805FB10:
|
|
ldr r0, _0805FB1C @ =gUnk_03000F50
|
|
ldr r1, _0805FB20 @ =0x00001F0F
|
|
strh r1, [r0, #8]
|
|
ldr r1, _0805FB24 @ =0x00001E0C
|
|
strh r1, [r0, #0x2c]
|
|
b _0805FBA4
|
|
.align 2, 0
|
|
_0805FB1C: .4byte gUnk_03000F50
|
|
_0805FB20: .4byte 0x00001F0F
|
|
_0805FB24: .4byte 0x00001E0C
|
|
_0805FB28:
|
|
movs r2, #0x80
|
|
lsls r2, r2, #0x12
|
|
ldr r1, _0805FB40 @ =gUnk_02000080
|
|
ldrb r0, [r1, #0x16]
|
|
strb r0, [r2, #7]
|
|
ldrb r0, [r1, #0x14]
|
|
lsls r0, r0, #8
|
|
ldrb r1, [r1, #0x15]
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
b _0805FBA4
|
|
.align 2, 0
|
|
_0805FB40: .4byte gUnk_02000080
|
|
_0805FB44:
|
|
bl sub_08056418
|
|
b _0805FBA4
|
|
_0805FB4A:
|
|
ldrh r0, [r2, #4]
|
|
cmp r0, #0x10
|
|
beq _0805FB5A
|
|
cmp r0, #0x20
|
|
bne _0805FB5E
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
b _0805FB60
|
|
_0805FB5A:
|
|
movs r1, #1
|
|
b _0805FB60
|
|
_0805FB5E:
|
|
movs r1, #0
|
|
_0805FB60:
|
|
ldr r4, _0805FB74 @ =gUnk_02000080
|
|
ldrb r0, [r4, #0x11]
|
|
cmp r0, #1
|
|
beq _0805FB8E
|
|
cmp r0, #1
|
|
bgt _0805FB78
|
|
cmp r0, #0
|
|
beq _0805FB7E
|
|
b _0805FBA4
|
|
.align 2, 0
|
|
_0805FB74: .4byte gUnk_02000080
|
|
_0805FB78:
|
|
cmp r0, #2
|
|
beq _0805FB96
|
|
b _0805FBA4
|
|
_0805FB7E:
|
|
ldrb r0, [r4, #0x14]
|
|
adds r0, r0, r1
|
|
adds r0, #0x50
|
|
movs r1, #0x50
|
|
bl __modsi3
|
|
strb r0, [r4, #0x14]
|
|
b _0805FBA4
|
|
_0805FB8E:
|
|
ldrb r0, [r4, #0x15]
|
|
adds r0, r0, r1
|
|
strb r0, [r4, #0x15]
|
|
b _0805FBA4
|
|
_0805FB96:
|
|
ldrb r0, [r4, #0x16]
|
|
adds r0, r0, r1
|
|
adds r0, #7
|
|
movs r1, #7
|
|
bl __modsi3
|
|
strb r0, [r4, #0x16]
|
|
_0805FBA4:
|
|
ldr r4, _0805FBBC @ =gUnk_02000080
|
|
ldrb r0, [r4, #0x11]
|
|
adds r0, #3
|
|
movs r1, #3
|
|
bl __modsi3
|
|
strb r0, [r4, #0x11]
|
|
ldr r1, _0805FBC0 @ =gUnk_03000F50
|
|
movs r0, #1
|
|
strh r0, [r1, #0x32]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0805FBBC: .4byte gUnk_02000080
|
|
_0805FBC0: .4byte gUnk_03000F50
|
|
|
|
thumb_func_start sub_0805FBC4
|
|
sub_0805FBC4: @ 0x0805FBC4
|
|
push {lr}
|
|
movs r0, #0
|
|
bl sub_08056010
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FBD0
|
|
sub_0805FBD0: @ 0x0805FBD0
|
|
push {lr}
|
|
ldr r2, _0805FBE4 @ =gUnk_08109AC8
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805FBE4: .4byte gUnk_08109AC8
|
|
|
|
thumb_func_start sub_0805FBE8
|
|
sub_0805FBE8: @ 0x0805FBE8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _0805FC68 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806FA24
|
|
ldrb r0, [r5, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r5, #0x18]
|
|
adds r4, #0x3c
|
|
ldrb r0, [r4]
|
|
adds r0, #1
|
|
adds r1, r5, #0
|
|
adds r1, #0x3c
|
|
strb r0, [r1]
|
|
ldr r0, _0805FC6C @ =gUnk_08109AD0
|
|
str r0, [r5, #0x48]
|
|
movs r0, #0xe0
|
|
lsls r0, r0, #2
|
|
strh r0, [r5, #0x24]
|
|
ldrb r1, [r5, #0x14]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r5, #0x14]
|
|
adds r0, r5, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _0805FC36
|
|
movs r0, #1
|
|
strb r0, [r5, #0xb]
|
|
_0805FC36:
|
|
ldrb r1, [r5, #0x14]
|
|
lsls r0, r1, #2
|
|
strb r0, [r5, #0x15]
|
|
movs r0, #0x3c
|
|
str r0, [r5, #0x6c]
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x19
|
|
adds r1, #0xc
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
adds r0, r5, #0
|
|
bl sub_0801766C
|
|
adds r0, r5, #0
|
|
bl sub_0806F69C
|
|
adds r0, r5, #0
|
|
bl sub_0805FC74
|
|
ldr r0, _0805FC70 @ =0x0000013F
|
|
bl sub_080A3268
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0805FC68: .4byte gLinkEntity
|
|
_0805FC6C: .4byte gUnk_08109AD0
|
|
_0805FC70: .4byte 0x0000013F
|
|
|
|
thumb_func_start sub_0805FC74
|
|
sub_0805FC74: @ 0x0805FC74
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #0x6c]
|
|
subs r0, #1
|
|
str r0, [r4, #0x6c]
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _0805FD1C
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
ldrb r0, [r4, #0xe]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xe]
|
|
ldrb r0, [r4, #0xb]
|
|
cmp r0, #0
|
|
bne _0805FCA4
|
|
adds r0, r4, #0
|
|
bl sub_0800451C
|
|
_0805FCA4:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
ldr r2, _0805FD10 @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
movs r5, #0x32
|
|
ldrsh r1, [r4, r5]
|
|
ldrh r2, [r2, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
ldr r1, _0805FD14 @ =gLinkEntity
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
movs r2, #0x80
|
|
bl sub_080002F0
|
|
cmp r0, #0
|
|
bne _0805FCF6
|
|
ldr r1, _0805FD18 @ =gUnk_08003E44
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r4, r0]
|
|
movs r5, #0x32
|
|
ldrsh r3, [r4, r5]
|
|
adds r0, r4, #0
|
|
bl sub_080040D8
|
|
cmp r0, #0
|
|
beq _0805FCF6
|
|
adds r0, r4, #0
|
|
movs r1, #0x19
|
|
movs r2, #0
|
|
bl CreateFX
|
|
bl sub_0805E780
|
|
_0805FCF6:
|
|
adds r0, r4, #0
|
|
adds r0, #0x41
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0805FD20
|
|
adds r0, r4, #0
|
|
movs r1, #0x19
|
|
movs r2, #0
|
|
bl CreateFX
|
|
bl sub_0805E780
|
|
b _0805FD20
|
|
.align 2, 0
|
|
_0805FD10: .4byte gUnk_03000BF0
|
|
_0805FD14: .4byte gLinkEntity
|
|
_0805FD18: .4byte gUnk_08003E44
|
|
_0805FD1C:
|
|
bl sub_0805E780
|
|
_0805FD20:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FD24
|
|
sub_0805FD24: @ 0x0805FD24
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _0805FD72
|
|
cmp r0, #1
|
|
bgt _0805FD38
|
|
cmp r0, #0
|
|
beq _0805FD3E
|
|
b _0805FDBC
|
|
_0805FD38:
|
|
cmp r0, #2
|
|
beq _0805FDAE
|
|
b _0805FDBC
|
|
_0805FD3E:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0805FDBC
|
|
_0805FD72:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0805FDA4
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _0805FDA0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0805FDBC
|
|
.align 2, 0
|
|
_0805FDA0: .4byte gLinkEntity
|
|
_0805FDA4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0805FDBC
|
|
_0805FDAE:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0805FDBC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0805FDBC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FDC0
|
|
sub_0805FDC0: @ 0x0805FDC0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0805FDEE
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #0xa
|
|
bl sub_080042AC
|
|
b _0805FDF4
|
|
_0805FDEE:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_0805FDF4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FDF8
|
|
sub_0805FDF8: @ 0x0805FDF8
|
|
push {lr}
|
|
ldr r2, _0805FE0C @ =gUnk_08109BBC
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805FE0C: .4byte gUnk_08109BBC
|
|
|
|
thumb_func_start sub_0805FE10
|
|
sub_0805FE10: @ 0x0805FE10
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0805FE48
|
|
sub_0805FE48: @ 0x0805FE48
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r2, r5, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0805FE80
|
|
movs r0, #0
|
|
strb r1, [r5, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _0805FE7C @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r5, #0
|
|
bl sub_080042AC
|
|
adds r0, r5, #0
|
|
bl sub_0806F118
|
|
b _0805FF14
|
|
.align 2, 0
|
|
_0805FE7C: .4byte gLinkEntity
|
|
_0805FE80:
|
|
adds r4, r5, #0
|
|
adds r4, #0x84
|
|
ldr r1, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0807DF74
|
|
ldr r1, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0805FF2C
|
|
adds r0, r5, #0
|
|
adds r0, #0x80
|
|
ldrh r3, [r0]
|
|
adds r7, r0, #0
|
|
adds r6, r5, #0
|
|
adds r6, #0x82
|
|
cmp r3, #7
|
|
bhi _0805FEC6
|
|
ldrh r1, [r6]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0805FEBA
|
|
movs r1, #0xfc
|
|
ands r1, r3
|
|
ldrb r0, [r5, #0xf]
|
|
lsrs r0, r0, #1
|
|
adds r3, r1, r0
|
|
b _0805FEC6
|
|
_0805FEBA:
|
|
movs r0, #0xfc
|
|
ands r0, r3
|
|
ldrb r2, [r5, #0x14]
|
|
lsrs r1, r2, #1
|
|
adds r3, r0, r1
|
|
strb r2, [r5, #0xf]
|
|
_0805FEC6:
|
|
adds r4, r5, #0
|
|
adds r4, #0x58
|
|
ldrb r0, [r4]
|
|
cmp r3, r0
|
|
beq _0805FED8
|
|
adds r0, r5, #0
|
|
adds r1, r3, #0
|
|
bl sub_080042AC
|
|
_0805FED8:
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0805FF02
|
|
ldrb r0, [r4]
|
|
cmp r0, #8
|
|
beq _0805FEFE
|
|
cmp r0, #8
|
|
blt _0805FF02
|
|
cmp r0, #0xc
|
|
bgt _0805FF02
|
|
cmp r0, #0xa
|
|
blt _0805FF02
|
|
_0805FEFE:
|
|
movs r0, #0
|
|
strh r0, [r7]
|
|
_0805FF02:
|
|
ldrh r1, [r6]
|
|
mvns r0, r1
|
|
adds r0, #1
|
|
ands r1, r0
|
|
cmp r1, #2
|
|
bne _0805FF14
|
|
adds r0, r5, #0
|
|
bl sub_0806ED78
|
|
_0805FF14:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FF18
|
|
sub_0805FF18: @ 0x0805FF18
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0805FF28
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0805FF28:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FF2C
|
|
sub_0805FF2C: @ 0x0805FF2C
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r0, [r5, #8]
|
|
ldr r1, _0805FF60 @ =0xFFF00004
|
|
ands r1, r0
|
|
eors r0, r1
|
|
str r0, [r5, #8]
|
|
cmp r1, #0
|
|
beq _0805FF94
|
|
movs r6, #0x80
|
|
lsls r6, r6, #0xd
|
|
adds r3, r4, #0
|
|
adds r3, #0x80
|
|
_0805FF48:
|
|
mvns r0, r1
|
|
adds r2, r0, #1
|
|
ands r2, r1
|
|
eors r1, r2
|
|
cmp r2, r6
|
|
beq _0805FF8C
|
|
cmp r2, r6
|
|
bhi _0805FF64
|
|
cmp r2, #4
|
|
beq _0805FF76
|
|
b _0805FF90
|
|
.align 2, 0
|
|
_0805FF60: .4byte 0xFFF00004
|
|
_0805FF64:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xe
|
|
cmp r2, r0
|
|
beq _0805FF7A
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xf
|
|
cmp r2, r0
|
|
beq _0805FF7E
|
|
b _0805FF90
|
|
_0805FF76:
|
|
movs r0, #9
|
|
b _0805FF8E
|
|
_0805FF7A:
|
|
movs r0, #0xa
|
|
b _0805FF8E
|
|
_0805FF7E:
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #2
|
|
bne _0805FF88
|
|
movs r0, #0xb
|
|
b _0805FF8E
|
|
_0805FF88:
|
|
movs r0, #0xc
|
|
b _0805FF8E
|
|
_0805FF8C:
|
|
movs r0, #8
|
|
_0805FF8E:
|
|
strh r0, [r3]
|
|
_0805FF90:
|
|
cmp r1, #0
|
|
bne _0805FF48
|
|
_0805FF94:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807DB98
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FFA0
|
|
sub_0805FFA0: @ 0x0805FFA0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0805FFCE
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
bl sub_080042AC
|
|
b _0805FFD4
|
|
_0805FFCE:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_0805FFD4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0805FFD8
|
|
sub_0805FFD8: @ 0x0805FFD8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #1
|
|
beq _08060044
|
|
cmp r5, #1
|
|
bgt _0805FFEC
|
|
cmp r5, #0
|
|
beq _0805FFF2
|
|
b _0806008C
|
|
_0805FFEC:
|
|
cmp r5, #2
|
|
beq _0806007E
|
|
b _0806008C
|
|
_0805FFF2:
|
|
ldr r1, _0806003C @ =gUnk_0810A348
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806008C
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0xe]
|
|
lsls r0, r0, #1
|
|
strb r0, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
strb r5, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
ldr r1, _08060040 @ =gUnk_08109D18
|
|
ldrb r0, [r4, #0xb]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0807DAD0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806008C
|
|
.align 2, 0
|
|
_0806003C: .4byte gUnk_0810A348
|
|
_08060040: .4byte gUnk_08109D18
|
|
_08060044:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806005E
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806008C
|
|
_0806005E:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
adds r0, #0x59
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xf0
|
|
beq _0806008C
|
|
adds r0, r4, #0
|
|
bl sub_080600F0
|
|
b _0806008C
|
|
_0806007E:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806008C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806008C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08060090
|
|
sub_08060090: @ 0x08060090
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080600A8
|
|
sub_080600A8: @ 0x080600A8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
cmp r2, #0xff
|
|
beq _080600BA
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
_080600BA:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080600CA
|
|
movs r2, #0xff
|
|
_080600CA:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080600F0
|
|
sub_080600F0: @ 0x080600F0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x80
|
|
ldrh r3, [r0]
|
|
cmp r3, #7
|
|
bhi _08060120
|
|
adds r0, #2
|
|
ldrh r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060114
|
|
movs r1, #0xfc
|
|
ands r1, r3
|
|
ldrb r0, [r4, #0xf]
|
|
lsrs r0, r0, #1
|
|
adds r3, r1, r0
|
|
b _08060120
|
|
_08060114:
|
|
movs r0, #0xfc
|
|
ands r0, r3
|
|
ldrb r2, [r4, #0x14]
|
|
lsrs r1, r2, #1
|
|
adds r3, r0, r1
|
|
strb r2, [r4, #0xf]
|
|
_08060120:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r3, r0
|
|
beq _08060132
|
|
adds r0, r4, #0
|
|
adds r1, r3, #0
|
|
bl sub_080042AC
|
|
_08060132:
|
|
adds r0, r4, #0
|
|
adds r0, #0x82
|
|
ldrh r1, [r0]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
movs r1, #1
|
|
cmp r0, #0
|
|
beq _08060144
|
|
movs r1, #2
|
|
_08060144:
|
|
adds r0, r4, #0
|
|
bl sub_080042BA
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806014C
|
|
sub_0806014C: @ 0x0806014C
|
|
push {lr}
|
|
movs r1, #0
|
|
strb r1, [r0, #0xe]
|
|
bl sub_08060158
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08060158
|
|
sub_08060158: @ 0x08060158
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
adds r7, r0, #0
|
|
cmp r7, #0
|
|
beq _0806016A
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
b _080601CC
|
|
_0806016A:
|
|
movs r0, #2
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806EDD8
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
bge _08060188
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x14]
|
|
lsls r3, r0, #2
|
|
_08060188:
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #5
|
|
asrs r1, r3, #1
|
|
lsls r1, r1, #1
|
|
ldr r2, _080601D0 @ =gUnk_08109C98
|
|
adds r1, r1, r2
|
|
adds r0, r0, r1
|
|
ldrb r6, [r0]
|
|
ldrb r5, [r0, #1]
|
|
movs r0, #0x80
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
beq _080601AC
|
|
adds r0, r3, #0
|
|
bl sub_0806F5B0
|
|
strb r0, [r4, #0x14]
|
|
_080601AC:
|
|
movs r0, #0x7f
|
|
ands r5, r0
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
strb r6, [r0]
|
|
strb r5, [r4, #0x1e]
|
|
adds r1, r4, #0
|
|
adds r1, #0x5b
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
strb r7, [r0]
|
|
subs r1, #2
|
|
movs r0, #0xf0
|
|
strb r0, [r1]
|
|
_080601CC:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080601D0: .4byte gUnk_08109C98
|
|
|
|
thumb_func_start sub_080601D4
|
|
sub_080601D4: @ 0x080601D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #4
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080601E6
|
|
movs r1, #2
|
|
b _080601F2
|
|
_080601E6:
|
|
movs r0, #0x17
|
|
bl sub_0801E7F4
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
_080601F2:
|
|
ldr r0, _08060204 @ =gUnk_0810A354
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08060204: .4byte gUnk_0810A354
|
|
|
|
thumb_func_start sub_08060208
|
|
sub_08060208: @ 0x08060208
|
|
push {lr}
|
|
ldrb r1, [r0, #0xb]
|
|
lsls r1, r1, #5
|
|
ldr r2, _08060218 @ =gUnk_08109DC8
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08060218: .4byte gUnk_08109DC8
|
|
|
|
thumb_func_start sub_0806021C
|
|
sub_0806021C: @ 0x0806021C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x5b
|
|
bl sub_0807CA84
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
movs r0, #0x40
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08060238
|
|
movs r4, #2
|
|
_08060238:
|
|
movs r0, #0x13
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08060244
|
|
movs r4, #3
|
|
_08060244:
|
|
ldrb r1, [r5, #0xb]
|
|
lsls r1, r1, #5
|
|
lsls r0, r4, #3
|
|
ldr r2, _08060258 @ =gUnk_08109DC8
|
|
adds r0, r0, r2
|
|
adds r1, r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_0806F1AC
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08060258: .4byte gUnk_08109DC8
|
|
|
|
thumb_func_start sub_0806025C
|
|
sub_0806025C: @ 0x0806025C
|
|
push {lr}
|
|
ldrb r1, [r0, #0xb]
|
|
lsls r1, r1, #5
|
|
ldr r2, _0806026C @ =gUnk_08109DC8
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806026C: .4byte gUnk_08109DC8
|
|
|
|
thumb_func_start sub_08060270
|
|
sub_08060270: @ 0x08060270
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08060294
|
|
movs r4, #1
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080602A8
|
|
movs r4, #0
|
|
movs r0, #0x29
|
|
bl sub_0807CD04
|
|
b _080602A8
|
|
_08060294:
|
|
movs r4, #3
|
|
movs r0, #0x76
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _080602A8
|
|
movs r4, #2
|
|
movs r0, #0x76
|
|
bl sub_0807CCB4
|
|
_080602A8:
|
|
ldr r0, _080602B8 @ =gUnk_0810A35A
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080602B8: .4byte gUnk_0810A35A
|
|
|
|
thumb_func_start sub_080602BC
|
|
sub_080602BC: @ 0x080602BC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x48
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _080602D6
|
|
bl sub_08000E50
|
|
movs r1, #1
|
|
ands r1, r0
|
|
adds r2, r1, #2
|
|
b _080602F0
|
|
_080602D6:
|
|
ldr r0, _08060300 @ =gUnk_02002A40
|
|
adds r2, r0, #0
|
|
adds r2, #0xac
|
|
ldr r1, _08060304 @ =gUnk_080FD5A0
|
|
adds r0, #0xae
|
|
ldrb r0, [r0]
|
|
adds r0, r0, r1
|
|
ldrb r1, [r2]
|
|
movs r2, #0
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bhs _080602F0
|
|
movs r2, #1
|
|
_080602F0:
|
|
ldr r0, _08060308 @ =gUnk_0810A362
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08060300: .4byte gUnk_02002A40
|
|
_08060304: .4byte gUnk_080FD5A0
|
|
_08060308: .4byte gUnk_0810A362
|
|
|
|
thumb_func_start sub_0806030C
|
|
sub_0806030C: @ 0x0806030C
|
|
push {lr}
|
|
ldr r0, [r1, #4]
|
|
bl sub_080542F4
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08060318
|
|
sub_08060318: @ 0x08060318
|
|
push {r4, r5, lr}
|
|
movs r5, #2
|
|
_0806031C:
|
|
movs r0, #8
|
|
movs r1, #2
|
|
movs r2, #2
|
|
bl sub_0805EB00
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08060336
|
|
bl sub_080A29BC
|
|
adds r0, r4, #0
|
|
bl sub_0805E7BC
|
|
_08060336:
|
|
subs r5, #1
|
|
cmp r5, #0
|
|
bge _0806031C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08060340
|
|
sub_08060340: @ 0x08060340
|
|
ldr r0, _08060350 @ =gUnk_02002A40
|
|
movs r2, #0x92
|
|
lsls r2, r2, #3
|
|
adds r1, r0, r2
|
|
ldr r0, [r0, #0x50]
|
|
str r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08060350: .4byte gUnk_02002A40
|
|
|
|
thumb_func_start sub_08060354
|
|
sub_08060354: @ 0x08060354
|
|
push {r4, lr}
|
|
ldr r0, _08060378 @ =gUnk_02002A40
|
|
movs r2, #0x92
|
|
lsls r2, r2, #3
|
|
adds r1, r0, r2
|
|
ldr r2, [r0, #0x50]
|
|
ldr r0, [r1]
|
|
subs r4, r2, r0
|
|
movs r0, #0x3b
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _08060380
|
|
cmp r4, #4
|
|
ble _080603B0
|
|
ldr r0, _0806037C @ =0x00008444
|
|
b _080603B2
|
|
.align 2, 0
|
|
_08060378: .4byte gUnk_02002A40
|
|
_0806037C: .4byte 0x00008444
|
|
_08060380:
|
|
movs r0, #0x3c
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _08060398
|
|
cmp r4, #9
|
|
ble _080603B0
|
|
ldr r0, _08060394 @ =0x00008444
|
|
b _080603B2
|
|
.align 2, 0
|
|
_08060394: .4byte 0x00008444
|
|
_08060398:
|
|
movs r0, #0x3d
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080603B0
|
|
cmp r4, #0xe
|
|
ble _080603B0
|
|
ldr r0, _080603AC @ =0x00008444
|
|
b _080603B2
|
|
.align 2, 0
|
|
_080603AC: .4byte 0x00008444
|
|
_080603B0:
|
|
movs r0, #0
|
|
_080603B2:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080603B4
|
|
sub_080603B4: @ 0x080603B4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _080603F4
|
|
ldr r1, _080603F0 @ =gUnk_0810A348
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080603FA
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
b _080603FA
|
|
.align 2, 0
|
|
_080603F0: .4byte gUnk_0810A348
|
|
_080603F4:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_080603FA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080603FC
|
|
sub_080603FC: @ 0x080603FC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060412
|
|
adds r0, r2, #0
|
|
bl sub_08060528
|
|
b _08060422
|
|
_08060412:
|
|
ldr r0, _08060424 @ =gUnk_0810AA24
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
_08060422:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08060424: .4byte gUnk_0810AA24
|
|
|
|
thumb_func_start sub_08060428
|
|
sub_08060428: @ 0x08060428
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x5a
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
ldrb r0, [r4, #0xb]
|
|
cmp r0, #0
|
|
beq _08060444
|
|
bl sub_0804B128
|
|
adds r1, r0, #0
|
|
b _08060446
|
|
_08060444:
|
|
movs r1, #0
|
|
_08060446:
|
|
adds r0, r4, #0
|
|
movs r2, #0
|
|
bl sub_0806EE04
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806045C
|
|
sub_0806045C: @ 0x0806045C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_080604DC
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #2
|
|
bgt _08060488
|
|
cmp r0, #1
|
|
blt _08060488
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
b _080604C0
|
|
_08060488:
|
|
adds r0, r4, #0
|
|
adds r0, #0x3e
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r1, r0
|
|
beq _0806049E
|
|
strb r1, [r4, #0x14]
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_0806049E:
|
|
adds r0, r4, #0
|
|
movs r1, #0x18
|
|
movs r2, #0x18
|
|
bl sub_0806ED9C
|
|
movs r1, #0
|
|
cmp r0, #0
|
|
blt _080604B6
|
|
ldrb r2, [r4, #0x14]
|
|
cmp r0, r2
|
|
bne _080604B6
|
|
movs r1, #1
|
|
_080604B6:
|
|
cmp r1, #0
|
|
bne _080604C0
|
|
adds r0, r4, #0
|
|
bl sub_0806EE20
|
|
_080604C0:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080604C8
|
|
sub_080604C8: @ 0x080604C8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_080604DC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080604DC
|
|
sub_080604DC: @ 0x080604DC
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r0, [r5, #0x18]
|
|
lsls r0, r0, #0x1e
|
|
lsrs r4, r0, #0x1e
|
|
cmp r4, #1
|
|
bne _08060524
|
|
adds r0, r5, #0
|
|
bl sub_080040A8
|
|
cmp r0, #0
|
|
beq _08060524
|
|
adds r2, r5, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
ands r4, r1
|
|
cmp r4, #0
|
|
beq _08060524
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
movs r1, #0x11
|
|
movs r2, #0x40
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08060524
|
|
ldrh r0, [r1, #0x32]
|
|
adds r0, #1
|
|
strh r0, [r1, #0x32]
|
|
adds r0, r1, #0
|
|
movs r1, #3
|
|
bl sub_0805E3A0
|
|
_08060524:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08060528
|
|
sub_08060528: @ 0x08060528
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldrb r3, [r4, #0xc]
|
|
cmp r3, #1
|
|
beq _08060582
|
|
cmp r3, #1
|
|
bgt _0806053C
|
|
cmp r3, #0
|
|
beq _08060546
|
|
b _080605EC
|
|
_0806053C:
|
|
cmp r3, #2
|
|
beq _080605F6
|
|
cmp r3, #3
|
|
beq _08060618
|
|
b _080605EC
|
|
_08060546:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r3, [r0]
|
|
adds r0, #1
|
|
strb r3, [r0]
|
|
adds r5, r4, #0
|
|
adds r5, #0x6a
|
|
movs r0, #0
|
|
strh r3, [r5]
|
|
adds r6, r4, #0
|
|
adds r6, #0x6d
|
|
strb r0, [r6]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x6c
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _08060634
|
|
_08060582:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #2
|
|
bne _080605B8
|
|
movs r1, #0
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
ldr r1, _080605B4 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _080605EC
|
|
.align 2, 0
|
|
_080605B4: .4byte gLinkEntity
|
|
_080605B8:
|
|
cmp r0, #0
|
|
beq _080605E4
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_080606D8
|
|
ldr r1, _080605E0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _080605EC
|
|
.align 2, 0
|
|
_080605E0: .4byte gLinkEntity
|
|
_080605E4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_080605EC:
|
|
adds r5, r4, #0
|
|
adds r5, #0x6a
|
|
adds r6, r4, #0
|
|
adds r6, #0x6d
|
|
b _08060634
|
|
_080605F6:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldr r0, _08060614 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
adds r5, r4, #0
|
|
adds r5, #0x6a
|
|
adds r6, r4, #0
|
|
adds r6, #0x6d
|
|
cmp r0, #0
|
|
bne _08060634
|
|
b _08060630
|
|
.align 2, 0
|
|
_08060614: .4byte gUnk_02000050
|
|
_08060618:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
adds r5, r4, #0
|
|
adds r5, #0x6a
|
|
adds r6, r4, #0
|
|
adds r6, #0x6d
|
|
cmp r0, #0
|
|
beq _08060634
|
|
_08060630:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08060634:
|
|
adds r0, r4, #0
|
|
bl sub_080604DC
|
|
adds r1, r5, #0
|
|
ldrh r3, [r1]
|
|
movs r0, #0
|
|
ldrsh r2, [r1, r0]
|
|
cmp r2, #0
|
|
ble _08060670
|
|
ldr r0, _08060668 @ =0x0000012B
|
|
cmp r2, r0
|
|
ble _0806066C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r4, #0x20]
|
|
movs r0, #1
|
|
strb r0, [r6]
|
|
adds r0, r4, #0
|
|
bl sub_080788E0
|
|
movs r0, #0x7c
|
|
bl sub_08004488
|
|
b _08060670
|
|
.align 2, 0
|
|
_08060668: .4byte 0x0000012B
|
|
_0806066C:
|
|
subs r0, r3, #1
|
|
strh r0, [r5]
|
|
_08060670:
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #5
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
ldrb r0, [r6]
|
|
cmp r0, #0
|
|
beq _08060694
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bne _08060694
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
bne _08060694
|
|
strb r0, [r6]
|
|
adds r0, r4, #0
|
|
bl sub_080606C0
|
|
_08060694:
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
blt _080606B4
|
|
ldr r0, _080606BC @ =gLinkEntity
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
cmp r1, #0
|
|
beq _080606AE
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
bne _080606B4
|
|
_080606AE:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_080606B4:
|
|
adds r0, r4, #0
|
|
bl sub_0800451C
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080606BC: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_080606C0
|
|
sub_080606C0: @ 0x080606C0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x6c
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080606D8
|
|
sub_080606D8: @ 0x080606D8
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080606F8 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _080606E8
|
|
movs r0, #0
|
|
_080606E8:
|
|
lsls r1, r0, #3
|
|
ldr r0, _080606FC @ =gUnk_0810AA30
|
|
adds r1, r1, r0
|
|
adds r0, r2, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080606F8: .4byte gUnk_02002A40
|
|
_080606FC: .4byte gUnk_0810AA30
|
|
|
|
thumb_func_start sub_08060700
|
|
sub_08060700: @ 0x08060700
|
|
push {r4, r5, lr}
|
|
ldr r3, _0806074C @ =gUnk_0810A918
|
|
adds r2, r0, #0
|
|
adds r2, #0x68
|
|
ldrb r2, [r2]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
adds r3, r0, #0
|
|
adds r3, #0x69
|
|
ldrb r3, [r3]
|
|
lsls r3, r3, #0x18
|
|
asrs r3, r3, #0x18
|
|
adds r2, r2, r3
|
|
movs r3, #0
|
|
ldrsb r3, [r2, r3]
|
|
lsls r3, r3, #2
|
|
ldr r2, _08060750 @ =gUnk_0810A66C
|
|
adds r3, r3, r2
|
|
ldr r4, _08060754 @ =gUnk_03000BF0
|
|
movs r5, #0
|
|
ldrsh r2, [r3, r5]
|
|
ldrh r5, [r4, #6]
|
|
adds r2, r2, r5
|
|
movs r5, #2
|
|
ldrsh r3, [r3, r5]
|
|
ldrh r4, [r4, #8]
|
|
adds r3, r3, r4
|
|
bl sub_0807DEDC
|
|
ldr r2, _08060758 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806074C: .4byte gUnk_0810A918
|
|
_08060750: .4byte gUnk_0810A66C
|
|
_08060754: .4byte gUnk_03000BF0
|
|
_08060758: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806075C
|
|
sub_0806075C: @ 0x0806075C
|
|
adds r2, r0, #0
|
|
adds r2, #0x68
|
|
movs r1, #0xb
|
|
strb r1, [r2]
|
|
adds r0, #0x69
|
|
movs r1, #0xff
|
|
strb r1, [r0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0806076C
|
|
sub_0806076C: @ 0x0806076C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #8
|
|
adds r7, r0, #0
|
|
mov sb, r1
|
|
ldr r0, [r7, #0x34]
|
|
cmp r0, #0
|
|
bge _08060790
|
|
ldr r1, _0806078C @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
b _080608D8
|
|
.align 2, 0
|
|
_0806078C: .4byte gUnk_02033280
|
|
_08060790:
|
|
adds r4, r7, #0
|
|
adds r4, #0x69
|
|
ldrb r0, [r4]
|
|
adds r0, #1
|
|
strb r0, [r4]
|
|
adds r5, r7, #0
|
|
adds r5, #0x38
|
|
movs r0, #1
|
|
strb r0, [r5]
|
|
adds r0, r7, #0
|
|
bl sub_080606C0
|
|
ldr r1, _080607DC @ =gUnk_0810A918
|
|
adds r2, r7, #0
|
|
adds r2, #0x68
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r6, [r0]
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
adds r6, r6, r0
|
|
mov sl, r4
|
|
mov r8, r2
|
|
_080607C2:
|
|
ldrb r0, [r6]
|
|
adds r0, #5
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #5
|
|
bls _080607D0
|
|
b _080608D8
|
|
_080607D0:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080607E0 @ =_080607E4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080607DC: .4byte gUnk_0810A918
|
|
_080607E0: .4byte _080607E4
|
|
_080607E4: @ jump table
|
|
.4byte _08060846 @ case 0
|
|
.4byte _08060836 @ case 1
|
|
.4byte _08060830 @ case 2
|
|
.4byte _0806082A @ case 3
|
|
.4byte _0806081E @ case 4
|
|
.4byte _080607FC @ case 5
|
|
_080607FC:
|
|
adds r6, #1
|
|
movs r5, #0
|
|
ldrsb r5, [r6, r5]
|
|
adds r6, #1
|
|
bl sub_08000E50
|
|
adds r1, r5, #0
|
|
bl __modsi3
|
|
adds r0, r6, r0
|
|
ldrb r0, [r0]
|
|
movs r1, #0
|
|
mov r2, r8
|
|
strb r0, [r2]
|
|
mov r3, sl
|
|
strb r1, [r3]
|
|
b _080608D8
|
|
_0806081E:
|
|
adds r1, r7, #0
|
|
adds r1, #0x6a
|
|
movs r0, #0x96
|
|
lsls r0, r0, #1
|
|
strh r0, [r1]
|
|
b _080608CC
|
|
_0806082A:
|
|
movs r0, #1
|
|
strb r0, [r5]
|
|
b _080608CC
|
|
_08060830:
|
|
movs r0, #2
|
|
strb r0, [r5]
|
|
b _080608CC
|
|
_08060836:
|
|
movs r0, #0x1e
|
|
mov r4, sb
|
|
strh r0, [r4, #0x10]
|
|
ldrb r1, [r7, #0x18]
|
|
subs r0, #0x22
|
|
ands r0, r1
|
|
strb r0, [r7, #0x18]
|
|
b _080608CC
|
|
_08060846:
|
|
adds r6, #1
|
|
movs r5, #0
|
|
ldrsb r5, [r6, r5]
|
|
adds r6, #1
|
|
bl sub_08000E50
|
|
adds r1, r5, #0
|
|
bl __modsi3
|
|
str r0, [sp, #4]
|
|
movs r2, #0
|
|
cmp r2, r5
|
|
bhs _080608B8
|
|
ldr r0, _080608C0 @ =gUnk_03000BF0
|
|
mov sb, r0
|
|
_08060864:
|
|
ldr r1, [sp, #4]
|
|
adds r0, r6, r1
|
|
ldrb r0, [r0]
|
|
mov r3, r8
|
|
strb r0, [r3]
|
|
movs r0, #0
|
|
ldrsb r0, [r3, r0]
|
|
lsls r0, r0, #2
|
|
ldr r4, _080608C4 @ =gUnk_0810A918
|
|
adds r0, r0, r4
|
|
ldr r0, [r0]
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r1, r1, #2
|
|
ldr r0, _080608C8 @ =gUnk_0810A66C
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
mov r3, sb
|
|
ldrh r3, [r3, #6]
|
|
adds r0, r0, r3
|
|
strh r0, [r7, #0x2e]
|
|
ldrh r0, [r1, #2]
|
|
mov r4, sb
|
|
ldrh r4, [r4, #8]
|
|
adds r0, r0, r4
|
|
strh r0, [r7, #0x32]
|
|
adds r0, r7, #0
|
|
str r2, [sp]
|
|
bl sub_080040A8
|
|
cmp r0, #0
|
|
beq _080608B8
|
|
ldr r0, [sp, #4]
|
|
adds r0, #1
|
|
adds r1, r5, #0
|
|
bl __modsi3
|
|
str r0, [sp, #4]
|
|
ldr r2, [sp]
|
|
adds r2, #1
|
|
cmp r2, r5
|
|
blo _08060864
|
|
_080608B8:
|
|
movs r0, #0
|
|
mov r1, sl
|
|
strb r0, [r1]
|
|
b _080608D8
|
|
.align 2, 0
|
|
_080608C0: .4byte gUnk_03000BF0
|
|
_080608C4: .4byte gUnk_0810A918
|
|
_080608C8: .4byte gUnk_0810A66C
|
|
_080608CC:
|
|
mov r2, sl
|
|
ldrb r0, [r2]
|
|
adds r0, #1
|
|
strb r0, [r2]
|
|
adds r6, #1
|
|
b _080607C2
|
|
_080608D8:
|
|
add sp, #8
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_080608E4
|
|
sub_080608E4: @ 0x080608E4
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
movs r0, #0
|
|
str r0, [r5, #0x14]
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
blt _08060970
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
ldr r6, _08060974 @ =gLinkEntity
|
|
cmp r1, #1
|
|
bne _0806090A
|
|
adds r0, r6, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
beq _08060970
|
|
_0806090A:
|
|
cmp r1, #2
|
|
bne _08060918
|
|
adds r0, r6, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _08060970
|
|
_08060918:
|
|
ldr r2, [r5, #4]
|
|
lsls r2, r2, #4
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #2
|
|
ldr r1, _08060978 @ =gUnk_0810AA70
|
|
adds r0, r0, r1
|
|
adds r2, r2, r0
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
movs r7, #0x32
|
|
ldrsh r3, [r4, r7]
|
|
movs r0, #1
|
|
ldrsb r0, [r2, r0]
|
|
adds r3, r3, r0
|
|
movs r7, #0x2e
|
|
ldrsh r0, [r6, r7]
|
|
subs r1, r0, r1
|
|
movs r7, #0x32
|
|
ldrsh r0, [r6, r7]
|
|
subs r3, r0, r3
|
|
movs r0, #2
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
ldrb r2, [r2, #3]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
adds r3, r3, r2
|
|
lsls r0, r0, #1
|
|
cmp r0, r1
|
|
bls _08060970
|
|
lsls r0, r2, #1
|
|
cmp r0, r3
|
|
bls _08060970
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6a
|
|
ldrh r0, [r1]
|
|
adds r0, #2
|
|
strh r0, [r1]
|
|
_08060970:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08060974: .4byte gLinkEntity
|
|
_08060978: .4byte gUnk_0810AA70
|
|
|
|
thumb_func_start sub_0806097C
|
|
sub_0806097C: @ 0x0806097C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _080609A2
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _080609A8
|
|
_080609A2:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_080609A8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080609AC
|
|
sub_080609AC: @ 0x080609AC
|
|
push {r4, lr}
|
|
movs r0, #0x1c
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _080609E0
|
|
movs r0, #0x2e
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _080609E0
|
|
ldr r0, _080609E4 @ =gLinkEntity
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x20
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
strb r0, [r4, #0x14]
|
|
_080609E0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080609E4: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_080609E8
|
|
sub_080609E8: @ 0x080609E8
|
|
push {lr}
|
|
ldr r2, _080609FC @ =gUnk_0810AC1C
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080609FC: .4byte gUnk_0810AC1C
|
|
|
|
thumb_func_start sub_08060A00
|
|
sub_08060A00: @ 0x08060A00
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _08060AD0 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #2]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060A44
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
beq _08060A52
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08060A44
|
|
movs r0, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r4, [r5, #0x64]
|
|
ldr r3, _08060AD4 @ =gLinkEntity
|
|
ldrh r2, [r3, #0x2e]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
adds r0, #8
|
|
strh r0, [r4, #0xa]
|
|
ldr r2, [r5, #0x64]
|
|
ldrh r0, [r3, #0x32]
|
|
ands r1, r0
|
|
adds r1, #8
|
|
strh r1, [r2, #0xc]
|
|
_08060A44:
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
beq _08060A52
|
|
ldrb r0, [r5, #0x18]
|
|
lsls r0, r0, #0x1e
|
|
cmp r0, #0
|
|
beq _08060A62
|
|
_08060A52:
|
|
ldr r0, _08060AD8 @ =gUnk_0810AC2C
|
|
ldrb r1, [r5, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r5, #0
|
|
bl _call_via_r1
|
|
_08060A62:
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
beq _08060A76
|
|
ldr r1, [r5, #0x64]
|
|
ldr r2, _08060AD4 @ =gLinkEntity
|
|
ldrh r0, [r2, #0x2e]
|
|
strh r0, [r1, #2]
|
|
ldr r1, [r5, #0x64]
|
|
ldrh r0, [r2, #0x32]
|
|
strh r0, [r1, #4]
|
|
_08060A76:
|
|
adds r2, r5, #0
|
|
adds r2, #0x74
|
|
ldr r4, _08060ADC @ =gUnk_03000BF0
|
|
ldrb r1, [r4, #5]
|
|
ldrh r0, [r2]
|
|
cmp r0, r1
|
|
beq _08060ACE
|
|
strh r1, [r2]
|
|
ldr r0, _08060AD4 @ =gLinkEntity
|
|
adds r1, r5, #0
|
|
bl sub_0806FA24
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5, #0x18]
|
|
movs r0, #0x90
|
|
lsls r0, r0, #1
|
|
strh r0, [r5, #0x24]
|
|
ldrb r1, [r4, #0x10]
|
|
lsls r0, r1, #1
|
|
strb r0, [r5, #0x14]
|
|
lsls r1, r1, #0x19
|
|
lsrs r1, r1, #0x19
|
|
adds r0, r5, #0
|
|
bl sub_080042AC
|
|
bl sub_08000E50
|
|
movs r1, #0x7f
|
|
ands r0, r1
|
|
adds r0, #0x80
|
|
adds r1, r5, #0
|
|
adds r1, #0x59
|
|
strb r0, [r1]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_08060ACE:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08060AD0: .4byte gUnk_03003F80
|
|
_08060AD4: .4byte gLinkEntity
|
|
_08060AD8: .4byte gUnk_0810AC2C
|
|
_08060ADC: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_08060AE0
|
|
sub_08060AE0: @ 0x08060AE0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x14
|
|
bl sub_0801D8E0
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08060B54
|
|
str r1, [r4, #0x64]
|
|
movs r0, #0x20
|
|
strb r0, [r1, #1]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldrb r1, [r4, #0x14]
|
|
movs r2, #3
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x3c
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
adds r1, #4
|
|
movs r0, #0x48
|
|
strb r0, [r1]
|
|
subs r1, #1
|
|
movs r0, #0x49
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x3b
|
|
strb r2, [r0]
|
|
ldr r0, _08060B58 @ =gUnk_080FD150
|
|
str r0, [r4, #0x48]
|
|
ldrb r1, [r4, #0x17]
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r4, #0x17]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6c
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
ldrb r1, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_08060E70
|
|
movs r0, #5
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
cmp r0, #0
|
|
beq _08060B54
|
|
str r4, [r0, #0x50]
|
|
str r0, [r4, #0x78]
|
|
_08060B54:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08060B58: .4byte gUnk_080FD150
|
|
|
|
thumb_func_start sub_08060B5C
|
|
sub_08060B5C: @ 0x08060B5C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08061230
|
|
cmp r0, #0
|
|
bne _08060B9E
|
|
adds r0, r4, #0
|
|
bl sub_08060F80
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _08060B98
|
|
ldr r1, _08060B94 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
ldrb r1, [r4, #0x14]
|
|
lsls r1, r1, #2
|
|
subs r0, r0, r1
|
|
adds r0, #4
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
cmp r0, #8
|
|
bhi _08060B98
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r5, [r4, #0xf]
|
|
b _08060B9E
|
|
.align 2, 0
|
|
_08060B94: .4byte gLinkEntity
|
|
_08060B98:
|
|
adds r0, r4, #0
|
|
bl sub_08060EDC
|
|
_08060B9E:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08060BA0
|
|
sub_08060BA0: @ 0x08060BA0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08061230
|
|
cmp r0, #0
|
|
beq _08060BAE
|
|
b _08060D74
|
|
_08060BAE:
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060C66
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060BF6
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
ldrh r1, [r2, #0xe]
|
|
ldrh r2, [r2, #0x10]
|
|
adds r0, r4, #0
|
|
movs r3, #0xc
|
|
bl sub_08061120
|
|
adds r0, r4, #0
|
|
bl sub_08061170
|
|
ldr r0, [r4, #0x64]
|
|
ldrh r1, [r0, #0xe]
|
|
ldrh r2, [r0, #0x10]
|
|
adds r0, r4, #0
|
|
movs r3, #4
|
|
bl sub_0806FCB8
|
|
cmp r0, #0
|
|
bne _08060BEE
|
|
b _08060D54
|
|
_08060BEE:
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xf7
|
|
b _08060D36
|
|
_08060BF6:
|
|
ldrh r1, [r2, #0xa]
|
|
ldrh r2, [r2, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_08060FD0
|
|
cmp r0, #0
|
|
beq _08060C56
|
|
ldr r0, [r4, #0x64]
|
|
ldrh r1, [r0, #0xa]
|
|
ldrh r2, [r0, #0xc]
|
|
adds r0, r4, #0
|
|
movs r3, #4
|
|
bl sub_0806FCB8
|
|
cmp r0, #0
|
|
beq _08060C38
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #5
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r5, #0x15]
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #0xb0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
bl sub_08060E70
|
|
b _08060D54
|
|
_08060C38:
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, #0x32
|
|
ldrsh r2, [r5, r0]
|
|
adds r0, r4, #0
|
|
movs r3, #0xc
|
|
bl sub_08061120
|
|
adds r0, r4, #0
|
|
bl sub_08061170
|
|
b _08060D54
|
|
_08060C56:
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, #0x32
|
|
ldrsh r2, [r5, r0]
|
|
adds r0, r4, #0
|
|
bl sub_08061464
|
|
b _08060D54
|
|
_08060C66:
|
|
ldr r5, _08060C98 @ =gLinkEntity
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, #0x32
|
|
ldrsh r2, [r5, r0]
|
|
adds r0, r4, #0
|
|
bl sub_08060FD0
|
|
cmp r0, #0
|
|
beq _08060C9C
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, #0x32
|
|
ldrsh r2, [r5, r0]
|
|
adds r0, r4, #0
|
|
bl sub_08061090
|
|
adds r0, r4, #0
|
|
bl sub_08061170
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xf5
|
|
b _08060D36
|
|
.align 2, 0
|
|
_08060C98: .4byte gLinkEntity
|
|
_08060C9C:
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060CDA
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
ldrh r1, [r2, #0xe]
|
|
ldrh r2, [r2, #0x10]
|
|
adds r0, r4, #0
|
|
movs r3, #0xc
|
|
bl sub_08061120
|
|
adds r0, r4, #0
|
|
bl sub_08061170
|
|
ldr r0, [r4, #0x64]
|
|
ldrh r1, [r0, #0xe]
|
|
ldrh r2, [r0, #0x10]
|
|
adds r0, r4, #0
|
|
movs r3, #4
|
|
bl sub_0806FCB8
|
|
cmp r0, #0
|
|
beq _08060D54
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xf7
|
|
b _08060D36
|
|
_08060CDA:
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08060CF4
|
|
movs r0, #2
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r1, [r4, #0x64]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r1, #6]
|
|
ldr r1, [r4, #0x64]
|
|
ldrh r0, [r1, #4]
|
|
strh r0, [r1, #8]
|
|
_08060CF4:
|
|
ldr r0, [r4, #0x64]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r2, [r0, #8]
|
|
adds r0, r4, #0
|
|
bl sub_08060FD0
|
|
cmp r0, #0
|
|
beq _08060D3C
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
ldr r0, [r4, #0x64]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r2, [r0, #8]
|
|
adds r0, r4, #0
|
|
movs r3, #0xc
|
|
bl sub_08061120
|
|
adds r0, r4, #0
|
|
bl sub_08061170
|
|
ldr r0, [r4, #0x64]
|
|
ldrh r1, [r0, #6]
|
|
ldrh r2, [r0, #8]
|
|
adds r0, r4, #0
|
|
movs r3, #4
|
|
bl sub_0806FCB8
|
|
cmp r0, #0
|
|
beq _08060D54
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfd
|
|
_08060D36:
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
b _08060D54
|
|
_08060D3C:
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfd
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, #0x32
|
|
ldrsh r2, [r5, r0]
|
|
adds r0, r4, #0
|
|
bl sub_08061464
|
|
_08060D54:
|
|
adds r0, r4, #0
|
|
bl sub_08060F80
|
|
cmp r0, #0
|
|
beq _08060D74
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08060E70
|
|
_08060D74:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08060D78
|
|
sub_08060D78: @ 0x08060D78
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08061358
|
|
adds r0, r4, #0
|
|
bl sub_08060F80
|
|
cmp r0, #0
|
|
beq _08060DCE
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
subs r0, #0x20
|
|
cmp r0, #0xf
|
|
bhi _08060DC2
|
|
adds r5, r4, #0
|
|
adds r5, #0x5a
|
|
ldrb r1, [r5]
|
|
movs r0, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060DB2
|
|
adds r1, r4, #0
|
|
adds r1, #0x59
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08060DB2:
|
|
ldrb r1, [r5]
|
|
movs r0, #0x18
|
|
ands r0, r1
|
|
strb r0, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6c
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
_08060DC2:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08060E70
|
|
_08060DCE:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08060DD0
|
|
sub_08060DD0: @ 0x08060DD0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060DF2
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08060E70
|
|
_08060DF2:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08060DF4
|
|
sub_08060DF4: @ 0x08060DF4
|
|
push {lr}
|
|
bl sub_08061170
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08060DFC
|
|
sub_08060DFC: @ 0x08060DFC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F69C
|
|
adds r0, r4, #0
|
|
bl sub_08060E94
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08060E32
|
|
movs r0, #7
|
|
strb r0, [r4, #0xc]
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08016A04
|
|
adds r0, r4, #0
|
|
movs r1, #0x1c
|
|
bl sub_08060E70
|
|
_08060E32:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08060E34
|
|
sub_08060E34: @ 0x08060E34
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060E68
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
ldr r1, _08060E6C @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
adds r0, #4
|
|
movs r1, #0x18
|
|
ands r0, r1
|
|
lsrs r0, r0, #2
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
bl sub_08060E70
|
|
_08060E68:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08060E6C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08060E70
|
|
sub_08060E70: @ 0x08060E70
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r3, r1, #0
|
|
ldrb r0, [r2, #0x14]
|
|
lsrs r0, r0, #1
|
|
adds r1, r3, r0
|
|
adds r0, r2, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _08060E92
|
|
adds r0, r2, #0
|
|
adds r0, #0x6c
|
|
strb r3, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
_08060E92:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08060E94
|
|
sub_08060E94: @ 0x08060E94
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #0x58]
|
|
ldr r1, _08060ECC @ =0x0080FF00
|
|
ands r0, r1
|
|
ldr r1, _08060ED0 @ =0x00800100
|
|
cmp r0, r1
|
|
bne _08060ED4
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
bhi _08060ED4
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
bl sub_08000E50
|
|
movs r1, #0x7f
|
|
ands r0, r1
|
|
adds r0, #0x80
|
|
adds r1, r4, #0
|
|
adds r1, #0x59
|
|
strb r0, [r1]
|
|
b _08060EDA
|
|
.align 2, 0
|
|
_08060ECC: .4byte 0x0080FF00
|
|
_08060ED0: .4byte 0x00800100
|
|
_08060ED4:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08060EDA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08060EDC
|
|
sub_08060EDC: @ 0x08060EDC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
subs r0, #0x20
|
|
cmp r0, #0xf
|
|
bhi _08060F00
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08060F00
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _08060F7C
|
|
_08060F00:
|
|
ldr r1, _08060F30 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
ldrb r2, [r4, #0x14]
|
|
lsls r1, r2, #2
|
|
subs r1, r0, r1
|
|
adds r0, r1, #3
|
|
movs r3, #0x1f
|
|
ands r0, r3
|
|
cmp r0, #6
|
|
ble _08060F4A
|
|
ands r1, r3
|
|
cmp r1, #0xf
|
|
bgt _08060F34
|
|
adds r1, r2, #0
|
|
adds r1, #0x20
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
ldrb r0, [r4, #0x14]
|
|
adds r0, #1
|
|
b _08060F42
|
|
.align 2, 0
|
|
_08060F30: .4byte gLinkEntity
|
|
_08060F34:
|
|
adds r1, r2, #0
|
|
adds r1, #0x28
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
ldrb r0, [r4, #0x14]
|
|
subs r0, #1
|
|
_08060F42:
|
|
movs r1, #7
|
|
ands r0, r1
|
|
strb r0, [r4, #0x14]
|
|
b _08060F7C
|
|
_08060F4A:
|
|
movs r0, #1
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
bne _08060F7C
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08060F76
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
subs r0, #0x20
|
|
cmp r0, #0xf
|
|
bhi _08060F76
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08060E70
|
|
b _08060F7C
|
|
_08060F76:
|
|
adds r0, r4, #0
|
|
bl sub_08060E94
|
|
_08060F7C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08060F80
|
|
sub_08060F80: @ 0x08060F80
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08060FC8 @ =gLinkEntity
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
movs r3, #0x32
|
|
ldrsh r2, [r5, r3]
|
|
adds r0, r4, #0
|
|
bl sub_08060FD0
|
|
cmp r0, #0
|
|
beq _08060FC2
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r4, r2]
|
|
subs r0, r0, r1
|
|
movs r3, #0x32
|
|
ldrsh r1, [r5, r3]
|
|
movs r3, #0x32
|
|
ldrsh r2, [r4, r3]
|
|
subs r1, r1, r2
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r2, [r2, #1]
|
|
bl sub_0806FCD0
|
|
cmp r0, #0
|
|
bne _08060FCC
|
|
_08060FC2:
|
|
movs r0, #0
|
|
b _08060FCE
|
|
.align 2, 0
|
|
_08060FC8: .4byte gLinkEntity
|
|
_08060FCC:
|
|
movs r0, #1
|
|
_08060FCE:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08060FD0
|
|
sub_08060FD0: @ 0x08060FD0
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #8
|
|
adds r4, r0, #0
|
|
mov sb, r1
|
|
mov r8, r2
|
|
movs r0, #0x2e
|
|
ldrsh r7, [r4, r0]
|
|
movs r1, #0x32
|
|
ldrsh r6, [r4, r1]
|
|
mov r2, sb
|
|
subs r0, r2, r7
|
|
mov r5, r8
|
|
subs r1, r5, r6
|
|
bl sub_080045DA
|
|
lsls r7, r7, #8
|
|
lsls r6, r6, #8
|
|
ldr r3, _08061058 @ =gUnk_080C9160
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r3
|
|
movs r5, #0
|
|
ldrsh r2, [r1, r5]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
str r1, [sp]
|
|
adds r0, #0x40
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r3
|
|
movs r2, #0
|
|
ldrsh r1, [r0, r2]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
str r0, [sp, #4]
|
|
adds r4, #0x38
|
|
ldrb r0, [r4]
|
|
ldr r5, _0806105C @ =gUnk_0200D654
|
|
mov sl, r5
|
|
cmp r0, #2
|
|
beq _0806102E
|
|
ldr r0, _08061060 @ =gUnk_02027EB4
|
|
mov sl, r0
|
|
_0806102E:
|
|
adds r1, r7, #0
|
|
cmp r7, #0
|
|
bge _08061036
|
|
adds r1, #0xff
|
|
_08061036:
|
|
asrs r5, r1, #8
|
|
adds r2, r6, #0
|
|
cmp r6, #0
|
|
bge _08061040
|
|
adds r2, #0xff
|
|
_08061040:
|
|
asrs r4, r2, #8
|
|
mov r0, sl
|
|
adds r1, r5, #0
|
|
adds r2, r4, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061064
|
|
movs r0, #0
|
|
b _08061084
|
|
.align 2, 0
|
|
_08061058: .4byte gUnk_080C9160
|
|
_0806105C: .4byte gUnk_0200D654
|
|
_08061060: .4byte gUnk_02027EB4
|
|
_08061064:
|
|
mov r1, sb
|
|
subs r0, r1, r5
|
|
adds r0, #6
|
|
cmp r0, #0xc
|
|
bhi _08061078
|
|
mov r2, r8
|
|
subs r0, r2, r4
|
|
adds r0, #6
|
|
cmp r0, #0xc
|
|
bls _08061082
|
|
_08061078:
|
|
ldr r5, [sp]
|
|
adds r7, r7, r5
|
|
ldr r0, [sp, #4]
|
|
subs r6, r6, r0
|
|
b _0806102E
|
|
_08061082:
|
|
movs r0, #1
|
|
_08061084:
|
|
add sp, #8
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08061090
|
|
sub_08061090: @ 0x08061090
|
|
push {r4, r5, r6, lr}
|
|
adds r3, r0, #0
|
|
adds r5, r1, #0
|
|
adds r6, r2, #0
|
|
ldr r1, _080610C8 @ =gLinkEntity
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r1, r0]
|
|
movs r4, #0x2e
|
|
ldrsh r0, [r3, r4]
|
|
subs r2, r2, r0
|
|
movs r4, #0x32
|
|
ldrsh r0, [r1, r4]
|
|
movs r4, #0x32
|
|
ldrsh r1, [r3, r4]
|
|
subs r0, r0, r1
|
|
adds r1, r2, #0
|
|
muls r1, r2, r1
|
|
adds r2, r0, #0
|
|
muls r2, r0, r2
|
|
adds r0, r2, #0
|
|
adds r1, r1, r0
|
|
ldr r0, _080610CC @ =0x000008FF
|
|
cmp r1, r0
|
|
bgt _080610D0
|
|
movs r0, #0x90
|
|
lsls r0, r0, #1
|
|
b _080610F0
|
|
.align 2, 0
|
|
_080610C8: .4byte gLinkEntity
|
|
_080610CC: .4byte 0x000008FF
|
|
_080610D0:
|
|
ldr r0, _080610E4 @ =0x000018FF
|
|
cmp r1, r0
|
|
bgt _080610EC
|
|
ldr r4, _080610E8 @ =0xFFFFF700
|
|
adds r0, r1, r4
|
|
asrs r0, r0, #4
|
|
movs r1, #0x90
|
|
lsls r1, r1, #1
|
|
adds r0, r0, r1
|
|
b _080610F0
|
|
.align 2, 0
|
|
_080610E4: .4byte 0x000018FF
|
|
_080610E8: .4byte 0xFFFFF700
|
|
_080610EC:
|
|
movs r0, #0x88
|
|
lsls r0, r0, #2
|
|
_080610F0:
|
|
strh r0, [r3, #0x24]
|
|
movs r2, #0x24
|
|
ldrsh r1, [r3, r2]
|
|
movs r0, #0x90
|
|
lsls r0, r0, #1
|
|
cmp r1, r0
|
|
bne _08061102
|
|
movs r4, #4
|
|
b _0806110C
|
|
_08061102:
|
|
ldr r0, _0806111C @ =0x0000015F
|
|
movs r4, #0xc
|
|
cmp r1, r0
|
|
bgt _0806110C
|
|
movs r4, #8
|
|
_0806110C:
|
|
adds r0, r3, #0
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
adds r3, r4, #0
|
|
bl sub_08061120
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806111C: .4byte 0x0000015F
|
|
|
|
thumb_func_start sub_08061120
|
|
sub_08061120: @ 0x08061120
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
adds r5, r2, #0
|
|
adds r7, r3, #0
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r6, r1]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r6, r2]
|
|
adds r2, r4, #0
|
|
adds r3, r5, #0
|
|
bl sub_080045D4
|
|
strb r0, [r6, #0x15]
|
|
adds r0, r6, #0
|
|
adds r0, #0x6c
|
|
ldrb r0, [r0]
|
|
cmp r7, r0
|
|
bne _08061158
|
|
ldrb r0, [r6, #0x15]
|
|
ldrb r1, [r6, #0x14]
|
|
lsls r1, r1, #2
|
|
subs r0, r0, r1
|
|
adds r0, #5
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
cmp r0, #0xa
|
|
ble _0806116C
|
|
_08061158:
|
|
ldrb r0, [r6, #0x15]
|
|
adds r0, #4
|
|
movs r1, #0x18
|
|
ands r0, r1
|
|
asrs r0, r0, #2
|
|
strb r0, [r6, #0x14]
|
|
adds r0, r6, #0
|
|
adds r1, r7, #0
|
|
bl sub_08060E70
|
|
_0806116C:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061170
|
|
sub_08061170: @ 0x08061170
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_080AF1EC
|
|
cmp r0, #0
|
|
bne _080611CA
|
|
adds r0, r4, #0
|
|
bl sub_080611D4
|
|
adds r5, r0, #0
|
|
cmp r5, #0xff
|
|
beq _080611C6
|
|
movs r0, #6
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_08079FD4
|
|
lsls r0, r0, #4
|
|
subs r0, #4
|
|
lsls r0, r0, #0xc
|
|
str r0, [r4, #0x20]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
strh r1, [r4, #0x24]
|
|
strb r5, [r4, #0x15]
|
|
lsrs r1, r5, #2
|
|
strb r1, [r4, #0x14]
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #0
|
|
beq _080611BE
|
|
adds r0, r4, #0
|
|
movs r1, #0x14
|
|
bl sub_08060E70
|
|
b _080611C6
|
|
_080611BE:
|
|
adds r0, r4, #0
|
|
movs r1, #0x18
|
|
bl sub_08060E70
|
|
_080611C6:
|
|
movs r0, #0
|
|
b _080611D2
|
|
_080611CA:
|
|
adds r0, r4, #0
|
|
bl sub_08016AD2
|
|
movs r0, #1
|
|
_080611D2:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_080611D4
|
|
sub_080611D4: @ 0x080611D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x14]
|
|
movs r0, #6
|
|
ands r0, r1
|
|
ldr r1, _08061218 @ =gUnk_0810AC4C
|
|
adds r0, r0, r1
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
movs r2, #1
|
|
ldrsb r2, [r0, r2]
|
|
adds r0, r4, #0
|
|
bl sub_080002B4
|
|
adds r3, r0, #0
|
|
ldr r2, _0806121C @ =gUnk_0810AC54
|
|
_080611F4:
|
|
ldrb r0, [r2]
|
|
cmp r0, r3
|
|
bne _08061220
|
|
ldrb r0, [r2, #1]
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r0, r0, #2
|
|
cmp r1, r0
|
|
bne _08061220
|
|
ldrb r0, [r4, #0xf]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #7
|
|
bls _0806122A
|
|
ldrb r0, [r2, #1]
|
|
b _0806122C
|
|
.align 2, 0
|
|
_08061218: .4byte gUnk_0810AC4C
|
|
_0806121C: .4byte gUnk_0810AC54
|
|
_08061220:
|
|
adds r2, #2
|
|
ldrb r0, [r2]
|
|
cmp r0, #0
|
|
bne _080611F4
|
|
strb r0, [r4, #0xf]
|
|
_0806122A:
|
|
movs r0, #0xff
|
|
_0806122C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061230
|
|
sub_08061230: @ 0x08061230
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #0x64]
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08061302
|
|
adds r1, r4, #0
|
|
adds r1, #0x41
|
|
ldrb r3, [r1]
|
|
movs r0, #0x80
|
|
ands r0, r3
|
|
adds r2, r1, #0
|
|
cmp r0, #0
|
|
beq _0806133A
|
|
movs r0, #0x7f
|
|
ands r0, r3
|
|
cmp r0, #0x1f
|
|
bhi _080612E8
|
|
lsls r0, r0, #2
|
|
ldr r1, _08061264 @ =_08061268
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08061264: .4byte _08061268
|
|
_08061268: @ jump table
|
|
.4byte _0806133A @ case 0
|
|
.4byte _0806133A @ case 1
|
|
.4byte _0806133A @ case 2
|
|
.4byte _0806133A @ case 3
|
|
.4byte _080612E8 @ case 4
|
|
.4byte _080612E8 @ case 5
|
|
.4byte _080612E8 @ case 6
|
|
.4byte _080612E8 @ case 7
|
|
.4byte _080612E8 @ case 8
|
|
.4byte _080612E8 @ case 9
|
|
.4byte _080612E8 @ case 10
|
|
.4byte _080612E8 @ case 11
|
|
.4byte _080612E8 @ case 12
|
|
.4byte _080612E8 @ case 13
|
|
.4byte _080612E8 @ case 14
|
|
.4byte _0806133A @ case 15
|
|
.4byte _080612E8 @ case 16
|
|
.4byte _080612E8 @ case 17
|
|
.4byte _080612E8 @ case 18
|
|
.4byte _0806133A @ case 19
|
|
.4byte _080612E8 @ case 20
|
|
.4byte _080612E8 @ case 21
|
|
.4byte _080612E8 @ case 22
|
|
.4byte _080612E8 @ case 23
|
|
.4byte _080612E8 @ case 24
|
|
.4byte _080612E8 @ case 25
|
|
.4byte _080612E8 @ case 26
|
|
.4byte _0806133A @ case 27
|
|
.4byte _080612E8 @ case 28
|
|
.4byte _080612E8 @ case 29
|
|
.4byte _0806133A @ case 30
|
|
.4byte _0806133A @ case 31
|
|
_080612E8:
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, #0x40
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
movs r0, #1
|
|
b _08061356
|
|
_08061302:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806131A
|
|
movs r0, #1
|
|
b _08061356
|
|
_0806131A:
|
|
ldr r2, [r4, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
ldrb r0, [r0]
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r2, r4, #0
|
|
adds r2, #0x41
|
|
_0806133A:
|
|
ldrb r0, [r2]
|
|
movs r1, #0x7f
|
|
ands r1, r0
|
|
strb r1, [r2]
|
|
adds r1, r4, #0
|
|
adds r1, #0x3d
|
|
ldrb r2, [r1]
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08061354
|
|
adds r0, r2, #1
|
|
strb r0, [r1]
|
|
_08061354:
|
|
movs r0, #0
|
|
_08061356:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08061358
|
|
sub_08061358: @ 0x08061358
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xd]
|
|
cmp r5, #1
|
|
beq _0806139C
|
|
cmp r5, #1
|
|
bgt _0806136C
|
|
cmp r5, #0
|
|
beq _08061376
|
|
b _08061460
|
|
_0806136C:
|
|
cmp r5, #2
|
|
beq _080613D0
|
|
cmp r5, #3
|
|
beq _0806141E
|
|
b _08061460
|
|
_08061376:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08061460
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0xf
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08060E70
|
|
b _08061460
|
|
_0806139C:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08061460
|
|
bl sub_08000E50
|
|
adds r6, r0, #0
|
|
ands r5, r6
|
|
cmp r5, #0
|
|
beq _080613FA
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
ldr r3, _080613CC @ =gUnk_0810AC5D
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #1
|
|
lsrs r1, r6, #4
|
|
movs r2, #3
|
|
ands r1, r2
|
|
adds r0, r0, r1
|
|
adds r0, r0, r3
|
|
b _0806143A
|
|
.align 2, 0
|
|
_080613CC: .4byte gUnk_0810AC5D
|
|
_080613D0:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08061460
|
|
movs r0, #0x18
|
|
ands r0, r1
|
|
lsrs r0, r0, #2
|
|
strb r0, [r4, #0x14]
|
|
bl sub_08000E50
|
|
adds r1, r0, #0
|
|
movs r0, #1
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _08061412
|
|
_080613FA:
|
|
movs r0, #3
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x18
|
|
ands r6, r0
|
|
adds r0, r6, #0
|
|
adds r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_08060E70
|
|
b _08061460
|
|
_08061412:
|
|
strb r1, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
movs r1, #0x10
|
|
bl sub_08060E70
|
|
b _08061460
|
|
_0806141E:
|
|
adds r0, r4, #0
|
|
bl sub_08061170
|
|
cmp r0, #0
|
|
bne _08061448
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
ldr r2, _08061444 @ =gUnk_0810AC5D
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #1
|
|
lsrs r1, r6, #4
|
|
ands r1, r5
|
|
adds r0, r0, r1
|
|
adds r0, r0, r2
|
|
_0806143A:
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _08061460
|
|
.align 2, 0
|
|
_08061444: .4byte gUnk_0810AC5D
|
|
_08061448:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08061460
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
movs r1, #0x10
|
|
bl sub_08060E70
|
|
_08061460:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061464
|
|
sub_08061464: @ 0x08061464
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r4, r0, #0
|
|
mov r8, r1
|
|
adds r5, r2, #0
|
|
movs r0, #0x2e
|
|
ldrsh r7, [r4, r0]
|
|
movs r1, #0x32
|
|
ldrsh r6, [r4, r1]
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
mov r2, r8
|
|
adds r3, r5, #0
|
|
bl sub_080045D4
|
|
adds r0, #2
|
|
movs r1, #0x1c
|
|
ands r0, r1
|
|
lsrs r0, r0, #2
|
|
cmp r0, #7
|
|
bls _08061494
|
|
b _08061612
|
|
_08061494:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080614A0 @ =_080614A4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080614A0: .4byte _080614A4
|
|
_080614A4: @ jump table
|
|
.4byte _080614C4 @ case 0
|
|
.4byte _080614E2 @ case 1
|
|
.4byte _08061514 @ case 2
|
|
.4byte _08061544 @ case 3
|
|
.4byte _08061566 @ case 4
|
|
.4byte _08061584 @ case 5
|
|
.4byte _080615B4 @ case 6
|
|
.4byte _080615E4 @ case 7
|
|
_080614C4:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6e
|
|
strh r5, [r0]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r8
|
|
ble _08061504
|
|
adds r2, r6, #0
|
|
subs r2, #8
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
mov r3, r8
|
|
bl sub_08061630
|
|
b _08061612
|
|
_080614E2:
|
|
movs r0, #0x6e
|
|
adds r0, r0, r4
|
|
mov sb, r0
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
adds r1, r7, #0
|
|
adds r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061720
|
|
cmp r0, #0
|
|
beq _08061500
|
|
b _08061612
|
|
_08061500:
|
|
mov r0, sb
|
|
strh r5, [r0]
|
|
_08061504:
|
|
adds r2, r6, #0
|
|
subs r2, #8
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
mov r3, r8
|
|
bl sub_080616A8
|
|
b _08061612
|
|
_08061514:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6e
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r5
|
|
ble _08061534
|
|
adds r1, r7, #0
|
|
adds r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061720
|
|
b _08061612
|
|
_08061534:
|
|
adds r1, r7, #0
|
|
adds r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061798
|
|
b _08061612
|
|
_08061544:
|
|
movs r0, #0x6e
|
|
adds r0, r0, r4
|
|
mov sb, r0
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
adds r1, r7, #0
|
|
adds r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061798
|
|
cmp r0, #0
|
|
bne _08061612
|
|
mov r0, sb
|
|
strh r5, [r0]
|
|
b _08061574
|
|
_08061566:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6e
|
|
strh r5, [r0]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r8
|
|
bgt _080615A4
|
|
_08061574:
|
|
adds r2, r6, #0
|
|
adds r2, #8
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
mov r3, r8
|
|
bl sub_08061888
|
|
b _08061612
|
|
_08061584:
|
|
movs r0, #0x6e
|
|
adds r0, r0, r4
|
|
mov sb, r0
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
adds r1, r7, #0
|
|
subs r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061978
|
|
cmp r0, #0
|
|
bne _08061612
|
|
mov r0, sb
|
|
strh r5, [r0]
|
|
_080615A4:
|
|
adds r2, r6, #0
|
|
adds r2, #8
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
mov r3, r8
|
|
bl sub_08061810
|
|
b _08061612
|
|
_080615B4:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6e
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r5
|
|
ble _080615D4
|
|
adds r1, r7, #0
|
|
subs r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061900
|
|
b _08061612
|
|
_080615D4:
|
|
adds r1, r7, #0
|
|
subs r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061978
|
|
b _08061612
|
|
_080615E4:
|
|
movs r0, #0x6e
|
|
adds r0, r0, r4
|
|
mov sb, r0
|
|
mov r1, r8
|
|
strh r1, [r0]
|
|
adds r1, r7, #0
|
|
subs r1, #8
|
|
adds r0, r4, #0
|
|
adds r2, r6, #0
|
|
adds r3, r5, #0
|
|
bl sub_08061900
|
|
cmp r0, #0
|
|
bne _08061612
|
|
mov r0, sb
|
|
strh r5, [r0]
|
|
adds r2, r6, #0
|
|
subs r2, #8
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
mov r3, r8
|
|
bl sub_08061630
|
|
_08061612:
|
|
ldr r0, [r4, #0x64]
|
|
ldrb r1, [r0]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
bne _08061628
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
_08061628:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08061630
|
|
sub_08061630: @ 0x08061630
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r4, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _08061650 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _0806168C
|
|
ldr r7, _08061654 @ =gUnk_0200D654
|
|
b _0806168C
|
|
.align 2, 0
|
|
_08061650: .4byte gUnk_02027EB4
|
|
_08061654: .4byte gUnk_0200D654
|
|
_08061658:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
mov r3, sb
|
|
bl sub_08061A74
|
|
cmp r0, #0
|
|
beq _0806168A
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
blt _0806168A
|
|
movs r0, #1
|
|
b _0806169E
|
|
_0806168A:
|
|
subs r4, #8
|
|
_0806168C:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061658
|
|
movs r0, #0
|
|
_0806169E:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080616A8
|
|
sub_080616A8: @ 0x080616A8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r4, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _080616C8 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _08061704
|
|
ldr r7, _080616CC @ =gUnk_0200D654
|
|
b _08061704
|
|
.align 2, 0
|
|
_080616C8: .4byte gUnk_02027EB4
|
|
_080616CC: .4byte gUnk_0200D654
|
|
_080616D0:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
mov r3, sb
|
|
bl sub_08061A1C
|
|
cmp r0, #0
|
|
beq _08061702
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
blt _08061702
|
|
movs r0, #1
|
|
b _08061716
|
|
_08061702:
|
|
subs r4, #8
|
|
_08061704:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _080616D0
|
|
movs r0, #0
|
|
_08061716:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061720
|
|
sub_08061720: @ 0x08061720
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _08061740 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _0806177C
|
|
ldr r7, _08061744 @ =gUnk_0200D654
|
|
b _0806177C
|
|
.align 2, 0
|
|
_08061740: .4byte gUnk_02027EB4
|
|
_08061744: .4byte gUnk_0200D654
|
|
_08061748:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
mov r3, sb
|
|
bl sub_080619F0
|
|
cmp r0, #0
|
|
beq _0806177A
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
bgt _0806177A
|
|
movs r0, #1
|
|
b _0806178E
|
|
_0806177A:
|
|
adds r4, #8
|
|
_0806177C:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061748
|
|
movs r0, #0
|
|
_0806178E:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061798
|
|
sub_08061798: @ 0x08061798
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _080617B8 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _080617F4
|
|
ldr r7, _080617BC @ =gUnk_0200D654
|
|
b _080617F4
|
|
.align 2, 0
|
|
_080617B8: .4byte gUnk_02027EB4
|
|
_080617BC: .4byte gUnk_0200D654
|
|
_080617C0:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
mov r3, sb
|
|
bl sub_08061A48
|
|
cmp r0, #0
|
|
beq _080617F2
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
bgt _080617F2
|
|
movs r0, #1
|
|
b _08061806
|
|
_080617F2:
|
|
adds r4, #8
|
|
_080617F4:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _080617C0
|
|
movs r0, #0
|
|
_08061806:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061810
|
|
sub_08061810: @ 0x08061810
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r4, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _08061830 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _0806186C
|
|
ldr r7, _08061834 @ =gUnk_0200D654
|
|
b _0806186C
|
|
.align 2, 0
|
|
_08061830: .4byte gUnk_02027EB4
|
|
_08061834: .4byte gUnk_0200D654
|
|
_08061838:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
mov r3, sb
|
|
bl sub_08061A74
|
|
cmp r0, #0
|
|
beq _0806186A
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
bgt _0806186A
|
|
movs r0, #1
|
|
b _0806187E
|
|
_0806186A:
|
|
adds r4, #8
|
|
_0806186C:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061838
|
|
movs r0, #0
|
|
_0806187E:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061888
|
|
sub_08061888: @ 0x08061888
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r4, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _080618A8 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _080618E4
|
|
ldr r7, _080618AC @ =gUnk_0200D654
|
|
b _080618E4
|
|
.align 2, 0
|
|
_080618A8: .4byte gUnk_02027EB4
|
|
_080618AC: .4byte gUnk_0200D654
|
|
_080618B0:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
mov r3, sb
|
|
bl sub_08061A1C
|
|
cmp r0, #0
|
|
beq _080618E2
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
bgt _080618E2
|
|
movs r0, #1
|
|
b _080618F6
|
|
_080618E2:
|
|
adds r4, #8
|
|
_080618E4:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _080618B0
|
|
movs r0, #0
|
|
_080618F6:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061900
|
|
sub_08061900: @ 0x08061900
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _08061920 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _0806195C
|
|
ldr r7, _08061924 @ =gUnk_0200D654
|
|
b _0806195C
|
|
.align 2, 0
|
|
_08061920: .4byte gUnk_02027EB4
|
|
_08061924: .4byte gUnk_0200D654
|
|
_08061928:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
mov r3, sb
|
|
bl sub_080619F0
|
|
cmp r0, #0
|
|
beq _0806195A
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
blt _0806195A
|
|
movs r0, #1
|
|
b _0806196E
|
|
_0806195A:
|
|
subs r4, #8
|
|
_0806195C:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061928
|
|
movs r0, #0
|
|
_0806196E:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061978
|
|
sub_08061978: @ 0x08061978
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
mov sb, r3
|
|
mov r8, r4
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
ldr r7, _08061998 @ =gUnk_02027EB4
|
|
cmp r0, #2
|
|
bne _080619D4
|
|
ldr r7, _0806199C @ =gUnk_0200D654
|
|
b _080619D4
|
|
.align 2, 0
|
|
_08061998: .4byte gUnk_02027EB4
|
|
_0806199C: .4byte gUnk_0200D654
|
|
_080619A0:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
mov r3, sb
|
|
bl sub_08061A48
|
|
cmp r0, #0
|
|
beq _080619D2
|
|
ldr r0, [r5, #0x64]
|
|
mov r1, r8
|
|
strh r1, [r0, #0xe]
|
|
ldr r0, [r5, #0x64]
|
|
strh r6, [r0, #0x10]
|
|
ldr r2, [r5, #0x64]
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r0, r4
|
|
blt _080619D2
|
|
movs r0, #1
|
|
b _080619E6
|
|
_080619D2:
|
|
subs r4, #8
|
|
_080619D4:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _080619A0
|
|
movs r0, #0
|
|
_080619E6:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080619F0
|
|
sub_080619F0: @ 0x080619F0
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
adds r6, r1, #0
|
|
adds r4, r2, #0
|
|
adds r5, r3, #0
|
|
cmp r5, r4
|
|
bgt _08061A18
|
|
_080619FE:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061A12
|
|
movs r0, #0
|
|
b _08061A1A
|
|
_08061A12:
|
|
subs r4, #8
|
|
cmp r5, r4
|
|
ble _080619FE
|
|
_08061A18:
|
|
movs r0, #1
|
|
_08061A1A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08061A1C
|
|
sub_08061A1C: @ 0x08061A1C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
adds r5, r3, #0
|
|
cmp r5, r4
|
|
blt _08061A44
|
|
_08061A2A:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061A3E
|
|
movs r0, #0
|
|
b _08061A46
|
|
_08061A3E:
|
|
adds r4, #8
|
|
cmp r5, r4
|
|
bge _08061A2A
|
|
_08061A44:
|
|
movs r0, #1
|
|
_08061A46:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08061A48
|
|
sub_08061A48: @ 0x08061A48
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
adds r6, r1, #0
|
|
adds r4, r2, #0
|
|
adds r5, r3, #0
|
|
cmp r5, r4
|
|
blt _08061A70
|
|
_08061A56:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061A6A
|
|
movs r0, #0
|
|
b _08061A72
|
|
_08061A6A:
|
|
adds r4, #8
|
|
cmp r5, r4
|
|
bge _08061A56
|
|
_08061A70:
|
|
movs r0, #1
|
|
_08061A72:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08061A74
|
|
sub_08061A74: @ 0x08061A74
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
adds r5, r3, #0
|
|
cmp r5, r4
|
|
bgt _08061A9C
|
|
_08061A82:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
movs r3, #6
|
|
bl sub_080AE4CC
|
|
cmp r0, #0
|
|
beq _08061A96
|
|
movs r0, #0
|
|
b _08061A9E
|
|
_08061A96:
|
|
subs r4, #8
|
|
cmp r5, r4
|
|
ble _08061A82
|
|
_08061A9C:
|
|
movs r0, #1
|
|
_08061A9E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08061AA0
|
|
sub_08061AA0: @ 0x08061AA0
|
|
push {lr}
|
|
bl sub_0805E780
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08061AA8
|
|
sub_08061AA8: @ 0x08061AA8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08061AC8 @ =gUnk_0810AC70
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldr r0, [r4, #0x50]
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08061AC8: .4byte gUnk_0810AC70
|
|
|
|
thumb_func_start sub_08061ACC
|
|
sub_08061ACC: @ 0x08061ACC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x20
|
|
movs r2, #0
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0xff
|
|
strb r0, [r4, #0xd]
|
|
strb r2, [r4, #0xe]
|
|
ldrb r1, [r4, #0x17]
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r4, #0x17]
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
adds r0, r4, #0
|
|
bl sub_08061AFC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061AFC
|
|
sub_08061AFC: @ 0x08061AFC
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
movs r2, #0
|
|
ldrb r0, [r1, #0xd]
|
|
cmp r0, #0
|
|
beq _08061B12
|
|
strb r2, [r1, #0xd]
|
|
ldr r0, _08061B14 @ =gUnk_0810B660
|
|
ldr r0, [r0]
|
|
str r0, [r1, #0x68]
|
|
strb r2, [r1, #0xe]
|
|
_08061B12:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08061B14: .4byte gUnk_0810B660
|
|
|
|
thumb_func_start sub_08061B18
|
|
sub_08061B18: @ 0x08061B18
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08061B54
|
|
cmp r0, #1
|
|
bne _08061B54
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08061AFC
|
|
ldr r2, [r4, #0x68]
|
|
ldrb r0, [r4, #0xe]
|
|
adds r1, r0, #1
|
|
strb r1, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x17
|
|
adds r2, r2, r0
|
|
ldrh r0, [r2, #2]
|
|
cmp r0, #0
|
|
bne _08061B4C
|
|
strb r0, [r4, #0xe]
|
|
_08061B4C:
|
|
ldrh r0, [r2]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
_08061B54:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061B58
|
|
sub_08061B58: @ 0x08061B58
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08061B6E
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
_08061B6E:
|
|
ldr r0, _08061B88 @ =gUnk_030010A0
|
|
adds r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _08061B7E
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08061B7E:
|
|
adds r0, r4, #0
|
|
bl sub_0806FD3C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08061B88: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_08061B8C
|
|
sub_08061B8C: @ 0x08061B8C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08061BB0
|
|
ldr r0, _08061BAC @ =gUnk_0810B77C
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
b _08061BC0
|
|
.align 2, 0
|
|
_08061BAC: .4byte gUnk_0810B77C
|
|
_08061BB0:
|
|
ldr r0, _08061BC4 @ =gUnk_0810B774
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
_08061BC0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08061BC4: .4byte gUnk_0810B774
|
|
|
|
thumb_func_start sub_08061BC8
|
|
sub_08061BC8: @ 0x08061BC8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08061BFC @ =gUnk_0810B6EC
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08061BF8
|
|
movs r0, #2
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, #0xa]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xf]
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08061CB4
|
|
_08061BF8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08061BFC: .4byte gUnk_0810B6EC
|
|
|
|
thumb_func_start sub_08061C00
|
|
sub_08061C00: @ 0x08061C00
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _08061C18
|
|
ldrb r0, [r4, #0x14]
|
|
adds r1, r0, #4
|
|
b _08061C32
|
|
_08061C18:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _08061C24
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
b _08061C32
|
|
_08061C24:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
movs r1, #3
|
|
ands r1, r0
|
|
_08061C32:
|
|
adds r0, r4, #0
|
|
bl sub_08061CB4
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08061C58
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0xb]
|
|
ldr r1, _08061C5C @ =0x00000A01
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
_08061C58:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08061C5C: .4byte 0x00000A01
|
|
|
|
thumb_func_start sub_08061C60
|
|
sub_08061C60: @ 0x08061C60
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
movs r0, #3
|
|
ands r0, r1
|
|
ldr r1, _08061CAC @ =gUnk_0810B78C
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
ldr r5, _08061CB0 @ =gUnk_0810B680
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldrb r2, [r0]
|
|
adds r2, r1, r2
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldrb r0, [r0, #1]
|
|
adds r2, r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08061CAC: .4byte gUnk_0810B78C
|
|
_08061CB0: .4byte gUnk_0810B680
|
|
|
|
thumb_func_start sub_08061CB4
|
|
sub_08061CB4: @ 0x08061CB4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
beq _08061CC8
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _08061CCE
|
|
_08061CC8:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08061CCE:
|
|
adds r2, r4, #0
|
|
adds r2, #0x59
|
|
ldrb r0, [r2]
|
|
cmp r0, #0xff
|
|
bne _08061CE4
|
|
ldr r0, _08061CE8 @ =gUnk_0810B680
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1, #2]
|
|
strb r0, [r2]
|
|
_08061CE4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08061CE8: .4byte gUnk_0810B680
|
|
|
|
thumb_func_start sub_08061CEC
|
|
sub_08061CEC: @ 0x08061CEC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08061D38 @ =gUnk_0810B6EC
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08061D62
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0xe]
|
|
strb r0, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0805ACC0
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bne _08061D3C
|
|
ldrh r0, [r4, #0x2e]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6a
|
|
strh r0, [r1]
|
|
ldrh r1, [r4, #0x32]
|
|
b _08061D44
|
|
.align 2, 0
|
|
_08061D38: .4byte gUnk_0810B6EC
|
|
_08061D3C:
|
|
lsrs r0, r1, #0x10
|
|
adds r2, r4, #0
|
|
adds r2, #0x6a
|
|
strh r0, [r2]
|
|
_08061D44:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
strh r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r4, #0
|
|
bl sub_08061D64
|
|
_08061D62:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08061D64
|
|
sub_08061D64: @ 0x08061D64
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r5, #0
|
|
adds r4, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #2
|
|
bne _08061DB0
|
|
movs r1, #0
|
|
movs r0, #3
|
|
strb r0, [r5, #0xc]
|
|
strb r1, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0806F118
|
|
adds r4, #0x1f
|
|
ldrb r0, [r4]
|
|
adds r1, r5, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _08061DAC @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
ldrb r1, [r4]
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
ands r1, r2
|
|
adds r1, r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
b _08061E18
|
|
.align 2, 0
|
|
_08061DAC: .4byte gLinkEntity
|
|
_08061DB0:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r5, #0
|
|
bl sub_0807DDE4
|
|
adds r2, r5, #0
|
|
adds r2, #0x59
|
|
ldrb r0, [r2]
|
|
cmp r0, #0xff
|
|
bne _08061DD4
|
|
ldr r0, _08061E1C @ =gUnk_0810B680
|
|
ldrb r1, [r5, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1, #2]
|
|
strb r0, [r2]
|
|
_08061DD4:
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _08061E18
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r5, #0xc]
|
|
strb r1, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_08062048
|
|
adds r4, r5, #0
|
|
adds r4, #0x58
|
|
ldrb r0, [r4]
|
|
adds r1, r5, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _08061E20 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
ldrb r1, [r4]
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
ands r1, r2
|
|
adds r1, r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_08061E18:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08061E1C: .4byte gUnk_0810B680
|
|
_08061E20: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08061E24
|
|
sub_08061E24: @ 0x08061E24
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
ldr r0, _08061E4C @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08061E48
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08061E48:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08061E4C: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08061E50
|
|
sub_08061E50: @ 0x08061E50
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08061E6C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08061E6C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061E70
|
|
sub_08061E70: @ 0x08061E70
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #9]
|
|
cmp r0, #6
|
|
bne _08061E88
|
|
adds r0, r2, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_08078784
|
|
b _08061E8E
|
|
_08061E88:
|
|
adds r0, r2, #0
|
|
bl sub_08078778
|
|
_08061E8E:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08061E90
|
|
sub_08061E90: @ 0x08061E90
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r5, #0x18]
|
|
cmp r0, #0
|
|
bne _08061F04
|
|
adds r0, #1
|
|
strb r0, [r5, #0x18]
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x20
|
|
strh r0, [r5, #0x12]
|
|
bl sub_08000E50
|
|
adds r1, r0, #0
|
|
movs r0, #0x18
|
|
ands r1, r0
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #8
|
|
beq _08061ED8
|
|
cmp r0, #8
|
|
bgt _08061EC6
|
|
cmp r0, #0
|
|
beq _08061ED0
|
|
b _08061EEE
|
|
_08061EC6:
|
|
cmp r0, #0x10
|
|
beq _08061EE0
|
|
cmp r0, #0x18
|
|
beq _08061EE8
|
|
b _08061EEE
|
|
_08061ED0:
|
|
cmp r1, #0x10
|
|
bne _08061EEE
|
|
movs r1, #8
|
|
b _08061EEE
|
|
_08061ED8:
|
|
cmp r1, #0x18
|
|
bne _08061EEE
|
|
movs r1, #0x10
|
|
b _08061EEE
|
|
_08061EE0:
|
|
cmp r1, #0
|
|
bne _08061EEE
|
|
movs r1, #0x18
|
|
b _08061EEE
|
|
_08061EE8:
|
|
cmp r1, #8
|
|
bne _08061EEE
|
|
movs r1, #0
|
|
_08061EEE:
|
|
strb r1, [r4, #0x15]
|
|
adds r0, r1, #0
|
|
bl sub_0806F5B0
|
|
strb r0, [r4, #0x14]
|
|
ldr r1, _08061F8C @ =gUnk_0810B74A
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #0x24]
|
|
_08061F04:
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
adds r1, r0, #4
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _08061F1A
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08061F1A:
|
|
adds r0, r4, #0
|
|
bl sub_080AEF88
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6a
|
|
movs r3, #0
|
|
ldrsh r0, [r2, r3]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _08061F3C
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_08061F3C:
|
|
movs r3, #0x10
|
|
rsbs r3, r3, #0
|
|
cmp r1, r3
|
|
bge _08061F4E
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_08061F4E:
|
|
movs r6, #0x32
|
|
ldrsh r1, [r4, r6]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6c
|
|
movs r6, #0
|
|
ldrsh r0, [r2, r6]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _08061F6A
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_08061F6A:
|
|
cmp r1, r3
|
|
bge _08061F78
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_08061F78:
|
|
ldrh r0, [r5, #0x12]
|
|
subs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
beq _08061F8A
|
|
ldr r1, _08061F90 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_08061F8A:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08061F8C: .4byte gUnk_0810B74A
|
|
_08061F90: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08061F94
|
|
sub_08061F94: @ 0x08061F94
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x35
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08061FAC
|
|
adds r0, r4, #0
|
|
bl sub_0806FAB0
|
|
_08061FAC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061FB0
|
|
sub_08061FB0: @ 0x08061FB0
|
|
movs r1, #0
|
|
str r1, [r0, #0x48]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061FB8
|
|
sub_08061FB8: @ 0x08061FB8
|
|
push {lr}
|
|
ldr r2, _08061FD0 @ =gUnk_0810B748
|
|
ldr r3, [r1, #4]
|
|
adds r2, r3, r2
|
|
ldrb r2, [r2]
|
|
lsls r3, r3, #2
|
|
ldr r1, _08061FD4 @ =gUnk_0810B740
|
|
adds r3, r3, r1
|
|
movs r1, #1
|
|
bl sub_08078850
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08061FD0: .4byte gUnk_0810B748
|
|
_08061FD4: .4byte gUnk_0810B740
|
|
|
|
thumb_func_start sub_08061FD8
|
|
sub_08061FD8: @ 0x08061FD8
|
|
push {lr}
|
|
ldrb r1, [r0, #0x14]
|
|
lsrs r1, r1, #1
|
|
bl sub_08004260
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08061FE4
|
|
sub_08061FE4: @ 0x08061FE4
|
|
push {lr}
|
|
ldrb r1, [r0, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, #4
|
|
bl sub_08004260
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08061FF4
|
|
sub_08061FF4: @ 0x08061FF4
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08062008 @ =gUnk_0810B790
|
|
ldrb r0, [r1, #0xa]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08062008: .4byte gUnk_0810B790
|
|
|
|
thumb_func_start sub_0806200C
|
|
sub_0806200C: @ 0x0806200C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _08062034
|
|
movs r0, #0x6b
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _08062034
|
|
movs r0, #0x39
|
|
bl sub_0807CA84
|
|
movs r4, #1
|
|
cmp r0, #2
|
|
bne _08062034
|
|
movs r4, #2
|
|
_08062034:
|
|
ldr r0, _08062044 @ =gUnk_0810B7BA
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08062044: .4byte gUnk_0810B7BA
|
|
|
|
thumb_func_start sub_08062048
|
|
sub_08062048: @ 0x08062048
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldrb r0, [r3, #9]
|
|
cmp r0, #6
|
|
bne _0806207C
|
|
ldr r0, _08062074 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _0806205E
|
|
movs r0, #0
|
|
_0806205E:
|
|
ldrb r1, [r3, #0xa]
|
|
lsls r1, r1, #6
|
|
lsls r0, r0, #3
|
|
ldr r2, _08062078 @ =gUnk_0810B7C0
|
|
adds r0, r0, r2
|
|
adds r1, r1, r0
|
|
adds r0, r3, #0
|
|
bl sub_0806F1AC
|
|
b _08062084
|
|
.align 2, 0
|
|
_08062074: .4byte gUnk_02002A40
|
|
_08062078: .4byte gUnk_0810B7C0
|
|
_0806207C:
|
|
movs r0, #0
|
|
adds r1, r3, #0
|
|
bl sub_08056398
|
|
_08062084:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062088
|
|
sub_08062088: @ 0x08062088
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _080620BA
|
|
ldr r1, _080620C4 @ =gUnk_0810B6EC
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080620C2
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
_080620BA:
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08061CB4
|
|
_080620C2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080620C4: .4byte gUnk_0810B6EC
|
|
|
|
thumb_func_start sub_080620C8
|
|
sub_080620C8: @ 0x080620C8
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080620DE
|
|
adds r0, r2, #0
|
|
bl sub_080621AC
|
|
b _080620EE
|
|
_080620DE:
|
|
ldr r0, _080620F0 @ =gUnk_0810BE0C
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
_080620EE:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080620F0: .4byte gUnk_0810BE0C
|
|
|
|
thumb_func_start sub_080620F4
|
|
sub_080620F4: @ 0x080620F4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806212C @ =gUnk_0810BDC4
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806212A
|
|
movs r1, #0
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
_0806212A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806212C: .4byte gUnk_0810BDC4
|
|
|
|
thumb_func_start sub_08062130
|
|
sub_08062130: @ 0x08062130
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08062152
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08062152:
|
|
ldrb r0, [r4, #0xf]
|
|
adds r1, r0, #1
|
|
strb r1, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x78
|
|
bls _08062184
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
ldrb r0, [r4, #0xe]
|
|
adds r1, r0, #1
|
|
movs r0, #7
|
|
ands r1, r0
|
|
strb r1, [r4, #0xe]
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #6
|
|
bne _0806217A
|
|
adds r0, r1, #0
|
|
adds r0, #0x10
|
|
strb r0, [r4, #0xe]
|
|
_0806217A:
|
|
ldrb r1, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _0806218A
|
|
_08062184:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_0806218A:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062194
|
|
sub_08062194: @ 0x08062194
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r4, #0x39
|
|
strb r1, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080621AC
|
|
sub_080621AC: @ 0x080621AC
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #1
|
|
beq _08062234
|
|
cmp r5, #1
|
|
bgt _080621C0
|
|
cmp r5, #0
|
|
beq _080621CE
|
|
b _080622F2
|
|
_080621C0:
|
|
cmp r5, #2
|
|
bne _080621C6
|
|
b _080622CC
|
|
_080621C6:
|
|
cmp r5, #3
|
|
bne _080621CC
|
|
b _080622E4
|
|
_080621CC:
|
|
b _080622F2
|
|
_080621CE:
|
|
ldr r1, _0806221C @ =gUnk_0810BDC4
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
bne _080621E4
|
|
b _080622F2
|
|
_080621E4:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xe]
|
|
strb r0, [r4, #0x14]
|
|
strb r5, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r5, [r0]
|
|
adds r0, #1
|
|
strb r5, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6b
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0805ACC0
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _08062220
|
|
ldrh r0, [r4, #0x2e]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6c
|
|
strh r0, [r1]
|
|
ldrh r0, [r4, #0x32]
|
|
adds r1, #2
|
|
strh r0, [r1]
|
|
b _0806222C
|
|
.align 2, 0
|
|
_0806221C: .4byte gUnk_0810BDC4
|
|
_08062220:
|
|
lsrs r1, r2, #0x10
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
strh r1, [r0]
|
|
adds r0, #2
|
|
strh r2, [r0]
|
|
_0806222C:
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _080622F2
|
|
_08062234:
|
|
adds r5, r4, #0
|
|
adds r5, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r5, r1]
|
|
cmp r1, #2
|
|
bne _08062252
|
|
movs r1, #0
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
adds r5, #0x1f
|
|
b _0806229A
|
|
_08062252:
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
movs r6, #0
|
|
ldrsb r6, [r0, r6]
|
|
cmp r6, #0
|
|
beq _08062274
|
|
cmp r1, #0
|
|
beq _0806226C
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r5]
|
|
b _0806228A
|
|
_0806226C:
|
|
adds r0, r4, #0
|
|
bl sub_080622F4
|
|
b _080622F2
|
|
_08062274:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _080622F2
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r6, [r5]
|
|
_0806228A:
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806265C
|
|
adds r5, r4, #0
|
|
adds r5, #0x58
|
|
_0806229A:
|
|
ldrb r0, [r5]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6b
|
|
strb r0, [r1]
|
|
ldrb r0, [r5]
|
|
cmp r0, #7
|
|
bhi _080622F2
|
|
ldr r1, _080622C8 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
ldrb r1, [r5]
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
ands r1, r2
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _080622F2
|
|
.align 2, 0
|
|
_080622C8: .4byte gLinkEntity
|
|
_080622CC:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
ldr r0, _080622E0 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080622F2
|
|
b _080622EE
|
|
.align 2, 0
|
|
_080622E0: .4byte gUnk_02000050
|
|
_080622E4:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _080622F2
|
|
_080622EE:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_080622F2:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_080622F4
|
|
sub_080622F4: @ 0x080622F4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r7, r0, #0
|
|
ldr r0, _0806239C @ =gLinkEntity
|
|
mov r8, r0
|
|
ldrh r1, [r0, #0x2e]
|
|
ldr r3, _080623A0 @ =0xFFFF0000
|
|
adds r0, r3, #0
|
|
ands r0, r5
|
|
orrs r0, r1
|
|
mov r2, r8
|
|
ldrh r1, [r2, #0x32]
|
|
lsls r1, r1, #0x10
|
|
ldr r2, _080623A4 @ =0x0000FFFF
|
|
ands r0, r2
|
|
adds r5, r0, #0
|
|
orrs r5, r1
|
|
mov r1, r8
|
|
ldrh r0, [r1, #0x36]
|
|
ands r3, r6
|
|
orrs r3, r0
|
|
ldr r0, _080623A8 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x10
|
|
ldr r2, _080623AC @ =0xFF00FFFF
|
|
ands r2, r3
|
|
orrs r2, r0
|
|
ldrb r1, [r1, #0x14]
|
|
movs r0, #0x3f
|
|
ands r1, r0
|
|
lsls r1, r1, #0x18
|
|
ldr r0, _080623B0 @ =0xC0FFFFFF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
mov r1, r8
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x1e
|
|
ldr r2, _080623B4 @ =0x3FFFFFFF
|
|
ands r0, r2
|
|
adds r6, r0, #0
|
|
orrs r6, r1
|
|
ldr r4, [r7, #0x64]
|
|
ldrb r0, [r4, #6]
|
|
cmp r0, #0x16
|
|
bne _080623BE
|
|
lsrs r0, r6, #0x10
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x16
|
|
beq _080623BE
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r7, r2]
|
|
mov r3, r8
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r3, r2]
|
|
subs r2, r1, r0
|
|
movs r0, #0x32
|
|
ldrsh r3, [r7, r0]
|
|
mov sb, r3
|
|
mov r1, r8
|
|
movs r3, #0x32
|
|
ldrsh r0, [r1, r3]
|
|
mov r3, sb
|
|
subs r1, r3, r0
|
|
cmp r2, #0
|
|
bge _08062382
|
|
rsbs r2, r2, #0
|
|
_08062382:
|
|
cmp r1, #0
|
|
bge _08062388
|
|
rsbs r1, r1, #0
|
|
_08062388:
|
|
cmp r2, #0x78
|
|
bgt _08062390
|
|
cmp r1, #0x50
|
|
ble _080623B8
|
|
_08062390:
|
|
adds r1, r7, #0
|
|
adds r1, #0x68
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
b _080624F8
|
|
.align 2, 0
|
|
_0806239C: .4byte gLinkEntity
|
|
_080623A0: .4byte 0xFFFF0000
|
|
_080623A4: .4byte 0x0000FFFF
|
|
_080623A8: .4byte gUnk_03003F80
|
|
_080623AC: .4byte 0xFF00FFFF
|
|
_080623B0: .4byte 0xC0FFFFFF
|
|
_080623B4: .4byte 0x3FFFFFFF
|
|
_080623B8:
|
|
adds r0, r7, #0
|
|
bl sub_0806252C
|
|
_080623BE:
|
|
movs r0, #0
|
|
mov sb, r0
|
|
ldr r0, [r4]
|
|
cmp r5, r0
|
|
bne _080623CE
|
|
ldr r0, [r4, #4]
|
|
cmp r6, r0
|
|
beq _08062410
|
|
_080623CE:
|
|
ldr r4, [r7, #0x64]
|
|
adds r4, #0x90
|
|
movs r1, #0x69
|
|
adds r1, r1, r7
|
|
mov r8, r1
|
|
adds r3, r7, #0
|
|
adds r3, #0x38
|
|
movs r2, #0x58
|
|
adds r2, r2, r7
|
|
mov ip, r2
|
|
movs r2, #0x12
|
|
_080623E4:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #4]
|
|
str r0, [r4, #8]
|
|
str r1, [r4, #0xc]
|
|
subs r4, #8
|
|
subs r2, #1
|
|
cmp r2, #0
|
|
bge _080623E4
|
|
ldr r4, [r7, #0x64]
|
|
str r5, [r4]
|
|
str r6, [r4, #4]
|
|
movs r0, #4
|
|
mov sb, r0
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
ble _08062484
|
|
subs r0, r1, #1
|
|
strb r0, [r2]
|
|
b _08062484
|
|
_08062410:
|
|
adds r4, #0x98
|
|
movs r3, #4
|
|
ldrsh r0, [r4, r3]
|
|
cmp r0, #0
|
|
bge _08062442
|
|
ldr r4, [r7, #0x64]
|
|
adds r4, #0x90
|
|
movs r0, #0x69
|
|
adds r0, r0, r7
|
|
mov r8, r0
|
|
adds r3, r7, #0
|
|
adds r3, #0x38
|
|
movs r1, #0x58
|
|
adds r1, r1, r7
|
|
mov ip, r1
|
|
movs r2, #0x12
|
|
_08062430:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #4]
|
|
str r0, [r4, #8]
|
|
str r1, [r4, #0xc]
|
|
subs r4, #8
|
|
subs r2, #1
|
|
cmp r2, #0
|
|
bge _08062430
|
|
b _08062480
|
|
_08062442:
|
|
ldr r1, _080624E8 @ =gLinkEntity
|
|
movs r3, #0x2e
|
|
ldrsh r0, [r1, r3]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r1, r2]
|
|
ldrh r2, [r4]
|
|
ldrh r3, [r4, #2]
|
|
bl sub_080041E8
|
|
lsrs r0, r0, #4
|
|
movs r3, #0x69
|
|
adds r3, r3, r7
|
|
mov r8, r3
|
|
adds r3, r7, #0
|
|
adds r3, #0x38
|
|
movs r1, #0x58
|
|
adds r1, r1, r7
|
|
mov ip, r1
|
|
cmp r0, #0x18
|
|
ble _08062484
|
|
ldr r4, [r7, #0x64]
|
|
adds r4, #0x90
|
|
movs r2, #0x12
|
|
_08062470:
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #4]
|
|
str r0, [r4, #8]
|
|
str r1, [r4, #0xc]
|
|
subs r4, #8
|
|
subs r2, #1
|
|
cmp r2, #0
|
|
bge _08062470
|
|
_08062480:
|
|
movs r2, #4
|
|
mov sb, r2
|
|
_08062484:
|
|
ldr r4, [r7, #0x64]
|
|
adds r4, #0x98
|
|
ldrh r0, [r4]
|
|
strh r0, [r7, #0x2e]
|
|
ldrh r0, [r4, #2]
|
|
strh r0, [r7, #0x32]
|
|
ldrh r0, [r4, #4]
|
|
strh r0, [r7, #0x36]
|
|
ldrb r0, [r4, #7]
|
|
lsls r0, r0, #0x1a
|
|
lsrs r0, r0, #0x1a
|
|
strb r0, [r7, #0x14]
|
|
ldrb r0, [r4, #7]
|
|
lsrs r0, r0, #6
|
|
strb r0, [r3]
|
|
mov r1, r8
|
|
ldrb r2, [r1]
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
ble _080624B2
|
|
subs r0, r2, #1
|
|
strb r0, [r1]
|
|
_080624B2:
|
|
mov r2, sb
|
|
ldrb r0, [r7, #0x14]
|
|
lsrs r0, r0, #1
|
|
add sb, r0
|
|
ldrb r0, [r7, #0xa]
|
|
cmp r0, #6
|
|
bne _080624C4
|
|
movs r3, #0x10
|
|
add sb, r3
|
|
_080624C4:
|
|
mov r0, ip
|
|
ldrb r0, [r0]
|
|
cmp sb, r0
|
|
beq _080624EC
|
|
cmp r2, #0
|
|
bne _080624D8
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bgt _080624EC
|
|
_080624D8:
|
|
adds r0, r7, #0
|
|
mov r1, sb
|
|
bl sub_080042AC
|
|
movs r0, #0x1e
|
|
mov r1, r8
|
|
strb r0, [r1]
|
|
b _080624F2
|
|
.align 2, 0
|
|
_080624E8: .4byte gLinkEntity
|
|
_080624EC:
|
|
adds r0, r7, #0
|
|
bl sub_080042B8
|
|
_080624F2:
|
|
adds r0, r7, #0
|
|
bl sub_0800451C
|
|
_080624F8:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08062500
|
|
sub_08062500: @ 0x08062500
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0xa0
|
|
bl sub_0801D8E0
|
|
str r0, [r5, #0x64]
|
|
cmp r0, #0
|
|
beq _08062528
|
|
adds r0, r5, #0
|
|
adds r0, #0x68
|
|
movs r4, #0
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
adds r0, r5, #0
|
|
bl sub_080788E0
|
|
str r4, [r5, #0x48]
|
|
adds r0, r5, #0
|
|
bl sub_0806252C
|
|
_08062528:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806252C
|
|
sub_0806252C: @ 0x0806252C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
adds r7, r0, #0
|
|
ldr r4, _08062618 @ =gLinkEntity
|
|
ldrh r1, [r4, #0x2e]
|
|
ldr r3, _0806261C @ =0xFFFF0000
|
|
adds r0, r3, #0
|
|
ands r0, r5
|
|
orrs r0, r1
|
|
ldrh r1, [r4, #0x32]
|
|
lsls r1, r1, #0x10
|
|
ldr r2, _08062620 @ =0x0000FFFF
|
|
ands r0, r2
|
|
adds r5, r0, #0
|
|
orrs r5, r1
|
|
ldrh r0, [r4, #0x36]
|
|
ands r3, r6
|
|
orrs r3, r0
|
|
ldr r0, _08062624 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x10
|
|
ldr r2, _08062628 @ =0xFF00FFFF
|
|
ands r2, r3
|
|
orrs r2, r0
|
|
ldrb r1, [r4, #0x14]
|
|
movs r0, #0x3f
|
|
ands r1, r0
|
|
lsls r1, r1, #0x18
|
|
ldr r0, _0806262C @ =0xC0FFFFFF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x1e
|
|
ldr r2, _08062630 @ =0x3FFFFFFF
|
|
ands r0, r2
|
|
adds r6, r0, #0
|
|
orrs r6, r1
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r7, r2]
|
|
subs r1, r1, r0
|
|
mov sl, r1
|
|
movs r0, #0x32
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, #0x32
|
|
ldrsh r0, [r7, r2]
|
|
subs r1, r1, r0
|
|
mov r8, r1
|
|
mov r1, sl
|
|
lsls r0, r1, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r1, #0x14
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
mov sl, r0
|
|
mov r2, r8
|
|
lsls r0, r2, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r1, #0x14
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
mov r8, r0
|
|
ldr r3, [r7, #0x64]
|
|
movs r0, #0
|
|
mov sb, r0
|
|
mov ip, r0
|
|
movs r4, #0x13
|
|
_080625C8:
|
|
mov r1, ip
|
|
asrs r0, r1, #8
|
|
subs r0, r5, r0
|
|
strh r0, [r3]
|
|
lsrs r0, r5, #0x10
|
|
mov r2, sb
|
|
asrs r1, r2, #8
|
|
subs r0, r0, r1
|
|
strh r0, [r3, #2]
|
|
strh r6, [r3, #4]
|
|
lsrs r0, r6, #0x10
|
|
strb r0, [r3, #6]
|
|
ldrb r0, [r7, #0x14]
|
|
movs r1, #0x3f
|
|
ands r1, r0
|
|
ldrb r2, [r3, #7]
|
|
movs r0, #0x40
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #7]
|
|
adds r1, r7, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #6
|
|
movs r2, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #7]
|
|
adds r3, #8
|
|
add sb, r8
|
|
add ip, sl
|
|
subs r4, #1
|
|
cmp r4, #0
|
|
bge _080625C8
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08062618: .4byte gLinkEntity
|
|
_0806261C: .4byte 0xFFFF0000
|
|
_08062620: .4byte 0x0000FFFF
|
|
_08062624: .4byte gUnk_03003F80
|
|
_08062628: .4byte 0xFF00FFFF
|
|
_0806262C: .4byte 0xC0FFFFFF
|
|
_08062630: .4byte 0x3FFFFFFF
|
|
|
|
thumb_func_start sub_08062634
|
|
sub_08062634: @ 0x08062634
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r4, [r5, #0xb]
|
|
bl sub_08000E50
|
|
movs r1, #1
|
|
ands r1, r0
|
|
ldr r0, _08062658 @ =gUnk_0810BDE8
|
|
lsls r1, r1, #1
|
|
lsls r4, r4, #2
|
|
adds r1, r1, r4
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08062658: .4byte gUnk_0810BDE8
|
|
|
|
thumb_func_start sub_0806265C
|
|
sub_0806265C: @ 0x0806265C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r3, _08062674 @ =gUnk_02002A40
|
|
ldrb r0, [r3, #8]
|
|
cmp r0, #0
|
|
bne _08062678
|
|
movs r0, #0
|
|
adds r1, r2, #0
|
|
bl sub_08056398
|
|
b _08062690
|
|
.align 2, 0
|
|
_08062674: .4byte gUnk_02002A40
|
|
_08062678:
|
|
ldrb r0, [r2, #0xa]
|
|
lsls r1, r0, #3
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #3
|
|
ldr r0, _08062694 @ =gUnk_0810BE10
|
|
adds r1, r1, r0
|
|
ldrb r0, [r3, #8]
|
|
lsls r0, r0, #3
|
|
adds r1, r1, r0
|
|
adds r0, r2, #0
|
|
bl sub_0806F1AC
|
|
_08062690:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08062694: .4byte gUnk_0810BE10
|
|
|
|
thumb_func_start sub_08062698
|
|
sub_08062698: @ 0x08062698
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0xc0
|
|
strh r0, [r4, #0x24]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080626AC
|
|
sub_080626AC: @ 0x080626AC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x40
|
|
strb r0, [r4, #0xe]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080626C0
|
|
sub_080626C0: @ 0x080626C0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r0, #0
|
|
str r0, [r1, #0x14]
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r0, #0
|
|
beq _080626DC
|
|
subs r0, #1
|
|
strb r0, [r2, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080626DC
|
|
movs r0, #1
|
|
str r0, [r1, #0x14]
|
|
_080626DC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080626E0
|
|
sub_080626E0: @ 0x080626E0
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
ldrb r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _0806270E
|
|
adds r0, #1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #0xa
|
|
strb r0, [r4, #0x19]
|
|
ldr r0, [r4, #8]
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
str r0, [r4, #8]
|
|
ldrh r2, [r4, #4]
|
|
ldr r1, _08062778 @ =gUnk_03000BF0
|
|
ldrh r0, [r4, #6]
|
|
ldrh r3, [r1, #6]
|
|
adds r0, r0, r3
|
|
strh r0, [r4, #0x1e]
|
|
ldrh r0, [r1, #8]
|
|
adds r0, r0, r2
|
|
strh r0, [r4, #0x22]
|
|
_0806270E:
|
|
ldrb r0, [r4, #0x19]
|
|
subs r0, #1
|
|
strb r0, [r4, #0x19]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806274A
|
|
movs r0, #0xa
|
|
strb r0, [r4, #0x19]
|
|
movs r1, #0x1e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
subs r0, r0, r1
|
|
movs r3, #0x22
|
|
ldrsh r1, [r4, r3]
|
|
movs r3, #0x32
|
|
ldrsh r2, [r5, r3]
|
|
subs r1, r1, r2
|
|
bl sub_080045DA
|
|
strb r0, [r5, #0x15]
|
|
bl sub_08000E50
|
|
movs r1, #0xb
|
|
bl __modsi3
|
|
ldrb r1, [r5, #0x15]
|
|
adds r1, r1, r0
|
|
subs r1, #5
|
|
strb r1, [r5, #0x15]
|
|
_0806274A:
|
|
movs r0, #0x24
|
|
ldrsh r1, [r5, r0]
|
|
ldrb r2, [r5, #0x15]
|
|
adds r0, r5, #0
|
|
bl sub_0806F62C
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
movs r3, #0x1e
|
|
ldrsh r0, [r4, r3]
|
|
subs r1, r1, r0
|
|
lsls r1, r1, #8
|
|
ldrh r0, [r5, #0x24]
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x11
|
|
adds r1, r1, r0
|
|
movs r2, #0x24
|
|
ldrsh r0, [r5, r2]
|
|
cmp r1, r0
|
|
bhi _0806277C
|
|
ldrh r0, [r4, #0x1e]
|
|
strh r0, [r5, #0x2e]
|
|
b _08062782
|
|
.align 2, 0
|
|
_08062778: .4byte gUnk_03000BF0
|
|
_0806277C:
|
|
ldr r1, _08062784 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_08062782:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08062784: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08062788
|
|
sub_08062788: @ 0x08062788
|
|
push {r4, lr}
|
|
ldr r4, _080627CC @ =0x00004072
|
|
ldr r1, _080627D0 @ =0x0000060B
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _080627D4 @ =0x0000060C
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _080627D8 @ =0x0000060D
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _080627DC @ =0x0000064B
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _080627E0 @ =0x0000064C
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _080627E4 @ =0x0000064D
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080627CC: .4byte 0x00004072
|
|
_080627D0: .4byte 0x0000060B
|
|
_080627D4: .4byte 0x0000060C
|
|
_080627D8: .4byte 0x0000060D
|
|
_080627DC: .4byte 0x0000064B
|
|
_080627E0: .4byte 0x0000064C
|
|
_080627E4: .4byte 0x0000064D
|
|
|
|
thumb_func_start sub_080627E8
|
|
sub_080627E8: @ 0x080627E8
|
|
push {lr}
|
|
ldr r0, _0806281C @ =0x0000060B
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _08062820 @ =0x0000060C
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _08062824 @ =0x0000060D
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _08062828 @ =0x0000064B
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _0806282C @ =0x0000064C
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _08062830 @ =0x0000064D
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806281C: .4byte 0x0000060B
|
|
_08062820: .4byte 0x0000060C
|
|
_08062824: .4byte 0x0000060D
|
|
_08062828: .4byte 0x0000064B
|
|
_0806282C: .4byte 0x0000064C
|
|
_08062830: .4byte 0x0000064D
|
|
|
|
thumb_func_start sub_08062834
|
|
sub_08062834: @ 0x08062834
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
ldrb r4, [r5, #0xa]
|
|
lsls r0, r4, #2
|
|
mov ip, r0
|
|
ldr r2, _08062868 @ =gUnk_0810C0A0
|
|
add r2, ip
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r3, [r0]
|
|
movs r1, #0x1f
|
|
adds r0, r1, #0
|
|
ands r0, r3
|
|
ldrb r3, [r2]
|
|
adds r6, r0, r3
|
|
ldrb r0, [r5, #0x1e]
|
|
ands r1, r0
|
|
ldrb r2, [r2, #1]
|
|
adds r7, r1, r2
|
|
cmp r4, #8
|
|
bhi _08062946
|
|
ldr r0, _0806286C @ =_08062870
|
|
add r0, ip
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08062868: .4byte gUnk_0810C0A0
|
|
_0806286C: .4byte _08062870 @ jump table
|
|
_08062870:
|
|
.4byte _08062894 @ case 0
|
|
.4byte _08062894 @ case 1
|
|
.4byte _08062894 @ case 2
|
|
.4byte _08062894 @ case 3
|
|
.4byte _08062894 @ case 4
|
|
.4byte _08062894 @ case 5
|
|
.4byte _080628D8 @ case 6
|
|
.4byte _08062922 @ case 7
|
|
.4byte _08062922 @ case 8
|
|
_08062894:
|
|
adds r0, r5, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #0x30
|
|
ands r0, r1
|
|
lsrs r4, r0, #4
|
|
cmp r4, #0
|
|
beq _080628A6
|
|
adds r4, #0x50
|
|
_080628A6:
|
|
subs r4, #1
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
adds r2, r6, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
adds r2, r7, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #2
|
|
b _08062916
|
|
_080628D8:
|
|
adds r0, r5, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r2, #0xf
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _080628E8
|
|
adds r2, #0x93
|
|
_080628E8:
|
|
subs r2, #1
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
adds r2, r6, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
adds r2, r7, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
movs r2, #1
|
|
bl sub_0806FF88
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
_08062916:
|
|
bl sub_0806FFD8
|
|
adds r0, r5, #0
|
|
bl sub_0807000C
|
|
b _08062946
|
|
_08062922:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
adds r2, r6, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
adds r2, r7, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r5, #0
|
|
bl sub_0807000C
|
|
_08062946:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08062948
|
|
sub_08062948: @ 0x08062948
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldrb r0, [r6, #0x18]
|
|
cmp r0, #0
|
|
bne _080629B4
|
|
adds r0, #1
|
|
strb r0, [r6, #0x18]
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x20
|
|
strh r0, [r6, #0x12]
|
|
bl sub_08000E50
|
|
adds r1, r0, #0
|
|
movs r0, #0x18
|
|
ands r1, r0
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #8
|
|
beq _08062990
|
|
cmp r0, #8
|
|
bgt _0806297E
|
|
cmp r0, #0
|
|
beq _08062988
|
|
b _080629A6
|
|
_0806297E:
|
|
cmp r0, #0x10
|
|
beq _08062998
|
|
cmp r0, #0x18
|
|
beq _080629A0
|
|
b _080629A6
|
|
_08062988:
|
|
cmp r1, #0x10
|
|
bne _080629A6
|
|
movs r1, #8
|
|
b _080629A6
|
|
_08062990:
|
|
cmp r1, #0x18
|
|
bne _080629A6
|
|
movs r1, #0x10
|
|
b _080629A6
|
|
_08062998:
|
|
cmp r1, #0
|
|
bne _080629A6
|
|
movs r1, #0x18
|
|
b _080629A6
|
|
_080629A0:
|
|
cmp r1, #8
|
|
bne _080629A6
|
|
movs r1, #0
|
|
_080629A6:
|
|
strb r1, [r4, #0x15]
|
|
adds r0, r1, #0
|
|
bl sub_0806F5B0
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x80
|
|
strh r0, [r4, #0x24]
|
|
_080629B4:
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
adds r1, r0, #4
|
|
adds r5, r4, #0
|
|
adds r5, #0x58
|
|
ldrb r0, [r5]
|
|
cmp r1, r0
|
|
beq _080629D2
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
ldrb r1, [r5]
|
|
adds r0, r4, #0
|
|
adds r0, #0x80
|
|
strh r1, [r0]
|
|
_080629D2:
|
|
adds r0, r4, #0
|
|
bl sub_080AEF88
|
|
movs r3, #0x2e
|
|
ldrsh r1, [r4, r3]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6c
|
|
movs r5, #0
|
|
ldrsh r0, [r2, r5]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _080629F4
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r6, #0x12]
|
|
_080629F4:
|
|
movs r3, #0x10
|
|
rsbs r3, r3, #0
|
|
cmp r1, r3
|
|
bge _08062A06
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r6, #0x12]
|
|
_08062A06:
|
|
movs r0, #0x32
|
|
ldrsh r1, [r4, r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6e
|
|
movs r5, #0
|
|
ldrsh r0, [r2, r5]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _08062A22
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r6, #0x12]
|
|
_08062A22:
|
|
cmp r1, r3
|
|
bge _08062A30
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r6, #0x12]
|
|
_08062A30:
|
|
ldrh r0, [r6, #0x12]
|
|
subs r0, #1
|
|
strh r0, [r6, #0x12]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
beq _08062A42
|
|
ldr r1, _08062A44 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_08062A42:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08062A44: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08062A48
|
|
sub_08062A48: @ 0x08062A48
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x6a
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062A60
|
|
sub_08062A60: @ 0x08062A60
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08062AB0
|
|
ldr r1, _08062AAC @ =gUnk_0810BDC4
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08062AB6
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #8
|
|
strh r0, [r4, #0x32]
|
|
movs r1, #6
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #6
|
|
bne _08062AA2
|
|
movs r1, #0x16
|
|
_08062AA2:
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _08062AB6
|
|
.align 2, 0
|
|
_08062AAC: .4byte gUnk_0810BDC4
|
|
_08062AB0:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08062AB6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062AB8
|
|
sub_08062AB8: @ 0x08062AB8
|
|
push {lr}
|
|
ldr r2, _08062ACC @ =gUnk_0810C268
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08062ACC: .4byte gUnk_0810C268
|
|
|
|
thumb_func_start sub_08062AD0
|
|
sub_08062AD0: @ 0x08062AD0
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062AD4
|
|
sub_08062AD4: @ 0x08062AD4
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062AD8
|
|
sub_08062AD8: @ 0x08062AD8
|
|
push {lr}
|
|
ldr r2, _08062AEC @ =gUnk_0810C290
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08062AEC: .4byte gUnk_0810C290
|
|
|
|
thumb_func_start sub_08062AF0
|
|
sub_08062AF0: @ 0x08062AF0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062B14
|
|
sub_08062B14: @ 0x08062B14
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08062B40
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_0805E47C
|
|
_08062B40:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062B48
|
|
sub_08062B48: @ 0x08062B48
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08062B6A
|
|
ldr r0, _08062B6C @ =0x00000A01
|
|
bl sub_08056378
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08062B6A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062B6C: .4byte 0x00000A01
|
|
|
|
thumb_func_start sub_08062B70
|
|
sub_08062B70: @ 0x08062B70
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08062B94 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08062B92
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0805E584
|
|
_08062B92:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062B94: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08062B98
|
|
sub_08062B98: @ 0x08062B98
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08062BBC
|
|
ldr r0, _08062BB8 @ =gUnk_0810C2DC
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
b _08062BCC
|
|
.align 2, 0
|
|
_08062BB8: .4byte gUnk_0810C2DC
|
|
_08062BBC:
|
|
ldr r0, _08062BD0 @ =gUnk_0810C2CC
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
_08062BCC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08062BD0: .4byte gUnk_0810C2CC
|
|
|
|
thumb_func_start sub_08062BD4
|
|
sub_08062BD4: @ 0x08062BD4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062BF8
|
|
sub_08062BF8: @ 0x08062BF8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08062C1C
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0805E47C
|
|
_08062C1C:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062C24
|
|
sub_08062C24: @ 0x08062C24
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08062C4E
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_08004260
|
|
ldr r0, _08062C50 @ =0x00000A01
|
|
bl sub_08056378
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08062C4E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062C50: .4byte 0x00000A01
|
|
|
|
thumb_func_start sub_08062C54
|
|
sub_08062C54: @ 0x08062C54
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08062C78 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08062C76
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_0805E584
|
|
_08062C76:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062C78: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08062C7C
|
|
sub_08062C7C: @ 0x08062C7C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
movs r1, #0x25
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r0, r4, #0
|
|
bl sub_08062CA4
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062CA4
|
|
sub_08062CA4: @ 0x08062CA4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08062CBC
|
|
sub_08062CBC: @ 0x08062CBC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x2c
|
|
bl sub_0801E7F4
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
lsls r1, r1, #3
|
|
ldr r0, _08062CDC @ =gUnk_0810C2E4
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806F1AC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062CDC: .4byte gUnk_0810C2E4
|
|
|
|
thumb_func_start sub_08062CE0
|
|
sub_08062CE0: @ 0x08062CE0
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
bne _08062CEE
|
|
movs r0, #1
|
|
strb r0, [r1, #0xc]
|
|
_08062CEE:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08062CF0
|
|
sub_08062CF0: @ 0x08062CF0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08062D0C
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_08062D0C:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062D18
|
|
sub_08062D18: @ 0x08062D18
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
movs r4, #0
|
|
movs r0, #0x4f
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062D36
|
|
movs r0, #0x26
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062D36
|
|
movs r4, #7
|
|
_08062D36:
|
|
movs r0, #0x4e
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062D4C
|
|
movs r0, #0x25
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062D4C
|
|
movs r4, #6
|
|
_08062D4C:
|
|
movs r0, #0x4d
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062D62
|
|
movs r0, #0x24
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062D62
|
|
movs r4, #5
|
|
_08062D62:
|
|
movs r0, #0x4c
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062D78
|
|
movs r0, #0x23
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062D78
|
|
movs r4, #4
|
|
_08062D78:
|
|
movs r0, #0x4b
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062D8E
|
|
movs r0, #0x22
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062D8E
|
|
movs r4, #3
|
|
_08062D8E:
|
|
movs r0, #0x4a
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062DA4
|
|
movs r0, #0x21
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062DA4
|
|
movs r4, #2
|
|
_08062DA4:
|
|
movs r0, #0x49
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062DBA
|
|
movs r0, #0x20
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062DBA
|
|
movs r4, #1
|
|
_08062DBA:
|
|
strb r4, [r5, #0xb]
|
|
movs r4, #0
|
|
ldr r0, _08062DCC @ =0x00001C1F
|
|
bl sub_0807CBE4
|
|
cmp r0, #0
|
|
beq _08062DD0
|
|
movs r4, #1
|
|
b _08062DF0
|
|
.align 2, 0
|
|
_08062DCC: .4byte 0x00001C1F
|
|
_08062DD0:
|
|
movs r0, #0x8c
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _08062DE4
|
|
movs r4, #2
|
|
movs r0, #0x8c
|
|
bl sub_0807CD34
|
|
b _08062DF0
|
|
_08062DE4:
|
|
movs r0, #0x8b
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _08062DF0
|
|
movs r4, #3
|
|
_08062DF0:
|
|
ldr r0, _08062E08 @ =gUnk_0810C34C
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
cmp r4, #0
|
|
bne _08062E0C
|
|
movs r0, #1
|
|
b _08062E0E
|
|
.align 2, 0
|
|
_08062E08: .4byte gUnk_0810C34C
|
|
_08062E0C:
|
|
movs r0, #0
|
|
_08062E0E:
|
|
str r0, [r6, #0x14]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062E14
|
|
sub_08062E14: @ 0x08062E14
|
|
push {lr}
|
|
movs r0, #0x8b
|
|
bl sub_0807CCB4
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062E20
|
|
sub_08062E20: @ 0x08062E20
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08062E50
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
ldr r0, _08062E5C @ =gUnk_0810C3C0
|
|
str r0, [r4, #0x48]
|
|
adds r1, r4, #0
|
|
adds r1, #0x63
|
|
movs r0, #0xfe
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_08062E50:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062E5C: .4byte gUnk_0810C3C0
|
|
|
|
thumb_func_start sub_08062E60
|
|
sub_08062E60: @ 0x08062E60
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08062E88
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
ldr r0, _08062EB4 @ =gUnk_0810C428
|
|
str r0, [r4, #0x48]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_08062E88:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08062EB2
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
adds r0, #0x28
|
|
strh r1, [r0]
|
|
_08062EB2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062EB4: .4byte gUnk_0810C428
|
|
|
|
thumb_func_start sub_08062EB8
|
|
sub_08062EB8: @ 0x08062EB8
|
|
push {lr}
|
|
movs r0, #0x68
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
movs r0, #0x69
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
movs r0, #0x6a
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
movs r0, #0x6b
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08062EDC
|
|
sub_08062EDC: @ 0x08062EDC
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
movs r0, #0x68
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062EEE
|
|
movs r4, #0
|
|
_08062EEE:
|
|
movs r0, #0x69
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062EFA
|
|
movs r4, #1
|
|
_08062EFA:
|
|
movs r0, #0x6a
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062F06
|
|
movs r4, #2
|
|
_08062F06:
|
|
movs r0, #0x6b
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08062F12
|
|
movs r4, #3
|
|
_08062F12:
|
|
movs r0, #0x5b
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08062F24
|
|
movs r0, #0x5b
|
|
bl sub_0807CCB4
|
|
movs r4, #4
|
|
_08062F24:
|
|
bl sub_08000E50
|
|
movs r1, #0xff
|
|
ands r1, r0
|
|
ldr r0, _08062F58 @ =gUnk_0810C430
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bhi _08062F68
|
|
ldr r0, _08062F5C @ =gUnk_0810C435
|
|
bl sub_080028F4
|
|
adds r4, r0, #0
|
|
ldr r0, _08062F60 @ =gUnk_0810C43D
|
|
adds r0, r4, r0
|
|
ldrb r1, [r0]
|
|
movs r0, #0x5c
|
|
movs r2, #1
|
|
bl sub_080A7C18
|
|
ldr r0, _08062F64 @ =0x00003C05
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
movs r0, #1
|
|
b _08062F6A
|
|
.align 2, 0
|
|
_08062F58: .4byte gUnk_0810C430
|
|
_08062F5C: .4byte gUnk_0810C435
|
|
_08062F60: .4byte gUnk_0810C43D
|
|
_08062F64: .4byte 0x00003C05
|
|
_08062F68:
|
|
movs r0, #0
|
|
_08062F6A:
|
|
str r0, [r5, #0x14]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08062F70
|
|
sub_08062F70: @ 0x08062F70
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08062FA0
|
|
ldr r1, _08062FE8 @ =gUnk_0810C48C
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08062FE4
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xe]
|
|
lsls r0, r0, #1
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
_08062FA0:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r4, #0x5b
|
|
ldrb r1, [r4]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08062FCC
|
|
movs r0, #0xef
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
ldr r0, _08062FEC @ =0x000001CF
|
|
bl sub_08004488
|
|
_08062FCC:
|
|
ldrb r1, [r4]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08062FE4
|
|
movs r0, #0xdf
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
movs r0, #0x88
|
|
lsls r0, r0, #2
|
|
bl sub_08004488
|
|
_08062FE4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08062FE8: .4byte gUnk_0810C48C
|
|
_08062FEC: .4byte 0x000001CF
|
|
|
|
thumb_func_start sub_08062FF0
|
|
sub_08062FF0: @ 0x08062FF0
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08063006
|
|
movs r6, #1
|
|
movs r5, #0
|
|
b _0806300A
|
|
_08063006:
|
|
movs r6, #0
|
|
movs r5, #1
|
|
_0806300A:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
movs r7, #0x8e
|
|
lsls r7, r7, #1
|
|
cmp r0, #0
|
|
beq _0806301E
|
|
movs r7, #0x16
|
|
_0806301E:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
subs r2, #1
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
adds r2, r7, #0
|
|
bl sub_0806FF10
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806305C
|
|
sub_0806305C: @ 0x0806305C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldrb r0, [r4, #0x19]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
str r2, [r4, #0x6c]
|
|
str r2, [r4, #0x70]
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
movs r3, #0
|
|
bl sub_0805EC9C
|
|
adds r0, r4, #0
|
|
movs r1, #0x10
|
|
bl sub_080042AC
|
|
adds r4, #0x80
|
|
movs r0, #0x10
|
|
strh r0, [r4]
|
|
ldr r0, _080630A0 @ =0x0000016F
|
|
bl sub_080A3268
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080630A0: .4byte 0x0000016F
|
|
|
|
thumb_func_start sub_080630A4
|
|
sub_080630A4: @ 0x080630A4
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x6d
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080630BA
|
|
ldr r0, [r4, #0x6c]
|
|
adds r0, #0x80
|
|
lsls r0, r0, #0x14
|
|
lsrs r5, r0, #0x17
|
|
b _080630D0
|
|
_080630BA:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
ldrb r1, [r0]
|
|
lsrs r1, r1, #6
|
|
movs r0, #3
|
|
eors r1, r0
|
|
adds r1, #1
|
|
movs r0, #0x10
|
|
bl __divsi3
|
|
asrs r5, r0, #1
|
|
_080630D0:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
ldr r2, [r4, #0x70]
|
|
cmp r2, r0
|
|
bls _080630E4
|
|
adds r0, r2, #0
|
|
adds r0, #0x80
|
|
lsls r0, r0, #0x14
|
|
lsrs r3, r0, #0x17
|
|
b _080630F4
|
|
_080630E4:
|
|
cmp r2, r0
|
|
bne _080630EC
|
|
movs r3, #0x10
|
|
b _080630F4
|
|
_080630EC:
|
|
ldr r1, _08063110 @ =gUnk_0810C498
|
|
lsrs r0, r2, #5
|
|
adds r0, r0, r1
|
|
ldrb r3, [r0]
|
|
_080630F4:
|
|
movs r6, #0x80
|
|
lsls r6, r6, #9
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r1, #3
|
|
ands r1, r0
|
|
cmp r1, #2
|
|
beq _08063144
|
|
cmp r1, #2
|
|
bgt _08063114
|
|
cmp r1, #1
|
|
beq _0806311A
|
|
b _080631CA
|
|
.align 2, 0
|
|
_08063110: .4byte gUnk_0810C498
|
|
_08063114:
|
|
cmp r1, #3
|
|
beq _0806317A
|
|
b _080631CA
|
|
_0806311A:
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, [r4, #0x6c]
|
|
cmp r0, #0x80
|
|
bls _08063132
|
|
subs r0, r0, r5
|
|
str r0, [r4, #0x6c]
|
|
_08063132:
|
|
lsls r1, r3, #1
|
|
ldr r0, [r4, #0x70]
|
|
adds r0, r0, r1
|
|
str r0, [r4, #0x70]
|
|
lsls r1, r6, #1
|
|
ldr r0, [r4, #0x30]
|
|
adds r0, r0, r1
|
|
str r0, [r4, #0x30]
|
|
b _080631CA
|
|
_08063144:
|
|
ldr r0, [r4, #0x6c]
|
|
adds r0, r0, r5
|
|
str r0, [r4, #0x6c]
|
|
ldr r1, [r4, #0x70]
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
cmp r1, r2
|
|
bls _0806316C
|
|
ldr r0, _08063168 @ =0x0000017F
|
|
cmp r1, r0
|
|
bhi _0806315C
|
|
lsrs r3, r3, #1
|
|
_0806315C:
|
|
subs r0, r1, r3
|
|
cmp r0, #0xff
|
|
bhi _08063172
|
|
str r2, [r4, #0x70]
|
|
b _08063174
|
|
.align 2, 0
|
|
_08063168: .4byte 0x0000017F
|
|
_0806316C:
|
|
cmp r1, #0x80
|
|
bls _08063174
|
|
subs r0, r1, r3
|
|
_08063172:
|
|
str r0, [r4, #0x70]
|
|
_08063174:
|
|
ldr r0, [r4, #0x34]
|
|
subs r0, r0, r6
|
|
b _080631C8
|
|
_0806317A:
|
|
ldr r0, [r4, #0x6c]
|
|
ldr r1, _080631B4 @ =0x0000033F
|
|
cmp r0, r1
|
|
bhi _08063186
|
|
adds r0, r0, r5
|
|
str r0, [r4, #0x6c]
|
|
_08063186:
|
|
cmp r2, r1
|
|
bls _080631BC
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
movs r3, #0
|
|
bl sub_0805EC9C
|
|
adds r0, r4, #0
|
|
movs r1, #0x11
|
|
bl sub_080042AC
|
|
adds r1, r4, #0
|
|
adds r1, #0x80
|
|
movs r0, #0x11
|
|
strh r0, [r1]
|
|
ldr r2, _080631B8 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
b _080631DC
|
|
.align 2, 0
|
|
_080631B4: .4byte 0x0000033F
|
|
_080631B8: .4byte gUnk_02033280
|
|
_080631BC:
|
|
lsls r0, r3, #1
|
|
adds r0, r2, r0
|
|
str r0, [r4, #0x70]
|
|
ldr r0, [r4, #0x34]
|
|
ldr r1, _080631E0 @ =0xFFFE0000
|
|
adds r0, r0, r1
|
|
_080631C8:
|
|
str r0, [r4, #0x34]
|
|
_080631CA:
|
|
ldr r1, [r4, #0x6c]
|
|
ldr r2, [r4, #0x70]
|
|
adds r0, r4, #0
|
|
movs r3, #0
|
|
bl sub_0805EC9C
|
|
ldr r1, _080631E4 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_080631DC:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080631E0: .4byte 0xFFFE0000
|
|
_080631E4: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_080631E8
|
|
sub_080631E8: @ 0x080631E8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806320C @ =gUnk_0810C804
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
beq _08063208
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_08063208:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806320C: .4byte gUnk_0810C804
|
|
|
|
thumb_func_start sub_08063210
|
|
sub_08063210: @ 0x08063210
|
|
push {lr}
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
movs r1, #0
|
|
bl sub_080042AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063220
|
|
sub_08063220: @ 0x08063220
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08063238
|
|
movs r0, #2
|
|
strb r0, [r2, #0xc]
|
|
movs r1, #8
|
|
b _0806323A
|
|
_08063238:
|
|
movs r1, #0
|
|
_0806323A:
|
|
adds r0, r2, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
beq _0806324C
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
b _08063252
|
|
_0806324C:
|
|
adds r0, r2, #0
|
|
bl sub_08063280
|
|
_08063252:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08063254
|
|
sub_08063254: @ 0x08063254
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08063280
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08063274
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
_08063274:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063278
|
|
sub_08063278: @ 0x08063278
|
|
push {lr}
|
|
bl sub_08063280
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08063280
|
|
sub_08063280: @ 0x08063280
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r3, r4, #0
|
|
adds r3, #0x5a
|
|
ldrb r2, [r3]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
adds r0, r1, #0
|
|
eors r0, r2
|
|
strb r0, [r3]
|
|
cmp r1, #2
|
|
bne _080632A6
|
|
adds r0, r4, #0
|
|
movs r1, #0x31
|
|
movs r2, #0
|
|
bl CreateFX
|
|
_080632A6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080632A8
|
|
sub_080632A8: @ 0x080632A8
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080632BE
|
|
adds r0, r2, #0
|
|
bl sub_08063410
|
|
b _080632C4
|
|
_080632BE:
|
|
adds r0, r2, #0
|
|
bl sub_080632C8
|
|
_080632C4:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080632C8
|
|
sub_080632C8: @ 0x080632C8
|
|
push {lr}
|
|
ldr r2, _080632DC @ =gUnk_0810C8E0
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080632DC: .4byte gUnk_0810C8E0
|
|
|
|
thumb_func_start sub_080632E0
|
|
sub_080632E0: @ 0x080632E0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08063310 @ =gUnk_0810C8D4
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806330E
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806330E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063310: .4byte gUnk_0810C8D4
|
|
|
|
thumb_func_start sub_08063314
|
|
sub_08063314: @ 0x08063314
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xf]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xf]
|
|
movs r1, #0xff
|
|
ands r0, r1
|
|
movs r1, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08063342
|
|
adds r0, r4, #0
|
|
bl sub_080633C8
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
beq _08063342
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08063342:
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08063360
|
|
ldrb r0, [r4, #0xe]
|
|
ldr r1, _08063368 @ =0x00000A01
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08063360:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063368: .4byte 0x00000A01
|
|
|
|
thumb_func_start sub_0806336C
|
|
sub_0806336C: @ 0x0806336C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _0806338C @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806338A
|
|
ldrb r0, [r2, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
adds r0, r2, #0
|
|
movs r1, #8
|
|
bl sub_08004260
|
|
_0806338A:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806338C: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08063390
|
|
sub_08063390: @ 0x08063390
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080633BE
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
_080633BE:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080633C8
|
|
sub_080633C8: @ 0x080633C8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806ED9C
|
|
cmp r0, #0
|
|
bge _080633DE
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
_080633DE:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080633E0
|
|
sub_080633E0: @ 0x080633E0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0x3f
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08063410
|
|
sub_08063410: @ 0x08063410
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #0
|
|
bne _08063442
|
|
ldr r1, _08063464 @ =gUnk_0810C8D4
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08063462
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _08063436
|
|
ldr r0, _08063468 @ =gUnk_0810C894
|
|
str r0, [r4, #0x48]
|
|
strb r5, [r4, #0xb]
|
|
_08063436:
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
_08063442:
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _0806344E
|
|
adds r0, r4, #0
|
|
bl sub_0806346C
|
|
_0806344E:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08063462:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08063464: .4byte gUnk_0810C8D4
|
|
_08063468: .4byte gUnk_0810C894
|
|
|
|
thumb_func_start sub_0806346C
|
|
sub_0806346C: @ 0x0806346C
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
ldr r6, _080634D8 @ =gLinkEntity
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r6, r0]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r5, r2]
|
|
subs r4, r1, r0
|
|
movs r0, #0x32
|
|
ldrsh r1, [r6, r0]
|
|
movs r2, #0x32
|
|
ldrsh r0, [r5, r2]
|
|
subs r3, r1, r0
|
|
adds r4, #0x30
|
|
adds r3, #0x18
|
|
cmp r4, #0
|
|
bge _08063490
|
|
movs r4, #0
|
|
_08063490:
|
|
cmp r4, #0x50
|
|
ble _08063496
|
|
movs r4, #0x50
|
|
_08063496:
|
|
cmp r3, #0
|
|
bge _0806349C
|
|
movs r3, #0
|
|
_0806349C:
|
|
cmp r3, #0x40
|
|
ble _080634A2
|
|
movs r3, #0x40
|
|
_080634A2:
|
|
asrs r4, r4, #4
|
|
asrs r3, r3, #4
|
|
ldr r2, _080634DC @ =gUnk_0810C8F0
|
|
ldrb r1, [r6, #0x14]
|
|
lsrs r1, r1, #1
|
|
lsls r0, r4, #2
|
|
adds r1, r1, r0
|
|
lsls r0, r3, #1
|
|
adds r0, r0, r3
|
|
lsls r0, r0, #3
|
|
adds r1, r1, r0
|
|
adds r1, r1, r2
|
|
ldrb r4, [r1]
|
|
ldrb r0, [r5, #0xb]
|
|
cmp r4, r0
|
|
beq _080634D6
|
|
lsls r3, r4, #3
|
|
ldr r0, _080634E0 @ =gUnk_0810C89C
|
|
adds r3, r3, r0
|
|
movs r2, #4
|
|
ldrsb r2, [r3, r2]
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl sub_08078850
|
|
strb r4, [r5, #0xb]
|
|
_080634D6:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080634D8: .4byte gLinkEntity
|
|
_080634DC: .4byte gUnk_0810C8F0
|
|
_080634E0: .4byte gUnk_0810C89C
|
|
|
|
thumb_func_start sub_080634E4
|
|
sub_080634E4: @ 0x080634E4
|
|
ldrb r0, [r0, #0xb]
|
|
str r0, [r1, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080634EC
|
|
sub_080634EC: @ 0x080634EC
|
|
ldr r2, _080634FC @ =gUnk_02034350
|
|
ldr r1, _08063500 @ =gUnk_0810C88C
|
|
ldrb r0, [r0, #0xb]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
strb r0, [r2, #6]
|
|
bx lr
|
|
.align 2, 0
|
|
_080634FC: .4byte gUnk_02034350
|
|
_08063500: .4byte gUnk_0810C88C
|
|
|
|
thumb_func_start sub_08063504
|
|
sub_08063504: @ 0x08063504
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
ldr r1, _08063520 @ =gUnk_0810C88C
|
|
ldrb r0, [r0, #0xb]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
bl sub_080544DC
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
str r1, [r4, #0x14]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063520: .4byte gUnk_0810C88C
|
|
|
|
thumb_func_start sub_08063524
|
|
sub_08063524: @ 0x08063524
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806353A
|
|
adds r0, r2, #0
|
|
bl sub_0806362C
|
|
b _08063540
|
|
_0806353A:
|
|
adds r0, r2, #0
|
|
bl sub_08063544
|
|
_08063540:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063544
|
|
sub_08063544: @ 0x08063544
|
|
push {lr}
|
|
ldr r2, _08063558 @ =gUnk_0810CAA0
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063558: .4byte gUnk_0810CAA0
|
|
|
|
thumb_func_start sub_0806355C
|
|
sub_0806355C: @ 0x0806355C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08063584
|
|
sub_08063584: @ 0x08063584
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806ED9C
|
|
cmp r0, #0
|
|
blt _080635B2
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _080635B8
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _080635B2
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_080042AC
|
|
_080635B2:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
beq _080635D0
|
|
_080635B8:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080635D0
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
_080635D0:
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080635FC
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
ldrb r0, [r4, #0xe]
|
|
ldr r1, _08063604 @ =0x00000A01
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
_080635FC:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063604: .4byte 0x00000A01
|
|
|
|
thumb_func_start sub_08063608
|
|
sub_08063608: @ 0x08063608
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08063628 @ =gUnk_02000050
|
|
ldrb r0, [r0]
|
|
movs r1, #0x7f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08063626
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
strb r1, [r2, #0xf]
|
|
adds r0, r2, #0
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
_08063626:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063628: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_0806362C
|
|
sub_0806362C: @ 0x0806362C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r3, [r4, #0xc]
|
|
cmp r3, #1
|
|
beq _08063662
|
|
cmp r3, #1
|
|
bgt _08063640
|
|
cmp r3, #0
|
|
beq _08063646
|
|
b _080636D4
|
|
_08063640:
|
|
cmp r3, #2
|
|
beq _080636BA
|
|
b _080636D4
|
|
_08063646:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r3, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_08063662:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _080636A4
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _080636A0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _080636D4
|
|
.align 2, 0
|
|
_080636A0: .4byte gLinkEntity
|
|
_080636A4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _080636D4
|
|
_080636BA:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _080636D4
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_080636D4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080636D8
|
|
sub_080636D8: @ 0x080636D8
|
|
push {lr}
|
|
ldr r1, _080636EC @ =gUnk_02002A40
|
|
ldrb r1, [r1, #8]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080636F0 @ =gUnk_0810CAAC
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080636EC: .4byte gUnk_02002A40
|
|
_080636F0: .4byte gUnk_0810CAAC
|
|
|
|
thumb_func_start sub_080636F4
|
|
sub_080636F4: @ 0x080636F4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806370C
|
|
sub_0806370C: @ 0x0806370C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08063738
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
ldrh r0, [r2, #0x32]
|
|
subs r0, #4
|
|
strh r0, [r2, #0x32]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _0806373E
|
|
_08063738:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806373E:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08063740
|
|
sub_08063740: @ 0x08063740
|
|
push {lr}
|
|
ldr r2, _08063754 @ =gUnk_0810CBD8
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063754: .4byte gUnk_0810CBD8
|
|
|
|
thumb_func_start sub_08063758
|
|
sub_08063758: @ 0x08063758
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
ldr r0, _08063794 @ =gUnk_0810CB78
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080637B4
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0xe]
|
|
ands r1, r2
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r4, #0x18]
|
|
subs r0, #0x42
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
cmp r0, #0
|
|
blt _08063798
|
|
movs r0, #6
|
|
b _0806379A
|
|
.align 2, 0
|
|
_08063794: .4byte gUnk_0810CB78
|
|
_08063798:
|
|
movs r0, #2
|
|
_0806379A:
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, #0x14]
|
|
movs r1, #0
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
adds r0, r4, #0
|
|
bl sub_080637B8
|
|
_080637B4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080637B8
|
|
sub_080637B8: @ 0x080637B8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08063804
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _08063800 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
cmp r0, #0
|
|
bge _080637F2
|
|
adds r1, #4
|
|
_080637F2:
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806382E
|
|
.align 2, 0
|
|
_08063800: .4byte gLinkEntity
|
|
_08063804:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r5, r4, #0
|
|
adds r5, #0x59
|
|
ldrb r0, [r5]
|
|
cmp r0, #0xfe
|
|
bne _08063828
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
strb r0, [r5]
|
|
_08063828:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806382E:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08063830
|
|
sub_08063830: @ 0x08063830
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806384C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_0806384C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063850
|
|
sub_08063850: @ 0x08063850
|
|
push {lr}
|
|
ldrb r3, [r0, #0x18]
|
|
lsls r3, r3, #0x19
|
|
lsrs r3, r3, #0x1f
|
|
rsbs r2, r3, #0
|
|
orrs r2, r3
|
|
asrs r2, r2, #0x1f
|
|
movs r3, #4
|
|
ands r2, r3
|
|
ldr r1, [r1, #4]
|
|
adds r1, r1, r2
|
|
ldrb r2, [r0, #0x14]
|
|
lsrs r2, r2, #1
|
|
adds r1, r1, r2
|
|
bl sub_08004260
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063874
|
|
sub_08063874: @ 0x08063874
|
|
ldrb r1, [r0, #0xe]
|
|
strb r1, [r0, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806387C
|
|
sub_0806387C: @ 0x0806387C
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
movs r4, #3
|
|
movs r0, #0xda
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08063896
|
|
movs r4, #0
|
|
movs r0, #0xda
|
|
bl sub_0807CCB4
|
|
b _080638D6
|
|
_08063896:
|
|
movs r0, #0xd1
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _080638D6
|
|
movs r5, #0
|
|
movs r4, #1
|
|
_080638A4:
|
|
ldr r0, _080638F8 @ =gUnk_02002B0E
|
|
adds r1, r4, #0
|
|
bl sub_0801D5A8
|
|
cmp r0, #0
|
|
beq _080638B2
|
|
adds r5, #1
|
|
_080638B2:
|
|
adds r4, #1
|
|
cmp r4, #0x82
|
|
ble _080638A4
|
|
movs r4, #1
|
|
cmp r5, #0x81
|
|
ble _080638D6
|
|
movs r4, #2
|
|
movs r0, #0xd1
|
|
bl sub_0807CCB4
|
|
ldr r0, _080638FC @ =0x00000A17
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _08063900 @ =0x00000A57
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
_080638D6:
|
|
ldr r0, _08063904 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r1, r0, #6
|
|
cmp r1, #0
|
|
bge _080638E2
|
|
movs r1, #0
|
|
_080638E2:
|
|
ldr r2, _08063908 @ =gUnk_0810CBE4
|
|
lsls r0, r4, #1
|
|
lsls r1, r1, #3
|
|
adds r0, r0, r1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080638F8: .4byte gUnk_02002B0E
|
|
_080638FC: .4byte 0x00000A17
|
|
_08063900: .4byte 0x00000A57
|
|
_08063904: .4byte gUnk_02002A40
|
|
_08063908: .4byte gUnk_0810CBE4
|
|
|
|
thumb_func_start sub_0806390C
|
|
sub_0806390C: @ 0x0806390C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r5, #1
|
|
movs r0, #0xd9
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806392E
|
|
movs r5, #0
|
|
movs r0, #0xd9
|
|
bl sub_0807CCB4
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
movs r0, #1
|
|
str r0, [r1, #0x14]
|
|
_0806392E:
|
|
ldr r0, _08063940 @ =gUnk_0810CC04
|
|
lsls r1, r5, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08063940: .4byte gUnk_0810CC04
|
|
|
|
thumb_func_start sub_08063944
|
|
sub_08063944: @ 0x08063944
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
movs r0, #0
|
|
str r0, [r1, #0x14]
|
|
ldr r0, _0806396C @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _08063958
|
|
movs r0, #0
|
|
_08063958:
|
|
ldrb r1, [r3, #0xb]
|
|
lsls r1, r1, #6
|
|
lsls r0, r0, #3
|
|
ldr r2, _08063970 @ =gUnk_0810CC08
|
|
adds r0, r0, r2
|
|
adds r1, r1, r0
|
|
adds r0, r3, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806396C: .4byte gUnk_02002A40
|
|
_08063970: .4byte gUnk_0810CC08
|
|
|
|
thumb_func_start sub_08063974
|
|
sub_08063974: @ 0x08063974
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xa]
|
|
lsls r5, r5, #2
|
|
ldr r0, _080639C8 @ =gUnk_0810CBC0
|
|
adds r5, r5, r0
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0xf
|
|
ands r2, r0
|
|
ldrb r0, [r5]
|
|
adds r2, r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldr r2, _080639CC @ =gUnk_0810CD88
|
|
ldrb r1, [r4, #0x1e]
|
|
movs r0, #3
|
|
ands r0, r1
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r0, r0, r1
|
|
adds r0, r0, r2
|
|
ldrb r2, [r0]
|
|
ldrb r0, [r5, #1]
|
|
adds r2, r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080639C8: .4byte gUnk_0810CBC0
|
|
_080639CC: .4byte gUnk_0810CD88
|
|
|
|
thumb_func_start sub_080639D0
|
|
sub_080639D0: @ 0x080639D0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080639E8
|
|
sub_080639E8: @ 0x080639E8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08063A40
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
ldr r0, _08063A3C @ =gUnk_0810CB78
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08063A5C
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
movs r1, #0x41
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #4
|
|
strh r0, [r4, #0x32]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
ldrb r1, [r4, #0xa]
|
|
adds r0, r4, #0
|
|
bl sub_08096208
|
|
b _08063A5C
|
|
.align 2, 0
|
|
_08063A3C: .4byte gUnk_0810CB78
|
|
_08063A40:
|
|
adds r5, r4, #0
|
|
adds r5, #0x59
|
|
ldrb r0, [r5]
|
|
cmp r0, #0xfe
|
|
bne _08063A56
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
strb r0, [r5]
|
|
_08063A56:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08063A5C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063A60
|
|
sub_08063A60: @ 0x08063A60
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08063A76
|
|
adds r0, r2, #0
|
|
bl sub_08063B68
|
|
b _08063A7C
|
|
_08063A76:
|
|
adds r0, r2, #0
|
|
bl sub_08063A80
|
|
_08063A7C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063A80
|
|
sub_08063A80: @ 0x08063A80
|
|
push {lr}
|
|
ldr r2, _08063A94 @ =gUnk_0810CDF8
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063A94: .4byte gUnk_0810CDF8
|
|
|
|
thumb_func_start sub_08063A98
|
|
sub_08063A98: @ 0x08063A98
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08063AC0
|
|
sub_08063AC0: @ 0x08063AC0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806ED9C
|
|
cmp r0, #0
|
|
blt _08063AEE
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _08063AF4
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08063AEE
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_080042AC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_08063AEE:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
beq _08063B0C
|
|
_08063AF4:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08063B0C
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
_08063B0C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08063B38
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
ldrb r0, [r4, #0xe]
|
|
ldr r1, _08063B40 @ =0x00000A01
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
_08063B38:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063B40: .4byte 0x00000A01
|
|
|
|
thumb_func_start sub_08063B44
|
|
sub_08063B44: @ 0x08063B44
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08063B64 @ =gUnk_02000050
|
|
ldrb r0, [r0]
|
|
movs r1, #0x7f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08063B62
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
strb r1, [r2, #0xf]
|
|
adds r0, r2, #0
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
_08063B62:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063B64: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08063B68
|
|
sub_08063B68: @ 0x08063B68
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r3, [r4, #0xc]
|
|
cmp r3, #1
|
|
beq _08063B9E
|
|
cmp r3, #1
|
|
bgt _08063B7C
|
|
cmp r3, #0
|
|
beq _08063B82
|
|
b _08063C10
|
|
_08063B7C:
|
|
cmp r3, #2
|
|
beq _08063BF6
|
|
b _08063C10
|
|
_08063B82:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r3, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_08063B9E:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08063BE0
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _08063BDC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08063C10
|
|
.align 2, 0
|
|
_08063BDC: .4byte gLinkEntity
|
|
_08063BE0:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _08063C10
|
|
_08063BF6:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08063C10
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08063C10:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063C14
|
|
sub_08063C14: @ 0x08063C14
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x14
|
|
bl sub_0805EB9C
|
|
cmp r0, #0
|
|
beq _08063C28
|
|
movs r1, #8
|
|
bl sub_080042AC
|
|
_08063C28:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063C2C
|
|
sub_08063C2C: @ 0x08063C2C
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x14
|
|
bl sub_0805EB9C
|
|
cmp r0, #0
|
|
beq _08063C40
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
_08063C40:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063C44
|
|
sub_08063C44: @ 0x08063C44
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x14
|
|
bl sub_0805EB9C
|
|
cmp r0, #0
|
|
beq _08063C58
|
|
movs r1, #0
|
|
bl sub_080042AC
|
|
_08063C58:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063C5C
|
|
sub_08063C5C: @ 0x08063C5C
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x14
|
|
bl sub_0805EB9C
|
|
cmp r0, #0
|
|
beq _08063C70
|
|
movs r1, #9
|
|
bl sub_080042AC
|
|
_08063C70:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063C74
|
|
sub_08063C74: @ 0x08063C74
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x14
|
|
bl sub_0805EB9C
|
|
cmp r0, #0
|
|
beq _08063C8C
|
|
movs r2, #0x18
|
|
rsbs r2, r2, #0
|
|
movs r1, #8
|
|
bl sub_080A2CFC
|
|
_08063C8C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063C90
|
|
sub_08063C90: @ 0x08063C90
|
|
push {lr}
|
|
ldr r1, _08063CA4 @ =gUnk_02002A40
|
|
ldrb r1, [r1, #8]
|
|
lsls r1, r1, #3
|
|
ldr r2, _08063CA8 @ =gUnk_0810CE04
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063CA4: .4byte gUnk_02002A40
|
|
_08063CA8: .4byte gUnk_0810CE04
|
|
|
|
thumb_func_start sub_08063CAC
|
|
sub_08063CAC: @ 0x08063CAC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08063CC4
|
|
sub_08063CC4: @ 0x08063CC4
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08063CF0
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
ldrh r0, [r2, #0x32]
|
|
subs r0, #4
|
|
strh r0, [r2, #0x32]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _08063CF6
|
|
_08063CF0:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08063CF6:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08063CF8
|
|
sub_08063CF8: @ 0x08063CF8
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08063D1C
|
|
ldr r0, _08063D18 @ =gUnk_0810F544
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
b _08063D22
|
|
.align 2, 0
|
|
_08063D18: .4byte gUnk_0810F544
|
|
_08063D1C:
|
|
adds r0, r2, #0
|
|
bl sub_08063D24
|
|
_08063D22:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08063D24
|
|
sub_08063D24: @ 0x08063D24
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08063D40 @ =gUnk_0810F550
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063D40: .4byte gUnk_0810F550
|
|
|
|
thumb_func_start sub_08063D44
|
|
sub_08063D44: @ 0x08063D44
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08063DA0 @ =gUnk_03003DBC
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x46
|
|
bhi _08063DC6
|
|
ldrb r0, [r4, #9]
|
|
movs r1, #0x15
|
|
eors r0, r1
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
lsls r1, r1, #4
|
|
ldr r0, _08063DA4 @ =gUnk_0810F524
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08063DC6
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_08004260
|
|
ldr r0, _08063DA8 @ =gUnk_0810F6BC
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
movs r2, #0
|
|
bl sub_0806EE04
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
blt _08063DB6
|
|
cmp r0, #3
|
|
bgt _08063DAC
|
|
movs r0, #0xc
|
|
bl sub_080A7EE0
|
|
str r4, [r0, #0x50]
|
|
movs r1, #0x3c
|
|
strb r1, [r0, #0xf]
|
|
b _08063DB6
|
|
.align 2, 0
|
|
_08063DA0: .4byte gUnk_03003DBC
|
|
_08063DA4: .4byte gUnk_0810F524
|
|
_08063DA8: .4byte gUnk_0810F6BC
|
|
_08063DAC:
|
|
cmp r0, #5
|
|
bgt _08063DB6
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
_08063DB6:
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
movs r1, #0
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xa]
|
|
adds r0, r4, #0
|
|
bl sub_08063DC8
|
|
_08063DC6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08063DC8
|
|
sub_08063DC8: @ 0x08063DC8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0xff
|
|
bne _08063DF8
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
ldr r1, _08063DF4 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
strb r0, [r4, #0x14]
|
|
ldrb r1, [r4, #0x14]
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _08063E4C
|
|
.align 2, 0
|
|
_08063DF4: .4byte gLinkEntity
|
|
_08063DF8:
|
|
adds r0, r4, #0
|
|
bl sub_0806EE20
|
|
adds r0, r4, #0
|
|
adds r0, #0x3e
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r4, #0x14]
|
|
cmp r0, r1
|
|
beq _08063E18
|
|
strb r0, [r4, #0x14]
|
|
ldrb r1, [r4, #0x14]
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _08063E1E
|
|
_08063E18:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08063E1E:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _08063E4C
|
|
movs r1, #0
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
ldr r1, _08063E50 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08064428
|
|
_08063E4C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063E50: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08063E54
|
|
sub_08063E54: @ 0x08063E54
|
|
push {lr}
|
|
ldrb r1, [r0, #0xe]
|
|
subs r1, #1
|
|
strb r1, [r0, #0xe]
|
|
lsls r1, r1, #0x18
|
|
cmp r1, #0
|
|
bne _08063E68
|
|
movs r0, #0xf
|
|
bl sub_0807CD10
|
|
_08063E68:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08063E6C
|
|
sub_08063E6C: @ 0x08063E6C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08063E8C @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08063E8A
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x14]
|
|
adds r1, #4
|
|
adds r0, r2, #0
|
|
bl sub_08004260
|
|
_08063E8A:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063E8C: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08063E90
|
|
sub_08063E90: @ 0x08063E90
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #9]
|
|
movs r1, #0x15
|
|
eors r0, r1
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
lsls r1, r1, #4
|
|
ldr r0, _08063EC8 @ =gUnk_0810F524
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08063F1E
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0xe]
|
|
cmp r1, #0
|
|
beq _08063ECC
|
|
adds r1, r4, #0
|
|
adds r1, #0x70
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _08063ED2
|
|
.align 2, 0
|
|
_08063EC8: .4byte gUnk_0810F524
|
|
_08063ECC:
|
|
adds r0, r4, #0
|
|
adds r0, #0x70
|
|
strb r1, [r0]
|
|
_08063ED2:
|
|
movs r0, #0
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
bl sub_0805ACC0
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _08063EF2
|
|
ldrh r0, [r4, #0x2e]
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strh r0, [r1]
|
|
ldrh r0, [r4, #0x32]
|
|
adds r1, #2
|
|
strh r0, [r1]
|
|
b _08063EFE
|
|
_08063EF2:
|
|
lsrs r1, r2, #0x10
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strh r1, [r0]
|
|
adds r0, #2
|
|
strh r2, [r0]
|
|
_08063EFE:
|
|
adds r1, r4, #0
|
|
adds r1, #0x71
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
subs r1, #0x39
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08016A04
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r4, #0
|
|
bl sub_08063F20
|
|
_08063F1E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08063F20
|
|
sub_08063F20: @ 0x08063F20
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _08063F72
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
movs r1, #0
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
ldr r1, _08063F74 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
adds r0, #0x70
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08064428
|
|
_08063F72:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08063F74: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08063F78
|
|
sub_08063F78: @ 0x08063F78
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08063FA8 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08063FA6
|
|
ldrb r0, [r2, #0xc]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r0, r2, #0
|
|
adds r0, #0x70
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
adds r0, #4
|
|
adds r1, r1, r0
|
|
adds r0, r2, #0
|
|
bl sub_08004260
|
|
_08063FA6:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08063FA8: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08063FAC
|
|
sub_08063FAC: @ 0x08063FAC
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x3f
|
|
adds r2, r0, #0
|
|
ands r2, r1
|
|
ldrb r3, [r6, #0x1e]
|
|
adds r5, r0, #0
|
|
ands r5, r3
|
|
adds r1, r6, #0
|
|
adds r1, #0x5b
|
|
ldrb r1, [r1]
|
|
adds r4, r0, #0
|
|
ands r4, r1
|
|
ldrb r0, [r6, #9]
|
|
cmp r0, #0x15
|
|
bne _08063FEC
|
|
movs r0, #0x40
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _08063FE2
|
|
adds r5, #0x21
|
|
movs r2, #1
|
|
rsbs r2, r2, #0
|
|
movs r4, #0
|
|
b _08063FF6
|
|
_08063FE2:
|
|
adds r2, #0x19
|
|
cmp r4, #0
|
|
beq _08063FF6
|
|
adds r4, #0x1f
|
|
b _08063FF6
|
|
_08063FEC:
|
|
adds r2, #0x46
|
|
adds r5, #0x2d
|
|
cmp r4, #0
|
|
beq _08063FF6
|
|
adds r4, #0x4c
|
|
_08063FF6:
|
|
subs r4, #1
|
|
adds r0, r6, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
adds r2, r5, #0
|
|
bl sub_0806FF60
|
|
adds r0, r6, #0
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl sub_0806FF60
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
movs r2, #2
|
|
bl sub_0806FFD8
|
|
adds r0, r6, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08064030
|
|
sub_08064030: @ 0x08064030
|
|
ldr r0, _08064040 @ =gUnk_02034350
|
|
ldr r2, [r0, #0x68]
|
|
rsbs r0, r2, #0
|
|
orrs r0, r2
|
|
lsrs r0, r0, #0x1f
|
|
str r0, [r1, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
_08064040: .4byte gUnk_02034350
|
|
|
|
thumb_func_start sub_08064044
|
|
sub_08064044: @ 0x08064044
|
|
ldr r1, _0806404C @ =gUnk_030010A0
|
|
movs r0, #1
|
|
strb r0, [r1, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806404C: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_08064050
|
|
sub_08064050: @ 0x08064050
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
movs r1, #0
|
|
str r1, [r2, #4]
|
|
ldrb r0, [r0, #0xb]
|
|
cmp r0, #0x12
|
|
beq _08064072
|
|
cmp r0, #0x12
|
|
bgt _08064068
|
|
cmp r0, #0x11
|
|
beq _0806406E
|
|
b _0806407A
|
|
_08064068:
|
|
cmp r0, #0x13
|
|
beq _08064076
|
|
b _0806407A
|
|
_0806406E:
|
|
movs r0, #1
|
|
b _08064078
|
|
_08064072:
|
|
movs r0, #2
|
|
b _08064078
|
|
_08064076:
|
|
movs r0, #3
|
|
_08064078:
|
|
str r0, [r2, #4]
|
|
_0806407A:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806407C
|
|
sub_0806407C: @ 0x0806407C
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r5, #0x18]
|
|
cmp r0, #0
|
|
bne _080640E8
|
|
adds r0, #1
|
|
strb r0, [r5, #0x18]
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x20
|
|
strh r0, [r5, #0x12]
|
|
bl sub_08000E50
|
|
adds r1, r0, #0
|
|
movs r0, #0x18
|
|
ands r1, r0
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #8
|
|
beq _080640C4
|
|
cmp r0, #8
|
|
bgt _080640B2
|
|
cmp r0, #0
|
|
beq _080640BC
|
|
b _080640DA
|
|
_080640B2:
|
|
cmp r0, #0x10
|
|
beq _080640CC
|
|
cmp r0, #0x18
|
|
beq _080640D4
|
|
b _080640DA
|
|
_080640BC:
|
|
cmp r1, #0x10
|
|
bne _080640DA
|
|
movs r1, #8
|
|
b _080640DA
|
|
_080640C4:
|
|
cmp r1, #0x18
|
|
bne _080640DA
|
|
movs r1, #0x10
|
|
b _080640DA
|
|
_080640CC:
|
|
cmp r1, #0
|
|
bne _080640DA
|
|
movs r1, #0x18
|
|
b _080640DA
|
|
_080640D4:
|
|
cmp r1, #8
|
|
bne _080640DA
|
|
movs r1, #0
|
|
_080640DA:
|
|
strb r1, [r4, #0x15]
|
|
adds r0, r1, #0
|
|
bl sub_0806F5B0
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x80
|
|
strh r0, [r4, #0x24]
|
|
_080640E8:
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r2, r0, #1
|
|
adds r1, r2, #4
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _0806410A
|
|
adds r0, r4, #0
|
|
adds r0, #0x70
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
adds r1, #4
|
|
adds r1, r2, r1
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_0806410A:
|
|
adds r0, r4, #0
|
|
bl sub_080AEF88
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x68
|
|
movs r3, #0
|
|
ldrsh r0, [r2, r3]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _0806412C
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_0806412C:
|
|
movs r3, #0x10
|
|
rsbs r3, r3, #0
|
|
cmp r1, r3
|
|
bge _0806413E
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_0806413E:
|
|
movs r6, #0x32
|
|
ldrsh r1, [r4, r6]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6a
|
|
movs r6, #0
|
|
ldrsh r0, [r2, r6]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _0806415A
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_0806415A:
|
|
cmp r1, r3
|
|
bge _08064168
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_08064168:
|
|
ldrh r0, [r5, #0x12]
|
|
subs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
beq _0806417A
|
|
ldr r1, _0806417C @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_0806417A:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806417C: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08064180
|
|
sub_08064180: @ 0x08064180
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x15
|
|
movs r2, #7
|
|
bl sub_0805EB00
|
|
cmp r0, #0
|
|
beq _08064194
|
|
bl sub_0805E7BC
|
|
_08064194:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064198
|
|
sub_08064198: @ 0x08064198
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r5, #0
|
|
adds r4, #0x71
|
|
ldrb r1, [r4]
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _080641AE
|
|
subs r0, r1, #1
|
|
strb r0, [r4]
|
|
_080641AE:
|
|
ldr r0, _080641D8 @ =gLinkEntity
|
|
movs r2, #0x32
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, #0x32
|
|
ldrsh r0, [r5, r2]
|
|
subs r1, r1, r0
|
|
cmp r1, #2
|
|
ble _080641C0
|
|
movs r1, #2
|
|
_080641C0:
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bge _080641CA
|
|
adds r1, r0, #0
|
|
_080641CA:
|
|
adds r6, r4, #0
|
|
cmp r1, #0
|
|
beq _08064256
|
|
cmp r1, #0
|
|
ble _080641DC
|
|
movs r0, #0x10
|
|
b _080641DE
|
|
.align 2, 0
|
|
_080641D8: .4byte gLinkEntity
|
|
_080641DC:
|
|
movs r0, #0
|
|
_080641DE:
|
|
strb r0, [r5, #0x15]
|
|
cmp r1, #0
|
|
bge _080641E6
|
|
rsbs r1, r1, #0
|
|
_080641E6:
|
|
lsls r0, r1, #8
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0x32
|
|
ldrsh r4, [r5, r0]
|
|
adds r0, r5, #0
|
|
bl sub_080AEF88
|
|
movs r1, #0x32
|
|
ldrsh r0, [r5, r1]
|
|
adds r6, r5, #0
|
|
adds r6, #0x71
|
|
cmp r4, r0
|
|
beq _08064256
|
|
ldr r0, _080642B0 @ =gLinkEntity
|
|
movs r2, #0x24
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #1
|
|
cmp r1, r0
|
|
ble _08064222
|
|
ldr r0, _080642B4 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #6
|
|
bl __modsi3
|
|
cmp r0, #0
|
|
bne _08064222
|
|
adds r0, r5, #0
|
|
bl sub_080A29FC
|
|
_08064222:
|
|
adds r4, r5, #0
|
|
adds r4, #0x71
|
|
movs r0, #0xa
|
|
strb r0, [r4]
|
|
ldrb r0, [r5, #0x15]
|
|
bl sub_0806F5B0
|
|
strb r0, [r5, #0x14]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x19
|
|
adds r1, r5, #0
|
|
adds r1, #0x70
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
adds r1, #4
|
|
adds r1, r0, r1
|
|
adds r0, r5, #0
|
|
adds r0, #0x58
|
|
adds r6, r4, #0
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _08064256
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_08064256:
|
|
movs r0, #0
|
|
ldrsb r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _0806428C
|
|
ldr r1, _080642B0 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5B0
|
|
strb r0, [r5, #0x14]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x19
|
|
adds r1, r5, #0
|
|
adds r1, #0x70
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
adds r1, r0, r1
|
|
adds r0, r5, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _0806428C
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_0806428C:
|
|
adds r0, r5, #0
|
|
bl sub_0806ED78
|
|
movs r0, #0x36
|
|
ldrsh r4, [r5, r0]
|
|
ldr r0, _080642B0 @ =gLinkEntity
|
|
ldrh r0, [r0, #0x36]
|
|
strh r0, [r5, #0x36]
|
|
cmp r4, #0
|
|
bge _080642AC
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _080642AC
|
|
adds r0, r5, #0
|
|
bl sub_080A29FC
|
|
_080642AC:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080642B0: .4byte gLinkEntity
|
|
_080642B4: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_080642B8
|
|
sub_080642B8: @ 0x080642B8
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r5, #0
|
|
adds r4, #0x71
|
|
ldrb r1, [r4]
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _080642CE
|
|
subs r0, r1, #1
|
|
strb r0, [r4]
|
|
_080642CE:
|
|
ldr r0, _080642F8 @ =gLinkEntity
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r5, r2]
|
|
subs r1, r1, r0
|
|
cmp r1, #2
|
|
ble _080642E0
|
|
movs r1, #2
|
|
_080642E0:
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bge _080642EA
|
|
adds r1, r0, #0
|
|
_080642EA:
|
|
adds r6, r4, #0
|
|
cmp r1, #0
|
|
beq _08064376
|
|
cmp r1, #0
|
|
ble _080642FC
|
|
movs r0, #8
|
|
b _080642FE
|
|
.align 2, 0
|
|
_080642F8: .4byte gLinkEntity
|
|
_080642FC:
|
|
movs r0, #0x18
|
|
_080642FE:
|
|
strb r0, [r5, #0x15]
|
|
cmp r1, #0
|
|
bge _08064306
|
|
rsbs r1, r1, #0
|
|
_08064306:
|
|
lsls r0, r1, #8
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0x2e
|
|
ldrsh r4, [r5, r0]
|
|
adds r0, r5, #0
|
|
bl sub_080AEF88
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
adds r6, r5, #0
|
|
adds r6, #0x71
|
|
cmp r4, r0
|
|
beq _08064376
|
|
ldr r0, _080643D0 @ =gLinkEntity
|
|
movs r2, #0x24
|
|
ldrsh r1, [r0, r2]
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #1
|
|
cmp r1, r0
|
|
ble _08064342
|
|
ldr r0, _080643D4 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #6
|
|
bl __modsi3
|
|
cmp r0, #0
|
|
bne _08064342
|
|
adds r0, r5, #0
|
|
bl sub_080A29FC
|
|
_08064342:
|
|
adds r4, r5, #0
|
|
adds r4, #0x71
|
|
movs r0, #0xa
|
|
strb r0, [r4]
|
|
ldrb r0, [r5, #0x15]
|
|
bl sub_0806F5B0
|
|
strb r0, [r5, #0x14]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x19
|
|
adds r1, r5, #0
|
|
adds r1, #0x70
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
adds r1, #4
|
|
adds r1, r0, r1
|
|
adds r0, r5, #0
|
|
adds r0, #0x58
|
|
adds r6, r4, #0
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _08064376
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_08064376:
|
|
movs r0, #0
|
|
ldrsb r0, [r6, r0]
|
|
cmp r0, #0
|
|
bne _080643AC
|
|
ldr r1, _080643D0 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5B0
|
|
strb r0, [r5, #0x14]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x19
|
|
adds r1, r5, #0
|
|
adds r1, #0x70
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
adds r1, r0, r1
|
|
adds r0, r5, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _080643AC
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_080643AC:
|
|
adds r0, r5, #0
|
|
bl sub_0806ED78
|
|
movs r0, #0x36
|
|
ldrsh r4, [r5, r0]
|
|
ldr r0, _080643D0 @ =gLinkEntity
|
|
ldrh r0, [r0, #0x36]
|
|
strh r0, [r5, #0x36]
|
|
cmp r4, #0
|
|
bge _080643CC
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _080643CC
|
|
adds r0, r5, #0
|
|
bl sub_080A29FC
|
|
_080643CC:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080643D0: .4byte gLinkEntity
|
|
_080643D4: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_080643D8
|
|
sub_080643D8: @ 0x080643D8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #2
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080643EA
|
|
movs r3, #0
|
|
b _08064406
|
|
_080643EA:
|
|
movs r0, #2
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _080643F8
|
|
movs r3, #1
|
|
b _08064406
|
|
_080643F8:
|
|
movs r0, #3
|
|
bl sub_0807CA84
|
|
movs r3, #3
|
|
cmp r0, #0
|
|
bne _08064406
|
|
movs r3, #2
|
|
_08064406:
|
|
ldrb r1, [r4, #0xb]
|
|
rsbs r0, r1, #0
|
|
orrs r0, r1
|
|
lsrs r0, r0, #0x1f
|
|
ldr r2, _08064424 @ =gUnk_0810F6D4
|
|
lsls r1, r3, #1
|
|
lsls r0, r0, #3
|
|
adds r1, r1, r0
|
|
adds r1, r1, r2
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08064424: .4byte gUnk_0810F6D4
|
|
|
|
thumb_func_start sub_08064428
|
|
sub_08064428: @ 0x08064428
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _0806444C @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r1, r0, #2
|
|
cmp r1, #0
|
|
bge _08064438
|
|
movs r1, #0
|
|
_08064438:
|
|
ldrb r2, [r3, #0xb]
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08064454
|
|
ldrb r0, [r3, #0xb]
|
|
lsls r0, r0, #3
|
|
ldr r1, _08064450 @ =gUnk_0810CF4C
|
|
b _08064460
|
|
.align 2, 0
|
|
_0806444C: .4byte gUnk_02002A40
|
|
_08064450: .4byte gUnk_0810CF4C
|
|
_08064454:
|
|
movs r0, #0x7f
|
|
ands r0, r2
|
|
lsls r0, r0, #6
|
|
lsls r1, r1, #3
|
|
ldr r2, _0806446C @ =gUnk_0810D0A4
|
|
adds r1, r1, r2
|
|
_08064460:
|
|
adds r1, r0, r1
|
|
adds r0, r3, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806446C: .4byte gUnk_0810D0A4
|
|
|
|
thumb_func_start sub_08064470
|
|
sub_08064470: @ 0x08064470
|
|
push {lr}
|
|
ldr r0, _08064484 @ =gUnk_03003F80
|
|
adds r0, #0xab
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _0806447E
|
|
movs r0, #0
|
|
_0806447E:
|
|
str r0, [r1, #0x14]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08064484: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08064488
|
|
sub_08064488: @ 0x08064488
|
|
push {lr}
|
|
ldr r1, _080644A0 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
beq _0806449C
|
|
adds r1, #0xab
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_0806449C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080644A0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080644A4
|
|
sub_080644A4: @ 0x080644A4
|
|
ldr r0, _080644B0 @ =gUnk_03003F80
|
|
adds r0, #0xab
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_080644B0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080644B4
|
|
sub_080644B4: @ 0x080644B4
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
movs r3, #0
|
|
ldrb r1, [r0, #0x14]
|
|
ldr r0, [r2, #4]
|
|
cmp r1, r0
|
|
bne _080644C4
|
|
movs r3, #1
|
|
_080644C4:
|
|
str r3, [r2, #0x14]
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080644C8
|
|
sub_080644C8: @ 0x080644C8
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r2, r1]
|
|
ldr r3, _08064500 @ =gUnk_03000BF0
|
|
movs r4, #0xa
|
|
ldrsh r1, [r3, r4]
|
|
subs r1, r0, r1
|
|
adds r0, r1, #0
|
|
adds r0, #8
|
|
cmp r0, #0
|
|
blt _08064504
|
|
adds r0, r1, #0
|
|
subs r0, #8
|
|
cmp r0, #0xf0
|
|
bgt _08064504
|
|
movs r0, #0x32
|
|
ldrsh r1, [r2, r0]
|
|
movs r2, #0xc
|
|
ldrsh r0, [r3, r2]
|
|
subs r0, r1, r0
|
|
cmp r0, #0
|
|
blt _08064504
|
|
subs r0, #0x18
|
|
cmp r0, #0xa0
|
|
bgt _08064504
|
|
movs r0, #1
|
|
b _08064506
|
|
.align 2, 0
|
|
_08064500: .4byte gUnk_03000BF0
|
|
_08064504:
|
|
movs r0, #0
|
|
_08064506:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08064508
|
|
sub_08064508: @ 0x08064508
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806451E
|
|
adds r0, r2, #0
|
|
bl sub_08064570
|
|
b _08064522
|
|
_0806451E:
|
|
bl sub_0805E780
|
|
_08064522:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08064524
|
|
sub_08064524: @ 0x08064524
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0x7f
|
|
ands r2, r0
|
|
ldrb r5, [r4, #0x1e]
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #0x16
|
|
bne _08064540
|
|
cmp r2, #0
|
|
beq _08064548
|
|
adds r2, #0xa
|
|
b _08064548
|
|
_08064540:
|
|
cmp r2, #0
|
|
beq _08064546
|
|
adds r2, #0x1a
|
|
_08064546:
|
|
adds r5, #0x10
|
|
_08064548:
|
|
subs r2, #1
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
adds r2, r5, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064570
|
|
sub_08064570: @ 0x08064570
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #1
|
|
beq _080645EA
|
|
cmp r5, #1
|
|
bgt _08064584
|
|
cmp r5, #0
|
|
beq _0806458A
|
|
b _0806463C
|
|
_08064584:
|
|
cmp r5, #2
|
|
beq _0806462C
|
|
b _0806463C
|
|
_0806458A:
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0x16
|
|
eors r1, r0
|
|
rsbs r0, r1, #0
|
|
orrs r0, r1
|
|
lsrs r0, r0, #0x1f
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
ldr r0, _080645D0 @ =gUnk_0810F874
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806463C
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r5, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
bl sub_0805ACC0
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _080645D4
|
|
ldrh r0, [r4, #0x2e]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6c
|
|
strh r0, [r1]
|
|
ldrh r0, [r4, #0x32]
|
|
adds r1, #2
|
|
strh r0, [r1]
|
|
b _080645E0
|
|
.align 2, 0
|
|
_080645D0: .4byte gUnk_0810F874
|
|
_080645D4:
|
|
lsrs r1, r2, #0x10
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
strh r1, [r0]
|
|
adds r0, #2
|
|
strh r2, [r0]
|
|
_080645E0:
|
|
movs r0, #0
|
|
str r0, [r4, #0x68]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
_080645EA:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _0806463C
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
movs r1, #0
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
ldr r1, _08064628 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
ldr r0, [r4, #0x68]
|
|
cmp r0, #0
|
|
beq _0806463C
|
|
bl _call_via_r0
|
|
b _0806463C
|
|
.align 2, 0
|
|
_08064628: .4byte gLinkEntity
|
|
_0806462C:
|
|
ldr r0, _08064640 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806463C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806463C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08064640: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08064644
|
|
sub_08064644: @ 0x08064644
|
|
ldr r1, [r1, #4]
|
|
str r1, [r0, #0x68]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806464C
|
|
sub_0806464C: @ 0x0806464C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x15
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806465E
|
|
movs r4, #2
|
|
b _08064674
|
|
_0806465E:
|
|
movs r0, #0xa0
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08064672
|
|
movs r4, #0
|
|
movs r0, #0xa0
|
|
bl sub_0807CCB4
|
|
b _08064674
|
|
_08064672:
|
|
movs r4, #1
|
|
_08064674:
|
|
ldr r0, _08064684 @ =gUnk_0810F88C
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08064684: .4byte gUnk_0810F88C
|
|
|
|
thumb_func_start sub_08064688
|
|
sub_08064688: @ 0x08064688
|
|
push {lr}
|
|
ldr r1, _0806469C @ =gUnk_02002A40
|
|
ldrb r1, [r1, #8]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080646A0 @ =gUnk_0810F894
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806469C: .4byte gUnk_02002A40
|
|
_080646A0: .4byte gUnk_0810F894
|
|
|
|
thumb_func_start sub_080646A4
|
|
sub_080646A4: @ 0x080646A4
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r5, #0x18]
|
|
cmp r0, #0
|
|
bne _08064710
|
|
adds r0, #1
|
|
strb r0, [r5, #0x18]
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x20
|
|
strh r0, [r5, #0x12]
|
|
bl sub_08000E50
|
|
adds r1, r0, #0
|
|
movs r0, #0x18
|
|
ands r1, r0
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #8
|
|
beq _080646EC
|
|
cmp r0, #8
|
|
bgt _080646DA
|
|
cmp r0, #0
|
|
beq _080646E4
|
|
b _08064702
|
|
_080646DA:
|
|
cmp r0, #0x10
|
|
beq _080646F4
|
|
cmp r0, #0x18
|
|
beq _080646FC
|
|
b _08064702
|
|
_080646E4:
|
|
cmp r1, #0x10
|
|
bne _08064702
|
|
movs r1, #8
|
|
b _08064702
|
|
_080646EC:
|
|
cmp r1, #0x18
|
|
bne _08064702
|
|
movs r1, #0x10
|
|
b _08064702
|
|
_080646F4:
|
|
cmp r1, #0
|
|
bne _08064702
|
|
movs r1, #0x18
|
|
b _08064702
|
|
_080646FC:
|
|
cmp r1, #8
|
|
bne _08064702
|
|
movs r1, #0
|
|
_08064702:
|
|
strb r1, [r4, #0x15]
|
|
adds r0, r1, #0
|
|
bl sub_0806F5B0
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x80
|
|
strh r0, [r4, #0x24]
|
|
_08064710:
|
|
ldr r0, [r5, #8]
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
str r0, [r5, #8]
|
|
adds r0, r4, #0
|
|
bl sub_080AEF88
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6c
|
|
movs r3, #0
|
|
ldrsh r0, [r2, r3]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _0806473A
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_0806473A:
|
|
movs r3, #0x10
|
|
rsbs r3, r3, #0
|
|
cmp r1, r3
|
|
bge _0806474C
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_0806474C:
|
|
movs r6, #0x32
|
|
ldrsh r1, [r4, r6]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6e
|
|
movs r6, #0
|
|
ldrsh r0, [r2, r6]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _08064768
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_08064768:
|
|
cmp r1, r3
|
|
bge _08064776
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
_08064776:
|
|
ldrh r0, [r5, #0x12]
|
|
subs r0, #1
|
|
strh r0, [r5, #0x12]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
beq _08064788
|
|
ldr r1, _0806478C @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_08064788:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806478C: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08064790
|
|
sub_08064790: @ 0x08064790
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _080647C2
|
|
cmp r0, #1
|
|
bgt _080647A4
|
|
cmp r0, #0
|
|
beq _080647AA
|
|
b _08064824
|
|
_080647A4:
|
|
cmp r0, #2
|
|
beq _0806480A
|
|
b _08064824
|
|
_080647AA:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _08064824
|
|
_080647C2:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08064800
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
adds r0, #0x10
|
|
strb r1, [r0]
|
|
ldr r1, _080647FC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _08064824
|
|
.align 2, 0
|
|
_080647FC: .4byte gLinkEntity
|
|
_08064800:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _08064824
|
|
_0806480A:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08064824
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08064824:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064828
|
|
sub_08064828: @ 0x08064828
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r5, r0, #0
|
|
ldr r6, _08064858 @ =gUnk_02002A40
|
|
adds r0, r4, #0
|
|
bl sub_08002632
|
|
ldr r2, _0806485C @ =0x00000141
|
|
adds r1, r6, r2
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0806484E
|
|
ldrb r0, [r6, #8]
|
|
cmp r0, #6
|
|
bhi _0806484E
|
|
movs r5, #0
|
|
_0806484E:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08078784
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08064858: .4byte gUnk_02002A40
|
|
_0806485C: .4byte 0x00000141
|
|
|
|
thumb_func_start sub_08064860
|
|
sub_08064860: @ 0x08064860
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08064886
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _0806488C
|
|
_08064886:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806488C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064890
|
|
sub_08064890: @ 0x08064890
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _080648C2
|
|
cmp r0, #1
|
|
bgt _080648A4
|
|
cmp r0, #0
|
|
beq _080648AA
|
|
b _08064924
|
|
_080648A4:
|
|
cmp r0, #2
|
|
beq _0806490A
|
|
b _08064924
|
|
_080648AA:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _08064924
|
|
_080648C2:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08064900
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
adds r0, #0x10
|
|
strb r1, [r0]
|
|
ldr r1, _080648FC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _08064924
|
|
.align 2, 0
|
|
_080648FC: .4byte gLinkEntity
|
|
_08064900:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _08064924
|
|
_0806490A:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08064924
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08064924:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064928
|
|
sub_08064928: @ 0x08064928
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r5, r0, #0
|
|
ldr r6, _08064958 @ =gUnk_02002A40
|
|
adds r0, r4, #0
|
|
bl sub_08002632
|
|
ldr r2, _0806495C @ =0x00000141
|
|
adds r1, r6, r2
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0806494E
|
|
ldrb r0, [r6, #8]
|
|
cmp r0, #6
|
|
bhi _0806494E
|
|
movs r5, #0
|
|
_0806494E:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08078784
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08064958: .4byte gUnk_02002A40
|
|
_0806495C: .4byte 0x00000141
|
|
|
|
thumb_func_start sub_08064960
|
|
sub_08064960: @ 0x08064960
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08064986
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _0806498C
|
|
_08064986:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806498C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064990
|
|
sub_08064990: @ 0x08064990
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _080649C2
|
|
cmp r0, #1
|
|
bgt _080649A4
|
|
cmp r0, #0
|
|
beq _080649AA
|
|
b _08064A24
|
|
_080649A4:
|
|
cmp r0, #2
|
|
beq _08064A0A
|
|
b _08064A24
|
|
_080649AA:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _08064A24
|
|
_080649C2:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08064A00
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
adds r0, #0x10
|
|
strb r1, [r0]
|
|
ldr r1, _080649FC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _08064A24
|
|
.align 2, 0
|
|
_080649FC: .4byte gLinkEntity
|
|
_08064A00:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _08064A24
|
|
_08064A0A:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08064A24
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08064A24:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064A28
|
|
sub_08064A28: @ 0x08064A28
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r5, r0, #0
|
|
ldr r6, _08064A58 @ =gUnk_02002A40
|
|
adds r0, r4, #0
|
|
bl sub_08002632
|
|
ldr r2, _08064A5C @ =0x00000141
|
|
adds r1, r6, r2
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08064A4E
|
|
ldrb r0, [r6, #8]
|
|
cmp r0, #6
|
|
bhi _08064A4E
|
|
movs r5, #0
|
|
_08064A4E:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08078784
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08064A58: .4byte gUnk_02002A40
|
|
_08064A5C: .4byte 0x00000141
|
|
|
|
thumb_func_start sub_08064A60
|
|
sub_08064A60: @ 0x08064A60
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08064A86
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _08064A8C
|
|
_08064A86:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08064A8C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064A90
|
|
sub_08064A90: @ 0x08064A90
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08064ABC
|
|
ldr r0, _08064AB8 @ =gUnk_0810FA44
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
b _08064B42
|
|
.align 2, 0
|
|
_08064AB8: .4byte gUnk_0810FA44
|
|
_08064ABC:
|
|
ldrb r1, [r4, #0xc]
|
|
adds r5, r1, #0
|
|
cmp r5, #0
|
|
bne _08064AE4
|
|
ldr r1, _08064AE0 @ =gUnk_0810FA38
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08064B42
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r5, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _08064B42
|
|
.align 2, 0
|
|
_08064AE0: .4byte gUnk_0810FA38
|
|
_08064AE4:
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
cmp r3, #0
|
|
beq _08064B00
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08064B42
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
b _08064B42
|
|
_08064B00:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #2
|
|
bne _08064B34
|
|
movs r0, #0xff
|
|
orrs r0, r1
|
|
strb r0, [r4, #0xc]
|
|
strb r3, [r2]
|
|
ldr r1, _08064B30 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08064B42
|
|
.align 2, 0
|
|
_08064B30: .4byte gLinkEntity
|
|
_08064B34:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
adds r0, r4, #0
|
|
bl sub_08064C9C
|
|
_08064B42:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08064B44
|
|
sub_08064B44: @ 0x08064B44
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08064B80 @ =gUnk_0810FA38
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08064B7E
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
ldr r1, _08064B84 @ =gUnk_0810FA5A
|
|
adds r0, r4, #0
|
|
movs r2, #0
|
|
bl sub_0806EE04
|
|
adds r0, r4, #0
|
|
bl sub_08064CC0
|
|
movs r1, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
_08064B7E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08064B80: .4byte gUnk_0810FA38
|
|
_08064B84: .4byte gUnk_0810FA5A
|
|
|
|
thumb_func_start sub_08064B88
|
|
sub_08064B88: @ 0x08064B88
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r4, #0
|
|
adds r5, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #1
|
|
beq _08064BFA
|
|
cmp r0, #1
|
|
bgt _08064BA2
|
|
cmp r0, #0
|
|
beq _08064BA8
|
|
b _08064BFA
|
|
_08064BA2:
|
|
cmp r0, #2
|
|
beq _08064BCE
|
|
b _08064BFA
|
|
_08064BA8:
|
|
adds r0, r4, #0
|
|
bl sub_0806EE20
|
|
adds r2, r0, #0
|
|
adds r0, r4, #0
|
|
adds r0, #0x3e
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x14]
|
|
cmp r2, #0
|
|
beq _08064BC6
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08064BC6:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
b _08064C28
|
|
_08064BCE:
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _08064BE0
|
|
ldrb r1, [r4, #0x14]
|
|
_08064BE0:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
movs r0, #0
|
|
strb r0, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08064C28
|
|
_08064BFA:
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _08064C0C
|
|
ldrb r1, [r4, #0x14]
|
|
_08064C0C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08064CD8
|
|
_08064C28:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064C2C
|
|
sub_08064C2C: @ 0x08064C2C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08064C4C @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08064C48
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0xf]
|
|
adds r0, r2, #0
|
|
bl sub_08004260
|
|
_08064C48:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08064C4C: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08064C50
|
|
sub_08064C50: @ 0x08064C50
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08064C68
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08064C68:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064C6C
|
|
sub_08064C6C: @ 0x08064C6C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0x3f
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08064C9C
|
|
sub_08064C9C: @ 0x08064C9C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r0, #0
|
|
beq _08064CB8
|
|
ldr r0, _08064CBC @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08064CB8
|
|
adds r0, r2, #0
|
|
bl sub_080A29BC
|
|
_08064CB8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08064CBC: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_08064CC0
|
|
sub_08064CC0: @ 0x08064CC0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08064CD8
|
|
sub_08064CD8: @ 0x08064CD8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #2
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08064CF4
|
|
movs r0, #0x73
|
|
bl sub_0807CBD0
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
_08064CF4:
|
|
ldr r0, _08064D04 @ =gUnk_0810FA54
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08064D04: .4byte gUnk_0810FA54
|
|
|
|
thumb_func_start sub_08064D08
|
|
sub_08064D08: @ 0x08064D08
|
|
movs r1, #1
|
|
strb r1, [r0, #0xe]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064D10
|
|
sub_08064D10: @ 0x08064D10
|
|
movs r1, #0
|
|
strb r1, [r0, #0xe]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064D18
|
|
sub_08064D18: @ 0x08064D18
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08064D50
|
|
ldr r1, _08064D4C @ =gUnk_0810FA38
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08064D56
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
b _08064D56
|
|
.align 2, 0
|
|
_08064D4C: .4byte gUnk_0810FA38
|
|
_08064D50:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08064D56:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08064D58
|
|
sub_08064D58: @ 0x08064D58
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08064D6E
|
|
adds r0, r2, #0
|
|
bl sub_08064DE4
|
|
b _08064D74
|
|
_08064D6E:
|
|
adds r0, r2, #0
|
|
bl sub_08064D78
|
|
_08064D74:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064D78
|
|
sub_08064D78: @ 0x08064D78
|
|
push {lr}
|
|
ldr r2, _08064D8C @ =gUnk_0810FBFC
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08064D8C: .4byte gUnk_0810FBFC
|
|
|
|
thumb_func_start sub_08064D90
|
|
sub_08064D90: @ 0x08064D90
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08064DA0
|
|
sub_08064DA0: @ 0x08064DA0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08064EE8
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08064DC8
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
_08064DC8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064DCC
|
|
sub_08064DCC: @ 0x08064DCC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08064EE8
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064DE4
|
|
sub_08064DE4: @ 0x08064DE4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _08064E1A
|
|
cmp r0, #1
|
|
bgt _08064DF8
|
|
cmp r0, #0
|
|
beq _08064DFE
|
|
b _08064E6A
|
|
_08064DF8:
|
|
cmp r0, #2
|
|
beq _08064E56
|
|
b _08064E6A
|
|
_08064DFE:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _08064E6A
|
|
_08064E1A:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08064E4C
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _08064E48 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08064E6A
|
|
.align 2, 0
|
|
_08064E48: .4byte gLinkEntity
|
|
_08064E4C:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _08064E6A
|
|
_08064E56:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08064E6A
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
_08064E6A:
|
|
adds r2, r4, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r5, #0xf
|
|
ands r5, r1
|
|
adds r0, r5, #0
|
|
eors r0, r1
|
|
strb r0, [r2]
|
|
cmp r5, #0
|
|
beq _08064EA0
|
|
movs r1, #0x29
|
|
cmp r5, #3
|
|
bne _08064E86
|
|
movs r1, #0x2a
|
|
_08064E86:
|
|
adds r0, r4, #0
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08064EA0
|
|
cmp r5, #2
|
|
bne _08064EA0
|
|
ldrb r0, [r2, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
_08064EA0:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064EA4
|
|
sub_08064EA4: @ 0x08064EA4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r5, r4, #0
|
|
adds r5, #0x68
|
|
strb r0, [r5]
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
beq _08064EBE
|
|
cmp r0, #3
|
|
beq _08064EC2
|
|
b _08064ED8
|
|
_08064EBE:
|
|
movs r0, #0x59
|
|
b _08064EC4
|
|
_08064EC2:
|
|
movs r0, #0x5a
|
|
_08064EC4:
|
|
bl sub_0801E7F4
|
|
cmp r0, #0
|
|
beq _08064ED8
|
|
movs r0, #0xc
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08064ED8
|
|
strb r0, [r5]
|
|
_08064ED8:
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08064EE8
|
|
sub_08064EE8: @ 0x08064EE8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r2, r4, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r5, #0xf
|
|
ands r5, r1
|
|
adds r0, r5, #0
|
|
eors r0, r1
|
|
strb r0, [r2]
|
|
cmp r5, #0
|
|
beq _08064F26
|
|
movs r1, #0x2a
|
|
cmp r5, #3
|
|
beq _08064F0C
|
|
movs r1, #0x29
|
|
_08064F0C:
|
|
adds r0, r4, #0
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08064F26
|
|
cmp r5, #2
|
|
bne _08064F26
|
|
ldrb r0, [r2, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
_08064F26:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08064F28
|
|
sub_08064F28: @ 0x08064F28
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, #0
|
|
mov r8, r1
|
|
movs r0, #0
|
|
str r0, [r1, #0x14]
|
|
ldr r1, _08064F60 @ =gUnk_0810FC50
|
|
ldrb r0, [r6, #0xa]
|
|
adds r0, r0, r1
|
|
ldrb r7, [r0]
|
|
adds r0, r7, #0
|
|
bl sub_0807CC3C
|
|
cmp r0, #0
|
|
bne _08064F84
|
|
ldr r4, _08064F64 @ =gUnk_02002A40
|
|
adds r0, r6, #0
|
|
bl sub_08002632
|
|
ldr r1, _08064F68 @ =0x00000141
|
|
adds r4, r4, r1
|
|
adds r0, r0, r4
|
|
ldrb r4, [r0]
|
|
cmp r4, #1
|
|
bls _08064F6C
|
|
movs r5, #3
|
|
b _08064F7E
|
|
.align 2, 0
|
|
_08064F60: .4byte gUnk_0810FC50
|
|
_08064F64: .4byte gUnk_02002A40
|
|
_08064F68: .4byte 0x00000141
|
|
_08064F6C:
|
|
movs r0, #0xc
|
|
bl sub_0807CA84
|
|
movs r5, #2
|
|
cmp r0, #0
|
|
bne _08064F7E
|
|
rsbs r0, r4, #0
|
|
orrs r0, r4
|
|
lsrs r5, r0, #0x1f
|
|
_08064F7E:
|
|
movs r4, #1
|
|
rsbs r4, r4, #0
|
|
b _08064FD2
|
|
_08064F84:
|
|
movs r0, #0x3a
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _08064FCE
|
|
ldr r0, _08064FB0 @ =gUnk_02002A40
|
|
ldr r1, _08064FB4 @ =0x00000117
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, #0x64
|
|
subs r4, r0, r1
|
|
cmp r4, #0
|
|
bgt _08064FB8
|
|
movs r5, #8
|
|
movs r4, #0
|
|
movs r0, #0x3a
|
|
bl sub_0807CD04
|
|
movs r0, #1
|
|
mov r1, r8
|
|
str r0, [r1, #0x14]
|
|
b _08064FD2
|
|
.align 2, 0
|
|
_08064FB0: .4byte gUnk_02002A40
|
|
_08064FB4: .4byte 0x00000117
|
|
_08064FB8:
|
|
movs r5, #7
|
|
cmp r4, #9
|
|
ble _08064FC0
|
|
movs r5, #6
|
|
_08064FC0:
|
|
cmp r4, #0x27
|
|
ble _08064FC6
|
|
movs r5, #5
|
|
_08064FC6:
|
|
cmp r4, #0x45
|
|
ble _08064FD2
|
|
movs r5, #4
|
|
b _08064FD2
|
|
_08064FCE:
|
|
movs r5, #8
|
|
movs r4, #0
|
|
_08064FD2:
|
|
ldr r2, _08065008 @ =gUnk_0810FC08
|
|
ldrb r1, [r6, #0xa]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
adds r0, r0, r5
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
cmp r4, #0
|
|
ble _08064FF4
|
|
ldr r1, _0806500C @ =gUnk_02000050
|
|
lsls r0, r4, #0x10
|
|
lsrs r0, r0, #0x10
|
|
str r0, [r1, #0x10]
|
|
_08064FF4:
|
|
adds r0, r7, #0
|
|
bl sub_0807CC3C
|
|
cmp r0, #0
|
|
bne _08065010
|
|
adds r0, r7, #0
|
|
bl sub_0807CD10
|
|
b _08065016
|
|
.align 2, 0
|
|
_08065008: .4byte gUnk_0810FC08
|
|
_0806500C: .4byte gUnk_02000050
|
|
_08065010:
|
|
adds r0, r7, #0
|
|
bl sub_0807CD8C
|
|
_08065016:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0806501C
|
|
sub_0806501C: @ 0x0806501C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806504A
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
movs r1, #6
|
|
ldrb r0, [r2, #0xa]
|
|
cmp r0, #0
|
|
bne _08065042
|
|
movs r1, #0xa
|
|
_08065042:
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
b _08065050
|
|
_0806504A:
|
|
adds r0, r2, #0
|
|
bl sub_08064EE8
|
|
_08065050:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065054
|
|
sub_08065054: @ 0x08065054
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806507C @ =gUnk_0810FDA4
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0807DF74
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806507C: .4byte gUnk_0810FDA4
|
|
|
|
thumb_func_start sub_08065080
|
|
sub_08065080: @ 0x08065080
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
ldr r3, _080650C4 @ =gUnk_0810FDA0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_08078850
|
|
ldr r1, _080650C8 @ =gUnk_080142B0
|
|
adds r0, r4, #0
|
|
bl sub_0807DAD0
|
|
adds r4, #0x84
|
|
str r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080650C4: .4byte gUnk_0810FDA0
|
|
_080650C8: .4byte gUnk_080142B0
|
|
|
|
thumb_func_start sub_080650CC
|
|
sub_080650CC: @ 0x080650CC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, #0
|
|
ldr r6, _080650F8 @ =gUnk_02034350
|
|
ldr r0, [r6, #0x68]
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08065100
|
|
movs r1, #0
|
|
movs r0, #4
|
|
strb r0, [r5, #0xc]
|
|
strb r1, [r5, #0xd]
|
|
adds r0, r5, #0
|
|
adds r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r1, _080650FC @ =gUnk_080143C0
|
|
bl sub_0807DB88
|
|
b _080651A6
|
|
.align 2, 0
|
|
_080650F8: .4byte gUnk_02034350
|
|
_080650FC: .4byte gUnk_080143C0
|
|
_08065100:
|
|
adds r2, r5, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #0
|
|
bne _0806517C
|
|
adds r3, r5, #0
|
|
adds r3, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r3, r0]
|
|
cmp r0, #0
|
|
beq _0806517C
|
|
strb r4, [r3]
|
|
ldrb r0, [r5, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xc]
|
|
adds r0, r5, #0
|
|
movs r1, #7
|
|
bl sub_08004260
|
|
ldrb r0, [r6, #6]
|
|
cmp r0, #0
|
|
bne _0806513C
|
|
ldr r7, _08065138 @ =0x00002C01
|
|
b _0806515E
|
|
.align 2, 0
|
|
_08065138: .4byte 0x00002C01
|
|
_0806513C:
|
|
ldrb r0, [r6, #6]
|
|
bl sub_08053FD0
|
|
adds r7, r0, #0
|
|
ldrb r0, [r6, #6]
|
|
bl sub_08053FE0
|
|
mov r8, r0
|
|
movs r0, #4
|
|
strb r0, [r5, #0xc]
|
|
strb r4, [r5, #0xd]
|
|
adds r0, r5, #0
|
|
adds r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r1, _08065174 @ =gUnk_08014384
|
|
bl sub_0807DB88
|
|
_0806515E:
|
|
adds r0, r7, #0
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
ldr r1, _08065178 @ =gUnk_02000050
|
|
mov r2, r8
|
|
lsls r0, r2, #0x10
|
|
lsrs r0, r0, #0x10
|
|
str r0, [r1, #0x10]
|
|
b _080651A6
|
|
.align 2, 0
|
|
_08065174: .4byte gUnk_08014384
|
|
_08065178: .4byte gUnk_02000050
|
|
_0806517C:
|
|
ldrb r1, [r2]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080651A0
|
|
ldr r4, _0806519C @ =gUnk_0810FDB8
|
|
bl sub_08000E50
|
|
movs r1, #0xf
|
|
ands r1, r0
|
|
adds r1, r1, r4
|
|
ldrb r1, [r1]
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
b _080651A6
|
|
.align 2, 0
|
|
_0806519C: .4byte gUnk_0810FDB8
|
|
_080651A0:
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
_080651A6:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_080651AC
|
|
sub_080651AC: @ 0x080651AC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
ldr r0, _080651D4 @ =gUnk_02000050
|
|
ldrb r0, [r0]
|
|
movs r1, #0x7f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _080651D2
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
strb r1, [r0]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_08004260
|
|
_080651D2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080651D4: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_080651D8
|
|
sub_080651D8: @ 0x080651D8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
ldr r1, _080651F4 @ =gUnk_0810FDC8
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080651F4: .4byte gUnk_0810FDC8
|
|
|
|
thumb_func_start sub_080651F8
|
|
sub_080651F8: @ 0x080651F8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806522A
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x3c
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_08004260
|
|
movs r2, #0x18
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
bl sub_080A2CFC
|
|
movs r0, #1
|
|
bl sub_08078A90
|
|
_0806522A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806522C
|
|
sub_0806522C: @ 0x0806522C
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08065248
|
|
ldrb r0, [r1, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xd]
|
|
ldr r0, _0806524C @ =0x00002C16
|
|
bl sub_08056398
|
|
_08065248:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806524C: .4byte 0x00002C16
|
|
|
|
thumb_func_start sub_08065250
|
|
sub_08065250: @ 0x08065250
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08056338
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08065264
|
|
cmp r1, #1
|
|
beq _0806527E
|
|
b _0806528A
|
|
_08065264:
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
strb r1, [r4, #0xf]
|
|
movs r2, #0x18
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
bl sub_080A2CFC
|
|
b _0806528A
|
|
_0806527E:
|
|
movs r0, #0
|
|
movs r1, #7
|
|
strb r1, [r4, #0xd]
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #2
|
|
strb r0, [r4, #0xf]
|
|
_0806528A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806528C
|
|
sub_0806528C: @ 0x0806528C
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080652A8
|
|
ldrb r0, [r1, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xd]
|
|
ldr r0, _080652AC @ =0x00002C18
|
|
bl sub_08056398
|
|
_080652A8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080652AC: .4byte 0x00002C18
|
|
|
|
thumb_func_start sub_080652B0
|
|
sub_080652B0: @ 0x080652B0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080652DC @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080652DA
|
|
ldrb r0, [r2, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xd]
|
|
movs r0, #0xa
|
|
strb r0, [r2, #0xe]
|
|
ldr r1, _080652E0 @ =gUnk_02034350
|
|
ldrb r0, [r2, #0xf]
|
|
str r0, [r1, #0x68]
|
|
movs r0, #0x36
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A7C00
|
|
_080652DA:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080652DC: .4byte gUnk_02000050
|
|
_080652E0: .4byte gUnk_02034350
|
|
|
|
thumb_func_start sub_080652E4
|
|
sub_080652E4: @ 0x080652E4
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xe]
|
|
cmp r0, #0
|
|
beq _080652F4
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
b _08065308
|
|
_080652F4:
|
|
ldr r0, _0806530C @ =gLinkEntity
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #8
|
|
beq _08065308
|
|
ldrb r0, [r1, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xd]
|
|
ldr r0, _08065310 @ =0x00002C19
|
|
bl sub_08056398
|
|
_08065308:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806530C: .4byte gLinkEntity
|
|
_08065310: .4byte 0x00002C19
|
|
|
|
thumb_func_start sub_08065314
|
|
sub_08065314: @ 0x08065314
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08065334 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08065332
|
|
ldrb r0, [r2, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xd]
|
|
movs r0, #3
|
|
movs r1, #3
|
|
bl sub_080A7138
|
|
_08065332:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065334: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08065338
|
|
sub_08065338: @ 0x08065338
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08065360 @ =gUnk_02000050
|
|
ldrb r0, [r0]
|
|
movs r1, #0x7f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _0806535C
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
strb r1, [r2, #0xd]
|
|
ldr r1, _08065364 @ =gUnk_02034350
|
|
ldrb r0, [r2, #0xf]
|
|
str r0, [r1, #0x68]
|
|
adds r0, r2, #0
|
|
movs r1, #4
|
|
bl sub_08004260
|
|
_0806535C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065360: .4byte gUnk_02000050
|
|
_08065364: .4byte gUnk_02034350
|
|
|
|
thumb_func_start sub_08065368
|
|
sub_08065368: @ 0x08065368
|
|
push {lr}
|
|
bl sub_08004274
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08065370
|
|
sub_08065370: @ 0x08065370
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r4, r0, #0
|
|
mov r8, r1
|
|
movs r6, #1
|
|
ldr r0, _0806539C @ =gUnk_02034350
|
|
ldrb r5, [r0, #6]
|
|
movs r0, #0
|
|
mov sb, r0
|
|
cmp r5, #0x66
|
|
beq _0806541A
|
|
cmp r5, #0x66
|
|
bhi _080653AA
|
|
cmp r5, #0x61
|
|
beq _08065426
|
|
cmp r5, #0x61
|
|
bhi _080653A0
|
|
cmp r5, #0xd
|
|
beq _080653D0
|
|
b _0806543C
|
|
.align 2, 0
|
|
_0806539C: .4byte gUnk_02034350
|
|
_080653A0:
|
|
cmp r5, #0x64
|
|
beq _08065414
|
|
cmp r5, #0x65
|
|
beq _08065420
|
|
b _0806543C
|
|
_080653AA:
|
|
cmp r5, #0x6c
|
|
blo _0806543C
|
|
cmp r5, #0x6d
|
|
bls _080653EC
|
|
cmp r5, #0x6f
|
|
bhi _0806543C
|
|
ldr r2, _080653C8 @ =gUnk_080FD5A4
|
|
ldr r1, _080653CC @ =gUnk_02002A40
|
|
adds r0, r1, #0
|
|
adds r0, #0xaf
|
|
ldrb r0, [r0]
|
|
adds r0, r0, r2
|
|
adds r1, #0xad
|
|
b _080653FA
|
|
.align 2, 0
|
|
_080653C8: .4byte gUnk_080FD5A4
|
|
_080653CC: .4byte gUnk_02002A40
|
|
_080653D0:
|
|
movs r0, #0xd
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _080653E4
|
|
movs r0, #0xe
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0806543C
|
|
_080653E4:
|
|
ldr r0, _080653E8 @ =0x00002C0B
|
|
b _080654C2
|
|
.align 2, 0
|
|
_080653E8: .4byte 0x00002C0B
|
|
_080653EC:
|
|
ldr r2, _08065408 @ =gUnk_080FD5A0
|
|
ldr r1, _0806540C @ =gUnk_02002A40
|
|
adds r0, r1, #0
|
|
adds r0, #0xae
|
|
ldrb r0, [r0]
|
|
adds r0, r0, r2
|
|
adds r1, #0xac
|
|
_080653FA:
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bhi _0806543C
|
|
ldr r0, _08065410 @ =0x00002C0E
|
|
b _080654C2
|
|
.align 2, 0
|
|
_08065408: .4byte gUnk_080FD5A0
|
|
_0806540C: .4byte gUnk_02002A40
|
|
_08065410: .4byte 0x00002C0E
|
|
_08065414:
|
|
movs r1, #0x55
|
|
mov sb, r1
|
|
b _0806543C
|
|
_0806541A:
|
|
movs r0, #0x56
|
|
mov sb, r0
|
|
b _0806543C
|
|
_08065420:
|
|
movs r1, #0xcd
|
|
mov sb, r1
|
|
b _0806543C
|
|
_08065426:
|
|
ldr r0, _08065494 @ =gUnk_02002A40
|
|
adds r0, #0xc2
|
|
ldrh r1, [r0]
|
|
ldr r0, _08065498 @ =0x000003E6
|
|
cmp r1, r0
|
|
bls _0806543C
|
|
ldr r0, _0806549C @ =0x00002C0E
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
movs r6, #0
|
|
_0806543C:
|
|
cmp r6, #0
|
|
beq _080654C8
|
|
adds r0, r5, #0
|
|
bl sub_08053FE0
|
|
adds r6, r0, #0
|
|
ldr r7, _08065494 @ =gUnk_02002A40
|
|
adds r0, r7, #0
|
|
adds r0, #0xc0
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
bhi _080654C0
|
|
rsbs r0, r6, #0
|
|
bl sub_080526CC
|
|
ldr r4, _080654A0 @ =gUnk_02034350
|
|
ldrb r1, [r4, #7]
|
|
adds r0, r5, #0
|
|
movs r2, #2
|
|
bl sub_080A7C18
|
|
movs r0, #0
|
|
strb r0, [r4, #6]
|
|
strb r0, [r4, #7]
|
|
movs r0, #1
|
|
mov r1, r8
|
|
str r0, [r1, #0x14]
|
|
mov r0, sb
|
|
cmp r0, #0
|
|
beq _0806547C
|
|
bl sub_0807CCB4
|
|
_0806547C:
|
|
ldr r1, [r7, #0x5c]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bhi _0806548A
|
|
adds r0, r1, #1
|
|
str r0, [r7, #0x5c]
|
|
_0806548A:
|
|
ldr r0, [r7, #0x5c]
|
|
cmp r0, #9
|
|
bls _080654A8
|
|
ldr r0, _080654A4 @ =0x00002C11
|
|
b _080654B6
|
|
.align 2, 0
|
|
_08065494: .4byte gUnk_02002A40
|
|
_08065498: .4byte 0x000003E6
|
|
_0806549C: .4byte 0x00002C0E
|
|
_080654A0: .4byte gUnk_02034350
|
|
_080654A4: .4byte 0x00002C11
|
|
_080654A8:
|
|
cmp r6, #0x63
|
|
bls _080654B4
|
|
ldr r0, _080654B0 @ =0x00002C10
|
|
b _080654B6
|
|
.align 2, 0
|
|
_080654B0: .4byte 0x00002C10
|
|
_080654B4:
|
|
ldr r0, _080654BC @ =0x00002C0F
|
|
_080654B6:
|
|
mov r1, r8
|
|
str r0, [r1, #4]
|
|
b _080654CE
|
|
.align 2, 0
|
|
_080654BC: .4byte 0x00002C0F
|
|
_080654C0:
|
|
ldr r0, _080654D8 @ =0x00002C0D
|
|
_080654C2:
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
_080654C8:
|
|
movs r0, #0
|
|
mov r1, r8
|
|
str r0, [r1, #0x14]
|
|
_080654CE:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080654D8: .4byte 0x00002C0D
|
|
|
|
thumb_func_start sub_080654DC
|
|
sub_080654DC: @ 0x080654DC
|
|
push {lr}
|
|
movs r2, #0x18
|
|
rsbs r2, r2, #0
|
|
movs r1, #8
|
|
bl sub_080A2D0C
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080654EC
|
|
sub_080654EC: @ 0x080654EC
|
|
push {lr}
|
|
movs r2, #0x18
|
|
rsbs r2, r2, #0
|
|
movs r1, #8
|
|
bl sub_080A2CFC
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080654FC
|
|
sub_080654FC: @ 0x080654FC
|
|
push {lr}
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08065518
|
|
ldr r1, _08065514 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
b _08065522
|
|
.align 2, 0
|
|
_08065514: .4byte gUnk_02033280
|
|
_08065518:
|
|
ldr r2, _08065524 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
_08065522:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065524: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08065528
|
|
sub_08065528: @ 0x08065528
|
|
ldr r2, _08065530 @ =gUnk_02034350
|
|
ldr r0, [r1, #4]
|
|
str r0, [r2, #0x68]
|
|
bx lr
|
|
.align 2, 0
|
|
_08065530: .4byte gUnk_02034350
|
|
|
|
thumb_func_start sub_08065534
|
|
sub_08065534: @ 0x08065534
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08065558
|
|
ldr r0, _08065554 @ =gUnk_0810FEC4
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
b _08065568
|
|
.align 2, 0
|
|
_08065554: .4byte gUnk_0810FEC4
|
|
_08065558:
|
|
ldr r0, _0806556C @ =gUnk_0810FEBC
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
_08065568:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806556C: .4byte gUnk_0810FEBC
|
|
|
|
thumb_func_start sub_08065570
|
|
sub_08065570: @ 0x08065570
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08065598 @ =gUnk_0810FEB0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08065596
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r0, [r4, #0xf]
|
|
movs r0, #2
|
|
strb r0, [r4, #0x14]
|
|
_08065596:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065598: .4byte gUnk_0810FEB0
|
|
|
|
thumb_func_start sub_0806559C
|
|
sub_0806559C: @ 0x0806559C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #8
|
|
bls _080655D0
|
|
movs r0, #0
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806ED9C
|
|
cmp r0, #0
|
|
bge _080655C6
|
|
ldrb r0, [r4, #0x14]
|
|
adds r1, r0, #4
|
|
b _080655CA
|
|
_080655C6:
|
|
strb r0, [r4, #0x14]
|
|
adds r1, r0, #0
|
|
_080655CA:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
b _080655D6
|
|
_080655D0:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
_080655D6:
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
beq _080655E4
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _080655EA
|
|
_080655E4:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_080655EA:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08065604
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bl sub_080791D0
|
|
_08065604:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065608
|
|
sub_08065608: @ 0x08065608
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08065644 @ =gUnk_0810FEB0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08065640
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
_08065640:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065644: .4byte gUnk_0810FEB0
|
|
|
|
thumb_func_start sub_08065648
|
|
sub_08065648: @ 0x08065648
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r0, #0x39
|
|
adds r0, r0, r2
|
|
mov ip, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #2
|
|
bne _08065676
|
|
ldrb r0, [r2, #0xc]
|
|
adds r3, r2, #0
|
|
adds r3, #0x69
|
|
movs r1, #0
|
|
strb r0, [r3]
|
|
movs r0, #4
|
|
strb r0, [r2, #0xc]
|
|
mov r0, ip
|
|
strb r1, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_0806F118
|
|
b _0806567E
|
|
_08065676:
|
|
adds r0, r2, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_0806567E:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08065680
|
|
sub_08065680: @ 0x08065680
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _080656A0
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_080656A0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080656A4
|
|
sub_080656A4: @ 0x080656A4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _080656D0 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080656C8
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_080656C8:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080656D0: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_080656D4
|
|
sub_080656D4: @ 0x080656D4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r4, #0
|
|
adds r5, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #2
|
|
bne _080656FC
|
|
ldrb r0, [r4, #0xc]
|
|
adds r2, r4, #0
|
|
adds r2, #0x69
|
|
movs r1, #0
|
|
strb r0, [r2]
|
|
movs r0, #4
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08065738
|
|
_080656FC:
|
|
cmp r0, #0
|
|
beq _08065740
|
|
movs r0, #0x37
|
|
bl sub_0807CA84
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _0806571C
|
|
ldr r1, _08065718 @ =gUnk_0800B41C
|
|
adds r0, r4, #0
|
|
bl sub_0807DAD0
|
|
b _08065740
|
|
.align 2, 0
|
|
_08065718: .4byte gUnk_0800B41C
|
|
_0806571C:
|
|
ldrb r0, [r4, #0xc]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r2, [r5]
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #4]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
_08065738:
|
|
adds r0, r4, #0
|
|
bl sub_0806574C
|
|
b _08065748
|
|
_08065740:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_08065748:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806574C
|
|
sub_0806574C: @ 0x0806574C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806577C @ =gLinkEntity
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r5, r4, #0
|
|
adds r5, #0x58
|
|
ldrb r2, [r5]
|
|
movs r1, #4
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
adds r1, r1, r0
|
|
cmp r2, r1
|
|
beq _08065772
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08065772:
|
|
ldrb r1, [r5]
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
strb r1, [r0]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806577C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08065780
|
|
sub_08065780: @ 0x08065780
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08000E50
|
|
movs r2, #6
|
|
adds r1, r0, #0
|
|
ands r1, r2
|
|
strb r1, [r4, #0x14]
|
|
ldr r2, _080657A4 @ =gUnk_0810FED8
|
|
lsrs r0, r0, #8
|
|
movs r1, #7
|
|
ands r0, r1
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
strh r0, [r5, #0x10]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080657A4: .4byte gUnk_0810FED8
|
|
|
|
thumb_func_start sub_080657A8
|
|
sub_080657A8: @ 0x080657A8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #7
|
|
ands r2, r0
|
|
adds r2, #0xb
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080657DC
|
|
sub_080657DC: @ 0x080657DC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08065814
|
|
ldr r1, _08065810 @ =gUnk_0810FEB0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806581A
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
b _0806581A
|
|
.align 2, 0
|
|
_08065810: .4byte gUnk_0810FEB0
|
|
_08065814:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806581A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806581C
|
|
sub_0806581C: @ 0x0806581C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08065840
|
|
ldr r0, _0806583C @ =gUnk_0810FF64
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _0806585C
|
|
.align 2, 0
|
|
_0806583C: .4byte gUnk_0810FF64
|
|
_08065840:
|
|
ldr r1, _08065860 @ =gUnk_0810FF5C
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
beq _0806585C
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_0806585C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065860: .4byte gUnk_0810FF5C
|
|
|
|
thumb_func_start sub_08065864
|
|
sub_08065864: @ 0x08065864
|
|
push {lr}
|
|
movs r3, #1
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
ldrb r2, [r0, #0x18]
|
|
subs r1, #5
|
|
ands r1, r2
|
|
orrs r1, r3
|
|
strb r1, [r0, #0x18]
|
|
movs r1, #0xc
|
|
bl sub_080042AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065880
|
|
sub_08065880: @ 0x08065880
|
|
push {lr}
|
|
bl sub_080042B8
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08065888
|
|
sub_08065888: @ 0x08065888
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080658BC
|
|
sub_080658BC: @ 0x080658BC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _080658F4
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _080658F0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _080658FC
|
|
.align 2, 0
|
|
_080658F0: .4byte gLinkEntity
|
|
_080658F4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_080658FC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065900
|
|
sub_08065900: @ 0x08065900
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08065910
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08065910:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065914
|
|
sub_08065914: @ 0x08065914
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #7
|
|
movs r1, #0x1f
|
|
movs r2, #7
|
|
bl sub_0805EB00
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08065938
|
|
movs r2, #0xc0
|
|
lsls r2, r2, #0xd
|
|
ldr r3, _0806595C @ =0xFFFF0000
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA48
|
|
str r5, [r4, #0x50]
|
|
_08065938:
|
|
movs r0, #7
|
|
movs r1, #0x20
|
|
movs r2, #7
|
|
bl sub_0805EB00
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08065958
|
|
movs r2, #0xa0
|
|
lsls r2, r2, #0xe
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
movs r3, #0
|
|
bl sub_0806FA48
|
|
str r5, [r4, #0x50]
|
|
_08065958:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806595C: .4byte 0xFFFF0000
|
|
|
|
thumb_func_start sub_08065960
|
|
sub_08065960: @ 0x08065960
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08065986
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #0xc
|
|
bl sub_080042AC
|
|
b _0806598C
|
|
_08065986:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806598C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065990
|
|
sub_08065990: @ 0x08065990
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _080659B4 @ =gUnk_0811006C
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_08065A64
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080659B4: .4byte gUnk_0811006C
|
|
|
|
thumb_func_start sub_080659B8
|
|
sub_080659B8: @ 0x080659B8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #6
|
|
strb r0, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080659F0
|
|
sub_080659F0: @ 0x080659F0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_08065AA4
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08065A00
|
|
sub_08065A00: @ 0x08065A00
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_08065AA4
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08065A10
|
|
sub_08065A10: @ 0x08065A10
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08065A30 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08065A2E
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
_08065A2E:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065A30: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08065A34
|
|
sub_08065A34: @ 0x08065A34
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08065A4E
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08065A4E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08065A50
|
|
sub_08065A50: @ 0x08065A50
|
|
push {lr}
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #3
|
|
ldr r2, _08065A60 @ =gUnk_08110080
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065A60: .4byte gUnk_08110080
|
|
|
|
thumb_func_start sub_08065A64
|
|
sub_08065A64: @ 0x08065A64
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08065A8C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
rsbs r0, r0, #0
|
|
lsrs r5, r0, #0x1f
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
beq _08065A9C
|
|
cmp r5, #0
|
|
bne _08065A90
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
b _08065A9C
|
|
.align 2, 0
|
|
_08065A8C: .4byte gUnk_03003F80
|
|
_08065A90:
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080787A8
|
|
_08065A9C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r5, [r0]
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08065AA4
|
|
sub_08065AA4: @ 0x08065AA4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x39
|
|
movs r2, #0
|
|
ldrsb r2, [r0, r2]
|
|
cmp r2, #0
|
|
beq _08065B18
|
|
ldr r0, _08065AD0 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08065B00
|
|
cmp r2, #2
|
|
bne _08065AD4
|
|
movs r0, #4
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08065AE6
|
|
.align 2, 0
|
|
_08065AD0: .4byte gUnk_03003F80
|
|
_08065AD4:
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_08065A50
|
|
_08065AE6:
|
|
ldr r1, _08065AFC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _08065B0A
|
|
.align 2, 0
|
|
_08065AFC: .4byte gLinkEntity
|
|
_08065B00:
|
|
adds r0, r4, #0
|
|
bl sub_08065A50
|
|
bl sub_080791D0
|
|
_08065B0A:
|
|
movs r0, #0xd3
|
|
bl sub_080A3268
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_08065B18:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065B1C
|
|
sub_08065B1C: @ 0x08065B1C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08065B42
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #7
|
|
bl sub_080042AC
|
|
b _08065B48
|
|
_08065B42:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08065B48:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065B4C
|
|
sub_08065B4C: @ 0x08065B4C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08065B68 @ =gUnk_08110118
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065B68: .4byte gUnk_08110118
|
|
|
|
thumb_func_start sub_08065B6C
|
|
sub_08065B6C: @ 0x08065B6C
|
|
push {lr}
|
|
ldrb r1, [r0, #0xc]
|
|
adds r1, #1
|
|
strb r1, [r0, #0xc]
|
|
ldrb r2, [r0, #0x18]
|
|
movs r1, #4
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
movs r2, #1
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x18]
|
|
ldr r2, _08065B98 @ =0xFFFF8000
|
|
adds r1, r2, #0
|
|
ldrh r2, [r0, #0x30]
|
|
adds r1, r1, r2
|
|
strh r1, [r0, #0x30]
|
|
movs r1, #6
|
|
strb r1, [r0, #0x14]
|
|
movs r1, #3
|
|
bl sub_080042AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065B98: .4byte 0xFFFF8000
|
|
|
|
thumb_func_start sub_08065B9C
|
|
sub_08065B9C: @ 0x08065B9C
|
|
push {lr}
|
|
bl sub_080042B8
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08065BA4
|
|
sub_08065BA4: @ 0x08065BA4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08065BBA
|
|
adds r0, r4, #0
|
|
bl sub_08065C0C
|
|
b _08065BEA
|
|
_08065BBA:
|
|
ldr r1, _08065BEC @ =gUnk_08110164
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #2
|
|
bhi _08065BEA
|
|
ldr r2, _08065BF0 @ =gUnk_0811015C
|
|
ldrb r0, [r4, #0xf]
|
|
adds r1, r0, #1
|
|
strb r1, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x1b
|
|
movs r1, #7
|
|
ands r0, r1
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
strh r0, [r4, #0x36]
|
|
_08065BEA:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065BEC: .4byte gUnk_08110164
|
|
_08065BF0: .4byte gUnk_0811015C
|
|
|
|
thumb_func_start sub_08065BF4
|
|
sub_08065BF4: @ 0x08065BF4
|
|
push {lr}
|
|
ldr r2, _08065C08 @ =gUnk_0811017C
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065C08: .4byte gUnk_0811017C
|
|
|
|
thumb_func_start sub_08065C0C
|
|
sub_08065C0C: @ 0x08065C0C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _08065C42
|
|
cmp r0, #1
|
|
bgt _08065C20
|
|
cmp r0, #0
|
|
beq _08065C2A
|
|
b _08065CCA
|
|
_08065C20:
|
|
cmp r0, #2
|
|
beq _08065C7E
|
|
cmp r0, #3
|
|
beq _08065C8A
|
|
b _08065CCA
|
|
_08065C2A:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _08065CCA
|
|
_08065C42:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08065C74
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _08065C70 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08065CCA
|
|
.align 2, 0
|
|
_08065C70: .4byte gLinkEntity
|
|
_08065C74:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _08065CCA
|
|
_08065C7E:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08065CCA
|
|
b _08065CC6
|
|
_08065C8A:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08065CCA
|
|
ldr r1, [r4, #0x6c]
|
|
ldrh r2, [r1]
|
|
ldr r0, _08065CB4 @ =0x0000FFFF
|
|
cmp r2, r0
|
|
beq _08065CBC
|
|
ldr r0, _08065CB8 @ =gUnk_03000F50
|
|
adds r0, #0x68
|
|
strh r2, [r0]
|
|
adds r1, #2
|
|
ldrh r0, [r1]
|
|
strb r0, [r4, #0xe]
|
|
adds r1, #2
|
|
str r1, [r4, #0x6c]
|
|
b _08065CCA
|
|
.align 2, 0
|
|
_08065CB4: .4byte 0x0000FFFF
|
|
_08065CB8: .4byte gUnk_03000F50
|
|
_08065CBC:
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #4
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
strb r1, [r4, #0x18]
|
|
_08065CC6:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08065CCA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08065CCC
|
|
sub_08065CCC: @ 0x08065CCC
|
|
movs r1, #3
|
|
strb r1, [r0, #0xc]
|
|
movs r1, #0x1e
|
|
strb r1, [r0, #0xe]
|
|
ldrb r2, [r0, #0x19]
|
|
subs r1, #0x2b
|
|
ands r1, r2
|
|
movs r2, #4
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x19]
|
|
ldr r1, _08065CF8 @ =gUnk_0811022E
|
|
str r1, [r0, #0x6c]
|
|
ldr r1, _08065CFC @ =gUnk_03000F50
|
|
adds r2, r1, #0
|
|
adds r2, #0x66
|
|
movs r0, #0xfd
|
|
lsls r0, r0, #6
|
|
strh r0, [r2]
|
|
adds r1, #0x68
|
|
movs r0, #0x10
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_08065CF8: .4byte gUnk_0811022E
|
|
_08065CFC: .4byte gUnk_03000F50
|
|
|
|
thumb_func_start sub_08065D00
|
|
sub_08065D00: @ 0x08065D00
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08065D18
|
|
sub_08065D18: @ 0x08065D18
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
strb r1, [r4, #0xf]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #0x22
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r1, [r4, #0x19]
|
|
movs r0, #0xd
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
ldr r0, _08065D6C @ =gUnk_08110188
|
|
str r0, [r4, #0x6c]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
ldr r1, _08065D70 @ =gUnk_03000F50
|
|
adds r2, r1, #0
|
|
adds r2, #0x66
|
|
movs r0, #0xfd
|
|
lsls r0, r0, #6
|
|
strh r0, [r2]
|
|
adds r1, #0x68
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
strh r0, [r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065D6C: .4byte gUnk_08110188
|
|
_08065D70: .4byte gUnk_03000F50
|
|
|
|
thumb_func_start sub_08065D74
|
|
sub_08065D74: @ 0x08065D74
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08065DB4
|
|
ldr r2, [r1, #0x6c]
|
|
ldrh r3, [r2]
|
|
ldr r0, _08065DA0 @ =0x0000FFFF
|
|
cmp r3, r0
|
|
beq _08065DA8
|
|
ldr r0, _08065DA4 @ =gUnk_03000F50
|
|
adds r0, #0x68
|
|
strh r3, [r0]
|
|
ldrh r0, [r2, #2]
|
|
strb r0, [r1, #0xe]
|
|
adds r0, r2, #4
|
|
str r0, [r1, #0x6c]
|
|
b _08065DB4
|
|
.align 2, 0
|
|
_08065DA0: .4byte 0x0000FFFF
|
|
_08065DA4: .4byte gUnk_03000F50
|
|
_08065DA8:
|
|
ldrb r0, [r1, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xc]
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
_08065DB4:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065DB8
|
|
sub_08065DB8: @ 0x08065DB8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #4
|
|
bhi _08065E74
|
|
lsls r0, r0, #2
|
|
ldr r1, _08065DCC @ =_08065DD0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08065DCC: .4byte _08065DD0
|
|
_08065DD0: @ jump table
|
|
.4byte _08065DE4 @ case 0
|
|
.4byte _08065E08 @ case 1
|
|
.4byte _08065EB0 @ case 2
|
|
.4byte _08065E34 @ case 3
|
|
.4byte _08065E4E @ case 4
|
|
_08065DE4:
|
|
ldr r0, _08065E04 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08065EB0
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x3c
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
b _08065EB0
|
|
.align 2, 0
|
|
_08065E04: .4byte gUnk_02000050
|
|
_08065E08:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08065EB0
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0xb4
|
|
strb r0, [r4, #0xe]
|
|
ldr r1, _08065E30 @ =gUnk_02018EB0
|
|
ldrb r0, [r1, #1]
|
|
adds r0, #1
|
|
strb r0, [r1, #1]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _08065EB0
|
|
.align 2, 0
|
|
_08065E30: .4byte gUnk_02018EB0
|
|
_08065E34:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08065EB0
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
b _08065EB0
|
|
_08065E4E:
|
|
ldr r0, _08065E6C @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08065EB0
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
ldr r0, _08065E70 @ =gUnk_0811022E
|
|
str r0, [r4, #0x6c]
|
|
b _08065EB0
|
|
.align 2, 0
|
|
_08065E6C: .4byte gUnk_02000050
|
|
_08065E70: .4byte gUnk_0811022E
|
|
_08065E74:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08065EB0
|
|
ldr r1, [r4, #0x6c]
|
|
ldrh r2, [r1]
|
|
ldr r0, _08065E9C @ =0x0000FFFF
|
|
cmp r2, r0
|
|
beq _08065EA4
|
|
ldr r0, _08065EA0 @ =gUnk_03000F50
|
|
adds r0, #0x68
|
|
strh r2, [r0]
|
|
ldrh r0, [r1, #2]
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r1, #4
|
|
str r0, [r4, #0x6c]
|
|
b _08065EB0
|
|
.align 2, 0
|
|
_08065E9C: .4byte 0x0000FFFF
|
|
_08065EA0: .4byte gUnk_03000F50
|
|
_08065EA4:
|
|
ldr r1, _08065EB8 @ =gUnk_02018EB0
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
bl sub_0805E780
|
|
_08065EB0:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065EB8: .4byte gUnk_02018EB0
|
|
|
|
thumb_func_start sub_08065EBC
|
|
sub_08065EBC: @ 0x08065EBC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08065ED8 @ =gUnk_08110274
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065ED8: .4byte gUnk_08110274
|
|
|
|
thumb_func_start sub_08065EDC
|
|
sub_08065EDC: @ 0x08065EDC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08065F1C
|
|
ldr r1, [r2, #0x6c]
|
|
ldrh r3, [r1]
|
|
ldr r0, _08065F08 @ =0x0000FFFF
|
|
cmp r3, r0
|
|
beq _08065F10
|
|
ldr r0, _08065F0C @ =gUnk_03000F50
|
|
adds r0, #0x68
|
|
strh r3, [r0]
|
|
adds r1, #2
|
|
ldrh r0, [r1]
|
|
strb r0, [r2, #0xe]
|
|
adds r1, #2
|
|
str r1, [r2, #0x6c]
|
|
b _08065F1C
|
|
.align 2, 0
|
|
_08065F08: .4byte 0x0000FFFF
|
|
_08065F0C: .4byte gUnk_03000F50
|
|
_08065F10:
|
|
ldrb r0, [r2, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
adds r0, r2, #0
|
|
bl sub_08078778
|
|
_08065F1C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065F20
|
|
sub_08065F20: @ 0x08065F20
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08065F5E
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bl sub_08056378
|
|
adds r2, r4, #0
|
|
adds r2, #0x58
|
|
ldrb r0, [r2]
|
|
adds r0, #1
|
|
strb r0, [r2]
|
|
ldr r1, _08065F60 @ =gUnk_0811033C
|
|
ldrb r0, [r2]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _08065F56
|
|
strb r0, [r2]
|
|
_08065F56:
|
|
ldrb r1, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08065F5E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08065F60: .4byte gUnk_0811033C
|
|
|
|
thumb_func_start sub_08065F64
|
|
sub_08065F64: @ 0x08065F64
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _08065F88 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _08065F74
|
|
movs r0, #0
|
|
_08065F74:
|
|
ldrb r1, [r3, #0xa]
|
|
lsls r1, r1, #6
|
|
lsls r0, r0, #3
|
|
ldr r2, _08065F8C @ =gUnk_08110280
|
|
adds r0, r0, r2
|
|
adds r1, r1, r0
|
|
adds r0, r3, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08065F88: .4byte gUnk_02002A40
|
|
_08065F8C: .4byte gUnk_08110280
|
|
|
|
thumb_func_start sub_08065F90
|
|
sub_08065F90: @ 0x08065F90
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08065FB6
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _08065FBC
|
|
_08065FB6:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08065FBC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08065FC0
|
|
sub_08065FC0: @ 0x08065FC0
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08066028
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r6, r4, #0
|
|
adds r6, #0x58
|
|
cmp r0, #2
|
|
bne _0806600C
|
|
movs r0, #0
|
|
movs r1, #4
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldrb r0, [r6]
|
|
movs r5, #0
|
|
cmp r0, #0xc
|
|
bne _08065FF0
|
|
movs r5, #8
|
|
_08065FF0:
|
|
ldr r1, _08066020 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r5, r5, r0
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
_0806600C:
|
|
ldr r0, _08066024 @ =gUnk_0811036C
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _08066042
|
|
.align 2, 0
|
|
_08066020: .4byte gLinkEntity
|
|
_08066024: .4byte gUnk_0811036C
|
|
_08066028:
|
|
ldr r0, _08066058 @ =gUnk_08110360
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
adds r6, r4, #0
|
|
adds r6, #0x58
|
|
_08066042:
|
|
ldrb r0, [r6]
|
|
cmp r0, #0xc
|
|
bne _0806605C
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
b _0806606E
|
|
.align 2, 0
|
|
_08066058: .4byte gUnk_08110360
|
|
_0806605C:
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #8
|
|
orrs r1, r0
|
|
strb r1, [r2]
|
|
_0806606E:
|
|
adds r2, r4, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080660A0
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
movs r1, #0x3d
|
|
movs r2, #0x20
|
|
bl CreateFX
|
|
ldr r4, _080660A4 @ =gUnk_08110380
|
|
bl sub_08000E50
|
|
movs r1, #7
|
|
ands r1, r0
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1]
|
|
bl sub_080A3268
|
|
_080660A0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080660A4: .4byte gUnk_08110380
|
|
|
|
thumb_func_start sub_080660A8
|
|
sub_080660A8: @ 0x080660A8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r4, [r0]
|
|
ldrb r2, [r5, #0x1e]
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
movs r0, #0x40
|
|
ands r4, r0
|
|
cmp r4, #0
|
|
beq _080660CE
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0x16
|
|
bl sub_0806FF60
|
|
b _080660D8
|
|
_080660CE:
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
_080660D8:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
movs r2, #1
|
|
bl sub_0806FF88
|
|
adds r0, r5, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080660EC
|
|
sub_080660EC: @ 0x080660EC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08066114 @ =gUnk_08110354
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08066112
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
_08066112:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08066114: .4byte gUnk_08110354
|
|
|
|
thumb_func_start sub_08066118
|
|
sub_08066118: @ 0x08066118
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _0806612E
|
|
movs r1, #2
|
|
b _08066144
|
|
_0806612E:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _0806613A
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
b _08066144
|
|
_0806613A:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
_08066144:
|
|
adds r0, r4, #0
|
|
bl sub_0806F078
|
|
cmp r0, #0
|
|
bne _08066154
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08066154:
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0806616C
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
_0806616C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066170
|
|
sub_08066170: @ 0x08066170
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066178
|
|
sub_08066178: @ 0x08066178
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _080661AC @ =gUnk_08110354
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080661A8
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
_080661A8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080661AC: .4byte gUnk_08110354
|
|
|
|
thumb_func_start sub_080661B0
|
|
sub_080661B0: @ 0x080661B0
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080661BC
|
|
sub_080661BC: @ 0x080661BC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xc
|
|
bne _080661F4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080661FC
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r0, #8
|
|
adds r1, r4, #0
|
|
adds r1, #0x80
|
|
strh r0, [r1]
|
|
ldrh r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
b _080661FC
|
|
_080661F4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_080661FC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066200
|
|
sub_08066200: @ 0x08066200
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08066218
|
|
sub_08066218: @ 0x08066218
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08066228
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08066228:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806622C
|
|
sub_0806622C: @ 0x0806622C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _0806624C @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _0806623C
|
|
movs r0, #0
|
|
_0806623C:
|
|
lsls r1, r0, #3
|
|
ldr r0, _08066250 @ =gUnk_08110390
|
|
adds r1, r1, r0
|
|
adds r0, r2, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806624C: .4byte gUnk_02002A40
|
|
_08066250: .4byte gUnk_08110390
|
|
|
|
thumb_func_start nullsub_501
|
|
nullsub_501: @ 0x08066254
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066258
|
|
sub_08066258: @ 0x08066258
|
|
push {r4, lr}
|
|
ldr r4, _08066270 @ =gUnk_081103D0
|
|
bl sub_08000E50
|
|
movs r1, #7
|
|
ands r1, r0
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1]
|
|
bl sub_080A3268
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08066270: .4byte gUnk_081103D0
|
|
|
|
thumb_func_start sub_08066274
|
|
sub_08066274: @ 0x08066274
|
|
push {lr}
|
|
ldr r3, _08066284 @ =gUnk_081103E0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_08078850
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08066284: .4byte gUnk_081103E0
|
|
|
|
thumb_func_start sub_08066288
|
|
sub_08066288: @ 0x08066288
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
adds r1, #0x68
|
|
ldrb r1, [r1]
|
|
bl sub_08078784
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066298
|
|
sub_08066298: @ 0x08066298
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _080662D0
|
|
ldr r1, _080662CC @ =gUnk_08110354
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080662D6
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _080662D6
|
|
.align 2, 0
|
|
_080662CC: .4byte gUnk_08110354
|
|
_080662D0:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_080662D6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080662D8
|
|
sub_080662D8: @ 0x080662D8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _080662F4 @ =gUnk_081104C8
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080662F4: .4byte gUnk_081104C8
|
|
|
|
thumb_func_start sub_080662F8
|
|
sub_080662F8: @ 0x080662F8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
strb r4, [r5, #0xd]
|
|
ldrb r1, [r5, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5, #0x18]
|
|
ldrb r0, [r5, #0xa]
|
|
lsls r0, r0, #1
|
|
strb r0, [r5, #0x14]
|
|
ldrb r1, [r5, #0xa]
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
ldrh r0, [r5, #0x2e]
|
|
adds r1, r5, #0
|
|
adds r1, #0x7e
|
|
strh r0, [r1]
|
|
ldrh r1, [r5, #0x32]
|
|
adds r0, r5, #0
|
|
adds r0, #0x80
|
|
strh r1, [r0]
|
|
adds r0, #6
|
|
strh r4, [r0]
|
|
ldrb r0, [r5, #0xe]
|
|
adds r1, r5, #0
|
|
adds r1, #0x82
|
|
strh r0, [r1]
|
|
ldr r0, _08066354 @ =gLinkEntity
|
|
str r0, [r5, #0x50]
|
|
adds r0, r5, #0
|
|
adds r0, #0x84
|
|
strh r4, [r0]
|
|
ldr r1, [r5, #0x50]
|
|
adds r0, r5, #0
|
|
bl sub_08066490
|
|
adds r0, r5, #0
|
|
bl sub_08078778
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08066354: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08066358
|
|
sub_08066358: @ 0x08066358
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _080663B8
|
|
movs r5, #0
|
|
strb r5, [r1]
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
ldrb r1, [r4, #0xb]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080663C0
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r5, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
adds r0, #0x7e
|
|
ldrh r0, [r0]
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r4, r2]
|
|
subs r0, r0, r1
|
|
cmp r0, #8
|
|
ble _08066396
|
|
movs r0, #8
|
|
b _08066398
|
|
_08066396:
|
|
movs r0, #0x18
|
|
_08066398:
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #0x80
|
|
strh r0, [r4, #0x24]
|
|
adds r1, r4, #0
|
|
adds r1, #0x84
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strh r0, [r1]
|
|
ldr r0, _080663B4 @ =gUnk_02034490
|
|
strb r2, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080788E0
|
|
b _080663C0
|
|
.align 2, 0
|
|
_080663B4: .4byte gUnk_02034490
|
|
_080663B8:
|
|
ldr r1, [r4, #0x50]
|
|
adds r0, r4, #0
|
|
bl sub_08066490
|
|
_080663C0:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
bl sub_08066570
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start nullsub_110
|
|
nullsub_110: @ 0x080663D0
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080663D4
|
|
sub_080663D4: @ 0x080663D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x7e
|
|
ldrh r0, [r0]
|
|
subs r0, #8
|
|
cmp r1, r0
|
|
bne _08066410
|
|
ldr r0, _0806640C @ =gLinkEntity
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0xf
|
|
beq _0806642E
|
|
movs r0, #0
|
|
movs r1, #4
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r4, #0x15]
|
|
strh r0, [r4, #0x24]
|
|
adds r1, r4, #0
|
|
adds r1, #0x84
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
b _0806642E
|
|
.align 2, 0
|
|
_0806640C: .4byte gLinkEntity
|
|
_08066410:
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _08066428
|
|
ldrb r1, [r4, #0x15]
|
|
lsrs r1, r1, #3
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
_08066428:
|
|
adds r0, r4, #0
|
|
bl sub_080AEF88
|
|
_0806642E:
|
|
bl sub_08078B48
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806643C
|
|
sub_0806643C: @ 0x0806643C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
bl sub_0806650C
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bne _08066462
|
|
movs r0, #5
|
|
strb r0, [r5, #0xc]
|
|
ldr r0, _0806646C @ =gUnk_03000BF0
|
|
str r4, [r0, #0x30]
|
|
movs r0, #0x40
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_08078AC0
|
|
ldr r0, _08066470 @ =gLinkEntity
|
|
strb r4, [r0, #0x14]
|
|
strb r4, [r0, #0x15]
|
|
_08066462:
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806646C: .4byte gUnk_03000BF0
|
|
_08066470: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08066474
|
|
sub_08066474: @ 0x08066474
|
|
push {lr}
|
|
ldr r0, _08066488 @ =gLinkEntity
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0xf
|
|
beq _08066484
|
|
ldr r1, _0806648C @ =gUnk_02034490
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_08066484:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08066488: .4byte gLinkEntity
|
|
_0806648C: .4byte gUnk_02034490
|
|
|
|
thumb_func_start sub_08066490
|
|
sub_08066490: @ 0x08066490
|
|
push {r4, r5, r6, lr}
|
|
mov ip, r0
|
|
adds r5, r1, #0
|
|
ldrb r1, [r0, #0xb]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806650A
|
|
mov r1, ip
|
|
ldrh r0, [r1, #0x2e]
|
|
adds r1, #0x86
|
|
strh r0, [r1]
|
|
mov r0, ip
|
|
adds r0, #0x7e
|
|
ldrh r2, [r0]
|
|
adds r0, #4
|
|
ldrh r0, [r0]
|
|
adds r3, r2, r0
|
|
subs r4, r2, r0
|
|
movs r6, #0x2e
|
|
ldrsh r0, [r5, r6]
|
|
cmp r0, r3
|
|
bge _080664C6
|
|
cmp r0, r4
|
|
ble _080664C6
|
|
adds r2, r0, #0
|
|
b _080664D2
|
|
_080664C6:
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r5, r2]
|
|
adds r2, r4, #0
|
|
cmp r0, r3
|
|
blt _080664D2
|
|
adds r2, r3, #0
|
|
_080664D2:
|
|
ldrh r0, [r1]
|
|
cmp r0, r2
|
|
bne _080664F0
|
|
mov r1, ip
|
|
adds r1, #0x84
|
|
ldrh r0, [r1]
|
|
cmp r0, #1
|
|
bne _0806650A
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
mov r0, ip
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
b _0806650A
|
|
_080664F0:
|
|
mov r6, ip
|
|
strh r2, [r6, #0x2e]
|
|
mov r1, ip
|
|
adds r1, #0x84
|
|
ldrh r0, [r1]
|
|
cmp r0, #0
|
|
bne _0806650A
|
|
movs r0, #1
|
|
strh r0, [r1]
|
|
mov r0, ip
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
_0806650A:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_0806650C
|
|
sub_0806650C: @ 0x0806650C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r3, r0, #0
|
|
movs r4, #0
|
|
ldr r1, _0806652C @ =gLinkEntity
|
|
ldrh r5, [r1, #0x2e]
|
|
adds r7, r5, #0
|
|
ldrh r2, [r1, #0x32]
|
|
adds r0, #0x80
|
|
ldrh r0, [r0]
|
|
adds r0, #0x10
|
|
adds r6, r1, #0
|
|
cmp r2, r0
|
|
bge _08066530
|
|
movs r4, #4
|
|
b _0806654C
|
|
.align 2, 0
|
|
_0806652C: .4byte gLinkEntity
|
|
_08066530:
|
|
adds r0, r3, #0
|
|
adds r0, #0x7e
|
|
ldrh r1, [r0]
|
|
adds r0, r1, #2
|
|
cmp r5, r0
|
|
bge _0806653E
|
|
movs r4, #2
|
|
_0806653E:
|
|
adds r0, r1, #6
|
|
cmp r7, r0
|
|
ble _08066546
|
|
movs r4, #6
|
|
_08066546:
|
|
cmp r4, #0
|
|
bne _0806654C
|
|
strh r4, [r6, #0x24]
|
|
_0806654C:
|
|
ldrb r0, [r6, #0xc]
|
|
cmp r0, #0xf
|
|
beq _0806656A
|
|
cmp r4, #0
|
|
bne _0806655A
|
|
movs r0, #0
|
|
b _0806656C
|
|
_0806655A:
|
|
movs r0, #8
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_08078AC0
|
|
strb r4, [r6, #0x14]
|
|
lsls r0, r4, #2
|
|
strb r0, [r6, #0x15]
|
|
_0806656A:
|
|
movs r0, #1
|
|
_0806656C:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066570
|
|
sub_08066570: @ 0x08066570
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080665DE
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #3
|
|
beq _080665DE
|
|
ldr r4, _080665E0 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
movs r2, #0x50
|
|
bl sub_0806FC80
|
|
cmp r0, #0
|
|
beq _080665DE
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_080045C4
|
|
adds r3, r0, #0
|
|
movs r6, #1
|
|
movs r1, #0x18
|
|
adds r4, r3, #0
|
|
ands r4, r1
|
|
ldrb r0, [r5, #0x15]
|
|
adds r2, r1, #0
|
|
ands r2, r0
|
|
cmp r2, r4
|
|
bne _080665C8
|
|
adds r2, r3, #5
|
|
movs r1, #7
|
|
ands r2, r1
|
|
ldrb r0, [r5, #0x15]
|
|
adds r0, #5
|
|
ands r0, r1
|
|
cmp r0, #2
|
|
bhi _080665C8
|
|
cmp r2, #2
|
|
bhi _080665C8
|
|
movs r6, #0
|
|
_080665C8:
|
|
cmp r6, #0
|
|
beq _080665DE
|
|
strb r3, [r5, #0x15]
|
|
adds r3, #4
|
|
movs r0, #0x18
|
|
ands r3, r0
|
|
lsrs r3, r3, #3
|
|
adds r0, r5, #0
|
|
adds r1, r3, #0
|
|
bl sub_08004260
|
|
_080665DE:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080665E0: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_080665E4
|
|
sub_080665E4: @ 0x080665E4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08066638
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806661E
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
strb r1, [r4, #0xc]
|
|
ldr r1, _08066630 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
_0806661E:
|
|
ldr r0, _08066634 @ =gUnk_081104EC
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _0806664E
|
|
.align 2, 0
|
|
_08066630: .4byte gLinkEntity
|
|
_08066634: .4byte gUnk_081104EC
|
|
_08066638:
|
|
ldr r0, _08066650 @ =gUnk_081104E0
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_0806664E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08066650: .4byte gUnk_081104E0
|
|
|
|
thumb_func_start sub_08066654
|
|
sub_08066654: @ 0x08066654
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066688
|
|
sub_08066688: @ 0x08066688
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _0806669E
|
|
movs r1, #2
|
|
b _080666B4
|
|
_0806669E:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _080666AA
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
b _080666B4
|
|
_080666AA:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
_080666B4:
|
|
adds r0, r4, #0
|
|
bl sub_0806F078
|
|
cmp r0, #0
|
|
bne _080666C4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_080666C4:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _080666D8
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
_080666D8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080666DC
|
|
sub_080666DC: @ 0x080666DC
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080666E4
|
|
sub_080666E4: @ 0x080666E4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806670C
|
|
sub_0806670C: @ 0x0806670C
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066718
|
|
sub_08066718: @ 0x08066718
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08066728
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08066728:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806672C
|
|
sub_0806672C: @ 0x0806672C
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
adds r1, #0x68
|
|
ldrb r1, [r1]
|
|
bl sub_08078784
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806673C
|
|
sub_0806673C: @ 0x0806673C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #2
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _0806674E
|
|
movs r1, #0
|
|
b _0806676A
|
|
_0806674E:
|
|
movs r0, #2
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806675C
|
|
movs r1, #1
|
|
b _0806676A
|
|
_0806675C:
|
|
movs r0, #3
|
|
bl sub_0807CA84
|
|
movs r1, #3
|
|
cmp r0, #0
|
|
bne _0806676A
|
|
movs r1, #2
|
|
_0806676A:
|
|
ldr r0, _0806677C @ =gUnk_081104F8
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806677C: .4byte gUnk_081104F8
|
|
|
|
thumb_func_start sub_08066780
|
|
sub_08066780: @ 0x08066780
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _080667A6
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _080667AC
|
|
_080667A6:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_080667AC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080667B0
|
|
sub_080667B0: @ 0x080667B0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080667C6
|
|
adds r0, r4, #0
|
|
bl sub_08066864
|
|
b _080667DC
|
|
_080667C6:
|
|
ldr r0, _080667E0 @ =gUnk_08110644
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_080667DC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080667E0: .4byte gUnk_08110644
|
|
|
|
thumb_func_start sub_080667E4
|
|
sub_080667E4: @ 0x080667E4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08066808
|
|
sub_08066808: @ 0x08066808
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _0806681E
|
|
movs r1, #2
|
|
b _08066834
|
|
_0806681E:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _0806682A
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
b _08066834
|
|
_0806682A:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
_08066834:
|
|
adds r0, r4, #0
|
|
bl sub_0806F078
|
|
cmp r0, #0
|
|
bne _08066844
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08066844:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _08066858
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
_08066858:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806685C
|
|
sub_0806685C: @ 0x0806685C
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066864
|
|
sub_08066864: @ 0x08066864
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _080668A2
|
|
cmp r0, #1
|
|
bgt _08066878
|
|
cmp r0, #0
|
|
beq _0806687E
|
|
b _080668EC
|
|
_08066878:
|
|
cmp r0, #2
|
|
beq _080668DE
|
|
b _080668EC
|
|
_0806687E:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _080668EC
|
|
_080668A2:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _080668D4
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _080668D0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _080668EC
|
|
.align 2, 0
|
|
_080668D0: .4byte gLinkEntity
|
|
_080668D4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _080668EC
|
|
_080668DE:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _080668EC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_080668EC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080668F0
|
|
sub_080668F0: @ 0x080668F0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066904
|
|
sub_08066904: @ 0x08066904
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #2
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _08066916
|
|
movs r1, #0
|
|
b _08066932
|
|
_08066916:
|
|
movs r0, #2
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08066924
|
|
movs r1, #1
|
|
b _08066932
|
|
_08066924:
|
|
movs r0, #3
|
|
bl sub_0807CA84
|
|
movs r1, #3
|
|
cmp r0, #0
|
|
bne _08066932
|
|
movs r1, #2
|
|
_08066932:
|
|
ldr r0, _08066944 @ =gUnk_08110650
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08066944: .4byte gUnk_08110650
|
|
|
|
thumb_func_start sub_08066948
|
|
sub_08066948: @ 0x08066948
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806696E
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _08066974
|
|
_0806696E:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08066974:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066978
|
|
sub_08066978: @ 0x08066978
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806699C
|
|
ldr r0, _08066998 @ =gUnk_081106E0
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _080669B2
|
|
.align 2, 0
|
|
_08066998: .4byte gUnk_081106E0
|
|
_0806699C:
|
|
ldr r0, _080669B4 @ =gUnk_081106D4
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_080669B2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080669B4: .4byte gUnk_081106D4
|
|
|
|
thumb_func_start sub_080669B8
|
|
sub_080669B8: @ 0x080669B8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080669DC
|
|
sub_080669DC: @ 0x080669DC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _080669F2
|
|
movs r1, #2
|
|
b _08066A08
|
|
_080669F2:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _080669FE
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
b _08066A08
|
|
_080669FE:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
_08066A08:
|
|
adds r0, r4, #0
|
|
bl sub_0806F078
|
|
cmp r0, #0
|
|
bne _08066A18
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08066A18:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0
|
|
beq _08066A2C
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
_08066A2C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066A30
|
|
sub_08066A30: @ 0x08066A30
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066A38
|
|
sub_08066A38: @ 0x08066A38
|
|
push {lr}
|
|
movs r3, #1
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
ldrb r2, [r0, #0x18]
|
|
subs r1, #5
|
|
ands r1, r2
|
|
orrs r1, r3
|
|
strb r1, [r0, #0x18]
|
|
bl sub_0807DD50
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08066A50
|
|
sub_08066A50: @ 0x08066A50
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066A5C
|
|
sub_08066A5C: @ 0x08066A5C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08066A90 @ =gUnk_08110734
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldrb r3, [r4, #0x1a]
|
|
lsrs r1, r3, #4
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r2, [r0]
|
|
movs r0, #1
|
|
ands r0, r2
|
|
adds r1, r1, r0
|
|
movs r0, #0xf
|
|
ands r1, r0
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x1a]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08066A90: .4byte gUnk_08110734
|
|
|
|
thumb_func_start sub_08066A94
|
|
sub_08066A94: @ 0x08066A94
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #0
|
|
movs r3, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r2, [r4, #0xd]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r2, [r0]
|
|
adds r0, #1
|
|
strb r2, [r0]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r4, #0
|
|
bl sub_08066ACC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08066ACC
|
|
sub_08066ACC: @ 0x08066ACC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08066B18 @ =sub_08066B74
|
|
bl sub_0807DD94
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08066AF6
|
|
ldr r0, _08066B1C @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08066AF6
|
|
adds r0, r4, #0
|
|
bl sub_08095CB0
|
|
_08066AF6:
|
|
adds r1, r4, #0
|
|
adds r1, #0x5a
|
|
ldrb r2, [r1]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
adds r5, r1, #0
|
|
cmp r2, #0
|
|
beq _08066B6E
|
|
cmp r2, #2
|
|
beq _08066B34
|
|
cmp r2, #2
|
|
bhi _08066B20
|
|
cmp r2, #1
|
|
beq _08066B2A
|
|
b _08066B66
|
|
.align 2, 0
|
|
_08066B18: .4byte sub_08066B74
|
|
_08066B1C: .4byte gUnk_030010A0
|
|
_08066B20:
|
|
cmp r2, #3
|
|
beq _08066B40
|
|
cmp r2, #4
|
|
beq _08066B52
|
|
b _08066B66
|
|
_08066B2A:
|
|
movs r0, #0x87
|
|
lsls r0, r0, #2
|
|
bl sub_08004488
|
|
b _08066B66
|
|
_08066B34:
|
|
ldr r0, _08066B3C @ =0x0000021E
|
|
bl sub_08004488
|
|
b _08066B66
|
|
.align 2, 0
|
|
_08066B3C: .4byte 0x0000021E
|
|
_08066B40:
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
movs r0, #4
|
|
str r0, [r1, #4]
|
|
adds r0, r4, #0
|
|
bl sub_0805DDEC
|
|
b _08066B66
|
|
_08066B52:
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
str r2, [r1, #4]
|
|
adds r0, r4, #0
|
|
bl sub_0805DE18
|
|
ldr r0, _08066B70 @ =0x0000021D
|
|
bl sub_08004488
|
|
_08066B66:
|
|
ldrb r1, [r5]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r5]
|
|
_08066B6E:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08066B70: .4byte 0x0000021D
|
|
|
|
thumb_func_start sub_08066B74
|
|
sub_08066B74: @ 0x08066B74
|
|
push {r4, r5, r6, lr}
|
|
mov ip, r0
|
|
ldr r0, [r1, #8]
|
|
ldr r4, _08066BCC @ =0xFFF00000
|
|
ands r4, r0
|
|
ldr r2, _08066BD0 @ =0x000FFFFF
|
|
ands r0, r2
|
|
str r0, [r1, #8]
|
|
cmp r4, #0
|
|
bne _08066B8A
|
|
b _08066C86
|
|
_08066B8A:
|
|
mov r3, ip
|
|
adds r3, #0x80
|
|
mov r5, ip
|
|
adds r5, #0x68
|
|
movs r6, #1
|
|
_08066B94:
|
|
mvns r0, r4
|
|
adds r1, r0, #1
|
|
ands r1, r4
|
|
eors r4, r1
|
|
mov r2, ip
|
|
ldrb r0, [r2, #0x14]
|
|
lsrs r2, r0, #1
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
cmp r1, r0
|
|
beq _08066C4C
|
|
cmp r1, r0
|
|
bhi _08066BE6
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xf
|
|
cmp r1, r0
|
|
beq _08066C34
|
|
cmp r1, r0
|
|
bhi _08066BD4
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xd
|
|
cmp r1, r0
|
|
beq _08066C24
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xe
|
|
cmp r1, r0
|
|
beq _08066C2C
|
|
b _08066C82
|
|
.align 2, 0
|
|
_08066BCC: .4byte 0xFFF00000
|
|
_08066BD0: .4byte 0x000FFFFF
|
|
_08066BD4:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x10
|
|
cmp r1, r0
|
|
beq _08066C3C
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x11
|
|
cmp r1, r0
|
|
beq _08066C44
|
|
b _08066C82
|
|
_08066BE6:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x15
|
|
cmp r1, r0
|
|
beq _08066C64
|
|
cmp r1, r0
|
|
bhi _08066C04
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x13
|
|
cmp r1, r0
|
|
beq _08066C54
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x14
|
|
cmp r1, r0
|
|
beq _08066C5C
|
|
b _08066C82
|
|
_08066C04:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x17
|
|
cmp r1, r0
|
|
beq _08066C70
|
|
cmp r1, r0
|
|
bhi _08066C1A
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x16
|
|
cmp r1, r0
|
|
beq _08066C6C
|
|
b _08066C82
|
|
_08066C1A:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x18
|
|
cmp r1, r0
|
|
beq _08066C76
|
|
b _08066C82
|
|
_08066C24:
|
|
adds r0, r2, #0
|
|
adds r0, #0x10
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C2C:
|
|
adds r0, r2, #0
|
|
adds r0, #0x14
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C34:
|
|
adds r0, r2, #0
|
|
adds r0, #0x18
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C3C:
|
|
adds r0, r2, #0
|
|
adds r0, #0x1c
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C44:
|
|
adds r0, r2, #0
|
|
adds r0, #0x20
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C4C:
|
|
adds r0, r2, #0
|
|
adds r0, #0x24
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C54:
|
|
adds r0, r2, #0
|
|
adds r0, #0x28
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C5C:
|
|
adds r0, r2, #0
|
|
adds r0, #0x2c
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C64:
|
|
adds r0, r2, #0
|
|
adds r0, #0x30
|
|
strh r0, [r3]
|
|
b _08066C82
|
|
_08066C6C:
|
|
strb r6, [r5]
|
|
b _08066C82
|
|
_08066C70:
|
|
movs r0, #0xff
|
|
strb r0, [r5]
|
|
b _08066C82
|
|
_08066C76:
|
|
mov r2, ip
|
|
adds r2, #0x69
|
|
ldrb r1, [r2]
|
|
adds r0, r6, #0
|
|
eors r0, r1
|
|
strb r0, [r2]
|
|
_08066C82:
|
|
cmp r4, #0
|
|
bne _08066B94
|
|
_08066C86:
|
|
mov r0, ip
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
mov r0, ip
|
|
bl sub_0807DB98
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08066C94
|
|
sub_08066C94: @ 0x08066C94
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0805DA90
|
|
movs r0, #0xf7
|
|
bl sub_080A3268
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08066CA4
|
|
sub_08066CA4: @ 0x08066CA4
|
|
push {lr}
|
|
movs r1, #1
|
|
bl sub_0805DA90
|
|
movs r0, #0xf6
|
|
bl sub_080A3268
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08066CB4
|
|
sub_08066CB4: @ 0x08066CB4
|
|
push {lr}
|
|
ldr r2, _08066CC8 @ =gUnk_08110BD8
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08066CC8: .4byte gUnk_08110BD8
|
|
|
|
thumb_func_start sub_08066CCC
|
|
sub_08066CCC: @ 0x08066CCC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #7
|
|
bl sub_0805EA78
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08066CF8
|
|
sub_08066CF8: @ 0x08066CF8
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066D04
|
|
sub_08066D04: @ 0x08066D04
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #7
|
|
movs r1, #0x2e
|
|
bl sub_0805EB9C
|
|
str r0, [r4, #0x50]
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08066D14
|
|
sub_08066D14: @ 0x08066D14
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r2, [r4, #0x50]
|
|
cmp r2, #0
|
|
beq _08066D48
|
|
ldrb r0, [r2, #0x14]
|
|
strb r0, [r4, #0x14]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r2, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
ldr r1, [r4, #0x50]
|
|
adds r0, r4, #0
|
|
bl sub_08068680
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
b _08066D4A
|
|
_08066D48:
|
|
str r2, [r5, #0x14]
|
|
_08066D4A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08066D4C
|
|
sub_08066D4C: @ 0x08066D4C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r1, [r4, #0x50]
|
|
cmp r1, #0
|
|
beq _08066D90
|
|
bl sub_0806FA24
|
|
ldr r3, [r4, #0x50]
|
|
ldrb r1, [r3, #0x18]
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x18]
|
|
ldr r1, [r4, #0x50]
|
|
ldrb r0, [r4, #0x14]
|
|
strb r0, [r1, #0x14]
|
|
ldrb r0, [r4, #0x18]
|
|
ands r2, r0
|
|
strb r2, [r4, #0x18]
|
|
ldrb r1, [r4, #0x17]
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r4, #0x17]
|
|
ldr r1, [r4, #0x50]
|
|
adds r0, r4, #0
|
|
bl sub_08068694
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
b _08066D92
|
|
_08066D90:
|
|
str r1, [r5, #0x14]
|
|
_08066D92:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08066D94
|
|
sub_08066D94: @ 0x08066D94
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x1c
|
|
bl sub_0807CD04
|
|
movs r0, #0x2e
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08066DD6
|
|
ldr r0, _08066DDC @ =gLinkEntity
|
|
ldrb r0, [r0, #0x14]
|
|
strb r0, [r4, #0x14]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x20
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r0, r5, #0
|
|
bl sub_0806EDC4
|
|
strb r0, [r4, #0x14]
|
|
ldr r0, _08066DE0 @ =gUnk_03000BF0
|
|
ldrb r1, [r0, #5]
|
|
adds r0, r4, #0
|
|
adds r0, #0x74
|
|
strh r1, [r0]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
_08066DD6:
|
|
bl sub_0805E780
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08066DDC: .4byte gLinkEntity
|
|
_08066DE0: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_08066DE4
|
|
sub_08066DE4: @ 0x08066DE4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #7
|
|
movs r1, #0x2e
|
|
bl sub_0805EB9C
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08066E06
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_080686C4
|
|
_08066E06:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08066E08
|
|
sub_08066E08: @ 0x08066E08
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x50
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r4, #0x80
|
|
strh r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066E20
|
|
sub_08066E20: @ 0x08066E20
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x44
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r4, #0x80
|
|
strh r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066E38
|
|
sub_08066E38: @ 0x08066E38
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x48
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r4, #0x80
|
|
strh r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066E50
|
|
sub_08066E50: @ 0x08066E50
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x4c
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r4, #0x80
|
|
strh r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066E68
|
|
sub_08066E68: @ 0x08066E68
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x54
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r4, #0x80
|
|
strh r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066E80
|
|
sub_08066E80: @ 0x08066E80
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r5, #0x18]
|
|
cmp r0, #4
|
|
bhi _08066F7C
|
|
lsls r0, r0, #2
|
|
ldr r1, _08066E98 @ =_08066E9C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08066E98: .4byte _08066E9C
|
|
_08066E9C: @ jump table
|
|
.4byte _08066EB0 @ case 0
|
|
.4byte _08066EC0 @ case 1
|
|
.4byte _08066EF0 @ case 2
|
|
.4byte _08066F28 @ case 3
|
|
.4byte _08066F58 @ case 4
|
|
_08066EB0:
|
|
ldrb r0, [r5, #0x18]
|
|
adds r0, #1
|
|
strb r0, [r5, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #0x16
|
|
bl sub_080042AC
|
|
b _08066F7C
|
|
_08066EC0:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r2, r4, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08066F7C
|
|
ldrb r0, [r5, #0x18]
|
|
adds r0, #1
|
|
strb r0, [r5, #0x18]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r4, #0x20]
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #0x7c
|
|
bl sub_080A3268
|
|
b _08066F7C
|
|
_08066EF0:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
movs r2, #0x80
|
|
bl sub_0806F62C
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08066F1A
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08066F1A:
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bge _08066F7C
|
|
ldrb r0, [r5, #0x18]
|
|
adds r0, #1
|
|
strb r0, [r5, #0x18]
|
|
b _08066F7C
|
|
_08066F28:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
movs r2, #0x80
|
|
bl sub_0806F62C
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08066F7C
|
|
ldrb r0, [r5, #0x18]
|
|
adds r0, #1
|
|
strb r0, [r5, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #0x1e
|
|
bl sub_080042AC
|
|
b _08066F7C
|
|
_08066F58:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08066F7C
|
|
ldr r2, _08066F78 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
b _08066F8C
|
|
.align 2, 0
|
|
_08066F78: .4byte gUnk_02033280
|
|
_08066F7C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
adds r0, #0x28
|
|
movs r2, #0
|
|
strh r1, [r0]
|
|
ldr r0, _08066F90 @ =gUnk_02033280
|
|
strb r2, [r0, #6]
|
|
_08066F8C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08066F90: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08066F94
|
|
sub_08066F94: @ 0x08066F94
|
|
push {r4, lr}
|
|
ldr r4, _08066F9C @ =gUnk_08110BE0
|
|
b _08066FAC
|
|
.align 2, 0
|
|
_08066F9C: .4byte gUnk_08110BE0
|
|
_08066FA0:
|
|
ldrh r1, [r4]
|
|
adds r4, #2
|
|
ldr r0, _08066FB4 @ =0x00004072
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
_08066FAC:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _08066FA0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08066FB4: .4byte 0x00004072
|
|
|
|
thumb_func_start sub_08066FB8
|
|
sub_08066FB8: @ 0x08066FB8
|
|
push {r4, lr}
|
|
ldr r4, _08066FC0 @ =gUnk_08110BE0
|
|
b _08066FCE
|
|
.align 2, 0
|
|
_08066FC0: .4byte gUnk_08110BE0
|
|
_08066FC4:
|
|
ldrh r0, [r4]
|
|
adds r4, #2
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
_08066FCE:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _08066FC4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08066FD8
|
|
sub_08066FD8: @ 0x08066FD8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _08066FE8
|
|
bl sub_0805E780
|
|
_08066FE8:
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _08067030
|
|
cmp r0, #1
|
|
bgt _08066FF8
|
|
cmp r0, #0
|
|
beq _08066FFE
|
|
b _0806707C
|
|
_08066FF8:
|
|
cmp r0, #2
|
|
beq _0806706E
|
|
b _0806707C
|
|
_08066FFE:
|
|
ldr r1, _0806702C @ =gUnk_08110C00
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806707C
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806707C
|
|
.align 2, 0
|
|
_0806702C: .4byte gUnk_08110C00
|
|
_08067030:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08067064
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _08067060 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806707C
|
|
.align 2, 0
|
|
_08067060: .4byte gLinkEntity
|
|
_08067064:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0806707C
|
|
_0806706E:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806707C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806707C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067080
|
|
sub_08067080: @ 0x08067080
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080670B4
|
|
sub_080670B4: @ 0x080670B4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
movs r0, #0x11
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _080670D0
|
|
movs r0, #0x15
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
_080670D0:
|
|
ldr r0, _080670E0 @ =gUnk_08110C0C
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080670E0: .4byte gUnk_08110C0C
|
|
|
|
thumb_func_start sub_080670E4
|
|
sub_080670E4: @ 0x080670E4
|
|
push {lr}
|
|
ldr r1, _080670F8 @ =gUnk_02002A40
|
|
ldrb r1, [r1, #8]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080670FC @ =gUnk_08110C10
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080670F8: .4byte gUnk_02002A40
|
|
_080670FC: .4byte gUnk_08110C10
|
|
|
|
thumb_func_start sub_08067100
|
|
sub_08067100: @ 0x08067100
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067118
|
|
sub_08067118: @ 0x08067118
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08067150
|
|
ldr r1, _0806714C @ =gUnk_08110C00
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08067156
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
b _08067156
|
|
.align 2, 0
|
|
_0806714C: .4byte gUnk_08110C00
|
|
_08067150:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08067156:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067158
|
|
sub_08067158: @ 0x08067158
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x84
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _08067168
|
|
bl sub_0805E780
|
|
_08067168:
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #1
|
|
beq _080671A8
|
|
cmp r5, #1
|
|
bgt _08067178
|
|
cmp r5, #0
|
|
beq _0806717E
|
|
b _08067224
|
|
_08067178:
|
|
cmp r5, #2
|
|
beq _0806720A
|
|
b _08067224
|
|
_0806717E:
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _080671EC @ =gUnk_08110CA8
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08067224
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r5, [r0]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_080671A8:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _080671F4
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _080671F0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r0, r0, #3
|
|
adds r0, #4
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08067224
|
|
.align 2, 0
|
|
_080671EC: .4byte gUnk_08110CA8
|
|
_080671F0: .4byte gLinkEntity
|
|
_080671F4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
b _08067224
|
|
_0806720A:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08067224
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08067224:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067228
|
|
sub_08067228: @ 0x08067228
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #1
|
|
bhi _0806727E
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r2, #0x3f
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #2
|
|
bl sub_0806FFD8
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
b _080672AC
|
|
_0806727E:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
_080672AC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080672B0
|
|
sub_080672B0: @ 0x080672B0
|
|
push {lr}
|
|
ldrb r2, [r0, #0x14]
|
|
lsrs r2, r2, #1
|
|
ldr r1, [r1, #4]
|
|
adds r1, r1, r2
|
|
ldrb r2, [r0, #0xa]
|
|
lsls r2, r2, #3
|
|
adds r1, r1, r2
|
|
bl sub_08004260
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080672C8
|
|
sub_080672C8: @ 0x080672C8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
movs r0, #0x11
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _080672E4
|
|
movs r0, #0x15
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
_080672E4:
|
|
ldr r3, _08067300 @ =gUnk_08110CE8
|
|
lsls r1, r4, #1
|
|
ldrb r2, [r5, #0xa]
|
|
lsls r0, r2, #1
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #1
|
|
adds r1, r1, r0
|
|
adds r1, r1, r3
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08067300: .4byte gUnk_08110CE8
|
|
|
|
thumb_func_start sub_08067304
|
|
sub_08067304: @ 0x08067304
|
|
push {lr}
|
|
ldr r1, _08067310 @ =gUnk_08110D00
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08067310: .4byte gUnk_08110D00
|
|
|
|
thumb_func_start sub_08067314
|
|
sub_08067314: @ 0x08067314
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806732C
|
|
sub_0806732C: @ 0x0806732C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08067378
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _08067374 @ =gUnk_08110CA8
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806737E
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #3
|
|
adds r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _0806737E
|
|
.align 2, 0
|
|
_08067374: .4byte gUnk_08110CA8
|
|
_08067378:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806737E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067380
|
|
sub_08067380: @ 0x08067380
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080673A4
|
|
ldr r0, _080673A0 @ =gUnk_08110E5C
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _080673BA
|
|
.align 2, 0
|
|
_080673A0: .4byte gUnk_08110E5C
|
|
_080673A4:
|
|
ldr r0, _080673BC @ =gUnk_08110E4C
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_080673BA:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080673BC: .4byte gUnk_08110E4C
|
|
|
|
thumb_func_start sub_080673C0
|
|
sub_080673C0: @ 0x080673C0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080673D4 @ =gUnk_030010A0
|
|
adds r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080673D8
|
|
movs r0, #3
|
|
b _080673DA
|
|
.align 2, 0
|
|
_080673D4: .4byte gUnk_030010A0
|
|
_080673D8:
|
|
movs r0, #1
|
|
_080673DA:
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0xa]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
strb r0, [r2, #0x1e]
|
|
cmp r0, #0
|
|
bne _080673EC
|
|
ldr r0, _080673F0 @ =gUnk_08110E94
|
|
str r0, [r2, #0x48]
|
|
_080673EC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080673F0: .4byte gUnk_08110E94
|
|
|
|
thumb_func_start sub_080673F4
|
|
sub_080673F4: @ 0x080673F4
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r3, r2, #0
|
|
adds r3, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r3, r0]
|
|
cmp r0, #0
|
|
beq _0806740C
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r2, #0xc]
|
|
strb r1, [r3]
|
|
_0806740C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067410
|
|
sub_08067410: @ 0x08067410
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067418
|
|
sub_08067418: @ 0x08067418
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r6, #0xc]
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r6, r0]
|
|
ldr r2, _08067488 @ =gUnk_03000BF0
|
|
ldrh r0, [r2, #6]
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
movs r3, #0x3f
|
|
ands r1, r3
|
|
movs r4, #0x32
|
|
ldrsh r0, [r6, r4]
|
|
ldrh r2, [r2, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r3
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r7, r6, #0
|
|
adds r7, #0x74
|
|
strh r1, [r7]
|
|
ldrb r0, [r6, #0xa]
|
|
cmp r0, #0
|
|
bne _08067494
|
|
ldr r0, _0806748C @ =gUnk_08110E94
|
|
str r0, [r6, #0x48]
|
|
ldr r5, _08067490 @ =0x00004022
|
|
ldrh r1, [r7]
|
|
subs r1, #1
|
|
adds r4, r6, #0
|
|
adds r4, #0x38
|
|
ldrb r2, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0800015E
|
|
ldrh r1, [r7]
|
|
ldrb r2, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0800015E
|
|
ldrh r1, [r7]
|
|
adds r1, #0x3f
|
|
ldrb r2, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0800015E
|
|
ldrh r1, [r7]
|
|
adds r1, #0x40
|
|
ldrb r2, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_0800015E
|
|
b _080674F8
|
|
.align 2, 0
|
|
_08067488: .4byte gUnk_03000BF0
|
|
_0806748C: .4byte gUnk_08110E94
|
|
_08067490: .4byte 0x00004022
|
|
_08067494:
|
|
adds r1, r6, #0
|
|
adds r1, #0x38
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
ldrb r2, [r6, #0x1b]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r6, #0x1b]
|
|
ldrb r0, [r6, #0x19]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r6, #0x19]
|
|
adds r2, r6, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #0x1d
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _080674F8
|
|
ldr r4, _08067500 @ =0x00004022
|
|
ldr r1, _08067504 @ =0x00000E81
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _08067508 @ =0x00000E82
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _0806750C @ =0x00000E83
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
ldr r1, _08067510 @ =0x00000EC3
|
|
adds r0, r4, #0
|
|
movs r2, #1
|
|
bl sub_0800015E
|
|
_080674F8:
|
|
adds r0, r6, #0
|
|
bl sub_0807DD50
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08067500: .4byte 0x00004022
|
|
_08067504: .4byte 0x00000E81
|
|
_08067508: .4byte 0x00000E82
|
|
_0806750C: .4byte 0x00000E83
|
|
_08067510: .4byte 0x00000EC3
|
|
|
|
thumb_func_start sub_08067514
|
|
sub_08067514: @ 0x08067514
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
bne _0806752A
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_0806752A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806752C
|
|
sub_0806752C: @ 0x0806752C
|
|
push {lr}
|
|
bl sub_0806FD3C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08067534
|
|
sub_08067534: @ 0x08067534
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
_0806753A:
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08067560
|
|
ldr r0, _08067578 @ =gUnk_08110E64
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
ldrh r2, [r1, #0x2e]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0x2e]
|
|
ldrh r0, [r1, #0x32]
|
|
adds r0, #0x1c
|
|
strh r0, [r1, #0x32]
|
|
_08067560:
|
|
adds r4, #1
|
|
cmp r4, #1
|
|
ble _0806753A
|
|
movs r0, #0xa6
|
|
lsls r0, r0, #1
|
|
bl sub_08004488
|
|
movs r0, #0x28
|
|
movs r1, #4
|
|
bl sub_08080964
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08067578: .4byte gUnk_08110E64
|
|
|
|
thumb_func_start sub_0806757C
|
|
sub_0806757C: @ 0x0806757C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xd]
|
|
cmp r0, #0
|
|
beq _080675CC
|
|
cmp r0, #2
|
|
bls _080675BC
|
|
ldr r0, _080675AC @ =0x00000E81
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _080675B0 @ =0x00000E82
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _080675B4 @ =0x00000E83
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
ldr r0, _080675B8 @ =0x00000EC3
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
b _080675CC
|
|
.align 2, 0
|
|
_080675AC: .4byte 0x00000E81
|
|
_080675B0: .4byte 0x00000E82
|
|
_080675B4: .4byte 0x00000E83
|
|
_080675B8: .4byte 0x00000EC3
|
|
_080675BC:
|
|
ldr r0, _080675D0 @ =gUnk_08110E68
|
|
ldrb r1, [r2, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r2, #0
|
|
bl sub_080ADF80
|
|
_080675CC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080675D0: .4byte gUnk_08110E68
|
|
|
|
thumb_func_start sub_080675D4
|
|
sub_080675D4: @ 0x080675D4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
ldr r5, _080676D0 @ =gUnk_08110E78
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r7, r0, #0
|
|
subs r7, #0xc
|
|
movs r0, #0x3f
|
|
mov r8, r0
|
|
movs r6, #8
|
|
_080675EC:
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
beq _08067646
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
ldrh r1, [r3, #0x2e]
|
|
adds r0, r0, r1
|
|
strh r0, [r3, #0x2e]
|
|
movs r0, #1
|
|
ldrsb r0, [r5, r0]
|
|
ldrh r1, [r3, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r3, #0x32]
|
|
strh r7, [r3, #0x36]
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
strb r1, [r0]
|
|
ldrb r1, [r4, #0x1b]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r3, #0x1b]
|
|
mov r0, r8
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x1b]
|
|
ldrb r1, [r4, #0x19]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r3, #0x19]
|
|
mov r0, r8
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x19]
|
|
adds r0, r4, #0
|
|
adds r1, r3, #0
|
|
bl sub_0806FAB0
|
|
_08067646:
|
|
subs r6, #1
|
|
adds r5, #2
|
|
cmp r6, #0
|
|
bge _080675EC
|
|
ldr r5, _080676D4 @ =gUnk_08110E8A
|
|
movs r0, #0x3f
|
|
mov r8, r0
|
|
movs r6, #3
|
|
_08067656:
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
beq _080676B0
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
ldrh r1, [r3, #0x2e]
|
|
adds r0, r0, r1
|
|
strh r0, [r3, #0x2e]
|
|
movs r0, #1
|
|
ldrsb r0, [r5, r0]
|
|
ldrh r1, [r3, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r3, #0x32]
|
|
strh r7, [r3, #0x36]
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
strb r1, [r0]
|
|
ldrb r1, [r4, #0x1b]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r3, #0x1b]
|
|
mov r0, r8
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x1b]
|
|
ldrb r1, [r4, #0x19]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r3, #0x19]
|
|
mov r0, r8
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x19]
|
|
adds r0, r4, #0
|
|
adds r1, r3, #0
|
|
bl sub_0806FAB0
|
|
_080676B0:
|
|
subs r6, #1
|
|
adds r5, #2
|
|
cmp r6, #0
|
|
bge _08067656
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #2
|
|
bls _080676C8
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
_080676C8:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080676D0: .4byte gUnk_08110E78
|
|
_080676D4: .4byte gUnk_08110E8A
|
|
|
|
thumb_func_start sub_080676D8
|
|
sub_080676D8: @ 0x080676D8
|
|
ldrb r1, [r0, #0xd]
|
|
adds r1, #1
|
|
strb r1, [r0, #0xd]
|
|
bx lr
|
|
|
|
thumb_func_start sub_080676E0
|
|
sub_080676E0: @ 0x080676E0
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
adds r2, r1, #0
|
|
ldrb r0, [r2, #0x18]
|
|
cmp r0, #1
|
|
beq _08067706
|
|
cmp r0, #1
|
|
bgt _080676F6
|
|
cmp r0, #0
|
|
beq _080676FC
|
|
b _08067734
|
|
_080676F6:
|
|
cmp r0, #2
|
|
beq _08067722
|
|
b _08067734
|
|
_080676FC:
|
|
movs r0, #1
|
|
strb r0, [r2, #0x18]
|
|
movs r0, #0x20
|
|
strb r0, [r2, #0x19]
|
|
b _08067742
|
|
_08067706:
|
|
ldrb r1, [r2, #0x19]
|
|
lsrs r0, r1, #1
|
|
subs r0, #0x10
|
|
strh r0, [r3, #0x36]
|
|
subs r1, #1
|
|
strb r1, [r2, #0x19]
|
|
lsls r1, r1, #0x18
|
|
cmp r1, #0
|
|
bne _08067742
|
|
movs r0, #2
|
|
strb r0, [r2, #0x18]
|
|
movs r0, #0x24
|
|
strb r0, [r2, #0x19]
|
|
b _08067742
|
|
_08067722:
|
|
ldrb r0, [r2, #0x19]
|
|
subs r0, #1
|
|
strb r0, [r2, #0x19]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08067742
|
|
movs r0, #3
|
|
strb r0, [r2, #0x18]
|
|
b _08067742
|
|
_08067734:
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #5
|
|
adds r0, r3, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
beq _08067748
|
|
_08067742:
|
|
ldr r1, _0806774C @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_08067748:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806774C: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08067750
|
|
sub_08067750: @ 0x08067750
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08067788
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #0x18
|
|
strh r0, [r4, #0x32]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_08004260
|
|
ldr r1, _08067784 @ =0x0000017B
|
|
adds r0, r4, #0
|
|
bl sub_0801D2B4
|
|
b _0806778E
|
|
.align 2, 0
|
|
_08067784: .4byte 0x0000017B
|
|
_08067788:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806778E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067790
|
|
sub_08067790: @ 0x08067790
|
|
push {lr}
|
|
ldrb r2, [r0, #0xa]
|
|
lsls r1, r2, #2
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #4
|
|
ldr r2, _080677AC @ =gUnk_02002A40
|
|
ldrb r2, [r2, #8]
|
|
lsls r2, r2, #3
|
|
ldr r3, _080677B0 @ =gUnk_08110EF8
|
|
adds r2, r2, r3
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080677AC: .4byte gUnk_02002A40
|
|
_080677B0: .4byte gUnk_08110EF8
|
|
|
|
thumb_func_start sub_080677B4
|
|
sub_080677B4: @ 0x080677B4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _080677E8 @ =gUnk_081110D8
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_08067C44
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080677E4
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #5
|
|
beq _080677E4
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_080677E4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080677E8: .4byte gUnk_081110D8
|
|
|
|
thumb_func_start sub_080677EC
|
|
sub_080677EC: @ 0x080677EC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #8
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #0x80
|
|
strh r0, [r4, #0x24]
|
|
adds r1, r4, #0
|
|
adds r1, #0x3c
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
adds r1, #4
|
|
movs r0, #0x48
|
|
strb r0, [r1]
|
|
subs r1, #1
|
|
movs r0, #0xa8
|
|
strb r0, [r1]
|
|
subs r1, #4
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r1, #0x2e
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
ldr r0, _0806783C @ =gLinkEntity
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r4, r2]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r0, r2]
|
|
cmp r1, r0
|
|
bge _08067840
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
b _08067848
|
|
.align 2, 0
|
|
_0806783C: .4byte gLinkEntity
|
|
_08067840:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
_08067848:
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldr r0, _0806786C @ =gUnk_08110EF0
|
|
str r0, [r4, #0x48]
|
|
adds r0, r4, #0
|
|
bl sub_0805ACC0
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _08067870
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r4, r0]
|
|
b _08067872
|
|
.align 2, 0
|
|
_0806786C: .4byte gUnk_08110EF0
|
|
_08067870:
|
|
lsrs r2, r2, #0x10
|
|
_08067872:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
movs r1, #0
|
|
strh r2, [r0]
|
|
ldrb r0, [r4, #0xe]
|
|
adds r0, r0, r2
|
|
adds r2, r4, #0
|
|
adds r2, #0x6e
|
|
strh r0, [r2]
|
|
strb r1, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
adds r0, #0x75
|
|
strb r1, [r0]
|
|
bl sub_08000E50
|
|
movs r1, #0x7f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
adds r1, r4, #0
|
|
adds r1, #0x74
|
|
strb r0, [r1]
|
|
subs r1, #0xb
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08067B08
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080678AC
|
|
sub_080678AC: @ 0x080678AC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08067D20
|
|
cmp r0, #0
|
|
beq _080678C2
|
|
adds r0, r4, #0
|
|
movs r1, #5
|
|
bl sub_08067B80
|
|
b _08067900
|
|
_080678C2:
|
|
adds r2, r4, #0
|
|
adds r2, #0x72
|
|
ldrh r0, [r2]
|
|
cmp r0, #0
|
|
beq _080678D0
|
|
subs r0, #1
|
|
strh r0, [r2]
|
|
_080678D0:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
adds r5, r0, #0
|
|
cmp r1, #1
|
|
bne _080678EA
|
|
ldrh r0, [r2]
|
|
cmp r0, #0
|
|
bne _080678EA
|
|
adds r0, r4, #0
|
|
bl sub_08067AAC
|
|
b _08067900
|
|
_080678EA:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldrb r1, [r5]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08067900
|
|
adds r0, r4, #0
|
|
bl sub_08067B34
|
|
_08067900:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067904
|
|
sub_08067904: @ 0x08067904
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08067D20
|
|
cmp r0, #0
|
|
beq _0806791A
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
bl sub_08067B80
|
|
b _08067978
|
|
_0806791A:
|
|
adds r1, r4, #0
|
|
adds r1, #0x72
|
|
ldrh r0, [r1]
|
|
subs r0, #1
|
|
strh r0, [r1]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _08067932
|
|
adds r0, r4, #0
|
|
bl sub_08067B70
|
|
b _08067978
|
|
_08067932:
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #8
|
|
bne _08067952
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6e
|
|
ldrh r1, [r1]
|
|
cmp r0, r1
|
|
ble _0806796C
|
|
movs r0, #0x18
|
|
strb r0, [r4, #0x15]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #0x59
|
|
ands r0, r1
|
|
b _0806796A
|
|
_08067952:
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
ldrh r0, [r0]
|
|
cmp r1, r0
|
|
bge _0806796C
|
|
movs r0, #8
|
|
strb r0, [r4, #0x15]
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
_0806796A:
|
|
strb r0, [r4, #0x18]
|
|
_0806796C:
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08067978:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806797C
|
|
sub_0806797C: @ 0x0806797C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08067998
|
|
adds r0, r4, #0
|
|
bl sub_08067B08
|
|
_08067998:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806799C
|
|
sub_0806799C: @ 0x0806799C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r0, _080679C0 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080679BE
|
|
adds r0, r4, #0
|
|
bl sub_08067B08
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0805E3A0
|
|
_080679BE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080679C0: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_080679C4
|
|
sub_080679C4: @ 0x080679C4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x74
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080679E6
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080679E6
|
|
adds r0, r4, #0
|
|
bl sub_08067D20
|
|
cmp r0, #0
|
|
bne _080679EE
|
|
_080679E6:
|
|
adds r0, r4, #0
|
|
bl sub_08067C24
|
|
b _08067A0A
|
|
_080679EE:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_08067BD4
|
|
adds r0, r4, #0
|
|
bl sub_08067D74
|
|
cmp r0, #0
|
|
beq _08067A0A
|
|
adds r0, r4, #0
|
|
bl sub_08067C18
|
|
_08067A0A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067A0C
|
|
sub_08067A0C: @ 0x08067A0C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08067A44
|
|
adds r0, r4, #0
|
|
bl sub_08067D20
|
|
cmp r0, #0
|
|
beq _08067A3C
|
|
adds r0, r4, #0
|
|
movs r1, #5
|
|
bl sub_08067B80
|
|
ldrb r0, [r4, #0xe]
|
|
adds r0, #0x14
|
|
strb r0, [r4, #0xe]
|
|
b _08067A76
|
|
_08067A3C:
|
|
adds r0, r4, #0
|
|
bl sub_08067C24
|
|
b _08067A76
|
|
_08067A44:
|
|
movs r2, #7
|
|
ands r2, r1
|
|
cmp r2, #0
|
|
beq _08067A70
|
|
ldrb r0, [r4, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldr r1, _08067A6C @ =gUnk_08111154
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
lsrs r0, r0, #0x1f
|
|
lsls r0, r0, #2
|
|
subs r0, #1
|
|
adds r0, r2, r0
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [r4, #0x48]
|
|
b _08067A76
|
|
.align 2, 0
|
|
_08067A6C: .4byte gUnk_08111154
|
|
_08067A70:
|
|
adds r0, r4, #0
|
|
bl sub_08067DDC
|
|
_08067A76:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067A78
|
|
sub_08067A78: @ 0x08067A78
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08067A94
|
|
adds r0, r4, #0
|
|
bl sub_08067AAC
|
|
_08067A94:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067A98
|
|
sub_08067A98: @ 0x08067A98
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08067AAA
|
|
adds r0, r4, #0
|
|
bl sub_08067B08
|
|
_08067AAA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067AAC
|
|
sub_08067AAC: @ 0x08067AAC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
bl sub_08000E50
|
|
ldr r2, _08067AFC @ =gUnk_081110FC
|
|
movs r1, #3
|
|
ands r1, r0
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r2
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
adds r1, #0x72
|
|
strh r0, [r1]
|
|
ldrb r1, [r4, #0x15]
|
|
lsrs r1, r1, #4
|
|
movs r0, #1
|
|
eors r1, r0
|
|
ands r1, r0
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
bl sub_08067DCC
|
|
ldr r0, _08067B00 @ =gUnk_0811110C
|
|
ldrb r2, [r0, #2]
|
|
ldr r3, _08067B04 @ =gUnk_0811110F
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08078850
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08067AFC: .4byte gUnk_081110FC
|
|
_08067B00: .4byte gUnk_0811110C
|
|
_08067B04: .4byte gUnk_0811110F
|
|
|
|
thumb_func_start sub_08067B08
|
|
sub_08067B08: @ 0x08067B08
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
bl sub_08000E50
|
|
ldr r2, _08067B30 @ =gUnk_08111104
|
|
movs r1, #3
|
|
ands r1, r0
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r2
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
adds r1, #0x72
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08067B34
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08067B30: .4byte gUnk_08111104
|
|
|
|
thumb_func_start sub_08067B34
|
|
sub_08067B34: @ 0x08067B34
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
bl sub_08067DCC
|
|
bl sub_08000E50
|
|
movs r1, #0x30
|
|
ands r0, r1
|
|
adds r0, #0xb4
|
|
adds r1, r4, #0
|
|
adds r1, #0x59
|
|
strb r0, [r1]
|
|
ldr r1, _08067B68 @ =gUnk_0811110C
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
lsrs r0, r0, #0x1f
|
|
adds r0, r0, r1
|
|
ldrb r2, [r0]
|
|
ldr r3, _08067B6C @ =gUnk_0811110F
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08078850
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08067B68: .4byte gUnk_0811110C
|
|
_08067B6C: .4byte gUnk_0811110F
|
|
|
|
thumb_func_start sub_08067B70
|
|
sub_08067B70: @ 0x08067B70
|
|
push {lr}
|
|
movs r1, #3
|
|
strb r1, [r0, #0xc]
|
|
movs r1, #4
|
|
bl sub_08067DCC
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067B80
|
|
sub_08067B80: @ 0x08067B80
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
movs r0, #5
|
|
strb r0, [r5, #0xc]
|
|
movs r0, #0x14
|
|
strb r0, [r5, #0xe]
|
|
bl sub_08000E50
|
|
movs r1, #0x7f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
adds r1, r5, #0
|
|
adds r1, #0x74
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r5, #0
|
|
bl sub_08067DDC
|
|
ldr r0, _08067BC4 @ =gLinkEntity
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r0, r2]
|
|
cmp r1, r0
|
|
bge _08067BC8
|
|
ldrb r0, [r5, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
b _08067BD0
|
|
.align 2, 0
|
|
_08067BC4: .4byte gLinkEntity
|
|
_08067BC8:
|
|
ldrb r1, [r5, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
_08067BD0:
|
|
strb r0, [r5, #0x18]
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08067BD4
|
|
sub_08067BD4: @ 0x08067BD4
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
ldrb r3, [r2, #0x18]
|
|
lsls r0, r3, #0x19
|
|
cmp r0, #0
|
|
bge _08067BFC
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r2, r1]
|
|
subs r0, #4
|
|
ldr r1, _08067BF8 @ =gLinkEntity
|
|
movs r4, #0x2e
|
|
ldrsh r1, [r1, r4]
|
|
cmp r0, r1
|
|
ble _08067C12
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
b _08067C10
|
|
.align 2, 0
|
|
_08067BF8: .4byte gLinkEntity
|
|
_08067BFC:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r2, r1]
|
|
adds r0, #4
|
|
ldr r1, _08067C14 @ =gLinkEntity
|
|
movs r4, #0x2e
|
|
ldrsh r1, [r1, r4]
|
|
cmp r0, r1
|
|
bge _08067C12
|
|
movs r0, #0x40
|
|
orrs r0, r3
|
|
_08067C10:
|
|
strb r0, [r2, #0x18]
|
|
_08067C12:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08067C14: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08067C18
|
|
sub_08067C18: @ 0x08067C18
|
|
push {lr}
|
|
movs r1, #6
|
|
strb r1, [r0, #0xc]
|
|
bl sub_080042AC
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08067C24
|
|
sub_08067C24: @ 0x08067C24
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #7
|
|
strb r0, [r4, #0xc]
|
|
adds r1, r4, #0
|
|
adds r1, #0x75
|
|
movs r0, #0x14
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08067DDC
|
|
adds r0, r4, #0
|
|
movs r1, #7
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067C44
|
|
sub_08067C44: @ 0x08067C44
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08067C6C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
rsbs r0, r0, #0
|
|
lsrs r5, r0, #0x1f
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
beq _08067C7C
|
|
cmp r5, #0
|
|
bne _08067C70
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
b _08067C7C
|
|
.align 2, 0
|
|
_08067C6C: .4byte gUnk_03003F80
|
|
_08067C70:
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080787A8
|
|
_08067C7C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r5, [r0]
|
|
subs r0, #0x30
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
adds r5, r0, #0
|
|
cmp r1, #0
|
|
beq _08067D1C
|
|
ldr r1, _08067CB4 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_0806FCA0
|
|
adds r2, r0, #0
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08067CA6
|
|
cmp r0, #3
|
|
beq _08067CB8
|
|
_08067CA6:
|
|
cmp r2, #2
|
|
bne _08067CDA
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _08067CEC
|
|
.align 2, 0
|
|
_08067CB4: .4byte gLinkEntity
|
|
_08067CB8:
|
|
cmp r2, #1
|
|
bne _08067CC4
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
b _08067CD4
|
|
_08067CC4:
|
|
ldrb r1, [r4, #0x18]
|
|
lsls r0, r1, #0x19
|
|
lsrs r0, r0, #0x1f
|
|
cmp r0, #3
|
|
bne _08067CD6
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
_08067CD4:
|
|
strb r0, [r4, #0x18]
|
|
_08067CD6:
|
|
cmp r2, #2
|
|
beq _08067CE4
|
|
_08067CDA:
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_080042AC
|
|
b _08067CEC
|
|
_08067CE4:
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
_08067CEC:
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #2
|
|
bne _08067D00
|
|
movs r0, #8
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08067D12
|
|
_08067D00:
|
|
movs r0, #4
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_08067790
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
_08067D12:
|
|
movs r0, #0
|
|
strb r0, [r5]
|
|
movs r0, #0xd2
|
|
bl sub_080A3268
|
|
_08067D1C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067D20
|
|
sub_08067D20: @ 0x08067D20
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x75
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _08067D34
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
b _08067D70
|
|
_08067D34:
|
|
movs r0, #2
|
|
bl sub_08049DF4
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08067D70
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
movs r3, #0x28
|
|
cmp r0, #0
|
|
bge _08067D4C
|
|
movs r3, #0x10
|
|
_08067D4C:
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r2, r0]
|
|
movs r5, #0x2e
|
|
ldrsh r0, [r4, r5]
|
|
subs r0, r0, r3
|
|
subs r1, r1, r0
|
|
cmp r1, #0x30
|
|
bhi _08067D70
|
|
movs r1, #0x32
|
|
ldrsh r0, [r2, r1]
|
|
adds r0, #4
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
subs r0, r0, r1
|
|
cmp r0, #0x38
|
|
bhi _08067D70
|
|
movs r0, #1
|
|
b _08067D72
|
|
_08067D70:
|
|
movs r0, #0
|
|
_08067D72:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08067D74
|
|
sub_08067D74: @ 0x08067D74
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #5
|
|
beq _08067DC8
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _08067D88
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
_08067D88:
|
|
movs r0, #2
|
|
bl sub_08049DF4
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08067DC8
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
movs r3, #0x18
|
|
cmp r0, #0
|
|
bge _08067DA0
|
|
movs r3, #8
|
|
_08067DA0:
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r2, r0]
|
|
movs r5, #0x2e
|
|
ldrsh r0, [r4, r5]
|
|
subs r0, r0, r3
|
|
subs r1, r1, r0
|
|
cmp r1, #0x1e
|
|
bhi _08067DC8
|
|
movs r1, #0x32
|
|
ldrsh r0, [r2, r1]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
subs r0, r0, r1
|
|
cmp r0, #0x16
|
|
bhi _08067DC8
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
bne _08067DC8
|
|
movs r0, #1
|
|
b _08067DCA
|
|
_08067DC8:
|
|
movs r0, #0
|
|
_08067DCA:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08067DCC
|
|
sub_08067DCC: @ 0x08067DCC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r2, #0x71
|
|
strb r1, [r2]
|
|
bl sub_080042AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067DDC
|
|
sub_08067DDC: @ 0x08067DDC
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
movs r1, #0
|
|
strb r0, [r2, #0x10]
|
|
adds r0, r2, #0
|
|
adds r0, #0x41
|
|
strb r1, [r0]
|
|
subs r0, #4
|
|
strb r1, [r0]
|
|
ldr r0, _08067DF8 @ =gUnk_08110EF0
|
|
str r0, [r2, #0x48]
|
|
bx lr
|
|
.align 2, 0
|
|
_08067DF8: .4byte gUnk_08110EF0
|
|
|
|
thumb_func_start sub_08067DFC
|
|
sub_08067DFC: @ 0x08067DFC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _08067E22
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #5
|
|
bl sub_080042AC
|
|
b _08067E28
|
|
_08067E22:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08067E28:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067E2C
|
|
sub_08067E2C: @ 0x08067E2C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08067E58
|
|
ldr r0, _08067E54 @ =gUnk_08111368
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
b _08067E5E
|
|
.align 2, 0
|
|
_08067E54: .4byte gUnk_08111368
|
|
_08067E58:
|
|
adds r0, r4, #0
|
|
bl sub_08067EF0
|
|
_08067E5E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08067E60
|
|
sub_08067E60: @ 0x08067E60
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08067E84 @ =gUnk_08111358
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08067E80
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
_08067E80:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08067E84: .4byte gUnk_08111358
|
|
|
|
thumb_func_start sub_08067E88
|
|
sub_08067E88: @ 0x08067E88
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _08067E9E
|
|
movs r1, #2
|
|
b _08067EB4
|
|
_08067E9E:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _08067EAA
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
b _08067EB4
|
|
_08067EAA:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
_08067EB4:
|
|
adds r0, r4, #0
|
|
bl sub_0806F078
|
|
cmp r0, #0
|
|
bne _08067EC4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08067EC4:
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08067EE4
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xe]
|
|
movs r1, #0x90
|
|
lsls r1, r1, #5
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
_08067EE4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067EE8
|
|
sub_08067EE8: @ 0x08067EE8
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08067EF0
|
|
sub_08067EF0: @ 0x08067EF0
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
ldrb r4, [r5, #0xc]
|
|
cmp r4, #1
|
|
beq _08067F58
|
|
cmp r4, #1
|
|
bgt _08067F04
|
|
cmp r4, #0
|
|
beq _08067F10
|
|
b _0806801A
|
|
_08067F04:
|
|
cmp r4, #2
|
|
beq _08067FDC
|
|
cmp r4, #3
|
|
bne _08067F0E
|
|
b _08068000
|
|
_08067F0E:
|
|
b _0806801A
|
|
_08067F10:
|
|
ldr r1, _08067F50 @ =gUnk_08111358
|
|
adds r0, r5, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
bne _08067F1E
|
|
b _080680F0
|
|
_08067F1E:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5, #0x18]
|
|
ldrb r0, [r5, #0xa]
|
|
strb r0, [r5, #0x14]
|
|
adds r0, r5, #0
|
|
adds r0, #0x69
|
|
strb r4, [r0]
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r5, #0
|
|
bl sub_0807DD50
|
|
ldr r1, _08067F54 @ =gUnk_08111304
|
|
ldrb r0, [r5, #0xb]
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
b _08067FF2
|
|
.align 2, 0
|
|
_08067F50: .4byte gUnk_08111358
|
|
_08067F54: .4byte gUnk_08111304
|
|
_08067F58:
|
|
adds r4, r5, #0
|
|
adds r4, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #2
|
|
bne _08067F98
|
|
movs r1, #0
|
|
movs r0, #3
|
|
strb r0, [r5, #0xc]
|
|
strb r1, [r4]
|
|
adds r0, r5, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r5, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _08067F94 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
adds r0, r5, #0
|
|
bl sub_0806F118
|
|
b _0806801A
|
|
.align 2, 0
|
|
_08067F94: .4byte gLinkEntity
|
|
_08067F98:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r5, #0
|
|
bl sub_0807DDE4
|
|
ldrb r0, [r5, #0xb]
|
|
cmp r0, #3
|
|
bne _0806801A
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
beq _0806801A
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r5, #0xc]
|
|
strb r1, [r4]
|
|
ldr r1, _08067FD8 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
adds r0, r5, #0
|
|
bl sub_08068190
|
|
b _0806801A
|
|
.align 2, 0
|
|
_08067FD8: .4byte gLinkEntity
|
|
_08067FDC:
|
|
ldr r0, _08067FFC @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806801A
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, #4
|
|
_08067FF2:
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
b _0806801A
|
|
.align 2, 0
|
|
_08067FFC: .4byte gUnk_02000050
|
|
_08068000:
|
|
adds r0, r5, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806801A
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
adds r0, r5, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_0806801A:
|
|
adds r0, r5, #0
|
|
adds r0, #0x59
|
|
ldrb r1, [r0]
|
|
adds r7, r0, #0
|
|
cmp r1, #0xff
|
|
beq _0806802C
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
_0806802C:
|
|
adds r1, r5, #0
|
|
adds r1, #0x5b
|
|
ldrb r2, [r1]
|
|
movs r0, #1
|
|
ands r0, r2
|
|
adds r6, r1, #0
|
|
cmp r0, #0
|
|
beq _0806807E
|
|
movs r0, #0xfe
|
|
ands r0, r2
|
|
strb r0, [r6]
|
|
adds r0, r5, #0
|
|
bl sub_080040A8
|
|
cmp r0, #0
|
|
bne _08068068
|
|
ldr r4, _08068064 @ =gUnk_0811137A
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
bl __modsi3
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
bl sub_080A3268
|
|
b _0806807E
|
|
.align 2, 0
|
|
_08068064: .4byte gUnk_0811137A
|
|
_08068068:
|
|
ldr r4, _080680F4 @ =gUnk_08111374
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
bl __modsi3
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
bl sub_08004488
|
|
_0806807E:
|
|
ldrb r1, [r6]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080680A8
|
|
movs r0, #0xfd
|
|
ands r0, r1
|
|
strb r0, [r6]
|
|
adds r0, r5, #0
|
|
movs r1, #4
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _080680A8
|
|
ldr r3, _080680F8 @ =0xFFE80000
|
|
adds r0, r5, #0
|
|
movs r2, #0
|
|
bl sub_0806FA48
|
|
_080680A8:
|
|
ldrb r1, [r6]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080680D2
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r6]
|
|
adds r0, r5, #0
|
|
movs r1, #0x3d
|
|
movs r2, #0x20
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _080680D2
|
|
ldr r2, _080680FC @ =0xFFEC0000
|
|
ldr r3, _08068100 @ =0xFFF60000
|
|
adds r0, r5, #0
|
|
bl sub_0806FA48
|
|
_080680D2:
|
|
ldrb r1, [r6]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080680F0
|
|
movs r0, #0xf7
|
|
ands r0, r1
|
|
strb r0, [r6]
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
ldrb r1, [r7]
|
|
adds r0, r0, r1
|
|
strb r0, [r7]
|
|
_080680F0:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080680F4: .4byte gUnk_08111374
|
|
_080680F8: .4byte 0xFFE80000
|
|
_080680FC: .4byte 0xFFEC0000
|
|
_08068100: .4byte 0xFFF60000
|
|
|
|
thumb_func_start sub_08068104
|
|
sub_08068104: @ 0x08068104
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806811C
|
|
sub_0806811C: @ 0x0806811C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
adds r7, r0, #0
|
|
cmp r7, #0
|
|
beq _0806812E
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
b _0806818A
|
|
_0806812E:
|
|
movs r0, #2
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806EDD8
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
bge _08068148
|
|
ldrb r0, [r4, #0xa]
|
|
strb r0, [r4, #0x14]
|
|
lsls r3, r0, #2
|
|
_08068148:
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #5
|
|
asrs r1, r3, #1
|
|
lsls r1, r1, #1
|
|
ldr r2, _0806818C @ =gUnk_08111284
|
|
adds r1, r1, r2
|
|
adds r0, r0, r1
|
|
ldrb r6, [r0]
|
|
ldrb r5, [r0, #1]
|
|
movs r0, #0x80
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
beq _0806816C
|
|
adds r0, r3, #0
|
|
bl sub_0806F5B0
|
|
strb r0, [r4, #0x14]
|
|
_0806816C:
|
|
movs r0, #0x40
|
|
orrs r6, r0
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
strb r6, [r0]
|
|
movs r0, #0x7f
|
|
ands r5, r0
|
|
strb r5, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
strb r7, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x59
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
_0806818A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806818C: .4byte gUnk_08111284
|
|
|
|
thumb_func_start sub_08068190
|
|
sub_08068190: @ 0x08068190
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
ldrb r5, [r6, #0xb]
|
|
cmp r5, #8
|
|
bls _0806819C
|
|
movs r5, #8
|
|
_0806819C:
|
|
movs r0, #0x7e
|
|
bl sub_0807CBD0
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
movs r0, #0x41
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _080681B4
|
|
movs r4, #2
|
|
_080681B4:
|
|
movs r0, #2
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _080681C0
|
|
movs r4, #3
|
|
_080681C0:
|
|
ldr r2, _080681D4 @ =gUnk_0811130E
|
|
lsls r0, r4, #1
|
|
lsls r1, r5, #3
|
|
adds r0, r0, r1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080681D4: .4byte gUnk_0811130E
|
|
|
|
thumb_func_start sub_080681D8
|
|
sub_080681D8: @ 0x080681D8
|
|
ldr r1, [r1, #4]
|
|
strb r1, [r0, #0xa]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080681E0
|
|
sub_080681E0: @ 0x080681E0
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r4, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r4, r0
|
|
ldrb r2, [r5, #0x1e]
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
movs r0, #0x40
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _08068226
|
|
movs r0, #0xe1
|
|
rsbs r0, r0, #0
|
|
ands r4, r0
|
|
adds r2, r4, #4
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
b _08068268
|
|
_08068226:
|
|
movs r0, #0x20
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _08068254
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
movs r0, #0xe1
|
|
rsbs r0, r0, #0
|
|
ands r4, r0
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #2
|
|
bl sub_0806FF88
|
|
b _08068268
|
|
_08068254:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
_08068268:
|
|
adds r0, r5, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08068270
|
|
sub_08068270: @ 0x08068270
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _080682A8
|
|
ldr r1, _080682A4 @ =gUnk_08111358
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080682AE
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
b _080682AE
|
|
.align 2, 0
|
|
_080682A4: .4byte gUnk_08111358
|
|
_080682A8:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_080682AE:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080682B0
|
|
sub_080682B0: @ 0x080682B0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _080682F4
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r2, [r0]
|
|
adds r0, #1
|
|
strb r2, [r0]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806854C
|
|
_080682F4:
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0806830A
|
|
adds r0, r4, #0
|
|
bl sub_08068318
|
|
b _08068314
|
|
_0806830A:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
_08068314:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068318
|
|
sub_08068318: @ 0x08068318
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov r8, r0
|
|
ldr r4, _08068414 @ =gLinkEntity
|
|
ldrh r1, [r4, #0x2e]
|
|
ldr r3, _08068418 @ =0xFFFF0000
|
|
adds r0, r3, #0
|
|
ands r0, r6
|
|
orrs r0, r1
|
|
ldrh r1, [r4, #0x32]
|
|
lsls r1, r1, #0x10
|
|
ldr r2, _0806841C @ =0x0000FFFF
|
|
ands r0, r2
|
|
adds r6, r0, #0
|
|
orrs r6, r1
|
|
ldrh r0, [r4, #0x36]
|
|
ands r3, r7
|
|
orrs r3, r0
|
|
adds r7, r3, #0
|
|
ldr r0, _08068420 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x10
|
|
ldr r2, _08068424 @ =0xFF00FFFF
|
|
ands r2, r3
|
|
orrs r2, r0
|
|
adds r7, r2, #0
|
|
ldrb r1, [r4, #0x14]
|
|
movs r0, #0x3f
|
|
ands r1, r0
|
|
lsls r1, r1, #0x18
|
|
ldr r0, _08068428 @ =0xC0FFFFFF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
adds r7, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x1e
|
|
ldr r2, _0806842C @ =0x3FFFFFFF
|
|
ands r0, r2
|
|
adds r7, r0, #0
|
|
orrs r7, r1
|
|
mov r0, r8
|
|
ldr r5, [r0, #0x64]
|
|
ldrb r1, [r5, #6]
|
|
cmp r1, #0xa
|
|
bne _08068386
|
|
lsrs r0, r7, #0x10
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xa
|
|
bne _08068394
|
|
_08068386:
|
|
cmp r1, #0x16
|
|
bne _080683B4
|
|
lsrs r0, r7, #0x10
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x16
|
|
beq _080683B4
|
|
_08068394:
|
|
ldrh r0, [r4, #0x2e]
|
|
mov r1, r8
|
|
strh r0, [r1, #0x2e]
|
|
ldrh r0, [r4, #0x32]
|
|
strh r0, [r1, #0x32]
|
|
ldrb r1, [r1, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
mov r2, r8
|
|
strb r0, [r2, #0x18]
|
|
mov r0, r8
|
|
bl sub_08068578
|
|
_080683B4:
|
|
movs r3, #0
|
|
mov sb, r3
|
|
ldr r0, [r5]
|
|
cmp r6, r0
|
|
bne _080683D0
|
|
ldr r0, [r5, #4]
|
|
cmp r7, r0
|
|
bne _080683D0
|
|
lsls r1, r7, #8
|
|
lsrs r0, r1, #0x18
|
|
cmp r0, #0x16
|
|
beq _080683D0
|
|
cmp r0, #0xa
|
|
bne _08068430
|
|
_080683D0:
|
|
mov r0, r8
|
|
ldr r5, [r0, #0x64]
|
|
adds r5, #0x90
|
|
mov r4, r8
|
|
adds r4, #0x69
|
|
mov r3, r8
|
|
adds r3, #0x38
|
|
movs r1, #0x58
|
|
add r1, r8
|
|
mov ip, r1
|
|
movs r2, #0x12
|
|
_080683E6:
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #4]
|
|
str r0, [r5, #8]
|
|
str r1, [r5, #0xc]
|
|
subs r5, #8
|
|
subs r2, #1
|
|
cmp r2, #0
|
|
bge _080683E6
|
|
mov r2, r8
|
|
ldr r5, [r2, #0x64]
|
|
str r6, [r5]
|
|
str r7, [r5, #4]
|
|
movs r0, #4
|
|
mov sb, r0
|
|
ldrb r1, [r4]
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
ble _080684A8
|
|
subs r0, r1, #1
|
|
strb r0, [r4]
|
|
b _080684A8
|
|
.align 2, 0
|
|
_08068414: .4byte gLinkEntity
|
|
_08068418: .4byte 0xFFFF0000
|
|
_0806841C: .4byte 0x0000FFFF
|
|
_08068420: .4byte gUnk_03003F80
|
|
_08068424: .4byte 0xFF00FFFF
|
|
_08068428: .4byte 0xC0FFFFFF
|
|
_0806842C: .4byte 0x3FFFFFFF
|
|
_08068430:
|
|
adds r5, #0x98
|
|
movs r1, #4
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, #0
|
|
bge _08068466
|
|
mov r2, r8
|
|
ldr r5, [r2, #0x64]
|
|
adds r5, #0x90
|
|
mov r4, r8
|
|
adds r4, #0x69
|
|
mov r3, r8
|
|
adds r3, #0x38
|
|
movs r0, #0x58
|
|
add r0, r8
|
|
mov ip, r0
|
|
movs r2, #0x12
|
|
_08068450:
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #4]
|
|
str r0, [r5, #8]
|
|
str r1, [r5, #0xc]
|
|
subs r5, #8
|
|
subs r2, #1
|
|
cmp r2, #0
|
|
bge _08068450
|
|
movs r1, #4
|
|
mov sb, r1
|
|
b _080684A8
|
|
_08068466:
|
|
ldr r1, _0806851C @ =gLinkEntity
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r1, r2]
|
|
movs r3, #0x32
|
|
ldrsh r1, [r1, r3]
|
|
ldrh r2, [r5]
|
|
ldrh r3, [r5, #2]
|
|
bl sub_080041E8
|
|
lsrs r0, r0, #4
|
|
mov r4, r8
|
|
adds r4, #0x69
|
|
mov r3, r8
|
|
adds r3, #0x38
|
|
movs r1, #0x58
|
|
add r1, r8
|
|
mov ip, r1
|
|
cmp r0, #0x18
|
|
ble _080684A8
|
|
mov r2, r8
|
|
ldr r5, [r2, #0x64]
|
|
adds r5, #0x90
|
|
movs r2, #0x12
|
|
_08068494:
|
|
ldr r0, [r5]
|
|
ldr r1, [r5, #4]
|
|
str r0, [r5, #8]
|
|
str r1, [r5, #0xc]
|
|
subs r5, #8
|
|
subs r2, #1
|
|
cmp r2, #0
|
|
bge _08068494
|
|
movs r0, #4
|
|
mov sb, r0
|
|
_080684A8:
|
|
mov r1, r8
|
|
ldr r5, [r1, #0x64]
|
|
adds r5, #0x98
|
|
ldrh r0, [r5]
|
|
strh r0, [r1, #0x2e]
|
|
ldrh r0, [r5, #2]
|
|
strh r0, [r1, #0x32]
|
|
ldrh r0, [r5, #4]
|
|
strh r0, [r1, #0x36]
|
|
ldrb r0, [r5, #7]
|
|
lsls r0, r0, #0x1a
|
|
lsrs r0, r0, #0x1a
|
|
strb r0, [r1, #0x14]
|
|
ldrb r0, [r5, #7]
|
|
lsrs r0, r0, #6
|
|
strb r0, [r3]
|
|
ldrb r0, [r5, #6]
|
|
cmp r0, #0x16
|
|
beq _080684D2
|
|
cmp r0, #0xa
|
|
bne _080684DE
|
|
_080684D2:
|
|
mov r2, r8
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2, #0x18]
|
|
_080684DE:
|
|
adds r1, r4, #0
|
|
ldrb r2, [r1]
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
ble _080684EE
|
|
subs r0, r2, #1
|
|
strb r0, [r1]
|
|
_080684EE:
|
|
mov r2, sb
|
|
mov r3, r8
|
|
ldrb r0, [r3, #0x14]
|
|
lsrs r0, r0, #1
|
|
add sb, r0
|
|
mov r0, ip
|
|
ldrb r0, [r0]
|
|
cmp sb, r0
|
|
beq _08068520
|
|
cmp r2, #0
|
|
bne _0806850C
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bgt _08068520
|
|
_0806850C:
|
|
mov r0, r8
|
|
mov r1, sb
|
|
bl sub_080042AC
|
|
movs r0, #0x1e
|
|
strb r0, [r4]
|
|
b _08068526
|
|
.align 2, 0
|
|
_0806851C: .4byte gLinkEntity
|
|
_08068520:
|
|
mov r0, r8
|
|
bl sub_080042B8
|
|
_08068526:
|
|
mov r0, r8
|
|
bl sub_0800451C
|
|
mov r1, r8
|
|
movs r2, #0x36
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, #0
|
|
bge _08068542
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
mov r0, r8
|
|
movs r1, #0
|
|
bl sub_0806F854
|
|
_08068542:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806854C
|
|
sub_0806854C: @ 0x0806854C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0xa0
|
|
bl sub_0801D8E0
|
|
str r0, [r5, #0x64]
|
|
cmp r0, #0
|
|
beq _08068574
|
|
adds r0, r5, #0
|
|
adds r0, #0x68
|
|
movs r4, #0
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
adds r0, r5, #0
|
|
bl sub_080788E0
|
|
str r4, [r5, #0x48]
|
|
adds r0, r5, #0
|
|
bl sub_08068578
|
|
_08068574:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068578
|
|
sub_08068578: @ 0x08068578
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
adds r7, r0, #0
|
|
ldr r4, _08068664 @ =gLinkEntity
|
|
ldrh r1, [r4, #0x2e]
|
|
ldr r3, _08068668 @ =0xFFFF0000
|
|
adds r0, r3, #0
|
|
ands r0, r5
|
|
orrs r0, r1
|
|
ldrh r1, [r4, #0x32]
|
|
lsls r1, r1, #0x10
|
|
ldr r2, _0806866C @ =0x0000FFFF
|
|
ands r0, r2
|
|
adds r5, r0, #0
|
|
orrs r5, r1
|
|
ldrh r0, [r4, #0x36]
|
|
ands r3, r6
|
|
orrs r3, r0
|
|
ldr r0, _08068670 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x10
|
|
ldr r2, _08068674 @ =0xFF00FFFF
|
|
ands r2, r3
|
|
orrs r2, r0
|
|
ldrb r1, [r4, #0x14]
|
|
movs r0, #0x3f
|
|
ands r1, r0
|
|
lsls r1, r1, #0x18
|
|
ldr r0, _08068678 @ =0xC0FFFFFF
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x1e
|
|
ldr r2, _0806867C @ =0x3FFFFFFF
|
|
ands r0, r2
|
|
adds r6, r0, #0
|
|
orrs r6, r1
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r7, r2]
|
|
subs r1, r1, r0
|
|
mov sl, r1
|
|
movs r0, #0x32
|
|
ldrsh r1, [r4, r0]
|
|
movs r2, #0x32
|
|
ldrsh r0, [r7, r2]
|
|
subs r1, r1, r0
|
|
mov r8, r1
|
|
mov r1, sl
|
|
lsls r0, r1, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r1, #0x14
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
mov sl, r0
|
|
mov r2, r8
|
|
lsls r0, r2, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r1, #0x14
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
mov r8, r0
|
|
ldr r3, [r7, #0x64]
|
|
movs r0, #0
|
|
mov sb, r0
|
|
mov ip, r0
|
|
movs r4, #0x13
|
|
_08068614:
|
|
mov r1, ip
|
|
asrs r0, r1, #8
|
|
subs r0, r5, r0
|
|
strh r0, [r3]
|
|
lsrs r0, r5, #0x10
|
|
mov r2, sb
|
|
asrs r1, r2, #8
|
|
subs r0, r0, r1
|
|
strh r0, [r3, #2]
|
|
strh r6, [r3, #4]
|
|
lsrs r0, r6, #0x10
|
|
strb r0, [r3, #6]
|
|
ldrb r0, [r7, #0x14]
|
|
movs r1, #0x3f
|
|
ands r1, r0
|
|
ldrb r2, [r3, #7]
|
|
movs r0, #0x40
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #7]
|
|
adds r1, r7, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #6
|
|
movs r2, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3, #7]
|
|
adds r3, #8
|
|
add sb, r8
|
|
add ip, sl
|
|
subs r4, #1
|
|
cmp r4, #0
|
|
bge _08068614
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08068664: .4byte gLinkEntity
|
|
_08068668: .4byte 0xFFFF0000
|
|
_0806866C: .4byte 0x0000FFFF
|
|
_08068670: .4byte gUnk_03003F80
|
|
_08068674: .4byte 0xFF00FFFF
|
|
_08068678: .4byte 0xC0FFFFFF
|
|
_0806867C: .4byte 0x3FFFFFFF
|
|
|
|
thumb_func_start sub_08068680
|
|
sub_08068680: @ 0x08068680
|
|
adds r2, r1, #0
|
|
adds r2, #0x68
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
ldrb r2, [r1, #0x18]
|
|
subs r0, #4
|
|
ands r0, r2
|
|
strb r0, [r1, #0x18]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068694
|
|
sub_08068694: @ 0x08068694
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x68
|
|
movs r3, #1
|
|
movs r1, #1
|
|
strb r1, [r2]
|
|
ldrb r2, [r4, #0x18]
|
|
subs r1, #5
|
|
ands r1, r2
|
|
orrs r1, r3
|
|
strb r1, [r4, #0x18]
|
|
ldrb r0, [r0, #0x14]
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_08068578
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080686C4
|
|
sub_080686C4: @ 0x080686C4
|
|
push {lr}
|
|
adds r0, r1, #0
|
|
ldrh r1, [r0, #0x32]
|
|
subs r1, #0x10
|
|
strh r1, [r0, #0x32]
|
|
bl sub_08068578
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080686D4
|
|
sub_080686D4: @ 0x080686D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08068700
|
|
ldr r0, _080686FC @ =gUnk_08111530
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
b _08068706
|
|
.align 2, 0
|
|
_080686FC: .4byte gUnk_08111530
|
|
_08068700:
|
|
adds r0, r4, #0
|
|
bl sub_08068780
|
|
_08068706:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08068708
|
|
sub_08068708: @ 0x08068708
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806872C @ =gUnk_08111520
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08068728
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
_08068728:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806872C: .4byte gUnk_08111520
|
|
|
|
thumb_func_start sub_08068730
|
|
sub_08068730: @ 0x08068730
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
blt _08068762
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _0806875E
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
beq _08068762
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _08068762
|
|
_0806875E:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_08068762:
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _0806877E
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0xe]
|
|
movs r1, #0x90
|
|
lsls r1, r1, #5
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
_0806877E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08068780
|
|
sub_08068780: @ 0x08068780
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #1
|
|
beq _080687D0
|
|
cmp r0, #1
|
|
bgt _08068794
|
|
cmp r0, #0
|
|
beq _0806879A
|
|
b _0806880E
|
|
_08068794:
|
|
cmp r0, #2
|
|
beq _08068800
|
|
b _0806880E
|
|
_0806879A:
|
|
ldr r1, _080687CC @ =gUnk_08111520
|
|
adds r0, r5, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806887A
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5, #0x18]
|
|
ldrb r0, [r5, #0xa]
|
|
strb r0, [r5, #0x14]
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r5, #0
|
|
bl sub_0807DD50
|
|
b _0806880E
|
|
.align 2, 0
|
|
_080687CC: .4byte gUnk_08111520
|
|
_080687D0:
|
|
adds r2, r5, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _080687EA
|
|
movs r0, #0
|
|
strb r1, [r5, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
bl sub_0806F118
|
|
b _0806880E
|
|
_080687EA:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r5, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
b _0806880E
|
|
_08068800:
|
|
adds r0, r5, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806880E
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
_0806880E:
|
|
adds r2, r5, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806887A
|
|
movs r0, #0xbf
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
bl sub_080040A8
|
|
cmp r0, #0
|
|
bne _08068848
|
|
ldr r4, _08068844 @ =gUnk_0811153E
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
bl __modsi3
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
bl sub_080A3268
|
|
b _0806885E
|
|
.align 2, 0
|
|
_08068844: .4byte gUnk_0811153E
|
|
_08068848:
|
|
ldr r4, _0806887C @ =gUnk_08111538
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
bl __modsi3
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
bl sub_08004488
|
|
_0806885E:
|
|
adds r0, r5, #0
|
|
movs r1, #0x3d
|
|
movs r2, #0x20
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806887A
|
|
movs r2, #0xc0
|
|
lsls r2, r2, #0xd
|
|
ldr r3, _08068880 @ =0xFFF60000
|
|
adds r0, r5, #0
|
|
bl sub_0806FA48
|
|
_0806887A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806887C: .4byte gUnk_08111538
|
|
_08068880: .4byte 0xFFF60000
|
|
|
|
thumb_func_start sub_08068884
|
|
sub_08068884: @ 0x08068884
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806889C
|
|
sub_0806889C: @ 0x0806889C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r4, [r0]
|
|
movs r0, #0xc1
|
|
rsbs r0, r0, #0
|
|
ands r4, r0
|
|
ldrb r2, [r5, #0x1e]
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
movs r0, #0x20
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _080688E2
|
|
movs r0, #0xe1
|
|
rsbs r0, r0, #0
|
|
ands r4, r0
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
adds r2, r4, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
b _08068906
|
|
_080688E2:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
movs r0, #0xe1
|
|
rsbs r0, r0, #0
|
|
ands r4, r0
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #2
|
|
bl sub_0806FFD8
|
|
_08068906:
|
|
adds r0, r5, #0
|
|
bl sub_0807000C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068910
|
|
sub_08068910: @ 0x08068910
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _08068920
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
b _08068960
|
|
_08068920:
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08068960
|
|
adds r0, r4, #0
|
|
movs r1, #0x30
|
|
movs r2, #0x30
|
|
bl sub_0806EDD8
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bge _08068944
|
|
movs r2, #0x10
|
|
_08068944:
|
|
adds r0, r2, #0
|
|
bl sub_0806F5A4
|
|
adds r2, r0, #0
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r1, r0
|
|
adds r1, r1, r2
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_08068960:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068964
|
|
sub_08068964: @ 0x08068964
|
|
push {lr}
|
|
movs r0, #0x35
|
|
movs r1, #0
|
|
movs r2, #3
|
|
bl sub_080A7C18
|
|
movs r0, #0x35
|
|
movs r1, #2
|
|
bl sub_0807CAA0
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806897C
|
|
sub_0806897C: @ 0x0806897C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _080689B4
|
|
ldr r1, _080689B0 @ =gUnk_08111520
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080689BA
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
b _080689BA
|
|
.align 2, 0
|
|
_080689B0: .4byte gUnk_08111520
|
|
_080689B4:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_080689BA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start nullsub_502
|
|
nullsub_502: @ 0x080689BC
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080689C0
|
|
sub_080689C0: @ 0x080689C0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080689E4
|
|
ldr r0, _080689E0 @ =gUnk_081115D0
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _080689FA
|
|
.align 2, 0
|
|
_080689E0: .4byte gUnk_081115D0
|
|
_080689E4:
|
|
ldr r0, _08068A18 @ =gUnk_081115C0
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_080689FA:
|
|
adds r2, r4, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08068A16
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08068BEC
|
|
_08068A16:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08068A18: .4byte gUnk_081115C0
|
|
|
|
thumb_func_start sub_08068A1C
|
|
sub_08068A1C: @ 0x08068A1C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
strb r0, [r4, #0xb]
|
|
ldr r0, _08068A34 @ =gUnk_030010A0
|
|
adds r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08068A38
|
|
movs r1, #6
|
|
movs r0, #3
|
|
b _08068A42
|
|
.align 2, 0
|
|
_08068A34: .4byte gUnk_030010A0
|
|
_08068A38:
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
movs r1, #2
|
|
movs r0, #1
|
|
_08068A42:
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08068A4C
|
|
sub_08068A4C: @ 0x08068A4C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _08068A62
|
|
movs r1, #2
|
|
b _08068A78
|
|
_08068A62:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _08068A6E
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
b _08068A78
|
|
_08068A6E:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r1, [r0]
|
|
_08068A78:
|
|
adds r0, r4, #0
|
|
bl sub_0806F078
|
|
cmp r0, #0
|
|
bne _08068A88
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08068A88:
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08068AA2
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0
|
|
bl sub_08056378
|
|
_08068AA2:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08068AA4
|
|
sub_08068AA4: @ 0x08068AA4
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r0, [r2, #0xa]
|
|
cmp r0, #0
|
|
beq _08068AD4
|
|
ldrb r0, [r2, #0xb]
|
|
adds r1, r0, #1
|
|
movs r0, #7
|
|
ands r1, r0
|
|
strb r1, [r2, #0xb]
|
|
cmp r1, #0
|
|
bne _08068AC4
|
|
adds r0, r1, #1
|
|
strb r0, [r2, #0xb]
|
|
_08068AC4:
|
|
ldr r0, _08068AD8 @ =gUnk_081115DC
|
|
ldrb r1, [r2, #0xb]
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r1, [r1]
|
|
adds r0, r2, #0
|
|
bl sub_0801D2B4
|
|
_08068AD4:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068AD8: .4byte gUnk_081115DC
|
|
|
|
thumb_func_start sub_08068ADC
|
|
sub_08068ADC: @ 0x08068ADC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08068AF8 @ =gUnk_030010A0
|
|
adds r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _08068AF0
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_08068AF0:
|
|
adds r0, r4, #0
|
|
bl sub_0806FD3C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08068AF8: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_08068AFC
|
|
sub_08068AFC: @ 0x08068AFC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08068B2C
|
|
sub_08068B2C: @ 0x08068B2C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _08068B64
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _08068B60 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _08068B6C
|
|
.align 2, 0
|
|
_08068B60: .4byte gLinkEntity
|
|
_08068B64:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_08068B6C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068B70
|
|
sub_08068B70: @ 0x08068B70
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08068B80
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08068B80:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068B84
|
|
sub_08068B84: @ 0x08068B84
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08068BAC @ =gUnk_08111618
|
|
ldrb r0, [r4, #0xe]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08068B9A
|
|
movs r1, #0
|
|
bl sub_08054414
|
|
_08068B9A:
|
|
ldr r0, _08068BB0 @ =gUnk_081115EC
|
|
ldrb r1, [r4, #0xe]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl sub_0805ED14
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08068BAC: .4byte gUnk_08111618
|
|
_08068BB0: .4byte gUnk_081115EC
|
|
|
|
thumb_func_start sub_08068BB4
|
|
sub_08068BB4: @ 0x08068BB4
|
|
ldr r2, _08068BCC @ =gUnk_02002A40
|
|
adds r1, r2, #0
|
|
adds r1, #0xb4
|
|
ldrb r1, [r1]
|
|
adds r3, r0, #0
|
|
adds r3, #0x69
|
|
strb r1, [r3]
|
|
adds r2, #0xb5
|
|
ldrb r1, [r2]
|
|
adds r0, #0x6a
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08068BCC: .4byte gUnk_02002A40
|
|
|
|
thumb_func_start sub_08068BD0
|
|
sub_08068BD0: @ 0x08068BD0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
movs r1, #0
|
|
bl sub_08054414
|
|
adds r4, #0x6a
|
|
ldrb r0, [r4]
|
|
movs r1, #1
|
|
bl sub_08054414
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068BEC
|
|
sub_08068BEC: @ 0x08068BEC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x44
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08068C22
|
|
adds r3, r2, #0
|
|
adds r3, #0x29
|
|
ldrb r1, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
ldr r3, _08068C24 @ =0xFFF00000
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
movs r2, #0
|
|
bl sub_0806FA48
|
|
movs r0, #0xfa
|
|
bl sub_080A3268
|
|
_08068C22:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08068C24: .4byte 0xFFF00000
|
|
|
|
thumb_func_start sub_08068C28
|
|
sub_08068C28: @ 0x08068C28
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08068C54 @ =gUnk_08111623
|
|
ldrb r1, [r4, #0xa]
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
strb r0, [r4, #0xe]
|
|
ldrb r5, [r4, #0xa]
|
|
cmp r5, #1
|
|
bne _08068C6A
|
|
movs r0, #0x48
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068C6A
|
|
movs r0, #0x4b
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08068C58
|
|
strb r5, [r4, #0xe]
|
|
b _08068C6A
|
|
.align 2, 0
|
|
_08068C54: .4byte gUnk_08111623
|
|
_08068C58:
|
|
movs r0, #0x4a
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08068C66
|
|
movs r0, #2
|
|
b _08068C68
|
|
_08068C66:
|
|
movs r0, #3
|
|
_08068C68:
|
|
strb r0, [r4, #0xe]
|
|
_08068C6A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08068C6C
|
|
sub_08068C6C: @ 0x08068C6C
|
|
push {lr}
|
|
ldr r1, _08068C88 @ =gUnk_0811162B
|
|
ldrb r0, [r0, #0xe]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, #0x81
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A7C18
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068C88: .4byte gUnk_0811162B
|
|
|
|
thumb_func_start sub_08068C8C
|
|
sub_08068C8C: @ 0x08068C8C
|
|
ldr r2, _08068C9C @ =gUnk_08111638
|
|
ldrb r0, [r0, #0xe]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldr r0, [r0]
|
|
str r0, [r1, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
_08068C9C: .4byte gUnk_08111638
|
|
|
|
thumb_func_start sub_08068CA0
|
|
sub_08068CA0: @ 0x08068CA0
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
ldrb r1, [r0, #0xa]
|
|
cmp r1, #1
|
|
bne _08068CDC
|
|
str r1, [r4, #0x14]
|
|
movs r0, #0x48
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08068CB8
|
|
str r0, [r4, #0x14]
|
|
_08068CB8:
|
|
movs r0, #0x4b
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08068CC4
|
|
str r0, [r4, #0x14]
|
|
_08068CC4:
|
|
movs r0, #0x4a
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08068CD0
|
|
str r0, [r4, #0x14]
|
|
_08068CD0:
|
|
movs r0, #0x4e
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _08068CF6
|
|
b _08068CF4
|
|
_08068CDC:
|
|
ldr r1, _08068CF8 @ =gUnk_0811162B
|
|
ldrb r0, [r0, #0xe]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, #0x81
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068CF4
|
|
movs r0, #1
|
|
_08068CF4:
|
|
str r0, [r4, #0x14]
|
|
_08068CF6:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08068CF8: .4byte gUnk_0811162B
|
|
|
|
thumb_func_start sub_08068CFC
|
|
sub_08068CFC: @ 0x08068CFC
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
movs r1, #0
|
|
str r1, [r4, #0x14]
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r0, #0xa
|
|
bhi _08068DB6
|
|
lsls r0, r0, #2
|
|
ldr r1, _08068D14 @ =_08068D18
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08068D14: .4byte _08068D18
|
|
_08068D18: @ jump table
|
|
.4byte _08068DB2 @ case 0
|
|
.4byte _08068D44 @ case 1
|
|
.4byte _08068D48 @ case 2
|
|
.4byte _08068D4C @ case 3
|
|
.4byte _08068DB2 @ case 4
|
|
.4byte _08068D50 @ case 5
|
|
.4byte _08068D58 @ case 6
|
|
.4byte _08068D68 @ case 7
|
|
.4byte _08068DB2 @ case 8
|
|
.4byte _08068DB2 @ case 9
|
|
.4byte _08068DA8 @ case 10
|
|
_08068D44:
|
|
movs r0, #2
|
|
b _08068DAA
|
|
_08068D48:
|
|
movs r0, #0x15
|
|
b _08068DAA
|
|
_08068D4C:
|
|
movs r0, #0x14
|
|
b _08068DAA
|
|
_08068D50:
|
|
movs r0, #3
|
|
bl sub_0807CBD0
|
|
b _08068DAE
|
|
_08068D58:
|
|
ldr r0, _08068D64 @ =gUnk_02002A40
|
|
adds r0, #0xab
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x4f
|
|
bls _08068DB6
|
|
b _08068DB2
|
|
.align 2, 0
|
|
_08068D64: .4byte gUnk_02002A40
|
|
_08068D68:
|
|
movs r0, #0x48
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068DB6
|
|
movs r0, #0x49
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068DB6
|
|
movs r0, #0x4a
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068DB6
|
|
movs r0, #0x4b
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068DB6
|
|
movs r0, #0x4c
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068DB6
|
|
movs r0, #0x4e
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _08068DB6
|
|
movs r0, #0x4f
|
|
b _08068DAA
|
|
_08068DA8:
|
|
movs r0, #0x4d
|
|
_08068DAA:
|
|
bl sub_0807CA84
|
|
_08068DAE:
|
|
cmp r0, #0
|
|
beq _08068DB6
|
|
_08068DB2:
|
|
movs r0, #1
|
|
str r0, [r4, #0x14]
|
|
_08068DB6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08068DB8
|
|
sub_08068DB8: @ 0x08068DB8
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068DCC @ =gUnk_08111664
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068DCC: .4byte gUnk_08111664
|
|
|
|
thumb_func_start sub_08068DD0
|
|
sub_08068DD0: @ 0x08068DD0
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068DE4 @ =gUnk_0811167A
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068DE4: .4byte gUnk_0811167A
|
|
|
|
thumb_func_start sub_08068DE8
|
|
sub_08068DE8: @ 0x08068DE8
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068DFC @ =gUnk_08111690
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068DFC: .4byte gUnk_08111690
|
|
|
|
thumb_func_start sub_08068E00
|
|
sub_08068E00: @ 0x08068E00
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068E14 @ =gUnk_081116A6
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068E14: .4byte gUnk_081116A6
|
|
|
|
thumb_func_start sub_08068E18
|
|
sub_08068E18: @ 0x08068E18
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068E2C @ =gUnk_081116BC
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068E2C: .4byte gUnk_081116BC
|
|
|
|
thumb_func_start sub_08068E30
|
|
sub_08068E30: @ 0x08068E30
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068E44 @ =gUnk_081116D2
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068E44: .4byte gUnk_081116D2
|
|
|
|
thumb_func_start sub_08068E48
|
|
sub_08068E48: @ 0x08068E48
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068E5C @ =gUnk_081116E8
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068E5C: .4byte gUnk_081116E8
|
|
|
|
thumb_func_start sub_08068E60
|
|
sub_08068E60: @ 0x08068E60
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068E74 @ =gUnk_081116FE
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068E74: .4byte gUnk_081116FE
|
|
|
|
thumb_func_start sub_08068E78
|
|
sub_08068E78: @ 0x08068E78
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r2, _08068E8C @ =gUnk_08111714
|
|
ldrb r0, [r1, #0xe]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068E8C: .4byte gUnk_08111714
|
|
|
|
thumb_func_start sub_08068E90
|
|
sub_08068E90: @ 0x08068E90
|
|
ldr r2, _08068EAC @ =gUnk_03003F80
|
|
adds r2, #0xac
|
|
ldr r1, _08068EB0 @ =gUnk_08111740
|
|
ldrb r0, [r0, #0xe]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
subs r1, #1
|
|
movs r0, #1
|
|
lsls r0, r1
|
|
ldrh r1, [r2]
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_08068EAC: .4byte gUnk_03003F80
|
|
_08068EB0: .4byte gUnk_08111740
|
|
|
|
thumb_func_start sub_08068EB4
|
|
sub_08068EB4: @ 0x08068EB4
|
|
ldr r0, _08068EC0 @ =gUnk_03003F80
|
|
adds r0, #0xab
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08068EC0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08068EC4
|
|
sub_08068EC4: @ 0x08068EC4
|
|
push {r4, lr}
|
|
adds r3, r1, #0
|
|
ldr r2, _08068EEC @ =gUnk_08111740
|
|
ldrb r4, [r0, #0xe]
|
|
lsls r1, r4, #2
|
|
adds r1, r1, r2
|
|
ldr r0, _08068EF0 @ =gUnk_03003F80
|
|
adds r0, #0xab
|
|
ldr r1, [r1]
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bne _08068EF8
|
|
ldr r1, _08068EF4 @ =gUnk_0811172A
|
|
lsls r0, r4, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r3, #0x10]
|
|
movs r0, #1
|
|
b _08068EFA
|
|
.align 2, 0
|
|
_08068EEC: .4byte gUnk_08111740
|
|
_08068EF0: .4byte gUnk_03003F80
|
|
_08068EF4: .4byte gUnk_0811172A
|
|
_08068EF8:
|
|
movs r0, #0
|
|
_08068EFA:
|
|
str r0, [r3, #0x14]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068F00
|
|
sub_08068F00: @ 0x08068F00
|
|
push {lr}
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r0, #1
|
|
bne _08068F0E
|
|
ldr r0, _08068F10 @ =gUnk_080F3494
|
|
bl LoadRoomEntityList
|
|
_08068F0E:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08068F10: .4byte gUnk_080F3494
|
|
|
|
thumb_func_start sub_08068F14
|
|
sub_08068F14: @ 0x08068F14
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #5
|
|
bne _08068F24
|
|
movs r0, #0xa0
|
|
bl sub_080526A0
|
|
_08068F24:
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #6
|
|
bne _08068F38
|
|
movs r0, #0xa0
|
|
rsbs r0, r0, #0
|
|
bl sub_080526A0
|
|
movs r0, #2
|
|
bl sub_080526A0
|
|
_08068F38:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068F3C
|
|
sub_08068F3C: @ 0x08068F3C
|
|
push {lr}
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r0, #6
|
|
bne _08068F4A
|
|
movs r0, #0xa0
|
|
bl sub_080526A0
|
|
_08068F4A:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08068F4C
|
|
sub_08068F4C: @ 0x08068F4C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _08068F72
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_080042AC
|
|
b _08068F78
|
|
_08068F72:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08068F78:
|
|
adds r2, r4, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08068F94
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08068BEC
|
|
_08068F94:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08068F98
|
|
sub_08068F98: @ 0x08068F98
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08068FBC @ =gUnk_08111914
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
adds r0, r4, #0
|
|
bl sub_0806920C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08068FBC: .4byte gUnk_08111914
|
|
|
|
thumb_func_start sub_08068FC0
|
|
sub_08068FC0: @ 0x08068FC0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xb]
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x40
|
|
strh r0, [r4, #0x24]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6d
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0805ACC0
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _08068FF4
|
|
ldrh r0, [r4, #0x2e]
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strh r0, [r1]
|
|
ldrh r0, [r4, #0x32]
|
|
adds r1, #2
|
|
strh r0, [r1]
|
|
b _08069000
|
|
_08068FF4:
|
|
lsrs r1, r2, #0x10
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strh r1, [r0]
|
|
adds r0, #2
|
|
strh r2, [r0]
|
|
_08069000:
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x6c
|
|
strb r0, [r1]
|
|
ldrb r1, [r4, #0x14]
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08069018
|
|
sub_08069018: @ 0x08069018
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _0806903A
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x3c
|
|
strb r0, [r4, #0xf]
|
|
ldrb r1, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_0806903A:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
bne _0806905E
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
bne _08069058
|
|
movs r0, #2
|
|
b _0806905A
|
|
_08069058:
|
|
movs r0, #3
|
|
_0806905A:
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
_0806905E:
|
|
adds r0, r4, #0
|
|
bl sub_0806924C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069068
|
|
sub_08069068: @ 0x08069068
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _080690A4
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
bl sub_08000E50
|
|
movs r1, #2
|
|
ands r1, r0
|
|
subs r1, #1
|
|
ldrb r0, [r4, #0x14]
|
|
adds r1, r1, r0
|
|
movs r0, #3
|
|
ands r1, r0
|
|
strb r1, [r4, #0x14]
|
|
lsls r1, r1, #3
|
|
strb r1, [r4, #0x15]
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x3c
|
|
strb r0, [r4, #0xf]
|
|
ldrb r1, [r4, #0x14]
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_080690A4:
|
|
adds r0, r4, #0
|
|
bl sub_080AEF88
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x68
|
|
movs r3, #0
|
|
ldrsh r0, [r2, r3]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _080690CC
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_080690CC:
|
|
movs r3, #0x10
|
|
rsbs r3, r3, #0
|
|
cmp r1, r3
|
|
bge _080690DE
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_080690DE:
|
|
movs r5, #0x32
|
|
ldrsh r1, [r4, r5]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6a
|
|
movs r5, #0
|
|
ldrsh r0, [r2, r5]
|
|
subs r1, r1, r0
|
|
cmp r1, #0x10
|
|
ble _080690FA
|
|
ldrh r0, [r2]
|
|
adds r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_080690FA:
|
|
cmp r1, r3
|
|
bge _08069108
|
|
ldrh r0, [r2]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_08069108:
|
|
ldrb r0, [r4, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
bne _0806911C
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
_0806911C:
|
|
adds r0, r4, #0
|
|
bl sub_0806924C
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08069124
|
|
sub_08069124: @ 0x08069124
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r1, _08069144 @ =gUnk_08111928
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806924C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069144: .4byte gUnk_08111928
|
|
|
|
thumb_func_start sub_08069148
|
|
sub_08069148: @ 0x08069148
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
ands r0, r1
|
|
adds r0, #3
|
|
strb r0, [r4, #0xf]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldrb r1, [r4, #0x14]
|
|
adds r1, #8
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08069168
|
|
sub_08069168: @ 0x08069168
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bge _08069186
|
|
movs r0, #2
|
|
strb r0, [r2, #0xd]
|
|
ldrb r1, [r2, #0x14]
|
|
adds r1, #0xc
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
_08069186:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08069188
|
|
sub_08069188: @ 0x08069188
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r3, r2, #0
|
|
adds r3, #0x5a
|
|
ldrb r1, [r3]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080691B8
|
|
movs r0, #0
|
|
strb r0, [r3]
|
|
ldrb r0, [r2, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xf]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080691B8
|
|
movs r0, #3
|
|
strb r0, [r2, #0xd]
|
|
ldrb r1, [r2, #0x14]
|
|
adds r1, #0x10
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
_080691B8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080691BC
|
|
sub_080691BC: @ 0x080691BC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bge _080691DE
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
strb r1, [r2, #0xd]
|
|
ldrb r1, [r2, #0x14]
|
|
adds r1, #4
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
_080691DE:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080691E0
|
|
sub_080691E0: @ 0x080691E0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _080691F4
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
_080691F4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080691F8
|
|
sub_080691F8: @ 0x080691F8
|
|
push {lr}
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #3
|
|
ldr r2, _08069208 @ =gUnk_08111938
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08069208: .4byte gUnk_08111938
|
|
|
|
thumb_func_start sub_0806920C
|
|
sub_0806920C: @ 0x0806920C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08069234 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
rsbs r0, r0, #0
|
|
lsrs r5, r0, #0x1f
|
|
adds r0, r4, #0
|
|
adds r0, #0x6d
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
beq _08069244
|
|
cmp r5, #0
|
|
bne _08069238
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
b _08069244
|
|
.align 2, 0
|
|
_08069234: .4byte gUnk_03003F80
|
|
_08069238:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080787A8
|
|
_08069244:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6d
|
|
strb r5, [r0]
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806924C
|
|
sub_0806924C: @ 0x0806924C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x39
|
|
movs r2, #0
|
|
ldrsb r2, [r0, r2]
|
|
cmp r2, #0
|
|
beq _0806929C
|
|
ldr r0, _08069278 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08069284
|
|
cmp r2, #2
|
|
bne _0806927C
|
|
movs r0, #4
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806928E
|
|
.align 2, 0
|
|
_08069278: .4byte gUnk_03003F80
|
|
_0806927C:
|
|
adds r0, r4, #0
|
|
bl sub_080691F8
|
|
b _0806928E
|
|
_08069284:
|
|
adds r0, r4, #0
|
|
bl sub_080691F8
|
|
bl sub_080791D0
|
|
_0806928E:
|
|
movs r0, #0xd4
|
|
bl sub_080A3268
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_0806929C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080692A0
|
|
sub_080692A0: @ 0x080692A0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _080692C6
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #0xf
|
|
bl sub_080042AC
|
|
b _080692CC
|
|
_080692C6:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_080692CC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080692D0
|
|
sub_080692D0: @ 0x080692D0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080692F4
|
|
ldr r0, _080692F0 @ =gUnk_08111A8C
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _0806930A
|
|
.align 2, 0
|
|
_080692F0: .4byte gUnk_08111A8C
|
|
_080692F4:
|
|
ldr r0, _0806930C @ =gUnk_08111A80
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_0806930A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806930C: .4byte gUnk_08111A80
|
|
|
|
thumb_func_start sub_08069310
|
|
sub_08069310: @ 0x08069310
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078778
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069328
|
|
sub_08069328: @ 0x08069328
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xf]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x10
|
|
bls _0806934E
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
cmp r0, #0
|
|
blt _0806934E
|
|
strb r0, [r4, #0x14]
|
|
_0806934E:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r4, #0x14]
|
|
cmp r0, r1
|
|
beq _08069362
|
|
ldrb r1, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08069362:
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0806938E
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0805E47C
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
bl sub_080042AC
|
|
ldrb r0, [r4, #0xe]
|
|
movs r1, #0x90
|
|
lsls r1, r1, #5
|
|
adds r0, r0, r1
|
|
bl sub_08056378
|
|
_0806938E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08069390
|
|
sub_08069390: @ 0x08069390
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r0, _080693C0 @ =gUnk_02000050
|
|
ldrb r0, [r0]
|
|
movs r1, #0x7f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _080693BC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0805E584
|
|
ldrb r1, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_080693BC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080693C0: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_080693C4
|
|
sub_080693C4: @ 0x080693C4
|
|
push {lr}
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
bl sub_0807DD50
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080693D0
|
|
sub_080693D0: @ 0x080693D0
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
adds r0, r5, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
bne _08069422
|
|
adds r0, r5, #0
|
|
adds r0, #0x82
|
|
ldrh r0, [r0]
|
|
movs r1, #0xf
|
|
ands r1, r0
|
|
rsbs r0, r1, #0
|
|
orrs r0, r1
|
|
lsrs r6, r0, #0x1f
|
|
adds r4, r5, #0
|
|
adds r4, #0x5a
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _0806940C
|
|
movs r0, #0
|
|
strb r0, [r4]
|
|
ldr r1, _08069424 @ =0xFFF80000
|
|
adds r0, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_08069428
|
|
_0806940C:
|
|
ldrb r0, [r4]
|
|
cmp r0, #2
|
|
bne _08069422
|
|
movs r0, #0
|
|
strb r0, [r4]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xc
|
|
adds r0, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_08069428
|
|
_08069422:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08069424: .4byte 0xFFF80000
|
|
|
|
thumb_func_start sub_08069428
|
|
sub_08069428: @ 0x08069428
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r7, r1, #0
|
|
adds r6, r2, #0
|
|
movs r1, #4
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08069452
|
|
ldr r3, _0806947C @ =0xFFF00000
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
bl sub_0806FA48
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
_08069452:
|
|
cmp r6, #0
|
|
beq _0806947A
|
|
adds r0, r5, #0
|
|
movs r1, #0x41
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806947A
|
|
ldr r3, _0806947C @ =0xFFF00000
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
bl sub_0806FA48
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
_0806947A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806947C: .4byte 0xFFF00000
|
|
|
|
thumb_func_start sub_08069480
|
|
sub_08069480: @ 0x08069480
|
|
push {lr}
|
|
bl sub_0801E99C
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806948C
|
|
sub_0806948C: @ 0x0806948C
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
bl sub_08069480
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
bl sub_0801E7F4
|
|
str r0, [r4, #0x14]
|
|
ldr r2, _080694AC @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080694AC: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_080694B0
|
|
sub_080694B0: @ 0x080694B0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08069480
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
adds r0, r5, #0
|
|
bl sub_0801E7F4
|
|
cmp r0, #0
|
|
beq _080694CE
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
b _080694D6
|
|
_080694CE:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08078784
|
|
_080694D6:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_080694D8
|
|
sub_080694D8: @ 0x080694D8
|
|
push {lr}
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080694E8 @ =gUnk_08111A94
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080694E8: .4byte gUnk_08111A94
|
|
|
|
thumb_func_start sub_080694EC
|
|
sub_080694EC: @ 0x080694EC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
movs r5, #2
|
|
movs r0, #0x2f
|
|
bl sub_0801E7F4
|
|
cmp r0, #0
|
|
bne _08069502
|
|
movs r5, #8
|
|
_08069502:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x80
|
|
strh r5, [r0]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069514
|
|
sub_08069514: @ 0x08069514
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806953A
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _08069540
|
|
_0806953A:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08069540:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069544
|
|
sub_08069544: @ 0x08069544
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08069568
|
|
ldr r0, _08069564 @ =gUnk_08111B98
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _0806957E
|
|
.align 2, 0
|
|
_08069564: .4byte gUnk_08111B98
|
|
_08069568:
|
|
ldr r0, _08069580 @ =gUnk_08111B88
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_0806957E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069580: .4byte gUnk_08111B88
|
|
|
|
thumb_func_start sub_08069584
|
|
sub_08069584: @ 0x08069584
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _08069598 @ =gUnk_030010A0
|
|
adds r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0806959C
|
|
movs r0, #3
|
|
b _0806959E
|
|
.align 2, 0
|
|
_08069598: .4byte gUnk_030010A0
|
|
_0806959C:
|
|
movs r0, #1
|
|
_0806959E:
|
|
strb r0, [r1, #0xc]
|
|
adds r0, r1, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080695AC
|
|
sub_080695AC: @ 0x080695AC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xf]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x10
|
|
bls _080695D2
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
movs r1, #0x28
|
|
movs r2, #0x28
|
|
bl sub_0806ED9C
|
|
cmp r0, #0
|
|
blt _080695D2
|
|
strb r0, [r4, #0x14]
|
|
_080695D2:
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r4, #0x14]
|
|
cmp r0, r1
|
|
beq _080695E6
|
|
ldrb r1, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_080695E6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080695E8
|
|
sub_080695E8: @ 0x080695E8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r0, _08069618 @ =gUnk_02000050
|
|
ldrb r0, [r0]
|
|
movs r1, #0x7f
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08069614
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x39
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0805E584
|
|
ldrb r1, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08069614:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069618: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_0806961C
|
|
sub_0806961C: @ 0x0806961C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08069638 @ =gUnk_030010A0
|
|
adds r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _08069630
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08069630:
|
|
adds r0, r4, #0
|
|
bl sub_0806FD3C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069638: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0806963C
|
|
sub_0806963C: @ 0x0806963C
|
|
push {lr}
|
|
movs r3, #1
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
ldrb r2, [r0, #0x18]
|
|
subs r1, #5
|
|
ands r1, r2
|
|
orrs r1, r3
|
|
strb r1, [r0, #0x18]
|
|
bl sub_0807DD50
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08069654
|
|
sub_08069654: @ 0x08069654
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069660
|
|
sub_08069660: @ 0x08069660
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _0806967C @ =0x00002C1C
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
adds r0, r4, #0
|
|
bl sub_080696BC
|
|
ldr r1, _08069680 @ =gUnk_02000050
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
str r0, [r1, #0x10]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806967C: .4byte 0x00002C1C
|
|
_08069680: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08069684
|
|
sub_08069684: @ 0x08069684
|
|
push {lr}
|
|
movs r0, #9
|
|
movs r1, #0x31
|
|
movs r2, #8
|
|
bl sub_0805EB00
|
|
cmp r0, #0
|
|
bne _080696AE
|
|
bl sub_0805E8D4
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _080696AE
|
|
movs r0, #9
|
|
strb r0, [r1, #8]
|
|
movs r0, #0x31
|
|
strb r0, [r1, #9]
|
|
adds r0, r1, #0
|
|
movs r1, #8
|
|
bl sub_0805EA2C
|
|
_080696AE:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080696B0
|
|
sub_080696B0: @ 0x080696B0
|
|
ldr r1, _080696B8 @ =gUnk_02034350
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
bx lr
|
|
.align 2, 0
|
|
_080696B8: .4byte gUnk_02034350
|
|
|
|
thumb_func_start sub_080696BC
|
|
sub_080696BC: @ 0x080696BC
|
|
push {r4, r5, lr}
|
|
ldr r0, _08069710 @ =gUnk_02034350
|
|
ldrb r0, [r0, #7]
|
|
movs r5, #0
|
|
cmp r0, #0x70
|
|
ble _080696CA
|
|
movs r5, #1
|
|
_080696CA:
|
|
cmp r0, #0x72
|
|
ble _080696D0
|
|
movs r5, #2
|
|
_080696D0:
|
|
movs r0, #0x3e
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
movs r0, #0x3f
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _080696E8
|
|
movs r4, #2
|
|
_080696E8:
|
|
movs r0, #0x40
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _080696F4
|
|
movs r4, #3
|
|
_080696F4:
|
|
movs r0, #0x41
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _08069700
|
|
movs r4, #4
|
|
_08069700:
|
|
ldr r0, _08069714 @ =gUnk_08111BA0
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r4
|
|
adds r1, r1, r5
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08069710: .4byte gUnk_02034350
|
|
_08069714: .4byte gUnk_08111BA0
|
|
|
|
thumb_func_start sub_08069718
|
|
sub_08069718: @ 0x08069718
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r7, r1, #0
|
|
bl sub_080696BC
|
|
adds r6, r0, #0
|
|
ldr r0, _08069754 @ =gUnk_02002A40
|
|
adds r0, #0xc0
|
|
ldrh r0, [r0]
|
|
cmp r6, r0
|
|
bgt _08069764
|
|
ldr r5, _08069758 @ =gUnk_02034350
|
|
ldrb r0, [r5, #7]
|
|
bl sub_0801E7D0
|
|
cmp r0, #0x62
|
|
bhi _0806975C
|
|
rsbs r0, r6, #0
|
|
bl sub_080526CC
|
|
ldrb r1, [r5, #7]
|
|
movs r0, #0x5c
|
|
movs r2, #0
|
|
bl sub_080A7C18
|
|
movs r0, #0
|
|
strb r0, [r5, #6]
|
|
strb r0, [r5, #7]
|
|
movs r0, #1
|
|
b _0806976E
|
|
.align 2, 0
|
|
_08069754: .4byte gUnk_02002A40
|
|
_08069758: .4byte gUnk_02034350
|
|
_0806975C:
|
|
ldr r0, _08069760 @ =0x00002C1F
|
|
b _08069766
|
|
.align 2, 0
|
|
_08069760: .4byte 0x00002C1F
|
|
_08069764:
|
|
ldr r0, _0806977C @ =0x00002C1E
|
|
_08069766:
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
movs r0, #0
|
|
_0806976E:
|
|
str r0, [r7, #0x14]
|
|
ldr r2, _08069780 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806977C: .4byte 0x00002C1E
|
|
_08069780: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08069784
|
|
sub_08069784: @ 0x08069784
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806979A
|
|
adds r0, r2, #0
|
|
bl sub_08069838
|
|
b _080697A0
|
|
_0806979A:
|
|
adds r0, r2, #0
|
|
bl sub_080697A4
|
|
_080697A0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080697A4
|
|
sub_080697A4: @ 0x080697A4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _080697C0 @ =gUnk_08111C48
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080697C0: .4byte gUnk_08111C48
|
|
|
|
thumb_func_start sub_080697C4
|
|
sub_080697C4: @ 0x080697C4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _080697E8 @ =gUnk_08111C3C
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _080697E4
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
_080697E4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080697E8: .4byte gUnk_08111C3C
|
|
|
|
thumb_func_start sub_080697EC
|
|
sub_080697EC: @ 0x080697EC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806ED9C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
blt _0806981E
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _0806981A
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
beq _0806981E
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _0806981E
|
|
_0806981A:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_0806981E:
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08069834
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08069888
|
|
_08069834:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069838
|
|
sub_08069838: @ 0x08069838
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #0
|
|
bne _08069862
|
|
ldr r1, _08069884 @ =gUnk_08111C3C
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08069880
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r5, [r0]
|
|
adds r0, #1
|
|
strb r5, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_08069862:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08069880
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08069888
|
|
_08069880:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08069884: .4byte gUnk_08111C3C
|
|
|
|
thumb_func_start sub_08069888
|
|
sub_08069888: @ 0x08069888
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x47
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080698A0
|
|
movs r4, #0
|
|
movs r0, #0x47
|
|
bl sub_0807CD04
|
|
b _08069906
|
|
_080698A0:
|
|
movs r0, #0x2b
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080698C2
|
|
movs r0, #0x2c
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080698C2
|
|
movs r0, #0x2d
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080698C2
|
|
movs r4, #1
|
|
b _08069906
|
|
_080698C2:
|
|
movs r0, #0x18
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080698D0
|
|
movs r4, #2
|
|
b _08069906
|
|
_080698D0:
|
|
movs r0, #0x48
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _080698E4
|
|
movs r4, #3
|
|
movs r0, #0x48
|
|
bl sub_0807CD04
|
|
b _08069906
|
|
_080698E4:
|
|
movs r0, #0x2e
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _08069904
|
|
movs r0, #0x2f
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _08069904
|
|
movs r0, #0x30
|
|
bl GetProgressFlag
|
|
movs r4, #4
|
|
cmp r0, #0
|
|
beq _08069906
|
|
_08069904:
|
|
movs r4, #5
|
|
_08069906:
|
|
ldr r0, _08069918 @ =gUnk_08111C50
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08069918: .4byte gUnk_08111C50
|
|
|
|
thumb_func_start sub_0806991C
|
|
sub_0806991C: @ 0x0806991C
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x3c
|
|
adds r1, r5, #0
|
|
adds r1, #0x68
|
|
movs r3, #0
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
adds r0, #0x69
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r1, r1, #2
|
|
ldr r0, _0806999C @ =gUnk_08111C5C
|
|
adds r1, r1, r0
|
|
ldr r2, _080699A0 @ =gUnk_03000BF0
|
|
ldrh r0, [r1]
|
|
ldrh r6, [r2, #6]
|
|
adds r0, r0, r6
|
|
strh r0, [r4, #0x1e]
|
|
ldrh r0, [r1, #2]
|
|
ldrh r2, [r2, #8]
|
|
adds r0, r0, r2
|
|
strh r0, [r4, #0x22]
|
|
movs r0, #8
|
|
strb r0, [r4, #0x19]
|
|
ldr r0, [r4, #8]
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
str r0, [r4, #8]
|
|
str r3, [r4, #0x14]
|
|
movs r1, #0x1e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
subs r0, r0, r1
|
|
movs r3, #0x22
|
|
ldrsh r1, [r4, r3]
|
|
movs r6, #0x32
|
|
ldrsh r2, [r5, r6]
|
|
subs r1, r1, r2
|
|
bl sub_080045DA
|
|
strb r0, [r5, #0x15]
|
|
ldrb r2, [r5, #0x14]
|
|
movs r1, #0x80
|
|
ands r1, r2
|
|
ldr r2, _080699A4 @ =gUnk_08111C74
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x1c
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
orrs r1, r0
|
|
strb r1, [r5, #0x14]
|
|
ldr r2, _080699A8 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806999C: .4byte gUnk_08111C5C
|
|
_080699A0: .4byte gUnk_03000BF0
|
|
_080699A4: .4byte gUnk_08111C74
|
|
_080699A8: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_080699AC
|
|
sub_080699AC: @ 0x080699AC
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x3c
|
|
adds r1, r5, #0
|
|
adds r1, #0x68
|
|
movs r3, #0
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
adds r0, #0x69
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r1, r1, #2
|
|
ldr r0, _08069A2C @ =gUnk_08111C84
|
|
adds r1, r1, r0
|
|
ldr r2, _08069A30 @ =gUnk_03000BF0
|
|
ldrh r0, [r1]
|
|
ldrh r6, [r2, #6]
|
|
adds r0, r0, r6
|
|
strh r0, [r4, #0x1e]
|
|
ldrh r0, [r1, #2]
|
|
ldrh r2, [r2, #8]
|
|
adds r0, r0, r2
|
|
strh r0, [r4, #0x22]
|
|
movs r0, #8
|
|
strb r0, [r4, #0x19]
|
|
ldr r0, [r4, #8]
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
str r0, [r4, #8]
|
|
str r3, [r4, #0x14]
|
|
movs r1, #0x1e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
subs r0, r0, r1
|
|
movs r3, #0x22
|
|
ldrsh r1, [r4, r3]
|
|
movs r6, #0x32
|
|
ldrsh r2, [r5, r6]
|
|
subs r1, r1, r2
|
|
bl sub_080045DA
|
|
strb r0, [r5, #0x15]
|
|
ldrb r2, [r5, #0x14]
|
|
movs r1, #0x80
|
|
ands r1, r2
|
|
ldr r2, _08069A34 @ =gUnk_08111C8C
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x1c
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
orrs r1, r0
|
|
strb r1, [r5, #0x14]
|
|
ldr r2, _08069A38 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08069A2C: .4byte gUnk_08111C84
|
|
_08069A30: .4byte gUnk_03000BF0
|
|
_08069A34: .4byte gUnk_08111C8C
|
|
_08069A38: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_08069A3C
|
|
sub_08069A3C: @ 0x08069A3C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08000E50
|
|
ldr r2, _08069A5C @ =gUnk_08111C9C
|
|
movs r1, #1
|
|
ands r1, r0
|
|
adds r4, #0x69
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r0, r0, #1
|
|
adds r1, r1, r0
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1]
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069A5C: .4byte gUnk_08111C9C
|
|
|
|
thumb_func_start sub_08069A60
|
|
sub_08069A60: @ 0x08069A60
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08000E50
|
|
ldr r2, _08069A80 @ =gUnk_08111CA8
|
|
movs r1, #1
|
|
ands r1, r0
|
|
adds r4, #0x69
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r0, r0, #1
|
|
adds r1, r1, r0
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1]
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069A80: .4byte gUnk_08111CA8
|
|
|
|
thumb_func_start sub_08069A84
|
|
sub_08069A84: @ 0x08069A84
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08000E50
|
|
ldr r2, _08069AA4 @ =gUnk_08111CB4
|
|
movs r1, #1
|
|
ands r1, r0
|
|
adds r4, #0x69
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r0, r0, #1
|
|
adds r1, r1, r0
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1]
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069AA4: .4byte gUnk_08111CB4
|
|
|
|
thumb_func_start sub_08069AA8
|
|
sub_08069AA8: @ 0x08069AA8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08000E50
|
|
ldr r2, _08069AC8 @ =gUnk_08111CB8
|
|
movs r1, #1
|
|
ands r1, r0
|
|
adds r4, #0x69
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
lsls r0, r0, #1
|
|
adds r1, r1, r0
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1]
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069AC8: .4byte gUnk_08111CB8
|
|
|
|
thumb_func_start sub_08069ACC
|
|
sub_08069ACC: @ 0x08069ACC
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
subs r1, #1
|
|
strb r1, [r0]
|
|
lsls r1, r1, #0x18
|
|
cmp r1, #0
|
|
bgt _08069AE2
|
|
movs r0, #1
|
|
b _08069AE4
|
|
_08069AE2:
|
|
movs r0, #0
|
|
_08069AE4:
|
|
str r0, [r2, #0x14]
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08069AE8
|
|
sub_08069AE8: @ 0x08069AE8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #7
|
|
ands r2, r0
|
|
adds r2, #0xf
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069B1C
|
|
sub_08069B1C: @ 0x08069B1C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08069B40 @ =gUnk_08111D88
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
adds r0, r4, #0
|
|
bl sub_08069FE8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069B40: .4byte gUnk_08111D88
|
|
|
|
thumb_func_start sub_08069B44
|
|
sub_08069B44: @ 0x08069B44
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
bl sub_08069EF0
|
|
cmp r0, #0
|
|
beq _08069C30
|
|
adds r0, r5, #0
|
|
bl sub_0805ACC0
|
|
cmp r0, #0
|
|
bne _08069B64
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
movs r2, #0x32
|
|
ldrsh r4, [r5, r2]
|
|
b _08069B68
|
|
_08069B64:
|
|
lsrs r1, r0, #0x10
|
|
adds r4, r0, #0
|
|
_08069B68:
|
|
ldrb r0, [r5, #0xe]
|
|
movs r3, #0x20
|
|
cmp r0, #0
|
|
beq _08069B72
|
|
adds r3, r0, #0
|
|
_08069B72:
|
|
subs r0, r1, r3
|
|
adds r2, r5, #0
|
|
adds r2, #0x6e
|
|
strh r0, [r2]
|
|
adds r1, r1, r3
|
|
adds r0, r5, #0
|
|
adds r0, #0x6c
|
|
strh r1, [r0]
|
|
adds r1, r4, #0
|
|
subs r1, #8
|
|
adds r0, #4
|
|
strh r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #8
|
|
adds r2, #4
|
|
strh r0, [r2]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0x1e
|
|
strb r0, [r5, #0xe]
|
|
movs r4, #2
|
|
strb r4, [r5, #0x14]
|
|
adds r1, r5, #0
|
|
adds r1, #0x6a
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
bl sub_0801E99C
|
|
adds r1, r5, #0
|
|
adds r1, #0x74
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r5, #0
|
|
movs r1, #0xa
|
|
bl sub_080042AC
|
|
ldrb r0, [r5, #0x10]
|
|
ands r4, r0
|
|
cmp r4, #0
|
|
beq _08069BD2
|
|
adds r0, r5, #0
|
|
bl sub_0807DD50
|
|
_08069BD2:
|
|
ldrb r0, [r5, #0xa]
|
|
cmp r0, #0
|
|
bne _08069BF2
|
|
ldr r0, _08069C34 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08069BF2
|
|
movs r0, #0x36
|
|
bl sub_0807CA84
|
|
cmp r0, #2
|
|
beq _08069BF2
|
|
movs r0, #4
|
|
strb r0, [r5, #0xc]
|
|
_08069BF2:
|
|
ldrb r0, [r5, #0xa]
|
|
cmp r0, #2
|
|
bne _08069C30
|
|
movs r0, #0xcf
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08069C30
|
|
ldr r0, _08069C38 @ =0x00004072
|
|
movs r6, #0x2e
|
|
ldrsh r1, [r5, r6]
|
|
ldr r3, _08069C3C @ =gUnk_03000BF0
|
|
ldrh r2, [r3, #6]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
movs r4, #0x3f
|
|
ands r1, r4
|
|
movs r6, #0x32
|
|
ldrsh r2, [r5, r6]
|
|
ldrh r3, [r3, #8]
|
|
adds r3, #8
|
|
subs r2, r2, r3
|
|
asrs r2, r2, #4
|
|
ands r2, r4
|
|
lsls r2, r2, #6
|
|
orrs r1, r2
|
|
adds r2, r5, #0
|
|
adds r2, #0x38
|
|
ldrb r2, [r2]
|
|
bl sub_0800015E
|
|
_08069C30:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08069C34: .4byte gUnk_03003F80
|
|
_08069C38: .4byte 0x00004072
|
|
_08069C3C: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_08069C40
|
|
sub_08069C40: @ 0x08069C40
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_08069F90
|
|
cmp r0, #0
|
|
beq _08069C80
|
|
ldr r0, _08069C68 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08069C6C
|
|
adds r0, r4, #0
|
|
bl sub_08069CB8
|
|
b _08069C7A
|
|
.align 2, 0
|
|
_08069C68: .4byte gUnk_03003F80
|
|
_08069C6C:
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_08069D00
|
|
_08069C7A:
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
b _08069CB2
|
|
_08069C80:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08069CB2
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
bl sub_08000E50
|
|
ldr r2, _08069CB4 @ =gUnk_08111DA8
|
|
movs r1, #7
|
|
ands r1, r0
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1]
|
|
strb r0, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_08069F6C
|
|
_08069CB2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069CB4: .4byte gUnk_08111DA8
|
|
|
|
thumb_func_start sub_08069CB8
|
|
sub_08069CB8: @ 0x08069CB8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08069CF8 @ =gLinkEntity
|
|
bl sub_080045C4
|
|
ldr r2, _08069CFC @ =gUnk_08111DB0
|
|
ldrb r1, [r4, #0x14]
|
|
lsls r1, r1, #5
|
|
adds r0, r0, r1
|
|
adds r0, r0, r2
|
|
ldrb r1, [r0]
|
|
lsrs r0, r1, #6
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x3f
|
|
ands r1, r0
|
|
adds r5, r4, #0
|
|
adds r5, #0x6b
|
|
strb r1, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_0806A028
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
ldrb r1, [r5]
|
|
cmp r0, r1
|
|
beq _08069CF6
|
|
ldrb r1, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08069CF6:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08069CF8: .4byte gLinkEntity
|
|
_08069CFC: .4byte gUnk_08111DB0
|
|
|
|
thumb_func_start sub_08069D00
|
|
sub_08069D00: @ 0x08069D00
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r4, #0
|
|
adds r5, #0x6b
|
|
movs r7, #8
|
|
strb r7, [r5]
|
|
bl sub_0806A028
|
|
adds r6, r4, #0
|
|
adds r6, #0x58
|
|
ldrb r0, [r6]
|
|
cmp r0, #0x1f
|
|
bls _08069D2A
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08069D4E
|
|
strb r7, [r5]
|
|
_08069D2A:
|
|
bl sub_08000E50
|
|
ldr r1, _08069D50 @ =0x000001FF
|
|
ands r1, r0
|
|
cmp r1, #2
|
|
bhi _08069D3C
|
|
adds r0, r4, #0
|
|
bl sub_08069FBC
|
|
_08069D3C:
|
|
ldrb r2, [r6]
|
|
ldrb r1, [r5]
|
|
ldrb r0, [r4, #0x14]
|
|
adds r1, r1, r0
|
|
cmp r2, r1
|
|
beq _08069D4E
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08069D4E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08069D50: .4byte 0x000001FF
|
|
|
|
thumb_func_start sub_08069D54
|
|
sub_08069D54: @ 0x08069D54
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08069F90
|
|
cmp r0, #0
|
|
bne _08069DD8
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08069DD8
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_080AEF88
|
|
ldrh r1, [r4, #0x2a]
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r4, r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x6e
|
|
ldrh r0, [r0]
|
|
cmp r2, r0
|
|
bge _08069D92
|
|
adds r0, #1
|
|
strh r0, [r4, #0x2e]
|
|
movs r1, #0xe0
|
|
lsls r1, r1, #4
|
|
b _08069DA4
|
|
_08069D92:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
ldrh r0, [r0]
|
|
cmp r2, r0
|
|
ble _08069DA4
|
|
subs r0, #1
|
|
strh r0, [r4, #0x2e]
|
|
movs r1, #0xe0
|
|
lsls r1, r1, #8
|
|
_08069DA4:
|
|
movs r0, #0x32
|
|
ldrsh r2, [r4, r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x70
|
|
ldrh r0, [r0]
|
|
cmp r2, r0
|
|
bge _08069DBA
|
|
adds r0, #1
|
|
strh r0, [r4, #0x32]
|
|
movs r1, #0xe
|
|
b _08069DCA
|
|
_08069DBA:
|
|
adds r0, r4, #0
|
|
adds r0, #0x72
|
|
ldrh r0, [r0]
|
|
cmp r2, r0
|
|
ble _08069DCA
|
|
subs r0, #1
|
|
strh r0, [r4, #0x32]
|
|
movs r1, #0xe0
|
|
_08069DCA:
|
|
adds r0, r4, #0
|
|
bl sub_0800417E
|
|
adds r0, r4, #0
|
|
bl sub_08069F6C
|
|
b _08069DF6
|
|
_08069DD8:
|
|
adds r0, r4, #0
|
|
bl sub_08069F90
|
|
cmp r0, #0
|
|
beq _08069DE6
|
|
movs r0, #1
|
|
b _08069DE8
|
|
_08069DE6:
|
|
movs r0, #3
|
|
_08069DE8:
|
|
strb r0, [r4, #0xc]
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
_08069DF6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08069DF8
|
|
sub_08069DF8: @ 0x08069DF8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_08069F90
|
|
cmp r0, #0
|
|
beq _08069E0E
|
|
movs r0, #1
|
|
b _08069E34
|
|
_08069E0E:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _08069E22
|
|
adds r0, r4, #0
|
|
bl sub_08069D00
|
|
b _08069E42
|
|
_08069E22:
|
|
bl sub_08000E50
|
|
movs r1, #0xff
|
|
ands r1, r0
|
|
cmp r1, #0x2f
|
|
bhi _08069E32
|
|
movs r0, #2
|
|
b _08069E34
|
|
_08069E32:
|
|
movs r0, #3
|
|
_08069E34:
|
|
strb r0, [r4, #0xc]
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
_08069E42:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08069E44
|
|
sub_08069E44: @ 0x08069E44
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069E50
|
|
sub_08069E50: @ 0x08069E50
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806EDC4
|
|
strb r0, [r4, #0x14]
|
|
adds r5, r4, #0
|
|
adds r5, #0x6b
|
|
movs r7, #8
|
|
strb r7, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_0806A028
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r6, r4, #0
|
|
adds r6, #0x58
|
|
ldrb r0, [r6]
|
|
cmp r0, #0x1f
|
|
bls _08069E88
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08069EC8
|
|
strb r7, [r5]
|
|
_08069E88:
|
|
adds r0, r4, #0
|
|
bl sub_08069FBC
|
|
ldrb r2, [r6]
|
|
ldrb r1, [r5]
|
|
ldrb r0, [r4, #0x14]
|
|
adds r1, r1, r0
|
|
cmp r2, r1
|
|
beq _08069EA0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08069EA0:
|
|
movs r0, #0x36
|
|
bl sub_0807CA84
|
|
cmp r0, #2
|
|
bne _08069EC8
|
|
movs r0, #7
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0x29
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_080788E0
|
|
movs r0, #0xd1
|
|
bl sub_08004488
|
|
movs r0, #0xcd
|
|
bl sub_08004488
|
|
_08069EC8:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069ECC
|
|
sub_08069ECC: @ 0x08069ECC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _08069EDC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_08069EDC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069EE0
|
|
sub_08069EE0: @ 0x08069EE0
|
|
push {lr}
|
|
bl sub_080042B8
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08069EE8
|
|
sub_08069EE8: @ 0x08069EE8
|
|
movs r1, #5
|
|
strb r1, [r0, #0xc]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069EF0
|
|
sub_08069EF0: @ 0x08069EF0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
ldr r0, _08069F20 @ =gUnk_08111D58
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _08069F28
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldr r1, _08069F24 @ =gUnk_08111E30
|
|
ldrb r0, [r4, #0xa]
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strh r1, [r0]
|
|
movs r0, #1
|
|
b _08069F2A
|
|
.align 2, 0
|
|
_08069F20: .4byte gUnk_08111D58
|
|
_08069F24: .4byte gUnk_08111E30
|
|
_08069F28:
|
|
movs r0, #0
|
|
_08069F2A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08069F2C
|
|
sub_08069F2C: @ 0x08069F2C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _08069F46
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrh r0, [r0]
|
|
adds r2, r2, r0
|
|
_08069F46:
|
|
subs r2, #1
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08069F6C
|
|
sub_08069F6C: @ 0x08069F6C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0x15]
|
|
bl sub_0806F5A4
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, #0x14]
|
|
adds r1, r0, #4
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _08069F8C
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08069F8C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08069F90
|
|
sub_08069F90: @ 0x08069F90
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #2
|
|
bne _08069FA8
|
|
movs r0, #0xcf
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _08069FA8
|
|
movs r0, #1
|
|
b _08069FB4
|
|
_08069FA8:
|
|
ldr r1, _08069FB8 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
movs r2, #0x14
|
|
movs r3, #0x14
|
|
bl sub_080041A0
|
|
_08069FB4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08069FB8: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08069FBC
|
|
sub_08069FBC: @ 0x08069FBC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08069FE4 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
movs r1, #0x20
|
|
cmp r0, #0
|
|
beq _08069FD0
|
|
movs r1, #0x24
|
|
_08069FD0:
|
|
ldrb r0, [r2, #0x14]
|
|
cmp r0, #1
|
|
beq _08069FDA
|
|
cmp r0, #3
|
|
bne _08069FE0
|
|
_08069FDA:
|
|
adds r0, r2, #0
|
|
adds r0, #0x6b
|
|
strb r1, [r0]
|
|
_08069FE0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08069FE4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08069FE8
|
|
sub_08069FE8: @ 0x08069FE8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _0806A010 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
rsbs r0, r0, #0
|
|
lsrs r5, r0, #0x1f
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
ldrb r0, [r0]
|
|
cmp r5, r0
|
|
beq _0806A020
|
|
cmp r5, #0
|
|
bne _0806A014
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
b _0806A020
|
|
.align 2, 0
|
|
_0806A010: .4byte gUnk_03003F80
|
|
_0806A014:
|
|
adds r0, r4, #0
|
|
adds r0, #0x74
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080787A8
|
|
_0806A020:
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
strb r5, [r0]
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806A028
|
|
sub_0806A028: @ 0x0806A028
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x39
|
|
movs r2, #0
|
|
ldrsb r2, [r0, r2]
|
|
cmp r2, #0
|
|
beq _0806A07E
|
|
ldr r0, _0806A054 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A060
|
|
cmp r2, #2
|
|
bne _0806A058
|
|
movs r0, #6
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806A076
|
|
.align 2, 0
|
|
_0806A054: .4byte gUnk_03003F80
|
|
_0806A058:
|
|
adds r0, r4, #0
|
|
bl sub_0806A080
|
|
b _0806A076
|
|
_0806A060:
|
|
adds r0, r4, #0
|
|
bl sub_08069FBC
|
|
adds r0, r4, #0
|
|
bl sub_0806A080
|
|
movs r0, #0xd1
|
|
bl sub_080A3268
|
|
bl sub_080791D0
|
|
_0806A076:
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_0806A07E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806A080
|
|
sub_0806A080: @ 0x0806A080
|
|
push {lr}
|
|
ldrb r2, [r0, #0xb]
|
|
lsls r1, r2, #2
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #4
|
|
ldr r2, _0806A09C @ =gUnk_02002A40
|
|
ldrb r2, [r2, #8]
|
|
lsls r2, r2, #3
|
|
ldr r3, _0806A0A0 @ =gUnk_08111E34
|
|
adds r2, r2, r3
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806A09C: .4byte gUnk_02002A40
|
|
_0806A0A0: .4byte gUnk_08111E34
|
|
|
|
thumb_func_start sub_0806A0A4
|
|
sub_0806A0A4: @ 0x0806A0A4
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _0806A0F8 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A100
|
|
movs r5, #4
|
|
movs r0, #0xcf
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806A120
|
|
movs r5, #3
|
|
movs r0, #0xcf
|
|
bl sub_0807CCB4
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
ldr r2, _0806A0FC @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
movs r6, #0x32
|
|
ldrsh r1, [r4, r6]
|
|
ldrh r2, [r2, #8]
|
|
adds r2, #8
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_0807BA8C
|
|
b _0806A120
|
|
.align 2, 0
|
|
_0806A0F8: .4byte gUnk_03003F80
|
|
_0806A0FC: .4byte gUnk_03000BF0
|
|
_0806A100:
|
|
movs r5, #2
|
|
movs r0, #0xcf
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806A120
|
|
movs r5, #1
|
|
movs r0, #0xdb
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806A120
|
|
movs r5, #0
|
|
movs r0, #0xdb
|
|
bl sub_0807CCB4
|
|
_0806A120:
|
|
ldr r2, _0806A13C @ =gUnk_08111F74
|
|
ldr r0, _0806A140 @ =gUnk_02002A40
|
|
ldrb r1, [r0, #8]
|
|
lsls r0, r1, #2
|
|
adds r0, r0, r1
|
|
adds r0, r0, r5
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806A13C: .4byte gUnk_08111F74
|
|
_0806A140: .4byte gUnk_02002A40
|
|
|
|
thumb_func_start sub_0806A144
|
|
sub_0806A144: @ 0x0806A144
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #4
|
|
ldr r0, _0806A18C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A17A
|
|
movs r4, #3
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806A17A
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806A17A
|
|
movs r0, #0x85
|
|
bl sub_0807CBD0
|
|
movs r4, #2
|
|
cmp r0, #0
|
|
bne _0806A17A
|
|
movs r4, #1
|
|
_0806A17A:
|
|
ldr r0, _0806A190 @ =gUnk_08111FD8
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806A18C: .4byte gUnk_03003F80
|
|
_0806A190: .4byte gUnk_08111FD8
|
|
|
|
thumb_func_start sub_0806A194
|
|
sub_0806A194: @ 0x0806A194
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806A1CE
|
|
adds r0, r4, #0
|
|
bl sub_08069EF0
|
|
cmp r0, #0
|
|
beq _0806A1D4
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #0x23
|
|
bl sub_08004260
|
|
b _0806A1D4
|
|
_0806A1CE:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806A1D4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806A1D8
|
|
sub_0806A1D8: @ 0x0806A1D8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806A1F4 @ =gUnk_081121D4
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A1F4: .4byte gUnk_081121D4
|
|
|
|
thumb_func_start sub_0806A1F8
|
|
sub_0806A1F8: @ 0x0806A1F8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
ldr r1, _0806A22C @ =gUnk_081121C4
|
|
cmp r0, #0
|
|
bne _0806A206
|
|
ldr r1, _0806A230 @ =gUnk_081121B4
|
|
_0806A206:
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806A22A
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
_0806A22A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A22C: .4byte gUnk_081121C4
|
|
_0806A230: .4byte gUnk_081121B4
|
|
|
|
thumb_func_start sub_0806A234
|
|
sub_0806A234: @ 0x0806A234
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
adds r0, r4, #0
|
|
adds r0, #0x82
|
|
ldrh r1, [r0]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A266
|
|
ldr r0, _0806A268 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806A25E
|
|
adds r0, r4, #0
|
|
bl sub_0806A26C
|
|
_0806A25E:
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042BA
|
|
_0806A266:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A268: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0806A26C
|
|
sub_0806A26C: @ 0x0806A26C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0xf
|
|
movs r1, #0x2f
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806A2AE
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA30
|
|
bl sub_08000E50
|
|
adds r5, r0, #0
|
|
ldr r2, _0806A2B0 @ =gUnk_081121DC
|
|
movs r1, #7
|
|
ands r0, r1
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
adds r3, r4, #0
|
|
adds r3, #0x62
|
|
strb r0, [r3]
|
|
lsrs r0, r5, #8
|
|
ands r0, r1
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
subs r0, #8
|
|
adds r1, r4, #0
|
|
adds r1, #0x63
|
|
strb r0, [r1]
|
|
_0806A2AE:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806A2B0: .4byte gUnk_081121DC
|
|
|
|
thumb_func_start sub_0806A2B4
|
|
sub_0806A2B4: @ 0x0806A2B4
|
|
push {r4, r5, r6, lr}
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6}
|
|
adds r5, r0, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r1, #1
|
|
mov sb, r1
|
|
mov r2, sb
|
|
ands r2, r0
|
|
mov sb, r2
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
lsrs r0, r1, #4
|
|
mov r8, r0
|
|
movs r0, #7
|
|
mov r2, r8
|
|
ands r2, r0
|
|
mov r8, r2
|
|
movs r6, #7
|
|
ands r6, r1
|
|
ldrb r4, [r5, #0x14]
|
|
lsrs r4, r4, #1
|
|
ldr r1, _0806A350 @ =gUnk_081121E4
|
|
ldrb r0, [r5, #0x1e]
|
|
lsls r0, r0, #2
|
|
adds r0, r4, r0
|
|
adds r0, r0, r1
|
|
ldrb r2, [r0]
|
|
adds r2, #0x10
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldr r0, _0806A354 @ =gUnk_08112204
|
|
adds r4, r4, r0
|
|
ldrb r2, [r4]
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0806FF48
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
mov r2, r8
|
|
bl sub_0806FF60
|
|
adds r6, #0x1c
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
adds r2, r6, #0
|
|
bl sub_0806FF60
|
|
movs r0, #0x1a
|
|
add sb, r0
|
|
adds r0, r5, #0
|
|
movs r1, #3
|
|
mov r2, sb
|
|
bl sub_0806FF60
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
movs r2, #3
|
|
bl sub_0806FFD8
|
|
adds r0, r5, #0
|
|
bl sub_0807000C
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806A350: .4byte gUnk_081121E4
|
|
_0806A354: .4byte gUnk_08112204
|
|
|
|
thumb_func_start sub_0806A358
|
|
sub_0806A358: @ 0x0806A358
|
|
push {lr}
|
|
ldr r2, _0806A36C @ =gUnk_08112260
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806A36C: .4byte gUnk_08112260
|
|
|
|
thumb_func_start sub_0806A370
|
|
sub_0806A370: @ 0x0806A370
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806A3D0 @ =gUnk_08112278
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xf
|
|
bne _0806A3CC
|
|
adds r4, #0x5a
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _0806A3BC
|
|
movs r0, #0
|
|
strb r0, [r4]
|
|
movs r0, #0x86
|
|
lsls r0, r0, #2
|
|
bl sub_080A3268
|
|
_0806A3BC:
|
|
ldrb r0, [r4]
|
|
cmp r0, #2
|
|
bne _0806A3CC
|
|
movs r0, #0
|
|
strb r0, [r4]
|
|
ldr r0, _0806A3D4 @ =0x00000219
|
|
bl sub_080A3268
|
|
_0806A3CC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A3D0: .4byte gUnk_08112278
|
|
_0806A3D4: .4byte 0x00000219
|
|
|
|
thumb_func_start sub_0806A3D8
|
|
sub_0806A3D8: @ 0x0806A3D8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0xb4
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0806A8C8
|
|
ldr r1, _0806A40C @ =gUnk_08012F0C
|
|
adds r0, r4, #0
|
|
bl sub_0807DAD0
|
|
adds r1, r4, #0
|
|
adds r1, #0x84
|
|
str r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A40C: .4byte gUnk_08012F0C
|
|
|
|
thumb_func_start sub_0806A410
|
|
sub_0806A410: @ 0x0806A410
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xd]
|
|
cmp r0, #0
|
|
beq _0806A420
|
|
cmp r0, #1
|
|
beq _0806A43C
|
|
b _0806A456
|
|
_0806A420:
|
|
ldrb r0, [r2, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806A456
|
|
ldrb r0, [r2, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xd]
|
|
adds r0, r2, #0
|
|
movs r1, #8
|
|
bl sub_08004260
|
|
b _0806A456
|
|
_0806A43C:
|
|
adds r0, r2, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A456
|
|
adds r0, r2, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_0806A9B0
|
|
_0806A456:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806A458
|
|
sub_0806A458: @ 0x0806A458
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xd]
|
|
cmp r0, #1
|
|
beq _0806A486
|
|
cmp r0, #1
|
|
bgt _0806A46C
|
|
cmp r0, #0
|
|
beq _0806A472
|
|
b _0806A4CA
|
|
_0806A46C:
|
|
cmp r0, #2
|
|
beq _0806A4A8
|
|
b _0806A4CA
|
|
_0806A472:
|
|
ldrb r0, [r2, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806A4CA
|
|
ldrb r0, [r2, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xd]
|
|
b _0806A4CA
|
|
_0806A486:
|
|
adds r0, r2, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A4CA
|
|
movs r0, #2
|
|
strb r0, [r2, #0xd]
|
|
adds r0, r2, #0
|
|
movs r1, #0xa
|
|
bl sub_08004260
|
|
movs r0, #0x62
|
|
bl sub_0807CD34
|
|
b _0806A4CA
|
|
_0806A4A8:
|
|
adds r0, r2, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A4CA
|
|
movs r0, #0
|
|
movs r1, #1
|
|
strb r1, [r2, #0xc]
|
|
strb r0, [r2, #0xd]
|
|
movs r0, #0x3c
|
|
strb r0, [r2, #0xe]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
_0806A4CA:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806A4CC
|
|
sub_0806A4CC: @ 0x0806A4CC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r2, [r4, #0xd]
|
|
cmp r2, #0
|
|
beq _0806A4E0
|
|
cmp r2, #1
|
|
beq _0806A52C
|
|
movs r0, #0xb4
|
|
strb r0, [r4, #0xe]
|
|
b _0806A54C
|
|
_0806A4E0:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A54C
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
subs r0, #8
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _0806A512
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6a
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #0xa
|
|
bl sub_08004260
|
|
b _0806A54C
|
|
_0806A512:
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
strh r2, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _0806A54C
|
|
_0806A52C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A54C
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_0806A54C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806A550
|
|
sub_0806A550: @ 0x0806A550
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _0806A568
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
movs r1, #0xc
|
|
bl sub_08004260
|
|
b _0806A5B0
|
|
_0806A568:
|
|
adds r5, r4, #0
|
|
adds r5, #0x5a
|
|
ldrb r0, [r5]
|
|
cmp r0, #1
|
|
bne _0806A590
|
|
movs r0, #0
|
|
strb r0, [r5]
|
|
movs r0, #8
|
|
movs r1, #2
|
|
bl sub_08080964
|
|
ldr r2, _0806A5B4 @ =gUnk_02033280
|
|
ldr r0, [r2]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
orrs r0, r1
|
|
str r0, [r2]
|
|
ldr r0, _0806A5B8 @ =0x0000011B
|
|
bl sub_080A3268
|
|
_0806A590:
|
|
ldrb r1, [r5]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A5B0
|
|
movs r1, #0
|
|
movs r0, #5
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
movs r1, #0xd
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_0806A914
|
|
_0806A5B0:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806A5B4: .4byte gUnk_02033280
|
|
_0806A5B8: .4byte 0x0000011B
|
|
|
|
thumb_func_start nullsub_503
|
|
nullsub_503: @ 0x0806A5BC
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806A5C0
|
|
sub_0806A5C0: @ 0x0806A5C0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A5E6
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
ands r1, r0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_0806A5E6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806A5E8
|
|
sub_0806A5E8: @ 0x0806A5E8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806A60A
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0x10
|
|
bl sub_08004260
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x3c
|
|
strb r0, [r4, #0xe]
|
|
_0806A60A:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806A628
|
|
bl sub_08000E50
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
adds r0, #0x78
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0xcc
|
|
bl sub_080A3268
|
|
_0806A628:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806A630
|
|
sub_0806A630: @ 0x0806A630
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806A646
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0x12
|
|
bl sub_08004260
|
|
_0806A646:
|
|
ldr r0, _0806A670 @ =gUnk_02033280
|
|
ldr r0, [r0]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A65A
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806A65A:
|
|
adds r1, r4, #0
|
|
adds r1, #0x5a
|
|
ldrb r0, [r1]
|
|
cmp r0, #1
|
|
bne _0806A66E
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
movs r0, #0x72
|
|
bl sub_080A3268
|
|
_0806A66E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A670: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806A674
|
|
sub_0806A674: @ 0x0806A674
|
|
push {r4, lr}
|
|
sub sp, #8
|
|
adds r4, r0, #0
|
|
ldr r1, _0806A694 @ =gUnk_08112294
|
|
mov r0, sp
|
|
movs r2, #8
|
|
bl memcpy
|
|
ldrb r3, [r4, #0xc]
|
|
cmp r3, #1
|
|
beq _0806A6BE
|
|
cmp r3, #1
|
|
bgt _0806A698
|
|
cmp r3, #0
|
|
beq _0806A6A0
|
|
b _0806A82A
|
|
.align 2, 0
|
|
_0806A694: .4byte gUnk_08112294
|
|
_0806A698:
|
|
cmp r3, #2
|
|
bne _0806A69E
|
|
b _0806A824
|
|
_0806A69E:
|
|
b _0806A82A
|
|
_0806A6A0:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #9
|
|
ands r0, r1
|
|
movs r1, #6
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
movs r1, #0x13
|
|
bl sub_08004260
|
|
b _0806A82A
|
|
_0806A6BE:
|
|
ldr r0, _0806A6E0 @ =gUnk_02033280
|
|
ldr r0, [r0]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A6E4
|
|
movs r0, #0
|
|
movs r1, #2
|
|
strb r1, [r4, #0xc]
|
|
adds r1, r4, #0
|
|
adds r1, #0x63
|
|
strb r0, [r1]
|
|
subs r1, #1
|
|
strb r0, [r1]
|
|
b _0806A82A
|
|
.align 2, 0
|
|
_0806A6E0: .4byte gUnk_02033280
|
|
_0806A6E4:
|
|
ldr r0, [r4, #0x50]
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #9
|
|
bne _0806A7C8
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #8
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #3
|
|
orrs r1, r0
|
|
strb r1, [r2]
|
|
ldrb r2, [r4, #0xe]
|
|
cmp r2, #0
|
|
bne _0806A724
|
|
bl sub_08000E50
|
|
adds r2, r0, #0
|
|
movs r1, #7
|
|
ands r0, r1
|
|
strb r0, [r4, #0xe]
|
|
lsrs r0, r2, #8
|
|
movs r1, #7
|
|
ands r0, r1
|
|
add r0, sp
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
b _0806A75A
|
|
_0806A724:
|
|
ldr r0, _0806A780 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806A75A
|
|
subs r0, r2, #1
|
|
strb r0, [r4, #0xe]
|
|
adds r2, r4, #0
|
|
adds r2, #0x62
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
cmp r0, #0
|
|
bgt _0806A746
|
|
strb r3, [r1]
|
|
_0806A746:
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #0xf
|
|
ble _0806A752
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
_0806A752:
|
|
ldrb r0, [r1]
|
|
ldrb r1, [r2]
|
|
adds r0, r0, r1
|
|
strb r0, [r2]
|
|
_0806A75A:
|
|
ldrb r2, [r4, #0xf]
|
|
cmp r2, #0
|
|
bne _0806A784
|
|
bl sub_08000E50
|
|
adds r2, r0, #0
|
|
movs r1, #7
|
|
ands r0, r1
|
|
strb r0, [r4, #0xf]
|
|
lsrs r0, r2, #8
|
|
movs r1, #7
|
|
ands r0, r1
|
|
add r0, sp
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r1, [r0]
|
|
b _0806A82A
|
|
.align 2, 0
|
|
_0806A780: .4byte gUnk_030010A0
|
|
_0806A784:
|
|
ldr r0, _0806A7C4 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
lsrs r0, r0, #4
|
|
movs r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806A82A
|
|
subs r0, r2, #1
|
|
strb r0, [r4, #0xf]
|
|
adds r3, r4, #0
|
|
adds r3, #0x63
|
|
movs r0, #0
|
|
ldrsb r0, [r3, r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x69
|
|
cmp r0, #0
|
|
blt _0806A7AA
|
|
movs r0, #0xff
|
|
strb r0, [r2]
|
|
_0806A7AA:
|
|
movs r1, #0
|
|
ldrsb r1, [r3, r1]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bgt _0806A7BA
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
_0806A7BA:
|
|
ldrb r0, [r2]
|
|
ldrb r1, [r3]
|
|
adds r0, r0, r1
|
|
strb r0, [r3]
|
|
b _0806A82A
|
|
.align 2, 0
|
|
_0806A7C4: .4byte gUnk_030010A0
|
|
_0806A7C8:
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #8
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #6
|
|
orrs r1, r0
|
|
strb r1, [r2]
|
|
adds r1, r4, #0
|
|
adds r1, #0x62
|
|
ldrb r0, [r1]
|
|
movs r2, #0
|
|
ldrsb r2, [r1, r2]
|
|
cmp r2, #0
|
|
beq _0806A7FE
|
|
cmp r2, #0
|
|
ble _0806A7F0
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
_0806A7F0:
|
|
ldrb r2, [r1]
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bge _0806A7FE
|
|
adds r0, r2, #1
|
|
strb r0, [r1]
|
|
_0806A7FE:
|
|
adds r1, r4, #0
|
|
adds r1, #0x63
|
|
ldrb r0, [r1]
|
|
movs r2, #0
|
|
ldrsb r2, [r1, r2]
|
|
cmp r2, #0
|
|
beq _0806A82A
|
|
cmp r2, #0
|
|
ble _0806A814
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
_0806A814:
|
|
ldrb r2, [r1]
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bge _0806A82A
|
|
adds r0, r2, #1
|
|
strb r0, [r1]
|
|
b _0806A82A
|
|
_0806A824:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806A82A:
|
|
add sp, #8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806A830
|
|
sub_0806A830: @ 0x0806A830
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806A84E
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0x14
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
_0806A84E:
|
|
ldr r0, _0806A88C @ =gUnk_02033280
|
|
ldr r0, [r0]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A860
|
|
bl sub_0805E780
|
|
_0806A860:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r1, r4, #0
|
|
adds r1, #0x5a
|
|
ldrb r0, [r1]
|
|
cmp r0, #1
|
|
bne _0806A88A
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
movs r0, #0x37
|
|
movs r1, #5
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806A88A
|
|
adds r0, r4, #0
|
|
bl sub_0806FA30
|
|
_0806A88A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A88C: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806A890
|
|
sub_0806A890: @ 0x0806A890
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806A8AE
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0x15
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
_0806A8AE:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806A8C6
|
|
bl sub_0805E780
|
|
_0806A8C6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806A8C8
|
|
sub_0806A8C8: @ 0x0806A8C8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x60
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806A8F0
|
|
movs r0, #0x37
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806A8F0
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
str r5, [r4, #0x50]
|
|
_0806A8F0:
|
|
movs r0, #0x37
|
|
movs r1, #3
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806A910
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
ldrh r0, [r4, #0x32]
|
|
adds r0, #2
|
|
strh r0, [r4, #0x32]
|
|
str r5, [r4, #0x50]
|
|
_0806A910:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806A914
|
|
sub_0806A914: @ 0x0806A914
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x37
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806A938
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
_0806A938:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806A93C
|
|
sub_0806A93C: @ 0x0806A93C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078778
|
|
ldr r3, _0806A954 @ =gUnk_0811229C
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_08078850
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A954: .4byte gUnk_0811229C
|
|
|
|
thumb_func_start sub_0806A958
|
|
sub_0806A958: @ 0x0806A958
|
|
push {lr}
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #5
|
|
beq _0806A966
|
|
ldr r1, _0806A968 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_0806A966:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806A968: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806A96C
|
|
sub_0806A96C: @ 0x0806A96C
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
movs r3, #0
|
|
str r3, [r1, #0x14]
|
|
movs r0, #0x39
|
|
adds r0, r0, r2
|
|
mov ip, r0
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0806A9A8
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #3
|
|
beq _0806A992
|
|
movs r0, #3
|
|
strb r0, [r2, #0xc]
|
|
strb r3, [r2, #0xd]
|
|
b _0806A9A8
|
|
_0806A992:
|
|
ldrb r0, [r2, #0xd]
|
|
cmp r0, #1
|
|
bls _0806A9A8
|
|
mov r4, ip
|
|
strb r3, [r4]
|
|
movs r0, #1
|
|
str r0, [r1, #0x14]
|
|
ldr r2, _0806A9AC @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
_0806A9A8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A9AC: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806A9B0
|
|
sub_0806A9B0: @ 0x0806A9B0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
bl sub_08000E50
|
|
ldr r2, _0806A9E4 @ =gUnk_081122A0
|
|
movs r1, #7
|
|
ands r1, r0
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1]
|
|
strb r0, [r4, #0xe]
|
|
adds r1, r4, #0
|
|
adds r1, #0x80
|
|
movs r0, #9
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #9
|
|
bl sub_08004260
|
|
movs r0, #0x62
|
|
bl sub_0807CCB4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806A9E4: .4byte gUnk_081122A0
|
|
|
|
thumb_func_start sub_0806A9E8
|
|
sub_0806A9E8: @ 0x0806A9E8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x37
|
|
movs r1, #4
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806AA0C
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAD8
|
|
_0806AA0C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806AA10
|
|
sub_0806AA10: @ 0x0806AA10
|
|
push {lr}
|
|
bl sub_0806A914
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806AA18
|
|
sub_0806AA18: @ 0x0806AA18
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x6a
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _0806AA2C
|
|
ldr r1, _0806AA28 @ =0x00004408
|
|
b _0806AA3C
|
|
.align 2, 0
|
|
_0806AA28: .4byte 0x00004408
|
|
_0806AA2C:
|
|
ldr r0, _0806AA48 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #1
|
|
ands r0, r1
|
|
ldr r1, _0806AA4C @ =0x0000440D
|
|
cmp r0, #0
|
|
bne _0806AA3C
|
|
subs r1, #6
|
|
_0806AA3C:
|
|
adds r0, r1, #0
|
|
adds r1, r2, #0
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806AA48: .4byte gUnk_030010A0
|
|
_0806AA4C: .4byte 0x0000440D
|
|
|
|
thumb_func_start sub_0806AA50
|
|
sub_0806AA50: @ 0x0806AA50
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r5, #0x18]
|
|
cmp r0, #1
|
|
beq _0806AB38
|
|
cmp r0, #1
|
|
bgt _0806AA6A
|
|
cmp r0, #0
|
|
beq _0806AA70
|
|
b _0806AB64
|
|
_0806AA6A:
|
|
cmp r0, #2
|
|
beq _0806AB5C
|
|
b _0806AB64
|
|
_0806AA70:
|
|
str r0, [r5, #0x14]
|
|
movs r0, #0x8f
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806AA84
|
|
ldr r2, _0806AA80 @ =gUnk_081122A8
|
|
b _0806AA9A
|
|
.align 2, 0
|
|
_0806AA80: .4byte gUnk_081122A8
|
|
_0806AA84:
|
|
movs r0, #0x15
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806AA98
|
|
ldr r2, _0806AA94 @ =gUnk_081122B0
|
|
b _0806AA9A
|
|
.align 2, 0
|
|
_0806AA94: .4byte gUnk_081122B0
|
|
_0806AA98:
|
|
ldr r2, _0806AAD0 @ =gUnk_081122B8
|
|
_0806AA9A:
|
|
ldr r1, _0806AAD4 @ =gUnk_02034350
|
|
ldr r0, [r1, #0x68]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r7, [r0]
|
|
mov r8, r1
|
|
mov r4, r8
|
|
ldr r0, [r4, #0x68]
|
|
adds r0, #1
|
|
str r0, [r4, #0x68]
|
|
cmp r0, #2
|
|
bls _0806AAB6
|
|
movs r0, #0
|
|
str r0, [r4, #0x68]
|
|
_0806AAB6:
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
ldr r0, [r5, #4]
|
|
cmp r0, #1
|
|
beq _0806AAEE
|
|
cmp r0, #1
|
|
blo _0806AAD8
|
|
cmp r0, #2
|
|
beq _0806AB02
|
|
b _0806AB1C
|
|
.align 2, 0
|
|
_0806AAD0: .4byte gUnk_081122B8
|
|
_0806AAD4: .4byte gUnk_02034350
|
|
_0806AAD8:
|
|
adds r0, r4, #0
|
|
adds r0, #0xac
|
|
str r6, [r0]
|
|
adds r0, r6, #0
|
|
movs r1, #7
|
|
bl sub_0805EA78
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r6, #0x20]
|
|
b _0806AB1C
|
|
_0806AAEE:
|
|
adds r0, r4, #0
|
|
adds r0, #0xac
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
bl sub_0805EB64
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
adds r0, #0xb0
|
|
b _0806AB14
|
|
_0806AB02:
|
|
mov r0, r8
|
|
adds r0, #0xb0
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
bl sub_0805EB64
|
|
adds r1, r0, #0
|
|
mov r0, r8
|
|
adds r0, #0xb4
|
|
_0806AB14:
|
|
str r1, [r0]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r1, #0x20]
|
|
_0806AB1C:
|
|
ldr r0, _0806AB34 @ =0x0000441E
|
|
cmp r7, r0
|
|
bne _0806AB2C
|
|
movs r0, #0x8f
|
|
bl sub_0807CCB4
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
_0806AB2C:
|
|
movs r0, #1
|
|
strb r0, [r5, #0x18]
|
|
b _0806AB64
|
|
.align 2, 0
|
|
_0806AB34: .4byte 0x0000441E
|
|
_0806AB38:
|
|
ldr r0, _0806AB58 @ =gUnk_02034350
|
|
ldr r1, [r5, #4]
|
|
lsls r1, r1, #2
|
|
adds r0, #0xac
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
movs r2, #0x36
|
|
ldrsh r0, [r1, r2]
|
|
cmp r0, #0
|
|
blt _0806AB64
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r1, #0x20]
|
|
movs r0, #2
|
|
strb r0, [r5, #0x18]
|
|
b _0806AB64
|
|
.align 2, 0
|
|
_0806AB58: .4byte gUnk_02034350
|
|
_0806AB5C:
|
|
movs r1, #0x36
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, #0
|
|
bge _0806AB6A
|
|
_0806AB64:
|
|
ldr r1, _0806AB70 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_0806AB6A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806AB70: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806AB74
|
|
sub_0806AB74: @ 0x0806AB74
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r1, _0806AB94 @ =gUnk_02034350
|
|
movs r0, #1
|
|
strb r0, [r1, #3]
|
|
movs r1, #0x32
|
|
ldrsh r0, [r2, r1]
|
|
ldr r1, _0806AB98 @ =gUnk_03000BF0
|
|
ldrh r1, [r1, #8]
|
|
subs r0, r0, r1
|
|
cmp r0, #0xa7
|
|
bgt _0806AB92
|
|
adds r0, r1, #0
|
|
adds r0, #0xa8
|
|
strh r0, [r2, #0x32]
|
|
_0806AB92:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806AB94: .4byte gUnk_02034350
|
|
_0806AB98: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0806AB9C
|
|
sub_0806AB9C: @ 0x0806AB9C
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
movs r0, #0
|
|
str r0, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x37
|
|
movs r2, #7
|
|
movs r3, #1
|
|
bl sub_0805EB2C
|
|
cmp r0, #0
|
|
beq _0806ABBC
|
|
bl sub_0805E7BC
|
|
_0806ABBC:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807F950
|
|
add sp, #4
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806ABC8
|
|
sub_0806ABC8: @ 0x0806ABC8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806ABF4
|
|
ldr r0, _0806ABF0 @ =gUnk_081126E8
|
|
ldrb r1, [r4, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
b _0806ABFA
|
|
.align 2, 0
|
|
_0806ABF0: .4byte gUnk_081126E8
|
|
_0806ABF4:
|
|
adds r0, r4, #0
|
|
bl sub_0806ACC4
|
|
_0806ABFA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806ABFC
|
|
sub_0806ABFC: @ 0x0806ABFC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806AC38 @ =gUnk_08112674
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806AC36
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xe]
|
|
adds r2, r4, #0
|
|
adds r2, #0x6a
|
|
strb r0, [r2]
|
|
lsls r0, r0, #1
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
subs r2, #1
|
|
strb r0, [r2]
|
|
strb r1, [r4, #0xe]
|
|
_0806AC36:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806AC38: .4byte gUnk_08112674
|
|
|
|
thumb_func_start sub_0806AC3C
|
|
sub_0806AC3C: @ 0x0806AC3C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #3
|
|
bhi _0806ACBA
|
|
ldr r4, _0806AC6C @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
movs r2, #0x18
|
|
movs r3, #0x18
|
|
bl sub_080041A0
|
|
cmp r0, #0
|
|
beq _0806AC70
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_080045C4
|
|
adds r2, r0, #0
|
|
movs r0, #0x1e
|
|
ands r2, r0
|
|
b _0806AC74
|
|
.align 2, 0
|
|
_0806AC6C: .4byte gLinkEntity
|
|
_0806AC70:
|
|
ldrb r0, [r5, #0x14]
|
|
lsls r2, r0, #2
|
|
_0806AC74:
|
|
adds r0, r5, #0
|
|
adds r0, #0x69
|
|
ldrb r3, [r0]
|
|
adds r4, r0, #0
|
|
cmp r2, r3
|
|
beq _0806AC9A
|
|
subs r0, r2, r3
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
cmp r0, #0xf
|
|
bgt _0806AC8E
|
|
subs r0, r3, #1
|
|
b _0806AC90
|
|
_0806AC8E:
|
|
adds r0, r3, #1
|
|
_0806AC90:
|
|
strb r0, [r4]
|
|
ldrb r1, [r4]
|
|
movs r0, #0x1f
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
_0806AC9A:
|
|
ldrb r1, [r4]
|
|
movs r0, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806ACBA
|
|
ldrb r0, [r4]
|
|
bl sub_0806F5B0
|
|
strb r0, [r5, #0x14]
|
|
ldrb r1, [r5, #0x14]
|
|
lsrs r1, r1, #1
|
|
movs r0, #2
|
|
eors r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_0806ACBA:
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806ACC4
|
|
sub_0806ACC4: @ 0x0806ACC4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #1
|
|
beq _0806AD28
|
|
cmp r5, #1
|
|
bgt _0806ACD8
|
|
cmp r5, #0
|
|
beq _0806ACE4
|
|
b _0806ADEA
|
|
_0806ACD8:
|
|
cmp r5, #2
|
|
beq _0806ADB8
|
|
cmp r5, #3
|
|
bne _0806ACE2
|
|
b _0806ADDC
|
|
_0806ACE2:
|
|
b _0806ADEA
|
|
_0806ACE4:
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806AD24 @ =gUnk_08112674
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
bne _0806ACF8
|
|
b _0806ADFA
|
|
_0806ACF8:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xe]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6a
|
|
strb r0, [r1]
|
|
lsls r0, r0, #1
|
|
strb r0, [r4, #0x14]
|
|
strb r5, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, #8
|
|
b _0806ADCE
|
|
.align 2, 0
|
|
_0806AD24: .4byte gUnk_08112674
|
|
_0806AD28:
|
|
adds r5, r4, #0
|
|
adds r5, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #2
|
|
bne _0806AD44
|
|
movs r1, #0
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806ADEA
|
|
_0806AD44:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0806AEA8
|
|
ldrb r0, [r4, #0xb]
|
|
cmp r0, #0xa
|
|
bne _0806AD8A
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
cmp r0, #0
|
|
beq _0806AD8A
|
|
movs r1, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r5]
|
|
ldr r1, _0806ADAC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #8
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0806AFE8
|
|
_0806AD8A:
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #1
|
|
bne _0806ADEA
|
|
ldr r0, _0806ADAC @ =gLinkEntity
|
|
ldrb r3, [r0, #0x14]
|
|
lsrs r3, r3, #1
|
|
ldr r0, _0806ADB0 @ =gUnk_081126E4
|
|
adds r0, r3, r0
|
|
ldrb r2, [r0]
|
|
lsls r3, r3, #2
|
|
ldr r0, _0806ADB4 @ =gUnk_081126D4
|
|
adds r3, r3, r0
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_08078850
|
|
b _0806ADEA
|
|
.align 2, 0
|
|
_0806ADAC: .4byte gLinkEntity
|
|
_0806ADB0: .4byte gUnk_081126E4
|
|
_0806ADB4: .4byte gUnk_081126D4
|
|
_0806ADB8:
|
|
ldr r0, _0806ADD8 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806ADEA
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, #4
|
|
_0806ADCE:
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _0806ADEA
|
|
.align 2, 0
|
|
_0806ADD8: .4byte gUnk_02000050
|
|
_0806ADDC:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806ADEA
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806ADEA:
|
|
adds r0, r4, #0
|
|
adds r0, #0x59
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq _0806ADFA
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806ADFA:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806ADFC
|
|
sub_0806ADFC: @ 0x0806ADFC
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
adds r1, #0x68
|
|
ldrb r1, [r1]
|
|
bl sub_08078784
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806AE0C
|
|
sub_0806AE0C: @ 0x0806AE0C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806AE62
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r0, [r0]
|
|
lsrs r2, r0, #1
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806AE3C
|
|
adds r2, #0x1c
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
b _0806AE46
|
|
_0806AE3C:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #0xff
|
|
bl sub_0806FF60
|
|
_0806AE46:
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
b _0806AEA4
|
|
_0806AE62:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
cmp r2, #0xff
|
|
beq _0806AE72
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
_0806AE72:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806AE82
|
|
movs r2, #0xff
|
|
_0806AE82:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
_0806AEA4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806AEA8
|
|
sub_0806AEA8: @ 0x0806AEA8
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r4, #0
|
|
adds r6, #0x82
|
|
ldrh r5, [r6]
|
|
ldr r0, _0806AED4 @ =0x0000FFDF
|
|
ands r0, r5
|
|
strh r0, [r6]
|
|
movs r0, #0x20
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
beq _0806AECA
|
|
movs r1, #0x80
|
|
lsls r1, r1, #7
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
_0806AECA:
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
strh r5, [r6]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806AED4: .4byte 0x0000FFDF
|
|
|
|
thumb_func_start sub_0806AED8
|
|
sub_0806AED8: @ 0x0806AED8
|
|
push {lr}
|
|
movs r1, #0
|
|
strb r1, [r0, #0xe]
|
|
bl sub_0806AEE4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806AEE4
|
|
sub_0806AEE4: @ 0x0806AEE4
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
adds r7, r0, #0
|
|
cmp r7, #0
|
|
beq _0806AEF6
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
b _0806AF5A
|
|
_0806AEF6:
|
|
movs r0, #2
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #0x20
|
|
movs r2, #0x20
|
|
bl sub_0806EDD8
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
bge _0806AF16
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, #1
|
|
strb r0, [r4, #0x14]
|
|
lsls r3, r1, #3
|
|
_0806AF16:
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #5
|
|
asrs r1, r3, #1
|
|
lsls r1, r1, #1
|
|
ldr r2, _0806AF5C @ =gUnk_081125F4
|
|
adds r1, r1, r2
|
|
adds r0, r0, r1
|
|
ldrb r6, [r0]
|
|
ldrb r5, [r0, #1]
|
|
movs r0, #0x80
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
beq _0806AF3A
|
|
adds r0, r3, #0
|
|
bl sub_0806F5B0
|
|
strb r0, [r4, #0x14]
|
|
_0806AF3A:
|
|
movs r0, #0x7f
|
|
ands r5, r0
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
strb r6, [r0]
|
|
strb r5, [r4, #0x1e]
|
|
adds r1, r4, #0
|
|
adds r1, #0x5b
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
strb r7, [r0]
|
|
subs r1, #2
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
_0806AF5A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806AF5C: .4byte gUnk_081125F4
|
|
|
|
thumb_func_start sub_0806AF60
|
|
sub_0806AF60: @ 0x0806AF60
|
|
push {lr}
|
|
ldrb r2, [r0, #0x14]
|
|
lsrs r2, r2, #1
|
|
ldr r1, [r1, #4]
|
|
adds r1, r1, r2
|
|
bl sub_08004260
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806AF70
|
|
sub_0806AF70: @ 0x0806AF70
|
|
movs r1, #0x90
|
|
lsls r1, r1, #0xa
|
|
str r1, [r0, #0x20]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0806AF78
|
|
sub_0806AF78: @ 0x0806AF78
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #5
|
|
bl sub_08003FC4
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
blt _0806AF9E
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bgt _0806AF9E
|
|
movs r0, #0
|
|
str r0, [r4, #0x34]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806AF70
|
|
_0806AF9E:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806AFA0
|
|
sub_0806AFA0: @ 0x0806AFA0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806ED78
|
|
cmp r0, #0
|
|
beq _0806AFBA
|
|
movs r0, #0x24
|
|
ldrsh r1, [r4, r0]
|
|
rsbs r1, r1, #0
|
|
ldrb r2, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_0806F62C
|
|
_0806AFBA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806AFBC
|
|
sub_0806AFBC: @ 0x0806AFBC
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _0806AFE0 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _0806AFCC
|
|
movs r0, #0
|
|
_0806AFCC:
|
|
ldrb r1, [r3, #0xb]
|
|
lsls r1, r1, #6
|
|
lsls r0, r0, #3
|
|
ldr r2, _0806AFE4 @ =gUnk_081126F0
|
|
adds r0, r0, r2
|
|
adds r1, r1, r0
|
|
adds r0, r3, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806AFE0: .4byte gUnk_02002A40
|
|
_0806AFE4: .4byte gUnk_081126F0
|
|
|
|
thumb_func_start sub_0806AFE8
|
|
sub_0806AFE8: @ 0x0806AFE8
|
|
push {lr}
|
|
movs r2, #0
|
|
str r2, [r1, #0x14]
|
|
ldr r3, _0806B000 @ =gUnk_08112BF0
|
|
ldrb r2, [r0, #0xb]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806B000: .4byte gUnk_08112BF0
|
|
|
|
thumb_func_start sub_0806B004
|
|
sub_0806B004: @ 0x0806B004
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
movs r4, #0
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806B050
|
|
movs r0, #0x73
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806B048
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806B044
|
|
movs r4, #3
|
|
movs r0, #0x78
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806B050
|
|
movs r4, #2
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
movs r0, #0x78
|
|
bl sub_0807CCB4
|
|
b _0806B050
|
|
_0806B044:
|
|
movs r4, #4
|
|
b _0806B050
|
|
_0806B048:
|
|
movs r4, #1
|
|
movs r0, #0x6a
|
|
bl sub_0807CCB4
|
|
_0806B050:
|
|
ldr r0, _0806B060 @ =gUnk_08112C40
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806B060: .4byte gUnk_08112C40
|
|
|
|
thumb_func_start sub_0806B064
|
|
sub_0806B064: @ 0x0806B064
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806B082
|
|
movs r4, #1
|
|
movs r0, #0x73
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806B082
|
|
movs r4, #2
|
|
_0806B082:
|
|
ldr r0, _0806B094 @ =gUnk_08112C4A
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806B094: .4byte gUnk_08112C4A
|
|
|
|
thumb_func_start sub_0806B098
|
|
sub_0806B098: @ 0x0806B098
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #2
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806B0C0
|
|
movs r4, #1
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806B0C0
|
|
movs r0, #0x2a
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
_0806B0C0:
|
|
ldr r2, _0806B0DC @ =gUnk_08112C50
|
|
ldrb r1, [r5, #0xb]
|
|
subs r1, #7
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
adds r0, r0, r4
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806B0DC: .4byte gUnk_08112C50
|
|
|
|
thumb_func_start sub_0806B0E0
|
|
sub_0806B0E0: @ 0x0806B0E0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r5, #0
|
|
movs r0, #0x38
|
|
movs r1, #0xb8
|
|
movs r2, #1
|
|
bl sub_080002C0
|
|
cmp r0, #0x57
|
|
bne _0806B120
|
|
movs r0, #0x48
|
|
movs r1, #0xb8
|
|
movs r2, #1
|
|
bl sub_080002C0
|
|
cmp r0, #0x57
|
|
bne _0806B120
|
|
movs r0, #0x38
|
|
movs r1, #0xc8
|
|
movs r2, #1
|
|
bl sub_080002C0
|
|
cmp r0, #0x57
|
|
bne _0806B120
|
|
movs r0, #0x48
|
|
movs r1, #0xc8
|
|
movs r2, #1
|
|
bl sub_080002C0
|
|
cmp r0, #0x57
|
|
bne _0806B120
|
|
movs r5, #1
|
|
_0806B120:
|
|
ldr r0, _0806B130 @ =gUnk_08112C5C
|
|
lsls r1, r5, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806B130: .4byte gUnk_08112C5C
|
|
|
|
thumb_func_start sub_0806B134
|
|
sub_0806B134: @ 0x0806B134
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x45
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0806B158
|
|
movs r4, #2
|
|
movs r0, #0x7b
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806B160
|
|
movs r4, #1
|
|
movs r0, #0x7b
|
|
bl sub_0807CCB4
|
|
b _0806B160
|
|
_0806B158:
|
|
movs r4, #0
|
|
movs r0, #0x4a
|
|
bl sub_0807CD04
|
|
_0806B160:
|
|
ldr r0, _0806B17C @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #5
|
|
bls _0806B16A
|
|
movs r4, #3
|
|
_0806B16A:
|
|
ldr r0, _0806B180 @ =gUnk_08112C60
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806B17C: .4byte gUnk_02002A40
|
|
_0806B180: .4byte gUnk_08112C60
|
|
|
|
thumb_func_start sub_0806B184
|
|
sub_0806B184: @ 0x0806B184
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806B1C4
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806B1C0 @ =gUnk_08112674
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806B1CA
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
b _0806B1CA
|
|
.align 2, 0
|
|
_0806B1C0: .4byte gUnk_08112674
|
|
_0806B1C4:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806B1CA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806B1CC
|
|
sub_0806B1CC: @ 0x0806B1CC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _0806B21E
|
|
cmp r0, #1
|
|
bgt _0806B1E0
|
|
cmp r0, #0
|
|
beq _0806B1E6
|
|
b _0806B25C
|
|
_0806B1E0:
|
|
cmp r0, #2
|
|
beq _0806B24E
|
|
b _0806B25C
|
|
_0806B1E6:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0xe]
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806B25C
|
|
_0806B21E:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806B238
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806B25C
|
|
_0806B238:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _0806B25C
|
|
_0806B24E:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806B25C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806B25C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806B260
|
|
sub_0806B260: @ 0x0806B260
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
movs r0, #0
|
|
str r0, [r5, #0x14]
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806B29E
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806B286
|
|
movs r4, #2
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
b _0806B2A0
|
|
_0806B286:
|
|
movs r0, #0x7a
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806B29A
|
|
movs r4, #0
|
|
movs r0, #0x7a
|
|
bl sub_0807CCB4
|
|
b _0806B2A0
|
|
_0806B29A:
|
|
movs r4, #1
|
|
b _0806B2A0
|
|
_0806B29E:
|
|
movs r4, #3
|
|
_0806B2A0:
|
|
ldr r0, _0806B2B0 @ =gUnk_08112D48
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806B2B0: .4byte gUnk_08112D48
|
|
|
|
thumb_func_start sub_0806B2B4
|
|
sub_0806B2B4: @ 0x0806B2B4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0xb3
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806B314
|
|
movs r0, #0
|
|
bl sub_0807CC3C
|
|
cmp r0, #0
|
|
bne _0806B2D6
|
|
movs r4, #1
|
|
movs r0, #0
|
|
bl sub_0807CD10
|
|
b _0806B316
|
|
_0806B2D6:
|
|
movs r0, #1
|
|
bl sub_0807CC3C
|
|
cmp r0, #0
|
|
bne _0806B2EA
|
|
movs r4, #2
|
|
movs r0, #1
|
|
bl sub_0807CD10
|
|
b _0806B316
|
|
_0806B2EA:
|
|
movs r0, #2
|
|
bl sub_0807CC3C
|
|
cmp r0, #0
|
|
bne _0806B2FE
|
|
movs r4, #3
|
|
movs r0, #2
|
|
bl sub_0807CD10
|
|
b _0806B316
|
|
_0806B2FE:
|
|
movs r4, #4
|
|
movs r0, #0
|
|
bl sub_0807CD8C
|
|
movs r0, #1
|
|
bl sub_0807CD8C
|
|
movs r0, #2
|
|
bl sub_0807CD8C
|
|
b _0806B316
|
|
_0806B314:
|
|
movs r4, #0
|
|
_0806B316:
|
|
ldr r0, _0806B328 @ =gUnk_08112D50
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806B328: .4byte gUnk_08112D50
|
|
|
|
thumb_func_start sub_0806B32C
|
|
sub_0806B32C: @ 0x0806B32C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806B352
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #9
|
|
bl sub_080042AC
|
|
b _0806B358
|
|
_0806B352:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806B358:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806B35C
|
|
sub_0806B35C: @ 0x0806B35C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r2, #0x3f
|
|
ands r2, r0
|
|
adds r2, #0x13
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0x7f
|
|
ands r2, r0
|
|
adds r2, #0xb
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #1
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_0806FFD8
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806B3AC
|
|
sub_0806B3AC: @ 0x0806B3AC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806B3C2
|
|
adds r0, r2, #0
|
|
bl sub_0806B41C
|
|
b _0806B3C8
|
|
_0806B3C2:
|
|
adds r0, r2, #0
|
|
bl sub_0806B3CC
|
|
_0806B3C8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806B3CC
|
|
sub_0806B3CC: @ 0x0806B3CC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806B3F4
|
|
ldr r1, _0806B418 @ =gUnk_08112E1C
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806B414
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08078778
|
|
_0806B3F4:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _0806B40E
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bl sub_08056378
|
|
_0806B40E:
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
_0806B414:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806B418: .4byte gUnk_08112E1C
|
|
|
|
thumb_func_start sub_0806B41C
|
|
sub_0806B41C: @ 0x0806B41C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _0806B470
|
|
cmp r0, #1
|
|
bgt _0806B430
|
|
cmp r0, #0
|
|
beq _0806B436
|
|
b _0806B4EC
|
|
_0806B430:
|
|
cmp r0, #2
|
|
beq _0806B4DE
|
|
b _0806B4EC
|
|
_0806B436:
|
|
ldr r1, _0806B46C @ =gUnk_08112E1C
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806B4EC
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0xb]
|
|
cmp r0, #2
|
|
bne _0806B462
|
|
adds r0, r4, #0
|
|
movs r1, #0x25
|
|
movs r2, #0
|
|
bl CreateFX
|
|
_0806B462:
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806B4EC
|
|
.align 2, 0
|
|
_0806B46C: .4byte gUnk_08112E1C
|
|
_0806B470:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806B4D4
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _0806B4C8 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08002632
|
|
ldr r1, _0806B4CC @ =gUnk_08001A7C
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r3, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x21
|
|
bne _0806B4B2
|
|
adds r3, #6
|
|
_0806B4B2:
|
|
ldrh r1, [r3]
|
|
ldrh r2, [r3, #2]
|
|
ldrh r3, [r3, #4]
|
|
adds r0, r4, #0
|
|
bl sub_0801DFB4
|
|
ldr r0, _0806B4D0 @ =gUnk_03003F80
|
|
adds r0, #0x8b
|
|
movs r1, #3
|
|
strb r1, [r0]
|
|
b _0806B4EC
|
|
.align 2, 0
|
|
_0806B4C8: .4byte gLinkEntity
|
|
_0806B4CC: .4byte gUnk_08001A7C
|
|
_0806B4D0: .4byte gUnk_03003F80
|
|
_0806B4D4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0806B4EC
|
|
_0806B4DE:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806B4EC
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806B4EC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806B4F0
|
|
sub_0806B4F0: @ 0x0806B4F0
|
|
push {lr}
|
|
ldrb r1, [r0, #0xb]
|
|
lsls r1, r1, #3
|
|
ldr r2, _0806B500 @ =gUnk_08112E2C
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806B500: .4byte gUnk_08112E2C
|
|
|
|
thumb_func_start sub_0806B504
|
|
sub_0806B504: @ 0x0806B504
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #1
|
|
movs r0, #0x21
|
|
bl sub_0801E7F4
|
|
cmp r0, #0
|
|
beq _0806B518
|
|
movs r4, #3
|
|
b _0806B52A
|
|
_0806B518:
|
|
movs r0, #0x86
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806B52A
|
|
movs r4, #0
|
|
movs r0, #0x86
|
|
bl sub_0807CCB4
|
|
_0806B52A:
|
|
ldr r0, _0806B53C @ =gUnk_08112E54
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806B53C: .4byte gUnk_08112E54
|
|
|
|
thumb_func_start sub_0806B540
|
|
sub_0806B540: @ 0x0806B540
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x84
|
|
ldr r4, [r0]
|
|
ldrb r0, [r4, #0x18]
|
|
cmp r0, #1
|
|
beq _0806B588
|
|
cmp r0, #1
|
|
bgt _0806B558
|
|
cmp r0, #0
|
|
beq _0806B562
|
|
b _0806B600
|
|
_0806B558:
|
|
cmp r0, #2
|
|
beq _0806B5AC
|
|
cmp r0, #3
|
|
beq _0806B5EE
|
|
b _0806B600
|
|
_0806B562:
|
|
ldr r0, _0806B584 @ =0x00002312
|
|
adds r1, r2, #0
|
|
bl sub_08056398
|
|
movs r0, #0x3f
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806B606
|
|
ldrb r0, [r4, #0x18]
|
|
adds r0, #1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #0x3f
|
|
bl sub_0807CCB4
|
|
b _0806B600
|
|
.align 2, 0
|
|
_0806B584: .4byte 0x00002312
|
|
_0806B588:
|
|
ldr r0, _0806B5A4 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806B600
|
|
movs r0, #2
|
|
strb r0, [r4, #0x18]
|
|
ldr r0, _0806B5A8 @ =0x00002315
|
|
adds r1, r2, #0
|
|
bl sub_08056398
|
|
b _0806B600
|
|
.align 2, 0
|
|
_0806B5A4: .4byte gUnk_02000050
|
|
_0806B5A8: .4byte 0x00002315
|
|
_0806B5AC:
|
|
ldr r0, _0806B5D4 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806B600
|
|
movs r0, #3
|
|
strb r0, [r4, #0x18]
|
|
ldr r0, _0806B5D8 @ =gUnk_02002A40
|
|
adds r0, #0xbb
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0806B5DC
|
|
movs r0, #0x58
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A7C18
|
|
b _0806B5E6
|
|
.align 2, 0
|
|
_0806B5D4: .4byte gUnk_02000050
|
|
_0806B5D8: .4byte gUnk_02002A40
|
|
_0806B5DC:
|
|
movs r0, #0x3f
|
|
movs r1, #0x64
|
|
movs r2, #0
|
|
bl sub_080A7C18
|
|
_0806B5E6:
|
|
movs r0, #0xf
|
|
bl sub_0807CD10
|
|
b _0806B600
|
|
_0806B5EE:
|
|
ldr r0, _0806B5FC @ =gLinkEntity
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #8
|
|
beq _0806B600
|
|
movs r0, #0x2d
|
|
strh r0, [r4, #0x10]
|
|
b _0806B606
|
|
.align 2, 0
|
|
_0806B5FC: .4byte gLinkEntity
|
|
_0806B600:
|
|
ldr r1, _0806B608 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_0806B606:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806B608: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806B60C
|
|
sub_0806B60C: @ 0x0806B60C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806B624
|
|
sub_0806B624: @ 0x0806B624
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806B65C
|
|
ldr r1, _0806B658 @ =gUnk_08112E1C
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806B662
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
b _0806B662
|
|
.align 2, 0
|
|
_0806B658: .4byte gUnk_08112E1C
|
|
_0806B65C:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806B662:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806B664
|
|
sub_0806B664: @ 0x0806B664
|
|
push {lr}
|
|
ldr r2, _0806B678 @ =gUnk_08112F78
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806B678: .4byte gUnk_08112F78
|
|
|
|
thumb_func_start sub_0806B67C
|
|
sub_0806B67C: @ 0x0806B67C
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r6, #0xc]
|
|
strb r1, [r6, #0xd]
|
|
strb r1, [r6, #0xe]
|
|
ldrb r0, [r6, #0xa]
|
|
cmp r0, #5
|
|
bls _0806B692
|
|
b _0806B7B8
|
|
_0806B692:
|
|
lsls r0, r0, #2
|
|
ldr r1, _0806B69C @ =_0806B6A0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0806B69C: .4byte _0806B6A0
|
|
_0806B6A0: @ jump table
|
|
.4byte _0806B6B8 @ case 0
|
|
.4byte _0806B7A6 @ case 1
|
|
.4byte _0806B70C @ case 2
|
|
.4byte _0806B726 @ case 3
|
|
.4byte _0806B7B0 @ case 4
|
|
.4byte _0806B7A6 @ case 5
|
|
_0806B6B8:
|
|
ldrh r0, [r6, #0x32]
|
|
subs r0, #0xa0
|
|
strh r0, [r6, #0x32]
|
|
movs r0, #0xa0
|
|
strb r0, [r6, #0xe]
|
|
movs r0, #0x20
|
|
strb r0, [r6, #0xf]
|
|
adds r1, r6, #0
|
|
adds r1, #0x63
|
|
strb r0, [r1]
|
|
movs r5, #0
|
|
_0806B6CE:
|
|
movs r0, #0x3b
|
|
movs r1, #2
|
|
adds r2, r5, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806B6E0
|
|
str r6, [r4, #0x50]
|
|
_0806B6E0:
|
|
adds r5, #1
|
|
cmp r5, #3
|
|
bls _0806B6CE
|
|
movs r0, #0x3b
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
str r6, [r4, #0x50]
|
|
adds r1, r4, #0
|
|
adds r1, #0x63
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
movs r3, #0x80
|
|
lsls r3, r3, #9
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
movs r2, #0
|
|
bl sub_0806FA48
|
|
b _0806B7A6
|
|
_0806B70C:
|
|
ldrb r1, [r6, #0xb]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806B71E
|
|
ldrb r0, [r6, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
strb r0, [r6, #0x18]
|
|
_0806B71E:
|
|
adds r0, r6, #0
|
|
bl sub_0806B96C
|
|
b _0806B7A6
|
|
_0806B726:
|
|
movs r0, #1
|
|
strb r0, [r6, #0xe]
|
|
movs r0, #0x20
|
|
strb r0, [r6, #0xf]
|
|
movs r0, #0x3b
|
|
movs r1, #4
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806B76C
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
str r6, [r4, #0x50]
|
|
adds r0, r6, #0
|
|
adds r0, #0x29
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
subs r1, #1
|
|
adds r3, r4, #0
|
|
adds r3, #0x29
|
|
movs r0, #7
|
|
ands r1, r0
|
|
ldrb r2, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
movs r0, #0
|
|
strb r0, [r4, #0x1e]
|
|
_0806B76C:
|
|
movs r0, #0x3b
|
|
movs r1, #5
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806B7A6
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
str r6, [r4, #0x50]
|
|
adds r0, r6, #0
|
|
adds r0, #0x29
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
adds r1, #1
|
|
adds r3, r4, #0
|
|
adds r3, #0x29
|
|
movs r0, #7
|
|
ands r1, r0
|
|
ldrb r2, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
_0806B7A6:
|
|
adds r0, r6, #0
|
|
movs r1, #0
|
|
bl sub_080042AC
|
|
b _0806B7B8
|
|
_0806B7B0:
|
|
adds r0, r6, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
_0806B7B8:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806B7BC
|
|
sub_0806B7BC: @ 0x0806B7BC
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #3
|
|
bl sub_0807CC3C
|
|
cmp r0, #0
|
|
bne _0806B7CC
|
|
b _0806B968
|
|
_0806B7CC:
|
|
ldrb r0, [r5, #0xa]
|
|
cmp r0, #1
|
|
beq _0806B84C
|
|
cmp r0, #1
|
|
bgt _0806B7DC
|
|
cmp r0, #0
|
|
beq _0806B7E6
|
|
b _0806B93C
|
|
_0806B7DC:
|
|
cmp r0, #2
|
|
beq _0806B86C
|
|
cmp r0, #3
|
|
beq _0806B874
|
|
b _0806B93C
|
|
_0806B7E6:
|
|
ldrh r0, [r5, #0x32]
|
|
adds r0, #1
|
|
strh r0, [r5, #0x32]
|
|
ldrb r0, [r5, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r5, #0xe]
|
|
movs r1, #0xff
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806B82C
|
|
movs r0, #0x3b
|
|
movs r1, #3
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bne _0806B80C
|
|
b _0806B968
|
|
_0806B80C:
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
ldr r0, _0806B828 @ =0x00001634
|
|
bl sub_08056378
|
|
ldrb r0, [r5, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xd]
|
|
bl sub_0805E780
|
|
b _0806B968
|
|
.align 2, 0
|
|
_0806B828: .4byte 0x00001634
|
|
_0806B82C:
|
|
ldrb r0, [r5, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r5, #0xf]
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806B83A
|
|
b _0806B95A
|
|
_0806B83A:
|
|
movs r0, #0x20
|
|
strb r0, [r5, #0xf]
|
|
ldr r0, _0806B848 @ =0x000001A9
|
|
bl sub_080A3268
|
|
b _0806B95A
|
|
.align 2, 0
|
|
_0806B848: .4byte 0x000001A9
|
|
_0806B84C:
|
|
adds r0, r5, #0
|
|
bl sub_0806B9BC
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bne _0806B85C
|
|
bl sub_0805E780
|
|
_0806B85C:
|
|
movs r3, #0x84
|
|
lsls r3, r3, #0xe
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
movs r2, #0
|
|
bl sub_0806FA48
|
|
b _0806B95A
|
|
_0806B86C:
|
|
adds r0, r5, #0
|
|
bl sub_0806B96C
|
|
b _0806B95A
|
|
_0806B874:
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #1
|
|
beq _0806B8A2
|
|
cmp r0, #1
|
|
bgt _0806B884
|
|
cmp r0, #0
|
|
beq _0806B88E
|
|
b _0806B91E
|
|
_0806B884:
|
|
cmp r0, #2
|
|
beq _0806B8C4
|
|
cmp r0, #3
|
|
beq _0806B906
|
|
b _0806B91E
|
|
_0806B88E:
|
|
ldrb r0, [r5, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r5, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806B91E
|
|
ldrb r0, [r5, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xd]
|
|
b _0806B91E
|
|
_0806B8A2:
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806B91E
|
|
movs r0, #2
|
|
strb r0, [r5, #0xd]
|
|
ldr r1, _0806B8C0 @ =0x0000013F
|
|
adds r0, r5, #0
|
|
bl sub_0801D2B4
|
|
b _0806B8FA
|
|
.align 2, 0
|
|
_0806B8C0: .4byte 0x0000013F
|
|
_0806B8C4:
|
|
adds r2, r5, #0
|
|
adds r2, #0x5a
|
|
ldrb r1, [r2]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806B91E
|
|
movs r0, #0xef
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldrb r0, [r5, #0xe]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _0806B91E
|
|
cmp r0, #0xa
|
|
bne _0806B91E
|
|
ldrb r0, [r5, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xd]
|
|
movs r0, #0xf4
|
|
bl sub_08004488
|
|
movs r0, #0
|
|
strb r0, [r5, #0xe]
|
|
_0806B8FA:
|
|
ldrb r1, [r5, #0xd]
|
|
subs r1, #1
|
|
adds r0, r5, #0
|
|
bl sub_080042AC
|
|
b _0806B91E
|
|
_0806B906:
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806B91E
|
|
movs r0, #0
|
|
bl sub_0807CD10
|
|
bl sub_0805E780
|
|
_0806B91E:
|
|
ldrb r0, [r5, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r5, #0xf]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806B95A
|
|
movs r0, #0x20
|
|
strb r0, [r5, #0xf]
|
|
ldr r0, _0806B938 @ =0x000001A9
|
|
bl sub_080A3268
|
|
b _0806B95A
|
|
.align 2, 0
|
|
_0806B938: .4byte 0x000001A9
|
|
_0806B93C:
|
|
adds r0, r5, #0
|
|
bl sub_0806B9BC
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bne _0806B94E
|
|
bl sub_0805E780
|
|
b _0806B968
|
|
_0806B94E:
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
beq _0806B968
|
|
ldrb r0, [r5, #0xa]
|
|
cmp r0, #4
|
|
beq _0806B962
|
|
_0806B95A:
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
b _0806B968
|
|
_0806B962:
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
_0806B968:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806B96C
|
|
sub_0806B96C: @ 0x0806B96C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806B9BC
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _0806B97E
|
|
bl sub_0805E780
|
|
_0806B97E:
|
|
ldrb r3, [r4, #0xb]
|
|
lsls r3, r3, #1
|
|
ldr r0, _0806B9B8 @ =gUnk_08112F80
|
|
adds r3, r3, r0
|
|
ldrb r1, [r5, #0x18]
|
|
lsls r1, r1, #0x1e
|
|
lsrs r1, r1, #0x1e
|
|
ldrb r2, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r2, #0
|
|
ldrsb r2, [r3, r2]
|
|
lsls r2, r2, #0x10
|
|
ldrb r3, [r3, #1]
|
|
lsls r3, r3, #0x18
|
|
asrs r3, r3, #0x18
|
|
adds r3, #0x21
|
|
lsls r3, r3, #0x10
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA48
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806B9B8: .4byte gUnk_08112F80
|
|
|
|
thumb_func_start sub_0806B9BC
|
|
sub_0806B9BC: @ 0x0806B9BC
|
|
push {lr}
|
|
ldr r1, [r0, #0x50]
|
|
cmp r1, #0
|
|
beq _0806B9CC
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
bne _0806B9CC
|
|
movs r1, #0
|
|
_0806B9CC:
|
|
adds r0, r1, #0
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806B9D0
|
|
sub_0806B9D0: @ 0x0806B9D0
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
bne _0806B9E6
|
|
adds r0, #1
|
|
strb r0, [r1, #0xc]
|
|
adds r0, r1, #0
|
|
bl sub_0807DD50
|
|
b _0806B9EE
|
|
_0806B9E6:
|
|
adds r0, r1, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_0806B9EE:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806B9F0
|
|
sub_0806B9F0: @ 0x0806B9F0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806BA18
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
ldr r1, _0806BA30 @ =gUnk_08114F30
|
|
ldrb r2, [r4, #0x19]
|
|
lsrs r0, r2, #6
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #6
|
|
movs r0, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
_0806BA18:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806BA30: .4byte gUnk_08114F30
|
|
|
|
thumb_func_start sub_0806BA34
|
|
sub_0806BA34: @ 0x0806BA34
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov sb, r0
|
|
adds r4, r1, #0
|
|
ldr r0, _0806BA58 @ =0x00004912
|
|
mov r8, r0
|
|
movs r0, #0
|
|
str r0, [r4, #0x14]
|
|
movs r0, #0x73
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806BA60
|
|
ldr r0, _0806BA5C @ =0x00004913
|
|
mov r8, r0
|
|
b _0806BB06
|
|
.align 2, 0
|
|
_0806BA58: .4byte 0x00004912
|
|
_0806BA5C: .4byte 0x00004913
|
|
_0806BA60:
|
|
movs r0, #0x39
|
|
bl sub_0807CA84
|
|
adds r7, r0, #0
|
|
movs r0, #0x3a
|
|
bl sub_0807CA84
|
|
adds r6, r0, #0
|
|
movs r0, #0x3b
|
|
bl sub_0807CA84
|
|
adds r5, r0, #0
|
|
cmp r7, #1
|
|
bne _0806BA88
|
|
ldr r0, _0806BA84 @ =0x00004906
|
|
mov r8, r0
|
|
str r7, [r4, #0x14]
|
|
b _0806BAA2
|
|
.align 2, 0
|
|
_0806BA84: .4byte 0x00004906
|
|
_0806BA88:
|
|
cmp r6, #1
|
|
bne _0806BA98
|
|
ldr r0, _0806BA94 @ =0x00004907
|
|
mov r8, r0
|
|
str r6, [r4, #0x14]
|
|
b _0806BAA2
|
|
.align 2, 0
|
|
_0806BA94: .4byte 0x00004907
|
|
_0806BA98:
|
|
cmp r5, #1
|
|
bne _0806BAB4
|
|
ldr r0, _0806BAB0 @ =0x00004908
|
|
mov r8, r0
|
|
str r5, [r4, #0x14]
|
|
_0806BAA2:
|
|
movs r0, #0x6b
|
|
bl sub_0807CCB4
|
|
movs r0, #0x6a
|
|
bl sub_0807CCB4
|
|
b _0806BB06
|
|
.align 2, 0
|
|
_0806BAB0: .4byte 0x00004908
|
|
_0806BAB4:
|
|
movs r0, #0x6a
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806BB06
|
|
movs r0, #0x6b
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806BAD0
|
|
ldr r0, _0806BACC @ =0x00004901
|
|
b _0806BAD6
|
|
.align 2, 0
|
|
_0806BACC: .4byte 0x00004901
|
|
_0806BAD0:
|
|
cmp r7, #0
|
|
bne _0806BAE4
|
|
ldr r0, _0806BAE0 @ =0x00004902
|
|
_0806BAD6:
|
|
mov r8, r0
|
|
movs r0, #0x6b
|
|
bl sub_0807CCB4
|
|
b _0806BB06
|
|
.align 2, 0
|
|
_0806BAE0: .4byte 0x00004902
|
|
_0806BAE4:
|
|
cmp r6, #0
|
|
bne _0806BAF8
|
|
ldr r0, _0806BAF4 @ =0x00004903
|
|
mov r8, r0
|
|
movs r0, #0x6d
|
|
bl sub_0807CCB4
|
|
b _0806BB06
|
|
.align 2, 0
|
|
_0806BAF4: .4byte 0x00004903
|
|
_0806BAF8:
|
|
cmp r5, #0
|
|
bne _0806BB06
|
|
ldr r0, _0806BB18 @ =0x00004904
|
|
mov r8, r0
|
|
movs r0, #0x70
|
|
bl sub_0807CCB4
|
|
_0806BB06:
|
|
mov r0, r8
|
|
mov r1, sb
|
|
bl sub_08056398
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806BB18: .4byte 0x00004904
|
|
|
|
thumb_func_start sub_0806BB1C
|
|
sub_0806BB1C: @ 0x0806BB1C
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
movs r4, #1
|
|
rsbs r4, r4, #0
|
|
movs r0, #0x39
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0806BB34
|
|
movs r4, #0x39
|
|
b _0806BB52
|
|
_0806BB34:
|
|
movs r0, #0x3a
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0806BB42
|
|
movs r4, #0x3a
|
|
b _0806BB52
|
|
_0806BB42:
|
|
movs r0, #0x3b
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0806BB4E
|
|
movs r4, #0x3b
|
|
_0806BB4E:
|
|
cmp r4, #0
|
|
ble _0806BB78
|
|
_0806BB52:
|
|
ldr r0, [r6, #4]
|
|
cmp r0, #0
|
|
bne _0806BB70
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_08095BE0
|
|
adds r0, r5, #0
|
|
movs r1, #0xc
|
|
bl sub_08004260
|
|
movs r0, #0xcd
|
|
bl sub_080A3268
|
|
b _0806BB78
|
|
_0806BB70:
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0807CAA0
|
|
_0806BB78:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BB7C
|
|
sub_0806BB7C: @ 0x0806BB7C
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
movs r0, #0
|
|
str r0, [r4, #0x14]
|
|
movs r0, #0x39
|
|
bl sub_0807CA84
|
|
cmp r0, #2
|
|
bne _0806BBAC
|
|
movs r0, #0x3a
|
|
bl sub_0807CA84
|
|
cmp r0, #2
|
|
bne _0806BBAC
|
|
movs r0, #0x3b
|
|
bl sub_0807CA84
|
|
cmp r0, #2
|
|
bne _0806BBAC
|
|
movs r0, #0x73
|
|
bl sub_0807CCB4
|
|
movs r0, #1
|
|
str r0, [r4, #0x14]
|
|
_0806BBAC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BBB0
|
|
sub_0806BBB0: @ 0x0806BBB0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806BBCC
|
|
movs r0, #0x29
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
b _0806BBCE
|
|
_0806BBCC:
|
|
movs r1, #2
|
|
_0806BBCE:
|
|
ldr r0, _0806BBE0 @ =gUnk_08113078
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806BBE0: .4byte gUnk_08113078
|
|
|
|
thumb_func_start sub_0806BBE4
|
|
sub_0806BBE4: @ 0x0806BBE4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806BC40
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
ldr r0, _0806BC28 @ =gUnk_08113140
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806BC54
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #1
|
|
ands r1, r0
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
cmp r0, #0
|
|
blt _0806BC2C
|
|
movs r0, #6
|
|
b _0806BC2E
|
|
.align 2, 0
|
|
_0806BC28: .4byte gUnk_08113140
|
|
_0806BC2C:
|
|
movs r0, #2
|
|
_0806BC2E:
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, #0x14]
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
bl sub_0806BC58
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_0806BC40:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806BC54:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BC58
|
|
sub_0806BC58: @ 0x0806BC58
|
|
push {lr}
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BC64
|
|
sub_0806BC64: @ 0x0806BC64
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0x7f
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806BC94
|
|
sub_0806BC94: @ 0x0806BC94
|
|
push {lr}
|
|
ldrb r3, [r0, #0x18]
|
|
lsls r3, r3, #0x19
|
|
lsrs r3, r3, #0x1f
|
|
rsbs r2, r3, #0
|
|
orrs r2, r3
|
|
asrs r2, r2, #0x1f
|
|
movs r3, #8
|
|
ands r2, r3
|
|
ldr r1, [r1, #4]
|
|
adds r1, r1, r2
|
|
ldrb r2, [r0, #0x14]
|
|
lsrs r2, r2, #1
|
|
adds r1, r1, r2
|
|
bl sub_08004260
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BCB8
|
|
sub_0806BCB8: @ 0x0806BCB8
|
|
ldrb r1, [r0, #0xe]
|
|
strb r1, [r0, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BCC0
|
|
sub_0806BCC0: @ 0x0806BCC0
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xa]
|
|
cmp r0, #0
|
|
bne _0806BCD0
|
|
adds r0, r1, #0
|
|
bl sub_0806F188
|
|
_0806BCD0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BCD4
|
|
sub_0806BCD4: @ 0x0806BCD4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BCE8
|
|
sub_0806BCE8: @ 0x0806BCE8
|
|
push {lr}
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #3
|
|
ldr r2, _0806BCF8 @ =gUnk_08113158
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806BCF8: .4byte gUnk_08113158
|
|
|
|
thumb_func_start sub_0806BCFC
|
|
sub_0806BCFC: @ 0x0806BCFC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806BD4C
|
|
ldrb r0, [r4, #0xa]
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
ldr r0, _0806BD48 @ =gUnk_08113140
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806BD52
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
movs r1, #0x41
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0806BC58
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
bl sub_080042AC
|
|
b _0806BD52
|
|
.align 2, 0
|
|
_0806BD48: .4byte gUnk_08113140
|
|
_0806BD4C:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_0806BD52:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806BD54
|
|
sub_0806BD54: @ 0x0806BD54
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806BD6A
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806BD72
|
|
_0806BD6A:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_0806BD72:
|
|
adds r4, #0x5a
|
|
ldrb r1, [r4]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806BD94
|
|
movs r0, #0xef
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
bl sub_08004488
|
|
movs r0, #0x10
|
|
movs r1, #0
|
|
bl sub_08080964
|
|
_0806BD94:
|
|
ldrb r1, [r4]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806BDAA
|
|
movs r0, #0xdf
|
|
ands r0, r1
|
|
strb r0, [r4]
|
|
movs r0, #0x7c
|
|
bl sub_08004488
|
|
_0806BDAA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806BDAC
|
|
sub_0806BDAC: @ 0x0806BDAC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _0806BDE6
|
|
cmp r0, #1
|
|
bgt _0806BDC0
|
|
cmp r0, #0
|
|
beq _0806BDC6
|
|
b _0806BE3A
|
|
_0806BDC0:
|
|
cmp r0, #2
|
|
beq _0806BE26
|
|
b _0806BE3A
|
|
_0806BDC6:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806BE3A
|
|
_0806BDE6:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806BE1C
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _0806BE18 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806BE3A
|
|
.align 2, 0
|
|
_0806BE18: .4byte gLinkEntity
|
|
_0806BE1C:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0806BE3A
|
|
_0806BE26:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806BE3A
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806BE3A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806BE3C
|
|
sub_0806BE3C: @ 0x0806BE3C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806BE54
|
|
sub_0806BE54: @ 0x0806BE54
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806BE7A
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _0806BE80
|
|
_0806BE7A:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806BE80:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BE84
|
|
sub_0806BE84: @ 0x0806BE84
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
movs r0, #0
|
|
str r0, [r4, #0x14]
|
|
movs r5, #1
|
|
movs r0, #0x69
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806BEA6
|
|
movs r5, #0
|
|
movs r0, #0x69
|
|
bl sub_0807CCB4
|
|
movs r0, #1
|
|
str r0, [r4, #0x14]
|
|
_0806BEA6:
|
|
movs r0, #0x3c
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bls _0806BEB2
|
|
movs r5, #2
|
|
_0806BEB2:
|
|
ldr r0, _0806BEC4 @ =gUnk_08113344
|
|
lsls r1, r5, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806BEC4: .4byte gUnk_08113344
|
|
|
|
thumb_func_start sub_0806BEC8
|
|
sub_0806BEC8: @ 0x0806BEC8
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
movs r4, #0
|
|
str r4, [r5, #0x14]
|
|
movs r0, #0x3c
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0806BEE2
|
|
movs r4, #1
|
|
str r4, [r5, #0x14]
|
|
b _0806BEE8
|
|
_0806BEE2:
|
|
cmp r0, #1
|
|
bls _0806BEE8
|
|
movs r4, #2
|
|
_0806BEE8:
|
|
ldr r0, _0806BEF8 @ =gUnk_0811334A
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r6, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806BEF8: .4byte gUnk_0811334A
|
|
|
|
thumb_func_start sub_0806BEFC
|
|
sub_0806BEFC: @ 0x0806BEFC
|
|
push {lr}
|
|
movs r0, #0xbf
|
|
lsls r0, r0, #1
|
|
ldr r1, _0806BF2C @ =0x0000058E
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0806BF30 @ =0x0000017F
|
|
ldr r1, _0806BF34 @ =0x0000058F
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #1
|
|
ldr r1, _0806BF38 @ =0x000005CE
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0806BF3C @ =0x00000181
|
|
ldr r1, _0806BF40 @ =0x000005CF
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806BF2C: .4byte 0x0000058E
|
|
_0806BF30: .4byte 0x0000017F
|
|
_0806BF34: .4byte 0x0000058F
|
|
_0806BF38: .4byte 0x000005CE
|
|
_0806BF3C: .4byte 0x00000181
|
|
_0806BF40: .4byte 0x000005CF
|
|
|
|
thumb_func_start sub_0806BF44
|
|
sub_0806BF44: @ 0x0806BF44
|
|
push {r4, r5, lr}
|
|
adds r2, r0, #0
|
|
adds r4, r1, #0
|
|
movs r0, #0
|
|
str r0, [r4, #0x14]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r2, r1]
|
|
ldr r3, _0806BF78 @ =gUnk_03000BF0
|
|
movs r5, #0xa
|
|
ldrsh r1, [r3, r5]
|
|
subs r0, r0, r1
|
|
adds r0, #0x10
|
|
ldr r1, _0806BF7C @ =0x0000010F
|
|
cmp r0, r1
|
|
bhi _0806BF76
|
|
movs r1, #0x32
|
|
ldrsh r0, [r2, r1]
|
|
movs r2, #0xc
|
|
ldrsh r1, [r3, r2]
|
|
subs r0, r0, r1
|
|
adds r0, #0x18
|
|
cmp r0, #0xcf
|
|
bhi _0806BF76
|
|
movs r0, #1
|
|
str r0, [r4, #0x14]
|
|
_0806BF76:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806BF78: .4byte gUnk_03000BF0
|
|
_0806BF7C: .4byte 0x0000010F
|
|
|
|
thumb_func_start sub_0806BF80
|
|
sub_0806BF80: @ 0x0806BF80
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
bne _0806BFBE
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806BFA2
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
_0806BFA2:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
bl sub_0806BFD8
|
|
b _0806BFD4
|
|
_0806BFBE:
|
|
ldrb r0, [r4, #0xc]
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bne _0806BFD4
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAD8
|
|
_0806BFD4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806BFD8
|
|
sub_0806BFD8: @ 0x0806BFD8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r5, #3
|
|
adds r1, r5, #0
|
|
ands r1, r0
|
|
cmp r1, #1
|
|
beq _0806BFF0
|
|
cmp r1, #2
|
|
beq _0806C002
|
|
b _0806C00A
|
|
_0806BFF0:
|
|
bl sub_08000E50
|
|
adds r1, r0, #0
|
|
ands r1, r5
|
|
adds r1, #0xc
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
b _0806C00A
|
|
_0806C002:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_08004260
|
|
_0806C00A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806C00C
|
|
sub_0806C00C: @ 0x0806C00C
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0806C022
|
|
movs r0, #1
|
|
_0806C022:
|
|
str r0, [r2, #0x14]
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C028
|
|
sub_0806C028: @ 0x0806C028
|
|
push {lr}
|
|
ldrb r2, [r0, #0x14]
|
|
lsrs r2, r2, #1
|
|
ldr r1, [r1, #4]
|
|
adds r1, r1, r2
|
|
bl sub_08004260
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806C038
|
|
sub_0806C038: @ 0x0806C038
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _0806C074 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r4, r0, #5
|
|
cmp r4, #0
|
|
beq _0806C048
|
|
movs r4, #0
|
|
_0806C048:
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806C086
|
|
movs r0, #0x3a
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806C078
|
|
movs r4, #6
|
|
movs r0, #0xaf
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806C086
|
|
movs r4, #5
|
|
movs r0, #0xaf
|
|
bl sub_0807CCB4
|
|
b _0806C086
|
|
.align 2, 0
|
|
_0806C074: .4byte gUnk_02002A40
|
|
_0806C078:
|
|
movs r4, #7
|
|
movs r0, #0x3a
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bls _0806C086
|
|
movs r4, #0
|
|
_0806C086:
|
|
ldr r0, _0806C098 @ =gUnk_081133A4
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806C098: .4byte gUnk_081133A4
|
|
|
|
thumb_func_start sub_0806C09C
|
|
sub_0806C09C: @ 0x0806C09C
|
|
push {lr}
|
|
ldr r3, _0806C0AC @ =gUnk_081133B4
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_08078850
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C0AC: .4byte gUnk_081133B4
|
|
|
|
thumb_func_start sub_0806C0B0
|
|
sub_0806C0B0: @ 0x0806C0B0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _0806C104
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x19]
|
|
movs r0, #0xd
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
ldr r1, _0806C100 @ =gUnk_03000F50
|
|
adds r2, r1, #0
|
|
adds r2, #0x66
|
|
movs r0, #0xfd
|
|
lsls r0, r0, #6
|
|
strh r0, [r2]
|
|
adds r1, #0x68
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
strh r0, [r1]
|
|
strh r0, [r4, #0x24]
|
|
str r5, [r4, #0x20]
|
|
b _0806C134
|
|
.align 2, 0
|
|
_0806C100: .4byte gUnk_03000F50
|
|
_0806C104:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
movs r1, #0x24
|
|
ldrsh r0, [r4, r1]
|
|
lsls r3, r0, #8
|
|
ldr r0, [r4, #0x20]
|
|
adds r3, r3, r0
|
|
asrs r3, r3, #0x10
|
|
cmp r3, #0x10
|
|
ble _0806C11E
|
|
movs r3, #0x10
|
|
_0806C11E:
|
|
cmp r3, #3
|
|
bgt _0806C124
|
|
movs r3, #4
|
|
_0806C124:
|
|
ldr r2, _0806C138 @ =gUnk_03000F50
|
|
lsls r1, r3, #8
|
|
movs r0, #0x10
|
|
subs r0, r0, r3
|
|
orrs r1, r0
|
|
adds r2, #0x68
|
|
strh r1, [r2]
|
|
strh r1, [r4, #0x24]
|
|
_0806C134:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806C138: .4byte gUnk_03000F50
|
|
|
|
thumb_func_start sub_0806C13C
|
|
sub_0806C13C: @ 0x0806C13C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _0806C182
|
|
cmp r0, #1
|
|
bgt _0806C150
|
|
cmp r0, #0
|
|
beq _0806C156
|
|
b _0806C1D2
|
|
_0806C150:
|
|
cmp r0, #2
|
|
beq _0806C1BE
|
|
b _0806C1D2
|
|
_0806C156:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806C1D2
|
|
_0806C182:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806C1B4
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _0806C1B0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806C1D2
|
|
.align 2, 0
|
|
_0806C1B0: .4byte gLinkEntity
|
|
_0806C1B4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0806C1D2
|
|
_0806C1BE:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806C1D2
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0x88
|
|
bl sub_0807CCB4
|
|
_0806C1D2:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C1D4
|
|
sub_0806C1D4: @ 0x0806C1D4
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806C1FA
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
b _0806C200
|
|
_0806C1FA:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806C200:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C204
|
|
sub_0806C204: @ 0x0806C204
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xc]
|
|
cmp r0, #0
|
|
bne _0806C21A
|
|
adds r0, #1
|
|
strb r0, [r1, #0xc]
|
|
adds r0, r1, #0
|
|
bl sub_0807DD50
|
|
b _0806C222
|
|
_0806C21A:
|
|
adds r0, r1, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_0806C222:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806C224
|
|
sub_0806C224: @ 0x0806C224
|
|
push {lr}
|
|
ldr r0, _0806C234 @ =gUnk_0813AD60
|
|
bl sub_08080840
|
|
ldr r1, _0806C238 @ =gUnk_030010A0
|
|
movs r0, #6
|
|
strb r0, [r1, #9]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C234: .4byte gUnk_0813AD60
|
|
_0806C238: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0806C23C
|
|
sub_0806C23C: @ 0x0806C23C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0xf
|
|
movs r2, #0x43
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
ldr r2, _0806C27C @ =gUnk_03000BF0
|
|
ldrh r0, [r2, #6]
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
movs r3, #0x3f
|
|
ands r1, r3
|
|
movs r5, #0x32
|
|
ldrsh r0, [r4, r5]
|
|
ldrh r2, [r2, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r3
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r4, #0x38
|
|
ldrb r2, [r4]
|
|
movs r0, #0x73
|
|
bl sub_0807B314
|
|
movs r0, #0x73
|
|
bl sub_080A3268
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806C27C: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0806C280
|
|
sub_0806C280: @ 0x0806C280
|
|
push {lr}
|
|
movs r0, #0x50
|
|
bl sub_0807CD04
|
|
ldr r0, _0806C298 @ =gUnk_0813AD74
|
|
bl sub_08080840
|
|
ldr r1, _0806C29C @ =gUnk_030010A0
|
|
movs r0, #6
|
|
strb r0, [r1, #9]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C298: .4byte gUnk_0813AD74
|
|
_0806C29C: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0806C2A0
|
|
sub_0806C2A0: @ 0x0806C2A0
|
|
push {lr}
|
|
ldr r0, [r1, #4]
|
|
cmp r0, #0
|
|
beq _0806C2AE
|
|
cmp r0, #1
|
|
beq _0806C2B8
|
|
b _0806C2C0
|
|
_0806C2AE:
|
|
movs r0, #0xd
|
|
movs r1, #4
|
|
bl sub_08050054
|
|
b _0806C2C0
|
|
_0806C2B8:
|
|
movs r0, #0xc
|
|
movs r1, #4
|
|
bl sub_08050054
|
|
_0806C2C0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C2C4
|
|
sub_0806C2C4: @ 0x0806C2C4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _0806C2FA
|
|
cmp r0, #1
|
|
bgt _0806C2D8
|
|
cmp r0, #0
|
|
beq _0806C2DE
|
|
b _0806C350
|
|
_0806C2D8:
|
|
cmp r0, #2
|
|
beq _0806C342
|
|
b _0806C350
|
|
_0806C2DE:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0xe]
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806C350
|
|
_0806C2FA:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806C338
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
ldr r1, _0806C334 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r4, #0
|
|
adds r1, #0x58
|
|
ldrb r1, [r1]
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
ands r1, r2
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806C350
|
|
.align 2, 0
|
|
_0806C334: .4byte gLinkEntity
|
|
_0806C338:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0806C350
|
|
_0806C342:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806C350
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806C350:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C354
|
|
sub_0806C354: @ 0x0806C354
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C36C
|
|
sub_0806C36C: @ 0x0806C36C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806C392
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _0806C398
|
|
_0806C392:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806C398:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C39C
|
|
sub_0806C39C: @ 0x0806C39C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #1
|
|
beq _0806C3E2
|
|
cmp r5, #1
|
|
bgt _0806C3B0
|
|
cmp r5, #0
|
|
beq _0806C3B6
|
|
b _0806C450
|
|
_0806C3B0:
|
|
cmp r5, #2
|
|
beq _0806C436
|
|
b _0806C450
|
|
_0806C3B6:
|
|
adds r0, r4, #0
|
|
bl sub_0806C454
|
|
cmp r0, #0
|
|
beq _0806C450
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0xe]
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r5, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806C450
|
|
_0806C3E2:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806C420
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _0806C41C @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806C450
|
|
.align 2, 0
|
|
_0806C41C: .4byte gLinkEntity
|
|
_0806C420:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
b _0806C450
|
|
_0806C436:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806C450
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_0806C450:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C454
|
|
sub_0806C454: @ 0x0806C454
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806C470 @ =gUnk_08113754
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806C474
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
movs r0, #1
|
|
b _0806C476
|
|
.align 2, 0
|
|
_0806C470: .4byte gUnk_08113754
|
|
_0806C474:
|
|
movs r0, #0
|
|
_0806C476:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C478
|
|
sub_0806C478: @ 0x0806C478
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0x7f
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C4A8
|
|
sub_0806C4A8: @ 0x0806C4A8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0806C4D8
|
|
adds r0, r4, #0
|
|
bl sub_0806EDC4
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bge _0806C4CC
|
|
movs r1, #3
|
|
_0806C4CC:
|
|
lsls r0, r1, #1
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
movs r0, #1
|
|
_0806C4D8:
|
|
str r0, [r5, #0x14]
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806C4DC
|
|
sub_0806C4DC: @ 0x0806C4DC
|
|
push {lr}
|
|
ldr r1, _0806C4F0 @ =gUnk_02002A40
|
|
ldrb r1, [r1, #8]
|
|
lsls r1, r1, #3
|
|
ldr r2, _0806C4F4 @ =gUnk_08113760
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C4F0: .4byte gUnk_02002A40
|
|
_0806C4F4: .4byte gUnk_08113760
|
|
|
|
thumb_func_start sub_0806C4F8
|
|
sub_0806C4F8: @ 0x0806C4F8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C510
|
|
sub_0806C510: @ 0x0806C510
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806C548
|
|
adds r0, r4, #0
|
|
bl sub_0806C454
|
|
cmp r0, #0
|
|
beq _0806C54E
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #4
|
|
strh r0, [r4, #0x32]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
b _0806C54E
|
|
_0806C548:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806C54E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C550
|
|
sub_0806C550: @ 0x0806C550
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806C56E
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806C576
|
|
_0806C56E:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_0806C576:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C578
|
|
sub_0806C578: @ 0x0806C578
|
|
push {lr}
|
|
ldr r0, _0806C584 @ =gUnk_0813AD10
|
|
bl sub_08080840
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C584: .4byte gUnk_0813AD10
|
|
|
|
thumb_func_start sub_0806C588
|
|
sub_0806C588: @ 0x0806C588
|
|
push {lr}
|
|
ldr r0, _0806C594 @ =gUnk_0813AD24
|
|
bl sub_08080840
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C594: .4byte gUnk_0813AD24
|
|
|
|
thumb_func_start sub_0806C598
|
|
sub_0806C598: @ 0x0806C598
|
|
push {lr}
|
|
ldr r0, _0806C5A4 @ =gUnk_0813AD38
|
|
bl sub_08080840
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C5A4: .4byte gUnk_0813AD38
|
|
|
|
thumb_func_start sub_0806C5A8
|
|
sub_0806C5A8: @ 0x0806C5A8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r4, [r5, #0xc]
|
|
cmp r4, #1
|
|
beq _0806C604
|
|
cmp r4, #1
|
|
bgt _0806C5BC
|
|
cmp r4, #0
|
|
beq _0806C5C2
|
|
b _0806C670
|
|
_0806C5BC:
|
|
cmp r4, #2
|
|
beq _0806C656
|
|
b _0806C670
|
|
_0806C5C2:
|
|
ldrb r1, [r5, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806C600 @ =gUnk_08113910
|
|
adds r1, r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806C670
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5, #0x18]
|
|
ldrb r0, [r5, #0xe]
|
|
strb r0, [r5, #0x14]
|
|
adds r0, r5, #0
|
|
adds r0, #0x69
|
|
strb r4, [r0]
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r5, #0
|
|
bl sub_0807DD50
|
|
b _0806C670
|
|
.align 2, 0
|
|
_0806C600: .4byte gUnk_08113910
|
|
_0806C604:
|
|
adds r2, r5, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806C64C
|
|
movs r0, #0
|
|
strb r1, [r5, #0xc]
|
|
strb r0, [r2]
|
|
adds r4, r5, #0
|
|
adds r4, #0x58
|
|
ldrb r0, [r4]
|
|
adds r1, r5, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _0806C648 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
ldrb r1, [r4]
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
ands r1, r2
|
|
adds r1, r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
adds r0, r5, #0
|
|
bl sub_0806F118
|
|
b _0806C670
|
|
.align 2, 0
|
|
_0806C648: .4byte gLinkEntity
|
|
_0806C64C:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0806C670
|
|
_0806C656:
|
|
adds r0, r5, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806C670
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
adds r0, r5, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
_0806C670:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C674
|
|
sub_0806C674: @ 0x0806C674
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C68C
|
|
sub_0806C68C: @ 0x0806C68C
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
ldrb r6, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r5, #0x3f
|
|
ands r5, r0
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
bne _0806C6D2
|
|
adds r2, #3
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
adds r2, r6, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
b _0806C70A
|
|
_0806C6D2:
|
|
adds r2, #6
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r2, r5, #3
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
adds r2, r6, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #1
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_0806FFD8
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
_0806C70A:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_0806C70C
|
|
sub_0806C70C: @ 0x0806C70C
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _0806C730 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _0806C71C
|
|
movs r0, #0
|
|
_0806C71C:
|
|
ldrb r1, [r3, #0xa]
|
|
lsls r1, r1, #6
|
|
lsls r0, r0, #3
|
|
ldr r2, _0806C734 @ =gUnk_08113930
|
|
adds r0, r0, r2
|
|
adds r1, r1, r0
|
|
adds r0, r3, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C730: .4byte gUnk_02002A40
|
|
_0806C734: .4byte gUnk_08113930
|
|
|
|
thumb_func_start sub_0806C738
|
|
sub_0806C738: @ 0x0806C738
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806C778
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806C774 @ =gUnk_08113910
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806C77E
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08004260
|
|
b _0806C77E
|
|
.align 2, 0
|
|
_0806C774: .4byte gUnk_08113910
|
|
_0806C778:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806C77E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C780
|
|
sub_0806C780: @ 0x0806C780
|
|
push {lr}
|
|
ldr r2, _0806C794 @ =gUnk_08113A7C
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C794: .4byte gUnk_08113A7C
|
|
|
|
thumb_func_start sub_0806C798
|
|
sub_0806C798: @ 0x0806C798
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806C7D0 @ =gUnk_08113A1C
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806C7CE
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
ldrb r0, [r4, #0xe]
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
adds r0, r4, #0
|
|
bl sub_0806C7D4
|
|
_0806C7CE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806C7D0: .4byte gUnk_08113A1C
|
|
|
|
thumb_func_start sub_0806C7D4
|
|
sub_0806C7D4: @ 0x0806C7D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #2
|
|
bne _0806C7F4
|
|
movs r1, #0
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806C82C
|
|
_0806C7F4:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
ldrb r0, [r4, #0xb]
|
|
cmp r0, #3
|
|
bne _0806C82C
|
|
movs r0, #0x58
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _0806C82C
|
|
movs r0, #0x63
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806C82C
|
|
movs r0, #0
|
|
bl sub_0807CC3C
|
|
cmp r0, #0
|
|
beq _0806C82C
|
|
movs r0, #7
|
|
strb r0, [r4, #0xb]
|
|
ldr r1, _0806C830 @ =gUnk_08014A80
|
|
adds r0, r4, #0
|
|
bl sub_0807DD80
|
|
_0806C82C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806C830: .4byte gUnk_08014A80
|
|
|
|
thumb_func_start sub_0806C834
|
|
sub_0806C834: @ 0x0806C834
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _0806C858 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806C856
|
|
ldrb r0, [r2, #0xc]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, #4
|
|
adds r0, r2, #0
|
|
bl sub_08004260
|
|
_0806C856:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C858: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_0806C85C
|
|
sub_0806C85C: @ 0x0806C85C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806C86C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806C86C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806C870
|
|
sub_0806C870: @ 0x0806C870
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806C888
|
|
sub_0806C888: @ 0x0806C888
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r7, #0x3f
|
|
ands r7, r1
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #4
|
|
bne _0806C8D4
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #9
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
adds r2, r7, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_0806FFD8
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #1
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
b _0806C90A
|
|
_0806C8D4:
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806C8E2
|
|
movs r6, #1
|
|
movs r5, #0
|
|
b _0806C8E6
|
|
_0806C8E2:
|
|
movs r6, #0
|
|
movs r5, #1
|
|
_0806C8E6:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
adds r2, r7, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
_0806C90A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0806C90C
|
|
sub_0806C90C: @ 0x0806C90C
|
|
push {lr}
|
|
movs r2, #0
|
|
str r2, [r1, #0x14]
|
|
ldr r3, _0806C924 @ =gUnk_08113A8C
|
|
ldrb r2, [r0, #0xb]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C924: .4byte gUnk_08113A8C
|
|
|
|
thumb_func_start sub_0806C928
|
|
sub_0806C928: @ 0x0806C928
|
|
push {lr}
|
|
ldr r1, _0806C93C @ =gUnk_02002A40
|
|
ldrb r1, [r1, #8]
|
|
lsls r1, r1, #3
|
|
ldr r2, _0806C940 @ =gUnk_08113ABC
|
|
adds r1, r1, r2
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806C93C: .4byte gUnk_02002A40
|
|
_0806C940: .4byte gUnk_08113ABC
|
|
|
|
thumb_func_start sub_0806C944
|
|
sub_0806C944: @ 0x0806C944
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x58
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
bne _0806C956
|
|
movs r1, #0
|
|
b _0806C964
|
|
_0806C956:
|
|
movs r0, #0x63
|
|
bl sub_0807CBD0
|
|
movs r1, #2
|
|
cmp r0, #0
|
|
beq _0806C964
|
|
movs r1, #1
|
|
_0806C964:
|
|
ldr r0, _0806C974 @ =gUnk_08113B0C
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806C974: .4byte gUnk_08113B0C
|
|
|
|
thumb_func_start sub_0806C978
|
|
sub_0806C978: @ 0x0806C978
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x58
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
ldr r0, _0806C998 @ =gUnk_08113B12
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806C998: .4byte gUnk_08113B12
|
|
|
|
thumb_func_start sub_0806C99C
|
|
sub_0806C99C: @ 0x0806C99C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r0, #0x58
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
asrs r4, r1, #0x1f
|
|
movs r0, #2
|
|
ands r4, r0
|
|
movs r0, #0x63
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806C9BC
|
|
adds r4, #1
|
|
_0806C9BC:
|
|
ldr r0, _0806C9CC @ =gUnk_08113B16
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806C9CC: .4byte gUnk_08113B16
|
|
|
|
thumb_func_start sub_0806C9D0
|
|
sub_0806C9D0: @ 0x0806C9D0
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
movs r0, #0x64
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806C9E2
|
|
movs r4, #1
|
|
_0806C9E2:
|
|
ldr r0, _0806C9F4 @ =gUnk_08113B1E
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r5, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806C9F4: .4byte gUnk_08113B1E
|
|
|
|
thumb_func_start sub_0806C9F8
|
|
sub_0806C9F8: @ 0x0806C9F8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x58
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r1, r1, #0x1f
|
|
ldr r0, _0806CA18 @ =gUnk_08113B22
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806CA18: .4byte gUnk_08113B22
|
|
|
|
thumb_func_start sub_0806CA1C
|
|
sub_0806CA1C: @ 0x0806CA1C
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _0806CA28 @ =0x0000251B
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CA28: .4byte 0x0000251B
|
|
|
|
thumb_func_start sub_0806CA2C
|
|
sub_0806CA2C: @ 0x0806CA2C
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _0806CA38 @ =0x00002527
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CA38: .4byte 0x00002527
|
|
|
|
thumb_func_start sub_0806CA3C
|
|
sub_0806CA3C: @ 0x0806CA3C
|
|
push {lr}
|
|
ldr r1, _0806CA48 @ =gUnk_08113B28
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CA48: .4byte gUnk_08113B28
|
|
|
|
thumb_func_start sub_0806CA4C
|
|
sub_0806CA4C: @ 0x0806CA4C
|
|
push {lr}
|
|
ldr r1, _0806CA58 @ =gUnk_08113B30
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CA58: .4byte gUnk_08113B30
|
|
|
|
thumb_func_start sub_0806CA5C
|
|
sub_0806CA5C: @ 0x0806CA5C
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
ldr r3, _0806CA8C @ =gUnk_08113B38
|
|
ldrb r1, [r4, #0x18]
|
|
adds r2, r1, #1
|
|
strb r2, [r4, #0x18]
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
adds r1, r1, r3
|
|
ldrb r1, [r1]
|
|
strh r1, [r4, #0x10]
|
|
ldrb r0, [r0, #0xb]
|
|
cmp r0, #0xa
|
|
bne _0806CA7E
|
|
movs r0, #0xe8
|
|
bl sub_08004488
|
|
_0806CA7E:
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r0, #0
|
|
beq _0806CA8A
|
|
ldr r1, _0806CA90 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_0806CA8A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806CA8C: .4byte gUnk_08113B38
|
|
_0806CA90: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806CA94
|
|
sub_0806CA94: @ 0x0806CA94
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806CAD4
|
|
ldrb r1, [r4, #0xa]
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806CAD0 @ =gUnk_08113A1C
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806CADA
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_08004260
|
|
b _0806CADA
|
|
.align 2, 0
|
|
_0806CAD0: .4byte gUnk_08113A1C
|
|
_0806CAD4:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806CADA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806CADC
|
|
sub_0806CADC: @ 0x0806CADC
|
|
push {lr}
|
|
ldr r2, _0806CAF0 @ =gUnk_08113D8C
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CAF0: .4byte gUnk_08113D8C
|
|
|
|
thumb_func_start sub_0806CAF4
|
|
sub_0806CAF4: @ 0x0806CAF4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _0806CB66
|
|
adds r0, #1
|
|
strb r0, [r5, #0xc]
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
movs r0, #0x4a
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806CB2C
|
|
str r5, [r4, #0x50]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAD8
|
|
_0806CB2C:
|
|
movs r0, #0x4a
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806CB4E
|
|
str r5, [r4, #0x50]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
_0806CB4E:
|
|
adds r0, r5, #0
|
|
bl sub_0807DD64
|
|
adds r0, r5, #0
|
|
bl sub_08078778
|
|
ldr r3, _0806CB7C @ =gUnk_08113D84
|
|
ldrb r2, [r3, #4]
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl sub_08078850
|
|
_0806CB66:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r5, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806CB7C: .4byte gUnk_08113D84
|
|
|
|
thumb_func_start sub_0806CB80
|
|
sub_0806CB80: @ 0x0806CB80
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bne _0806CB9E
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #2
|
|
strb r0, [r4, #0x14]
|
|
strb r1, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
_0806CB9E:
|
|
ldr r0, [r4, #0x50]
|
|
cmp r0, #0
|
|
beq _0806CBB0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #3
|
|
ands r0, r1
|
|
adds r0, #0x21
|
|
strb r0, [r4, #0x1e]
|
|
_0806CBB0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806CBB4
|
|
sub_0806CBB4: @ 0x0806CBB4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806CBD6
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #2
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #0x11
|
|
bl sub_08004260
|
|
_0806CBD6:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
ldr r1, [r4, #0x50]
|
|
cmp r1, #0
|
|
beq _0806CC06
|
|
ldrb r0, [r4, #0x18]
|
|
movs r3, #4
|
|
rsbs r3, r3, #0
|
|
adds r2, r3, #0
|
|
ands r2, r0
|
|
strb r2, [r4, #0x18]
|
|
adds r0, r1, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806CC06
|
|
adds r0, r2, #0
|
|
ands r0, r3
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
_0806CC06:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806CC08
|
|
sub_0806CC08: @ 0x0806CC08
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #1
|
|
beq _0806CC40
|
|
cmp r0, #1
|
|
bgt _0806CC1C
|
|
cmp r0, #0
|
|
beq _0806CC22
|
|
b _0806CCB0
|
|
_0806CC1C:
|
|
cmp r0, #2
|
|
beq _0806CC96
|
|
b _0806CCB0
|
|
_0806CC22:
|
|
movs r2, #1
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
_0806CC40:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806CC80
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _0806CC7C @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #8
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806CCB0
|
|
.align 2, 0
|
|
_0806CC7C: .4byte gLinkEntity
|
|
_0806CC80:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
b _0806CCB0
|
|
_0806CC96:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806CCB0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_0806CCB0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806CCB4
|
|
sub_0806CCB4: @ 0x0806CCB4
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0806CCCA
|
|
movs r0, #1
|
|
_0806CCCA:
|
|
str r0, [r2, #0x14]
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806CCD0
|
|
sub_0806CCD0: @ 0x0806CCD0
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
adds r4, r1, #0
|
|
adds r0, #0x5b
|
|
ldrb r0, [r0]
|
|
movs r2, #0x3f
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _0806CCF4
|
|
ldrb r1, [r3, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, r2, r1
|
|
adds r0, r3, #0
|
|
bl sub_08004260
|
|
movs r0, #1
|
|
str r0, [r4, #0x14]
|
|
b _0806CCF6
|
|
_0806CCF4:
|
|
str r2, [r4, #0x14]
|
|
_0806CCF6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806CCF8
|
|
sub_0806CCF8: @ 0x0806CCF8
|
|
push {lr}
|
|
movs r1, #0x85
|
|
lsls r1, r1, #1
|
|
bl sub_0801D2B4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806CD04
|
|
sub_0806CD04: @ 0x0806CD04
|
|
push {lr}
|
|
ldr r1, _0806CD10 @ =0x0000010B
|
|
bl sub_0801D2B4
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CD10: .4byte 0x0000010B
|
|
|
|
thumb_func_start sub_0806CD14
|
|
sub_0806CD14: @ 0x0806CD14
|
|
push {lr}
|
|
movs r1, #0x86
|
|
lsls r1, r1, #1
|
|
bl sub_0801D2B4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806CD20
|
|
sub_0806CD20: @ 0x0806CD20
|
|
push {lr}
|
|
ldr r1, _0806CD2C @ =0x0000010D
|
|
bl sub_0801D2B4
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CD2C: .4byte 0x0000010D
|
|
|
|
thumb_func_start sub_0806CD30
|
|
sub_0806CD30: @ 0x0806CD30
|
|
push {lr}
|
|
movs r1, #0x87
|
|
lsls r1, r1, #1
|
|
bl sub_0801D2B4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806CD3C
|
|
sub_0806CD3C: @ 0x0806CD3C
|
|
push {lr}
|
|
ldr r1, _0806CD48 @ =0x0000010F
|
|
bl sub_0801D2B4
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CD48: .4byte 0x0000010F
|
|
|
|
thumb_func_start sub_0806CD4C
|
|
sub_0806CD4C: @ 0x0806CD4C
|
|
push {lr}
|
|
movs r1, #0x88
|
|
lsls r1, r1, #1
|
|
bl sub_0801D2B4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806CD58
|
|
sub_0806CD58: @ 0x0806CD58
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806CD70
|
|
sub_0806CD70: @ 0x0806CD70
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806CD9E
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
bl sub_080042AC
|
|
b _0806CDA4
|
|
_0806CD9E:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_0806CDA4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806CDA8
|
|
sub_0806CDA8: @ 0x0806CDA8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0xc]
|
|
cmp r1, #1
|
|
beq _0806CDE8
|
|
cmp r1, #1
|
|
bgt _0806CDBC
|
|
cmp r1, #0
|
|
beq _0806CDC2
|
|
b _0806CE58
|
|
_0806CDBC:
|
|
cmp r1, #2
|
|
beq _0806CE3E
|
|
b _0806CE58
|
|
_0806CDC2:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806CE58
|
|
_0806CDE8:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806CE28
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _0806CE24 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806CE58
|
|
.align 2, 0
|
|
_0806CE24: .4byte gLinkEntity
|
|
_0806CE28:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _0806CE58
|
|
_0806CE3E:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806CE58
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_0806CE58:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806CE5C
|
|
sub_0806CE5C: @ 0x0806CE5C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
ldr r3, _0806CE7C @ =gUnk_08113F44
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_08078850
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806CE7C: .4byte gUnk_08113F44
|
|
|
|
thumb_func_start sub_0806CE80
|
|
sub_0806CE80: @ 0x0806CE80
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _0806CEB4 @ =gUnk_02002A40
|
|
ldrb r4, [r0, #8]
|
|
cmp r4, #5
|
|
bne _0806CED6
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
bne _0806CEC0
|
|
movs r0, #0x70
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806CEBC
|
|
movs r0, #0x71
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806CEB8
|
|
movs r4, #0xb
|
|
movs r0, #0x71
|
|
bl sub_0807CCB4
|
|
b _0806CED6
|
|
.align 2, 0
|
|
_0806CEB4: .4byte gUnk_02002A40
|
|
_0806CEB8:
|
|
movs r4, #0xc
|
|
b _0806CED6
|
|
_0806CEBC:
|
|
movs r4, #0xa
|
|
b _0806CED6
|
|
_0806CEC0:
|
|
movs r0, #0x89
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
bne _0806CED4
|
|
movs r4, #0xd
|
|
movs r0, #0x89
|
|
bl sub_0807CCB4
|
|
b _0806CED6
|
|
_0806CED4:
|
|
movs r4, #0xe
|
|
_0806CED6:
|
|
lsls r1, r4, #3
|
|
ldr r0, _0806CEE4 @ =gUnk_08113F48
|
|
adds r1, r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_0806F1AC
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806CEE4: .4byte gUnk_08113F48
|
|
|
|
thumb_func_start sub_0806CEE8
|
|
sub_0806CEE8: @ 0x0806CEE8
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806CF0E
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #8
|
|
bl sub_080042AC
|
|
b _0806CF14
|
|
_0806CF0E:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806CF14:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806CF18
|
|
sub_0806CF18: @ 0x0806CF18
|
|
push {lr}
|
|
ldr r2, _0806CF2C @ =gUnk_081140D4
|
|
ldrb r1, [r0, #0xa]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806CF2C: .4byte gUnk_081140D4
|
|
|
|
thumb_func_start sub_0806CF30
|
|
sub_0806CF30: @ 0x0806CF30
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _0806CF5E
|
|
movs r0, #1
|
|
strb r0, [r5, #0xc]
|
|
strb r0, [r5, #0xd]
|
|
ldrh r1, [r5, #0x2e]
|
|
adds r0, r5, #0
|
|
adds r0, #0x68
|
|
strh r1, [r0]
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r5, #0
|
|
bl sub_0806D0B0
|
|
adds r0, r5, #0
|
|
bl sub_0807DD64
|
|
b _0806CF6C
|
|
_0806CF5E:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r5, #0
|
|
bl sub_0807DDE4
|
|
_0806CF6C:
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #2
|
|
beq _0806CFD4
|
|
cmp r0, #2
|
|
bgt _0806D000
|
|
cmp r0, #0
|
|
blt _0806D000
|
|
ldr r0, _0806CFCC @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806D000
|
|
ldr r0, _0806CFD0 @ =gLinkEntity
|
|
movs r1, #0x2e
|
|
ldrsh r2, [r0, r1]
|
|
ldrh r3, [r5, #0x2e]
|
|
movs r4, #0x2e
|
|
ldrsh r1, [r5, r4]
|
|
adds r4, r0, #0
|
|
cmp r2, r1
|
|
bge _0806CFA8
|
|
adds r0, r5, #0
|
|
adds r0, #0x68
|
|
ldrh r0, [r0]
|
|
subs r0, #0x20
|
|
cmp r0, r1
|
|
bge _0806CFA8
|
|
subs r0, r3, #1
|
|
strh r0, [r5, #0x2e]
|
|
_0806CFA8:
|
|
movs r3, #0x2e
|
|
ldrsh r1, [r4, r3]
|
|
ldrh r2, [r5, #0x2e]
|
|
movs r4, #0x2e
|
|
ldrsh r0, [r5, r4]
|
|
cmp r1, r0
|
|
ble _0806D000
|
|
adds r0, r5, #0
|
|
adds r0, #0x68
|
|
ldrh r0, [r0]
|
|
adds r0, #0x20
|
|
movs r3, #0x2e
|
|
ldrsh r1, [r5, r3]
|
|
cmp r0, r1
|
|
ble _0806D000
|
|
adds r0, r2, #1
|
|
strh r0, [r5, #0x2e]
|
|
b _0806D000
|
|
.align 2, 0
|
|
_0806CFCC: .4byte gUnk_030010A0
|
|
_0806CFD0: .4byte gLinkEntity
|
|
_0806CFD4:
|
|
ldrb r0, [r5, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r5, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806D000
|
|
bl sub_08000E50
|
|
adds r4, r0, #0
|
|
ldr r1, _0806D008 @ =gUnk_081140CC
|
|
movs r0, #3
|
|
ands r0, r4
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
bl sub_080A3268
|
|
movs r0, #7
|
|
ands r4, r0
|
|
lsls r4, r4, #4
|
|
adds r4, #0x80
|
|
strb r4, [r5, #0xe]
|
|
_0806D000:
|
|
adds r0, r5, #0
|
|
bl sub_0806D02C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806D008: .4byte gUnk_081140CC
|
|
|
|
thumb_func_start sub_0806D00C
|
|
sub_0806D00C: @ 0x0806D00C
|
|
push {r4, lr}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
movs r0, #0
|
|
str r0, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #0
|
|
bl sub_0805EB2C
|
|
cmp r0, #0
|
|
beq _0806D028
|
|
str r0, [r4, #0x50]
|
|
_0806D028:
|
|
add sp, #4
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806D02C
|
|
sub_0806D02C: @ 0x0806D02C
|
|
push {lr}
|
|
bl sub_0806D164
|
|
ldr r2, _0806D0A8 @ =gUnk_03000F50
|
|
ldrh r1, [r2]
|
|
movs r3, #0x80
|
|
lsls r3, r3, #7
|
|
adds r0, r3, #0
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
adds r1, r2, #0
|
|
adds r1, #0x60
|
|
ldr r0, _0806D0AC @ =0x00003F3F
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
movs r0, #0x3d
|
|
strh r0, [r1]
|
|
movs r1, #0x16
|
|
ldrsh r0, [r2, r1]
|
|
rsbs r0, r0, #0
|
|
movs r3, #0x80
|
|
lsls r3, r3, #1
|
|
adds r1, r0, r3
|
|
cmp r0, #0
|
|
bge _0806D060
|
|
movs r0, #0
|
|
_0806D060:
|
|
cmp r0, #0xf0
|
|
ble _0806D066
|
|
movs r0, #0xf0
|
|
_0806D066:
|
|
cmp r1, #0
|
|
bge _0806D06C
|
|
movs r1, #0
|
|
_0806D06C:
|
|
cmp r1, #0xf0
|
|
ble _0806D072
|
|
movs r1, #0xf0
|
|
_0806D072:
|
|
lsls r0, r0, #8
|
|
orrs r0, r1
|
|
adds r1, r2, #0
|
|
adds r1, #0x5a
|
|
strh r0, [r1]
|
|
movs r1, #0x18
|
|
ldrsh r0, [r2, r1]
|
|
rsbs r0, r0, #0
|
|
adds r1, r0, r3
|
|
cmp r0, #0
|
|
bge _0806D08A
|
|
movs r0, #0
|
|
_0806D08A:
|
|
cmp r0, #0xa0
|
|
ble _0806D090
|
|
movs r0, #0xa0
|
|
_0806D090:
|
|
cmp r1, #0
|
|
bge _0806D096
|
|
movs r1, #0
|
|
_0806D096:
|
|
cmp r1, #0xa0
|
|
ble _0806D09C
|
|
movs r1, #0xa0
|
|
_0806D09C:
|
|
lsls r0, r0, #8
|
|
orrs r0, r1
|
|
adds r1, r2, #0
|
|
adds r1, #0x5e
|
|
strh r0, [r1]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806D0A8: .4byte gUnk_03000F50
|
|
_0806D0AC: .4byte 0x00003F3F
|
|
|
|
thumb_func_start sub_0806D0B0
|
|
sub_0806D0B0: @ 0x0806D0B0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _0806D0E8 @ =gUnk_0200B650
|
|
movs r1, #0
|
|
str r1, [r0]
|
|
movs r0, #0x30
|
|
bl sub_0801D7EC
|
|
bl sub_0806D110
|
|
ldr r5, _0806D0EC @ =gUnk_02002F00
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r5, #0
|
|
bl sub_0801D630
|
|
cmp r4, #0
|
|
beq _0806D0DA
|
|
adds r0, r4, #0
|
|
bl sub_0806D164
|
|
_0806D0DA:
|
|
ldr r0, _0806D0F0 @ =gUnk_03000F50
|
|
ldr r1, _0806D0F4 @ =0x00001D47
|
|
strh r1, [r0, #0x14]
|
|
str r5, [r0, #0x1c]
|
|
movs r1, #1
|
|
strh r1, [r0, #0x1a]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806D0E8: .4byte gUnk_0200B650
|
|
_0806D0EC: .4byte gUnk_02002F00
|
|
_0806D0F0: .4byte gUnk_03000F50
|
|
_0806D0F4: .4byte 0x00001D47
|
|
|
|
thumb_func_start sub_0806D0F8
|
|
sub_0806D0F8: @ 0x0806D0F8
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
bl sub_0805EB00
|
|
cmp r0, #0
|
|
beq _0806D10C
|
|
bl sub_0806D0B0
|
|
_0806D10C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D110
|
|
sub_0806D110: @ 0x0806D110
|
|
push {r4, r5, lr}
|
|
ldr r4, _0806D134 @ =gUnk_02002F00
|
|
movs r0, #0x80
|
|
lsls r0, r0, #7
|
|
adds r5, r4, r0
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806D138
|
|
movs r0, #0x80
|
|
lsls r0, r0, #4
|
|
adds r4, r4, r0
|
|
adds r5, #0x40
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806D138
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806D134: .4byte gUnk_02002F00
|
|
|
|
thumb_func_start sub_0806D138
|
|
sub_0806D138: @ 0x0806D138
|
|
push {r4, r5, r6, lr}
|
|
adds r3, r0, #0
|
|
movs r4, #0
|
|
ldr r2, _0806D15C @ =0x040000D4
|
|
ldr r6, _0806D160 @ =0x80000020
|
|
movs r5, #0x80
|
|
lsls r5, r5, #1
|
|
_0806D146:
|
|
str r3, [r2]
|
|
str r1, [r2, #4]
|
|
str r6, [r2, #8]
|
|
ldr r0, [r2, #8]
|
|
adds r4, #1
|
|
adds r3, #0x40
|
|
adds r1, r1, r5
|
|
cmp r4, #0x1f
|
|
bls _0806D146
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806D15C: .4byte 0x040000D4
|
|
_0806D160: .4byte 0x80000020
|
|
|
|
thumb_func_start sub_0806D164
|
|
sub_0806D164: @ 0x0806D164
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r5, _0806D1B8 @ =gUnk_03000BF0
|
|
movs r1, #0xa
|
|
ldrsh r2, [r5, r1]
|
|
movs r3, #0x2e
|
|
ldrsh r1, [r0, r3]
|
|
subs r2, r2, r1
|
|
adds r2, #0xa0
|
|
ldr r4, _0806D1BC @ =gUnk_03000F50
|
|
movs r3, #0xf
|
|
adds r1, r2, #0
|
|
ands r1, r3
|
|
strh r1, [r4, #0x16]
|
|
ldrh r1, [r5, #0xc]
|
|
ldrh r0, [r0, #0x32]
|
|
subs r1, r1, r0
|
|
adds r1, #0xb0
|
|
strh r1, [r4, #0x18]
|
|
ldr r3, _0806D1C0 @ =gUnk_02006F00
|
|
ldr r0, _0806D1C4 @ =0xFFFFC000
|
|
adds r6, r3, r0
|
|
movs r5, #0x20
|
|
lsrs r2, r2, #4
|
|
lsls r2, r2, #2
|
|
adds r3, r2, r3
|
|
adds r7, r4, #0
|
|
ldr r1, _0806D1C8 @ =0x040000D4
|
|
ldr r4, _0806D1CC @ =0x80000020
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
_0806D1A0:
|
|
str r3, [r1]
|
|
str r6, [r1, #4]
|
|
str r4, [r1, #8]
|
|
ldr r0, [r1, #8]
|
|
adds r3, r3, r2
|
|
adds r6, #0x40
|
|
subs r5, #1
|
|
cmp r5, #0
|
|
bne _0806D1A0
|
|
movs r0, #1
|
|
strh r0, [r7, #0x1a]
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806D1B8: .4byte gUnk_03000BF0
|
|
_0806D1BC: .4byte gUnk_03000F50
|
|
_0806D1C0: .4byte gUnk_02006F00
|
|
_0806D1C4: .4byte 0xFFFFC000
|
|
_0806D1C8: .4byte 0x040000D4
|
|
_0806D1CC: .4byte 0x80000020
|
|
|
|
thumb_func_start sub_0806D1D0
|
|
sub_0806D1D0: @ 0x0806D1D0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #0
|
|
bne _0806D21A
|
|
bl sub_0806D00C
|
|
cmp r0, #0
|
|
bne _0806D1E6
|
|
bl sub_0805E780
|
|
_0806D1E6:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0x1b]
|
|
movs r1, #0xc0
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x1b]
|
|
ldrb r0, [r4, #0x19]
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #7
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
strb r5, [r4, #0x1e]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
_0806D21A:
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #1
|
|
beq _0806D25A
|
|
cmp r0, #1
|
|
ble _0806D228
|
|
cmp r0, #2
|
|
beq _0806D25E
|
|
_0806D228:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
movs r5, #0xff
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806D24A
|
|
bl sub_08000E50
|
|
movs r1, #0x7f
|
|
ands r0, r1
|
|
adds r0, #0x30
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #8
|
|
strb r0, [r4, #0xf]
|
|
movs r0, #1
|
|
strb r0, [r4, #0x1e]
|
|
_0806D24A:
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
beq _0806D268
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
bne _0806D268
|
|
_0806D25A:
|
|
strb r0, [r4, #0x1e]
|
|
b _0806D268
|
|
_0806D25E:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
_0806D268:
|
|
ldr r0, [r4, #0x50]
|
|
ldrh r1, [r0, #0x2e]
|
|
strh r1, [r4, #0x2e]
|
|
ldrh r0, [r0, #0x32]
|
|
strh r0, [r4, #0x32]
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806D274
|
|
sub_0806D274: @ 0x0806D274
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806D2CA
|
|
adds r0, r4, #0
|
|
bl sub_0806D00C
|
|
cmp r0, #0
|
|
bne _0806D28C
|
|
bl sub_0805E780
|
|
_0806D28C:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0x1b]
|
|
movs r1, #0xc0
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x1b]
|
|
ldrb r0, [r4, #0x19]
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #7
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #2
|
|
strb r0, [r4, #0x1e]
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
movs r0, #0x4c
|
|
movs r1, #3
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
cmp r0, #0
|
|
beq _0806D2CA
|
|
str r4, [r0, #0x54]
|
|
_0806D2CA:
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #4
|
|
bhi _0806D2F4
|
|
lsls r0, r0, #2
|
|
ldr r1, _0806D2DC @ =_0806D2E0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0806D2DC: .4byte _0806D2E0
|
|
_0806D2E0: @ jump table
|
|
.4byte _0806D2F4 @ case 0
|
|
.4byte _0806D2F4 @ case 1
|
|
.4byte _0806D31C @ case 2
|
|
.4byte _0806D334 @ case 3
|
|
.4byte _0806D338 @ case 4
|
|
_0806D2F4:
|
|
ldr r0, _0806D318 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806D338
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806D33C
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
ldrb r0, [r4, #0x1e]
|
|
movs r1, #1
|
|
eors r0, r1
|
|
b _0806D33A
|
|
.align 2, 0
|
|
_0806D318: .4byte gUnk_02000050
|
|
_0806D31C:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806D33C
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
ldrb r0, [r4, #0x1e]
|
|
movs r1, #1
|
|
eors r0, r1
|
|
b _0806D33A
|
|
_0806D334:
|
|
movs r0, #4
|
|
b _0806D33A
|
|
_0806D338:
|
|
movs r0, #2
|
|
_0806D33A:
|
|
strb r0, [r4, #0x1e]
|
|
_0806D33C:
|
|
ldr r0, [r4, #0x50]
|
|
ldrh r1, [r0, #0x2e]
|
|
strh r1, [r4, #0x2e]
|
|
ldrh r0, [r0, #0x32]
|
|
strh r0, [r4, #0x32]
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806D348
|
|
sub_0806D348: @ 0x0806D348
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806D39A
|
|
adds r0, r4, #0
|
|
bl sub_0806D00C
|
|
cmp r0, #0
|
|
bne _0806D360
|
|
bl sub_0805E780
|
|
_0806D360:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0x1b]
|
|
movs r1, #0xc0
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x1b]
|
|
ldrb r0, [r4, #0x19]
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #6
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #5
|
|
strb r0, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
_0806D39A:
|
|
ldr r0, [r4, #0x54]
|
|
ldrb r0, [r0, #0x1e]
|
|
cmp r0, #4
|
|
bne _0806D3AA
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
b _0806D3B2
|
|
_0806D3AA:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
_0806D3B2:
|
|
strb r0, [r4, #0x18]
|
|
ldr r0, [r4, #0x50]
|
|
ldrh r1, [r0, #0x2e]
|
|
strh r1, [r4, #0x2e]
|
|
ldrh r0, [r0, #0x32]
|
|
strh r0, [r4, #0x32]
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806D3C0
|
|
sub_0806D3C0: @ 0x0806D3C0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806D3F4
|
|
adds r0, r4, #0
|
|
bl sub_0806D00C
|
|
cmp r0, #0
|
|
bne _0806D3D8
|
|
bl sub_0805E780
|
|
_0806D3D8:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldr r0, _0806D3F0 @ =gUnk_080FD180
|
|
str r0, [r4, #0x48]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
b _0806D408
|
|
.align 2, 0
|
|
_0806D3F0: .4byte gUnk_080FD180
|
|
_0806D3F4:
|
|
ldr r0, [r4, #0x50]
|
|
ldrh r0, [r0, #0x2e]
|
|
strh r0, [r4, #0x2e]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
_0806D408:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D40C
|
|
sub_0806D40C: @ 0x0806D40C
|
|
push {lr}
|
|
ldrb r1, [r0, #0x18]
|
|
movs r2, #0x40
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x18]
|
|
bl sub_0806D41C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806D41C
|
|
sub_0806D41C: @ 0x0806D41C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806D45E
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #6
|
|
strb r0, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806D4C0
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806D4C0
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0806D4C0
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
bl sub_0806D4C0
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
b _0806D46C
|
|
_0806D45E:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
_0806D46C:
|
|
ldr r0, _0806D4A8 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806D4BE
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
subs r0, #0x20
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
movs r2, #0x40
|
|
movs r3, #0x40
|
|
bl sub_0806FBFC
|
|
cmp r0, #0
|
|
beq _0806D4AC
|
|
adds r2, r4, #0
|
|
adds r2, #0x63
|
|
ldrb r3, [r2]
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
ble _0806D4BE
|
|
subs r0, r3, #1
|
|
strb r0, [r2]
|
|
b _0806D4BE
|
|
.align 2, 0
|
|
_0806D4A8: .4byte gUnk_030010A0
|
|
_0806D4AC:
|
|
adds r1, r4, #0
|
|
adds r1, #0x63
|
|
ldrb r2, [r1]
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bge _0806D4BE
|
|
adds r0, r2, #1
|
|
strb r0, [r1]
|
|
_0806D4BE:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806D4C0
|
|
sub_0806D4C0: @ 0x0806D4C0
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r1, #6
|
|
movs r0, #0x4c
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806D4EE
|
|
str r5, [r4, #0x50]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
_0806D4EE:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806D4F0
|
|
sub_0806D4F0: @ 0x0806D4F0
|
|
push {lr}
|
|
movs r1, #0
|
|
bl sub_0806D520
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D4FC
|
|
sub_0806D4FC: @ 0x0806D4FC
|
|
push {lr}
|
|
movs r1, #1
|
|
bl sub_0806D520
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D508
|
|
sub_0806D508: @ 0x0806D508
|
|
push {lr}
|
|
movs r1, #2
|
|
bl sub_0806D520
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D514
|
|
sub_0806D514: @ 0x0806D514
|
|
push {lr}
|
|
movs r1, #3
|
|
bl sub_0806D520
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D520
|
|
sub_0806D520: @ 0x0806D520
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r3, r1, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806D540
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldr r0, _0806D5B0 @ =gUnk_08114100
|
|
adds r0, r3, r0
|
|
ldrb r0, [r0]
|
|
adds r0, #6
|
|
strb r0, [r4, #0xf]
|
|
strb r0, [r4, #0x1e]
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
_0806D540:
|
|
ldr r0, [r4, #0x50]
|
|
ldrh r1, [r0, #0x2e]
|
|
strh r1, [r4, #0x2e]
|
|
ldrh r1, [r0, #0x32]
|
|
strh r1, [r4, #0x32]
|
|
adds r0, #0x62
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x62
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #0x50]
|
|
adds r0, #0x63
|
|
ldrb r0, [r0]
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #0x50]
|
|
ldrb r1, [r0, #0x1b]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r4, #0x1b]
|
|
movs r0, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x1b]
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _0806D590
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
lsls r1, r3, #4
|
|
subs r0, r0, r1
|
|
adds r0, #0xc
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
movs r2, #0x18
|
|
movs r3, #0x40
|
|
bl sub_0806FBFC
|
|
cmp r0, #0
|
|
beq _0806D5B4
|
|
_0806D590:
|
|
ldrb r1, [r4, #0x1e]
|
|
ldrb r0, [r4, #0xf]
|
|
adds r0, #2
|
|
cmp r1, r0
|
|
bge _0806D5D0
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806D5D0
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
ldrb r0, [r4, #0x1e]
|
|
adds r0, #1
|
|
b _0806D5CE
|
|
.align 2, 0
|
|
_0806D5B0: .4byte gUnk_08114100
|
|
_0806D5B4:
|
|
ldrb r1, [r4, #0x1e]
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r1, r0
|
|
bls _0806D5D0
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806D5D0
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
subs r0, r1, #1
|
|
_0806D5CE:
|
|
strb r0, [r4, #0x1e]
|
|
_0806D5D0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D5D4
|
|
sub_0806D5D4: @ 0x0806D5D4
|
|
push {lr}
|
|
bl sub_08053500
|
|
movs r0, #0xd
|
|
bl sub_0805436C
|
|
adds r1, r0, #0
|
|
cmp r1, #2
|
|
beq _0806D5F0
|
|
ldr r0, _0806D5FC @ =gUnk_02002A40
|
|
adds r0, #0xb4
|
|
adds r0, r1, r0
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
_0806D5F0:
|
|
movs r0, #0xd
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806D5FC: .4byte gUnk_02002A40
|
|
|
|
thumb_func_start sub_0806D600
|
|
sub_0806D600: @ 0x0806D600
|
|
push {lr}
|
|
movs r2, #0
|
|
ldr r0, _0806D618 @ =gUnk_02002A40
|
|
ldr r3, _0806D61C @ =0x00000494
|
|
adds r0, r0, r3
|
|
ldr r0, [r0]
|
|
cmp r0, #0
|
|
bne _0806D612
|
|
movs r2, #1
|
|
_0806D612:
|
|
str r2, [r1, #0x14]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806D618: .4byte gUnk_02002A40
|
|
_0806D61C: .4byte 0x00000494
|
|
|
|
thumb_func_start sub_0806D620
|
|
sub_0806D620: @ 0x0806D620
|
|
push {lr}
|
|
movs r0, #0xd
|
|
movs r1, #0
|
|
bl sub_0807CAA0
|
|
movs r0, #0xe
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A7C18
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D638
|
|
sub_0806D638: @ 0x0806D638
|
|
ldrh r1, [r0, #0x32]
|
|
subs r1, #0x20
|
|
strh r1, [r0, #0x32]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0806D640
|
|
sub_0806D640: @ 0x0806D640
|
|
ldrh r1, [r0, #0x32]
|
|
adds r1, #0x20
|
|
movs r2, #0
|
|
strh r1, [r0, #0x32]
|
|
adds r0, #0x39
|
|
strb r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D650
|
|
sub_0806D650: @ 0x0806D650
|
|
movs r1, #2
|
|
strb r1, [r0, #0xd]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D658
|
|
sub_0806D658: @ 0x0806D658
|
|
ldr r1, [r1, #4]
|
|
strb r1, [r0, #0xd]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D660
|
|
sub_0806D660: @ 0x0806D660
|
|
ldrb r1, [r0, #0x1b]
|
|
movs r2, #0xc0
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x1b]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D66C
|
|
sub_0806D66C: @ 0x0806D66C
|
|
ldrb r2, [r0, #0x1b]
|
|
movs r1, #0x3f
|
|
ands r1, r2
|
|
movs r2, #0x80
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x1b]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D67C
|
|
sub_0806D67C: @ 0x0806D67C
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _0806D6CC @ =gUnk_08114104
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _0806D6CA
|
|
adds r6, r1, #0
|
|
_0806D690:
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
adds r0, r5, #0
|
|
movs r2, #0x40
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D6C0
|
|
movs r0, #1
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r2, [r1, #0x2e]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0x2e]
|
|
movs r0, #2
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r2, [r1, #0x32]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0x32]
|
|
ldrb r0, [r4, #3]
|
|
strb r0, [r1, #0x15]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r1, #0x24]
|
|
_0806D6C0:
|
|
adds r4, #4
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, r6
|
|
bne _0806D690
|
|
_0806D6CA:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806D6CC: .4byte gUnk_08114104
|
|
|
|
thumb_func_start sub_0806D6D0
|
|
sub_0806D6D0: @ 0x0806D6D0
|
|
push {r4, lr}
|
|
sub sp, #4
|
|
movs r4, #0
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #2
|
|
bl sub_0805EB2C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D6EE
|
|
movs r0, #2
|
|
strb r0, [r1, #0xd]
|
|
_0806D6EE:
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #1
|
|
bl sub_0805EB2C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D706
|
|
movs r0, #1
|
|
strb r0, [r1, #0xd]
|
|
_0806D706:
|
|
add sp, #4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D70C
|
|
sub_0806D70C: @ 0x0806D70C
|
|
push {r4, lr}
|
|
sub sp, #4
|
|
movs r4, #0
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #2
|
|
bl sub_0805EB2C
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _0806D728
|
|
strb r4, [r2, #0xd]
|
|
_0806D728:
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #1
|
|
bl sub_0805EB2C
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _0806D746
|
|
strb r4, [r2, #0xd]
|
|
ldrb r0, [r2, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
_0806D746:
|
|
add sp, #4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D74C
|
|
sub_0806D74C: @ 0x0806D74C
|
|
push {r4, lr}
|
|
sub sp, #4
|
|
movs r4, #0
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #2
|
|
bl sub_0805EB2C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D76A
|
|
movs r0, #3
|
|
strb r0, [r1, #0xd]
|
|
_0806D76A:
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #1
|
|
bl sub_0805EB2C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D782
|
|
movs r0, #2
|
|
strb r0, [r1, #0xd]
|
|
_0806D782:
|
|
add sp, #4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D788
|
|
sub_0806D788: @ 0x0806D788
|
|
push {r4, lr}
|
|
sub sp, #4
|
|
movs r4, #0
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #2
|
|
bl sub_0805EB2C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D7A6
|
|
movs r0, #4
|
|
strb r0, [r1, #0xd]
|
|
_0806D7A6:
|
|
str r4, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #1
|
|
bl sub_0805EB2C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D7BE
|
|
movs r0, #1
|
|
strb r0, [r1, #0xd]
|
|
_0806D7BE:
|
|
add sp, #4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D7C4
|
|
sub_0806D7C4: @ 0x0806D7C4
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r1, _0806D800 @ =gLinkEntity
|
|
ldrh r0, [r1, #0x2e]
|
|
movs r2, #0
|
|
strh r0, [r4, #0x2e]
|
|
ldrh r0, [r1, #0x32]
|
|
subs r0, #0x18
|
|
strh r0, [r4, #0x32]
|
|
str r2, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #2
|
|
bl sub_0805EB2C
|
|
cmp r0, #0
|
|
beq _0806D7FC
|
|
movs r1, #0x2e
|
|
ldrsh r2, [r0, r1]
|
|
movs r1, #0x32
|
|
ldrsh r3, [r0, r1]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807DEDC
|
|
_0806D7FC:
|
|
add sp, #4
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806D800: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806D804
|
|
sub_0806D804: @ 0x0806D804
|
|
push {r4, r5, lr}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
movs r0, #0
|
|
str r0, [sp]
|
|
movs r0, #7
|
|
movs r1, #0x4c
|
|
movs r2, #7
|
|
movs r3, #2
|
|
bl sub_0805EB2C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806D83A
|
|
ldrh r0, [r1, #0x2e]
|
|
strh r0, [r4, #0x2e]
|
|
ldrh r0, [r1, #0x32]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_0806D83A:
|
|
ldr r0, _0806D854 @ =gLinkEntity
|
|
movs r1, #0x2e
|
|
ldrsh r2, [r0, r1]
|
|
movs r1, #0x32
|
|
ldrsh r3, [r0, r1]
|
|
subs r3, #0x10
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807DEDC
|
|
add sp, #4
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806D854: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806D858
|
|
sub_0806D858: @ 0x0806D858
|
|
adds r0, #0x29
|
|
ldrb r2, [r0]
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
movs r2, #8
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D86C
|
|
sub_0806D86C: @ 0x0806D86C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806D888
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
_0806D888:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r4, #0
|
|
bl sub_0807DDE4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D8A0
|
|
sub_0806D8A0: @ 0x0806D8A0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r3, r1, #0
|
|
movs r2, #0
|
|
movs r0, #8
|
|
strb r0, [r3, #0x19]
|
|
ldr r0, [r3, #8]
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
str r0, [r3, #8]
|
|
str r2, [r3, #0x14]
|
|
movs r2, #0x10
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r0, r0, #0x19
|
|
cmp r0, #0
|
|
bge _0806D8C2
|
|
rsbs r2, r2, #0
|
|
_0806D8C2:
|
|
ldr r1, _0806D900 @ =gLinkEntity
|
|
movs r5, #0x2e
|
|
ldrsh r0, [r1, r5]
|
|
adds r2, r2, r0
|
|
movs r0, #0x32
|
|
ldrsh r1, [r1, r0]
|
|
adds r1, #2
|
|
strh r2, [r3, #0x1e]
|
|
strh r1, [r3, #0x22]
|
|
movs r3, #0x2e
|
|
ldrsh r0, [r4, r3]
|
|
subs r2, r2, r0
|
|
movs r5, #0x32
|
|
ldrsh r0, [r4, r5]
|
|
subs r1, r1, r0
|
|
adds r0, r2, #0
|
|
bl sub_080045DA
|
|
strb r0, [r4, #0x15]
|
|
ldrb r2, [r4, #0x14]
|
|
movs r1, #0x80
|
|
ands r1, r2
|
|
ldr r2, _0806D904 @ =gUnk_08114134
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x1c
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
orrs r1, r0
|
|
strb r1, [r4, #0x14]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806D900: .4byte gLinkEntity
|
|
_0806D904: .4byte gUnk_08114134
|
|
|
|
thumb_func_start sub_0806D908
|
|
sub_0806D908: @ 0x0806D908
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
ldr r3, _0806D93C @ =gLinkEntity
|
|
movs r5, #0x2e
|
|
ldrsh r2, [r3, r5]
|
|
movs r5, #0x32
|
|
ldrsh r3, [r3, r5]
|
|
bl sub_080045D4
|
|
strb r0, [r4, #0x15]
|
|
ldrb r2, [r4, #0x14]
|
|
movs r1, #0x80
|
|
ands r1, r2
|
|
ldr r2, _0806D940 @ =gUnk_08114144
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x19
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
orrs r1, r0
|
|
strb r1, [r4, #0x14]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806D93C: .4byte gLinkEntity
|
|
_0806D940: .4byte gUnk_08114144
|
|
|
|
thumb_func_start sub_0806D944
|
|
sub_0806D944: @ 0x0806D944
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0x18]
|
|
movs r3, #0x41
|
|
rsbs r3, r3, #0
|
|
ands r3, r0
|
|
strb r3, [r2, #0x18]
|
|
ldr r0, _0806D968 @ =gLinkEntity
|
|
ldr r1, [r2, #0x2c]
|
|
ldr r0, [r0, #0x2c]
|
|
cmp r1, r0
|
|
bgt _0806D964
|
|
movs r1, #0x40
|
|
adds r0, r3, #0
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
_0806D964:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806D968: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806D96C
|
|
sub_0806D96C: @ 0x0806D96C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x42
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _0806D99C
|
|
adds r3, r2, #0
|
|
adds r3, #0x29
|
|
ldrb r1, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
ldr r3, _0806D9A0 @ =0xFFE80000
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
movs r2, #0
|
|
bl sub_0806FA48
|
|
_0806D99C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806D9A0: .4byte 0xFFE80000
|
|
|
|
thumb_func_start sub_0806D9A4
|
|
sub_0806D9A4: @ 0x0806D9A4
|
|
push {lr}
|
|
ldr r1, _0806D9BC @ =gLinkEntity
|
|
ldr r2, [r0, #0x2c]
|
|
ldr r0, [r1, #0x2c]
|
|
adds r3, r1, #0
|
|
cmp r2, r0
|
|
bgt _0806D9C0
|
|
ldrb r1, [r3, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
b _0806D9C6
|
|
.align 2, 0
|
|
_0806D9BC: .4byte gLinkEntity
|
|
_0806D9C0:
|
|
ldrb r0, [r3, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
_0806D9C6:
|
|
strb r0, [r3, #0x18]
|
|
movs r0, #4
|
|
strb r0, [r3, #0x14]
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806D9D0
|
|
sub_0806D9D0: @ 0x0806D9D0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806D9F8
|
|
movs r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
subs r0, #5
|
|
ands r0, r1
|
|
strb r0, [r2, #0x18]
|
|
ldr r0, _0806D9F4 @ =gUnk_080FD170
|
|
str r0, [r2, #0x48]
|
|
adds r0, r2, #0
|
|
bl sub_0807DD50
|
|
b _0806DA00
|
|
.align 2, 0
|
|
_0806D9F4: .4byte gUnk_080FD170
|
|
_0806D9F8:
|
|
adds r0, r2, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_0806DA00:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DA04
|
|
sub_0806DA04: @ 0x0806DA04
|
|
push {lr}
|
|
ldr r3, [r1, #4]
|
|
lsls r3, r3, #3
|
|
ldr r1, _0806DA18 @ =gUnk_0811415C
|
|
adds r3, r3, r1
|
|
ldrb r2, [r3, #4]
|
|
movs r1, #1
|
|
bl sub_08078850
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806DA18: .4byte gUnk_0811415C
|
|
|
|
thumb_func_start sub_0806DA1C
|
|
sub_0806DA1C: @ 0x0806DA1C
|
|
push {lr}
|
|
ldr r3, _0806DA34 @ =gUnk_081141A4
|
|
ldr r2, [r1, #4]
|
|
lsls r0, r2, #2
|
|
adds r0, r0, r3
|
|
ldr r0, [r0]
|
|
ldr r1, _0806DA38 @ =gUnk_081141E4
|
|
adds r2, r2, r1
|
|
ldrb r1, [r2]
|
|
bl sub_0808091C
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806DA34: .4byte gUnk_081141A4
|
|
_0806DA38: .4byte gUnk_081141E4
|
|
|
|
thumb_func_start sub_0806DA3C
|
|
sub_0806DA3C: @ 0x0806DA3C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xa]
|
|
subs r0, #1
|
|
cmp r0, #0xa
|
|
bhi _0806DA84
|
|
lsls r0, r0, #2
|
|
ldr r1, _0806DA54 @ =_0806DA58
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0806DA54: .4byte _0806DA58
|
|
_0806DA58: @ jump table
|
|
.4byte _0806DA88 @ case 0
|
|
.4byte _0806DA8C @ case 1
|
|
.4byte _0806DA90 @ case 2
|
|
.4byte _0806DA94 @ case 3
|
|
.4byte _0806DA98 @ case 4
|
|
.4byte _0806DAA0 @ case 5
|
|
.4byte _0806DAA0 @ case 6
|
|
.4byte _0806DAA0 @ case 7
|
|
.4byte _0806DAA0 @ case 8
|
|
.4byte _0806DAA0 @ case 9
|
|
.4byte _0806DA9C @ case 10
|
|
_0806DA84:
|
|
movs r0, #0
|
|
b _0806DAA6
|
|
_0806DA88:
|
|
movs r0, #1
|
|
b _0806DAA6
|
|
_0806DA8C:
|
|
movs r0, #2
|
|
b _0806DAA6
|
|
_0806DA90:
|
|
movs r0, #3
|
|
b _0806DAA6
|
|
_0806DA94:
|
|
movs r0, #4
|
|
b _0806DAA6
|
|
_0806DA98:
|
|
movs r0, #5
|
|
b _0806DAA6
|
|
_0806DA9C:
|
|
movs r0, #9
|
|
b _0806DAA6
|
|
_0806DAA0:
|
|
adds r0, r2, #0
|
|
bl sub_0801E99C
|
|
_0806DAA6:
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806DAAC
|
|
sub_0806DAAC: @ 0x0806DAAC
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
bl sub_0806DA3C
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
bl sub_0801E7F4
|
|
str r0, [r4, #0x14]
|
|
ldr r2, _0806DACC @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806DACC: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806DAD0
|
|
sub_0806DAD0: @ 0x0806DAD0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806DA3C
|
|
adds r1, r0, #0
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
adds r0, r4, #0
|
|
bl sub_08078790
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DAE8
|
|
sub_0806DAE8: @ 0x0806DAE8
|
|
push {lr}
|
|
ldrb r0, [r0, #0xa]
|
|
subs r0, #1
|
|
cmp r0, #4
|
|
bhi _0806DB3A
|
|
lsls r0, r0, #2
|
|
ldr r1, _0806DAFC @ =_0806DB00
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0806DAFC: .4byte _0806DB00
|
|
_0806DB00: @ jump table
|
|
.4byte _0806DB14 @ case 0
|
|
.4byte _0806DB1C @ case 1
|
|
.4byte _0806DB24 @ case 2
|
|
.4byte _0806DB2C @ case 3
|
|
.4byte _0806DB34 @ case 4
|
|
_0806DB14:
|
|
movs r0, #0xee
|
|
bl sub_0807CCB4
|
|
b _0806DB3A
|
|
_0806DB1C:
|
|
movs r0, #0xef
|
|
bl sub_0807CCB4
|
|
b _0806DB3A
|
|
_0806DB24:
|
|
movs r0, #0xf0
|
|
bl sub_0807CCB4
|
|
b _0806DB3A
|
|
_0806DB2C:
|
|
movs r0, #0xf1
|
|
bl sub_0807CCB4
|
|
b _0806DB3A
|
|
_0806DB34:
|
|
movs r0, #0xf2
|
|
bl sub_0807CCB4
|
|
_0806DB3A:
|
|
movs r0, #0xcd
|
|
bl sub_080A3268
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DB44
|
|
sub_0806DB44: @ 0x0806DB44
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
movs r0, #0
|
|
str r0, [r4, #0x14]
|
|
movs r0, #0xee
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806DB82
|
|
movs r0, #0xef
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806DB82
|
|
movs r0, #0xf0
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806DB82
|
|
movs r0, #0xf1
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806DB82
|
|
movs r0, #0xf2
|
|
bl sub_0807CBD0
|
|
cmp r0, #0
|
|
beq _0806DB82
|
|
movs r0, #1
|
|
str r0, [r4, #0x14]
|
|
_0806DB82:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806DB84
|
|
sub_0806DB84: @ 0x0806DB84
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _0806DBE4 @ =gUnk_08114154
|
|
str r0, [r5, #0x48]
|
|
movs r0, #0x3e
|
|
movs r1, #4
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806DBB6
|
|
ldr r2, _0806DBE8 @ =0xFFF80000
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
movs r3, #0
|
|
bl sub_0806FA48
|
|
ldr r1, _0806DBEC @ =gUnk_08016030
|
|
adds r0, r4, #0
|
|
bl sub_0807DAD0
|
|
adds r1, r4, #0
|
|
adds r1, #0x84
|
|
str r0, [r1]
|
|
_0806DBB6:
|
|
movs r0, #0x3e
|
|
movs r1, #5
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806DBE2
|
|
movs r2, #0x80
|
|
lsls r2, r2, #0xc
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
movs r3, #0
|
|
bl sub_0806FA48
|
|
ldr r1, _0806DBF0 @ =gUnk_0801606C
|
|
adds r0, r4, #0
|
|
bl sub_0807DAD0
|
|
adds r1, r4, #0
|
|
adds r1, #0x84
|
|
str r0, [r1]
|
|
_0806DBE2:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806DBE4: .4byte gUnk_08114154
|
|
_0806DBE8: .4byte 0xFFF80000
|
|
_0806DBEC: .4byte gUnk_08016030
|
|
_0806DBF0: .4byte gUnk_0801606C
|
|
|
|
thumb_func_start sub_0806DBF4
|
|
sub_0806DBF4: @ 0x0806DBF4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
cmp r4, #1
|
|
blo _0806DC36
|
|
cmp r4, #4
|
|
bls _0806DC04
|
|
cmp r4, #6
|
|
bne _0806DC36
|
|
_0806DC04:
|
|
movs r4, #1
|
|
movs r0, #2
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0806DC12
|
|
movs r4, #2
|
|
_0806DC12:
|
|
movs r0, #3
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0806DC1E
|
|
movs r4, #3
|
|
_0806DC1E:
|
|
movs r0, #4
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0806DC2A
|
|
movs r4, #4
|
|
_0806DC2A:
|
|
movs r0, #6
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0806DC36
|
|
movs r4, #6
|
|
_0806DC36:
|
|
adds r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DC3C
|
|
sub_0806DC3C: @ 0x0806DC3C
|
|
ldr r2, _0806DC54 @ =gUnk_02002A40
|
|
adds r1, r2, #0
|
|
adds r1, #0xb4
|
|
ldrb r3, [r1]
|
|
adds r1, r0, #0
|
|
adds r1, #0x68
|
|
strb r3, [r1]
|
|
adds r2, #0xb5
|
|
ldrb r1, [r2]
|
|
adds r0, #0x69
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806DC54: .4byte gUnk_02002A40
|
|
|
|
thumb_func_start sub_0806DC58
|
|
sub_0806DC58: @ 0x0806DC58
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x68
|
|
ldrb r0, [r0]
|
|
bl sub_0806DBF4
|
|
movs r1, #0
|
|
bl sub_08054414
|
|
adds r4, #0x69
|
|
ldrb r0, [r4]
|
|
bl sub_0806DBF4
|
|
movs r1, #1
|
|
bl sub_08054414
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DC7C
|
|
sub_0806DC7C: @ 0x0806DC7C
|
|
push {r4, lr}
|
|
ldr r4, _0806DC84 @ =gUnk_081141F4
|
|
b _0806DC94
|
|
.align 2, 0
|
|
_0806DC84: .4byte gUnk_081141F4
|
|
_0806DC88:
|
|
ldrh r1, [r4]
|
|
adds r4, #2
|
|
ldr r0, _0806DC9C @ =0x00004072
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
_0806DC94:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _0806DC88
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806DC9C: .4byte 0x00004072
|
|
|
|
thumb_func_start sub_0806DCA0
|
|
sub_0806DCA0: @ 0x0806DCA0
|
|
push {r4, lr}
|
|
ldr r4, _0806DCA8 @ =gUnk_081141F4
|
|
b _0806DCB6
|
|
.align 2, 0
|
|
_0806DCA8: .4byte gUnk_081141F4
|
|
_0806DCAC:
|
|
ldrh r0, [r4]
|
|
adds r4, #2
|
|
movs r1, #1
|
|
bl sub_0807BA8C
|
|
_0806DCB6:
|
|
ldrh r0, [r4]
|
|
cmp r0, #0
|
|
bne _0806DCAC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DCC0
|
|
sub_0806DCC0: @ 0x0806DCC0
|
|
ldr r0, _0806DCD0 @ =gUnk_030010A0
|
|
movs r1, #0xf9
|
|
lsls r1, r1, #3
|
|
strh r1, [r0, #0x20]
|
|
movs r1, #0xf8
|
|
strh r1, [r0, #0x22]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806DCD0: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0806DCD4
|
|
sub_0806DCD4: @ 0x0806DCD4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806DD40
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r4, #0xa]
|
|
subs r0, #1
|
|
cmp r0, #0xa
|
|
bhi _0806DD40
|
|
lsls r0, r0, #2
|
|
ldr r1, _0806DCF4 @ =_0806DCF8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0806DCF4: .4byte _0806DCF8
|
|
_0806DCF8: @ jump table
|
|
.4byte _0806DD24 @ case 0
|
|
.4byte _0806DD24 @ case 1
|
|
.4byte _0806DD24 @ case 2
|
|
.4byte _0806DD24 @ case 3
|
|
.4byte _0806DD24 @ case 4
|
|
.4byte _0806DD2C @ case 5
|
|
.4byte _0806DD2C @ case 6
|
|
.4byte _0806DD2C @ case 7
|
|
.4byte _0806DD2C @ case 8
|
|
.4byte _0806DD2C @ case 9
|
|
.4byte _0806DD34 @ case 10
|
|
_0806DD24:
|
|
adds r0, r4, #0
|
|
bl sub_0809623C
|
|
b _0806DD40
|
|
_0806DD2C:
|
|
adds r0, r4, #0
|
|
bl sub_08096260
|
|
b _0806DD40
|
|
_0806DD34:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806DB84
|
|
movs r0, #0
|
|
str r0, [r4, #0x48]
|
|
_0806DD40:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DD44
|
|
sub_0806DD44: @ 0x0806DD44
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806DD5A
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0xa]
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_0806DD5A:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r4, #0x59
|
|
ldrb r0, [r4]
|
|
cmp r0, #0xfe
|
|
bne _0806DD74
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x14
|
|
strb r0, [r4]
|
|
_0806DD74:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DD78
|
|
sub_0806DD78: @ 0x0806DD78
|
|
push {lr}
|
|
ldr r2, _0806DD8C @ =gUnk_0811423C
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806DD8C: .4byte gUnk_0811423C
|
|
|
|
thumb_func_start sub_0806DD90
|
|
sub_0806DD90: @ 0x0806DD90
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
adds r7, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r7, #0xc]
|
|
movs r0, #0x3b
|
|
bl GetProgressFlag
|
|
rsbs r1, r0, #0
|
|
orrs r1, r0
|
|
lsrs r4, r1, #0x1f
|
|
movs r0, #0x3c
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806DDB8
|
|
movs r4, #2
|
|
_0806DDB8:
|
|
movs r0, #0x3d
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806DDC4
|
|
movs r4, #3
|
|
_0806DDC4:
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
bl sub_08004260
|
|
movs r0, #0x2e
|
|
ldrsh r5, [r7, r0]
|
|
movs r1, #0x32
|
|
ldrsh r4, [r7, r1]
|
|
ldr r2, _0806DEC0 @ =0x00004072
|
|
mov sl, r2
|
|
ldr r0, _0806DEC4 @ =gUnk_03000BF0
|
|
mov r8, r0
|
|
ldrh r1, [r0, #6]
|
|
adds r1, #0x18
|
|
subs r1, r5, r1
|
|
lsrs r1, r1, #4
|
|
movs r6, #0x3f
|
|
ands r1, r6
|
|
ldrh r0, [r0, #8]
|
|
adds r0, #0x10
|
|
subs r0, r4, r0
|
|
lsrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r7, #0x38
|
|
mov sb, r7
|
|
mov r0, sb
|
|
ldrb r2, [r0]
|
|
mov r0, sl
|
|
bl sub_0800015E
|
|
mov r2, r8
|
|
ldrh r1, [r2, #6]
|
|
adds r1, #0x18
|
|
subs r1, r5, r1
|
|
lsrs r1, r1, #4
|
|
ands r1, r6
|
|
ldrh r0, [r2, #8]
|
|
subs r0, r4, r0
|
|
lsrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
mov r0, sb
|
|
ldrb r2, [r0]
|
|
mov r0, sl
|
|
bl sub_0800015E
|
|
mov r2, r8
|
|
ldrh r1, [r2, #6]
|
|
adds r1, #0x18
|
|
subs r1, r5, r1
|
|
lsrs r1, r1, #4
|
|
ands r1, r6
|
|
ldrh r0, [r2, #8]
|
|
subs r0, #0x10
|
|
subs r0, r4, r0
|
|
lsrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
mov r0, sb
|
|
ldrb r2, [r0]
|
|
mov r0, sl
|
|
bl sub_0800015E
|
|
mov r2, r8
|
|
ldrh r1, [r2, #6]
|
|
subs r1, #0x18
|
|
subs r1, r5, r1
|
|
lsrs r1, r1, #4
|
|
ands r1, r6
|
|
ldrh r0, [r2, #8]
|
|
adds r0, #0x10
|
|
subs r0, r4, r0
|
|
lsrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
mov r0, sb
|
|
ldrb r2, [r0]
|
|
mov r0, sl
|
|
bl sub_0800015E
|
|
mov r2, r8
|
|
ldrh r1, [r2, #6]
|
|
subs r1, #0x18
|
|
subs r1, r5, r1
|
|
lsrs r1, r1, #4
|
|
ands r1, r6
|
|
ldrh r0, [r2, #8]
|
|
subs r0, r4, r0
|
|
lsrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
mov r0, sb
|
|
ldrb r2, [r0]
|
|
mov r0, sl
|
|
bl sub_0800015E
|
|
mov r1, r8
|
|
ldrh r0, [r1, #6]
|
|
subs r0, #0x18
|
|
subs r5, r5, r0
|
|
lsrs r5, r5, #4
|
|
ands r5, r6
|
|
ldrh r0, [r1, #8]
|
|
subs r0, #0x10
|
|
subs r4, r4, r0
|
|
lsrs r4, r4, #4
|
|
ands r4, r6
|
|
lsls r4, r4, #6
|
|
orrs r5, r4
|
|
mov r0, sb
|
|
ldrb r2, [r0]
|
|
mov r0, sl
|
|
adds r1, r5, #0
|
|
bl sub_0800015E
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806DEC0: .4byte 0x00004072
|
|
_0806DEC4: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0806DEC8
|
|
sub_0806DEC8: @ 0x0806DEC8
|
|
push {lr}
|
|
bl sub_08004274
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806DED0
|
|
sub_0806DED0: @ 0x0806DED0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806DEF8 @ =gUnk_081142BC
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0
|
|
bne _0806DEF4
|
|
ldr r2, _0806DEFC @ =gUnk_03003F80
|
|
ldrb r1, [r2, #0x1a]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x1a]
|
|
_0806DEF4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806DEF8: .4byte gUnk_081142BC
|
|
_0806DEFC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0806DF00
|
|
sub_0806DF00: @ 0x0806DF00
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xa]
|
|
cmp r5, #0
|
|
bne _0806DF5C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0x51
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
str r0, [r4, #0x68]
|
|
str r4, [r0, #0x50]
|
|
movs r0, #0x51
|
|
movs r1, #1
|
|
movs r2, #1
|
|
bl sub_0806ED50
|
|
str r0, [r4, #0x6c]
|
|
str r4, [r0, #0x50]
|
|
movs r0, #0x51
|
|
movs r1, #1
|
|
movs r2, #2
|
|
bl sub_0806ED50
|
|
str r0, [r4, #0x70]
|
|
str r4, [r0, #0x50]
|
|
adds r0, r4, #0
|
|
adds r0, #0x74
|
|
strh r5, [r0]
|
|
adds r0, #2
|
|
movs r1, #0xa
|
|
strh r1, [r0]
|
|
ldr r0, _0806DF58 @ =gUnk_030010A0
|
|
strh r1, [r0, #6]
|
|
adds r0, r4, #0
|
|
bl sub_0806E014
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806DF6E
|
|
.align 2, 0
|
|
_0806DF58: .4byte gUnk_030010A0
|
|
_0806DF5C:
|
|
ldr r0, _0806DF70 @ =gUnk_080FD150
|
|
str r0, [r4, #0x48]
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0806E0DC
|
|
_0806DF6E:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806DF70: .4byte gUnk_080FD150
|
|
|
|
thumb_func_start sub_0806DF74
|
|
sub_0806DF74: @ 0x0806DF74
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0xff
|
|
beq _0806DFB0
|
|
adds r0, r4, #0
|
|
adds r0, #0x44
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0806DF96
|
|
ldr r1, [r4, #0x70]
|
|
ldrb r0, [r1, #0xe]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xe]
|
|
_0806DF96:
|
|
ldr r1, [r4, #0x68]
|
|
ldrb r0, [r1, #0xe]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xe]
|
|
ldr r1, [r4, #0x6c]
|
|
ldrb r0, [r1, #0xe]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xe]
|
|
movs r0, #0xff
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0
|
|
bl sub_0807CD10
|
|
_0806DFB0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806DFB4
|
|
sub_0806DFB4: @ 0x0806DFB4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r2, #0
|
|
ldrsb r2, [r1, r2]
|
|
cmp r2, #0
|
|
beq _0806DFD6
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldr r1, [r4, #0x50]
|
|
ldrb r0, [r4, #0xb]
|
|
strb r0, [r1, #0xe]
|
|
ldr r1, [r4, #0x50]
|
|
ldrb r0, [r4, #0xf]
|
|
strb r0, [r1, #0xb]
|
|
b _0806E00C
|
|
_0806DFD6:
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _0806E00C
|
|
strb r2, [r4, #0xe]
|
|
ldrb r2, [r4, #0xf]
|
|
movs r0, #0x35
|
|
movs r1, #2
|
|
bl sub_080A2960
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806DFF8
|
|
str r4, [r1, #0x50]
|
|
str r1, [r4, #0x54]
|
|
adds r0, r4, #0
|
|
bl sub_0806FA24
|
|
_0806DFF8:
|
|
adds r0, r4, #0
|
|
bl sub_080788E0
|
|
adds r0, r4, #0
|
|
adds r0, #0x76
|
|
ldrh r1, [r0]
|
|
movs r0, #0x74
|
|
movs r2, #2
|
|
bl sub_0807B7D8
|
|
_0806E00C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start nullsub_111
|
|
nullsub_111: @ 0x0806E010
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E014
|
|
sub_0806E014: @ 0x0806E014
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
bl sub_08000E50
|
|
movs r1, #0x70
|
|
ands r1, r0
|
|
lsrs r4, r1, #4
|
|
movs r0, #0xff
|
|
strb r0, [r5, #0xb]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
adds r7, r0, #0
|
|
strb r0, [r5, #0xe]
|
|
movs r0, #0x93
|
|
bl sub_0807CBD0
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bne _0806E088
|
|
adds r0, r5, #0
|
|
adds r0, #0x44
|
|
strb r1, [r0]
|
|
lsls r1, r4, #1
|
|
ldr r0, _0806E084 @ =gUnk_081142CC
|
|
adds r6, r1, r0
|
|
ldr r1, [r5, #0x68]
|
|
ldrb r0, [r6]
|
|
strb r0, [r1, #0xf]
|
|
ldr r1, [r5, #0x68]
|
|
movs r4, #0x90
|
|
lsls r4, r4, #0xf
|
|
adds r0, r5, #0
|
|
adds r2, r4, #0
|
|
adds r3, r4, #0
|
|
bl sub_0806FA48
|
|
ldr r1, [r5, #0x6c]
|
|
ldrb r0, [r6, #1]
|
|
strb r0, [r1, #0xf]
|
|
ldr r1, [r5, #0x6c]
|
|
movs r2, #0xd0
|
|
lsls r2, r2, #0xf
|
|
adds r0, r5, #0
|
|
adds r3, r4, #0
|
|
bl sub_0806FA48
|
|
ldr r1, [r5, #0x70]
|
|
ldrb r0, [r1, #0xf]
|
|
orrs r0, r7
|
|
strb r0, [r1, #0xf]
|
|
ldr r1, [r5, #0x70]
|
|
adds r0, r5, #0
|
|
bl sub_0806FA24
|
|
b _0806E0D6
|
|
.align 2, 0
|
|
_0806E084: .4byte gUnk_081142CC
|
|
_0806E088:
|
|
adds r1, r5, #0
|
|
adds r1, #0x44
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
lsls r1, r4, #2
|
|
ldr r0, _0806E0D8 @ =gUnk_081142DC
|
|
adds r6, r1, r0
|
|
ldr r1, [r5, #0x68]
|
|
ldrb r0, [r6]
|
|
strb r0, [r1, #0xf]
|
|
ldr r1, [r5, #0x68]
|
|
movs r2, #0xe0
|
|
lsls r2, r2, #0xe
|
|
movs r4, #0x90
|
|
lsls r4, r4, #0xf
|
|
adds r0, r5, #0
|
|
adds r3, r4, #0
|
|
bl sub_0806FA48
|
|
ldr r1, [r5, #0x6c]
|
|
ldrb r0, [r6, #1]
|
|
strb r0, [r1, #0xf]
|
|
ldr r1, [r5, #0x6c]
|
|
movs r2, #0xb0
|
|
lsls r2, r2, #0xf
|
|
adds r0, r5, #0
|
|
adds r3, r4, #0
|
|
bl sub_0806FA48
|
|
ldr r1, [r5, #0x70]
|
|
ldrb r0, [r6, #2]
|
|
strb r0, [r1, #0xf]
|
|
ldr r1, [r5, #0x70]
|
|
movs r2, #0xf0
|
|
lsls r2, r2, #0xf
|
|
adds r0, r5, #0
|
|
adds r3, r4, #0
|
|
bl sub_0806FA48
|
|
_0806E0D6:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806E0D8: .4byte gUnk_081142DC
|
|
|
|
thumb_func_start sub_0806E0DC
|
|
sub_0806E0DC: @ 0x0806E0DC
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
movs r6, #0
|
|
strb r6, [r4, #0xe]
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0xff
|
|
beq _0806E138
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
ldr r2, _0806E134 @ =gUnk_03000BF0
|
|
ldrh r0, [r2, #6]
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
movs r3, #0x3f
|
|
ands r1, r3
|
|
movs r5, #0x32
|
|
ldrsh r0, [r4, r5]
|
|
ldrh r2, [r2, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r3
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r5, r4, #0
|
|
adds r5, #0x76
|
|
strh r1, [r5]
|
|
ldr r0, [r4, #0x54]
|
|
cmp r0, #0
|
|
beq _0806E120
|
|
bl sub_0805E7BC
|
|
str r6, [r4, #0x54]
|
|
_0806E120:
|
|
adds r0, r4, #0
|
|
bl sub_08078828
|
|
ldrh r1, [r5]
|
|
movs r0, #0x73
|
|
movs r2, #2
|
|
bl sub_0807B7D8
|
|
b _0806E13C
|
|
.align 2, 0
|
|
_0806E134: .4byte gUnk_03000BF0
|
|
_0806E138:
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
_0806E13C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E140
|
|
sub_0806E140: @ 0x0806E140
|
|
push {r4, r5, lr}
|
|
adds r3, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r1, [r3, #0xb]
|
|
cmp r1, #0
|
|
beq _0806E1AC
|
|
movs r0, #1
|
|
str r0, [r5, #0x14]
|
|
adds r1, r3, #0
|
|
adds r1, #0x74
|
|
ldrh r0, [r1]
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
ldrh r2, [r1]
|
|
adds r0, r3, #0
|
|
adds r0, #0x44
|
|
ldrb r0, [r0]
|
|
adds r4, r1, #0
|
|
cmp r0, #0
|
|
bne _0806E16E
|
|
lsls r0, r2, #1
|
|
b _0806E172
|
|
_0806E16E:
|
|
lsls r0, r2, #1
|
|
adds r0, r0, r2
|
|
_0806E172:
|
|
strh r0, [r4]
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
ldr r1, _0806E18C @ =0x000003E7
|
|
cmp r0, r1
|
|
bls _0806E194
|
|
strh r1, [r4]
|
|
movs r0, #0
|
|
str r0, [r5, #0x14]
|
|
ldr r0, _0806E190 @ =0x0000421B
|
|
bl sub_08056378
|
|
b _0806E1C0
|
|
.align 2, 0
|
|
_0806E18C: .4byte 0x000003E7
|
|
_0806E190: .4byte 0x0000421B
|
|
_0806E194:
|
|
ldr r0, _0806E1A4 @ =0x00004218
|
|
bl sub_08056378
|
|
ldr r1, _0806E1A8 @ =gUnk_02000050
|
|
ldrh r0, [r4]
|
|
str r0, [r1, #0x10]
|
|
b _0806E1C0
|
|
.align 2, 0
|
|
_0806E1A4: .4byte 0x00004218
|
|
_0806E1A8: .4byte gUnk_02000050
|
|
_0806E1AC:
|
|
str r1, [r5, #0x14]
|
|
adds r0, r3, #0
|
|
adds r0, #0x74
|
|
strh r1, [r0]
|
|
adds r4, r3, #0
|
|
adds r4, #0x76
|
|
strh r1, [r4]
|
|
ldr r0, _0806E1D4 @ =0x0000421C
|
|
bl sub_08056378
|
|
_0806E1C0:
|
|
ldr r1, _0806E1D8 @ =gUnk_030010A0
|
|
ldrh r0, [r4]
|
|
strh r0, [r1, #6]
|
|
ldr r2, _0806E1DC @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806E1D4: .4byte 0x0000421C
|
|
_0806E1D8: .4byte gUnk_030010A0
|
|
_0806E1DC: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806E1E0
|
|
sub_0806E1E0: @ 0x0806E1E0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806E014
|
|
ldr r0, [r4, #0x68]
|
|
bl sub_0806E0DC
|
|
ldr r0, [r4, #0x6c]
|
|
bl sub_0806E0DC
|
|
ldr r0, [r4, #0x70]
|
|
bl sub_0806E0DC
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E1FC
|
|
sub_0806E1FC: @ 0x0806E1FC
|
|
push {lr}
|
|
ldr r0, _0806E208 @ =gUnk_0813AD4C
|
|
bl sub_08080840
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806E208: .4byte gUnk_0813AD4C
|
|
|
|
thumb_func_start sub_0806E20C
|
|
sub_0806E20C: @ 0x0806E20C
|
|
push {r4, lr}
|
|
ldr r4, _0806E224 @ =gUnk_030010A0
|
|
ldrh r0, [r4, #6]
|
|
cmp r0, #0
|
|
beq _0806E230
|
|
ldr r0, _0806E228 @ =0x0000421F
|
|
bl sub_08056378
|
|
ldr r1, _0806E22C @ =gUnk_02000050
|
|
ldrh r0, [r4, #6]
|
|
str r0, [r1, #0x10]
|
|
b _0806E236
|
|
.align 2, 0
|
|
_0806E224: .4byte gUnk_030010A0
|
|
_0806E228: .4byte 0x0000421F
|
|
_0806E22C: .4byte gUnk_02000050
|
|
_0806E230:
|
|
ldr r0, _0806E238 @ =0x00004220
|
|
bl sub_08056378
|
|
_0806E236:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806E238: .4byte 0x00004220
|
|
|
|
thumb_func_start sub_0806E23C
|
|
sub_0806E23C: @ 0x0806E23C
|
|
push {lr}
|
|
ldr r1, _0806E24C @ =gUnk_030010A0
|
|
ldrh r0, [r1, #6]
|
|
cmp r0, #0
|
|
beq _0806E24A
|
|
bl sub_080526CC
|
|
_0806E24A:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806E24C: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0806E250
|
|
sub_0806E250: @ 0x0806E250
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
movs r0, #0
|
|
str r0, [r4, #0x14]
|
|
movs r0, #0x31
|
|
bl sub_0801E7F4
|
|
cmp r0, #0
|
|
beq _0806E266
|
|
movs r0, #1
|
|
str r0, [r4, #0x14]
|
|
_0806E266:
|
|
ldr r2, _0806E274 @ =gUnk_02033280
|
|
ldrb r1, [r2, #7]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #7]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806E274: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806E278
|
|
sub_0806E278: @ 0x0806E278
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806E2A8
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldr r0, _0806E2A0 @ =gUnk_081142FC
|
|
str r0, [r4, #0x48]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
ldr r3, _0806E2A4 @ =gUnk_08114304
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_08078850
|
|
b _0806E2B0
|
|
.align 2, 0
|
|
_0806E2A0: .4byte gUnk_081142FC
|
|
_0806E2A4: .4byte gUnk_08114304
|
|
_0806E2A8:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
_0806E2B0:
|
|
ldr r0, _0806E2CC @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E2D0
|
|
ldrb r0, [r4, #0x18]
|
|
subs r1, #0x84
|
|
ands r1, r0
|
|
movs r0, #1
|
|
orrs r1, r0
|
|
strb r1, [r4, #0x18]
|
|
b _0806E2DA
|
|
.align 2, 0
|
|
_0806E2CC: .4byte gUnk_03003F80
|
|
_0806E2D0:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
_0806E2DA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E2DC
|
|
sub_0806E2DC: @ 0x0806E2DC
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _0806E300 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _0806E2EC
|
|
movs r0, #0
|
|
_0806E2EC:
|
|
ldrb r1, [r3, #0xb]
|
|
lsls r1, r1, #6
|
|
lsls r0, r0, #3
|
|
ldr r2, _0806E304 @ =gUnk_08114308
|
|
adds r0, r0, r2
|
|
adds r1, r1, r0
|
|
adds r0, r3, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806E300: .4byte gUnk_02002A40
|
|
_0806E304: .4byte gUnk_08114308
|
|
|
|
thumb_func_start sub_0806E308
|
|
sub_0806E308: @ 0x0806E308
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r5, [r4, #0xc]
|
|
cmp r5, #1
|
|
beq _0806E34C
|
|
cmp r5, #1
|
|
bgt _0806E31C
|
|
cmp r5, #0
|
|
beq _0806E322
|
|
b _0806E3E0
|
|
_0806E31C:
|
|
cmp r5, #2
|
|
beq _0806E3C6
|
|
b _0806E3E0
|
|
_0806E322:
|
|
ldr r1, _0806E348 @ =gUnk_081144F0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806E3E0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
strb r5, [r0]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
bl sub_0807DD50
|
|
b _0806E3E0
|
|
.align 2, 0
|
|
_0806E348: .4byte gUnk_081144F0
|
|
_0806E34C:
|
|
adds r2, r4, #0
|
|
adds r2, #0x39
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
cmp r1, #2
|
|
bne _0806E3BC
|
|
movs r0, #0
|
|
strb r1, [r4, #0xc]
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x69
|
|
strb r0, [r1]
|
|
ldr r1, _0806E3B0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08002632
|
|
ldr r1, _0806E3B4 @ =gUnk_08001A7C
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r3, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x32
|
|
bne _0806E398
|
|
adds r3, #6
|
|
_0806E398:
|
|
ldrh r1, [r3]
|
|
ldrh r2, [r3, #2]
|
|
ldrh r3, [r3, #4]
|
|
adds r0, r4, #0
|
|
bl sub_0801DFB4
|
|
ldr r0, _0806E3B8 @ =gUnk_03003F80
|
|
adds r0, #0x8b
|
|
movs r1, #3
|
|
strb r1, [r0]
|
|
b _0806E3E0
|
|
.align 2, 0
|
|
_0806E3B0: .4byte gLinkEntity
|
|
_0806E3B4: .4byte gUnk_08001A7C
|
|
_0806E3B8: .4byte gUnk_03003F80
|
|
_0806E3BC:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807DD94
|
|
b _0806E3E0
|
|
_0806E3C6:
|
|
adds r0, r4, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806E3E0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
adds r0, #0x69
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08004260
|
|
_0806E3E0:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E3E4
|
|
sub_0806E3E4: @ 0x0806E3E4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x81
|
|
rsbs r0, r0, #0
|
|
ands r2, r0
|
|
adds r2, #8
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
ldrb r2, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FF88
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E418
|
|
sub_0806E418: @ 0x0806E418
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _0806E438 @ =gUnk_02002A40
|
|
ldrb r0, [r0, #8]
|
|
subs r0, #2
|
|
cmp r0, #0
|
|
bge _0806E428
|
|
movs r0, #0
|
|
_0806E428:
|
|
lsls r1, r0, #3
|
|
ldr r0, _0806E43C @ =gUnk_081144FC
|
|
adds r1, r1, r0
|
|
adds r0, r2, #0
|
|
bl sub_0806F1AC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806E438: .4byte gUnk_02002A40
|
|
_0806E43C: .4byte gUnk_081144FC
|
|
|
|
thumb_func_start sub_0806E440
|
|
sub_0806E440: @ 0x0806E440
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_08078784
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E458
|
|
sub_0806E458: @ 0x0806E458
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806E498
|
|
ldr r1, _0806E494 @ =gUnk_081144F0
|
|
adds r0, r4, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806E49E
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
adds r0, r4, #0
|
|
movs r1, #0xa
|
|
bl sub_08004260
|
|
b _0806E49E
|
|
.align 2, 0
|
|
_0806E494: .4byte gUnk_081144F0
|
|
_0806E498:
|
|
adds r0, r4, #0
|
|
bl sub_08004274
|
|
_0806E49E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E4A0
|
|
sub_0806E4A0: @ 0x0806E4A0
|
|
push {lr}
|
|
ldr r2, _0806E4B4 @ =gUnk_081145B4
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806E4B4: .4byte gUnk_081145B4
|
|
|
|
thumb_func_start sub_0806E4B8
|
|
sub_0806E4B8: @ 0x0806E4B8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
movs r5, #0
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_080787A8
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
strb r5, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
bl sub_0806E4EC
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E4EC
|
|
sub_0806E4EC: @ 0x0806E4EC
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r0, [r5, #0xd]
|
|
cmp r0, #0
|
|
bne _0806E50E
|
|
adds r0, #1
|
|
strb r0, [r5, #0xd]
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x3c
|
|
strb r0, [r5, #0xe]
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_080042AC
|
|
_0806E50E:
|
|
ldrb r0, [r5, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r5, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806E552
|
|
bl sub_08000E50
|
|
movs r1, #1
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _0806E52A
|
|
movs r0, #3
|
|
b _0806E52C
|
|
_0806E52A:
|
|
movs r0, #2
|
|
_0806E52C:
|
|
strb r0, [r5, #0xc]
|
|
movs r0, #0
|
|
strb r0, [r5, #0xd]
|
|
bl sub_08000E50
|
|
movs r1, #1
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _0806E552
|
|
ldr r4, _0806E560 @ =gUnk_081145C8
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
ands r1, r0
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1]
|
|
bl sub_08004488
|
|
_0806E552:
|
|
adds r0, r5, #0
|
|
bl sub_0806E65C
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806E560: .4byte gUnk_081145C8
|
|
|
|
thumb_func_start sub_0806E564
|
|
sub_0806E564: @ 0x0806E564
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _0806E5AA
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
bl sub_08000E50
|
|
movs r2, #1
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _0806E590
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r1, r0, #0x19
|
|
lsrs r1, r1, #0x1f
|
|
eors r1, r2
|
|
lsls r1, r1, #6
|
|
subs r2, #0x42
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
strb r2, [r4, #0x18]
|
|
_0806E590:
|
|
bl sub_08000E50
|
|
movs r1, #1
|
|
ands r0, r1
|
|
adds r0, #1
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_080042AC
|
|
_0806E5AA:
|
|
movs r1, #0xa0
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _0806E5D4
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
bne _0806E5CE
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
b _0806E5D4
|
|
_0806E5CE:
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
_0806E5D4:
|
|
adds r0, r4, #0
|
|
bl sub_0806E65C
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E5E4
|
|
sub_0806E5E4: @ 0x0806E5E4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _0806E622
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
bl sub_08000E50
|
|
movs r5, #1
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
beq _0806E612
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r1, r0, #0x19
|
|
lsrs r1, r1, #0x1f
|
|
eors r1, r5
|
|
lsls r1, r1, #6
|
|
movs r2, #0x41
|
|
rsbs r2, r2, #0
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
strb r2, [r4, #0x18]
|
|
_0806E612:
|
|
bl sub_08000E50
|
|
adds r1, r0, #0
|
|
ands r1, r5
|
|
adds r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_0806E622:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E638
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
_0806E638:
|
|
adds r0, r4, #0
|
|
bl sub_0806E65C
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E648
|
|
sub_0806E648: @ 0x0806E648
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806E658
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806E658:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E65C
|
|
sub_0806E65C: @ 0x0806E65C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x39
|
|
movs r2, #0
|
|
ldrsb r2, [r0, r2]
|
|
cmp r2, #0
|
|
beq _0806E6A6
|
|
ldr r0, _0806E688 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E694
|
|
cmp r2, #2
|
|
bne _0806E68C
|
|
movs r0, #4
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806E698
|
|
.align 2, 0
|
|
_0806E688: .4byte gUnk_03003F80
|
|
_0806E68C:
|
|
adds r0, r4, #0
|
|
bl sub_0806E6A8
|
|
b _0806E698
|
|
_0806E694:
|
|
bl sub_080791D0
|
|
_0806E698:
|
|
movs r0, #0xd5
|
|
bl sub_080A3268
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_0806E6A6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E6A8
|
|
sub_0806E6A8: @ 0x0806E6A8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r5, #0
|
|
bl sub_08002632
|
|
ldr r1, _0806E6D4 @ =gUnk_02002A40
|
|
ldr r2, _0806E6D8 @ =0x000001C1
|
|
adds r1, r1, r2
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xf3
|
|
bne _0806E6C2
|
|
movs r5, #1
|
|
_0806E6C2:
|
|
ldr r0, _0806E6DC @ =gUnk_081145D0
|
|
lsls r1, r5, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r4, #0
|
|
bl sub_08056398
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806E6D4: .4byte gUnk_02002A40
|
|
_0806E6D8: .4byte 0x000001C1
|
|
_0806E6DC: .4byte gUnk_081145D0
|
|
|
|
thumb_func_start sub_0806E6E0
|
|
sub_0806E6E0: @ 0x0806E6E0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0
|
|
bne _0806E706
|
|
adds r0, #1
|
|
strb r0, [r2, #0xc]
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r0, r2, #0
|
|
movs r1, #1
|
|
bl sub_080042AC
|
|
b _0806E70C
|
|
_0806E706:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_0806E70C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E710
|
|
sub_0806E710: @ 0x0806E710
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806E72C @ =gUnk_081145D4
|
|
ldrb r0, [r4, #0xc]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r0, r4, #0
|
|
bl sub_0806ED78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806E72C: .4byte gUnk_081145D4
|
|
|
|
thumb_func_start sub_0806E730
|
|
sub_0806E730: @ 0x0806E730
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
adds r0, #1
|
|
movs r5, #0
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0801E99C
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
ldrb r1, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_080787A8
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805E3A0
|
|
strb r5, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
bl sub_0806E764
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E764
|
|
sub_0806E764: @ 0x0806E764
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _0806E782
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
bl sub_08000E50
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
adds r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
strb r5, [r4, #0x1e]
|
|
_0806E782:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
bne _0806E7A8
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
bl sub_08000E50
|
|
movs r1, #1
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _0806E7A8
|
|
movs r0, #0xd6
|
|
bl sub_08004488
|
|
_0806E7A8:
|
|
adds r0, r4, #0
|
|
bl sub_0806E838
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806E7B0
|
|
sub_0806E7B0: @ 0x0806E7B0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #0
|
|
bne _0806E7F2
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
bl sub_08000E50
|
|
movs r5, #1
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
beq _0806E7DE
|
|
ldrb r0, [r4, #0x18]
|
|
lsls r1, r0, #0x19
|
|
lsrs r1, r1, #0x1f
|
|
eors r1, r5
|
|
lsls r1, r1, #6
|
|
movs r2, #0x41
|
|
rsbs r2, r2, #0
|
|
ands r2, r0
|
|
orrs r2, r1
|
|
strb r2, [r4, #0x18]
|
|
_0806E7DE:
|
|
bl sub_08000E50
|
|
movs r1, #3
|
|
ands r0, r1
|
|
adds r0, #1
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
strb r5, [r4, #0x1e]
|
|
_0806E7F2:
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _0806E81C
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
bne _0806E816
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
b _0806E81C
|
|
_0806E816:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
_0806E81C:
|
|
adds r0, r4, #0
|
|
bl sub_0806E838
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806E824
|
|
sub_0806E824: @ 0x0806E824
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806F148
|
|
cmp r0, #0
|
|
beq _0806E834
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
_0806E834:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E838
|
|
sub_0806E838: @ 0x0806E838
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x39
|
|
movs r2, #0
|
|
ldrsb r2, [r0, r2]
|
|
cmp r2, #0
|
|
beq _0806E882
|
|
ldr r0, _0806E864 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E870
|
|
cmp r2, #2
|
|
bne _0806E868
|
|
movs r0, #3
|
|
strb r0, [r4, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0806F118
|
|
b _0806E874
|
|
.align 2, 0
|
|
_0806E864: .4byte gUnk_03003F80
|
|
_0806E868:
|
|
adds r0, r4, #0
|
|
bl sub_0806E884
|
|
b _0806E874
|
|
_0806E870:
|
|
bl sub_080791D0
|
|
_0806E874:
|
|
movs r0, #0xd6
|
|
bl sub_080A3268
|
|
adds r1, r4, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_0806E882:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E884
|
|
sub_0806E884: @ 0x0806E884
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _0806E890 @ =0x00000DB6
|
|
bl sub_08056398
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806E890: .4byte 0x00000DB6
|
|
|
|
thumb_func_start sub_0806E894
|
|
sub_0806E894: @ 0x0806E894
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0
|
|
bne _0806E8B6
|
|
adds r0, #1
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #1
|
|
strb r0, [r4, #0x1e]
|
|
b _0806E8CA
|
|
_0806E8B6:
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _0806E8CA
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
_0806E8CA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806E8CC
|
|
sub_0806E8CC: @ 0x0806E8CC
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r2, _0806E8EC @ =gUnk_080B313C
|
|
ldrb r1, [r3, #0xf]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r2, #8
|
|
adds r0, r0, r2
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _0806E8F0
|
|
adds r0, r3, #0
|
|
bl _call_via_r1
|
|
b _0806E8F4
|
|
.align 2, 0
|
|
_0806E8EC: .4byte gUnk_080B313C
|
|
_0806E8F0:
|
|
bl sub_0805E780
|
|
_0806E8F4:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806E8F8
|
|
sub_0806E8F8: @ 0x0806E8F8
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r2, _0806E918 @ =gUnk_080B313C
|
|
ldrb r1, [r3, #0xf]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r2, #4
|
|
adds r0, r0, r2
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _0806E916
|
|
adds r0, r3, #0
|
|
bl _call_via_r1
|
|
_0806E916:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806E918: .4byte gUnk_080B313C
|
|
|
|
thumb_func_start sub_0806E91C
|
|
sub_0806E91C: @ 0x0806E91C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _0806E950
|
|
adds r0, #1
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r5, #0x18]
|
|
adds r1, r5, #0
|
|
adds r1, #0x68
|
|
movs r4, #0
|
|
movs r0, #1
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
ldr r0, _0806E960 @ =0x0000FFFF
|
|
strh r0, [r1]
|
|
adds r0, r5, #0
|
|
bl sub_0807DD64
|
|
strb r4, [r5, #0x1e]
|
|
_0806E950:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0807DDAC
|
|
adds r0, r5, #0
|
|
bl sub_0807DDE4
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806E960: .4byte 0x0000FFFF
|
|
|
|
thumb_func_start sub_0806E964
|
|
sub_0806E964: @ 0x0806E964
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov sb, r0
|
|
adds r2, r1, #0
|
|
ldr r0, _0806E984 @ =gUnk_03000FF0
|
|
mov r8, r0
|
|
ldrh r1, [r0, #2]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E988
|
|
bl sub_08050384
|
|
b _0806EAAA
|
|
.align 2, 0
|
|
_0806E984: .4byte gUnk_03000FF0
|
|
_0806E988:
|
|
ldrb r0, [r2, #0x18]
|
|
adds r1, r0, #0
|
|
mov r6, sb
|
|
adds r6, #0x6c
|
|
mov r7, sb
|
|
adds r7, #0x68
|
|
cmp r1, #0
|
|
bne _0806E9A8
|
|
adds r0, #1
|
|
strb r0, [r2, #0x18]
|
|
strh r1, [r6]
|
|
movs r2, #0
|
|
ldrsh r1, [r7, r2]
|
|
mov r0, sb
|
|
bl sub_0806EABC
|
|
_0806E9A8:
|
|
movs r5, #0x1c
|
|
movs r0, #0x55
|
|
bl GetProgressFlag
|
|
cmp r0, #0
|
|
beq _0806E9B6
|
|
movs r5, #0x34
|
|
_0806E9B6:
|
|
movs r0, #0
|
|
ldrsh r4, [r7, r0]
|
|
mov r2, r8
|
|
ldrh r1, [r2, #2]
|
|
movs r2, #0xc0
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E9E4
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E9D4
|
|
adds r4, #1
|
|
b _0806E9D6
|
|
_0806E9D4:
|
|
subs r4, #1
|
|
_0806E9D6:
|
|
cmp r4, #0
|
|
bgt _0806E9DC
|
|
adds r4, r5, #0
|
|
_0806E9DC:
|
|
cmp r4, r5
|
|
ble _0806EA0A
|
|
movs r4, #1
|
|
b _0806EA0A
|
|
_0806E9E4:
|
|
mov r0, r8
|
|
ldrh r1, [r0, #4]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806EA0A
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806E9FC
|
|
adds r4, #1
|
|
b _0806E9FE
|
|
_0806E9FC:
|
|
subs r4, #1
|
|
_0806E9FE:
|
|
cmp r4, #0
|
|
bgt _0806EA04
|
|
movs r4, #1
|
|
_0806EA04:
|
|
cmp r4, r5
|
|
ble _0806EA0A
|
|
adds r4, r5, #0
|
|
_0806EA0A:
|
|
movs r1, #0
|
|
ldrsh r0, [r7, r1]
|
|
cmp r4, r0
|
|
beq _0806EA28
|
|
mov r0, sb
|
|
adds r1, r4, #0
|
|
bl sub_0806EABC
|
|
ldrh r1, [r6]
|
|
movs r2, #0
|
|
ldrsh r0, [r6, r2]
|
|
cmp r0, #0
|
|
ble _0806EA28
|
|
subs r0, r1, #1
|
|
strh r0, [r6]
|
|
_0806EA28:
|
|
strh r4, [r7]
|
|
ldr r0, _0806EA74 @ =gUnk_03000FF0
|
|
ldrh r1, [r0, #2]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806EA86
|
|
mov r5, sb
|
|
adds r5, #0x6a
|
|
lsls r0, r4, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r2, #0
|
|
ldrsh r1, [r5, r2]
|
|
cmp r0, r1
|
|
bne _0806EA4E
|
|
movs r1, #0
|
|
ldrsh r0, [r6, r1]
|
|
cmp r0, #0
|
|
bne _0806EA7C
|
|
_0806EA4E:
|
|
ldr r4, _0806EA78 @ =gUnk_081145E4
|
|
movs r2, #0
|
|
ldrsh r0, [r7, r2]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r4
|
|
movs r1, #0
|
|
ldrsh r0, [r0, r1]
|
|
bl sub_080A3268
|
|
ldrh r0, [r7]
|
|
strh r0, [r5]
|
|
movs r2, #0
|
|
ldrsh r0, [r7, r2]
|
|
lsls r0, r0, #2
|
|
adds r4, #2
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
strh r0, [r6]
|
|
b _0806EA86
|
|
.align 2, 0
|
|
_0806EA74: .4byte gUnk_03000FF0
|
|
_0806EA78: .4byte gUnk_081145E4
|
|
_0806EA7C:
|
|
ldr r0, _0806EAB4 @ =0x80010000
|
|
bl sub_080A3268
|
|
movs r0, #0
|
|
strh r0, [r5]
|
|
_0806EA86:
|
|
ldrh r1, [r6]
|
|
movs r2, #0
|
|
ldrsh r0, [r6, r2]
|
|
cmp r0, #0
|
|
ble _0806EAA4
|
|
subs r0, r1, #1
|
|
movs r1, #0
|
|
strh r0, [r6]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bgt _0806EAA4
|
|
mov r0, sb
|
|
adds r0, #0x6a
|
|
strh r1, [r0]
|
|
strh r1, [r6]
|
|
_0806EAA4:
|
|
ldr r1, _0806EAB8 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_0806EAAA:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806EAB4: .4byte 0x80010000
|
|
_0806EAB8: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_0806EABC
|
|
sub_0806EABC: @ 0x0806EABC
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
bl sub_08050384
|
|
ldr r1, _0806EAE0 @ =gUnk_020227E8
|
|
ldr r2, _0806EAE4 @ =0x00202020
|
|
adds r0, r4, #0
|
|
bl sub_08057044
|
|
ldr r0, _0806EAE8 @ =0x00003302
|
|
ldr r1, _0806EAEC @ =gUnk_081146B8
|
|
bl sub_0805F46C
|
|
ldr r1, _0806EAF0 @ =gUnk_03000F50
|
|
movs r0, #1
|
|
strh r0, [r1, #0xe]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806EAE0: .4byte gUnk_020227E8
|
|
_0806EAE4: .4byte 0x00202020
|
|
_0806EAE8: .4byte 0x00003302
|
|
_0806EAEC: .4byte gUnk_081146B8
|
|
_0806EAF0: .4byte gUnk_03000F50
|
|
|
|
thumb_func_start sub_0806EAF4
|
|
sub_0806EAF4: @ 0x0806EAF4
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
ldrb r0, [r6, #0xc]
|
|
cmp r0, #0
|
|
bne _0806EB48
|
|
ldr r1, _0806EBA0 @ =gUnk_081146D0
|
|
adds r0, r6, #0
|
|
bl sub_0806FDEC
|
|
cmp r0, #0
|
|
beq _0806EBA8
|
|
ldrb r0, [r6, #0xc]
|
|
adds r0, #1
|
|
strb r0, [r6, #0xc]
|
|
ldrb r1, [r6, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
strb r0, [r6, #0x18]
|
|
ldrb r2, [r6, #0x19]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
strb r0, [r6, #0x19]
|
|
adds r3, r6, #0
|
|
adds r3, #0x29
|
|
ldrb r2, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
strb r0, [r3]
|
|
ldrb r0, [r6, #0x1b]
|
|
ands r1, r0
|
|
movs r0, #0x40
|
|
orrs r1, r0
|
|
strb r1, [r6, #0x1b]
|
|
movs r0, #0x78
|
|
strh r0, [r6, #0x2e]
|
|
movs r0, #0x10
|
|
strh r0, [r6, #0x32]
|
|
_0806EB48:
|
|
ldr r7, [r6, #0x50]
|
|
cmp r7, #0
|
|
beq _0806EBA4
|
|
adds r0, r7, #0
|
|
adds r0, #0x68
|
|
movs r1, #0
|
|
ldrsh r4, [r0, r1]
|
|
movs r5, #0x96
|
|
lsls r5, r5, #2
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl __divsi3
|
|
adds r1, r6, #0
|
|
adds r1, #0x68
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl __modsi3
|
|
adds r4, r0, #0
|
|
movs r1, #0x3c
|
|
bl __divsi3
|
|
adds r1, r6, #0
|
|
adds r1, #0x6a
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #0x3c
|
|
bl __modsi3
|
|
movs r1, #6
|
|
bl __divsi3
|
|
adds r1, r6, #0
|
|
adds r1, #0x6c
|
|
strh r0, [r1]
|
|
ldr r0, [r7, #4]
|
|
cmp r0, #0
|
|
bne _0806EBA8
|
|
bl sub_0805E780
|
|
b _0806EBA8
|
|
.align 2, 0
|
|
_0806EBA0: .4byte gUnk_081146D0
|
|
_0806EBA4:
|
|
bl sub_0805E780
|
|
_0806EBA8:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EBAC
|
|
sub_0806EBAC: @ 0x0806EBAC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0xff
|
|
strb r0, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
movs r1, #0
|
|
ldrsh r2, [r0, r1]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
adds r0, #0x6a
|
|
movs r1, #0
|
|
ldrsh r2, [r0, r1]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
adds r0, #0x6c
|
|
movs r1, #0
|
|
ldrsh r2, [r0, r1]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0806FF60
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
movs r2, #0xa
|
|
bl sub_0806FF60
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r3, #0
|
|
bl sub_0806FFBC
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r3, #0
|
|
bl sub_0806FFBC
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #0xc
|
|
movs r3, #0
|
|
bl sub_0806FFBC
|
|
adds r0, r4, #0
|
|
bl sub_0807000C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EC20
|
|
sub_0806EC20: @ 0x0806EC20
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x58
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_0806ED50
|
|
cmp r0, #0
|
|
beq _0806EC34
|
|
str r4, [r0, #0x50]
|
|
_0806EC34:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EC38
|
|
sub_0806EC38: @ 0x0806EC38
|
|
push {lr}
|
|
movs r0, #7
|
|
movs r1, #0x58
|
|
movs r2, #7
|
|
bl sub_0805EB00
|
|
cmp r0, #0
|
|
beq _0806EC4C
|
|
bl sub_0805E7BC
|
|
_0806EC4C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EC50
|
|
sub_0806EC50: @ 0x0806EC50
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldrb r0, [r3, #9]
|
|
lsls r0, r0, #3
|
|
ldr r1, _0806EC74 @ =gUnk_08114AE4
|
|
adds r2, r0, r1
|
|
ldrb r1, [r2]
|
|
movs r0, #3
|
|
ands r0, r1
|
|
cmp r0, #2
|
|
bne _0806EC6E
|
|
ldrb r0, [r3, #0xa]
|
|
lsls r0, r0, #3
|
|
ldr r1, [r2, #4]
|
|
adds r2, r1, r0
|
|
_0806EC6E:
|
|
adds r0, r2, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806EC74: .4byte gUnk_08114AE4
|
|
|
|
thumb_func_start sub_0806EC78
|
|
sub_0806EC78: @ 0x0806EC78
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806ED4A
|
|
adds r0, r4, #0
|
|
bl sub_0806EC50
|
|
adds r5, r0, #0
|
|
ldrb r1, [r5]
|
|
movs r0, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806ECA2
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
b _0806ED4A
|
|
_0806ECA2:
|
|
ldrh r0, [r5, #2]
|
|
lsls r0, r0, #0x16
|
|
lsrs r2, r0, #0x16
|
|
adds r1, r2, #0
|
|
ldrb r0, [r5, #3]
|
|
lsls r0, r0, #0x1c
|
|
lsrs r0, r0, #0x1e
|
|
cmp r0, #1
|
|
beq _0806ECC0
|
|
cmp r0, #2
|
|
bne _0806ECCA
|
|
adds r0, r4, #0
|
|
adds r0, #0x60
|
|
strh r2, [r0]
|
|
b _0806ECD0
|
|
_0806ECC0:
|
|
adds r0, r4, #0
|
|
movs r2, #0
|
|
bl sub_080AE008
|
|
b _0806ECD0
|
|
_0806ECCA:
|
|
adds r0, r4, #0
|
|
bl sub_080ADF80
|
|
_0806ECD0:
|
|
ldrh r0, [r5, #4]
|
|
lsls r0, r0, #0x16
|
|
lsrs r1, r0, #0x16
|
|
adds r0, r4, #0
|
|
bl sub_0801D040
|
|
ldrh r0, [r5, #6]
|
|
lsls r0, r0, #0x16
|
|
lsrs r0, r0, #0x16
|
|
strh r0, [r4, #0x12]
|
|
ldrb r0, [r5, #5]
|
|
movs r3, #3
|
|
movs r1, #0x30
|
|
ands r1, r0
|
|
ldrb r2, [r4, #0x18]
|
|
movs r0, #0x31
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldrb r1, [r5, #7]
|
|
lsls r1, r1, #0x1b
|
|
movs r0, #0x29
|
|
adds r0, r0, r4
|
|
mov ip, r0
|
|
lsrs r1, r1, #0x1d
|
|
lsls r1, r1, #3
|
|
ldrb r2, [r0]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
ldrb r1, [r5, #7]
|
|
lsrs r1, r1, #5
|
|
ands r1, r3
|
|
ldrb r2, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldr r1, _0806ED4C @ =gUnk_08114EE4
|
|
ldrb r0, [r5, #1]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
str r0, [r4, #0x48]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
movs r1, #0xff
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
strb r1, [r0]
|
|
strb r1, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
bl sub_08016A04
|
|
_0806ED4A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806ED4C: .4byte gUnk_08114EE4
|
|
|
|
thumb_func_start sub_0806ED50
|
|
sub_0806ED50: @ 0x0806ED50
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r7, r2, #0
|
|
bl sub_0805E678
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806ED74
|
|
movs r0, #7
|
|
strb r0, [r4, #8]
|
|
strb r5, [r4, #9]
|
|
strb r6, [r4, #0xa]
|
|
strb r7, [r4, #0xb]
|
|
adds r0, r4, #0
|
|
movs r1, #7
|
|
bl sub_0805EA2C
|
|
_0806ED74:
|
|
adds r0, r4, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0806ED78
|
|
sub_0806ED78: @ 0x0806ED78
|
|
push {r4, lr}
|
|
bl sub_0800445C
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0806ED94
|
|
ldr r0, _0806ED98 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x1e]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806ED94
|
|
bl sub_08077B20
|
|
_0806ED94:
|
|
adds r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806ED98: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0806ED9C
|
|
sub_0806ED9C: @ 0x0806ED9C
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
adds r3, r2, #0
|
|
movs r6, #1
|
|
rsbs r6, r6, #0
|
|
ldr r1, _0806EDC0 @ =gLinkEntity
|
|
adds r2, r4, #0
|
|
bl sub_080041A0
|
|
cmp r0, #0
|
|
beq _0806EDBC
|
|
adds r0, r5, #0
|
|
bl sub_0806EDC4
|
|
adds r6, r0, #0
|
|
_0806EDBC:
|
|
adds r0, r6, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806EDC0: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806EDC4
|
|
sub_0806EDC4: @ 0x0806EDC4
|
|
push {lr}
|
|
ldr r1, _0806EDD4 @ =gLinkEntity
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806EDD4: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806EDD8
|
|
sub_0806EDD8: @ 0x0806EDD8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
adds r3, r2, #0
|
|
movs r7, #1
|
|
rsbs r7, r7, #0
|
|
ldr r6, _0806EE00 @ =gLinkEntity
|
|
adds r1, r6, #0
|
|
adds r2, r4, #0
|
|
bl sub_080041A0
|
|
cmp r0, #0
|
|
beq _0806EDFC
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_080045C4
|
|
adds r7, r0, #0
|
|
_0806EDFC:
|
|
adds r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806EE00: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806EE04
|
|
sub_0806EE04: @ 0x0806EE04
|
|
adds r3, r0, #0
|
|
str r1, [r3, #0x54]
|
|
adds r0, #0x3c
|
|
movs r1, #0
|
|
strb r2, [r0]
|
|
adds r0, #3
|
|
strb r1, [r0]
|
|
adds r2, r3, #0
|
|
adds r2, #0x46
|
|
movs r0, #0
|
|
strh r1, [r2]
|
|
strb r0, [r3, #0x16]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EE20
|
|
sub_0806EE20: @ 0x0806EE20
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0806EE4C
|
|
ldr r0, [r4, #0x54]
|
|
cmp r0, #0
|
|
beq _0806EE66
|
|
ldr r1, _0806EE48 @ =gUnk_08114EFC
|
|
ldrb r0, [r4, #0x16]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
b _0806EE68
|
|
.align 2, 0
|
|
_0806EE48: .4byte gUnk_08114EFC
|
|
_0806EE4C:
|
|
adds r1, r4, #0
|
|
adds r1, #0x46
|
|
movs r0, #8
|
|
strh r0, [r1]
|
|
ldr r1, _0806EE6C @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
adds r1, r4, #0
|
|
adds r1, #0x3e
|
|
strb r0, [r1]
|
|
_0806EE66:
|
|
movs r0, #0
|
|
_0806EE68:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806EE6C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806EE70
|
|
sub_0806EE70: @ 0x0806EE70
|
|
push {r4, lr}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x46
|
|
ldrh r0, [r1]
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #8
|
|
bls _0806EE92
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0806EF14
|
|
_0806EE92:
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
adds r0, r4, #0
|
|
mov r1, sp
|
|
bl sub_0806EF4C
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldrh r2, [r0, #2]
|
|
adds r0, r4, #0
|
|
bl sub_080041DC
|
|
adds r1, r0, #0
|
|
movs r2, #0x24
|
|
ldrsh r0, [r4, r2]
|
|
cmp r0, #0
|
|
bge _0806EEB8
|
|
rsbs r0, r0, #0
|
|
_0806EEB8:
|
|
lsrs r0, r0, #3
|
|
cmp r0, r1
|
|
bhi _0806EEC2
|
|
movs r0, #0
|
|
b _0806EECA
|
|
_0806EEC2:
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
bl sub_0806EF74
|
|
_0806EECA:
|
|
add sp, #4
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EED0
|
|
sub_0806EED0: @ 0x0806EED0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r1, r2, #0
|
|
adds r1, #0x46
|
|
ldrh r0, [r1]
|
|
subs r0, #1
|
|
strh r0, [r1]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
beq _0806EEE8
|
|
movs r0, #0
|
|
b _0806EEF0
|
|
_0806EEE8:
|
|
adds r0, r2, #0
|
|
movs r1, #2
|
|
bl sub_0806EF74
|
|
_0806EEF0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EEF4
|
|
sub_0806EEF4: @ 0x0806EEF4
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806EF08
|
|
movs r0, #0
|
|
b _0806EF10
|
|
_0806EF08:
|
|
adds r0, r2, #0
|
|
movs r1, #1
|
|
bl sub_0806EF74
|
|
_0806EF10:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EF14
|
|
sub_0806EF14: @ 0x0806EF14
|
|
push {r4, lr}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
mov r1, sp
|
|
bl sub_0806EF4C
|
|
mov r0, sp
|
|
ldrh r1, [r0]
|
|
ldrh r2, [r0, #2]
|
|
adds r0, r4, #0
|
|
bl sub_080045B4
|
|
strb r0, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
adds r0, #0x3c
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806EF48
|
|
ldrb r0, [r4, #0x15]
|
|
bl sub_0806F5A4
|
|
adds r1, r4, #0
|
|
adds r1, #0x3e
|
|
strb r0, [r1]
|
|
_0806EF48:
|
|
add sp, #4
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806EF4C
|
|
sub_0806EF4C: @ 0x0806EF4C
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
adds r2, #0x3f
|
|
ldrb r2, [r2]
|
|
lsls r2, r2, #1
|
|
ldr r3, [r0, #0x54]
|
|
adds r3, r3, r2
|
|
ldr r2, _0806EF70 @ =gUnk_03000BF0
|
|
ldrh r0, [r3, #2]
|
|
ldrh r4, [r2, #6]
|
|
adds r0, r0, r4
|
|
strh r0, [r1]
|
|
ldrh r0, [r3, #4]
|
|
ldrh r2, [r2, #8]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #2]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806EF70: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0806EF74
|
|
sub_0806EF74: @ 0x0806EF74
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
adds r3, #0x3f
|
|
ldrb r2, [r3]
|
|
adds r2, r2, r1
|
|
strb r2, [r3]
|
|
bl sub_0806EF88
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EF88
|
|
sub_0806EF88: @ 0x0806EF88
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
adds r1, #0x3f
|
|
ldrb r2, [r1]
|
|
lsls r2, r2, #1
|
|
ldr r1, [r0, #0x54]
|
|
adds r1, r1, r2
|
|
ldr r3, _0806EFA8 @ =gUnk_08114F0C
|
|
ldrb r2, [r1]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806EFA8: .4byte gUnk_08114F0C
|
|
|
|
thumb_func_start sub_0806EFAC
|
|
sub_0806EFAC: @ 0x0806EFAC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r2, #0x3f
|
|
movs r1, #0
|
|
strb r1, [r2]
|
|
bl sub_0806EF88
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806EFBC
|
|
sub_0806EFBC: @ 0x0806EFBC
|
|
movs r1, #1
|
|
strb r1, [r0, #0x16]
|
|
adds r0, #0x46
|
|
movs r1, #8
|
|
strh r1, [r0]
|
|
movs r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EFCC
|
|
sub_0806EFCC: @ 0x0806EFCC
|
|
movs r2, #2
|
|
strb r2, [r0, #0x16]
|
|
ldrh r1, [r1, #2]
|
|
adds r0, #0x46
|
|
strh r1, [r0]
|
|
movs r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806EFDC
|
|
sub_0806EFDC: @ 0x0806EFDC
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldrh r0, [r1]
|
|
lsrs r0, r0, #8
|
|
cmp r0, #0
|
|
beq _0806EFF4
|
|
adds r2, r3, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
b _0806EFFE
|
|
_0806EFF4:
|
|
adds r2, r3, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
_0806EFFE:
|
|
strb r0, [r2]
|
|
adds r1, r3, #0
|
|
adds r1, #0x3f
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r3, #0
|
|
bl sub_0806EF88
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F014
|
|
sub_0806F014: @ 0x0806F014
|
|
push {lr}
|
|
ldrh r1, [r1, #2]
|
|
strh r1, [r0, #0x24]
|
|
adds r2, r0, #0
|
|
adds r2, #0x3f
|
|
ldrb r1, [r2]
|
|
adds r1, #2
|
|
strb r1, [r2]
|
|
bl sub_0806EF88
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F02C
|
|
sub_0806F02C: @ 0x0806F02C
|
|
push {lr}
|
|
ldrh r1, [r1]
|
|
lsrs r1, r1, #8
|
|
adds r2, r0, #0
|
|
adds r2, #0x3e
|
|
strb r1, [r2]
|
|
adds r2, #1
|
|
ldrb r1, [r2]
|
|
adds r1, #1
|
|
strb r1, [r2]
|
|
bl sub_0806EF88
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F048
|
|
sub_0806F048: @ 0x0806F048
|
|
movs r1, #3
|
|
strb r1, [r0, #0x16]
|
|
movs r0, #0
|
|
bx lr
|
|
|
|
thumb_func_start sub_0806F050
|
|
sub_0806F050: @ 0x0806F050
|
|
push {lr}
|
|
adds r1, #2
|
|
str r1, [r0, #0x54]
|
|
adds r2, r0, #0
|
|
adds r2, #0x3f
|
|
movs r1, #0
|
|
strb r1, [r2]
|
|
bl sub_0806EF88
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806F064
|
|
sub_0806F064: @ 0x0806F064
|
|
movs r2, #0
|
|
strb r2, [r0, #0x16]
|
|
adds r0, #0x3f
|
|
ldrb r2, [r0]
|
|
adds r2, #1
|
|
strb r2, [r0]
|
|
ldrh r0, [r1]
|
|
lsrs r0, r0, #8
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F078
|
|
sub_0806F078: @ 0x0806F078
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _0806F0A0
|
|
adds r0, r2, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0806F096
|
|
adds r0, r2, #0
|
|
bl sub_080042AC
|
|
b _0806F09C
|
|
_0806F096:
|
|
adds r0, r2, #0
|
|
bl sub_08004260
|
|
_0806F09C:
|
|
movs r0, #1
|
|
b _0806F0A2
|
|
_0806F0A0:
|
|
movs r0, #0
|
|
_0806F0A2:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806F0A4
|
|
sub_0806F0A4: @ 0x0806F0A4
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #4
|
|
ldr r7, _0806F114 @ =gUnk_03003DA8
|
|
ldr r5, [r7, #4]
|
|
movs r0, #0
|
|
cmp r5, r7
|
|
beq _0806F0BA
|
|
_0806F0B2:
|
|
adds r0, #1
|
|
ldr r5, [r5, #4]
|
|
cmp r5, r7
|
|
bne _0806F0B2
|
|
_0806F0BA:
|
|
cmp r0, #1
|
|
bls _0806F10E
|
|
ldr r5, [r7, #4]
|
|
cmp r5, r7
|
|
beq _0806F10E
|
|
movs r2, #1
|
|
_0806F0C6:
|
|
ldrb r1, [r5, #0x10]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806F108
|
|
ldrb r1, [r5, #0x17]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806F108
|
|
ldr r4, [r5, #4]
|
|
cmp r4, r7
|
|
beq _0806F108
|
|
movs r6, #1
|
|
_0806F0E2:
|
|
ldrb r1, [r4, #0x10]
|
|
adds r0, r6, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806F102
|
|
ldrb r1, [r4, #0x17]
|
|
adds r0, r6, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806F102
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
str r2, [sp]
|
|
bl sub_08004484
|
|
ldr r2, [sp]
|
|
_0806F102:
|
|
ldr r4, [r4, #4]
|
|
cmp r4, r7
|
|
bne _0806F0E2
|
|
_0806F108:
|
|
ldr r5, [r5, #4]
|
|
cmp r5, r7
|
|
bne _0806F0C6
|
|
_0806F10E:
|
|
add sp, #4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806F114: .4byte gUnk_03003DA8
|
|
|
|
thumb_func_start sub_0806F118
|
|
sub_0806F118: @ 0x0806F118
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08002632
|
|
ldr r1, _0806F140 @ =gUnk_08001A7C
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldrh r1, [r0]
|
|
ldrh r2, [r0, #2]
|
|
ldrh r3, [r0, #4]
|
|
adds r0, r4, #0
|
|
bl sub_0801DFB4
|
|
ldr r0, _0806F144 @ =gUnk_03003F80
|
|
adds r0, #0x8b
|
|
movs r1, #3
|
|
strb r1, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806F140: .4byte gUnk_08001A7C
|
|
_0806F144: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0806F148
|
|
sub_0806F148: @ 0x0806F148
|
|
push {r4, lr}
|
|
bl sub_0801E00C
|
|
movs r4, #1
|
|
rsbs r4, r4, #0
|
|
ldr r0, _0806F164 @ =gUnk_02022740
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _0806F172
|
|
cmp r0, #2
|
|
beq _0806F168
|
|
movs r4, #0
|
|
b _0806F17E
|
|
.align 2, 0
|
|
_0806F164: .4byte gUnk_02022740
|
|
_0806F168:
|
|
ldr r0, _0806F184 @ =gUnk_03003F80
|
|
adds r0, #0x8b
|
|
movs r1, #3
|
|
strb r1, [r0]
|
|
movs r4, #1
|
|
_0806F172:
|
|
bl sub_0807919C
|
|
ldr r0, _0806F184 @ =gUnk_03003F80
|
|
adds r0, #0x8b
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
_0806F17E:
|
|
adds r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806F184: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0806F188
|
|
sub_0806F188: @ 0x0806F188
|
|
push {lr}
|
|
bl sub_08002632
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0806F1A0
|
|
ldr r0, _0806F1A4 @ =gUnk_02002A40
|
|
ldr r2, _0806F1A8 @ =0x000001C1
|
|
adds r0, r0, r2
|
|
adds r0, r1, r0
|
|
movs r1, #0xf3
|
|
strb r1, [r0]
|
|
_0806F1A0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806F1A4: .4byte gUnk_02002A40
|
|
_0806F1A8: .4byte 0x000001C1
|
|
|
|
thumb_func_start sub_0806F1AC
|
|
sub_0806F1AC: @ 0x0806F1AC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r0
|
|
adds r6, r1, #0
|
|
ldrh r1, [r6, #2]
|
|
asrs r7, r1, #4
|
|
movs r0, #1
|
|
ands r7, r0
|
|
movs r0, #0xf
|
|
ands r1, r0
|
|
cmp r1, #6
|
|
bls _0806F1C8
|
|
b _0806F332
|
|
_0806F1C8:
|
|
lsls r0, r1, #2
|
|
ldr r1, _0806F1D4 @ =_0806F1D8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0806F1D4: .4byte _0806F1D8
|
|
_0806F1D8: @ jump table
|
|
.4byte _0806F332 @ case 0
|
|
.4byte _0806F342 @ case 1
|
|
.4byte _0806F1F4 @ case 2
|
|
.4byte _0806F24E @ case 3
|
|
.4byte _0806F2BA @ case 4
|
|
.4byte _0806F324 @ case 5
|
|
.4byte _0806F336 @ case 6
|
|
_0806F1F4:
|
|
ldr r4, [r6]
|
|
asrs r1, r4, #0xc
|
|
movs r0, #0xf
|
|
ands r1, r0
|
|
ldr r0, _0806F210 @ =0x00000FFF
|
|
ands r4, r0
|
|
movs r5, #0
|
|
cmp r1, #1
|
|
beq _0806F22A
|
|
cmp r1, #1
|
|
bgt _0806F214
|
|
cmp r1, #0
|
|
beq _0806F21A
|
|
b _0806F248
|
|
.align 2, 0
|
|
_0806F210: .4byte 0x00000FFF
|
|
_0806F214:
|
|
cmp r1, #2
|
|
beq _0806F23A
|
|
b _0806F248
|
|
_0806F21A:
|
|
adds r0, r4, #0
|
|
bl sub_0807CC3C
|
|
adds r5, r0, #0
|
|
_0806F222:
|
|
adds r0, r4, #0
|
|
bl sub_0807CD10
|
|
b _0806F248
|
|
_0806F22A:
|
|
adds r0, r4, #0
|
|
bl sub_0807CBD0
|
|
adds r5, r0, #0
|
|
_0806F232:
|
|
adds r0, r4, #0
|
|
bl sub_0807CCB4
|
|
b _0806F248
|
|
_0806F23A:
|
|
adds r0, r4, #0
|
|
bl GetProgressFlag
|
|
adds r5, r0, #0
|
|
adds r0, r4, #0
|
|
bl sub_0807CD04
|
|
_0806F248:
|
|
cmp r5, #0
|
|
beq _0806F342
|
|
b _0806F34C
|
|
_0806F24E:
|
|
ldr r4, [r6]
|
|
asrs r1, r4, #0xc
|
|
movs r0, #0xf
|
|
ands r1, r0
|
|
ldr r0, _0806F26C @ =0x00000FFF
|
|
ands r4, r0
|
|
movs r5, #0
|
|
cmp r1, #1
|
|
beq _0806F28A
|
|
cmp r1, #1
|
|
bgt _0806F270
|
|
cmp r1, #0
|
|
beq _0806F276
|
|
b _0806F248
|
|
.align 2, 0
|
|
_0806F26C: .4byte 0x00000FFF
|
|
_0806F270:
|
|
cmp r1, #2
|
|
beq _0806F29E
|
|
b _0806F248
|
|
_0806F276:
|
|
adds r0, r4, #0
|
|
bl sub_0807CC3C
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _0806F222
|
|
adds r0, r4, #0
|
|
bl sub_0807CD8C
|
|
b _0806F248
|
|
_0806F28A:
|
|
adds r0, r4, #0
|
|
bl sub_0807CBD0
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _0806F232
|
|
adds r0, r4, #0
|
|
bl sub_0807CD34
|
|
b _0806F248
|
|
_0806F29E:
|
|
adds r0, r4, #0
|
|
bl GetProgressFlag
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _0806F2B2
|
|
adds r0, r4, #0
|
|
bl sub_0807CD04
|
|
b _0806F248
|
|
_0806F2B2:
|
|
adds r0, r4, #0
|
|
bl sub_0807CD80
|
|
b _0806F248
|
|
_0806F2BA:
|
|
ldr r4, [r6]
|
|
asrs r1, r4, #0xc
|
|
movs r0, #0xf
|
|
ands r1, r0
|
|
ldr r0, _0806F2D8 @ =0x00000FFF
|
|
ands r4, r0
|
|
movs r5, #0
|
|
cmp r1, #4
|
|
bhi _0806F248
|
|
lsls r0, r1, #2
|
|
ldr r1, _0806F2DC @ =_0806F2E0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0806F2D8: .4byte 0x00000FFF
|
|
_0806F2DC: .4byte _0806F2E0
|
|
_0806F2E0: @ jump table
|
|
.4byte _0806F2F4 @ case 0
|
|
.4byte _0806F2FC @ case 1
|
|
.4byte _0806F304 @ case 2
|
|
.4byte _0806F30C @ case 3
|
|
.4byte _0806F314 @ case 4
|
|
_0806F2F4:
|
|
adds r0, r4, #0
|
|
bl sub_0807CC3C
|
|
b _0806F320
|
|
_0806F2FC:
|
|
adds r0, r4, #0
|
|
bl sub_0807CBD0
|
|
b _0806F320
|
|
_0806F304:
|
|
adds r0, r4, #0
|
|
bl GetProgressFlag
|
|
b _0806F320
|
|
_0806F30C:
|
|
adds r0, r4, #0
|
|
bl sub_0801E7F4
|
|
b _0806F320
|
|
_0806F314:
|
|
adds r0, r4, #0
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0806F320
|
|
movs r0, #1
|
|
_0806F320:
|
|
adds r5, r0, #0
|
|
b _0806F248
|
|
_0806F324:
|
|
ldr r1, [r6, #4]
|
|
cmp r1, #0
|
|
beq _0806F332
|
|
mov r0, r8
|
|
bl _call_via_r1
|
|
b _0806F35E
|
|
_0806F332:
|
|
movs r0, #0
|
|
b _0806F34E
|
|
_0806F336:
|
|
ldr r0, _0806F348 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806F34C
|
|
_0806F342:
|
|
ldrh r0, [r6, #6]
|
|
b _0806F34E
|
|
.align 2, 0
|
|
_0806F348: .4byte gUnk_03003F80
|
|
_0806F34C:
|
|
ldrh r0, [r6, #4]
|
|
_0806F34E:
|
|
cmp r7, #0
|
|
beq _0806F35A
|
|
mov r1, r8
|
|
bl sub_08056398
|
|
b _0806F35E
|
|
_0806F35A:
|
|
bl sub_08056378
|
|
_0806F35E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0806F364
|
|
sub_0806F364: @ 0x0806F364
|
|
push {lr}
|
|
ldr r2, _0806F384 @ =gUnk_02033A90
|
|
ldrb r0, [r2, #8]
|
|
movs r1, #0x80
|
|
eors r0, r1
|
|
strb r0, [r2, #8]
|
|
ldrb r1, [r2, #8]
|
|
adds r0, r1, #7
|
|
asrs r0, r0, #3
|
|
ldr r3, _0806F388 @ =0x00000868
|
|
adds r1, r2, r3
|
|
adds r0, r0, r1
|
|
movs r1, #0x10
|
|
bl sub_0801D630
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806F384: .4byte gUnk_02033A90
|
|
_0806F388: .4byte 0x00000868
|
|
|
|
thumb_func_start sub_0806F38C
|
|
sub_0806F38C: @ 0x0806F38C
|
|
ldr r0, _0806F398 @ =gUnk_02033A90
|
|
ldrb r1, [r0, #8]
|
|
movs r2, #0x80
|
|
eors r1, r2
|
|
strb r1, [r0, #8]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806F398: .4byte gUnk_02033A90
|
|
|
|
thumb_func_start sub_0806F39C
|
|
sub_0806F39C: @ 0x0806F39C
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
ldr r2, _0806F3B8 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x14]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
adds r4, r2, #0
|
|
cmp r0, #0
|
|
beq _0806F3BC
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r3, r0]
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r4, r2]
|
|
b _0806F3C4
|
|
.align 2, 0
|
|
_0806F3B8: .4byte gLinkEntity
|
|
_0806F3BC:
|
|
movs r0, #0x32
|
|
ldrsh r1, [r3, r0]
|
|
movs r2, #0x32
|
|
ldrsh r0, [r4, r2]
|
|
_0806F3C4:
|
|
subs r1, r1, r0
|
|
cmp r1, #0
|
|
bge _0806F3CC
|
|
rsbs r1, r1, #0
|
|
_0806F3CC:
|
|
cmp r1, #0x40
|
|
bgt _0806F3D4
|
|
movs r0, #0
|
|
b _0806F3E2
|
|
_0806F3D4:
|
|
movs r0, #0x24
|
|
ldrsh r1, [r3, r0]
|
|
ldrb r2, [r3, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_080027EA
|
|
movs r0, #1
|
|
_0806F3E2:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806F3E4
|
|
sub_0806F3E4: @ 0x0806F3E4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #0x88
|
|
adds r5, r0, #0
|
|
ldr r2, _0806F408 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #0x1c]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #1
|
|
bne _0806F4E0
|
|
ldrb r0, [r2, #0x1d]
|
|
cmp r0, #2
|
|
beq _0806F420
|
|
cmp r0, #2
|
|
bgt _0806F40C
|
|
cmp r0, #1
|
|
beq _0806F416
|
|
b _0806F410
|
|
.align 2, 0
|
|
_0806F408: .4byte gUnk_03003F80
|
|
_0806F40C:
|
|
cmp r0, #3
|
|
beq _0806F42A
|
|
_0806F410:
|
|
adds r3, r5, #0
|
|
adds r3, #0x46
|
|
b _0806F436
|
|
_0806F416:
|
|
adds r1, r5, #0
|
|
adds r1, #0x46
|
|
ldrh r0, [r1]
|
|
adds r0, #0x40
|
|
b _0806F432
|
|
_0806F420:
|
|
adds r1, r5, #0
|
|
adds r1, #0x46
|
|
ldrh r0, [r1]
|
|
adds r0, #0x80
|
|
b _0806F432
|
|
_0806F42A:
|
|
adds r1, r5, #0
|
|
adds r1, #0x46
|
|
ldrh r0, [r1]
|
|
adds r0, #0xc0
|
|
_0806F432:
|
|
strh r0, [r1]
|
|
adds r3, r1, #0
|
|
_0806F436:
|
|
adds r2, r3, #0
|
|
ldrh r0, [r2]
|
|
movs r1, #0xa0
|
|
lsls r1, r1, #3
|
|
cmp r0, r1
|
|
bls _0806F444
|
|
strh r1, [r2]
|
|
_0806F444:
|
|
ldr r6, _0806F4BC @ =gLinkEntity
|
|
ldrb r0, [r6, #0x14]
|
|
movs r1, #0xe
|
|
ands r1, r0
|
|
ldr r0, _0806F4C0 @ =gUnk_08126EE4
|
|
adds r1, r1, r0
|
|
mov r2, sp
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
ldrh r4, [r6, #0x2e]
|
|
adds r0, r0, r4
|
|
strh r0, [r2, #0x2e]
|
|
movs r0, #1
|
|
ldrsb r0, [r1, r0]
|
|
ldrh r1, [r6, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r2, #0x32]
|
|
ldrh r4, [r3]
|
|
adds r0, r5, #0
|
|
mov r1, sp
|
|
bl sub_080045C4
|
|
adds r2, r0, #0
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806F5BC
|
|
mov r0, sp
|
|
adds r1, r5, #0
|
|
movs r2, #4
|
|
movs r3, #4
|
|
bl sub_0800419C
|
|
cmp r0, #0
|
|
beq _0806F4E0
|
|
ldrb r0, [r5, #0x1c]
|
|
movs r1, #0xf
|
|
ands r1, r0
|
|
cmp r1, #2
|
|
bne _0806F4C8
|
|
movs r0, #3
|
|
strb r0, [r5, #0xd]
|
|
str r5, [r6, #0x70]
|
|
ldr r1, _0806F4C4 @ =gUnk_03003F80
|
|
movs r0, #7
|
|
strb r0, [r1, #0x1c]
|
|
movs r0, #0x11
|
|
movs r1, #0
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_08077CB8
|
|
cmp r0, #0
|
|
beq _0806F4B4
|
|
str r5, [r0, #0x54]
|
|
str r0, [r5, #0x50]
|
|
_0806F4B4:
|
|
movs r0, #0xed
|
|
bl sub_080A3268
|
|
b _0806F4D8
|
|
.align 2, 0
|
|
_0806F4BC: .4byte gLinkEntity
|
|
_0806F4C0: .4byte gUnk_08126EE4
|
|
_0806F4C4: .4byte gUnk_03003F80
|
|
_0806F4C8:
|
|
cmp r1, #1
|
|
bne _0806F4D8
|
|
ldr r0, _0806F4DC @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x2c]
|
|
strb r1, [r0, #0xa]
|
|
movs r0, #0xef
|
|
bl sub_080A3268
|
|
_0806F4D8:
|
|
movs r0, #1
|
|
b _0806F4E2
|
|
.align 2, 0
|
|
_0806F4DC: .4byte gUnk_03003F80
|
|
_0806F4E0:
|
|
movs r0, #0
|
|
_0806F4E2:
|
|
add sp, #0x88
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F4E8
|
|
sub_0806F4E8: @ 0x0806F4E8
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0x1d]
|
|
movs r2, #3
|
|
ands r2, r0
|
|
cmp r2, #1
|
|
beq _0806F516
|
|
cmp r2, #1
|
|
bgt _0806F500
|
|
cmp r2, #0
|
|
beq _0806F510
|
|
b _0806F51C
|
|
_0806F500:
|
|
cmp r2, #2
|
|
beq _0806F50A
|
|
cmp r2, #3
|
|
beq _0806F516
|
|
b _0806F51C
|
|
_0806F50A:
|
|
adds r1, #0x62
|
|
movs r0, #0xfe
|
|
b _0806F51A
|
|
_0806F510:
|
|
adds r1, #0x62
|
|
movs r0, #2
|
|
b _0806F51A
|
|
_0806F516:
|
|
adds r1, #0x62
|
|
movs r0, #0
|
|
_0806F51A:
|
|
strb r0, [r1]
|
|
_0806F51C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F520
|
|
sub_0806F520: @ 0x0806F520
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x41
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x93
|
|
beq _0806F544
|
|
adds r3, r2, #0
|
|
adds r3, #0x3a
|
|
ldrb r1, [r3]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
movs r1, #0
|
|
strb r0, [r3]
|
|
adds r0, r2, #0
|
|
adds r0, #0x63
|
|
strb r1, [r0]
|
|
movs r0, #0
|
|
b _0806F546
|
|
_0806F544:
|
|
movs r0, #1
|
|
_0806F546:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806F548
|
|
sub_0806F548: @ 0x0806F548
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_080041A0
|
|
cmp r0, #0
|
|
bne _0806F55A
|
|
movs r0, #0
|
|
b _0806F562
|
|
_0806F55A:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806F58C
|
|
_0806F562:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806F564
|
|
sub_0806F564: @ 0x0806F564
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
adds r3, r2, #0
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
adds r2, r5, #0
|
|
bl sub_080045D4
|
|
bl sub_0806F5A4
|
|
movs r2, #0
|
|
ldrb r1, [r4, #0x14]
|
|
cmp r1, r0
|
|
bne _0806F588
|
|
movs r2, #1
|
|
_0806F588:
|
|
adds r0, r2, #0
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806F58C
|
|
sub_0806F58C: @ 0x0806F58C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806FCA0
|
|
movs r2, #0
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
cmp r1, r0
|
|
bne _0806F5A0
|
|
movs r2, #1
|
|
_0806F5A0:
|
|
adds r0, r2, #0
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806F5A4
|
|
sub_0806F5A4: @ 0x0806F5A4
|
|
ldr r1, _0806F5AC @ =gUnk_08114F38
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806F5AC: .4byte gUnk_08114F38
|
|
|
|
thumb_func_start sub_0806F5B0
|
|
sub_0806F5B0: @ 0x0806F5B0
|
|
ldr r1, _0806F5B8 @ =gUnk_08114F58
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806F5B8: .4byte gUnk_08114F58
|
|
|
|
thumb_func_start sub_0806F5BC
|
|
sub_0806F5BC: @ 0x0806F5BC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r7, r0, #0
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _0806F620
|
|
ldr r0, _0806F628 @ =gUnk_080C9160
|
|
mov r8, r0
|
|
lsls r4, r2, #3
|
|
lsls r0, r2, #4
|
|
add r0, r8
|
|
movs r2, #0
|
|
ldrsh r0, [r0, r2]
|
|
lsls r5, r1, #0x10
|
|
asrs r5, r5, #0x10
|
|
adds r1, r5, #0
|
|
bl sub_0806F9EC
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r6, #0x80
|
|
lsls r6, r6, #1
|
|
adds r1, r6, #0
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
ldr r1, [r7, #0x2c]
|
|
adds r1, r1, r0
|
|
str r1, [r7, #0x2c]
|
|
adds r4, #0x40
|
|
lsls r4, r4, #1
|
|
add r4, r8
|
|
movs r1, #0
|
|
ldrsh r0, [r4, r1]
|
|
adds r1, r5, #0
|
|
bl sub_0806F9EC
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
adds r1, r6, #0
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
ldr r1, [r7, #0x30]
|
|
subs r1, r1, r0
|
|
str r1, [r7, #0x30]
|
|
_0806F620:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806F628: .4byte gUnk_080C9160
|
|
|
|
thumb_func_start sub_0806F62C
|
|
sub_0806F62C: @ 0x0806F62C
|
|
push {r4, r5, r6, lr}
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
adds r4, r2, #0
|
|
ldr r0, _0806F698 @ =gUnk_080C9160
|
|
mov sb, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
lsls r0, r4, #1
|
|
add r0, sb
|
|
movs r1, #0
|
|
ldrsh r0, [r0, r1]
|
|
lsls r5, r5, #0x10
|
|
asrs r5, r5, #0x10
|
|
adds r1, r5, #0
|
|
bl sub_0806F9EC
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
mov r8, r1
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
ldr r1, [r6, #0x2c]
|
|
adds r1, r1, r0
|
|
str r1, [r6, #0x2c]
|
|
adds r4, #0x40
|
|
lsls r4, r4, #1
|
|
add r4, sb
|
|
movs r1, #0
|
|
ldrsh r0, [r4, r1]
|
|
adds r1, r5, #0
|
|
bl sub_0806F9EC
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
mov r1, r8
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
ldr r1, [r6, #0x30]
|
|
subs r1, r1, r0
|
|
str r1, [r6, #0x30]
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806F698: .4byte gUnk_080C9160
|
|
|
|
thumb_func_start sub_0806F69C
|
|
sub_0806F69C: @ 0x0806F69C
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
ldrb r1, [r6, #0x15]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806F6FE
|
|
ldr r5, _0806F700 @ =gUnk_080C9160
|
|
ldrb r0, [r6, #0x15]
|
|
lsls r0, r0, #4
|
|
adds r0, r0, r5
|
|
movs r1, #0
|
|
ldrsh r0, [r0, r1]
|
|
movs r2, #0x24
|
|
ldrsh r1, [r6, r2]
|
|
bl sub_0806F9EC
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
movs r4, #0x80
|
|
lsls r4, r4, #1
|
|
adds r1, r4, #0
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
ldr r1, [r6, #0x2c]
|
|
adds r1, r1, r0
|
|
str r1, [r6, #0x2c]
|
|
ldrb r0, [r6, #0x15]
|
|
lsls r0, r0, #4
|
|
adds r0, #0x80
|
|
adds r0, r0, r5
|
|
movs r1, #0
|
|
ldrsh r0, [r0, r1]
|
|
movs r2, #0x24
|
|
ldrsh r1, [r6, r2]
|
|
bl sub_0806F9EC
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
adds r1, r4, #0
|
|
bl sub_0806FA04
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
ldr r1, [r6, #0x30]
|
|
subs r1, r1, r0
|
|
str r1, [r6, #0x30]
|
|
_0806F6FE:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806F700: .4byte gUnk_080C9160
|
|
|
|
thumb_func_start sub_0806F704
|
|
sub_0806F704: @ 0x0806F704
|
|
push {r4, r5, r6, lr}
|
|
lsls r3, r1, #4
|
|
movs r2, #0xfc
|
|
lsls r2, r2, #2
|
|
adds r6, r2, #0
|
|
ands r3, r6
|
|
movs r5, #8
|
|
orrs r3, r5
|
|
ldr r4, _0806F72C @ =gUnk_03000BF0
|
|
ldrh r2, [r4, #6]
|
|
adds r2, r2, r3
|
|
strh r2, [r0, #0x2e]
|
|
lsrs r1, r1, #2
|
|
ands r1, r6
|
|
orrs r1, r5
|
|
ldrh r2, [r4, #8]
|
|
adds r2, r2, r1
|
|
strh r2, [r0, #0x32]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806F72C: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0806F730
|
|
sub_0806F730: @ 0x0806F730
|
|
push {r4, r5, r6, lr}
|
|
movs r6, #0x3f
|
|
movs r1, #0x2e
|
|
ldrsh r2, [r0, r1]
|
|
ldr r4, [r0, #0x48]
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
adds r2, r2, r1
|
|
ldr r3, _0806F764 @ =gUnk_03000BF0
|
|
ldrh r1, [r3, #6]
|
|
subs r5, r2, r1
|
|
movs r2, #0x32
|
|
ldrsh r1, [r0, r2]
|
|
movs r2, #1
|
|
ldrsb r2, [r4, r2]
|
|
adds r1, r1, r2
|
|
ldrh r2, [r3, #8]
|
|
subs r1, r1, r2
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r0, #2
|
|
beq _0806F77E
|
|
cmp r0, #2
|
|
bgt _0806F768
|
|
cmp r0, #0
|
|
beq _0806F772
|
|
b _0806F788
|
|
.align 2, 0
|
|
_0806F764: .4byte gUnk_03000BF0
|
|
_0806F768:
|
|
cmp r0, #4
|
|
beq _0806F778
|
|
cmp r0, #6
|
|
beq _0806F784
|
|
b _0806F788
|
|
_0806F772:
|
|
ldrb r0, [r4, #5]
|
|
subs r1, r1, r0
|
|
b _0806F788
|
|
_0806F778:
|
|
ldrb r0, [r4, #5]
|
|
adds r1, r1, r0
|
|
b _0806F788
|
|
_0806F77E:
|
|
ldrb r0, [r4, #2]
|
|
adds r5, r5, r0
|
|
b _0806F788
|
|
_0806F784:
|
|
ldrb r0, [r4, #2]
|
|
subs r5, r5, r0
|
|
_0806F788:
|
|
lsrs r0, r5, #4
|
|
ands r0, r6
|
|
lsrs r1, r1, #4
|
|
ands r1, r6
|
|
lsls r1, r1, #6
|
|
adds r0, r0, r1
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F798
|
|
sub_0806F798: @ 0x0806F798
|
|
push {r4, r5, lr}
|
|
adds r2, r0, #0
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r2, r1]
|
|
ldr r4, [r2, #0x48]
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
adds r0, r0, r1
|
|
ldr r3, _0806F7CC @ =gUnk_03000BF0
|
|
ldrh r1, [r3, #6]
|
|
subs r0, r0, r1
|
|
movs r5, #0x32
|
|
ldrsh r1, [r2, r5]
|
|
movs r2, #1
|
|
ldrsb r2, [r4, r2]
|
|
adds r1, r1, r2
|
|
ldrh r2, [r3, #8]
|
|
subs r1, r1, r2
|
|
movs r2, #0x3f
|
|
lsrs r0, r0, #4
|
|
ands r0, r2
|
|
lsrs r1, r1, #4
|
|
ands r1, r2
|
|
lsls r1, r1, #6
|
|
adds r0, r0, r1
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806F7CC: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0806F7D0
|
|
sub_0806F7D0: @ 0x0806F7D0
|
|
push {r4, lr}
|
|
ldr r4, _0806F7E4 @ =gUnk_02025EB0
|
|
bl sub_0806F730
|
|
ldr r1, _0806F7E8 @ =0x00002004
|
|
adds r4, r4, r1
|
|
adds r0, r0, r4
|
|
ldrb r0, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806F7E4: .4byte gUnk_02025EB0
|
|
_0806F7E8: .4byte 0x00002004
|
|
|
|
thumb_func_start sub_0806F7EC
|
|
sub_0806F7EC: @ 0x0806F7EC
|
|
push {r4, lr}
|
|
ldr r4, _0806F800 @ =gUnk_02025EB0
|
|
bl sub_0806F730
|
|
lsls r0, r0, #1
|
|
adds r4, #4
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806F800: .4byte gUnk_02025EB0
|
|
|
|
thumb_func_start sub_0806F804
|
|
sub_0806F804: @ 0x0806F804
|
|
lsrs r0, r0, #4
|
|
movs r2, #0x3f
|
|
ands r0, r2
|
|
movs r2, #0xfc
|
|
lsls r2, r2, #2
|
|
ands r2, r1
|
|
lsls r2, r2, #2
|
|
adds r0, r0, r2
|
|
ldr r1, _0806F820 @ =gUnk_02025EB0
|
|
lsls r0, r0, #1
|
|
adds r1, #4
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806F820: .4byte gUnk_02025EB0
|
|
|
|
thumb_func_start sub_0806F824
|
|
sub_0806F824: @ 0x0806F824
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
adds r4, r2, #0
|
|
adds r5, r3, #0
|
|
movs r2, #0x2e
|
|
ldrsh r6, [r0, r2]
|
|
movs r2, #0x32
|
|
ldrsh r3, [r0, r2]
|
|
mov r8, r3
|
|
movs r3, #0x2e
|
|
ldrsh r2, [r1, r3]
|
|
adds r2, r2, r4
|
|
movs r0, #0x32
|
|
ldrsh r3, [r1, r0]
|
|
adds r3, r3, r5
|
|
adds r0, r6, #0
|
|
mov r1, r8
|
|
bl sub_080045D4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F854
|
|
sub_0806F854: @ 0x0806F854
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r3, r1, #0
|
|
adds r6, r2, #0
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
beq _0806F8D6
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806F8D6
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
adds r0, r0, r3
|
|
ldr r2, _0806F8BC @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r5, #0x3f
|
|
ands r0, r5
|
|
movs r3, #0x32
|
|
ldrsh r1, [r4, r3]
|
|
adds r1, r1, r6
|
|
ldrh r2, [r2, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r5
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
movs r1, #2
|
|
movs r2, #8
|
|
bl sub_080002F0
|
|
cmp r0, #0
|
|
beq _0806F8C0
|
|
ldrb r1, [r4, #0x19]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
movs r2, #0x80
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x19]
|
|
ldrb r1, [r4, #0x1b]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x1b]
|
|
movs r0, #1
|
|
b _0806F8D8
|
|
.align 2, 0
|
|
_0806F8BC: .4byte gUnk_03000BF0
|
|
_0806F8C0:
|
|
ldrb r1, [r4, #0x19]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x19]
|
|
ldrb r1, [r4, #0x1b]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x1b]
|
|
_0806F8D6:
|
|
movs r0, #0
|
|
_0806F8D8:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F8DC
|
|
sub_0806F8DC: @ 0x0806F8DC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r4, #0
|
|
adds r5, #0x38
|
|
ldrb r1, [r5]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806F942
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
subs r1, #4
|
|
movs r2, #2
|
|
bl sub_080002A4
|
|
cmp r0, #0
|
|
beq _0806F91C
|
|
ldrb r2, [r4, #0x19]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x80
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x19]
|
|
ldrb r0, [r4, #0x1b]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x1b]
|
|
movs r0, #1
|
|
b _0806F944
|
|
_0806F91C:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
subs r1, #4
|
|
ldrb r2, [r5]
|
|
bl sub_080002A4
|
|
ldrb r2, [r4, #0x19]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x19]
|
|
ldrb r0, [r4, #0x1b]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x1b]
|
|
_0806F942:
|
|
movs r0, #0
|
|
_0806F944:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F948
|
|
sub_0806F948: @ 0x0806F948
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0806F974 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #0xd]
|
|
cmp r0, #0xff
|
|
beq _0806F994
|
|
ldrb r0, [r1, #0xd]
|
|
lsrs r3, r0, #2
|
|
movs r0, #1
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _0806F978
|
|
ldrb r2, [r4, #0x14]
|
|
subs r0, r2, #1
|
|
subs r0, r3, r0
|
|
movs r1, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806F978
|
|
adds r0, r2, #0
|
|
b _0806F996
|
|
.align 2, 0
|
|
_0806F974: .4byte gUnk_03003F80
|
|
_0806F978:
|
|
movs r2, #0
|
|
cmp r3, #4
|
|
bls _0806F980
|
|
movs r2, #1
|
|
_0806F980:
|
|
lsls r2, r2, #6
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #6
|
|
ands r3, r0
|
|
strb r3, [r4, #0x14]
|
|
_0806F994:
|
|
ldrb r0, [r4, #0x14]
|
|
_0806F996:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806F998
|
|
sub_0806F998: @ 0x0806F998
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
ldrb r4, [r2, #0x14]
|
|
ldrb r1, [r2, #0x15]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806F9E6
|
|
movs r0, #0x1c
|
|
ands r0, r1
|
|
lsrs r3, r0, #2
|
|
movs r1, #1
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806F9C4
|
|
subs r0, r3, r4
|
|
adds r0, #1
|
|
movs r1, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806F9E6
|
|
_0806F9C4:
|
|
ldrb r0, [r2, #0x15]
|
|
lsrs r0, r0, #2
|
|
movs r1, #0x7e
|
|
ands r0, r1
|
|
strb r0, [r2, #0x14]
|
|
adds r4, r0, #0
|
|
cmp r4, #4
|
|
bhi _0806F9DE
|
|
ldrb r1, [r2, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
b _0806F9E4
|
|
_0806F9DE:
|
|
ldrb r0, [r2, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
_0806F9E4:
|
|
strb r0, [r2, #0x18]
|
|
_0806F9E6:
|
|
adds r0, r4, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806F9EC
|
|
sub_0806F9EC: @ 0x0806F9EC
|
|
push {lr}
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
lsls r1, r1, #0x10
|
|
asrs r1, r1, #0x10
|
|
muls r0, r1, r0
|
|
cmp r0, #0
|
|
bge _0806F9FE
|
|
adds r0, #0xff
|
|
_0806F9FE:
|
|
lsls r0, r0, #8
|
|
asrs r0, r0, #0x10
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806FA04
|
|
sub_0806FA04: @ 0x0806FA04
|
|
push {lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r1, #0x10
|
|
asrs r1, r1, #0x10
|
|
cmp r1, #0
|
|
beq _0806FA20
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #8
|
|
bl __divsi3
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
b _0806FA22
|
|
_0806FA20:
|
|
movs r0, #0
|
|
_0806FA22:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806FA24
|
|
sub_0806FA24: @ 0x0806FA24
|
|
push {lr}
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_0806FA48
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806FA30
|
|
sub_0806FA30: @ 0x0806FA30
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_0806FA48
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806FAB0
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806FA48
|
|
sub_0806FA48: @ 0x0806FA48
|
|
push {r4, lr}
|
|
ldr r4, [r0, #0x2c]
|
|
adds r4, r4, r2
|
|
str r4, [r1, #0x2c]
|
|
ldr r2, [r0, #0x30]
|
|
adds r2, r2, r3
|
|
str r2, [r1, #0x30]
|
|
ldr r2, [r0, #0x34]
|
|
str r2, [r1, #0x34]
|
|
adds r0, #0x38
|
|
ldrb r2, [r0]
|
|
adds r0, r1, #0
|
|
adds r0, #0x38
|
|
strb r2, [r0]
|
|
adds r0, r1, #0
|
|
bl sub_08016A04
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806FA6C
|
|
sub_0806FA6C: @ 0x0806FA6C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r2, #0x62
|
|
ldrb r2, [r2]
|
|
adds r3, r1, #0
|
|
adds r3, #0x62
|
|
strb r2, [r3]
|
|
adds r2, r0, #0
|
|
adds r2, #0x63
|
|
ldrb r2, [r2]
|
|
adds r3, #1
|
|
strb r2, [r3]
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_0806FA48
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806FA90
|
|
sub_0806FA90: @ 0x0806FA90
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r4, #0x62
|
|
ldrb r4, [r4]
|
|
movs r5, #0x62
|
|
strb r4, [r5, r1]
|
|
adds r4, r0, #0
|
|
adds r4, #0x63
|
|
ldrb r4, [r4]
|
|
movs r5, #0x63
|
|
strb r4, [r5, r1]
|
|
lsls r2, r2, #0x10
|
|
lsls r3, r3, #0x10
|
|
bl sub_0806FA48
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806FAB0
|
|
sub_0806FAB0: @ 0x0806FAB0
|
|
ldr r2, _0806FAD4 @ =gUnk_08114F78
|
|
adds r0, #0x29
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x1d
|
|
lsrs r0, r0, #0x1d
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
adds r1, #0x29
|
|
movs r2, #7
|
|
ands r2, r0
|
|
ldrb r3, [r1]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806FAD4: .4byte gUnk_08114F78
|
|
|
|
thumb_func_start sub_0806FAD8
|
|
sub_0806FAD8: @ 0x0806FAD8
|
|
ldr r2, _0806FAFC @ =gUnk_08114F80
|
|
adds r0, #0x29
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x1d
|
|
lsrs r0, r0, #0x1d
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
adds r1, #0x29
|
|
movs r2, #7
|
|
ands r2, r0
|
|
ldrb r3, [r1]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806FAFC: .4byte gUnk_08114F80
|
|
|
|
thumb_func_start sub_0806FB00
|
|
sub_0806FB00: @ 0x0806FB00
|
|
push {r4, lr}
|
|
mov ip, r0
|
|
adds r4, r1, #0
|
|
cmp r3, #0
|
|
bne _0806FB0C
|
|
movs r3, #1
|
|
_0806FB0C:
|
|
mov r1, ip
|
|
adds r1, #0x7e
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
mov r0, ip
|
|
adds r0, #0x7f
|
|
strb r3, [r0]
|
|
mov r0, ip
|
|
ldrh r1, [r0, #0x2e]
|
|
adds r0, #0x80
|
|
strh r1, [r0]
|
|
mov r1, ip
|
|
ldrh r0, [r1, #0x32]
|
|
adds r1, #0x82
|
|
strh r0, [r1]
|
|
mov r0, ip
|
|
adds r0, #0x84
|
|
strh r4, [r0]
|
|
adds r0, #2
|
|
strh r2, [r0]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806FB38
|
|
sub_0806FB38: @ 0x0806FB38
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r5, #0
|
|
adds r6, #0x7e
|
|
adds r7, r5, #0
|
|
adds r7, #0x7f
|
|
ldrb r0, [r6]
|
|
ldrb r1, [r7]
|
|
cmp r0, r1
|
|
bhs _0806FBA0
|
|
adds r0, #1
|
|
strb r0, [r6]
|
|
adds r0, r5, #0
|
|
adds r0, #0x84
|
|
movs r2, #0
|
|
ldrsh r1, [r0, r2]
|
|
adds r4, r5, #0
|
|
adds r4, #0x80
|
|
movs r2, #0
|
|
ldrsh r0, [r4, r2]
|
|
subs r1, r1, r0
|
|
ldrb r0, [r6]
|
|
muls r0, r1, r0
|
|
lsls r0, r0, #8
|
|
ldrb r1, [r7]
|
|
bl __divsi3
|
|
asrs r0, r0, #8
|
|
ldrh r4, [r4]
|
|
adds r0, r0, r4
|
|
strh r0, [r5, #0x2e]
|
|
adds r0, r5, #0
|
|
adds r0, #0x86
|
|
movs r2, #0
|
|
ldrsh r1, [r0, r2]
|
|
adds r4, r5, #0
|
|
adds r4, #0x82
|
|
movs r2, #0
|
|
ldrsh r0, [r4, r2]
|
|
subs r1, r1, r0
|
|
ldrb r0, [r6]
|
|
muls r0, r1, r0
|
|
lsls r0, r0, #8
|
|
ldrb r1, [r7]
|
|
bl __divsi3
|
|
asrs r0, r0, #8
|
|
ldrh r4, [r4]
|
|
adds r0, r0, r4
|
|
strh r0, [r5, #0x32]
|
|
movs r0, #0
|
|
b _0806FBB2
|
|
_0806FBA0:
|
|
adds r0, r5, #0
|
|
adds r0, #0x84
|
|
ldrh r0, [r0]
|
|
strh r0, [r5, #0x2e]
|
|
adds r0, r5, #0
|
|
adds r0, #0x86
|
|
ldrh r0, [r0]
|
|
strh r0, [r5, #0x32]
|
|
movs r0, #1
|
|
_0806FBB2:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0806FBB4
|
|
sub_0806FBB4: @ 0x0806FBB4
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _0806FBD0 @ =gUnk_030010A0
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #0
|
|
bne _0806FBC8
|
|
ldr r0, _0806FBD4 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #0
|
|
bne _0806FBCC
|
|
_0806FBC8:
|
|
movs r0, #6
|
|
strb r0, [r1, #0xd]
|
|
_0806FBCC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806FBD0: .4byte gUnk_030010A0
|
|
_0806FBD4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0806FBD8
|
|
sub_0806FBD8: @ 0x0806FBD8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_0806FBEC
|
|
movs r0, #0xc
|
|
bl sub_0801D8E0
|
|
str r0, [r4, #0x48]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806FBEC
|
|
sub_0806FBEC: @ 0x0806FBEC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #0x48]
|
|
bl sub_0801DA0C
|
|
movs r0, #0
|
|
str r0, [r4, #0x48]
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806FBFC
|
|
sub_0806FBFC: @ 0x0806FBFC
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r3, #0
|
|
ldr r4, _0806FC20 @ =gLinkEntity
|
|
movs r6, #0x2e
|
|
ldrsh r3, [r4, r6]
|
|
subs r3, r3, r0
|
|
movs r6, #0x32
|
|
ldrsh r0, [r4, r6]
|
|
subs r0, r0, r1
|
|
movs r1, #0
|
|
cmp r3, r2
|
|
bhs _0806FC1A
|
|
cmp r0, r5
|
|
bhs _0806FC1A
|
|
movs r1, #1
|
|
_0806FC1A:
|
|
adds r0, r1, #0
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806FC20: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806FC24
|
|
sub_0806FC24: @ 0x0806FC24
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
ldr r1, _0806FC44 @ =gUnk_080046A4
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _0806FC4C
|
|
lsls r0, r0, #3
|
|
ldr r1, _0806FC48 @ =gUnk_080047F6
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
asrs r0, r4
|
|
movs r1, #1
|
|
ands r0, r1
|
|
b _0806FC4E
|
|
.align 2, 0
|
|
_0806FC44: .4byte gUnk_080046A4
|
|
_0806FC48: .4byte gUnk_080047F6
|
|
_0806FC4C:
|
|
movs r0, #0
|
|
_0806FC4E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806FC50
|
|
sub_0806FC50: @ 0x0806FC50
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
ldr r1, _0806FC74 @ =gUnk_080046A4
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _0806FC70
|
|
ldr r1, _0806FC78 @ =gUnk_080047F6
|
|
lsls r0, r0, #3
|
|
adds r2, r0, r1
|
|
ldrh r0, [r2]
|
|
asrs r0, r4
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806FC7C
|
|
_0806FC70:
|
|
movs r0, #0
|
|
b _0806FC7E
|
|
.align 2, 0
|
|
_0806FC74: .4byte gUnk_080046A4
|
|
_0806FC78: .4byte gUnk_080047F6
|
|
_0806FC7C:
|
|
adds r0, r2, #0
|
|
_0806FC7E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806FC80
|
|
sub_0806FC80: @ 0x0806FC80
|
|
push {r4, r5, lr}
|
|
lsls r4, r2, #4
|
|
movs r2, #0x2e
|
|
ldrsh r3, [r1, r2]
|
|
movs r5, #0x32
|
|
ldrsh r2, [r1, r5]
|
|
adds r1, r3, #0
|
|
bl sub_080041DC
|
|
cmp r4, r0
|
|
bhs _0806FC9A
|
|
movs r0, #0
|
|
b _0806FC9C
|
|
_0806FC9A:
|
|
movs r0, #1
|
|
_0806FC9C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806FCA0
|
|
sub_0806FCA0: @ 0x0806FCA0
|
|
push {lr}
|
|
bl sub_080045C4
|
|
bl sub_0806F5A4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806FCAC
|
|
sub_0806FCAC: @ 0x0806FCAC
|
|
push {lr}
|
|
bl sub_080045C4
|
|
bl sub_0806F5B0
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0806FCB8
|
|
sub_0806FCB8: @ 0x0806FCB8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r5, #0x2e
|
|
ldrsh r0, [r4, r5]
|
|
subs r0, r0, r1
|
|
movs r5, #0x32
|
|
ldrsh r1, [r4, r5]
|
|
subs r1, r1, r2
|
|
adds r2, r3, #0
|
|
bl sub_0806FCD0
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0806FCD0
|
|
sub_0806FCD0: @ 0x0806FCD0
|
|
push {r4, lr}
|
|
movs r3, #0
|
|
adds r4, r2, #0
|
|
muls r4, r2, r4
|
|
adds r2, r4, #0
|
|
adds r4, r0, #0
|
|
muls r4, r0, r4
|
|
adds r0, r4, #0
|
|
adds r4, r1, #0
|
|
muls r4, r1, r4
|
|
adds r1, r4, #0
|
|
adds r0, r0, r1
|
|
cmp r2, r0
|
|
blt _0806FCEE
|
|
movs r3, #1
|
|
_0806FCEE:
|
|
adds r0, r3, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806FCF4
|
|
sub_0806FCF4: @ 0x0806FCF4
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r2, #0
|
|
adds r5, r3, #0
|
|
movs r2, #0
|
|
cmp r1, #0
|
|
bge _0806FD04
|
|
rsbs r1, r1, #0
|
|
_0806FD04:
|
|
cmp r4, #0
|
|
beq _0806FD1A
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
bl __divsi3
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
muls r0, r1, r0
|
|
lsrs r1, r0, #8
|
|
subs r2, r4, r1
|
|
_0806FD1A:
|
|
cmp r5, #0
|
|
beq _0806FD22
|
|
cmp r5, #3
|
|
bne _0806FD24
|
|
_0806FD22:
|
|
rsbs r2, r2, #0
|
|
_0806FD24:
|
|
cmp r5, #0
|
|
beq _0806FD2C
|
|
cmp r5, #2
|
|
bne _0806FD32
|
|
_0806FD2C:
|
|
adds r0, r6, #0
|
|
adds r0, #0x63
|
|
b _0806FD36
|
|
_0806FD32:
|
|
adds r0, r6, #0
|
|
adds r0, #0x62
|
|
_0806FD36:
|
|
strb r2, [r0]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0806FD3C
|
|
sub_0806FD3C: @ 0x0806FD3C
|
|
ldrb r2, [r0, #0x18]
|
|
movs r1, #0x31
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
strb r1, [r0, #0x18]
|
|
adds r0, #0x29
|
|
ldrb r2, [r0]
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
strb r1, [r0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0806FD54
|
|
sub_0806FD54: @ 0x0806FD54
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _0806FD6C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806FD70
|
|
movs r0, #0
|
|
b _0806FD84
|
|
.align 2, 0
|
|
_0806FD6C: .4byte gUnk_03003F80
|
|
_0806FD70:
|
|
ldr r0, _0806FD88 @ =gLinkEntity
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r0, r2]
|
|
movs r4, #0x32
|
|
ldrsh r2, [r0, r4]
|
|
subs r2, #9
|
|
adds r0, r3, #0
|
|
movs r3, #0x48
|
|
bl sub_0806FCB8
|
|
_0806FD84:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806FD88: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0806FD8C
|
|
sub_0806FD8C: @ 0x0806FD8C
|
|
push {lr}
|
|
ldr r0, _0806FD9C @ =gUnk_020000C0
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #4
|
|
bl sub_0801D630
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806FD9C: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FDA0
|
|
sub_0806FDA0: @ 0x0806FDA0
|
|
push {r4, lr}
|
|
movs r3, #1
|
|
ldr r1, _0806FDD8 @ =gUnk_020000C0
|
|
movs r4, #0xff
|
|
movs r2, #0x61
|
|
adds r2, r2, r1
|
|
mov ip, r2
|
|
adds r2, r1, #0
|
|
adds r2, #0x40
|
|
adds r1, r0, #0
|
|
adds r1, #0x28
|
|
_0806FDB6:
|
|
ldrb r0, [r2]
|
|
lsls r0, r0, #0x1f
|
|
cmp r0, #0
|
|
bne _0806FDDC
|
|
strb r3, [r1]
|
|
ldrb r0, [r2]
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
strb r4, [r2, #1]
|
|
strb r4, [r2, #0x11]
|
|
mov r0, ip
|
|
strb r4, [r0]
|
|
strb r4, [r0, #0x10]
|
|
movs r0, #1
|
|
b _0806FDEA
|
|
.align 2, 0
|
|
_0806FDD8: .4byte gUnk_020000C0
|
|
_0806FDDC:
|
|
movs r0, #0x40
|
|
add ip, r0
|
|
adds r2, #0x40
|
|
adds r3, #1
|
|
cmp r3, #0x2f
|
|
bls _0806FDB6
|
|
movs r0, #0
|
|
_0806FDEA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0806FDEC
|
|
sub_0806FDEC: @ 0x0806FDEC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
bl sub_0806FDA0
|
|
cmp r0, #0
|
|
bne _0806FE02
|
|
movs r0, #0
|
|
b _0806FE74
|
|
_0806FE02:
|
|
adds r0, r6, #0
|
|
bl sub_0801D230
|
|
adds r0, r6, #0
|
|
adds r0, #0x28
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #6
|
|
ldr r1, _0806FE7C @ =gUnk_020000C0
|
|
adds r5, r0, r1
|
|
movs r7, #0
|
|
ldrh r1, [r4, #2]
|
|
ldr r0, _0806FE80 @ =0x000003FF
|
|
ands r0, r1
|
|
movs r1, #0x27
|
|
adds r1, r1, r6
|
|
mov r8, r1
|
|
cmp r0, #0
|
|
beq _0806FE6C
|
|
_0806FE26:
|
|
ldr r1, [r4]
|
|
lsls r1, r1, #0x16
|
|
lsrs r1, r1, #0x16
|
|
adds r0, r6, #0
|
|
bl sub_0801D040
|
|
adds r2, r0, #0
|
|
ldr r3, [r4]
|
|
lsls r1, r3, #6
|
|
lsrs r1, r1, #0x16
|
|
lsls r3, r3, #0x10
|
|
lsrs r3, r3, #0x1a
|
|
adds r0, r5, #0
|
|
bl sub_0806FEE8
|
|
ldrb r1, [r4, #3]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0806FE56
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_0806FEFC
|
|
_0806FE56:
|
|
adds r5, #0x10
|
|
adds r4, #4
|
|
adds r7, #1
|
|
cmp r7, #3
|
|
bhi _0806FE6C
|
|
ldrh r1, [r4, #2]
|
|
ldr r2, _0806FE80 @ =0x000003FF
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0806FE26
|
|
_0806FE6C:
|
|
movs r0, #0
|
|
mov r1, r8
|
|
strb r0, [r1]
|
|
movs r0, #1
|
|
_0806FE74:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0806FE7C: .4byte gUnk_020000C0
|
|
_0806FE80: .4byte 0x000003FF
|
|
|
|
thumb_func_start sub_0806FE84
|
|
sub_0806FE84: @ 0x0806FE84
|
|
push {r4, r5, r6, lr}
|
|
adds r0, #0x28
|
|
ldrb r2, [r0]
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
subs r0, r2, #1
|
|
cmp r0, #0x7e
|
|
bhi _0806FEB4
|
|
lsls r1, r2, #6
|
|
ldr r0, _0806FEB8 @ =gUnk_020000C0
|
|
adds r6, r1, r0
|
|
movs r5, #0
|
|
adds r4, r6, #0
|
|
_0806FE9E:
|
|
ldrb r0, [r4, #5]
|
|
bl sub_0801D244
|
|
adds r4, #0x10
|
|
adds r5, #1
|
|
cmp r5, #3
|
|
bls _0806FE9E
|
|
adds r0, r6, #0
|
|
movs r1, #0x40
|
|
bl sub_0801D630
|
|
_0806FEB4:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806FEB8: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FEBC
|
|
sub_0806FEBC: @ 0x0806FEBC
|
|
adds r0, #0x28
|
|
ldrb r3, [r0]
|
|
lsls r3, r3, #6
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806FEE4 @ =gUnk_020000C0
|
|
adds r1, r1, r0
|
|
adds r3, r3, r1
|
|
movs r0, #0
|
|
str r0, [r3]
|
|
str r0, [r3, #4]
|
|
str r0, [r3, #8]
|
|
str r2, [r3, #0xc]
|
|
ldrb r0, [r3]
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806FEE4: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FEE8
|
|
sub_0806FEE8: @ 0x0806FEE8
|
|
strb r3, [r0, #8]
|
|
strh r1, [r0, #2]
|
|
strb r2, [r0, #5]
|
|
ldrb r1, [r0]
|
|
movs r2, #8
|
|
orrs r1, r2
|
|
movs r2, #1
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0806FEFC
|
|
sub_0806FEFC: @ 0x0806FEFC
|
|
adds r1, #0x60
|
|
ldrh r1, [r1]
|
|
ldrb r2, [r0, #8]
|
|
adds r1, r1, r2
|
|
strh r1, [r0, #0xa]
|
|
ldrb r1, [r0]
|
|
movs r2, #4
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0806FF10
|
|
sub_0806FF10: @ 0x0806FF10
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r5, r2, #0
|
|
adds r0, #0x28
|
|
ldrb r2, [r0]
|
|
lsls r2, r2, #6
|
|
lsls r1, r1, #4
|
|
ldr r0, _0806FF44 @ =gUnk_020000C0
|
|
adds r1, r1, r0
|
|
adds r4, r2, r1
|
|
adds r0, r5, #0
|
|
bl sub_0801D108
|
|
ldrb r1, [r4, #5]
|
|
cmp r1, r0
|
|
beq _0806FF40
|
|
adds r0, r1, #0
|
|
bl sub_0801D244
|
|
adds r0, r6, #0
|
|
adds r1, r5, #0
|
|
bl sub_0801D040
|
|
strb r0, [r4, #5]
|
|
_0806FF40:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0806FF44: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FF48
|
|
sub_0806FF48: @ 0x0806FF48
|
|
adds r0, #0x28
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #6
|
|
lsls r1, r1, #4
|
|
ldr r3, _0806FF5C @ =gUnk_020000C0
|
|
adds r1, r1, r3
|
|
adds r0, r0, r1
|
|
strb r2, [r0, #4]
|
|
bx lr
|
|
.align 2, 0
|
|
_0806FF5C: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FF60
|
|
sub_0806FF60: @ 0x0806FF60
|
|
push {lr}
|
|
adds r3, r2, #0
|
|
adds r0, #0x28
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #6
|
|
ldr r2, _0806FF84 @ =gUnk_020000C0
|
|
adds r0, r0, r2
|
|
lsls r1, r1, #4
|
|
adds r2, r0, r1
|
|
ldrb r0, [r2, #1]
|
|
cmp r0, r3
|
|
beq _0806FF82
|
|
strb r3, [r2, #1]
|
|
ldrb r0, [r2]
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
_0806FF82:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0806FF84: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FF88
|
|
sub_0806FF88: @ 0x0806FF88
|
|
push {r4, r5, lr}
|
|
adds r5, r1, #0
|
|
adds r0, #0x28
|
|
ldrb r4, [r0]
|
|
lsls r4, r4, #6
|
|
ldr r0, _0806FFB8 @ =gUnk_020000C0
|
|
adds r4, r4, r0
|
|
lsls r5, r5, #4
|
|
adds r5, r4, r5
|
|
lsls r2, r2, #4
|
|
adds r4, r4, r2
|
|
ldrh r0, [r5, #2]
|
|
ldrb r1, [r5, #1]
|
|
bl sub_080700C8
|
|
ldrb r1, [r5, #6]
|
|
ldrb r2, [r0]
|
|
adds r1, r1, r2
|
|
strb r1, [r4, #6]
|
|
ldrb r1, [r5, #7]
|
|
ldrb r0, [r0, #1]
|
|
adds r1, r1, r0
|
|
strb r1, [r4, #7]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0806FFB8: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FFBC
|
|
sub_0806FFBC: @ 0x0806FFBC
|
|
push {r4, lr}
|
|
adds r0, #0x28
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #6
|
|
lsls r1, r1, #4
|
|
ldr r4, _0806FFD4 @ =gUnk_020000C0
|
|
adds r1, r1, r4
|
|
adds r0, r0, r1
|
|
strb r2, [r0, #6]
|
|
strb r3, [r0, #7]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0806FFD4: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0806FFD8
|
|
sub_0806FFD8: @ 0x0806FFD8
|
|
push {r4, r5, lr}
|
|
adds r5, r1, #0
|
|
adds r0, #0x28
|
|
ldrb r4, [r0]
|
|
lsls r4, r4, #6
|
|
ldr r0, _08070008 @ =gUnk_020000C0
|
|
adds r4, r4, r0
|
|
lsls r5, r5, #4
|
|
adds r5, r4, r5
|
|
lsls r2, r2, #4
|
|
adds r4, r4, r2
|
|
ldrh r0, [r5, #2]
|
|
ldrb r1, [r5, #1]
|
|
bl sub_080700C8
|
|
ldrb r1, [r5, #6]
|
|
ldrb r2, [r0, #2]
|
|
adds r1, r1, r2
|
|
strb r1, [r4, #6]
|
|
ldrb r1, [r5, #7]
|
|
ldrb r0, [r0, #3]
|
|
adds r1, r1, r0
|
|
strb r1, [r4, #7]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08070008: .4byte gUnk_020000C0
|
|
|
|
thumb_func_start sub_0807000C
|
|
sub_0807000C: @ 0x0807000C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
adds r7, r6, #0
|
|
adds r7, #0x28
|
|
ldrb r4, [r7]
|
|
lsls r4, r4, #6
|
|
ldr r0, _08070074 @ =gUnk_020000C0
|
|
adds r4, r4, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0807007C
|
|
adds r5, r0, #0
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_0807007C
|
|
orrs r5, r0
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0807007C
|
|
orrs r5, r0
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
bl sub_0807007C
|
|
orrs r5, r0
|
|
cmp r5, #0
|
|
beq _08070072
|
|
ldr r3, _08070078 @ =gUnk_02024490
|
|
adds r2, r6, #0
|
|
adds r2, #0x26
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r3
|
|
ldrb r1, [r7]
|
|
strb r1, [r0, #7]
|
|
ldrb r1, [r2]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r3
|
|
ldrb r2, [r0, #4]
|
|
movs r1, #0xf
|
|
ands r1, r2
|
|
movs r2, #0x30
|
|
orrs r1, r2
|
|
strb r1, [r0, #4]
|
|
_08070072:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08070074: .4byte gUnk_020000C0
|
|
_08070078: .4byte gUnk_02024490
|
|
|
|
thumb_func_start sub_0807007C
|
|
sub_0807007C: @ 0x0807007C
|
|
push {lr}
|
|
lsls r1, r1, #4
|
|
adds r2, r0, r1
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080700C4
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080700C4
|
|
ldrb r0, [r2, #1]
|
|
cmp r0, #0xff
|
|
beq _080700C4
|
|
ldrh r0, [r2, #2]
|
|
lsls r0, r0, #4
|
|
ldr r1, _080700C0 @ =gUnk_080029B4
|
|
adds r3, r0, r1
|
|
ldr r1, [r3, #4]
|
|
cmp r1, #0
|
|
beq _080700C4
|
|
ldrb r0, [r2, #1]
|
|
lsls r0, r0, #2
|
|
adds r0, r1, r0
|
|
ldrb r1, [r0]
|
|
strb r1, [r2, #9]
|
|
ldrh r1, [r0, #2]
|
|
lsls r1, r1, #5
|
|
ldr r0, [r3, #8]
|
|
adds r0, r0, r1
|
|
str r0, [r2, #0xc]
|
|
movs r0, #1
|
|
b _080700C6
|
|
.align 2, 0
|
|
_080700C0: .4byte gUnk_080029B4
|
|
_080700C4:
|
|
movs r0, #0
|
|
_080700C6:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080700C8
|
|
sub_080700C8: @ 0x080700C8
|
|
lsls r0, r0, #1
|
|
ldr r2, _080700E4 @ =gUnk_089FB780
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
subs r2, #0x10
|
|
adds r0, r0, r2
|
|
adds r1, r0, r1
|
|
ldrb r0, [r1]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldr r1, [r2]
|
|
adds r0, r1, r0
|
|
bx lr
|
|
.align 2, 0
|
|
_080700E4: .4byte gUnk_089FB780
|
|
|
|
thumb_func_start sub_080700E8
|
|
sub_080700E8: @ 0x080700E8
|
|
push {lr}
|
|
ldr r2, _080700FC @ =gUnk_0811B98C
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080700FC: .4byte gUnk_0811B98C
|
|
|
|
thumb_func_start sub_08070100
|
|
sub_08070100: @ 0x08070100
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r2, #1
|
|
movs r3, #1
|
|
strb r3, [r5, #0xc]
|
|
ldrb r1, [r5, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r5, #0x18]
|
|
ldrb r1, [r5, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r5, #0x10]
|
|
ldrb r0, [r5, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r5, #0x15]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #2
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0x40
|
|
str r0, [r5, #0x74]
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #1
|
|
str r0, [r5, #0x78]
|
|
ldr r2, _0807017C @ =gLinkEntity
|
|
ldr r1, _08070180 @ =gUnk_0811B9A0
|
|
ldrb r0, [r5, #0x14]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
ldrh r4, [r2, #0x2e]
|
|
adds r0, r0, r4
|
|
strh r0, [r5, #0x2e]
|
|
ldrb r0, [r5, #0x14]
|
|
adds r0, #1
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
ldrh r1, [r2, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r5, #0x32]
|
|
adds r1, r5, #0
|
|
adds r1, #0x3c
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
subs r1, #1
|
|
movs r0, #0x8a
|
|
strb r0, [r1]
|
|
ldr r0, _08070184 @ =gUnk_0811B9D0
|
|
str r0, [r5, #0x48]
|
|
adds r0, r5, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _08070188
|
|
strb r3, [r5, #0xa]
|
|
b _0807018C
|
|
.align 2, 0
|
|
_0807017C: .4byte gLinkEntity
|
|
_08070180: .4byte gUnk_0811B9A0
|
|
_08070184: .4byte gUnk_0811B9D0
|
|
_08070188:
|
|
movs r0, #0
|
|
strb r0, [r5, #0xa]
|
|
_0807018C:
|
|
ldrb r1, [r2, #0x1b]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r5, #0x1b]
|
|
movs r0, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r5, #0x1b]
|
|
ldrb r3, [r5, #0x14]
|
|
lsrs r3, r3, #1
|
|
lsls r3, r3, #3
|
|
ldr r0, _080701F0 @ =gUnk_0811B9A8
|
|
adds r3, r3, r0
|
|
ldrb r1, [r3]
|
|
movs r0, #1
|
|
ands r1, r0
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r5, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r5, #0x18]
|
|
ldrb r1, [r3, #1]
|
|
lsls r1, r1, #7
|
|
movs r2, #0x7f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r5, #0x18]
|
|
ldrb r0, [r3, #4]
|
|
adds r4, r5, #0
|
|
adds r4, #0x58
|
|
strb r0, [r4]
|
|
movs r0, #2
|
|
ldrsb r0, [r3, r0]
|
|
str r0, [r5, #0x6c]
|
|
movs r0, #3
|
|
ldrsb r0, [r3, r0]
|
|
str r0, [r5, #0x70]
|
|
adds r0, r5, #0
|
|
bl sub_0801766C
|
|
ldrb r1, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_08004260
|
|
ldr r0, _080701F4 @ =0x000001DD
|
|
bl sub_080A3268
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080701F0: .4byte gUnk_0811B9A8
|
|
_080701F4: .4byte 0x000001DD
|
|
|
|
thumb_func_start sub_080701F8
|
|
sub_080701F8: @ 0x080701F8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _08070244 @ =gUnk_0811B9C8
|
|
ldrb r1, [r5, #0x14]
|
|
adds r2, r1, r0
|
|
movs r6, #0
|
|
ldrsb r6, [r2, r6]
|
|
adds r1, #1
|
|
adds r1, r1, r0
|
|
movs r7, #0
|
|
ldrsb r7, [r1, r7]
|
|
adds r0, r5, #0
|
|
movs r1, #0xa
|
|
adds r2, r6, #0
|
|
adds r3, r7, #0
|
|
bl sub_08008782
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08070248
|
|
ldrb r1, [r4, #5]
|
|
ldrb r2, [r4, #2]
|
|
movs r0, #0x53
|
|
bl sub_080A2960
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08070260
|
|
ldrb r0, [r4, #3]
|
|
strb r0, [r1, #0xe]
|
|
ldrh r0, [r5, #0x2e]
|
|
adds r0, r0, r6
|
|
strh r0, [r1, #0x2e]
|
|
ldrh r0, [r5, #0x32]
|
|
adds r0, r0, r7
|
|
strh r0, [r1, #0x32]
|
|
b _08070260
|
|
.align 2, 0
|
|
_08070244: .4byte gUnk_0811B9C8
|
|
_08070248:
|
|
ldr r0, [r5, #0x74]
|
|
subs r0, #1
|
|
str r0, [r5, #0x74]
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _08070260
|
|
ldr r0, [r5, #0x78]
|
|
subs r0, #1
|
|
str r0, [r5, #0x78]
|
|
cmp r0, r1
|
|
bne _08070268
|
|
_08070260:
|
|
adds r0, r5, #0
|
|
bl sub_08070458
|
|
b _0807037A
|
|
_08070268:
|
|
adds r0, r5, #0
|
|
bl sub_08004274
|
|
adds r0, r5, #0
|
|
bl sub_0806F69C
|
|
ldrb r0, [r5, #0xa]
|
|
cmp r0, #0
|
|
bne _08070280
|
|
adds r0, r5, #0
|
|
bl sub_0800451C
|
|
_08070280:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
ldr r7, _08070354 @ =gUnk_03000BF0
|
|
ldrh r1, [r7, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r6, #0x3f
|
|
ands r0, r6
|
|
movs r2, #0x32
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
ldr r1, _08070358 @ =gLinkEntity
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
movs r2, #0x80
|
|
bl sub_080002F0
|
|
cmp r0, #0
|
|
bne _0807036A
|
|
ldr r1, _0807035C @ =gUnk_08003E44
|
|
movs r3, #0x2e
|
|
ldrsh r2, [r5, r3]
|
|
movs r0, #0x32
|
|
ldrsh r3, [r5, r0]
|
|
adds r0, r5, #0
|
|
bl sub_080040D8
|
|
cmp r0, #0
|
|
bne _08070364
|
|
adds r0, r5, #0
|
|
bl sub_080002B8
|
|
cmp r0, #0x19
|
|
bne _0807036A
|
|
movs r0, #4
|
|
strb r0, [r5, #0xc]
|
|
ldrb r1, [r5, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r5, #0x10]
|
|
ldrh r2, [r5, #0x2e]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #8
|
|
orrs r0, r2
|
|
strh r0, [r5, #0x2e]
|
|
ldrh r0, [r5, #0x32]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strh r1, [r5, #0x32]
|
|
adds r2, r5, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #7
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
ldrh r1, [r7, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
ands r0, r6
|
|
movs r2, #0x32
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
adds r4, r5, #0
|
|
adds r4, #0x38
|
|
ldrb r1, [r4]
|
|
bl sub_080001DA
|
|
str r0, [r5, #0x7c]
|
|
adds r0, r5, #0
|
|
movs r1, #0x14
|
|
bl sub_08004260
|
|
ldr r0, _08070360 @ =0x00004020
|
|
movs r3, #0x2e
|
|
ldrsh r1, [r5, r3]
|
|
ldrh r2, [r7, #6]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
movs r3, #0x32
|
|
ldrsh r2, [r5, r3]
|
|
ldrh r3, [r7, #8]
|
|
subs r2, r2, r3
|
|
asrs r2, r2, #4
|
|
ands r2, r6
|
|
lsls r2, r2, #6
|
|
orrs r1, r2
|
|
ldrb r2, [r4]
|
|
bl sub_0800015E
|
|
b _0807037A
|
|
.align 2, 0
|
|
_08070354: .4byte gUnk_03000BF0
|
|
_08070358: .4byte gLinkEntity
|
|
_0807035C: .4byte gUnk_08003E44
|
|
_08070360: .4byte 0x00004020
|
|
_08070364:
|
|
adds r0, r5, #0
|
|
bl sub_08070458
|
|
_0807036A:
|
|
adds r0, r5, #0
|
|
adds r0, #0x41
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0807037A
|
|
adds r0, r5, #0
|
|
bl sub_08070458
|
|
_0807037A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0807037C
|
|
sub_0807037C: @ 0x0807037C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r4, #0x5a
|
|
ldrb r1, [r4]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070394
|
|
bl sub_0805E780
|
|
_08070394:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08070398
|
|
sub_08070398: @ 0x08070398
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _080703B8
|
|
bl sub_0805E780
|
|
_080703B8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080703BC
|
|
sub_080703BC: @ 0x080703BC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004274
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
ldr r2, _08070404 @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
movs r5, #0x32
|
|
ldrsh r1, [r4, r5]
|
|
ldrh r2, [r2, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080001DA
|
|
adds r1, r0, #0
|
|
ldr r0, _08070408 @ =0x00004021
|
|
cmp r1, r0
|
|
beq _0807042E
|
|
cmp r1, r0
|
|
bhi _0807040C
|
|
subs r0, #1
|
|
cmp r1, r0
|
|
beq _08070420
|
|
b _08070412
|
|
.align 2, 0
|
|
_08070404: .4byte gUnk_03000BF0
|
|
_08070408: .4byte 0x00004021
|
|
_0807040C:
|
|
ldr r0, _08070418 @ =0x00004070
|
|
cmp r1, r0
|
|
beq _0807041C
|
|
_08070412:
|
|
movs r0, #0
|
|
str r0, [r4, #0x7c]
|
|
b _0807042E
|
|
.align 2, 0
|
|
_08070418: .4byte 0x00004070
|
|
_0807041C:
|
|
movs r0, #0xff
|
|
str r0, [r4, #0x78]
|
|
_08070420:
|
|
ldr r0, [r4, #0x78]
|
|
subs r0, #1
|
|
str r0, [r4, #0x78]
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
bne _08070436
|
|
_0807042E:
|
|
adds r0, r4, #0
|
|
bl sub_08070458
|
|
b _08070454
|
|
_08070436:
|
|
adds r0, r4, #0
|
|
adds r0, #0x41
|
|
ldrb r1, [r0]
|
|
cmp r1, #0
|
|
beq _08070454
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807044E
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0x1a
|
|
bne _08070454
|
|
_0807044E:
|
|
adds r0, r4, #0
|
|
bl sub_08070458
|
|
_08070454:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08070458
|
|
sub_08070458: @ 0x08070458
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #0
|
|
movs r0, #2
|
|
strb r0, [r4, #0xc]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
strh r2, [r4, #0x24]
|
|
ldr r5, [r4, #0x7c]
|
|
cmp r5, #0
|
|
beq _0807049E
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
ldr r2, _080704B4 @ =gUnk_03000BF0
|
|
ldrh r0, [r2, #6]
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
movs r3, #0x3f
|
|
ands r1, r3
|
|
movs r6, #0x32
|
|
ldrsh r0, [r4, r6]
|
|
ldrh r2, [r2, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r3
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r2, [r0]
|
|
adds r0, r5, #0
|
|
bl sub_0800015E
|
|
_0807049E:
|
|
adds r0, r4, #0
|
|
movs r1, #0x13
|
|
bl sub_08004260
|
|
adds r0, r4, #0
|
|
bl sub_08017744
|
|
ldr r0, _080704B8 @ =0x00000199
|
|
bl sub_080A3268
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080704B4: .4byte gUnk_03000BF0
|
|
_080704B8: .4byte 0x00000199
|
|
|
|
thumb_func_start sub_080704BC
|
|
sub_080704BC: @ 0x080704BC
|
|
push {lr}
|
|
ldr r2, _080704D0 @ =gUnk_0811B9D8
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080704D0: .4byte gUnk_0811B9D8
|
|
|
|
thumb_func_start sub_080704D4
|
|
sub_080704D4: @ 0x080704D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0xff
|
|
strb r0, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #3
|
|
bl sub_080AE008
|
|
movs r0, #0x87
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
adds r0, r4, #0
|
|
bl sub_080704FC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080704FC
|
|
sub_080704FC: @ 0x080704FC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _0807052C @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r2, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
ldr r1, _08070530 @ =gUnk_03003F80
|
|
cmp r0, #0
|
|
bne _08070518
|
|
ldr r0, [r1, #0x2c]
|
|
cmp r4, r0
|
|
beq _08070534
|
|
_08070518:
|
|
ldr r0, [r1, #0x2c]
|
|
cmp r4, r0
|
|
bne _08070522
|
|
movs r0, #0
|
|
str r0, [r1, #0x2c]
|
|
_08070522:
|
|
adds r0, r4, #0
|
|
bl sub_0805E7BC
|
|
b _08070566
|
|
.align 2, 0
|
|
_0807052C: .4byte gLinkEntity
|
|
_08070530: .4byte gUnk_03003F80
|
|
_08070534:
|
|
movs r0, #0xf
|
|
ands r0, r2
|
|
cmp r0, #0xf
|
|
beq _08070562
|
|
ldrb r1, [r5, #0x1e]
|
|
adds r0, #0x91
|
|
subs r0, r1, r0
|
|
ldrb r2, [r4, #0x1e]
|
|
cmp r0, r2
|
|
beq _08070558
|
|
adds r0, r1, #0
|
|
adds r0, #0x6f
|
|
strb r0, [r4, #0x1e]
|
|
ldrb r1, [r4, #0x1e]
|
|
ldrh r2, [r4, #0x12]
|
|
adds r0, r4, #0
|
|
bl sub_080042D0
|
|
_08070558:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08078E84
|
|
b _08070566
|
|
_08070562:
|
|
movs r0, #0xff
|
|
strb r0, [r4, #0x1e]
|
|
_08070566:
|
|
ldr r2, _08070580 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x14]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070584
|
|
ldrb r0, [r2, #0x18]
|
|
lsls r0, r0, #0x19
|
|
lsrs r2, r0, #0x1f
|
|
movs r0, #1
|
|
eors r2, r0
|
|
b _0807058A
|
|
.align 2, 0
|
|
_08070580: .4byte gLinkEntity
|
|
_08070584:
|
|
ldrb r0, [r2, #0x18]
|
|
lsls r0, r0, #0x19
|
|
lsrs r2, r0, #0x1f
|
|
_0807058A:
|
|
lsls r2, r2, #6
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x18]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807059C
|
|
sub_0807059C: @ 0x0807059C
|
|
push {lr}
|
|
ldr r0, _080705A8 @ =gUnk_02034490
|
|
movs r1, #0x18
|
|
bl sub_0801D630
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080705A8: .4byte gUnk_02034490
|
|
|
|
thumb_func_start sub_080705AC
|
|
sub_080705AC: @ 0x080705AC
|
|
push {lr}
|
|
ldr r0, _08070614 @ =gUnk_03000FF0
|
|
ldrh r1, [r0, #2]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070674
|
|
ldr r0, _08070618 @ =gUnk_03000FD0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08070674
|
|
ldr r0, _0807061C @ =gUnk_02034490
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08070674
|
|
ldr r0, _08070620 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070674
|
|
ldr r1, _08070624 @ =gUnk_02002A40
|
|
adds r0, r1, #0
|
|
adds r0, #0xaa
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08070674
|
|
adds r0, r1, #0
|
|
adds r0, #0xf2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08070674
|
|
ldr r1, _08070628 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x8b
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08070674
|
|
ldr r0, _0807062C @ =gUnk_03003DC0
|
|
ldrh r0, [r0, #8]
|
|
cmp r0, #0
|
|
bne _08070674
|
|
adds r2, r1, #0
|
|
adds r2, #0xa8
|
|
ldrb r0, [r2]
|
|
cmp r0, #0
|
|
bne _08070630
|
|
adds r0, r1, #0
|
|
adds r0, #0xa9
|
|
ldrb r0, [r0]
|
|
b _08070632
|
|
.align 2, 0
|
|
_08070614: .4byte gUnk_03000FF0
|
|
_08070618: .4byte gUnk_03000FD0
|
|
_0807061C: .4byte gUnk_02034490
|
|
_08070620: .4byte gUnk_02000050
|
|
_08070624: .4byte gUnk_02002A40
|
|
_08070628: .4byte gUnk_03003F80
|
|
_0807062C: .4byte gUnk_03003DC0
|
|
_08070630:
|
|
ldrb r0, [r2]
|
|
_08070632:
|
|
subs r0, #0x12
|
|
cmp r0, #0xa
|
|
bhi _08070678
|
|
lsls r0, r0, #2
|
|
ldr r1, _08070644 @ =_08070648
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08070644: .4byte _08070648
|
|
_08070648: @ jump table
|
|
.4byte _08070674 @ case 0
|
|
.4byte _08070674 @ case 1
|
|
.4byte _08070678 @ case 2
|
|
.4byte _08070674 @ case 3
|
|
.4byte _08070674 @ case 4
|
|
.4byte _08070678 @ case 5
|
|
.4byte _08070678 @ case 6
|
|
.4byte _08070678 @ case 7
|
|
.4byte _08070678 @ case 8
|
|
.4byte _08070678 @ case 9
|
|
.4byte _08070674 @ case 10
|
|
_08070674:
|
|
movs r0, #0
|
|
b _0807067E
|
|
_08070678:
|
|
bl sub_080A4D88
|
|
movs r0, #1
|
|
_0807067E:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08070680
|
|
sub_08070680: @ 0x08070680
|
|
push {lr}
|
|
ldr r2, _08070694 @ =gUnk_0811B9E0
|
|
ldrb r1, [r0, #0xc]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08070694: .4byte gUnk_0811B9E0
|
|
|
|
thumb_func_start sub_08070698
|
|
sub_08070698: @ 0x08070698
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
ldr r6, _08070788 @ =gUnk_03003F80
|
|
movs r0, #0xff
|
|
strb r0, [r6]
|
|
ldr r1, _0807078C @ =gLinkEntity
|
|
ldrh r0, [r1, #0x2e]
|
|
strh r0, [r6, #0x16]
|
|
ldrh r0, [r1, #0x32]
|
|
strh r0, [r6, #0x18]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x31
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #0x10
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #0x20
|
|
strb r0, [r4, #0x16]
|
|
adds r1, r4, #0
|
|
adds r1, #0x3b
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
adds r1, #4
|
|
movs r0, #0x79
|
|
strb r0, [r1]
|
|
ldr r0, _08070790 @ =gUnk_08114F88
|
|
str r0, [r4, #0x48]
|
|
movs r0, #1
|
|
strh r0, [r4, #0x12]
|
|
adds r0, #0xff
|
|
strh r0, [r6, #8]
|
|
adds r0, r4, #0
|
|
bl sub_0806FDA0
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #2
|
|
bl sub_080AE008
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08070726
|
|
adds r0, r4, #0
|
|
bl sub_08016A30
|
|
_08070726:
|
|
movs r0, #0x10
|
|
bl sub_0805436C
|
|
cmp r0, #2
|
|
beq _08070734
|
|
bl sub_08077728
|
|
_08070734:
|
|
bl sub_0807A108
|
|
bl sub_0807AEE4
|
|
bl sub_08078EFC
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _08070784
|
|
bl sub_0807921C
|
|
bl sub_0807A1B8
|
|
adds r1, r6, #0
|
|
adds r1, #0x26
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _08070784
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
bl sub_08079938
|
|
adds r1, r6, #0
|
|
adds r1, #0xa8
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807ACCC
|
|
str r5, [sp]
|
|
movs r0, #6
|
|
movs r1, #0xf
|
|
movs r2, #6
|
|
movs r3, #0xb
|
|
bl sub_0805EB2C
|
|
cmp r0, #0
|
|
beq _08070784
|
|
bl sub_0805E7BC
|
|
_08070784:
|
|
add sp, #4
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08070788: .4byte gUnk_03003F80
|
|
_0807078C: .4byte gLinkEntity
|
|
_08070790: .4byte gUnk_08114F88
|
|
|
|
thumb_func_start sub_08070794
|
|
sub_08070794: @ 0x08070794
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
ldr r6, _080707F0 @ =gUnk_03003F80
|
|
adds r3, r6, #0
|
|
adds r3, #0xa8
|
|
movs r4, #0
|
|
strb r4, [r3]
|
|
ldr r1, [r6, #0x30]
|
|
movs r7, #0x10
|
|
adds r0, r1, #0
|
|
ands r0, r7
|
|
mov ip, r6
|
|
cmp r0, #0
|
|
beq _08070818
|
|
adds r2, r5, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x42
|
|
strb r4, [r0]
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #1
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0x80
|
|
strb r0, [r6, #6]
|
|
strb r7, [r3]
|
|
ldrb r0, [r5, #0x14]
|
|
lsrs r0, r0, #1
|
|
adds r0, #0x5c
|
|
adds r1, r5, #0
|
|
adds r1, #0x58
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080707F8
|
|
ldrh r0, [r5, #0x12]
|
|
cmp r0, #2
|
|
bne _080707F8
|
|
ldr r0, _080707F4 @ =gLinkEntity
|
|
bl sub_080042B8
|
|
b _08070800
|
|
.align 2, 0
|
|
_080707F0: .4byte gUnk_03003F80
|
|
_080707F4: .4byte gLinkEntity
|
|
_080707F8:
|
|
movs r0, #0x97
|
|
lsls r0, r0, #2
|
|
mov r1, ip
|
|
strh r0, [r1, #8]
|
|
_08070800:
|
|
ldr r0, _08070814 @ =gLinkEntity
|
|
bl sub_0806F948
|
|
bl sub_08077B2C
|
|
adds r0, r5, #0
|
|
bl sub_08077698
|
|
b _08070BE4
|
|
.align 2, 0
|
|
_08070814: .4byte gLinkEntity
|
|
_08070818:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070842
|
|
adds r1, r5, #0
|
|
adds r1, #0x40
|
|
movs r0, #0x1e
|
|
strb r0, [r1]
|
|
movs r0, #0xc
|
|
strb r0, [r3]
|
|
movs r1, #0
|
|
movs r2, #0x24
|
|
ldrsh r0, [r5, r2]
|
|
cmp r0, #0
|
|
bne _0807083A
|
|
movs r1, #1
|
|
_0807083A:
|
|
adds r0, r5, #0
|
|
bl sub_08070BEC
|
|
b _08070BE4
|
|
_08070842:
|
|
movs r4, #0x80
|
|
lsls r4, r4, #0xc
|
|
ands r4, r1
|
|
cmp r4, #0
|
|
beq _08070852
|
|
bl sub_08079938
|
|
b _08070BE4
|
|
_08070852:
|
|
adds r0, r5, #0
|
|
bl sub_080085B0
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
strb r4, [r0]
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _08070868
|
|
b _08070BE4
|
|
_08070868:
|
|
adds r0, r6, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080708AC
|
|
ldrb r1, [r6, #2]
|
|
movs r2, #0xc0
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080708AC
|
|
ldrb r0, [r6, #3]
|
|
cmp r0, #0
|
|
bne _0807088E
|
|
adds r0, r6, #0
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08070892
|
|
_0807088E:
|
|
strh r2, [r5, #0x24]
|
|
b _080708AC
|
|
_08070892:
|
|
ldrb r0, [r6, #0x1b]
|
|
cmp r0, #0
|
|
beq _0807089C
|
|
movs r0, #0xe0
|
|
b _080708AA
|
|
_0807089C:
|
|
ldrb r0, [r6, #0x1c]
|
|
cmp r0, #0
|
|
beq _080708A6
|
|
movs r0, #0x80
|
|
b _080708AA
|
|
_080708A6:
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #1
|
|
_080708AA:
|
|
strh r0, [r5, #0x24]
|
|
_080708AC:
|
|
ldr r4, _08070918 @ =gUnk_03003F80
|
|
ldrb r0, [r4, #6]
|
|
movs r1, #0x80
|
|
orrs r1, r0
|
|
strb r1, [r4, #6]
|
|
ldr r0, [r4, #0x30]
|
|
ldr r6, _0807091C @ =0x10000002
|
|
ands r0, r6
|
|
cmp r0, #0
|
|
bne _080708C4
|
|
bl sub_0807A1B8
|
|
_080708C4:
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _080708CE
|
|
b _08070BE4
|
|
_080708CE:
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0
|
|
beq _080708D6
|
|
b _080709D8
|
|
_080708D6:
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080708E4
|
|
b _080709D8
|
|
_080708E4:
|
|
adds r0, r5, #0
|
|
adds r0, #0x42
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08070924
|
|
bl sub_080782C0
|
|
cmp r0, #0
|
|
beq _08070924
|
|
ldr r0, _08070920 @ =gUnk_02034350
|
|
ldrb r0, [r0, #6]
|
|
cmp r0, #0
|
|
bne _08070902
|
|
bl sub_08077B2C
|
|
_08070902:
|
|
ldr r0, [r4, #0x30]
|
|
ands r0, r6
|
|
cmp r0, #0
|
|
beq _0807090C
|
|
b _08070BE4
|
|
_0807090C:
|
|
bl sub_0807A1B8
|
|
bl sub_08078EFC
|
|
b _08070BE4
|
|
.align 2, 0
|
|
_08070918: .4byte gUnk_03003F80
|
|
_0807091C: .4byte 0x10000002
|
|
_08070920: .4byte gUnk_02034350
|
|
_08070924:
|
|
ldr r0, _0807094C @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x30]
|
|
ldr r2, _08070950 @ =0x00041635
|
|
ands r1, r2
|
|
adds r0, #0xaa
|
|
ldrb r0, [r0]
|
|
orrs r1, r0
|
|
cmp r1, #0
|
|
bne _080709D8
|
|
bl sub_08019840
|
|
cmp r0, #0xf
|
|
bls _08070940
|
|
b _08070BE4
|
|
_08070940:
|
|
lsls r0, r0, #2
|
|
ldr r1, _08070954 @ =_08070958
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0807094C: .4byte gUnk_03003F80
|
|
_08070950: .4byte 0x00041635
|
|
_08070954: .4byte _08070958
|
|
_08070958: @ jump table
|
|
.4byte _08070998 @ case 0
|
|
.4byte _08070BE4 @ case 1
|
|
.4byte _08070BE4 @ case 2
|
|
.4byte _080709A8 @ case 3
|
|
.4byte _080709C2 @ case 4
|
|
.4byte _08070BE4 @ case 5
|
|
.4byte _08070BE4 @ case 6
|
|
.4byte _08070BE4 @ case 7
|
|
.4byte _08070BE4 @ case 8
|
|
.4byte _08070BE4 @ case 9
|
|
.4byte _08070BE4 @ case 10
|
|
.4byte _08070BE4 @ case 11
|
|
.4byte _08070BE4 @ case 12
|
|
.4byte _08070BE4 @ case 13
|
|
.4byte _08070BE4 @ case 14
|
|
.4byte _080709B4 @ case 15
|
|
_08070998:
|
|
ldr r0, _080709A4 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #6]
|
|
movs r2, #0x80
|
|
eors r1, r2
|
|
strb r1, [r0, #6]
|
|
b _080709D8
|
|
.align 2, 0
|
|
_080709A4: .4byte gUnk_03003F80
|
|
_080709A8:
|
|
ldr r1, _080709B0 @ =gUnk_03003F80
|
|
movs r0, #0x80
|
|
strb r0, [r1, #6]
|
|
b _080709D8
|
|
.align 2, 0
|
|
_080709B0: .4byte gUnk_03003F80
|
|
_080709B4:
|
|
ldrb r1, [r5, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r5, #0x10]
|
|
bl sub_080797EC
|
|
b _08070BE4
|
|
_080709C2:
|
|
ldr r0, _080709D4 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #6]
|
|
movs r2, #0x80
|
|
eors r1, r2
|
|
strb r1, [r0, #6]
|
|
bl sub_080797EC
|
|
b _08070BE4
|
|
.align 2, 0
|
|
_080709D4: .4byte gUnk_03003F80
|
|
_080709D8:
|
|
adds r1, r5, #0
|
|
adds r1, #0x3c
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r6, r5, #0
|
|
adds r6, #0x29
|
|
ldrb r1, [r6]
|
|
subs r0, #8
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r6]
|
|
adds r0, r5, #0
|
|
bl sub_0807AC54
|
|
cmp r0, #0
|
|
beq _080709FC
|
|
b _08070BE4
|
|
_080709FC:
|
|
adds r0, r5, #0
|
|
bl sub_08077698
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _08070A0C
|
|
b _08070BE4
|
|
_08070A0C:
|
|
bl sub_080792D8
|
|
ldr r4, _08070A78 @ =gUnk_03003F80
|
|
ldrb r1, [r4, #2]
|
|
ldrb r0, [r4, #0xa]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _08070A32
|
|
bl sub_08079550
|
|
cmp r0, #0
|
|
beq _08070A26
|
|
b _08070BE4
|
|
_08070A26:
|
|
adds r0, r5, #0
|
|
bl sub_08078F74
|
|
cmp r0, #0
|
|
beq _08070A32
|
|
b _08070BE4
|
|
_08070A32:
|
|
adds r0, r5, #0
|
|
bl sub_08073904
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _08070A42
|
|
b _08070BE4
|
|
_08070A42:
|
|
ldrb r2, [r4, #2]
|
|
cmp r2, #0
|
|
beq _08070AAC
|
|
adds r1, r4, #0
|
|
adds r1, #0xa8
|
|
movs r0, #0x14
|
|
strb r0, [r1]
|
|
movs r0, #0xc0
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08070A80
|
|
movs r0, #7
|
|
ands r0, r2
|
|
cmp r0, #3
|
|
beq _08070A7C
|
|
movs r0, #0x20
|
|
ands r0, r2
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08070A7C
|
|
strh r0, [r5, #0x24]
|
|
adds r0, r5, #0
|
|
bl sub_08008926
|
|
b _08070A80
|
|
.align 2, 0
|
|
_08070A78: .4byte gUnk_03003F80
|
|
_08070A7C:
|
|
movs r0, #0xff
|
|
strb r0, [r5, #0x15]
|
|
_08070A80:
|
|
bl sub_08079E08
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070A94
|
|
b _08070BE4
|
|
_08070A94:
|
|
ldr r0, _08070AA8 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _08070A9E
|
|
b _08070BE4
|
|
_08070A9E:
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
b _08070BE4
|
|
.align 2, 0
|
|
_08070AA8: .4byte gUnk_03003F80
|
|
_08070AAC:
|
|
adds r0, r5, #0
|
|
adds r0, #0x42
|
|
ldrb r1, [r0]
|
|
adds r7, r0, #0
|
|
cmp r1, #0
|
|
beq _08070ABA
|
|
b _08070BBC
|
|
_08070ABA:
|
|
adds r0, r4, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08070AD4
|
|
adds r1, r4, #0
|
|
adds r1, #0xa8
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
bl sub_0807ACCC
|
|
b _08070B56
|
|
_08070AD4:
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x12
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070AEE
|
|
ldrb r0, [r6]
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #8
|
|
orrs r1, r0
|
|
strb r1, [r6]
|
|
_08070AEE:
|
|
ldrb r1, [r4, #0x1e]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070B00
|
|
adds r0, r5, #0
|
|
bl sub_08008AA0
|
|
b _08070B1E
|
|
_08070B00:
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #0x17
|
|
bne _08070B0E
|
|
adds r0, r5, #0
|
|
bl sub_08008926
|
|
b _08070B1E
|
|
_08070B0E:
|
|
cmp r0, #1
|
|
bne _08070B18
|
|
bl sub_08078F60
|
|
b _08070B1E
|
|
_08070B18:
|
|
adds r0, r5, #0
|
|
bl sub_08008AA0
|
|
_08070B1E:
|
|
ldr r2, _08070BB8 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #0x1b]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070B56
|
|
ldrb r3, [r2, #0xd]
|
|
strb r3, [r5, #0x15]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070B56
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #2
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0x80
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _08070B52
|
|
ldrb r1, [r5, #0x14]
|
|
movs r0, #0xe
|
|
ands r0, r1
|
|
lsls r0, r0, #2
|
|
strb r0, [r5, #0x15]
|
|
_08070B52:
|
|
bl sub_0807A108
|
|
_08070B56:
|
|
movs r4, #0
|
|
ldr r3, _08070BB8 @ =gUnk_03003F80
|
|
ldrb r2, [r3, #7]
|
|
ldrb r0, [r5, #0x15]
|
|
orrs r0, r2
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
ldrb r1, [r3, #0xa]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _08070B8E
|
|
movs r0, #0x10
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08070B8E
|
|
movs r4, #1
|
|
ldrb r0, [r7]
|
|
cmp r0, #0
|
|
bne _08070B8E
|
|
ldrb r1, [r3, #0x1e]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070B8C
|
|
ldrb r0, [r3, #0x12]
|
|
cmp r0, #0x17
|
|
beq _08070B8E
|
|
_08070B8C:
|
|
movs r4, #3
|
|
_08070B8E:
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_08070BEC
|
|
adds r0, r5, #0
|
|
bl sub_08008AC6
|
|
ldrb r0, [r7]
|
|
cmp r0, #0
|
|
bne _08070BE4
|
|
ldr r1, _08070BB8 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #0xb]
|
|
cmp r0, #0
|
|
bne _08070BE4
|
|
ldrb r0, [r1, #0x12]
|
|
cmp r0, #0x1e
|
|
beq _08070BE4
|
|
adds r0, r5, #0
|
|
bl sub_0806F948
|
|
b _08070BE4
|
|
.align 2, 0
|
|
_08070BB8: .4byte gUnk_03003F80
|
|
_08070BBC:
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
bne _08070BC8
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
_08070BC8:
|
|
adds r0, r4, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08070BE4
|
|
ldr r0, _08070BE8 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070BE4
|
|
adds r0, r5, #0
|
|
bl sub_080A2A64
|
|
_08070BE4:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08070BE8: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_08070BEC
|
|
sub_08070BEC: @ 0x08070BEC
|
|
push {r4, lr}
|
|
adds r4, r1, #0
|
|
movs r0, #1
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _08070BFE
|
|
bl sub_080797EC
|
|
b _08070C02
|
|
_08070BFE:
|
|
bl sub_08079938
|
|
_08070C02:
|
|
movs r0, #2
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _08070C0E
|
|
bl sub_08079E08
|
|
_08070C0E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08070C10
|
|
sub_08070C10: @ 0x08070C10
|
|
push {lr}
|
|
ldr r2, _08070C34 @ =gUnk_03003F80
|
|
movs r1, #0xff
|
|
strb r1, [r2, #0xd]
|
|
movs r1, #0x80
|
|
strb r1, [r2, #6]
|
|
adds r2, #0xa8
|
|
movs r1, #0xa
|
|
strb r1, [r2]
|
|
ldr r2, _08070C38 @ =gUnk_0811BA60
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08070C34: .4byte gUnk_03003F80
|
|
_08070C38: .4byte gUnk_0811BA60
|
|
|
|
thumb_func_start sub_08070C3C
|
|
sub_08070C3C: @ 0x08070C3C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08004168
|
|
ldr r2, _08070C64 @ =gUnk_03003F80
|
|
ldr r1, [r2, #0x30]
|
|
movs r0, #5
|
|
orrs r1, r0
|
|
ldr r0, _08070C68 @ =0xFFFFFBFF
|
|
ands r1, r0
|
|
str r1, [r2, #0x30]
|
|
movs r0, #0
|
|
strb r0, [r2, #2]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070C6C
|
|
movs r0, #0xdd
|
|
lsls r0, r0, #1
|
|
b _08070C7E
|
|
.align 2, 0
|
|
_08070C64: .4byte gUnk_03003F80
|
|
_08070C68: .4byte 0xFFFFFBFF
|
|
_08070C6C:
|
|
movs r0, #8
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _08070C7A
|
|
movs r0, #0x8b
|
|
lsls r0, r0, #3
|
|
b _08070C7E
|
|
_08070C7A:
|
|
movs r0, #0xdc
|
|
lsls r0, r0, #1
|
|
_08070C7E:
|
|
strh r0, [r2, #8]
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl sub_08077B2C
|
|
bl sub_0807A108
|
|
movs r0, #0x7b
|
|
bl sub_080A3268
|
|
movs r0, #0x85
|
|
bl sub_080A3268
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08070CB4
|
|
sub_08070CB4: @ 0x08070CB4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070D1A
|
|
ldr r0, _08070CF4 @ =gUnk_02002A40
|
|
adds r0, #0xaa
|
|
ldrb r0, [r0]
|
|
ldr r4, _08070CF8 @ =gUnk_03003F80
|
|
cmp r0, #0
|
|
beq _08070CFC
|
|
ldr r1, [r4, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070CFC
|
|
movs r0, #6
|
|
rsbs r0, r0, #0
|
|
ands r1, r0
|
|
str r1, [r4, #0x30]
|
|
ldrb r1, [r5, #0x18]
|
|
adds r0, #2
|
|
ands r0, r1
|
|
strb r0, [r5, #0x18]
|
|
b _08070D1A
|
|
.align 2, 0
|
|
_08070CF4: .4byte gUnk_02002A40
|
|
_08070CF8: .4byte gUnk_03003F80
|
|
_08070CFC:
|
|
ldr r0, [r4, #0x30]
|
|
ldr r1, _08070D1C @ =0xFFFF7FFB
|
|
ands r0, r1
|
|
str r0, [r4, #0x30]
|
|
bl sub_08079458
|
|
movs r0, #0
|
|
strb r0, [r4, #0xa]
|
|
adds r1, r5, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0x20
|
|
strb r0, [r1]
|
|
subs r0, #0x22
|
|
bl sub_080526A0
|
|
_08070D1A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08070D1C: .4byte 0xFFFF7FFB
|
|
|
|
thumb_func_start sub_08070D20
|
|
sub_08070D20: @ 0x08070D20
|
|
push {lr}
|
|
ldr r2, _08070D34 @ =gUnk_0811BA68
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08070D34: .4byte gUnk_0811BA68
|
|
|
|
thumb_func_start sub_08070D38
|
|
sub_08070D38: @ 0x08070D38
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r2, #0x10]
|
|
ldrb r1, [r2, #0x14]
|
|
movs r0, #0xe
|
|
ands r0, r1
|
|
lsls r0, r0, #2
|
|
movs r1, #0x10
|
|
eors r0, r1
|
|
strb r0, [r2, #0x15]
|
|
movs r4, #0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r2, #0x24]
|
|
adds r0, r2, #0
|
|
adds r0, #0x42
|
|
strb r4, [r0]
|
|
ldrb r0, [r2, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xd]
|
|
ldr r3, _08070D94 @ =gUnk_03003F80
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
strb r0, [r2, #0xe]
|
|
movs r0, #1
|
|
strh r0, [r2, #0x12]
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070D98
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r2, #0x20]
|
|
movs r0, #0x8a
|
|
lsls r0, r0, #1
|
|
strh r0, [r3, #8]
|
|
movs r0, #0x10
|
|
movs r1, #0
|
|
bl sub_08080964
|
|
b _08070DA2
|
|
.align 2, 0
|
|
_08070D94: .4byte gUnk_03003F80
|
|
_08070D98:
|
|
ldr r0, _08070DBC @ =0x00000C18
|
|
strh r0, [r3, #8]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r2, #0x20]
|
|
_08070DA2:
|
|
ldr r0, _08070DC0 @ =gUnk_03003F80
|
|
movs r1, #0x80
|
|
strb r1, [r0, #2]
|
|
movs r0, #0xa6
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
bl sub_08077B2C
|
|
bl sub_08078F60
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08070DBC: .4byte 0x00000C18
|
|
_08070DC0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08070DC4
|
|
sub_08070DC4: @ 0x08070DC4
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_080085B0
|
|
bl sub_08079E08
|
|
bl sub_0807A1B8
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _08070E76
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08070E76
|
|
ldr r6, _08070E18 @ =gUnk_03003F80
|
|
strb r0, [r6, #2]
|
|
bl sub_08078EFC
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _08070E76
|
|
bl sub_08079D48
|
|
cmp r0, #0
|
|
bne _08070E10
|
|
adds r0, r6, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08070E1C
|
|
_08070E10:
|
|
strb r5, [r6, #2]
|
|
bl sub_080791D0
|
|
b _08070E76
|
|
.align 2, 0
|
|
_08070E18: .4byte gUnk_03003F80
|
|
_08070E1C:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
beq _08070E32
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
b _08070E76
|
|
_08070E32:
|
|
ldrb r0, [r4, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldrb r0, [r6, #0x14]
|
|
cmp r0, #0
|
|
bne _08070E56
|
|
bl sub_08008B22
|
|
cmp r0, #0
|
|
beq _08070E56
|
|
movs r0, #7
|
|
strb r0, [r6, #0x11]
|
|
bl sub_08079938
|
|
bl sub_080791BC
|
|
b _08070E76
|
|
_08070E56:
|
|
movs r0, #1
|
|
strh r0, [r4, #0x12]
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldr r2, _08070E78 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070E76
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r2, #8]
|
|
_08070E76:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08070E78: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08070E7C
|
|
sub_08070E7C: @ 0x08070E7C
|
|
push {lr}
|
|
ldrb r1, [r0, #0xe]
|
|
subs r1, #1
|
|
strb r1, [r0, #0xe]
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
cmp r1, #0
|
|
bne _08070E94
|
|
ldr r0, _08070E98 @ =gUnk_03003F80
|
|
strb r1, [r0, #2]
|
|
bl sub_080791D0
|
|
_08070E94:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08070E98: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08070E9C
|
|
sub_08070E9C: @ 0x08070E9C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _08070EAE
|
|
bl sub_08056360
|
|
b _08070ED2
|
|
_08070EAE:
|
|
ldr r1, _08070ED4 @ =gUnk_03003F80
|
|
adds r2, r1, #0
|
|
adds r2, #0x27
|
|
movs r0, #4
|
|
strb r0, [r2]
|
|
adds r1, #0xa8
|
|
movs r0, #0x13
|
|
strb r0, [r1]
|
|
bl sub_0807A1B8
|
|
ldr r1, _08070ED8 @ =gUnk_0811BA74
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
_08070ED2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08070ED4: .4byte gUnk_03003F80
|
|
_08070ED8: .4byte gUnk_0811BA74
|
|
|
|
thumb_func_start sub_08070EDC
|
|
sub_08070EDC: @ 0x08070EDC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r1, [r2, #0x11]
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x11]
|
|
ldr r0, _08070F10 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08070EFE
|
|
movs r0, #1
|
|
strb r0, [r2, #0xd]
|
|
_08070EFE:
|
|
ldr r2, _08070F14 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070F18
|
|
bl sub_08079938
|
|
b _08070F1C
|
|
.align 2, 0
|
|
_08070F10: .4byte gUnk_02000050
|
|
_08070F14: .4byte gUnk_03003F80
|
|
_08070F18:
|
|
ldr r0, _08070F20 @ =0x00000C18
|
|
strh r0, [r2, #8]
|
|
_08070F1C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08070F20: .4byte 0x00000C18
|
|
|
|
thumb_func_start sub_08070F24
|
|
sub_08070F24: @ 0x08070F24
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r0, _08070F4C @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08070F4A
|
|
ldrb r0, [r4, #0x11]
|
|
lsrs r2, r0, #4
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x11]
|
|
bl sub_080791D0
|
|
_08070F4A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08070F4C: .4byte gUnk_02000050
|
|
|
|
thumb_func_start sub_08070F50
|
|
sub_08070F50: @ 0x08070F50
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08070F9C @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
movs r1, #0x15
|
|
strb r1, [r0]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldr r1, _08070FA0 @ =gUnk_0811BA7C
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldr r5, [r4, #0x54]
|
|
cmp r5, #0
|
|
beq _08070F9A
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0806FA30
|
|
ldrh r0, [r4, #0x12]
|
|
ldrb r1, [r4, #0x1e]
|
|
bl sub_080700C8
|
|
ldrb r1, [r0]
|
|
adds r2, r5, #0
|
|
adds r2, #0x62
|
|
strb r1, [r2]
|
|
ldrb r1, [r0, #1]
|
|
adds r0, r5, #0
|
|
adds r0, #0x63
|
|
strb r1, [r0]
|
|
_08070F9A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08070F9C: .4byte gUnk_03003F80
|
|
_08070FA0: .4byte gUnk_0811BA7C
|
|
|
|
thumb_func_start sub_08070FA4
|
|
sub_08070FA4: @ 0x08070FA4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r1, #0
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
ldr r3, _08070FE8 @ =gUnk_03003F80
|
|
ldr r2, [r3, #0x30]
|
|
movs r0, #1
|
|
orrs r2, r0
|
|
str r2, [r3, #0x30]
|
|
strb r1, [r3, #2]
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08071008
|
|
movs r0, #8
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _08070FF0
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
bl sub_080542AC
|
|
ldr r1, _08070FEC @ =0x0000045B
|
|
cmp r0, #0
|
|
beq _08071004
|
|
adds r1, #3
|
|
b _08071004
|
|
.align 2, 0
|
|
_08070FE8: .4byte gUnk_03003F80
|
|
_08070FEC: .4byte 0x0000045B
|
|
_08070FF0:
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
bl sub_080542AC
|
|
ldr r1, _08071018 @ =0x000001B9
|
|
cmp r0, #0
|
|
beq _08071004
|
|
movs r1, #0xb8
|
|
lsls r1, r1, #2
|
|
_08071004:
|
|
ldr r0, _0807101C @ =gUnk_03003F80
|
|
strh r1, [r0, #8]
|
|
_08071008:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
bl sub_08077B2C
|
|
bl sub_08078F60
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08071018: .4byte 0x000001B9
|
|
_0807101C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071020
|
|
sub_08071020: @ 0x08071020
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08071036
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
_08071036:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08071038
|
|
sub_08071038: @ 0x08071038
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _08071078
|
|
ldr r0, _0807107C @ =gUnk_02000050
|
|
ldrb r0, [r0]
|
|
movs r2, #0x7f
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
bne _08071078
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071078
|
|
str r2, [r4, #0x54]
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
strb r2, [r0]
|
|
subs r0, #5
|
|
movs r1, #0xf8
|
|
strb r1, [r0]
|
|
ldr r0, _08071080 @ =gUnk_03003F80
|
|
strb r2, [r0, #2]
|
|
bl sub_080791D0
|
|
_08071078:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807107C: .4byte gUnk_02000050
|
|
_08071080: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071084
|
|
sub_08071084: @ 0x08071084
|
|
push {lr}
|
|
ldr r1, _080710A0 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
movs r2, #0xb
|
|
strb r2, [r1]
|
|
ldr r2, _080710A4 @ =gUnk_0811BA88
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080710A0: .4byte gUnk_03003F80
|
|
_080710A4: .4byte gUnk_0811BA88
|
|
|
|
thumb_func_start sub_080710A8
|
|
sub_080710A8: @ 0x080710A8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
movs r2, #0
|
|
strb r0, [r4, #0xd]
|
|
ldr r1, _080710EC @ =gUnk_03003F80
|
|
ldr r3, [r1, #0x30]
|
|
movs r0, #1
|
|
orrs r3, r0
|
|
ldr r0, _080710F0 @ =0xFFFFF3FF
|
|
ands r3, r0
|
|
str r3, [r1, #0x30]
|
|
strb r2, [r1, #0xc]
|
|
ldrb r2, [r1, #5]
|
|
ldrb r0, [r1, #0x1b]
|
|
orrs r0, r2
|
|
adds r5, r1, #0
|
|
cmp r0, #0
|
|
bne _080710FA
|
|
movs r0, #0x80
|
|
ands r3, r0
|
|
cmp r3, #0
|
|
bne _080710FA
|
|
bl sub_08077B2C
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080710F4
|
|
movs r0, #0x84
|
|
lsls r0, r0, #3
|
|
b _080710F8
|
|
.align 2, 0
|
|
_080710EC: .4byte gUnk_03003F80
|
|
_080710F0: .4byte 0xFFFFF3FF
|
|
_080710F4:
|
|
movs r0, #0x81
|
|
lsls r0, r0, #4
|
|
_080710F8:
|
|
strh r0, [r5, #8]
|
|
_080710FA:
|
|
movs r0, #0
|
|
strb r0, [r5, #0x1e]
|
|
ldrb r1, [r4, #0x14]
|
|
movs r0, #0xe
|
|
ands r0, r1
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #1
|
|
bl sub_08079FC4
|
|
lsls r0, r0, #4
|
|
subs r0, #4
|
|
lsls r0, r0, #0xc
|
|
str r0, [r4, #0x20]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
bl sub_0807A108
|
|
movs r0, #0x7c
|
|
bl sub_080A3268
|
|
movs r0, #0x78
|
|
bl sub_080A3268
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08071130
|
|
sub_08071130: @ 0x08071130
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _08071206
|
|
ldr r6, _080711B4 @ =gUnk_03003F80
|
|
ldrb r0, [r6, #0x1b]
|
|
cmp r0, #0
|
|
bne _08071158
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08071206
|
|
_08071158:
|
|
adds r0, r5, #0
|
|
bl sub_0806F69C
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r5, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08071206
|
|
strb r0, [r6, #2]
|
|
adds r0, r5, #0
|
|
bl sub_0800455E
|
|
ldr r0, [r5, #0x74]
|
|
cmp r0, #0
|
|
beq _0807117E
|
|
bl sub_0800455E
|
|
_0807117E:
|
|
adds r0, r5, #0
|
|
movs r1, #7
|
|
bl sub_08008790
|
|
ldrb r0, [r6, #0x14]
|
|
cmp r0, #0
|
|
bne _08071206
|
|
bl sub_0807A1B8
|
|
bl sub_08078EFC
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bne _08071206
|
|
bl sub_08079D48
|
|
cmp r0, #0
|
|
beq _080711AC
|
|
adds r0, r6, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080711B8
|
|
_080711AC:
|
|
strb r4, [r6, #2]
|
|
bl sub_080791D0
|
|
b _08071206
|
|
.align 2, 0
|
|
_080711B4: .4byte gUnk_03003F80
|
|
_080711B8:
|
|
movs r0, #6
|
|
strb r0, [r5, #0xe]
|
|
ldrb r1, [r6, #5]
|
|
ldrb r0, [r6, #0xb]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _080711EE
|
|
ldr r1, [r6, #0x30]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080711EE
|
|
movs r0, #8
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _080711E0
|
|
ldr r0, _080711DC @ =0x00000424
|
|
b _080711E4
|
|
.align 2, 0
|
|
_080711DC: .4byte 0x00000424
|
|
_080711E0:
|
|
movs r0, #0x82
|
|
lsls r0, r0, #4
|
|
_080711E4:
|
|
strh r0, [r6, #8]
|
|
adds r1, r5, #0
|
|
adds r1, #0x58
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
_080711EE:
|
|
ldrb r0, [r5, #0xd]
|
|
adds r0, #1
|
|
movs r4, #0
|
|
strb r0, [r5, #0xd]
|
|
bl sub_08078F60
|
|
adds r0, r5, #0
|
|
adds r0, #0x42
|
|
strb r4, [r0]
|
|
movs r0, #0x7d
|
|
bl sub_080A3268
|
|
_08071206:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08071208
|
|
sub_08071208: @ 0x08071208
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r2, _08071244 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #5]
|
|
ldrb r0, [r2, #0xb]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _08071228
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08071228
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08071228:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _08071240
|
|
ldr r1, _08071244 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r1, #2]
|
|
bl sub_080791D0
|
|
_08071240:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08071244: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071248
|
|
sub_08071248: @ 0x08071248
|
|
push {lr}
|
|
ldr r3, _08071274 @ =gUnk_03003F80
|
|
adds r2, r3, #0
|
|
adds r2, #0xa8
|
|
movs r1, #0x16
|
|
strb r1, [r2]
|
|
ldr r1, [r3, #0x30]
|
|
movs r2, #4
|
|
orrs r1, r2
|
|
str r1, [r3, #0x30]
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
ldr r2, _08071278 @ =gUnk_0811BA94
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071274: .4byte gUnk_03003F80
|
|
_08071278: .4byte gUnk_0811BA94
|
|
|
|
thumb_func_start sub_0807127C
|
|
sub_0807127C: @ 0x0807127C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #0x3a
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldr r5, _080712AC @ =gUnk_03003F80
|
|
ldr r1, [r5, #0x30]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080712B4
|
|
movs r0, #0x3c
|
|
strb r0, [r4, #0xe]
|
|
ldr r0, _080712B0 @ =0x00000C19
|
|
strh r0, [r5, #8]
|
|
movs r0, #0x84
|
|
bl sub_080A3268
|
|
b _080712E4
|
|
.align 2, 0
|
|
_080712AC: .4byte gUnk_03003F80
|
|
_080712B0: .4byte 0x00000C19
|
|
_080712B4:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _080712C4
|
|
adds r0, r4, #0
|
|
bl sub_08004168
|
|
_080712C4:
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl CreateFX
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080712E0
|
|
ldr r0, _080712DC @ =0x0000072C
|
|
b _080712E2
|
|
.align 2, 0
|
|
_080712DC: .4byte 0x0000072C
|
|
_080712E0:
|
|
ldr r0, _080712EC @ =0x0000044C
|
|
_080712E2:
|
|
strh r0, [r5, #8]
|
|
_080712E4:
|
|
bl sub_08077B2C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080712EC: .4byte 0x0000044C
|
|
|
|
thumb_func_start sub_080712F0
|
|
sub_080712F0: @ 0x080712F0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
movs r5, #0
|
|
ldr r3, _08071314 @ =gUnk_03003F80
|
|
ldr r0, [r3, #0x30]
|
|
movs r2, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08071318
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0807133E
|
|
b _08071342
|
|
.align 2, 0
|
|
_08071314: .4byte gUnk_03003F80
|
|
_08071318:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807133E
|
|
adds r0, r4, #0
|
|
adds r0, #0x58
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xce
|
|
beq _0807133C
|
|
ldr r0, _08071338 @ =0x000002CE
|
|
strh r0, [r3, #8]
|
|
b _0807133E
|
|
.align 2, 0
|
|
_08071338: .4byte 0x000002CE
|
|
_0807133C:
|
|
movs r5, #1
|
|
_0807133E:
|
|
cmp r5, #0
|
|
beq _0807137A
|
|
_08071342:
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
subs r1, #5
|
|
movs r0, #0x20
|
|
strb r0, [r1]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #0x59
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldr r2, _0807137C @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #5
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
bl sub_08079458
|
|
_0807137A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807137C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071380
|
|
sub_08071380: @ 0x08071380
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _080713E8 @ =gUnk_03003F80
|
|
adds r1, r5, #0
|
|
adds r1, #0xa8
|
|
movs r0, #0xe
|
|
strb r0, [r1]
|
|
ldr r1, _080713EC @ =gUnk_0811BA9C
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #7
|
|
beq _080713FC
|
|
cmp r0, #2
|
|
bls _080713FC
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080713FC
|
|
ldr r0, _080713F0 @ =gUnk_03000FF0
|
|
ldrh r1, [r0, #2]
|
|
movs r0, #0x81
|
|
lsls r0, r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080713FC
|
|
bl sub_08052660
|
|
cmp r0, #0
|
|
bne _080713D0
|
|
ldr r0, _080713F4 @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #3
|
|
bne _080713F8
|
|
_080713D0:
|
|
movs r0, #7
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #7
|
|
movs r1, #0x10
|
|
bl sub_08050054
|
|
movs r0, #0xf8
|
|
bl sub_080A3268
|
|
b _080713FC
|
|
.align 2, 0
|
|
_080713E8: .4byte gUnk_03003F80
|
|
_080713EC: .4byte gUnk_0811BA9C
|
|
_080713F0: .4byte gUnk_03000FF0
|
|
_080713F4: .4byte gUnk_02033A90
|
|
_080713F8:
|
|
bl sub_0804ACF8
|
|
_080713FC:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08071400
|
|
sub_08071400: @ 0x08071400
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
movs r1, #0
|
|
strb r0, [r4, #0x10]
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
strb r1, [r0]
|
|
ldr r0, _0807149C @ =gUnk_02033A90
|
|
ldrh r3, [r0, #0x12]
|
|
ldrh r5, [r0, #0x14]
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r4, r0]
|
|
cmp r2, r3
|
|
bne _0807142A
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r5
|
|
beq _08071444
|
|
_0807142A:
|
|
movs r0, #0x32
|
|
ldrsh r1, [r4, r0]
|
|
adds r0, r2, #0
|
|
adds r2, r3, #0
|
|
adds r3, r5, #0
|
|
bl sub_080045D4
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
bl sub_08079E08
|
|
_08071444:
|
|
adds r0, r4, #0
|
|
bl sub_08073904
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldr r2, _080714A0 @ =gUnk_03003F80
|
|
ldrb r0, [r2, #2]
|
|
cmp r0, #0
|
|
bne _0807147C
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x20
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
ldrb r1, [r4, #0x18]
|
|
subs r0, #0x45
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldr r0, _0807149C @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #4
|
|
bne _0807147C
|
|
ldr r0, _080714A4 @ =0x0000052C
|
|
strh r0, [r2, #8]
|
|
_0807147C:
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
ldr r0, _0807149C @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #3
|
|
beq _0807149A
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
_0807149A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807149C: .4byte gUnk_02033A90
|
|
_080714A0: .4byte gUnk_03003F80
|
|
_080714A4: .4byte 0x0000052C
|
|
|
|
thumb_func_start sub_080714A8
|
|
sub_080714A8: @ 0x080714A8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08071524 @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #5
|
|
bgt _080714BE
|
|
cmp r0, #4
|
|
blt _080714BE
|
|
ldr r0, _08071528 @ =gLinkEntity
|
|
bl sub_0806F948
|
|
_080714BE:
|
|
ldr r3, _0807152C @ =gUnk_03003F80
|
|
ldrb r1, [r3, #0xd]
|
|
movs r0, #0x84
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807153E
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, r1
|
|
beq _080714D4
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
_080714D4:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _08071538
|
|
ldrb r0, [r3, #0xd]
|
|
strb r0, [r4, #0x15]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x1a
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r4, #0x20]
|
|
movs r1, #0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
movs r0, #9
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #7
|
|
strb r0, [r4, #0xd]
|
|
strb r1, [r4, #0xf]
|
|
ldr r1, [r3, #0x30]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
ldr r4, _08071530 @ =0x0000080C
|
|
adds r2, r4, #0
|
|
cmp r0, #0
|
|
beq _08071516
|
|
ldr r0, _08071534 @ =0x0000041C
|
|
adds r2, r0, #0
|
|
_08071516:
|
|
strh r2, [r3, #8]
|
|
movs r0, #0x21
|
|
rsbs r0, r0, #0
|
|
ands r1, r0
|
|
str r1, [r3, #0x30]
|
|
b _0807156A
|
|
.align 2, 0
|
|
_08071524: .4byte gUnk_02033A90
|
|
_08071528: .4byte gLinkEntity
|
|
_0807152C: .4byte gUnk_03003F80
|
|
_08071530: .4byte 0x0000080C
|
|
_08071534: .4byte 0x0000041C
|
|
_08071538:
|
|
ldrb r0, [r3, #0xd]
|
|
strb r0, [r4, #0x15]
|
|
b _08071542
|
|
_0807153E:
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
_08071542:
|
|
ldr r0, _0807155C @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #4
|
|
bne _08071560
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08071566
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _0807156A
|
|
.align 2, 0
|
|
_0807155C: .4byte gUnk_02033A90
|
|
_08071560:
|
|
adds r0, r4, #0
|
|
bl sub_08077698
|
|
_08071566:
|
|
bl sub_08079938
|
|
_0807156A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0807156C
|
|
sub_0807156C: @ 0x0807156C
|
|
push {lr}
|
|
ldr r2, _080715A0 @ =gUnk_03000BF0
|
|
movs r1, #0
|
|
str r1, [r2, #0x30]
|
|
ldr r2, _080715A4 @ =gUnk_02034490
|
|
movs r1, #1
|
|
strb r1, [r2]
|
|
movs r1, #3
|
|
strb r1, [r0, #0xd]
|
|
movs r1, #0x1e
|
|
strb r1, [r0, #0xf]
|
|
ldr r2, _080715A8 @ =gUnk_03003F80
|
|
movs r1, #0xe7
|
|
lsls r1, r1, #3
|
|
strh r1, [r2, #8]
|
|
movs r1, #6
|
|
movs r2, #1
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
bl sub_08077B20
|
|
bl sub_0805E544
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080715A0: .4byte gUnk_03000BF0
|
|
_080715A4: .4byte gUnk_02034490
|
|
_080715A8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080715AC
|
|
sub_080715AC: @ 0x080715AC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _080715CC
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldr r0, _080715D0 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080715CC
|
|
movs r0, #4
|
|
strb r0, [r4, #0xd]
|
|
_080715CC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080715D0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080715D4
|
|
sub_080715D4: @ 0x080715D4
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
movs r2, #0
|
|
movs r0, #5
|
|
strb r0, [r3, #0xd]
|
|
movs r0, #0x29
|
|
adds r0, r0, r3
|
|
mov ip, r0
|
|
ldrb r1, [r0]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
strb r2, [r3, #0xf]
|
|
ldrb r0, [r3, #0x19]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x19]
|
|
adds r0, r3, #0
|
|
adds r0, #0x80
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
str r2, [r0]
|
|
adds r0, #4
|
|
str r2, [r0]
|
|
adds r0, r3, #0
|
|
adds r1, r2, #0
|
|
movs r3, #0
|
|
bl sub_0805EC9C
|
|
ldr r2, _08071628 @ =gUnk_03003F80
|
|
ldr r0, _0807162C @ =0x000002C3
|
|
strh r0, [r2, #8]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
ldr r0, _08071630 @ =0x0000016F
|
|
bl sub_080A3268
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071628: .4byte gUnk_03003F80
|
|
_0807162C: .4byte 0x000002C3
|
|
_08071630: .4byte 0x0000016F
|
|
|
|
thumb_func_start sub_08071634
|
|
sub_08071634: @ 0x08071634
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, #0
|
|
adds r0, #0x81
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08071654
|
|
adds r1, r5, #0
|
|
adds r1, #0x80
|
|
ldr r0, [r1]
|
|
adds r0, #0x80
|
|
lsls r0, r0, #0x14
|
|
lsrs r7, r0, #0x17
|
|
adds r4, r1, #0
|
|
b _0807166A
|
|
_08071654:
|
|
adds r4, r5, #0
|
|
adds r4, #0x80
|
|
ldrb r1, [r4]
|
|
lsrs r1, r1, #6
|
|
movs r0, #3
|
|
eors r1, r0
|
|
adds r1, #1
|
|
movs r0, #0x10
|
|
bl __divsi3
|
|
asrs r7, r0, #1
|
|
_0807166A:
|
|
adds r0, r5, #0
|
|
adds r0, #0x84
|
|
ldr r3, [r0]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
adds r2, r0, #0
|
|
cmp r3, r1
|
|
bls _08071684
|
|
adds r0, r3, #0
|
|
adds r0, #0x80
|
|
lsls r0, r0, #0x14
|
|
lsrs r3, r0, #0x17
|
|
b _08071694
|
|
_08071684:
|
|
cmp r3, r1
|
|
bne _0807168C
|
|
movs r3, #0x10
|
|
b _08071694
|
|
_0807168C:
|
|
ldr r1, _080716B0 @ =gUnk_0811BABC
|
|
lsrs r0, r3, #5
|
|
adds r0, r0, r1
|
|
ldrb r3, [r0]
|
|
_08071694:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
mov r8, r0
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
beq _080716EA
|
|
cmp r0, #2
|
|
bgt _080716B4
|
|
cmp r0, #1
|
|
beq _080716BA
|
|
b _08071754
|
|
.align 2, 0
|
|
_080716B0: .4byte gUnk_0811BABC
|
|
_080716B4:
|
|
cmp r0, #3
|
|
beq _0807171E
|
|
b _08071754
|
|
_080716BA:
|
|
movs r1, #0x29
|
|
adds r1, r1, r5
|
|
mov ip, r1
|
|
ldrb r1, [r1]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
ldr r0, [r4]
|
|
cmp r0, #0x80
|
|
bls _080716D6
|
|
subs r0, r0, r7
|
|
str r0, [r4]
|
|
_080716D6:
|
|
lsls r1, r3, #1
|
|
ldr r0, [r2]
|
|
adds r0, r0, r1
|
|
str r0, [r2]
|
|
mov r0, r8
|
|
lsls r1, r0, #1
|
|
ldr r0, [r5, #0x30]
|
|
adds r0, r0, r1
|
|
str r0, [r5, #0x30]
|
|
b _08071754
|
|
_080716EA:
|
|
ldr r0, [r4]
|
|
adds r0, r0, r7
|
|
str r0, [r4]
|
|
ldr r1, [r2]
|
|
movs r6, #0x80
|
|
lsls r6, r6, #1
|
|
cmp r1, r6
|
|
bls _08071710
|
|
ldr r0, _0807170C @ =0x0000017F
|
|
cmp r1, r0
|
|
bhi _08071702
|
|
lsrs r3, r3, #1
|
|
_08071702:
|
|
subs r0, r1, r3
|
|
cmp r0, #0xff
|
|
bhi _08071716
|
|
str r6, [r2]
|
|
b _08071718
|
|
.align 2, 0
|
|
_0807170C: .4byte 0x0000017F
|
|
_08071710:
|
|
cmp r1, #0x80
|
|
bls _08071718
|
|
subs r0, r1, r3
|
|
_08071716:
|
|
str r0, [r2]
|
|
_08071718:
|
|
ldr r0, [r5, #0x34]
|
|
mov r1, r8
|
|
b _08071750
|
|
_0807171E:
|
|
ldr r0, [r4]
|
|
ldr r6, _08071740 @ =0x0000033F
|
|
cmp r0, r6
|
|
bhi _0807172A
|
|
adds r0, r0, r7
|
|
str r0, [r4]
|
|
_0807172A:
|
|
ldr r1, [r2]
|
|
cmp r1, r6
|
|
bls _08071744
|
|
movs r0, #8
|
|
strb r0, [r5, #0xe]
|
|
movs r0, #0x1e
|
|
strb r0, [r5, #0xf]
|
|
movs r0, #6
|
|
strb r0, [r5, #0xd]
|
|
b _0807174A
|
|
.align 2, 0
|
|
_08071740: .4byte 0x0000033F
|
|
_08071744:
|
|
lsls r0, r3, #1
|
|
adds r0, r1, r0
|
|
str r0, [r2]
|
|
_0807174A:
|
|
mov r0, r8
|
|
lsls r1, r0, #1
|
|
ldr r0, [r5, #0x34]
|
|
_08071750:
|
|
subs r0, r0, r1
|
|
str r0, [r5, #0x34]
|
|
_08071754:
|
|
ldr r1, [r4]
|
|
ldr r2, [r2]
|
|
adds r0, r5, #0
|
|
movs r3, #0
|
|
bl sub_0805EC9C
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0807176C
|
|
sub_0807176C: @ 0x0807176C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
bne _080717C6
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _080717CA
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldr r1, _080717AC @ =gUnk_02033A90
|
|
ldrb r0, [r1, #0x17]
|
|
cmp r0, #3
|
|
bne _080717B0
|
|
ldrb r0, [r4, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080717CA
|
|
adds r0, r4, #0
|
|
bl sub_080717F8
|
|
b _080717CA
|
|
.align 2, 0
|
|
_080717AC: .4byte gUnk_02033A90
|
|
_080717B0:
|
|
cmp r0, #6
|
|
bne _080717C0
|
|
ldr r0, _080717BC @ =gUnk_0813AB58
|
|
bl sub_08080840
|
|
b _080717CA
|
|
.align 2, 0
|
|
_080717BC: .4byte gUnk_0813AB58
|
|
_080717C0:
|
|
movs r0, #1
|
|
strb r0, [r1, #0x19]
|
|
b _080717CA
|
|
_080717C6:
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
_080717CA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080717CC
|
|
sub_080717CC: @ 0x080717CC
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _080717E4 @ =gUnk_03000FD0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080717F4
|
|
ldrb r0, [r1, #0xe]
|
|
cmp r0, #0
|
|
beq _080717E8
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
b _080717F4
|
|
.align 2, 0
|
|
_080717E4: .4byte gUnk_03000FD0
|
|
_080717E8:
|
|
adds r0, r1, #0
|
|
bl sub_080717F8
|
|
movs r0, #0x10
|
|
bl sub_080500F4
|
|
_080717F4:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080717F8
|
|
sub_080717F8: @ 0x080717F8
|
|
push {r4, lr}
|
|
ldr r2, _08071850 @ =gUnk_02033A90
|
|
ldrb r1, [r2, #0x16]
|
|
lsls r1, r1, #1
|
|
strb r1, [r0, #0x14]
|
|
ldr r3, _08071854 @ =gUnk_0811BAC4
|
|
ldrb r1, [r2, #0x16]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r3
|
|
ldrh r1, [r1]
|
|
ldrh r4, [r2, #0x12]
|
|
adds r1, r1, r4
|
|
movs r4, #0
|
|
strh r1, [r0, #0x2e]
|
|
ldrb r1, [r2, #0x16]
|
|
lsls r1, r1, #1
|
|
adds r1, #1
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r3
|
|
ldrh r1, [r1]
|
|
ldrh r3, [r2, #0x14]
|
|
adds r1, r1, r3
|
|
strh r1, [r0, #0x32]
|
|
movs r1, #0xb4
|
|
strb r1, [r2, #0x1a]
|
|
ldr r1, _08071858 @ =gUnk_02034490
|
|
strb r4, [r1]
|
|
movs r1, #9
|
|
strb r1, [r0, #0xc]
|
|
strb r4, [r0, #0xd]
|
|
ldr r3, _0807185C @ =gUnk_03003F80
|
|
ldr r1, [r3, #0x30]
|
|
movs r2, #0x21
|
|
rsbs r2, r2, #0
|
|
ands r1, r2
|
|
movs r2, #0x80
|
|
orrs r1, r2
|
|
str r1, [r3, #0x30]
|
|
bl sub_0805EC60
|
|
bl sub_0805E564
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08071850: .4byte gUnk_02033A90
|
|
_08071854: .4byte gUnk_0811BAC4
|
|
_08071858: .4byte gUnk_02034490
|
|
_0807185C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071860
|
|
sub_08071860: @ 0x08071860
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _08071876
|
|
bl sub_08056360
|
|
bl sub_08071A6C
|
|
b _08071896
|
|
_08071876:
|
|
ldr r0, _08071898 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
movs r1, #0x13
|
|
strb r1, [r0]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldr r1, _0807189C @ =gUnk_0811BAD4
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
_08071896:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08071898: .4byte gUnk_03003F80
|
|
_0807189C: .4byte gUnk_0811BAD4
|
|
|
|
thumb_func_start sub_080718A0
|
|
sub_080718A0: @ 0x080718A0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08077B2C
|
|
ldr r0, _080718EC @ =gUnk_03000B80
|
|
adds r0, #0x63
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x3d
|
|
strb r1, [r0]
|
|
ldr r1, _080718F0 @ =gUnk_03003DC0
|
|
movs r2, #6
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
ldrb r1, [r4, #0x11]
|
|
subs r0, #0x16
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x11]
|
|
ldr r5, _080718F4 @ =gUnk_03003F80
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080718F8
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #0x3b
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
bl sub_08052BB8
|
|
b _08071938
|
|
.align 2, 0
|
|
_080718EC: .4byte gUnk_03000B80
|
|
_080718F0: .4byte gUnk_03003DC0
|
|
_080718F4: .4byte gUnk_03003F80
|
|
_080718F8:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
bne _08071928
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #2
|
|
bne _08071914
|
|
ldr r0, _08071910 @ =0x000003CA
|
|
b _08071916
|
|
.align 2, 0
|
|
_08071910: .4byte 0x000003CA
|
|
_08071914:
|
|
ldr r0, _08071924 @ =0x000003C6
|
|
_08071916:
|
|
strh r0, [r5, #8]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
b _08071938
|
|
.align 2, 0
|
|
_08071924: .4byte 0x000003C6
|
|
_08071928:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08071938
|
|
strb r0, [r5, #2]
|
|
_08071938:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807193C
|
|
sub_0807193C: @ 0x0807193C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071986
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
movs r1, #6
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
str r0, [r4, #0x54]
|
|
cmp r0, #0
|
|
beq _08071986
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #2
|
|
bne _0807197C
|
|
ldr r1, _08071978 @ =gUnk_03003F80
|
|
movs r0, #0xf3
|
|
lsls r0, r0, #2
|
|
b _08071980
|
|
.align 2, 0
|
|
_08071978: .4byte gUnk_03003F80
|
|
_0807197C:
|
|
ldr r1, _08071988 @ =gUnk_03003F80
|
|
ldr r0, _0807198C @ =0x000003C7
|
|
_08071980:
|
|
strh r0, [r1, #8]
|
|
bl sub_08052BB8
|
|
_08071986:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08071988: .4byte gUnk_03003F80
|
|
_0807198C: .4byte 0x000003C7
|
|
|
|
thumb_func_start sub_08071990
|
|
sub_08071990: @ 0x08071990
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080719C0 @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080719E2
|
|
ldrb r0, [r2, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xd]
|
|
ldr r3, _080719C4 @ =gUnk_03003F80
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080719D8
|
|
ldrb r0, [r2, #0x14]
|
|
cmp r0, #2
|
|
bne _080719CC
|
|
ldr r0, _080719C8 @ =0x000003CD
|
|
strh r0, [r3, #8]
|
|
b _08071A4A
|
|
.align 2, 0
|
|
_080719C0: .4byte gUnk_02000050
|
|
_080719C4: .4byte gUnk_03003F80
|
|
_080719C8: .4byte 0x000003CD
|
|
_080719CC:
|
|
ldr r0, _080719D4 @ =0x000003C9
|
|
strh r0, [r3, #8]
|
|
b _08071A4A
|
|
.align 2, 0
|
|
_080719D4: .4byte 0x000003C9
|
|
_080719D8:
|
|
bl sub_08071A6C
|
|
bl sub_08079258
|
|
b _08071A4A
|
|
_080719E2:
|
|
ldr r4, _08071A20 @ =gUnk_03003F80
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08071A4A
|
|
ldrb r0, [r2, #0x14]
|
|
movs r3, #0
|
|
cmp r0, #2
|
|
bne _080719F8
|
|
movs r3, #4
|
|
_080719F8:
|
|
ldr r0, [r2, #0x54]
|
|
ldrb r0, [r0, #0xe]
|
|
cmp r0, #0
|
|
beq _08071A24
|
|
adds r0, r3, #0
|
|
adds r0, #0xc8
|
|
adds r1, r2, #0
|
|
adds r1, #0x58
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _08071A44
|
|
movs r1, #0xf2
|
|
lsls r1, r1, #2
|
|
adds r0, r1, #0
|
|
adds r0, r3, r0
|
|
strh r0, [r4, #8]
|
|
b _08071A4A
|
|
.align 2, 0
|
|
_08071A20: .4byte gUnk_03003F80
|
|
_08071A24:
|
|
adds r0, r3, #0
|
|
adds r0, #0xc7
|
|
adds r1, r2, #0
|
|
adds r1, #0x58
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _08071A44
|
|
ldr r1, _08071A40 @ =0x000003C7
|
|
adds r0, r3, r1
|
|
strh r0, [r4, #8]
|
|
b _08071A4A
|
|
.align 2, 0
|
|
_08071A40: .4byte 0x000003C7
|
|
_08071A44:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08071A4A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08071A4C
|
|
sub_08071A4C: @ 0x08071A4C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r4, #0x5a
|
|
ldrb r1, [r4]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071A68
|
|
bl sub_08071A6C
|
|
bl sub_0807921C
|
|
_08071A68:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08071A6C
|
|
sub_08071A6C: @ 0x08071A6C
|
|
ldr r1, _08071A84 @ =gUnk_03003DC0
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldr r3, _08071A88 @ =gLinkEntity
|
|
ldrb r1, [r3, #0x11]
|
|
lsrs r2, r1, #4
|
|
subs r0, #0x10
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r3, #0x11]
|
|
bx lr
|
|
.align 2, 0
|
|
_08071A84: .4byte gUnk_03003DC0
|
|
_08071A88: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08071A8C
|
|
sub_08071A8C: @ 0x08071A8C
|
|
push {lr}
|
|
ldr r1, _08071AA8 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
movs r2, #0x19
|
|
strb r2, [r1]
|
|
ldr r2, _08071AAC @ =gUnk_0811BAE4
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071AA8: .4byte gUnk_03003F80
|
|
_08071AAC: .4byte gUnk_0811BAE4
|
|
|
|
thumb_func_start sub_08071AB0
|
|
sub_08071AB0: @ 0x08071AB0
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
ldrb r0, [r3, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r3, #0xd]
|
|
ldr r1, _08071AD8 @ =gUnk_03003F80
|
|
ldr r2, [r1, #0x30]
|
|
movs r0, #1
|
|
orrs r2, r0
|
|
str r2, [r1, #0x30]
|
|
ldrb r4, [r3, #0xa]
|
|
cmp r4, #1
|
|
bne _08071ADC
|
|
movs r1, #0
|
|
movs r0, #0
|
|
strh r0, [r3, #0x24]
|
|
strb r1, [r3, #0xe]
|
|
strb r4, [r3, #0xf]
|
|
b _08071AE8
|
|
.align 2, 0
|
|
_08071AD8: .4byte gUnk_03003F80
|
|
_08071ADC:
|
|
movs r0, #0x80
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _08071AE6
|
|
movs r0, #0x40
|
|
_08071AE6:
|
|
strh r0, [r3, #0x24]
|
|
_08071AE8:
|
|
adds r0, r3, #0
|
|
bl sub_08071AF0
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08071AF0
|
|
sub_08071AF0: @ 0x08071AF0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08071B34 @ =gUnk_03003F80
|
|
adds r0, r5, #0
|
|
adds r0, #0x80
|
|
movs r1, #0
|
|
strh r1, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #1
|
|
bne _08071B44
|
|
ldrb r0, [r4, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08071B58
|
|
ldr r0, _08071B38 @ =gUnk_0811BAF0
|
|
ldrb r1, [r4, #0xe]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldrb r2, [r1]
|
|
adds r0, r2, #0
|
|
cmp r0, #0xff
|
|
beq _08071B3C
|
|
strb r2, [r4, #0xf]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r4, #0x24]
|
|
ldrb r0, [r4, #0xe]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xe]
|
|
b _08071B58
|
|
.align 2, 0
|
|
_08071B34: .4byte gUnk_03003F80
|
|
_08071B38: .4byte gUnk_0811BAF0
|
|
_08071B3C:
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
b _08071B5C
|
|
_08071B44:
|
|
ldrb r0, [r5, #6]
|
|
subs r0, #1
|
|
strb r0, [r5, #6]
|
|
movs r1, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08071B58
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
_08071B58:
|
|
bl sub_08079E08
|
|
_08071B5C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08071B60
|
|
sub_08071B60: @ 0x08071B60
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08071BAC @ =gUnk_03003F80
|
|
movs r2, #0
|
|
movs r0, #2
|
|
strb r0, [r5, #6]
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #2
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
str r0, [r5, #0x30]
|
|
strb r2, [r4, #0xa]
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
strb r2, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_080728AC
|
|
movs r0, #6
|
|
strb r0, [r4, #0xf]
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08071BA8
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
strh r0, [r5, #8]
|
|
movs r0, #3
|
|
strh r0, [r4, #0x12]
|
|
ldrb r1, [r4, #0x14]
|
|
lsrs r1, r1, #1
|
|
adds r1, #0x3c
|
|
adds r0, r4, #0
|
|
bl sub_080042AC
|
|
_08071BA8:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08071BAC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071BB0
|
|
sub_08071BB0: @ 0x08071BB0
|
|
push {lr}
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
ldr r2, _08071BD4 @ =gUnk_0811BB2C
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
ldr r0, _08071BD8 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
movs r1, #0x12
|
|
strb r1, [r0]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071BD4: .4byte gUnk_0811BB2C
|
|
_08071BD8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071BDC
|
|
sub_08071BDC: @ 0x08071BDC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08071C10 @ =gUnk_03003F80
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x88
|
|
lsls r1, r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08071C9C
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
beq _08071C1C
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071C14
|
|
movs r0, #0x84
|
|
lsls r0, r0, #3
|
|
strh r0, [r5, #8]
|
|
b _08071C9C
|
|
.align 2, 0
|
|
_08071C10: .4byte gUnk_03003F80
|
|
_08071C14:
|
|
movs r0, #0x81
|
|
lsls r0, r0, #4
|
|
strh r0, [r5, #8]
|
|
b _08071C9C
|
|
_08071C1C:
|
|
strb r0, [r5, #0xc]
|
|
ldr r1, [r5, #0x30]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071C4C
|
|
ldrb r0, [r5, #0x12]
|
|
subs r0, #8
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #2
|
|
bhi _08071C42
|
|
adds r0, r4, #0
|
|
bl sub_0807A298
|
|
bl sub_08079458
|
|
movs r0, #0xa
|
|
strb r0, [r4, #0xc]
|
|
_08071C42:
|
|
ldr r0, _08071C48 @ =0x00000C1A
|
|
b _08071C5A
|
|
.align 2, 0
|
|
_08071C48: .4byte 0x00000C1A
|
|
_08071C4C:
|
|
movs r0, #8
|
|
ands r1, r0
|
|
movs r0, #0xde
|
|
lsls r0, r0, #1
|
|
cmp r1, #0
|
|
beq _08071C5A
|
|
ldr r0, _08071CA0 @ =0x00000459
|
|
_08071C5A:
|
|
ldr r2, _08071CA4 @ =gUnk_03003F80
|
|
movs r3, #0
|
|
strh r0, [r2, #8]
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08071CA8 @ =0xFEDBF2FE
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
adds r5, r4, #0
|
|
adds r5, #0x29
|
|
ldrb r1, [r5]
|
|
subs r0, #0x3d
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r5]
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
strb r3, [r2, #2]
|
|
strb r3, [r2, #6]
|
|
adds r0, r4, #0
|
|
bl sub_0800451C
|
|
bl sub_08077B2C
|
|
movs r0, #0x87
|
|
bl sub_080A3268
|
|
_08071C9C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08071CA0: .4byte 0x00000459
|
|
_08071CA4: .4byte gUnk_03003F80
|
|
_08071CA8: .4byte 0xFEDBF2FE
|
|
|
|
thumb_func_start sub_08071CAC
|
|
sub_08071CAC: @ 0x08071CAC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r3, #0x80
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071CFE
|
|
ldr r1, _08071CE0 @ =gUnk_03003F80
|
|
ldr r2, [r1, #0x30]
|
|
adds r0, r2, #0
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
bne _08071CEC
|
|
movs r0, #8
|
|
ands r2, r0
|
|
ldr r0, _08071CE4 @ =0x000002BD
|
|
cmp r2, #0
|
|
beq _08071CEE
|
|
ldr r0, _08071CE8 @ =0x0000045A
|
|
b _08071CEE
|
|
.align 2, 0
|
|
_08071CE0: .4byte gUnk_03003F80
|
|
_08071CE4: .4byte 0x000002BD
|
|
_08071CE8: .4byte 0x0000045A
|
|
_08071CEC:
|
|
ldr r0, _08071D00 @ =0x00000C1B
|
|
_08071CEE:
|
|
strh r0, [r1, #8]
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0xf0
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0x7b
|
|
bl sub_080A3268
|
|
_08071CFE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08071D00: .4byte 0x00000C1B
|
|
|
|
thumb_func_start sub_08071D04
|
|
sub_08071D04: @ 0x08071D04
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08071D7A
|
|
movs r4, #0
|
|
movs r0, #0x28
|
|
bl sub_080544DC
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08071D3A
|
|
ldr r0, _08071D6C @ =gUnk_02002A40
|
|
adds r0, r0, r1
|
|
adds r0, #0xb5
|
|
movs r1, #0x20
|
|
strb r1, [r0]
|
|
movs r0, #0x40
|
|
movs r1, #0x60
|
|
movs r2, #2
|
|
bl sub_080A2960
|
|
movs r4, #0x20
|
|
_08071D3A:
|
|
cmp r4, #0
|
|
beq _08071D74
|
|
adds r0, r4, #0
|
|
bl sub_080526A0
|
|
movs r2, #0
|
|
movs r0, #3
|
|
strb r0, [r5, #0xd]
|
|
ldr r1, _08071D70 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x3c
|
|
strb r2, [r0]
|
|
movs r0, #0xff
|
|
strb r0, [r5, #0x15]
|
|
movs r3, #0
|
|
strh r2, [r5, #0x24]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r5, #0x20]
|
|
movs r0, #1
|
|
strb r0, [r1, #2]
|
|
adds r1, #0x26
|
|
strb r3, [r1]
|
|
b _08071D7A
|
|
.align 2, 0
|
|
_08071D6C: .4byte gUnk_02002A40
|
|
_08071D70: .4byte gUnk_03003F80
|
|
_08071D74:
|
|
ldr r1, _08071D7C @ =gUnk_030010A0
|
|
movs r0, #1
|
|
strb r0, [r1, #5]
|
|
_08071D7A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08071D7C: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_08071D80
|
|
sub_08071D80: @ 0x08071D80
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r5, _08071DB4 @ =gUnk_03003F80
|
|
movs r0, #1
|
|
strb r0, [r5, #0x14]
|
|
adds r0, r4, #0
|
|
bl sub_08073904
|
|
ldrb r1, [r5, #2]
|
|
movs r0, #7
|
|
ands r0, r1
|
|
cmp r0, #3
|
|
bne _08071DB2
|
|
movs r0, #0
|
|
strb r0, [r5, #2]
|
|
adds r1, r4, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0xe2
|
|
strb r0, [r1]
|
|
bl sub_0805E564
|
|
bl sub_080791D0
|
|
_08071DB2:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08071DB4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071DB8
|
|
sub_08071DB8: @ 0x08071DB8
|
|
push {lr}
|
|
ldr r2, _08071DCC @ =gUnk_0811BB3C
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071DCC: .4byte gUnk_0811BB3C
|
|
|
|
thumb_func_start sub_08071DD0
|
|
sub_08071DD0: @ 0x08071DD0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r1, _08071DF4 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
strb r0, [r2, #0xe]
|
|
adds r3, r1, #0
|
|
adds r3, #0x39
|
|
ldrb r0, [r3]
|
|
cmp r0, #0
|
|
beq _08071DF8
|
|
movs r0, #0
|
|
strb r0, [r3]
|
|
movs r0, #2
|
|
strb r0, [r2, #0xd]
|
|
adds r0, #0xfe
|
|
b _08071E00
|
|
.align 2, 0
|
|
_08071DF4: .4byte gUnk_03003F80
|
|
_08071DF8:
|
|
movs r0, #1
|
|
strb r0, [r2, #0xd]
|
|
movs r0, #0x8a
|
|
lsls r0, r0, #1
|
|
_08071E00:
|
|
strh r0, [r1, #8]
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08071E04
|
|
sub_08071E04: @ 0x08071E04
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #0x34]
|
|
cmp r0, #0
|
|
beq _08071E38
|
|
ldr r5, _08071E34 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
bne _08071E38
|
|
bl sub_0807A1B8
|
|
ldrb r0, [r5, #0x12]
|
|
cmp r0, #1
|
|
bne _08071E38
|
|
movs r0, #7
|
|
strb r0, [r5, #0x11]
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #2
|
|
orrs r0, r1
|
|
str r0, [r5, #0x30]
|
|
bl sub_080791BC
|
|
b _08071E72
|
|
.align 2, 0
|
|
_08071E34: .4byte gUnk_03003F80
|
|
_08071E38:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
bl sub_08079B24
|
|
cmp r0, #0
|
|
bne _08071E4E
|
|
adds r0, r4, #0
|
|
bl sub_08079708
|
|
b _08071E72
|
|
_08071E4E:
|
|
bl sub_080792D8
|
|
bl sub_0807953C
|
|
cmp r0, #0
|
|
beq _08071E60
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #2
|
|
b _08071E64
|
|
_08071E60:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
_08071E64:
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0xe
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bgt _08071E72
|
|
bl sub_080791BC
|
|
_08071E72:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08071E74
|
|
sub_08071E74: @ 0x08071E74
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
bl sub_08003FC4
|
|
bl sub_08079E08
|
|
ldrb r0, [r4, #0xe]
|
|
adds r1, r0, #0
|
|
adds r1, #0xff
|
|
strb r1, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08071E96
|
|
bl sub_080791BC
|
|
_08071E96:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08071E98
|
|
sub_08071E98: @ 0x08071E98
|
|
push {lr}
|
|
ldr r2, _08071EAC @ =gUnk_0811BB48
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071EAC: .4byte gUnk_0811BB48
|
|
|
|
thumb_func_start sub_08071EB0
|
|
sub_08071EB0: @ 0x08071EB0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08077B2C
|
|
adds r0, r4, #0
|
|
movs r1, #0xe
|
|
bl sub_08077C3C
|
|
cmp r0, #0
|
|
beq _08071F12
|
|
ldr r3, _08071EE4 @ =gUnk_03003F80
|
|
adds r2, r3, #0
|
|
adds r2, #0x38
|
|
ldrb r1, [r2]
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldrb r0, [r2]
|
|
cmp r0, #0x20
|
|
bne _08071EEC
|
|
ldr r0, _08071EE8 @ =0x00000614
|
|
strh r0, [r3, #8]
|
|
b _08071F12
|
|
.align 2, 0
|
|
_08071EE4: .4byte gUnk_03003F80
|
|
_08071EE8: .4byte 0x00000614
|
|
_08071EEC:
|
|
cmp r0, #0x20
|
|
blt _08071F00
|
|
cmp r0, #0x25
|
|
bgt _08071F00
|
|
ldr r0, _08071EFC @ =0x000002DF
|
|
strh r0, [r3, #8]
|
|
b _08071F12
|
|
.align 2, 0
|
|
_08071EFC: .4byte 0x000002DF
|
|
_08071F00:
|
|
movs r0, #0xc2
|
|
lsls r0, r0, #3
|
|
strh r0, [r3, #8]
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
movs r1, #2
|
|
bl sub_0807CAA0
|
|
_08071F12:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08071F14
|
|
sub_08071F14: @ 0x08071F14
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r4, #0x5a
|
|
ldrb r1, [r4]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071F32
|
|
ldr r1, _08071F34 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
str r0, [r1, #0x2c]
|
|
bl sub_0807921C
|
|
_08071F32:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08071F34: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08071F38
|
|
sub_08071F38: @ 0x08071F38
|
|
push {lr}
|
|
ldr r2, _08071F4C @ =gUnk_0811BB50
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071F4C: .4byte gUnk_0811BB50
|
|
|
|
thumb_func_start sub_08071F50
|
|
sub_08071F50: @ 0x08071F50
|
|
push {lr}
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
movs r1, #0x78
|
|
strb r1, [r0, #0xe]
|
|
ldrb r1, [r0, #0xd]
|
|
adds r1, #1
|
|
strb r1, [r0, #0xd]
|
|
ldr r1, _08071F78 @ =gUnk_03003F80
|
|
movs r0, #0xa5
|
|
lsls r0, r0, #2
|
|
strh r0, [r1, #8]
|
|
bl sub_08077B20
|
|
ldr r0, _08071F7C @ =0x00000195
|
|
bl sub_080A3268
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08071F78: .4byte gUnk_03003F80
|
|
_08071F7C: .4byte 0x00000195
|
|
|
|
thumb_func_start sub_08071F80
|
|
sub_08071F80: @ 0x08071F80
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
bl sub_08003FC4
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
bne _08071FB8
|
|
adds r0, r4, #0
|
|
bl sub_08016A04
|
|
ldr r0, _08071FB4 @ =gUnk_03003F80
|
|
strb r5, [r0, #2]
|
|
ldrb r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
bne _08071FB8
|
|
bl sub_08079D48
|
|
cmp r0, #0
|
|
bne _08071FB8
|
|
adds r0, r4, #0
|
|
bl sub_08072008
|
|
b _08072004
|
|
.align 2, 0
|
|
_08071FB4: .4byte gUnk_03003F80
|
|
_08071FB8:
|
|
bl sub_08079B24
|
|
cmp r0, #0
|
|
bne _08071FC8
|
|
adds r0, r4, #0
|
|
bl sub_08079708
|
|
b _08071FFE
|
|
_08071FC8:
|
|
ldr r0, _08071FEC @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08071FFE
|
|
bl sub_0807953C
|
|
cmp r0, #0
|
|
beq _08071FF0
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #3
|
|
strb r0, [r4, #0xe]
|
|
adds r1, r4, #0
|
|
adds r1, #0x62
|
|
movs r0, #2
|
|
b _08071FF4
|
|
.align 2, 0
|
|
_08071FEC: .4byte gUnk_03003F80
|
|
_08071FF0:
|
|
adds r1, r4, #0
|
|
adds r1, #0x62
|
|
_08071FF4:
|
|
strb r0, [r1]
|
|
movs r0, #0xe
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bgt _08072004
|
|
_08071FFE:
|
|
adds r0, r4, #0
|
|
bl sub_08072008
|
|
_08072004:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08072008
|
|
sub_08072008: @ 0x08072008
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
adds r1, r3, #0
|
|
adds r1, #0x3d
|
|
movs r2, #0
|
|
movs r0, #0xa0
|
|
strb r0, [r1]
|
|
adds r0, r3, #0
|
|
adds r0, #0x42
|
|
strb r2, [r0]
|
|
ldrb r1, [r3, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x10]
|
|
adds r0, r3, #0
|
|
adds r0, #0x62
|
|
strb r2, [r0]
|
|
ldr r2, _08072044 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08072048 @ =0xFFFFF7FE
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
adds r0, r3, #0
|
|
movs r1, #0xd
|
|
movs r2, #0
|
|
bl CreateFX
|
|
bl sub_080791BC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072044: .4byte gUnk_03003F80
|
|
_08072048: .4byte 0xFFFFF7FE
|
|
|
|
thumb_func_start sub_0807204C
|
|
sub_0807204C: @ 0x0807204C
|
|
push {lr}
|
|
ldr r2, _08072060 @ =gUnk_0811BB58
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072060: .4byte gUnk_0811BB58
|
|
|
|
thumb_func_start sub_08072064
|
|
sub_08072064: @ 0x08072064
|
|
push {lr}
|
|
movs r1, #1
|
|
strb r1, [r0, #0xd]
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
ldr r2, _08072094 @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0x3a
|
|
ldrb r1, [r1]
|
|
strb r1, [r0, #0xe]
|
|
adds r0, r2, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
adds r0, #1
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #8
|
|
orrs r1, r0
|
|
strh r1, [r2, #8]
|
|
bl sub_08077B2C
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072094: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08072098
|
|
sub_08072098: @ 0x08072098
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _080720B4
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _080720D8
|
|
b _080720C2
|
|
_080720B4:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080720D8
|
|
_080720C2:
|
|
adds r0, r4, #0
|
|
adds r0, #0x45
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080720D4
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
_080720D4:
|
|
bl sub_080791BC
|
|
_080720D8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080720DC
|
|
sub_080720DC: @ 0x080720DC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _080720F8
|
|
ldr r0, _080720FC @ =gUnk_0811BB60
|
|
ldrb r1, [r4, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
_080720F8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080720FC: .4byte gUnk_0811BB60
|
|
|
|
thumb_func_start sub_08072100
|
|
sub_08072100: @ 0x08072100
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
ldr r0, _08072148 @ =gUnk_08114F88
|
|
str r0, [r4, #0x48]
|
|
ldr r2, _0807214C @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r0, r2, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0807213A
|
|
movs r0, #0xff
|
|
strb r0, [r4, #0x15]
|
|
_0807213A:
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08072154
|
|
ldr r0, _08072150 @ =0x00000404
|
|
b _08072158
|
|
.align 2, 0
|
|
_08072148: .4byte gUnk_08114F88
|
|
_0807214C: .4byte gUnk_03003F80
|
|
_08072150: .4byte 0x00000404
|
|
_08072154:
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
_08072158:
|
|
strh r0, [r2, #8]
|
|
bl sub_08077B2C
|
|
adds r0, r4, #0
|
|
bl sub_08072168
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08072168
|
|
sub_08072168: @ 0x08072168
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806F854
|
|
lsls r0, r0, #0x10
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
cmp r0, #0
|
|
beq _0807218A
|
|
movs r1, #0x80
|
|
lsls r1, r1, #7
|
|
_0807218A:
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
ldr r0, _080721A4 @ =gUnk_03003F80
|
|
adds r0, #0x3a
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080721A8
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _080721AC
|
|
.align 2, 0
|
|
_080721A4: .4byte gUnk_03003F80
|
|
_080721A8:
|
|
bl sub_08079E08
|
|
_080721AC:
|
|
ldr r1, _080721E0 @ =gUnk_03003F80
|
|
ldrb r0, [r4, #0x15]
|
|
strb r0, [r1, #0xd]
|
|
bl sub_08019840
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _080721DE
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r0, r4, #0
|
|
bl sub_08016A04
|
|
bl sub_080791BC
|
|
_080721DE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080721E0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080721E4
|
|
sub_080721E4: @ 0x080721E4
|
|
push {lr}
|
|
ldr r1, _08072208 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
movs r2, #0x1a
|
|
strb r2, [r1]
|
|
ldr r2, _0807220C @ =gUnk_0811BB68
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
ldr r0, _08072210 @ =gUnk_0200AF00
|
|
adds r0, #0x2e
|
|
movs r1, #8
|
|
strb r1, [r0]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072208: .4byte gUnk_03003F80
|
|
_0807220C: .4byte gUnk_0811BB68
|
|
_08072210: .4byte gUnk_0200AF00
|
|
|
|
thumb_func_start sub_08072214
|
|
sub_08072214: @ 0x08072214
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
movs r0, #1
|
|
strb r0, [r3, #0xd]
|
|
movs r0, #0x80
|
|
strh r0, [r3, #0x24]
|
|
ldr r2, _08072244 @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
strb r0, [r3, #0xe]
|
|
ldrb r0, [r3, #0x14]
|
|
movs r1, #4
|
|
eors r0, r1
|
|
lsls r0, r0, #2
|
|
strb r0, [r3, #0x15]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08072248
|
|
movs r0, #0xd3
|
|
lsls r0, r0, #2
|
|
b _0807224A
|
|
.align 2, 0
|
|
_08072244: .4byte gUnk_03003F80
|
|
_08072248:
|
|
ldr r0, _0807225C @ =0x00000944
|
|
_0807224A:
|
|
strh r0, [r2, #8]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
adds r0, r3, #0
|
|
bl sub_08072260
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807225C: .4byte 0x00000944
|
|
|
|
thumb_func_start sub_08072260
|
|
sub_08072260: @ 0x08072260
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _0807229C @ =gUnk_03003F80
|
|
adds r1, r5, #0
|
|
adds r1, #0x80
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
bl sub_08079E08
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080722B0
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #2
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
str r0, [r5, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080722A0
|
|
movs r0, #0xd3
|
|
lsls r0, r0, #2
|
|
b _080722A2
|
|
.align 2, 0
|
|
_0807229C: .4byte gUnk_03003F80
|
|
_080722A0:
|
|
ldr r0, _080722B4 @ =0x00000944
|
|
_080722A2:
|
|
strh r0, [r5, #8]
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bl sub_080791BC
|
|
_080722B0:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080722B4: .4byte 0x00000944
|
|
|
|
thumb_func_start sub_080722B8
|
|
sub_080722B8: @ 0x080722B8
|
|
push {lr}
|
|
ldr r1, _080722D4 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
movs r2, #0xa
|
|
strb r2, [r1]
|
|
ldr r2, _080722D8 @ =gUnk_0811BB70
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080722D4: .4byte gUnk_03003F80
|
|
_080722D8: .4byte gUnk_0811BB70
|
|
|
|
thumb_func_start sub_080722DC
|
|
sub_080722DC: @ 0x080722DC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldr r2, _08072318 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
adds r5, r2, #0
|
|
cmp r0, #0
|
|
bne _0807231C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #0xa
|
|
str r0, [r4, #0x20]
|
|
movs r0, #0x42
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
cmp r0, #0
|
|
beq _0807230E
|
|
str r4, [r0, #0x54]
|
|
_0807230E:
|
|
movs r0, #0x8a
|
|
lsls r0, r0, #1
|
|
strh r0, [r5, #8]
|
|
b _08072332
|
|
.align 2, 0
|
|
_08072318: .4byte gUnk_03003F80
|
|
_0807231C:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #3
|
|
strb r0, [r4, #0xd]
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
_08072332:
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _08072350 @ =0x00000401
|
|
orrs r0, r1
|
|
str r0, [r5, #0x30]
|
|
bl sub_08077B2C
|
|
movs r0, #0x92
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
movs r0, #0x7a
|
|
bl sub_080A3268
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08072350: .4byte 0x00000401
|
|
|
|
thumb_func_start sub_08072354
|
|
sub_08072354: @ 0x08072354
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
movs r1, #0
|
|
bl sub_0806F854
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_08079744
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
bne _080723C0
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
strb r3, [r0]
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x3c
|
|
strb r0, [r4, #0xe]
|
|
ldr r2, _080723C4 @ =gUnk_03003F80
|
|
ldr r0, _080723C8 @ =0x000002C1
|
|
strh r0, [r2, #8]
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _080723CC @ =0xFFFFFBFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
adds r0, r4, #0
|
|
bl sub_08016A04
|
|
adds r0, r4, #0
|
|
movs r1, #0xc
|
|
movs r2, #0
|
|
bl CreateFX
|
|
movs r0, #0xd3
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_080723C0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080723C4: .4byte gUnk_03003F80
|
|
_080723C8: .4byte 0x000002C1
|
|
_080723CC: .4byte 0xFFFFFBFF
|
|
|
|
thumb_func_start sub_080723D0
|
|
sub_080723D0: @ 0x080723D0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _0807240A
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r1, r4, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0x14
|
|
strb r0, [r1]
|
|
subs r0, #0x16
|
|
bl sub_080526A0
|
|
bl sub_08079458
|
|
_0807240A:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0807240C
|
|
sub_0807240C: @ 0x0807240C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r1, r2, #0
|
|
adds r1, #0x42
|
|
ldrb r0, [r1]
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _08072448
|
|
ldrb r0, [r2, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x18]
|
|
adds r1, r2, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0x14
|
|
strb r0, [r1]
|
|
ldr r2, _0807244C @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08072450 @ =0xFFFFFBFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
bl sub_080526A0
|
|
bl sub_08079458
|
|
_08072448:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807244C: .4byte gUnk_03003F80
|
|
_08072450: .4byte 0xFFFFFBFF
|
|
|
|
thumb_func_start sub_08072454
|
|
sub_08072454: @ 0x08072454
|
|
push {lr}
|
|
ldr r2, _08072468 @ =gUnk_0811BB80
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072468: .4byte gUnk_0811BB80
|
|
|
|
thumb_func_start sub_0807246C
|
|
sub_0807246C: @ 0x0807246C
|
|
push {lr}
|
|
movs r1, #1
|
|
strb r1, [r0, #0xd]
|
|
ldr r2, _0807248C @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
strb r1, [r0, #0xe]
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #2
|
|
strh r0, [r2, #8]
|
|
movs r0, #0x7b
|
|
bl sub_080A3268
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807248C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08072490
|
|
sub_08072490: @ 0x08072490
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
beq _080724AE
|
|
adds r0, r1, #0
|
|
bl sub_080042B8
|
|
bl sub_08079E08
|
|
b _080724C2
|
|
_080724AE:
|
|
adds r0, r1, #0
|
|
adds r0, #0x3d
|
|
movs r1, #0x3c
|
|
strb r1, [r0]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
bl sub_080526A0
|
|
bl sub_080791D0
|
|
_080724C2:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080724C4
|
|
sub_080724C4: @ 0x080724C4
|
|
push {lr}
|
|
ldr r2, _080724D8 @ =gUnk_0811BB88
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080724D8: .4byte gUnk_0811BB88
|
|
|
|
thumb_func_start sub_080724DC
|
|
sub_080724DC: @ 0x080724DC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bl sub_0807A108
|
|
adds r0, r4, #0
|
|
bl sub_080002B8
|
|
cmp r0, #0x29
|
|
beq _0807254C
|
|
ldr r1, _08072530 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x89
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08072512
|
|
adds r0, r1, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08072512
|
|
adds r0, r4, #0
|
|
bl sub_0807AE20
|
|
_08072512:
|
|
ldr r0, _08072534 @ =gUnk_03000BF0
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _08072538
|
|
ldrb r0, [r4, #0x11]
|
|
lsrs r2, r0, #4
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x11]
|
|
adds r0, r4, #0
|
|
bl sub_080728AC
|
|
b _08072588
|
|
.align 2, 0
|
|
_08072530: .4byte gUnk_03003F80
|
|
_08072534: .4byte gUnk_03000BF0
|
|
_08072538:
|
|
ldr r0, _08072548 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #0x1c]
|
|
cmp r0, #0
|
|
bne _08072588
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _08072588
|
|
.align 2, 0
|
|
_08072548: .4byte gUnk_03003F80
|
|
_0807254C:
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldr r0, _08072570 @ =gUnk_02034350
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08072588
|
|
ldr r2, _08072574 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807257C
|
|
ldr r0, _08072578 @ =0x00000C18
|
|
b _08072580
|
|
.align 2, 0
|
|
_08072570: .4byte gUnk_02034350
|
|
_08072574: .4byte gUnk_03003F80
|
|
_08072578: .4byte 0x00000C18
|
|
_0807257C:
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
_08072580:
|
|
strh r0, [r2, #8]
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
_08072588:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807258C
|
|
sub_0807258C: @ 0x0807258C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _080725D0 @ =gUnk_03000BF0
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _08072604
|
|
adds r0, r4, #0
|
|
bl sub_0807A894
|
|
cmp r0, #0x29
|
|
bne _080725E4
|
|
bl sub_08079E08
|
|
bl sub_080797C4
|
|
cmp r0, #0
|
|
beq _080725DC
|
|
ldr r2, _080725D4 @ =gUnk_03003F80
|
|
ldr r1, _080725D8 @ =gLinkEntity
|
|
ldrh r0, [r1, #0x2e]
|
|
strh r0, [r2, #0x16]
|
|
ldrh r0, [r1, #0x32]
|
|
strh r0, [r2, #0x18]
|
|
ldrb r1, [r4, #0x11]
|
|
lsrs r2, r1, #4
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x11]
|
|
adds r0, r4, #0
|
|
bl sub_080728AC
|
|
b _08072604
|
|
.align 2, 0
|
|
_080725D0: .4byte gUnk_03000BF0
|
|
_080725D4: .4byte gUnk_03003F80
|
|
_080725D8: .4byte gLinkEntity
|
|
_080725DC:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _08072604
|
|
_080725E4:
|
|
ldr r2, _08072624 @ =gUnk_03003F80
|
|
ldr r1, _08072628 @ =gLinkEntity
|
|
ldrh r0, [r1, #0x2e]
|
|
strh r0, [r2, #0x16]
|
|
ldrh r0, [r1, #0x32]
|
|
strh r0, [r2, #0x18]
|
|
ldrb r1, [r4, #0x11]
|
|
lsrs r2, r1, #4
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x11]
|
|
adds r0, r4, #0
|
|
bl sub_080728AC
|
|
_08072604:
|
|
ldr r1, _08072624 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x89
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08072620
|
|
adds r0, r1, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08072620
|
|
adds r0, r4, #0
|
|
bl sub_0807AE20
|
|
_08072620:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08072624: .4byte gUnk_03003F80
|
|
_08072628: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807262C
|
|
sub_0807262C: @ 0x0807262C
|
|
push {lr}
|
|
ldr r1, _08072648 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
movs r2, #9
|
|
strb r2, [r1]
|
|
ldr r2, _0807264C @ =gUnk_0811BB90
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072648: .4byte gUnk_03003F80
|
|
_0807264C: .4byte gUnk_0811BB90
|
|
|
|
thumb_func_start sub_08072650
|
|
sub_08072650: @ 0x08072650
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08072698 @ =gUnk_03003F80
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xe
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807266E
|
|
ldr r0, _0807269C @ =gLinkEntity
|
|
bl sub_0806F948
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
_0807266E:
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
strb r1, [r4, #0xe]
|
|
bl sub_08077B2C
|
|
ldr r3, [r5, #0x30]
|
|
movs r0, #0x80
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _080726A4
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, _080726A0 @ =0x00000C08
|
|
b _080726BE
|
|
.align 2, 0
|
|
_08072698: .4byte gUnk_03003F80
|
|
_0807269C: .4byte gLinkEntity
|
|
_080726A0: .4byte 0x00000C08
|
|
_080726A4:
|
|
adds r0, r4, #0
|
|
adds r0, #0x40
|
|
movs r1, #0x1e
|
|
strb r1, [r0]
|
|
movs r0, #8
|
|
ands r3, r0
|
|
cmp r3, #0
|
|
beq _080726BA
|
|
movs r0, #0x87
|
|
lsls r0, r0, #3
|
|
b _080726BE
|
|
_080726BA:
|
|
movs r0, #0xab
|
|
lsls r0, r0, #2
|
|
_080726BE:
|
|
strh r0, [r5, #8]
|
|
ldr r2, _080726E0 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xb
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
bl sub_08000E50
|
|
movs r1, #1
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _080726E4
|
|
movs r0, #0x79
|
|
bl sub_080A3268
|
|
b _080726EA
|
|
.align 2, 0
|
|
_080726E0: .4byte gUnk_03003F80
|
|
_080726E4:
|
|
movs r0, #0x78
|
|
bl sub_080A3268
|
|
_080726EA:
|
|
movs r0, #0x7e
|
|
bl sub_080A3268
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080726F4
|
|
sub_080726F4: @ 0x080726F4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r3, _08072744 @ =gUnk_03003F80
|
|
ldr r2, [r3, #0x30]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #0xc
|
|
ands r0, r2
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xb
|
|
cmp r0, r1
|
|
bne _08072730
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xe
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _0807274C
|
|
adds r0, r4, #0
|
|
adds r0, #0x3d
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0807274C
|
|
adds r0, r4, #0
|
|
adds r0, #0x41
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807274C
|
|
_08072730:
|
|
ldr r0, _08072748 @ =0xFFFBFFFF
|
|
ands r2, r0
|
|
str r2, [r3, #0x30]
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _08072740
|
|
b _080728A0
|
|
_08072740:
|
|
b _080727E0
|
|
.align 2, 0
|
|
_08072744: .4byte gUnk_03003F80
|
|
_08072748: .4byte 0xFFFBFFFF
|
|
_0807274C:
|
|
ldrb r1, [r4, #0x14]
|
|
movs r0, #6
|
|
ands r0, r1
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
ldr r0, _080727A0 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807277E
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _0807277E
|
|
ldr r0, _080727A4 @ =gLinkEntity
|
|
movs r1, #0x11
|
|
movs r2, #0x40
|
|
bl CreateFX
|
|
movs r0, #4
|
|
strb r0, [r4, #0xe]
|
|
_0807277E:
|
|
ldr r5, _080727A0 @ =gUnk_03003F80
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807278E
|
|
bl sub_0807A1B8
|
|
_0807278E:
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _080727AC
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _080727A8 @ =0xFFFBFFFF
|
|
ands r0, r1
|
|
str r0, [r5, #0x30]
|
|
b _080728A0
|
|
.align 2, 0
|
|
_080727A0: .4byte gUnk_03003F80
|
|
_080727A4: .4byte gLinkEntity
|
|
_080727A8: .4byte 0xFFFBFFFF
|
|
_080727AC:
|
|
ldr r1, [r5, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xc
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080727C4
|
|
ldr r0, _080727C0 @ =0xFFFBFFFF
|
|
ands r1, r0
|
|
str r1, [r5, #0x30]
|
|
b _080728A0
|
|
.align 2, 0
|
|
_080727C0: .4byte 0xFFFBFFFF
|
|
_080727C4:
|
|
adds r0, r4, #0
|
|
bl sub_0807AC54
|
|
cmp r0, #0
|
|
bne _080728A0
|
|
ldr r1, [r5, #0x30]
|
|
movs r3, #0x94
|
|
lsls r3, r3, #2
|
|
ands r3, r1
|
|
cmp r3, #0
|
|
beq _080727EC
|
|
ldr r0, _080727E8 @ =0xFFFBFFFF
|
|
ands r1, r0
|
|
str r1, [r5, #0x30]
|
|
_080727E0:
|
|
adds r0, r4, #0
|
|
bl sub_080728AC
|
|
b _080728A0
|
|
.align 2, 0
|
|
_080727E8: .4byte 0xFFFBFFFF
|
|
_080727EC:
|
|
ldrb r0, [r5, #0x12]
|
|
cmp r0, #0x17
|
|
bne _080727FE
|
|
adds r0, r4, #0
|
|
bl sub_0800892E
|
|
adds r5, r4, #0
|
|
adds r5, #0x5a
|
|
b _08072844
|
|
_080727FE:
|
|
adds r1, r4, #0
|
|
adds r1, #0x5a
|
|
ldrb r0, [r1]
|
|
movs r2, #0xf
|
|
ands r2, r0
|
|
adds r5, r1, #0
|
|
cmp r2, #1
|
|
beq _0807282A
|
|
cmp r2, #1
|
|
bgt _08072818
|
|
cmp r2, #0
|
|
beq _08072822
|
|
b _0807283C
|
|
_08072818:
|
|
cmp r2, #2
|
|
beq _08072832
|
|
cmp r2, #3
|
|
beq _0807283A
|
|
b _0807283C
|
|
_08072822:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #2
|
|
strh r0, [r4, #0x24]
|
|
b _0807283C
|
|
_0807282A:
|
|
ldrh r0, [r4, #0x24]
|
|
adds r0, #0x20
|
|
strh r0, [r4, #0x24]
|
|
b _0807283C
|
|
_08072832:
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #2
|
|
strh r0, [r4, #0x24]
|
|
b _0807283C
|
|
_0807283A:
|
|
strh r3, [r4, #0x24]
|
|
_0807283C:
|
|
bl sub_08078F24
|
|
bl sub_08079E08
|
|
_08072844:
|
|
ldrb r1, [r5]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08072860
|
|
ldr r0, _080728A4 @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x30]
|
|
movs r0, #0x80
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08072860
|
|
adds r0, r4, #0
|
|
adds r0, #0x40
|
|
strb r1, [r0]
|
|
_08072860:
|
|
ldrb r1, [r5]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08072870
|
|
adds r0, r4, #0
|
|
bl sub_08077698
|
|
_08072870:
|
|
ldrb r1, [r5]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08072882
|
|
ldr r0, _080728A4 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _08072886
|
|
_08072882:
|
|
bl sub_080791D0
|
|
_08072886:
|
|
ldrb r1, [r5]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807289A
|
|
ldr r0, _080728A4 @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x30]
|
|
ldr r2, _080728A8 @ =0xFFDBFFFF
|
|
ands r1, r2
|
|
str r1, [r0, #0x30]
|
|
_0807289A:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_080728A0:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080728A4: .4byte gUnk_03003F80
|
|
_080728A8: .4byte 0xFFDBFFFF
|
|
|
|
thumb_func_start sub_080728AC
|
|
sub_080728AC: @ 0x080728AC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08079938
|
|
ldr r0, _080728C8 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080728CC
|
|
adds r0, r4, #0
|
|
bl sub_0807B068
|
|
b _080728D0
|
|
.align 2, 0
|
|
_080728C8: .4byte gUnk_03003F80
|
|
_080728CC:
|
|
bl sub_08078F60
|
|
_080728D0:
|
|
ldr r1, _08072940 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080728E0
|
|
movs r0, #0
|
|
strh r0, [r4, #0x24]
|
|
_080728E0:
|
|
ldr r0, [r1, #0x30]
|
|
movs r5, #0x40
|
|
ands r5, r0
|
|
adds r3, r0, #0
|
|
cmp r5, #0
|
|
bne _080728F6
|
|
ldr r0, _08072944 @ =gLinkEntity
|
|
ldrb r1, [r0, #0x18]
|
|
movs r2, #3
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x18]
|
|
_080728F6:
|
|
movs r0, #0x80
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
bne _08072910
|
|
ldr r2, _08072944 @ =gLinkEntity
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
_08072910:
|
|
ldr r0, _08072948 @ =gUnk_03000BF0
|
|
ldrb r1, [r0, #0xf]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807292C
|
|
cmp r5, #0
|
|
beq _08072928
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
_08072928:
|
|
bl sub_080791D0
|
|
_0807292C:
|
|
ldr r0, _08072940 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807293C
|
|
bl sub_0807A1B8
|
|
_0807293C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08072940: .4byte gUnk_03003F80
|
|
_08072944: .4byte gLinkEntity
|
|
_08072948: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0807294C
|
|
sub_0807294C: @ 0x0807294C
|
|
push {lr}
|
|
ldr r1, _08072968 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
movs r2, #0x17
|
|
strb r2, [r1]
|
|
ldr r2, _0807296C @ =gUnk_0811BB98
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072968: .4byte gUnk_03003F80
|
|
_0807296C: .4byte gUnk_0811BB98
|
|
|
|
thumb_func_start sub_08072970
|
|
sub_08072970: @ 0x08072970
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r0, #0x45
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08072A4C
|
|
movs r7, #1
|
|
strb r7, [r5, #0xd]
|
|
ldrh r2, [r5, #0x2e]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #8
|
|
orrs r0, r2
|
|
strh r0, [r5, #0x2e]
|
|
ldrh r0, [r5, #0x32]
|
|
ands r1, r0
|
|
movs r0, #0xa
|
|
movs r3, #0
|
|
orrs r1, r0
|
|
strh r1, [r5, #0x32]
|
|
ldrb r1, [r5, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r5, #0x10]
|
|
adds r2, r5, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #7
|
|
orrs r0, r1
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
strb r3, [r5, #0xe]
|
|
ldr r2, _080729D8 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xd
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080729DC
|
|
movs r0, #0x95
|
|
lsls r0, r0, #4
|
|
strh r0, [r2, #8]
|
|
adds r6, r5, #0
|
|
adds r6, #0x38
|
|
b _08072A14
|
|
.align 2, 0
|
|
_080729D8: .4byte gUnk_03003F80
|
|
_080729DC:
|
|
ldr r0, _08072A50 @ =0x0000061C
|
|
strh r0, [r2, #8]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
ldr r2, _08072A54 @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
movs r4, #0x32
|
|
ldrsh r1, [r5, r4]
|
|
ldrh r2, [r2, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
adds r4, r5, #0
|
|
adds r4, #0x38
|
|
ldrb r1, [r4]
|
|
bl sub_080001DA
|
|
ldr r1, _08072A58 @ =0x00004020
|
|
adds r6, r4, #0
|
|
cmp r0, r1
|
|
bne _08072A14
|
|
strb r7, [r5, #0xe]
|
|
_08072A14:
|
|
ldr r0, _08072A5C @ =0x00004070
|
|
movs r7, #0x2e
|
|
ldrsh r1, [r5, r7]
|
|
ldr r3, _08072A54 @ =gUnk_03000BF0
|
|
ldrh r2, [r3, #6]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
movs r4, #0x3f
|
|
ands r1, r4
|
|
movs r7, #0x32
|
|
ldrsh r2, [r5, r7]
|
|
ldrh r3, [r3, #8]
|
|
subs r2, r2, r3
|
|
asrs r2, r2, #4
|
|
ands r2, r4
|
|
lsls r2, r2, #6
|
|
orrs r1, r2
|
|
ldrb r2, [r6]
|
|
bl sub_0800015E
|
|
bl sub_08077B2C
|
|
adds r0, r5, #0
|
|
bl sub_08072A60
|
|
movs r0, #0x81
|
|
bl sub_080A3268
|
|
_08072A4C:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08072A50: .4byte 0x0000061C
|
|
_08072A54: .4byte gUnk_03000BF0
|
|
_08072A58: .4byte 0x00004020
|
|
_08072A5C: .4byte 0x00004070
|
|
|
|
thumb_func_start sub_08072A60
|
|
sub_08072A60: @ 0x08072A60
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08072AC4
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r0, #1
|
|
bne _08072A9C
|
|
movs r0, #3
|
|
strb r0, [r2, #0xd]
|
|
movs r0, #0x28
|
|
strb r0, [r2, #0xe]
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #0x61
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r1, _08072A94 @ =gUnk_03003F80
|
|
ldr r0, _08072A98 @ =0x00000624
|
|
strh r0, [r1, #8]
|
|
b _08072ACA
|
|
.align 2, 0
|
|
_08072A94: .4byte gUnk_03003F80
|
|
_08072A98: .4byte 0x00000624
|
|
_08072A9C:
|
|
movs r0, #2
|
|
strb r0, [r2, #0xd]
|
|
ldr r2, _08072AB4 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08072ABC
|
|
ldr r0, _08072AB8 @ =0x00000954
|
|
strh r0, [r2, #8]
|
|
b _08072ACA
|
|
.align 2, 0
|
|
_08072AB4: .4byte gUnk_03003F80
|
|
_08072AB8: .4byte 0x00000954
|
|
_08072ABC:
|
|
movs r0, #0xc4
|
|
lsls r0, r0, #3
|
|
strh r0, [r2, #8]
|
|
b _08072ACA
|
|
_08072AC4:
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08072ACA:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08072ACC
|
|
sub_08072ACC: @ 0x08072ACC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08072AE0 @ =gUnk_03003F80
|
|
ldrb r3, [r5, #0xd]
|
|
lsls r2, r3, #0x18
|
|
lsrs r0, r2, #0x18
|
|
cmp r0, #0xff
|
|
bne _08072AE4
|
|
movs r0, #0
|
|
b _08072B56
|
|
.align 2, 0
|
|
_08072AE0: .4byte gUnk_03003F80
|
|
_08072AE4:
|
|
ldrb r1, [r4, #0xf]
|
|
cmp r1, #7
|
|
bls _08072B50
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
strb r3, [r4, #0x15]
|
|
movs r0, #0xd0
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
movs r0, #0x78
|
|
strh r0, [r4, #0x24]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #0x80
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #0x41
|
|
strb r0, [r5, #2]
|
|
bl sub_0807921C
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
ldr r2, _08072B4C @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
movs r5, #0x32
|
|
ldrsh r1, [r4, r5]
|
|
ldrh r2, [r2, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_0807BA8C
|
|
b _08072B58
|
|
.align 2, 0
|
|
_08072B4C: .4byte gUnk_03000BF0
|
|
_08072B50:
|
|
lsrs r0, r2, #0x1a
|
|
strb r0, [r4, #0x14]
|
|
adds r0, r1, #1
|
|
_08072B56:
|
|
strb r0, [r4, #0xf]
|
|
_08072B58:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08072B5C
|
|
sub_08072B5C: @ 0x08072B5C
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
ldrb r0, [r5, #0xe]
|
|
movs r1, #0x28
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
adds r1, #1
|
|
adds r0, r5, #0
|
|
bl sub_080042BA
|
|
adds r0, r5, #0
|
|
bl sub_0806F948
|
|
ldrb r0, [r5, #0xe]
|
|
cmp r0, #0
|
|
beq _08072B82
|
|
subs r0, #1
|
|
strb r0, [r5, #0xe]
|
|
b _08072C40
|
|
_08072B82:
|
|
ldr r0, _08072C04 @ =0x00004021
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
ldr r3, _08072C08 @ =gUnk_03000BF0
|
|
ldrh r2, [r3, #6]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
movs r4, #0x3f
|
|
ands r1, r4
|
|
movs r6, #0x32
|
|
ldrsh r2, [r5, r6]
|
|
ldrh r3, [r3, #8]
|
|
subs r2, r2, r3
|
|
asrs r2, r2, #4
|
|
ands r2, r4
|
|
lsls r2, r2, #6
|
|
orrs r1, r2
|
|
adds r2, r5, #0
|
|
adds r2, #0x38
|
|
ldrb r2, [r2]
|
|
bl sub_0800015E
|
|
ldrb r0, [r5, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r5, #0x15]
|
|
movs r0, #1
|
|
bl sub_0807A2F8
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bne _08072C10
|
|
ldrb r0, [r5, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r5, #0x10]
|
|
adds r2, r5, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #0x40
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0xe4
|
|
lsls r0, r0, #0xa
|
|
str r0, [r5, #0x20]
|
|
ldr r0, [r5, #0x34]
|
|
subs r0, #1
|
|
str r0, [r5, #0x34]
|
|
ldr r1, _08072C0C @ =gUnk_03003F80
|
|
movs r0, #0x41
|
|
strb r0, [r1, #2]
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_0806F854
|
|
bl sub_0807921C
|
|
b _08072C40
|
|
.align 2, 0
|
|
_08072C04: .4byte 0x00004021
|
|
_08072C08: .4byte gUnk_03000BF0
|
|
_08072C0C: .4byte gUnk_03003F80
|
|
_08072C10:
|
|
bl sub_08052620
|
|
cmp r0, #0
|
|
bne _08072C1E
|
|
adds r0, r5, #0
|
|
bl sub_08004542
|
|
_08072C1E:
|
|
ldrb r0, [r5, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xd]
|
|
lsls r4, r4, #4
|
|
subs r4, #4
|
|
lsls r4, r4, #0xc
|
|
str r4, [r5, #0x20]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r5, #0x24]
|
|
ldr r1, _08072C44 @ =gUnk_03003F80
|
|
movs r0, #0x81
|
|
lsls r0, r0, #4
|
|
strh r0, [r1, #8]
|
|
movs r0, #0x7c
|
|
bl sub_080A3268
|
|
_08072C40:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08072C44: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08072C48
|
|
sub_08072C48: @ 0x08072C48
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08072C98
|
|
adds r0, r4, #0
|
|
movs r1, #7
|
|
bl sub_08008790
|
|
ldr r4, _08072C90 @ =gUnk_03003F80
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _08072C94
|
|
bl sub_08008B22
|
|
cmp r0, #0
|
|
beq _08072C98
|
|
movs r0, #7
|
|
strb r0, [r4, #0x11]
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08072C98
|
|
bl sub_080791BC
|
|
b _08072C98
|
|
.align 2, 0
|
|
_08072C90: .4byte gUnk_03003F80
|
|
_08072C94:
|
|
bl sub_0807921C
|
|
_08072C98:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08072C9C
|
|
sub_08072C9C: @ 0x08072C9C
|
|
push {lr}
|
|
ldr r1, _08072CB8 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
movs r2, #0x11
|
|
strb r2, [r1]
|
|
ldr r2, _08072CBC @ =gUnk_0811BBAC
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08072CB8: .4byte gUnk_03003F80
|
|
_08072CBC: .4byte gUnk_0811BBAC
|
|
|
|
thumb_func_start sub_08072CC0
|
|
sub_08072CC0: @ 0x08072CC0
|
|
movs r1, #1
|
|
strb r1, [r0, #0xd]
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
ldr r3, _08072CF4 @ =gUnk_03003F80
|
|
adds r1, r3, #0
|
|
adds r1, #0x3a
|
|
ldrb r1, [r1]
|
|
lsrs r1, r1, #2
|
|
adds r1, #1
|
|
strb r1, [r0, #0xf]
|
|
adds r1, r3, #0
|
|
adds r1, #0x39
|
|
ldrb r1, [r1]
|
|
strb r1, [r0, #0x15]
|
|
movs r2, #0
|
|
movs r1, #0x80
|
|
lsls r1, r1, #3
|
|
strh r1, [r0, #0x24]
|
|
ldr r0, _08072CF8 @ =0x00000524
|
|
strh r0, [r3, #8]
|
|
strb r2, [r3, #5]
|
|
bx lr
|
|
.align 2, 0
|
|
_08072CF4: .4byte gUnk_03003F80
|
|
_08072CF8: .4byte 0x00000524
|
|
|
|
thumb_func_start sub_08072CFC
|
|
sub_08072CFC: @ 0x08072CFC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #2
|
|
bl sub_080042BA
|
|
ldrb r0, [r4, #0xf]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
beq _08072D1C
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _08072D4E
|
|
_08072D1C:
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
ldr r2, _08072D50 @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0x38
|
|
ldrb r0, [r1]
|
|
cmp r0, #7
|
|
bhi _08072D30
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
_08072D30:
|
|
ldrb r0, [r1]
|
|
lsls r0, r0, #0xc
|
|
str r0, [r4, #0x20]
|
|
movs r1, #0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #2
|
|
strh r0, [r4, #0x24]
|
|
movs r0, #0x81
|
|
lsls r0, r0, #4
|
|
strh r0, [r2, #8]
|
|
movs r0, #5
|
|
strb r0, [r4, #0xe]
|
|
strb r1, [r4, #0xf]
|
|
bl sub_08077B2C
|
|
_08072D4E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08072D50: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08072D54
|
|
sub_08072D54: @ 0x08072D54
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806F854
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _08072D7A
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
b _08072E80
|
|
_08072D7A:
|
|
adds r0, r4, #0
|
|
bl sub_0806F730
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080002B0
|
|
adds r2, r0, #0
|
|
ldrb r5, [r4, #0xf]
|
|
cmp r5, #1
|
|
beq _08072DD0
|
|
cmp r5, #1
|
|
bgt _08072D9C
|
|
cmp r5, #0
|
|
beq _08072DA6
|
|
b _08072E6C
|
|
_08072D9C:
|
|
cmp r5, #2
|
|
beq _08072DFA
|
|
cmp r5, #3
|
|
beq _08072E30
|
|
b _08072E6C
|
|
_08072DA6:
|
|
ldr r1, _08072DC8 @ =gUnk_0811BBD4
|
|
ldr r0, _08072DCC @ =gLinkEntity
|
|
ldrb r0, [r0, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _08072E6C
|
|
movs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
strb r0, [r4, #0xf]
|
|
b _08072E6C
|
|
.align 2, 0
|
|
_08072DC8: .4byte gUnk_0811BBD4
|
|
_08072DCC: .4byte gLinkEntity
|
|
_08072DD0:
|
|
ldr r1, _08072DEC @ =gUnk_0811BBD4
|
|
ldr r0, _08072DF0 @ =gLinkEntity
|
|
ldrb r0, [r0, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _08072DF4
|
|
strb r5, [r4, #0xe]
|
|
b _08072E6C
|
|
.align 2, 0
|
|
_08072DEC: .4byte gUnk_0811BBD4
|
|
_08072DF0: .4byte gLinkEntity
|
|
_08072DF4:
|
|
movs r0, #2
|
|
strb r0, [r4, #0xf]
|
|
b _08072E6C
|
|
_08072DFA:
|
|
ldrb r0, [r4, #0x14]
|
|
movs r5, #4
|
|
eors r0, r5
|
|
strb r0, [r4, #0x14]
|
|
ldr r1, _08072E28 @ =gUnk_0811BBD4
|
|
ldr r0, _08072E2C @ =gLinkEntity
|
|
ldrb r0, [r0, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _08072E22
|
|
movs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #3
|
|
strb r0, [r4, #0xf]
|
|
_08072E22:
|
|
ldrb r0, [r4, #0x14]
|
|
eors r0, r5
|
|
b _08072E6A
|
|
.align 2, 0
|
|
_08072E28: .4byte gUnk_0811BBD4
|
|
_08072E2C: .4byte gLinkEntity
|
|
_08072E30:
|
|
ldrb r0, [r4, #0x14]
|
|
movs r1, #4
|
|
eors r0, r1
|
|
strb r0, [r4, #0x14]
|
|
ldr r1, _08072E58 @ =gUnk_0811BBD4
|
|
ldr r0, _08072E5C @ =gLinkEntity
|
|
ldrb r0, [r0, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r2, #0
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _08072E60
|
|
movs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
b _08072E64
|
|
.align 2, 0
|
|
_08072E58: .4byte gUnk_0811BBD4
|
|
_08072E5C: .4byte gLinkEntity
|
|
_08072E60:
|
|
movs r0, #4
|
|
strb r0, [r4, #0xf]
|
|
_08072E64:
|
|
ldrb r0, [r4, #0x14]
|
|
movs r1, #4
|
|
eors r0, r1
|
|
_08072E6A:
|
|
strb r0, [r4, #0x14]
|
|
_08072E6C:
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _08072E7A
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _08072E7E
|
|
_08072E7A:
|
|
bl sub_08079E08
|
|
_08072E7E:
|
|
movs r0, #0
|
|
_08072E80:
|
|
strb r0, [r4, #0xe]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08072F10
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _08072EAA
|
|
adds r0, r4, #0
|
|
bl sub_0800455E
|
|
b _08072EB0
|
|
_08072EAA:
|
|
adds r0, r4, #0
|
|
bl sub_08004542
|
|
_08072EB0:
|
|
adds r0, r4, #0
|
|
movs r1, #7
|
|
bl sub_08008790
|
|
ldr r5, _08072EDC @ =gUnk_03003F80
|
|
ldrb r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
beq _08072EE0
|
|
bl sub_08008B22
|
|
cmp r0, #0
|
|
beq _08072F10
|
|
movs r0, #7
|
|
strb r0, [r5, #0x11]
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08072F10
|
|
bl sub_080791BC
|
|
b _08072F10
|
|
.align 2, 0
|
|
_08072EDC: .4byte gUnk_03003F80
|
|
_08072EE0:
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08072EF4
|
|
ldr r0, _08072EF0 @ =0x00000424
|
|
b _08072EF8
|
|
.align 2, 0
|
|
_08072EF0: .4byte 0x00000424
|
|
_08072EF4:
|
|
movs r0, #0x82
|
|
lsls r0, r0, #4
|
|
_08072EF8:
|
|
strh r0, [r5, #8]
|
|
movs r1, #0
|
|
movs r0, #6
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #3
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
strb r1, [r0]
|
|
movs r0, #0x7d
|
|
bl sub_080A3268
|
|
_08072F10:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08072F14
|
|
sub_08072F14: @ 0x08072F14
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
beq _08072F2C
|
|
bl sub_0807921C
|
|
b _08072F32
|
|
_08072F2C:
|
|
adds r0, r1, #0
|
|
bl sub_080042B8
|
|
_08072F32:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08072F34
|
|
sub_08072F34: @ 0x08072F34
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _08072F86
|
|
ldr r6, _08072F88 @ =gUnk_03003F80
|
|
adds r1, r6, #0
|
|
adds r1, #0xa8
|
|
movs r0, #0x18
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_0807A1E8
|
|
strb r0, [r6, #0x12]
|
|
ldr r1, _08072F8C @ =gUnk_0811BBE4
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
adds r5, r4, #0
|
|
adds r5, #0x42
|
|
ldrb r0, [r5]
|
|
cmp r0, #0
|
|
beq _08072F86
|
|
bl sub_080792D8
|
|
ldrb r1, [r5]
|
|
cmp r1, #0
|
|
bne _08072F86
|
|
movs r0, #0x1d
|
|
strb r0, [r4, #0xc]
|
|
strb r1, [r4, #0xd]
|
|
strh r1, [r4, #0x30]
|
|
ldr r0, _08072F90 @ =0x000002CF
|
|
strh r0, [r6, #8]
|
|
_08072F86:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08072F88: .4byte gUnk_03003F80
|
|
_08072F8C: .4byte gUnk_0811BBE4
|
|
_08072F90: .4byte 0x000002CF
|
|
|
|
thumb_func_start sub_08072F94
|
|
sub_08072F94: @ 0x08072F94
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08072FB4 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x12]
|
|
adds r3, r0, #0
|
|
cmp r1, #0x1e
|
|
beq _08072FB8
|
|
cmp r1, #0x1e
|
|
blt _08072FAE
|
|
cmp r1, #0x2c
|
|
bgt _08072FAE
|
|
cmp r1, #0x2a
|
|
bge _08072FB8
|
|
_08072FAE:
|
|
bl sub_0807921C
|
|
b _0807308C
|
|
.align 2, 0
|
|
_08072FB4: .4byte gUnk_03003F80
|
|
_08072FB8:
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r0, [r2]
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
strb r1, [r2]
|
|
adds r2, r3, #0
|
|
ldrb r1, [r2, #0xd]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073072
|
|
strb r1, [r4, #0x15]
|
|
ldrb r0, [r2, #0xd]
|
|
cmp r0, #8
|
|
beq _08072FDE
|
|
cmp r0, #0x18
|
|
bne _08073008
|
|
_08072FDE:
|
|
ldrb r0, [r2, #0x12]
|
|
cmp r0, #0x1e
|
|
beq _0807308C
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08072FF8
|
|
movs r0, #0xb5
|
|
lsls r0, r0, #2
|
|
b _08072FFA
|
|
_08072FF8:
|
|
ldr r0, _08073004 @ =0x000002D5
|
|
_08072FFA:
|
|
strh r0, [r2, #8]
|
|
adds r0, r4, #0
|
|
bl sub_08073094
|
|
b _0807306A
|
|
.align 2, 0
|
|
_08073004: .4byte 0x000002D5
|
|
_08073008:
|
|
ldrb r0, [r2, #0x12]
|
|
cmp r0, #0x1e
|
|
bne _08073020
|
|
movs r0, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073020
|
|
adds r0, r1, #0
|
|
adds r0, #8
|
|
movs r1, #0x10
|
|
ands r0, r1
|
|
strb r0, [r4, #0x15]
|
|
_08073020:
|
|
ldrb r1, [r4, #0x15]
|
|
movs r2, #0x10
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807304C
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073044
|
|
ldr r0, _08073040 @ =0x000002D1
|
|
b _08073068
|
|
.align 2, 0
|
|
_08073040: .4byte 0x000002D1
|
|
_08073044:
|
|
ldr r0, _08073048 @ =0x000002D2
|
|
b _08073068
|
|
.align 2, 0
|
|
_08073048: .4byte 0x000002D2
|
|
_0807304C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073064
|
|
ldr r0, _08073060 @ =0x000002CF
|
|
b _08073068
|
|
.align 2, 0
|
|
_08073060: .4byte 0x000002CF
|
|
_08073064:
|
|
movs r0, #0xb4
|
|
lsls r0, r0, #2
|
|
_08073068:
|
|
strh r0, [r3, #8]
|
|
_0807306A:
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
b _0807308C
|
|
_08073072:
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073088
|
|
movs r0, #0xb5
|
|
lsls r0, r0, #2
|
|
strh r0, [r2, #8]
|
|
b _0807308C
|
|
_08073088:
|
|
ldr r0, _08073090 @ =0x000002D5
|
|
strh r0, [r3, #8]
|
|
_0807308C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08073090: .4byte 0x000002D5
|
|
|
|
thumb_func_start sub_08073094
|
|
sub_08073094: @ 0x08073094
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldr r2, _080730FC @ =gUnk_0811BBEC
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #0x24]
|
|
bl sub_08079E08
|
|
bl sub_08019840
|
|
cmp r0, #0
|
|
bne _080731A4
|
|
ldr r0, _08073100 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #6]
|
|
movs r2, #0x80
|
|
eors r1, r2
|
|
strb r1, [r0, #6]
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x2a
|
|
beq _080730DE
|
|
cmp r0, #0x2c
|
|
beq _080730DE
|
|
bl sub_0807A1B8
|
|
_080730DE:
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _080731A4
|
|
ldr r1, _08073100 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #0x12]
|
|
subs r0, #0x19
|
|
adds r2, r1, #0
|
|
cmp r0, #0x13
|
|
bhi _08073178
|
|
lsls r0, r0, #2
|
|
ldr r1, _08073104 @ =_08073108
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080730FC: .4byte gUnk_0811BBEC
|
|
_08073100: .4byte gUnk_03003F80
|
|
_08073104: .4byte _08073108
|
|
_08073108: @ jump table
|
|
.4byte _0807316C @ case 0
|
|
.4byte _08073178 @ case 1
|
|
.4byte _08073178 @ case 2
|
|
.4byte _08073178 @ case 3
|
|
.4byte _08073178 @ case 4
|
|
.4byte _0807317E @ case 5
|
|
.4byte _08073178 @ case 6
|
|
.4byte _08073178 @ case 7
|
|
.4byte _08073178 @ case 8
|
|
.4byte _08073178 @ case 9
|
|
.4byte _08073178 @ case 10
|
|
.4byte _08073178 @ case 11
|
|
.4byte _08073178 @ case 12
|
|
.4byte _08073178 @ case 13
|
|
.4byte _08073178 @ case 14
|
|
.4byte _08073178 @ case 15
|
|
.4byte _08073178 @ case 16
|
|
.4byte _08073158 @ case 17
|
|
.4byte _0807317E @ case 18
|
|
.4byte _08073158 @ case 19
|
|
_08073158:
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x16
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
b _0807317E
|
|
_0807316C:
|
|
adds r0, r4, #0
|
|
bl sub_08074808
|
|
bl sub_080791D0
|
|
b _080731A4
|
|
_08073178:
|
|
bl sub_0807921C
|
|
b _080731A4
|
|
_0807317E:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080731A4
|
|
bl sub_0807A1B8
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _080731A4
|
|
ldrb r0, [r4, #0xd]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
_080731A4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080731A8
|
|
sub_080731A8: @ 0x080731A8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _080731D0 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
movs r1, #0x1c
|
|
strb r1, [r0]
|
|
movs r0, #0
|
|
movs r1, #8
|
|
bl sub_0805E4E0
|
|
ldr r1, _080731D4 @ =gUnk_0811BBF8
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080731D0: .4byte gUnk_03003F80
|
|
_080731D4: .4byte gUnk_0811BBF8
|
|
|
|
thumb_func_start sub_080731D8
|
|
sub_080731D8: @ 0x080731D8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
movs r2, #0
|
|
strb r0, [r4, #0x10]
|
|
movs r1, #0
|
|
movs r0, #0x40
|
|
strh r0, [r4, #0x24]
|
|
strb r1, [r4, #0x14]
|
|
ldrh r1, [r4, #0x2e]
|
|
movs r5, #0x10
|
|
rsbs r5, r5, #0
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
movs r7, #8
|
|
orrs r0, r7
|
|
strh r0, [r4, #0x2e]
|
|
strh r2, [r4, #0x2c]
|
|
ldr r6, _08073214 @ =gUnk_03003F80
|
|
adds r0, r6, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08073218
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
b _0807329A
|
|
.align 2, 0
|
|
_08073214: .4byte gUnk_03003F80
|
|
_08073218:
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #3
|
|
strb r0, [r4, #0xd]
|
|
ldrh r0, [r4, #0x32]
|
|
adds r1, r4, #0
|
|
adds r1, #0x7e
|
|
strh r0, [r1]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #0x10
|
|
strh r0, [r4, #0x32]
|
|
adds r0, r4, #0
|
|
movs r1, #0x70
|
|
movs r2, #1
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
str r0, [r4, #0x54]
|
|
adds r0, r6, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #7
|
|
bne _08073270
|
|
ldrh r1, [r4, #0x32]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
adds r0, #8
|
|
strh r0, [r4, #0x32]
|
|
ldrh r1, [r4, #0x2e]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
strh r0, [r4, #0x2e]
|
|
strb r7, [r4, #0x15]
|
|
movs r0, #2
|
|
strb r0, [r4, #0x14]
|
|
ldr r0, _0807326C @ =0x00000187
|
|
bl sub_080A3268
|
|
b _08073294
|
|
.align 2, 0
|
|
_0807326C: .4byte 0x00000187
|
|
_08073270:
|
|
ldrh r1, [r4, #0x32]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
adds r0, #2
|
|
strh r0, [r4, #0x32]
|
|
ldrh r1, [r4, #0x2e]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
adds r0, #0xf
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #0x18
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #6
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0xc4
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_08073294:
|
|
adds r0, r4, #0
|
|
bl sub_08066DE4
|
|
_0807329A:
|
|
ldr r2, _080732AC @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080732B4
|
|
ldr r0, _080732B0 @ =0x00000404
|
|
b _080732B8
|
|
.align 2, 0
|
|
_080732AC: .4byte gUnk_03003F80
|
|
_080732B0: .4byte 0x00000404
|
|
_080732B4:
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
_080732B8:
|
|
strh r0, [r2, #8]
|
|
ldr r1, _080732CC @ =gUnk_03000BF0
|
|
movs r0, #0
|
|
str r0, [r1, #0x30]
|
|
bl sub_0807A108
|
|
bl sub_08077B2C
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080732CC: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_080732D0
|
|
sub_080732D0: @ 0x080732D0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_080002B8
|
|
cmp r0, #0x28
|
|
beq _080732EE
|
|
movs r0, #0
|
|
strb r0, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _08073328
|
|
_080732EE:
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
movs r1, #0
|
|
strb r0, [r4, #0xd]
|
|
strh r1, [r4, #0x30]
|
|
adds r0, r4, #0
|
|
movs r1, #0x70
|
|
movs r2, #1
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
ldr r0, _08073318 @ =gUnk_03003F80
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #7
|
|
bne _08073320
|
|
ldr r0, _0807331C @ =0x00000187
|
|
bl sub_080A3268
|
|
b _08073328
|
|
.align 2, 0
|
|
_08073318: .4byte gUnk_03003F80
|
|
_0807331C: .4byte 0x00000187
|
|
_08073320:
|
|
movs r0, #0xc4
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_08073328:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807332C
|
|
sub_0807332C: @ 0x0807332C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r0, _08073344 @ =gUnk_03003F80
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #7
|
|
bne _08073348
|
|
movs r0, #0
|
|
b _0807334A
|
|
.align 2, 0
|
|
_08073344: .4byte gUnk_03003F80
|
|
_08073348:
|
|
movs r0, #0x1c
|
|
_0807334A:
|
|
strb r0, [r4, #0x15]
|
|
ldrh r1, [r4, #0x2e]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0xf
|
|
beq _08073386
|
|
ldr r0, _08073368 @ =gUnk_03003F80
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #7
|
|
bne _0807336C
|
|
movs r0, #2
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #4
|
|
b _0807337C
|
|
.align 2, 0
|
|
_08073368: .4byte gUnk_03003F80
|
|
_0807336C:
|
|
movs r0, #6
|
|
strb r0, [r4, #0x14]
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, #0x18
|
|
bls _0807337E
|
|
subs r0, #1
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
_0807337C:
|
|
strb r0, [r4, #0x15]
|
|
_0807337E:
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _080733B6
|
|
_08073386:
|
|
ldr r0, _0807339C @ =gUnk_03003F80
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080733A4
|
|
ldr r0, _080733A0 @ =gUnk_03000BF0
|
|
str r4, [r0, #0x30]
|
|
bl sub_080791BC
|
|
b _080733B6
|
|
.align 2, 0
|
|
_0807339C: .4byte gUnk_03003F80
|
|
_080733A0: .4byte gUnk_03000BF0
|
|
_080733A4:
|
|
ldr r0, _080733B8 @ =gUnk_03001000
|
|
movs r1, #3
|
|
strb r1, [r0, #4]
|
|
movs r1, #1
|
|
strb r1, [r0, #0xb]
|
|
movs r0, #5
|
|
movs r1, #8
|
|
bl sub_08050054
|
|
_080733B6:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080733B8: .4byte gUnk_03001000
|
|
|
|
thumb_func_start sub_080733BC
|
|
sub_080733BC: @ 0x080733BC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldrh r1, [r4, #0x2e]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #8
|
|
bne _080733FC
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
ldr r0, [r4, #0x54]
|
|
cmp r0, #0
|
|
beq _080733FC
|
|
bl sub_0805E7BC
|
|
movs r0, #0
|
|
str r0, [r4, #0x54]
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080733F6
|
|
adds r0, r4, #0
|
|
bl sub_0807AABC
|
|
b _080733FC
|
|
_080733F6:
|
|
adds r0, r4, #0
|
|
bl sub_0807AA80
|
|
_080733FC:
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
adds r0, r4, #0
|
|
adds r0, #0x7e
|
|
ldrh r1, [r0]
|
|
movs r2, #0x32
|
|
ldrsh r0, [r4, r2]
|
|
cmp r1, r0
|
|
bne _08073418
|
|
ldr r0, _0807341C @ =gUnk_03000BF0
|
|
str r4, [r0, #0x30]
|
|
bl sub_0807921C
|
|
_08073418:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807341C: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_08073420
|
|
sub_08073420: @ 0x08073420
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _0807345E
|
|
bl sub_0807A1B8
|
|
ldrb r2, [r4, #0x1b]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x1b]
|
|
ldrb r0, [r4, #0x19]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x19]
|
|
ldr r0, _08073460 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
movs r1, #8
|
|
strb r1, [r0]
|
|
ldr r1, _08073464 @ =gUnk_0811BC08
|
|
ldrb r0, [r4, #0xd]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
_0807345E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08073460: .4byte gUnk_03003F80
|
|
_08073464: .4byte gUnk_0811BC08
|
|
|
|
thumb_func_start sub_08073468
|
|
sub_08073468: @ 0x08073468
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _080734CC @ =gUnk_03003F80
|
|
movs r1, #0
|
|
movs r0, #0xe0
|
|
lsls r0, r0, #3
|
|
strh r0, [r5, #8]
|
|
strb r1, [r5, #2]
|
|
ldr r0, _080734D0 @ =0xFFFF0000
|
|
str r0, [r4, #0x20]
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #1
|
|
str r0, [r4, #0x7c]
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
ldr r1, [r5, #0x30]
|
|
movs r2, #0x80
|
|
lsls r2, r2, #0x11
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _080734AC
|
|
orrs r1, r2
|
|
str r1, [r5, #0x30]
|
|
adds r0, r4, #0
|
|
movs r1, #0x61
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
_080734AC:
|
|
bl sub_08077B2C
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bgt _080734C0
|
|
adds r0, r5, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080734C8
|
|
_080734C0:
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
_080734C8:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080734CC: .4byte gUnk_03003F80
|
|
_080734D0: .4byte 0xFFFF0000
|
|
|
|
thumb_func_start sub_080734D4
|
|
sub_080734D4: @ 0x080734D4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _080734FC @ =0xFFFFF000
|
|
bl sub_08003FC4
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bgt _080734EE
|
|
ldr r0, _08073500 @ =gUnk_03003F80
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080734FA
|
|
_080734EE:
|
|
movs r0, #0x92
|
|
lsls r0, r0, #0xb
|
|
str r0, [r4, #0x20]
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
_080734FA:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080734FC: .4byte 0xFFFFF000
|
|
_08073500: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073504
|
|
sub_08073504: @ 0x08073504
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #0x20]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #7
|
|
cmp r0, #0
|
|
bge _08073516
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
_08073516:
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bge _08073576
|
|
movs r0, #0x36
|
|
ldrsh r1, [r4, r0]
|
|
movs r0, #0x20
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
ble _08073576
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
movs r2, #0
|
|
strb r0, [r4, #0xd]
|
|
adds r1, r4, #0
|
|
adds r1, #0x80
|
|
ldrb r0, [r4, #0x15]
|
|
lsls r0, r0, #8
|
|
str r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x87
|
|
strb r2, [r0]
|
|
subs r0, #1
|
|
strb r2, [r0]
|
|
ldr r0, _08073580 @ =gUnk_03003F80
|
|
movs r1, #0xe1
|
|
lsls r1, r1, #3
|
|
strh r1, [r0, #8]
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _08073576
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
movs r0, #6
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x10
|
|
strh r0, [r4, #0x24]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0xa9
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_08073576:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08073580: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073584
|
|
sub_08073584: @ 0x08073584
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldr r2, _080735DC @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r5, #0x80
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
adds r6, r2, #0
|
|
cmp r0, #0
|
|
bne _080735C0
|
|
adds r0, r4, #0
|
|
adds r0, #0x3d
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bgt _080735C0
|
|
adds r0, r6, #0
|
|
adds r0, #0x3c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080735C0
|
|
ldr r0, [r6, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x11
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080735E0
|
|
_080735C0:
|
|
ldrb r0, [r6, #2]
|
|
movs r1, #0x40
|
|
orrs r1, r0
|
|
strb r1, [r6, #2]
|
|
bl sub_0807921C
|
|
adds r0, r4, #0
|
|
bl sub_08073904
|
|
movs r0, #0xe6
|
|
lsls r0, r0, #3
|
|
strh r0, [r6, #8]
|
|
b _08073794
|
|
.align 2, 0
|
|
_080735DC: .4byte gUnk_03003F80
|
|
_080735E0:
|
|
ldr r0, _0807360C @ =gUnk_0200AF00
|
|
adds r0, #0x2f
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
movs r0, #0
|
|
bl sub_0807A2F8
|
|
cmp r0, #0
|
|
beq _08073610
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldrb r1, [r4, #0x14]
|
|
movs r0, #6
|
|
ands r0, r1
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
b _08073794
|
|
.align 2, 0
|
|
_0807360C: .4byte gUnk_0200AF00
|
|
_08073610:
|
|
ldr r0, _08073620 @ =gUnk_02033A90
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0x10
|
|
bne _08073624
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
b _08073626
|
|
.align 2, 0
|
|
_08073620: .4byte gUnk_02033A90
|
|
_08073624:
|
|
strh r5, [r4, #0x24]
|
|
_08073626:
|
|
ldr r3, _08073650 @ =gUnk_03003F80
|
|
ldrb r1, [r3, #0xd]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
adds r2, r4, #0
|
|
adds r2, #0x80
|
|
cmp r0, #0
|
|
bne _0807365A
|
|
ldrb r0, [r4, #0x15]
|
|
cmp r0, r1
|
|
beq _0807365A
|
|
ldrb r1, [r3, #0xd]
|
|
subs r0, r0, r1
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
cmp r0, #0xf
|
|
bgt _08073654
|
|
ldr r0, [r2]
|
|
subs r0, #0x20
|
|
b _08073658
|
|
.align 2, 0
|
|
_08073650: .4byte gUnk_03003F80
|
|
_08073654:
|
|
ldr r0, [r2]
|
|
adds r0, #0x20
|
|
_08073658:
|
|
str r0, [r2]
|
|
_0807365A:
|
|
ldr r0, [r2]
|
|
lsrs r0, r0, #8
|
|
movs r1, #0x1f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x15]
|
|
bl sub_08079E08
|
|
ldrb r2, [r4, #0x14]
|
|
lsls r3, r2, #2
|
|
ldrb r1, [r4, #0x15]
|
|
cmp r2, #0
|
|
bne _0807367C
|
|
adds r3, #8
|
|
movs r0, #0x1f
|
|
ands r3, r0
|
|
adds r1, #8
|
|
ands r1, r0
|
|
_0807367C:
|
|
subs r0, r3, #7
|
|
cmp r0, r1
|
|
bls _08073686
|
|
subs r3, r2, #2
|
|
b _0807368E
|
|
_08073686:
|
|
adds r0, r3, #7
|
|
cmp r0, r1
|
|
bhs _08073694
|
|
adds r3, r2, #2
|
|
_0807368E:
|
|
movs r0, #7
|
|
ands r3, r0
|
|
b _08073696
|
|
_08073694:
|
|
adds r3, r2, #0
|
|
_08073696:
|
|
movs r0, #0x87
|
|
adds r0, r0, r4
|
|
mov ip, r0
|
|
ldrb r1, [r4, #0x14]
|
|
cmp r3, r1
|
|
beq _080736A8
|
|
movs r0, #0x14
|
|
mov r2, ip
|
|
strb r0, [r2]
|
|
_080736A8:
|
|
strb r3, [r4, #0x14]
|
|
movs r5, #0
|
|
ldr r1, _080736E4 @ =gUnk_03003F80
|
|
ldrb r2, [r1, #0xd]
|
|
lsrs r3, r2, #2
|
|
mov r6, ip
|
|
ldrb r0, [r6]
|
|
adds r6, r1, #0
|
|
cmp r0, #0
|
|
beq _080736CA
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08073736
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, r3
|
|
beq _08073736
|
|
_080736CA:
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _080736FA
|
|
ldrb r2, [r4, #0x14]
|
|
cmp r2, r3
|
|
beq _080736FA
|
|
movs r0, #4
|
|
eors r0, r3
|
|
cmp r2, r0
|
|
bne _080736E8
|
|
movs r5, #2
|
|
b _080736FA
|
|
.align 2, 0
|
|
_080736E4: .4byte gUnk_03003F80
|
|
_080736E8:
|
|
movs r0, #6
|
|
ands r0, r3
|
|
adds r0, #2
|
|
movs r1, #7
|
|
ands r0, r1
|
|
movs r5, #3
|
|
cmp r2, r0
|
|
bne _080736FA
|
|
movs r5, #1
|
|
_080736FA:
|
|
ldr r1, _0807371C @ =gUnk_0811BC28
|
|
lsls r0, r5, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
ldrh r1, [r6, #8]
|
|
cmp r0, r1
|
|
bne _0807372C
|
|
ldr r0, _08073720 @ =gUnk_02033A90
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0x10
|
|
bne _08073724
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080042BA
|
|
b _0807372E
|
|
.align 2, 0
|
|
_0807371C: .4byte gUnk_0811BC28
|
|
_08073720: .4byte gUnk_02033A90
|
|
_08073724:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _0807372E
|
|
_0807372C:
|
|
strh r0, [r6, #8]
|
|
_0807372E:
|
|
adds r0, r4, #0
|
|
adds r0, #0x86
|
|
strb r5, [r0]
|
|
b _08073762
|
|
_08073736:
|
|
mov r2, ip
|
|
ldrb r0, [r2]
|
|
subs r0, #1
|
|
strb r0, [r2]
|
|
ldr r1, _0807375C @ =gUnk_0811BC30
|
|
adds r0, r4, #0
|
|
adds r0, #0x86
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
ldrh r1, [r6, #8]
|
|
cmp r0, r1
|
|
bne _08073760
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
b _08073762
|
|
.align 2, 0
|
|
_0807375C: .4byte gUnk_0811BC30
|
|
_08073760:
|
|
strh r0, [r6, #8]
|
|
_08073762:
|
|
ldr r0, [r4, #0x7c]
|
|
subs r1, r0, #1
|
|
str r1, [r4, #0x7c]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bne _08073784
|
|
ldr r2, _08073780 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #2]
|
|
movs r0, #0x40
|
|
orrs r0, r1
|
|
strb r0, [r2, #2]
|
|
bl sub_0807921C
|
|
b _08073794
|
|
.align 2, 0
|
|
_08073780: .4byte gUnk_03003F80
|
|
_08073784:
|
|
adds r0, r1, #0
|
|
movs r1, #0x14
|
|
bl __divsi3
|
|
ldr r2, _08073798 @ =0x0000FFF8
|
|
adds r1, r2, #0
|
|
subs r1, r1, r0
|
|
strh r1, [r4, #0x36]
|
|
_08073794:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08073798: .4byte 0x0000FFF8
|
|
|
|
thumb_func_start sub_0807379C
|
|
sub_0807379C: @ 0x0807379C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrh r3, [r2, #0x36]
|
|
movs r0, #0x36
|
|
ldrsh r1, [r2, r0]
|
|
movs r0, #0x20
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
ble _080737B4
|
|
subs r0, r3, #1
|
|
strh r0, [r2, #0x36]
|
|
b _080737BA
|
|
_080737B4:
|
|
ldrb r0, [r2, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r2, #0xd]
|
|
_080737BA:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080737BC
|
|
sub_080737BC: @ 0x080737BC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
ldr r0, [r4, #0x34]
|
|
movs r1, #0x98
|
|
lsls r1, r1, #7
|
|
adds r0, r0, r1
|
|
str r0, [r4, #0x34]
|
|
ldrb r1, [r4, #0x15]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080737E2
|
|
ldrh r1, [r4, #0x2e]
|
|
b _080737E4
|
|
_080737E2:
|
|
ldrh r1, [r4, #0x32]
|
|
_080737E4:
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #8
|
|
bne _08073804
|
|
adds r0, r4, #0
|
|
bl sub_080002D0
|
|
cmp r0, #0
|
|
bne _08073804
|
|
ldr r2, _08073808 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #2]
|
|
movs r0, #0x40
|
|
orrs r0, r1
|
|
strb r0, [r2, #2]
|
|
bl sub_0807921C
|
|
_08073804:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08073808: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807380C
|
|
sub_0807380C: @ 0x0807380C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08073854 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807382A
|
|
ldrb r0, [r4, #0x14]
|
|
adds r0, #2
|
|
movs r1, #6
|
|
ands r0, r1
|
|
strb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
_0807382A:
|
|
ldr r2, _08073858 @ =gUnk_03003F80
|
|
ldr r1, _0807385C @ =gUnk_0811BC38
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r2, #8]
|
|
movs r0, #0x36
|
|
ldrsh r1, [r4, r0]
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bge _08073860
|
|
movs r1, #0x80
|
|
lsls r1, r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
b _0807387A
|
|
.align 2, 0
|
|
_08073854: .4byte gUnk_030010A0
|
|
_08073858: .4byte gUnk_03003F80
|
|
_0807385C: .4byte gUnk_0811BC38
|
|
_08073860:
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0807387A
|
|
movs r0, #7
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x3c
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r4, #0x20]
|
|
_0807387A:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08073884
|
|
sub_08073884: @ 0x08073884
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _080738DC @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080738A2
|
|
ldrb r0, [r4, #0x14]
|
|
adds r0, #2
|
|
movs r1, #6
|
|
ands r0, r1
|
|
strb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0x15]
|
|
_080738A2:
|
|
ldr r2, _080738E0 @ =gUnk_03003F80
|
|
ldr r1, _080738E4 @ =gUnk_0811BC40
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r2, #8]
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080738F0
|
|
adds r1, r2, #0
|
|
adds r1, #0x39
|
|
ldrb r0, [r1]
|
|
cmp r0, #0xff
|
|
beq _080738EC
|
|
adds r1, r0, #0
|
|
lsls r0, r1, #2
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080738E8 @ =gUnk_0813AD88
|
|
adds r0, r0, r1
|
|
bl sub_08080840
|
|
b _080738F0
|
|
.align 2, 0
|
|
_080738DC: .4byte gUnk_030010A0
|
|
_080738E0: .4byte gUnk_03003F80
|
|
_080738E4: .4byte gUnk_0811BC40
|
|
_080738E8: .4byte gUnk_0813AD88
|
|
_080738EC:
|
|
bl sub_08052A4C
|
|
_080738F0:
|
|
ldr r1, _08073900 @ =0xFFFFE800
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08073900: .4byte 0xFFFFE800
|
|
|
|
thumb_func_start sub_08073904
|
|
sub_08073904: @ 0x08073904
|
|
push {lr}
|
|
ldr r3, _0807391C @ =gUnk_0811BC48
|
|
ldr r1, _08073920 @ =gUnk_03003F80
|
|
ldrb r2, [r1, #2]
|
|
movs r1, #7
|
|
ands r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r3
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807391C: .4byte gUnk_0811BC48
|
|
_08073920: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073924
|
|
sub_08073924: @ 0x08073924
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r2, _08073964 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xb
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073962
|
|
movs r1, #0x36
|
|
ldrsh r0, [r4, r1]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073962
|
|
ldrb r0, [r2, #0xa]
|
|
cmp r0, #0
|
|
bne _08073962
|
|
movs r0, #0x40
|
|
strb r0, [r2, #2]
|
|
movs r0, #0xff
|
|
strb r0, [r2, #0xd]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
strb r0, [r4, #0x15]
|
|
bl sub_08077B20
|
|
adds r0, r4, #0
|
|
bl sub_08073968
|
|
_08073962:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08073964: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073968
|
|
sub_08073968: @ 0x08073968
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08073998 @ =gUnk_03003F80
|
|
ldrb r1, [r4, #2]
|
|
movs r0, #0xc0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807397C
|
|
ldrb r0, [r4, #0xd]
|
|
strb r0, [r5, #0x15]
|
|
_0807397C:
|
|
bl sub_08078F24
|
|
ldrb r1, [r4, #5]
|
|
ldrb r0, [r4, #0xb]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _080739D4
|
|
ldr r1, [r4, #0x30]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080739A0
|
|
ldr r0, _0807399C @ =0x0000041C
|
|
b _080739BA
|
|
.align 2, 0
|
|
_08073998: .4byte gUnk_03003F80
|
|
_0807399C: .4byte 0x0000041C
|
|
_080739A0:
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080739BC
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x13
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _080739B8
|
|
movs r0, #0x81
|
|
lsls r0, r0, #4
|
|
b _080739BA
|
|
_080739B8:
|
|
ldr r0, _080739E4 @ =0x0000080C
|
|
_080739BA:
|
|
strh r0, [r4, #8]
|
|
_080739BC:
|
|
ldr r0, _080739E8 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #2]
|
|
movs r0, #0xc0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080739CE
|
|
adds r0, r5, #0
|
|
bl sub_0806F948
|
|
_080739CE:
|
|
movs r0, #0x7c
|
|
bl sub_080A3268
|
|
_080739D4:
|
|
ldr r2, _080739E8 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #2]
|
|
movs r0, #0xf8
|
|
ands r0, r1
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
strb r0, [r2, #2]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080739E4: .4byte 0x0000080C
|
|
_080739E8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080739EC
|
|
sub_080739EC: @ 0x080739EC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08073A14 @ =gUnk_03003F80
|
|
ldrb r2, [r1, #2]
|
|
movs r0, #0xc0
|
|
ands r0, r2
|
|
adds r5, r1, #0
|
|
cmp r0, #0
|
|
beq _08073A18
|
|
ldrb r0, [r4, #0x15]
|
|
strb r0, [r5, #0xd]
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08073A0E
|
|
movs r0, #0
|
|
strh r0, [r4, #0x2a]
|
|
_08073A0E:
|
|
movs r2, #0x80
|
|
lsls r2, r2, #6
|
|
b _08073A48
|
|
.align 2, 0
|
|
_08073A14: .4byte gUnk_03003F80
|
|
_08073A18:
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806F854
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
beq _08073A38
|
|
ldrb r1, [r5, #2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r5, #2]
|
|
movs r2, #0x80
|
|
lsls r2, r2, #7
|
|
b _08073A48
|
|
_08073A38:
|
|
movs r2, #0x80
|
|
lsls r2, r2, #6
|
|
ldrb r1, [r5, #2]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073A48
|
|
lsrs r2, r2, #1
|
|
_08073A48:
|
|
ldrb r1, [r5, #2]
|
|
movs r0, #0xc0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073A7E
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073A7E
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bne _08073A7E
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #0xa
|
|
str r0, [r4, #0x20]
|
|
movs r0, #0xa
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0xff
|
|
strb r0, [r4, #0x15]
|
|
adds r0, r1, #2
|
|
strb r0, [r5, #2]
|
|
movs r0, #0xba
|
|
lsls r0, r0, #1
|
|
strh r0, [r5, #8]
|
|
bl sub_08078F60
|
|
b _08073A90
|
|
_08073A7E:
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _08073A90
|
|
adds r0, r4, #0
|
|
bl sub_08073AD4
|
|
_08073A90:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08073A94
|
|
sub_08073A94: @ 0x08073A94
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073AAE
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08073AB4
|
|
_08073AAE:
|
|
adds r0, r4, #0
|
|
bl sub_08073B60
|
|
_08073AB4:
|
|
ldr r0, _08073ACC @ =gLinkEntity
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _08073AC8
|
|
ldr r1, _08073AD0 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r1, #2]
|
|
adds r0, r4, #0
|
|
bl sub_08073924
|
|
_08073AC8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08073ACC: .4byte gLinkEntity
|
|
_08073AD0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073AD4
|
|
sub_08073AD4: @ 0x08073AD4
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073AFA
|
|
ldrb r2, [r4, #0x1b]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x80
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x1b]
|
|
ldrb r0, [r4, #0x19]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x19]
|
|
_08073AFA:
|
|
ldr r6, _08073B48 @ =gUnk_03003F80
|
|
ldrb r5, [r6, #2]
|
|
movs r0, #0xc1
|
|
rsbs r0, r0, #0
|
|
ands r5, r0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0xa
|
|
beq _08073B32
|
|
bl sub_0807A2B8
|
|
movs r0, #0
|
|
strb r0, [r6, #2]
|
|
bl sub_0807A1B8
|
|
ldrb r0, [r6, #0xc]
|
|
cmp r0, #0
|
|
bne _08073B5C
|
|
adds r0, r6, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08073B5C
|
|
ldrb r0, [r6, #4]
|
|
cmp r0, #0
|
|
beq _08073B32
|
|
adds r0, r4, #0
|
|
bl sub_08073B60
|
|
_08073B32:
|
|
ldr r2, _08073B48 @ =gUnk_03003F80
|
|
adds r0, r5, #1
|
|
strb r0, [r2, #2]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08073B50
|
|
ldr r0, _08073B4C @ =0x00000424
|
|
b _08073B54
|
|
.align 2, 0
|
|
_08073B48: .4byte gUnk_03003F80
|
|
_08073B4C: .4byte 0x00000424
|
|
_08073B50:
|
|
movs r0, #0x82
|
|
lsls r0, r0, #4
|
|
_08073B54:
|
|
strh r0, [r2, #8]
|
|
movs r0, #0x7d
|
|
bl sub_080A3268
|
|
_08073B5C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08073B60
|
|
sub_08073B60: @ 0x08073B60
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08073B88 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r4, #0x1b]
|
|
strb r0, [r4, #4]
|
|
strb r0, [r4, #2]
|
|
bl sub_08079938
|
|
adds r0, r5, #0
|
|
bl sub_080085B0
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073B86
|
|
bl sub_080791BC
|
|
_08073B86:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08073B88: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073B8C
|
|
sub_08073B8C: @ 0x08073B8C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08073BCC @ =gUnk_03003F80
|
|
ldrb r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _08073C04
|
|
movs r2, #0xc
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0806F854
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073BB8
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_08073BB8:
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _08073BD0
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
b _08073C28
|
|
.align 2, 0
|
|
_08073BCC: .4byte gUnk_03003F80
|
|
_08073BD0:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #7
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
movs r0, #0x36
|
|
ldrsh r1, [r4, r0]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
blt _08073C28
|
|
ldrb r0, [r5, #0x14]
|
|
cmp r0, #0
|
|
bne _08073C0C
|
|
bl sub_0807A2B8
|
|
cmp r0, #0
|
|
bne _08073BFC
|
|
bl sub_08079D48
|
|
cmp r0, #0
|
|
bne _08073C0C
|
|
_08073BFC:
|
|
ldrb r0, [r4, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
_08073C04:
|
|
adds r0, r4, #0
|
|
bl sub_08073B60
|
|
b _08073C28
|
|
_08073C0C:
|
|
ldr r1, _08073C2C @ =gUnk_03003F80
|
|
ldrb r0, [r1, #2]
|
|
adds r0, #1
|
|
strb r0, [r1, #2]
|
|
movs r0, #0xf
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0x10
|
|
movs r1, #0
|
|
bl sub_08080964
|
|
movs r0, #0xa6
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_08073C28:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08073C2C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073C30
|
|
sub_08073C30: @ 0x08073C30
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08073C54 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0
|
|
beq _08073C4A
|
|
ldrb r0, [r2, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _08073C58
|
|
_08073C4A:
|
|
adds r0, r2, #0
|
|
bl sub_08073B60
|
|
b _08073C66
|
|
.align 2, 0
|
|
_08073C54: .4byte gUnk_03003F80
|
|
_08073C58:
|
|
ldrb r0, [r2, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x10]
|
|
adds r0, r2, #0
|
|
bl sub_080042B8
|
|
_08073C66:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08073C68
|
|
sub_08073C68: @ 0x08073C68
|
|
push {lr}
|
|
ldr r2, _08073C7C @ =gUnk_0811BC60
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08073C7C: .4byte gUnk_0811BC60
|
|
|
|
thumb_func_start sub_08073C80
|
|
sub_08073C80: @ 0x08073C80
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
ldr r2, _08073D00 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r5, #0
|
|
ldr r0, _08073D04 @ =0x00000C18
|
|
strh r0, [r2, #8]
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #0x18
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x31
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldrb r1, [r4, #0x19]
|
|
movs r7, #4
|
|
rsbs r7, r7, #0
|
|
adds r0, r7, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x19]
|
|
ldr r0, _08073D08 @ =gUnk_0811BC80
|
|
str r0, [r4, #0x48]
|
|
strb r5, [r4, #0xe]
|
|
movs r6, #2
|
|
strb r6, [r4, #0xf]
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
strb r5, [r0]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #2
|
|
bl sub_080AE008
|
|
ldr r0, _08073D0C @ =gUnk_03000BF0
|
|
str r4, [r0, #0x30]
|
|
bl sub_080809D4
|
|
ldr r1, _08073D10 @ =gUnk_030010A0
|
|
ldrb r0, [r1, #0xf]
|
|
cmp r0, #9
|
|
bne _08073D14
|
|
strb r5, [r1, #0xf]
|
|
ldrb r1, [r4, #0x18]
|
|
adds r0, r7, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
strb r6, [r4, #0xd]
|
|
b _08073D1E
|
|
.align 2, 0
|
|
_08073D00: .4byte gUnk_03003F80
|
|
_08073D04: .4byte 0x00000C18
|
|
_08073D08: .4byte gUnk_0811BC80
|
|
_08073D0C: .4byte gUnk_03000BF0
|
|
_08073D10: .4byte gUnk_030010A0
|
|
_08073D14:
|
|
movs r0, #4
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
_08073D1E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08073D20
|
|
sub_08073D20: @ 0x08073D20
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
ldr r5, _08073D70 @ =gUnk_03003F80
|
|
movs r0, #0xa8
|
|
adds r0, r0, r5
|
|
mov r8, r0
|
|
movs r0, #0
|
|
mov r1, r8
|
|
strb r0, [r1]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #0x39
|
|
ands r0, r1
|
|
movs r1, #0x18
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r1, r4, #0
|
|
adds r1, #0x40
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
bl sub_08078F60
|
|
adds r7, r5, #0
|
|
adds r7, #0x26
|
|
ldrb r0, [r7]
|
|
cmp r0, #0
|
|
bne _08073D60
|
|
movs r0, #0xc0
|
|
strh r0, [r4, #0x24]
|
|
_08073D60:
|
|
bl sub_08079B24
|
|
cmp r0, #0
|
|
bne _08073D74
|
|
adds r0, r4, #0
|
|
bl sub_08079708
|
|
b _08073EFC
|
|
.align 2, 0
|
|
_08073D70: .4byte gUnk_03003F80
|
|
_08073D74:
|
|
bl sub_08078EFC
|
|
adds r6, r0, #0
|
|
cmp r6, #0
|
|
beq _08073D80
|
|
b _08073EFC
|
|
_08073D80:
|
|
adds r0, r4, #0
|
|
bl sub_08073904
|
|
bl sub_0807A1B8
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
beq _08073D96
|
|
movs r0, #0x14
|
|
mov r1, r8
|
|
strb r0, [r1]
|
|
_08073D96:
|
|
ldrb r0, [r5, #0x12]
|
|
subs r0, #0x18
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bls _08073DB0
|
|
strb r6, [r7]
|
|
adds r2, r4, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_08073DB0:
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
beq _08073DBA
|
|
b _08073EFC
|
|
_08073DBA:
|
|
ldrb r0, [r4, #0xd]
|
|
cmp r0, #2
|
|
bne _08073DC2
|
|
b _08073EFC
|
|
_08073DC2:
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073E10
|
|
adds r0, r4, #0
|
|
bl sub_080085B0
|
|
bl sub_080792D8
|
|
ldrb r0, [r5, #0xa]
|
|
cmp r0, #0
|
|
bne _08073DE6
|
|
bl sub_08079550
|
|
cmp r0, #0
|
|
beq _08073DE6
|
|
b _08073EFC
|
|
_08073DE6:
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08073DFA
|
|
adds r0, r4, #0
|
|
adds r0, #0x3e
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x15]
|
|
b _08073EFC
|
|
_08073DFA:
|
|
bl sub_080782C0
|
|
cmp r0, #0
|
|
beq _08073E08
|
|
bl sub_08078EFC
|
|
b _08073EFC
|
|
_08073E08:
|
|
ldrb r0, [r4, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
_08073E10:
|
|
bl sub_08019840
|
|
cmp r0, #0
|
|
bne _08073EFC
|
|
adds r0, r4, #0
|
|
bl sub_08077698
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bne _08073E32
|
|
ldr r0, _08073E74 @ =gUnk_03003F80
|
|
strb r1, [r0, #2]
|
|
_08073E32:
|
|
ldr r2, _08073E74 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #7]
|
|
movs r3, #0x80
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073EFC
|
|
ldrb r0, [r2, #0xa]
|
|
cmp r0, #0
|
|
bne _08073EFC
|
|
adds r0, r4, #0
|
|
adds r0, #0x3d
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
adds r6, r0, #0
|
|
cmp r1, #8
|
|
bgt _08073E90
|
|
adds r0, r2, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08073E78
|
|
adds r1, r2, #0
|
|
adds r1, #0xa8
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0807ACCC
|
|
bl sub_08079E08
|
|
b _08073E90
|
|
.align 2, 0
|
|
_08073E74: .4byte gUnk_03003F80
|
|
_08073E78:
|
|
ldrb r1, [r2, #0xd]
|
|
strb r1, [r4, #0x15]
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073E90
|
|
adds r1, r2, #0
|
|
adds r1, #0xa8
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
bl sub_08079E08
|
|
_08073E90:
|
|
ldr r5, _08073EF0 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #0xb]
|
|
cmp r0, #0
|
|
bne _08073E9E
|
|
adds r0, r4, #0
|
|
bl sub_0806F948
|
|
_08073E9E:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_0807B068
|
|
movs r0, #0x10
|
|
bl sub_080793E4
|
|
cmp r0, #0
|
|
beq _08073EDC
|
|
movs r0, #0x14
|
|
strb r0, [r6]
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
movs r1, #0x10
|
|
eors r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x3e
|
|
strb r0, [r1]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
bl sub_080526A0
|
|
movs r0, #0x7a
|
|
bl sub_080A3268
|
|
_08073EDC:
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08073EF4
|
|
adds r0, r4, #0
|
|
bl sub_08008AC6
|
|
b _08073EFC
|
|
.align 2, 0
|
|
_08073EF0: .4byte gUnk_03003F80
|
|
_08073EF4:
|
|
adds r1, r5, #0
|
|
adds r1, #0xa8
|
|
movs r0, #0xd
|
|
strb r0, [r1]
|
|
_08073EFC:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08073F04
|
|
sub_08073F04: @ 0x08073F04
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
adds r3, #0x29
|
|
ldrb r2, [r3]
|
|
movs r1, #0x39
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
movs r2, #0x10
|
|
orrs r1, r2
|
|
strb r1, [r3]
|
|
ldrb r2, [r0, #0x18]
|
|
movs r1, #4
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
strb r1, [r0, #0x18]
|
|
ldrb r1, [r0, #0xd]
|
|
adds r1, #1
|
|
strb r1, [r0, #0xd]
|
|
movs r1, #0xa0
|
|
lsls r1, r1, #0xa
|
|
str r1, [r0, #0x20]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
strh r1, [r0, #0x24]
|
|
ldr r2, _08073F48 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x81
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
bl sub_08077B2C
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08073F48: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08073F4C
|
|
sub_08073F4C: @ 0x08073F4C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08073F84 @ =gUnk_02033A90
|
|
ldrh r3, [r0, #0x12]
|
|
ldrh r5, [r0, #0x14]
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r4, r0]
|
|
cmp r2, r3
|
|
bne _08073F66
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r5
|
|
beq _08073F88
|
|
_08073F66:
|
|
movs r0, #0x32
|
|
ldrsh r1, [r4, r0]
|
|
adds r0, r2, #0
|
|
adds r2, r3, #0
|
|
adds r3, r5, #0
|
|
bl sub_080045D4
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _08073FC6
|
|
.align 2, 0
|
|
_08073F84: .4byte gUnk_02033A90
|
|
_08073F88:
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #0x10]
|
|
movs r0, #0x1e
|
|
strb r0, [r4, #0xe]
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
adds r0, r4, #0
|
|
adds r0, #0x80
|
|
movs r1, #0x90
|
|
lsls r1, r1, #3
|
|
str r1, [r0]
|
|
adds r0, #4
|
|
str r1, [r0]
|
|
ldrb r0, [r4, #0x19]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
adds r0, r4, #0
|
|
bl sub_08074018
|
|
ldr r1, _08073FC8 @ =gUnk_03003F80
|
|
ldr r0, _08073FCC @ =0x0000073C
|
|
strh r0, [r1, #8]
|
|
_08073FC6:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08073FC8: .4byte gUnk_03003F80
|
|
_08073FCC: .4byte 0x0000073C
|
|
|
|
thumb_func_start sub_08073FD0
|
|
sub_08073FD0: @ 0x08073FD0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _08073FF8
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08074016
|
|
ldrb r1, [r4, #0x18]
|
|
lsls r0, r1, #0x1e
|
|
cmp r0, #0
|
|
bne _08073FF8
|
|
movs r0, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #0x7c
|
|
bl sub_080A3268
|
|
_08073FF8:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bne _08074016
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0xb8
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_08074016:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08074018
|
|
sub_08074018: @ 0x08074018
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x80
|
|
ldr r0, [r1]
|
|
movs r3, #0x80
|
|
lsls r3, r3, #1
|
|
cmp r0, r3
|
|
bls _0807402E
|
|
subs r0, #0x20
|
|
str r0, [r1]
|
|
_0807402E:
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
adds r2, r0, #0
|
|
cmp r1, r3
|
|
bls _08074042
|
|
adds r0, r1, #0
|
|
subs r0, #0x20
|
|
str r0, [r2]
|
|
b _08074048
|
|
_08074042:
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
_08074048:
|
|
adds r0, r4, #0
|
|
adds r0, #0x80
|
|
ldr r1, [r0]
|
|
ldr r2, [r2]
|
|
adds r0, r4, #0
|
|
movs r3, #0
|
|
bl sub_0805EC9C
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08074060
|
|
sub_08074060: @ 0x08074060
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _080740D0
|
|
ldr r0, _080740C4 @ =gUnk_08114F88
|
|
str r0, [r4, #0x48]
|
|
movs r3, #0x10
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
movs r2, #0
|
|
adds r0, #0xfc
|
|
strh r0, [r4, #0x24]
|
|
movs r0, #0x29
|
|
adds r0, r0, r4
|
|
mov ip, r0
|
|
ldrb r1, [r0]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x31
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
strb r0, [r4, #0x18]
|
|
strb r2, [r4, #0xf]
|
|
ldrb r0, [r4, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r4, #0xd]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r4, #0x20]
|
|
ldr r1, _080740C8 @ =gUnk_03003F80
|
|
ldr r0, _080740CC @ =0x0000080C
|
|
strh r0, [r1, #8]
|
|
adds r0, r4, #0
|
|
bl sub_0805EC60
|
|
b _080740D6
|
|
.align 2, 0
|
|
_080740C4: .4byte gUnk_08114F88
|
|
_080740C8: .4byte gUnk_03003F80
|
|
_080740CC: .4byte 0x0000080C
|
|
_080740D0:
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
_080740D6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080740D8
|
|
sub_080740D8: @ 0x080740D8
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #0
|
|
bne _080740EA
|
|
ldrb r0, [r4, #0x15]
|
|
b _080740F0
|
|
_080740EA:
|
|
ldrb r1, [r4, #0x15]
|
|
movs r0, #0x10
|
|
eors r0, r1
|
|
_080740F0:
|
|
cmp r0, #8
|
|
beq _08074128
|
|
cmp r0, #8
|
|
bhi _080740FE
|
|
cmp r0, #0
|
|
beq _08074168
|
|
b _0807418C
|
|
_080740FE:
|
|
cmp r0, #0x10
|
|
beq _08074148
|
|
cmp r0, #0x18
|
|
bne _0807418C
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
ldr r2, [r4, #0x48]
|
|
ldrb r0, [r2, #2]
|
|
subs r1, r1, r0
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
ldr r3, _08074124 @ =gUnk_03000BF0
|
|
ldrh r0, [r3, #6]
|
|
subs r6, r1, r0
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
b _08074182
|
|
.align 2, 0
|
|
_08074124: .4byte gUnk_03000BF0
|
|
_08074128:
|
|
ldr r2, [r4, #0x48]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
ldrb r1, [r2, #2]
|
|
adds r0, r0, r1
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
adds r0, r0, r1
|
|
ldr r3, _08074144 @ =gUnk_03000BF0
|
|
ldrh r1, [r3, #6]
|
|
subs r6, r0, r1
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
b _08074182
|
|
.align 2, 0
|
|
_08074144: .4byte gUnk_03000BF0
|
|
_08074148:
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
ldr r2, [r4, #0x48]
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
ldr r3, _08074164 @ =gUnk_03000BF0
|
|
ldrh r0, [r3, #6]
|
|
subs r6, r1, r0
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
ldrb r1, [r2, #5]
|
|
adds r0, r0, r1
|
|
b _08074182
|
|
.align 2, 0
|
|
_08074164: .4byte gUnk_03000BF0
|
|
_08074168:
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r4, r0]
|
|
ldr r2, [r4, #0x48]
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
ldr r3, _080741A4 @ =gUnk_03000BF0
|
|
ldrh r0, [r3, #6]
|
|
subs r6, r1, r0
|
|
movs r1, #0x32
|
|
ldrsh r0, [r4, r1]
|
|
ldrb r1, [r2, #5]
|
|
subs r0, r0, r1
|
|
_08074182:
|
|
movs r1, #1
|
|
ldrsb r1, [r2, r1]
|
|
adds r0, r0, r1
|
|
ldrh r1, [r3, #8]
|
|
subs r5, r0, r1
|
|
_0807418C:
|
|
ldr r2, _080741A8 @ =gUnk_080082DC
|
|
adds r0, r6, #0
|
|
adds r1, r5, #0
|
|
bl sub_080086B4
|
|
cmp r0, #0
|
|
beq _080741AC
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _080741B0
|
|
.align 2, 0
|
|
_080741A4: .4byte gUnk_03000BF0
|
|
_080741A8: .4byte gUnk_080082DC
|
|
_080741AC:
|
|
movs r0, #1
|
|
strb r0, [r4, #0xf]
|
|
_080741B0:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
bne _080741C2
|
|
bl sub_0807921C
|
|
_080741C2:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_080741C4
|
|
sub_080741C4: @ 0x080741C4
|
|
push {lr}
|
|
ldr r0, _080741F0 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #2]
|
|
adds r2, r0, #0
|
|
cmp r1, #0
|
|
beq _080741D8
|
|
movs r0, #7
|
|
ands r0, r1
|
|
cmp r0, #3
|
|
bne _080741E0
|
|
_080741D8:
|
|
ldr r0, _080741F4 @ =gLinkEntity
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _080741F8
|
|
_080741E0:
|
|
movs r1, #0
|
|
strb r1, [r2, #0x11]
|
|
adds r0, r2, #0
|
|
adds r0, #0x37
|
|
strb r1, [r0]
|
|
movs r0, #1
|
|
b _080741FA
|
|
.align 2, 0
|
|
_080741F0: .4byte gUnk_03003F80
|
|
_080741F4: .4byte gLinkEntity
|
|
_080741F8:
|
|
movs r0, #0
|
|
_080741FA:
|
|
pop {pc}
|
|
|
|
thumb_func_start nullsub_112
|
|
nullsub_112: @ 0x080741FC
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074200
|
|
sub_08074200: @ 0x08074200
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074226
|
|
adds r0, r4, #0
|
|
bl sub_08079C30
|
|
cmp r0, #0
|
|
beq _08074226
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #3
|
|
beq _08074226
|
|
bl sub_08077B2C
|
|
ldr r1, _08074228 @ =gUnk_03003F80
|
|
movs r0, #3
|
|
strb r0, [r1, #0xc]
|
|
_08074226:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074228: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807422C
|
|
sub_0807422C: @ 0x0807422C
|
|
push {lr}
|
|
movs r1, #8
|
|
movs r2, #0x18
|
|
bl sub_08074244
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08074238
|
|
sub_08074238: @ 0x08074238
|
|
push {lr}
|
|
movs r1, #0
|
|
movs r2, #0x10
|
|
bl sub_08074244
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08074244
|
|
sub_08074244: @ 0x08074244
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
adds r7, r2, #0
|
|
ldr r5, _0807428C @ =gUnk_03003F80
|
|
ldrb r0, [r5, #0x12]
|
|
subs r0, #0x28
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bls _08074278
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
ldrb r2, [r4, #0x1b]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x1b]
|
|
ldrb r0, [r4, #0x19]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x19]
|
|
_08074278:
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _080742A6
|
|
ldrb r0, [r5, #0x1e]
|
|
cmp r0, #0
|
|
bne _08074290
|
|
ldrb r0, [r5, #0xd]
|
|
b _08074294
|
|
.align 2, 0
|
|
_0807428C: .4byte gUnk_03003F80
|
|
_08074290:
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
_08074294:
|
|
cmp r6, r0
|
|
bne _0807429C
|
|
cmp r7, r0
|
|
beq _080742A6
|
|
_0807429C:
|
|
ldr r1, _080742A8 @ =gUnk_03003F80
|
|
adds r1, #0x80
|
|
ldrh r0, [r1]
|
|
subs r0, #0x50
|
|
strh r0, [r1]
|
|
_080742A6:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080742A8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080742AC
|
|
sub_080742AC: @ 0x080742AC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080742E0 @ =gUnk_03003F80
|
|
adds r1, r0, #0
|
|
adds r1, #0x26
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080742C0
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_080742C0:
|
|
adds r3, r2, #0
|
|
adds r3, #0x29
|
|
ldrb r1, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080742E0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080742E4
|
|
sub_080742E4: @ 0x080742E4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _0807430E
|
|
ldr r2, _08074310 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807430E
|
|
ldrb r0, [r2, #0x11]
|
|
cmp r0, #0xf
|
|
bne _0807430E
|
|
adds r0, r4, #0
|
|
movs r1, #0xe
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
_0807430E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074310: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074314
|
|
sub_08074314: @ 0x08074314
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrh r1, [r2, #0x32]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0xd
|
|
bgt _08074330
|
|
movs r0, #0xcc
|
|
lsls r0, r0, #7
|
|
strh r0, [r2, #0x2a]
|
|
adds r0, r2, #0
|
|
bl sub_080743A4
|
|
b _08074336
|
|
_08074330:
|
|
adds r0, r2, #0
|
|
bl sub_0807A298
|
|
_08074336:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08074338
|
|
sub_08074338: @ 0x08074338
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrh r1, [r2, #0x32]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #1
|
|
ble _08074354
|
|
movs r0, #0xcc
|
|
lsls r0, r0, #7
|
|
strh r0, [r2, #0x2a]
|
|
adds r0, r2, #0
|
|
bl sub_080743A4
|
|
b _0807435A
|
|
_08074354:
|
|
adds r0, r2, #0
|
|
bl sub_0807A298
|
|
_0807435A:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0807435C
|
|
sub_0807435C: @ 0x0807435C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrh r1, [r2, #0x2e]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0xb
|
|
bgt _08074376
|
|
movs r0, #0x66
|
|
strh r0, [r2, #0x2a]
|
|
adds r0, r2, #0
|
|
bl sub_080743A4
|
|
b _0807437C
|
|
_08074376:
|
|
adds r0, r2, #0
|
|
bl sub_0807A298
|
|
_0807437C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074380
|
|
sub_08074380: @ 0x08074380
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrh r1, [r2, #0x2e]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #4
|
|
ble _0807439A
|
|
movs r0, #0x66
|
|
strh r0, [r2, #0x2a]
|
|
adds r0, r2, #0
|
|
bl sub_080743A4
|
|
b _080743A0
|
|
_0807439A:
|
|
adds r0, r2, #0
|
|
bl sub_0807A298
|
|
_080743A0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080743A4
|
|
sub_080743A4: @ 0x080743A4
|
|
push {lr}
|
|
ldr r3, _080743D0 @ =gUnk_03003F80
|
|
ldr r1, [r3, #0x30]
|
|
movs r2, #0x40
|
|
orrs r1, r2
|
|
str r1, [r3, #0x30]
|
|
movs r3, #0
|
|
movs r1, #0x80
|
|
strb r1, [r0, #0xb]
|
|
ldrb r2, [r0, #0x18]
|
|
subs r1, #0x84
|
|
ands r1, r2
|
|
strb r1, [r0, #0x18]
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
adds r0, #0x42
|
|
strb r3, [r0]
|
|
bl sub_08077B2C
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080743D0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080743D4
|
|
sub_080743D4: @ 0x080743D4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074416
|
|
adds r0, r5, #0
|
|
bl sub_08079C30
|
|
cmp r0, #0
|
|
beq _08074416
|
|
adds r0, r5, #0
|
|
bl sub_0807AABC
|
|
adds r0, r5, #0
|
|
bl sub_08074808
|
|
movs r0, #0x24
|
|
ldrsh r4, [r5, r0]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #2
|
|
strh r0, [r5, #0x24]
|
|
movs r0, #0x10
|
|
strb r0, [r5, #0x15]
|
|
ldr r2, _08074418 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #0xa]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0xa]
|
|
adds r0, r5, #0
|
|
bl sub_0806F69C
|
|
strh r4, [r5, #0x24]
|
|
_08074416:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08074418: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807441C
|
|
sub_0807441C: @ 0x0807441C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
ldr r0, _08074440 @ =gUnk_03003F80
|
|
adds r0, #0xa0
|
|
ldrb r0, [r0]
|
|
cmp r0, #4
|
|
bne _08074502
|
|
ldr r6, _08074444 @ =gUnk_02002A40
|
|
adds r4, r6, #0
|
|
adds r4, #0xb4
|
|
ldrb r0, [r4]
|
|
bl sub_0805449C
|
|
cmp r0, #0
|
|
beq _08074448
|
|
ldrb r0, [r4]
|
|
b _0807444E
|
|
.align 2, 0
|
|
_08074440: .4byte gUnk_03003F80
|
|
_08074444: .4byte gUnk_02002A40
|
|
_08074448:
|
|
adds r0, r6, #0
|
|
adds r0, #0xb5
|
|
ldrb r0, [r0]
|
|
_0807444E:
|
|
subs r0, #1
|
|
cmp r0, #5
|
|
bhi _0807448A
|
|
lsls r0, r0, #2
|
|
ldr r1, _08074460 @ =_08074464
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08074460: .4byte _08074464
|
|
_08074464: @ jump table
|
|
.4byte _0807447C @ case 0
|
|
.4byte _0807447C @ case 1
|
|
.4byte _08074480 @ case 2
|
|
.4byte _08074484 @ case 3
|
|
.4byte _0807448A @ case 4
|
|
.4byte _08074488 @ case 5
|
|
_0807447C:
|
|
movs r5, #0
|
|
b _0807448A
|
|
_08074480:
|
|
movs r5, #1
|
|
b _0807448A
|
|
_08074484:
|
|
movs r5, #2
|
|
b _0807448A
|
|
_08074488:
|
|
movs r5, #3
|
|
_0807448A:
|
|
movs r4, #0
|
|
cmp r4, r5
|
|
bhs _080744A6
|
|
ldr r1, _08074494 @ =gUnk_03004040
|
|
b _080744A0
|
|
.align 2, 0
|
|
_08074494: .4byte gUnk_03004040
|
|
_08074498:
|
|
adds r1, #4
|
|
adds r4, #1
|
|
cmp r4, r5
|
|
bhs _080744A6
|
|
_080744A0:
|
|
ldr r0, [r1]
|
|
cmp r0, #0
|
|
bne _08074498
|
|
_080744A6:
|
|
cmp r5, r4
|
|
bls _080744D4
|
|
adds r0, r7, #0
|
|
movs r1, #0x10
|
|
adds r2, r4, #0
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
adds r3, r0, #0
|
|
ldr r1, _080744D0 @ =gUnk_03004040
|
|
lsls r0, r4, #2
|
|
adds r0, r0, r1
|
|
str r3, [r0]
|
|
cmp r3, #0
|
|
beq _08074502
|
|
adds r0, r7, #0
|
|
adds r1, r3, #0
|
|
bl sub_0806FA24
|
|
b _08074502
|
|
.align 2, 0
|
|
_080744D0: .4byte gUnk_03004040
|
|
_080744D4:
|
|
ldr r2, _08074504 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #0x1b]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x1b]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xf
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
ldr r0, [r7, #0x2c]
|
|
ldr r2, _08074508 @ =0xFFF00000
|
|
ands r0, r2
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xc
|
|
orrs r0, r1
|
|
str r0, [r7, #0x2c]
|
|
ldr r0, [r7, #0x30]
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
str r0, [r7, #0x30]
|
|
bl sub_08077AEC
|
|
_08074502:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08074504: .4byte gUnk_03003F80
|
|
_08074508: .4byte 0xFFF00000
|
|
|
|
thumb_func_start sub_0807450C
|
|
sub_0807450C: @ 0x0807450C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _0807457A
|
|
ldr r7, _0807457C @ =gUnk_03003F80
|
|
ldrb r0, [r7, #0x14]
|
|
cmp r0, #0
|
|
bne _0807457A
|
|
adds r4, r6, #0
|
|
adds r4, #0x3d
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
cmp r0, #0
|
|
bne _08074568
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
bl sub_080526A0
|
|
movs r0, #0x7a
|
|
bl sub_080A3268
|
|
movs r0, #0x18
|
|
strb r0, [r4]
|
|
adds r1, r6, #0
|
|
adds r1, #0x42
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r6, r0]
|
|
ldr r5, _08074580 @ =0x0000FFF0
|
|
adds r0, r2, #0
|
|
ands r0, r5
|
|
movs r4, #8
|
|
orrs r0, r4
|
|
movs r1, #0x32
|
|
ldrsh r3, [r6, r1]
|
|
adds r1, r3, #0
|
|
ands r1, r5
|
|
orrs r1, r4
|
|
bl sub_080045D4
|
|
adds r1, r6, #0
|
|
adds r1, #0x3e
|
|
strb r0, [r1]
|
|
_08074568:
|
|
ldr r0, [r7, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807457A
|
|
adds r0, r6, #0
|
|
movs r1, #7
|
|
bl sub_08008790
|
|
_0807457A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807457C: .4byte gUnk_03003F80
|
|
_08074580: .4byte 0x0000FFF0
|
|
|
|
thumb_func_start sub_08074584
|
|
sub_08074584: @ 0x08074584
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _080745AC
|
|
ldr r0, _080745B0 @ =gUnk_03003F80
|
|
adds r0, #0x35
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080745A8
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080745AC
|
|
_080745A8:
|
|
bl sub_08078F60
|
|
_080745AC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080745B0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080745B4
|
|
sub_080745B4: @ 0x080745B4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074636
|
|
ldr r0, _080745E4 @ =gUnk_03003F80
|
|
mov ip, r0
|
|
ldr r3, [r0, #0x30]
|
|
movs r0, #0x80
|
|
ands r3, r0
|
|
cmp r3, #0
|
|
beq _080745E8
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
subs r0, #0xb9
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
bl sub_0807479C
|
|
b _08074636
|
|
.align 2, 0
|
|
_080745E4: .4byte gUnk_03003F80
|
|
_080745E8:
|
|
mov r5, ip
|
|
adds r5, #0x26
|
|
ldrb r0, [r5]
|
|
cmp r0, #0
|
|
beq _08074618
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r2, r4, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
subs r2, #0x13
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
strb r3, [r5]
|
|
_08074618:
|
|
mov r0, ip
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08074630
|
|
mov r1, ip
|
|
ldrb r0, [r1, #0x11]
|
|
cmp r0, #1
|
|
bne _08074636
|
|
_08074630:
|
|
movs r0, #0x83
|
|
bl sub_080A3268
|
|
_08074636:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08074638
|
|
sub_08074638: @ 0x08074638
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08074674 @ =gUnk_03003F80
|
|
adds r5, r0, #0
|
|
adds r5, #0x26
|
|
ldrb r0, [r5]
|
|
cmp r0, #0
|
|
beq _08074670
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
movs r3, #0
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
adds r2, r4, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
subs r2, #0x13
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
strb r3, [r5]
|
|
_08074670:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08074674: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074678
|
|
sub_08074678: @ 0x08074678
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
beq _08074690
|
|
ldr r0, _0807468C @ =gUnk_03003F80
|
|
movs r1, #0
|
|
strb r1, [r0, #0x11]
|
|
b _080746CE
|
|
.align 2, 0
|
|
_0807468C: .4byte gUnk_03003F80
|
|
_08074690:
|
|
adds r0, r4, #0
|
|
adds r0, #0x45
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0807476C
|
|
adds r0, r4, #0
|
|
bl sub_08079C30
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bne _080746B0
|
|
ldr r0, _080746AC @ =gUnk_03003F80
|
|
strb r1, [r0, #0x11]
|
|
b _080746CE
|
|
.align 2, 0
|
|
_080746AC: .4byte gUnk_03003F80
|
|
_080746B0:
|
|
ldr r3, _080746D4 @ =gUnk_03003F80
|
|
ldr r1, [r3, #0x30]
|
|
movs r0, #0x80
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _0807476C
|
|
ldrb r2, [r3, #0x1e]
|
|
cmp r2, #0
|
|
beq _080746D8
|
|
movs r0, #0x40
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _080746DC
|
|
strb r1, [r3, #0x11]
|
|
adds r0, r3, #0
|
|
_080746CE:
|
|
adds r0, #0x37
|
|
strb r1, [r0]
|
|
b _08074792
|
|
.align 2, 0
|
|
_080746D4: .4byte gUnk_03003F80
|
|
_080746D8:
|
|
bl sub_08077B20
|
|
_080746DC:
|
|
ldr r1, _08074700 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x37
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _08074704
|
|
adds r0, r4, #0
|
|
movs r1, #0x70
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
adds r0, r4, #0
|
|
movs r1, #0x52
|
|
movs r2, #0
|
|
bl CreateFX
|
|
b _08074714
|
|
.align 2, 0
|
|
_08074700: .4byte gUnk_03003F80
|
|
_08074704:
|
|
adds r0, r1, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074720
|
|
_08074714:
|
|
ldr r0, _0807471C @ =0x00000161
|
|
bl sub_080A3268
|
|
b _08074732
|
|
.align 2, 0
|
|
_0807471C: .4byte 0x00000161
|
|
_08074720:
|
|
ldr r0, _08074760 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08074732
|
|
ldr r0, _08074764 @ =0x00000161
|
|
bl sub_080A3268
|
|
_08074732:
|
|
ldr r2, _08074768 @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0x80
|
|
ldrh r0, [r1]
|
|
subs r0, #0xf0
|
|
strh r0, [r1]
|
|
adds r1, #0x28
|
|
movs r0, #0x1b
|
|
strb r0, [r1]
|
|
adds r0, r2, #0
|
|
adds r0, #0x37
|
|
ldrb r0, [r0]
|
|
lsls r3, r0, #0x18
|
|
lsrs r0, r3, #0x18
|
|
cmp r0, #0xef
|
|
bhi _0807476C
|
|
subs r1, #0x69
|
|
lsrs r0, r3, #0x1d
|
|
adds r0, #4
|
|
ldrb r2, [r1]
|
|
adds r0, r0, r2
|
|
strb r0, [r1]
|
|
b _08074792
|
|
.align 2, 0
|
|
_08074760: .4byte gUnk_030010A0
|
|
_08074764: .4byte 0x00000161
|
|
_08074768: .4byte gUnk_03003F80
|
|
_0807476C:
|
|
ldr r2, _08074794 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08074798 @ =0xFFFBFFFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
adds r0, r4, #0
|
|
movs r1, #0x52
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r1, r4, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0x20
|
|
strb r0, [r1]
|
|
subs r0, #0x24
|
|
bl sub_080526A0
|
|
bl sub_08079458
|
|
_08074792:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074794: .4byte gUnk_03003F80
|
|
_08074798: .4byte 0xFFFBFFFF
|
|
|
|
thumb_func_start sub_0807479C
|
|
sub_0807479C: @ 0x0807479C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
bne _08074804
|
|
ldr r1, _080747C0 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #0x14]
|
|
adds r3, r1, #0
|
|
cmp r0, #0
|
|
bne _080747C4
|
|
adds r1, #0x3f
|
|
ldrb r0, [r1]
|
|
adds r0, #2
|
|
strb r0, [r1]
|
|
b _080747E6
|
|
.align 2, 0
|
|
_080747C0: .4byte gUnk_03003F80
|
|
_080747C4:
|
|
adds r0, r3, #0
|
|
adds r0, #0x26
|
|
strb r2, [r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r2, #0x13
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
_080747E6:
|
|
adds r0, r3, #0
|
|
adds r0, #0x26
|
|
ldrb r1, [r0]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080747FE
|
|
adds r0, r4, #0
|
|
bl sub_08079C30
|
|
cmp r0, #0
|
|
beq _08074804
|
|
_080747FE:
|
|
adds r0, r4, #0
|
|
bl sub_08074808
|
|
_08074804:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074808
|
|
sub_08074808: @ 0x08074808
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
bl sub_08077AEC
|
|
movs r0, #0x46
|
|
bl sub_0807CA84
|
|
adds r3, r0, #0
|
|
cmp r3, #1
|
|
bne _080748B8
|
|
ldr r1, _08074838 @ =gUnk_03003F80
|
|
adds r2, r1, #0
|
|
adds r2, #0x26
|
|
ldrb r0, [r2]
|
|
cmp r0, #0
|
|
bne _0807486C
|
|
ldr r0, [r1, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #9
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807483C
|
|
strb r3, [r2]
|
|
b _08074840
|
|
.align 2, 0
|
|
_08074838: .4byte gUnk_03003F80
|
|
_0807483C:
|
|
movs r0, #8
|
|
strb r0, [r2]
|
|
_08074840:
|
|
movs r1, #0
|
|
movs r0, #0
|
|
strh r0, [r6, #0x24]
|
|
ldr r0, _080748AC @ =gUnk_03003F80
|
|
adds r2, r0, #0
|
|
adds r2, #0x89
|
|
strb r1, [r2]
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08074862
|
|
adds r0, r6, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl CreateFX
|
|
_08074862:
|
|
ldr r0, _080748B0 @ =0x000001A5
|
|
bl sub_080A3268
|
|
bl sub_08077B2C
|
|
_0807486C:
|
|
ldr r5, _080748AC @ =gUnk_03003F80
|
|
adds r4, r5, #0
|
|
adds r4, #0x26
|
|
ldrb r1, [r4]
|
|
movs r7, #0xf
|
|
adds r0, r7, #0
|
|
ands r0, r1
|
|
cmp r0, #1
|
|
beq _0807488A
|
|
adds r0, r6, #0
|
|
bl sub_08079744
|
|
ldrb r0, [r4]
|
|
subs r0, #1
|
|
strb r0, [r4]
|
|
_0807488A:
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _080748B4 @ =0xFFFFF3FF
|
|
ands r0, r1
|
|
str r0, [r5, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080748BE
|
|
adds r1, r6, #0
|
|
adds r1, #0x7a
|
|
ldrh r0, [r1]
|
|
cmp r0, #0xe
|
|
bhi _080748BE
|
|
strh r7, [r1]
|
|
b _080748BE
|
|
.align 2, 0
|
|
_080748AC: .4byte gUnk_03003F80
|
|
_080748B0: .4byte 0x000001A5
|
|
_080748B4: .4byte 0xFFFFF3FF
|
|
_080748B8:
|
|
ldr r1, _080748C0 @ =gUnk_03003F80
|
|
movs r0, #0x14
|
|
strb r0, [r1, #0xc]
|
|
_080748BE:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080748C0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080748C4
|
|
sub_080748C4: @ 0x080748C4
|
|
ldr r1, _080748D0 @ =gUnk_03003F80
|
|
adds r1, #0x3f
|
|
ldrb r0, [r1]
|
|
subs r0, #2
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080748D0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080748D4
|
|
sub_080748D4: @ 0x080748D4
|
|
push {lr}
|
|
bl sub_080741C4
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080748DC
|
|
sub_080748DC: @ 0x080748DC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074910
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _0807490A
|
|
ldrh r0, [r4, #0x32]
|
|
adds r0, #0xc
|
|
strh r0, [r4, #0x32]
|
|
ldr r0, _08074914 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807490A
|
|
ldrh r0, [r4, #0x36]
|
|
subs r0, #0xc
|
|
strh r0, [r4, #0x36]
|
|
_0807490A:
|
|
adds r0, r4, #0
|
|
bl sub_0807AABC
|
|
_08074910:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074914: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074918
|
|
sub_08074918: @ 0x08074918
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074934
|
|
adds r0, r4, #0
|
|
bl sub_08079C30
|
|
cmp r0, #0
|
|
beq _08074934
|
|
ldr r1, _08074938 @ =gUnk_03003F80
|
|
movs r0, #0x11
|
|
strb r0, [r1, #0xc]
|
|
_08074934:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074938: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807493C
|
|
sub_0807493C: @ 0x0807493C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x44
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _08074952
|
|
adds r0, r4, #0
|
|
bl sub_0807496C
|
|
b _08074966
|
|
_08074952:
|
|
ldrh r1, [r4, #0x32]
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #0xf
|
|
movs r2, #0
|
|
orrs r0, r1
|
|
strh r0, [r4, #0x32]
|
|
ldr r0, _08074968 @ =gUnk_03003F80
|
|
strb r2, [r0, #0x12]
|
|
_08074966:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074968: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807496C
|
|
sub_0807496C: @ 0x0807496C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
bne _080749A2
|
|
ldr r0, _080749A4 @ =gUnk_03003F80
|
|
strb r3, [r0, #2]
|
|
ldrb r2, [r4, #0x19]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x19]
|
|
ldrb r0, [r4, #0x1b]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x1b]
|
|
strb r3, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
bl sub_08077B2C
|
|
_080749A2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080749A4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080749A8
|
|
sub_080749A8: @ 0x080749A8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x44
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _080749BE
|
|
adds r0, r4, #0
|
|
bl sub_080749D4
|
|
b _080749CE
|
|
_080749BE:
|
|
ldrh r1, [r4, #0x32]
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #0
|
|
strh r0, [r4, #0x32]
|
|
ldr r0, _080749D0 @ =gUnk_03003F80
|
|
strb r1, [r0, #0x12]
|
|
_080749CE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080749D0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080749D4
|
|
sub_080749D4: @ 0x080749D4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
bne _08074A40
|
|
ldrb r2, [r4, #0x19]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r4, #0x19]
|
|
ldrb r0, [r4, #0x1b]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r4, #0x1b]
|
|
strb r3, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
ldr r5, _08074A2C @ =gUnk_03003F80
|
|
adds r0, r5, #0
|
|
adds r0, #0x26
|
|
strb r3, [r0]
|
|
adds r2, r4, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldrh r1, [r4, #0x32]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #7
|
|
bgt _08074A34
|
|
ldr r0, _08074A30 @ =0x000002D3
|
|
strh r0, [r5, #8]
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0x15]
|
|
b _08074A3C
|
|
.align 2, 0
|
|
_08074A2C: .4byte gUnk_03003F80
|
|
_08074A30: .4byte 0x000002D3
|
|
_08074A34:
|
|
movs r1, #0
|
|
ldr r0, _08074A44 @ =0x000002D6
|
|
strh r0, [r5, #8]
|
|
strb r1, [r4, #0x15]
|
|
_08074A3C:
|
|
bl sub_08077B2C
|
|
_08074A40:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08074A44: .4byte 0x000002D6
|
|
|
|
thumb_func_start sub_08074A48
|
|
sub_08074A48: @ 0x08074A48
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08074A90 @ =gUnk_03003F80
|
|
adds r0, r5, #0
|
|
adds r0, #0x26
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074A86
|
|
ldr r0, _08074A94 @ =gLinkEntity
|
|
movs r1, #0
|
|
movs r2, #0x54
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08074A86
|
|
movs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
adds r0, r1, #0
|
|
bl sub_08016A04
|
|
ldrh r1, [r5, #0x22]
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r2, [r0]
|
|
movs r0, #0x39
|
|
bl sub_08000152
|
|
_08074A86:
|
|
adds r0, r4, #0
|
|
bl sub_0807479C
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08074A90: .4byte gUnk_03003F80
|
|
_08074A94: .4byte gLinkEntity
|
|
|
|
thumb_func_start nullsub_504
|
|
nullsub_504: @ 0x08074A98
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074A9C
|
|
sub_08074A9C: @ 0x08074A9C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074AF0
|
|
ldr r2, _08074AE0 @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x80
|
|
ldrh r1, [r0]
|
|
subs r1, #0x80
|
|
strh r1, [r0]
|
|
ldrb r0, [r2, #0x11]
|
|
cmp r0, #1
|
|
beq _08074ACA
|
|
adds r0, r2, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074AF0
|
|
_08074ACA:
|
|
ldrb r0, [r2, #0x12]
|
|
cmp r0, #0x25
|
|
bne _08074AE4
|
|
adds r0, r4, #0
|
|
movs r1, #0x21
|
|
movs r2, #1
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
b _08074AF0
|
|
.align 2, 0
|
|
_08074AE0: .4byte gUnk_03003F80
|
|
_08074AE4:
|
|
adds r0, r4, #0
|
|
movs r1, #0x21
|
|
movs r2, #1
|
|
movs r3, #1
|
|
bl sub_080A2988
|
|
_08074AF0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074AF4
|
|
sub_08074AF4: @ 0x08074AF4
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r1, _08074B04 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #0x1e]
|
|
cmp r0, #0
|
|
bne _08074B08
|
|
ldrb r2, [r1, #0xd]
|
|
b _08074B0C
|
|
.align 2, 0
|
|
_08074B04: .4byte gUnk_03003F80
|
|
_08074B08:
|
|
ldrb r0, [r3, #0x14]
|
|
lsls r2, r0, #2
|
|
_08074B0C:
|
|
adds r0, r3, #0
|
|
adds r1, r2, #0
|
|
bl sub_08074244
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074B18
|
|
sub_08074B18: @ 0x08074B18
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08074B40 @ =gUnk_03003F80
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _08074B48
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074B48
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074B44
|
|
adds r0, r5, #0
|
|
bl sub_08074200
|
|
b _08074B48
|
|
.align 2, 0
|
|
_08074B40: .4byte gUnk_03003F80
|
|
_08074B44:
|
|
movs r0, #0x1a
|
|
strb r0, [r4, #0xc]
|
|
_08074B48:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074B4C
|
|
sub_08074B4C: @ 0x08074B4C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074B6E
|
|
ldr r0, _08074B70 @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x30]
|
|
movs r0, #0x80
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08074B6E
|
|
strb r1, [r4, #0x14]
|
|
strb r1, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_08074BF8
|
|
_08074B6E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074B70: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074B74
|
|
sub_08074B74: @ 0x08074B74
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074B9A
|
|
ldr r0, _08074B9C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08074B9A
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x10
|
|
strb r0, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_08074BF8
|
|
_08074B9A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074B9C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074BA0
|
|
sub_08074BA0: @ 0x08074BA0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074BC6
|
|
ldr r0, _08074BC8 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08074BC6
|
|
movs r0, #6
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #0x18
|
|
strb r0, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_08074BF8
|
|
_08074BC6:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074BC8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074BCC
|
|
sub_08074BCC: @ 0x08074BCC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080741C4
|
|
cmp r0, #0
|
|
bne _08074BF2
|
|
ldr r0, _08074BF4 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08074BF2
|
|
movs r0, #2
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #8
|
|
strb r0, [r4, #0x15]
|
|
adds r0, r4, #0
|
|
bl sub_08074BF8
|
|
_08074BF2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074BF4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074BF8
|
|
sub_08074BF8: @ 0x08074BF8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08077B2C
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #0x24]
|
|
ldr r1, _08074C40 @ =gUnk_03003F80
|
|
ldr r0, [r1, #0x30]
|
|
movs r2, #0x80
|
|
lsls r2, r2, #0x12
|
|
orrs r0, r2
|
|
str r0, [r1, #0x30]
|
|
ldrb r2, [r1, #0xa]
|
|
movs r0, #0x80
|
|
orrs r2, r0
|
|
strb r2, [r1, #0xa]
|
|
ldrb r2, [r1, #0x1a]
|
|
orrs r0, r2
|
|
strb r0, [r1, #0x1a]
|
|
adds r1, #0x27
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074C40: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08074C44
|
|
sub_08074C44: @ 0x08074C44
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08078EFC
|
|
cmp r0, #0
|
|
bne _08074C60
|
|
ldr r0, _08074C64 @ =gUnk_0811BC88
|
|
ldrb r1, [r4, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
_08074C60:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08074C64: .4byte gUnk_0811BC88
|
|
|
|
thumb_func_start sub_08074C68
|
|
sub_08074C68: @ 0x08074C68
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r4, #0
|
|
adds r6, #0x68
|
|
movs r2, #0
|
|
strb r2, [r6]
|
|
ldr r5, _08074CA0 @ =gUnk_03003F80
|
|
adds r0, r5, #0
|
|
adds r0, #0x38
|
|
ldrb r3, [r0]
|
|
cmp r3, #1
|
|
beq _08074CA8
|
|
adds r0, r4, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
ldr r0, _08074CA4 @ =gUnk_02022750
|
|
cmp r1, r0
|
|
bne _08074CF2
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r4, #0
|
|
bl sub_08074CF8
|
|
b _08074CF2
|
|
.align 2, 0
|
|
_08074CA0: .4byte gUnk_03003F80
|
|
_08074CA4: .4byte gUnk_02022750
|
|
_08074CA8:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #4
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
strb r2, [r4, #0x14]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r0, #2
|
|
strb r0, [r4, #0xd]
|
|
strb r3, [r6]
|
|
adds r0, r4, #0
|
|
bl sub_0807DD64
|
|
adds r0, r5, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08074CE4
|
|
ldr r0, _08074CE0 @ =0x0000073A
|
|
b _08074CE6
|
|
.align 2, 0
|
|
_08074CE0: .4byte 0x0000073A
|
|
_08074CE4:
|
|
ldr r0, _08074CF4 @ =0x00000736
|
|
_08074CE6:
|
|
strh r0, [r5, #8]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
movs r0, #5
|
|
bl sub_08050054
|
|
_08074CF2:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08074CF4: .4byte 0x00000736
|
|
|
|
thumb_func_start sub_08074CF8
|
|
sub_08074CF8: @ 0x08074CF8
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
ldrb r6, [r5, #0x14]
|
|
adds r4, r5, #0
|
|
adds r4, #0x84
|
|
ldr r1, [r4]
|
|
bl sub_0807DF74
|
|
ldr r1, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_08074D34
|
|
adds r0, r5, #0
|
|
adds r0, #0x82
|
|
ldrh r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074D20
|
|
strb r6, [r5, #0x14]
|
|
_08074D20:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r5, #0
|
|
bl sub_08003FC4
|
|
adds r0, r5, #0
|
|
bl sub_080042B8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074D34
|
|
sub_08074D34: @ 0x08074D34
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r0, [r6, #8]
|
|
cmp r0, #0
|
|
bne _08074D46
|
|
b _08074EF8
|
|
_08074D46:
|
|
movs r7, #0x80
|
|
lsls r7, r7, #1
|
|
adds r5, r4, #0
|
|
adds r5, #0x82
|
|
_08074D4E:
|
|
ldr r1, [r6, #8]
|
|
mvns r0, r1
|
|
adds r2, r0, #1
|
|
ands r2, r1
|
|
eors r1, r2
|
|
str r1, [r6, #8]
|
|
cmp r2, r7
|
|
bne _08074D60
|
|
b _08074E82
|
|
_08074D60:
|
|
cmp r2, r7
|
|
bhi _08074D90
|
|
cmp r2, #8
|
|
beq _08074E2C
|
|
cmp r2, #8
|
|
bhi _08074D7C
|
|
cmp r2, #2
|
|
beq _08074E08
|
|
cmp r2, #2
|
|
bls _08074D76
|
|
b _08074EF0
|
|
_08074D76:
|
|
cmp r2, #1
|
|
beq _08074DEC
|
|
b _08074EF0
|
|
_08074D7C:
|
|
cmp r2, #0x20
|
|
beq _08074E62
|
|
cmp r2, #0x20
|
|
bhi _08074D8A
|
|
cmp r2, #0x10
|
|
beq _08074E54
|
|
b _08074EF0
|
|
_08074D8A:
|
|
cmp r2, #0x80
|
|
beq _08074E70
|
|
b _08074EF0
|
|
_08074D90:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #7
|
|
cmp r2, r0
|
|
bne _08074D9A
|
|
b _08074EAE
|
|
_08074D9A:
|
|
cmp r2, r0
|
|
bhi _08074DBE
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
cmp r2, r0
|
|
beq _08074E96
|
|
cmp r2, r0
|
|
bhi _08074DB4
|
|
movs r0, #0x80
|
|
lsls r0, r0, #2
|
|
cmp r2, r0
|
|
beq _08074E90
|
|
b _08074EF0
|
|
_08074DB4:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #6
|
|
cmp r2, r0
|
|
beq _08074EA8
|
|
b _08074EF0
|
|
_08074DBE:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
cmp r2, r0
|
|
bne _08074DC8
|
|
b _08074EBE
|
|
_08074DC8:
|
|
cmp r2, r0
|
|
bhi _08074DD6
|
|
movs r0, #0x80
|
|
lsls r0, r0, #8
|
|
cmp r2, r0
|
|
beq _08074EB4
|
|
b _08074EF0
|
|
_08074DD6:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xd
|
|
cmp r2, r0
|
|
bne _08074DE0
|
|
b _08074ED8
|
|
_08074DE0:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xe
|
|
cmp r2, r0
|
|
bne _08074DEA
|
|
b _08074EE4
|
|
_08074DEA:
|
|
b _08074EF0
|
|
_08074DEC:
|
|
ldr r2, _08074E00 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074E04
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
strh r0, [r2, #8]
|
|
b _08074EF0
|
|
.align 2, 0
|
|
_08074E00: .4byte gUnk_03003F80
|
|
_08074E04:
|
|
strh r7, [r2, #8]
|
|
b _08074EF0
|
|
_08074E08:
|
|
ldr r2, _08074E1C @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074E24
|
|
ldr r0, _08074E20 @ =0x00000404
|
|
strh r0, [r2, #8]
|
|
b _08074EF0
|
|
.align 2, 0
|
|
_08074E1C: .4byte gUnk_03003F80
|
|
_08074E20: .4byte 0x00000404
|
|
_08074E24:
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
strh r0, [r2, #8]
|
|
b _08074EF0
|
|
_08074E2C:
|
|
ldr r1, _08074E3C @ =gUnk_03003F80
|
|
ldr r0, [r1, #0x30]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08074E44
|
|
ldr r0, _08074E40 @ =0x0000041C
|
|
b _08074E46
|
|
.align 2, 0
|
|
_08074E3C: .4byte gUnk_03003F80
|
|
_08074E40: .4byte 0x0000041C
|
|
_08074E44:
|
|
ldr r0, _08074E50 @ =0x0000080C
|
|
_08074E46:
|
|
strh r0, [r1, #8]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #9
|
|
str r0, [r4, #0x20]
|
|
b _08074EF0
|
|
.align 2, 0
|
|
_08074E50: .4byte 0x0000080C
|
|
_08074E54:
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
movs r2, #0x18
|
|
rsbs r2, r2, #0
|
|
bl sub_080A2CFC
|
|
b _08074EF0
|
|
_08074E62:
|
|
adds r0, r4, #0
|
|
movs r1, #8
|
|
movs r2, #0x18
|
|
rsbs r2, r2, #0
|
|
bl sub_080A2D0C
|
|
b _08074EF0
|
|
_08074E70:
|
|
ldrb r0, [r4, #0x18]
|
|
movs r2, #4
|
|
rsbs r2, r2, #0
|
|
adds r1, r2, #0
|
|
ands r0, r1
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
b _08074EF0
|
|
_08074E82:
|
|
ldrb r0, [r4, #0x18]
|
|
movs r3, #4
|
|
rsbs r3, r3, #0
|
|
adds r1, r3, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0x18]
|
|
b _08074EF0
|
|
_08074E90:
|
|
movs r0, #0
|
|
strh r0, [r5]
|
|
b _08074EF0
|
|
_08074E96:
|
|
ldrh r0, [r5]
|
|
ldr r2, _08074EA4 @ =0x0000FFFE
|
|
adds r1, r2, #0
|
|
ands r0, r1
|
|
strh r0, [r5]
|
|
b _08074EF0
|
|
.align 2, 0
|
|
_08074EA4: .4byte 0x0000FFFE
|
|
_08074EA8:
|
|
ldrh r0, [r5]
|
|
movs r1, #1
|
|
b _08074EB8
|
|
_08074EAE:
|
|
ldrh r0, [r5]
|
|
movs r1, #8
|
|
b _08074EB8
|
|
_08074EB4:
|
|
ldrh r0, [r5]
|
|
movs r1, #4
|
|
_08074EB8:
|
|
orrs r0, r1
|
|
strh r0, [r5]
|
|
b _08074EF0
|
|
_08074EBE:
|
|
ldrb r2, [r4, #0x18]
|
|
lsls r0, r2, #0x19
|
|
lsrs r0, r0, #0x1f
|
|
movs r1, #1
|
|
eors r0, r1
|
|
lsls r0, r0, #6
|
|
movs r3, #0x41
|
|
rsbs r3, r3, #0
|
|
adds r1, r3, #0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
strb r2, [r4, #0x18]
|
|
b _08074EF0
|
|
_08074ED8:
|
|
movs r1, #2
|
|
strb r1, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
b _08074EF0
|
|
_08074EE4:
|
|
movs r0, #0
|
|
movs r1, #3
|
|
strb r1, [r4, #0xd]
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
strb r0, [r1]
|
|
_08074EF0:
|
|
ldr r0, [r6, #8]
|
|
cmp r0, #0
|
|
beq _08074EF8
|
|
b _08074D4E
|
|
_08074EF8:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074F00
|
|
sub_08074F00: @ 0x08074F00
|
|
push {lr}
|
|
ldr r2, _08074F18 @ =gUnk_0811BC98
|
|
adds r1, r0, #0
|
|
adds r1, #0x68
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08074F18: .4byte gUnk_0811BC98
|
|
|
|
thumb_func_start sub_08074F1C
|
|
sub_08074F1C: @ 0x08074F1C
|
|
adds r2, r0, #0
|
|
adds r2, #0x68
|
|
movs r3, #0
|
|
movs r1, #1
|
|
strb r1, [r2]
|
|
strb r3, [r0, #0x14]
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08074F2C
|
|
sub_08074F2C: @ 0x08074F2C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r4, #0
|
|
adds r5, #0x84
|
|
ldr r1, [r5]
|
|
bl sub_0807DF74
|
|
ldr r1, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_08074D34
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08074F44
|
|
sub_08074F44: @ 0x08074F44
|
|
push {lr}
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r1, #1
|
|
strb r1, [r0]
|
|
ldr r0, _08074F74 @ =gLinkEntity
|
|
ldr r0, [r0, #0x6c]
|
|
cmp r0, #0
|
|
beq _08074F5A
|
|
bl sub_0805E7BC
|
|
_08074F5A:
|
|
ldr r2, _08074F78 @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08074F80
|
|
ldr r0, _08074F7C @ =0x0000073B
|
|
strh r0, [r2, #8]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
b _08074F84
|
|
.align 2, 0
|
|
_08074F74: .4byte gLinkEntity
|
|
_08074F78: .4byte gUnk_03003F80
|
|
_08074F7C: .4byte 0x0000073B
|
|
_08074F80:
|
|
ldr r0, _08074F88 @ =0x00000737
|
|
strh r0, [r2, #8]
|
|
_08074F84:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08074F88: .4byte 0x00000737
|
|
|
|
thumb_func_start sub_08074F8C
|
|
sub_08074F8C: @ 0x08074F8C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r3, r4, #0
|
|
adds r3, #0x5a
|
|
ldrb r0, [r3]
|
|
cmp r0, #1
|
|
bne _08074FAC
|
|
movs r0, #0
|
|
strb r0, [r3]
|
|
ldr r2, _08074FDC @ =gUnk_02033280
|
|
ldr r0, [r2]
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
str r0, [r2]
|
|
_08074FAC:
|
|
ldrb r1, [r3]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08074FEA
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
movs r0, #8
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
ldr r1, _08074FE0 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08074FE4
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
b _08074FE8
|
|
.align 2, 0
|
|
_08074FDC: .4byte gUnk_02033280
|
|
_08074FE0: .4byte gUnk_03003F80
|
|
_08074FE4:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
_08074FE8:
|
|
strh r0, [r1, #8]
|
|
_08074FEA:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08074FEC
|
|
sub_08074FEC: @ 0x08074FEC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08075016
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
movs r0, #4
|
|
strb r0, [r4, #0xe]
|
|
ldr r0, _08075018 @ =gUnk_03003F80
|
|
adds r0, #0x3a
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x14]
|
|
_08075016:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08075018: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807501C
|
|
sub_0807501C: @ 0x0807501C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08075086
|
|
ldr r1, _08075044 @ =gUnk_03003F80
|
|
adds r0, r1, #0
|
|
adds r0, #0x3a
|
|
ldrb r0, [r0]
|
|
strb r0, [r2, #0x14]
|
|
adds r0, r1, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0807504C
|
|
ldr r0, _08075048 @ =0x0000041C
|
|
b _0807504E
|
|
.align 2, 0
|
|
_08075044: .4byte gUnk_03003F80
|
|
_08075048: .4byte 0x0000041C
|
|
_0807504C:
|
|
ldr r0, _08075088 @ =0x0000080C
|
|
_0807504E:
|
|
strh r0, [r1, #8]
|
|
adds r3, r2, #0
|
|
adds r3, #0x29
|
|
ldrb r1, [r3]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
ldrb r0, [r2, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r2, #0x15]
|
|
movs r0, #0xc8
|
|
strh r0, [r2, #0x24]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r2, #0x20]
|
|
movs r0, #8
|
|
strb r0, [r2, #0xe]
|
|
adds r1, r2, #0
|
|
adds r1, #0x68
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
movs r0, #0x7c
|
|
bl sub_080A3268
|
|
_08075086:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08075088: .4byte 0x0000080C
|
|
|
|
thumb_func_start sub_0807508C
|
|
sub_0807508C: @ 0x0807508C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
movs r1, #0x80
|
|
lsls r1, r1, #6
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
cmp r0, #0
|
|
beq _080750AA
|
|
adds r0, r4, #0
|
|
bl sub_0806F69C
|
|
b _080750F2
|
|
_080750AA:
|
|
ldr r2, _080750BC @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080750C0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
b _080750CE
|
|
.align 2, 0
|
|
_080750BC: .4byte gUnk_03003F80
|
|
_080750C0:
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #9
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
_080750CE:
|
|
strh r0, [r2, #8]
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0
|
|
bne _080750F2
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
movs r0, #0x7d
|
|
bl sub_080A3268
|
|
_080750F2:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080750F4
|
|
sub_080750F4: @ 0x080750F4
|
|
push {lr}
|
|
ldr r2, _0807510C @ =gUnk_0811BCB4
|
|
adds r1, r0, #0
|
|
adds r1, #0x68
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807510C: .4byte gUnk_0811BCB4
|
|
|
|
thumb_func_start sub_08075110
|
|
sub_08075110: @ 0x08075110
|
|
adds r2, r0, #0
|
|
adds r2, #0x68
|
|
ldrb r1, [r2]
|
|
adds r1, #1
|
|
movs r3, #0
|
|
strb r1, [r2]
|
|
ldrb r1, [r0, #0x14]
|
|
strb r1, [r0, #0xf]
|
|
strb r3, [r0, #0x14]
|
|
ldr r2, _08075134 @ =gUnk_03003F80
|
|
ldr r0, _08075138 @ =0x00000734
|
|
strh r0, [r2, #8]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #9
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
bx lr
|
|
.align 2, 0
|
|
_08075134: .4byte gUnk_03003F80
|
|
_08075138: .4byte 0x00000734
|
|
|
|
thumb_func_start sub_0807513C
|
|
sub_0807513C: @ 0x0807513C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
bl sub_080042B8
|
|
adds r4, r5, #0
|
|
adds r4, #0x5a
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _08075158
|
|
movs r0, #0
|
|
strb r0, [r4]
|
|
movs r0, #0x7c
|
|
bl sub_080A3268
|
|
_08075158:
|
|
ldrb r0, [r4]
|
|
cmp r0, #2
|
|
bne _0807516E
|
|
movs r0, #0
|
|
strb r0, [r4]
|
|
ldr r0, _08075188 @ =0x0000014B
|
|
bl sub_080A3268
|
|
movs r0, #0x7a
|
|
bl sub_080A3268
|
|
_0807516E:
|
|
ldrb r1, [r4]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075186
|
|
adds r0, r5, #0
|
|
adds r0, #0x68
|
|
ldrb r1, [r0]
|
|
adds r1, #1
|
|
strb r1, [r0]
|
|
movs r0, #0x3c
|
|
strb r0, [r5, #0xe]
|
|
_08075186:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08075188: .4byte 0x0000014B
|
|
|
|
thumb_func_start sub_0807518C
|
|
sub_0807518C: @ 0x0807518C
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080751AA
|
|
adds r1, #0x68
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
ldr r1, _080751AC @ =gUnk_03003F80
|
|
ldr r0, _080751B0 @ =0x000003C9
|
|
strh r0, [r1, #8]
|
|
_080751AA:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080751AC: .4byte gUnk_03003F80
|
|
_080751B0: .4byte 0x000003C9
|
|
|
|
thumb_func_start sub_080751B4
|
|
sub_080751B4: @ 0x080751B4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
adds r0, #0x5a
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080751E2
|
|
movs r1, #0
|
|
movs r0, #4
|
|
strb r0, [r4, #0x14]
|
|
movs r0, #1
|
|
strb r0, [r4, #0xd]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
ldr r1, _080751E4 @ =gUnk_03003F80
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r1, #8]
|
|
_080751E2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080751E4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080751E8
|
|
sub_080751E8: @ 0x080751E8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
adds r5, r1, #0
|
|
adds r6, r2, #0
|
|
ldr r4, _08075230 @ =gUnk_02022750
|
|
adds r0, r4, #0
|
|
movs r1, #0x24
|
|
bl sub_0801D630
|
|
str r6, [r4]
|
|
ldr r0, _08075234 @ =gLinkEntity
|
|
adds r0, #0x84
|
|
str r4, [r0]
|
|
ldr r2, _08075238 @ =gUnk_03003F80
|
|
movs r1, #0
|
|
movs r0, #0x1c
|
|
strb r0, [r2, #0xc]
|
|
adds r0, r2, #0
|
|
adds r0, #0x38
|
|
movs r4, #1
|
|
strb r4, [r0]
|
|
adds r3, r2, #0
|
|
adds r3, #0x39
|
|
strb r1, [r3]
|
|
adds r0, #2
|
|
strb r5, [r0]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
str r0, [r2, #0x30]
|
|
cmp r7, #0
|
|
bne _08075240
|
|
strb r7, [r3]
|
|
ldr r6, _0807523C @ =gUnk_08009ECC
|
|
b _08075244
|
|
.align 2, 0
|
|
_08075230: .4byte gUnk_02022750
|
|
_08075234: .4byte gLinkEntity
|
|
_08075238: .4byte gUnk_03003F80
|
|
_0807523C: .4byte gUnk_08009ECC
|
|
_08075240:
|
|
strb r4, [r3]
|
|
ldr r6, _08075290 @ =gUnk_08009EF0
|
|
_08075244:
|
|
ldr r0, _08075294 @ =gUnk_03003F80
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
movs r1, #0
|
|
cmp r0, #0
|
|
bne _08075252
|
|
movs r1, #2
|
|
_08075252:
|
|
movs r0, #0x5b
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08075270
|
|
ldr r0, _08075298 @ =gLinkEntity
|
|
adds r1, r4, #0
|
|
bl sub_0806FA24
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_0807DAD0
|
|
_08075270:
|
|
ldr r4, _08075298 @ =gLinkEntity
|
|
movs r1, #0xe
|
|
rsbs r1, r1, #0
|
|
movs r2, #0x1c
|
|
rsbs r2, r2, #0
|
|
adds r0, r4, #0
|
|
bl sub_080A2D1C
|
|
str r0, [r4, #0x6c]
|
|
cmp r0, #0
|
|
beq _0807528C
|
|
movs r1, #3
|
|
bl sub_0805E3A0
|
|
_0807528C:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08075290: .4byte gUnk_08009EF0
|
|
_08075294: .4byte gUnk_03003F80
|
|
_08075298: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807529C
|
|
sub_0807529C: @ 0x0807529C
|
|
push {lr}
|
|
movs r2, #0x20
|
|
rsbs r2, r2, #0
|
|
movs r1, #8
|
|
bl sub_080A2D0C
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080752AC
|
|
sub_080752AC: @ 0x080752AC
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
bl sub_0806F69C
|
|
ldrb r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _080752D0
|
|
adds r0, r5, #0
|
|
bl sub_080002B8
|
|
cmp r0, #0x29
|
|
beq _080752DC
|
|
movs r0, #1
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #6
|
|
strb r0, [r4, #0x19]
|
|
b _080752DC
|
|
_080752D0:
|
|
ldrb r0, [r4, #0x19]
|
|
subs r0, #1
|
|
strb r0, [r4, #0x19]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080752E2
|
|
_080752DC:
|
|
ldr r1, _080752E4 @ =gUnk_02033280
|
|
movs r0, #0
|
|
strb r0, [r1, #6]
|
|
_080752E2:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080752E4: .4byte gUnk_02033280
|
|
|
|
thumb_func_start sub_080752E8
|
|
sub_080752E8: @ 0x080752E8
|
|
push {lr}
|
|
ldr r3, _080752FC @ =gUnk_0811BCC4
|
|
ldrb r2, [r0, #1]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080752FC: .4byte gUnk_0811BCC4
|
|
|
|
thumb_func_start sub_08075300
|
|
sub_08075300: @ 0x08075300
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077BD4
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08075314
|
|
sub_08075314: @ 0x08075314
|
|
push {lr}
|
|
ldr r2, _08075330 @ =gUnk_03003F80
|
|
adds r2, #0xa8
|
|
movs r3, #2
|
|
strb r3, [r2]
|
|
ldr r3, _08075334 @ =gUnk_0811BD44
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08075330: .4byte gUnk_03003F80
|
|
_08075334: .4byte gUnk_0811BD44
|
|
|
|
thumb_func_start sub_08075338
|
|
sub_08075338: @ 0x08075338
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r7, r1, #0
|
|
ldr r4, _0807536C @ =gUnk_03003F80
|
|
ldr r1, [r4, #0x30]
|
|
movs r3, #0x80
|
|
adds r0, r1, #0
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _08075370
|
|
ldrb r0, [r5, #9]
|
|
movs r1, #0x80
|
|
orrs r1, r0
|
|
strb r1, [r5, #9]
|
|
adds r0, r5, #0
|
|
adds r1, r7, #0
|
|
bl sub_08077D38
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #4
|
|
strh r0, [r4, #8]
|
|
movs r0, #0x75
|
|
bl sub_080A3268
|
|
b _080754B4
|
|
.align 2, 0
|
|
_0807536C: .4byte gUnk_03003F80
|
|
_08075370:
|
|
ldrb r2, [r4, #2]
|
|
cmp r2, #0
|
|
beq _080753DC
|
|
movs r6, #7
|
|
adds r0, r6, #0
|
|
ands r0, r2
|
|
cmp r0, #3
|
|
beq _080753E4
|
|
movs r0, #0x78
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _080753E4
|
|
ldr r3, _080753D4 @ =gLinkEntity
|
|
ldr r1, [r3, #0x20]
|
|
ldr r0, _080753D8 @ =0x00017FFF
|
|
cmp r1, r0
|
|
bhi _080753E4
|
|
adds r0, r4, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080753E4
|
|
ldr r0, [r3, #0x34]
|
|
cmp r0, #0
|
|
beq _080753E4
|
|
movs r0, #0x20
|
|
orrs r0, r2
|
|
strb r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
adds r0, #0xab
|
|
strb r6, [r0]
|
|
movs r0, #8
|
|
asrs r0, r7
|
|
lsls r1, r0, #4
|
|
orrs r0, r1
|
|
ldrb r1, [r4, #4]
|
|
orrs r0, r1
|
|
strb r0, [r4, #4]
|
|
adds r0, r5, #0
|
|
bl sub_08077B98
|
|
movs r0, #6
|
|
strb r0, [r5, #4]
|
|
adds r0, r5, #0
|
|
adds r1, r7, #0
|
|
bl sub_08075898
|
|
b _080754B4
|
|
.align 2, 0
|
|
_080753D4: .4byte gLinkEntity
|
|
_080753D8: .4byte 0x00017FFF
|
|
_080753DC:
|
|
ldr r2, _080753F0 @ =gLinkEntity
|
|
ldr r0, [r2, #0x34]
|
|
cmp r0, #0
|
|
beq _080753F4
|
|
_080753E4:
|
|
adds r0, r5, #0
|
|
adds r1, r7, #0
|
|
bl sub_080759B8
|
|
b _080754B4
|
|
.align 2, 0
|
|
_080753F0: .4byte gLinkEntity
|
|
_080753F4:
|
|
movs r6, #0x80
|
|
lsls r6, r6, #0xb
|
|
ands r6, r1
|
|
cmp r6, #0
|
|
beq _08075480
|
|
adds r0, r4, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
lsls r0, r0, #0x10
|
|
lsrs r6, r0, #0x10
|
|
cmp r6, #0
|
|
bne _0807541E
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _080754B4
|
|
bl sub_0805E7BC
|
|
str r6, [r4, #0x2c]
|
|
b _080754B4
|
|
_0807541E:
|
|
adds r0, r5, #0
|
|
adds r1, r7, #0
|
|
bl sub_08077D38
|
|
adds r0, r5, #0
|
|
bl sub_08077B98
|
|
movs r3, #8
|
|
adds r1, r3, #0
|
|
asrs r1, r7
|
|
lsls r0, r1, #4
|
|
orrs r0, r1
|
|
ldrb r2, [r4, #4]
|
|
orrs r0, r2
|
|
strb r0, [r4, #4]
|
|
ldrb r2, [r4, #0xa]
|
|
adds r0, r1, #0
|
|
orrs r0, r2
|
|
strb r0, [r4, #0xa]
|
|
ldrb r0, [r4, #0xb]
|
|
orrs r1, r0
|
|
strb r1, [r4, #0xb]
|
|
strb r3, [r5, #4]
|
|
movs r0, #0x14
|
|
strb r0, [r5, #7]
|
|
movs r0, #6
|
|
strb r0, [r5, #0xf]
|
|
ldrb r1, [r5, #9]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r5, #9]
|
|
adds r1, r4, #0
|
|
adds r1, #0xab
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x14
|
|
orrs r0, r1
|
|
str r0, [r4, #0x30]
|
|
movs r1, #0x98
|
|
lsls r1, r1, #1
|
|
adds r0, r5, #0
|
|
bl sub_08077DF4
|
|
movs r0, #0x77
|
|
bl sub_080A3268
|
|
b _080754B4
|
|
_08075480:
|
|
ldrb r1, [r4, #0x1b]
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075492
|
|
strb r6, [r4, #0x1b]
|
|
adds r0, r2, #0
|
|
bl sub_0806F948
|
|
_08075492:
|
|
ldr r1, [r4, #0x2c]
|
|
cmp r1, #0
|
|
beq _080754A6
|
|
ldrb r0, [r1, #9]
|
|
cmp r0, #1
|
|
beq _080754A6
|
|
adds r0, r1, #0
|
|
bl sub_0805E7BC
|
|
str r6, [r4, #0x2c]
|
|
_080754A6:
|
|
adds r0, r5, #0
|
|
adds r1, r7, #0
|
|
bl sub_08077D38
|
|
adds r0, r5, #0
|
|
bl sub_08077B98
|
|
_080754B4:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080754B8
|
|
sub_080754B8: @ 0x080754B8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r7, _080754D4 @ =gUnk_03003F80
|
|
ldrb r1, [r7, #0x1b]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080754D8
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08075694
|
|
b _0807557E
|
|
.align 2, 0
|
|
_080754D4: .4byte gUnk_03003F80
|
|
_080754D8:
|
|
ldrb r0, [r7, #4]
|
|
cmp r0, #0
|
|
beq _08075576
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _080754F2
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #9]
|
|
_080754F2:
|
|
ldr r0, _0807552C @ =gLinkEntity
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075538
|
|
bl sub_0807B014
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _08075538
|
|
movs r0, #8
|
|
movs r1, #0xf
|
|
movs r2, #2
|
|
bl sub_0805EB00
|
|
cmp r0, #0
|
|
bne _08075538
|
|
adds r0, r4, #0
|
|
movs r1, #0xf
|
|
bl sub_08077C3C
|
|
cmp r5, #0xf
|
|
bne _08075530
|
|
adds r1, r7, #0
|
|
adds r1, #0xab
|
|
movs r0, #5
|
|
b _08075536
|
|
.align 2, 0
|
|
_0807552C: .4byte gLinkEntity
|
|
_08075530:
|
|
adds r1, r7, #0
|
|
adds r1, #0xab
|
|
movs r0, #8
|
|
_08075536:
|
|
strb r0, [r1]
|
|
_08075538:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r2, #0x80
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807557E
|
|
ldr r1, _08075568 @ =gUnk_03003F80
|
|
ldr r0, [r1, #0x30]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _0807555C
|
|
adds r0, r1, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807556C
|
|
_0807555C:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_080759B8
|
|
b _0807557E
|
|
.align 2, 0
|
|
_08075568: .4byte gUnk_03003F80
|
|
_0807556C:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08075580
|
|
b _0807557E
|
|
_08075576:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_080759B8
|
|
_0807557E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08075580
|
|
sub_08075580: @ 0x08075580
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _080755E6
|
|
ldr r2, _080755C8 @ =gUnk_03003F80
|
|
ldrb r3, [r2, #2]
|
|
cmp r3, #0
|
|
bne _080755E6
|
|
movs r1, #8
|
|
asrs r1, r5
|
|
ldrb r0, [r2, #0xa]
|
|
bics r0, r1
|
|
strb r0, [r2, #0xa]
|
|
movs r0, #1
|
|
strb r0, [r2, #0x1b]
|
|
ldr r0, [r2, #0x2c]
|
|
adds r0, #0x40
|
|
movs r1, #0xd
|
|
strb r1, [r0]
|
|
strb r3, [r4, #0xf]
|
|
movs r0, #2
|
|
strb r0, [r4, #4]
|
|
adds r0, r2, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080755CC
|
|
movs r0, #0x28
|
|
b _080755CE
|
|
.align 2, 0
|
|
_080755C8: .4byte gUnk_03003F80
|
|
_080755CC:
|
|
movs r0, #0x50
|
|
_080755CE:
|
|
strb r0, [r4, #7]
|
|
movs r1, #0xb4
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
movs r0, #0x43
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
b _080755EE
|
|
_080755E6:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_080759B8
|
|
_080755EE:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_080755F0
|
|
sub_080755F0: @ 0x080755F0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _08075642
|
|
adds r0, r4, #0
|
|
bl sub_08077EC8
|
|
cmp r0, #0
|
|
bne _0807564A
|
|
ldr r2, _08075634 @ =gUnk_03003F80
|
|
ldrb r3, [r2, #0x1b]
|
|
ldrb r0, [r2, #4]
|
|
orrs r0, r3
|
|
cmp r0, #0
|
|
beq _08075638
|
|
ldrb r0, [r4, #7]
|
|
subs r0, #1
|
|
strb r0, [r4, #7]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0807564A
|
|
movs r0, #3
|
|
strb r0, [r4, #4]
|
|
ldrb r0, [r4, #9]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #9]
|
|
movs r0, #0x20
|
|
orrs r0, r3
|
|
strb r0, [r2, #0x1b]
|
|
b _0807564A
|
|
.align 2, 0
|
|
_08075634: .4byte gUnk_03003F80
|
|
_08075638:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_080759B8
|
|
b _0807564A
|
|
_08075642:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_080759B8
|
|
_0807564A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0807564C
|
|
sub_0807564C: @ 0x0807564C
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r5, _08075668 @ =gUnk_03003F80
|
|
ldrb r1, [r5, #0x1b]
|
|
ldrb r0, [r5, #4]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _0807566C
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_080759B8
|
|
b _08075692
|
|
.align 2, 0
|
|
_08075668: .4byte gUnk_03003F80
|
|
_0807566C:
|
|
adds r0, r4, #0
|
|
bl sub_08077EC8
|
|
cmp r0, #0
|
|
bne _08075692
|
|
adds r0, r4, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _0807568A
|
|
ldrb r1, [r5, #0x1b]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075692
|
|
_0807568A:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08075694
|
|
_08075692:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08075694
|
|
sub_08075694: @ 0x08075694
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
movs r3, #1
|
|
strb r3, [r4, #7]
|
|
ldr r2, _080756C4 @ =gUnk_03003F80
|
|
ldr r1, [r2, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x14
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080756D0
|
|
ldr r0, _080756C8 @ =0xF7FFFFFF
|
|
ands r1, r0
|
|
ldr r0, _080756CC @ =0xFFFBFFFF
|
|
ands r1, r0
|
|
str r1, [r2, #0x30]
|
|
movs r1, #0x96
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _080756E0
|
|
.align 2, 0
|
|
_080756C4: .4byte gUnk_03003F80
|
|
_080756C8: .4byte 0xF7FFFFFF
|
|
_080756CC: .4byte 0xFFFBFFFF
|
|
_080756D0:
|
|
adds r0, r2, #0
|
|
adds r0, #0xab
|
|
strb r3, [r0]
|
|
movs r1, #0x92
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_080756E0:
|
|
ldr r2, _08075730 @ =gUnk_03003F80
|
|
movs r0, #8
|
|
asrs r0, r5
|
|
ldrb r1, [r2, #0xa]
|
|
orrs r0, r1
|
|
strb r0, [r2, #0xa]
|
|
movs r0, #4
|
|
strb r0, [r4, #4]
|
|
movs r0, #6
|
|
strb r0, [r4, #0xf]
|
|
ldr r0, _08075734 @ =gLinkEntity
|
|
adds r0, #0x40
|
|
movs r1, #0x1e
|
|
strb r1, [r0]
|
|
ldrb r1, [r2, #0x1b]
|
|
movs r0, #0x40
|
|
orrs r0, r1
|
|
movs r1, #0xdf
|
|
ands r0, r1
|
|
strb r0, [r2, #0x1b]
|
|
adds r3, r2, #0
|
|
adds r3, #0xa0
|
|
ldrb r0, [r3]
|
|
cmp r0, #4
|
|
bne _08075726
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075726
|
|
movs r0, #1
|
|
strb r0, [r3]
|
|
bl sub_0807A108
|
|
_08075726:
|
|
movs r0, #0x76
|
|
bl sub_080A3268
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08075730: .4byte gUnk_03003F80
|
|
_08075734: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08075738
|
|
sub_08075738: @ 0x08075738
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r5, _08075750 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #4]
|
|
cmp r0, #0
|
|
bne _08075754
|
|
adds r0, r4, #0
|
|
bl sub_080759B8
|
|
b _0807588C
|
|
.align 2, 0
|
|
_08075750: .4byte gUnk_03003F80
|
|
_08075754:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
adds r0, r4, #0
|
|
bl sub_08077F10
|
|
cmp r0, #0
|
|
beq _08075768
|
|
movs r0, #2
|
|
strb r0, [r4, #7]
|
|
_08075768:
|
|
ldrb r2, [r5, #0x1b]
|
|
movs r0, #0x10
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _080757D4
|
|
ldrb r1, [r5, #0xd]
|
|
movs r2, #0x80
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075780
|
|
strb r1, [r4, #0xb]
|
|
_08075780:
|
|
ldr r1, _080757D0 @ =gLinkEntity
|
|
ldrb r0, [r4, #0xb]
|
|
strb r0, [r1, #0x15]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #1
|
|
strh r0, [r1, #0x24]
|
|
ldrb r1, [r4, #0xe]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807588C
|
|
movs r2, #0xa
|
|
adds r0, r5, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080757AA
|
|
movs r2, #0xf
|
|
_080757AA:
|
|
ldrb r0, [r4, #8]
|
|
adds r0, #1
|
|
strb r0, [r4, #8]
|
|
movs r1, #0xff
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r2, r0
|
|
bls _080757C6
|
|
ldrb r0, [r4, #7]
|
|
subs r0, #1
|
|
strb r0, [r4, #7]
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807588C
|
|
_080757C6:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_080759B8
|
|
b _0807588C
|
|
.align 2, 0
|
|
_080757D0: .4byte gLinkEntity
|
|
_080757D4:
|
|
ldr r7, _08075890 @ =gLinkEntity
|
|
adds r0, r7, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075816
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08075816
|
|
adds r0, r5, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075816
|
|
adds r0, r4, #0
|
|
movs r1, #0x14
|
|
bl sub_08077C3C
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08075816
|
|
ldrb r0, [r7, #0x14]
|
|
movs r1, #6
|
|
ands r1, r0
|
|
movs r0, #0x80
|
|
orrs r1, r0
|
|
strb r1, [r2, #0x14]
|
|
_08075816:
|
|
ldr r5, _08075890 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
adds r0, #0x5b
|
|
ldrb r1, [r0]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807587A
|
|
ldr r2, _08075894 @ =gUnk_03003F80
|
|
ldrb r3, [r2, #0x1b]
|
|
movs r0, #0x80
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
bne _0807587A
|
|
adds r0, r2, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807587A
|
|
ldrb r0, [r4, #7]
|
|
subs r0, #1
|
|
strb r0, [r4, #7]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0807587A
|
|
movs r0, #0x10
|
|
orrs r0, r3
|
|
strb r0, [r2, #0x1b]
|
|
adds r1, r2, #0
|
|
adds r1, #0xab
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
ldrb r0, [r5, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r4, #0xb]
|
|
movs r0, #1
|
|
strb r0, [r4, #7]
|
|
strb r0, [r4, #8]
|
|
movs r1, #8
|
|
asrs r1, r6
|
|
ldrb r0, [r2, #0xa]
|
|
bics r0, r1
|
|
strb r0, [r2, #0xa]
|
|
movs r1, #0x94
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_0807587A:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807588C
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_080759B8
|
|
_0807588C:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08075890: .4byte gLinkEntity
|
|
_08075894: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08075898
|
|
sub_08075898: @ 0x08075898
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080758AC @ =gUnk_03003F80
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0
|
|
bne _080758AA
|
|
adds r0, r2, #0
|
|
bl sub_080759B8
|
|
_080758AA:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080758AC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080758B0
|
|
sub_080758B0: @ 0x080758B0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _080758C4 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #4]
|
|
cmp r0, #0
|
|
bne _080758C8
|
|
adds r0, r4, #0
|
|
bl sub_080759B8
|
|
b _080758F8
|
|
.align 2, 0
|
|
_080758C4: .4byte gUnk_03003F80
|
|
_080758C8:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080758F8
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
ldrb r1, [r5, #0x1b]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080758EA
|
|
movs r0, #3
|
|
b _080758EC
|
|
_080758EA:
|
|
movs r0, #5
|
|
_080758EC:
|
|
strb r0, [r4, #4]
|
|
ldr r2, _080758FC @ =gUnk_03003F80
|
|
ldrb r1, [r2, #0x1b]
|
|
movs r0, #0xf7
|
|
ands r0, r1
|
|
strb r0, [r2, #0x1b]
|
|
_080758F8:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080758FC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08075900
|
|
sub_08075900: @ 0x08075900
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r5, _08075920 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #0x12]
|
|
cmp r0, #0x11
|
|
bne _08075928
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _08075924 @ =0xFFFBFFFF
|
|
ands r0, r1
|
|
str r0, [r5, #0x30]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_080759B8
|
|
b _080759B2
|
|
.align 2, 0
|
|
_08075920: .4byte gUnk_03003F80
|
|
_08075924: .4byte 0xFFFBFFFF
|
|
_08075928:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r5, #0x1b]
|
|
movs r2, #0x80
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075948
|
|
movs r0, #0xa0
|
|
strb r0, [r5, #0x1b]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_0807564C
|
|
b _080759B2
|
|
_08075948:
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0
|
|
beq _08075998
|
|
subs r0, #1
|
|
strb r0, [r4, #7]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08075962
|
|
movs r1, #0x9a
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_08075962:
|
|
ldr r4, _08075990 @ =gLinkEntity
|
|
ldrb r0, [r4, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #3
|
|
strb r0, [r4, #0x15]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #2
|
|
strh r0, [r4, #0x24]
|
|
bl sub_08079E08
|
|
ldr r0, _08075994 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080759B2
|
|
adds r0, r4, #0
|
|
movs r1, #0x11
|
|
movs r2, #0x40
|
|
bl CreateFX
|
|
b _080759B2
|
|
.align 2, 0
|
|
_08075990: .4byte gLinkEntity
|
|
_08075994: .4byte gUnk_030010A0
|
|
_08075998:
|
|
ldrb r1, [r4, #0xe]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080759B2
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _080759B4 @ =0xFFFBFFFF
|
|
ands r0, r1
|
|
str r0, [r5, #0x30]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_080759B8
|
|
_080759B2:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080759B4: .4byte 0xFFFBFFFF
|
|
|
|
thumb_func_start sub_080759B8
|
|
sub_080759B8: @ 0x080759B8
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
adds r4, r1, #0
|
|
ldr r2, _080759E8 @ =gUnk_03003F80
|
|
ldr r1, [r2, #0x30]
|
|
movs r0, #0x80
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _080759D0
|
|
ldr r0, _080759EC @ =gLinkEntity
|
|
adds r0, #0x40
|
|
strb r1, [r0]
|
|
_080759D0:
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _080759F0 @ =0xF7FFFFFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r0, #0
|
|
strb r0, [r2, #0x1b]
|
|
str r0, [r2, #0x2c]
|
|
adds r0, r3, #0
|
|
adds r1, r4, #0
|
|
bl sub_08077E78
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080759E8: .4byte gUnk_03003F80
|
|
_080759EC: .4byte gLinkEntity
|
|
_080759F0: .4byte 0xF7FFFFFF
|
|
|
|
thumb_func_start sub_080759F4
|
|
sub_080759F4: @ 0x080759F4
|
|
push {lr}
|
|
ldr r3, _08075A08 @ =gUnk_0811BD68
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08075A08: .4byte gUnk_0811BD68
|
|
|
|
thumb_func_start sub_08075A0C
|
|
sub_08075A0C: @ 0x08075A0C
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r4, #1]
|
|
bl sub_0805436C
|
|
adds r6, r0, #0
|
|
ldr r1, _08075A64 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #5]
|
|
cmp r0, #0
|
|
bne _08075A3E
|
|
ldrb r0, [r1, #0xc]
|
|
cmp r0, #0x18
|
|
beq _08075A3E
|
|
ldrb r0, [r1, #2]
|
|
cmp r0, #0
|
|
bne _08075A3E
|
|
ldr r0, [r1, #0x2c]
|
|
cmp r0, #0
|
|
bne _08075A3E
|
|
ldr r0, [r1, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075A6C
|
|
_08075A3E:
|
|
movs r0, #0xf
|
|
adds r1, r6, #0
|
|
bl sub_08054414
|
|
ldr r0, _08075A64 @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x30]
|
|
ldr r2, _08075A68 @ =0xFF7FFFFF
|
|
ands r1, r2
|
|
str r1, [r0, #0x30]
|
|
movs r0, #0xf
|
|
adds r1, r6, #0
|
|
bl sub_08054414
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
b _08075AD0
|
|
.align 2, 0
|
|
_08075A64: .4byte gUnk_03003F80
|
|
_08075A68: .4byte 0xFF7FFFFF
|
|
_08075A6C:
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #9]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077D38
|
|
adds r0, r4, #0
|
|
bl sub_08077BD4
|
|
ldr r5, _08075AD4 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
bl sub_0806F948
|
|
movs r0, #0x10
|
|
strb r0, [r4, #1]
|
|
adds r1, r6, #0
|
|
bl sub_08054414
|
|
ldrb r1, [r5, #0x14]
|
|
movs r0, #6
|
|
ands r0, r1
|
|
ldr r1, _08075AD8 @ =gUnk_08126EEC
|
|
adds r4, r0, r1
|
|
adds r0, r5, #0
|
|
movs r1, #0x45
|
|
movs r2, #1
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08075AD0
|
|
adds r0, r5, #0
|
|
adds r0, #0x60
|
|
ldrh r1, [r0]
|
|
adds r0, r2, #0
|
|
adds r0, #0x60
|
|
strh r1, [r0]
|
|
movs r0, #0
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r1, [r2, #0x2e]
|
|
adds r0, r0, r1
|
|
strh r0, [r2, #0x2e]
|
|
movs r0, #1
|
|
ldrsb r0, [r4, r0]
|
|
ldrh r1, [r2, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r2, #0x32]
|
|
_08075AD0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08075AD4: .4byte gLinkEntity
|
|
_08075AD8: .4byte gUnk_08126EEC
|
|
|
|
thumb_func_start sub_08075ADC
|
|
sub_08075ADC: @ 0x08075ADC
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r2, _08075B44 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x2c]
|
|
cmp r0, #0
|
|
bne _08075B08
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075B08
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x88
|
|
lsls r1, r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075B08
|
|
bl sub_08079D48
|
|
cmp r0, #0
|
|
bne _08075B4C
|
|
_08075B08:
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
ldrb r0, [r4, #4]
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
ldr r3, _08075B44 @ =gUnk_03003F80
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x10
|
|
orrs r0, r1
|
|
str r0, [r3, #0x30]
|
|
movs r2, #8
|
|
asrs r2, r5
|
|
lsls r1, r2, #4
|
|
orrs r1, r2
|
|
ldrb r0, [r3, #4]
|
|
bics r0, r1
|
|
strb r0, [r3, #4]
|
|
mvns r2, r2
|
|
ldrb r1, [r3, #0xa]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
strb r0, [r3, #0xa]
|
|
ldrb r0, [r3, #0xb]
|
|
ands r2, r0
|
|
strb r2, [r3, #0xb]
|
|
ldr r0, _08075B48 @ =0x0000013D
|
|
bl sub_080A3268
|
|
b _08075B52
|
|
.align 2, 0
|
|
_08075B44: .4byte gUnk_03003F80
|
|
_08075B48: .4byte 0x0000013D
|
|
_08075B4C:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
_08075B52:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08075B54
|
|
sub_08075B54: @ 0x08075B54
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r6, r0, #0
|
|
mov sb, r1
|
|
ldr r5, _08075BB0 @ =gUnk_03003F80
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x88
|
|
lsls r1, r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075B70
|
|
b _08075C80
|
|
_08075B70:
|
|
ldrb r0, [r6, #1]
|
|
bl sub_0805436C
|
|
adds r4, r0, #0
|
|
adds r0, r6, #0
|
|
bl sub_08077F10
|
|
cmp r0, #0
|
|
bne _08075B86
|
|
cmp r4, #1
|
|
bls _08075BB8
|
|
_08075B86:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
bne _08075BB8
|
|
movs r0, #0xf
|
|
adds r1, r4, #0
|
|
bl sub_08054414
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _08075BB4 @ =0xFF7FFFFF
|
|
ands r0, r1
|
|
str r0, [r5, #0x30]
|
|
adds r0, r6, #0
|
|
mov r1, sb
|
|
bl sub_08077E78
|
|
movs r0, #0x9f
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
b _08075C80
|
|
.align 2, 0
|
|
_08075BB0: .4byte gUnk_03003F80
|
|
_08075BB4: .4byte 0xFF7FFFFF
|
|
_08075BB8:
|
|
ldr r0, _08075C88 @ =gUnk_03003F80
|
|
mov r8, r0
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0x18
|
|
beq _08075C80
|
|
ldr r5, _08075C8C @ =gLinkEntity
|
|
ldrb r0, [r5, #0x1e]
|
|
cmp r0, #0x36
|
|
bhi _08075C80
|
|
ldrh r1, [r5, #0x12]
|
|
cmp r1, #6
|
|
bne _08075C80
|
|
ldrb r0, [r5, #0x14]
|
|
ands r1, r0
|
|
ldr r0, _08075C90 @ =gUnk_08126EEC
|
|
adds r7, r1, r0
|
|
mov r1, r8
|
|
ldrb r0, [r1, #2]
|
|
cmp r0, #0
|
|
bne _08075C80
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r5, r2]
|
|
movs r1, #0
|
|
ldrsb r1, [r7, r1]
|
|
adds r0, r0, r1
|
|
ldr r4, _08075C94 @ =gUnk_03000BF0
|
|
ldrh r1, [r4, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
movs r2, #0x32
|
|
ldrsh r1, [r5, r2]
|
|
movs r2, #1
|
|
ldrsb r2, [r7, r2]
|
|
adds r1, r1, r2
|
|
ldrh r2, [r4, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
adds r1, r5, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
movs r2, #0x40
|
|
bl sub_080002F0
|
|
cmp r0, #0
|
|
beq _08075C80
|
|
movs r0, #0xf
|
|
strb r0, [r6, #0xf]
|
|
ldrb r0, [r6, #4]
|
|
adds r0, #1
|
|
strb r0, [r6, #4]
|
|
adds r1, r5, #0
|
|
adds r1, #0x7a
|
|
movs r0, #2
|
|
strh r0, [r1]
|
|
adds r0, r5, #0
|
|
movs r1, #0x45
|
|
movs r2, #1
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
beq _08075C60
|
|
adds r0, r5, #0
|
|
adds r0, #0x60
|
|
ldrh r1, [r0]
|
|
adds r0, r2, #0
|
|
adds r0, #0x60
|
|
strh r1, [r0]
|
|
movs r0, #0
|
|
ldrsb r0, [r7, r0]
|
|
ldrh r1, [r2, #0x2e]
|
|
adds r0, r0, r1
|
|
strh r0, [r2, #0x2e]
|
|
movs r0, #1
|
|
ldrsb r0, [r7, r0]
|
|
ldrh r1, [r2, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r2, #0x32]
|
|
_08075C60:
|
|
ldr r1, _08075C98 @ =0x0000060C
|
|
adds r0, r6, #0
|
|
bl sub_08077DF4
|
|
movs r1, #8
|
|
mov r2, sb
|
|
asrs r1, r2
|
|
mov r0, r8
|
|
ldrb r2, [r0, #0xa]
|
|
adds r0, r1, #0
|
|
orrs r0, r2
|
|
mov r2, r8
|
|
strb r0, [r2, #0xa]
|
|
ldrb r0, [r2, #0xb]
|
|
orrs r1, r0
|
|
strb r1, [r2, #0xb]
|
|
_08075C80:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08075C88: .4byte gUnk_03003F80
|
|
_08075C8C: .4byte gLinkEntity
|
|
_08075C90: .4byte gUnk_08126EEC
|
|
_08075C94: .4byte gUnk_03000BF0
|
|
_08075C98: .4byte 0x0000060C
|
|
|
|
thumb_func_start sub_08075C9C
|
|
sub_08075C9C: @ 0x08075C9C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075CCA
|
|
ldr r0, _08075CF8 @ =gLinkEntity
|
|
ldrb r1, [r0, #0x14]
|
|
movs r2, #6
|
|
ands r2, r1
|
|
ldr r1, _08075CFC @ =gUnk_08126EEC
|
|
adds r2, r2, r1
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
ldrb r2, [r2, #1]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
bl sub_0807AB44
|
|
_08075CCA:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075D04
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
ldrb r0, [r4, #4]
|
|
subs r0, #1
|
|
strb r0, [r4, #4]
|
|
ldr r2, _08075D00 @ =gUnk_03003F80
|
|
movs r1, #8
|
|
asrs r1, r5
|
|
mvns r1, r1
|
|
ldrb r3, [r2, #0xa]
|
|
adds r0, r1, #0
|
|
ands r0, r3
|
|
strb r0, [r2, #0xa]
|
|
ldrb r0, [r2, #0xb]
|
|
ands r1, r0
|
|
strb r1, [r2, #0xb]
|
|
b _08075D0E
|
|
.align 2, 0
|
|
_08075CF8: .4byte gLinkEntity
|
|
_08075CFC: .4byte gUnk_08126EEC
|
|
_08075D00: .4byte gUnk_03003F80
|
|
_08075D04:
|
|
ldr r1, _08075D10 @ =gLinkEntity
|
|
adds r1, #0x7a
|
|
ldrh r0, [r1]
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
_08075D0E:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08075D10: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08075D14
|
|
sub_08075D14: @ 0x08075D14
|
|
push {lr}
|
|
ldr r3, _08075D28 @ =gUnk_0811BD78
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08075D28: .4byte gUnk_0811BD78
|
|
|
|
thumb_func_start sub_08075D2C
|
|
sub_08075D2C: @ 0x08075D2C
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r5, _08075D74 @ =gUnk_03003F80
|
|
ldrb r1, [r5, #4]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075D7C
|
|
ldrb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
bl sub_08077C94
|
|
cmp r0, #0
|
|
bne _08075D7C
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0xf
|
|
orrs r0, r1
|
|
strb r0, [r4, #9]
|
|
ldr r0, _08075D78 @ =gLinkEntity
|
|
bl sub_0806F948
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
bl sub_08077C0C
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077D38
|
|
ldrb r1, [r5, #4]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r5, #4]
|
|
b _08075D84
|
|
.align 2, 0
|
|
_08075D74: .4byte gUnk_03003F80
|
|
_08075D78: .4byte gLinkEntity
|
|
_08075D7C:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
_08075D84:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08075D88
|
|
sub_08075D88: @ 0x08075D88
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r2, _08075DBC @ =gUnk_03003F80
|
|
ldrb r1, [r2, #4]
|
|
movs r3, #0x80
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075DD0
|
|
ldrb r0, [r4, #1]
|
|
cmp r0, #0xc
|
|
bne _08075DC0
|
|
ldrb r1, [r2, #0xa]
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075DC0
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075DC0
|
|
bl sub_08078F60
|
|
b _08075DD8
|
|
.align 2, 0
|
|
_08075DBC: .4byte gUnk_03003F80
|
|
_08075DC0:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075DD8
|
|
_08075DD0:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08075DD8:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08075DDC
|
|
sub_08075DDC: @ 0x08075DDC
|
|
push {lr}
|
|
ldr r3, _08075DF0 @ =gUnk_0811BD80
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08075DF0: .4byte gUnk_0811BD80
|
|
|
|
thumb_func_start sub_08075DF4
|
|
sub_08075DF4: @ 0x08075DF4
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r6, _08075E2C @ =gUnk_03003F80
|
|
ldrb r1, [r6, #4]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075E34
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #9]
|
|
ldr r0, _08075E30 @ =gLinkEntity
|
|
bl sub_0806F948
|
|
adds r0, r4, #0
|
|
bl sub_08077BB8
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077D38
|
|
adds r1, r6, #0
|
|
adds r1, #0x21
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _08075E3C
|
|
.align 2, 0
|
|
_08075E2C: .4byte gUnk_03003F80
|
|
_08075E30: .4byte gLinkEntity
|
|
_08075E34:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08075E3C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08075E40
|
|
sub_08075E40: @ 0x08075E40
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
mov r8, r1
|
|
ldr r0, _08075EA0 @ =gUnk_03003F80
|
|
adds r1, r0, #0
|
|
adds r1, #0x21
|
|
ldrb r1, [r1]
|
|
adds r6, r0, #0
|
|
cmp r1, #0
|
|
beq _08075EA8
|
|
ldrb r1, [r6, #4]
|
|
movs r5, #0x80
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r7, r0, #0x18
|
|
cmp r7, #0
|
|
bne _08075EA8
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075EB8
|
|
movs r0, #2
|
|
strb r0, [r4, #4]
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r4, #9]
|
|
ldr r0, _08075EA4 @ =gUnk_02002A40
|
|
adds r0, #0xad
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08075EB8
|
|
strb r7, [r4, #0xf]
|
|
movs r1, #8
|
|
mov r0, r8
|
|
asrs r1, r0
|
|
ldrb r0, [r6, #0xa]
|
|
bics r0, r1
|
|
strb r0, [r6, #0xa]
|
|
b _08075EB8
|
|
.align 2, 0
|
|
_08075EA0: .4byte gUnk_03003F80
|
|
_08075EA4: .4byte gUnk_02002A40
|
|
_08075EA8:
|
|
adds r1, r6, #0
|
|
adds r1, #0x21
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
mov r1, r8
|
|
bl sub_08077E78
|
|
_08075EB8:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08075EC0
|
|
sub_08075EC0: @ 0x08075EC0
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r0, _08075F04 @ =gUnk_02002A40
|
|
adds r0, #0xad
|
|
ldrb r5, [r0]
|
|
adds r0, r4, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _08075F0C
|
|
cmp r5, #0
|
|
beq _08075F0C
|
|
ldr r2, _08075F08 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #4]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075EF0
|
|
adds r0, r2, #0
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08075F32
|
|
_08075EF0:
|
|
adds r1, r2, #0
|
|
adds r1, #0x21
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
b _08075F32
|
|
.align 2, 0
|
|
_08075F04: .4byte gUnk_02002A40
|
|
_08075F08: .4byte gUnk_03003F80
|
|
_08075F0C:
|
|
ldr r2, _08075F34 @ =gUnk_03003F80
|
|
movs r0, #8
|
|
asrs r0, r6
|
|
ldrb r1, [r2, #0xa]
|
|
orrs r0, r1
|
|
strb r0, [r2, #0xa]
|
|
movs r1, #0x9f
|
|
lsls r1, r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
movs r1, #0xf
|
|
movs r0, #0xf
|
|
strb r0, [r4, #0xf]
|
|
ldrb r0, [r4, #9]
|
|
orrs r1, r0
|
|
strb r1, [r4, #9]
|
|
movs r0, #3
|
|
strb r0, [r4, #4]
|
|
_08075F32:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08075F34: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08075F38
|
|
sub_08075F38: @ 0x08075F38
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r3, r1, #0
|
|
ldr r2, _08075F6C @ =gUnk_03003F80
|
|
ldrb r1, [r2, #4]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075F70
|
|
adds r0, r2, #0
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08075F70
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075F80
|
|
movs r0, #4
|
|
strb r0, [r4, #4]
|
|
b _08075F80
|
|
.align 2, 0
|
|
_08075F6C: .4byte gUnk_03003F80
|
|
_08075F70:
|
|
adds r1, r2, #0
|
|
adds r1, #0x21
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r1, r3, #0
|
|
bl sub_08077E78
|
|
_08075F80:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08075F84
|
|
sub_08075F84: @ 0x08075F84
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r2, _08075FB4 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #4]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08075FC8
|
|
adds r0, r2, #0
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08075FC8
|
|
movs r0, #0x70
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _08075FB8
|
|
adds r0, r4, #0
|
|
movs r1, #5
|
|
bl sub_08077E3C
|
|
b _08075FBE
|
|
.align 2, 0
|
|
_08075FB4: .4byte gUnk_03003F80
|
|
_08075FB8:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
_08075FBE:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08075FD8
|
|
_08075FC8:
|
|
ldr r0, _08075FDC @ =gUnk_03003F80
|
|
adds r0, #0x21
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08075FD8:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08075FDC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08075FE0
|
|
sub_08075FE0: @ 0x08075FE0
|
|
push {lr}
|
|
ldr r3, _08075FF4 @ =gUnk_0811BD98
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08075FF4: .4byte gUnk_0811BD98
|
|
|
|
thumb_func_start sub_08075FF8
|
|
sub_08075FF8: @ 0x08075FF8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
adds r7, r1, #0
|
|
ldr r0, _08076018 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #2]
|
|
ldrb r0, [r0, #4]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _08076076
|
|
movs r5, #0
|
|
movs r0, #8
|
|
movs r1, #2
|
|
movs r2, #2
|
|
bl sub_0805EB00
|
|
b _08076026
|
|
.align 2, 0
|
|
_08076018: .4byte gUnk_03003F80
|
|
_0807601C:
|
|
adds r5, #1
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805EB64
|
|
_08076026:
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bne _0807601C
|
|
ldrb r0, [r6, #1]
|
|
movs r1, #1
|
|
cmp r0, #7
|
|
bne _08076036
|
|
movs r1, #3
|
|
_08076036:
|
|
cmp r1, r5
|
|
bls _08076076
|
|
adds r0, r6, #0
|
|
movs r1, #2
|
|
bl sub_08077C3C
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08076076
|
|
ldr r0, _08076080 @ =gLinkEntity
|
|
ldrb r2, [r0, #0x14]
|
|
movs r1, #6
|
|
ands r1, r2
|
|
ldr r2, _08076084 @ =gUnk_0811BDAC
|
|
adds r1, r1, r2
|
|
movs r2, #0
|
|
ldrsb r2, [r1, r2]
|
|
lsls r2, r2, #0x10
|
|
movs r3, #1
|
|
ldrsb r3, [r1, r3]
|
|
lsls r3, r3, #0x10
|
|
adds r1, r4, #0
|
|
bl sub_0806FA48
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
bl sub_080542F4
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_08076076:
|
|
adds r0, r6, #0
|
|
adds r1, r7, #0
|
|
bl sub_08077E78
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08076080: .4byte gLinkEntity
|
|
_08076084: .4byte gUnk_0811BDAC
|
|
|
|
thumb_func_start sub_08076088
|
|
sub_08076088: @ 0x08076088
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
adds r3, r1, #0
|
|
adds r5, r2, #0
|
|
cmp r3, #0
|
|
beq _080760AA
|
|
ldrb r0, [r3, #0x16]
|
|
movs r1, #1
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _080760A4
|
|
b _080761A0
|
|
_080760A4:
|
|
movs r0, #2
|
|
strb r0, [r3, #0xc]
|
|
strb r1, [r3, #0xd]
|
|
_080760AA:
|
|
str r3, [r4, #0x18]
|
|
ldr r0, _080760C4 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080760CC
|
|
ldr r1, _080760C8 @ =0x00000928
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _080760D6
|
|
.align 2, 0
|
|
_080760C4: .4byte gUnk_03003F80
|
|
_080760C8: .4byte 0x00000928
|
|
_080760CC:
|
|
movs r1, #0xce
|
|
lsls r1, r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_080760D6:
|
|
ldr r3, _08076130 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
mov r8, r0
|
|
movs r7, #3
|
|
strb r7, [r3, #5]
|
|
adds r0, r3, #0
|
|
adds r0, #0xa8
|
|
movs r6, #4
|
|
strb r6, [r0]
|
|
movs r0, #2
|
|
strb r0, [r4, #4]
|
|
movs r0, #0xf
|
|
strb r0, [r4, #0xf]
|
|
ldr r2, _08076134 @ =gLinkEntity
|
|
movs r1, #0x79
|
|
adds r1, r1, r2
|
|
mov ip, r1
|
|
ldrb r1, [r1]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08076138
|
|
mov r1, r8
|
|
mov r0, ip
|
|
strb r1, [r0]
|
|
ldrb r0, [r2, #0x10]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x10]
|
|
strb r6, [r3, #5]
|
|
movs r1, #8
|
|
asrs r1, r5
|
|
mvns r1, r1
|
|
ldrb r2, [r3, #0xb]
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
strb r0, [r3, #0xb]
|
|
ldrb r0, [r3, #0xa]
|
|
ands r1, r0
|
|
strb r1, [r3, #0xa]
|
|
strb r7, [r4, #4]
|
|
mov r0, r8
|
|
strb r0, [r4, #0xf]
|
|
b _0807614A
|
|
.align 2, 0
|
|
_08076130: .4byte gUnk_03003F80
|
|
_08076134: .4byte gLinkEntity
|
|
_08076138:
|
|
movs r1, #8
|
|
asrs r1, r5
|
|
ldrb r2, [r3, #0xa]
|
|
adds r0, r1, #0
|
|
orrs r0, r2
|
|
strb r0, [r3, #0xa]
|
|
ldrb r0, [r3, #0xb]
|
|
orrs r1, r0
|
|
strb r1, [r3, #0xb]
|
|
_0807614A:
|
|
adds r0, r4, #0
|
|
movs r1, #0x13
|
|
bl sub_08077C3C
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
bne _08076162
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077F50
|
|
b _080761A0
|
|
_08076162:
|
|
ldr r1, _08076194 @ =gLinkEntity
|
|
str r3, [r1, #0x74]
|
|
movs r2, #0
|
|
strb r2, [r1, #0xf]
|
|
ldr r0, [r4, #0x18]
|
|
str r0, [r3, #0x54]
|
|
ldrb r0, [r1, #0x16]
|
|
strb r0, [r3, #0x16]
|
|
str r4, [r3, #0x50]
|
|
str r3, [r4, #0x18]
|
|
ldrb r0, [r4, #3]
|
|
strb r0, [r3, #0xb]
|
|
ldrb r0, [r4, #7]
|
|
strb r0, [r3, #0xe]
|
|
ldrb r0, [r4, #8]
|
|
strb r0, [r3, #0xf]
|
|
ldr r0, [r4, #0x18]
|
|
ldrb r1, [r0, #0x16]
|
|
movs r0, #0xf0
|
|
ands r0, r1
|
|
cmp r0, #0x10
|
|
bne _08076198
|
|
movs r0, #8
|
|
strb r0, [r4, #7]
|
|
b _0807619A
|
|
.align 2, 0
|
|
_08076194: .4byte gLinkEntity
|
|
_08076198:
|
|
strb r2, [r4, #7]
|
|
_0807619A:
|
|
movs r0, #0x7f
|
|
bl sub_080A3268
|
|
_080761A0:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080761A8
|
|
sub_080761A8: @ 0x080761A8
|
|
push {lr}
|
|
ldr r3, _080761BC @ =gUnk_0811BDB4
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080761BC: .4byte gUnk_0811BDB4
|
|
|
|
thumb_func_start sub_080761C0
|
|
sub_080761C0: @ 0x080761C0
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r5, _08076220 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #4]
|
|
cmp r0, #0
|
|
bne _080762B8
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
beq _080761DE
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _08076224 @ =0x00001201
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080762B8
|
|
_080761DE:
|
|
ldr r1, _08076228 @ =gLinkEntity
|
|
ldrb r2, [r1, #0x14]
|
|
movs r0, #0x80
|
|
orrs r0, r2
|
|
strb r0, [r5, #1]
|
|
adds r1, #0x3d
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #8
|
|
bgt _080762B8
|
|
bl sub_080789A8
|
|
adds r3, r0, #0
|
|
cmp r3, #1
|
|
beq _08076258
|
|
cmp r3, #1
|
|
blo _0807626E
|
|
cmp r3, #2
|
|
bne _080762C0
|
|
ldr r0, _0807622C @ =gUnk_03003BE0
|
|
ldr r2, [r0, #8]
|
|
ldrb r1, [r2, #0x16]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076230
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
adds r2, r6, #0
|
|
bl sub_08076088
|
|
b _080762C0
|
|
.align 2, 0
|
|
_08076220: .4byte gUnk_03003F80
|
|
_08076224: .4byte 0x00001201
|
|
_08076228: .4byte gLinkEntity
|
|
_0807622C: .4byte gUnk_03003BE0
|
|
_08076230:
|
|
str r2, [r4, #0x18]
|
|
strb r3, [r2, #0xc]
|
|
movs r1, #5
|
|
strb r1, [r2, #0xd]
|
|
adds r0, r5, #0
|
|
adds r0, #0xa8
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
movs r2, #2
|
|
adds r3, r6, #0
|
|
bl sub_080762C4
|
|
ldr r0, _08076254 @ =gUnk_0200AF00
|
|
adds r0, #0x2e
|
|
movs r1, #8
|
|
strb r1, [r0]
|
|
b _08076264
|
|
.align 2, 0
|
|
_08076254: .4byte gUnk_0200AF00
|
|
_08076258:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #1
|
|
adds r3, r6, #0
|
|
bl sub_080762C4
|
|
_08076264:
|
|
movs r0, #0x81
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
b _080762C0
|
|
_0807626E:
|
|
movs r0, #5
|
|
strb r0, [r4, #4]
|
|
movs r0, #0xf
|
|
strb r0, [r4, #7]
|
|
movs r0, #6
|
|
strb r0, [r4, #0xf]
|
|
movs r3, #8
|
|
adds r1, r3, #0
|
|
asrs r1, r6
|
|
ldrb r2, [r5, #0xa]
|
|
adds r0, r1, #0
|
|
orrs r0, r2
|
|
strb r0, [r5, #0xa]
|
|
ldrb r0, [r5, #0xb]
|
|
orrs r1, r0
|
|
strb r1, [r5, #0xb]
|
|
ldr r0, [r5, #0x30]
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
bne _080762A2
|
|
movs r1, #0xde
|
|
lsls r1, r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _080762AA
|
|
_080762A2:
|
|
ldr r1, _080762B4 @ =0x00000948
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_080762AA:
|
|
movs r0, #0x88
|
|
bl sub_080A3268
|
|
b _080762C0
|
|
.align 2, 0
|
|
_080762B4: .4byte 0x00000948
|
|
_080762B8:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077F50
|
|
_080762C0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080762C4
|
|
sub_080762C4: @ 0x080762C4
|
|
push {lr}
|
|
str r1, [r0, #0x18]
|
|
ldr r1, _080762D4 @ =gUnk_03003F80
|
|
strb r2, [r1, #5]
|
|
adds r1, r3, #0
|
|
bl sub_08077D38
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080762D4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080762D8
|
|
sub_080762D8: @ 0x080762D8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r4, _08076334 @ =gUnk_03003F80
|
|
ldrb r0, [r4, #5]
|
|
movs r1, #0xcf
|
|
ands r1, r0
|
|
strb r1, [r4, #5]
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077F64
|
|
cmp r0, #0
|
|
bne _080762F6
|
|
b _08076486
|
|
_080762F6:
|
|
ldr r0, _08076338 @ =gLinkEntity
|
|
adds r1, r0, #0
|
|
adds r1, #0x3d
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
adds r3, r0, #0
|
|
cmp r1, #8
|
|
bgt _0807636C
|
|
adds r0, #0x42
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0807636C
|
|
ldr r2, [r5, #0x18]
|
|
cmp r2, #0
|
|
beq _08076340
|
|
ldrh r1, [r2, #0xc]
|
|
ldr r0, _0807633C @ =0x00000502
|
|
cmp r1, r0
|
|
bne _08076376
|
|
adds r0, r4, #0
|
|
adds r0, #0x90
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076340
|
|
movs r0, #6
|
|
strb r0, [r2, #0xd]
|
|
b _08076376
|
|
.align 2, 0
|
|
_08076334: .4byte gUnk_03003F80
|
|
_08076338: .4byte gLinkEntity
|
|
_0807633C: .4byte 0x00000502
|
|
_08076340:
|
|
ldr r2, _08076364 @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0xa8
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
ldr r0, _08076368 @ =gUnk_0200AF00
|
|
adds r0, #0x2e
|
|
movs r1, #8
|
|
strb r1, [r0]
|
|
ldrb r0, [r2, #2]
|
|
cmp r0, #0
|
|
beq _0807635A
|
|
b _0807647E
|
|
_0807635A:
|
|
ldrb r0, [r2, #5]
|
|
cmp r0, #1
|
|
bne _08076394
|
|
b _08076380
|
|
.align 2, 0
|
|
_08076364: .4byte gUnk_03003F80
|
|
_08076368: .4byte gUnk_0200AF00
|
|
_0807636C:
|
|
ldr r1, [r5, #0x18]
|
|
cmp r1, #0
|
|
beq _08076376
|
|
movs r0, #6
|
|
strb r0, [r1, #0xd]
|
|
_08076376:
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077F50
|
|
b _08076486
|
|
_08076380:
|
|
adds r0, r3, #0
|
|
movs r1, #6
|
|
adds r2, r5, #0
|
|
bl sub_0800875A
|
|
cmp r0, #0
|
|
beq _08076394
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
b _080763EC
|
|
_08076394:
|
|
ldr r1, _080763F4 @ =gUnk_0811BE38
|
|
ldr r7, _080763F8 @ =gLinkEntity
|
|
ldrb r0, [r7, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r3, r0, #1
|
|
adds r1, r3, r1
|
|
ldr r4, _080763FC @ =gUnk_03003F80
|
|
adds r2, r4, #0
|
|
adds r2, #0x90
|
|
ldrh r0, [r1]
|
|
ldrh r2, [r2]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08076400
|
|
adds r0, r5, #0
|
|
bl sub_08077E24
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
movs r1, #0x94
|
|
lsls r1, r1, #4
|
|
cmp r0, #0
|
|
bne _080763C8
|
|
movs r1, #0xd0
|
|
lsls r1, r1, #2
|
|
_080763C8:
|
|
ldrh r0, [r5, #0x10]
|
|
cmp r1, r0
|
|
beq _080763D4
|
|
adds r0, r5, #0
|
|
bl sub_08077DF4
|
|
_080763D4:
|
|
ldrb r0, [r4, #5]
|
|
movs r1, #0x10
|
|
orrs r1, r0
|
|
strb r1, [r4, #5]
|
|
adds r2, r4, #0
|
|
adds r2, #0xa8
|
|
movs r0, #0x1a
|
|
strb r0, [r2]
|
|
cmp r1, #1
|
|
beq _08076486
|
|
ldr r1, [r5, #0x18]
|
|
adds r0, r5, #0
|
|
_080763EC:
|
|
adds r2, r6, #0
|
|
bl sub_08076088
|
|
b _08076486
|
|
.align 2, 0
|
|
_080763F4: .4byte gUnk_0811BE38
|
|
_080763F8: .4byte gLinkEntity
|
|
_080763FC: .4byte gUnk_03003F80
|
|
_08076400:
|
|
ldr r0, _08076418 @ =gUnk_0811BE40
|
|
adds r0, r3, r0
|
|
ldrh r0, [r0]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08076460
|
|
ldrb r0, [r7, #0xf]
|
|
cmp r0, #5
|
|
bhi _0807641C
|
|
adds r0, #1
|
|
strb r0, [r7, #0xf]
|
|
b _08076486
|
|
.align 2, 0
|
|
_08076418: .4byte gUnk_0811BE40
|
|
_0807641C:
|
|
ldrb r0, [r5, #0xa]
|
|
adds r1, r4, #0
|
|
adds r1, #0x35
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #6]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #6]
|
|
ldrb r1, [r4, #5]
|
|
movs r0, #0x20
|
|
orrs r0, r1
|
|
strb r0, [r4, #5]
|
|
adds r1, r4, #0
|
|
adds r1, #0xa8
|
|
movs r0, #0x19
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
ldr r1, _0807645C @ =0x0000093C
|
|
cmp r0, #0
|
|
bne _0807644C
|
|
movs r1, #0xcf
|
|
lsls r1, r1, #2
|
|
_0807644C:
|
|
ldrh r0, [r5, #0x10]
|
|
cmp r1, r0
|
|
bne _08076476
|
|
adds r0, r5, #0
|
|
bl sub_08077E24
|
|
b _08076486
|
|
.align 2, 0
|
|
_0807645C: .4byte 0x0000093C
|
|
_08076460:
|
|
strb r0, [r7, #0xf]
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076472
|
|
movs r1, #0xd0
|
|
lsls r1, r1, #2
|
|
b _08076476
|
|
_08076472:
|
|
movs r1, #0x94
|
|
lsls r1, r1, #4
|
|
_08076476:
|
|
adds r0, r5, #0
|
|
bl sub_08077DF4
|
|
b _08076486
|
|
_0807647E:
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077F50
|
|
_08076486:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08076488
|
|
sub_08076488: @ 0x08076488
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldrb r0, [r4, #7]
|
|
adds r6, r0, #0
|
|
cmp r6, #0
|
|
bne _08076504
|
|
adds r0, r4, #0
|
|
bl sub_08077F64
|
|
cmp r0, #0
|
|
beq _08076508
|
|
ldr r0, [r4, #0x18]
|
|
ldrb r1, [r0, #0x16]
|
|
movs r0, #0xf0
|
|
ands r0, r1
|
|
cmp r0, #0x10
|
|
bne _080764B8
|
|
ldr r0, _080764F8 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076510
|
|
_080764B8:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08076508
|
|
ldr r2, _080764FC @ =gLinkEntity
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x10]
|
|
ldr r2, _08076500 @ =gUnk_03003F80
|
|
movs r0, #4
|
|
strb r0, [r2, #5]
|
|
movs r1, #8
|
|
asrs r1, r5
|
|
mvns r1, r1
|
|
ldrb r3, [r2, #0xb]
|
|
adds r0, r1, #0
|
|
ands r0, r3
|
|
strb r0, [r2, #0xb]
|
|
ldrb r0, [r2, #0xa]
|
|
ands r1, r0
|
|
strb r1, [r2, #0xa]
|
|
ldrb r0, [r4, #4]
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
strb r6, [r4, #0xf]
|
|
b _08076508
|
|
.align 2, 0
|
|
_080764F8: .4byte gUnk_030010A0
|
|
_080764FC: .4byte gLinkEntity
|
|
_08076500: .4byte gUnk_03003F80
|
|
_08076504:
|
|
subs r0, #1
|
|
strb r0, [r4, #7]
|
|
_08076508:
|
|
ldr r0, _08076514 @ =gUnk_03003F80
|
|
adds r0, #0xa8
|
|
movs r1, #4
|
|
strb r1, [r0]
|
|
_08076510:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08076514: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08076518
|
|
sub_08076518: @ 0x08076518
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
mov r8, r1
|
|
bl sub_08077F64
|
|
cmp r0, #0
|
|
beq _080765D4
|
|
ldr r5, _0807655C @ =gUnk_03003F80
|
|
adds r1, r5, #0
|
|
adds r1, #0xa8
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
ldrb r1, [r5, #2]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080765D4
|
|
ldrb r0, [r5, #0x1f]
|
|
cmp r0, #0
|
|
bne _080765D4
|
|
ldr r6, _08076560 @ =gLinkEntity
|
|
adds r0, r6, #0
|
|
adds r0, #0x42
|
|
ldrb r7, [r0]
|
|
cmp r7, #0
|
|
beq _08076564
|
|
adds r0, r4, #0
|
|
mov r1, r8
|
|
bl sub_08077F50
|
|
b _080765D4
|
|
.align 2, 0
|
|
_0807655C: .4byte gUnk_03003F80
|
|
_08076560: .4byte gLinkEntity
|
|
_08076564:
|
|
adds r0, r5, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
ldr r0, _080765B0 @ =0x00008018
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080765D4
|
|
adds r0, r6, #0
|
|
bl sub_0806F948
|
|
movs r0, #5
|
|
strb r0, [r5, #5]
|
|
ldr r1, [r4, #0x18]
|
|
movs r0, #2
|
|
strb r0, [r1, #0xd]
|
|
ldr r2, [r4, #0x18]
|
|
ldrb r1, [r6, #0x14]
|
|
movs r0, #0xe
|
|
ands r0, r1
|
|
lsls r0, r0, #2
|
|
strb r0, [r2, #0x15]
|
|
str r7, [r4, #0x18]
|
|
ldrb r0, [r4, #4]
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
movs r0, #0xf
|
|
strb r0, [r4, #0xf]
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080765B4
|
|
movs r1, #0x93
|
|
lsls r1, r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _080765BE
|
|
.align 2, 0
|
|
_080765B0: .4byte 0x00008018
|
|
_080765B4:
|
|
movs r1, #0xd1
|
|
lsls r1, r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_080765BE:
|
|
ldr r2, _080765DC @ =gUnk_03003F80
|
|
movs r1, #8
|
|
mov r0, r8
|
|
asrs r1, r0
|
|
ldrb r3, [r2, #0xa]
|
|
adds r0, r1, #0
|
|
orrs r0, r3
|
|
strb r0, [r2, #0xa]
|
|
ldrb r0, [r2, #0xb]
|
|
orrs r1, r0
|
|
strb r1, [r2, #0xb]
|
|
_080765D4:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080765DC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080765E0
|
|
sub_080765E0: @ 0x080765E0
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077F64
|
|
cmp r0, #0
|
|
beq _08076608
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08076602
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077F50
|
|
b _08076608
|
|
_08076602:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
_08076608:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807660C
|
|
sub_0807660C: @ 0x0807660C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077E24
|
|
ldrb r0, [r4, #7]
|
|
subs r0, #1
|
|
strb r0, [r4, #7]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
beq _0807662C
|
|
ldr r0, _0807663C @ =gUnk_03003F80
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
bne _0807663A
|
|
_0807662C:
|
|
ldr r1, _0807663C @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r1, #1]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_0807663A:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807663C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08076640
|
|
sub_08076640: @ 0x08076640
|
|
push {r4, r5, lr}
|
|
adds r3, r0, #0
|
|
adds r4, r1, #0
|
|
ldrb r0, [r3, #4]
|
|
cmp r0, #0
|
|
beq _08076654
|
|
adds r0, r3, #0
|
|
bl sub_08076758
|
|
b _08076754
|
|
_08076654:
|
|
ldr r0, _080766BC @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x2c]
|
|
adds r2, r0, #0
|
|
cmp r1, #0
|
|
bne _0807674C
|
|
ldrb r0, [r2, #1]
|
|
cmp r0, #0
|
|
beq _080766C4
|
|
ldrb r1, [r2, #4]
|
|
ldrb r0, [r2, #5]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _0807674C
|
|
ldrb r0, [r2, #0x12]
|
|
cmp r0, #0x12
|
|
beq _08076678
|
|
cmp r0, #1
|
|
bne _08076686
|
|
_08076678:
|
|
ldr r0, _080766C0 @ =gLinkEntity
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
bne _08076686
|
|
ldrb r0, [r2, #0x14]
|
|
cmp r0, #0
|
|
beq _0807674C
|
|
_08076686:
|
|
ldrb r1, [r2, #2]
|
|
cmp r1, #0
|
|
beq _08076694
|
|
movs r0, #7
|
|
ands r0, r1
|
|
cmp r0, #3
|
|
bne _08076710
|
|
_08076694:
|
|
ldr r5, _080766C0 @ =gLinkEntity
|
|
ldr r0, [r5, #0x34]
|
|
cmp r0, #0
|
|
blt _0807674C
|
|
movs r1, #0
|
|
strb r1, [r2, #1]
|
|
ldrb r0, [r3, #4]
|
|
adds r0, #1
|
|
strb r0, [r3, #4]
|
|
strb r1, [r2, #0xb]
|
|
movs r0, #1
|
|
strb r0, [r2, #2]
|
|
movs r0, #0xff
|
|
strb r0, [r2, #0xe]
|
|
str r1, [r2, #0x2c]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r5, #0x20]
|
|
b _0807673C
|
|
.align 2, 0
|
|
_080766BC: .4byte gUnk_03003F80
|
|
_080766C0: .4byte gLinkEntity
|
|
_080766C4:
|
|
ldrb r0, [r2, #0x1b]
|
|
ldrb r1, [r2, #0xa]
|
|
orrs r0, r1
|
|
ldrb r1, [r2, #4]
|
|
orrs r0, r1
|
|
ldrb r1, [r2, #5]
|
|
orrs r0, r1
|
|
ldrb r1, [r2, #0x1c]
|
|
orrs r0, r1
|
|
adds r1, r2, #0
|
|
adds r1, #0x3d
|
|
ldrb r1, [r1]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _0807674C
|
|
ldrb r1, [r2, #0x12]
|
|
adds r0, r1, #0
|
|
subs r0, #0x12
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bls _080766F4
|
|
cmp r1, #1
|
|
bne _08076702
|
|
_080766F4:
|
|
ldr r0, _0807671C @ =gLinkEntity
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
bne _08076702
|
|
ldrb r0, [r2, #0x14]
|
|
cmp r0, #0
|
|
beq _0807674C
|
|
_08076702:
|
|
ldrb r1, [r2, #2]
|
|
cmp r1, #0
|
|
beq _08076720
|
|
movs r0, #7
|
|
ands r0, r1
|
|
cmp r0, #3
|
|
beq _08076720
|
|
_08076710:
|
|
adds r0, r3, #0
|
|
adds r1, r4, #0
|
|
bl sub_08076758
|
|
b _08076754
|
|
.align 2, 0
|
|
_0807671C: .4byte gLinkEntity
|
|
_08076720:
|
|
ldr r1, _08076748 @ =gLinkEntity
|
|
ldr r0, [r1, #0x34]
|
|
cmp r0, #0
|
|
blt _0807674C
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r1, #0x20]
|
|
movs r1, #0
|
|
movs r0, #1
|
|
strb r0, [r2, #2]
|
|
str r1, [r2, #0x2c]
|
|
ldrb r0, [r3, #4]
|
|
adds r0, #1
|
|
strb r0, [r3, #4]
|
|
_0807673C:
|
|
bl sub_08077F84
|
|
movs r0, #0x78
|
|
bl sub_080A3268
|
|
b _08076754
|
|
.align 2, 0
|
|
_08076748: .4byte gLinkEntity
|
|
_0807674C:
|
|
adds r0, r3, #0
|
|
adds r1, r4, #0
|
|
bl sub_08077E78
|
|
_08076754:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08076758
|
|
sub_08076758: @ 0x08076758
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _080767C0 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r5, #0xe]
|
|
ldrb r2, [r5, #2]
|
|
movs r0, #0x28
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _080767F8
|
|
cmp r2, #0
|
|
beq _080767F8
|
|
movs r0, #7
|
|
ands r0, r2
|
|
cmp r0, #3
|
|
beq _080767F8
|
|
adds r0, r4, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _080767D8
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #1
|
|
bhi _080767C8
|
|
ldr r2, _080767C4 @ =gLinkEntity
|
|
ldr r0, [r2, #0x20]
|
|
cmp r0, #0
|
|
bgt _080767FE
|
|
ldrb r3, [r5, #2]
|
|
movs r0, #0x10
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
bne _080767FE
|
|
movs r0, #2
|
|
strb r0, [r4, #4]
|
|
adds r1, r2, #0
|
|
adds r1, #0x7a
|
|
strh r0, [r1]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r2, #0x20]
|
|
movs r0, #0x10
|
|
orrs r0, r3
|
|
strb r0, [r5, #2]
|
|
movs r0, #0xa2
|
|
lsls r0, r0, #2
|
|
strh r0, [r5, #8]
|
|
movs r0, #0xb9
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
b _080767FE
|
|
.align 2, 0
|
|
_080767C0: .4byte gUnk_03003F80
|
|
_080767C4: .4byte gLinkEntity
|
|
_080767C8:
|
|
ldr r1, _080767D4 @ =gLinkEntity
|
|
adds r1, #0x7a
|
|
ldrh r0, [r1]
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
b _080767FE
|
|
.align 2, 0
|
|
_080767D4: .4byte gLinkEntity
|
|
_080767D8:
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #1
|
|
bls _080767FE
|
|
ldr r1, _080767F4 @ =gLinkEntity
|
|
adds r1, #0x7a
|
|
ldrh r0, [r1]
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
ldrb r1, [r5, #2]
|
|
movs r0, #0xef
|
|
ands r0, r1
|
|
strb r0, [r5, #2]
|
|
b _080767FE
|
|
.align 2, 0
|
|
_080767F4: .4byte gLinkEntity
|
|
_080767F8:
|
|
adds r0, r4, #0
|
|
bl sub_08077E78
|
|
_080767FE:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08076800
|
|
sub_08076800: @ 0x08076800
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r6, r0, #0
|
|
mov sb, r1
|
|
ldr r4, _0807682C @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
adds r0, #0x7a
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _08076834
|
|
ldr r1, _08076830 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r1, #0x1e]
|
|
strb r0, [r1, #0xe]
|
|
adds r0, r6, #0
|
|
mov r1, sb
|
|
bl sub_08077E78
|
|
b _080768EC
|
|
.align 2, 0
|
|
_0807682C: .4byte gLinkEntity
|
|
_08076830: .4byte gUnk_03003F80
|
|
_08076834:
|
|
ldrb r0, [r6, #7]
|
|
subs r0, #1
|
|
strb r0, [r6, #7]
|
|
movs r1, #7
|
|
mov r8, r1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807684A
|
|
movs r0, #0x7d
|
|
bl sub_080A3268
|
|
_0807684A:
|
|
ldr r2, _08076880 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080768DA
|
|
ldrb r1, [r6, #7]
|
|
mov r0, r8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080768DA
|
|
ldrb r0, [r2, #0x12]
|
|
cmp r0, #0x11
|
|
bne _08076884
|
|
adds r0, r4, #0
|
|
adds r0, #0x63
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080768DA
|
|
adds r0, r4, #0
|
|
movs r1, #0x52
|
|
movs r2, #0
|
|
bl CreateFX
|
|
b _080768DA
|
|
.align 2, 0
|
|
_08076880: .4byte gUnk_03003F80
|
|
_08076884:
|
|
adds r0, r4, #0
|
|
movs r1, #0x11
|
|
movs r2, #0x40
|
|
bl CreateFX
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _080768DA
|
|
ldrh r0, [r5, #0x32]
|
|
adds r0, #2
|
|
strh r0, [r5, #0x32]
|
|
ldrb r0, [r6, #4]
|
|
cmp r0, #2
|
|
beq _080768DA
|
|
bl sub_08000E50
|
|
adds r4, r0, #0
|
|
movs r0, #3
|
|
ands r4, r0
|
|
bl sub_08000E50
|
|
movs r7, #1
|
|
ands r0, r7
|
|
cmp r0, #0
|
|
beq _080768B8
|
|
rsbs r4, r4, #0
|
|
_080768B8:
|
|
ldrh r0, [r5, #0x32]
|
|
adds r0, r0, r4
|
|
strh r0, [r5, #0x32]
|
|
bl sub_08000E50
|
|
adds r4, r0, #0
|
|
mov r0, r8
|
|
ands r4, r0
|
|
bl sub_08000E50
|
|
ands r0, r7
|
|
cmp r0, #0
|
|
beq _080768D4
|
|
rsbs r4, r4, #0
|
|
_080768D4:
|
|
ldrh r0, [r5, #0x2e]
|
|
adds r0, r0, r4
|
|
strh r0, [r5, #0x2e]
|
|
_080768DA:
|
|
ldr r0, _080768F4 @ =gUnk_0811BDCC
|
|
ldrb r1, [r6, #4]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r2, [r1]
|
|
adds r0, r6, #0
|
|
mov r1, sb
|
|
bl _call_via_r2
|
|
_080768EC:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080768F4: .4byte gUnk_0811BDCC
|
|
|
|
thumb_func_start sub_080768F8
|
|
sub_080768F8: @ 0x080768F8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r3, _08076934 @ =gUnk_03003F80
|
|
ldrb r1, [r3, #0x1c]
|
|
ldrb r0, [r3, #4]
|
|
orrs r1, r0
|
|
ldrb r0, [r3, #5]
|
|
orrs r1, r0
|
|
ldrb r0, [r3, #2]
|
|
orrs r1, r0
|
|
ldr r2, [r3, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
ands r0, r2
|
|
orrs r1, r0
|
|
cmp r1, #0
|
|
bne _08076954
|
|
movs r0, #1
|
|
strb r0, [r3, #0x1e]
|
|
adds r0, r3, #0
|
|
adds r0, #0x21
|
|
strb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
bne _08076938
|
|
movs r0, #0x10
|
|
strb r0, [r4, #7]
|
|
b _0807693C
|
|
.align 2, 0
|
|
_08076934: .4byte gUnk_03003F80
|
|
_08076938:
|
|
ldr r0, _08076950 @ =0x00000C14
|
|
strh r0, [r3, #8]
|
|
_0807693C:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077D38
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08076964
|
|
b _08076962
|
|
.align 2, 0
|
|
_08076950: .4byte 0x00000C14
|
|
_08076954:
|
|
movs r0, #0
|
|
strb r0, [r3, #0x1e]
|
|
strb r0, [r3, #0xe]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08076962:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08076964
|
|
sub_08076964: @ 0x08076964
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
bne _08076978
|
|
b _08076A70
|
|
_08076978:
|
|
ldr r0, _080769C4 @ =gLinkEntity
|
|
ldr r7, [r0, #0x34]
|
|
cmp r7, #0
|
|
bne _08076A70
|
|
ldr r5, _080769C8 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #0x1e]
|
|
cmp r0, #0
|
|
beq _08076A70
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #0x80
|
|
mov r8, r1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080769A0
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
_080769A0:
|
|
ldrb r0, [r5, #0x1e]
|
|
adds r0, #1
|
|
strb r0, [r5, #0x1e]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x1e
|
|
bne _08076A7E
|
|
ldr r0, [r5, #0x30]
|
|
movs r1, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080769CC
|
|
strb r7, [r5, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
b _08076A7E
|
|
.align 2, 0
|
|
_080769C4: .4byte gLinkEntity
|
|
_080769C8: .4byte gUnk_03003F80
|
|
_080769CC:
|
|
movs r0, #0x40
|
|
strb r0, [r5, #0x1e]
|
|
movs r1, #8
|
|
asrs r1, r6
|
|
ldrb r0, [r5, #0xa]
|
|
bics r0, r1
|
|
strb r0, [r5, #0xa]
|
|
ldrb r0, [r4, #4]
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
bl sub_0807A158
|
|
cmp r0, #0
|
|
beq _08076A46
|
|
ldr r0, [r5, #0x30]
|
|
mov r1, r8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076A60
|
|
adds r0, r5, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08076A46
|
|
adds r0, r5, #0
|
|
adds r0, #0xab
|
|
movs r1, #3
|
|
strb r1, [r0]
|
|
movs r1, #0xa6
|
|
lsls r1, r1, #2
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
adds r0, r4, #0
|
|
movs r1, #0xc
|
|
bl sub_08077C3C
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _08076A70
|
|
ldr r6, _08076A34 @ =gUnk_02002A40
|
|
adds r4, r6, #0
|
|
adds r4, #0xb4
|
|
ldrb r0, [r4]
|
|
bl sub_0805449C
|
|
cmp r0, #0
|
|
beq _08076A38
|
|
ldrb r1, [r4]
|
|
b _08076A3E
|
|
.align 2, 0
|
|
_08076A34: .4byte gUnk_02002A40
|
|
_08076A38:
|
|
adds r0, r6, #0
|
|
adds r0, #0xb5
|
|
ldrb r1, [r0]
|
|
_08076A3E:
|
|
adds r0, r5, #0
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
b _08076A7E
|
|
_08076A46:
|
|
ldr r0, _08076A5C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076A60
|
|
adds r1, #0x84
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _08076A7E
|
|
.align 2, 0
|
|
_08076A5C: .4byte gUnk_03003F80
|
|
_08076A60:
|
|
ldr r1, _08076A6C @ =gUnk_03003F80
|
|
movs r0, #0xc1
|
|
lsls r0, r0, #4
|
|
strh r0, [r1, #8]
|
|
b _08076A7E
|
|
.align 2, 0
|
|
_08076A6C: .4byte gUnk_03003F80
|
|
_08076A70:
|
|
ldr r1, _08076A84 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r1, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
_08076A7E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08076A84: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08076A88
|
|
sub_08076A88: @ 0x08076A88
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r7, r1, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _08076B64
|
|
ldr r1, _08076AB4 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #0x1e]
|
|
adds r3, r1, #0
|
|
cmp r0, #0
|
|
beq _08076B64
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076ABC
|
|
ldr r1, _08076AB8 @ =gLinkEntity
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #2
|
|
b _08076AC2
|
|
.align 2, 0
|
|
_08076AB4: .4byte gUnk_03003F80
|
|
_08076AB8: .4byte gLinkEntity
|
|
_08076ABC:
|
|
ldr r1, _08076B00 @ =gLinkEntity
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #2
|
|
_08076AC2:
|
|
strh r0, [r1, #0x24]
|
|
adds r5, r1, #0
|
|
ldr r1, _08076B04 @ =gUnk_0800275C
|
|
ldrb r2, [r5, #0x14]
|
|
movs r6, #0xe
|
|
adds r0, r6, #0
|
|
ands r0, r2
|
|
lsls r0, r0, #3
|
|
adds r0, r0, r1
|
|
ldrh r1, [r0]
|
|
ldrh r0, [r5, #0x2a]
|
|
ands r0, r1
|
|
cmp r1, r0
|
|
bne _08076B0E
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _08076B08
|
|
movs r2, #0
|
|
movs r0, #6
|
|
strb r0, [r5, #0xc]
|
|
strb r2, [r5, #0xd]
|
|
ldrb r1, [r5, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r5, #0x10]
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
strb r2, [r0]
|
|
movs r0, #0xff
|
|
strb r0, [r3, #0xd]
|
|
b _08076B72
|
|
.align 2, 0
|
|
_08076B00: .4byte gLinkEntity
|
|
_08076B04: .4byte gUnk_0800275C
|
|
_08076B08:
|
|
movs r0, #1
|
|
strb r0, [r4, #8]
|
|
b _08076B72
|
|
_08076B0E:
|
|
ldr r1, _08076B60 @ =gUnk_0811BE38
|
|
movs r0, #0xfe
|
|
ands r0, r2
|
|
adds r0, r0, r1
|
|
adds r1, r3, #0
|
|
adds r1, #0x90
|
|
ldrh r2, [r0]
|
|
ldrh r0, [r1]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08076B64
|
|
ldrb r0, [r4, #0xa]
|
|
adds r1, r6, #0
|
|
ands r1, r0
|
|
lsls r0, r1, #2
|
|
strb r0, [r4, #0xb]
|
|
ldrb r2, [r3, #0xd]
|
|
cmp r2, #0xff
|
|
beq _08076B52
|
|
cmp r2, r0
|
|
beq _08076B52
|
|
adds r0, r2, #0
|
|
ldrb r1, [r4, #0xb]
|
|
subs r0, r0, r1
|
|
movs r2, #0x1f
|
|
ands r0, r2
|
|
cmp r0, #0xf
|
|
bgt _08076B4A
|
|
adds r0, r1, #2
|
|
strb r0, [r4, #0xb]
|
|
_08076B4A:
|
|
ldrb r0, [r4, #0xb]
|
|
subs r0, #1
|
|
ands r0, r2
|
|
strb r0, [r4, #0xb]
|
|
_08076B52:
|
|
ldrb r0, [r4, #0xb]
|
|
strb r0, [r3, #0xd]
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
b _08076B72
|
|
.align 2, 0
|
|
_08076B60: .4byte gUnk_0811BE38
|
|
_08076B64:
|
|
ldr r1, _08076B74 @ =gUnk_03003F80
|
|
movs r0, #0
|
|
strb r0, [r1, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
bl sub_08077E78
|
|
_08076B72:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08076B74: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08076B78
|
|
sub_08076B78: @ 0x08076B78
|
|
push {lr}
|
|
ldr r3, _08076B94 @ =gUnk_0811BDD8
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
ldr r1, _08076B98 @ =gLinkEntity
|
|
adds r1, #0x7a
|
|
ldrh r0, [r1]
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08076B94: .4byte gUnk_0811BDD8
|
|
_08076B98: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08076B9C
|
|
sub_08076B9C: @ 0x08076B9C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r3, _08076BB4 @ =gUnk_03003F80
|
|
ldrb r0, [r3, #0xc]
|
|
cmp r0, #0x18
|
|
bne _08076BB8
|
|
adds r0, r4, #0
|
|
bl sub_08077E78
|
|
b _08076C1C
|
|
.align 2, 0
|
|
_08076BB4: .4byte gUnk_03003F80
|
|
_08076BB8:
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0xf
|
|
orrs r0, r1
|
|
strb r0, [r4, #9]
|
|
ldr r1, _08076C20 @ =gLinkEntity
|
|
movs r0, #4
|
|
strb r0, [r1, #0x14]
|
|
ldrb r2, [r1, #0x18]
|
|
subs r0, #0x45
|
|
ands r0, r2
|
|
strb r0, [r1, #0x18]
|
|
ldrb r2, [r1, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r2
|
|
strb r0, [r1, #0x10]
|
|
adds r1, #0x7a
|
|
movs r0, #2
|
|
strh r0, [r1]
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x15
|
|
orrs r0, r1
|
|
str r0, [r3, #0x30]
|
|
adds r1, r3, #0
|
|
adds r1, #0x27
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
ldr r1, _08076C24 @ =gUnk_02034490
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
movs r1, #8
|
|
asrs r1, r5
|
|
ldrb r2, [r3, #0xa]
|
|
adds r0, r1, #0
|
|
orrs r0, r2
|
|
strb r0, [r3, #0xa]
|
|
ldrb r0, [r3, #0xb]
|
|
orrs r1, r0
|
|
strb r1, [r3, #0xb]
|
|
bl sub_08078F60
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077D38
|
|
ldr r0, _08076C28 @ =0x00000216
|
|
bl sub_080A3268
|
|
bl sub_0805E544
|
|
_08076C1C:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08076C20: .4byte gLinkEntity
|
|
_08076C24: .4byte gUnk_02034490
|
|
_08076C28: .4byte 0x00000216
|
|
|
|
thumb_func_start sub_08076C2C
|
|
sub_08076C2C: @ 0x08076C2C
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r5, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08076C6E
|
|
ldr r0, _08076C70 @ =gLinkEntity
|
|
ldrb r2, [r0, #0x10]
|
|
movs r4, #0
|
|
movs r1, #0x80
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x10]
|
|
ldr r2, _08076C74 @ =gUnk_03003F80
|
|
ldr r1, [r2, #0x30]
|
|
ldr r3, _08076C78 @ =0xEFFFFFFF
|
|
ands r1, r3
|
|
str r1, [r2, #0x30]
|
|
adds r2, #0x27
|
|
strb r4, [r2]
|
|
ldr r1, _08076C7C @ =gUnk_02034490
|
|
strb r4, [r1]
|
|
bl sub_0809D700
|
|
bl sub_0805E564
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
_08076C6E:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08076C70: .4byte gLinkEntity
|
|
_08076C74: .4byte gUnk_03003F80
|
|
_08076C78: .4byte 0xEFFFFFFF
|
|
_08076C7C: .4byte gUnk_02034490
|
|
|
|
thumb_func_start sub_08076C80
|
|
sub_08076C80: @ 0x08076C80
|
|
push {lr}
|
|
ldr r3, _08076C94 @ =gUnk_0811BDE0
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08076C94: .4byte gUnk_0811BDE0
|
|
|
|
thumb_func_start sub_08076C98
|
|
sub_08076C98: @ 0x08076C98
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r2, [r4, #9]
|
|
movs r0, #0xf
|
|
orrs r0, r2
|
|
strb r0, [r4, #9]
|
|
adds r0, r4, #0
|
|
bl sub_08077D38
|
|
ldr r0, _08076CB8 @ =gLinkEntity
|
|
bl sub_0806F948
|
|
adds r0, r4, #0
|
|
bl sub_08077BB8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08076CB8: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08076CBC
|
|
sub_08076CBC: @ 0x08076CBC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r2, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08076CD2
|
|
adds r0, r4, #0
|
|
bl sub_08077E78
|
|
b _08076CE8
|
|
_08076CD2:
|
|
movs r0, #0x40
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08076CE2
|
|
adds r0, r4, #0
|
|
movs r1, #0x12
|
|
bl sub_08077C3C
|
|
_08076CE2:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
_08076CE8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08076CEC
|
|
sub_08076CEC: @ 0x08076CEC
|
|
push {lr}
|
|
ldr r3, _08076D00 @ =gUnk_0811BDE8
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08076D00: .4byte gUnk_0811BDE8
|
|
|
|
thumb_func_start sub_08076D04
|
|
sub_08076D04: @ 0x08076D04
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r1, _08076D2C @ =gUnk_03003F80
|
|
movs r0, #0x81
|
|
strb r0, [r1, #3]
|
|
movs r0, #2
|
|
strb r0, [r4, #9]
|
|
ldr r0, _08076D30 @ =gLinkEntity
|
|
bl sub_0806F948
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077D38
|
|
adds r0, r4, #0
|
|
bl sub_08077BB8
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08076D2C: .4byte gUnk_03003F80
|
|
_08076D30: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08076D34
|
|
sub_08076D34: @ 0x08076D34
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
bl sub_08077EFC
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08076D80
|
|
ldr r5, _08076D78 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #3]
|
|
movs r1, #1
|
|
orrs r1, r0
|
|
strb r1, [r5, #3]
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _08076D8C
|
|
ldrb r0, [r4, #4]
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
movs r0, #0
|
|
strb r0, [r4, #0xf]
|
|
movs r1, #8
|
|
asrs r1, r6
|
|
ldrb r0, [r5, #0xa]
|
|
bics r0, r1
|
|
strb r0, [r5, #0xa]
|
|
ldr r0, _08076D7C @ =0x0000015D
|
|
bl sub_080A3268
|
|
b _08076D8C
|
|
.align 2, 0
|
|
_08076D78: .4byte gUnk_03003F80
|
|
_08076D7C: .4byte 0x0000015D
|
|
_08076D80:
|
|
ldr r0, _08076D90 @ =gUnk_03003F80
|
|
strb r1, [r0, #3]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
_08076D8C:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08076D90: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08076D94
|
|
sub_08076D94: @ 0x08076D94
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077EFC
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08076DBC
|
|
ldr r2, _08076DB8 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #3]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r2, #3]
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
b _08076DC8
|
|
.align 2, 0
|
|
_08076DB8: .4byte gUnk_03003F80
|
|
_08076DBC:
|
|
ldr r0, _08076DCC @ =gUnk_03003F80
|
|
strb r1, [r0, #3]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08076DC8:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08076DCC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08076DD0
|
|
sub_08076DD0: @ 0x08076DD0
|
|
push {lr}
|
|
ldr r2, _08076DEC @ =gUnk_03003F80
|
|
adds r2, #0xa8
|
|
movs r3, #3
|
|
strb r3, [r2]
|
|
ldr r3, _08076DF0 @ =gUnk_0811BDF4
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08076DEC: .4byte gUnk_03003F80
|
|
_08076DF0: .4byte gUnk_0811BDF4
|
|
|
|
thumb_func_start sub_08076DF4
|
|
sub_08076DF4: @ 0x08076DF4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
adds r7, r1, #0
|
|
ldr r0, _08076E48 @ =gLinkEntity
|
|
mov r8, r0
|
|
bl sub_0807A894
|
|
cmp r0, #0x29
|
|
beq _08076E50
|
|
ldr r6, _08076E4C @ =gUnk_03003F80
|
|
ldrb r0, [r6, #0x12]
|
|
cmp r0, #0x12
|
|
beq _08076E50
|
|
cmp r0, #0x13
|
|
beq _08076E50
|
|
ldrb r5, [r6, #2]
|
|
cmp r5, #0
|
|
bne _08076E50
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
bl sub_08077D38
|
|
strb r5, [r4, #7]
|
|
mov r1, r8
|
|
ldrb r0, [r1, #0x14]
|
|
strb r0, [r4, #0xa]
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
adds r0, #1
|
|
strb r0, [r4, #9]
|
|
movs r0, #1
|
|
strb r0, [r6, #0x1d]
|
|
mov r1, r8
|
|
str r5, [r1, #0x74]
|
|
strb r0, [r6, #0x1c]
|
|
adds r0, r4, #0
|
|
bl sub_08077BB8
|
|
b _08076E58
|
|
.align 2, 0
|
|
_08076E48: .4byte gLinkEntity
|
|
_08076E4C: .4byte gUnk_03003F80
|
|
_08076E50:
|
|
adds r0, r4, #0
|
|
adds r1, r7, #0
|
|
bl sub_08077E78
|
|
_08076E58:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08076E60
|
|
sub_08076E60: @ 0x08076E60
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r5, _08076EB4 @ =gUnk_03003F80
|
|
ldrb r1, [r5, #0x1c]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076E7A
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
_08076E7A:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08076EC0
|
|
movs r0, #2
|
|
strb r0, [r4, #4]
|
|
ldr r1, _08076EB8 @ =0x00000504
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
movs r1, #8
|
|
asrs r1, r6
|
|
ldrb r0, [r5, #0xa]
|
|
bics r0, r1
|
|
strb r0, [r5, #0xa]
|
|
movs r0, #0x10
|
|
movs r1, #0
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_08077CB8
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08076EC6
|
|
ldr r0, _08076EBC @ =gLinkEntity
|
|
str r0, [r1, #0x50]
|
|
b _08076EC6
|
|
.align 2, 0
|
|
_08076EB4: .4byte gUnk_03003F80
|
|
_08076EB8: .4byte 0x00000504
|
|
_08076EBC: .4byte gLinkEntity
|
|
_08076EC0:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
_08076EC6:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08076EC8
|
|
sub_08076EC8: @ 0x08076EC8
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r5, _08076EE4 @ =gUnk_03003F80
|
|
ldrb r1, [r5, #0x1c]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08076EE8
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
b _08076F60
|
|
.align 2, 0
|
|
_08076EE4: .4byte gUnk_03003F80
|
|
_08076EE8:
|
|
adds r0, r4, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _08076F50
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0xef
|
|
bls _08076EFC
|
|
movs r0, #3
|
|
b _08076F0E
|
|
_08076EFC:
|
|
adds r0, #1
|
|
strb r0, [r4, #7]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x77
|
|
bls _08076F0C
|
|
movs r0, #2
|
|
b _08076F0E
|
|
_08076F0C:
|
|
movs r0, #1
|
|
_08076F0E:
|
|
strb r0, [r5, #0x1d]
|
|
ldr r0, _08076F1C @ =gLinkEntity
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0x1b
|
|
bne _08076F24
|
|
ldr r1, _08076F20 @ =0x00000524
|
|
b _08076F36
|
|
.align 2, 0
|
|
_08076F1C: .4byte gLinkEntity
|
|
_08076F20: .4byte 0x00000524
|
|
_08076F24:
|
|
ldr r0, _08076F44 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0xd]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
movs r1, #0xa3
|
|
lsls r1, r1, #3
|
|
cmp r0, #0
|
|
beq _08076F36
|
|
subs r1, #0x14
|
|
_08076F36:
|
|
ldrh r0, [r4, #0x10]
|
|
cmp r1, r0
|
|
beq _08076F48
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _08076F60
|
|
.align 2, 0
|
|
_08076F44: .4byte gUnk_03003F80
|
|
_08076F48:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
b _08076F60
|
|
_08076F50:
|
|
ldrb r0, [r4, #4]
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
movs r0, #8
|
|
asrs r0, r6
|
|
ldrb r1, [r5, #0xa]
|
|
orrs r0, r1
|
|
strb r0, [r5, #0xa]
|
|
_08076F60:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08076F64
|
|
sub_08076F64: @ 0x08076F64
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldr r1, _08076F84 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #0x1c]
|
|
movs r2, #0xf
|
|
ands r2, r0
|
|
adds r3, r1, #0
|
|
cmp r2, #7
|
|
bls _08076F7A
|
|
b _080770EC
|
|
_08076F7A:
|
|
lsls r0, r2, #2
|
|
ldr r1, _08076F88 @ =_08076F8C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08076F84: .4byte gUnk_03003F80
|
|
_08076F88: .4byte _08076F8C
|
|
_08076F8C: @ jump table
|
|
.4byte _08077100 @ case 0
|
|
.4byte _080770EC @ case 1
|
|
.4byte _080770EC @ case 2
|
|
.4byte _0807704C @ case 3
|
|
.4byte _08077052 @ case 4
|
|
.4byte _08076FAC @ case 5
|
|
.4byte _080770B8 @ case 6
|
|
.4byte _080770D0 @ case 7
|
|
_08076FAC:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r5, #0x80
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807700E
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _08077004
|
|
movs r0, #0
|
|
strb r0, [r4, #8]
|
|
strb r0, [r4, #7]
|
|
movs r1, #1
|
|
strb r1, [r3, #0x1d]
|
|
ldr r5, _08076FFC @ =gLinkEntity
|
|
str r0, [r5, #0x74]
|
|
strb r1, [r3, #0x1c]
|
|
movs r1, #8
|
|
asrs r1, r6
|
|
ldrb r0, [r3, #0xa]
|
|
bics r0, r1
|
|
strb r0, [r3, #0xa]
|
|
movs r0, #2
|
|
strb r0, [r4, #4]
|
|
ldr r1, _08077000 @ =0x00000504
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
movs r0, #0x10
|
|
movs r1, #0
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_08077CB8
|
|
cmp r0, #0
|
|
bne _08076FF6
|
|
b _08077110
|
|
_08076FF6:
|
|
str r5, [r0, #0x50]
|
|
b _08077110
|
|
.align 2, 0
|
|
_08076FFC: .4byte gLinkEntity
|
|
_08077000: .4byte 0x00000504
|
|
_08077004:
|
|
movs r0, #6
|
|
strb r0, [r3, #0x1c]
|
|
movs r1, #0xa2
|
|
lsls r1, r1, #3
|
|
b _080770F2
|
|
_0807700E:
|
|
adds r0, r4, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _0807701C
|
|
movs r0, #1
|
|
strb r0, [r4, #8]
|
|
_0807701C:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldr r0, _08077044 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08077110
|
|
ldr r0, _08077048 @ =gLinkEntity
|
|
ldrb r1, [r0, #0x14]
|
|
lsls r1, r1, #2
|
|
movs r2, #0x10
|
|
eors r1, r2
|
|
strb r1, [r0, #0x15]
|
|
strh r5, [r0, #0x24]
|
|
bl sub_08079E08
|
|
b _08077110
|
|
.align 2, 0
|
|
_08077044: .4byte gUnk_03003F80
|
|
_08077048: .4byte gLinkEntity
|
|
_0807704C:
|
|
ldr r1, _080770B0 @ =gUnk_03003F80
|
|
movs r0, #4
|
|
strb r0, [r1, #0x1c]
|
|
_08077052:
|
|
adds r0, r4, #0
|
|
bl sub_08077EFC
|
|
cmp r0, #0
|
|
beq _08077060
|
|
movs r0, #1
|
|
strb r0, [r4, #8]
|
|
_08077060:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807708C
|
|
ldr r1, _080770B0 @ =gUnk_03003F80
|
|
movs r2, #0
|
|
movs r0, #5
|
|
strb r0, [r1, #0x1c]
|
|
ldr r0, _080770B4 @ =gLinkEntity
|
|
str r2, [r0, #0x70]
|
|
ldrb r0, [r1, #0x1d]
|
|
cmp r0, #0
|
|
beq _0807708C
|
|
movs r0, #0x11
|
|
movs r1, #0
|
|
movs r3, #0
|
|
bl sub_08077CB8
|
|
_0807708C:
|
|
ldr r0, _080770B0 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08077110
|
|
ldr r2, _080770B4 @ =gLinkEntity
|
|
ldrb r0, [r2, #0x14]
|
|
lsls r0, r0, #2
|
|
movs r1, #0x10
|
|
eors r0, r1
|
|
strb r0, [r2, #0x15]
|
|
movs r0, #0x80
|
|
strh r0, [r2, #0x24]
|
|
bl sub_08079E08
|
|
b _08077110
|
|
.align 2, 0
|
|
_080770B0: .4byte gUnk_03003F80
|
|
_080770B4: .4byte gLinkEntity
|
|
_080770B8:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077110
|
|
ldr r3, _080770CC @ =gUnk_03003F80
|
|
b _08077100
|
|
.align 2, 0
|
|
_080770CC: .4byte gUnk_03003F80
|
|
_080770D0:
|
|
ldr r1, _080770E4 @ =0x00000514
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
ldr r1, _080770E8 @ =gUnk_03003F80
|
|
movs r2, #0
|
|
movs r0, #3
|
|
strb r0, [r1, #0x1c]
|
|
strb r2, [r1, #0x1d]
|
|
b _08077110
|
|
.align 2, 0
|
|
_080770E4: .4byte 0x00000514
|
|
_080770E8: .4byte gUnk_03003F80
|
|
_080770EC:
|
|
movs r0, #3
|
|
strb r0, [r3, #0x1c]
|
|
ldr r1, _080770FC @ =0x00000514
|
|
_080770F2:
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _08077110
|
|
.align 2, 0
|
|
_080770FC: .4byte 0x00000514
|
|
_08077100:
|
|
movs r1, #0
|
|
strb r1, [r3, #0x1c]
|
|
ldr r0, _08077114 @ =gLinkEntity
|
|
str r1, [r0, #0x70]
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
_08077110:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08077114: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077118
|
|
sub_08077118: @ 0x08077118
|
|
push {lr}
|
|
ldr r3, _0807712C @ =gUnk_0811BE04
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807712C: .4byte gUnk_0811BE04
|
|
|
|
thumb_func_start sub_08077130
|
|
sub_08077130: @ 0x08077130
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _0807718C @ =gUnk_03003F80
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
bne _080771B6
|
|
adds r0, r4, #0
|
|
bl sub_08077D38
|
|
adds r0, r5, #0
|
|
adds r0, #0x3d
|
|
movs r6, #1
|
|
strb r6, [r0]
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #9]
|
|
bl sub_080774A0
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _080771A8
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0
|
|
bne _080771C4
|
|
ldr r1, _08077190 @ =0x0000050C
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
movs r0, #2
|
|
strb r0, [r4, #4]
|
|
cmp r5, #0x56
|
|
bne _080771C4
|
|
ldr r2, _08077194 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x14]
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077198
|
|
ldrh r0, [r2, #0x32]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #6
|
|
orrs r1, r0
|
|
strh r1, [r2, #0x32]
|
|
b _080771C4
|
|
.align 2, 0
|
|
_0807718C: .4byte gUnk_03003F80
|
|
_08077190: .4byte 0x0000050C
|
|
_08077194: .4byte gLinkEntity
|
|
_08077198:
|
|
ldrh r0, [r2, #0x2e]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #8
|
|
orrs r1, r0
|
|
strh r1, [r2, #0x2e]
|
|
b _080771C4
|
|
_080771A8:
|
|
movs r1, #0xa1
|
|
lsls r1, r1, #3
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
strb r6, [r4, #4]
|
|
b _080771C4
|
|
_080771B6:
|
|
adds r0, r4, #0
|
|
bl sub_08077E78
|
|
adds r1, r5, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
_080771C4:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080771C8
|
|
sub_080771C8: @ 0x080771C8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080771F4
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
ldr r0, _080771F0 @ =gUnk_03003F80
|
|
adds r0, #0x3d
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
b _080772A4
|
|
.align 2, 0
|
|
_080771F0: .4byte gUnk_03003F80
|
|
_080771F4:
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807720E
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0xff
|
|
bne _0807720E
|
|
ldr r0, _08077240 @ =gLinkEntity
|
|
ldrb r2, [r4, #0xe]
|
|
movs r1, #0x1e
|
|
movs r3, #1
|
|
bl sub_080A2988
|
|
_0807720E:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080772A4
|
|
ldr r5, _08077240 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
movs r1, #0xd
|
|
adds r2, r4, #0
|
|
bl sub_0800875A
|
|
cmp r0, #0
|
|
bne _08077248
|
|
movs r1, #0xa4
|
|
lsls r1, r1, #3
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
movs r0, #3
|
|
strb r0, [r4, #4]
|
|
ldr r0, _08077244 @ =0x00000107
|
|
bl sub_080A3268
|
|
b _080772A4
|
|
.align 2, 0
|
|
_08077240: .4byte gLinkEntity
|
|
_08077244: .4byte 0x00000107
|
|
_08077248:
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0xff
|
|
beq _0807728C
|
|
ldrb r3, [r4, #3]
|
|
adds r0, r5, #0
|
|
movs r1, #0x1f
|
|
movs r2, #0
|
|
bl sub_080A2988
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
beq _0807729C
|
|
ldrb r0, [r4, #7]
|
|
movs r2, #0
|
|
strb r0, [r3, #0xe]
|
|
ldrb r0, [r4, #8]
|
|
strb r0, [r3, #0xf]
|
|
ldrb r1, [r5, #0x14]
|
|
movs r0, #6
|
|
ands r0, r1
|
|
strb r0, [r3, #0x14]
|
|
adds r0, r5, #0
|
|
adds r0, #0x5a
|
|
strb r2, [r0]
|
|
ldr r1, _08077288 @ =gUnk_0811BE14
|
|
ldrb r0, [r4, #8]
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
adds r0, r5, #0
|
|
adds r0, #0x59
|
|
strb r1, [r0]
|
|
b _0807729C
|
|
.align 2, 0
|
|
_08077288: .4byte gUnk_0811BE14
|
|
_0807728C:
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0xf
|
|
bne _0807729C
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0x17
|
|
bne _0807729C
|
|
movs r0, #0
|
|
strb r0, [r4, #8]
|
|
_0807729C:
|
|
movs r0, #0x84
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_080772A4:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080772A8
|
|
sub_080772A8: @ 0x080772A8
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080772C6
|
|
adds r0, r4, #0
|
|
bl sub_08077F10
|
|
cmp r0, #0
|
|
beq _080772C6
|
|
movs r0, #1
|
|
strb r0, [r4, #7]
|
|
_080772C6:
|
|
movs r0, #0x71
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _08077318
|
|
ldrb r1, [r4, #0xe]
|
|
movs r5, #7
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, #3
|
|
beq _08077300
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_08077E3C
|
|
ldr r3, _080772F8 @ =gLinkEntity
|
|
ldr r2, _080772FC @ =gUnk_0811BE16
|
|
ldrb r1, [r4, #0xe]
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
lsls r0, r0, #1
|
|
b _0807732E
|
|
.align 2, 0
|
|
_080772F8: .4byte gLinkEntity
|
|
_080772FC: .4byte gUnk_0811BE16
|
|
_08077300:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldr r3, _08077310 @ =gLinkEntity
|
|
ldr r2, _08077314 @ =gUnk_0811BE16
|
|
ldrb r1, [r4, #0xe]
|
|
adds r0, r5, #0
|
|
b _08077326
|
|
.align 2, 0
|
|
_08077310: .4byte gLinkEntity
|
|
_08077314: .4byte gUnk_0811BE16
|
|
_08077318:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldr r3, _0807736C @ =gLinkEntity
|
|
ldr r2, _08077370 @ =gUnk_0811BE16
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #7
|
|
_08077326:
|
|
ands r0, r1
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
_0807732E:
|
|
strh r0, [r3, #0x24]
|
|
ldr r5, _0807736C @ =gLinkEntity
|
|
ldrb r0, [r5, #0x14]
|
|
lsls r0, r0, #2
|
|
strb r0, [r5, #0x15]
|
|
movs r1, #0x24
|
|
ldrsh r0, [r5, r1]
|
|
cmp r0, #0
|
|
beq _08077344
|
|
bl sub_08079E08
|
|
_08077344:
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807738C
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0
|
|
beq _08077374
|
|
adds r0, r5, #0
|
|
adds r0, #0x59
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
bl sub_080774A0
|
|
cmp r0, #0
|
|
beq _08077374
|
|
movs r0, #0
|
|
strb r0, [r4, #7]
|
|
b _0807743E
|
|
.align 2, 0
|
|
_0807736C: .4byte gLinkEntity
|
|
_08077370: .4byte gUnk_0811BE16
|
|
_08077374:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077E78
|
|
ldr r0, _08077388 @ =gUnk_03003F80
|
|
adds r0, #0x3d
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
b _0807743E
|
|
.align 2, 0
|
|
_08077388: .4byte gUnk_03003F80
|
|
_0807738C:
|
|
movs r0, #0x60
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807743E
|
|
adds r0, r5, #0
|
|
adds r0, #0x59
|
|
movs r6, #1
|
|
strb r6, [r0]
|
|
adds r0, r5, #0
|
|
bl sub_0807B5B0
|
|
cmp r0, #0
|
|
beq _080773BC
|
|
movs r0, #0x84
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
ldrb r2, [r4, #0xe]
|
|
adds r0, r5, #0
|
|
movs r1, #0x1e
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
b _0807743E
|
|
_080773BC:
|
|
ldr r1, _08077440 @ =0x0000051C
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
adds r0, r5, #0
|
|
movs r1, #0x1d
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
beq _080773F6
|
|
ldrb r0, [r4, #0xa]
|
|
strb r0, [r3, #0x14]
|
|
adds r0, r5, #0
|
|
adds r0, #0x29
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
subs r1, #1
|
|
adds r3, #0x29
|
|
movs r0, #7
|
|
ands r1, r0
|
|
ldrb r2, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
_080773F6:
|
|
adds r0, r5, #0
|
|
movs r1, #0x1d
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
beq _08077432
|
|
ldrb r0, [r4, #0xa]
|
|
strb r0, [r3, #0x14]
|
|
adds r0, r5, #0
|
|
adds r0, #0x29
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
subs r1, #1
|
|
movs r0, #0x29
|
|
adds r0, r0, r3
|
|
mov ip, r0
|
|
movs r0, #7
|
|
ands r1, r0
|
|
mov r0, ip
|
|
ldrb r2, [r0]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
strb r6, [r3, #0xf]
|
|
_08077432:
|
|
movs r0, #3
|
|
strb r0, [r4, #4]
|
|
strb r6, [r4, #5]
|
|
ldr r0, _08077444 @ =0x00000119
|
|
bl sub_080A3268
|
|
_0807743E:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08077440: .4byte 0x0000051C
|
|
_08077444: .4byte 0x00000119
|
|
|
|
thumb_func_start sub_08077448
|
|
sub_08077448: @ 0x08077448
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r2, _08077498 @ =gLinkEntity
|
|
ldrb r0, [r2, #0x14]
|
|
lsls r0, r0, #2
|
|
movs r1, #0x10
|
|
eors r0, r1
|
|
strb r0, [r2, #0x15]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
strh r0, [r2, #0x24]
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077474
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0
|
|
beq _08077474
|
|
bl sub_08079E08
|
|
_08077474:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077494
|
|
ldr r0, _0807749C @ =gUnk_03003F80
|
|
adds r0, #0x3d
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08077494:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08077498: .4byte gLinkEntity
|
|
_0807749C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_080774A0
|
|
sub_080774A0: @ 0x080774A0
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r3, _080774FC @ =gLinkEntity
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r3, r0]
|
|
ldr r5, _08077500 @ =gUnk_0811BE1E
|
|
ldrb r0, [r3, #0x14]
|
|
movs r1, #6
|
|
ands r1, r0
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
adds r2, r2, r0
|
|
ldr r4, _08077504 @ =gUnk_03000BF0
|
|
ldrh r0, [r4, #6]
|
|
subs r2, r2, r0
|
|
asrs r6, r2, #4
|
|
movs r2, #0x3f
|
|
ands r6, r2
|
|
movs r7, #0x32
|
|
ldrsh r0, [r3, r7]
|
|
adds r1, #1
|
|
adds r1, r1, r5
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
adds r0, r0, r1
|
|
ldrh r1, [r4, #8]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
ands r0, r2
|
|
lsls r0, r0, #6
|
|
orrs r6, r0
|
|
adds r4, r3, #0
|
|
adds r4, #0x38
|
|
ldrb r1, [r4]
|
|
adds r0, r6, #0
|
|
bl sub_080002E0
|
|
cmp r0, #0x16
|
|
bhi _080774F6
|
|
cmp r0, #0xe
|
|
bhi _08077508
|
|
_080774F6:
|
|
movs r0, #0
|
|
b _0807751A
|
|
.align 2, 0
|
|
_080774FC: .4byte gLinkEntity
|
|
_08077500: .4byte gUnk_0811BE1E
|
|
_08077504: .4byte gUnk_03000BF0
|
|
_08077508:
|
|
adds r0, r6, #0
|
|
ldrb r1, [r4]
|
|
bl sub_080002C8
|
|
cmp r0, #0x56
|
|
bne _08077518
|
|
movs r0, #0x56
|
|
b _0807751A
|
|
_08077518:
|
|
movs r0, #1
|
|
_0807751A:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0807751C
|
|
sub_0807751C: @ 0x0807751C
|
|
push {lr}
|
|
ldr r3, _08077530 @ =gUnk_0811BE28
|
|
ldrb r2, [r0, #4]
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r3
|
|
ldr r2, [r2]
|
|
bl _call_via_r2
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077530: .4byte gUnk_0811BE28
|
|
|
|
thumb_func_start sub_08077534
|
|
sub_08077534: @ 0x08077534
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_08077D38
|
|
ldr r0, _08077570 @ =gLinkEntity
|
|
bl sub_0806F948
|
|
adds r0, r4, #0
|
|
bl sub_08077BB8
|
|
ldrb r1, [r4, #9]
|
|
movs r0, #0xf
|
|
orrs r0, r1
|
|
strb r0, [r4, #9]
|
|
ldrb r1, [r4, #1]
|
|
ldr r0, _08077574 @ =gUnk_02002A40
|
|
adds r0, r0, r1
|
|
adds r0, #0x9a
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #7]
|
|
ldrb r0, [r4, #7]
|
|
subs r0, #0x20
|
|
cmp r0, #0x11
|
|
bhi _080775F8
|
|
lsls r0, r0, #2
|
|
ldr r1, _08077578 @ =_0807757C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08077570: .4byte gLinkEntity
|
|
_08077574: .4byte gUnk_02002A40
|
|
_08077578: .4byte _0807757C
|
|
_0807757C: @ jump table
|
|
.4byte _080775C4 @ case 0
|
|
.4byte _080775D4 @ case 1
|
|
.4byte _080775D4 @ case 2
|
|
.4byte _080775D4 @ case 3
|
|
.4byte _080775D4 @ case 4
|
|
.4byte _080775D4 @ case 5
|
|
.4byte _080775F8 @ case 6
|
|
.4byte _080775F8 @ case 7
|
|
.4byte _080775F8 @ case 8
|
|
.4byte _080775D4 @ case 9
|
|
.4byte _080775D4 @ case 10
|
|
.4byte _080775D4 @ case 11
|
|
.4byte _080775D4 @ case 12
|
|
.4byte _080775D4 @ case 13
|
|
.4byte _080775D4 @ case 14
|
|
.4byte _080775F8 @ case 15
|
|
.4byte _080775F8 @ case 16
|
|
.4byte _080775F8 @ case 17
|
|
_080775C4:
|
|
ldr r1, _080775D0 @ =0x00000614
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _08077610
|
|
.align 2, 0
|
|
_080775D0: .4byte 0x00000614
|
|
_080775D4:
|
|
movs r0, #3
|
|
strb r0, [r4, #4]
|
|
ldr r1, _080775F0 @ =gLinkEntity
|
|
movs r0, #4
|
|
strb r0, [r1, #0x14]
|
|
ldrb r2, [r1, #0x18]
|
|
subs r0, #0x45
|
|
ands r0, r2
|
|
strb r0, [r1, #0x18]
|
|
ldr r1, _080775F4 @ =0x000002DF
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
b _08077606
|
|
.align 2, 0
|
|
_080775F0: .4byte gLinkEntity
|
|
_080775F4: .4byte 0x000002DF
|
|
_080775F8:
|
|
movs r0, #3
|
|
strb r0, [r4, #4]
|
|
movs r1, #0xc2
|
|
lsls r1, r1, #3
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_08077606:
|
|
ldr r2, _08077614 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r2, #0x10]
|
|
_08077610:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08077614: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077618
|
|
sub_08077618: @ 0x08077618
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077638
|
|
movs r1, #0xc3
|
|
lsls r1, r1, #3
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
ldrb r0, [r4, #4]
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
b _0807763E
|
|
_08077638:
|
|
adds r0, r4, #0
|
|
bl sub_08077E24
|
|
_0807763E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08077640
|
|
sub_08077640: @ 0x08077640
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077666
|
|
ldr r2, _08077668 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x10]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08077666:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08077668: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807766C
|
|
sub_0807766C: @ 0x0807766C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08077E24
|
|
ldrb r1, [r4, #0xe]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077692
|
|
ldr r2, _08077694 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x10]
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
_08077692:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08077694: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077698
|
|
sub_08077698: @ 0x08077698
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r2, _0807771C @ =gUnk_03003F80
|
|
ldrb r1, [r2, #3]
|
|
movs r0, #0xfe
|
|
ands r0, r1
|
|
strb r0, [r2, #3]
|
|
ldrb r1, [r2, #4]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
strb r0, [r2, #4]
|
|
ldrb r0, [r2, #7]
|
|
ldrb r3, [r2, #2]
|
|
orrs r0, r3
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08077700
|
|
movs r0, #0x40
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
bne _08077700
|
|
adds r0, r2, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08077700
|
|
adds r0, r4, #0
|
|
bl sub_08077758
|
|
cmp r0, #0
|
|
beq _08077700
|
|
bl sub_080777A0
|
|
cmp r0, #0
|
|
bne _08077700
|
|
ldr r4, _08077720 @ =gUnk_02002A40
|
|
adds r0, r4, #0
|
|
adds r0, #0xb4
|
|
ldrb r0, [r0]
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_08077880
|
|
adds r4, #0xb5
|
|
ldrb r0, [r4]
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_08077880
|
|
bl sub_080778CC
|
|
_08077700:
|
|
movs r5, #0
|
|
ldr r4, _08077724 @ =gUnk_03000B80
|
|
_08077704:
|
|
ldrb r0, [r4, #9]
|
|
cmp r0, #0
|
|
beq _08077712
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_080752E8
|
|
_08077712:
|
|
adds r4, #0x1c
|
|
adds r5, #1
|
|
cmp r5, #3
|
|
bls _08077704
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807771C: .4byte gUnk_03003F80
|
|
_08077720: .4byte gUnk_02002A40
|
|
_08077724: .4byte gUnk_03000B80
|
|
|
|
thumb_func_start sub_08077728
|
|
sub_08077728: @ 0x08077728
|
|
push {lr}
|
|
cmp r0, #0
|
|
bne _08077744
|
|
ldr r0, _08077740 @ =gUnk_02002A40
|
|
adds r0, #0xb4
|
|
ldrb r0, [r0]
|
|
movs r1, #1
|
|
movs r2, #1
|
|
bl sub_08077880
|
|
b _08077752
|
|
.align 2, 0
|
|
_08077740: .4byte gUnk_02002A40
|
|
_08077744:
|
|
ldr r0, _08077754 @ =gUnk_02002A40
|
|
adds r0, #0xb5
|
|
ldrb r0, [r0]
|
|
movs r1, #2
|
|
movs r2, #1
|
|
bl sub_08077880
|
|
_08077752:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077754: .4byte gUnk_02002A40
|
|
|
|
thumb_func_start sub_08077758
|
|
sub_08077758: @ 0x08077758
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r2, _08077794 @ =gUnk_03003F80
|
|
ldr r1, [r2, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807779C
|
|
movs r0, #0xd5
|
|
lsls r0, r0, #4
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08077798
|
|
ldrb r0, [r2, #0x1e]
|
|
ldrb r1, [r2, #0x1a]
|
|
orrs r1, r0
|
|
adds r0, r3, #0
|
|
adds r0, #0x7a
|
|
ldrh r0, [r0]
|
|
orrs r1, r0
|
|
cmp r1, #0
|
|
bne _0807779C
|
|
adds r0, r3, #0
|
|
adds r0, #0x42
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0807779C
|
|
movs r0, #1
|
|
b _0807779E
|
|
.align 2, 0
|
|
_08077794: .4byte gUnk_03003F80
|
|
_08077798:
|
|
bl sub_0807A108
|
|
_0807779C:
|
|
movs r0, #0
|
|
_0807779E:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080777A0
|
|
sub_080777A0: @ 0x080777A0
|
|
push {r4, lr}
|
|
ldr r3, _080777D0 @ =gUnk_03003F80
|
|
adds r0, r3, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r4, #0x80
|
|
adds r0, r4, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077870
|
|
ldr r1, [r3, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080777D4
|
|
adds r1, r3, #0
|
|
adds r1, #0xa0
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
bl sub_0807A108
|
|
_080777CC:
|
|
movs r0, #1
|
|
b _0807787C
|
|
.align 2, 0
|
|
_080777D0: .4byte gUnk_03003F80
|
|
_080777D4:
|
|
ldr r2, _080777F4 @ =gUnk_02033A90
|
|
ldrb r0, [r2, #0x18]
|
|
cmp r0, #2
|
|
beq _080777FC
|
|
cmp r0, #3
|
|
beq _08077810
|
|
ldr r0, _080777F8 @ =gUnk_0200AF00
|
|
adds r0, #0x2c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xc
|
|
bne _0807787A
|
|
adds r2, r3, #0
|
|
ldrb r0, [r2, #0x1c]
|
|
cmp r0, #0
|
|
bne _0807787A
|
|
b _08077838
|
|
.align 2, 0
|
|
_080777F4: .4byte gUnk_02033A90
|
|
_080777F8: .4byte gUnk_0200AF00
|
|
_080777FC:
|
|
ldrb r0, [r2, #0x1a]
|
|
cmp r0, #0
|
|
bne _080777CC
|
|
ldr r1, _0807780C @ =gLinkEntity
|
|
ldrb r0, [r1, #0xd]
|
|
adds r0, #1
|
|
strb r0, [r1, #0xd]
|
|
b _080777CC
|
|
.align 2, 0
|
|
_0807780C: .4byte gLinkEntity
|
|
_08077810:
|
|
ldrb r0, [r2, #0x1a]
|
|
cmp r0, #0
|
|
bne _0807787A
|
|
ands r1, r4
|
|
cmp r1, #0
|
|
beq _0807787A
|
|
ldr r0, _08077834 @ =gLinkEntity
|
|
ldrb r1, [r0, #0xd]
|
|
adds r1, #1
|
|
strb r1, [r0, #0xd]
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
movs r1, #0xb4
|
|
bl sub_0805E4E0
|
|
b _080777CC
|
|
.align 2, 0
|
|
_08077834: .4byte gLinkEntity
|
|
_08077838:
|
|
ldrb r0, [r2, #0x12]
|
|
cmp r0, #0x11
|
|
beq _0807787A
|
|
adds r0, r2, #0
|
|
adds r0, #0x90
|
|
ldrh r1, [r0]
|
|
movs r0, #0xf0
|
|
lsls r0, r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807787A
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _0807786C @ =0x00040400
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807787A
|
|
ldrb r0, [r2, #2]
|
|
cmp r0, #0
|
|
bne _0807787A
|
|
ldrb r0, [r2, #4]
|
|
cmp r0, #0
|
|
bne _0807787A
|
|
movs r0, #0x18
|
|
strb r0, [r2, #0xc]
|
|
b _0807787A
|
|
.align 2, 0
|
|
_0807786C: .4byte 0x00040400
|
|
_08077870:
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080777CC
|
|
_0807787A:
|
|
movs r0, #0
|
|
_0807787C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08077880
|
|
sub_08077880: @ 0x08077880
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
subs r0, r4, #1
|
|
cmp r0, #0x1e
|
|
bhi _080778C0
|
|
lsls r0, r4, #1
|
|
adds r0, r0, r4
|
|
lsls r0, r0, #2
|
|
ldr r1, _080778C4 @ =gUnk_0811BE48
|
|
adds r5, r0, r1
|
|
ldr r1, _080778C8 @ =gUnk_03004010
|
|
ldrb r0, [r5]
|
|
cmp r0, #0
|
|
beq _080778A0
|
|
adds r1, #2
|
|
_080778A0:
|
|
ldrh r0, [r1]
|
|
ands r0, r6
|
|
cmp r0, #0
|
|
bne _080778AC
|
|
cmp r2, #0
|
|
beq _080778C0
|
|
_080778AC:
|
|
adds r0, r4, #0
|
|
bl sub_0807794C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _080778C0
|
|
ldrb r0, [r5, #1]
|
|
strb r0, [r1, #9]
|
|
strb r4, [r1, #1]
|
|
strb r6, [r1, #3]
|
|
_080778C0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080778C4: .4byte gUnk_0811BE48
|
|
_080778C8: .4byte gUnk_03004010
|
|
|
|
thumb_func_start sub_080778CC
|
|
sub_080778CC: @ 0x080778CC
|
|
push {lr}
|
|
ldr r2, _08077920 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08077924 @ =0x000400A0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807791C
|
|
ldr r0, _08077928 @ =gLinkEntity
|
|
adds r0, #0x79
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080778FA
|
|
ldrb r0, [r2, #5]
|
|
cmp r0, #0
|
|
bne _080778FA
|
|
adds r0, r2, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807791C
|
|
_080778FA:
|
|
bl sub_080789A8
|
|
cmp r0, #0
|
|
bne _08077910
|
|
ldr r0, _08077920 @ =gUnk_03003F80
|
|
adds r0, #0x90
|
|
ldrh r1, [r0]
|
|
ldr r0, _0807792C @ =0x00000F03
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807791C
|
|
_08077910:
|
|
movs r0, #0x1b
|
|
bl sub_0807794C
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
bne _08077930
|
|
_0807791C:
|
|
movs r0, #0
|
|
b _08077940
|
|
.align 2, 0
|
|
_08077920: .4byte gUnk_03003F80
|
|
_08077924: .4byte 0x000400A0
|
|
_08077928: .4byte gLinkEntity
|
|
_0807792C: .4byte 0x00000F03
|
|
_08077930:
|
|
movs r0, #0x1b
|
|
strb r0, [r1, #1]
|
|
ldr r0, _08077944 @ =gUnk_0811BE48
|
|
ldr r2, _08077948 @ =0x00000145
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
strb r0, [r1, #9]
|
|
movs r0, #1
|
|
_08077940:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077944: .4byte gUnk_0811BE48
|
|
_08077948: .4byte 0x00000145
|
|
|
|
thumb_func_start sub_0807794C
|
|
sub_0807794C: @ 0x0807794C
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080779B8 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0xc]
|
|
adds r3, r0, #0
|
|
cmp r1, #0x18
|
|
bne _0807795E
|
|
cmp r2, #0x1b
|
|
bne _080779B2
|
|
_0807795E:
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x88
|
|
lsls r1, r1, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807796E
|
|
cmp r2, #6
|
|
bhi _080779B2
|
|
_0807796E:
|
|
ldrb r0, [r3, #2]
|
|
cmp r0, #0
|
|
bne _0807797C
|
|
ldr r0, _080779BC @ =gLinkEntity
|
|
ldr r0, [r0, #0x34]
|
|
cmp r0, #0
|
|
beq _08077980
|
|
_0807797C:
|
|
cmp r2, #6
|
|
bhi _080779B2
|
|
_08077980:
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807799A
|
|
ldr r0, _080779C0 @ =gUnk_0811BE48
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1, #8]
|
|
cmp r0, #0
|
|
beq _080779B2
|
|
_0807799A:
|
|
ldrb r0, [r3, #0x12]
|
|
cmp r0, #0x11
|
|
bne _080779C4
|
|
adds r0, r3, #0
|
|
adds r0, #0x37
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080779C4
|
|
adds r0, r2, #0
|
|
subs r0, #0x14
|
|
cmp r0, #1
|
|
bls _080779C4
|
|
_080779B2:
|
|
movs r0, #0
|
|
b _080779DE
|
|
.align 2, 0
|
|
_080779B8: .4byte gUnk_03003F80
|
|
_080779BC: .4byte gLinkEntity
|
|
_080779C0: .4byte gUnk_0811BE48
|
|
_080779C4:
|
|
ldr r1, _080779E0 @ =gUnk_0811BE48
|
|
lsls r0, r2, #1
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0, #2]
|
|
ldr r1, _080779E4 @ =gUnk_0811BFC8
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r2, #0
|
|
bl _call_via_r1
|
|
_080779DE:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080779E0: .4byte gUnk_0811BE48
|
|
_080779E4: .4byte gUnk_0811BFC8
|
|
|
|
thumb_func_start sub_080779E8
|
|
sub_080779E8: @ 0x080779E8
|
|
movs r0, #0
|
|
bx lr
|
|
|
|
thumb_func_start sub_080779EC
|
|
sub_080779EC: @ 0x080779EC
|
|
push {lr}
|
|
ldr r1, _08077A00 @ =gUnk_03000B80
|
|
adds r0, r1, #0
|
|
adds r0, #0x25
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08077A04
|
|
adds r0, r1, #0
|
|
adds r0, #0x1c
|
|
b _08077A16
|
|
.align 2, 0
|
|
_08077A00: .4byte gUnk_03000B80
|
|
_08077A04:
|
|
adds r0, r1, #0
|
|
adds r0, #0x41
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08077A12
|
|
movs r0, #0
|
|
b _08077A16
|
|
_08077A12:
|
|
adds r0, r1, #0
|
|
adds r0, #0x38
|
|
_08077A16:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08077A18
|
|
sub_08077A18: @ 0x08077A18
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _08077A3C @ =gUnk_03003F80
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #0
|
|
bne _08077A44
|
|
ldr r0, _08077A40 @ =gUnk_03000B80
|
|
ldrb r2, [r0, #0x1d]
|
|
cmp r1, r2
|
|
beq _08077A44
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
beq _08077A44
|
|
adds r0, r1, #0
|
|
bl sub_080779EC
|
|
b _08077A46
|
|
.align 2, 0
|
|
_08077A3C: .4byte gUnk_03003F80
|
|
_08077A40: .4byte gUnk_03000B80
|
|
_08077A44:
|
|
movs r0, #0
|
|
_08077A46:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08077A48
|
|
sub_08077A48: @ 0x08077A48
|
|
push {r4, r5, r6, lr}
|
|
adds r2, r0, #0
|
|
ldr r6, _08077A88 @ =gUnk_03003F80
|
|
ldrb r0, [r6, #5]
|
|
cmp r0, #0
|
|
bne _08077A94
|
|
ldrb r1, [r6, #2]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #0
|
|
bne _08077A94
|
|
ldr r0, _08077A8C @ =gUnk_0811BE48
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r5, _08077A90 @ =gUnk_03000B80
|
|
ldrb r0, [r1, #1]
|
|
ldrb r1, [r5, #9]
|
|
cmp r0, r1
|
|
blo _08077A94
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_08077E78
|
|
strb r4, [r6, #1]
|
|
strb r4, [r6, #0x1c]
|
|
strb r4, [r6, #0x1b]
|
|
adds r0, r5, #0
|
|
b _08077A96
|
|
.align 2, 0
|
|
_08077A88: .4byte gUnk_03003F80
|
|
_08077A8C: .4byte gUnk_0811BE48
|
|
_08077A90: .4byte gUnk_03000B80
|
|
_08077A94:
|
|
movs r0, #0
|
|
_08077A96:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08077A98
|
|
sub_08077A98: @ 0x08077A98
|
|
push {lr}
|
|
ldr r0, _08077AB8 @ =gUnk_02002A40
|
|
adds r0, #0xac
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08077AC4
|
|
ldr r0, _08077ABC @ =gUnk_03003F80
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #0
|
|
bne _08077AC4
|
|
ldr r1, _08077AC0 @ =gUnk_03000B80
|
|
ldrb r0, [r1, #9]
|
|
cmp r0, #0
|
|
bne _08077AC4
|
|
adds r0, r1, #0
|
|
b _08077AC6
|
|
.align 2, 0
|
|
_08077AB8: .4byte gUnk_02002A40
|
|
_08077ABC: .4byte gUnk_03003F80
|
|
_08077AC0: .4byte gUnk_03000B80
|
|
_08077AC4:
|
|
movs r0, #0
|
|
_08077AC6:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08077AC8
|
|
sub_08077AC8: @ 0x08077AC8
|
|
push {lr}
|
|
movs r2, #0
|
|
ldr r1, _08077AD8 @ =gUnk_03000B80
|
|
_08077ACE:
|
|
ldrb r0, [r1, #9]
|
|
cmp r0, #0
|
|
beq _08077ADC
|
|
movs r0, #0
|
|
b _08077AE6
|
|
.align 2, 0
|
|
_08077AD8: .4byte gUnk_03000B80
|
|
_08077ADC:
|
|
adds r1, #0x1c
|
|
adds r2, #1
|
|
cmp r2, #3
|
|
bls _08077ACE
|
|
ldr r0, _08077AE8 @ =gUnk_03000BD4
|
|
_08077AE6:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077AE8: .4byte gUnk_03000BD4
|
|
|
|
thumb_func_start sub_08077AEC
|
|
sub_08077AEC: @ 0x08077AEC
|
|
push {lr}
|
|
ldr r0, _08077B14 @ =gUnk_03000BD4
|
|
movs r1, #3
|
|
bl sub_08077E78
|
|
ldr r2, _08077B18 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08077B1C @ =0xFF7FFFFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
movs r0, #0x10
|
|
bl sub_0805436C
|
|
adds r1, r0, #0
|
|
cmp r1, #2
|
|
beq _08077B12
|
|
movs r0, #0xf
|
|
bl sub_08054414
|
|
_08077B12:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077B14: .4byte gUnk_03000BD4
|
|
_08077B18: .4byte gUnk_03003F80
|
|
_08077B1C: .4byte 0xFF7FFFFF
|
|
|
|
thumb_func_start sub_08077B20
|
|
sub_08077B20: @ 0x08077B20
|
|
push {lr}
|
|
bl sub_08077B2C
|
|
bl sub_08077AEC
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08077B2C
|
|
sub_08077B2C: @ 0x08077B2C
|
|
push {r4, r5, lr}
|
|
movs r4, #0
|
|
ldr r5, _08077B88 @ =gUnk_03000B80
|
|
_08077B32:
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_08077E78
|
|
adds r5, #0x1c
|
|
adds r4, #1
|
|
cmp r4, #2
|
|
bls _08077B32
|
|
ldr r2, _08077B8C @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x3d
|
|
movs r3, #0
|
|
strb r3, [r0]
|
|
strb r3, [r2, #0x1c]
|
|
subs r0, #0x1c
|
|
strb r3, [r0]
|
|
strb r3, [r2, #1]
|
|
strb r3, [r2, #0xe]
|
|
strb r3, [r2, #0x1e]
|
|
strb r3, [r2, #0x1b]
|
|
strb r3, [r2, #3]
|
|
strb r3, [r2, #5]
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08077B90 @ =0xF7FBFFFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
ldr r0, _08077B94 @ =gLinkEntity
|
|
str r3, [r0, #0x70]
|
|
ldrb r1, [r2, #2]
|
|
movs r0, #0xc0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08077B76
|
|
strb r3, [r2, #2]
|
|
_08077B76:
|
|
adds r1, r2, #0
|
|
adds r1, #0xa8
|
|
ldrb r0, [r1]
|
|
cmp r0, #4
|
|
bgt _08077B86
|
|
cmp r0, #2
|
|
blt _08077B86
|
|
strb r3, [r1]
|
|
_08077B86:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08077B88: .4byte gUnk_03000B80
|
|
_08077B8C: .4byte gUnk_03003F80
|
|
_08077B90: .4byte 0xF7FBFFFF
|
|
_08077B94: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077B98
|
|
sub_08077B98: @ 0x08077B98
|
|
push {r4, lr}
|
|
adds r1, r0, #0
|
|
ldr r4, _08077BB4 @ =gUnk_03003F80
|
|
ldr r0, [r4, #0x2c]
|
|
cmp r0, #0
|
|
beq _08077BAA
|
|
ldrb r0, [r0, #9]
|
|
cmp r0, #1
|
|
beq _08077BB2
|
|
_08077BAA:
|
|
adds r0, r1, #0
|
|
bl sub_08077C54
|
|
str r0, [r4, #0x2c]
|
|
_08077BB2:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08077BB4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08077BB8
|
|
sub_08077BB8: @ 0x08077BB8
|
|
push {lr}
|
|
bl sub_08077C54
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08077BC8
|
|
movs r0, #0x20
|
|
strb r0, [r1, #0x10]
|
|
_08077BC8:
|
|
ldr r0, _08077BD0 @ =gUnk_03003F80
|
|
str r1, [r0, #0x2c]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077BD0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08077BD4
|
|
sub_08077BD4: @ 0x08077BD4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08077C04 @ =gUnk_0811BE48
|
|
ldrb r1, [r4, #1]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldrb r1, [r0, #3]
|
|
adds r0, r4, #0
|
|
bl sub_08077C94
|
|
cmp r0, #0
|
|
bne _08077C08
|
|
ldrb r1, [r4, #1]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldrb r1, [r0, #3]
|
|
adds r0, r4, #0
|
|
bl sub_08077C3C
|
|
b _08077C0A
|
|
.align 2, 0
|
|
_08077C04: .4byte gUnk_0811BE48
|
|
_08077C08:
|
|
movs r0, #0
|
|
_08077C0A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08077C0C
|
|
sub_08077C0C: @ 0x08077C0C
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r2, _08077C34 @ =gUnk_0811BE48
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldrb r4, [r0, #3]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_08077C94
|
|
cmp r0, #0
|
|
bne _08077C38
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_08077C3C
|
|
b _08077C3A
|
|
.align 2, 0
|
|
_08077C34: .4byte gUnk_0811BE48
|
|
_08077C38:
|
|
movs r0, #0
|
|
_08077C3A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08077C3C
|
|
sub_08077C3C: @ 0x08077C3C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r0, r1, #0
|
|
ldrb r3, [r4, #1]
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_08077CB8
|
|
cmp r0, #0
|
|
beq _08077C52
|
|
str r4, [r0, #0x50]
|
|
_08077C52:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08077C54
|
|
sub_08077C54: @ 0x08077C54
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
bl sub_0805E744
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08077C8C
|
|
ldr r2, _08077C90 @ =gUnk_0811BE48
|
|
ldrb r1, [r5, #1]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0, #3]
|
|
strb r0, [r4, #9]
|
|
movs r0, #8
|
|
strb r0, [r4, #8]
|
|
movs r0, #0xa0
|
|
strb r0, [r4, #0x10]
|
|
str r5, [r4, #0x50]
|
|
ldrb r1, [r5, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805EA2C
|
|
_08077C8C:
|
|
adds r0, r4, #0
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08077C90: .4byte gUnk_0811BE48
|
|
|
|
thumb_func_start sub_08077C94
|
|
sub_08077C94: @ 0x08077C94
|
|
push {lr}
|
|
ldr r2, _08077CB4 @ =gUnk_0811BE48
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldrb r1, [r0, #3]
|
|
movs r0, #8
|
|
movs r2, #2
|
|
bl sub_0805EB00
|
|
cmp r0, #0
|
|
bne _08077CB0
|
|
movs r0, #0
|
|
_08077CB0:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077CB4: .4byte gUnk_0811BE48
|
|
|
|
thumb_func_start sub_08077CB8
|
|
sub_08077CB8: @ 0x08077CB8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r7, r2, #0
|
|
mov r8, r3
|
|
bl sub_0805E678
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08077CEE
|
|
movs r0, #0x80
|
|
strb r0, [r4, #0x10]
|
|
movs r0, #8
|
|
strb r0, [r4, #8]
|
|
strb r5, [r4, #9]
|
|
strb r6, [r4, #0xa]
|
|
strb r7, [r4, #0xb]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805EA2C
|
|
_08077CEE:
|
|
adds r0, r4, #0
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08077CF8
|
|
sub_08077CF8: @ 0x08077CF8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r7, r2, #0
|
|
mov r8, r3
|
|
bl sub_0805E744
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _08077D2E
|
|
movs r0, #0x80
|
|
strb r0, [r4, #0x10]
|
|
movs r0, #8
|
|
strb r0, [r4, #8]
|
|
strb r5, [r4, #9]
|
|
strb r6, [r4, #0xa]
|
|
strb r7, [r4, #0xb]
|
|
adds r0, r4, #0
|
|
adds r0, #0x68
|
|
mov r1, r8
|
|
strb r1, [r0]
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0805EA2C
|
|
_08077D2E:
|
|
adds r0, r4, #0
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08077D38
|
|
sub_08077D38: @ 0x08077D38
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r4, r0, #0
|
|
mov r8, r1
|
|
ldr r3, _08077D94 @ =gUnk_03003F80
|
|
movs r7, #8
|
|
adds r1, r7, #0
|
|
mov r0, r8
|
|
asrs r1, r0
|
|
ldrb r2, [r3, #0xa]
|
|
adds r0, r1, #0
|
|
orrs r0, r2
|
|
strb r0, [r3, #0xa]
|
|
ldrb r0, [r3, #0xb]
|
|
orrs r1, r0
|
|
strb r1, [r3, #0xb]
|
|
ldr r0, _08077D98 @ =gLinkEntity
|
|
ldrb r0, [r0, #0x14]
|
|
strb r0, [r4, #0xa]
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #0
|
|
bne _08077D6A
|
|
adds r0, #1
|
|
strb r0, [r4, #4]
|
|
_08077D6A:
|
|
ldrb r2, [r4, #1]
|
|
lsls r0, r2, #1
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #2
|
|
ldr r1, _08077D9C @ =gUnk_0811BE48
|
|
adds r5, r0, r1
|
|
ldrh r0, [r5, #4]
|
|
cmp r0, #0
|
|
beq _08077DCC
|
|
ldr r0, [r3, #0x30]
|
|
ands r0, r7
|
|
cmp r0, #0
|
|
beq _08077DC4
|
|
cmp r2, #0xd
|
|
beq _08077DB2
|
|
cmp r2, #0xd
|
|
bgt _08077DA0
|
|
cmp r2, #1
|
|
beq _08077DAC
|
|
b _08077DB4
|
|
.align 2, 0
|
|
_08077D94: .4byte gUnk_03003F80
|
|
_08077D98: .4byte gLinkEntity
|
|
_08077D9C: .4byte gUnk_0811BE48
|
|
_08077DA0:
|
|
cmp r2, #0x1b
|
|
bne _08077DB4
|
|
ldr r6, _08077DA8 @ =0x00000948
|
|
b _08077DB4
|
|
.align 2, 0
|
|
_08077DA8: .4byte 0x00000948
|
|
_08077DAC:
|
|
movs r6, #0x81
|
|
lsls r6, r6, #3
|
|
b _08077DB4
|
|
_08077DB2:
|
|
ldr r6, _08077DC0 @ =0x0000040C
|
|
_08077DB4:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_08077DF4
|
|
b _08077DCC
|
|
.align 2, 0
|
|
_08077DC0: .4byte 0x0000040C
|
|
_08077DC4:
|
|
ldrh r1, [r5, #4]
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
_08077DCC:
|
|
ldrb r0, [r5, #6]
|
|
strb r0, [r4, #0xf]
|
|
ldrb r0, [r5, #7]
|
|
cmp r0, #0
|
|
beq _08077DE8
|
|
ldr r2, _08077DF0 @ =gUnk_03003F80
|
|
movs r0, #8
|
|
mov r1, r8
|
|
asrs r0, r1
|
|
lsls r1, r0, #4
|
|
orrs r0, r1
|
|
ldrb r1, [r2, #4]
|
|
orrs r0, r1
|
|
strb r0, [r2, #4]
|
|
_08077DE8:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08077DF0: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08077DF4
|
|
sub_08077DF4: @ 0x08077DF4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r1, #0
|
|
strh r2, [r4, #0x10]
|
|
movs r0, #0xff
|
|
ands r0, r2
|
|
cmp r0, #0xb8
|
|
bls _08077E0A
|
|
ldrb r0, [r4, #0xa]
|
|
lsrs r0, r0, #1
|
|
adds r2, r2, r0
|
|
_08077E0A:
|
|
ldr r0, _08077E20 @ =gLinkEntity
|
|
lsrs r1, r2, #8
|
|
strh r1, [r0, #0x12]
|
|
lsls r1, r2, #0x18
|
|
lsrs r1, r1, #0x18
|
|
bl sub_080042AC
|
|
adds r0, r4, #0
|
|
bl sub_08077E54
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08077E20: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077E24
|
|
sub_08077E24: @ 0x08077E24
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08077E38 @ =gLinkEntity
|
|
bl sub_080042B8
|
|
adds r0, r4, #0
|
|
bl sub_08077E54
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08077E38: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077E3C
|
|
sub_08077E3C: @ 0x08077E3C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08077E50 @ =gLinkEntity
|
|
bl sub_080042BA
|
|
adds r0, r4, #0
|
|
bl sub_08077E54
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08077E50: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077E54
|
|
sub_08077E54: @ 0x08077E54
|
|
ldr r2, _08077E74 @ =gLinkEntity
|
|
adds r1, r2, #0
|
|
adds r1, #0x58
|
|
ldrb r1, [r1]
|
|
strb r1, [r0, #0xc]
|
|
ldrb r1, [r2, #0x1e]
|
|
strb r1, [r0, #0x12]
|
|
adds r1, r2, #0
|
|
adds r1, #0x59
|
|
ldrb r1, [r1]
|
|
strb r1, [r0, #0xd]
|
|
adds r1, r2, #0
|
|
adds r1, #0x5a
|
|
ldrb r1, [r1]
|
|
strb r1, [r0, #0xe]
|
|
bx lr
|
|
.align 2, 0
|
|
_08077E74: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08077E78
|
|
sub_08077E78: @ 0x08077E78
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r3, r1, #0
|
|
ldr r4, _08077EC4 @ =gUnk_03003F80
|
|
cmp r3, #0
|
|
bne _08077E9A
|
|
ldr r2, [r4, #0x2c]
|
|
cmp r2, #0
|
|
beq _08077E98
|
|
ldrb r0, [r2, #0x11]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #6
|
|
orrs r1, r0
|
|
strb r1, [r2, #0x11]
|
|
_08077E98:
|
|
str r3, [r4, #0x2c]
|
|
_08077E9A:
|
|
movs r2, #8
|
|
asrs r2, r3
|
|
lsls r1, r2, #4
|
|
orrs r1, r2
|
|
ldrb r0, [r4, #4]
|
|
bics r0, r1
|
|
strb r0, [r4, #4]
|
|
mvns r2, r2
|
|
ldrb r1, [r4, #0xa]
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
strb r0, [r4, #0xa]
|
|
ldrb r0, [r4, #0xb]
|
|
ands r2, r0
|
|
strb r2, [r4, #0xb]
|
|
adds r0, r5, #0
|
|
movs r1, #0x1c
|
|
bl sub_0801D630
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08077EC4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08077EC8
|
|
sub_08077EC8: @ 0x08077EC8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, _08077EDC @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x1b]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08077EE0
|
|
movs r0, #0
|
|
b _08077EF8
|
|
.align 2, 0
|
|
_08077EDC: .4byte gUnk_03003F80
|
|
_08077EE0:
|
|
movs r1, #0xb8
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_08077DF4
|
|
movs r0, #0x28
|
|
strb r0, [r4, #7]
|
|
movs r0, #7
|
|
strb r0, [r4, #4]
|
|
movs r0, #6
|
|
strb r0, [r4, #0xf]
|
|
movs r0, #1
|
|
_08077EF8:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08077EFC
|
|
sub_08077EFC: @ 0x08077EFC
|
|
push {lr}
|
|
ldr r1, _08077F0C @ =gUnk_03003F80
|
|
adds r1, #0x90
|
|
ldrh r1, [r1]
|
|
bl sub_08077F24
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077F0C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08077F10
|
|
sub_08077F10: @ 0x08077F10
|
|
push {lr}
|
|
ldr r1, _08077F20 @ =gUnk_03003F80
|
|
adds r1, #0x92
|
|
ldrh r1, [r1]
|
|
bl sub_08077F24
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08077F20: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08077F24
|
|
sub_08077F24: @ 0x08077F24
|
|
push {lr}
|
|
ldr r2, _08077F34 @ =gUnk_02002AE8
|
|
ldrb r3, [r0, #1]
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, r3
|
|
bne _08077F38
|
|
movs r2, #1
|
|
b _08077F42
|
|
.align 2, 0
|
|
_08077F34: .4byte gUnk_02002AE8
|
|
_08077F38:
|
|
ldrb r0, [r2, #0xd]
|
|
movs r2, #0
|
|
cmp r0, r3
|
|
bne _08077F42
|
|
movs r2, #2
|
|
_08077F42:
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08077F4C
|
|
movs r0, #1
|
|
_08077F4C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08077F50
|
|
sub_08077F50: @ 0x08077F50
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_08079184
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_08077E78
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08077F64
|
|
sub_08077F64: @ 0x08077F64
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08077F7C @ =gUnk_03003F80
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #0
|
|
bne _08077F80
|
|
adds r0, r2, #0
|
|
bl sub_08077F50
|
|
movs r0, #0
|
|
b _08077F82
|
|
.align 2, 0
|
|
_08077F7C: .4byte gUnk_03003F80
|
|
_08077F80:
|
|
movs r0, #1
|
|
_08077F82:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08077F84
|
|
sub_08077F84: @ 0x08077F84
|
|
push {r4, lr}
|
|
ldr r4, _08077FE0 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08077FDE
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r4, r1]
|
|
movs r2, #0x32
|
|
ldrsh r1, [r4, r2]
|
|
subs r1, #0xc
|
|
movs r2, #2
|
|
bl sub_080002A4
|
|
ldr r1, _08077FE4 @ =0xFFFFFCBD
|
|
adds r0, r0, r1
|
|
cmp r0, #3
|
|
bhi _08077FDE
|
|
adds r0, r4, #0
|
|
bl sub_0807AA80
|
|
ldr r2, _08077FE8 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #2]
|
|
movs r0, #8
|
|
orrs r0, r1
|
|
strb r0, [r2, #2]
|
|
movs r0, #0x44
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _08077FDE
|
|
ldr r0, [r4, #0x2c]
|
|
str r0, [r1, #0x2c]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #0xc
|
|
strh r0, [r1, #0x32]
|
|
ldrh r0, [r4, #0x32]
|
|
subs r0, #0xc
|
|
strh r0, [r4, #0x32]
|
|
_08077FDE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08077FE0: .4byte gLinkEntity
|
|
_08077FE4: .4byte 0xFFFFFCBD
|
|
_08077FE8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08077FEC
|
|
sub_08077FEC: @ 0x08077FEC
|
|
push {lr}
|
|
ldr r0, _08078000 @ =gUnk_03004020
|
|
ldr r2, _08078004 @ =gUnk_0811BFE8
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078000: .4byte gUnk_03004020
|
|
_08078004: .4byte gUnk_0811BFE8
|
|
|
|
thumb_func_start sub_08078008
|
|
sub_08078008: @ 0x08078008
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldr r6, _08078060 @ =gUnk_02002A40
|
|
adds r5, r6, #0
|
|
adds r5, #0xb4
|
|
ldrb r0, [r5]
|
|
bl sub_0805449C
|
|
cmp r0, #0
|
|
bne _0807802C
|
|
adds r5, r6, #0
|
|
adds r5, #0xb5
|
|
ldrb r0, [r5]
|
|
bl sub_0805449C
|
|
movs r2, #0
|
|
cmp r0, #0
|
|
beq _0807802E
|
|
_0807802C:
|
|
ldrb r2, [r5]
|
|
_0807802E:
|
|
subs r0, r2, #1
|
|
cmp r0, #1
|
|
bhi _08078036
|
|
movs r2, #0
|
|
_08078036:
|
|
cmp r2, #0
|
|
beq _08078068
|
|
ldr r0, _08078064 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x1b]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08078068
|
|
ldrb r0, [r4, #1]
|
|
adds r0, #1
|
|
strb r0, [r4, #1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0x14
|
|
ble _0807806C
|
|
movs r0, #0xa
|
|
strb r0, [r4, #1]
|
|
movs r0, #3
|
|
strb r0, [r4]
|
|
strb r2, [r4, #2]
|
|
b _0807806C
|
|
.align 2, 0
|
|
_08078060: .4byte gUnk_02002A40
|
|
_08078064: .4byte gUnk_03003F80
|
|
_08078068:
|
|
movs r0, #0
|
|
strb r0, [r4, #1]
|
|
_0807806C:
|
|
movs r0, #0
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08078070
|
|
sub_08078070: @ 0x08078070
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r3, _08078098 @ =gUnk_03003F80
|
|
ldrb r1, [r3, #0x1b]
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080780D6
|
|
adds r0, r3, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807809C
|
|
ldrh r0, [r2, #4]
|
|
adds r0, #0xc
|
|
b _080780A0
|
|
.align 2, 0
|
|
_08078098: .4byte gUnk_03003F80
|
|
_0807809C:
|
|
ldrh r0, [r2, #4]
|
|
adds r0, #6
|
|
_080780A0:
|
|
strh r0, [r2, #4]
|
|
movs r0, #4
|
|
ldrsh r1, [r2, r0]
|
|
ldr r0, _080780BC @ =0x0000031F
|
|
cmp r1, r0
|
|
ble _080780C0
|
|
adds r0, #1
|
|
strh r0, [r2, #4]
|
|
movs r0, #4
|
|
strb r0, [r2]
|
|
movs r0, #0xd8
|
|
bl sub_080A3268
|
|
b _080780DA
|
|
.align 2, 0
|
|
_080780BC: .4byte 0x0000031F
|
|
_080780C0:
|
|
movs r1, #4
|
|
ldrsh r0, [r2, r1]
|
|
movs r1, #0x14
|
|
bl Mod
|
|
cmp r0, #0
|
|
bne _080780DA
|
|
movs r0, #0xd7
|
|
bl sub_080A3268
|
|
b _080780DA
|
|
_080780D6:
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
_080780DA:
|
|
movs r0, #1
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080780E0
|
|
sub_080780E0: @ 0x080780E0
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _080780F4 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x1b]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080780F8
|
|
movs r0, #5
|
|
b _08078102
|
|
.align 2, 0
|
|
_080780F4: .4byte gUnk_03003F80
|
|
_080780F8:
|
|
movs r0, #0x20
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08078104
|
|
movs r0, #1
|
|
_08078102:
|
|
strb r0, [r2]
|
|
_08078104:
|
|
movs r0, #1
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08078108
|
|
sub_08078108: @ 0x08078108
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrh r0, [r1, #4]
|
|
subs r0, #1
|
|
strh r0, [r1, #4]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bge _08078120
|
|
movs r0, #0
|
|
strh r0, [r1, #4]
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
_08078120:
|
|
movs r0, #1
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08078124
|
|
sub_08078124: @ 0x08078124
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrh r0, [r1, #4]
|
|
subs r0, #0x10
|
|
strh r0, [r1, #4]
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bge _0807813C
|
|
movs r0, #0
|
|
strh r0, [r1, #4]
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
_0807813C:
|
|
movs r0, #1
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08078140
|
|
sub_08078140: @ 0x08078140
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldrb r0, [r1, #1]
|
|
subs r0, #1
|
|
movs r2, #0
|
|
strb r0, [r1, #1]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
blt _08078156
|
|
movs r0, #0
|
|
b _0807815C
|
|
_08078156:
|
|
strb r2, [r1, #1]
|
|
strb r2, [r1]
|
|
movs r0, #1
|
|
_0807815C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08078160
|
|
sub_08078160: @ 0x08078160
|
|
push {lr}
|
|
ldr r1, _08078178 @ =gUnk_03003F80
|
|
adds r1, #0xa8
|
|
strb r0, [r1]
|
|
ldr r2, _0807817C @ =gLinkEntity
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r2, #0x10]
|
|
bl sub_08078B48
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078178: .4byte gUnk_03003F80
|
|
_0807817C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08078180
|
|
sub_08078180: @ 0x08078180
|
|
push {r4, r5, r6, lr}
|
|
ldr r0, _080781C8 @ =gUnk_0200AF00
|
|
adds r1, r0, #0
|
|
adds r1, #0x2f
|
|
ldrb r1, [r1]
|
|
adds r6, r0, #0
|
|
cmp r1, #0
|
|
beq _08078192
|
|
b _080782BC
|
|
_08078192:
|
|
movs r4, #0
|
|
ldr r5, _080781CC @ =gUnk_03003F80
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #0
|
|
beq _0807819E
|
|
b _080782B6
|
|
_0807819E:
|
|
ldr r0, [r5, #0x30]
|
|
ldr r1, _080781D0 @ =0x00104D00
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080781AA
|
|
b _080782B6
|
|
_080781AA:
|
|
ldrb r0, [r5, #5]
|
|
subs r0, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #3
|
|
bhi _080781D4
|
|
adds r1, r6, #0
|
|
adds r1, #0x2e
|
|
ldrb r0, [r1]
|
|
movs r4, #3
|
|
cmp r0, #0
|
|
bne _080781C4
|
|
b _080782B6
|
|
_080781C4:
|
|
adds r4, r0, #0
|
|
b _080782B6
|
|
.align 2, 0
|
|
_080781C8: .4byte gUnk_0200AF00
|
|
_080781CC: .4byte gUnk_03003F80
|
|
_080781D0: .4byte 0x00104D00
|
|
_080781D4:
|
|
adds r1, r6, #0
|
|
adds r1, #0x2d
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _080781C4
|
|
bl sub_080784E4
|
|
adds r1, r0, #0
|
|
ldr r0, [r1, #8]
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08078278
|
|
ldrb r0, [r1, #1]
|
|
subs r0, #1
|
|
cmp r0, #9
|
|
bhi _080782B6
|
|
lsls r0, r0, #2
|
|
ldr r1, _08078204 @ =_08078208
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08078204: .4byte _08078208
|
|
_08078208: @ jump table
|
|
.4byte _08078230 @ case 0
|
|
.4byte _080782B6 @ case 1
|
|
.4byte _08078254 @ case 2
|
|
.4byte _080782B6 @ case 3
|
|
.4byte _08078254 @ case 4
|
|
.4byte _08078254 @ case 5
|
|
.4byte _08078230 @ case 6
|
|
.4byte _0807823C @ case 7
|
|
.4byte _08078260 @ case 8
|
|
.4byte _0807826C @ case 9
|
|
_08078230:
|
|
movs r4, #7
|
|
ldr r6, _08078238 @ =gUnk_0200AF00
|
|
b _080782B6
|
|
.align 2, 0
|
|
_08078238: .4byte gUnk_0200AF00
|
|
_0807823C:
|
|
ldr r0, _0807824C @ =gUnk_02034350
|
|
ldrb r0, [r0, #6]
|
|
ldr r6, _08078250 @ =gUnk_0200AF00
|
|
cmp r0, #0
|
|
bne _080782B6
|
|
movs r4, #9
|
|
b _080782B6
|
|
.align 2, 0
|
|
_0807824C: .4byte gUnk_02034350
|
|
_08078250: .4byte gUnk_0200AF00
|
|
_08078254:
|
|
movs r4, #6
|
|
ldr r6, _0807825C @ =gUnk_0200AF00
|
|
b _080782B6
|
|
.align 2, 0
|
|
_0807825C: .4byte gUnk_0200AF00
|
|
_08078260:
|
|
movs r4, #5
|
|
ldr r6, _08078268 @ =gUnk_0200AF00
|
|
b _080782B6
|
|
.align 2, 0
|
|
_08078268: .4byte gUnk_0200AF00
|
|
_0807826C:
|
|
movs r4, #2
|
|
ldr r6, _08078274 @ =gUnk_0200AF00
|
|
b _080782B6
|
|
.align 2, 0
|
|
_08078274: .4byte gUnk_0200AF00
|
|
_08078278:
|
|
bl sub_080789A8
|
|
cmp r0, #0
|
|
beq _080782A4
|
|
adds r0, r5, #0
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xe
|
|
beq _080782BC
|
|
ldr r1, _080782A0 @ =gUnk_03003BE0
|
|
ldrb r0, [r1, #1]
|
|
movs r4, #9
|
|
cmp r0, #2
|
|
bne _080782B6
|
|
ldr r0, [r1, #8]
|
|
ldrb r0, [r0, #0x16]
|
|
cmp r0, #1
|
|
bne _080782B6
|
|
movs r4, #8
|
|
b _080782B6
|
|
.align 2, 0
|
|
_080782A0: .4byte gUnk_03003BE0
|
|
_080782A4:
|
|
adds r0, r5, #0
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080782B6
|
|
ldrb r0, [r5, #0x1a]
|
|
cmp r0, #0
|
|
bne _080782B6
|
|
movs r4, #0xc
|
|
_080782B6:
|
|
adds r0, r6, #0
|
|
adds r0, #0x2c
|
|
strb r4, [r0]
|
|
_080782BC:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080782C0
|
|
sub_080782C0: @ 0x080782C0
|
|
push {r4, r5, r6, lr}
|
|
ldr r1, _080782D8 @ =gUnk_03003F80
|
|
adds r2, r1, #0
|
|
adds r2, #0xa8
|
|
ldrb r0, [r2]
|
|
adds r4, r1, #0
|
|
cmp r0, #0
|
|
bne _080782DC
|
|
adds r0, r4, #0
|
|
adds r0, #0xa9
|
|
ldrb r0, [r0]
|
|
b _080782DE
|
|
.align 2, 0
|
|
_080782D8: .4byte gUnk_03003F80
|
|
_080782DC:
|
|
ldrb r0, [r2]
|
|
_080782DE:
|
|
subs r0, #2
|
|
cmp r0, #0x14
|
|
bhi _08078348
|
|
lsls r0, r0, #2
|
|
ldr r1, _080782F0 @ =_080782F4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080782F0: .4byte _080782F4
|
|
_080782F4: @ jump table
|
|
.4byte _080784AC @ case 0
|
|
.4byte _080784AC @ case 1
|
|
.4byte _08078348 @ case 2
|
|
.4byte _08078348 @ case 3
|
|
.4byte _08078348 @ case 4
|
|
.4byte _08078348 @ case 5
|
|
.4byte _08078348 @ case 6
|
|
.4byte _08078348 @ case 7
|
|
.4byte _08078348 @ case 8
|
|
.4byte _08078348 @ case 9
|
|
.4byte _080784AC @ case 10
|
|
.4byte _08078348 @ case 11
|
|
.4byte _08078348 @ case 12
|
|
.4byte _08078348 @ case 13
|
|
.4byte _08078348 @ case 14
|
|
.4byte _08078348 @ case 15
|
|
.4byte _080784AC @ case 16
|
|
.4byte _08078348 @ case 17
|
|
.4byte _08078348 @ case 18
|
|
.4byte _080784AC @ case 19
|
|
.4byte _080784AC @ case 20
|
|
_08078348:
|
|
adds r0, r4, #0
|
|
adds r0, #0x27
|
|
adds r2, r4, #0
|
|
adds r2, #0x26
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r2]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
beq _0807835C
|
|
b _080784AC
|
|
_0807835C:
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #1
|
|
bne _08078376
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _0807836A
|
|
b _080784AC
|
|
_0807836A:
|
|
bl sub_08052B24
|
|
cmp r0, #0
|
|
beq _08078374
|
|
b _080784C4
|
|
_08078374:
|
|
b _080784AC
|
|
_08078376:
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08078384
|
|
b _080784AC
|
|
_08078384:
|
|
bl sub_08052B24
|
|
cmp r0, #0
|
|
beq _0807838E
|
|
b _080784C4
|
|
_0807838E:
|
|
bl sub_080784E4
|
|
ldr r6, [r0, #8]
|
|
cmp r6, #0
|
|
bne _0807839A
|
|
b _080784AC
|
|
_0807839A:
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0
|
|
beq _080783B6
|
|
cmp r0, #4
|
|
beq _080783A6
|
|
b _080784AC
|
|
_080783A6:
|
|
ldr r0, _08078400 @ =gLinkEntity
|
|
ldr r0, [r0, #0x74]
|
|
ldr r0, [r0, #0x54]
|
|
ldrh r1, [r0, #8]
|
|
ldr r0, _08078404 @ =0x00000206
|
|
cmp r1, r0
|
|
beq _080783B6
|
|
b _080784AC
|
|
_080783B6:
|
|
ldr r2, _08078408 @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
ands r0, r1
|
|
adds r4, r2, #0
|
|
cmp r0, #0
|
|
beq _0807842C
|
|
ldr r5, _0807840C @ =gUnk_03003DF0
|
|
ldr r0, [r5, #4]
|
|
ldrb r0, [r0, #3]
|
|
subs r0, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x63
|
|
bhi _0807842C
|
|
movs r0, #0
|
|
bl sub_0801E738
|
|
ldr r0, _08078410 @ =gUnk_02002A40
|
|
ldr r1, _08078414 @ =0x0000012B
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08078418
|
|
ldr r1, [r5, #4]
|
|
ldrb r0, [r1, #3]
|
|
strb r0, [r5, #2]
|
|
ldr r0, [r1, #8]
|
|
adds r0, #0x39
|
|
movs r1, #2
|
|
strb r1, [r0]
|
|
movs r0, #7
|
|
strb r0, [r4, #0xc]
|
|
b _08078420
|
|
.align 2, 0
|
|
_08078400: .4byte gLinkEntity
|
|
_08078404: .4byte 0x00000206
|
|
_08078408: .4byte gUnk_03003F80
|
|
_0807840C: .4byte gUnk_03003DF0
|
|
_08078410: .4byte gUnk_02002A40
|
|
_08078414: .4byte 0x0000012B
|
|
_08078418:
|
|
ldr r0, _08078428 @ =0x00000B65
|
|
movs r1, #0
|
|
bl sub_08078AA8
|
|
_08078420:
|
|
movs r0, #0x13
|
|
bl sub_08078160
|
|
b _080784C4
|
|
.align 2, 0
|
|
_08078428: .4byte 0x00000B65
|
|
_0807842C:
|
|
adds r0, r4, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #0x88
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080784AC
|
|
ldr r0, _08078450 @ =gUnk_03003DF0
|
|
ldr r0, [r0, #4]
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0xa
|
|
bhi _080784C4
|
|
lsls r0, r0, #2
|
|
ldr r1, _08078454 @ =_08078458
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08078450: .4byte gUnk_03003DF0
|
|
_08078454: .4byte _08078458
|
|
_08078458: @ jump table
|
|
.4byte _080784C4 @ case 0
|
|
.4byte _08078484 @ case 1
|
|
.4byte _080784C4 @ case 2
|
|
.4byte _0807848E @ case 3
|
|
.4byte _080784C4 @ case 4
|
|
.4byte _0807848E @ case 5
|
|
.4byte _08078484 @ case 6
|
|
.4byte _0807848E @ case 7
|
|
.4byte _080784A4 @ case 8
|
|
.4byte _08078484 @ case 9
|
|
.4byte _08078484 @ case 10
|
|
_08078484:
|
|
movs r0, #7
|
|
strb r0, [r4, #0xc]
|
|
movs r0, #0x13
|
|
bl sub_08078160
|
|
_0807848E:
|
|
adds r1, r6, #0
|
|
adds r1, #0x39
|
|
movs r2, #0
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
ldr r0, _080784A0 @ =gUnk_03003DF0
|
|
strb r2, [r0, #2]
|
|
b _080784C4
|
|
.align 2, 0
|
|
_080784A0: .4byte gUnk_03003DF0
|
|
_080784A4:
|
|
ldr r2, _080784B0 @ =gUnk_02034350
|
|
ldrb r0, [r2, #6]
|
|
cmp r0, #0
|
|
beq _080784B4
|
|
_080784AC:
|
|
movs r0, #0
|
|
b _080784C6
|
|
.align 2, 0
|
|
_080784B0: .4byte gUnk_02034350
|
|
_080784B4:
|
|
adds r1, r6, #0
|
|
adds r1, #0x39
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
ldrb r0, [r6, #0xa]
|
|
strb r0, [r2, #6]
|
|
ldrb r0, [r6, #0xb]
|
|
strb r0, [r2, #7]
|
|
_080784C4:
|
|
movs r0, #1
|
|
_080784C6:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_080784C8
|
|
sub_080784C8: @ 0x080784C8
|
|
push {r4, lr}
|
|
ldr r4, _080784DC @ =gUnk_03003DF0
|
|
movs r1, #0xc4
|
|
lsls r1, r1, #1
|
|
adds r0, r4, #0
|
|
bl sub_0801D630
|
|
ldr r0, _080784E0 @ =gUnk_0811C000
|
|
str r0, [r4, #4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080784DC: .4byte gUnk_03003DF0
|
|
_080784E0: .4byte gUnk_0811C000
|
|
|
|
thumb_func_start sub_080784E4
|
|
sub_080784E4: @ 0x080784E4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
ldr r0, _080784FC @ =gUnk_03003DF0
|
|
ldrb r1, [r0]
|
|
mov r8, r0
|
|
cmp r1, #0
|
|
beq _08078500
|
|
ldr r0, [r0, #4]
|
|
b _0807876A
|
|
.align 2, 0
|
|
_080784FC: .4byte gUnk_03003DF0
|
|
_08078500:
|
|
ldr r2, _08078528 @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0x27
|
|
adds r3, r2, #0
|
|
adds r3, #0x26
|
|
ldrb r1, [r0]
|
|
ldrb r0, [r3]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _08078598
|
|
adds r1, r2, #0
|
|
adds r1, #0xa8
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0807852C
|
|
adds r0, r2, #0
|
|
adds r0, #0xa9
|
|
ldrb r0, [r0]
|
|
b _0807852E
|
|
.align 2, 0
|
|
_08078528: .4byte gUnk_03003F80
|
|
_0807852C:
|
|
ldrb r0, [r1]
|
|
_0807852E:
|
|
subs r0, #2
|
|
cmp r0, #0x14
|
|
bhi _080785B0
|
|
lsls r0, r0, #2
|
|
ldr r1, _08078540 @ =_08078544
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08078540: .4byte _08078544
|
|
_08078544: @ jump table
|
|
.4byte _08078598 @ case 0
|
|
.4byte _08078598 @ case 1
|
|
.4byte _080785B0 @ case 2
|
|
.4byte _080785B0 @ case 3
|
|
.4byte _080785B0 @ case 4
|
|
.4byte _080785B0 @ case 5
|
|
.4byte _080785B0 @ case 6
|
|
.4byte _080785B0 @ case 7
|
|
.4byte _080785B0 @ case 8
|
|
.4byte _080785B0 @ case 9
|
|
.4byte _080785B0 @ case 10
|
|
.4byte _080785B0 @ case 11
|
|
.4byte _080785B0 @ case 12
|
|
.4byte _080785B0 @ case 13
|
|
.4byte _080785B0 @ case 14
|
|
.4byte _080785B0 @ case 15
|
|
.4byte _08078598 @ case 16
|
|
.4byte _080785B0 @ case 17
|
|
.4byte _080785B0 @ case 18
|
|
.4byte _08078598 @ case 19
|
|
.4byte _08078598 @ case 20
|
|
_08078598:
|
|
movs r0, #0xff
|
|
mov r1, r8
|
|
strb r0, [r1, #3]
|
|
ldr r0, _080785AC @ =gUnk_0811C000
|
|
str r0, [r1, #4]
|
|
movs r1, #1
|
|
mov r2, r8
|
|
strb r1, [r2]
|
|
b _0807876A
|
|
.align 2, 0
|
|
_080785AC: .4byte gUnk_0811C000
|
|
_080785B0:
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080785F0
|
|
bl sub_08052734
|
|
cmp r0, #0
|
|
beq _080785C4
|
|
movs r0, #1
|
|
_080785C4:
|
|
adds r7, r0, #0
|
|
bl sub_08052764
|
|
cmp r0, #0
|
|
beq _080785D2
|
|
movs r0, #2
|
|
orrs r7, r0
|
|
_080785D2:
|
|
ldr r3, _080785E4 @ =gLinkEntity
|
|
ldrb r0, [r3, #0x14]
|
|
movs r1, #6
|
|
ands r1, r0
|
|
ldr r0, _080785E8 @ =gUnk_0811C00C
|
|
adds r2, r1, r0
|
|
ldr r5, _080785EC @ =gUnk_03003DF0
|
|
mov r8, r5
|
|
b _080785FE
|
|
.align 2, 0
|
|
_080785E4: .4byte gLinkEntity
|
|
_080785E8: .4byte gUnk_0811C00C
|
|
_080785EC: .4byte gUnk_03003DF0
|
|
_080785F0:
|
|
ldr r3, _08078624 @ =gLinkEntity
|
|
ldrb r0, [r3, #0x14]
|
|
movs r1, #6
|
|
ands r1, r0
|
|
ldr r0, _08078628 @ =gUnk_0811C014
|
|
adds r2, r1, r0
|
|
movs r7, #0
|
|
_080785FE:
|
|
mov ip, r3
|
|
mov r0, ip
|
|
movs r3, #0x2e
|
|
ldrsh r1, [r0, r3]
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
mov sl, r1
|
|
mov r5, ip
|
|
movs r0, #0x32
|
|
ldrsh r1, [r5, r0]
|
|
movs r0, #1
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
mov sb, r1
|
|
movs r6, #0
|
|
ldr r5, _0807862C @ =gUnk_03003DF8
|
|
b _08078724
|
|
.align 2, 0
|
|
_08078624: .4byte gLinkEntity
|
|
_08078628: .4byte gUnk_0811C014
|
|
_0807862C: .4byte gUnk_03003DF8
|
|
_08078630:
|
|
ldrb r1, [r5]
|
|
movs r3, #1
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807864E
|
|
mov r0, ip
|
|
adds r0, #0x38
|
|
adds r1, r2, #0
|
|
adds r1, #0x38
|
|
ldrb r2, [r0]
|
|
ldrb r0, [r1]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08078714
|
|
_0807864E:
|
|
ldrb r1, [r5, #2]
|
|
mov r2, ip
|
|
ldrb r0, [r2, #0x14]
|
|
lsrs r0, r0, #1
|
|
asrs r1, r0
|
|
ands r1, r3
|
|
cmp r1, #0
|
|
bne _08078714
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #0xa
|
|
bhi _080786D4
|
|
lsls r0, r0, #2
|
|
ldr r1, _08078670 @ =_08078674
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08078670: .4byte _08078674
|
|
_08078674: @ jump table
|
|
.4byte _08078714 @ case 0
|
|
.4byte _080786A0 @ case 1
|
|
.4byte _080786C4 @ case 2
|
|
.4byte _080786A0 @ case 3
|
|
.4byte _080786A0 @ case 4
|
|
.4byte _080786C8 @ case 5
|
|
.4byte _080786CC @ case 6
|
|
.4byte _080786B4 @ case 7
|
|
.4byte _080786A0 @ case 8
|
|
.4byte _080786A0 @ case 9
|
|
.4byte _080786D4 @ case 10
|
|
_080786A0:
|
|
ldr r0, _080786B0 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08078714
|
|
b _080786D4
|
|
.align 2, 0
|
|
_080786B0: .4byte gUnk_03003F80
|
|
_080786B4:
|
|
ldr r0, _080786C0 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
b _080786D0
|
|
.align 2, 0
|
|
_080786C0: .4byte gUnk_03003F80
|
|
_080786C4:
|
|
ldrb r0, [r5, #3]
|
|
b _080786D0
|
|
_080786C8:
|
|
movs r0, #1
|
|
b _080786CE
|
|
_080786CC:
|
|
movs r0, #2
|
|
_080786CE:
|
|
ands r0, r7
|
|
_080786D0:
|
|
cmp r0, #0
|
|
beq _08078714
|
|
_080786D4:
|
|
ldr r0, [r5, #8]
|
|
movs r1, #0x2e
|
|
ldrsh r3, [r0, r1]
|
|
movs r2, #0x32
|
|
ldrsh r4, [r0, r2]
|
|
ldr r1, [r5, #4]
|
|
cmp r1, #0
|
|
beq _080786F4
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
adds r3, r3, r0
|
|
movs r0, #1
|
|
ldrsb r0, [r1, r0]
|
|
adds r4, r4, r0
|
|
adds r2, r1, #2
|
|
b _080786F8
|
|
_080786F4:
|
|
ldr r0, [r0, #0x48]
|
|
adds r2, r0, #6
|
|
_080786F8:
|
|
ldrb r1, [r2]
|
|
mov r5, sl
|
|
adds r0, r1, r5
|
|
subs r0, r0, r3
|
|
lsls r1, r1, #1
|
|
cmp r0, r1
|
|
bhs _08078714
|
|
ldrb r1, [r2, #1]
|
|
mov r2, sb
|
|
adds r0, r1, r2
|
|
subs r0, r0, r4
|
|
lsls r1, r1, #1
|
|
cmp r0, r1
|
|
blo _0807873A
|
|
_08078714:
|
|
adds r6, #1
|
|
cmp r6, #0x1f
|
|
bhi _08078758
|
|
lsls r0, r6, #1
|
|
adds r0, r0, r6
|
|
lsls r0, r0, #2
|
|
ldr r3, _08078754 @ =gUnk_03003DF8
|
|
adds r5, r0, r3
|
|
_08078724:
|
|
ldr r2, [r5, #8]
|
|
cmp r2, #0
|
|
beq _08078714
|
|
adds r0, r2, #0
|
|
adds r0, #0x39
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
blt _0807873A
|
|
b _08078630
|
|
_0807873A:
|
|
cmp r6, #0x1f
|
|
bhi _08078758
|
|
mov r5, r8
|
|
strb r6, [r5, #3]
|
|
lsls r0, r6, #1
|
|
adds r0, r0, r6
|
|
lsls r0, r0, #2
|
|
mov r1, r8
|
|
adds r1, #8
|
|
adds r0, r0, r1
|
|
str r0, [r5, #4]
|
|
b _08078762
|
|
.align 2, 0
|
|
_08078754: .4byte gUnk_03003DF8
|
|
_08078758:
|
|
movs r0, #0xff
|
|
mov r1, r8
|
|
strb r0, [r1, #3]
|
|
ldr r0, _08078774 @ =gUnk_0811C000
|
|
str r0, [r1, #4]
|
|
_08078762:
|
|
movs r0, #1
|
|
mov r2, r8
|
|
strb r0, [r2]
|
|
ldr r0, [r2, #4]
|
|
_0807876A:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08078774: .4byte gUnk_0811C000
|
|
|
|
thumb_func_start sub_08078778
|
|
sub_08078778: @ 0x08078778
|
|
push {lr}
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08078784
|
|
sub_08078784: @ 0x08078784
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
movs r1, #1
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08078790
|
|
sub_08078790: @ 0x08078790
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
movs r1, #2
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0807879C
|
|
sub_0807879C: @ 0x0807879C
|
|
push {lr}
|
|
movs r1, #7
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080787A8
|
|
sub_080787A8: @ 0x080787A8
|
|
push {lr}
|
|
adds r2, r1, #0
|
|
movs r1, #7
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080787B4
|
|
sub_080787B4: @ 0x080787B4
|
|
push {lr}
|
|
movs r1, #9
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080787C0
|
|
sub_080787C0: @ 0x080787C0
|
|
push {lr}
|
|
movs r1, #0xa
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080787CC
|
|
sub_080787CC: @ 0x080787CC
|
|
push {lr}
|
|
movs r1, #5
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_080787D8
|
|
sub_080787D8: @ 0x080787D8
|
|
push {lr}
|
|
movs r1, #8
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
blt _080787F6
|
|
ldr r0, _080787FC @ =gUnk_03003DF0
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
movs r0, #0xbe
|
|
strb r0, [r1, #0xa]
|
|
_080787F6:
|
|
adds r0, r2, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080787FC: .4byte gUnk_03003DF0
|
|
|
|
thumb_func_start sub_08078800
|
|
sub_08078800: @ 0x08078800
|
|
push {lr}
|
|
movs r1, #6
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
blt _0807881E
|
|
ldr r0, _08078824 @ =gUnk_03003DF0
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
movs r0, #0xbe
|
|
strb r0, [r1, #0xa]
|
|
_0807881E:
|
|
adds r0, r2, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078824: .4byte gUnk_03003DF0
|
|
|
|
thumb_func_start sub_08078828
|
|
sub_08078828: @ 0x08078828
|
|
push {lr}
|
|
movs r1, #3
|
|
movs r2, #0
|
|
bl sub_0807887C
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
blt _08078846
|
|
ldr r0, _0807884C @ =gUnk_03003DF0
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
movs r0, #0xbe
|
|
strb r0, [r1, #0xa]
|
|
_08078846:
|
|
adds r0, r2, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807884C: .4byte gUnk_03003DF0
|
|
|
|
thumb_func_start sub_08078850
|
|
sub_08078850: @ 0x08078850
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r1, #0
|
|
adds r5, r2, #0
|
|
adds r6, r3, #0
|
|
bl sub_08078904
|
|
adds r2, r0, #0
|
|
cmp r2, #0
|
|
blt _08078876
|
|
ldr r0, _08078878 @ =gUnk_03003DF0
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r2, r1, r0
|
|
strb r4, [r2, #8]
|
|
strb r5, [r2, #0xa]
|
|
adds r0, #0xc
|
|
adds r1, r1, r0
|
|
str r6, [r1]
|
|
_08078876:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08078878: .4byte gUnk_03003DF0
|
|
|
|
thumb_func_start sub_0807887C
|
|
sub_0807887C: @ 0x0807887C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r7, r1, #0
|
|
adds r6, r2, #0
|
|
adds r1, r5, #0
|
|
adds r1, #0x39
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
bl sub_08078904
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
bge _080788A4
|
|
movs r0, #0
|
|
bl sub_08078904
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
blt _080788BA
|
|
_080788A4:
|
|
ldr r2, _080788DC @ =gUnk_03003DF0
|
|
lsls r1, r4, #1
|
|
adds r1, r1, r4
|
|
lsls r1, r1, #2
|
|
adds r0, r2, #0
|
|
adds r0, #0x10
|
|
adds r0, r1, r0
|
|
str r5, [r0]
|
|
adds r1, r1, r2
|
|
strb r7, [r1, #9]
|
|
strb r6, [r1, #0xb]
|
|
_080788BA:
|
|
cmp r6, #0
|
|
beq _080788D6
|
|
movs r0, #6
|
|
movs r1, #9
|
|
movs r2, #6
|
|
bl sub_0805EB00
|
|
cmp r0, #0
|
|
bne _080788D6
|
|
movs r0, #9
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
_080788D6:
|
|
adds r0, r4, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_080788DC: .4byte gUnk_03003DF0
|
|
|
|
thumb_func_start sub_080788E0
|
|
sub_080788E0: @ 0x080788E0
|
|
push {lr}
|
|
bl sub_08078904
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
blt _080788FC
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _08078900 @ =gUnk_03003DF8
|
|
adds r0, r0, r1
|
|
movs r1, #0xc
|
|
bl sub_0801D630
|
|
_080788FC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078900: .4byte gUnk_03003DF8
|
|
|
|
thumb_func_start sub_08078904
|
|
sub_08078904: @ 0x08078904
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
movs r1, #0
|
|
ldr r0, _0807891C @ =gUnk_03003DF0
|
|
adds r2, r0, #0
|
|
adds r2, #0x10
|
|
_08078910:
|
|
ldr r0, [r2]
|
|
cmp r3, r0
|
|
bne _08078920
|
|
adds r0, r1, #0
|
|
b _0807892C
|
|
.align 2, 0
|
|
_0807891C: .4byte gUnk_03003DF0
|
|
_08078920:
|
|
adds r2, #0xc
|
|
adds r1, #1
|
|
cmp r1, #0x1f
|
|
bls _08078910
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
_0807892C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08078930
|
|
sub_08078930: @ 0x08078930
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r2, _08078950 @ =gUnk_03003BE0
|
|
ldrb r0, [r2, #2]
|
|
cmp r0, #0x1f
|
|
bhi _0807894C
|
|
lsls r0, r0, #2
|
|
adds r1, r2, #0
|
|
adds r1, #0xc
|
|
adds r0, r0, r1
|
|
str r3, [r0]
|
|
ldrb r0, [r2, #2]
|
|
adds r0, #1
|
|
strb r0, [r2, #2]
|
|
_0807894C:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078950: .4byte gUnk_03003BE0
|
|
|
|
thumb_func_start sub_08078954
|
|
sub_08078954: @ 0x08078954
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r4, #0
|
|
ldr r0, _08078970 @ =gUnk_03003BE0
|
|
ldrb r1, [r0, #2]
|
|
adds r2, r0, #0
|
|
cmp r4, r1
|
|
bhs _080789A6
|
|
ldr r0, [r2, #0xc]
|
|
cmp r0, r5
|
|
bne _08078974
|
|
subs r0, r1, #1
|
|
b _0807898C
|
|
.align 2, 0
|
|
_08078970: .4byte gUnk_03003BE0
|
|
_08078974:
|
|
adds r4, #1
|
|
ldrb r3, [r2, #2]
|
|
cmp r4, r3
|
|
bhs _080789A6
|
|
lsls r0, r4, #2
|
|
adds r1, r2, #0
|
|
adds r1, #0xc
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
cmp r0, r5
|
|
bne _08078974
|
|
subs r0, r3, #1
|
|
_0807898C:
|
|
strb r0, [r2, #2]
|
|
ldrb r0, [r2, #2]
|
|
cmp r4, r0
|
|
bhs _080789A6
|
|
lsls r0, r4, #2
|
|
adds r0, #0xc
|
|
adds r1, r0, r2
|
|
_0807899A:
|
|
ldr r0, [r1, #4]
|
|
stm r1!, {r0}
|
|
adds r4, #1
|
|
ldrb r0, [r2, #2]
|
|
cmp r4, r0
|
|
blo _0807899A
|
|
_080789A6:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_080789A8
|
|
sub_080789A8: @ 0x080789A8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r1, _080789BC @ =gUnk_03003BE0
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080789C0
|
|
ldrb r0, [r1, #1]
|
|
b _08078A88
|
|
.align 2, 0
|
|
_080789BC: .4byte gUnk_03003BE0
|
|
_080789C0:
|
|
ldr r0, _08078A5C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08078A56
|
|
ldr r0, _08078A60 @ =gLinkEntity
|
|
bl sub_080002D0
|
|
adds r4, r0, #0
|
|
cmp r4, #0xf
|
|
bls _080789E6
|
|
ldr r0, _08078A64 @ =gUnk_080084BC
|
|
adds r1, r4, #0
|
|
subs r1, #0x10
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, #0xf
|
|
beq _08078A56
|
|
_080789E6:
|
|
ldr r0, _08078A5C @ =gUnk_03003F80
|
|
ldrb r0, [r0, #0x12]
|
|
cmp r0, #0x12
|
|
beq _08078A56
|
|
ldr r3, _08078A68 @ =gUnk_03003BE0
|
|
movs r0, #1
|
|
strb r0, [r3]
|
|
ldrb r4, [r3, #2]
|
|
cmp r4, #0
|
|
beq _08078A2E
|
|
ldr r2, _08078A60 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x14]
|
|
movs r0, #6
|
|
ands r0, r1
|
|
ldr r1, _08078A6C @ =gUnk_0811BFE0
|
|
adds r6, r0, r1
|
|
adds r7, r2, #0
|
|
adds r3, #8
|
|
mov r8, r3
|
|
_08078A0C:
|
|
lsls r0, r4, #2
|
|
mov r1, r8
|
|
adds r5, r0, r1
|
|
ldr r1, [r5]
|
|
cmp r1, #0
|
|
beq _08078A26
|
|
ldrb r2, [r6]
|
|
ldrb r3, [r6, #1]
|
|
adds r0, r7, #0
|
|
bl sub_0807A180
|
|
cmp r0, #0
|
|
bne _08078A74
|
|
_08078A26:
|
|
subs r4, #1
|
|
ldr r7, _08078A60 @ =gLinkEntity
|
|
cmp r4, #0
|
|
bne _08078A0C
|
|
_08078A2E:
|
|
ldr r0, _08078A60 @ =gLinkEntity
|
|
ldrb r1, [r0, #0x14]
|
|
movs r2, #6
|
|
ands r2, r1
|
|
ldr r1, _08078A70 @ =gUnk_08007DF4
|
|
adds r2, r2, r1
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
ldrb r2, [r2, #1]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
bl sub_0800029C
|
|
ldr r4, _08078A68 @ =gUnk_03003BE0
|
|
strh r0, [r4, #4]
|
|
movs r1, #6
|
|
bl sub_0806FC24
|
|
cmp r0, #0
|
|
bne _08078A84
|
|
_08078A56:
|
|
movs r0, #0
|
|
b _08078A88
|
|
.align 2, 0
|
|
_08078A5C: .4byte gUnk_03003F80
|
|
_08078A60: .4byte gLinkEntity
|
|
_08078A64: .4byte gUnk_080084BC
|
|
_08078A68: .4byte gUnk_03003BE0
|
|
_08078A6C: .4byte gUnk_0811BFE0
|
|
_08078A70: .4byte gUnk_08007DF4
|
|
_08078A74:
|
|
mov r0, r8
|
|
subs r0, #8
|
|
ldr r1, [r5]
|
|
str r1, [r0, #8]
|
|
movs r1, #2
|
|
strb r1, [r0, #1]
|
|
movs r0, #2
|
|
b _08078A88
|
|
_08078A84:
|
|
movs r0, #1
|
|
strb r0, [r4, #1]
|
|
_08078A88:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08078A90
|
|
sub_08078A90: @ 0x08078A90
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _08078AA4 @ =gUnk_03003F80
|
|
adds r2, r0, #0
|
|
adds r2, #0x8b
|
|
ldrb r0, [r2]
|
|
cmp r0, #3
|
|
beq _08078AA2
|
|
strb r1, [r2]
|
|
_08078AA2:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078AA4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08078AA8
|
|
sub_08078AA8: @ 0x08078AA8
|
|
ldr r3, _08078AB8 @ =gUnk_03003F80
|
|
movs r2, #0x16
|
|
strb r2, [r3, #0xc]
|
|
ldr r2, _08078ABC @ =gUnk_030010A0
|
|
strh r0, [r2, #0x36]
|
|
adds r2, #0x35
|
|
strb r1, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_08078AB8: .4byte gUnk_03003F80
|
|
_08078ABC: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_08078AC0
|
|
sub_08078AC0: @ 0x08078AC0
|
|
push {r4, lr}
|
|
ldr r3, _08078AEC @ =gUnk_03003F80
|
|
mov ip, r3
|
|
movs r3, #0xf
|
|
mov r4, ip
|
|
strb r3, [r4, #0xc]
|
|
mov r3, ip
|
|
adds r3, #0x38
|
|
strb r0, [r3]
|
|
rsbs r0, r1, #0
|
|
orrs r0, r1
|
|
lsrs r0, r0, #0x1f
|
|
mov r1, ip
|
|
adds r1, #0x39
|
|
strb r0, [r1]
|
|
rsbs r0, r2, #0
|
|
orrs r0, r2
|
|
lsrs r0, r0, #0x1f
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08078AEC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08078AF0
|
|
sub_08078AF0: @ 0x08078AF0
|
|
push {r4, lr}
|
|
ldr r3, _08078B40 @ =gUnk_03003F80
|
|
mov ip, r3
|
|
adds r3, #0x38
|
|
movs r4, #0
|
|
strb r1, [r3]
|
|
mov r1, ip
|
|
adds r1, #0x39
|
|
strb r2, [r1]
|
|
adds r1, #1
|
|
strb r4, [r1]
|
|
movs r1, #8
|
|
mov r2, ip
|
|
strb r1, [r2, #0xc]
|
|
adds r2, #0xa8
|
|
movs r1, #0x15
|
|
strb r1, [r2]
|
|
mov r1, ip
|
|
adds r1, #0x26
|
|
strb r4, [r1]
|
|
movs r1, #1
|
|
mov r3, ip
|
|
strb r1, [r3, #0x14]
|
|
ldr r2, _08078B44 @ =gLinkEntity
|
|
str r0, [r2, #0x54]
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r2, #0x10]
|
|
ldrb r1, [r2, #0x11]
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x11]
|
|
bl sub_0807A108
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08078B40: .4byte gUnk_03003F80
|
|
_08078B44: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08078B48
|
|
sub_08078B48: @ 0x08078B48
|
|
push {lr}
|
|
ldr r1, _08078B80 @ =gUnk_03003F80
|
|
ldrb r0, [r1, #7]
|
|
movs r2, #0x80
|
|
orrs r0, r2
|
|
strb r0, [r1, #7]
|
|
ldrb r0, [r1, #0xb]
|
|
orrs r0, r2
|
|
strb r0, [r1, #0xb]
|
|
ldrb r0, [r1, #0xa]
|
|
orrs r2, r0
|
|
strb r2, [r1, #0xa]
|
|
adds r2, r1, #0
|
|
adds r2, #0x27
|
|
movs r0, #2
|
|
strb r0, [r2]
|
|
adds r0, r1, #0
|
|
adds r0, #0xa8
|
|
ldrb r0, [r0]
|
|
subs r0, #4
|
|
adds r2, r1, #0
|
|
cmp r0, #0x19
|
|
bhi _08078BF8
|
|
lsls r0, r0, #2
|
|
ldr r1, _08078B84 @ =_08078B88
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08078B80: .4byte gUnk_03003F80
|
|
_08078B84: .4byte _08078B88
|
|
_08078B88: @ jump table
|
|
.4byte _08078C04 @ case 0
|
|
.4byte _08078C04 @ case 1
|
|
.4byte _08078BF8 @ case 2
|
|
.4byte _08078BF8 @ case 3
|
|
.4byte _08078BF8 @ case 4
|
|
.4byte _08078BF0 @ case 5
|
|
.4byte _08078BF8 @ case 6
|
|
.4byte _08078BF8 @ case 7
|
|
.4byte _08078BF8 @ case 8
|
|
.4byte _08078BF8 @ case 9
|
|
.4byte _08078BF8 @ case 10
|
|
.4byte _08078BF8 @ case 11
|
|
.4byte _08078BF8 @ case 12
|
|
.4byte _08078BF8 @ case 13
|
|
.4byte _08078BF8 @ case 14
|
|
.4byte _08078BF8 @ case 15
|
|
.4byte _08078BF8 @ case 16
|
|
.4byte _08078BF8 @ case 17
|
|
.4byte _08078BF8 @ case 18
|
|
.4byte _08078BF8 @ case 19
|
|
.4byte _08078BF8 @ case 20
|
|
.4byte _08078C04 @ case 21
|
|
.4byte _08078C04 @ case 22
|
|
.4byte _08078BF8 @ case 23
|
|
.4byte _08078BF8 @ case 24
|
|
.4byte _08078C04 @ case 25
|
|
_08078BF0:
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08078C18 @ =0xFFFBFFFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
_08078BF8:
|
|
ldr r0, _08078C1C @ =gUnk_02034350
|
|
ldrb r0, [r0, #6]
|
|
cmp r0, #0
|
|
bne _08078C04
|
|
movs r0, #1
|
|
strb r0, [r2, #0x1a]
|
|
_08078C04:
|
|
ldr r0, _08078C20 @ =gLinkEntity
|
|
adds r0, #0x3d
|
|
movs r1, #0xfe
|
|
strb r1, [r0]
|
|
adds r1, r2, #0
|
|
adds r1, #0x8a
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078C18: .4byte 0xFFFBFFFF
|
|
_08078C1C: .4byte gUnk_02034350
|
|
_08078C20: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08078C24
|
|
sub_08078C24: @ 0x08078C24
|
|
push {lr}
|
|
ldr r3, _08078CAC @ =gUnk_03003F80
|
|
movs r2, #0
|
|
strb r2, [r3]
|
|
strb r2, [r3, #1]
|
|
strb r2, [r3, #2]
|
|
strb r2, [r3, #3]
|
|
strb r2, [r3, #4]
|
|
strb r2, [r3, #5]
|
|
strb r2, [r3, #6]
|
|
strb r2, [r3, #7]
|
|
movs r0, #0
|
|
strh r2, [r3, #8]
|
|
strb r0, [r3, #0xa]
|
|
strb r0, [r3, #0xb]
|
|
movs r1, #0x35
|
|
adds r1, r1, r3
|
|
mov ip, r1
|
|
adds r1, r3, #0
|
|
adds r1, #0x36
|
|
strb r0, [r1]
|
|
strb r0, [r3, #0xc]
|
|
strb r0, [r3, #0xd]
|
|
strb r0, [r3, #0xe]
|
|
strb r0, [r3, #0x11]
|
|
strb r0, [r3, #0x12]
|
|
strb r0, [r3, #0x13]
|
|
strb r0, [r3, #0x14]
|
|
strb r0, [r3, #0x1b]
|
|
strb r0, [r3, #0x1e]
|
|
strb r0, [r3, #0x1f]
|
|
subs r1, #0x16
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
strh r2, [r3, #0x22]
|
|
strh r2, [r3, #0x24]
|
|
adds r1, #5
|
|
strb r0, [r1]
|
|
str r2, [r3, #0x2c]
|
|
adds r1, #0x5a
|
|
strh r2, [r1]
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
str r2, [r3, #0x30]
|
|
adds r1, r3, #0
|
|
adds r1, #0x38
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
adds r1, #5
|
|
strb r0, [r1]
|
|
subs r1, #3
|
|
strb r0, [r1]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
adds r1, #4
|
|
movs r2, #0x40
|
|
bl sub_0801D610
|
|
ldr r0, _08078CB0 @ =gUnk_03003DF0
|
|
movs r1, #0xc4
|
|
lsls r1, r1, #1
|
|
bl sub_0801D630
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078CAC: .4byte gUnk_03003F80
|
|
_08078CB0: .4byte gUnk_03003DF0
|
|
|
|
thumb_func_start sub_08078CB4
|
|
sub_08078CB4: @ 0x08078CB4
|
|
push {lr}
|
|
ldr r0, _08078CCC @ =gUnk_03003F80
|
|
ldrb r0, [r0, #5]
|
|
subs r0, #3
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _08078CC8
|
|
bl sub_08078D60
|
|
_08078CC8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08078CCC: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08078CD0
|
|
sub_08078CD0: @ 0x08078CD0
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, [r5, #0x70]
|
|
ldrh r0, [r5, #0x36]
|
|
subs r0, #1
|
|
strh r0, [r4, #0x36]
|
|
ldrb r1, [r5, #0x1b]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r4, #0x1b]
|
|
movs r0, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x1b]
|
|
adds r0, r5, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
strb r1, [r0]
|
|
ldr r1, _08078D28 @ =gUnk_0811C01C
|
|
ldr r0, _08078D2C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x2c]
|
|
ldrb r0, [r0, #0x1e]
|
|
adds r0, r0, r1
|
|
ldrb r2, [r0]
|
|
ldr r3, _08078D30 @ =gUnk_0811C0B0
|
|
ldrb r1, [r4, #0x1c]
|
|
movs r0, #0x30
|
|
ands r0, r1
|
|
lsrs r0, r0, #2
|
|
adds r0, r0, r3
|
|
lsls r2, r2, #1
|
|
ldr r0, [r0]
|
|
adds r2, r0, r2
|
|
ldrb r0, [r5, #0x18]
|
|
lsls r0, r0, #0x19
|
|
cmp r0, #0
|
|
bge _08078D34
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
ldrh r0, [r5, #0x2e]
|
|
subs r0, r0, r1
|
|
b _08078D3C
|
|
.align 2, 0
|
|
_08078D28: .4byte gUnk_0811C01C
|
|
_08078D2C: .4byte gUnk_03003F80
|
|
_08078D30: .4byte gUnk_0811C0B0
|
|
_08078D34:
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
ldrh r1, [r5, #0x2e]
|
|
adds r0, r0, r1
|
|
_08078D3C:
|
|
strh r0, [r4, #0x2e]
|
|
movs r0, #1
|
|
ldrsb r0, [r2, r0]
|
|
ldrh r1, [r5, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x32]
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
adds r2, r4, #0
|
|
bl sub_0806FEBC
|
|
ldr r1, [r4, #0x50]
|
|
cmp r1, #0
|
|
beq _08078D5E
|
|
adds r0, r4, #0
|
|
bl sub_0806FA24
|
|
_08078D5E:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08078D60
|
|
sub_08078D60: @ 0x08078D60
|
|
push {r4, r5, r6, lr}
|
|
ldr r1, _08078DCC @ =gLinkEntity
|
|
ldr r0, [r1, #0x74]
|
|
ldr r4, [r0, #0x54]
|
|
ldrb r0, [r4, #0xc]
|
|
adds r6, r1, #0
|
|
cmp r0, #2
|
|
beq _08078D72
|
|
b _08078E82
|
|
_08078D72:
|
|
adds r0, r6, #0
|
|
adds r0, #0x63
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
ldrh r1, [r6, #0x36]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x36]
|
|
ldrb r1, [r6, #0x1b]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r4, #0x1b]
|
|
movs r0, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x1b]
|
|
adds r0, r6, #0
|
|
adds r0, #0x38
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x38
|
|
strb r1, [r0]
|
|
adds r0, r6, #0
|
|
adds r0, #0x5a
|
|
ldrb r0, [r0]
|
|
movs r2, #0x7f
|
|
ands r2, r0
|
|
ldr r1, _08078DD0 @ =gUnk_0811C0E8
|
|
ldrb r0, [r4, #0x16]
|
|
lsrs r0, r0, #4
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
ldrb r0, [r6, #0x18]
|
|
lsls r0, r0, #0x19
|
|
cmp r0, #0
|
|
bge _08078DD4
|
|
adds r2, r1, r2
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
ldrh r0, [r6, #0x2e]
|
|
subs r0, r0, r1
|
|
strh r0, [r4, #0x2e]
|
|
adds r1, r2, #0
|
|
b _08078DE0
|
|
.align 2, 0
|
|
_08078DCC: .4byte gLinkEntity
|
|
_08078DD0: .4byte gUnk_0811C0E8
|
|
_08078DD4:
|
|
adds r1, r1, r2
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
ldrh r2, [r6, #0x2e]
|
|
adds r0, r0, r2
|
|
strh r0, [r4, #0x2e]
|
|
_08078DE0:
|
|
movs r0, #1
|
|
ldrsb r0, [r1, r0]
|
|
ldrh r1, [r4, #0x36]
|
|
adds r0, r0, r1
|
|
strh r0, [r4, #0x36]
|
|
adds r5, r6, #0
|
|
ldrh r0, [r5, #0x32]
|
|
strh r0, [r4, #0x32]
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FAB0
|
|
ldr r0, _08078E34 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #5]
|
|
cmp r0, #4
|
|
bne _08078E4C
|
|
ldrb r1, [r5, #0x19]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r2, [r4, #0x19]
|
|
movs r0, #0x3f
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x19]
|
|
adds r0, r4, #0
|
|
bl sub_0806F8DC
|
|
ldrb r1, [r4, #0x16]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #2
|
|
bne _08078E82
|
|
ldr r0, _08078E38 @ =gUnk_030010A0
|
|
ldr r1, [r0]
|
|
movs r0, #3
|
|
ands r1, r0
|
|
cmp r1, #1
|
|
beq _08078E3C
|
|
cmp r1, #3
|
|
beq _08078E44
|
|
b _08078E82
|
|
.align 2, 0
|
|
_08078E34: .4byte gUnk_03003F80
|
|
_08078E38: .4byte gUnk_030010A0
|
|
_08078E3C:
|
|
ldrh r0, [r4, #0x2e]
|
|
adds r0, #1
|
|
strh r0, [r4, #0x2e]
|
|
b _08078E82
|
|
_08078E44:
|
|
ldrh r0, [r4, #0x2e]
|
|
subs r0, #1
|
|
strh r0, [r4, #0x2e]
|
|
b _08078E82
|
|
_08078E4C:
|
|
ldrb r0, [r5, #0x14]
|
|
lsrs r0, r0, #1
|
|
cmp r0, #0
|
|
beq _08078E62
|
|
adds r0, r5, #0
|
|
adds r0, #0x29
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
subs r1, #1
|
|
b _08078E6E
|
|
_08078E62:
|
|
adds r0, r6, #0
|
|
adds r0, #0x29
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
adds r1, #1
|
|
_08078E6E:
|
|
adds r3, r4, #0
|
|
adds r3, #0x29
|
|
movs r0, #7
|
|
ands r1, r0
|
|
ldrb r2, [r3]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r3]
|
|
_08078E82:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08078E84
|
|
sub_08078E84: @ 0x08078E84
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
ldr r0, _08078ED0 @ =gLinkEntity
|
|
cmp r4, r0
|
|
bne _08078EAC
|
|
adds r0, r5, #0
|
|
bl sub_08079BD8
|
|
adds r0, r4, #0
|
|
adds r0, #0x62
|
|
ldrb r0, [r0]
|
|
adds r1, r5, #0
|
|
adds r1, #0x62
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x63
|
|
ldrb r0, [r0]
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
_08078EAC:
|
|
ldr r0, _08078ED4 @ =gUnk_080029B4
|
|
ldrh r2, [r4, #0x12]
|
|
lsls r2, r2, #4
|
|
adds r0, #4
|
|
adds r2, r2, r0
|
|
ldrb r1, [r4, #0x1e]
|
|
lsls r1, r1, #2
|
|
ldr r0, [r2]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0, #1]
|
|
cmp r0, #0
|
|
beq _08078ED8
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
adds r2, r5, #0
|
|
bl sub_0806FEBC
|
|
b _08078EE2
|
|
.align 2, 0
|
|
_08078ED0: .4byte gLinkEntity
|
|
_08078ED4: .4byte gUnk_080029B4
|
|
_08078ED8:
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
adds r2, r5, #0
|
|
bl sub_0806FEBC
|
|
_08078EE2:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08078EE4
|
|
sub_08078EE4: @ 0x08078EE4
|
|
ldr r2, _08078EF4 @ =gLinkEntity
|
|
ldr r1, _08078EF8 @ =gUnk_03003F80
|
|
ldrh r0, [r1, #0x16]
|
|
strh r0, [r2, #0x2e]
|
|
ldrh r0, [r1, #0x18]
|
|
strh r0, [r2, #0x32]
|
|
bx lr
|
|
.align 2, 0
|
|
_08078EF4: .4byte gLinkEntity
|
|
_08078EF8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08078EFC
|
|
sub_08078EFC: @ 0x08078EFC
|
|
push {lr}
|
|
ldr r3, _08078F18 @ =gUnk_03003F80
|
|
ldrb r2, [r3, #0xc]
|
|
cmp r2, #0
|
|
beq _08078F20
|
|
ldr r0, _08078F1C @ =gLinkEntity
|
|
movs r1, #0
|
|
strb r2, [r0, #0xc]
|
|
strb r1, [r0, #0xd]
|
|
strb r1, [r3, #0xc]
|
|
bl sub_08070680
|
|
movs r0, #1
|
|
b _08078F22
|
|
.align 2, 0
|
|
_08078F18: .4byte gUnk_03003F80
|
|
_08078F1C: .4byte gLinkEntity
|
|
_08078F20:
|
|
movs r0, #0
|
|
_08078F22:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08078F24
|
|
sub_08078F24: @ 0x08078F24
|
|
push {r4, lr}
|
|
ldr r4, _08078F38 @ =gUnk_03003F80
|
|
ldrb r3, [r4, #0xd]
|
|
movs r0, #0x80
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _08078F3C
|
|
bl sub_08078F60
|
|
b _08078F5A
|
|
.align 2, 0
|
|
_08078F38: .4byte gUnk_03003F80
|
|
_08078F3C:
|
|
ldr r2, _08078F5C @ =gUnk_080C9160
|
|
lsls r0, r3, #4
|
|
adds r0, r0, r2
|
|
ldrh r1, [r0]
|
|
adds r0, r4, #0
|
|
adds r0, #0x8c
|
|
strh r1, [r0]
|
|
lsls r0, r3, #4
|
|
adds r0, #0x80
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
rsbs r0, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x8e
|
|
strh r0, [r1]
|
|
_08078F5A:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08078F5C: .4byte gUnk_080C9160
|
|
|
|
thumb_func_start sub_08078F60
|
|
sub_08078F60: @ 0x08078F60
|
|
ldr r0, _08078F70 @ =gUnk_03003F80
|
|
adds r1, r0, #0
|
|
adds r1, #0x8c
|
|
movs r2, #0
|
|
strh r2, [r1]
|
|
adds r0, #0x8e
|
|
strh r2, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_08078F70: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08078F74
|
|
sub_08078F74: @ 0x08078F74
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _08078FA4 @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x18]
|
|
cmp r0, #3
|
|
bne _08078FAC
|
|
ldr r3, _08078FA8 @ =gUnk_03003F80
|
|
adds r0, r3, #0
|
|
adds r0, #0x35
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq _08078FAC
|
|
movs r1, #0
|
|
movs r0, #0x81
|
|
strb r0, [r3, #2]
|
|
movs r0, #0x15
|
|
strb r0, [r2, #0xc]
|
|
strb r1, [r2, #0xd]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
str r0, [r2, #0x20]
|
|
movs r0, #1
|
|
b _08078FAE
|
|
.align 2, 0
|
|
_08078FA4: .4byte gUnk_02033A90
|
|
_08078FA8: .4byte gUnk_03003F80
|
|
_08078FAC:
|
|
movs r0, #0
|
|
_08078FAE:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08078FB0
|
|
sub_08078FB0: @ 0x08078FB0
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08078FE0 @ =gUnk_03003F80
|
|
ldrb r1, [r5, #6]
|
|
movs r6, #0x80
|
|
adds r0, r6, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08078FCA
|
|
adds r1, r5, #0
|
|
adds r1, #0x35
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
_08078FCA:
|
|
adds r0, r4, #0
|
|
bl sub_08079064
|
|
ldr r1, [r5, #0x30]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08078FE4
|
|
movs r2, #0x58
|
|
b _08078FFA
|
|
.align 2, 0
|
|
_08078FE0: .4byte gUnk_03003F80
|
|
_08078FE4:
|
|
ands r1, r6
|
|
cmp r1, #0
|
|
beq _08078FEE
|
|
movs r2, #0x18
|
|
b _08078FFA
|
|
_08078FEE:
|
|
ldrh r0, [r5, #8]
|
|
lsrs r0, r0, #8
|
|
movs r2, #0xb8
|
|
cmp r0, #7
|
|
bne _08078FFA
|
|
movs r2, #0x34
|
|
_08078FFA:
|
|
ldr r0, _08079014 @ =gUnk_03003F80
|
|
adds r3, r0, #0
|
|
ldrb r1, [r0, #8]
|
|
cmp r2, r1
|
|
bls _08079040
|
|
ldrb r0, [r4, #0x14]
|
|
adds r2, r0, #0
|
|
cmp r2, #4
|
|
bls _08079018
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
b _08079020
|
|
.align 2, 0
|
|
_08079014: .4byte gUnk_03003F80
|
|
_08079018:
|
|
ldrb r1, [r4, #0x18]
|
|
movs r0, #0x41
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
_08079020:
|
|
strb r0, [r4, #0x18]
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xc
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08079036
|
|
ldrh r1, [r3, #8]
|
|
ldrb r0, [r4, #0x14]
|
|
adds r2, r1, r0
|
|
b _08079042
|
|
_08079036:
|
|
lsls r0, r2, #0x18
|
|
lsrs r0, r0, #0x19
|
|
ldrh r3, [r3, #8]
|
|
adds r2, r0, r3
|
|
b _08079042
|
|
_08079040:
|
|
ldrh r2, [r0, #8]
|
|
_08079042:
|
|
ldrh r0, [r4, #0x12]
|
|
lsls r0, r0, #8
|
|
adds r1, r4, #0
|
|
adds r1, #0x58
|
|
ldrb r1, [r1]
|
|
orrs r0, r1
|
|
cmp r2, r0
|
|
beq _08079062
|
|
lsrs r0, r2, #8
|
|
strh r0, [r4, #0x12]
|
|
movs r0, #0xff
|
|
ands r2, r0
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
bl sub_080042AC
|
|
_08079062:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_08079064
|
|
sub_08079064: @ 0x08079064
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
ldr r0, _0807909C @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x30]
|
|
ldr r2, _080790A0 @ =0x00100080
|
|
ands r1, r2
|
|
adds r5, r0, #0
|
|
cmp r1, #0
|
|
bne _080790DE
|
|
movs r3, #0
|
|
movs r2, #0
|
|
ldr r1, _080790A4 @ =gUnk_03000B80
|
|
_0807907C:
|
|
ldrb r0, [r1, #0xf]
|
|
cmp r0, r3
|
|
bls _08079086
|
|
adds r3, r0, #0
|
|
ldrh r4, [r1, #0x10]
|
|
_08079086:
|
|
adds r1, #0x1c
|
|
adds r2, #1
|
|
cmp r2, #3
|
|
bls _0807907C
|
|
adds r2, r5, #0
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r0, r3
|
|
bhs _080790A8
|
|
strh r4, [r2, #8]
|
|
b _080790DE
|
|
.align 2, 0
|
|
_0807909C: .4byte gUnk_03003F80
|
|
_080790A0: .4byte 0x00100080
|
|
_080790A4: .4byte gUnk_03000B80
|
|
_080790A8:
|
|
adds r0, r2, #0
|
|
adds r0, #0x26
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080790C0
|
|
ldr r0, _080790BC @ =0x000002BE
|
|
strh r0, [r2, #8]
|
|
b _080790DE
|
|
.align 2, 0
|
|
_080790BC: .4byte 0x000002BE
|
|
_080790C0:
|
|
ldrh r1, [r5, #8]
|
|
movs r0, #0xc1
|
|
lsls r0, r0, #3
|
|
cmp r1, r0
|
|
beq _080790D8
|
|
movs r0, #0x82
|
|
lsls r0, r0, #1
|
|
cmp r1, r0
|
|
beq _080790D8
|
|
ldr r0, _080790E0 @ =0x00000404
|
|
cmp r1, r0
|
|
bne _080790DE
|
|
_080790D8:
|
|
adds r0, r6, #0
|
|
bl sub_080790E4
|
|
_080790DE:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_080790E0: .4byte 0x00000404
|
|
|
|
thumb_func_start sub_080790E4
|
|
sub_080790E4: @ 0x080790E4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r5, _08079128 @ =gUnk_03003F80
|
|
ldrb r0, [r5, #0xb]
|
|
cmp r0, #0
|
|
bne _08079182
|
|
movs r0, #0x10
|
|
bl sub_080793E4
|
|
cmp r0, #0
|
|
beq _0807912C
|
|
adds r1, r4, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0x14
|
|
strb r0, [r1]
|
|
adds r1, #5
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
movs r1, #0x10
|
|
eors r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x3e
|
|
strb r0, [r1]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
bl sub_080526A0
|
|
movs r0, #0x7a
|
|
bl sub_080A3268
|
|
b _08079182
|
|
.align 2, 0
|
|
_08079128: .4byte gUnk_03003F80
|
|
_0807912C:
|
|
ldrb r1, [r5, #6]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079182
|
|
cmp r1, #0
|
|
bne _08079150
|
|
movs r0, #1
|
|
bl sub_080793E4
|
|
cmp r0, #0
|
|
beq _0807914C
|
|
ldrb r0, [r4, #0xf]
|
|
cmp r0, #5
|
|
bhi _08079154
|
|
adds r0, #1
|
|
_0807914C:
|
|
strb r0, [r4, #0xf]
|
|
b _08079182
|
|
_08079150:
|
|
subs r0, r1, #1
|
|
strb r0, [r5, #6]
|
|
_08079154:
|
|
ldr r2, _08079174 @ =gUnk_03003F80
|
|
ldrb r0, [r4, #0x14]
|
|
adds r1, r2, #0
|
|
adds r1, #0x35
|
|
strb r0, [r1]
|
|
adds r1, #0x73
|
|
movs r0, #0x19
|
|
strb r0, [r1]
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807917C
|
|
ldr r0, _08079178 @ =0x0000093C
|
|
b _08079180
|
|
.align 2, 0
|
|
_08079174: .4byte gUnk_03003F80
|
|
_08079178: .4byte 0x0000093C
|
|
_0807917C:
|
|
movs r0, #0xcf
|
|
lsls r0, r0, #2
|
|
_08079180:
|
|
strh r0, [r2, #8]
|
|
_08079182:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08079184
|
|
sub_08079184: @ 0x08079184
|
|
ldr r0, _08079194 @ =gUnk_03003F80
|
|
movs r1, #0
|
|
strb r1, [r0, #5]
|
|
strb r1, [r0, #1]
|
|
ldr r0, _08079198 @ =gLinkEntity
|
|
str r1, [r0, #0x74]
|
|
bx lr
|
|
.align 2, 0
|
|
_08079194: .4byte gUnk_03003F80
|
|
_08079198: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807919C
|
|
sub_0807919C: @ 0x0807919C
|
|
push {lr}
|
|
ldr r0, _080791B0 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080791B4
|
|
bl sub_080791BC
|
|
b _080791B8
|
|
.align 2, 0
|
|
_080791B0: .4byte gUnk_03003F80
|
|
_080791B4:
|
|
bl sub_08079258
|
|
_080791B8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080791BC
|
|
sub_080791BC: @ 0x080791BC
|
|
ldr r0, _080791CC @ =gLinkEntity
|
|
movs r2, #0
|
|
movs r1, #1
|
|
strb r1, [r0, #0xc]
|
|
strb r2, [r0, #0xd]
|
|
strb r2, [r0, #0xf]
|
|
bx lr
|
|
.align 2, 0
|
|
_080791CC: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_080791D0
|
|
sub_080791D0: @ 0x080791D0
|
|
push {lr}
|
|
ldr r3, _0807920C @ =gUnk_03003F80
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080791E8
|
|
ldr r0, _08079210 @ =gLinkEntity
|
|
ldrb r1, [r0, #0x18]
|
|
movs r2, #3
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x18]
|
|
_080791E8:
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079214
|
|
ldr r2, _08079210 @ =gLinkEntity
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
bl sub_0807921C
|
|
b _08079218
|
|
.align 2, 0
|
|
_0807920C: .4byte gUnk_03003F80
|
|
_08079210: .4byte gLinkEntity
|
|
_08079214:
|
|
bl sub_08079258
|
|
_08079218:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807921C
|
|
sub_0807921C: @ 0x0807921C
|
|
push {r4, lr}
|
|
ldr r4, _0807924C @ =gLinkEntity
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x10]
|
|
ldrb r0, [r4, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x18]
|
|
ldr r2, _08079250 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08079254 @ =0xFECBF6FA
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
bl sub_08079938
|
|
bl sub_080791BC
|
|
adds r0, r4, #0
|
|
bl sub_0805E374
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807924C: .4byte gLinkEntity
|
|
_08079250: .4byte gUnk_03003F80
|
|
_08079254: .4byte 0xFECBF6FA
|
|
|
|
thumb_func_start sub_08079258
|
|
sub_08079258: @ 0x08079258
|
|
push {r4, lr}
|
|
ldr r4, _080792AC @ =gUnk_03003F80
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x40
|
|
ands r0, r1
|
|
ldr r3, _080792B0 @ =gLinkEntity
|
|
cmp r0, #0
|
|
bne _08079278
|
|
ldrb r1, [r3, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x10]
|
|
ldrb r0, [r3, #0x18]
|
|
movs r1, #3
|
|
orrs r0, r1
|
|
strb r0, [r3, #0x18]
|
|
_08079278:
|
|
movs r0, #9
|
|
strb r0, [r3, #0xc]
|
|
movs r0, #1
|
|
strb r0, [r3, #0xd]
|
|
adds r2, r3, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
movs r2, #0
|
|
ldr r0, _080792B4 @ =0x00000C18
|
|
strh r0, [r4, #8]
|
|
ldr r0, [r4, #0x30]
|
|
ldr r1, _080792B8 @ =0xFECFFEFA
|
|
ands r0, r1
|
|
str r0, [r4, #0x30]
|
|
adds r0, r4, #0
|
|
adds r0, #0x26
|
|
strb r2, [r0]
|
|
strb r2, [r4, #0xc]
|
|
adds r0, r3, #0
|
|
bl sub_0805E374
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080792AC: .4byte gUnk_03003F80
|
|
_080792B0: .4byte gLinkEntity
|
|
_080792B4: .4byte 0x00000C18
|
|
_080792B8: .4byte 0xFECFFEFA
|
|
|
|
thumb_func_start sub_080792BC
|
|
sub_080792BC: @ 0x080792BC
|
|
push {r4, lr}
|
|
ldr r3, _080792D0 @ =gUnk_03003F80
|
|
movs r4, #0x13
|
|
strb r4, [r3, #0xc]
|
|
adds r3, #0x38
|
|
strb r2, [r3]
|
|
ldr r2, _080792D4 @ =gLinkEntity
|
|
strh r0, [r2, #0x24]
|
|
strb r1, [r2, #0x15]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080792D0: .4byte gUnk_03003F80
|
|
_080792D4: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_080792D8
|
|
sub_080792D8: @ 0x080792D8
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _08079344 @ =gLinkEntity
|
|
adds r3, r5, #0
|
|
adds r3, #0x42
|
|
ldrb r0, [r3]
|
|
cmp r0, #0
|
|
beq _080793E0
|
|
ldrb r2, [r5, #0xc]
|
|
cmp r2, #0xb
|
|
beq _08079338
|
|
ldr r0, _08079348 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x1e]
|
|
adds r6, r0, #0
|
|
cmp r1, #0
|
|
bne _08079338
|
|
ldrb r0, [r6, #5]
|
|
subs r0, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #3
|
|
bls _08079338
|
|
ldrb r0, [r6, #2]
|
|
cmp r0, #0
|
|
bne _08079338
|
|
ldrb r0, [r6, #0x12]
|
|
cmp r0, #0xff
|
|
beq _08079338
|
|
ldrb r1, [r6, #7]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079338
|
|
adds r0, r6, #0
|
|
adds r0, #0x26
|
|
ldrb r1, [r0]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
subs r0, #1
|
|
cmp r0, #0
|
|
bgt _08079338
|
|
cmp r2, #3
|
|
beq _08079338
|
|
ldr r1, [r6, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xb
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _0807934C
|
|
_08079338:
|
|
adds r1, r5, #0
|
|
adds r1, #0x42
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
b _080793E0
|
|
.align 2, 0
|
|
_08079344: .4byte gLinkEntity
|
|
_08079348: .4byte gUnk_03003F80
|
|
_0807934C:
|
|
cmp r2, #0x1d
|
|
bne _0807935E
|
|
adds r0, r5, #0
|
|
adds r0, #0x3e
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x10
|
|
beq _0807935E
|
|
strb r1, [r3]
|
|
b _080793E0
|
|
_0807935E:
|
|
adds r0, r5, #0
|
|
adds r0, #0x42
|
|
ldrb r3, [r0]
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
adds r2, r0, #0
|
|
cmp r1, #0
|
|
ble _08079372
|
|
subs r0, r3, #1
|
|
b _08079374
|
|
_08079372:
|
|
adds r0, r3, #1
|
|
_08079374:
|
|
strb r0, [r2]
|
|
ldrb r0, [r2]
|
|
cmp r0, #0
|
|
beq _080793E0
|
|
adds r4, r6, #0
|
|
ldrb r0, [r4, #7]
|
|
movs r1, #0xdf
|
|
ands r1, r0
|
|
strb r1, [r4, #7]
|
|
adds r0, r5, #0
|
|
adds r0, #0x3d
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
ble _080793CA
|
|
adds r0, r4, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080793CA
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080793CA
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0
|
|
bne _080793CA
|
|
bl sub_08077B2C
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080793C4
|
|
movs r0, #0x8a
|
|
lsls r0, r0, #1
|
|
strh r0, [r4, #8]
|
|
b _080793CA
|
|
_080793C4:
|
|
movs r0, #0x83
|
|
lsls r0, r0, #3
|
|
strh r0, [r6, #8]
|
|
_080793CA:
|
|
movs r1, #0xa0
|
|
lsls r1, r1, #2
|
|
adds r4, r5, #0
|
|
adds r4, #0x3e
|
|
ldrb r2, [r4]
|
|
adds r0, r5, #0
|
|
bl sub_080027EA
|
|
ldrb r0, [r4]
|
|
bl sub_0807A5B8
|
|
_080793E0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_080793E4
|
|
sub_080793E4: @ 0x080793E4
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _080793FC @ =gUnk_03003F80
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08079408
|
|
ldr r1, _08079400 @ =gUnk_0811C0F8
|
|
ldr r0, _08079404 @ =gLinkEntity
|
|
ldrb r0, [r0, #0x14]
|
|
lsrs r0, r0, #1
|
|
b _08079410
|
|
.align 2, 0
|
|
_080793FC: .4byte gUnk_03003F80
|
|
_08079400: .4byte gUnk_0811C0F8
|
|
_08079404: .4byte gLinkEntity
|
|
_08079408:
|
|
ldr r1, _08079448 @ =gUnk_0811C0F8
|
|
ldr r0, _0807944C @ =gLinkEntity
|
|
ldrb r0, [r0, #0x15]
|
|
lsrs r0, r0, #2
|
|
_08079410:
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r4, [r0]
|
|
bl sub_08079778
|
|
cmp r0, #0
|
|
beq _08079454
|
|
ldr r0, _08079450 @ =gUnk_03003F80
|
|
adds r0, #0x90
|
|
ldrh r0, [r0]
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _08079454
|
|
cmp r5, #0
|
|
beq _08079442
|
|
bl sub_0807A500
|
|
ldr r1, _0807944C @ =gLinkEntity
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
adds r2, r5, #0
|
|
bl sub_080002F0
|
|
cmp r0, #0
|
|
beq _08079454
|
|
_08079442:
|
|
movs r0, #1
|
|
b _08079456
|
|
.align 2, 0
|
|
_08079448: .4byte gUnk_0811C0F8
|
|
_0807944C: .4byte gLinkEntity
|
|
_08079450: .4byte gUnk_03003F80
|
|
_08079454:
|
|
movs r0, #0
|
|
_08079456:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08079458
|
|
sub_08079458: @ 0x08079458
|
|
push {r4, r5, lr}
|
|
ldr r4, _08079498 @ =gLinkEntity
|
|
movs r1, #0
|
|
movs r0, #0x19
|
|
strb r0, [r4, #0xc]
|
|
str r1, [r4, #0x34]
|
|
str r1, [r4, #0x20]
|
|
adds r0, r4, #0
|
|
adds r0, #0x42
|
|
strb r1, [r0]
|
|
bl sub_08078EE4
|
|
ldr r2, _0807949C @ =gUnk_03003F80
|
|
ldr r1, [r2, #0x30]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xa
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079514
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _080794E4
|
|
adds r0, r2, #0
|
|
adds r0, #0x84
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1, #0x2e]
|
|
strh r0, [r4, #0x2e]
|
|
ldrh r0, [r1, #0x32]
|
|
strh r0, [r4, #0x32]
|
|
b _08079514
|
|
.align 2, 0
|
|
_08079498: .4byte gLinkEntity
|
|
_0807949C: .4byte gUnk_03003F80
|
|
_080794A0:
|
|
ldr r2, _080794DC @ =gLinkEntity
|
|
ldr r0, [r4]
|
|
lsrs r0, r0, #0x1e
|
|
adds r1, r2, #0
|
|
adds r1, #0x38
|
|
strb r0, [r1]
|
|
ldr r3, _080794E0 @ =gUnk_03000BF0
|
|
ldr r0, [r4]
|
|
movs r1, #0x3f
|
|
ands r0, r1
|
|
lsls r0, r0, #4
|
|
ldrh r1, [r3, #6]
|
|
adds r0, r0, r1
|
|
adds r0, #8
|
|
strh r0, [r2, #0x2e]
|
|
ldr r0, [r4]
|
|
movs r1, #0xfc
|
|
lsls r1, r1, #4
|
|
ands r0, r1
|
|
lsrs r0, r0, #2
|
|
ldrh r3, [r3, #8]
|
|
adds r0, r0, r3
|
|
adds r0, #8
|
|
strh r0, [r2, #0x32]
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x10]
|
|
b _08079514
|
|
.align 2, 0
|
|
_080794DC: .4byte gLinkEntity
|
|
_080794E0: .4byte gUnk_03000BF0
|
|
_080794E4:
|
|
movs r5, #0
|
|
ldr r1, [r2, #0x40]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
beq _08079514
|
|
adds r4, r2, #0
|
|
adds r4, #0x40
|
|
_080794F4:
|
|
ldr r1, [r4]
|
|
ldrh r0, [r4]
|
|
lsrs r1, r1, #0x1e
|
|
bl sub_080002E0
|
|
cmp r0, #0xf
|
|
bne _080794A0
|
|
adds r4, #4
|
|
adds r5, #1
|
|
cmp r5, #0xf
|
|
bhi _08079514
|
|
ldr r1, [r4]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
bne _080794F4
|
|
_08079514:
|
|
ldr r0, _0807951C @ =gLinkEntity
|
|
bl sub_08016A04
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807951C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08079520
|
|
sub_08079520: @ 0x08079520
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _08079538 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #0xd]
|
|
cmp r0, #0x7f
|
|
ble _08079532
|
|
ldrb r0, [r1, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #3
|
|
_08079532:
|
|
strb r0, [r1, #0x15]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08079538: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807953C
|
|
sub_0807953C: @ 0x0807953C
|
|
ldr r1, _08079548 @ =0x00000F38
|
|
ldr r0, _0807954C @ =gUnk_03003F80
|
|
adds r0, #0x92
|
|
ldrh r0, [r0]
|
|
ands r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_08079548: .4byte 0x00000F38
|
|
_0807954C: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08079550
|
|
sub_08079550: @ 0x08079550
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
ldr r0, _080795A8 @ =gUnk_03004030
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #0
|
|
beq _08079562
|
|
b _080796FC
|
|
_08079562:
|
|
ldr r2, _080795AC @ =gUnk_03003F80
|
|
ldrb r0, [r2, #0x1e]
|
|
cmp r0, #0
|
|
beq _08079576
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080795B4
|
|
_08079576:
|
|
adds r0, r2, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
ldr r1, _080795B0 @ =gLinkEntity
|
|
mov r8, r1
|
|
cmp r0, #0
|
|
bne _080795A0
|
|
ldrb r1, [r2, #0x1b]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080795A0
|
|
mov r3, r8
|
|
ldrb r1, [r3, #0x15]
|
|
ldrb r2, [r2, #0xd]
|
|
cmp r1, r2
|
|
bne _080795A0
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080795B4
|
|
_080795A0:
|
|
movs r0, #0
|
|
mov r5, r8
|
|
strb r0, [r5, #0xf]
|
|
b _080796FE
|
|
.align 2, 0
|
|
_080795A8: .4byte gUnk_03004030
|
|
_080795AC: .4byte gUnk_03003F80
|
|
_080795B0: .4byte gLinkEntity
|
|
_080795B4:
|
|
bl sub_08079778
|
|
cmp r0, #0
|
|
bne _080795BE
|
|
b _080796FC
|
|
_080795BE:
|
|
ldr r3, _08079610 @ =gLinkEntity
|
|
ldrb r2, [r3, #0x14]
|
|
movs r0, #6
|
|
ands r0, r2
|
|
ldr r1, _08079614 @ =gUnk_0811C100
|
|
adds r1, r0, r1
|
|
movs r0, #2
|
|
ands r0, r2
|
|
mov r8, r3
|
|
cmp r0, #0
|
|
beq _0807961C
|
|
movs r6, #0x2e
|
|
ldrsh r2, [r3, r6]
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
adds r2, r2, r0
|
|
ldr r4, _08079618 @ =gUnk_03000BF0
|
|
ldrh r0, [r4, #6]
|
|
subs r2, r2, r0
|
|
asrs r2, r2, #4
|
|
movs r3, #0x3f
|
|
ands r2, r3
|
|
mov r0, r8
|
|
movs r5, #0x32
|
|
ldrsh r1, [r0, r5]
|
|
ldr r0, [r0, #0x48]
|
|
ldrb r5, [r0, #3]
|
|
adds r0, r1, r5
|
|
ldrh r4, [r4, #8]
|
|
subs r0, r0, r4
|
|
asrs r0, r0, #4
|
|
ands r0, r3
|
|
lsls r7, r0, #6
|
|
orrs r7, r2
|
|
subs r1, r1, r5
|
|
subs r1, r1, r4
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r4, r1, #6
|
|
orrs r4, r2
|
|
b _0807965E
|
|
.align 2, 0
|
|
_08079610: .4byte gLinkEntity
|
|
_08079614: .4byte gUnk_0811C100
|
|
_08079618: .4byte gUnk_03000BF0
|
|
_0807961C:
|
|
mov r6, r8
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r6, r0]
|
|
ldr r0, [r6, #0x48]
|
|
ldrb r0, [r0, #4]
|
|
mov ip, r0
|
|
adds r0, r2, r0
|
|
ldr r4, _080796EC @ =gUnk_03000BF0
|
|
ldrh r3, [r4, #6]
|
|
mov sb, r3
|
|
subs r0, r0, r3
|
|
asrs r7, r0, #4
|
|
movs r3, #0x3f
|
|
ands r7, r3
|
|
movs r5, #0x32
|
|
ldrsh r0, [r6, r5]
|
|
ldrb r1, [r1, #1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
adds r0, r0, r1
|
|
ldrh r1, [r4, #8]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
ands r0, r3
|
|
lsls r0, r0, #6
|
|
orrs r7, r0
|
|
mov r6, ip
|
|
subs r2, r2, r6
|
|
mov r1, sb
|
|
subs r2, r2, r1
|
|
asrs r4, r2, #4
|
|
ands r4, r3
|
|
orrs r4, r0
|
|
_0807965E:
|
|
adds r0, r7, #0
|
|
mov r5, r8
|
|
adds r5, #0x38
|
|
ldrb r1, [r5]
|
|
bl sub_080002C8
|
|
adds r3, r0, #0
|
|
ldr r6, _080796F0 @ =gUnk_0811C1E8
|
|
mov r1, r8
|
|
ldrb r0, [r1, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
ldr r1, [r0]
|
|
adds r0, r3, #0
|
|
bl sub_08007DD6
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
beq _080796FC
|
|
adds r0, r4, #0
|
|
ldrb r1, [r5]
|
|
bl sub_080002C8
|
|
adds r3, r0, #0
|
|
mov r5, r8
|
|
ldrb r0, [r5, #0x14]
|
|
lsrs r0, r0, #1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
ldr r1, [r0]
|
|
adds r0, r3, #0
|
|
bl sub_08007DD6
|
|
adds r3, r0, #0
|
|
cmp r3, #0
|
|
beq _080796FC
|
|
ldr r1, _080796F4 @ =gUnk_03003F80
|
|
ldrb r2, [r1, #6]
|
|
movs r0, #0x80
|
|
orrs r0, r2
|
|
strb r0, [r1, #6]
|
|
ldrb r0, [r1, #0x1e]
|
|
adds r4, r1, #0
|
|
cmp r0, #0
|
|
bne _080796C8
|
|
ldrb r0, [r5, #0xf]
|
|
adds r0, #1
|
|
strb r0, [r5, #0xf]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #5
|
|
bls _080796FC
|
|
_080796C8:
|
|
ldr r0, _080796F8 @ =gLinkEntity
|
|
subs r1, r3, #1
|
|
movs r2, #0
|
|
strb r1, [r0, #0x14]
|
|
movs r1, #4
|
|
strb r1, [r0, #0xc]
|
|
strb r2, [r0, #0xd]
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
movs r1, #0x81
|
|
strb r1, [r4, #2]
|
|
bl sub_08070680
|
|
movs r0, #1
|
|
b _080796FE
|
|
.align 2, 0
|
|
_080796EC: .4byte gUnk_03000BF0
|
|
_080796F0: .4byte gUnk_0811C1E8
|
|
_080796F4: .4byte gUnk_03003F80
|
|
_080796F8: .4byte gLinkEntity
|
|
_080796FC:
|
|
movs r0, #0
|
|
_080796FE:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08079708
|
|
sub_08079708: @ 0x08079708
|
|
push {r4, lr}
|
|
ldr r4, _08079740 @ =gUnk_03003F80
|
|
adds r2, r4, #0
|
|
adds r2, #0xa8
|
|
movs r3, #0
|
|
movs r1, #0x12
|
|
strb r1, [r2]
|
|
subs r2, #0x6c
|
|
movs r1, #0xff
|
|
strb r1, [r2]
|
|
ldrb r2, [r0, #0x10]
|
|
movs r1, #0x7f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x10]
|
|
movs r1, #0xa
|
|
strb r1, [r0, #0xc]
|
|
strb r3, [r0, #0xd]
|
|
bl sub_080085B0
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x88
|
|
lsls r1, r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807973E
|
|
bl sub_0805E544
|
|
_0807973E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08079740: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08079744
|
|
sub_08079744: @ 0x08079744
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrh r0, [r2, #0x2e]
|
|
movs r1, #0xf
|
|
ands r1, r0
|
|
cmp r1, #8
|
|
beq _0807975E
|
|
cmp r1, #8
|
|
ble _0807975A
|
|
subs r0, #1
|
|
b _0807975C
|
|
_0807975A:
|
|
adds r0, #1
|
|
_0807975C:
|
|
strh r0, [r2, #0x2e]
|
|
_0807975E:
|
|
ldrh r0, [r2, #0x32]
|
|
movs r1, #0xf
|
|
ands r1, r0
|
|
cmp r1, #8
|
|
beq _08079774
|
|
cmp r1, #8
|
|
ble _08079770
|
|
subs r0, #1
|
|
b _08079772
|
|
_08079770:
|
|
adds r0, #1
|
|
_08079772:
|
|
strh r0, [r2, #0x32]
|
|
_08079774:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08079778
|
|
sub_08079778: @ 0x08079778
|
|
push {lr}
|
|
ldr r0, _08079790 @ =gUnk_03003F80
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0807979C
|
|
ldr r2, _08079794 @ =gUnk_0811C108
|
|
ldr r1, _08079798 @ =gLinkEntity
|
|
ldrb r0, [r1, #0x14]
|
|
lsrs r0, r0, #1
|
|
b _080797A4
|
|
.align 2, 0
|
|
_08079790: .4byte gUnk_03003F80
|
|
_08079794: .4byte gUnk_0811C108
|
|
_08079798: .4byte gLinkEntity
|
|
_0807979C:
|
|
ldr r2, _080797BC @ =gUnk_0811C108
|
|
ldr r1, _080797C0 @ =gLinkEntity
|
|
ldrb r0, [r1, #0x15]
|
|
lsrs r0, r0, #2
|
|
_080797A4:
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r2
|
|
ldrh r2, [r0]
|
|
movs r3, #0
|
|
ldrh r0, [r1, #0x2a]
|
|
ands r0, r2
|
|
cmp r2, r0
|
|
bne _080797B6
|
|
movs r3, #1
|
|
_080797B6:
|
|
adds r0, r3, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080797BC: .4byte gUnk_0811C108
|
|
_080797C0: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_080797C4
|
|
sub_080797C4: @ 0x080797C4
|
|
push {lr}
|
|
ldr r1, _080797E4 @ =gUnk_0811C110
|
|
ldr r2, _080797E8 @ =gLinkEntity
|
|
ldrb r0, [r2, #0x15]
|
|
lsrs r0, r0, #3
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r1, [r0]
|
|
movs r3, #0
|
|
ldrh r0, [r2, #0x2a]
|
|
ands r0, r1
|
|
cmp r1, r0
|
|
bne _080797E0
|
|
movs r3, #1
|
|
_080797E0:
|
|
adds r0, r3, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_080797E4: .4byte gUnk_0811C110
|
|
_080797E8: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_080797EC
|
|
sub_080797EC: @ 0x080797EC
|
|
push {r4, r5, lr}
|
|
ldr r4, _08079804 @ =gUnk_03003F80
|
|
ldr r1, [r4, #0x30]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807985C
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0
|
|
beq _0807980C
|
|
ldr r5, _08079808 @ =0x00000934
|
|
b _0807991E
|
|
.align 2, 0
|
|
_08079804: .4byte gUnk_03003F80
|
|
_08079808: .4byte 0x00000934
|
|
_0807980C:
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _08079818
|
|
movs r5, #0x82
|
|
lsls r5, r5, #3
|
|
b _0807991E
|
|
_08079818:
|
|
adds r0, r4, #0
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080798A0
|
|
adds r0, r4, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
movs r5, #0xa4
|
|
lsls r5, r5, #2
|
|
cmp r0, #0
|
|
bne _0807991E
|
|
movs r5, #0xb6
|
|
lsls r5, r5, #1
|
|
ldrb r1, [r4, #0x1b]
|
|
movs r0, #0x48
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080798C2
|
|
lsls r0, r1, #0x18
|
|
cmp r0, #0
|
|
bne _080798CE
|
|
adds r1, r4, #0
|
|
adds r1, #0xa8
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _08079852
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
_08079852:
|
|
ldr r5, _08079858 @ =0x00000404
|
|
b _0807991E
|
|
.align 2, 0
|
|
_08079858: .4byte 0x00000404
|
|
_0807985C:
|
|
ldrb r0, [r4, #0x1c]
|
|
cmp r0, #0
|
|
bne _0807992E
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0
|
|
beq _0807986E
|
|
movs r5, #0xd2
|
|
lsls r5, r5, #2
|
|
b _0807991E
|
|
_0807986E:
|
|
ldrb r0, [r4, #0x1e]
|
|
cmp r0, #0
|
|
beq _0807987A
|
|
movs r5, #0xa6
|
|
lsls r5, r5, #2
|
|
b _0807991E
|
|
_0807987A:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
beq _0807988A
|
|
movs r5, #0xe2
|
|
lsls r5, r5, #3
|
|
b _0807991E
|
|
_0807988A:
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _08079896
|
|
movs r5, #0xb0
|
|
lsls r5, r5, #1
|
|
b _0807991E
|
|
_08079896:
|
|
adds r0, r4, #0
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080798A6
|
|
_080798A0:
|
|
movs r5, #0xa1
|
|
lsls r5, r5, #2
|
|
b _0807991E
|
|
_080798A6:
|
|
adds r0, r4, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
movs r5, #0xa4
|
|
lsls r5, r5, #2
|
|
cmp r0, #0
|
|
bne _0807991E
|
|
movs r5, #0xb6
|
|
lsls r5, r5, #1
|
|
ldrb r1, [r4, #0x1b]
|
|
movs r0, #0x48
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080798C8
|
|
_080798C2:
|
|
movs r0, #0x6c
|
|
strb r0, [r4]
|
|
b _0807992E
|
|
_080798C8:
|
|
lsls r0, r1, #0x18
|
|
cmp r0, #0
|
|
beq _080798FC
|
|
_080798CE:
|
|
movs r0, #0
|
|
bl sub_080793E4
|
|
cmp r0, #0
|
|
beq _0807991E
|
|
bl sub_0807A500
|
|
ldr r1, _080798F8 @ =gLinkEntity
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080002E0
|
|
cmp r0, #0xff
|
|
beq _0807991E
|
|
ldrb r1, [r4, #0x1b]
|
|
movs r0, #0xf7
|
|
ands r0, r1
|
|
strb r0, [r4, #0x1b]
|
|
movs r5, #0xb8
|
|
lsls r5, r5, #1
|
|
b _0807991E
|
|
.align 2, 0
|
|
_080798F8: .4byte gLinkEntity
|
|
_080798FC:
|
|
adds r1, r4, #0
|
|
adds r1, #0xa8
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0807990A
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
_0807990A:
|
|
ldr r0, [r4, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x10
|
|
ands r0, r1
|
|
movs r5, #0x82
|
|
lsls r5, r5, #1
|
|
cmp r0, #0
|
|
beq _0807991E
|
|
movs r5, #0xc1
|
|
lsls r5, r5, #3
|
|
_0807991E:
|
|
ldr r0, _08079930 @ =gUnk_03003F80
|
|
strh r5, [r0, #8]
|
|
ldrb r0, [r0, #3]
|
|
cmp r0, #0
|
|
bne _0807992E
|
|
ldr r0, _08079934 @ =gLinkEntity
|
|
bl sub_080042B8
|
|
_0807992E:
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08079930: .4byte gUnk_03003F80
|
|
_08079934: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08079938
|
|
sub_08079938: @ 0x08079938
|
|
push {r4, lr}
|
|
ldr r3, _08079954 @ =gUnk_03003F80
|
|
ldr r2, [r3, #0x30]
|
|
movs r0, #8
|
|
ands r0, r2
|
|
mov ip, r3
|
|
cmp r0, #0
|
|
beq _080799E4
|
|
ldrb r0, [r3, #5]
|
|
cmp r0, #0
|
|
beq _0807995C
|
|
ldr r4, _08079958 @ =0x0000092C
|
|
b _08079AD8
|
|
.align 2, 0
|
|
_08079954: .4byte gUnk_03003F80
|
|
_08079958: .4byte 0x0000092C
|
|
_0807995C:
|
|
mov r0, ip
|
|
adds r0, #0x3d
|
|
mov r3, ip
|
|
ldrb r1, [r3, #0x1c]
|
|
ldrb r0, [r0]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
beq _0807996E
|
|
b _08079B14
|
|
_0807996E:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _08079A1E
|
|
mov r4, ip
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _08079988
|
|
ldr r4, _08079984 @ =0x00000414
|
|
b _08079AD8
|
|
.align 2, 0
|
|
_08079984: .4byte 0x00000414
|
|
_08079988:
|
|
mov r0, ip
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08079A5C
|
|
mov r0, ip
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08079A6C
|
|
mov r0, ip
|
|
ldrb r1, [r0, #0x1b]
|
|
movs r0, #0x48
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080799AA
|
|
b _08079B14
|
|
_080799AA:
|
|
cmp r1, #0
|
|
beq _080799B0
|
|
b _08079AA4
|
|
_080799B0:
|
|
mov r1, ip
|
|
ldrb r0, [r1, #4]
|
|
cmp r0, #0
|
|
beq _080799BA
|
|
b _08079B14
|
|
_080799BA:
|
|
movs r0, #0x20
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _080799D0
|
|
ldr r0, _080799D8 @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x17]
|
|
cmp r0, #4
|
|
bne _080799CC
|
|
b _08079AD4
|
|
_080799CC:
|
|
cmp r0, #5
|
|
bne _080799DC
|
|
_080799D0:
|
|
movs r4, #0x80
|
|
lsls r4, r4, #3
|
|
b _08079AD8
|
|
.align 2, 0
|
|
_080799D8: .4byte gUnk_02033A90
|
|
_080799DC:
|
|
ldr r4, _080799E0 @ =0x000002C2
|
|
b _08079AD8
|
|
.align 2, 0
|
|
_080799E0: .4byte 0x000002C2
|
|
_080799E4:
|
|
mov r4, ip
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #0
|
|
beq _080799F2
|
|
movs r4, #0xd4
|
|
lsls r4, r4, #2
|
|
b _08079AD8
|
|
_080799F2:
|
|
mov r0, ip
|
|
adds r0, #0x3d
|
|
mov r4, ip
|
|
ldrb r1, [r4, #0x1c]
|
|
ldrb r0, [r0]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
beq _08079A04
|
|
b _08079B14
|
|
_08079A04:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0xc
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08079A14
|
|
movs r4, #0x8b
|
|
lsls r4, r4, #4
|
|
b _08079AD8
|
|
_08079A14:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08079A24
|
|
_08079A1E:
|
|
movs r4, #0x81
|
|
lsls r4, r4, #4
|
|
b _08079AD8
|
|
_08079A24:
|
|
mov r1, ip
|
|
ldrb r0, [r1, #0x1e]
|
|
cmp r0, #0
|
|
beq _08079A32
|
|
movs r4, #0xa6
|
|
lsls r4, r4, #2
|
|
b _08079AD8
|
|
_08079A32:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08079A44
|
|
ldr r4, _08079A40 @ =0x0000070C
|
|
b _08079AD8
|
|
.align 2, 0
|
|
_08079A40: .4byte 0x0000070C
|
|
_08079A44:
|
|
mov r4, ip
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _08079A52
|
|
movs r4, #0xb2
|
|
lsls r4, r4, #1
|
|
b _08079AD8
|
|
_08079A52:
|
|
mov r0, ip
|
|
adds r0, #0x21
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08079A62
|
|
_08079A5C:
|
|
movs r4, #0xa0
|
|
lsls r4, r4, #2
|
|
b _08079AD8
|
|
_08079A62:
|
|
mov r0, ip
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08079A72
|
|
_08079A6C:
|
|
movs r4, #0xa3
|
|
lsls r4, r4, #2
|
|
b _08079AD8
|
|
_08079A72:
|
|
mov r0, ip
|
|
ldrb r1, [r0, #0x1b]
|
|
movs r0, #0x48
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079B14
|
|
movs r0, #0x20
|
|
ands r2, r0
|
|
cmp r2, #0
|
|
beq _08079AA0
|
|
ldr r0, _08079A98 @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0x17]
|
|
ldr r4, _08079A9C @ =0x000002C2
|
|
cmp r0, #4
|
|
bne _08079AD8
|
|
movs r4, #0xa6
|
|
lsls r4, r4, #3
|
|
b _08079AD8
|
|
.align 2, 0
|
|
_08079A98: .4byte gUnk_02033A90
|
|
_08079A9C: .4byte 0x000002C2
|
|
_08079AA0:
|
|
cmp r1, #0
|
|
beq _08079AAA
|
|
_08079AA4:
|
|
movs r4, #0xb4
|
|
lsls r4, r4, #1
|
|
b _08079AD8
|
|
_08079AAA:
|
|
ldrb r0, [r3, #4]
|
|
cmp r0, #0
|
|
bne _08079B14
|
|
ldr r0, [r3, #0x30]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08079AD4
|
|
ldr r0, _08079ACC @ =gUnk_03000B80
|
|
adds r0, #0x63
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08079B14
|
|
ldr r4, _08079AD0 @ =0x00000604
|
|
b _08079AD8
|
|
.align 2, 0
|
|
_08079ACC: .4byte gUnk_03000B80
|
|
_08079AD0: .4byte 0x00000604
|
|
_08079AD4:
|
|
movs r4, #0x80
|
|
lsls r4, r4, #1
|
|
_08079AD8:
|
|
mov r1, ip
|
|
strh r4, [r1, #8]
|
|
ldrb r0, [r1, #5]
|
|
cmp r0, #0
|
|
bne _08079B10
|
|
movs r3, #0
|
|
movs r2, #0
|
|
ldr r1, _08079B18 @ =gUnk_03000B80
|
|
_08079AE8:
|
|
ldrb r0, [r1, #0xf]
|
|
cmp r0, r3
|
|
bls _08079AF0
|
|
adds r3, r0, #0
|
|
_08079AF0:
|
|
adds r1, #0x1c
|
|
adds r2, #1
|
|
cmp r2, #3
|
|
bls _08079AE8
|
|
mov r2, ip
|
|
ldrb r0, [r2, #0xe]
|
|
cmp r0, r3
|
|
blo _08079B14
|
|
lsls r0, r4, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldrb r3, [r2]
|
|
cmp r0, r3
|
|
bne _08079B10
|
|
ldr r0, _08079B1C @ =gLinkEntity
|
|
bl sub_080042B8
|
|
_08079B10:
|
|
ldr r0, _08079B20 @ =gUnk_03003F80
|
|
strb r4, [r0]
|
|
_08079B14:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08079B18: .4byte gUnk_03000B80
|
|
_08079B1C: .4byte gLinkEntity
|
|
_08079B20: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08079B24
|
|
sub_08079B24: @ 0x08079B24
|
|
push {r4, r5, lr}
|
|
ldr r2, _08079B60 @ =gLinkEntity
|
|
ldrb r0, [r2, #0xc]
|
|
cmp r0, #0xa
|
|
beq _08079BD4
|
|
adds r0, r2, #0
|
|
adds r0, #0x45
|
|
ldrb r3, [r0]
|
|
cmp r3, #0
|
|
bne _08079BD4
|
|
ldr r4, _08079B64 @ =gUnk_03003F80
|
|
ldr r1, [r4, #0x30]
|
|
ldr r0, _08079B68 @ =0xFEFFFFFF
|
|
ands r1, r0
|
|
str r1, [r4, #0x30]
|
|
adds r0, r2, #0
|
|
adds r0, #0x42
|
|
strb r3, [r0]
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0
|
|
bne _08079BD4
|
|
adds r0, r4, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _08079B6C
|
|
bl sub_08079458
|
|
b _08079BC0
|
|
.align 2, 0
|
|
_08079B60: .4byte gLinkEntity
|
|
_08079B64: .4byte gUnk_03003F80
|
|
_08079B68: .4byte 0xFEFFFFFF
|
|
_08079B6C:
|
|
ldrb r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
bne _08079BC0
|
|
movs r3, #0x80
|
|
lsls r3, r3, #5
|
|
ands r3, r1
|
|
cmp r3, #0
|
|
bne _08079BC0
|
|
movs r5, #0x36
|
|
ldrsh r0, [r2, r5]
|
|
cmp r0, #0
|
|
bge _08079BA6
|
|
ldr r0, [r2, #0x20]
|
|
cmp r0, #0
|
|
ble _08079B8C
|
|
str r3, [r2, #0x20]
|
|
_08079B8C:
|
|
ldrb r1, [r4, #2]
|
|
movs r3, #0x41
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079BD4
|
|
strb r3, [r4, #2]
|
|
movs r0, #0xff
|
|
strb r0, [r2, #0x15]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
strb r0, [r4, #0xd]
|
|
b _08079BD4
|
|
_08079BA6:
|
|
movs r0, #2
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08079BC0
|
|
bl sub_08079D48
|
|
cmp r0, #0
|
|
bne _08079BC0
|
|
ldrb r0, [r4, #0xa]
|
|
movs r1, #0x10
|
|
orrs r0, r1
|
|
strb r0, [r4, #0xa]
|
|
b _08079BD4
|
|
_08079BC0:
|
|
ldr r2, _08079BD0 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x10]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r2, #0x10]
|
|
movs r0, #0
|
|
b _08079BD6
|
|
.align 2, 0
|
|
_08079BD0: .4byte gLinkEntity
|
|
_08079BD4:
|
|
movs r0, #1
|
|
_08079BD6:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08079BD8
|
|
sub_08079BD8: @ 0x08079BD8
|
|
push {r4, r5, lr}
|
|
ldr r4, _08079C2C @ =gLinkEntity
|
|
ldr r1, [r4, #0x2c]
|
|
str r1, [r0, #0x2c]
|
|
ldr r1, [r4, #0x30]
|
|
str r1, [r0, #0x30]
|
|
ldr r1, [r4, #0x34]
|
|
str r1, [r0, #0x34]
|
|
adds r1, r4, #0
|
|
adds r1, #0x38
|
|
ldrb r2, [r1]
|
|
adds r1, r0, #0
|
|
adds r1, #0x38
|
|
strb r2, [r1]
|
|
ldrb r3, [r4, #0x19]
|
|
lsrs r3, r3, #6
|
|
lsls r3, r3, #6
|
|
ldrb r5, [r0, #0x19]
|
|
movs r2, #0x3f
|
|
adds r1, r2, #0
|
|
ands r1, r5
|
|
orrs r1, r3
|
|
strb r1, [r0, #0x19]
|
|
ldrb r1, [r4, #0x1b]
|
|
lsrs r1, r1, #6
|
|
lsls r1, r1, #6
|
|
ldrb r3, [r0, #0x1b]
|
|
ands r2, r3
|
|
orrs r2, r1
|
|
strb r2, [r0, #0x1b]
|
|
adds r4, #0x29
|
|
ldrb r2, [r4]
|
|
lsls r2, r2, #0x1d
|
|
adds r0, #0x29
|
|
lsrs r2, r2, #0x1d
|
|
ldrb r3, [r0]
|
|
movs r1, #8
|
|
rsbs r1, r1, #0
|
|
ands r1, r3
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08079C2C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08079C30
|
|
sub_08079C30: @ 0x08079C30
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r0, #0
|
|
ldr r0, _08079C68 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x14]
|
|
adds r7, r0, #0
|
|
cmp r1, #0
|
|
beq _08079C44
|
|
b _08079D40
|
|
_08079C44:
|
|
ldr r1, [r7, #0x30]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079D40
|
|
movs r0, #0x80
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _08079D36
|
|
ldrb r0, [r7, #0x13]
|
|
subs r0, #0xd
|
|
cmp r0, #0x1d
|
|
bhi _08079CE8
|
|
lsls r0, r0, #2
|
|
ldr r1, _08079C6C @ =_08079C70
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08079C68: .4byte gUnk_03003F80
|
|
_08079C6C: .4byte _08079C70
|
|
_08079C70: @ jump table
|
|
.4byte _08079D36 @ case 0
|
|
.4byte _08079D36 @ case 1
|
|
.4byte _08079D36 @ case 2
|
|
.4byte _08079D36 @ case 3
|
|
.4byte _08079CE8 @ case 4
|
|
.4byte _08079CE8 @ case 5
|
|
.4byte _08079CE8 @ case 6
|
|
.4byte _08079D36 @ case 7
|
|
.4byte _08079CE8 @ case 8
|
|
.4byte _08079CE8 @ case 9
|
|
.4byte _08079D36 @ case 10
|
|
.4byte _08079CE8 @ case 11
|
|
.4byte _08079CE8 @ case 12
|
|
.4byte _08079CE8 @ case 13
|
|
.4byte _08079CE8 @ case 14
|
|
.4byte _08079CE8 @ case 15
|
|
.4byte _08079CE8 @ case 16
|
|
.4byte _08079CE8 @ case 17
|
|
.4byte _08079CE8 @ case 18
|
|
.4byte _08079CE8 @ case 19
|
|
.4byte _08079CE8 @ case 20
|
|
.4byte _08079CE8 @ case 21
|
|
.4byte _08079CE8 @ case 22
|
|
.4byte _08079CE8 @ case 23
|
|
.4byte _08079CE8 @ case 24
|
|
.4byte _08079CE8 @ case 25
|
|
.4byte _08079CE8 @ case 26
|
|
.4byte _08079CE8 @ case 27
|
|
.4byte _08079CE8 @ case 28
|
|
.4byte _08079D36 @ case 29
|
|
_08079CE8:
|
|
mov r8, r7
|
|
mov r0, r8
|
|
ldrb r4, [r0, #0x12]
|
|
movs r2, #1
|
|
rsbs r2, r2, #0
|
|
adds r0, r6, #0
|
|
movs r1, #0
|
|
bl sub_080002B4
|
|
ldr r5, _08079D3C @ =gUnk_08007CAC
|
|
adds r1, r5, #0
|
|
bl sub_08007DD6
|
|
cmp r4, r0
|
|
bne _08079D40
|
|
mov r0, r8
|
|
ldrb r4, [r0, #0x12]
|
|
adds r0, r6, #0
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_080002B4
|
|
adds r1, r5, #0
|
|
bl sub_08007DD6
|
|
cmp r4, r0
|
|
bne _08079D40
|
|
ldrb r4, [r7, #0x12]
|
|
movs r1, #2
|
|
rsbs r1, r1, #0
|
|
adds r0, r6, #0
|
|
movs r2, #0
|
|
bl sub_080002B4
|
|
adds r1, r5, #0
|
|
bl sub_08007DD6
|
|
cmp r4, r0
|
|
bne _08079D40
|
|
_08079D36:
|
|
movs r0, #1
|
|
b _08079D42
|
|
.align 2, 0
|
|
_08079D3C: .4byte gUnk_08007CAC
|
|
_08079D40:
|
|
movs r0, #0
|
|
_08079D42:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08079D48
|
|
sub_08079D48: @ 0x08079D48
|
|
push {r4, lr}
|
|
ldr r4, _08079D78 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
bl sub_08079C30
|
|
cmp r0, #0
|
|
beq _08079D72
|
|
bl sub_08008B22
|
|
cmp r0, #0
|
|
bne _08079D80
|
|
adds r0, r4, #0
|
|
bl sub_080002B8
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
ldr r1, _08079D7C @ =gUnk_0811C268
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
bne _08079D80
|
|
_08079D72:
|
|
movs r0, #1
|
|
b _08079D82
|
|
.align 2, 0
|
|
_08079D78: .4byte gLinkEntity
|
|
_08079D7C: .4byte gUnk_0811C268
|
|
_08079D80:
|
|
movs r0, #0
|
|
_08079D82:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_08079D84
|
|
sub_08079D84: @ 0x08079D84
|
|
push {lr}
|
|
ldr r3, _08079DC0 @ =gLinkEntity
|
|
ldrb r0, [r3, #0xc]
|
|
cmp r0, #1
|
|
beq _08079D92
|
|
cmp r0, #0x18
|
|
bne _08079DBE
|
|
_08079D92:
|
|
ldr r2, _08079DC4 @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0x38
|
|
movs r0, #0x9c
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
movs r0, #0x3c
|
|
strb r0, [r1]
|
|
movs r0, #0xe
|
|
strb r0, [r2, #0xc]
|
|
adds r1, r3, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0x7c
|
|
strb r0, [r1]
|
|
bl sub_08077B20
|
|
ldr r0, _08079DC8 @ =0x00000193
|
|
bl sub_080A3268
|
|
_08079DBE:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08079DC0: .4byte gLinkEntity
|
|
_08079DC4: .4byte gUnk_03003F80
|
|
_08079DC8: .4byte 0x00000193
|
|
|
|
thumb_func_start sub_08079DCC
|
|
sub_08079DCC: @ 0x08079DCC
|
|
push {lr}
|
|
ldr r0, _08079DFC @ =gLinkEntity
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #1
|
|
bne _08079DF8
|
|
ldr r3, _08079E00 @ =gUnk_03003F80
|
|
adds r1, r3, #0
|
|
adds r1, #0x38
|
|
movs r2, #0
|
|
movs r0, #0xa0
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
adds r0, r3, #0
|
|
adds r0, #0x3a
|
|
strb r2, [r0]
|
|
movs r0, #0xe
|
|
strb r0, [r3, #0xc]
|
|
ldr r0, _08079E04 @ =0x00000193
|
|
bl sub_080A3268
|
|
_08079DF8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08079DFC: .4byte gLinkEntity
|
|
_08079E00: .4byte gUnk_03003F80
|
|
_08079E04: .4byte 0x00000193
|
|
|
|
thumb_func_start sub_08079E08
|
|
sub_08079E08: @ 0x08079E08
|
|
push {r4, lr}
|
|
ldr r0, _08079E50 @ =gLinkEntity
|
|
ldrh r2, [r0, #0x24]
|
|
movs r3, #0x24
|
|
ldrsh r1, [r0, r3]
|
|
adds r4, r0, #0
|
|
cmp r1, #0
|
|
beq _08079E2E
|
|
ldr r0, _08079E54 @ =gUnk_03003F80
|
|
adds r0, #0x80
|
|
ldrh r0, [r0]
|
|
adds r0, r2, r0
|
|
strh r0, [r4, #0x24]
|
|
lsls r0, r0, #0x10
|
|
asrs r0, r0, #0x10
|
|
cmp r0, #0x1f
|
|
bgt _08079E2E
|
|
movs r0, #0x20
|
|
strh r0, [r4, #0x24]
|
|
_08079E2E:
|
|
adds r2, r4, #0
|
|
ldrb r1, [r2, #0x15]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079E40
|
|
ldrb r0, [r2, #0x15]
|
|
bl sub_08079E90
|
|
_08079E40:
|
|
adds r0, r4, #0
|
|
bl sub_0800857C
|
|
ldrb r0, [r4, #0x15]
|
|
bl sub_0807A5B8
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08079E50: .4byte gLinkEntity
|
|
_08079E54: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_08079E58
|
|
sub_08079E58: @ 0x08079E58
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
ldr r5, _08079E8C @ =gLinkEntity
|
|
ldrb r1, [r5, #0x15]
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079E70
|
|
adds r0, r4, #0
|
|
bl sub_08079E90
|
|
_08079E70:
|
|
adds r0, r5, #0
|
|
bl sub_080085B0
|
|
lsls r1, r6, #0x10
|
|
asrs r1, r1, #0x10
|
|
lsls r2, r4, #0x18
|
|
lsrs r2, r2, #0x18
|
|
adds r0, r5, #0
|
|
bl sub_080027EA
|
|
adds r0, r4, #0
|
|
bl sub_0807A5B8
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08079E8C: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08079E90
|
|
sub_08079E90: @ 0x08079E90
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov sb, r0
|
|
ldr r1, _08079EBC @ =gLinkEntity
|
|
ldrb r2, [r1, #0x15]
|
|
movs r0, #8
|
|
ands r0, r2
|
|
adds r7, r1, #0
|
|
cmp r0, #0
|
|
beq _08079ECA
|
|
movs r0, #0x10
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
beq _08079EC0
|
|
ldr r0, [r7, #0x48]
|
|
ldrb r0, [r0, #2]
|
|
rsbs r0, r0, #0
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
b _08079EC4
|
|
.align 2, 0
|
|
_08079EBC: .4byte gLinkEntity
|
|
_08079EC0:
|
|
ldr r0, [r7, #0x48]
|
|
ldrb r5, [r0, #2]
|
|
_08079EC4:
|
|
ldr r0, [r7, #0x48]
|
|
ldrb r4, [r0, #3]
|
|
b _08079EDE
|
|
_08079ECA:
|
|
ldr r0, [r7, #0x48]
|
|
ldrb r5, [r0, #4]
|
|
cmp r2, #0
|
|
beq _08079ED6
|
|
ldrb r4, [r0, #5]
|
|
b _08079EDE
|
|
_08079ED6:
|
|
ldrb r0, [r0, #5]
|
|
rsbs r0, r0, #0
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
_08079EDE:
|
|
lsls r0, r5, #0x10
|
|
asrs r0, r0, #0x10
|
|
mov r8, r0
|
|
lsls r0, r4, #0x10
|
|
asrs r6, r0, #0x10
|
|
adds r0, r7, #0
|
|
mov r1, r8
|
|
adds r2, r6, #0
|
|
bl sub_080002CC
|
|
adds r1, r0, #0
|
|
mov r0, sb
|
|
bl sub_08079F48
|
|
cmp r0, #0
|
|
bne _08079F3C
|
|
ldrb r1, [r7, #0x15]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08079F10
|
|
rsbs r0, r6, #0
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
b _08079F18
|
|
_08079F10:
|
|
mov r1, r8
|
|
rsbs r0, r1, #0
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
_08079F18:
|
|
ldr r0, _08079F38 @ =gLinkEntity
|
|
lsls r1, r5, #0x10
|
|
asrs r1, r1, #0x10
|
|
lsls r2, r4, #0x10
|
|
asrs r2, r2, #0x10
|
|
bl sub_080002CC
|
|
adds r1, r0, #0
|
|
mov r0, sb
|
|
bl sub_08079F48
|
|
cmp r0, #0
|
|
bne _08079F3C
|
|
movs r0, #0
|
|
b _08079F3E
|
|
.align 2, 0
|
|
_08079F38: .4byte gLinkEntity
|
|
_08079F3C:
|
|
movs r0, #1
|
|
_08079F3E:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08079F48
|
|
sub_08079F48: @ 0x08079F48
|
|
push {lr}
|
|
ldr r3, _08079F60 @ =gUnk_0811C118
|
|
lsrs r2, r0, #2
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
bne _08079F68
|
|
ldr r0, _08079F64 @ =gLinkEntity
|
|
ldrb r1, [r0, #0x15]
|
|
adds r1, #4
|
|
b _08079F7C
|
|
.align 2, 0
|
|
_08079F60: .4byte gUnk_0811C118
|
|
_08079F64: .4byte gLinkEntity
|
|
_08079F68:
|
|
adds r0, r2, #1
|
|
adds r0, r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, r1
|
|
beq _08079F76
|
|
movs r0, #0
|
|
b _08079F84
|
|
_08079F76:
|
|
ldr r0, _08079F88 @ =gLinkEntity
|
|
ldrb r1, [r0, #0x15]
|
|
subs r1, #4
|
|
_08079F7C:
|
|
movs r2, #0x1f
|
|
ands r1, r2
|
|
strb r1, [r0, #0x15]
|
|
movs r0, #1
|
|
_08079F84:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08079F88: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08079F8C
|
|
sub_08079F8C: @ 0x08079F8C
|
|
push {lr}
|
|
ldr r2, _08079FB4 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _08079FB8 @ =0x22189B75
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _08079FB0
|
|
adds r0, r2, #0
|
|
adds r0, #0x3c
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08079FB0
|
|
ldr r0, _08079FBC @ =gLinkEntity
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #3
|
|
beq _08079FB0
|
|
cmp r0, #0xb
|
|
bne _08079FC0
|
|
_08079FB0:
|
|
movs r0, #0
|
|
b _08079FC2
|
|
.align 2, 0
|
|
_08079FB4: .4byte gUnk_03003F80
|
|
_08079FB8: .4byte 0x22189B75
|
|
_08079FBC: .4byte gLinkEntity
|
|
_08079FC0:
|
|
movs r0, #1
|
|
_08079FC2:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_08079FC4
|
|
sub_08079FC4: @ 0x08079FC4
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _08079FD0 @ =gLinkEntity
|
|
bl sub_08079FD4
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08079FD0: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_08079FD4
|
|
sub_08079FD4: @ 0x08079FD4
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #4
|
|
adds r5, r0, #0
|
|
movs r0, #0x2e
|
|
ldrsh r2, [r5, r0]
|
|
ldr r3, _0807A008 @ =gUnk_03000BF0
|
|
ldrh r0, [r3, #6]
|
|
subs r2, r2, r0
|
|
asrs r2, r2, #4
|
|
movs r4, #0x3f
|
|
ands r2, r4
|
|
movs r6, #0x32
|
|
ldrsh r0, [r5, r6]
|
|
ldrh r3, [r3, #8]
|
|
subs r0, r0, r3
|
|
asrs r0, r0, #4
|
|
ands r0, r4
|
|
lsls r0, r0, #6
|
|
orrs r2, r0
|
|
lsls r2, r2, #1
|
|
ldr r6, _0807A00C @ =gUnk_02027EB4
|
|
cmp r1, #2
|
|
bne _0807A004
|
|
ldr r6, _0807A010 @ =gUnk_0200D654
|
|
_0807A004:
|
|
movs r4, #0
|
|
b _0807A028
|
|
.align 2, 0
|
|
_0807A008: .4byte gUnk_03000BF0
|
|
_0807A00C: .4byte gUnk_02027EB4
|
|
_0807A010: .4byte gUnk_0200D654
|
|
_0807A014:
|
|
cmp r1, #0x23
|
|
beq _0807A028
|
|
cmp r1, #0x27
|
|
beq _0807A028
|
|
ldr r0, _0807A04C @ =gUnk_080082DC
|
|
subs r1, #0x10
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _0807A046
|
|
_0807A028:
|
|
adds r4, #1
|
|
adds r0, r5, #0
|
|
mov r1, sp
|
|
bl sub_08004202
|
|
adds r2, r0, #0
|
|
lsrs r0, r2, #1
|
|
adds r0, r6, r0
|
|
ldrb r1, [r0]
|
|
cmp r1, #0xe
|
|
bls _0807A046
|
|
cmp r1, #0xf
|
|
bls _0807A028
|
|
cmp r1, #0x1d
|
|
bne _0807A014
|
|
_0807A046:
|
|
adds r0, r4, #0
|
|
add sp, #4
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807A04C: .4byte gUnk_080082DC
|
|
|
|
thumb_func_start sub_0807A050
|
|
sub_0807A050: @ 0x0807A050
|
|
push {lr}
|
|
ldr r3, _0807A088 @ =gUnk_03003F80
|
|
ldrb r2, [r3, #0xf]
|
|
cmp r2, #0
|
|
beq _0807A06A
|
|
ldr r0, _0807A08C @ =gUnk_02000050
|
|
ldrb r1, [r0]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807A06A
|
|
subs r0, r2, #1
|
|
strb r0, [r3, #0xf]
|
|
_0807A06A:
|
|
movs r0, #0
|
|
bl sub_0807A094
|
|
adds r1, r0, #0
|
|
ldr r0, _0807A088 @ =gUnk_03003F80
|
|
adds r0, #0x83
|
|
ldrb r2, [r0]
|
|
cmp r1, r2
|
|
beq _0807A084
|
|
strb r1, [r0]
|
|
ldr r0, _0807A090 @ =gLinkEntity
|
|
bl sub_0801D2B4
|
|
_0807A084:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807A088: .4byte gUnk_03003F80
|
|
_0807A08C: .4byte gUnk_02000050
|
|
_0807A090: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807A094
|
|
sub_0807A094: @ 0x0807A094
|
|
push {r4, r5, lr}
|
|
adds r3, r0, #0
|
|
movs r2, #0x16
|
|
ldr r0, _0807A0AC @ =gUnk_03003F80
|
|
ldrb r0, [r0, #0xf]
|
|
cmp r0, #0
|
|
beq _0807A0B0
|
|
movs r2, #0x1b
|
|
cmp r0, #0x78
|
|
bls _0807A104
|
|
movs r2, #0x1a
|
|
b _0807A104
|
|
.align 2, 0
|
|
_0807A0AC: .4byte gUnk_03003F80
|
|
_0807A0B0:
|
|
ldr r0, _0807A0F0 @ =gUnk_02002A40
|
|
adds r1, r0, #0
|
|
adds r1, #0xb2
|
|
ldrb r1, [r1]
|
|
adds r5, r0, #0
|
|
cmp r1, #0
|
|
beq _0807A104
|
|
movs r4, #1
|
|
cmp r3, #0
|
|
bne _0807A0D6
|
|
adds r0, #0xc4
|
|
ldrh r1, [r0]
|
|
cmp r1, #0xb3
|
|
bhi _0807A0D6
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807A0D6
|
|
movs r4, #0
|
|
_0807A0D6:
|
|
cmp r4, #0
|
|
beq _0807A104
|
|
adds r0, r5, #0
|
|
adds r0, #0xb2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x30
|
|
beq _0807A102
|
|
cmp r0, #0x30
|
|
bgt _0807A0F4
|
|
cmp r0, #0x2f
|
|
beq _0807A0FA
|
|
b _0807A102
|
|
.align 2, 0
|
|
_0807A0F0: .4byte gUnk_02002A40
|
|
_0807A0F4:
|
|
cmp r0, #0x31
|
|
beq _0807A0FE
|
|
b _0807A102
|
|
_0807A0FA:
|
|
movs r2, #0x18
|
|
b _0807A104
|
|
_0807A0FE:
|
|
movs r2, #0x17
|
|
b _0807A104
|
|
_0807A102:
|
|
movs r2, #0x19
|
|
_0807A104:
|
|
adds r0, r2, #0
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0807A108
|
|
sub_0807A108: @ 0x0807A108
|
|
push {lr}
|
|
ldr r1, _0807A148 @ =gUnk_03004040
|
|
movs r0, #0
|
|
str r0, [r1]
|
|
str r0, [r1, #4]
|
|
str r0, [r1, #8]
|
|
ldr r2, _0807A14C @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
ldr r1, _0807A150 @ =0xFFBFFFFF
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
ldr r0, _0807A154 @ =gLinkEntity
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0x17
|
|
bne _0807A130
|
|
adds r0, r2, #0
|
|
adds r0, #0xa0
|
|
ldrb r0, [r0]
|
|
cmp r0, #4
|
|
beq _0807A144
|
|
_0807A130:
|
|
adds r1, r2, #0
|
|
adds r1, #0xa0
|
|
ldrb r0, [r1]
|
|
subs r0, #4
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bhi _0807A144
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
_0807A144:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807A148: .4byte gUnk_03004040
|
|
_0807A14C: .4byte gUnk_03003F80
|
|
_0807A150: .4byte 0xFFBFFFFF
|
|
_0807A154: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807A158
|
|
sub_0807A158: @ 0x0807A158
|
|
push {r4, lr}
|
|
ldr r4, _0807A178 @ =gUnk_02002A40
|
|
adds r0, r4, #0
|
|
adds r0, #0xb4
|
|
ldrb r0, [r0]
|
|
bl sub_0805449C
|
|
cmp r0, #0
|
|
bne _0807A17C
|
|
adds r0, r4, #0
|
|
adds r0, #0xb5
|
|
ldrb r0, [r0]
|
|
bl sub_0805449C
|
|
b _0807A17E
|
|
.align 2, 0
|
|
_0807A178: .4byte gUnk_02002A40
|
|
_0807A17C:
|
|
movs r0, #1
|
|
_0807A17E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0807A180
|
|
sub_0807A180: @ 0x0807A180
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, #0x88
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
adds r6, r2, #0
|
|
mov r8, r3
|
|
ldr r3, _0807A1B4 @ =0xFFFC0000
|
|
mov r1, sp
|
|
movs r2, #0
|
|
bl sub_0806FA48
|
|
mov r1, sp
|
|
ldrb r0, [r4, #0x14]
|
|
strb r0, [r1, #0x14]
|
|
mov r0, sp
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
mov r3, r8
|
|
bl sub_08003FDE
|
|
add sp, #0x88
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807A1B4: .4byte 0xFFFC0000
|
|
|
|
thumb_func_start sub_0807A1B8
|
|
sub_0807A1B8: @ 0x0807A1B8
|
|
push {r4, lr}
|
|
ldr r4, _0807A1DC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_0807A1E8
|
|
ldr r1, _0807A1E0 @ =gUnk_03003F80
|
|
strb r0, [r1, #0x12]
|
|
ldr r2, _0807A1E4 @ =gUnk_0811C120
|
|
ldrb r0, [r1, #0x12]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807A1DC: .4byte gLinkEntity
|
|
_0807A1E0: .4byte gUnk_03003F80
|
|
_0807A1E4: .4byte gUnk_0811C120
|
|
|
|
thumb_func_start sub_0807A1E8
|
|
sub_0807A1E8: @ 0x0807A1E8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
mov r8, r2
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
adds r0, r0, r6
|
|
ldr r2, _0807A288 @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #6]
|
|
subs r1, r0, r1
|
|
lsrs r4, r1, #4
|
|
movs r3, #0x3f
|
|
ands r4, r3
|
|
movs r7, #0x32
|
|
ldrsh r1, [r5, r7]
|
|
add r1, r8
|
|
ldrh r2, [r2, #8]
|
|
subs r2, r1, r2
|
|
asrs r2, r2, #4
|
|
ands r2, r3
|
|
lsls r2, r2, #6
|
|
orrs r4, r2
|
|
ldr r2, _0807A28C @ =gLinkEntity
|
|
adds r2, #0x38
|
|
ldrb r2, [r2]
|
|
bl sub_080002A4
|
|
adds r2, r0, #0
|
|
ldr r1, _0807A290 @ =gUnk_03003F80
|
|
ldrh r0, [r1, #0x24]
|
|
cmp r2, r0
|
|
beq _0807A23A
|
|
adds r3, r1, #0
|
|
adds r3, #0x37
|
|
movs r0, #0
|
|
strb r0, [r3]
|
|
ldrh r7, [r1, #0x24]
|
|
cmp r2, r7
|
|
bne _0807A242
|
|
_0807A23A:
|
|
adds r3, r1, #0
|
|
ldrh r0, [r3, #0x22]
|
|
cmp r4, r0
|
|
beq _0807A24E
|
|
_0807A242:
|
|
ldr r0, _0807A290 @ =gUnk_03003F80
|
|
movs r1, #0
|
|
strh r4, [r0, #0x22]
|
|
strh r2, [r0, #0x24]
|
|
strb r1, [r0, #0x11]
|
|
adds r3, r0, #0
|
|
_0807A24E:
|
|
adds r2, r3, #0
|
|
ldrb r1, [r2, #0x11]
|
|
adds r0, r1, #0
|
|
cmp r0, #0xff
|
|
beq _0807A25C
|
|
adds r0, r1, #1
|
|
strb r0, [r2, #0x11]
|
|
_0807A25C:
|
|
adds r2, #0x37
|
|
ldrb r1, [r2]
|
|
adds r0, r1, #0
|
|
cmp r0, #0xff
|
|
beq _0807A26A
|
|
adds r0, r1, #1
|
|
strb r0, [r2]
|
|
_0807A26A:
|
|
ldrb r0, [r3, #0x12]
|
|
strb r0, [r3, #0x13]
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
mov r2, r8
|
|
bl sub_080002B4
|
|
adds r2, r0, #0
|
|
ldr r1, _0807A294 @ =gUnk_08007CAC
|
|
bl sub_08007DD6
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807A288: .4byte gUnk_03000BF0
|
|
_0807A28C: .4byte gLinkEntity
|
|
_0807A290: .4byte gUnk_03003F80
|
|
_0807A294: .4byte gUnk_08007CAC
|
|
|
|
thumb_func_start sub_0807A298
|
|
sub_0807A298: @ 0x0807A298
|
|
movs r1, #0
|
|
strb r1, [r0, #0xb]
|
|
ldrb r1, [r0, #0x18]
|
|
movs r2, #3
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x18]
|
|
ldr r2, _0807A2B4 @ =gUnk_03003F80
|
|
ldr r0, [r2, #0x30]
|
|
movs r1, #0x41
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
str r0, [r2, #0x30]
|
|
bx lr
|
|
.align 2, 0
|
|
_0807A2B4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807A2B8
|
|
sub_0807A2B8: @ 0x0807A2B8
|
|
push {lr}
|
|
bl sub_08008B22
|
|
cmp r0, #0
|
|
beq _0807A2C6
|
|
movs r0, #1
|
|
b _0807A2EC
|
|
_0807A2C6:
|
|
ldr r0, _0807A2F0 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #2]
|
|
movs r0, #0xc8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807A2EA
|
|
ldr r1, _0807A2F4 @ =gLinkEntity
|
|
adds r0, r1, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _0807A2EA
|
|
adds r0, r1, #0
|
|
movs r1, #0x44
|
|
movs r2, #0
|
|
movs r3, #0
|
|
bl sub_080A2988
|
|
_0807A2EA:
|
|
movs r0, #0
|
|
_0807A2EC:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807A2F0: .4byte gUnk_03003F80
|
|
_0807A2F4: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807A2F8
|
|
sub_0807A2F8: @ 0x0807A2F8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #4
|
|
adds r4, r0, #0
|
|
ldr r0, _0807A364 @ =gUnk_03000BF0
|
|
mov r8, r0
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #8
|
|
bne _0807A312
|
|
b _0807A4F2
|
|
_0807A312:
|
|
bl sub_08079778
|
|
orrs r0, r4
|
|
cmp r0, #0
|
|
bne _0807A31E
|
|
b _0807A4F2
|
|
_0807A31E:
|
|
ldr r7, _0807A368 @ =gLinkEntity
|
|
ldrb r1, [r7, #0x14]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807A36C
|
|
movs r1, #0x2e
|
|
ldrsh r2, [r7, r1]
|
|
mov r6, r8
|
|
ldrh r0, [r6, #6]
|
|
subs r2, r2, r0
|
|
asrs r2, r2, #4
|
|
movs r3, #0x3f
|
|
ands r2, r3
|
|
movs r0, #0x32
|
|
ldrsh r1, [r7, r0]
|
|
ldr r0, [r7, #0x48]
|
|
ldrb r5, [r0, #5]
|
|
adds r0, r1, r5
|
|
ldrh r4, [r6, #8]
|
|
subs r0, r0, r4
|
|
asrs r0, r0, #4
|
|
ands r0, r3
|
|
lsls r0, r0, #6
|
|
orrs r0, r2
|
|
lsls r7, r0, #1
|
|
subs r1, r1, r5
|
|
subs r1, r1, r4
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r2, r1
|
|
lsls r6, r2, #1
|
|
b _0807A3A2
|
|
.align 2, 0
|
|
_0807A364: .4byte gUnk_03000BF0
|
|
_0807A368: .4byte gLinkEntity
|
|
_0807A36C:
|
|
movs r1, #0x2e
|
|
ldrsh r3, [r7, r1]
|
|
ldr r0, [r7, #0x48]
|
|
ldrb r6, [r0, #2]
|
|
adds r1, r3, r6
|
|
mov r2, r8
|
|
ldrh r5, [r2, #6]
|
|
subs r1, r1, r5
|
|
asrs r1, r1, #4
|
|
movs r4, #0x3f
|
|
ands r1, r4
|
|
movs r2, #0x32
|
|
ldrsh r0, [r7, r2]
|
|
mov r7, r8
|
|
ldrh r2, [r7, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r4
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
lsls r7, r1, #1
|
|
subs r3, r3, r6
|
|
subs r3, r3, r5
|
|
asrs r3, r3, #4
|
|
ands r3, r4
|
|
orrs r3, r0
|
|
lsls r6, r3, #1
|
|
_0807A3A2:
|
|
movs r0, #0
|
|
mov sb, r0
|
|
ldr r1, _0807A3F4 @ =gLinkEntity
|
|
mov sl, r1
|
|
_0807A3AA:
|
|
movs r2, #0
|
|
mov r8, r2
|
|
mov r0, sl
|
|
mov r1, sp
|
|
adds r2, r7, #0
|
|
bl sub_08004202
|
|
adds r7, r0, #0
|
|
lsrs r4, r7, #1
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_080002E0
|
|
cmp r0, #0
|
|
beq _0807A3FC
|
|
lsls r0, r4, #0x10
|
|
lsrs r0, r0, #0x10
|
|
mov r1, sl
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080002C8
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
mov r2, sl
|
|
ldrb r1, [r2, #0x14]
|
|
lsrs r1, r1, #1
|
|
lsls r1, r1, #2
|
|
ldr r2, _0807A3F8 @ =gUnk_0811C1D8
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _0807A468
|
|
b _0807A400
|
|
.align 2, 0
|
|
_0807A3F4: .4byte gLinkEntity
|
|
_0807A3F8: .4byte gUnk_0811C1D8
|
|
_0807A3FC:
|
|
movs r0, #1
|
|
mov r8, r0
|
|
_0807A400:
|
|
ldr r5, _0807A444 @ =gLinkEntity
|
|
adds r0, r5, #0
|
|
mov r1, sp
|
|
adds r2, r6, #0
|
|
bl sub_08004202
|
|
adds r6, r0, #0
|
|
lsrs r4, r6, #1
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl sub_080002E0
|
|
cmp r0, #0
|
|
beq _0807A44C
|
|
lsls r0, r4, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r5, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080002C8
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
ldrb r1, [r5, #0x14]
|
|
lsrs r1, r1, #1
|
|
lsls r1, r1, #2
|
|
ldr r2, _0807A448 @ =gUnk_0811C1D8
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl sub_08007DD6
|
|
cmp r0, #0
|
|
beq _0807A468
|
|
b _0807A450
|
|
.align 2, 0
|
|
_0807A444: .4byte gLinkEntity
|
|
_0807A448: .4byte gUnk_0811C1D8
|
|
_0807A44C:
|
|
movs r0, #1
|
|
add r8, r0
|
|
_0807A450:
|
|
mov r1, r8
|
|
cmp r1, #2
|
|
bne _0807A45E
|
|
mov r2, sb
|
|
cmp r2, #0
|
|
bne _0807A46E
|
|
b _0807A4F2
|
|
_0807A45E:
|
|
movs r0, #1
|
|
add sb, r0
|
|
mov r1, sb
|
|
cmp r1, #1
|
|
bls _0807A3AA
|
|
_0807A468:
|
|
mov r2, sb
|
|
cmp r2, #0
|
|
beq _0807A4F2
|
|
_0807A46E:
|
|
bl sub_08052660
|
|
cmp r0, #0
|
|
beq _0807A4B0
|
|
ldr r4, _0807A4AC @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
mov r1, sp
|
|
adds r2, r7, #0
|
|
bl sub_08004202
|
|
adds r7, r0, #0
|
|
lsrs r0, r7, #1
|
|
movs r1, #2
|
|
bl sub_080002E0
|
|
cmp r0, #0
|
|
bne _0807A4F2
|
|
adds r0, r4, #0
|
|
mov r1, sp
|
|
adds r2, r6, #0
|
|
bl sub_08004202
|
|
adds r6, r0, #0
|
|
lsrs r0, r6, #1
|
|
movs r1, #2
|
|
_0807A4A0:
|
|
bl sub_080002E0
|
|
cmp r0, #0
|
|
beq _0807A4EC
|
|
b _0807A4F2
|
|
.align 2, 0
|
|
_0807A4AC: .4byte gLinkEntity
|
|
_0807A4B0:
|
|
mov r0, sb
|
|
cmp r0, #2
|
|
bne _0807A4C2
|
|
ldr r0, _0807A4E8 @ =gLinkEntity
|
|
mov r1, sp
|
|
adds r2, r7, #0
|
|
bl sub_08004202
|
|
adds r7, r0, #0
|
|
_0807A4C2:
|
|
lsrs r0, r7, #1
|
|
movs r1, #1
|
|
bl sub_080002E0
|
|
cmp r0, #0
|
|
bne _0807A4F2
|
|
mov r1, sb
|
|
cmp r1, #2
|
|
bne _0807A4E0
|
|
ldr r0, _0807A4E8 @ =gLinkEntity
|
|
mov r1, sp
|
|
adds r2, r6, #0
|
|
bl sub_08004202
|
|
adds r6, r0, #0
|
|
_0807A4E0:
|
|
lsrs r0, r6, #1
|
|
movs r1, #1
|
|
b _0807A4A0
|
|
.align 2, 0
|
|
_0807A4E8: .4byte gLinkEntity
|
|
_0807A4EC:
|
|
mov r0, sb
|
|
adds r0, #1
|
|
b _0807A4F4
|
|
_0807A4F2:
|
|
movs r0, #0
|
|
_0807A4F4:
|
|
add sp, #4
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0807A500
|
|
sub_0807A500: @ 0x0807A500
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _0807A518 @ =gLinkEntity
|
|
ldrb r0, [r6, #0x14]
|
|
lsrs r0, r0, #1
|
|
cmp r0, #1
|
|
beq _0807A574
|
|
cmp r0, #1
|
|
bgt _0807A51C
|
|
cmp r0, #0
|
|
beq _0807A526
|
|
b _0807A5B4
|
|
.align 2, 0
|
|
_0807A518: .4byte gLinkEntity
|
|
_0807A51C:
|
|
cmp r0, #2
|
|
beq _0807A554
|
|
cmp r0, #3
|
|
beq _0807A580
|
|
b _0807A5B4
|
|
_0807A526:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r6, r1]
|
|
ldr r5, _0807A550 @ =gUnk_03000BF0
|
|
ldrh r1, [r5, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r4, #0x3f
|
|
ands r0, r4
|
|
movs r2, #0x32
|
|
ldrsh r1, [r6, r2]
|
|
ldr r3, [r6, #0x48]
|
|
ldrb r2, [r3, #5]
|
|
subs r1, r1, r2
|
|
movs r2, #1
|
|
ldrsb r2, [r3, r2]
|
|
adds r1, r1, r2
|
|
ldrh r2, [r5, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r4
|
|
b _0807A5AA
|
|
.align 2, 0
|
|
_0807A550: .4byte gUnk_03000BF0
|
|
_0807A554:
|
|
movs r5, #0x2e
|
|
ldrsh r0, [r6, r5]
|
|
ldr r4, _0807A570 @ =gUnk_03000BF0
|
|
ldrh r1, [r4, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
ldr r2, [r6, #0x48]
|
|
movs r5, #0x32
|
|
ldrsh r1, [r6, r5]
|
|
ldrb r5, [r2, #5]
|
|
adds r1, r1, r5
|
|
b _0807A59A
|
|
.align 2, 0
|
|
_0807A570: .4byte gUnk_03000BF0
|
|
_0807A574:
|
|
ldr r2, [r6, #0x48]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r6, r1]
|
|
ldrb r5, [r2, #2]
|
|
adds r0, r0, r5
|
|
b _0807A58A
|
|
_0807A580:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r6, r1]
|
|
ldr r2, [r6, #0x48]
|
|
ldrb r1, [r2, #2]
|
|
subs r0, r0, r1
|
|
_0807A58A:
|
|
ldr r4, _0807A5B0 @ =gUnk_03000BF0
|
|
ldrh r1, [r4, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
ands r0, r3
|
|
movs r5, #0x32
|
|
ldrsh r1, [r6, r5]
|
|
_0807A59A:
|
|
ldrb r2, [r2, #1]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
adds r1, r1, r2
|
|
ldrh r2, [r4, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
_0807A5AA:
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
b _0807A5B6
|
|
.align 2, 0
|
|
_0807A5B0: .4byte gUnk_03000BF0
|
|
_0807A5B4:
|
|
movs r0, #0
|
|
_0807A5B6:
|
|
pop {r4, r5, r6, pc}
|
|
|
|
thumb_func_start sub_0807A5B8
|
|
sub_0807A5B8: @ 0x0807A5B8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov sb, r0
|
|
ldr r2, _0807A5F8 @ =gUnk_03003F80
|
|
ldrb r3, [r2, #2]
|
|
movs r4, #0x80
|
|
adds r0, r4, #0
|
|
ands r0, r3
|
|
cmp r0, #0
|
|
beq _0807A5D2
|
|
b _0807A736
|
|
_0807A5D2:
|
|
ldr r1, [r2, #0x30]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807A5DE
|
|
b _0807A736
|
|
_0807A5DE:
|
|
adds r0, r2, #0
|
|
adds r0, #0x26
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0807A5EA
|
|
b _0807A736
|
|
_0807A5EA:
|
|
adds r0, r1, #0
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _0807A600
|
|
ldr r7, _0807A5FC @ =gUnk_0800833C
|
|
b _0807A63A
|
|
.align 2, 0
|
|
_0807A5F8: .4byte gUnk_03003F80
|
|
_0807A5FC: .4byte gUnk_0800833C
|
|
_0807A600:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x11
|
|
ands r1, r0
|
|
cmp r1, #0
|
|
bne _0807A60E
|
|
cmp r3, #0
|
|
beq _0807A618
|
|
_0807A60E:
|
|
ldr r7, _0807A614 @ =gUnk_0800845C
|
|
b _0807A63A
|
|
.align 2, 0
|
|
_0807A614: .4byte gUnk_0800845C
|
|
_0807A618:
|
|
ldrb r0, [r2, #5]
|
|
cmp r0, #0
|
|
bne _0807A624
|
|
ldrb r0, [r2, #0x1c]
|
|
cmp r0, #0
|
|
beq _0807A62C
|
|
_0807A624:
|
|
ldr r7, _0807A628 @ =gUnk_080084BC
|
|
b _0807A63A
|
|
.align 2, 0
|
|
_0807A628: .4byte gUnk_080084BC
|
|
_0807A62C:
|
|
adds r0, r2, #0
|
|
adds r0, #0xaa
|
|
ldrb r0, [r0]
|
|
ldr r7, _0807A740 @ =gUnk_080082DC
|
|
cmp r0, #0
|
|
beq _0807A63A
|
|
ldr r7, _0807A744 @ =gUnk_0800851C
|
|
_0807A63A:
|
|
mov r0, sb
|
|
cmp r0, #0
|
|
beq _0807A6B8
|
|
cmp r0, #0x10
|
|
beq _0807A6B8
|
|
ldr r6, _0807A748 @ =gLinkEntity
|
|
ldr r2, [r6, #0x48]
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r6, r1]
|
|
ldrb r3, [r2, #2]
|
|
adds r0, r0, r3
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
adds r0, r0, r1
|
|
ldr r1, _0807A74C @ =gUnk_03000BF0
|
|
mov r8, r1
|
|
ldrh r1, [r1, #6]
|
|
subs r5, r0, r1
|
|
movs r3, #0x32
|
|
ldrsh r0, [r6, r3]
|
|
movs r1, #1
|
|
ldrsb r1, [r2, r1]
|
|
adds r0, r0, r1
|
|
mov r2, r8
|
|
ldrh r1, [r2, #8]
|
|
subs r4, r0, r1
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
bl sub_080086B4
|
|
cmp r0, #0
|
|
beq _0807A688
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
movs r3, #1
|
|
bl sub_0807A750
|
|
_0807A688:
|
|
movs r3, #0x2e
|
|
ldrsh r1, [r6, r3]
|
|
ldr r2, [r6, #0x48]
|
|
ldrb r0, [r2, #2]
|
|
subs r1, r1, r0
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
mov r2, r8
|
|
ldrh r0, [r2, #6]
|
|
subs r5, r1, r0
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
bl sub_080086B4
|
|
cmp r0, #0
|
|
beq _0807A6B8
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
movs r3, #3
|
|
bl sub_0807A750
|
|
_0807A6B8:
|
|
mov r3, sb
|
|
cmp r3, #8
|
|
beq _0807A736
|
|
cmp r3, #0x18
|
|
beq _0807A736
|
|
ldr r6, _0807A748 @ =gLinkEntity
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r6, r0]
|
|
ldr r2, [r6, #0x48]
|
|
movs r0, #0
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
ldr r3, _0807A74C @ =gUnk_03000BF0
|
|
mov r8, r3
|
|
ldrh r0, [r3, #6]
|
|
subs r5, r1, r0
|
|
movs r1, #0x32
|
|
ldrsh r0, [r6, r1]
|
|
ldrb r3, [r2, #5]
|
|
adds r0, r0, r3
|
|
movs r1, #1
|
|
ldrsb r1, [r2, r1]
|
|
adds r0, r0, r1
|
|
mov r2, r8
|
|
ldrh r1, [r2, #8]
|
|
subs r4, r0, r1
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
bl sub_080086B4
|
|
cmp r0, #0
|
|
beq _0807A706
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
movs r3, #2
|
|
bl sub_0807A750
|
|
_0807A706:
|
|
movs r3, #0x32
|
|
ldrsh r1, [r6, r3]
|
|
ldr r2, [r6, #0x48]
|
|
ldrb r0, [r2, #5]
|
|
subs r1, r1, r0
|
|
movs r0, #1
|
|
ldrsb r0, [r2, r0]
|
|
adds r1, r1, r0
|
|
mov r2, r8
|
|
ldrh r0, [r2, #8]
|
|
subs r4, r1, r0
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
bl sub_080086B4
|
|
cmp r0, #0
|
|
beq _0807A736
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r7, #0
|
|
movs r3, #0
|
|
bl sub_0807A750
|
|
_0807A736:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807A740: .4byte gUnk_080082DC
|
|
_0807A744: .4byte gUnk_0800851C
|
|
_0807A748: .4byte gLinkEntity
|
|
_0807A74C: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0807A750
|
|
sub_0807A750: @ 0x0807A750
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r7, r0, #0
|
|
adds r6, r1, #0
|
|
mov r8, r2
|
|
adds r5, r3, #0
|
|
movs r0, #1
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
bne _0807A76C
|
|
movs r4, #0xf
|
|
ands r4, r6
|
|
b _0807A770
|
|
_0807A76C:
|
|
movs r4, #0xf
|
|
ands r4, r7
|
|
_0807A770:
|
|
cmp r4, #0
|
|
bne _0807A776
|
|
b _0807A88E
|
|
_0807A776:
|
|
cmp r4, #0xf
|
|
bne _0807A77C
|
|
b _0807A88E
|
|
_0807A77C:
|
|
lsrs r0, r7, #4
|
|
movs r2, #0x3f
|
|
ands r0, r2
|
|
lsrs r1, r6, #4
|
|
ands r1, r2
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
ldr r1, _0807A7A8 @ =gLinkEntity
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080002E0
|
|
adds r1, r0, #0
|
|
cmp r1, #0xf
|
|
bls _0807A7AE
|
|
cmp r1, #0xff
|
|
beq _0807A7AC
|
|
mov r2, r8
|
|
adds r0, r1, r2
|
|
subs r0, #0x10
|
|
ldrb r1, [r0]
|
|
b _0807A7AE
|
|
.align 2, 0
|
|
_0807A7A8: .4byte gLinkEntity
|
|
_0807A7AC:
|
|
movs r1, #0xf
|
|
_0807A7AE:
|
|
ldr r0, _0807A7D8 @ =gUnk_0800823C
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r1, [r1]
|
|
movs r0, #1
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
bne _0807A824
|
|
movs r0, #0xf
|
|
ands r0, r7
|
|
movs r2, #0x80
|
|
lsls r2, r2, #8
|
|
asrs r2, r0
|
|
cmp r5, #0
|
|
bne _0807A7F4
|
|
ldr r3, _0807A7DC @ =gLinkEntity
|
|
cmp r4, #0xe
|
|
bgt _0807A7F0
|
|
lsls r0, r4, #1
|
|
adds r1, r0, r1
|
|
b _0807A7E8
|
|
.align 2, 0
|
|
_0807A7D8: .4byte gUnk_0800823C
|
|
_0807A7DC: .4byte gLinkEntity
|
|
_0807A7E0:
|
|
adds r1, #2
|
|
adds r4, #1
|
|
cmp r4, #0xe
|
|
bgt _0807A7F0
|
|
_0807A7E8:
|
|
ldrh r0, [r1]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _0807A7E0
|
|
_0807A7F0:
|
|
subs r4, #1
|
|
b _0807A816
|
|
_0807A7F4:
|
|
ldr r3, _0807A800 @ =gLinkEntity
|
|
cmp r4, #0
|
|
ble _0807A814
|
|
lsls r0, r4, #1
|
|
adds r1, r0, r1
|
|
b _0807A80C
|
|
.align 2, 0
|
|
_0807A800: .4byte gLinkEntity
|
|
_0807A804:
|
|
subs r1, #2
|
|
subs r4, #1
|
|
cmp r4, #0
|
|
ble _0807A814
|
|
_0807A80C:
|
|
ldrh r0, [r1]
|
|
ands r0, r2
|
|
cmp r0, #0
|
|
bne _0807A804
|
|
_0807A814:
|
|
adds r4, #1
|
|
_0807A816:
|
|
movs r0, #0xf
|
|
ands r0, r6
|
|
subs r0, r4, r0
|
|
ldrh r1, [r3, #0x32]
|
|
adds r0, r0, r1
|
|
strh r0, [r3, #0x32]
|
|
b _0807A88E
|
|
_0807A824:
|
|
movs r3, #0xf
|
|
ands r6, r3
|
|
lsls r0, r6, #1
|
|
adds r0, r0, r1
|
|
ldrh r2, [r0]
|
|
cmp r5, #1
|
|
bne _0807A85C
|
|
subs r0, r3, r4
|
|
lsrs r2, r0
|
|
ldr r3, _0807A858 @ =gLinkEntity
|
|
cmp r4, #0
|
|
ble _0807A854
|
|
ands r5, r2
|
|
cmp r5, #0
|
|
beq _0807A854
|
|
movs r1, #1
|
|
_0807A844:
|
|
lsrs r2, r2, #1
|
|
subs r4, #1
|
|
cmp r4, #0
|
|
ble _0807A854
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807A844
|
|
_0807A854:
|
|
adds r4, #1
|
|
b _0807A882
|
|
.align 2, 0
|
|
_0807A858: .4byte gLinkEntity
|
|
_0807A85C:
|
|
lsls r2, r4
|
|
ldr r3, _0807A86C @ =gLinkEntity
|
|
cmp r4, #0xe
|
|
bgt _0807A880
|
|
movs r1, #0x80
|
|
lsls r1, r1, #8
|
|
b _0807A878
|
|
.align 2, 0
|
|
_0807A86C: .4byte gLinkEntity
|
|
_0807A870:
|
|
lsls r2, r2, #1
|
|
adds r4, #1
|
|
cmp r4, #0xe
|
|
bgt _0807A880
|
|
_0807A878:
|
|
adds r0, r2, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807A870
|
|
_0807A880:
|
|
subs r4, #1
|
|
_0807A882:
|
|
movs r0, #0xf
|
|
ands r0, r7
|
|
subs r0, r4, r0
|
|
ldrh r2, [r3, #0x2e]
|
|
adds r0, r0, r2
|
|
strh r0, [r3, #0x2e]
|
|
_0807A88E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0807A894
|
|
sub_0807A894: @ 0x0807A894
|
|
push {lr}
|
|
ldrb r1, [r0, #0x15]
|
|
cmp r1, #8
|
|
beq _0807A8BA
|
|
cmp r1, #8
|
|
bgt _0807A8A6
|
|
cmp r1, #0
|
|
beq _0807A8B0
|
|
b _0807A8C8
|
|
_0807A8A6:
|
|
cmp r1, #0x10
|
|
beq _0807A8B6
|
|
cmp r1, #0x18
|
|
beq _0807A8C0
|
|
b _0807A8C8
|
|
_0807A8B0:
|
|
movs r2, #8
|
|
rsbs r2, r2, #0
|
|
b _0807A8CA
|
|
_0807A8B6:
|
|
movs r2, #5
|
|
b _0807A8CA
|
|
_0807A8BA:
|
|
movs r2, #0
|
|
movs r1, #8
|
|
b _0807A8CC
|
|
_0807A8C0:
|
|
movs r2, #0
|
|
movs r1, #8
|
|
rsbs r1, r1, #0
|
|
b _0807A8CC
|
|
_0807A8C8:
|
|
movs r2, #0
|
|
_0807A8CA:
|
|
movs r1, #0
|
|
_0807A8CC:
|
|
bl sub_080002B4
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start nullsub_505
|
|
nullsub_505: @ 0x0807A8D4
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807A8D8
|
|
sub_0807A8D8: @ 0x0807A8D8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
ldr r0, _0807AA5C @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807A8F0
|
|
b _0807A9F6
|
|
_0807A8F0:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
ldr r7, _0807AA60 @ =gUnk_03000BF0
|
|
ldrh r1, [r7, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r6, #0x3f
|
|
ands r0, r6
|
|
movs r2, #0x32
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
adds r2, #1
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
ldr r1, _0807AA64 @ =gLinkEntity
|
|
adds r1, #0x38
|
|
mov sb, r1
|
|
ldrb r1, [r1]
|
|
bl sub_080002EC
|
|
adds r4, r0, #0
|
|
movs r0, #0x20
|
|
mov r8, r0
|
|
ands r4, r0
|
|
cmp r4, #0
|
|
beq _0807A94E
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r0, [r7, #6]
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
movs r2, #0x32
|
|
ldrsh r0, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
adds r2, #1
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_0807AAF8
|
|
_0807A94E:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
ldrh r1, [r7, #6]
|
|
subs r1, #2
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
ands r0, r6
|
|
movs r2, #0x32
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
mov r2, sb
|
|
ldrb r1, [r2]
|
|
bl sub_080002EC
|
|
adds r4, r0, #0
|
|
mov r0, r8
|
|
ands r4, r0
|
|
cmp r4, #0
|
|
beq _0807A9A2
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r0, [r7, #6]
|
|
subs r0, #2
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
movs r2, #0x32
|
|
ldrsh r0, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_0807AAF8
|
|
_0807A9A2:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
ldrh r1, [r7, #6]
|
|
adds r1, #2
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
ands r0, r6
|
|
movs r2, #0x32
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
mov r2, sb
|
|
ldrb r1, [r2]
|
|
bl sub_080002EC
|
|
adds r4, r0, #0
|
|
mov r0, r8
|
|
ands r4, r0
|
|
cmp r4, #0
|
|
beq _0807A9F6
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r0, [r7, #6]
|
|
adds r0, #2
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
movs r2, #0x32
|
|
ldrsh r0, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_0807AAF8
|
|
_0807A9F6:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r5, r1]
|
|
ldr r7, _0807AA60 @ =gUnk_03000BF0
|
|
ldrh r1, [r7, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r6, #0x3f
|
|
ands r0, r6
|
|
movs r2, #0x32
|
|
ldrsh r1, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
ldr r1, _0807AA64 @ =gLinkEntity
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080002EC
|
|
adds r4, r0, #0
|
|
movs r0, #0x20
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _0807AA4C
|
|
movs r0, #0x2e
|
|
ldrsh r1, [r5, r0]
|
|
ldrh r0, [r7, #6]
|
|
subs r1, r1, r0
|
|
asrs r1, r1, #4
|
|
ands r1, r6
|
|
movs r2, #0x32
|
|
ldrsh r0, [r5, r2]
|
|
ldrh r2, [r7, #8]
|
|
subs r0, r0, r2
|
|
asrs r0, r0, #4
|
|
ands r0, r6
|
|
lsls r0, r0, #6
|
|
orrs r1, r0
|
|
adds r0, r5, #0
|
|
bl sub_0807AAF8
|
|
_0807AA4C:
|
|
movs r0, #2
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _0807AA68
|
|
adds r0, r5, #0
|
|
bl sub_0807AABC
|
|
b _0807AA76
|
|
.align 2, 0
|
|
_0807AA5C: .4byte gUnk_03003F80
|
|
_0807AA60: .4byte gUnk_03000BF0
|
|
_0807AA64: .4byte gLinkEntity
|
|
_0807AA68:
|
|
movs r0, #4
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _0807AA76
|
|
adds r0, r5, #0
|
|
bl sub_0807AA80
|
|
_0807AA76:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807AA80
|
|
sub_0807AA80: @ 0x0807AA80
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _0807AAB8 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807AAB6
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
movs r1, #2
|
|
strb r1, [r0]
|
|
movs r1, #0x36
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, #0
|
|
bne _0807AAB6
|
|
ldrb r2, [r3, #0x1b]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x40
|
|
orrs r0, r2
|
|
strb r0, [r3, #0x1b]
|
|
ldrb r0, [r3, #0x19]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r3, #0x19]
|
|
_0807AAB6:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807AAB8: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807AABC
|
|
sub_0807AABC: @ 0x0807AABC
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
ldr r0, _0807AAF4 @ =gUnk_03003F80
|
|
ldr r0, [r0, #0x30]
|
|
movs r1, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807AAF2
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
movs r1, #0x36
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, #0
|
|
bne _0807AAF2
|
|
ldrb r2, [r3, #0x1b]
|
|
movs r1, #0x3f
|
|
adds r0, r1, #0
|
|
ands r0, r2
|
|
movs r2, #0x80
|
|
orrs r0, r2
|
|
strb r0, [r3, #0x1b]
|
|
ldrb r0, [r3, #0x19]
|
|
ands r1, r0
|
|
orrs r1, r2
|
|
strb r1, [r3, #0x19]
|
|
_0807AAF2:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807AAF4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807AAF8
|
|
sub_0807AAF8: @ 0x0807AAF8
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
adds r2, r1, #0
|
|
movs r1, #0x36
|
|
ldrsh r0, [r3, r1]
|
|
cmp r0, #0
|
|
bne _0807AB3C
|
|
adds r0, r3, #0
|
|
adds r0, #0x38
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x1e
|
|
orrs r2, r0
|
|
movs r3, #0
|
|
ldr r0, _0807AB40 @ =gUnk_03003F80
|
|
ldr r1, [r0, #0x40]
|
|
adds r4, r0, #0
|
|
cmp r1, r2
|
|
beq _0807AB32
|
|
adds r1, r4, #0
|
|
adds r1, #0x40
|
|
_0807AB20:
|
|
ldr r0, [r1]
|
|
stm r1!, {r2}
|
|
adds r2, r0, #0
|
|
adds r3, #1
|
|
cmp r3, #0xe
|
|
bhi _0807AB32
|
|
ldr r0, [r1]
|
|
cmp r0, r2
|
|
bne _0807AB20
|
|
_0807AB32:
|
|
lsls r0, r3, #2
|
|
adds r1, r4, #0
|
|
adds r1, #0x40
|
|
adds r0, r0, r1
|
|
str r2, [r0]
|
|
_0807AB3C:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807AB40: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807AB44
|
|
sub_0807AB44: @ 0x0807AB44
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
adds r6, r0, #0
|
|
adds r7, r1, #0
|
|
mov r8, r2
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r6, r1]
|
|
adds r0, r0, r7
|
|
ldr r2, _0807ABF0 @ =gUnk_03000BF0
|
|
mov sb, r2
|
|
ldrh r1, [r2, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r3, #0x3f
|
|
mov sl, r3
|
|
ands r0, r3
|
|
movs r5, #0x32
|
|
ldrsh r1, [r6, r5]
|
|
add r1, r8
|
|
ldrh r2, [r2, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r3
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
adds r1, r6, #0
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
bl sub_080002B0
|
|
movs r1, #0xb
|
|
bl sub_0806FC50
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _0807AC44
|
|
ldrh r0, [r5, #6]
|
|
cmp r0, #0x76
|
|
bne _0807ABF4
|
|
movs r0, #0x2a
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0807AC44
|
|
lsls r2, r7, #0x10
|
|
mov r0, r8
|
|
lsls r3, r0, #0x10
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA48
|
|
adds r0, r4, #0
|
|
bl sub_08004168
|
|
ldrh r0, [r5, #6]
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r4, r2]
|
|
mov r3, sb
|
|
ldrh r2, [r3, #6]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
mov r5, sl
|
|
ands r1, r5
|
|
movs r3, #0x32
|
|
ldrsh r2, [r4, r3]
|
|
mov r5, sb
|
|
ldrh r3, [r5, #8]
|
|
subs r2, r2, r3
|
|
asrs r2, r2, #4
|
|
mov r3, sl
|
|
ands r2, r3
|
|
lsls r2, r2, #6
|
|
orrs r1, r2
|
|
adds r2, r4, #0
|
|
adds r2, #0x38
|
|
ldrb r2, [r2]
|
|
bl sub_0807B7D8
|
|
b _0807AC44
|
|
.align 2, 0
|
|
_0807ABF0: .4byte gUnk_03000BF0
|
|
_0807ABF4:
|
|
movs r0, #0x2a
|
|
movs r1, #2
|
|
movs r2, #0
|
|
bl sub_080A2960
|
|
adds r4, r0, #0
|
|
cmp r4, #0
|
|
beq _0807AC44
|
|
lsls r2, r7, #0x10
|
|
mov r0, r8
|
|
lsls r3, r0, #0x10
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
bl sub_0806FA48
|
|
str r5, [r4, #0x54]
|
|
ldr r0, _0807AC50 @ =0x0000404F
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r4, r2]
|
|
mov r3, sb
|
|
ldrh r2, [r3, #6]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
mov r5, sl
|
|
ands r1, r5
|
|
movs r3, #0x32
|
|
ldrsh r2, [r4, r3]
|
|
mov r5, sb
|
|
ldrh r3, [r5, #8]
|
|
subs r2, r2, r3
|
|
asrs r2, r2, #4
|
|
mov r3, sl
|
|
ands r2, r3
|
|
lsls r2, r2, #6
|
|
orrs r1, r2
|
|
adds r2, r4, #0
|
|
adds r2, #0x38
|
|
ldrb r2, [r2]
|
|
bl sub_0800015E
|
|
_0807AC44:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807AC50: .4byte 0x0000404F
|
|
|
|
thumb_func_start sub_0807AC54
|
|
sub_0807AC54: @ 0x0807AC54
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _0807AC74 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0x11]
|
|
adds r3, r0, #0
|
|
cmp r1, #0
|
|
beq _0807ACC6
|
|
ldrb r0, [r3, #0x12]
|
|
cmp r0, #0x2a
|
|
beq _0807ACA8
|
|
cmp r0, #0x2a
|
|
bgt _0807AC78
|
|
cmp r0, #0x1e
|
|
beq _0807AC82
|
|
b _0807ACC6
|
|
.align 2, 0
|
|
_0807AC74: .4byte gUnk_03003F80
|
|
_0807AC78:
|
|
cmp r0, #0x2b
|
|
beq _0807AC90
|
|
cmp r0, #0x2c
|
|
beq _0807ACB6
|
|
b _0807ACC6
|
|
_0807AC82:
|
|
ldrh r0, [r2, #0x2e]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #8
|
|
orrs r1, r0
|
|
strh r1, [r2, #0x2e]
|
|
_0807AC90:
|
|
movs r0, #0
|
|
movs r1, #0x1d
|
|
strb r1, [r2, #0xc]
|
|
strb r0, [r2, #0xd]
|
|
strh r0, [r2, #0x30]
|
|
ldr r0, _0807ACA4 @ =0x000002CF
|
|
strh r0, [r3, #8]
|
|
movs r0, #1
|
|
b _0807ACC8
|
|
.align 2, 0
|
|
_0807ACA4: .4byte 0x000002CF
|
|
_0807ACA8:
|
|
ldrh r0, [r2, #0x2e]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r0
|
|
movs r0, #8
|
|
orrs r1, r0
|
|
strh r1, [r2, #0x2e]
|
|
_0807ACB6:
|
|
movs r0, #0
|
|
movs r1, #0x1d
|
|
strb r1, [r2, #0xc]
|
|
movs r1, #1
|
|
strb r1, [r2, #0xd]
|
|
strh r0, [r2, #0x30]
|
|
movs r0, #1
|
|
b _0807ACC8
|
|
_0807ACC6:
|
|
movs r0, #0
|
|
_0807ACC8:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807ACCC
|
|
sub_0807ACCC: @ 0x0807ACCC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #0x39
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r1, r4, #0
|
|
adds r1, #0x42
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
movs r0, #0x72
|
|
bl sub_0807CA84
|
|
movs r1, #0xc0
|
|
cmp r0, #1
|
|
bne _0807ACF4
|
|
adds r1, #0x40
|
|
_0807ACF4:
|
|
movs r2, #0x24
|
|
ldrsh r0, [r4, r2]
|
|
cmp r1, r0
|
|
ble _0807AD18
|
|
strh r1, [r4, #0x24]
|
|
ldr r0, _0807AD14 @ =gUnk_03003F80
|
|
ldrb r1, [r0, #0xd]
|
|
strb r1, [r4, #0x15]
|
|
adds r0, #0x26
|
|
ldrb r1, [r0]
|
|
movs r0, #0xf
|
|
ands r0, r1
|
|
cmp r0, #1
|
|
bne _0807ADB4
|
|
b _0807AD1E
|
|
.align 2, 0
|
|
_0807AD14: .4byte gUnk_03003F80
|
|
_0807AD18:
|
|
ldrh r0, [r4, #0x24]
|
|
subs r0, #4
|
|
strh r0, [r4, #0x24]
|
|
_0807AD1E:
|
|
ldr r2, _0807AD3C @ =gUnk_03003F80
|
|
adds r1, r2, #0
|
|
adds r1, #0x89
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0807AD40
|
|
adds r0, r4, #0
|
|
bl sub_0807ADB8
|
|
cmp r0, #0
|
|
bne _0807AD74
|
|
adds r0, r4, #0
|
|
bl sub_0807AE20
|
|
b _0807AD74
|
|
.align 2, 0
|
|
_0807AD3C: .4byte gUnk_03003F80
|
|
_0807AD40:
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _0807AD52
|
|
adds r0, r4, #0
|
|
bl sub_0807ADB8
|
|
b _0807AD74
|
|
_0807AD52:
|
|
adds r2, #0x26
|
|
ldrb r1, [r2]
|
|
movs r0, #0x7f
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
adds r2, r4, #0
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r0, _0807ADA0 @ =0x00000163
|
|
bl sub_080A3268
|
|
_0807AD74:
|
|
ldr r0, _0807ADA4 @ =gUnk_03003F80
|
|
adds r0, #0x26
|
|
ldrb r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807ADA8
|
|
adds r2, r4, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
subs r2, #0x13
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #6
|
|
orrs r0, r1
|
|
b _0807ADB2
|
|
.align 2, 0
|
|
_0807ADA0: .4byte 0x00000163
|
|
_0807ADA4: .4byte gUnk_03003F80
|
|
_0807ADA8:
|
|
adds r2, r4, #0
|
|
adds r2, #0x3c
|
|
ldrb r1, [r2]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
_0807ADB2:
|
|
strb r0, [r2]
|
|
_0807ADB4:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807ADB8
|
|
sub_0807ADB8: @ 0x0807ADB8
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
ldr r3, _0807ADF4 @ =gUnk_03003F80
|
|
adds r0, r3, #0
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807AE1C
|
|
movs r0, #0x26
|
|
adds r0, r0, r3
|
|
mov ip, r0
|
|
ldrb r0, [r0]
|
|
movs r1, #0x80
|
|
eors r0, r1
|
|
mov r1, ip
|
|
strb r0, [r1]
|
|
movs r1, #0x80
|
|
ands r0, r1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #0
|
|
beq _0807ADF8
|
|
adds r1, r3, #0
|
|
adds r1, #0x89
|
|
movs r0, #0x78
|
|
strb r0, [r1]
|
|
b _0807AE0E
|
|
.align 2, 0
|
|
_0807ADF4: .4byte gUnk_03003F80
|
|
_0807ADF8:
|
|
adds r2, #0x29
|
|
ldrb r1, [r2]
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
adds r0, r3, #0
|
|
adds r0, #0x89
|
|
strb r4, [r0]
|
|
_0807AE0E:
|
|
ldr r0, _0807AE18 @ =0x00000163
|
|
bl sub_080A3268
|
|
movs r0, #1
|
|
b _0807AE1E
|
|
.align 2, 0
|
|
_0807AE18: .4byte 0x00000163
|
|
_0807AE1C:
|
|
movs r0, #0
|
|
_0807AE1E:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0807AE20
|
|
sub_0807AE20: @ 0x0807AE20
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldrb r0, [r4, #0xc]
|
|
cmp r0, #0x17
|
|
bne _0807AE32
|
|
ldr r0, _0807AE58 @ =gUnk_03003F80
|
|
ldrb r0, [r0, #0xa]
|
|
cmp r0, #0
|
|
bne _0807AE74
|
|
_0807AE32:
|
|
ldr r0, _0807AE5C @ =gUnk_03000BF0
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _0807AE74
|
|
ldr r0, _0807AE58 @ =gUnk_03003F80
|
|
adds r0, #0x92
|
|
ldrh r1, [r0]
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807AE74
|
|
movs r0, #0x72
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AE60
|
|
movs r0, #0xe0
|
|
lsls r0, r0, #1
|
|
b _0807AE64
|
|
.align 2, 0
|
|
_0807AE58: .4byte gUnk_03003F80
|
|
_0807AE5C: .4byte gUnk_03000BF0
|
|
_0807AE60:
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #1
|
|
_0807AE64:
|
|
strh r0, [r4, #0x24]
|
|
adds r0, r4, #0
|
|
bl sub_08079520
|
|
movs r0, #0xb1
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_0807AE74:
|
|
movs r0, #0x10
|
|
bl sub_080793E4
|
|
cmp r0, #0
|
|
beq _0807AEA8
|
|
adds r1, r4, #0
|
|
adds r1, #0x3d
|
|
movs r0, #0x14
|
|
strb r0, [r1]
|
|
adds r1, #5
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #0x14]
|
|
lsls r0, r0, #2
|
|
movs r1, #0x10
|
|
eors r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #0x3e
|
|
strb r0, [r1]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
bl sub_080526A0
|
|
movs r0, #0x7a
|
|
bl sub_080A3268
|
|
_0807AEA8:
|
|
ldrb r1, [r4, #0x15]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807AECC
|
|
ldr r0, _0807AEC8 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #0xf
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807AEDE
|
|
adds r0, r4, #0
|
|
movs r1, #4
|
|
bl sub_080A2A84
|
|
b _0807AEDE
|
|
.align 2, 0
|
|
_0807AEC8: .4byte gUnk_030010A0
|
|
_0807AECC:
|
|
ldr r0, _0807AEE0 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807AEDE
|
|
adds r0, r4, #0
|
|
bl sub_080A2A64
|
|
_0807AEDE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807AEE0: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0807AEE4
|
|
sub_0807AEE4: @ 0x0807AEE4
|
|
push {r4, lr}
|
|
ldr r0, _0807AFE4 @ =gUnk_03003F80
|
|
adds r4, r0, #0
|
|
adds r4, #0xac
|
|
movs r0, #0
|
|
strh r0, [r4]
|
|
movs r0, #0x48
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF02
|
|
ldrh r0, [r4]
|
|
movs r1, #1
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF02:
|
|
movs r0, #0x49
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF14
|
|
ldrh r0, [r4]
|
|
movs r1, #2
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF14:
|
|
movs r0, #0x4a
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF26
|
|
ldrh r0, [r4]
|
|
movs r1, #4
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF26:
|
|
movs r0, #0x4b
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF38
|
|
ldrh r0, [r4]
|
|
movs r1, #8
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF38:
|
|
movs r0, #0x4c
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF4A
|
|
ldrh r0, [r4]
|
|
movs r1, #0x10
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF4A:
|
|
movs r0, #0x4d
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF5C
|
|
ldrh r0, [r4]
|
|
movs r1, #0x20
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF5C:
|
|
movs r0, #0x4e
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF6E
|
|
ldrh r0, [r4]
|
|
movs r1, #0x40
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF6E:
|
|
movs r0, #0x4f
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF80
|
|
ldrh r0, [r4]
|
|
movs r1, #0x80
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF80:
|
|
movs r0, #6
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AF96
|
|
ldrh r0, [r4]
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
adds r1, r2, #0
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AF96:
|
|
movs r0, #0x73
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AFAC
|
|
ldrh r0, [r4]
|
|
movs r3, #0x80
|
|
lsls r3, r3, #2
|
|
adds r1, r3, #0
|
|
orrs r0, r1
|
|
strh r0, [r4]
|
|
_0807AFAC:
|
|
movs r0, #0x74
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AFC6
|
|
ldr r0, _0807AFE4 @ =gUnk_03003F80
|
|
adds r0, #0xac
|
|
ldrh r2, [r0]
|
|
movs r3, #0x80
|
|
lsls r3, r3, #3
|
|
adds r1, r3, #0
|
|
orrs r1, r2
|
|
strh r1, [r0]
|
|
_0807AFC6:
|
|
movs r0, #0x75
|
|
bl sub_0807CA84
|
|
cmp r0, #1
|
|
bne _0807AFE0
|
|
ldr r0, _0807AFE4 @ =gUnk_03003F80
|
|
adds r0, #0xac
|
|
ldrh r2, [r0]
|
|
movs r3, #0x80
|
|
lsls r3, r3, #4
|
|
adds r1, r3, #0
|
|
orrs r1, r2
|
|
strh r1, [r0]
|
|
_0807AFE0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807AFE4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807AFE8
|
|
sub_0807AFE8: @ 0x0807AFE8
|
|
push {lr}
|
|
bl sub_08077B20
|
|
ldr r0, _0807B00C @ =gLinkEntity
|
|
movs r1, #0x43
|
|
movs r2, #0
|
|
bl CreateFX
|
|
adds r1, r0, #0
|
|
cmp r1, #0
|
|
beq _0807B004
|
|
ldrh r0, [r1, #0x32]
|
|
adds r0, #1
|
|
strh r0, [r1, #0x32]
|
|
_0807B004:
|
|
ldr r1, _0807B010 @ =gUnk_03003F80
|
|
movs r0, #9
|
|
strb r0, [r1, #0xc]
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807B00C: .4byte gLinkEntity
|
|
_0807B010: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807B014
|
|
sub_0807B014: @ 0x0807B014
|
|
push {lr}
|
|
ldr r2, _0807B03C @ =gUnk_03003F80
|
|
adds r0, r2, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x10
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807B044
|
|
ldr r0, _0807B040 @ =gUnk_02002A40
|
|
adds r1, r0, #0
|
|
adds r1, #0xaa
|
|
adds r0, #0xab
|
|
ldrb r1, [r1]
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
bne _0807B044
|
|
movs r0, #0xf
|
|
b _0807B066
|
|
.align 2, 0
|
|
_0807B03C: .4byte gUnk_03003F80
|
|
_0807B040: .4byte gUnk_02002A40
|
|
_0807B044:
|
|
adds r0, r2, #0
|
|
adds r0, #0xac
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807B064
|
|
ldr r0, _0807B060 @ =gUnk_02002A40
|
|
adds r0, #0xaa
|
|
ldrb r0, [r0]
|
|
cmp r0, #8
|
|
bhi _0807B064
|
|
movs r0, #0x16
|
|
b _0807B066
|
|
.align 2, 0
|
|
_0807B060: .4byte gUnk_02002A40
|
|
_0807B064:
|
|
movs r0, #0
|
|
_0807B066:
|
|
pop {pc}
|
|
|
|
thumb_func_start sub_0807B068
|
|
sub_0807B068: @ 0x0807B068
|
|
push {lr}
|
|
ldr r2, _0807B090 @ =gUnk_03003F80
|
|
ldrb r1, [r2, #0x1e]
|
|
ldrb r0, [r2, #4]
|
|
orrs r0, r1
|
|
cmp r0, #0
|
|
bne _0807B0C2
|
|
adds r0, r2, #0
|
|
adds r0, #0x26
|
|
ldrb r1, [r0]
|
|
cmp r1, #0
|
|
beq _0807B0A4
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807B098
|
|
ldr r0, _0807B094 @ =0x00000C1C
|
|
strh r0, [r2, #8]
|
|
b _0807B0C2
|
|
.align 2, 0
|
|
_0807B090: .4byte gUnk_03003F80
|
|
_0807B094: .4byte 0x00000C1C
|
|
_0807B098:
|
|
ldr r0, _0807B0A0 @ =0x00000C0C
|
|
strh r0, [r2, #8]
|
|
b _0807B0C2
|
|
.align 2, 0
|
|
_0807B0A0: .4byte 0x00000C0C
|
|
_0807B0A4:
|
|
ldrb r1, [r2, #0xd]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807B0B8
|
|
ldrh r0, [r2, #8]
|
|
ldr r1, _0807B0B4 @ =0x00000C18
|
|
b _0807B0BC
|
|
.align 2, 0
|
|
_0807B0B4: .4byte 0x00000C18
|
|
_0807B0B8:
|
|
ldrh r0, [r2, #8]
|
|
ldr r1, _0807B0C4 @ =0x00000C04
|
|
_0807B0BC:
|
|
cmp r0, r1
|
|
beq _0807B0C2
|
|
strh r1, [r2, #8]
|
|
_0807B0C2:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807B0C4: .4byte 0x00000C04
|
|
|
|
thumb_func_start sub_0807B0C8
|
|
sub_0807B0C8: @ 0x0807B0C8
|
|
push {r4, lr}
|
|
ldr r4, _0807B0F8 @ =gLinkEntity
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl sub_0806FEBC
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl sub_0806FEBC
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl sub_0806FEBC
|
|
adds r0, r4, #0
|
|
movs r1, #3
|
|
movs r2, #0
|
|
bl sub_0806FEBC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807B0F8: .4byte gLinkEntity
|
|
|
|
thumb_func_start sub_0807B0FC
|
|
sub_0807B0FC: @ 0x0807B0FC
|
|
push {lr}
|
|
ldr r2, _0807B110 @ =gUnk_0811C27C
|
|
ldrb r1, [r0, #0xd]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807B110: .4byte gUnk_0811C27C
|
|
|
|
thumb_func_start sub_0807B114
|
|
sub_0807B114: @ 0x0807B114
|
|
movs r1, #1
|
|
strb r1, [r0, #0xd]
|
|
ldr r1, _0807B124 @ =gUnk_03003F80
|
|
adds r1, #0x38
|
|
ldrb r1, [r1]
|
|
adds r0, #0x6c
|
|
strb r1, [r0]
|
|
bx lr
|
|
.align 2, 0
|
|
_0807B124: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807B128
|
|
sub_0807B128: @ 0x0807B128
|
|
push {lr}
|
|
ldr r2, _0807B140 @ =gUnk_0811C284
|
|
adds r1, r0, #0
|
|
adds r1, #0x6c
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807B140: .4byte gUnk_0811C284
|
|
|
|
thumb_func_start sub_0807B144
|
|
sub_0807B144: @ 0x0807B144
|
|
push {lr}
|
|
ldrb r2, [r0, #0x18]
|
|
movs r1, #4
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
movs r2, #1
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x18]
|
|
ldrb r1, [r0, #0x14]
|
|
lsls r1, r1, #2
|
|
strb r1, [r0, #0x15]
|
|
movs r1, #0xa0
|
|
strh r1, [r0, #0x24]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xb
|
|
str r1, [r0, #0x20]
|
|
ldr r1, _0807B170 @ =gUnk_03003F80
|
|
movs r0, #0x81
|
|
strb r0, [r1, #2]
|
|
bl sub_080791BC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807B170: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start nullsub_506
|
|
nullsub_506: @ 0x0807B174
|
|
bx lr
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807B178
|
|
sub_0807B178: @ 0x0807B178
|
|
push {lr}
|
|
ldrb r2, [r0, #0x18]
|
|
movs r1, #4
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
movs r2, #1
|
|
orrs r1, r2
|
|
strb r1, [r0, #0x18]
|
|
movs r2, #0
|
|
movs r1, #0x10
|
|
strb r1, [r0, #0x15]
|
|
strh r2, [r0, #0x24]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xb
|
|
str r1, [r0, #0x20]
|
|
ldr r1, _0807B1A4 @ =gUnk_03003F80
|
|
movs r0, #0x81
|
|
strb r0, [r1, #2]
|
|
bl sub_080791BC
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807B1A4: .4byte gUnk_03003F80
|
|
|
|
thumb_func_start sub_0807B1A8
|
|
sub_0807B1A8: @ 0x0807B1A8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0807B1D4 @ =gUnk_0811C298
|
|
adds r0, #0x6e
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
adds r0, r4, #0
|
|
bl _call_via_r1
|
|
ldr r0, _0807B1D8 @ =gUnk_030010A0
|
|
ldr r0, [r0]
|
|
movs r1, #7
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807B1D0
|
|
adds r0, r4, #0
|
|
bl sub_080A2B80
|
|
_0807B1D0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807B1D4: .4byte gUnk_0811C298
|
|
_0807B1D8: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0807B1DC
|
|
sub_0807B1DC: @ 0x0807B1DC
|
|
adds r2, r0, #0
|
|
adds r2, #0x6e
|
|
ldrb r1, [r2]
|
|
adds r1, #1
|
|
strb r1, [r2]
|
|
movs r1, #0x1e
|
|
strb r1, [r0, #0xe]
|
|
bx lr
|
|
|
|
thumb_func_start sub_0807B1EC
|
|
sub_0807B1EC: @ 0x0807B1EC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldrb r0, [r2, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r2, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0807B212
|
|
adds r1, r2, #0
|
|
adds r1, #0x6e
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #9
|
|
str r0, [r2, #0x20]
|
|
ldr r1, _0807B214 @ =gUnk_03003F80
|
|
ldr r0, _0807B218 @ =0x000002C2
|
|
strh r0, [r1, #8]
|
|
_0807B212:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807B214: .4byte gUnk_03003F80
|
|
_0807B218: .4byte 0x000002C2
|
|
|
|
thumb_func_start sub_0807B21C
|
|
sub_0807B21C: @ 0x0807B21C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldr r0, [r4, #0x20]
|
|
cmp r0, #0
|
|
bge _0807B236
|
|
movs r1, #0x80
|
|
lsls r1, r1, #3
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
b _0807B240
|
|
_0807B236:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
adds r0, r4, #0
|
|
bl sub_08003FC4
|
|
_0807B240:
|
|
ldr r1, [r4, #0x20]
|
|
ldr r0, _0807B260 @ =0xFFFF8000
|
|
cmp r1, r0
|
|
bge _0807B25E
|
|
movs r1, #0
|
|
movs r0, #0x78
|
|
strb r0, [r4, #0xe]
|
|
strb r1, [r4, #0xf]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6e
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
ldr r0, [r4, #0x34]
|
|
str r0, [r4, #0x68]
|
|
_0807B25E:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807B260: .4byte 0xFFFF8000
|
|
|
|
thumb_func_start sub_0807B264
|
|
sub_0807B264: @ 0x0807B264
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xf]
|
|
adds r0, #2
|
|
strb r0, [r4, #0xf]
|
|
ldr r1, _0807B2B4 @ =gUnk_080C9160
|
|
ldrb r0, [r4, #0xf]
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
movs r2, #0
|
|
ldrsh r1, [r0, r2]
|
|
asrs r1, r1, #7
|
|
lsls r1, r1, #0x10
|
|
ldr r0, [r4, #0x68]
|
|
adds r0, r0, r1
|
|
str r0, [r4, #0x34]
|
|
ldrb r0, [r4, #0xe]
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0807B2B0
|
|
movs r0, #0x50
|
|
strb r0, [r4, #0xe]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #8
|
|
str r0, [r4, #0x20]
|
|
adds r1, r4, #0
|
|
adds r1, #0x6e
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
movs r0, #0xa9
|
|
lsls r0, r0, #1
|
|
bl sub_080A3268
|
|
_0807B2B0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807B2B4: .4byte gUnk_080C9160
|
|
|
|
thumb_func_start sub_0807B2B8
|
|
sub_0807B2B8: @ 0x0807B2B8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _0807B2F0 @ =0xFFFFE000
|
|
bl sub_08003FC4
|
|
adds r0, r4, #0
|
|
bl sub_080042B8
|
|
ldrb r0, [r4, #0xe]
|
|
cmp r0, #0
|
|
beq _0807B2EC
|
|
subs r0, #1
|
|
strb r0, [r4, #0xe]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _0807B2EC
|
|
adds r0, r4, #0
|
|
adds r0, #0x6d
|
|
ldrb r1, [r0]
|
|
lsls r0, r1, #2
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _0807B2F4 @ =gUnk_0813AD88
|
|
adds r0, r0, r1
|
|
bl sub_08080840
|
|
_0807B2EC:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807B2F0: .4byte 0xFFFFE000
|
|
_0807B2F4: .4byte gUnk_0813AD88
|
|
|
|
thumb_func_start sub_0807B2F8
|
|
sub_0807B2F8: @ 0x0807B2F8
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r1, r2, #0
|
|
adds r1, #0x6e
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0807B310
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r2, #0
|
|
bl sub_0809D738
|
|
_0807B310:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807B314
|
|
sub_0807B314: @ 0x0807B314
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
ldr r0, _0807B3A0 @ =0x000007FF
|
|
cmp r5, r0
|
|
bhi _0807B410
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801AF8C
|
|
adds r0, r6, #0
|
|
bl sub_0808094C
|
|
adds r2, r0, #0
|
|
lsls r1, r5, #1
|
|
ldr r3, _0807B3A4 @ =0x00006004
|
|
adds r0, r2, r3
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
mov ip, r0
|
|
lsls r1, r4, #1
|
|
adds r0, r2, #4
|
|
adds r0, r0, r1
|
|
mov r1, ip
|
|
strh r1, [r0]
|
|
ldr r0, _0807B3A8 @ =gUnk_080B3E80
|
|
adds r0, r5, r0
|
|
ldrb r3, [r0]
|
|
ldr r1, _0807B3AC @ =0x00002004
|
|
adds r0, r2, r1
|
|
adds r0, r0, r4
|
|
strb r3, [r0]
|
|
ldr r7, _0807B3B0 @ =gUnk_03000BF0
|
|
ldrb r1, [r7, #0xf]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807B36C
|
|
ldr r0, _0807B3B4 @ =gUnk_02025EB0
|
|
ldr r1, _0807B3AC @ =0x00002004
|
|
adds r0, r0, r1
|
|
adds r0, r4, r0
|
|
strb r3, [r0]
|
|
_0807B36C:
|
|
ldr r3, _0807B3B8 @ =0x0000B004
|
|
adds r1, r2, r3
|
|
adds r1, r1, r4
|
|
ldr r0, _0807B3BC @ =gUnk_080B37A0
|
|
adds r0, r5, r0
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldrb r1, [r7, #0xf]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807B430
|
|
movs r1, #0x3f
|
|
ands r1, r4
|
|
lsls r1, r1, #1
|
|
movs r0, #0xfc
|
|
lsls r0, r0, #4
|
|
ands r0, r4
|
|
lsls r0, r0, #2
|
|
adds r1, r1, r0
|
|
cmp r6, #2
|
|
beq _0807B3C4
|
|
lsls r1, r1, #1
|
|
ldr r0, _0807B3C0 @ =gUnk_02019EE0
|
|
b _0807B3C8
|
|
.align 2, 0
|
|
_0807B3A0: .4byte 0x000007FF
|
|
_0807B3A4: .4byte 0x00006004
|
|
_0807B3A8: .4byte gUnk_080B3E80
|
|
_0807B3AC: .4byte 0x00002004
|
|
_0807B3B0: .4byte gUnk_03000BF0
|
|
_0807B3B4: .4byte gUnk_02025EB0
|
|
_0807B3B8: .4byte 0x0000B004
|
|
_0807B3BC: .4byte gUnk_080B37A0
|
|
_0807B3C0: .4byte gUnk_02019EE0
|
|
_0807B3C4:
|
|
lsls r1, r1, #1
|
|
ldr r0, _0807B400 @ =gUnk_02002F00
|
|
_0807B3C8:
|
|
adds r3, r1, r0
|
|
mov r1, ip
|
|
lsls r0, r1, #3
|
|
ldr r1, _0807B404 @ =0x00007004
|
|
adds r0, r0, r1
|
|
adds r0, r2, r0
|
|
ldrh r1, [r0]
|
|
strh r1, [r3]
|
|
ldrh r1, [r0, #2]
|
|
strh r1, [r3, #2]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
adds r2, r3, r1
|
|
ldrh r1, [r0, #4]
|
|
strh r1, [r2]
|
|
movs r2, #0x81
|
|
lsls r2, r2, #1
|
|
adds r1, r3, r2
|
|
ldrh r0, [r0, #6]
|
|
strh r0, [r1]
|
|
ldr r0, _0807B408 @ =gUnk_03000BF0
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _0807B430
|
|
ldr r1, _0807B40C @ =gUnk_02000070
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _0807B430
|
|
.align 2, 0
|
|
_0807B400: .4byte gUnk_02002F00
|
|
_0807B404: .4byte 0x00007004
|
|
_0807B408: .4byte gUnk_03000BF0
|
|
_0807B40C: .4byte gUnk_02000070
|
|
_0807B410:
|
|
ldr r0, _0807B424 @ =0x00003FFF
|
|
cmp r5, r0
|
|
bls _0807B428
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
adds r2, r6, #0
|
|
bl sub_0800015E
|
|
b _0807B430
|
|
.align 2, 0
|
|
_0807B424: .4byte 0x00003FFF
|
|
_0807B428:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_0807BA8C
|
|
_0807B430:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807B434
|
|
sub_0807B434: @ 0x0807B434
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_080002B0
|
|
cmp r0, #0x37
|
|
bhi _0807B44A
|
|
cmp r0, #0x36
|
|
blo _0807B44A
|
|
movs r0, #0
|
|
b _0807B462
|
|
_0807B44A:
|
|
lsls r0, r4, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r5, #0x18
|
|
lsrs r1, r1, #0x18
|
|
bl sub_080002C8
|
|
adds r1, r0, #0
|
|
movs r0, #0xd
|
|
eors r1, r0
|
|
rsbs r0, r1, #0
|
|
orrs r0, r1
|
|
lsrs r0, r0, #0x1f
|
|
_0807B462:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0807B464
|
|
sub_0807B464: @ 0x0807B464
|
|
push {lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
bl sub_080002C8
|
|
movs r1, #0
|
|
cmp r0, #0x56
|
|
bne _0807B47A
|
|
movs r1, #1
|
|
_0807B47A:
|
|
adds r0, r1, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807B480
|
|
sub_0807B480: @ 0x0807B480
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
adds r7, r1, #0
|
|
movs r1, #2
|
|
bl sub_0807B464
|
|
cmp r0, #0
|
|
beq _0807B558
|
|
adds r0, r6, #0
|
|
subs r0, #0x40
|
|
movs r1, #2
|
|
bl sub_0807B464
|
|
adds r5, r0, #0
|
|
adds r0, r6, #1
|
|
movs r1, #2
|
|
bl sub_0807B464
|
|
lsls r0, r0, #1
|
|
orrs r5, r0
|
|
adds r4, r6, #0
|
|
adds r4, #0x40
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_0807B464
|
|
lsls r0, r0, #2
|
|
orrs r5, r0
|
|
subs r0, r6, #1
|
|
movs r1, #2
|
|
bl sub_0807B464
|
|
lsls r0, r0, #3
|
|
orrs r5, r0
|
|
adds r0, r6, #0
|
|
adds r0, #0x41
|
|
movs r1, #1
|
|
bl sub_0807B464
|
|
lsls r0, r0, #1
|
|
orrs r5, r0
|
|
adds r0, r6, #0
|
|
adds r0, #0x3f
|
|
movs r1, #1
|
|
bl sub_0807B464
|
|
lsls r0, r0, #3
|
|
orrs r5, r0
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl sub_080002B0
|
|
cmp r0, #0
|
|
beq _0807B4FA
|
|
adds r0, r6, #0
|
|
adds r0, #0x80
|
|
movs r1, #1
|
|
bl sub_0807B464
|
|
lsls r0, r0, #2
|
|
orrs r5, r0
|
|
_0807B4FA:
|
|
ldr r0, _0807B514 @ =gUnk_0811C2CC
|
|
lsls r1, r5, #1
|
|
adds r1, r1, r0
|
|
ldrh r4, [r1]
|
|
adds r0, r6, #0
|
|
movs r1, #2
|
|
bl sub_080002B0
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
ldr r2, _0807B518 @ =gUnk_0811C2EC
|
|
movs r3, #0
|
|
b _0807B51E
|
|
.align 2, 0
|
|
_0807B514: .4byte gUnk_0811C2CC
|
|
_0807B518: .4byte gUnk_0811C2EC
|
|
_0807B51C:
|
|
adds r2, #6
|
|
_0807B51E:
|
|
ldrh r1, [r2]
|
|
cmp r1, #0
|
|
beq _0807B52A
|
|
cmp r0, r1
|
|
bne _0807B51C
|
|
ldrh r3, [r2, #2]
|
|
_0807B52A:
|
|
movs r0, #1
|
|
lsls r0, r7
|
|
bics r3, r0
|
|
ldr r2, _0807B534 @ =gUnk_0811C2EC
|
|
b _0807B53A
|
|
.align 2, 0
|
|
_0807B534: .4byte gUnk_0811C2EC
|
|
_0807B538:
|
|
adds r2, #6
|
|
_0807B53A:
|
|
ldrh r0, [r2]
|
|
cmp r0, #0
|
|
beq _0807B54E
|
|
ldrh r0, [r2, #2]
|
|
cmp r3, r0
|
|
bne _0807B538
|
|
ldrh r0, [r2, #4]
|
|
cmp r5, r0
|
|
bne _0807B538
|
|
ldrh r4, [r2]
|
|
_0807B54E:
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
_0807B558:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807B55C
|
|
sub_0807B55C: @ 0x0807B55C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
adds r7, r2, #0
|
|
bl sub_0807B464
|
|
cmp r0, #0
|
|
beq _0807B5AC
|
|
adds r0, r5, #0
|
|
subs r0, #0x40
|
|
adds r1, r6, #0
|
|
bl sub_0807B464
|
|
adds r4, r0, #0
|
|
adds r0, r5, #1
|
|
adds r1, r6, #0
|
|
bl sub_0807B464
|
|
lsls r0, r0, #1
|
|
orrs r4, r0
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
adds r1, r6, #0
|
|
bl sub_0807B464
|
|
lsls r0, r0, #2
|
|
orrs r4, r0
|
|
subs r0, r5, #1
|
|
adds r1, r6, #0
|
|
bl sub_0807B464
|
|
lsls r0, r0, #3
|
|
orrs r0, r4
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r7
|
|
ldrh r0, [r0]
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0807B314
|
|
_0807B5AC:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807B5B0
|
|
sub_0807B5B0: @ 0x0807B5B0
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r3, r0, #0
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r3, r1]
|
|
ldr r6, _0807B5F8 @ =gUnk_0811C456
|
|
ldrb r1, [r3, #0x14]
|
|
movs r2, #6
|
|
ands r2, r1
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r6
|
|
movs r4, #0
|
|
ldrsh r1, [r1, r4]
|
|
adds r0, r0, r1
|
|
ldr r5, _0807B5FC @ =gUnk_03000BF0
|
|
ldrh r1, [r5, #6]
|
|
subs r0, r0, r1
|
|
asrs r0, r0, #4
|
|
movs r4, #0x3f
|
|
ands r0, r4
|
|
movs r7, #0x32
|
|
ldrsh r1, [r3, r7]
|
|
adds r2, #1
|
|
lsls r2, r2, #1
|
|
adds r2, r2, r6
|
|
movs r3, #0
|
|
ldrsh r2, [r2, r3]
|
|
adds r1, r1, r2
|
|
ldrh r2, [r5, #8]
|
|
subs r1, r1, r2
|
|
asrs r1, r1, #4
|
|
ands r1, r4
|
|
lsls r1, r1, #6
|
|
orrs r0, r1
|
|
bl sub_0807B600
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807B5F8: .4byte gUnk_0811C456
|
|
_0807B5FC: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0807B600
|
|
sub_0807B600: @ 0x0807B600
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r5, #0
|
|
subs r6, #0x40
|
|
lsls r0, r5, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #1
|
|
bl sub_080002C8
|
|
cmp r0, #0x56
|
|
beq _0807B61A
|
|
movs r0, #0
|
|
b _0807B76E
|
|
_0807B61A:
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
bl sub_080002B0
|
|
adds r1, r0, #0
|
|
ldr r0, _0807B634 @ =0x0000026A
|
|
cmp r1, r0
|
|
bne _0807B638
|
|
adds r0, r5, #0
|
|
bl sub_0807B820
|
|
b _0807B76C
|
|
.align 2, 0
|
|
_0807B634: .4byte 0x0000026A
|
|
_0807B638:
|
|
ldr r0, _0807B648 @ =0x00000267
|
|
cmp r1, r0
|
|
bne _0807B64C
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
bl sub_0807B820
|
|
b _0807B76C
|
|
.align 2, 0
|
|
_0807B648: .4byte 0x00000267
|
|
_0807B64C:
|
|
ldr r0, _0807B65C @ =0x0000027A
|
|
cmp r1, r0
|
|
bne _0807B660
|
|
adds r0, r5, #0
|
|
bl sub_0807B8A8
|
|
b _0807B76C
|
|
.align 2, 0
|
|
_0807B65C: .4byte 0x0000027A
|
|
_0807B660:
|
|
ldr r0, _0807B670 @ =0x00000277
|
|
cmp r1, r0
|
|
bne _0807B674
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
bl sub_0807B8A8
|
|
b _0807B76C
|
|
.align 2, 0
|
|
_0807B670: .4byte 0x00000277
|
|
_0807B674:
|
|
ldr r0, _0807B684 @ =0x0000028A
|
|
cmp r1, r0
|
|
bne _0807B688
|
|
adds r0, r5, #0
|
|
bl sub_0807B930
|
|
b _0807B76C
|
|
.align 2, 0
|
|
_0807B684: .4byte 0x0000028A
|
|
_0807B688:
|
|
ldr r0, _0807B698 @ =0x00000287
|
|
cmp r1, r0
|
|
bne _0807B69C
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
bl sub_0807B930
|
|
b _0807B76C
|
|
.align 2, 0
|
|
_0807B698: .4byte 0x00000287
|
|
_0807B69C:
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl sub_080002B0
|
|
cmp r0, #0
|
|
beq _0807B6EC
|
|
ldr r0, _0807B6E8 @ =0x000002F2
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
bl sub_080002E0
|
|
cmp r0, #3
|
|
bne _0807B6CA
|
|
movs r0, #0xbd
|
|
lsls r0, r0, #2
|
|
adds r1, r6, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
_0807B6CA:
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
movs r1, #1
|
|
bl sub_080002E0
|
|
cmp r0, #3
|
|
bne _0807B6F8
|
|
movs r0, #0xbd
|
|
lsls r0, r0, #2
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
b _0807B6F8
|
|
.align 2, 0
|
|
_0807B6E8: .4byte 0x000002F2
|
|
_0807B6EC:
|
|
movs r0, #0xbd
|
|
lsls r0, r0, #2
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
_0807B6F8:
|
|
adds r0, r6, #0
|
|
movs r1, #2
|
|
bl sub_0807B464
|
|
cmp r0, #0
|
|
beq _0807B748
|
|
movs r0, #0
|
|
adds r1, r6, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
bl sub_080002B0
|
|
ldr r1, _0807B770 @ =0x000002F2
|
|
cmp r0, r1
|
|
bne _0807B728
|
|
movs r0, #0xbd
|
|
lsls r0, r0, #2
|
|
adds r1, r6, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
_0807B728:
|
|
adds r0, r5, #1
|
|
ldr r4, _0807B774 @ =gUnk_0811C2AC
|
|
movs r1, #1
|
|
adds r2, r4, #0
|
|
bl sub_0807B55C
|
|
subs r0, r5, #1
|
|
movs r1, #1
|
|
adds r2, r4, #0
|
|
bl sub_0807B55C
|
|
adds r0, r6, #0
|
|
movs r1, #1
|
|
adds r2, r4, #0
|
|
bl sub_0807B55C
|
|
_0807B748:
|
|
adds r0, r6, #1
|
|
movs r1, #3
|
|
bl sub_0807B480
|
|
subs r0, r6, #1
|
|
movs r1, #1
|
|
bl sub_0807B480
|
|
adds r0, r6, #0
|
|
adds r0, #0x40
|
|
movs r1, #0
|
|
bl sub_0807B480
|
|
adds r0, r6, #0
|
|
subs r0, #0x40
|
|
movs r1, #2
|
|
bl sub_0807B480
|
|
_0807B76C:
|
|
movs r0, #1
|
|
_0807B76E:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807B770: .4byte 0x000002F2
|
|
_0807B774: .4byte gUnk_0811C2AC
|
|
|
|
thumb_func_start sub_0807B778
|
|
sub_0807B778: @ 0x0807B778
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r6, r1, #0
|
|
lsls r0, r5, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r6, #0x18
|
|
lsrs r1, r1, #0x18
|
|
bl sub_080002C8
|
|
cmp r0, #0xd
|
|
bne _0807B7D0
|
|
adds r0, r5, #0
|
|
subs r0, #0x40
|
|
adds r1, r6, #0
|
|
bl sub_0807B434
|
|
adds r4, r0, #0
|
|
adds r0, r5, #1
|
|
adds r1, r6, #0
|
|
bl sub_0807B434
|
|
lsls r0, r0, #1
|
|
orrs r4, r0
|
|
adds r0, r5, #0
|
|
adds r0, #0x40
|
|
adds r1, r6, #0
|
|
bl sub_0807B434
|
|
lsls r0, r0, #2
|
|
orrs r4, r0
|
|
subs r0, r5, #1
|
|
adds r1, r6, #0
|
|
bl sub_0807B434
|
|
lsls r0, r0, #3
|
|
orrs r0, r4
|
|
ldr r1, _0807B7D4 @ =gUnk_0811C466
|
|
lsls r0, r0, #1
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0807B314
|
|
_0807B7D0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807B7D4: .4byte gUnk_0811C466
|
|
|
|
thumb_func_start sub_0807B7D8
|
|
sub_0807B7D8: @ 0x0807B7D8
|
|
push {r4, r5, lr}
|
|
adds r4, r1, #0
|
|
adds r5, r2, #0
|
|
cmp r0, #0x35
|
|
bne _0807B816
|
|
movs r0, #0x35
|
|
bl sub_08000152
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807B778
|
|
adds r0, r4, #1
|
|
adds r1, r5, #0
|
|
bl sub_0807B778
|
|
subs r0, r4, #1
|
|
adds r1, r5, #0
|
|
bl sub_0807B778
|
|
adds r0, r4, #0
|
|
adds r0, #0x40
|
|
adds r1, r5, #0
|
|
bl sub_0807B778
|
|
adds r0, r4, #0
|
|
subs r0, #0x40
|
|
adds r1, r5, #0
|
|
bl sub_0807B778
|
|
b _0807B81E
|
|
_0807B816:
|
|
adds r1, r4, #0
|
|
adds r2, r5, #0
|
|
bl sub_0807B314
|
|
_0807B81E:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0807B820
|
|
sub_0807B820: @ 0x0807B820
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x9b
|
|
lsls r0, r0, #2
|
|
adds r5, r4, #0
|
|
subs r5, #0x41
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B890 @ =0x00000273
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B894 @ =0x0000026D
|
|
adds r5, #1
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
movs r0, #0x9d
|
|
lsls r0, r0, #2
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B898 @ =0x0000026E
|
|
adds r5, #1
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B89C @ =0x00000275
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B8A0 @ =0x0000026F
|
|
subs r1, r4, #1
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
movs r0, #0x9c
|
|
lsls r0, r0, #2
|
|
adds r1, r4, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B8A4 @ =0x00000272
|
|
adds r4, #1
|
|
adds r1, r4, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807B890: .4byte 0x00000273
|
|
_0807B894: .4byte 0x0000026D
|
|
_0807B898: .4byte 0x0000026E
|
|
_0807B89C: .4byte 0x00000275
|
|
_0807B8A0: .4byte 0x0000026F
|
|
_0807B8A4: .4byte 0x00000272
|
|
|
|
thumb_func_start sub_0807B8A8
|
|
sub_0807B8A8: @ 0x0807B8A8
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0x9f
|
|
lsls r0, r0, #2
|
|
adds r5, r4, #0
|
|
subs r5, #0x41
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B918 @ =0x00000283
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B91C @ =0x0000027D
|
|
adds r5, #1
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
movs r0, #0xa1
|
|
lsls r0, r0, #2
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B920 @ =0x0000027E
|
|
adds r5, #1
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B924 @ =0x00000285
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B928 @ =0x0000027F
|
|
subs r1, r4, #1
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
movs r0, #0xa0
|
|
lsls r0, r0, #2
|
|
adds r1, r4, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B92C @ =0x00000282
|
|
adds r4, #1
|
|
adds r1, r4, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807B918: .4byte 0x00000283
|
|
_0807B91C: .4byte 0x0000027D
|
|
_0807B920: .4byte 0x0000027E
|
|
_0807B924: .4byte 0x00000285
|
|
_0807B928: .4byte 0x0000027F
|
|
_0807B92C: .4byte 0x00000282
|
|
|
|
thumb_func_start sub_0807B930
|
|
sub_0807B930: @ 0x0807B930
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0xa3
|
|
lsls r0, r0, #2
|
|
adds r5, r4, #0
|
|
subs r5, #0x41
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B9A0 @ =0x00000293
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B9A4 @ =0x0000028D
|
|
adds r5, #1
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
movs r0, #0xa5
|
|
lsls r0, r0, #2
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B9A8 @ =0x0000028E
|
|
adds r5, #1
|
|
adds r1, r5, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B9AC @ =0x00000295
|
|
adds r1, r5, #0
|
|
movs r2, #2
|
|
bl sub_0807B314
|
|
ldr r0, _0807B9B0 @ =0x0000028F
|
|
subs r1, r4, #1
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
movs r0, #0xa4
|
|
lsls r0, r0, #2
|
|
adds r1, r4, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
ldr r0, _0807B9B4 @ =0x00000292
|
|
adds r4, #1
|
|
adds r1, r4, #0
|
|
movs r2, #1
|
|
bl sub_0807B314
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807B9A0: .4byte 0x00000293
|
|
_0807B9A4: .4byte 0x0000028D
|
|
_0807B9A8: .4byte 0x0000028E
|
|
_0807B9AC: .4byte 0x00000295
|
|
_0807B9B0: .4byte 0x0000028F
|
|
_0807B9B4: .4byte 0x00000292
|
|
|
|
thumb_func_start sub_0807B9B8
|
|
sub_0807B9B8: @ 0x0807B9B8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r7, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801AF8C
|
|
adds r0, r6, #0
|
|
bl sub_0808094C
|
|
adds r5, r0, #0
|
|
lsls r1, r4, #1
|
|
adds r0, r5, #4
|
|
adds r0, r0, r1
|
|
strh r7, [r0]
|
|
lsls r1, r7, #1
|
|
ldr r2, _0807BA24 @ =0x00005004
|
|
adds r0, r5, r2
|
|
adds r0, r0, r1
|
|
ldrh r2, [r0]
|
|
ldr r0, _0807BA28 @ =0x00002004
|
|
adds r1, r5, r0
|
|
adds r1, r1, r4
|
|
ldr r0, _0807BA2C @ =gUnk_080B3E80
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r0, _0807BA30 @ =0x0000B004
|
|
adds r1, r5, r0
|
|
adds r1, r1, r4
|
|
ldr r0, _0807BA34 @ =gUnk_080B37A0
|
|
adds r2, r2, r0
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
ldr r0, _0807BA38 @ =gUnk_03000BF0
|
|
ldrb r1, [r0, #0xf]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807BA78
|
|
movs r1, #0x3f
|
|
ands r1, r4
|
|
lsls r1, r1, #1
|
|
movs r0, #0xfc
|
|
lsls r0, r0, #4
|
|
ands r0, r4
|
|
lsls r0, r0, #2
|
|
adds r1, r1, r0
|
|
cmp r6, #2
|
|
beq _0807BA40
|
|
lsls r1, r1, #1
|
|
ldr r0, _0807BA3C @ =gUnk_02019EE0
|
|
b _0807BA44
|
|
.align 2, 0
|
|
_0807BA24: .4byte 0x00005004
|
|
_0807BA28: .4byte 0x00002004
|
|
_0807BA2C: .4byte gUnk_080B3E80
|
|
_0807BA30: .4byte 0x0000B004
|
|
_0807BA34: .4byte gUnk_080B37A0
|
|
_0807BA38: .4byte gUnk_03000BF0
|
|
_0807BA3C: .4byte gUnk_02019EE0
|
|
_0807BA40:
|
|
lsls r1, r1, #1
|
|
ldr r0, _0807BA7C @ =gUnk_02002F00
|
|
_0807BA44:
|
|
adds r3, r1, r0
|
|
lsls r0, r7, #3
|
|
ldr r1, _0807BA80 @ =0x00007004
|
|
adds r0, r0, r1
|
|
adds r0, r5, r0
|
|
ldrh r1, [r0]
|
|
strh r1, [r3]
|
|
ldrh r1, [r0, #2]
|
|
strh r1, [r3, #2]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
adds r2, r3, r1
|
|
ldrh r1, [r0, #4]
|
|
strh r1, [r2]
|
|
movs r2, #0x81
|
|
lsls r2, r2, #1
|
|
adds r1, r3, r2
|
|
ldrh r0, [r0, #6]
|
|
strh r0, [r1]
|
|
ldr r0, _0807BA84 @ =gUnk_03000BF0
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _0807BA78
|
|
ldr r1, _0807BA88 @ =gUnk_02000070
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
_0807BA78:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807BA7C: .4byte gUnk_02002F00
|
|
_0807BA80: .4byte 0x00007004
|
|
_0807BA84: .4byte gUnk_03000BF0
|
|
_0807BA88: .4byte gUnk_02000070
|
|
|
|
thumb_func_start sub_0807BA8C
|
|
sub_0807BA8C: @ 0x0807BA8C
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r7, r1, #0
|
|
bl sub_0801AF8C
|
|
adds r0, r7, #0
|
|
bl sub_0808094C
|
|
adds r5, r0, #0
|
|
lsls r2, r4, #1
|
|
adds r1, r5, #4
|
|
adds r1, r1, r2
|
|
ldr r3, _0807BAFC @ =0x00003004
|
|
adds r0, r5, r3
|
|
adds r0, r0, r2
|
|
ldrh r6, [r0]
|
|
strh r6, [r1]
|
|
lsls r1, r6, #1
|
|
ldr r2, _0807BB00 @ =0x00005004
|
|
adds r0, r5, r2
|
|
adds r0, r0, r1
|
|
ldrh r2, [r0]
|
|
ldr r3, _0807BB04 @ =0x00002004
|
|
adds r1, r5, r3
|
|
adds r1, r1, r4
|
|
ldr r0, _0807BB08 @ =gUnk_080B3E80
|
|
adds r0, r2, r0
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
ldr r0, _0807BB0C @ =0x0000B004
|
|
adds r1, r5, r0
|
|
adds r1, r1, r4
|
|
ldr r0, _0807BB10 @ =gUnk_080B37A0
|
|
adds r2, r2, r0
|
|
ldrb r0, [r2]
|
|
strb r0, [r1]
|
|
ldr r0, _0807BB14 @ =gUnk_03000BF0
|
|
ldrb r1, [r0, #0xf]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _0807BB54
|
|
movs r1, #0x3f
|
|
ands r1, r4
|
|
lsls r1, r1, #1
|
|
movs r0, #0xfc
|
|
lsls r0, r0, #4
|
|
ands r0, r4
|
|
lsls r0, r0, #2
|
|
adds r1, r1, r0
|
|
cmp r7, #2
|
|
beq _0807BB1C
|
|
lsls r1, r1, #1
|
|
ldr r0, _0807BB18 @ =gUnk_02019EE0
|
|
b _0807BB20
|
|
.align 2, 0
|
|
_0807BAFC: .4byte 0x00003004
|
|
_0807BB00: .4byte 0x00005004
|
|
_0807BB04: .4byte 0x00002004
|
|
_0807BB08: .4byte gUnk_080B3E80
|
|
_0807BB0C: .4byte 0x0000B004
|
|
_0807BB10: .4byte gUnk_080B37A0
|
|
_0807BB14: .4byte gUnk_03000BF0
|
|
_0807BB18: .4byte gUnk_02019EE0
|
|
_0807BB1C:
|
|
lsls r1, r1, #1
|
|
ldr r0, _0807BB58 @ =gUnk_02002F00
|
|
_0807BB20:
|
|
adds r3, r1, r0
|
|
lsls r0, r6, #3
|
|
ldr r1, _0807BB5C @ =0x00007004
|
|
adds r0, r0, r1
|
|
adds r0, r5, r0
|
|
ldrh r1, [r0]
|
|
strh r1, [r3]
|
|
ldrh r1, [r0, #2]
|
|
strh r1, [r3, #2]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #1
|
|
adds r2, r3, r1
|
|
ldrh r1, [r0, #4]
|
|
strh r1, [r2]
|
|
movs r2, #0x81
|
|
lsls r2, r2, #1
|
|
adds r1, r3, r2
|
|
ldrh r0, [r0, #6]
|
|
strh r0, [r1]
|
|
ldr r0, _0807BB60 @ =gUnk_03000BF0
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _0807BB54
|
|
ldr r1, _0807BB64 @ =gUnk_02000070
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
_0807BB54:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807BB58: .4byte gUnk_02002F00
|
|
_0807BB5C: .4byte 0x00007004
|
|
_0807BB60: .4byte gUnk_03000BF0
|
|
_0807BB64: .4byte gUnk_02000070
|
|
|
|
thumb_func_start sub_0807BB68
|
|
sub_0807BB68: @ 0x0807BB68
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r6, r1, #0
|
|
adds r5, r2, #0
|
|
movs r1, #0
|
|
ldrsh r0, [r4, r1]
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _0807BB96
|
|
adds r7, r1, #0
|
|
_0807BB7E:
|
|
ldrh r0, [r4]
|
|
movs r2, #2
|
|
ldrsh r1, [r4, r2]
|
|
adds r1, r6, r1
|
|
adds r2, r5, #0
|
|
bl sub_0807B314
|
|
adds r4, #4
|
|
movs r1, #0
|
|
ldrsh r0, [r4, r1]
|
|
cmp r0, r7
|
|
bne _0807BB7E
|
|
_0807BB96:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_0807BB98
|
|
sub_0807BB98: @ 0x0807BB98
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
adds r5, r0, #0
|
|
mov sl, r1
|
|
mov r8, r2
|
|
mov sb, r3
|
|
movs r0, #0
|
|
cmp r0, sb
|
|
bhs _0807BBD4
|
|
_0807BBB0:
|
|
movs r4, #0
|
|
adds r7, r5, #0
|
|
adds r7, #0x40
|
|
adds r6, r0, #1
|
|
cmp r4, r8
|
|
bhs _0807BBCC
|
|
_0807BBBC:
|
|
adds r1, r5, r4
|
|
ldr r0, _0807BBE0 @ =0x00004072
|
|
mov r2, sl
|
|
bl sub_0800015E
|
|
adds r4, #1
|
|
cmp r4, r8
|
|
blo _0807BBBC
|
|
_0807BBCC:
|
|
adds r5, r7, #0
|
|
adds r0, r6, #0
|
|
cmp r0, sb
|
|
blo _0807BBB0
|
|
_0807BBD4:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807BBE0: .4byte 0x00004072
|
|
|
|
thumb_func_start sub_0807BBE4
|
|
sub_0807BBE4: @ 0x0807BBE4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
ldr r0, _0807BC28 @ =gUnk_0202AEB4
|
|
mov sl, r0
|
|
ldr r0, _0807BC2C @ =gUnk_02010654
|
|
mov sb, r0
|
|
ldr r5, _0807BC30 @ =0xFFFFB000
|
|
add r5, sl
|
|
ldr r4, _0807BC30 @ =0xFFFFB000
|
|
add r4, sb
|
|
ldr r2, _0807BC34 @ =0xFFFFD000
|
|
add r2, sl
|
|
ldr r1, _0807BC34 @ =0xFFFFD000
|
|
add r1, sb
|
|
movs r3, #0
|
|
ldr r0, _0807BC38 @ =0x00003FFF
|
|
mov r8, r0
|
|
ldr r0, _0807BC3C @ =gUnk_080B3E80
|
|
mov ip, r0
|
|
ldr r7, _0807BC40 @ =gUnk_080B79A7
|
|
ldr r6, _0807BC44 @ =0xFFFFC000
|
|
_0807BC14:
|
|
ldrh r0, [r5]
|
|
adds r5, #2
|
|
cmp r0, r8
|
|
bhi _0807BC48
|
|
lsls r0, r0, #1
|
|
add r0, sl
|
|
ldrh r0, [r0]
|
|
add r0, ip
|
|
b _0807BC4C
|
|
.align 2, 0
|
|
_0807BC28: .4byte gUnk_0202AEB4
|
|
_0807BC2C: .4byte gUnk_02010654
|
|
_0807BC30: .4byte 0xFFFFB000
|
|
_0807BC34: .4byte 0xFFFFD000
|
|
_0807BC38: .4byte 0x00003FFF
|
|
_0807BC3C: .4byte gUnk_080B3E80
|
|
_0807BC40: .4byte gUnk_080B79A7
|
|
_0807BC44: .4byte 0xFFFFC000
|
|
_0807BC48:
|
|
adds r0, r0, r6
|
|
adds r0, r0, r7
|
|
_0807BC4C:
|
|
ldrb r0, [r0]
|
|
strb r0, [r2]
|
|
adds r2, #1
|
|
ldrh r0, [r4]
|
|
adds r4, #2
|
|
cmp r0, r8
|
|
bhi _0807BC64
|
|
lsls r0, r0, #1
|
|
add r0, sb
|
|
ldrh r0, [r0]
|
|
add r0, ip
|
|
b _0807BC68
|
|
_0807BC64:
|
|
adds r0, r0, r6
|
|
adds r0, r0, r7
|
|
_0807BC68:
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
adds r3, #1
|
|
ldr r0, _0807BC80 @ =0x00000FFF
|
|
cmp r3, r0
|
|
bls _0807BC14
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807BC80: .4byte 0x00000FFF
|
|
|
|
thumb_func_start sub_0807BC84
|
|
sub_0807BC84: @ 0x0807BC84
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r1, _0807BD04 @ =gUnk_03000BF0
|
|
ldrh r0, [r1, #0x1e]
|
|
lsrs r2, r0, #4
|
|
mov r8, r1
|
|
cmp r2, #0x40
|
|
bne _0807BC98
|
|
movs r2, #0x3f
|
|
_0807BC98:
|
|
ldr r1, _0807BD08 @ =gUnk_02027EB4
|
|
adds r3, r2, r1
|
|
adds r6, r1, #0
|
|
adds r6, #0x3f
|
|
ldr r0, _0807BD0C @ =gUnk_0200D654
|
|
adds r2, r2, r0
|
|
adds r5, r0, #0
|
|
adds r5, #0x3f
|
|
movs r4, #0
|
|
adds r7, r1, #0
|
|
mov ip, r0
|
|
movs r0, #0xff
|
|
_0807BCB0:
|
|
strb r0, [r3]
|
|
strb r0, [r6]
|
|
strb r0, [r2]
|
|
strb r0, [r5]
|
|
adds r3, #0x40
|
|
adds r6, #0x40
|
|
adds r2, #0x40
|
|
adds r5, #0x40
|
|
adds r4, #1
|
|
cmp r4, #0x3f
|
|
bls _0807BCB0
|
|
mov r0, r8
|
|
ldrh r1, [r0, #0x20]
|
|
ldr r0, _0807BD10 @ =0x0000FFF0
|
|
ands r0, r1
|
|
lsls r0, r0, #2
|
|
adds r3, r0, r7
|
|
movs r1, #0xfc
|
|
lsls r1, r1, #4
|
|
adds r6, r7, r1
|
|
mov r1, ip
|
|
adds r2, r0, r1
|
|
movs r5, #0xfc
|
|
lsls r5, r5, #4
|
|
add r5, ip
|
|
movs r4, #0
|
|
movs r0, #0xff
|
|
_0807BCE6:
|
|
strb r0, [r3]
|
|
adds r3, #1
|
|
strb r0, [r6]
|
|
adds r6, #1
|
|
strb r0, [r2]
|
|
adds r2, #1
|
|
strb r0, [r5]
|
|
adds r5, #1
|
|
adds r4, #1
|
|
cmp r4, #0x3f
|
|
bls _0807BCE6
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807BD04: .4byte gUnk_03000BF0
|
|
_0807BD08: .4byte gUnk_02027EB4
|
|
_0807BD0C: .4byte gUnk_0200D654
|
|
_0807BD10: .4byte 0x0000FFF0
|
|
|
|
thumb_func_start sub_0807BD14
|
|
sub_0807BD14: @ 0x0807BD14
|
|
push {r4, r5, lr}
|
|
adds r5, r1, #0
|
|
movs r1, #0x2e
|
|
ldrsh r2, [r0, r1]
|
|
movs r3, #0x32
|
|
ldrsh r1, [r0, r3]
|
|
adds r0, r2, #0
|
|
adds r2, r5, #0
|
|
bl sub_0807BEEC
|
|
adds r3, r0, #0
|
|
cmp r3, #0xff
|
|
beq _0807BDB4
|
|
ldr r1, _0807BD68 @ =gUnk_03000BF0
|
|
movs r2, #0
|
|
movs r0, #2
|
|
strb r0, [r1, #2]
|
|
strb r2, [r1, #3]
|
|
movs r4, #1
|
|
strh r4, [r1]
|
|
strb r3, [r1, #5]
|
|
strb r5, [r1, #0x10]
|
|
bl sub_08052E8C
|
|
adds r2, r0, #0
|
|
ldr r1, _0807BD6C @ =gUnk_02033A90
|
|
ldr r3, _0807BD70 @ =0x0000085C
|
|
adds r0, r1, r3
|
|
str r2, [r0]
|
|
ldrb r0, [r1, #0xd]
|
|
ands r4, r0
|
|
cmp r4, #0
|
|
beq _0807BD98
|
|
cmp r5, #1
|
|
beq _0807BD7E
|
|
cmp r5, #1
|
|
blo _0807BD74
|
|
cmp r5, #2
|
|
beq _0807BD86
|
|
cmp r5, #3
|
|
beq _0807BD90
|
|
b _0807BD98
|
|
.align 2, 0
|
|
_0807BD68: .4byte gUnk_03000BF0
|
|
_0807BD6C: .4byte gUnk_02033A90
|
|
_0807BD70: .4byte 0x0000085C
|
|
_0807BD74:
|
|
ldrh r0, [r2, #6]
|
|
ldrh r1, [r2, #2]
|
|
subs r0, r0, r1
|
|
strh r0, [r2, #6]
|
|
b _0807BD98
|
|
_0807BD7E:
|
|
ldrh r0, [r2]
|
|
ldrh r1, [r2, #4]
|
|
adds r0, r0, r1
|
|
b _0807BD96
|
|
_0807BD86:
|
|
ldrh r0, [r2, #2]
|
|
ldrh r3, [r2, #6]
|
|
adds r0, r0, r3
|
|
strh r0, [r2, #6]
|
|
b _0807BD98
|
|
_0807BD90:
|
|
ldrh r0, [r2, #4]
|
|
ldrh r1, [r2]
|
|
subs r0, r0, r1
|
|
_0807BD96:
|
|
strh r0, [r2, #4]
|
|
_0807BD98:
|
|
ldr r2, _0807BDB0 @ =gLinkEntity
|
|
ldrb r1, [r2, #0x11]
|
|
movs r0, #0x10
|
|
rsbs r0, r0, #0
|
|
ands r0, r1
|
|
movs r1, #6
|
|
orrs r0, r1
|
|
strb r0, [r2, #0x11]
|
|
bl sub_0805E5A8
|
|
movs r0, #1
|
|
b _0807BDB6
|
|
.align 2, 0
|
|
_0807BDB0: .4byte gLinkEntity
|
|
_0807BDB4:
|
|
movs r0, #0
|
|
_0807BDB6:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_0807BDB8
|
|
sub_0807BDB8: @ 0x0807BDB8
|
|
push {r4, r5, lr}
|
|
adds r3, r0, #0
|
|
movs r5, #0xff
|
|
movs r0, #7
|
|
ands r1, r0
|
|
cmp r1, #7
|
|
bls _0807BDC8
|
|
b _0807BEE2
|
|
_0807BDC8:
|
|
lsls r0, r1, #2
|
|
ldr r1, _0807BDD4 @ =_0807BDD8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0807BDD4: .4byte _0807BDD8
|
|
_0807BDD8: @ jump table
|
|
.4byte _0807BDF8 @ case 0
|
|
.4byte _0807BE10 @ case 1
|
|
.4byte _0807BE30 @ case 2
|
|
.4byte _0807BE4C @ case 3
|
|
.4byte _0807BE78 @ case 4
|
|
.4byte _0807BE94 @ case 5
|
|
.4byte _0807BEB4 @ case 6
|
|
.4byte _0807BEC4 @ case 7
|
|
_0807BDF8:
|
|
movs r1, #0x32
|
|
ldrsh r0, [r3, r1]
|
|
ldr r1, _0807BE0C @ =gUnk_03000BF0
|
|
ldrh r1, [r1, #8]
|
|
subs r0, r0, r1
|
|
cmp r0, #9
|
|
bhi _0807BEE2
|
|
movs r5, #0
|
|
b _0807BEE2
|
|
.align 2, 0
|
|
_0807BE0C: .4byte gUnk_03000BF0
|
|
_0807BE10:
|
|
movs r2, #0x32
|
|
ldrsh r0, [r3, r2]
|
|
ldr r2, _0807BE2C @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #8]
|
|
subs r0, r0, r1
|
|
cmp r0, #9
|
|
bhi _0807BE20
|
|
movs r5, #0
|
|
_0807BE20:
|
|
ldrh r0, [r2, #0x1e]
|
|
subs r0, #0xa
|
|
movs r4, #0x2e
|
|
ldrsh r1, [r3, r4]
|
|
ldrh r2, [r2, #6]
|
|
b _0807BE6A
|
|
.align 2, 0
|
|
_0807BE2C: .4byte gUnk_03000BF0
|
|
_0807BE30:
|
|
ldr r1, _0807BE48 @ =gUnk_03000BF0
|
|
ldrh r2, [r1, #0x1e]
|
|
subs r2, #0xa
|
|
movs r4, #0x2e
|
|
ldrsh r0, [r3, r4]
|
|
ldrh r1, [r1, #6]
|
|
subs r0, r0, r1
|
|
cmp r2, r0
|
|
bhs _0807BEE2
|
|
movs r5, #1
|
|
b _0807BEE2
|
|
.align 2, 0
|
|
_0807BE48: .4byte gUnk_03000BF0
|
|
_0807BE4C:
|
|
ldr r4, _0807BE74 @ =gUnk_03000BF0
|
|
ldrh r0, [r4, #0x20]
|
|
subs r0, #0xa
|
|
movs r2, #0x32
|
|
ldrsh r1, [r3, r2]
|
|
ldrh r2, [r4, #8]
|
|
subs r1, r1, r2
|
|
cmp r0, r1
|
|
bhs _0807BE60
|
|
movs r5, #2
|
|
_0807BE60:
|
|
ldrh r0, [r4, #0x1e]
|
|
subs r0, #0xa
|
|
movs r2, #0x2e
|
|
ldrsh r1, [r3, r2]
|
|
ldrh r2, [r4, #6]
|
|
_0807BE6A:
|
|
subs r1, r1, r2
|
|
cmp r0, r1
|
|
bhs _0807BEE2
|
|
movs r5, #1
|
|
b _0807BEE2
|
|
.align 2, 0
|
|
_0807BE74: .4byte gUnk_03000BF0
|
|
_0807BE78:
|
|
ldr r1, _0807BE90 @ =gUnk_03000BF0
|
|
ldrh r2, [r1, #0x20]
|
|
subs r2, #0xa
|
|
movs r4, #0x32
|
|
ldrsh r0, [r3, r4]
|
|
ldrh r1, [r1, #8]
|
|
subs r0, r0, r1
|
|
cmp r2, r0
|
|
bhs _0807BEE2
|
|
movs r5, #2
|
|
b _0807BEE2
|
|
.align 2, 0
|
|
_0807BE90: .4byte gUnk_03000BF0
|
|
_0807BE94:
|
|
ldr r4, _0807BEB0 @ =gUnk_03000BF0
|
|
ldrh r0, [r4, #0x20]
|
|
subs r0, #0xa
|
|
movs r2, #0x32
|
|
ldrsh r1, [r3, r2]
|
|
ldrh r2, [r4, #8]
|
|
subs r1, r1, r2
|
|
cmp r0, r1
|
|
bhs _0807BEA8
|
|
movs r5, #2
|
|
_0807BEA8:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r3, r1]
|
|
ldrh r1, [r4, #6]
|
|
b _0807BEDA
|
|
.align 2, 0
|
|
_0807BEB0: .4byte gUnk_03000BF0
|
|
_0807BEB4:
|
|
movs r2, #0x2e
|
|
ldrsh r0, [r3, r2]
|
|
ldr r1, _0807BEC0 @ =gUnk_03000BF0
|
|
ldrh r1, [r1, #6]
|
|
b _0807BEDA
|
|
.align 2, 0
|
|
_0807BEC0: .4byte gUnk_03000BF0
|
|
_0807BEC4:
|
|
movs r4, #0x32
|
|
ldrsh r0, [r3, r4]
|
|
ldr r2, _0807BEE8 @ =gUnk_03000BF0
|
|
ldrh r1, [r2, #8]
|
|
subs r0, r0, r1
|
|
cmp r0, #9
|
|
bhi _0807BED4
|
|
movs r5, #0
|
|
_0807BED4:
|
|
movs r1, #0x2e
|
|
ldrsh r0, [r3, r1]
|
|
ldrh r1, [r2, #6]
|
|
_0807BEDA:
|
|
subs r0, r0, r1
|
|
cmp r0, #9
|
|
bhi _0807BEE2
|
|
movs r5, #3
|
|
_0807BEE2:
|
|
adds r0, r5, #0
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807BEE8: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0807BEEC
|
|
sub_0807BEEC: @ 0x0807BEEC
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
adds r7, r1, #0
|
|
ldr r0, _0807BF04 @ =gUnk_02033A90
|
|
ldrb r1, [r0, #0xd]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807BF0C
|
|
ldr r0, _0807BF08 @ =gUnk_03000BF0
|
|
ldrb r0, [r0, #5]
|
|
b _0807BF7C
|
|
.align 2, 0
|
|
_0807BF04: .4byte gUnk_02033A90
|
|
_0807BF08: .4byte gUnk_03000BF0
|
|
_0807BF0C:
|
|
cmp r2, #1
|
|
beq _0807BF2C
|
|
cmp r2, #1
|
|
blo _0807BF1E
|
|
cmp r2, #2
|
|
beq _0807BF40
|
|
cmp r2, #3
|
|
beq _0807BF58
|
|
b _0807BF7A
|
|
_0807BF1E:
|
|
ldr r0, _0807BF28 @ =gUnk_03000BF0
|
|
ldrh r0, [r0, #8]
|
|
adds r7, r0, #0
|
|
subs r7, #0x10
|
|
b _0807BF60
|
|
.align 2, 0
|
|
_0807BF28: .4byte gUnk_03000BF0
|
|
_0807BF2C:
|
|
ldr r0, _0807BF3C @ =gUnk_03000BF0
|
|
ldrh r1, [r0, #6]
|
|
ldrh r0, [r0, #0x1e]
|
|
adds r1, r1, r0
|
|
adds r6, r1, #0
|
|
adds r6, #0x10
|
|
b _0807BF60
|
|
.align 2, 0
|
|
_0807BF3C: .4byte gUnk_03000BF0
|
|
_0807BF40:
|
|
ldr r0, _0807BF50 @ =gUnk_03000BF0
|
|
ldrh r1, [r0, #8]
|
|
ldrh r0, [r0, #0x20]
|
|
adds r1, r1, r0
|
|
adds r7, r1, #0
|
|
adds r7, #0x10
|
|
b _0807BF60
|
|
.align 2, 0
|
|
_0807BF50: .4byte gUnk_03000BF0
|
|
_0807BF54:
|
|
adds r0, r4, #0
|
|
b _0807BF7C
|
|
_0807BF58:
|
|
ldr r0, _0807BF80 @ =gUnk_03000BF0
|
|
ldrh r0, [r0, #6]
|
|
adds r6, r0, #0
|
|
subs r6, #0x10
|
|
_0807BF60:
|
|
ldr r5, _0807BF84 @ =gUnk_02033ACC
|
|
movs r4, #0
|
|
_0807BF64:
|
|
adds r0, r6, #0
|
|
adds r1, r7, #0
|
|
adds r2, r5, #0
|
|
bl sub_0807BF88
|
|
cmp r0, #0
|
|
bne _0807BF54
|
|
adds r4, #1
|
|
adds r5, #0x20
|
|
cmp r4, #0x3f
|
|
bls _0807BF64
|
|
_0807BF7A:
|
|
movs r0, #0xff
|
|
_0807BF7C:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807BF80: .4byte gUnk_03000BF0
|
|
_0807BF84: .4byte gUnk_02033ACC
|
|
|
|
thumb_func_start sub_0807BF88
|
|
sub_0807BF88: @ 0x0807BF88
|
|
push {r4, lr}
|
|
adds r3, r2, #0
|
|
ldrh r2, [r3, #4]
|
|
subs r0, r0, r2
|
|
ldrh r2, [r3, #6]
|
|
subs r1, r1, r2
|
|
movs r2, #0
|
|
ldrh r4, [r3]
|
|
cmp r0, r4
|
|
bhs _0807BFA4
|
|
ldrh r3, [r3, #2]
|
|
cmp r1, r3
|
|
bhs _0807BFA4
|
|
movs r2, #1
|
|
_0807BFA4:
|
|
adds r0, r2, #0
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_0807BFA8
|
|
sub_0807BFA8: @ 0x0807BFA8
|
|
ldr r2, _0807BFC4 @ =gUnk_03000BF0
|
|
ldr r0, _0807BFC8 @ =gUnk_02033A90
|
|
ldr r1, _0807BFCC @ =0x0000085C
|
|
adds r0, r0, r1
|
|
ldr r1, [r0]
|
|
ldrh r0, [r1, #4]
|
|
strh r0, [r2, #6]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r2, #8]
|
|
ldrh r0, [r1]
|
|
strh r0, [r2, #0x1e]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r2, #0x20]
|
|
bx lr
|
|
.align 2, 0
|
|
_0807BFC4: .4byte gUnk_03000BF0
|
|
_0807BFC8: .4byte gUnk_02033A90
|
|
_0807BFCC: .4byte 0x0000085C
|
|
|
|
thumb_func_start sub_0807BFD0
|
|
sub_0807BFD0: @ 0x0807BFD0
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
bl sub_0801B170
|
|
bl sub_0807BFA8
|
|
ldr r7, _0807C0B8 @ =0x0000FFFF
|
|
ldr r6, _0807C0BC @ =gUnk_0202AEB4
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
mov r8, r0
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
mov r2, r8
|
|
bl sub_0801D5EC
|
|
movs r5, #0
|
|
strh r5, [r6]
|
|
ldr r4, _0807C0C0 @ =gUnk_02010654
|
|
adds r0, r7, #0
|
|
adds r1, r4, #0
|
|
mov r2, r8
|
|
bl sub_0801D5EC
|
|
strh r5, [r4]
|
|
ldr r2, _0807C0C4 @ =gUnk_03000BF0
|
|
ldr r0, _0807C0C8 @ =gUnk_02033A90
|
|
ldr r1, _0807C0CC @ =0x0000085C
|
|
adds r4, r0, r1
|
|
ldr r0, [r4]
|
|
ldr r1, [r2, #0x34]
|
|
ldr r0, [r0, #8]
|
|
cmp r1, r0
|
|
beq _0807C01C
|
|
str r0, [r2, #0x34]
|
|
bl sub_080197D4
|
|
_0807C01C:
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x10]
|
|
bl sub_080197D4
|
|
ldr r1, _0807C0D0 @ =gUnk_020176A0
|
|
adds r0, r1, #0
|
|
adds r0, #0x60
|
|
movs r2, #0xa8
|
|
lsls r2, r2, #2
|
|
adds r1, r1, r2
|
|
movs r2, #0x20
|
|
bl sub_0801D66C
|
|
ldr r2, _0807C0D4 @ =gUnk_0200B644
|
|
ldr r0, [r2]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #0xe
|
|
orrs r0, r1
|
|
str r0, [r2]
|
|
ldr r0, [r4]
|
|
ldr r0, [r0, #0x14]
|
|
cmp r0, #0
|
|
beq _0807C04E
|
|
bl sub_0801B130
|
|
_0807C04E:
|
|
adds r5, r6, #0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #5
|
|
adds r6, r5, r0
|
|
adds r0, r7, #0
|
|
adds r1, r6, #0
|
|
mov r2, r8
|
|
bl sub_0801D5EC
|
|
movs r2, #0
|
|
ldr r3, _0807C0D8 @ =0x000007FF
|
|
adds r4, r7, #0
|
|
_0807C066:
|
|
ldrh r0, [r5]
|
|
cmp r0, r3
|
|
bhi _0807C078
|
|
lsls r0, r0, #1
|
|
adds r1, r0, r6
|
|
ldrh r0, [r1]
|
|
cmp r0, r4
|
|
bne _0807C078
|
|
strh r2, [r1]
|
|
_0807C078:
|
|
adds r2, #1
|
|
adds r5, #2
|
|
cmp r2, r3
|
|
ble _0807C066
|
|
movs r2, #0x80
|
|
lsls r2, r2, #5
|
|
ldr r5, _0807C0C0 @ =gUnk_02010654
|
|
adds r6, r5, r2
|
|
ldr r4, _0807C0B8 @ =0x0000FFFF
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801D5EC
|
|
movs r2, #0
|
|
ldr r3, _0807C0D8 @ =0x000007FF
|
|
_0807C096:
|
|
ldrh r0, [r5]
|
|
cmp r0, r3
|
|
bhi _0807C0A8
|
|
lsls r0, r0, #1
|
|
adds r1, r0, r6
|
|
ldrh r0, [r1]
|
|
cmp r0, r4
|
|
bne _0807C0A8
|
|
strh r2, [r1]
|
|
_0807C0A8:
|
|
adds r2, #1
|
|
adds r5, #2
|
|
cmp r2, r3
|
|
ble _0807C096
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807C0B8: .4byte 0x0000FFFF
|
|
_0807C0BC: .4byte gUnk_0202AEB4
|
|
_0807C0C0: .4byte gUnk_02010654
|
|
_0807C0C4: .4byte gUnk_03000BF0
|
|
_0807C0C8: .4byte gUnk_02033A90
|
|
_0807C0CC: .4byte 0x0000085C
|
|
_0807C0D0: .4byte gUnk_020176A0
|
|
_0807C0D4: .4byte gUnk_0200B644
|
|
_0807C0D8: .4byte 0x000007FF
|
|
|
|
thumb_func_start sub_0807C0DC
|
|
sub_0807C0DC: @ 0x0807C0DC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
bl sub_0807BFA8
|
|
ldr r7, _0807C158 @ =gUnk_03000BF0
|
|
ldrb r1, [r7, #0xf]
|
|
movs r0, #0xfc
|
|
ands r0, r1
|
|
strb r0, [r7, #0xf]
|
|
ldr r5, _0807C15C @ =gUnk_0200B654
|
|
movs r6, #0x80
|
|
lsls r6, r6, #6
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801D630
|
|
adds r0, r5, r6
|
|
movs r1, #0x80
|
|
lsls r1, r1, #5
|
|
bl sub_0801D630
|
|
ldr r0, _0807C160 @ =gUnk_02019EE0
|
|
movs r4, #0x80
|
|
lsls r4, r4, #8
|
|
adds r1, r4, #0
|
|
bl sub_0801D630
|
|
ldr r0, _0807C164 @ =gUnk_02002F00
|
|
adds r1, r4, #0
|
|
bl sub_0801D630
|
|
ldr r0, _0807C168 @ =gUnk_02033A90
|
|
ldr r1, _0807C16C @ =0x0000085C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r0, [r0, #0xc]
|
|
bl sub_080197D4
|
|
ldr r2, _0807C170 @ =gUnk_02025EB0
|
|
ldrh r1, [r2, #4]
|
|
ldr r0, _0807C174 @ =0x0000FFFF
|
|
cmp r1, r0
|
|
beq _0807C178
|
|
adds r0, r2, #4
|
|
ldrh r1, [r7, #0x1e]
|
|
lsrs r1, r1, #4
|
|
ldrh r2, [r7, #0x20]
|
|
lsrs r2, r2, #4
|
|
bl sub_0807C8B0
|
|
ldrh r1, [r7, #0x1e]
|
|
lsrs r1, r1, #4
|
|
ldrh r2, [r7, #0x20]
|
|
lsrs r2, r2, #4
|
|
adds r0, r5, #0
|
|
bl sub_0807C8B0
|
|
movs r2, #0
|
|
mov sb, r2
|
|
b _0807C184
|
|
.align 2, 0
|
|
_0807C158: .4byte gUnk_03000BF0
|
|
_0807C15C: .4byte gUnk_0200B654
|
|
_0807C160: .4byte gUnk_02019EE0
|
|
_0807C164: .4byte gUnk_02002F00
|
|
_0807C168: .4byte gUnk_02033A90
|
|
_0807C16C: .4byte 0x0000085C
|
|
_0807C170: .4byte gUnk_02025EB0
|
|
_0807C174: .4byte 0x0000FFFF
|
|
_0807C178:
|
|
adds r0, r2, #4
|
|
adds r1, r6, #0
|
|
bl sub_0801D630
|
|
movs r3, #1
|
|
mov sb, r3
|
|
_0807C184:
|
|
ldr r0, _0807C1B0 @ =gUnk_030010A0
|
|
adds r0, #0x2d
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _0807C1BC
|
|
ldr r0, _0807C1B4 @ =gUnk_02025EB4
|
|
movs r2, #0xc0
|
|
lsls r2, r2, #6
|
|
adds r1, r0, r2
|
|
movs r4, #0x80
|
|
lsls r4, r4, #6
|
|
adds r2, r4, #0
|
|
bl sub_0801D66C
|
|
ldr r0, _0807C1B8 @ =gUnk_0200B654
|
|
movs r3, #0xc0
|
|
lsls r3, r3, #6
|
|
adds r1, r0, r3
|
|
adds r2, r4, #0
|
|
bl sub_0801D66C
|
|
b _0807C26C
|
|
.align 2, 0
|
|
_0807C1B0: .4byte gUnk_030010A0
|
|
_0807C1B4: .4byte gUnk_02025EB4
|
|
_0807C1B8: .4byte gUnk_0200B654
|
|
_0807C1BC:
|
|
cmp r0, #2
|
|
bne _0807C26C
|
|
ldr r4, _0807C278 @ =gUnk_02025EB4
|
|
movs r0, #0xb0
|
|
lsls r0, r0, #8
|
|
adds r0, r0, r4
|
|
mov r8, r0
|
|
movs r5, #0x80
|
|
lsls r5, r5, #5
|
|
adds r0, r4, #0
|
|
mov r1, r8
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #6
|
|
adds r6, r4, r1
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
mov r0, r8
|
|
adds r1, r6, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
adds r6, r4, r5
|
|
adds r0, r6, #0
|
|
mov r1, r8
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
movs r2, #0x80
|
|
lsls r2, r2, #7
|
|
adds r4, r4, r2
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
mov r0, r8
|
|
adds r1, r4, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
ldr r4, _0807C27C @ =gUnk_0200B654
|
|
movs r3, #0xb0
|
|
lsls r3, r3, #8
|
|
adds r3, r3, r4
|
|
mov r8, r3
|
|
adds r0, r4, #0
|
|
mov r1, r8
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #6
|
|
adds r6, r4, r0
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
mov r0, r8
|
|
adds r1, r6, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
adds r6, r4, r5
|
|
adds r0, r6, #0
|
|
mov r1, r8
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
movs r1, #0x80
|
|
lsls r1, r1, #7
|
|
adds r4, r4, r1
|
|
adds r0, r4, #0
|
|
adds r1, r6, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
mov r0, r8
|
|
adds r1, r4, #0
|
|
adds r2, r5, #0
|
|
bl sub_0801D66C
|
|
_0807C26C:
|
|
mov r2, sb
|
|
cmp r2, #0
|
|
bne _0807C280
|
|
bl sub_0807BBE4
|
|
b _0807C2A0
|
|
.align 2, 0
|
|
_0807C278: .4byte gUnk_02025EB4
|
|
_0807C27C: .4byte gUnk_0200B654
|
|
_0807C280:
|
|
ldr r0, _0807C2CC @ =gUnk_02027EB4
|
|
ldrh r1, [r7, #0x1e]
|
|
lsrs r1, r1, #4
|
|
ldrh r2, [r7, #0x20]
|
|
lsrs r2, r2, #4
|
|
bl sub_0807C69C
|
|
ldr r0, _0807C2D0 @ =gUnk_0200D654
|
|
ldrh r1, [r7, #0x1e]
|
|
lsrs r1, r1, #4
|
|
ldrh r2, [r7, #0x20]
|
|
lsrs r2, r2, #4
|
|
bl sub_0807C69C
|
|
bl sub_0807C460
|
|
_0807C2A0:
|
|
bl sub_0807BC84
|
|
ldr r4, _0807C2D4 @ =gUnk_02025EB0
|
|
adds r0, r4, #0
|
|
bl sub_08080B60
|
|
ldr r5, _0807C2D8 @ =gUnk_0200B650
|
|
adds r0, r5, #0
|
|
bl sub_08080B60
|
|
mov r3, sb
|
|
cmp r3, #0
|
|
bne _0807C2E4
|
|
ldr r0, _0807C2DC @ =gUnk_02019EE0
|
|
adds r1, r4, #0
|
|
bl sub_0801AB08
|
|
ldr r0, _0807C2E0 @ =gUnk_02002F00
|
|
adds r1, r5, #0
|
|
bl sub_0801AB08
|
|
b _0807C326
|
|
.align 2, 0
|
|
_0807C2CC: .4byte gUnk_02027EB4
|
|
_0807C2D0: .4byte gUnk_0200D654
|
|
_0807C2D4: .4byte gUnk_02025EB0
|
|
_0807C2D8: .4byte gUnk_0200B650
|
|
_0807C2DC: .4byte gUnk_02019EE0
|
|
_0807C2E0: .4byte gUnk_02002F00
|
|
_0807C2E4:
|
|
ldr r4, _0807C34C @ =gUnk_02019EE0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #7
|
|
adds r5, r4, r0
|
|
adds r6, r0, #0
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0801D66C
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807C5F4
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801D630
|
|
ldr r4, _0807C350 @ =gUnk_02002F00
|
|
adds r5, r4, r6
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0801D66C
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807C5F4
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801D630
|
|
_0807C326:
|
|
mov r1, sb
|
|
cmp r1, #0
|
|
bne _0807C332
|
|
ldrb r0, [r7, #4]
|
|
cmp r0, #0x71
|
|
bne _0807C33A
|
|
_0807C332:
|
|
ldrb r1, [r7, #0xf]
|
|
movs r0, #1
|
|
orrs r0, r1
|
|
strb r0, [r7, #0xf]
|
|
_0807C33A:
|
|
ldrb r0, [r7, #4]
|
|
subs r0, #0x20
|
|
cmp r0, #0x18
|
|
bhi _0807C400
|
|
lsls r0, r0, #2
|
|
ldr r1, _0807C354 @ =_0807C358
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0807C34C: .4byte gUnk_02019EE0
|
|
_0807C350: .4byte gUnk_02002F00
|
|
_0807C354: .4byte _0807C358
|
|
_0807C358: @ jump table
|
|
.4byte _0807C3BC @ case 0
|
|
.4byte _0807C3E4 @ case 1
|
|
.4byte _0807C3E4 @ case 2
|
|
.4byte _0807C3E4 @ case 3
|
|
.4byte _0807C3E4 @ case 4
|
|
.4byte _0807C3E4 @ case 5
|
|
.4byte _0807C400 @ case 6
|
|
.4byte _0807C3E4 @ case 7
|
|
.4byte _0807C3E4 @ case 8
|
|
.4byte _0807C400 @ case 9
|
|
.4byte _0807C400 @ case 10
|
|
.4byte _0807C400 @ case 11
|
|
.4byte _0807C400 @ case 12
|
|
.4byte _0807C3BC @ case 13
|
|
.4byte _0807C400 @ case 14
|
|
.4byte _0807C400 @ case 15
|
|
.4byte _0807C3E4 @ case 16
|
|
.4byte _0807C400 @ case 17
|
|
.4byte _0807C400 @ case 18
|
|
.4byte _0807C400 @ case 19
|
|
.4byte _0807C400 @ case 20
|
|
.4byte _0807C400 @ case 21
|
|
.4byte _0807C400 @ case 22
|
|
.4byte _0807C400 @ case 23
|
|
.4byte _0807C3E4 @ case 24
|
|
_0807C3BC:
|
|
ldr r0, _0807C3D8 @ =gUnk_02025EB0
|
|
ldr r2, [r0]
|
|
cmp r2, #0
|
|
beq _0807C3CC
|
|
ldrh r1, [r2]
|
|
movs r0, #0x80
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
_0807C3CC:
|
|
ldr r2, _0807C3DC @ =gUnk_03000F50
|
|
ldrh r1, [r2]
|
|
ldr r0, _0807C3E0 @ =0x0000FDFF
|
|
ands r0, r1
|
|
strh r0, [r2]
|
|
b _0807C444
|
|
.align 2, 0
|
|
_0807C3D8: .4byte gUnk_02025EB0
|
|
_0807C3DC: .4byte gUnk_03000F50
|
|
_0807C3E0: .4byte 0x0000FDFF
|
|
_0807C3E4:
|
|
ldr r0, _0807C3F8 @ =gUnk_0200B650
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _0807C3F2
|
|
ldr r0, _0807C3FC @ =gUnk_080B77C0
|
|
ldrh r0, [r0, #4]
|
|
strh r0, [r1]
|
|
_0807C3F2:
|
|
bl sub_0807C5B0
|
|
b _0807C444
|
|
.align 2, 0
|
|
_0807C3F8: .4byte gUnk_0200B650
|
|
_0807C3FC: .4byte gUnk_080B77C0
|
|
_0807C400:
|
|
ldr r0, _0807C44C @ =gUnk_02025EB0
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _0807C40E
|
|
ldr r0, _0807C450 @ =gUnk_080B77C0
|
|
ldrh r0, [r0]
|
|
strh r0, [r1]
|
|
_0807C40E:
|
|
ldr r0, _0807C454 @ =gUnk_0200B650
|
|
ldr r1, [r0]
|
|
cmp r1, #0
|
|
beq _0807C41C
|
|
ldr r0, _0807C450 @ =gUnk_080B77C0
|
|
ldrh r0, [r0, #2]
|
|
strh r0, [r1]
|
|
_0807C41C:
|
|
ldr r2, _0807C458 @ =gUnk_03000F50
|
|
ldrh r0, [r2]
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
ands r1, r0
|
|
movs r3, #0xba
|
|
lsls r3, r3, #5
|
|
adds r0, r3, #0
|
|
movs r3, #0
|
|
orrs r1, r0
|
|
strh r1, [r2]
|
|
ldr r0, _0807C45C @ =gUnk_02033A90
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0
|
|
beq _0807C444
|
|
movs r3, #0xa0
|
|
lsls r3, r3, #8
|
|
adds r0, r3, #0
|
|
orrs r1, r0
|
|
strh r1, [r2]
|
|
_0807C444:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807C44C: .4byte gUnk_02025EB0
|
|
_0807C450: .4byte gUnk_080B77C0
|
|
_0807C454: .4byte gUnk_0200B650
|
|
_0807C458: .4byte gUnk_03000F50
|
|
_0807C45C: .4byte gUnk_02033A90
|
|
|
|
thumb_func_start sub_0807C460
|
|
sub_0807C460: @ 0x0807C460
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #8
|
|
ldr r7, _0807C4E8 @ =gUnk_02025EB4
|
|
ldr r6, _0807C4EC @ =gUnk_0200B654
|
|
ldr r0, _0807C4F0 @ =gUnk_03000BF0
|
|
ldrh r1, [r0, #0x1e]
|
|
lsrs r3, r1, #4
|
|
ldrh r0, [r0, #0x20]
|
|
lsrs r0, r0, #4
|
|
str r0, [sp]
|
|
movs r4, #0
|
|
movs r1, #0
|
|
cmp r1, r0
|
|
bhs _0807C4DC
|
|
movs r0, #0x40
|
|
subs r0, r0, r3
|
|
lsls r0, r0, #1
|
|
mov sb, r0
|
|
_0807C48C:
|
|
movs r5, #0
|
|
adds r1, #1
|
|
mov sl, r1
|
|
cmp r5, r3
|
|
bhs _0807C4CA
|
|
ldr r0, _0807C4F4 @ =0x00003FFF
|
|
mov r8, r0
|
|
_0807C49A:
|
|
ldrh r0, [r7]
|
|
cmp r0, r8
|
|
bls _0807C4AC
|
|
adds r1, r4, #0
|
|
movs r2, #1
|
|
str r3, [sp, #4]
|
|
bl sub_0800015E
|
|
ldr r3, [sp, #4]
|
|
_0807C4AC:
|
|
ldrh r0, [r6]
|
|
cmp r0, r8
|
|
bls _0807C4BE
|
|
adds r1, r4, #0
|
|
movs r2, #2
|
|
str r3, [sp, #4]
|
|
bl sub_0800015E
|
|
ldr r3, [sp, #4]
|
|
_0807C4BE:
|
|
adds r7, #2
|
|
adds r6, #2
|
|
adds r4, #1
|
|
adds r5, #1
|
|
cmp r5, r3
|
|
blo _0807C49A
|
|
_0807C4CA:
|
|
add r7, sb
|
|
add r6, sb
|
|
adds r0, r4, #0
|
|
adds r0, #0x40
|
|
subs r4, r0, r3
|
|
mov r1, sl
|
|
ldr r0, [sp]
|
|
cmp r1, r0
|
|
blo _0807C48C
|
|
_0807C4DC:
|
|
add sp, #8
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_0807C4E8: .4byte gUnk_02025EB4
|
|
_0807C4EC: .4byte gUnk_0200B654
|
|
_0807C4F0: .4byte gUnk_03000BF0
|
|
_0807C4F4: .4byte 0x00003FFF
|
|
|
|
thumb_func_start sub_0807C4F8
|
|
sub_0807C4F8: @ 0x0807C4F8
|
|
push {r4, r5, r6, lr}
|
|
ldr r0, _0807C594 @ =gUnk_03000BF0
|
|
ldrb r0, [r0, #4]
|
|
cmp r0, #0x71
|
|
beq _0807C592
|
|
ldr r0, _0807C598 @ =gUnk_02019EE0
|
|
movs r4, #0x80
|
|
lsls r4, r4, #8
|
|
adds r1, r4, #0
|
|
bl sub_0801D630
|
|
ldr r0, _0807C59C @ =gUnk_02002F00
|
|
adds r1, r4, #0
|
|
bl sub_0801D630
|
|
ldr r5, _0807C5A0 @ =gUnk_02022830
|
|
ldr r0, _0807C5A4 @ =gUnk_02033A90
|
|
ldr r1, _0807C5A8 @ =0x0000085C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r4, [r0, #0xc]
|
|
subs r4, #0xc
|
|
_0807C524:
|
|
adds r4, #0xc
|
|
ldr r1, [r4, #4]
|
|
ldr r0, _0807C598 @ =gUnk_02019EE0
|
|
cmp r1, r0
|
|
beq _0807C534
|
|
ldr r0, _0807C59C @ =gUnk_02002F00
|
|
cmp r1, r0
|
|
bne _0807C54A
|
|
_0807C534:
|
|
ldr r0, [r4]
|
|
ldr r1, _0807C5AC @ =0x7FFFFFFF
|
|
ands r0, r1
|
|
str r0, [r5]
|
|
ldr r0, [r4, #4]
|
|
str r0, [r5, #4]
|
|
ldr r0, [r4, #8]
|
|
str r0, [r5, #8]
|
|
adds r0, r5, #0
|
|
bl sub_080197D4
|
|
_0807C54A:
|
|
ldr r0, [r4]
|
|
cmp r0, #0
|
|
blt _0807C524
|
|
ldr r4, _0807C598 @ =gUnk_02019EE0
|
|
movs r0, #0x80
|
|
lsls r0, r0, #7
|
|
adds r5, r4, r0
|
|
adds r6, r0, #0
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0801D66C
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807C5F4
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801D630
|
|
ldr r4, _0807C59C @ =gUnk_02002F00
|
|
adds r5, r4, r6
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
adds r2, r6, #0
|
|
bl sub_0801D66C
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl sub_0807C5F4
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_0801D630
|
|
_0807C592:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807C594: .4byte gUnk_03000BF0
|
|
_0807C598: .4byte gUnk_02019EE0
|
|
_0807C59C: .4byte gUnk_02002F00
|
|
_0807C5A0: .4byte gUnk_02022830
|
|
_0807C5A4: .4byte gUnk_02033A90
|
|
_0807C5A8: .4byte 0x0000085C
|
|
_0807C5AC: .4byte 0x7FFFFFFF
|
|
|
|
thumb_func_start sub_0807C5B0
|
|
sub_0807C5B0: @ 0x0807C5B0
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _0807C5E8 @ =gUnk_0200D654
|
|
movs r4, #0x80
|
|
lsls r4, r4, #5
|
|
movs r3, #0
|
|
ldr r6, _0807C5EC @ =gUnk_03000BF0
|
|
ldr r2, _0807C5F0 @ =gUnk_02027EB4
|
|
_0807C5BE:
|
|
adds r0, r5, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _0807C5D4
|
|
cmp r0, #0xf
|
|
bhi _0807C5D2
|
|
ldrb r1, [r2]
|
|
cmp r1, #0xf
|
|
bhi _0807C5D4
|
|
orrs r0, r1
|
|
_0807C5D2:
|
|
strb r0, [r2]
|
|
_0807C5D4:
|
|
adds r2, #1
|
|
adds r3, #1
|
|
cmp r3, r4
|
|
blo _0807C5BE
|
|
ldrb r1, [r6, #0xf]
|
|
movs r0, #2
|
|
orrs r0, r1
|
|
strb r0, [r6, #0xf]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807C5E8: .4byte gUnk_0200D654
|
|
_0807C5EC: .4byte gUnk_03000BF0
|
|
_0807C5F0: .4byte gUnk_02027EB4
|
|
|
|
thumb_func_start sub_0807C5F4
|
|
sub_0807C5F4: @ 0x0807C5F4
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r2, r5, #0
|
|
movs r0, #0x20
|
|
ldr r6, _0807C698 @ =gUnk_03000BF0
|
|
_0807C5FE:
|
|
movs r3, #0
|
|
subs r4, r0, #1
|
|
_0807C602:
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
adds r1, #2
|
|
adds r2, #2
|
|
adds r3, #1
|
|
cmp r3, #0x1f
|
|
bls _0807C602
|
|
adds r2, #0xc0
|
|
adds r0, r4, #0
|
|
cmp r0, #0
|
|
bne _0807C5FE
|
|
ldrh r0, [r6, #0x1e]
|
|
cmp r0, #0xff
|
|
bls _0807C63E
|
|
adds r2, r5, #0
|
|
adds r2, #0x40
|
|
movs r0, #0x20
|
|
_0807C624:
|
|
movs r3, #0
|
|
subs r4, r0, #1
|
|
_0807C628:
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
adds r1, #2
|
|
adds r2, #2
|
|
adds r3, #1
|
|
cmp r3, #0x1f
|
|
bls _0807C628
|
|
adds r2, #0xc0
|
|
adds r0, r4, #0
|
|
cmp r0, #0
|
|
bne _0807C624
|
|
_0807C63E:
|
|
ldrh r0, [r6, #0x20]
|
|
cmp r0, #0xff
|
|
bls _0807C666
|
|
movs r0, #0x80
|
|
lsls r0, r0, #6
|
|
adds r2, r5, r0
|
|
movs r0, #0x20
|
|
_0807C64C:
|
|
movs r3, #0
|
|
subs r4, r0, #1
|
|
_0807C650:
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
adds r1, #2
|
|
adds r2, #2
|
|
adds r3, #1
|
|
cmp r3, #0x1f
|
|
bls _0807C650
|
|
adds r2, #0xc0
|
|
adds r0, r4, #0
|
|
cmp r0, #0
|
|
bne _0807C64C
|
|
_0807C666:
|
|
ldrh r0, [r6, #0x1e]
|
|
cmp r0, #0xff
|
|
bls _0807C694
|
|
ldrh r0, [r6, #0x20]
|
|
cmp r0, #0xff
|
|
bls _0807C694
|
|
movs r0, #0x81
|
|
lsls r0, r0, #6
|
|
adds r2, r5, r0
|
|
movs r0, #0x20
|
|
_0807C67A:
|
|
movs r3, #0
|
|
subs r4, r0, #1
|
|
_0807C67E:
|
|
ldrh r0, [r1]
|
|
strh r0, [r2]
|
|
adds r1, #2
|
|
adds r2, #2
|
|
adds r3, #1
|
|
cmp r3, #0x1f
|
|
bls _0807C67E
|
|
adds r2, #0xc0
|
|
adds r0, r4, #0
|
|
cmp r0, #0
|
|
bne _0807C67A
|
|
_0807C694:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807C698: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0807C69C
|
|
sub_0807C69C: @ 0x0807C69C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov sb, r0
|
|
adds r6, r1, #0
|
|
mov r8, r2
|
|
mov r0, r8
|
|
muls r0, r6, r0
|
|
add r0, sb
|
|
subs r2, r0, #1
|
|
mov r0, r8
|
|
subs r0, #1
|
|
lsls r0, r0, #6
|
|
add r0, sb
|
|
subs r1, r6, #1
|
|
adds r4, r0, r1
|
|
movs r5, #0
|
|
cmp r5, r8
|
|
bhs _0807C6EA
|
|
_0807C6C4:
|
|
movs r3, #0
|
|
adds r7, r4, #0
|
|
subs r7, #0x40
|
|
subs r0, r2, r6
|
|
mov ip, r0
|
|
cmp r3, r6
|
|
bhs _0807C6E0
|
|
_0807C6D2:
|
|
subs r0, r4, r3
|
|
subs r1, r2, r3
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
adds r3, #1
|
|
cmp r3, r6
|
|
blo _0807C6D2
|
|
_0807C6E0:
|
|
adds r4, r7, #0
|
|
mov r2, ip
|
|
adds r5, #1
|
|
cmp r5, r8
|
|
blo _0807C6C4
|
|
_0807C6EA:
|
|
movs r0, #0x40
|
|
subs r7, r0, r6
|
|
movs r5, #0
|
|
mov r1, r8
|
|
lsls r2, r1, #6
|
|
mov r0, sb
|
|
adds r1, r0, r6
|
|
_0807C6F8:
|
|
lsls r0, r5, #6
|
|
adds r4, r1, r0
|
|
movs r3, #0
|
|
adds r6, r5, #1
|
|
cmp r3, r7
|
|
bhs _0807C710
|
|
movs r5, #0
|
|
_0807C706:
|
|
adds r0, r4, r3
|
|
strb r5, [r0]
|
|
adds r3, #1
|
|
cmp r3, r7
|
|
blo _0807C706
|
|
_0807C710:
|
|
adds r5, r6, #0
|
|
cmp r5, #0x3f
|
|
bls _0807C6F8
|
|
movs r0, #0x40
|
|
mov r1, r8
|
|
subs r7, r0, r1
|
|
mov r0, sb
|
|
adds r4, r0, r2
|
|
movs r5, #0
|
|
cmp r5, r7
|
|
bhs _0807C736
|
|
_0807C726:
|
|
adds r0, r4, #0
|
|
movs r1, #0x40
|
|
bl sub_0801D630
|
|
adds r4, #0x40
|
|
adds r5, #1
|
|
cmp r5, r7
|
|
blo _0807C726
|
|
_0807C736:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807C740
|
|
sub_0807C740: @ 0x0807C740
|
|
push {r4, r5, lr}
|
|
bl sub_0807BFD0
|
|
bl sub_0807C0DC
|
|
ldr r4, _0807C780 @ =gUnk_03000BF0
|
|
ldr r2, [r4, #0x30]
|
|
cmp r2, #0
|
|
beq _0807C788
|
|
ldrh r1, [r2, #0x2e]
|
|
lsls r0, r1, #0x10
|
|
cmp r0, #0
|
|
bge _0807C764
|
|
ldr r0, _0807C784 @ =0x00007FFF
|
|
ands r0, r1
|
|
ldrh r1, [r4, #6]
|
|
subs r0, r0, r1
|
|
strh r0, [r2, #0x2e]
|
|
_0807C764:
|
|
movs r0, #0x2e
|
|
ldrsh r3, [r2, r0]
|
|
ldrh r1, [r2, #0x32]
|
|
lsls r0, r1, #0x10
|
|
cmp r0, #0
|
|
bge _0807C77A
|
|
ldr r0, _0807C784 @ =0x00007FFF
|
|
ands r0, r1
|
|
ldrh r1, [r4, #8]
|
|
subs r0, r0, r1
|
|
strh r0, [r2, #0x32]
|
|
_0807C77A:
|
|
movs r0, #0x32
|
|
ldrsh r5, [r2, r0]
|
|
b _0807C78C
|
|
.align 2, 0
|
|
_0807C780: .4byte gUnk_03000BF0
|
|
_0807C784: .4byte 0x00007FFF
|
|
_0807C788:
|
|
movs r3, #0
|
|
movs r5, #0
|
|
_0807C78C:
|
|
cmp r3, #0x77
|
|
bgt _0807C794
|
|
movs r0, #0
|
|
b _0807C7A2
|
|
_0807C794:
|
|
ldrh r1, [r4, #0x1e]
|
|
adds r0, r1, #0
|
|
subs r0, #0x78
|
|
cmp r0, r3
|
|
blt _0807C7A0
|
|
adds r0, r3, #0
|
|
_0807C7A0:
|
|
subs r0, #0x78
|
|
_0807C7A2:
|
|
strh r0, [r4, #0xa]
|
|
ldrh r1, [r4, #6]
|
|
ldrh r2, [r4, #0xa]
|
|
adds r0, r1, r2
|
|
strh r0, [r4, #0xa]
|
|
cmp r5, #0x4f
|
|
bgt _0807C7B4
|
|
movs r0, #0
|
|
b _0807C7C2
|
|
_0807C7B4:
|
|
ldrh r2, [r4, #0x20]
|
|
adds r0, r2, #0
|
|
subs r0, #0x50
|
|
cmp r0, r5
|
|
blt _0807C7C0
|
|
adds r0, r5, #0
|
|
_0807C7C0:
|
|
subs r0, #0x50
|
|
_0807C7C2:
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r4, #8]
|
|
ldrh r3, [r4, #0xc]
|
|
adds r0, r0, r3
|
|
strh r0, [r4, #0xc]
|
|
ldr r2, [r4, #0x30]
|
|
cmp r2, #0
|
|
beq _0807C7FC
|
|
ldrh r3, [r2, #0x2e]
|
|
adds r0, r1, r3
|
|
strh r0, [r2, #0x2e]
|
|
ldr r1, [r4, #0x30]
|
|
ldrh r0, [r4, #8]
|
|
ldrh r2, [r1, #0x32]
|
|
adds r0, r0, r2
|
|
strh r0, [r1, #0x32]
|
|
ldr r0, _0807C80C @ =gUnk_03000BF0
|
|
ldrb r1, [r0, #0xf]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _0807C7FC
|
|
ldr r0, [r4, #0x30]
|
|
adds r0, #0x38
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
ldr r0, [r4, #0x30]
|
|
bl sub_08016A04
|
|
_0807C7FC:
|
|
ldrb r1, [r4, #0xf]
|
|
movs r0, #0xfb
|
|
ands r0, r1
|
|
strb r0, [r4, #0xf]
|
|
bl sub_08080BC4
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807C80C: .4byte gUnk_03000BF0
|
|
|
|
thumb_func_start sub_0807C810
|
|
sub_0807C810: @ 0x0807C810
|
|
push {r4, r5, r6, lr}
|
|
bl sub_0807BFD0
|
|
ldr r2, _0807C850 @ =gUnk_03004030
|
|
ldr r6, _0807C854 @ =gLinkEntity
|
|
ldr r4, _0807C858 @ =gUnk_03000BF0
|
|
ldr r3, [r2]
|
|
ldrh r1, [r3, #6]
|
|
movs r0, #0x3f
|
|
ands r0, r1
|
|
lsls r0, r0, #4
|
|
ldrh r1, [r4, #6]
|
|
adds r0, r0, r1
|
|
ldrh r1, [r2, #4]
|
|
adds r1, r1, r0
|
|
movs r5, #0
|
|
strh r1, [r6, #0x2e]
|
|
ldrh r1, [r3, #6]
|
|
movs r0, #0xfc
|
|
lsls r0, r0, #4
|
|
ands r0, r1
|
|
lsrs r0, r0, #2
|
|
ldrh r4, [r4, #8]
|
|
adds r0, r0, r4
|
|
ldrh r1, [r2, #6]
|
|
adds r1, r1, r0
|
|
strh r1, [r6, #0x32]
|
|
bl sub_080809D4
|
|
ldr r0, _0807C85C @ =gUnk_02000070
|
|
strb r5, [r0]
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_0807C850: .4byte gUnk_03004030
|
|
_0807C854: .4byte gLinkEntity
|
|
_0807C858: .4byte gUnk_03000BF0
|
|
_0807C85C: .4byte gUnk_02000070
|
|
|
|
thumb_func_start sub_0807C860
|
|
sub_0807C860: @ 0x0807C860
|
|
push {r4, lr}
|
|
ldr r0, _0807C88C @ =gUnk_030010A0
|
|
adds r0, #0x2d
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
ldr r0, _0807C890 @ =gUnk_02025EB4
|
|
movs r2, #0xc0
|
|
lsls r2, r2, #6
|
|
adds r1, r0, r2
|
|
movs r4, #0x80
|
|
lsls r4, r4, #6
|
|
adds r2, r4, #0
|
|
bl sub_0801D66C
|
|
ldr r0, _0807C894 @ =gUnk_0200B654
|
|
movs r2, #0xc0
|
|
lsls r2, r2, #6
|
|
adds r1, r0, r2
|
|
adds r2, r4, #0
|
|
bl sub_0801D66C
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807C88C: .4byte gUnk_030010A0
|
|
_0807C890: .4byte gUnk_02025EB4
|
|
_0807C894: .4byte gUnk_0200B654
|
|
|
|
thumb_func_start sub_0807C898
|
|
sub_0807C898: @ 0x0807C898
|
|
push {r4, r5, lr}
|
|
ldr r4, _0807C8AC @ =gUnk_030010A0
|
|
adds r4, #0x2d
|
|
movs r5, #0
|
|
movs r0, #2
|
|
strb r0, [r4]
|
|
bl sub_0807C0DC
|
|
strb r5, [r4]
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807C8AC: .4byte gUnk_030010A0
|
|
|
|
thumb_func_start sub_0807C8B0
|
|
sub_0807C8B0: @ 0x0807C8B0
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov r8, r0
|
|
adds r4, r1, #0
|
|
mov ip, r2
|
|
mov r0, ip
|
|
muls r0, r4, r0
|
|
lsls r0, r0, #1
|
|
add r0, r8
|
|
subs r7, r0, #2
|
|
mov r0, ip
|
|
subs r0, #1
|
|
lsls r0, r0, #7
|
|
add r0, r8
|
|
lsls r3, r4, #1
|
|
subs r1, r3, #2
|
|
adds r0, r0, r1
|
|
movs r5, #0
|
|
cmp r5, ip
|
|
bhs _0807C906
|
|
mov sb, r3
|
|
_0807C8DE:
|
|
movs r2, #0
|
|
adds r6, r0, #0
|
|
subs r6, #0x80
|
|
cmp r2, r4
|
|
bhs _0807C8FA
|
|
adds r1, r7, #0
|
|
adds r3, r0, #0
|
|
_0807C8EC:
|
|
ldrh r0, [r1]
|
|
strh r0, [r3]
|
|
subs r1, #2
|
|
subs r3, #2
|
|
adds r2, #1
|
|
cmp r2, r4
|
|
blo _0807C8EC
|
|
_0807C8FA:
|
|
adds r0, r6, #0
|
|
mov r1, sb
|
|
subs r7, r7, r1
|
|
adds r5, #1
|
|
cmp r5, ip
|
|
blo _0807C8DE
|
|
_0807C906:
|
|
movs r0, #0x40
|
|
subs r6, r0, r4
|
|
movs r5, #0
|
|
lsls r0, r4, #1
|
|
mov r2, ip
|
|
lsls r7, r2, #7
|
|
mov r2, r8
|
|
adds r1, r2, r0
|
|
_0807C916:
|
|
lsls r0, r5, #7
|
|
adds r0, r1, r0
|
|
movs r2, #0
|
|
adds r3, r5, #1
|
|
cmp r2, r6
|
|
bhs _0807C92E
|
|
movs r4, #0
|
|
_0807C924:
|
|
strh r4, [r0]
|
|
adds r0, #2
|
|
adds r2, #1
|
|
cmp r2, r6
|
|
blo _0807C924
|
|
_0807C92E:
|
|
adds r5, r3, #0
|
|
cmp r5, #0x3f
|
|
bls _0807C916
|
|
movs r0, #0x40
|
|
mov r1, ip
|
|
subs r6, r0, r1
|
|
mov r2, r8
|
|
adds r0, r2, r7
|
|
movs r5, #0
|
|
cmp r5, r6
|
|
bhs _0807C956
|
|
adds r4, r0, #0
|
|
_0807C946:
|
|
adds r0, r4, #0
|
|
movs r1, #0x80
|
|
bl sub_0801D630
|
|
adds r4, #0x80
|
|
adds r5, #1
|
|
cmp r5, r6
|
|
blo _0807C946
|
|
_0807C956:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807C960
|
|
sub_0807C960: @ 0x0807C960
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
cmp r1, r0
|
|
beq _0807C994
|
|
ldr r0, _0807C984 @ =0x7FFFFFFF
|
|
ands r0, r1
|
|
ldr r1, _0807C988 @ =gUnk_08324AE4
|
|
adds r1, r0, r1
|
|
lsrs r0, r2, #0x18
|
|
cmp r0, #6
|
|
bne _0807C98C
|
|
adds r0, r1, #0
|
|
adds r1, r2, #0
|
|
bl LZ77UnCompVram
|
|
b _0807C994
|
|
.align 2, 0
|
|
_0807C984: .4byte 0x7FFFFFFF
|
|
_0807C988: .4byte gUnk_08324AE4
|
|
_0807C98C:
|
|
adds r0, r1, #0
|
|
adds r1, r2, #0
|
|
bl LZ77UnCompWram
|
|
_0807C994:
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807C998
|
|
sub_0807C998: @ 0x0807C998
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _0807C9CC @ =gUnk_0202CEB4
|
|
ldr r1, [r5]
|
|
adds r0, r4, #0
|
|
bl sub_0807C960
|
|
ldr r0, _0807C9D0 @ =0xFFFFE000
|
|
adds r4, r4, r0
|
|
ldr r1, [r5, #4]
|
|
adds r0, r4, #0
|
|
bl sub_0807C960
|
|
ldr r4, _0807C9D4 @ =gUnk_02012654
|
|
ldr r1, [r5, #8]
|
|
adds r0, r4, #0
|
|
bl sub_0807C960
|
|
ldr r0, _0807C9D0 @ =0xFFFFE000
|
|
adds r4, r4, r0
|
|
ldr r1, [r5, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0807C960
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807C9CC: .4byte gUnk_0202CEB4
|
|
_0807C9D0: .4byte 0xFFFFE000
|
|
_0807C9D4: .4byte gUnk_02012654
|
|
|
|
thumb_func_start sub_0807C9D8
|
|
sub_0807C9D8: @ 0x0807C9D8
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r0, _0807CA0C @ =0x06004000
|
|
ldr r1, [r5]
|
|
bl sub_0807C960
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #0x13
|
|
ldr r1, [r5, #4]
|
|
bl sub_0807C960
|
|
ldr r0, _0807CA10 @ =0x06008000
|
|
ldr r1, [r5, #8]
|
|
bl sub_0807C960
|
|
ldr r4, _0807CA14 @ =gUnk_020176E0
|
|
ldr r1, [r5, #0xc]
|
|
adds r0, r4, #0
|
|
bl sub_0807C960
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
movs r2, #0xd
|
|
bl sub_0801D754
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_0807CA0C: .4byte 0x06004000
|
|
_0807CA10: .4byte 0x06008000
|
|
_0807CA14: .4byte gUnk_020176E0
|
|
|
|
thumb_func_start sub_0807CA18
|
|
sub_0807CA18: @ 0x0807CA18
|
|
push {lr}
|
|
ldr r0, _0807CA7C @ =gUnk_02002A40
|
|
mov ip, r0
|
|
ldrh r1, [r0]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
cmp r1, r0
|
|
beq _0807CA66
|
|
movs r2, #0
|
|
mov r0, ip
|
|
strb r2, [r0]
|
|
movs r3, #1
|
|
strb r3, [r0, #1]
|
|
strb r3, [r0, #8]
|
|
mov r1, ip
|
|
adds r1, #0xaa
|
|
movs r0, #0x18
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
subs r1, #0x23
|
|
movs r0, #0x22
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
movs r0, #0x15
|
|
strb r0, [r1]
|
|
mov r0, ip
|
|
adds r0, #0x8a
|
|
strb r2, [r0]
|
|
adds r0, #1
|
|
strb r2, [r0]
|
|
adds r0, #5
|
|
strb r3, [r0]
|
|
adds r1, #3
|
|
movs r0, #0x90
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
movs r0, #0x38
|
|
strh r0, [r1]
|
|
_0807CA66:
|
|
mov r1, ip
|
|
adds r1, #0x80
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0807CA78
|
|
ldr r0, _0807CA80 @ =gUnk_0811E470
|
|
movs r2, #5
|
|
bl sub_0801D66C
|
|
_0807CA78:
|
|
movs r0, #1
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807CA7C: .4byte gUnk_02002A40
|
|
_0807CA80: .4byte gUnk_0811E470
|
|
|
|
thumb_func_start sub_0807CA84
|
|
sub_0807CA84: @ 0x0807CA84
|
|
adds r2, r0, #0
|
|
lsrs r0, r2, #2
|
|
ldr r1, _0807CA9C @ =gUnk_02002B32
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
movs r1, #3
|
|
ands r2, r1
|
|
lsls r2, r2, #1
|
|
asrs r0, r2
|
|
ands r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_0807CA9C: .4byte gUnk_02002B32
|
|
|
|
thumb_func_start sub_0807CAA0
|
|
sub_0807CAA0: @ 0x0807CAA0
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
lsrs r4, r3, #2
|
|
ldr r0, _0807CAC4 @ =gUnk_02002B32
|
|
adds r4, r4, r0
|
|
movs r0, #3
|
|
ands r3, r0
|
|
lsls r3, r3, #1
|
|
lsls r1, r3
|
|
ldrb r2, [r4]
|
|
lsls r0, r3
|
|
ands r0, r2
|
|
eors r2, r0
|
|
orrs r2, r1
|
|
strb r2, [r4]
|
|
lsrs r0, r3
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0807CAC4: .4byte gUnk_02002B32
|
|
|
|
thumb_func_start sub_0807CAC8
|
|
sub_0807CAC8: @ 0x0807CAC8
|
|
ldr r2, _0807CAE0 @ =gUnk_02002A40
|
|
ldr r1, _0807CAE4 @ =gUnk_02033A90
|
|
ldr r3, _0807CAE8 @ =0x0000047C
|
|
adds r2, r2, r3
|
|
ldrb r1, [r1, #3]
|
|
adds r2, r2, r1
|
|
movs r1, #1
|
|
lsls r1, r0
|
|
ldrb r0, [r2]
|
|
orrs r1, r0
|
|
strb r1, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_0807CAE0: .4byte gUnk_02002A40
|
|
_0807CAE4: .4byte gUnk_02033A90
|
|
_0807CAE8: .4byte 0x0000047C
|
|
|
|
thumb_func_start sub_0807CAEC
|
|
sub_0807CAEC: @ 0x0807CAEC
|
|
adds r2, r0, #0
|
|
ldr r0, _0807CB04 @ =gUnk_02002A40
|
|
ldr r1, _0807CB08 @ =gUnk_02033A90
|
|
ldr r3, _0807CB0C @ =0x0000047C
|
|
adds r0, r0, r3
|
|
ldrb r1, [r1, #3]
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
asrs r0, r2
|
|
movs r1, #1
|
|
ands r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_0807CB04: .4byte gUnk_02002A40
|
|
_0807CB08: .4byte gUnk_02033A90
|
|
_0807CB0C: .4byte 0x0000047C
|
|
|
|
thumb_func_start GetProgressFlagWithOffset
|
|
GetProgressFlagWithOffset: @ 0x0807CB10
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
ldr r0, _0807CB20 @ =gUnk_02002C9C
|
|
adds r2, r2, r1
|
|
adds r1, r2, #0
|
|
bl sub_0801D5A8
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807CB20: .4byte gUnk_02002C9C
|
|
|
|
thumb_func_start sub_0807CB24
|
|
sub_0807CB24: @ 0x0807CB24
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
adds r3, r1, #0
|
|
cmp r2, #0x11
|
|
bhi _0807CB84
|
|
lsls r0, r2, #2
|
|
ldr r1, _0807CB38 @ =_0807CB3C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_0807CB38: .4byte _0807CB3C
|
|
_0807CB3C: @ jump table
|
|
.4byte _0807CB84 @ case 0
|
|
.4byte _0807CB88 @ case 1
|
|
.4byte _0807CB88 @ case 2
|
|
.4byte _0807CB88 @ case 3
|
|
.4byte _0807CB88 @ case 4
|
|
.4byte _0807CB88 @ case 5
|
|
.4byte _0807CB88 @ case 6
|
|
.4byte _0807CB88 @ case 7
|
|
.4byte _0807CB88 @ case 8
|
|
.4byte _0807CB88 @ case 9
|
|
.4byte _0807CB88 @ case 10
|
|
.4byte _0807CB88 @ case 11
|
|
.4byte _0807CB88 @ case 12
|
|
.4byte _0807CB88 @ case 13
|
|
.4byte _0807CB84 @ case 14
|
|
.4byte _0807CBA0 @ case 15
|
|
.4byte _0807CBAE @ case 16
|
|
.4byte _0807CBBC @ case 17
|
|
_0807CB84:
|
|
movs r1, #0
|
|
b _0807CBCA
|
|
_0807CB88:
|
|
ldr r0, _0807CB9C @ =gUnk_0811E454
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
adds r1, r3, #0
|
|
bl GetProgressFlagWithOffset
|
|
_0807CB96:
|
|
adds r1, r0, #0
|
|
b _0807CBCA
|
|
.align 2, 0
|
|
_0807CB9C: .4byte gUnk_0811E454
|
|
_0807CBA0:
|
|
adds r0, r3, #0
|
|
bl sub_0807CA84
|
|
cmp r0, #0
|
|
beq _0807CB96
|
|
movs r0, #1
|
|
b _0807CB96
|
|
_0807CBAE:
|
|
adds r0, r3, #0
|
|
bl sub_0807CA84
|
|
movs r1, #0
|
|
cmp r0, #1
|
|
bne _0807CBCA
|
|
b _0807CBC8
|
|
_0807CBBC:
|
|
adds r0, r3, #0
|
|
bl sub_0807CA84
|
|
movs r1, #0
|
|
cmp r0, #2
|
|
bne _0807CBCA
|
|
_0807CBC8:
|
|
movs r1, #1
|
|
_0807CBCA:
|
|
adds r0, r1, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_0807CBD0
|
|
sub_0807CBD0: @ 0x0807CBD0
|
|
push {lr}
|
|
adds r1, r0, #0
|
|
ldr r0, _0807CBE0 @ =gUnk_02033A90
|
|
ldrh r0, [r0, #4]
|
|
bl GetProgressFlagWithOffset
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0807CBE0: .4byte gUnk_02033A90
|
|
|
|
thumb_func_start sub_0807CBE4
|
|
sub_0807CBE4: @ 0x0807CBE4
|
|
push {lr}
|
|
ldr r3, _0807CC14 @ =0x000003FF
|
|
ands r3, r0
|
|
movs r1, #0xf0
|
|
lsls r1, r1, #6
|
|
ands r1, r0
|
|
lsrs r1, r1, #0xa
|
|
adds r2, r1, #1
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #8
|
|
ands r1, r0
|
|
lsrs r1, r1, #0xe
|
|
cmp r1, #1
|
|
beq _0807CC22
|
|
cmp r1, #1
|
|
blo _0807CC18
|
|
cmp r1, #2
|
|
bne _0807CC2C
|
|
adds r0, r3, #0
|
|
adds r1, r2, #0
|
|
bl sub_0807CC88
|
|
b _0807CC2E
|
|
.align 2, 0
|
|
_0807CC14: .4byte 0x000003FF
|
|
_0807CC18:
|
|
adds r0, r3, #0
|
|
adds r1, r2, #0
|
|
bl sub_0807CC60
|
|
b _0807CC2E
|
|
_0807CC22:
|
|
adds r0, r3, #0
|
|
adds r1, r2, #0
|
|
bl sub_0807CC78
|
|
b _0807CC2E
|
|
_0807CC2C:
|
|
movs r0, #0
|
|
_0807CC2E:
|
|
pop {pc} |