tmc/asm/code_080526F8.s

3580 lines
66 KiB
ArmAsm

.include "asm/macros.inc"
.include "constants/constants.inc"
.syntax unified
.text
thumb_func_start sub_080526F8
sub_080526F8: @ 0x080526F8
push {r4, lr}
adds r4, r0, #0
bl sub_08052724
cmp r0, #0
beq _08052718
ldr r0, _0805271C @ =gUnk_02033A90
ldrb r1, [r0, #3]
ldr r0, _08052720 @ =gUnk_02002E9C
adds r1, r1, r0
ldrb r0, [r1]
adds r0, r0, r4
cmp r0, #0
bge _08052716
movs r0, #0
_08052716:
strb r0, [r1]
_08052718:
pop {r4, pc}
.align 2, 0
_0805271C: .4byte gUnk_02033A90
_08052720: .4byte gUnk_02002E9C
thumb_func_start sub_08052724
sub_08052724: @ 0x08052724
ldr r0, _08052730 @ =gUnk_02033A90
ldrb r0, [r0]
lsrs r0, r0, #1
movs r1, #1
ands r0, r1
bx lr
.align 2, 0
_08052730: .4byte gUnk_02033A90
thumb_func_start sub_08052734
sub_08052734: @ 0x08052734
push {r4, lr}
bl sub_08052724
cmp r0, #0
beq _0805274C
ldr r0, _08052758 @ =gUnk_02002A40
ldr r1, _0805275C @ =gUnk_02033A90
ldr r2, _08052760 @ =0x0000045C
adds r0, r0, r2
ldrb r1, [r1, #3]
adds r0, r0, r1
ldrb r4, [r0]
_0805274C:
adds r0, r4, #0
cmp r0, #0
beq _08052754
movs r0, #1
_08052754:
pop {r4, pc}
.align 2, 0
_08052758: .4byte gUnk_02002A40
_0805275C: .4byte gUnk_02033A90
_08052760: .4byte 0x0000045C
thumb_func_start sub_08052764
sub_08052764: @ 0x08052764
push {r4, lr}
bl sub_08052724
cmp r0, #0
beq _08052784
ldr r0, _08052790 @ =gUnk_02002A40
ldr r1, _08052794 @ =gUnk_02033A90
ldr r2, _08052798 @ =0x0000046C
adds r0, r0, r2
ldrb r1, [r1, #3]
adds r0, r0, r1
ldrb r1, [r0]
movs r0, #4
ands r0, r1
lsls r0, r0, #0x18
lsrs r4, r0, #0x18
_08052784:
adds r0, r4, #0
cmp r0, #0
beq _0805278C
movs r0, #1
_0805278C:
pop {r4, pc}
.align 2, 0
_08052790: .4byte gUnk_02002A40
_08052794: .4byte gUnk_02033A90
_08052798: .4byte 0x0000046C
thumb_func_start sub_0805279C
sub_0805279C: @ 0x0805279C
push {lr}
bl sub_08052724
cmp r0, #0
beq _080527C8
ldr r0, _080527BC @ =gUnk_02002A40
ldr r1, _080527C0 @ =gUnk_02033A90
ldr r2, _080527C4 @ =0x0000046C
adds r0, r0, r2
ldrb r1, [r1, #3]
adds r0, r0, r1
ldrb r0, [r0]
lsrs r0, r0, #1
movs r1, #1
ands r0, r1
b _080527CA
.align 2, 0
_080527BC: .4byte gUnk_02002A40
_080527C0: .4byte gUnk_02033A90
_080527C4: .4byte 0x0000046C
_080527C8:
movs r0, #0
_080527CA:
pop {pc}
thumb_func_start sub_080527CC
sub_080527CC: @ 0x080527CC
push {lr}
bl sub_08052724
cmp r0, #0
beq _080527F8
ldr r0, _080527EC @ =gUnk_02002A40
ldr r1, _080527F0 @ =gUnk_02033A90
ldr r2, _080527F4 @ =0x0000046C
adds r0, r0, r2
ldrb r1, [r1, #3]
adds r0, r0, r1
ldrb r1, [r0]
movs r0, #1
ands r0, r1
b _080527FA
.align 2, 0
_080527EC: .4byte gUnk_02002A40
_080527F0: .4byte gUnk_02033A90
_080527F4: .4byte 0x0000046C
_080527F8:
movs r0, #0
_080527FA:
pop {pc}
thumb_func_start sub_080527FC
sub_080527FC: @ 0x080527FC
push {r4, lr}
adds r4, r0, #0
bl sub_08053320
bl sub_080AE1D8
bl sub_080ADE24
movs r0, #1
bl sub_0801C370
adds r0, r4, #0
bl sub_0801AE44
ldr r0, _08052830 @ =gUnk_02024090
ldr r1, _08052834 @ =gUnk_020176A0
movs r2, #0x80
lsls r2, r2, #3
bl sub_0801D66C
ldr r1, _08052838 @ =gUnk_0200B644
movs r0, #1
rsbs r0, r0, #0
str r0, [r1]
pop {r4, pc}
.align 2, 0
_08052830: .4byte gUnk_02024090
_08052834: .4byte gUnk_020176A0
_08052838: .4byte gUnk_0200B644
thumb_func_start sub_0805283C
sub_0805283C: @ 0x0805283C
push {r4, lr}
ldr r0, _08052868 @ =gUnk_02033A90
ldr r1, _0805286C @ =0x00000864
adds r4, r0, r1
ldr r1, _08052870 @ =gUnk_08127D30
ldr r0, _08052874 @ =gRoomControls
ldrb r0, [r0, #4]
lsls r0, r0, #2
adds r0, r0, r1
ldrb r0, [r0, #3]
str r0, [r4]
movs r0, #0x8c
lsls r0, r0, #4
movs r1, #0x7c
bl GetProgressFlagWithOffset
cmp r0, #0
beq _08052864
movs r0, #0x33
str r0, [r4]
_08052864:
pop {r4, pc}
.align 2, 0
_08052868: .4byte gUnk_02033A90
_0805286C: .4byte 0x00000864
_08052870: .4byte gUnk_08127D30
_08052874: .4byte gRoomControls
thumb_func_start sub_08052878
sub_08052878: @ 0x08052878
push {lr}
ldr r0, _08052894 @ =gUnk_02033A90
movs r2, #0x86
lsls r2, r2, #4
adds r1, r0, r2
adds r2, #4
adds r0, r0, r2
ldr r0, [r0]
str r0, [r1]
ldr r0, _08052898 @ =0x80010000
bl PlaySFX
pop {pc}
.align 2, 0
_08052894: .4byte gUnk_02033A90
_08052898: .4byte 0x80010000
thumb_func_start sub_0805289C
sub_0805289C: @ 0x0805289C
ldr r0, _080528AC @ =gUnk_02033A90
ldr r2, _080528B0 @ =0x00000864
adds r1, r0, r2
subs r2, #4
adds r0, r0, r2
ldr r0, [r0]
str r0, [r1]
bx lr
.align 2, 0
_080528AC: .4byte gUnk_02033A90
_080528B0: .4byte 0x00000864
thumb_func_start sub_080528B4
sub_080528B4: @ 0x080528B4
push {lr}
ldr r0, _080528C4 @ =gUnk_030010A0
ldrb r0, [r0, #5]
cmp r0, #0
bne _080528C8
movs r0, #0
b _080528E6
.align 2, 0
_080528C4: .4byte gUnk_030010A0
_080528C8:
bl sub_0804FFE4
ldr r1, _080528E8 @ =gUnk_03001000
movs r2, #0
movs r0, #3
strb r0, [r1, #3]
strb r2, [r1, #4]
movs r0, #5
movs r1, #8
bl DoFade
ldr r0, _080528EC @ =0x80100000
bl PlaySFX
movs r0, #1
_080528E6:
pop {pc}
.align 2, 0
_080528E8: .4byte gUnk_03001000
_080528EC: .4byte 0x80100000
thumb_func_start sub_080528F0
sub_080528F0: @ 0x080528F0
push {lr}
ldr r1, _08052914 @ =gUnk_02033A90
ldr r2, _08052918 @ =0x00000888
adds r0, r1, r2
ldr r2, [r0]
cmp r2, #0
beq _08052910
movs r3, #0x89
lsls r3, r3, #4
adds r0, r1, r3
ldr r1, [r0]
cmp r1, #0
beq _08052910
adds r0, r2, #0
bl _call_via_r1
_08052910:
pop {pc}
.align 2, 0
_08052914: .4byte gUnk_02033A90
_08052918: .4byte 0x00000888
thumb_func_start sub_0805291C
sub_0805291C: @ 0x0805291C
push {r4, lr}
ldr r4, _08052948 @ =gUnk_030010A0
ldrb r0, [r4, #8]
cmp r0, #0
beq _080529F4
ldr r0, _0805294C @ =gUnk_02002A40
adds r0, #0xaa
ldrb r0, [r0]
cmp r0, #0
beq _080529F4
ldr r0, _08052950 @ =gLinkState
adds r0, #0xa8
ldrb r0, [r0]
cmp r0, #0x12
beq _080529F4
bl sub_080529F8
cmp r0, #0
beq _08052954
movs r0, #0
strb r0, [r4, #8]
b _080529F6
.align 2, 0
_08052948: .4byte gUnk_030010A0
_0805294C: .4byte gUnk_02002A40
_08052950: .4byte gLinkState
_08052954:
ldrb r0, [r4, #9]
subs r0, #1
cmp r0, #8
bhi _080529D4
lsls r0, r0, #2
ldr r1, _08052968 @ =_0805296C
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08052968: .4byte _0805296C
_0805296C: @ jump table
.4byte _08052990 @ case 0
.4byte _080529A4 @ case 1
.4byte _080529D4 @ case 2
.4byte _080529A8 @ case 3
.4byte _080529B2 @ case 4
.4byte _080529BC @ case 5
.4byte _080529C8 @ case 6
.4byte _080529C8 @ case 7
.4byte _0805299A @ case 8
_08052990:
movs r0, #0xd
movs r1, #8
bl DoFade
b _080529DC
_0805299A:
movs r0, #0xd
movs r1, #3
bl DoFade
b _080529DC
_080529A4:
movs r0, #7
b _080529AA
_080529A8:
movs r0, #5
_080529AA:
movs r1, #4
bl DoFade
b _080529DC
_080529B2:
movs r0, #5
movs r1, #0x10
bl DoFade
b _080529DC
_080529BC:
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
b _080529DC
_080529C8:
movs r1, #0x80
lsls r1, r1, #1
movs r0, #7
bl DoFade
b _080529DC
_080529D4:
movs r0, #7
movs r1, #0x10
bl DoFade
_080529DC:
bl sub_080528F0
ldr r0, _080529F0 @ =gUnk_03001000
movs r1, #3
strb r1, [r0, #4]
movs r1, #1
strb r1, [r0, #0xb]
movs r0, #1
b _080529F6
.align 2, 0
_080529F0: .4byte gUnk_03001000
_080529F4:
movs r0, #0
_080529F6:
pop {r4, pc}
thumb_func_start sub_080529F8
sub_080529F8: @ 0x080529F8
push {r4, r5, r6, lr}
ldr r1, _08052A34 @ =gUnk_030010A0
ldrh r4, [r1, #0xa]
ldr r2, _08052A38 @ =gUnk_080FCAD6
ldrh r0, [r2]
cmp r0, #0
beq _08052A48
ldr r3, _08052A3C @ =gLinkState
movs r6, #0
movs r0, #0x39
adds r0, r0, r3
mov ip, r0
movs r5, #0x1e
_08052A12:
ldrh r0, [r2]
cmp r4, r0
bne _08052A40
strb r5, [r3, #0xc]
adds r0, r3, #0
adds r0, #0x38
strb r6, [r0]
ldrh r0, [r2, #2]
mov r3, ip
strb r0, [r3]
ldrb r0, [r1, #0xf]
cmp r0, #0
bne _08052A30
ldrh r0, [r2, #2]
strb r0, [r1, #0xf]
_08052A30:
movs r0, #1
b _08052A4A
.align 2, 0
_08052A34: .4byte gUnk_030010A0
_08052A38: .4byte gUnk_080FCAD6
_08052A3C: .4byte gLinkState
_08052A40:
adds r2, #4
ldrh r0, [r2]
cmp r0, #0
bne _08052A12
_08052A48:
movs r0, #0
_08052A4A:
pop {r4, r5, r6, pc}
thumb_func_start sub_08052A4C
sub_08052A4C: @ 0x08052A4C
push {r4, r5, lr}
ldr r2, _08052A88 @ =gUnk_030010A0
movs r0, #1
strb r0, [r2, #8]
ldr r5, _08052A8C @ =gLinkEntity
ldr r3, _08052A90 @ =gRoomControls
ldrh r0, [r5, #0x2e]
ldrh r1, [r3, #6]
subs r0, r0, r1
movs r1, #0xfe
lsls r1, r1, #2
adds r4, r1, #0
ands r0, r4
strh r0, [r2, #0x10]
ldrh r0, [r5, #0x32]
ldrh r1, [r3, #8]
subs r0, r0, r1
ands r0, r4
strh r0, [r2, #0x12]
movs r0, #4
strb r0, [r2, #0xe]
movs r0, #0xa
strb r0, [r2, #0xf]
ldrb r0, [r3, #4]
strb r0, [r2, #0xc]
ldrb r0, [r3, #5]
subs r0, #1
strb r0, [r2, #0xd]
pop {r4, r5, pc}
.align 2, 0
_08052A88: .4byte gUnk_030010A0
_08052A8C: .4byte gLinkEntity
_08052A90: .4byte gRoomControls
thumb_func_start sub_08052A94
sub_08052A94: @ 0x08052A94
push {lr}
ldr r0, _08052AAC @ =gUnk_030010A0
ldrb r0, [r0, #9]
subs r0, #1
cmp r0, #8
bhi _08052B1C
lsls r0, r0, #2
ldr r1, _08052AB0 @ =_08052AB4
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08052AAC: .4byte gUnk_030010A0
_08052AB0: .4byte _08052AB4
_08052AB4: @ jump table
.4byte _08052AD8 @ case 0
.4byte _08052AE6 @ case 1
.4byte _08052B22 @ case 2
.4byte _08052B1C @ case 3
.4byte _08052B08 @ case 4
.4byte _08052AF0 @ case 5
.4byte _08052AFC @ case 6
.4byte _08052B12 @ case 7
.4byte _08052ADC @ case 8
_08052AD8:
movs r0, #0xc
b _08052B14
_08052ADC:
movs r0, #0xc
movs r1, #3
bl DoFade
b _08052B22
_08052AE6:
movs r0, #6
movs r1, #4
bl DoFade
b _08052B22
_08052AF0:
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
b _08052B22
_08052AFC:
movs r1, #0x80
lsls r1, r1, #1
movs r0, #7
bl DoFade
b _08052B22
_08052B08:
movs r0, #4
movs r1, #0x10
bl DoFade
b _08052B22
_08052B12:
movs r0, #6
_08052B14:
movs r1, #8
bl DoFade
b _08052B22
_08052B1C:
movs r0, #0x10
bl sub_080500F4
_08052B22:
pop {pc}
thumb_func_start sub_08052B24
sub_08052B24: @ 0x08052B24
push {lr}
ldr r0, _08052B90 @ =gUnk_03000FF0
ldrh r1, [r0]
movs r0, #4
ands r0, r1
cmp r0, #0
beq _08052B8A
ldr r2, _08052B94 @ =gLinkState
adds r0, r2, #0
adds r0, #0x8b
ldrb r0, [r0]
cmp r0, #0
bne _08052B8A
ldr r0, _08052B98 @ =gUnk_02034490
ldrb r0, [r0]
cmp r0, #0
bne _08052B8A
ldr r0, _08052B9C @ =gUnk_0200AF00
ldrb r0, [r0, #1]
cmp r0, #0
bne _08052B8A
ldr r0, [r2, #0x30]
movs r1, #0x8c
lsls r1, r1, #1
ands r0, r1
cmp r0, #0
bne _08052B8A
adds r0, r2, #0
adds r0, #0xa9
ldrb r0, [r0]
cmp r0, #1
bgt _08052B8A
ldr r0, [r2, #0x2c]
cmp r0, #0
bne _08052B8A
ldr r1, _08052BA0 @ =gLinkEntity
adds r0, r1, #0
adds r0, #0x7a
ldrh r0, [r0]
cmp r0, #0
bne _08052B8A
movs r3, #0x36
ldrsh r0, [r1, r3]
movs r1, #0x80
lsls r1, r1, #8
ands r0, r1
cmp r0, #0
beq _08052BA4
ldrb r0, [r2, #0xa]
cmp r0, #0
bne _08052BA4
_08052B8A:
movs r0, #0
b _08052BB4
.align 2, 0
_08052B90: .4byte gUnk_03000FF0
_08052B94: .4byte gLinkState
_08052B98: .4byte gUnk_02034490
_08052B9C: .4byte gUnk_0200AF00
_08052BA0: .4byte gLinkEntity
_08052BA4:
bl sub_0801862C
movs r0, #0x13
bl sub_08078160
bl sub_0805E544
movs r0, #1
_08052BB4:
pop {pc}
.align 2, 0
thumb_func_start sub_08052BB8
sub_08052BB8: @ 0x08052BB8
push {lr}
ldr r0, _08052BE0 @ =gUnk_030010A0
adds r2, r0, #0
adds r2, #0x35
ldrb r1, [r2]
adds r3, r0, #0
cmp r1, #0
bne _08052BEC
ldr r0, _08052BE4 @ =gLinkEntity
movs r2, #0x32
ldrsh r1, [r0, r2]
ldr r0, _08052BE8 @ =gRoomControls
movs r2, #0xc
ldrsh r0, [r0, r2]
subs r1, r1, r0
movs r2, #0xd
cmp r1, #0x60
ble _08052BEE
movs r2, #1
b _08052BEE
.align 2, 0
_08052BE0: .4byte gUnk_030010A0
_08052BE4: .4byte gLinkEntity
_08052BE8: .4byte gRoomControls
_08052BEC:
ldrb r2, [r2]
_08052BEE:
ldrh r0, [r3, #0x36]
adds r1, r2, #0
bl sub_080563C8
pop {pc}
thumb_func_start sub_08052BF8
sub_08052BF8: @ 0x08052BF8
push {lr}
ldr r2, _08052C34 @ =gUnk_030010A0
adds r1, r2, #0
adds r1, #0x31
ldrb r0, [r1]
cmp r0, #0
bne _08052C30
movs r0, #1
strb r0, [r1]
ldr r0, _08052C38 @ =gUnk_02033A90
ldrb r1, [r0, #1]
adds r0, r2, #0
adds r0, #0x2e
strb r1, [r0]
bl sub_0805E8D4
adds r1, r0, #0
cmp r1, #0
beq _08052C30
movs r0, #9
strb r0, [r1, #8]
movs r0, #0xf
strb r0, [r1, #9]
strb r0, [r1, #0xa]
adds r0, r1, #0
movs r1, #0
bl sub_0805EA2C
_08052C30:
pop {pc}
.align 2, 0
_08052C34: .4byte gUnk_030010A0
_08052C38: .4byte gUnk_02033A90
thumb_func_start sub_08052C3C
sub_08052C3C: @ 0x08052C3C
push {lr}
ldr r2, _08052C58 @ =gUnk_02033A90
ldrb r0, [r2, #0x18]
cmp r0, #0
bne _08052C48
strb r0, [r2, #0x1a]
_08052C48:
ldrb r0, [r2, #0x1a]
cmp r0, #0
beq _08052C56
subs r0, #1
movs r1, #0
strb r0, [r2, #0x1a]
strb r1, [r2, #0x18]
_08052C56:
pop {pc}
.align 2, 0
_08052C58: .4byte gUnk_02033A90
thumb_func_start sub_08052C5C
sub_08052C5C: @ 0x08052C5C
push {lr}
bl sub_08052680
cmp r0, #0
bne _08052C98
bl sub_08052620
cmp r0, #0
beq _08052C84
ldr r2, _08052C7C @ =gUnk_030010A0
ldr r1, _08052C80 @ =gLinkEntity
ldrh r0, [r1, #0x2e]
strh r0, [r2, #0x20]
ldrh r0, [r1, #0x32]
strh r0, [r2, #0x22]
b _08052C98
.align 2, 0
_08052C7C: .4byte gUnk_030010A0
_08052C80: .4byte gLinkEntity
_08052C84:
bl sub_08052660
cmp r0, #0
beq _08052C98
ldr r2, _08052C9C @ =gUnk_030010A0
ldr r1, _08052CA0 @ =gLinkEntity
ldrh r0, [r1, #0x2e]
strh r0, [r2, #0x1c]
ldrh r0, [r1, #0x32]
strh r0, [r2, #0x1e]
_08052C98:
pop {pc}
.align 2, 0
_08052C9C: .4byte gUnk_030010A0
_08052CA0: .4byte gLinkEntity
thumb_func_start sub_08052CA4
sub_08052CA4: @ 0x08052CA4
push {r4, lr}
ldr r4, _08052CC8 @ =gUnk_0811E214
lsls r0, r0, #2
adds r0, r0, r4
lsls r4, r1, #2
adds r4, r4, r1
lsls r4, r4, #1
ldr r1, [r0]
adds r1, r1, r4
ldr r4, _08052CCC @ =gUnk_030010A0
ldrh r0, [r1]
adds r0, r0, r2
strh r0, [r4, #0x20]
ldrh r0, [r1, #2]
adds r0, r0, r3
strh r0, [r4, #0x22]
pop {r4, pc}
.align 2, 0
_08052CC8: .4byte gUnk_0811E214
_08052CCC: .4byte gUnk_030010A0
thumb_func_start sub_08052CD0
sub_08052CD0: @ 0x08052CD0
push {r4, lr}
ldr r4, _08052CF4 @ =gUnk_0811E214
lsls r0, r0, #2
adds r0, r0, r4
lsls r4, r1, #2
adds r4, r4, r1
lsls r4, r4, #1
ldr r1, [r0]
adds r1, r1, r4
ldr r4, _08052CF8 @ =gUnk_030010A0
ldrh r0, [r1]
adds r0, r0, r2
strh r0, [r4, #0x1c]
ldrh r0, [r1, #2]
adds r0, r0, r3
strh r0, [r4, #0x1e]
pop {r4, pc}
.align 2, 0
_08052CF4: .4byte gUnk_0811E214
_08052CF8: .4byte gUnk_030010A0
thumb_func_start sub_08052CFC
sub_08052CFC: @ 0x08052CFC
push {r4, lr}
ldr r4, _08052D44 @ =gUnk_02033A90
ldr r1, _08052D48 @ =0x00000894
adds r0, r4, #0
bl sub_0801D630
ldr r0, _08052D4C @ =gRoomControls
ldrb r1, [r0, #4]
lsls r1, r1, #2
ldr r0, _08052D50 @ =gUnk_08127D30
adds r1, r1, r0
ldrb r0, [r1]
strb r0, [r4]
ldrb r0, [r1, #1]
strb r0, [r4, #1]
ldrb r0, [r1, #1]
subs r0, #0x17
strb r0, [r4, #3]
ldr r2, _08052D54 @ =gUnk_0811E454
ldrb r0, [r1, #2]
lsls r0, r0, #1
adds r0, r0, r2
ldrh r0, [r0]
strh r0, [r4, #4]
ldrb r0, [r1, #2]
strb r0, [r4, #6]
movs r0, #0xb4
strb r0, [r4, #0x1a]
adds r0, #0x4c
strh r0, [r4, #0xa]
bl sub_08052A94
bl sub_08052DA8
pop {r4, pc}
.align 2, 0
_08052D44: .4byte gUnk_02033A90
_08052D48: .4byte 0x00000894
_08052D4C: .4byte gRoomControls
_08052D50: .4byte gUnk_08127D30
_08052D54: .4byte gUnk_0811E454
thumb_func_start sub_08052D58
sub_08052D58: @ 0x08052D58
lsls r0, r0, #2
ldr r1, _08052D6C @ =gUnk_08127D30
adds r0, r0, r1
ldr r1, _08052D70 @ =gUnk_0811E454
ldrb r0, [r0, #2]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
bx lr
.align 2, 0
_08052D6C: .4byte gUnk_08127D30
_08052D70: .4byte gUnk_0811E454
thumb_func_start sub_08052D74
sub_08052D74: @ 0x08052D74
push {r4, r5, lr}
adds r3, r0, #0
adds r4, r1, #0
ldr r0, _08052D98 @ =gUnk_03001000
ldrb r0, [r0, #4]
cmp r0, #7
beq _08052D96
ldr r0, _08052D9C @ =gUnk_02033A90
ldr r5, _08052DA0 @ =0x00000888
adds r1, r0, r5
str r3, [r1]
ldr r3, _08052DA4 @ =0x0000088C
adds r1, r0, r3
str r4, [r1]
adds r5, #8
adds r0, r0, r5
str r2, [r0]
_08052D96:
pop {r4, r5, pc}
.align 2, 0
_08052D98: .4byte gUnk_03001000
_08052D9C: .4byte gUnk_02033A90
_08052DA0: .4byte 0x00000888
_08052DA4: .4byte 0x0000088C
thumb_func_start sub_08052DA8
sub_08052DA8: @ 0x08052DA8
push {r4, r5, r6, r7, lr}
ldr r1, _08052DF8 @ =gUnk_0811E214
ldr r0, _08052DFC @ =gRoomControls
ldrb r0, [r0, #4]
lsls r0, r0, #2
adds r0, r0, r1
ldr r4, [r0]
ldr r7, _08052E00 @ =gUnk_02033ACC
movs r5, #0
ldrh r0, [r4]
ldr r1, _08052E04 @ =0x0000FFFF
cmp r0, r1
beq _08052DE8
adds r6, r1, #0
_08052DC4:
ldrh r0, [r4, #8]
cmp r0, r6
beq _08052DD8
ldr r0, _08052DFC @ =gRoomControls
ldrb r2, [r0, #4]
adds r0, r7, #0
adds r1, r4, #0
adds r3, r5, #0
bl sub_08052E10
_08052DD8:
adds r7, #0x20
adds r5, #1
adds r4, #0xa
cmp r5, #0x3f
bhi _08052DE8
ldrh r0, [r4]
cmp r0, r6
bne _08052DC4
_08052DE8:
bl sub_08052E8C
ldr r1, _08052E08 @ =gUnk_02033A90
ldr r2, _08052E0C @ =0x0000085C
adds r1, r1, r2
str r0, [r1]
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08052DF8: .4byte gUnk_0811E214
_08052DFC: .4byte gRoomControls
_08052E00: .4byte gUnk_02033ACC
_08052E04: .4byte 0x0000FFFF
_08052E08: .4byte gUnk_02033A90
_08052E0C: .4byte 0x0000085C
thumb_func_start sub_08052E10
sub_08052E10: @ 0x08052E10
push {r4, r5, lr}
adds r5, r0, #0
ldrh r0, [r1]
strh r0, [r5, #4]
ldrh r0, [r1, #2]
strh r0, [r5, #6]
ldrh r0, [r1, #4]
strh r0, [r5]
ldrh r0, [r1, #6]
strh r0, [r5, #2]
ldr r4, _08052E74 @ =gUnk_0810246C
lsls r2, r2, #2
adds r4, r2, r4
ldrh r0, [r1, #8]
ldr r1, [r4]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
str r0, [r5, #8]
ldr r0, _08052E78 @ =gUnk_08107988
adds r0, r2, r0
ldr r0, [r0]
lsls r3, r3, #2
adds r0, r3, r0
ldr r0, [r0]
str r0, [r5, #0xc]
ldr r0, _08052E7C @ =gUnk_0810309C
adds r0, r2, r0
ldr r0, [r0]
str r0, [r5, #0x10]
ldr r0, _08052E80 @ =gUnk_080B755C
adds r0, r2, r0
ldr r0, [r0]
str r0, [r5, #0x14]
ldr r0, _08052E84 @ =gUnk_0813A7F0
adds r0, r2, r0
ldr r0, [r0]
adds r0, r3, r0
ldr r0, [r0]
str r0, [r5, #0x18]
ldr r0, _08052E88 @ =gUnk_080D50FC
adds r2, r2, r0
ldr r0, [r2]
cmp r0, #0
beq _08052E70
adds r0, r3, r0
ldr r0, [r0]
str r0, [r5, #0x1c]
_08052E70:
pop {r4, r5, pc}
.align 2, 0
_08052E74: .4byte gUnk_0810246C
_08052E78: .4byte gUnk_08107988
_08052E7C: .4byte gUnk_0810309C
_08052E80: .4byte gUnk_080B755C
_08052E84: .4byte gUnk_0813A7F0
_08052E88: .4byte gUnk_080D50FC
thumb_func_start sub_08052E8C
sub_08052E8C: @ 0x08052E8C
ldr r0, _08052E98 @ =gRoomControls
ldrb r0, [r0, #5]
lsls r0, r0, #5
ldr r1, _08052E9C @ =gUnk_02033ACC
adds r0, r0, r1
bx lr
.align 2, 0
_08052E98: .4byte gRoomControls
_08052E9C: .4byte gUnk_02033ACC
thumb_func_start sub_08052EA0
sub_08052EA0: @ 0x08052EA0
push {r4, lr}
ldr r4, _08052EE4 @ =gUnk_02034350
adds r0, r4, #0
movs r1, #0xcc
bl sub_0801D630
movs r0, #0xff
strb r0, [r4, #0x10]
strb r0, [r4, #0x11]
strb r0, [r4, #0x12]
strb r0, [r4, #0x13]
adds r0, #1
strh r0, [r4, #0xc]
ldr r2, _08052EE8 @ =gUnk_02033A90
ldr r1, _08052EEC @ =gUnk_08127D30
ldr r0, _08052EF0 @ =gRoomControls
ldrb r0, [r0, #4]
lsls r0, r0, #2
adds r0, r0, r1
ldrb r0, [r0, #1]
strb r0, [r2, #1]
bl sub_08049D30
bl sub_0807DA70
bl sub_08054524
bl sub_080186D4
bl sub_0806F364
bl sub_080530C8
pop {r4, pc}
.align 2, 0
_08052EE4: .4byte gUnk_02034350
_08052EE8: .4byte gUnk_02033A90
_08052EEC: .4byte gUnk_08127D30
_08052EF0: .4byte gRoomControls
thumb_func_start sub_08052EF4
sub_08052EF4: @ 0x08052EF4
push {lr}
cmp r0, #0
bge _08052EFE
ldr r0, _08052F10 @ =gRoomControls
ldrb r0, [r0, #4]
_08052EFE:
lsls r0, r0, #2
ldr r1, _08052F14 @ =gUnk_08127D30
adds r0, r0, r1
ldr r1, _08052F18 @ =gUnk_0811E454
ldrb r0, [r0, #2]
lsls r0, r0, #1
adds r0, r0, r1
ldrh r0, [r0]
pop {pc}
.align 2, 0
_08052F10: .4byte gRoomControls
_08052F14: .4byte gUnk_08127D30
_08052F18: .4byte gUnk_0811E454
thumb_func_start sub_08052F1C
sub_08052F1C: @ 0x08052F1C
push {r4, r5, r6, lr}
ldr r2, _08052F4C @ =gUnk_02033A90
ldrb r1, [r2, #0xd]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _08052FCC
ldr r0, _08052F50 @ =gUnk_02034350
ldrb r0, [r0]
cmp r0, #0
beq _08052FCC
movs r5, #0
movs r4, #0
ldr r0, _08052F54 @ =gRoomControls
ldrb r1, [r0, #0x10]
adds r3, r0, #0
cmp r1, #1
beq _08052F62
cmp r1, #1
bgt _08052F58
cmp r1, #0
beq _08052F62
b _08052F72
.align 2, 0
_08052F4C: .4byte gUnk_02033A90
_08052F50: .4byte gUnk_02034350
_08052F54: .4byte gRoomControls
_08052F58:
cmp r1, #2
beq _08052F62
cmp r1, #3
beq _08052F6A
b _08052F72
_08052F62:
ldr r1, _08052FD0 @ =0x0000085C
adds r0, r2, r1
ldr r0, [r0]
ldrh r5, [r0, #2]
_08052F6A:
ldr r1, _08052FD0 @ =0x0000085C
adds r0, r2, r1
ldr r0, [r0]
ldrh r4, [r0]
_08052F72:
ldr r0, _08052FD0 @ =0x0000085C
adds r2, r2, r0
ldr r1, [r2]
ldrh r0, [r1, #4]
adds r0, r0, r4
strh r0, [r1, #4]
ldr r1, [r2]
ldrh r0, [r1, #6]
adds r0, r0, r5
strh r0, [r1, #6]
ldrh r0, [r3, #6]
adds r0, r0, r4
strh r0, [r3, #6]
ldrh r0, [r3, #8]
adds r0, r0, r5
strh r0, [r3, #8]
ldrh r0, [r3, #0xa]
adds r0, r0, r4
strh r0, [r3, #0xa]
ldrh r0, [r3, #0xc]
adds r0, r0, r5
strh r0, [r3, #0xc]
ldr r2, _08052FD4 @ =gUnk_03003D70
adds r6, r2, #0
adds r6, #0x48
_08052FA4:
ldr r1, [r2, #4]
adds r3, r2, #0
adds r3, #8
cmp r1, r2
beq _08052FC6
_08052FAE:
ldrb r0, [r1, #8]
cmp r0, #9
beq _08052FC0
ldrh r0, [r1, #0x2e]
adds r0, r0, r4
strh r0, [r1, #0x2e]
ldrh r0, [r1, #0x32]
adds r0, r0, r5
strh r0, [r1, #0x32]
_08052FC0:
ldr r1, [r1, #4]
cmp r1, r2
bne _08052FAE
_08052FC6:
adds r2, r3, #0
cmp r2, r6
blo _08052FA4
_08052FCC:
pop {r4, r5, r6, pc}
.align 2, 0
_08052FD0: .4byte 0x0000085C
_08052FD4: .4byte gUnk_03003D70
thumb_func_start sub_08052FD8
sub_08052FD8: @ 0x08052FD8
push {lr}
bl sub_08052FF4
ldr r1, _08052FF0 @ =gRoomControls
movs r0, #0
str r0, [r1, #0x30]
bl sub_0807C860
bl sub_0807C740
pop {pc}
.align 2, 0
_08052FF0: .4byte gRoomControls
thumb_func_start sub_08052FF4
sub_08052FF4: @ 0x08052FF4
push {r4, r5, r6, lr}
adds r6, r0, #0
adds r4, r1, #0
bl sub_08080668
bl sub_080197AC
ldr r0, _0805306C @ =gRoomControls
strb r6, [r0, #4]
strb r4, [r0, #5]
ldr r1, _08053070 @ =gLCDControls
movs r0, #0xba
lsls r0, r0, #5
strh r0, [r1]
ldr r5, _08053074 @ =gUnk_020342CC
adds r0, r5, #0
movs r1, #0x20
bl sub_0801D630
str r5, [r5, #0x20]
ldr r0, _08053078 @ =gUnk_0811E214
lsls r6, r6, #2
adds r0, r6, r0
lsls r2, r4, #2
adds r4, r2, r4
lsls r4, r4, #1
ldr r0, [r0]
adds r0, r0, r4
ldrh r1, [r0]
strh r1, [r5, #4]
ldrh r1, [r0, #2]
strh r1, [r5, #6]
ldrh r1, [r0, #4]
strh r1, [r5]
ldrh r1, [r0, #6]
strh r1, [r5, #2]
ldr r1, _0805307C @ =gUnk_0810246C
adds r1, r6, r1
ldrh r0, [r0, #8]
ldr r1, [r1]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
str r0, [r5, #8]
ldr r0, _08053080 @ =gUnk_08107988
adds r0, r6, r0
ldr r0, [r0]
adds r2, r2, r0
ldr r0, [r2]
str r0, [r5, #0xc]
ldr r0, _08053084 @ =gUnk_0810309C
adds r0, r6, r0
ldr r0, [r0]
str r0, [r5, #0x10]
ldr r0, _08053088 @ =gUnk_080B755C
adds r6, r6, r0
ldr r0, [r6]
str r0, [r5, #0x14]
pop {r4, r5, r6, pc}
.align 2, 0
_0805306C: .4byte gRoomControls
_08053070: .4byte gLCDControls
_08053074: .4byte gUnk_020342CC
_08053078: .4byte gUnk_0811E214
_0805307C: .4byte gUnk_0810246C
_08053080: .4byte gUnk_08107988
_08053084: .4byte gUnk_0810309C
_08053088: .4byte gUnk_080B755C
thumb_func_start sub_0805308C
sub_0805308C: @ 0x0805308C
push {lr}
adds r1, r0, #0
ldr r2, _080530AC @ =gUnk_02034350
movs r3, #0xc
ldrsh r0, [r2, r3]
adds r1, r1, r0
cmp r1, #0
bge _0805309E
movs r1, #0
_0805309E:
movs r0, #0x80
lsls r0, r0, #1
cmp r1, r0
ble _080530A8
adds r1, r0, #0
_080530A8:
strh r1, [r2, #0xc]
pop {pc}
.align 2, 0
_080530AC: .4byte gUnk_02034350
thumb_func_start sub_080530B0
sub_080530B0: @ 0x080530B0
push {lr}
ldr r0, _080530C0 @ =gUnk_080FCAF8
ldr r1, _080530C4 @ =gUnk_030010EC
movs r2, #0x20
bl sub_0801D66C
pop {pc}
.align 2, 0
_080530C0: .4byte gUnk_080FCAF8
_080530C4: .4byte gUnk_030010EC
thumb_func_start sub_080530C8
sub_080530C8: @ 0x080530C8
push {r4, r5, lr}
movs r4, #1
movs r5, #0xc0
lsls r5, r5, #2
adds r0, r5, #0
movs r1, #0x78
bl GetProgressFlagWithOffset
cmp r0, #0
beq _080530E0
movs r4, #9
b _08053138
_080530E0:
movs r0, #6
bl GetProgressFlag
cmp r0, #0
beq _080530EE
movs r4, #8
b _08053138
_080530EE:
adds r0, r5, #0
movs r1, #0x32
bl GetProgressFlagWithOffset
cmp r0, #0
beq _080530FE
movs r4, #7
b _08053138
_080530FE:
movs r0, #5
bl GetProgressFlag
cmp r0, #0
beq _0805310C
movs r4, #6
b _08053138
_0805310C:
movs r0, #4
bl GetProgressFlag
cmp r0, #0
beq _0805311A
movs r4, #5
b _08053138
_0805311A:
movs r0, #0x80
lsls r0, r0, #1
movs r1, #0x9c
bl GetProgressFlagWithOffset
cmp r0, #0
beq _0805312C
movs r4, #4
b _08053138
_0805312C:
movs r0, #2
bl GetProgressFlag
cmp r0, #0
beq _08053138
movs r4, #2
_08053138:
ldr r0, _08053140 @ =gUnk_02002A40
strb r4, [r0, #8]
pop {r4, r5, pc}
.align 2, 0
_08053140: .4byte gUnk_02002A40
thumb_func_start sub_08053144
sub_08053144: @ 0x08053144
push {lr}
movs r0, #0x51
bl GetProgressFlag
cmp r0, #0
beq _08053154
movs r0, #0
b _0805316E
_08053154:
movs r1, #0
ldr r0, _08053170 @ =gUnk_02033A90
ldrb r2, [r0, #1]
cmp r2, #0
beq _0805316C
ldr r0, _08053174 @ =gUnk_030010A0
adds r0, #0x2e
ldrb r1, [r0]
eors r1, r2
rsbs r0, r1, #0
orrs r0, r1
lsrs r1, r0, #0x1f
_0805316C:
adds r0, r1, #0
_0805316E:
pop {pc}
.align 2, 0
_08053170: .4byte gUnk_02033A90
_08053174: .4byte gUnk_030010A0
thumb_func_start sub_08053178
sub_08053178: @ 0x08053178
push {r4, r5, lr}
bl sub_08053144
cmp r0, #0
beq _080531E6
ldr r0, _080531E8 @ =gUnk_030010A0
ldr r5, _080531EC @ =gUnk_02033A90
ldrb r1, [r5, #1]
adds r0, #0x2e
strb r1, [r0]
movs r0, #0x15
bl GetProgressFlag
cmp r0, #0
beq _080531E6
movs r0, #0x51
bl GetProgressFlag
cmp r0, #0
bne _080531DC
bl sub_0805E8D4
adds r4, r0, #0
cmp r4, #0
beq _080531DC
movs r0, #9
strb r0, [r4, #8]
movs r0, #0x39
strb r0, [r4, #9]
adds r0, r4, #0
movs r1, #8
bl sub_0805EA2C
ldr r0, _080531F0 @ =gUnk_02034350
ldrb r0, [r0]
cmp r0, #0
bne _080531DC
ldr r0, _080531F4 @ =gUnk_02002AA0
ldrb r1, [r5, #1]
bl sub_0801D5A8
cmp r0, #0
bne _080531DC
movs r0, #1
strb r0, [r4, #0xb]
movs r0, #3
bl sub_08078A90
bl sub_0805E5A8
_080531DC:
ldr r0, _080531F4 @ =gUnk_02002AA0
ldr r1, _080531EC @ =gUnk_02033A90
ldrb r1, [r1, #1]
bl sub_0801D5BC
_080531E6:
pop {r4, r5, pc}
.align 2, 0
_080531E8: .4byte gUnk_030010A0
_080531EC: .4byte gUnk_02033A90
_080531F0: .4byte gUnk_02034350
_080531F4: .4byte gUnk_02002AA0
thumb_func_start sub_080531F8
sub_080531F8: @ 0x080531F8
push {r4, r5, lr}
ldr r1, _0805323C @ =gLinkState
ldr r4, _08053240 @ =gLinkEntity
ldrh r0, [r4, #0x2e]
strh r0, [r1, #0x16]
ldrh r0, [r4, #0x32]
strh r0, [r1, #0x18]
bl sub_08053144
cmp r0, #0
beq _08053238
ldr r5, _08053244 @ =gUnk_030010AC
ldr r1, _08053248 @ =gUnk_02002AC8
adds r0, r5, #0
movs r2, #0x20
bl sub_0801D66C
bl sub_08052660
cmp r0, #0
beq _08053238
adds r1, r5, #0
subs r1, #0xc
ldr r2, _0805324C @ =gRoomControls
ldrb r0, [r2, #4]
strb r0, [r1, #0x16]
ldrb r0, [r2, #5]
strb r0, [r1, #0x17]
ldrh r0, [r4, #0x2e]
strh r0, [r1, #0x18]
ldrh r0, [r4, #0x32]
strh r0, [r1, #0x1a]
_08053238:
pop {r4, r5, pc}
.align 2, 0
_0805323C: .4byte gLinkState
_08053240: .4byte gLinkEntity
_08053244: .4byte gUnk_030010AC
_08053248: .4byte gUnk_02002AC8
_0805324C: .4byte gRoomControls
thumb_func_start sub_08053250
sub_08053250: @ 0x08053250
push {r4, lr}
ldr r0, _0805328C @ =gUnk_030010A0
movs r1, #0
strb r1, [r0, #0xf]
ldr r3, _08053290 @ =gLinkEntity
ldr r4, _08053294 @ =gRoomControls
ldrh r1, [r3, #0x2e]
ldrh r2, [r4, #6]
subs r1, r1, r2
strh r1, [r0, #0x10]
ldrh r1, [r3, #0x32]
ldrh r2, [r4, #8]
subs r1, r1, r2
strh r1, [r0, #0x12]
ldrb r1, [r3, #0x14]
strb r1, [r0, #0xe]
adds r3, #0x38
ldrb r1, [r3]
strb r1, [r0, #0x14]
ldrb r1, [r4, #4]
strb r1, [r0, #0xc]
ldrb r1, [r4, #5]
strb r1, [r0, #0xd]
adds r0, #0xc
ldr r1, _08053298 @ =gUnk_02002AC8
movs r2, #0x20
bl sub_0801D66C
pop {r4, pc}
.align 2, 0
_0805328C: .4byte gUnk_030010A0
_08053290: .4byte gLinkEntity
_08053294: .4byte gRoomControls
_08053298: .4byte gUnk_02002AC8
thumb_func_start sub_0805329C
sub_0805329C: @ 0x0805329C
push {lr}
bl sub_08053144
cmp r0, #0
beq _080532E0
ldr r0, _080532B8 @ =gRoomControls
ldrb r0, [r0, #4]
cmp r0, #0x48
beq _080532C2
cmp r0, #0x48
bgt _080532BC
cmp r0, #0x18
beq _080532D6
b _080532DC
.align 2, 0
_080532B8: .4byte gRoomControls
_080532BC:
cmp r0, #0x50
beq _080532D0
b _080532DC
_080532C2:
ldr r1, _080532CC @ =gUnk_02002A40
movs r0, #0
strb r0, [r1, #7]
b _080532E0
.align 2, 0
_080532CC: .4byte gUnk_02002A40
_080532D0:
bl sub_080530B0
b _080532E0
_080532D6:
bl sub_080532E4
b _080532E0
_080532DC:
bl sub_08053460
_080532E0:
pop {pc}
.align 2, 0
thumb_func_start sub_080532E4
sub_080532E4: @ 0x080532E4
ldr r0, _08053318 @ =gUnk_0811E214
movs r1, #0xb0
lsls r1, r1, #1
adds r0, r0, r1
ldr r0, [r0]
movs r3, #0xa5
lsls r3, r3, #1
adds r2, r0, r3
ldr r1, _0805331C @ =gUnk_030010A0
movs r0, #0x58
strb r0, [r1, #0x16]
movs r0, #0x21
strb r0, [r1, #0x17]
ldrh r0, [r2, #4]
lsrs r0, r0, #1
ldrh r3, [r2]
adds r0, r0, r3
strh r0, [r1, #0x18]
strh r0, [r1, #0x1c]
ldrh r0, [r2, #6]
ldrh r2, [r2, #2]
adds r0, r0, r2
adds r0, #0xa0
strh r0, [r1, #0x1a]
strh r0, [r1, #0x1e]
bx lr
.align 2, 0
_08053318: .4byte gUnk_0811E214
_0805331C: .4byte gUnk_030010A0
thumb_func_start sub_08053320
sub_08053320: @ 0x08053320
push {r4, lr}
ldr r0, _0805337C @ =gUnk_02034CB0
movs r4, #0x80
lsls r4, r4, #4
adds r1, r4, #0
bl sub_0801D630
ldr r0, _08053380 @ =gUnk_02021F30
adds r1, r4, #0
bl sub_0801D630
ldr r0, _08053384 @ =gUnk_020344B0
adds r1, r4, #0
bl sub_0801D630
ldr r0, _08053388 @ =gUnk_02001A40
movs r1, #0x80
lsls r1, r1, #5
bl sub_0801D630
movs r0, #0x10
bl sub_0801D7EC
movs r0, #0x17
bl sub_0801D7EC
ldr r0, _0805338C @ =gRoomControls
ldrb r0, [r0, #4]
cmp r0, #4
bne _08053362
movs r0, #0x1a
bl sub_0801D7EC
_08053362:
bl sub_08053390
movs r0, #0xb
bl sub_0801D714
movs r0, #0xc
bl sub_0801D714
movs r0, #0
movs r1, #0
bl sub_0801D79C
pop {r4, pc}
.align 2, 0
_0805337C: .4byte gUnk_02034CB0
_08053380: .4byte gUnk_02021F30
_08053384: .4byte gUnk_020344B0
_08053388: .4byte gUnk_02001A40
_0805338C: .4byte gRoomControls
thumb_func_start sub_08053390
sub_08053390: @ 0x08053390
push {lr}
movs r0, #8
bl GetInventoryValue
movs r1, #0x19
cmp r0, #0
beq _080533A0
movs r1, #0x18
_080533A0:
adds r0, r1, #0
bl sub_0801D7EC
movs r0, #0xa
bl GetInventoryValue
cmp r0, #0
beq _080533B6
movs r0, #0x1d
bl sub_0801D7EC
_080533B6:
movs r0, #0xc
bl GetInventoryValue
movs r1, #0x1b
cmp r0, #0
beq _080533C4
movs r1, #0x1c
_080533C4:
adds r0, r1, #0
bl sub_0801D7EC
pop {pc}
thumb_func_start sub_080533CC
sub_080533CC: @ 0x080533CC
ldr r0, _08053400 @ =gUnk_020178E0
ldr r2, _08053404 @ =0xFFFFFE00
adds r1, r0, r2
ldrh r2, [r0]
strh r2, [r1]
adds r0, #2
adds r1, #2
ldrh r2, [r0]
strh r2, [r1]
adds r0, #2
adds r1, #2
ldrh r2, [r0]
strh r2, [r1]
adds r0, #2
adds r1, #2
ldrh r2, [r0]
strh r2, [r1]
ldrh r0, [r0, #2]
strh r0, [r1, #2]
ldr r2, _08053408 @ =gUnk_0200B644
ldr r0, [r2]
movs r1, #8
orrs r0, r1
str r0, [r2]
bx lr
.align 2, 0
_08053400: .4byte gUnk_020178E0
_08053404: .4byte 0xFFFFFE00
_08053408: .4byte gUnk_0200B644
thumb_func_start sub_0805340C
sub_0805340C: @ 0x0805340C
push {r4, r5, r6, lr}
ldr r5, _08053428 @ =gUnk_02002ECC
movs r4, #0
ldr r6, _0805342C @ =gUnk_080FCB18
_08053414:
ldm r6!, {r1}
adds r0, r5, #0
bl _call_via_r1
adds r4, #1
adds r5, #4
cmp r4, #7
bls _08053414
pop {r4, r5, r6, pc}
.align 2, 0
_08053428: .4byte gUnk_02002ECC
_0805342C: .4byte gUnk_080FCB18
thumb_func_start nullsub_480
nullsub_480: @ 0x08053430
bx lr
.align 2, 0
thumb_func_start sub_08053434
sub_08053434: @ 0x08053434
push {lr}
adds r1, r0, #0
ldr r0, _0805345C @ =gUnk_02033A90
ldrb r0, [r0, #1]
cmp r0, #0x1d
bne _0805345A
ldr r0, [r1]
cmp r0, #0
beq _0805345A
subs r0, #1
str r0, [r1]
cmp r0, #0
bne _0805345A
bl sub_08053460
movs r0, #5
movs r1, #6
bl sub_080A7138
_0805345A:
pop {pc}
.align 2, 0
_0805345C: .4byte gUnk_02033A90
thumb_func_start sub_08053460
sub_08053460: @ 0x08053460
push {lr}
ldr r0, _08053488 @ =gUnk_02002A40
ldr r1, _0805348C @ =0x0000048C
adds r0, r0, r1
movs r1, #0
str r1, [r0]
movs r0, #0x8c
lsls r0, r0, #4
movs r1, #0x79
bl GetProgressFlagWithOffset
cmp r0, #0
beq _08053480
movs r0, #0x1c
bl sub_0807CD80
_08053480:
ldr r0, _08053490 @ =gUnk_080FCB38
bl sub_0805356C
pop {pc}
.align 2, 0
_08053488: .4byte gUnk_02002A40
_0805348C: .4byte 0x0000048C
_08053490: .4byte gUnk_080FCB38
thumb_func_start sub_08053494
sub_08053494: @ 0x08053494
ldr r0, _080534A0 @ =gUnk_02002A40
ldr r1, _080534A4 @ =0x0000048C
adds r0, r0, r1
ldr r1, _080534A8 @ =0x00002A30
str r1, [r0]
bx lr
.align 2, 0
_080534A0: .4byte gUnk_02002A40
_080534A4: .4byte 0x0000048C
_080534A8: .4byte 0x00002A30
thumb_func_start sub_080534AC
sub_080534AC: @ 0x080534AC
push {r4, lr}
movs r4, #0x8c
lsls r4, r4, #4
adds r0, r4, #0
movs r1, #0x7c
bl GetProgressFlagWithOffset
cmp r0, #0
beq _080534D6
adds r0, r4, #0
movs r1, #0x7c
bl sub_0807CD20
ldr r0, _080534D8 @ =gUnk_02002A40
ldr r1, _080534DC @ =0x0000048C
adds r0, r0, r1
movs r1, #0
str r1, [r0]
ldr r0, _080534E0 @ =0x80100000
bl PlaySFX
_080534D6:
pop {r4, pc}
.align 2, 0
_080534D8: .4byte gUnk_02002A40
_080534DC: .4byte 0x0000048C
_080534E0: .4byte 0x80100000
thumb_func_start sub_080534E4
sub_080534E4: @ 0x080534E4
push {lr}
adds r1, r0, #0
ldr r0, _080534FC @ =gRoomControls
ldrb r0, [r0, #4]
cmp r0, #0x1a
beq _080534FA
ldr r0, [r1]
cmp r0, #0
beq _080534FA
subs r0, #1
str r0, [r1]
_080534FA:
pop {pc}
.align 2, 0
_080534FC: .4byte gRoomControls
thumb_func_start sub_08053500
sub_08053500: @ 0x08053500
ldr r0, _0805350C @ =gUnk_02002A40
ldr r1, _08053510 @ =0x00000494
adds r0, r0, r1
ldr r1, _08053514 @ =0x00008CA0
str r1, [r0]
bx lr
.align 2, 0
_0805350C: .4byte gUnk_02002A40
_08053510: .4byte 0x00000494
_08053514: .4byte 0x00008CA0
thumb_func_start sub_08053518
sub_08053518: @ 0x08053518
push {lr}
bl sub_08053460
ldr r0, _08053568 @ =gUnk_080FCB62
bl sub_0805356C
movs r0, #0x1b
bl GetProgressFlag
cmp r0, #0
bne _08053534
movs r0, #0x1a
bl sub_0807CD80
_08053534:
movs r0, #0x40
bl GetInventoryValue
cmp r0, #0
bne _08053544
movs r0, #2
bl sub_0807CD80
_08053544:
movs r0, #0x41
bl GetInventoryValue
cmp r0, #0
bne _08053554
movs r0, #3
bl sub_0807CD80
_08053554:
movs r0, #0x42
bl GetInventoryValue
cmp r0, #0
bne _08053564
movs r0, #5
bl sub_0807CD80
_08053564:
pop {pc}
.align 2, 0
_08053568: .4byte gUnk_080FCB62
thumb_func_start sub_0805356C
sub_0805356C: @ 0x0805356C
push {r4, r5, lr}
adds r4, r0, #0
ldrh r0, [r4]
ldr r1, _0805358C @ =0x0000FFFF
cmp r0, r1
beq _0805358A
adds r5, r1, #0
_0805357A:
ldrh r0, [r4]
ldrh r1, [r4, #2]
bl sub_0807CD20
adds r4, #4
ldrh r0, [r4]
cmp r0, r5
bne _0805357A
_0805358A:
pop {r4, r5, pc}
.align 2, 0
_0805358C: .4byte 0x0000FFFF
thumb_func_start sub_08053590
sub_08053590: @ 0x08053590
push {lr}
ldr r1, _080535A4 @ =gUnk_080FCBB4
ldr r0, _080535A8 @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_080535A4: .4byte gUnk_080FCBB4
_080535A8: .4byte gUnk_02000080
thumb_func_start sub_080535AC
sub_080535AC: @ 0x080535AC
push {lr}
ldr r2, _080535DC @ =gUnk_02000080
movs r1, #1
strb r1, [r2, #6]
movs r0, #0x78
strh r0, [r2, #8]
ldr r0, _080535E0 @ =gUnk_02032EC0
strb r1, [r0, #6]
ldr r0, _080535E4 @ =gUnk_02000070
strb r1, [r0]
ldr r2, _080535E8 @ =gLCDControls
ldrh r1, [r2]
ldr r0, _080535EC @ =0x0000FEFF
ands r0, r1
strh r0, [r2]
ldr r0, _080535F0 @ =gUnk_080FCB94
bl LoadRoomEntityList
movs r0, #6
movs r1, #8
bl DoFade
pop {pc}
.align 2, 0
_080535DC: .4byte gUnk_02000080
_080535E0: .4byte gUnk_02032EC0
_080535E4: .4byte gUnk_02000070
_080535E8: .4byte gLCDControls
_080535EC: .4byte 0x0000FEFF
_080535F0: .4byte gUnk_080FCB94
thumb_func_start sub_080535F4
sub_080535F4: @ 0x080535F4
push {lr}
ldr r0, _0805360C @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053608
bl sub_0805E5B4
ldr r1, _08053610 @ =gUnk_02000080
movs r0, #2
strb r0, [r1, #6]
_08053608:
pop {pc}
.align 2, 0
_0805360C: .4byte gUnk_03000FD0
_08053610: .4byte gUnk_02000080
thumb_func_start nullsub_481
nullsub_481: @ 0x08053614
bx lr
.align 2, 0
thumb_func_start sub_08053618
sub_08053618: @ 0x08053618
push {lr}
ldr r1, _08053630 @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _0805362C
bl sub_08052004
_0805362C:
pop {pc}
.align 2, 0
_08053630: .4byte gUnk_02000080
thumb_func_start sub_08053634
sub_08053634: @ 0x08053634
push {lr}
ldr r1, _08053644 @ =gUnk_02032EC0
movs r0, #3
strb r0, [r1]
bl sub_08056418
pop {pc}
.align 2, 0
_08053644: .4byte gUnk_02032EC0
thumb_func_start sub_08053648
sub_08053648: @ 0x08053648
push {lr}
movs r0, #0x2d
movs r1, #0
movs r2, #0
bl CreateObject
adds r2, r0, #0
cmp r2, #0
beq _08053674
ldr r0, _08053678 @ =gRoomControls
movs r3, #0xb4
lsls r3, r3, #2
adds r1, r3, #0
ldrh r3, [r0, #6]
adds r1, r1, r3
strh r1, [r2, #0x2e]
movs r3, #0xa4
lsls r3, r3, #1
adds r1, r3, #0
ldrh r0, [r0, #8]
adds r1, r1, r0
strh r1, [r2, #0x32]
_08053674:
pop {pc}
.align 2, 0
_08053678: .4byte gRoomControls
thumb_func_start sub_0805367C
sub_0805367C: @ 0x0805367C
ldr r1, _08053688 @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
bx lr
.align 2, 0
_08053688: .4byte gUnk_02000080
thumb_func_start sub_0805368C
sub_0805368C: @ 0x0805368C
push {lr}
movs r0, #6
movs r1, #0x5d
movs r2, #6
bl sub_0805EB00
cmp r0, #0
beq _080536A6
bl sub_0805E7BC
movs r0, #0xf0
bl PlaySFX
_080536A6:
pop {pc}
thumb_func_start sub_080536A8
sub_080536A8: @ 0x080536A8
push {lr}
movs r0, #5
movs r1, #5
movs r2, #4
movs r3, #0x10
bl sub_080A71C4
pop {pc}
thumb_func_start sub_080536B8
sub_080536B8: @ 0x080536B8
push {lr}
movs r0, #5
movs r1, #3
movs r2, #4
movs r3, #4
bl sub_080A71C4
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
pop {pc}
.align 2, 0
thumb_func_start sub_080536D4
sub_080536D4: @ 0x080536D4
push {lr}
ldr r1, _080536E8 @ =gUnk_080FCCFC
ldr r0, _080536EC @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_080536E8: .4byte gUnk_080FCCFC
_080536EC: .4byte gUnk_02000080
thumb_func_start sub_080536F0
sub_080536F0: @ 0x080536F0
push {lr}
ldr r1, _08053704 @ =gUnk_080FCD38
ldr r0, _08053708 @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053704: .4byte gUnk_080FCD38
_08053708: .4byte gUnk_02000080
thumb_func_start sub_0805370C
sub_0805370C: @ 0x0805370C
push {lr}
ldr r1, _08053730 @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
ldr r1, _08053734 @ =gUnk_02000070
movs r0, #1
strb r0, [r1]
bl sub_08051FF0
ldr r0, _08053738 @ =gUnk_080FCC54
bl LoadRoomEntityList
movs r0, #4
movs r1, #0x10
bl DoFade
pop {pc}
.align 2, 0
_08053730: .4byte gUnk_02000080
_08053734: .4byte gUnk_02000070
_08053738: .4byte gUnk_080FCC54
thumb_func_start sub_0805373C
sub_0805373C: @ 0x0805373C
push {lr}
ldr r1, _08053750 @ =gUnk_080FCD40
ldr r0, _08053754 @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053750: .4byte gUnk_080FCD40
_08053754: .4byte gUnk_02000080
thumb_func_start sub_08053758
sub_08053758: @ 0x08053758
push {r4, lr}
ldr r1, _080537DC @ =gUnk_02000080
movs r2, #0
movs r3, #1
strb r3, [r1, #6]
movs r4, #0
movs r0, #0x78
strh r0, [r1, #8]
movs r0, #0x1e
strh r0, [r1, #0xa]
strb r4, [r1, #0x10]
ldr r0, _080537E0 @ =gUnk_02032EC0
strb r3, [r0, #6]
ldr r0, _080537E4 @ =gUnk_02025EB0
str r2, [r0]
ldr r0, _080537E8 @ =gUnk_0200B650
str r2, [r0]
ldr r0, _080537EC @ =gRoomControls
str r2, [r0, #0x30]
strh r2, [r0, #0xc]
strh r2, [r0, #0xa]
bl sub_0801B170
movs r0, #0
bl sub_0801DA90
ldr r2, _080537F0 @ =gLCDControls
movs r0, #0x99
lsls r0, r0, #6
strh r0, [r2]
adds r1, r2, #0
adds r1, #0x66
ldr r0, _080537F4 @ =0x00002244
strh r0, [r1]
adds r1, #2
movs r0, #0x80
lsls r0, r0, #5
strh r0, [r1]
subs r1, #8
movs r0, #0x1f
strh r0, [r1]
adds r1, #2
movs r0, #0x3f
strh r0, [r1]
subs r1, #0xa
movs r0, #0xf0
strh r0, [r1]
adds r1, #4
movs r0, #0x60
strh r0, [r1]
ldr r0, _080537F8 @ =0x00001C4E
strh r0, [r2, #0x14]
ldr r0, _080537FC @ =0x00001DC1
strh r0, [r2, #0x20]
movs r0, #0xf
bl PlaySFX
bl sub_0805E5B4
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
pop {r4, pc}
.align 2, 0
_080537DC: .4byte gUnk_02000080
_080537E0: .4byte gUnk_02032EC0
_080537E4: .4byte gUnk_02025EB0
_080537E8: .4byte gUnk_0200B650
_080537EC: .4byte gRoomControls
_080537F0: .4byte gLCDControls
_080537F4: .4byte 0x00002244
_080537F8: .4byte 0x00001C4E
_080537FC: .4byte 0x00001DC1
thumb_func_start sub_08053800
sub_08053800: @ 0x08053800
push {r4, r5, lr}
ldr r0, _0805387C @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _0805387A
ldr r1, _08053880 @ =gUnk_02000080
ldrb r5, [r1, #0x10]
lsls r4, r5, #1
adds r4, r4, r5
lsls r4, r4, #2
ldr r0, _08053884 @ =gUnk_080FCCB4
adds r4, r4, r0
ldrh r0, [r4, #8]
movs r2, #0
strh r0, [r1, #8]
movs r0, #0x1e
strh r0, [r1, #0xa]
ldrb r0, [r1, #0x10]
adds r0, #1
strb r0, [r1, #0x10]
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
strb r2, [r1, #7]
adds r0, r5, #0
adds r0, #0x8a
bl sub_0801D714
adds r0, r5, #0
adds r0, #0x3a
bl sub_0801D7EC
ldr r0, _08053888 @ =gUnk_02021F30
movs r1, #0x80
lsls r1, r1, #4
bl sub_0801D630
ldr r0, _0805388C @ =0x00000F01
adds r5, r5, r0
ldr r1, [r4]
adds r0, r5, #0
bl sub_0805F46C
ldr r2, _08053890 @ =gLCDControls
movs r0, #1
strh r0, [r2, #0x1a]
adds r1, r2, #0
adds r1, #0x68
movs r0, #0x10
strh r0, [r1]
ldrh r1, [r4, #4]
adds r0, r2, #0
adds r0, #0x58
strh r1, [r0]
ldrh r1, [r4, #6]
adds r0, #4
strh r1, [r0]
ldrh r1, [r4, #0xa]
movs r0, #4
bl DoFade
_0805387A:
pop {r4, r5, pc}
.align 2, 0
_0805387C: .4byte gUnk_03000FD0
_08053880: .4byte gUnk_02000080
_08053884: .4byte gUnk_080FCCB4
_08053888: .4byte gUnk_02021F30
_0805388C: .4byte 0x00000F01
_08053890: .4byte gLCDControls
thumb_func_start sub_08053894
sub_08053894: @ 0x08053894
push {r4, lr}
ldr r0, _080538B4 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _080538F8
ldr r1, _080538B8 @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
ldrh r0, [r1, #0xa]
adds r4, r1, #0
cmp r0, #0
beq _080538BC
subs r0, #1
strh r0, [r4, #0xa]
b _080538E4
.align 2, 0
_080538B4: .4byte gUnk_03000FD0
_080538B8: .4byte gUnk_02000080
_080538BC:
ldr r0, _080538FC @ =gUnk_030010A0
ldr r0, [r0]
movs r1, #1
ands r0, r1
cmp r0, #0
bne _080538E4
ldrb r1, [r4, #7]
cmp r1, #0xf
bhi _080538E4
adds r1, #1
strb r1, [r4, #7]
lsls r1, r1, #0x18
ldr r3, _08053900 @ =gLCDControls
lsrs r2, r1, #0x10
lsrs r1, r1, #0x19
movs r0, #0x10
subs r0, r0, r1
orrs r2, r0
adds r3, #0x68
strh r2, [r3]
_080538E4:
ldrh r0, [r4, #8]
cmp r0, #0
bne _080538F8
ldrb r0, [r4, #6]
adds r0, #1
strb r0, [r4, #6]
movs r0, #5
movs r1, #8
bl DoFade
_080538F8:
pop {r4, pc}
.align 2, 0
_080538FC: .4byte gUnk_030010A0
_08053900: .4byte gLCDControls
thumb_func_start sub_08053904
sub_08053904: @ 0x08053904
push {r4, lr}
ldr r0, _08053924 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053968
ldr r1, _08053928 @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
ldrh r0, [r1, #0xa]
adds r4, r1, #0
cmp r0, #0
beq _0805392C
subs r0, #1
strh r0, [r4, #0xa]
b _08053954
.align 2, 0
_08053924: .4byte gUnk_03000FD0
_08053928: .4byte gUnk_02000080
_0805392C:
ldr r0, _0805396C @ =gUnk_030010A0
ldr r0, [r0]
movs r1, #1
ands r0, r1
cmp r0, #0
bne _08053954
ldrb r1, [r4, #7]
cmp r1, #0xf
bhi _08053954
adds r1, #1
strb r1, [r4, #7]
lsls r1, r1, #0x18
ldr r3, _08053970 @ =gLCDControls
lsrs r2, r1, #0x10
lsrs r1, r1, #0x19
movs r0, #0x10
subs r0, r0, r1
orrs r2, r0
adds r3, #0x68
strh r2, [r3]
_08053954:
ldrh r0, [r4, #8]
cmp r0, #0
bne _08053968
ldrb r0, [r4, #6]
adds r0, #1
strb r0, [r4, #6]
movs r0, #5
movs r1, #1
bl DoFade
_08053968:
pop {r4, pc}
.align 2, 0
_0805396C: .4byte gUnk_030010A0
_08053970: .4byte gLCDControls
thumb_func_start sub_08053974
sub_08053974: @ 0x08053974
push {lr}
ldr r0, _080539AC @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _080539A8
bl sub_0804FFE4
movs r0, #1
bl sub_0801DA90
bl sub_080197AC
bl sub_08051F78
ldr r0, _080539B0 @ =gUnk_080FCBC4
bl LoadRoomEntityList
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
ldr r1, _080539B4 @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
_080539A8:
pop {pc}
.align 2, 0
_080539AC: .4byte gUnk_03000FD0
_080539B0: .4byte gUnk_080FCBC4
_080539B4: .4byte gUnk_02000080
thumb_func_start nullsub_482
nullsub_482: @ 0x080539B8
bx lr
.align 2, 0
thumb_func_start sub_080539BC
sub_080539BC: @ 0x080539BC
push {lr}
bl sub_080197AC
bl sub_0805E89C
movs r0, #0x22
movs r1, #0x11
movs r2, #0
movs r3, #0
bl sub_08051F9C
movs r0, #0x22
movs r1, #0x11
bl sub_0804B0B0
ldr r0, _080539EC @ =gUnk_080FCC14
bl LoadRoomEntityList
ldr r1, _080539F0 @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
pop {pc}
.align 2, 0
_080539EC: .4byte gUnk_080FCC14
_080539F0: .4byte gUnk_02000080
thumb_func_start sub_080539F4
sub_080539F4: @ 0x080539F4
push {lr}
ldr r0, _08053A14 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053A10
movs r0, #1
bl sub_0801DA90
ldr r0, _08053A18 @ =gUnk_02000080
ldrb r1, [r0, #6]
adds r1, #1
strb r1, [r0, #6]
movs r1, #0x3c
strh r1, [r0, #8]
_08053A10:
pop {pc}
.align 2, 0
_08053A14: .4byte gUnk_03000FD0
_08053A18: .4byte gUnk_02000080
thumb_func_start sub_08053A1C
sub_08053A1C: @ 0x08053A1C
push {r4, lr}
ldr r1, _08053A50 @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _08053A4E
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
movs r4, #8
movs r0, #8
strh r0, [r1, #8]
ldr r0, _08053A54 @ =0x00000F07
bl TextboxTryNoOverlap
ldr r1, _08053A58 @ =gTextBox
movs r0, #1
strb r0, [r1, #6]
strb r4, [r1, #7]
movs r0, #4
movs r1, #8
bl DoFade
_08053A4E:
pop {r4, pc}
.align 2, 0
_08053A50: .4byte gUnk_02000080
_08053A54: .4byte 0x00000F07
_08053A58: .4byte gTextBox
thumb_func_start sub_08053A5C
sub_08053A5C: @ 0x08053A5C
push {lr}
ldr r0, _08053A88 @ =gTextBox
ldrb r1, [r0]
movs r0, #0x7f
ands r0, r1
cmp r0, #0
bne _08053A86
ldr r1, _08053A8C @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _08053A86
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
movs r0, #5
movs r1, #8
bl DoFade
_08053A86:
pop {pc}
.align 2, 0
_08053A88: .4byte gTextBox
_08053A8C: .4byte gUnk_02000080
thumb_func_start sub_08053A90
sub_08053A90: @ 0x08053A90
push {lr}
ldr r0, _08053AA8 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053AA4
ldr r1, _08053AAC @ =gUnk_02032EC0
movs r0, #3
strb r0, [r1]
bl sub_080197AC
_08053AA4:
pop {pc}
.align 2, 0
_08053AA8: .4byte gUnk_03000FD0
_08053AAC: .4byte gUnk_02032EC0
thumb_func_start sub_08053AB0
sub_08053AB0: @ 0x08053AB0
push {lr}
ldr r1, _08053AC4 @ =gUnk_080FCDD4
ldr r0, _08053AC8 @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053AC4: .4byte gUnk_080FCDD4
_08053AC8: .4byte gUnk_02000080
thumb_func_start sub_08053ACC
sub_08053ACC: @ 0x08053ACC
push {lr}
ldr r1, _08053AF4 @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
ldr r1, _08053AF8 @ =gUnk_02000070
movs r0, #1
strb r0, [r1]
bl sub_08051FF0
ldr r0, _08053AFC @ =gUnk_080FCD84
bl LoadRoomEntityList
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
pop {pc}
.align 2, 0
_08053AF4: .4byte gUnk_02000080
_08053AF8: .4byte gUnk_02000070
_08053AFC: .4byte gUnk_080FCD84
thumb_func_start sub_08053B00
sub_08053B00: @ 0x08053B00
ldr r1, _08053B0C @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
bx lr
.align 2, 0
_08053B0C: .4byte gUnk_02000080
thumb_func_start sub_08053B10
sub_08053B10: @ 0x08053B10
push {lr}
movs r0, #1
bl sub_0807CC3C
cmp r0, #0
beq _08053B34
ldr r0, _08053B38 @ =gUnk_02000080
ldrb r1, [r0, #5]
adds r1, #1
strb r1, [r0, #5]
movs r0, #1
bl sub_0801DA90
movs r1, #0x80
lsls r1, r1, #1
movs r0, #4
bl DoFade
_08053B34:
pop {pc}
.align 2, 0
_08053B38: .4byte gUnk_02000080
thumb_func_start sub_08053B3C
sub_08053B3C: @ 0x08053B3C
push {r4, lr}
movs r4, #0x80
lsls r4, r4, #1
movs r0, #5
movs r1, #4
movs r2, #5
adds r3, r4, #0
bl sub_080A71C4
movs r0, #5
adds r1, r4, #0
bl DoFade
pop {r4, pc}
thumb_func_start sub_08053B58
sub_08053B58: @ 0x08053B58
push {lr}
ldr r1, _08053B6C @ =gUnk_080FCEB0
ldr r0, _08053B70 @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053B6C: .4byte gUnk_080FCEB0
_08053B70: .4byte gUnk_02000080
thumb_func_start sub_08053B74
sub_08053B74: @ 0x08053B74
push {lr}
ldr r1, _08053BA0 @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
ldr r1, _08053BA4 @ =gUnk_02000070
movs r0, #1
strb r0, [r1]
ldr r0, _08053BA8 @ =gUnk_080FCDE0
bl LoadRoomEntityList
bl sub_0805E5B4
bl sub_0805E470
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl DoFade
pop {pc}
.align 2, 0
_08053BA0: .4byte gUnk_02000080
_08053BA4: .4byte gUnk_02000070
_08053BA8: .4byte gUnk_080FCDE0
thumb_func_start sub_08053BAC
sub_08053BAC: @ 0x08053BAC
ldr r1, _08053BB8 @ =gUnk_02000080
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
bx lr
.align 2, 0
_08053BB8: .4byte gUnk_02000080
thumb_func_start sub_08053BBC
sub_08053BBC: @ 0x08053BBC
push {lr}
movs r0, #0
bl sub_0807CC3C
cmp r0, #0
beq _08053BE0
ldr r0, _08053BE4 @ =gUnk_02000080
ldrb r1, [r0, #5]
adds r1, #1
strb r1, [r0, #5]
movs r0, #1
bl sub_0801DA90
movs r1, #0x80
lsls r1, r1, #1
movs r0, #4
bl DoFade
_08053BE0:
pop {pc}
.align 2, 0
_08053BE4: .4byte gUnk_02000080
thumb_func_start sub_08053BE8
sub_08053BE8: @ 0x08053BE8
push {r4, lr}
movs r4, #0x80
lsls r4, r4, #1
movs r0, #5
movs r1, #2
movs r2, #5
adds r3, r4, #0
bl sub_080A71C4
movs r0, #5
adds r1, r4, #0
bl DoFade
pop {r4, pc}
thumb_func_start sub_08053C04
sub_08053C04: @ 0x08053C04
push {lr}
ldr r1, _08053C18 @ =gUnk_080FCEEC
ldr r0, _08053C1C @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053C18: .4byte gUnk_080FCEEC
_08053C1C: .4byte gUnk_02000080
thumb_func_start sub_08053C20
sub_08053C20: @ 0x08053C20
push {lr}
ldr r1, _08053C50 @ =gUnk_02000080
movs r2, #1
strb r2, [r1, #6]
movs r0, #0x78
strh r0, [r1, #8]
ldr r0, _08053C54 @ =gUnk_02000070
strb r2, [r0]
bl sub_08051FF0
movs r0, #4
bl sub_0805B4D0
ldr r0, _08053C58 @ =gUnk_080FCEBC
bl LoadRoomEntityList
movs r0, #4
movs r1, #0x10
bl DoFade
movs r0, #0x33
bl PlaySFX
pop {pc}
.align 2, 0
_08053C50: .4byte gUnk_02000080
_08053C54: .4byte gUnk_02000070
_08053C58: .4byte gUnk_080FCEBC
thumb_func_start nullsub_483
nullsub_483: @ 0x08053C5C
bx lr
.align 2, 0
thumb_func_start sub_08053C60
sub_08053C60: @ 0x08053C60
push {lr}
movs r0, #5
movs r1, #2
bl DoFade
movs r0, #0xf4
bl PlaySFX
ldr r0, _08053C80 @ =0x80100000
bl PlaySFX
movs r0, #3
bl sub_08056010
pop {pc}
.align 2, 0
_08053C80: .4byte 0x80100000
thumb_func_start sub_08053C84
sub_08053C84: @ 0x08053C84
ldr r1, _08053C8C @ =gUnk_02000080
movs r0, #2
strb r0, [r1, #6]
bx lr
.align 2, 0
_08053C8C: .4byte gUnk_02000080
thumb_func_start sub_08053C90
sub_08053C90: @ 0x08053C90
push {lr}
ldr r1, _08053CA4 @ =gUnk_080FCEF8
ldr r0, _08053CA8 @ =gUnk_02000080
ldrb r0, [r0, #3]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053CA4: .4byte gUnk_080FCEF8
_08053CA8: .4byte gUnk_02000080
thumb_func_start sub_08053CAC
sub_08053CAC: @ 0x08053CAC
push {lr}
ldr r1, _08053CC0 @ =gUnk_080FCFA4
ldr r0, _08053CC4 @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053CC0: .4byte gUnk_080FCFA4
_08053CC4: .4byte gUnk_02000080
thumb_func_start sub_08053CC8
sub_08053CC8: @ 0x08053CC8
push {r4, r5, r6, lr}
ldr r6, _08053D20 @ =gUnk_02000080
ldrb r4, [r6, #3]
lsls r4, r4, #4
ldr r0, _08053D24 @ =gUnk_080FCF04
adds r4, r4, r0
adds r0, r4, #0
adds r0, #8
str r0, [r6, #0xc]
ldr r0, [r4]
bl LoadRoomEntityList
ldrb r0, [r4, #4]
ldrb r1, [r4, #5]
movs r2, #1
bl sub_0804B0FC
bl LoadRoomEntityList
ldrb r0, [r4, #4]
ldrb r1, [r4, #5]
movs r2, #2
bl sub_0804B0FC
bl LoadRoomEntityList
movs r5, #1
strb r5, [r6, #6]
ldr r2, _08053D28 @ =gLCDControls
ldrh r1, [r2]
ldr r0, _08053D2C @ =0x0000FEFF
ands r0, r1
strh r0, [r2]
ldr r0, _08053D30 @ =gUnk_02000070
strb r5, [r0]
movs r0, #4
movs r1, #0x10
bl DoFade
ldrb r0, [r4, #5]
cmp r0, #0x1d
bne _08053D1E
strh r5, [r6, #0xa]
_08053D1E:
pop {r4, r5, r6, pc}
.align 2, 0
_08053D20: .4byte gUnk_02000080
_08053D24: .4byte gUnk_080FCF04
_08053D28: .4byte gLCDControls
_08053D2C: .4byte 0x0000FEFF
_08053D30: .4byte gUnk_02000070
thumb_func_start sub_08053D34
sub_08053D34: @ 0x08053D34
push {r4, lr}
ldr r1, _08053D88 @ =gUnk_02000080
ldrh r0, [r1, #0xa]
cmp r0, #0
beq _08053D72
movs r0, #0
strh r0, [r1, #0xa]
movs r4, #0xd0
lsls r4, r4, #3
adds r0, r4, #0
movs r1, #0x3d
bl GetProgressFlagWithOffset
cmp r0, #0
beq _08053D5C
movs r0, #0x74
movs r1, #0xc4
movs r2, #1
bl sub_0807B314
_08053D5C:
adds r0, r4, #0
movs r1, #0x3e
bl GetProgressFlagWithOffset
cmp r0, #0
beq _08053D72
movs r0, #0x74
movs r1, #0xcc
movs r2, #1
bl sub_0807B314
_08053D72:
ldr r0, _08053D8C @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053D86
ldr r1, _08053D88 @ =gUnk_02000080
movs r0, #0x78
strh r0, [r1, #8]
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
_08053D86:
pop {r4, pc}
.align 2, 0
_08053D88: .4byte gUnk_02000080
_08053D8C: .4byte gUnk_03000FD0
thumb_func_start sub_08053D90
sub_08053D90: @ 0x08053D90
push {lr}
ldr r1, _08053DB0 @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _08053DAC
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
movs r0, #0x10
bl sub_080500F4
_08053DAC:
pop {pc}
.align 2, 0
_08053DB0: .4byte gUnk_02000080
thumb_func_start sub_08053DB4
sub_08053DB4: @ 0x08053DB4
push {r4, r5, lr}
ldr r0, _08053E20 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053E1C
ldr r5, _08053E24 @ =gUnk_02000080
ldr r4, [r5, #0xc]
ldrb r0, [r4, #4]
ldrb r1, [r4, #5]
bl sub_08052FF4
bl sub_0807C740
ldr r1, _08053E28 @ =gUnk_02000070
movs r0, #1
strb r0, [r1]
ldr r1, _08053E2C @ =gRoomControls
movs r0, #6
ldrsb r0, [r4, r0]
ldrh r2, [r1, #0xa]
adds r0, r0, r2
strh r0, [r1, #0xa]
movs r0, #7
ldrsb r0, [r4, r0]
ldrh r2, [r1, #0xc]
adds r0, r0, r2
strh r0, [r1, #0xc]
ldr r0, [r4]
bl LoadRoomEntityList
ldrb r0, [r4, #4]
ldrb r1, [r4, #5]
movs r2, #1
bl sub_0804B0FC
bl LoadRoomEntityList
ldrb r0, [r4, #4]
ldrb r1, [r4, #5]
movs r2, #2
bl sub_0804B0FC
bl LoadRoomEntityList
movs r0, #0x78
strh r0, [r5, #8]
ldrb r0, [r5, #6]
adds r0, #1
strb r0, [r5, #6]
movs r0, #0x10
bl sub_080500F4
_08053E1C:
pop {r4, r5, pc}
.align 2, 0
_08053E20: .4byte gUnk_03000FD0
_08053E24: .4byte gUnk_02000080
_08053E28: .4byte gUnk_02000070
_08053E2C: .4byte gRoomControls
thumb_func_start sub_08053E30
sub_08053E30: @ 0x08053E30
push {lr}
ldr r0, _08053E50 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053E4E
ldr r1, _08053E54 @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _08053E4E
ldrb r0, [r1, #5]
adds r0, #1
strb r0, [r1, #5]
_08053E4E:
pop {pc}
.align 2, 0
_08053E50: .4byte gUnk_03000FD0
_08053E54: .4byte gUnk_02000080
thumb_func_start sub_08053E58
sub_08053E58: @ 0x08053E58
push {lr}
ldr r1, _08053E6C @ =gUnk_080FD108
ldr r0, _08053E70 @ =gUnk_02000080
ldrb r0, [r0, #6]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053E6C: .4byte gUnk_080FD108
_08053E70: .4byte gUnk_02000080
thumb_func_start sub_08053E74
sub_08053E74: @ 0x08053E74
push {r4, lr}
ldr r0, _08053EB0 @ =gUnk_080FCFB8
ldr r4, _08053EB4 @ =gUnk_02000080
str r0, [r4, #0xc]
ldr r0, [r0]
bl LoadRoomEntityList
movs r0, #0x78
strh r0, [r4, #8]
movs r0, #0x3c
strh r0, [r4, #0xa]
ldrb r0, [r4, #6]
adds r0, #1
strb r0, [r4, #6]
ldr r2, _08053EB8 @ =gLCDControls
ldrh r1, [r2]
ldr r0, _08053EBC @ =0x0000FEFF
ands r0, r1
strh r0, [r2]
ldr r1, _08053EC0 @ =gUnk_02000070
movs r0, #1
strb r0, [r1]
movs r0, #1
bl sub_0805E450
movs r0, #4
movs r1, #8
bl DoFade
pop {r4, pc}
.align 2, 0
_08053EB0: .4byte gUnk_080FCFB8
_08053EB4: .4byte gUnk_02000080
_08053EB8: .4byte gLCDControls
_08053EBC: .4byte 0x0000FEFF
_08053EC0: .4byte gUnk_02000070
thumb_func_start sub_08053EC4
sub_08053EC4: @ 0x08053EC4
push {r4, lr}
ldr r0, _08053EF4 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053EF0
ldr r4, _08053EF8 @ =gUnk_02000080
ldrh r0, [r4, #0xa]
subs r0, #1
strh r0, [r4, #0xa]
lsls r0, r0, #0x10
cmp r0, #0
bne _08053EF0
ldr r1, [r4, #0xc]
adds r0, r1, #0
adds r0, #0xc
str r0, [r4, #0xc]
ldr r0, [r1, #4]
bl LoadRoomEntityList
ldrb r0, [r4, #6]
adds r0, #1
strb r0, [r4, #6]
_08053EF0:
pop {r4, pc}
.align 2, 0
_08053EF4: .4byte gUnk_03000FD0
_08053EF8: .4byte gUnk_02000080
thumb_func_start sub_08053EFC
sub_08053EFC: @ 0x08053EFC
push {lr}
ldr r1, _08053F1C @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _08053F18
ldrb r0, [r1, #6]
adds r0, #1
strb r0, [r1, #6]
movs r0, #8
bl sub_080500F4
_08053F18:
pop {pc}
.align 2, 0
_08053F1C: .4byte gUnk_02000080
thumb_func_start sub_08053F20
sub_08053F20: @ 0x08053F20
push {r4, r5, lr}
ldr r0, _08053F78 @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053F74
bl sub_0805E89C
ldr r5, _08053F7C @ =gUnk_02000080
ldr r4, [r5, #0xc]
ldrb r0, [r4, #8]
ldrb r1, [r4, #9]
bl sub_08052FF4
bl sub_0807C740
ldr r1, _08053F80 @ =gUnk_02000070
movs r0, #1
strb r0, [r1]
ldr r1, _08053F84 @ =gRoomControls
movs r0, #0xa
ldrsb r0, [r4, r0]
ldrh r2, [r1, #0xa]
adds r0, r0, r2
strh r0, [r1, #0xa]
movs r0, #0xb
ldrsb r0, [r4, r0]
ldrh r2, [r1, #0xc]
adds r0, r0, r2
strh r0, [r1, #0xc]
ldr r0, [r4]
bl LoadRoomEntityList
movs r0, #0x78
strh r0, [r5, #8]
movs r0, #0x3c
strh r0, [r5, #0xa]
ldrb r0, [r5, #6]
adds r0, #1
strb r0, [r5, #6]
movs r0, #8
bl sub_080500F4
_08053F74:
pop {r4, r5, pc}
.align 2, 0
_08053F78: .4byte gUnk_03000FD0
_08053F7C: .4byte gUnk_02000080
_08053F80: .4byte gUnk_02000070
_08053F84: .4byte gRoomControls
thumb_func_start sub_08053F88
sub_08053F88: @ 0x08053F88
push {lr}
ldr r0, _08053FAC @ =gUnk_03000FD0
ldrb r0, [r0]
cmp r0, #0
bne _08053FAA
ldr r1, _08053FB0 @ =gUnk_02000080
ldrh r0, [r1, #8]
subs r0, #1
strh r0, [r1, #8]
lsls r0, r0, #0x10
cmp r0, #0
bne _08053FAA
ldrb r0, [r1, #5]
adds r0, #1
strb r0, [r1, #5]
bl sub_0805E470
_08053FAA:
pop {pc}
.align 2, 0
_08053FAC: .4byte gUnk_03000FD0
_08053FB0: .4byte gUnk_02000080
thumb_func_start sub_08053FB4
sub_08053FB4: @ 0x08053FB4
push {lr}
ldr r1, _08053FC8 @ =gUnk_080FD138
ldr r0, _08053FCC @ =gUnk_02000080
ldrb r0, [r0, #3]
lsls r0, r0, #2
adds r0, r0, r1
ldr r0, [r0]
bl _call_via_r0
pop {pc}
.align 2, 0
_08053FC8: .4byte gUnk_080FD138
_08053FCC: .4byte gUnk_02000080
thumb_func_start sub_08053FD0
sub_08053FD0: @ 0x08053FD0
lsls r0, r0, #3
ldr r1, _08053FDC @ =gUnk_080FD964
adds r0, r0, r1
ldrh r0, [r0, #4]
bx lr
.align 2, 0
_08053FDC: .4byte gUnk_080FD964
thumb_func_start sub_08053FE0
sub_08053FE0: @ 0x08053FE0
lsls r0, r0, #3
ldr r1, _08053FEC @ =gUnk_080FD964
adds r0, r0, r1
ldrh r0, [r0]
bx lr
.align 2, 0
_08053FEC: .4byte gUnk_080FD964
thumb_func_start sub_08053FF0
sub_08053FF0: @ 0x08053FF0
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
adds r6, r0, #0
adds r7, r1, #0
bl GetInventoryValue
adds r5, r0, #0
lsls r1, r6, #3
ldr r0, _08054010 @ =gUnk_080FD5B4
adds r4, r1, r0
cmp r5, #0
bne _08054014
ldrh r0, [r4, #4]
mov r8, r0
b _08054018
.align 2, 0
_08054010: .4byte gUnk_080FD5B4
_08054014:
ldrh r2, [r4, #6]
mov r8, r2
_08054018:
adds r0, r6, #0
bl sub_080544C8
cmp r0, #0
bne _08054034
adds r0, r6, #0
bl sub_08054398
cmp r5, #0
bne _08054034
adds r0, r6, #0
movs r1, #1
bl sub_0807CAA0
_08054034:
ldrb r0, [r4, #1]
cmp r0, #0x12
bls _0805403C
b _0805427C
_0805403C:
lsls r0, r0, #2
ldr r1, _08054048 @ =_0805404C
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08054048: .4byte _0805404C
_0805404C: @ jump table
.4byte _0805427C @ case 0
.4byte _08054098 @ case 1
.4byte _080540A6 @ case 2
.4byte _080540C0 @ case 3
.4byte _08054104 @ case 4
.4byte _0805414C @ case 5
.4byte _08054154 @ case 6
.4byte _08054194 @ case 7
.4byte _080541B6 @ case 8
.4byte _080541F0 @ case 9
.4byte _08054212 @ case 10
.4byte _080541F8 @ case 11
.4byte _08054238 @ case 12
.4byte _08054174 @ case 13
.4byte _08054240 @ case 14
.4byte _0805425C @ case 15
.4byte _08054264 @ case 16
.4byte _080541B0 @ case 17
.4byte _0805417C @ case 18
_08054098:
ldrb r0, [r4, #2]
bl ModHealth
movs r0, #0x71
bl PlaySFX
b _0805427C
_080540A6:
ldr r0, _080540BC @ =gUnk_080FD5A8
ldrb r1, [r4, #2]
lsls r1, r1, #1
adds r1, r1, r0
ldrh r0, [r1]
bl ModRupees
movs r0, #0x6f
bl PlaySFX
b _0805427C
.align 2, 0
_080540BC: .4byte gUnk_080FD5A8
_080540C0:
movs r5, #0
movs r4, #0x1c
b _080540CA
_080540C6:
adds r4, r1, #1
adds r5, #1
_080540CA:
cmp r5, #3
bls _080540D0
b _0805427C
_080540D0:
adds r0, r4, #0
bl GetInventoryValue
adds r1, r4, #0
cmp r0, #0
bne _080540C6
adds r6, r4, #0
ldr r0, _08054100 @ =gUnk_02002A40
adds r0, #0xb6
adds r1, r5, r0
ldrb r0, [r1]
cmp r0, #0
bne _080540EE
movs r0, #0x20
strb r0, [r1]
_080540EE:
adds r0, r6, #0
movs r1, #1
bl sub_0807CAA0
adds r0, r6, #0
bl sub_08054398
b _0805427C
.align 2, 0
_08054100: .4byte gUnk_02002A40
_08054104:
movs r5, #0
ldr r0, _08054144 @ =gUnk_02002A40
adds r2, r0, #0
adds r2, #0xb6
ldrb r1, [r2]
adds r3, r0, #0
cmp r1, #0x20
beq _08054126
adds r1, r2, #0
_08054116:
adds r5, #1
cmp r5, #3
bls _0805411E
b _0805427C
_0805411E:
adds r0, r5, r1
ldrb r0, [r0]
cmp r0, #0x20
bne _08054116
_08054126:
cmp r5, #3
bls _0805412C
b _0805427C
_0805412C:
adds r0, r3, #0
adds r0, #0xb6
adds r0, r5, r0
strb r6, [r0]
adds r0, r6, #0
movs r1, #1
bl sub_0807CAA0
ldr r0, _08054148 @ =0x00000109
bl PlaySFX
b _0805427C
.align 2, 0
_08054144: .4byte gUnk_02002A40
_08054148: .4byte 0x00000109
_0805414C:
movs r0, #1
bl sub_080526F8
b _0805424E
_08054154:
ldr r1, _08054168 @ =gUnk_02002A40
ldr r0, _0805416C @ =gUnk_02033A90
ldr r2, _08054170 @ =0x0000046C
adds r1, r1, r2
ldrb r0, [r0, #3]
adds r1, r1, r0
ldrb r0, [r1]
ldrb r2, [r4, #2]
orrs r0, r2
b _0805427A
.align 2, 0
_08054168: .4byte gUnk_02002A40
_0805416C: .4byte gUnk_02033A90
_08054170: .4byte 0x0000046C
_08054174:
movs r0, #0x72
bl sub_0801E738
b _0805427C
_0805417C:
cmp r6, #0xb
bne _0805418A
movs r0, #0xc
movs r1, #0
bl sub_0807CAA0
b _080541B0
_0805418A:
movs r0, #0xb
movs r1, #0
bl sub_0807CAA0
b _080541B0
_08054194:
cmp r6, #7
bne _080541A2
movs r0, #8
movs r1, #0
bl sub_0807CAA0
b _080541AA
_080541A2:
movs r0, #7
movs r1, #0
bl sub_0807CAA0
_080541AA:
movs r0, #0x63
bl ModBombs
_080541B0:
bl sub_08053390
b _0805427C
_080541B6:
cmp r5, #0
bne _080541CA
movs r0, #7
movs r1, #1
bl sub_0807CAA0
movs r0, #7
bl sub_08054398
b _080541E2
_080541CA:
ldr r0, _080541EC @ =gUnk_02002A40
adds r1, r0, #0
adds r1, #0xae
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #3
bls _080541E2
movs r0, #3
strb r0, [r1]
_080541E2:
movs r0, #0x63
bl ModBombs
b _0805427C
.align 2, 0
_080541EC: .4byte gUnk_02002A40
_080541F0:
ldrb r0, [r4, #2]
bl ModBombs
b _0805424E
_080541F8:
movs r0, #0x66
bl GetInventoryValue
cmp r0, #0
bne _0805420A
movs r0, #0x66
movs r1, #1
bl sub_0807CAA0
_0805420A:
movs r0, #0x63
bl ModArrows
b _080541B0
_08054212:
ldr r0, _08054234 @ =gUnk_02002A40
adds r1, r0, #0
adds r1, #0xaf
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #3
bls _0805422A
movs r0, #3
strb r0, [r1]
_0805422A:
movs r0, #0x63
bl ModArrows
b _0805427C
.align 2, 0
_08054234: .4byte gUnk_02002A40
_08054238:
ldrb r0, [r4, #2]
bl ModArrows
b _0805424E
_08054240:
movs r0, #0x3f
movs r1, #1
bl sub_0807CAA0
adds r0, r7, #0
bl sub_080542C0
_0805424E:
ldr r0, _08054258 @ =0x00000103
bl PlaySFX
b _0805427C
.align 2, 0
_08054258: .4byte 0x00000103
_0805425C:
adds r0, r7, #0
bl sub_0801E738
b _0805427C
_08054264:
ldr r0, _08054284 @ =gUnk_02002A40
adds r1, r0, #0
adds r1, #0xa8
ldrb r0, [r1]
adds r0, #1
strb r0, [r1]
lsls r0, r0, #0x18
lsrs r0, r0, #0x18
cmp r0, #3
bls _0805427C
movs r0, #3
_0805427A:
strb r0, [r1]
_0805427C:
mov r0, r8
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08054284: .4byte gUnk_02002A40
thumb_func_start sub_08054288
sub_08054288: @ 0x08054288
push {lr}
ldr r1, _08054298 @ =gUnk_080FD5B4
lsls r0, r0, #3
adds r0, r0, r1
ldrh r0, [r0, #6]
bl TextboxTryNoOverlap
pop {pc}
.align 2, 0
_08054298: .4byte gUnk_080FD5B4
thumb_func_start sub_0805429C
sub_0805429C: @ 0x0805429C
ldr r1, _080542A8 @ =gUnk_080FD5B4
lsls r0, r0, #3
adds r0, r0, r1
ldrh r0, [r0, #4]
bx lr
.align 2, 0
_080542A8: .4byte gUnk_080FD5B4
thumb_func_start sub_080542AC
sub_080542AC: @ 0x080542AC
ldr r1, _080542BC @ =gUnk_080FD5B4
lsls r0, r0, #3
adds r0, r0, r1
ldrb r1, [r0, #3]
movs r0, #1
ands r0, r1
bx lr
.align 2, 0
_080542BC: .4byte gUnk_080FD5B4
thumb_func_start sub_080542C0
sub_080542C0: @ 0x080542C0
push {lr}
adds r2, r0, #0
cmp r2, #0
bne _080542CA
movs r2, #1
_080542CA:
ldr r1, _080542DC @ =gUnk_02002A40
adds r0, r1, #0
adds r0, #0xc2
ldrh r0, [r0]
adds r2, r2, r0
cmp r2, #0
bge _080542E0
movs r2, #0
b _080542E8
.align 2, 0
_080542DC: .4byte gUnk_02002A40
_080542E0:
ldr r3, _080542F0 @ =0x000003E7
cmp r2, r3
ble _080542E8
adds r2, r3, #0
_080542E8:
adds r0, r1, #0
adds r0, #0xc2
strh r2, [r0]
pop {pc}
.align 2, 0
_080542F0: .4byte 0x000003E7