tmc/asm/code_0804B058.s

1271 lines
22 KiB
ArmAsm

.include "asm/macros.inc"
.text
.syntax unified
thumb_func_start sub_0804B058
sub_0804B058: @ 0x0804B058
push {r4, r5, lr}
adds r4, r0, #0
cmp r4, #0
beq _0804B0AE
ldrb r0, [r4]
cmp r0, #0xff
beq _0804B0AE
movs r5, #0
_0804B068:
cmp r5, #0x1f
bhi _0804B09E
ldrb r1, [r4]
movs r0, #0xf
ands r0, r1
cmp r0, #3
bne _0804B09E
adds r0, r5, #0
bl sub_08049D1C
cmp r0, #0
beq _0804B0A4
adds r0, r4, #0
bl CreateEntity
adds r2, r0, #0
cmp r2, #0
beq _0804B0A4
ldrb r0, [r2, #8]
cmp r0, #3
bne _0804B0A4
movs r0, #0x80
adds r2, #0x6c
adds r1, r5, #0
orrs r1, r0
strb r1, [r2]
b _0804B0A4
_0804B09E:
adds r0, r4, #0
bl CreateEntity
_0804B0A4:
adds r5, #1
adds r4, #0x10
ldrb r0, [r4]
cmp r0, #0xff
bne _0804B068
_0804B0AE:
pop {r4, r5, pc}
thumb_func_start sub_0804B0B0
sub_0804B0B0: @ 0x0804B0B0
push {lr}
movs r2, #1
bl sub_0804B0FC
bl LoadRoomEntityList
pop {pc}
.align 2, 0
thumb_func_start sub_0804B0C0
sub_0804B0C0: @ 0x0804B0C0
push {lr}
adds r2, r1, #0
ldr r3, _0804B0E0 @ =gUnk_02017654
movs r1, #0
str r1, [r3]
ldr r1, _0804B0E4 @ =gUnk_080D50FC
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
cmp r1, #0
beq _0804B0DE
lsls r0, r2, #2
adds r0, r0, r1
ldr r0, [r0]
str r0, [r3]
_0804B0DE:
pop {pc}
.align 2, 0
_0804B0E0: .4byte gUnk_02017654
_0804B0E4: .4byte gUnk_080D50FC
thumb_func_start sub_0804B0E8
sub_0804B0E8: @ 0x0804B0E8
push {lr}
movs r2, #4
bl sub_0804B0FC
cmp r0, #0
beq _0804B0F8
bl _call_via_r0
_0804B0F8:
pop {pc}
.align 2, 0
thumb_func_start sub_0804B0FC
sub_0804B0FC: @ 0x0804B0FC
push {r4, lr}
adds r3, r1, #0
adds r4, r2, #0
movs r2, #0
ldr r1, _0804B124 @ =gUnk_080D50FC
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
cmp r1, #0
beq _0804B120
lsls r0, r3, #2
adds r0, r0, r1
ldr r2, [r0]
cmp r2, #0
beq _0804B120
lsls r0, r4, #2
adds r0, r0, r2
ldr r2, [r0]
_0804B120:
adds r0, r2, #0
pop {r4, pc}
.align 2, 0
_0804B124: .4byte gUnk_080D50FC
thumb_func_start sub_0804B128
sub_0804B128: @ 0x0804B128
push {lr}
adds r2, r0, #0
ldr r0, _0804B138 @ =gUnk_02017654
ldr r1, [r0]
cmp r1, #0
bne _0804B13C
movs r0, #0
b _0804B166
.align 2, 0
_0804B138: .4byte gUnk_02017654
_0804B13C:
cmp r2, #0x7f
bls _0804B150
ldr r0, _0804B14C @ =gUnk_02034350
movs r1, #7
ands r1, r2
lsls r1, r1, #2
adds r0, #0x8c
b _0804B162
.align 2, 0
_0804B14C: .4byte gUnk_02034350
_0804B150:
cmp r2, #7
bls _0804B15C
lsls r0, r2, #2
adds r0, r0, r1
ldr r0, [r0]
b _0804B166
_0804B15C:
ldr r0, _0804B168 @ =gUnk_02034350
lsls r1, r2, #2
adds r0, #0x6c
_0804B162:
adds r1, r1, r0
ldr r0, [r1]
_0804B166:
pop {pc}
.align 2, 0
_0804B168: .4byte gUnk_02034350
thumb_func_start sub_0804B16C
sub_0804B16C: @ 0x0804B16C
push {r4, lr}
ldr r4, _0804B1A4 @ =gUnk_02017660
_0804B170:
ldrh r0, [r4, #4]
cmp r0, #0
beq _0804B198
ldrb r0, [r4, #1]
bl sub_0807CBD0
cmp r0, #0
beq _0804B198
ldrh r3, [r4, #4]
ldrb r1, [r4, #6]
movs r0, #1
ands r0, r1
movs r2, #1
cmp r0, #0
beq _0804B190
movs r2, #2
_0804B190:
movs r0, #0x74
adds r1, r3, #0
bl sub_0807B314
_0804B198:
adds r4, #8
ldr r0, _0804B1A8 @ =gUnk_020176A0
cmp r4, r0
blo _0804B170
pop {r4, pc}
.align 2, 0
_0804B1A4: .4byte gUnk_02017660
_0804B1A8: .4byte gUnk_020176A0
thumb_func_start sub_0804B1AC
sub_0804B1AC: @ 0x0804B1AC
push {r4, lr}
adds r4, r0, #0
cmp r4, #0
beq _0804B25A
b _0804B254
_0804B1B6:
ldrb r0, [r4]
subs r0, #1
cmp r0, #0xc
bhi _0804B252
lsls r0, r0, #2
ldr r1, _0804B1C8 @ =_0804B1CC
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0804B1C8: .4byte _0804B1CC
_0804B1CC: @ jump table
.4byte _0804B200 @ case 0
.4byte _0804B208 @ case 1
.4byte _0804B252 @ case 2
.4byte _0804B210 @ case 3
.4byte _0804B252 @ case 4
.4byte _0804B252 @ case 5
.4byte _0804B218 @ case 6
.4byte _0804B252 @ case 7
.4byte _0804B22C @ case 8
.4byte _0804B234 @ case 9
.4byte _0804B23C @ case 10
.4byte _0804B244 @ case 11
.4byte _0804B24C @ case 12
_0804B200:
adds r0, r4, #0
bl sub_0804B290
b _0804B252
_0804B208:
adds r0, r4, #0
bl sub_0804B29C
b _0804B252
_0804B210:
adds r0, r4, #0
bl sub_0804B300
b _0804B252
_0804B218:
ldr r0, _0804B224 @ =gUnk_02033A90
ldr r1, _0804B228 @ =0x00000864
adds r0, r0, r1
ldrb r1, [r4, #3]
str r1, [r0]
b _0804B252
.align 2, 0
_0804B224: .4byte gUnk_02033A90
_0804B228: .4byte 0x00000864
_0804B22C:
adds r0, r4, #0
bl sub_0804B334
b _0804B252
_0804B234:
adds r0, r4, #0
bl sub_0804B340
b _0804B252
_0804B23C:
adds r0, r4, #0
bl sub_0804B260
b _0804B252
_0804B244:
adds r0, r4, #0
bl sub_0804B27C
b _0804B252
_0804B24C:
ldr r1, _0804B25C @ =gUnk_02034350
ldrb r0, [r4, #3]
strb r0, [r1, #9]
_0804B252:
adds r4, #8
_0804B254:
ldrb r0, [r4]
cmp r0, #0
bne _0804B1B6
_0804B25A:
pop {r4, pc}
.align 2, 0
_0804B25C: .4byte gUnk_02034350
thumb_func_start sub_0804B260
sub_0804B260: @ 0x0804B260
push {lr}
ldrb r0, [r0, #1]
lsls r0, r0, #5
ldr r1, _0804B274 @ =gUnk_080015BC
adds r0, r0, r1
ldr r1, _0804B278 @ =gUnk_02034398
movs r2, #0x20
bl sub_0801D66C
pop {pc}
.align 2, 0
_0804B274: .4byte gUnk_080015BC
_0804B278: .4byte gUnk_02034398
thumb_func_start sub_0804B27C
sub_0804B27C: @ 0x0804B27C
push {lr}
ldr r1, _0804B28C @ =gUnk_02033A90
ldrb r0, [r0, #1]
strb r0, [r1, #1]
bl sub_08054524
pop {pc}
.align 2, 0
_0804B28C: .4byte gUnk_02033A90
thumb_func_start sub_0804B290
sub_0804B290: @ 0x0804B290
push {lr}
ldrb r0, [r0, #1]
bl sub_0807CCB4
pop {pc}
.align 2, 0
thumb_func_start sub_0804B29C
sub_0804B29C: @ 0x0804B29C
push {r4, lr}
adds r2, r0, #0
ldr r4, _0804B2EC @ =gUnk_02017660
movs r1, #0
_0804B2A4:
ldrh r0, [r4, #4]
cmp r0, #0
bne _0804B2F4
adds r0, r2, #0
adds r1, r4, #0
movs r2, #8
bl sub_0801D66C
ldrb r1, [r4, #6]
movs r0, #1
ands r0, r1
cmp r0, #0
beq _0804B2FC
ldr r0, _0804B2F0 @ =gUnk_03000BF0
ldrb r1, [r0, #0xf]
movs r0, #2
ands r0, r1
cmp r0, #0
beq _0804B2FC
ldrb r0, [r4, #1]
bl sub_0807CBD0
cmp r0, #0
bne _0804B2FC
ldrb r1, [r4, #1]
movs r0, #0x52
movs r2, #0
bl CreateObject
cmp r0, #0
beq _0804B2FC
ldrh r1, [r4, #4]
bl sub_0806F704
b _0804B2FC
.align 2, 0
_0804B2EC: .4byte gUnk_02017660
_0804B2F0: .4byte gUnk_03000BF0
_0804B2F4:
adds r1, #1
adds r4, #8
cmp r1, #7
bls _0804B2A4
_0804B2FC:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0804B300
sub_0804B300: @ 0x0804B300
push {r4, lr}
adds r4, r0, #0
bl sub_0805E8D4
adds r1, r0, #0
cmp r1, #0
beq _0804B332
movs r0, #9
strb r0, [r1, #8]
movs r0, #0x24
strb r0, [r1, #9]
ldrh r0, [r4, #4]
strh r0, [r1, #0x38]
ldrh r0, [r4, #6]
strh r0, [r1, #0x3a]
ldrb r0, [r4, #2]
adds r2, r1, #0
adds r2, #0x35
strb r0, [r2]
ldrb r0, [r4, #1]
strh r0, [r1, #0x3e]
adds r0, r1, #0
movs r1, #6
bl sub_0805EA2C
_0804B332:
pop {r4, pc}
thumb_func_start sub_0804B334
sub_0804B334: @ 0x0804B334
push {lr}
ldrb r0, [r0, #3]
movs r1, #1
bl sub_0805BB00
pop {pc}
thumb_func_start sub_0804B340
sub_0804B340: @ 0x0804B340
push {r4, lr}
adds r4, r0, #0
ldrh r0, [r4, #2]
bl sub_0807CBD0
cmp r0, #0
beq _0804B35A
ldrh r0, [r4, #6]
ldrh r1, [r4, #4]
ldrb r2, [r4, #1]
bl sub_0807B314
b _0804B380
_0804B35A:
ldr r1, _0804B384 @ =gUnk_02034350
ldrb r0, [r1, #1]
cmp r0, #0
bne _0804B380
movs r0, #1
strb r0, [r1, #1]
bl sub_0805E8D4
adds r1, r0, #0
cmp r1, #0
beq _0804B380
movs r0, #9
strb r0, [r1, #8]
movs r0, #0x2a
strb r0, [r1, #9]
adds r0, r1, #0
movs r1, #6
bl sub_0805EA2C
_0804B380:
pop {r4, pc}
.align 2, 0
_0804B384: .4byte gUnk_02034350
thumb_func_start sub_0804B388
sub_0804B388: @ 0x0804B388
push {r4, r5, lr}
adds r5, r0, #0
adds r4, r1, #0
movs r0, #0x34
cmp r4, #1
bne _0804B396
movs r0, #0x26
_0804B396:
adds r1, r5, #0
adds r2, r4, #0
bl sub_0807B314
movs r0, #0xf
movs r1, #2
movs r2, #0
bl CreateObject
adds r1, r0, #0
cmp r1, #0
beq _0804B3BA
adds r0, #0x38
strb r4, [r0]
adds r0, r1, #0
adds r1, r5, #0
bl sub_0806F704
_0804B3BA:
movs r0, #1
rsbs r0, r0, #0
bl sub_080526F8
pop {r4, r5, pc}
thumb_func_start sub_0804B3C4
sub_0804B3C4: @ 0x0804B3C4
push {lr}
bl sub_0804B29C
pop {pc}
thumb_func_start sub_0804B3CC
sub_0804B3CC: @ 0x0804B3CC
movs r0, #1
bx lr
thumb_func_start sub_0804B3D0
sub_0804B3D0: @ 0x0804B3D0
push {lr}
movs r0, #0
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B3DC
sub_0804B3DC: @ 0x0804B3DC
movs r0, #1
bx lr
thumb_func_start sub_0804B3E0
sub_0804B3E0: @ 0x0804B3E0
push {lr}
movs r0, #1
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B3EC
sub_0804B3EC: @ 0x0804B3EC
movs r0, #1
bx lr
thumb_func_start sub_0804B3F0
sub_0804B3F0: @ 0x0804B3F0
push {lr}
movs r0, #2
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B3FC
sub_0804B3FC: @ 0x0804B3FC
movs r0, #1
bx lr
thumb_func_start sub_0804B400
sub_0804B400: @ 0x0804B400
push {lr}
movs r0, #3
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B40C
sub_0804B40C: @ 0x0804B40C
movs r0, #1
bx lr
thumb_func_start sub_0804B410
sub_0804B410: @ 0x0804B410
push {lr}
movs r0, #4
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B41C
sub_0804B41C: @ 0x0804B41C
movs r0, #1
bx lr
thumb_func_start sub_0804B420
sub_0804B420: @ 0x0804B420
push {lr}
movs r0, #5
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B42C
sub_0804B42C: @ 0x0804B42C
movs r0, #1
bx lr
thumb_func_start sub_0804B430
sub_0804B430: @ 0x0804B430
push {lr}
movs r0, #6
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B43C
sub_0804B43C: @ 0x0804B43C
movs r0, #1
bx lr
thumb_func_start sub_0804B440
sub_0804B440: @ 0x0804B440
push {lr}
movs r0, #7
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B44C
sub_0804B44C: @ 0x0804B44C
movs r0, #1
bx lr
thumb_func_start sub_0804B450
sub_0804B450: @ 0x0804B450
push {lr}
movs r0, #8
bl sub_08030118
pop {pc}
.align 2, 0
thumb_func_start sub_0804B45C
sub_0804B45C: @ 0x0804B45C
movs r0, #1
bx lr
thumb_func_start sub_0804B460
sub_0804B460: @ 0x0804B460
push {lr}
movs r0, #9
bl sub_08030118
ldr r0, _0804B474 @ =gUnk_02033A90
movs r1, #3
strb r1, [r0, #3]
movs r1, #0x4e
strb r1, [r0]
pop {pc}
.align 2, 0
_0804B474: .4byte gUnk_02033A90
thumb_func_start sub_0804B478
sub_0804B478: @ 0x0804B478
movs r0, #1
bx lr
thumb_func_start sub_0804B47C
sub_0804B47C: @ 0x0804B47C
push {lr}
movs r0, #0xa
bl sub_08030118
ldr r0, _0804B490 @ =gUnk_02033A90
movs r1, #3
strb r1, [r0, #3]
movs r1, #0x4e
strb r1, [r0]
pop {pc}
.align 2, 0
_0804B490: .4byte gUnk_02033A90
thumb_func_start sub_0804B494
sub_0804B494: @ 0x0804B494
movs r0, #1
bx lr
thumb_func_start sub_0804B498
sub_0804B498: @ 0x0804B498
push {lr}
movs r0, #0x23
bl sub_080575C8
bl sub_08057688
pop {pc}
.align 2, 0
thumb_func_start sub_0804B4A8
sub_0804B4A8: @ 0x0804B4A8
movs r0, #1
bx lr
thumb_func_start sub_0804B4AC
sub_0804B4AC: @ 0x0804B4AC
push {lr}
movs r0, #0x23
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B4B8
sub_0804B4B8: @ 0x0804B4B8
push {lr}
movs r0, #0x23
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B4C4
sub_0804B4C4: @ 0x0804B4C4
movs r0, #1
bx lr
thumb_func_start sub_0804B4C8
sub_0804B4C8: @ 0x0804B4C8
push {lr}
movs r0, #0x22
bl sub_080580B0
pop {pc}
.align 2, 0
thumb_func_start sub_0804B4D4
sub_0804B4D4: @ 0x0804B4D4
push {lr}
movs r0, #0x22
bl sub_080580B0
pop {pc}
.align 2, 0
thumb_func_start sub_0804B4E0
sub_0804B4E0: @ 0x0804B4E0
movs r0, #1
bx lr
thumb_func_start sub_0804B4E4
sub_0804B4E4: @ 0x0804B4E4
push {lr}
movs r0, #0x22
bl sub_080580B0
movs r0, #2
bl GetInventoryValue
cmp r0, #0
beq _0804B4FC
movs r0, #0x56
bl sub_0807CD04
_0804B4FC:
pop {pc}
.align 2, 0
thumb_func_start sub_0804B500
sub_0804B500: @ 0x0804B500
push {lr}
movs r0, #0x22
bl sub_080580B0
pop {pc}
.align 2, 0
thumb_func_start sub_0804B50C
sub_0804B50C: @ 0x0804B50C
movs r0, #1
bx lr
thumb_func_start sub_0804B510
sub_0804B510: @ 0x0804B510
push {lr}
movs r0, #0x1e
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B51C
sub_0804B51C: @ 0x0804B51C
push {lr}
movs r0, #0x1e
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B528
sub_0804B528: @ 0x0804B528
movs r0, #1
bx lr
thumb_func_start sub_0804B52C
sub_0804B52C: @ 0x0804B52C
push {lr}
movs r0, #0x21
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B538
sub_0804B538: @ 0x0804B538
push {lr}
movs r0, #0x21
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B544
sub_0804B544: @ 0x0804B544
movs r0, #1
bx lr
thumb_func_start sub_0804B548
sub_0804B548: @ 0x0804B548
push {lr}
movs r0, #0x1f
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B554
sub_0804B554: @ 0x0804B554
push {lr}
movs r0, #0x1f
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B560
sub_0804B560: @ 0x0804B560
movs r0, #1
bx lr
thumb_func_start sub_0804B564
sub_0804B564: @ 0x0804B564
push {lr}
movs r0, #0x20
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B570
sub_0804B570: @ 0x0804B570
push {lr}
movs r0, #0x20
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B57C
sub_0804B57C: @ 0x0804B57C
movs r0, #1
bx lr
thumb_func_start sub_0804B580
sub_0804B580: @ 0x0804B580
push {lr}
movs r0, #0x20
bl sub_080575C8
ldr r0, _0804B5A0 @ =gLinkEntity
movs r1, #0x32
ldrsh r0, [r0, r1]
ldr r1, _0804B5A4 @ =gUnk_03000BF0
ldrh r1, [r1, #8]
subs r0, r0, r1
cmp r0, #0x40
ble _0804B59E
ldr r0, _0804B5A8 @ =gUnk_080D6138
bl LoadRoomEntityList
_0804B59E:
pop {pc}
.align 2, 0
_0804B5A0: .4byte gLinkEntity
_0804B5A4: .4byte gUnk_03000BF0
_0804B5A8: .4byte gUnk_080D6138
thumb_func_start sub_0804B5AC
sub_0804B5AC: @ 0x0804B5AC
push {lr}
movs r0, #0x20
bl sub_080575C8
pop {pc}
.align 2, 0
thumb_func_start sub_0804B5B8
sub_0804B5B8: @ 0x0804B5B8
movs r0, #1
bx lr
thumb_func_start sub_0804B5BC
sub_0804B5BC: @ 0x0804B5BC
push {lr}
ldr r0, _0804B5D0 @ =gUnk_030010A0
ldrh r0, [r0, #0x12]
cmp r0, #0x40
bls _0804B5CC
ldr r0, _0804B5D4 @ =gUnk_080D6210
bl LoadRoomEntityList
_0804B5CC:
pop {pc}
.align 2, 0
_0804B5D0: .4byte gUnk_030010A0
_0804B5D4: .4byte gUnk_080D6210
thumb_func_start sub_0804B5D8
sub_0804B5D8: @ 0x0804B5D8
movs r0, #1
bx lr
thumb_func_start sub_0804B5DC
sub_0804B5DC: @ 0x0804B5DC
push {r4, r5, r6, lr}
movs r0, #0x2c
bl sub_0801E7F4
cmp r0, #0
beq _0804B5EE
ldr r0, _0804B618 @ =gUnk_080D6340
bl LoadRoomEntityList
_0804B5EE:
movs r6, #0
ldr r4, _0804B61C @ =gUnk_080D64F8
movs r5, #7
_0804B5F4:
ldrh r0, [r4]
adds r4, #2
bl GetInventoryValue
cmp r0, #0
beq _0804B602
adds r6, #1
_0804B602:
subs r5, #1
cmp r5, #0
bge _0804B5F4
movs r0, #0x8b
bl sub_0807CBD0
cmp r0, #0
beq _0804B648
ldr r4, _0804B620 @ =gUnk_080D6508
movs r5, #0
b _0804B628
.align 2, 0
_0804B618: .4byte gUnk_080D6340
_0804B61C: .4byte gUnk_080D64F8
_0804B620: .4byte gUnk_080D6508
_0804B624:
adds r5, #1
adds r4, #2
_0804B628:
cmp r5, r6
bge _0804B648
ldrh r0, [r4]
bl sub_0807CBD0
cmp r0, #0
bne _0804B624
ldrh r0, [r4]
bl sub_0807CCB4
movs r0, #0x8b
bl sub_0807CD34
movs r0, #0x8c
bl sub_0807CCB4
_0804B648:
movs r0, #0x1f
bl sub_0807CBD0
cmp r0, #0
beq _0804B658
ldr r0, _0804B6CC @ =gUnk_080D6360
bl LoadRoomEntityList
_0804B658:
movs r0, #0x20
bl sub_0807CBD0
cmp r0, #0
beq _0804B668
ldr r0, _0804B6D0 @ =gUnk_080D6380
bl LoadRoomEntityList
_0804B668:
movs r0, #0x21
bl sub_0807CBD0
cmp r0, #0
beq _0804B678
ldr r0, _0804B6D4 @ =gUnk_080D63A0
bl LoadRoomEntityList
_0804B678:
movs r0, #0x22
bl sub_0807CBD0
cmp r0, #0
beq _0804B688
ldr r0, _0804B6D8 @ =gUnk_080D63C0
bl LoadRoomEntityList
_0804B688:
movs r0, #0x23
bl sub_0807CBD0
cmp r0, #0
beq _0804B698
ldr r0, _0804B6DC @ =gUnk_080D63E0
bl LoadRoomEntityList
_0804B698:
movs r0, #0x24
bl sub_0807CBD0
cmp r0, #0
beq _0804B6A8
ldr r0, _0804B6E0 @ =gUnk_080D6400
bl LoadRoomEntityList
_0804B6A8:
movs r0, #0x25
bl sub_0807CBD0
cmp r0, #0
beq _0804B6B8
ldr r0, _0804B6E4 @ =gUnk_080D6420
bl LoadRoomEntityList
_0804B6B8:
movs r0, #0x26
bl sub_0807CBD0
cmp r0, #0
beq _0804B6C8
ldr r0, _0804B6E8 @ =gUnk_080D6440
bl LoadRoomEntityList
_0804B6C8:
pop {r4, r5, r6, pc}
.align 2, 0
_0804B6CC: .4byte gUnk_080D6360
_0804B6D0: .4byte gUnk_080D6380
_0804B6D4: .4byte gUnk_080D63A0
_0804B6D8: .4byte gUnk_080D63C0
_0804B6DC: .4byte gUnk_080D63E0
_0804B6E0: .4byte gUnk_080D6400
_0804B6E4: .4byte gUnk_080D6420
_0804B6E8: .4byte gUnk_080D6440
thumb_func_start sub_0804B6EC
sub_0804B6EC: @ 0x0804B6EC
movs r0, #1
bx lr
thumb_func_start sub_0804B6F0
sub_0804B6F0: @ 0x0804B6F0
push {lr}
movs r0, #0x46
bl GetInventoryValue
cmp r0, #0
bne _0804B71C
ldr r0, _0804B714 @ =gUnk_080D6578
bl LoadRoomEntityList
movs r0, #0x73
bl sub_0807CBD0
cmp r0, #0
bne _0804B722
ldr r0, _0804B718 @ =gUnk_080D6638
bl LoadRoomEntityList
b _0804B728
.align 2, 0
_0804B714: .4byte gUnk_080D6578
_0804B718: .4byte gUnk_080D6638
_0804B71C:
ldr r0, _0804B72C @ =gUnk_080D6558
bl LoadRoomEntityList
_0804B722:
ldr r0, _0804B730 @ =gUnk_080D6618
bl LoadRoomEntityList
_0804B728:
pop {pc}
.align 2, 0
_0804B72C: .4byte gUnk_080D6558
_0804B730: .4byte gUnk_080D6618
thumb_func_start sub_0804B734
sub_0804B734: @ 0x0804B734
movs r0, #1
bx lr
thumb_func_start sub_0804B738
sub_0804B738: @ 0x0804B738
push {lr}
ldr r0, _0804B770 @ =gUnk_02002A40
ldrb r0, [r0, #8]
cmp r0, #4
bls _0804B748
ldr r0, _0804B774 @ =gUnk_080D6714
bl LoadRoomEntityList
_0804B748:
movs r0, #0x46
bl GetInventoryValue
cmp r0, #0
bne _0804B77C
movs r0, #0x29
bl GetProgressFlag
cmp r0, #0
beq _0804B77C
movs r0, #0x6a
bl sub_0807CBD0
cmp r0, #0
beq _0804B77C
ldr r0, _0804B778 @ =gUnk_080D6734
bl LoadRoomEntityList
b _0804B782
.align 2, 0
_0804B770: .4byte gUnk_02002A40
_0804B774: .4byte gUnk_080D6714
_0804B778: .4byte gUnk_080D6734
_0804B77C:
ldr r0, _0804B784 @ =gUnk_080D66F4
bl LoadRoomEntityList
_0804B782:
pop {pc}
.align 2, 0
_0804B784: .4byte gUnk_080D66F4
thumb_func_start sub_0804B788
sub_0804B788: @ 0x0804B788
movs r0, #1
bx lr
thumb_func_start sub_0804B78C
sub_0804B78C: @ 0x0804B78C
push {lr}
ldr r0, _0804B7A0 @ =gUnk_02002A40
ldrb r0, [r0, #8]
cmp r0, #7
bls _0804B79C
ldr r0, _0804B7A4 @ =gUnk_080D6924
bl LoadRoomEntityList
_0804B79C:
pop {pc}
.align 2, 0
_0804B7A0: .4byte gUnk_02002A40
_0804B7A4: .4byte gUnk_080D6924
thumb_func_start sub_0804B7A8
sub_0804B7A8: @ 0x0804B7A8
push {r4, lr}
movs r0, #0x91
bl sub_0807CBD0
cmp r0, #0
beq _0804B7C8
bl sub_08000E50
movs r1, #3
bl __modsi3
adds r4, r0, #0
movs r0, #1
bl sub_0807CD34
b _0804B7D0
_0804B7C8:
movs r4, #0
movs r0, #1
bl sub_0807CCB4
_0804B7D0:
ldr r2, _0804B7E0 @ =gUnk_02034350
ldr r1, _0804B7E4 @ =gUnk_080D6A74
lsls r0, r4, #2
adds r0, r0, r1
ldr r0, [r0]
str r0, [r2, #0x78]
movs r0, #1
pop {r4, pc}
.align 2, 0
_0804B7E0: .4byte gUnk_02034350
_0804B7E4: .4byte gUnk_080D6A74
thumb_func_start sub_0804B7E8
sub_0804B7E8: @ 0x0804B7E8
push {lr}
movs r0, #0x91
bl sub_0807CBD0
cmp r0, #0
beq _0804B81E
movs r0, #0x91
bl sub_0807CD34
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl sub_08050054
ldr r2, _0804B820 @ =gLinkEntity
ldr r1, _0804B824 @ =gUnk_03000BF0
ldrh r0, [r1, #6]
adds r0, #0x50
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
adds r0, #0x38
strh r0, [r2, #0x32]
ldr r2, _0804B828 @ =gUnk_08010A5C
movs r0, #1
movs r1, #2
bl sub_080751E8
_0804B81E:
pop {pc}
.align 2, 0
_0804B820: .4byte gLinkEntity
_0804B824: .4byte gUnk_03000BF0
_0804B828: .4byte gUnk_08010A5C
thumb_func_start sub_0804B82C
sub_0804B82C: @ 0x0804B82C
push {r4, lr}
movs r0, #0x91
bl sub_0807CBD0
cmp r0, #0
beq _0804B84A
bl sub_08000E50
adds r4, r0, #0
movs r0, #1
ands r4, r0
movs r0, #2
bl sub_0807CD34
b _0804B852
_0804B84A:
movs r4, #0
movs r0, #2
bl sub_0807CCB4
_0804B852:
ldr r2, _0804B864 @ =gUnk_02034350
ldr r1, _0804B868 @ =gUnk_080D6B18
lsls r0, r4, #2
adds r0, r0, r1
ldr r0, [r0]
str r0, [r2, #0x78]
movs r0, #1
pop {r4, pc}
.align 2, 0
_0804B864: .4byte gUnk_02034350
_0804B868: .4byte gUnk_080D6B18
thumb_func_start sub_0804B86C
sub_0804B86C: @ 0x0804B86C
push {lr}
movs r0, #0x91
bl sub_0807CBD0
cmp r0, #0
beq _0804B8A2
movs r0, #0x91
bl sub_0807CD34
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl sub_08050054
ldr r2, _0804B8A4 @ =gLinkEntity
ldr r1, _0804B8A8 @ =gUnk_03000BF0
ldrh r0, [r1, #6]
adds r0, #0x50
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
adds r0, #0x38
strh r0, [r2, #0x32]
ldr r2, _0804B8AC @ =gUnk_08010A5C
movs r0, #1
movs r1, #2
bl sub_080751E8
_0804B8A2:
pop {pc}
.align 2, 0
_0804B8A4: .4byte gLinkEntity
_0804B8A8: .4byte gUnk_03000BF0
_0804B8AC: .4byte gUnk_08010A5C
thumb_func_start sub_0804B8B0
sub_0804B8B0: @ 0x0804B8B0
push {r4, lr}
movs r0, #0x91
bl sub_0807CBD0
cmp r0, #0
beq _0804B8D0
bl sub_08000E50
movs r1, #3
bl __modsi3
adds r4, r0, #0
movs r0, #3
bl sub_0807CD34
b _0804B8D8
_0804B8D0:
movs r4, #0
movs r0, #3
bl sub_0807CCB4
_0804B8D8:
ldr r2, _0804B8E8 @ =gUnk_02034350
ldr r1, _0804B8EC @ =gUnk_080D6BB8
lsls r0, r4, #2
adds r0, r0, r1
ldr r0, [r0]
str r0, [r2, #0x78]
movs r0, #1
pop {r4, pc}
.align 2, 0
_0804B8E8: .4byte gUnk_02034350
_0804B8EC: .4byte gUnk_080D6BB8
thumb_func_start sub_0804B8F0
sub_0804B8F0: @ 0x0804B8F0
push {lr}
movs r0, #0x91
bl sub_0807CBD0
cmp r0, #0
beq _0804B926
movs r0, #0x91
bl sub_0807CD34
movs r1, #0x80
lsls r1, r1, #1
movs r0, #5
bl sub_08050054
ldr r2, _0804B928 @ =gLinkEntity
ldr r1, _0804B92C @ =gUnk_03000BF0
ldrh r0, [r1, #6]
adds r0, #0x60
strh r0, [r2, #0x2e]
ldrh r0, [r1, #8]
adds r0, #0x38
strh r0, [r2, #0x32]
ldr r2, _0804B930 @ =gUnk_08010A5C
movs r0, #1
movs r1, #2
bl sub_080751E8
_0804B926:
pop {pc}
.align 2, 0
_0804B928: .4byte gLinkEntity
_0804B92C: .4byte gUnk_03000BF0
_0804B930: .4byte gUnk_08010A5C
thumb_func_start sub_0804B934
sub_0804B934: @ 0x0804B934
movs r0, #1
bx lr