.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 @ =gRoomControls 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 gRoomControls _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 @ =gRoomControls 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 gRoomControls _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 Random 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 DoFade ldr r2, _0804B820 @ =gLinkEntity ldr r1, _0804B824 @ =gRoomControls 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 gRoomControls _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 Random 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 DoFade ldr r2, _0804B8A4 @ =gLinkEntity ldr r1, _0804B8A8 @ =gRoomControls 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 gRoomControls _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 Random 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 DoFade ldr r2, _0804B928 @ =gLinkEntity ldr r1, _0804B92C @ =gRoomControls 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 gRoomControls _0804B930: .4byte gUnk_08010A5C thumb_func_start sub_0804B934 sub_0804B934: @ 0x0804B934 movs r0, #1 bx lr