mirror of https://github.com/zeldaret/tmc.git
1593 lines
27 KiB
ArmAsm
1593 lines
27 KiB
ArmAsm
.include "asm/macros.inc"
|
|
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.text
|
|
|
|
|
|
thumb_func_start sub_08056458
|
|
sub_08056458: @ 0x08056458
|
|
push {r4, r5, lr}
|
|
ldr r0, _08056484 @ =gTextBox
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _08056470
|
|
ldr r0, _08056488 @ =gUnk_02022780
|
|
movs r1, #0xa8
|
|
bl sub_0801D630
|
|
movs r0, #1
|
|
bl sub_080564C8
|
|
_08056470:
|
|
ldr r2, _08056488 @ =gUnk_02022780
|
|
adds r1, r2, #0
|
|
adds r1, #0x8a
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _0805648C
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
b _080564A2
|
|
.align 2, 0
|
|
_08056484: .4byte gTextBox
|
|
_08056488: .4byte gUnk_02022780
|
|
_0805648C:
|
|
ldr r5, _080564C0 @ =gUnk_08107BC8
|
|
adds r4, r2, #0
|
|
adds r4, #0x88
|
|
_08056492:
|
|
ldrb r0, [r4]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldr r0, [r0]
|
|
bl _call_via_r0
|
|
cmp r0, #0
|
|
bne _08056492
|
|
_080564A2:
|
|
ldr r0, _080564C4 @ =gUnk_02022780
|
|
adds r1, r0, #0
|
|
adds r1, #0x9d
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080564B6
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bl sub_08056F70
|
|
_080564B6:
|
|
bl sub_08056C68
|
|
bl sub_08056D70
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_080564C0: .4byte gUnk_08107BC8
|
|
_080564C4: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_080564C8
|
|
sub_080564C8: @ 0x080564C8
|
|
ldr r1, _080564D8 @ =gUnk_02022780
|
|
adds r2, r1, #0
|
|
adds r2, #0x88
|
|
movs r3, #0
|
|
strb r0, [r2]
|
|
adds r1, #0x89
|
|
strb r3, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080564D8: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_080564DC
|
|
sub_080564DC: @ 0x080564DC
|
|
ldr r0, _080564E8 @ =gUnk_02022780
|
|
adds r0, #0x99
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
movs r0, #0
|
|
bx lr
|
|
.align 2, 0
|
|
_080564E8: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_080564EC
|
|
sub_080564EC: @ 0x080564EC
|
|
push {r4, lr}
|
|
ldr r0, _08056598 @ =gUnk_02036A40
|
|
movs r1, #8
|
|
bl sub_0801D630
|
|
ldr r0, _0805659C @ =gUnk_02024030
|
|
movs r1, #0x18
|
|
bl sub_0801D630
|
|
ldr r4, _080565A0 @ =gUnk_02022780
|
|
adds r0, r4, #0
|
|
movs r1, #0xa8
|
|
bl sub_0801D630
|
|
ldr r0, _080565A4 @ =gTextBox
|
|
adds r1, r4, #0
|
|
movs r2, #0x20
|
|
bl sub_0801D66C
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0x63
|
|
bne _08056520
|
|
movs r0, #0x80
|
|
lsls r0, r0, #0x12
|
|
ldrb r0, [r0, #5]
|
|
strb r0, [r4, #2]
|
|
_08056520:
|
|
adds r1, r4, #0
|
|
adds r1, #0x9c
|
|
movs r0, #0xff
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x20
|
|
ldrh r1, [r4, #8]
|
|
bl sub_0805EEB4
|
|
adds r3, r4, #0
|
|
adds r3, #0x5c
|
|
movs r0, #2
|
|
strb r0, [r3]
|
|
movs r0, #0xe
|
|
strb r0, [r3, #1]
|
|
adds r3, #2
|
|
movs r2, #0
|
|
ldr r0, _080565A8 @ =gUnk_02002A40
|
|
adds r0, #0x80
|
|
ldrb r1, [r0]
|
|
cmp r1, #0
|
|
beq _08056560
|
|
adds r4, r0, #0
|
|
_0805654E:
|
|
strb r1, [r3]
|
|
adds r3, #1
|
|
adds r2, #1
|
|
cmp r2, #5
|
|
bhi _08056560
|
|
adds r0, r2, r4
|
|
ldrb r1, [r0]
|
|
cmp r1, #0
|
|
bne _0805654E
|
|
_08056560:
|
|
movs r0, #2
|
|
strb r0, [r3]
|
|
movs r0, #0xf
|
|
strb r0, [r3, #1]
|
|
movs r0, #0
|
|
strb r0, [r3, #2]
|
|
ldr r4, _080565A0 @ =gUnk_02022780
|
|
adds r0, r4, #0
|
|
bl sub_08056FBC
|
|
ldr r0, _080565AC @ =gUnk_08107BE0
|
|
str r0, [r4, #0x2c]
|
|
ldr r0, _080565B0 @ =gUnk_02000D00
|
|
str r0, [r4, #0x58]
|
|
adds r4, #0x54
|
|
movs r0, #0xd0
|
|
strh r0, [r4]
|
|
movs r0, #2
|
|
bl sub_08056C54
|
|
movs r0, #0
|
|
bl sub_08056BDC
|
|
movs r0, #2
|
|
bl sub_080564C8
|
|
movs r0, #1
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08056598: .4byte gUnk_02036A40
|
|
_0805659C: .4byte gUnk_02024030
|
|
_080565A0: .4byte gUnk_02022780
|
|
_080565A4: .4byte gTextBox
|
|
_080565A8: .4byte gUnk_02002A40
|
|
_080565AC: .4byte gUnk_08107BE0
|
|
_080565B0: .4byte gUnk_02000D00
|
|
|
|
thumb_func_start sub_080565B4
|
|
sub_080565B4: @ 0x080565B4
|
|
push {r4, lr}
|
|
ldr r4, _080565F4 @ =gUnk_02022780
|
|
adds r1, r4, #0
|
|
adds r1, #0x89
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _080565DA
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r1, #0x10
|
|
strb r0, [r1]
|
|
ldrb r0, [r4, #3]
|
|
subs r1, #0x46
|
|
ldrb r1, [r1]
|
|
bl sub_08056F88
|
|
movs r0, #0x65
|
|
bl PlaySFX
|
|
_080565DA:
|
|
movs r0, #1
|
|
bl sub_08056CC0
|
|
cmp r0, #0
|
|
beq _080565F0
|
|
adds r1, r4, #0
|
|
adds r1, #0x99
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
bl sub_080564C8
|
|
_080565F0:
|
|
movs r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_080565F4: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_080565F8
|
|
sub_080565F8: @ 0x080565F8
|
|
push {r4, lr}
|
|
ldr r4, _0805663C @ =gUnk_02022780
|
|
adds r1, r4, #0
|
|
adds r1, #0x89
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
bne _0805661C
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r1, #0x10
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
movs r0, #0
|
|
bl sub_08056BDC
|
|
movs r0, #0x66
|
|
bl PlaySFX
|
|
_0805661C:
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
bl sub_08056CC0
|
|
cmp r0, #0
|
|
beq _08056636
|
|
adds r1, r4, #0
|
|
adds r1, #0x99
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
movs r0, #2
|
|
bl sub_080564C8
|
|
_08056636:
|
|
movs r0, #0
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_0805663C: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_08056640
|
|
sub_08056640: @ 0x08056640
|
|
push {lr}
|
|
movs r0, #0
|
|
bl sub_08056C54
|
|
movs r0, #0
|
|
bl sub_080564C8
|
|
movs r0, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08056654
|
|
sub_08056654: @ 0x08056654
|
|
push {lr}
|
|
movs r0, #4
|
|
bl sub_08056C54
|
|
ldr r2, _0805667C @ =gUnk_08107BF4
|
|
ldr r0, _08056680 @ =gUnk_02022780
|
|
adds r1, r0, #0
|
|
adds r1, #0x89
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldr r1, [r1]
|
|
bl _call_via_r1
|
|
movs r0, #0
|
|
bl sub_08056CC0
|
|
movs r0, #0
|
|
pop {pc}
|
|
.align 2, 0
|
|
_0805667C: .4byte gUnk_08107BF4
|
|
_08056680: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_08056684
|
|
sub_08056684: @ 0x08056684
|
|
push {r4, lr}
|
|
adds r2, r0, #0
|
|
ldr r4, _080566AC @ =gUnk_02022780
|
|
adds r0, r4, #0
|
|
adds r0, #0x20
|
|
ldrb r1, [r0]
|
|
movs r3, #1
|
|
adds r0, r3, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080566B0
|
|
adds r0, r4, #0
|
|
adds r0, #0x99
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080566B6
|
|
movs r0, #5
|
|
bl sub_080564C8
|
|
b _080566B6
|
|
.align 2, 0
|
|
_080566AC: .4byte gUnk_02022780
|
|
_080566B0:
|
|
adds r0, r2, #0
|
|
adds r0, #0x89
|
|
strb r3, [r0]
|
|
_080566B6:
|
|
pop {r4, pc}
|
|
|
|
thumb_func_start sub_080566B8
|
|
sub_080566B8: @ 0x080566B8
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
adds r1, r4, #0
|
|
adds r1, #0x95
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080566CC
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
b _0805674E
|
|
_080566CC:
|
|
ldr r0, _08056740 @ =gUnk_03000FF0
|
|
ldrh r1, [r0]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
movs r2, #1
|
|
cmp r0, #0
|
|
beq _080566DC
|
|
movs r2, #8
|
|
_080566DC:
|
|
adds r1, r4, #0
|
|
adds r1, #0x92
|
|
ldrb r0, [r1]
|
|
subs r0, r0, r2
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
adds r7, r1, #0
|
|
cmp r0, #0
|
|
bgt _0805674E
|
|
movs r5, #0
|
|
ldr r2, _08056744 @ =gUnk_08107C0C
|
|
_080566F2:
|
|
adds r5, #1
|
|
ldrb r0, [r4, #2]
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
ldrb r3, [r1]
|
|
adds r0, r0, r3
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
ble _080566F2
|
|
movs r6, #0
|
|
_08056708:
|
|
adds r0, r4, #0
|
|
bl sub_08056750
|
|
lsls r0, r0, #0x10
|
|
lsrs r1, r0, #0x10
|
|
cmp r1, #0
|
|
beq _08056732
|
|
adds r0, r4, #0
|
|
adds r0, #0x95
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08056732
|
|
adds r0, r4, #0
|
|
adds r0, #0x8a
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _08056732
|
|
adds r6, r6, r1
|
|
subs r5, #1
|
|
cmp r5, #0
|
|
bgt _08056708
|
|
_08056732:
|
|
cmp r6, #0
|
|
beq _0805674C
|
|
ldr r0, _08056748 @ =gUnk_02022780
|
|
adds r0, #0x9d
|
|
movs r1, #1
|
|
strb r1, [r0]
|
|
b _0805674E
|
|
.align 2, 0
|
|
_08056740: .4byte gUnk_03000FF0
|
|
_08056744: .4byte gUnk_08107C0C
|
|
_08056748: .4byte gUnk_02022780
|
|
_0805674C:
|
|
strb r6, [r7]
|
|
_0805674E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_08056750
|
|
sub_08056750: @ 0x08056750
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
ldrh r7, [r5, #0x24]
|
|
cmp r7, #0
|
|
beq _0805675C
|
|
b _0805694C
|
|
_0805675C:
|
|
adds r4, r5, #0
|
|
adds r4, #0x20
|
|
adds r0, r4, #0
|
|
bl sub_0805EFE8
|
|
adds r7, r0, #0
|
|
cmp r7, #0xe
|
|
bls _0805676E
|
|
b _08056942
|
|
_0805676E:
|
|
lsls r0, r7, #2
|
|
ldr r1, _08056778 @ =_0805677C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_08056778: .4byte _0805677C
|
|
_0805677C: @ jump table
|
|
.4byte _080567B8 @ case 0
|
|
.4byte _080567DE @ case 1
|
|
.4byte _08056802 @ case 2
|
|
.4byte _0805680A @ case 3
|
|
.4byte _08056812 @ case 4
|
|
.4byte _08056838 @ case 5
|
|
.4byte _08056844 @ case 6
|
|
.4byte _08056858 @ case 7
|
|
.4byte _0805688C @ case 8
|
|
.4byte _08056894 @ case 9
|
|
.4byte _080568AC @ case 10
|
|
.4byte _08056942 @ case 11
|
|
.4byte _080568B2 @ case 12
|
|
.4byte _08056914 @ case 13
|
|
.4byte _0805693A @ case 14
|
|
_080567B8:
|
|
ldr r0, _080567D4 @ =gUnk_02000040
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080567D8
|
|
adds r1, r5, #0
|
|
adds r1, #0x89
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
movs r0, #0
|
|
movs r1, #0
|
|
bl sub_08056ABC
|
|
b _08056942
|
|
.align 2, 0
|
|
_080567D4: .4byte gUnk_02000040
|
|
_080567D8:
|
|
adds r1, r5, #0
|
|
adds r1, #0x89
|
|
b _0805692C
|
|
_080567DE:
|
|
adds r1, r5, #0
|
|
adds r1, #0x8a
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
adds r0, #0x98
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080567F8
|
|
movs r0, #1
|
|
bl sub_08056BDC
|
|
b _08056942
|
|
_080567F8:
|
|
adds r1, r5, #0
|
|
adds r1, #0x89
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _08056942
|
|
_08056802:
|
|
movs r0, #3
|
|
bl sub_080564C8
|
|
b _08056942
|
|
_0805680A:
|
|
movs r0, #4
|
|
bl sub_080564C8
|
|
b _08056942
|
|
_08056812:
|
|
adds r0, r4, #0
|
|
movs r1, #0
|
|
bl sub_0805F324
|
|
adds r3, r0, #0
|
|
adds r4, r5, #0
|
|
adds r4, #0x56
|
|
adds r0, r5, #0
|
|
adds r0, #0x54
|
|
ldrh r0, [r0]
|
|
ldrh r2, [r4]
|
|
subs r0, r0, r2
|
|
subs r0, r0, r3
|
|
lsrs r1, r0, #0x1f
|
|
adds r0, r0, r1
|
|
asrs r0, r0, #1
|
|
adds r2, r2, r0
|
|
strh r2, [r4]
|
|
b _08056942
|
|
_08056838:
|
|
ldr r1, _08056840 @ =gTextBox
|
|
ldrh r0, [r5, #0x22]
|
|
strb r0, [r1, #1]
|
|
b _08056942
|
|
.align 2, 0
|
|
_08056840: .4byte gTextBox
|
|
_08056844:
|
|
ldr r0, _08056854 @ =gUnk_0200005C
|
|
ldrh r1, [r5, #0x22]
|
|
movs r2, #0x1f
|
|
ands r1, r2
|
|
bl WriteBit
|
|
b _08056942
|
|
.align 2, 0
|
|
_08056854: .4byte gUnk_0200005C
|
|
_08056858:
|
|
ldrh r3, [r5, #0x22]
|
|
cmp r3, #0xe
|
|
beq _08056864
|
|
cmp r3, #0xf
|
|
beq _08056874
|
|
b _0805687A
|
|
_08056864:
|
|
adds r0, r5, #0
|
|
adds r0, #0x8f
|
|
ldrb r0, [r0]
|
|
adds r1, r5, #0
|
|
adds r1, #0x91
|
|
strb r0, [r1]
|
|
movs r3, #2
|
|
b _0805687A
|
|
_08056874:
|
|
adds r0, r5, #0
|
|
adds r0, #0x91
|
|
ldrb r3, [r0]
|
|
_0805687A:
|
|
adds r1, r5, #0
|
|
adds r1, #0x90
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r5, #0
|
|
adds r1, r3, #0
|
|
bl sub_080569C4
|
|
b _08056942
|
|
_0805688C:
|
|
ldrh r0, [r5, #0x22]
|
|
bl PlaySFX
|
|
b _08056942
|
|
_08056894:
|
|
ldr r1, _080568A8 @ =gUnk_02022780
|
|
ldrh r0, [r5, #0x22]
|
|
strb r0, [r1, #3]
|
|
ldrh r0, [r5, #0x22]
|
|
adds r1, r5, #0
|
|
adds r1, #0x53
|
|
ldrb r1, [r1]
|
|
bl sub_08056F88
|
|
b _08056942
|
|
.align 2, 0
|
|
_080568A8: .4byte gUnk_02022780
|
|
_080568AC:
|
|
ldrh r0, [r5, #0x22]
|
|
strb r0, [r5, #7]
|
|
b _08056942
|
|
_080568B2:
|
|
ldr r6, _0805690C @ =gUnk_02000040
|
|
ldrb r0, [r6]
|
|
cmp r0, #1
|
|
beq _080568D2
|
|
adds r0, r6, #0
|
|
movs r1, #4
|
|
bl sub_0801D630
|
|
ldr r4, _08056910 @ =gUnk_02024030
|
|
adds r0, r4, #0
|
|
movs r1, #0x18
|
|
bl sub_0801D630
|
|
movs r0, #1
|
|
strb r0, [r4]
|
|
strb r0, [r6]
|
|
_080568D2:
|
|
ldr r2, _08056910 @ =gUnk_02024030
|
|
movs r0, #2
|
|
ldrsb r0, [r2, r0]
|
|
cmp r0, #3
|
|
bgt _08056942
|
|
lsls r0, r0, #1
|
|
adds r1, r2, #0
|
|
adds r1, #0x10
|
|
adds r0, r0, r1
|
|
ldrh r1, [r5, #0x26]
|
|
strh r1, [r0]
|
|
movs r0, #2
|
|
ldrsb r0, [r2, r0]
|
|
lsls r0, r0, #1
|
|
adds r1, r2, #0
|
|
adds r1, #8
|
|
adds r0, r0, r1
|
|
adds r3, r5, #0
|
|
adds r3, #0x56
|
|
ldrh r1, [r3]
|
|
strh r1, [r0]
|
|
ldrb r0, [r2, #2]
|
|
adds r0, #1
|
|
strb r0, [r2, #2]
|
|
ldrh r0, [r3]
|
|
adds r0, #8
|
|
strh r0, [r3]
|
|
b _08056942
|
|
.align 2, 0
|
|
_0805690C: .4byte gUnk_02000040
|
|
_08056910: .4byte gUnk_02024030
|
|
_08056914:
|
|
ldrh r3, [r5, #0x22]
|
|
cmp r3, #0xfe
|
|
beq _08056928
|
|
cmp r3, #0xff
|
|
bne _08056932
|
|
adds r1, r5, #0
|
|
adds r1, #0x8e
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _08056942
|
|
_08056928:
|
|
adds r1, r5, #0
|
|
adds r1, #0x8e
|
|
_0805692C:
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _08056942
|
|
_08056932:
|
|
adds r0, r5, #0
|
|
adds r0, #0x95
|
|
strb r3, [r0]
|
|
b _08056942
|
|
_0805693A:
|
|
ldrh r1, [r5, #0x22]
|
|
adds r0, r5, #0
|
|
adds r0, #0x94
|
|
strb r1, [r0]
|
|
_08056942:
|
|
lsrs r0, r7, #8
|
|
cmp r0, #0
|
|
bne _0805694C
|
|
movs r0, #0
|
|
b _080569C2
|
|
_0805694C:
|
|
ldr r0, _08056960 @ =gUnk_02022780
|
|
adds r0, #0x99
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
beq _08056964
|
|
movs r0, #3
|
|
bl sub_080564C8
|
|
movs r0, #0
|
|
b _080569C2
|
|
.align 2, 0
|
|
_08056960: .4byte gUnk_02022780
|
|
_08056964:
|
|
ldr r1, _08056994 @ =gTextBox
|
|
ldrb r0, [r1, #1]
|
|
cmp r0, #0
|
|
bne _08056970
|
|
movs r0, #0x80
|
|
strb r0, [r1, #1]
|
|
_08056970:
|
|
movs r0, #0
|
|
strh r0, [r5, #0x24]
|
|
lsrs r0, r7, #8
|
|
cmp r0, #7
|
|
bne _08056998
|
|
adds r0, r5, #0
|
|
adds r0, #0x8f
|
|
ldrb r0, [r0]
|
|
movs r1, #0x80
|
|
adds r2, r5, #0
|
|
adds r2, #0x90
|
|
orrs r1, r0
|
|
strb r1, [r2]
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
bl sub_080569C4
|
|
b _080569B4
|
|
.align 2, 0
|
|
_08056994: .4byte gTextBox
|
|
_08056998:
|
|
adds r2, r5, #0
|
|
adds r2, #0x90
|
|
ldrb r1, [r2]
|
|
movs r0, #0x80
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080569B4
|
|
ldrb r3, [r2]
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
adds r0, r5, #0
|
|
adds r1, r3, #0
|
|
bl sub_080569C4
|
|
_080569B4:
|
|
adds r1, r5, #0
|
|
adds r1, #0x50
|
|
adds r0, r7, #0
|
|
bl sub_0805F7DC
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
_080569C2:
|
|
pop {r4, r5, r6, r7, pc}
|
|
|
|
thumb_func_start sub_080569C4
|
|
sub_080569C4: @ 0x080569C4
|
|
movs r2, #7
|
|
ands r2, r1
|
|
adds r1, r0, #0
|
|
adds r1, #0x8f
|
|
strb r2, [r1]
|
|
adds r0, #0x52
|
|
strb r2, [r0]
|
|
bx lr
|
|
|
|
thumb_func_start sub_080569D4
|
|
sub_080569D4: @ 0x080569D4
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
ldr r0, _080569F0 @ =gUnk_02024030
|
|
movs r5, #3
|
|
ldrsb r5, [r0, r5]
|
|
ldr r0, _080569F4 @ =gUnk_03000FF0
|
|
ldrh r0, [r0, #2]
|
|
cmp r0, #8
|
|
beq _08056A02
|
|
cmp r0, #8
|
|
bgt _080569F8
|
|
cmp r0, #1
|
|
beq _08056A02
|
|
b _08056A6A
|
|
.align 2, 0
|
|
_080569F0: .4byte gUnk_02024030
|
|
_080569F4: .4byte gUnk_03000FF0
|
|
_080569F8:
|
|
cmp r0, #0x10
|
|
beq _08056A68
|
|
cmp r0, #0x20
|
|
beq _08056A64
|
|
b _08056A6A
|
|
_08056A02:
|
|
ldr r0, _08056A18 @ =gUnk_02024030
|
|
lsls r1, r5, #1
|
|
adds r0, #0x10
|
|
adds r1, r1, r0
|
|
ldrh r1, [r1]
|
|
cmp r1, #0
|
|
bne _08056A20
|
|
ldr r1, _08056A1C @ =gUnk_08107C14
|
|
adds r0, r6, #0
|
|
adds r0, #0x20
|
|
b _08056A30
|
|
.align 2, 0
|
|
_08056A18: .4byte gUnk_02024030
|
|
_08056A1C: .4byte gUnk_08107C14
|
|
_08056A20:
|
|
strh r1, [r6, #8]
|
|
adds r4, r6, #0
|
|
adds r4, #0x20
|
|
adds r0, r4, #0
|
|
bl sub_0805EEB4
|
|
ldr r1, _08056A58 @ =gUnk_08107C0F
|
|
adds r0, r4, #0
|
|
_08056A30:
|
|
bl sub_0805EF40
|
|
ldr r2, _08056A5C @ =gUnk_02000040
|
|
ldr r0, _08056A60 @ =gUnk_02024030
|
|
ldrb r1, [r0, #3]
|
|
strb r1, [r2, #1]
|
|
movs r1, #3
|
|
strb r1, [r2]
|
|
movs r1, #0x18
|
|
bl sub_0801D630
|
|
movs r0, #0x6a
|
|
bl PlaySFX
|
|
adds r1, r6, #0
|
|
adds r1, #0x89
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _08056A6A
|
|
.align 2, 0
|
|
_08056A58: .4byte gUnk_08107C0F
|
|
_08056A5C: .4byte gUnk_02000040
|
|
_08056A60: .4byte gUnk_02024030
|
|
_08056A64:
|
|
subs r5, #1
|
|
b _08056A6A
|
|
_08056A68:
|
|
adds r5, #1
|
|
_08056A6A:
|
|
ldr r4, _08056A8C @ =gUnk_02024030
|
|
movs r1, #2
|
|
ldrsb r1, [r4, r1]
|
|
adds r0, r5, r1
|
|
bl __modsi3
|
|
adds r5, r0, #0
|
|
movs r6, #3
|
|
ldrsb r6, [r4, r6]
|
|
cmp r5, r6
|
|
beq _08056A90
|
|
strb r5, [r4, #3]
|
|
movs r0, #0x69
|
|
bl PlaySFX
|
|
movs r1, #1
|
|
b _08056A92
|
|
.align 2, 0
|
|
_08056A8C: .4byte gUnk_02024030
|
|
_08056A90:
|
|
movs r1, #0
|
|
_08056A92:
|
|
ldr r2, _08056AB4 @ =gUnk_02000040
|
|
ldrb r0, [r2]
|
|
cmp r0, #1
|
|
bne _08056AA4
|
|
ldr r1, _08056AB8 @ =gUnk_02024030
|
|
movs r0, #2
|
|
strb r0, [r2]
|
|
strb r0, [r1]
|
|
movs r1, #1
|
|
_08056AA4:
|
|
cmp r1, #0
|
|
beq _08056AB0
|
|
adds r0, r5, #0
|
|
adds r1, r6, #0
|
|
bl sub_08056ABC
|
|
_08056AB0:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08056AB4: .4byte gUnk_02000040
|
|
_08056AB8: .4byte gUnk_02024030
|
|
|
|
thumb_func_start sub_08056ABC
|
|
sub_08056ABC: @ 0x08056ABC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r5, r0, #0
|
|
ldr r7, _08056B14 @ =gUnk_02022780
|
|
movs r0, #0x56
|
|
adds r0, r0, r7
|
|
mov sb, r0
|
|
ldrh r0, [r0]
|
|
mov r8, r0
|
|
ldr r4, _08056B18 @ =gUnk_02024030
|
|
lsls r1, r1, #1
|
|
adds r4, #8
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1]
|
|
mov r1, sb
|
|
strh r0, [r1]
|
|
adds r6, r7, #0
|
|
adds r6, #0x50
|
|
movs r0, #0
|
|
adds r1, r6, #0
|
|
bl sub_0805F8E4
|
|
lsls r5, r5, #1
|
|
adds r5, r5, r4
|
|
ldrh r0, [r5]
|
|
mov r1, sb
|
|
strh r0, [r1]
|
|
movs r0, #1
|
|
adds r1, r6, #0
|
|
bl sub_0805F8E4
|
|
mov r1, r8
|
|
mov r0, sb
|
|
strh r1, [r0]
|
|
adds r1, r7, #0
|
|
adds r1, #0x9d
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08056B14: .4byte gUnk_02022780
|
|
_08056B18: .4byte gUnk_02024030
|
|
|
|
thumb_func_start sub_08056B1C
|
|
sub_08056B1C: @ 0x08056B1C
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08056B44 @ =gTextBox
|
|
movs r0, #0
|
|
strb r0, [r1, #1]
|
|
adds r1, r4, #0
|
|
adds r1, #0x94
|
|
ldrb r0, [r1]
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _08056B48
|
|
subs r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _08056B7A
|
|
subs r1, #0xb
|
|
movs r0, #4
|
|
b _08056B78
|
|
.align 2, 0
|
|
_08056B44: .4byte gTextBox
|
|
_08056B48:
|
|
ldr r0, _08056B68 @ =gUnk_03000FF0
|
|
ldrh r1, [r0, #2]
|
|
ldr r0, _08056B6C @ =0x000001F3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08056B70
|
|
movs r0, #0x68
|
|
bl PlaySFX
|
|
adds r0, r4, #0
|
|
adds r0, #0x9a
|
|
strb r5, [r0]
|
|
adds r1, r4, #0
|
|
adds r1, #0x89
|
|
movs r0, #4
|
|
b _08056B78
|
|
.align 2, 0
|
|
_08056B68: .4byte gUnk_03000FF0
|
|
_08056B6C: .4byte 0x000001F3
|
|
_08056B70:
|
|
adds r1, r4, #0
|
|
adds r1, #0x9a
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
_08056B78:
|
|
strb r0, [r1]
|
|
_08056B7A:
|
|
pop {r4, r5, pc}
|
|
|
|
thumb_func_start sub_08056B7C
|
|
sub_08056B7C: @ 0x08056B7C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r0, #0
|
|
bl sub_08056BDC
|
|
adds r0, r4, #0
|
|
adds r0, #0x8f
|
|
ldrb r0, [r0]
|
|
movs r1, #0x40
|
|
orrs r1, r0
|
|
adds r0, r4, #0
|
|
bl sub_080569C4
|
|
adds r4, #0x89
|
|
movs r0, #1
|
|
strb r0, [r4]
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08056BA0
|
|
sub_08056BA0: @ 0x08056BA0
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r1, _08056BD0 @ =gTextBox
|
|
movs r0, #0
|
|
strb r0, [r1, #1]
|
|
movs r0, #7
|
|
bl sub_08056C54
|
|
adds r4, #0x8e
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
beq _08056BCE
|
|
cmp r0, #2
|
|
beq _08056BC8
|
|
ldr r0, _08056BD4 @ =gUnk_03000FF0
|
|
ldrh r1, [r0, #2]
|
|
ldr r0, _08056BD8 @ =0x000001F3
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _08056BCE
|
|
_08056BC8:
|
|
movs r0, #4
|
|
bl sub_080564C8
|
|
_08056BCE:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08056BD0: .4byte gTextBox
|
|
_08056BD4: .4byte gUnk_03000FF0
|
|
_08056BD8: .4byte 0x000001F3
|
|
|
|
thumb_func_start sub_08056BDC
|
|
sub_08056BDC: @ 0x08056BDC
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
ldr r4, _08056C24 @ =gUnk_02022780
|
|
adds r0, r4, #0
|
|
adds r0, #0x98
|
|
strb r5, [r0]
|
|
cmp r5, #0
|
|
bne _08056C30
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
ldr r1, _08056C28 @ =gUnk_02000D00
|
|
movs r2, #0xd0
|
|
lsls r2, r2, #4
|
|
bl _DmaFill32
|
|
bl sub_08056F70
|
|
adds r1, r4, #0
|
|
adds r1, #0x9e
|
|
ldr r0, _08056C2C @ =0x0000F082
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
adds r0, #0x33
|
|
strh r0, [r1]
|
|
adds r1, #2
|
|
adds r0, #1
|
|
strh r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x56
|
|
strh r5, [r0]
|
|
subs r1, #0x50
|
|
movs r0, #0xd0
|
|
b _08056C3C
|
|
.align 2, 0
|
|
_08056C24: .4byte gUnk_02022780
|
|
_08056C28: .4byte gUnk_02000D00
|
|
_08056C2C: .4byte 0x0000F082
|
|
_08056C30:
|
|
adds r1, r4, #0
|
|
adds r1, #0x56
|
|
movs r0, #0xd0
|
|
strh r0, [r1]
|
|
subs r1, #2
|
|
adds r0, #0xd0
|
|
_08056C3C:
|
|
strh r0, [r1]
|
|
ldr r0, _08056C50 @ =gUnk_02022780
|
|
adds r1, r0, #0
|
|
adds r1, #0x8f
|
|
ldrb r2, [r1]
|
|
movs r1, #0x40
|
|
orrs r1, r2
|
|
bl sub_080569C4
|
|
pop {r4, r5, pc}
|
|
.align 2, 0
|
|
_08056C50: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_08056C54
|
|
sub_08056C54: @ 0x08056C54
|
|
ldr r2, _08056C60 @ =gTextBox
|
|
ldr r1, _08056C64 @ =gUnk_02022780
|
|
strb r0, [r1]
|
|
strb r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_08056C60: .4byte gTextBox
|
|
_08056C64: .4byte gUnk_02022780
|
|
|
|
thumb_func_start sub_08056C68
|
|
sub_08056C68: @ 0x08056C68
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _08056CB8 @ =gUnk_02036A38
|
|
ldrb r0, [r5, #1]
|
|
cmp r0, #0
|
|
beq _08056CB4
|
|
movs r0, #0
|
|
strb r0, [r5, #1]
|
|
ldrb r0, [r5, #5]
|
|
lsls r0, r0, #5
|
|
ldrb r1, [r5, #4]
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
ldr r1, _08056CBC @ =gUnk_02034CB0
|
|
adds r1, r0, r1
|
|
ldrb r0, [r5, #7]
|
|
adds r0, #2
|
|
movs r6, #0
|
|
_08056C8A:
|
|
movs r2, #0
|
|
adds r4, r1, #0
|
|
adds r4, #0x40
|
|
subs r3, r0, #1
|
|
_08056C92:
|
|
strh r6, [r1]
|
|
adds r1, #2
|
|
adds r2, #1
|
|
ldrb r0, [r5, #6]
|
|
adds r0, #2
|
|
cmp r2, r0
|
|
blt _08056C92
|
|
adds r1, r4, #0
|
|
adds r0, r3, #0
|
|
cmp r0, #0
|
|
bgt _08056C8A
|
|
ldrb r0, [r5, #5]
|
|
ldrb r1, [r5, #7]
|
|
bl sub_0801C4A0
|
|
bl sub_0801C494
|
|
_08056CB4:
|
|
pop {r4, r5, r6, pc}
|
|
.align 2, 0
|
|
_08056CB8: .4byte gUnk_02036A38
|
|
_08056CBC: .4byte gUnk_02034CB0
|
|
|
|
thumb_func_start sub_08056CC0
|
|
sub_08056CC0: @ 0x08056CC0
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r7, #0
|
|
ldr r2, _08056CE0 @ =gUnk_02022780
|
|
adds r3, r2, #0
|
|
adds r3, #0x9b
|
|
ldrb r1, [r3]
|
|
adds r1, r1, r0
|
|
strb r1, [r3]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
mov ip, r2
|
|
cmp r1, #0
|
|
bgt _08056CE4
|
|
strb r7, [r3]
|
|
b _08056CEC
|
|
.align 2, 0
|
|
_08056CE0: .4byte gUnk_02022780
|
|
_08056CE4:
|
|
cmp r1, #7
|
|
ble _08056CEE
|
|
movs r0, #8
|
|
strb r0, [r3]
|
|
_08056CEC:
|
|
movs r7, #1
|
|
_08056CEE:
|
|
ldr r2, _08056D54 @ =gUnk_02036A40
|
|
mov r4, ip
|
|
adds r1, r4, #0
|
|
adds r1, #0x9b
|
|
movs r0, #0
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _08056D58
|
|
adds r5, r0, #0
|
|
ldrb r0, [r4, #4]
|
|
lsls r0, r0, #1
|
|
muls r0, r5, r0
|
|
lsrs r3, r0, #4
|
|
strb r3, [r2, #6]
|
|
movs r6, #1
|
|
adds r0, r3, #0
|
|
ands r0, r6
|
|
ldrb r1, [r4, #4]
|
|
cmp r0, #0
|
|
beq _08056D1A
|
|
adds r0, r3, #1
|
|
strb r0, [r2, #6]
|
|
_08056D1A:
|
|
lsrs r1, r1, #1
|
|
ldrb r0, [r4, #6]
|
|
adds r1, r1, r0
|
|
ldrb r0, [r2, #6]
|
|
lsrs r0, r0, #1
|
|
subs r1, r1, r0
|
|
strb r1, [r2, #4]
|
|
ldrb r0, [r4, #5]
|
|
lsls r0, r0, #1
|
|
muls r0, r5, r0
|
|
lsrs r3, r0, #4
|
|
strb r3, [r2, #7]
|
|
adds r0, r3, #0
|
|
ands r0, r6
|
|
ldrb r1, [r4, #5]
|
|
cmp r0, #0
|
|
beq _08056D40
|
|
adds r0, r3, #1
|
|
strb r0, [r2, #7]
|
|
_08056D40:
|
|
lsrs r1, r1, #1
|
|
mov r3, ip
|
|
ldrb r3, [r3, #7]
|
|
adds r1, r1, r3
|
|
ldrb r0, [r2, #7]
|
|
lsrs r0, r0, #1
|
|
subs r1, r1, r0
|
|
strb r1, [r2, #5]
|
|
b _08056D66
|
|
.align 2, 0
|
|
_08056D54: .4byte gUnk_02036A40
|
|
_08056D58:
|
|
movs r0, #0xff
|
|
strb r0, [r2, #5]
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
strb r0, [r2, #4]
|
|
strb r0, [r2, #7]
|
|
strb r0, [r2, #6]
|
|
_08056D66:
|
|
movs r0, #1
|
|
strb r0, [r2, #1]
|
|
adds r0, r7, #0
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08056D70
|
|
sub_08056D70: @ 0x08056D70
|
|
push {r4, lr}
|
|
ldr r0, _08056DB4 @ =gUnk_02022780
|
|
adds r0, #0x9b
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0
|
|
ble _08056DB0
|
|
ldr r4, _08056DB8 @ =gUnk_02036A40
|
|
ldrb r0, [r4, #5]
|
|
lsls r0, r0, #5
|
|
ldrb r1, [r4, #4]
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
ldr r1, _08056DBC @ =gUnk_02034CB0
|
|
adds r0, r0, r1
|
|
ldr r3, _08056DC0 @ =0x0000F07B
|
|
ldrb r1, [r4, #6]
|
|
ldrb r2, [r4, #7]
|
|
bl sub_08056DC8
|
|
bl sub_08056EC0
|
|
bl sub_08056F1C
|
|
ldr r2, _08056DC4 @ =gUnk_02036A38
|
|
ldr r0, [r4]
|
|
ldr r1, [r4, #4]
|
|
str r0, [r2]
|
|
str r1, [r2, #4]
|
|
bl sub_0801C494
|
|
_08056DB0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08056DB4: .4byte gUnk_02022780
|
|
_08056DB8: .4byte gUnk_02036A40
|
|
_08056DBC: .4byte gUnk_02034CB0
|
|
_08056DC0: .4byte 0x0000F07B
|
|
_08056DC4: .4byte gUnk_02036A38
|
|
|
|
thumb_func_start sub_08056DC8
|
|
sub_08056DC8: @ 0x08056DC8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
adds r7, r0, #0
|
|
adds r4, r1, #0
|
|
adds r6, r2, #0
|
|
mov r8, r3
|
|
adds r3, r7, #0
|
|
lsls r0, r6, #6
|
|
adds r0, #0x40
|
|
adds r2, r3, r0
|
|
mov r0, r8
|
|
strh r0, [r3]
|
|
adds r3, #2
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
mov sb, r1
|
|
mov r0, r8
|
|
mov r5, sb
|
|
orrs r0, r5
|
|
strh r0, [r2]
|
|
adds r2, #2
|
|
cmp r4, #0
|
|
ble _08056E4C
|
|
mov r0, r8
|
|
adds r0, #1
|
|
strh r0, [r3]
|
|
adds r3, #2
|
|
adds r1, r0, #0
|
|
orrs r1, r5
|
|
strh r1, [r2]
|
|
adds r2, #2
|
|
subs r4, #2
|
|
adds r1, r4, #0
|
|
subs r4, #1
|
|
mov ip, r0
|
|
cmp r1, #0
|
|
ble _08056E30
|
|
mov r5, r8
|
|
adds r5, #2
|
|
adds r1, r5, #0
|
|
mov r0, sb
|
|
orrs r1, r0
|
|
_08056E20:
|
|
strh r5, [r3]
|
|
adds r3, #2
|
|
strh r1, [r2]
|
|
adds r2, #2
|
|
adds r0, r4, #0
|
|
subs r4, #1
|
|
cmp r0, #0
|
|
bgt _08056E20
|
|
_08056E30:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #3
|
|
adds r0, r1, #0
|
|
mov r1, ip
|
|
orrs r1, r0
|
|
strh r1, [r3]
|
|
adds r3, #2
|
|
movs r5, #0xc0
|
|
lsls r5, r5, #4
|
|
adds r0, r5, #0
|
|
mov r1, ip
|
|
orrs r1, r0
|
|
strh r1, [r2]
|
|
adds r2, #2
|
|
_08056E4C:
|
|
movs r0, #0x80
|
|
lsls r0, r0, #3
|
|
adds r5, r0, #0
|
|
mov r0, r8
|
|
orrs r0, r5
|
|
strh r0, [r3]
|
|
movs r0, #0xc0
|
|
lsls r0, r0, #4
|
|
adds r1, r0, #0
|
|
mov r0, r8
|
|
orrs r0, r1
|
|
strh r0, [r2]
|
|
adds r7, #0x40
|
|
adds r3, #0x40
|
|
cmp r6, #0
|
|
ble _08056EB6
|
|
mov r0, r8
|
|
adds r0, #3
|
|
strh r0, [r7]
|
|
adds r1, r0, #0
|
|
orrs r1, r5
|
|
strh r1, [r3]
|
|
adds r7, #0x40
|
|
adds r3, #0x40
|
|
subs r6, #2
|
|
adds r1, r6, #0
|
|
subs r6, #1
|
|
adds r2, r0, #0
|
|
cmp r1, #0
|
|
ble _08056EA0
|
|
mov r4, r8
|
|
adds r4, #4
|
|
adds r1, r4, #0
|
|
orrs r1, r5
|
|
_08056E90:
|
|
strh r4, [r7]
|
|
strh r1, [r3]
|
|
adds r7, #0x40
|
|
adds r3, #0x40
|
|
adds r0, r6, #0
|
|
subs r6, #1
|
|
cmp r0, #0
|
|
bgt _08056E90
|
|
_08056EA0:
|
|
movs r1, #0x80
|
|
lsls r1, r1, #4
|
|
adds r0, r1, #0
|
|
adds r1, r2, #0
|
|
orrs r1, r0
|
|
strh r1, [r7]
|
|
movs r5, #0xc0
|
|
lsls r5, r5, #4
|
|
adds r0, r5, #0
|
|
orrs r2, r0
|
|
strh r2, [r3]
|
|
_08056EB6:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08056EC0
|
|
sub_08056EC0: @ 0x08056EC0
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r6, _08056F10 @ =gUnk_02036A40
|
|
ldrb r0, [r6, #6]
|
|
cmp r0, #0
|
|
beq _08056F0E
|
|
ldrb r0, [r6, #7]
|
|
cmp r0, #0
|
|
beq _08056F0E
|
|
adds r4, r0, #0
|
|
ldrb r0, [r6, #5]
|
|
lsls r0, r0, #5
|
|
ldrb r1, [r6, #4]
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
ldr r1, _08056F14 @ =gUnk_02034CB2
|
|
adds r5, r0, r1
|
|
movs r0, #4
|
|
subs r0, r0, r4
|
|
lsrs r1, r0, #0x1f
|
|
adds r0, r0, r1
|
|
asrs r1, r0, #1
|
|
ldr r7, _08056F18 @ =gUnk_0202281E
|
|
_08056EEC:
|
|
ldrb r3, [r6, #6]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r7
|
|
ldrh r2, [r0]
|
|
adds r5, #0x40
|
|
adds r0, r1, #1
|
|
subs r4, #1
|
|
adds r1, r5, #0
|
|
_08056EFC:
|
|
strh r2, [r1]
|
|
adds r1, #2
|
|
adds r2, #2
|
|
subs r3, #1
|
|
cmp r3, #0
|
|
bgt _08056EFC
|
|
adds r1, r0, #0
|
|
cmp r4, #0
|
|
bne _08056EEC
|
|
_08056F0E:
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08056F10: .4byte gUnk_02036A40
|
|
_08056F14: .4byte gUnk_02034CB2
|
|
_08056F18: .4byte gUnk_0202281E
|
|
|
|
thumb_func_start sub_08056F1C
|
|
sub_08056F1C: @ 0x08056F1C
|
|
push {lr}
|
|
ldr r0, _08056F58 @ =gUnk_02022780
|
|
adds r0, #0x98
|
|
ldr r0, [r0]
|
|
ldr r1, _08056F5C @ =0x0010FF00
|
|
ands r0, r1
|
|
ldr r1, _08056F60 @ =0x00100200
|
|
cmp r0, r1
|
|
bne _08056F54
|
|
ldr r2, _08056F64 @ =gUnk_02036A40
|
|
ldrb r1, [r2, #5]
|
|
lsls r1, r1, #5
|
|
ldrb r0, [r2, #4]
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #1
|
|
ldr r0, _08056F68 @ =gUnk_02034CB0
|
|
adds r1, r1, r0
|
|
ldrb r0, [r2, #7]
|
|
adds r0, #1
|
|
lsls r0, r0, #5
|
|
subs r0, #2
|
|
ldrb r2, [r2, #6]
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #1
|
|
adds r1, r1, r0
|
|
ldr r2, _08056F6C @ =0x0000F080
|
|
adds r0, r2, #0
|
|
strh r0, [r1]
|
|
_08056F54:
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08056F58: .4byte gUnk_02022780
|
|
_08056F5C: .4byte 0x0010FF00
|
|
_08056F60: .4byte 0x00100200
|
|
_08056F64: .4byte gUnk_02036A40
|
|
_08056F68: .4byte gUnk_02034CB0
|
|
_08056F6C: .4byte 0x0000F080
|
|
|
|
thumb_func_start sub_08056F70
|
|
sub_08056F70: @ 0x08056F70
|
|
push {lr}
|
|
ldr r0, _08056F80 @ =gUnk_02000D00
|
|
ldr r1, _08056F84 @ =0x0600D040
|
|
movs r2, #0xd0
|
|
lsls r2, r2, #4
|
|
bl sub_08000E96
|
|
pop {pc}
|
|
.align 2, 0
|
|
_08056F80: .4byte gUnk_02000D00
|
|
_08056F84: .4byte 0x0600D040
|
|
|
|
thumb_func_start sub_08056F88
|
|
sub_08056F88: @ 0x08056F88
|
|
push {r4, lr}
|
|
adds r3, r0, #0
|
|
adds r4, r1, #0
|
|
cmp r3, #0xf
|
|
bls _08056F94
|
|
movs r3, #0
|
|
_08056F94:
|
|
lsls r2, r3, #4
|
|
orrs r2, r4
|
|
ldr r0, _08056FB4 @ =gUnk_02022780
|
|
adds r1, r0, #0
|
|
adds r1, #0x9c
|
|
ldrb r0, [r1]
|
|
cmp r0, r2
|
|
beq _08056FB0
|
|
strb r2, [r1]
|
|
ldr r2, _08056FB8 @ =0x0600CF60
|
|
adds r0, r3, #0
|
|
adds r1, r4, #0
|
|
bl sub_0805F918
|
|
_08056FB0:
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
_08056FB4: .4byte gUnk_02022780
|
|
_08056FB8: .4byte 0x0600CF60
|
|
|
|
thumb_func_start sub_08056FBC
|
|
sub_08056FBC: @ 0x08056FBC
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
ldr r0, [r4, #0x10]
|
|
adds r1, r4, #0
|
|
adds r1, #0x68
|
|
bl sub_08056FEC
|
|
ldr r0, [r4, #0x14]
|
|
adds r1, r4, #0
|
|
adds r1, #0x70
|
|
bl sub_08056FEC
|
|
ldr r0, [r4, #0x18]
|
|
adds r1, r4, #0
|
|
adds r1, #0x78
|
|
bl sub_08056FEC
|
|
ldr r0, [r4, #0x1c]
|
|
adds r1, r4, #0
|
|
adds r1, #0x80
|
|
bl sub_08056FEC
|
|
pop {r4, pc}
|
|
.align 2, 0
|
|
|
|
thumb_func_start sub_08056FEC
|
|
sub_08056FEC: @ 0x08056FEC
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #8
|
|
adds r2, r0, #0
|
|
adds r5, r1, #0
|
|
bl sub_0801D51C
|
|
adds r2, r0, #0
|
|
ldr r0, _08057040 @ =0x0FFFFFFF
|
|
ands r2, r0
|
|
movs r4, #0
|
|
movs r3, #0xf
|
|
_08057002:
|
|
mov r0, sp
|
|
adds r1, r0, r4
|
|
adds r0, r2, #0
|
|
ands r0, r3
|
|
strb r0, [r1]
|
|
adds r4, #1
|
|
lsrs r2, r2, #4
|
|
cmp r2, #0
|
|
bne _08057002
|
|
movs r3, #0
|
|
subs r2, r4, #1
|
|
cmp r2, #0
|
|
blt _08057032
|
|
movs r6, #0x30
|
|
_0805701E:
|
|
adds r1, r5, r3
|
|
mov r7, sp
|
|
adds r0, r7, r2
|
|
ldrb r0, [r0]
|
|
orrs r0, r6
|
|
strb r0, [r1]
|
|
adds r3, #1
|
|
subs r2, #1
|
|
cmp r2, #0
|
|
bge _0805701E
|
|
_08057032:
|
|
adds r1, r5, r3
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
add sp, #8
|
|
pop {r4, r5, r6, r7, pc}
|
|
.align 2, 0
|
|
_08057040: .4byte 0x0FFFFFFF
|
|
|
|
thumb_func_start sub_08057044
|
|
sub_08057044: @ 0x08057044
|
|
push {r4, r5, lr}
|
|
sub sp, #8
|
|
adds r5, r1, #0
|
|
adds r4, r2, #0
|
|
mov r1, sp
|
|
bl sub_08056FEC
|
|
ldr r2, [sp]
|
|
movs r1, #3
|
|
subs r1, r1, r0
|
|
lsls r1, r1, #3
|
|
lsls r2, r1
|
|
orrs r2, r4
|
|
str r2, [r5]
|
|
add sp, #8
|
|
pop {r4, r5, pc}
|