diff options
author | AnonymousRandomPerson <chenghanngan.us@gmail.com> | 2021-12-14 23:36:22 -0500 |
---|---|---|
committer | AnonymousRandomPerson <chenghanngan.us@gmail.com> | 2021-12-17 23:38:06 -0500 |
commit | b1fc911965c584f5af6522849162527f41461b7c (patch) | |
tree | 6466b915b8223015e3c7ebad7e73d4b6755c4be2 /asm/code_808333C.s | |
parent | da8fcb2ac85554bb099dff69f1d0ec1226156afd (diff) |
Decomped InSameRoom_2()
Diffstat (limited to 'asm/code_808333C.s')
-rw-r--r-- | asm/code_808333C.s | 1879 |
1 files changed, 1879 insertions, 0 deletions
diff --git a/asm/code_808333C.s b/asm/code_808333C.s new file mode 100644 index 0000000..9256eec --- /dev/null +++ b/asm/code_808333C.s @@ -0,0 +1,1879 @@ + .include "constants/gba_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start InSameRoom_3 +InSameRoom_3: + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + movs r1, 0 + ldrsh r0, [r4, r1] + movs r2, 0x2 + ldrsh r1, [r4, r2] + bl GetMapTileAtPosition + ldrb r2, [r0, 0x9] + cmp r2, 0xFF + beq _08083394 + ldr r1, _080833C4 + lsls r0, r2, 3 + subs r0, r2 + lsls r0, 2 + ldr r3, _080833C8 + adds r0, r3 + ldr r1, [r1] + adds r1, r0 + movs r6, 0x2 + ldrsh r0, [r1, r6] + subs r0, 0x1 + movs r2, 0 + ldrsh r3, [r5, r2] + cmp r0, r3 + bgt _08083394 + movs r6, 0x4 + ldrsh r0, [r1, r6] + subs r0, 0x1 + movs r6, 0x2 + ldrsh r2, [r5, r6] + cmp r0, r2 + bgt _08083394 + movs r6, 0x6 + ldrsh r0, [r1, r6] + adds r0, 0x1 + cmp r0, r3 + ble _08083394 + movs r3, 0x8 + ldrsh r0, [r1, r3] + adds r0, 0x1 + cmp r0, r2 + bgt _080833DE +_08083394: + movs r6, 0 + ldrsh r3, [r4, r6] + movs r0, 0 + ldrsh r2, [r5, r0] + movs r6, 0x2 + ldrsh r1, [r4, r6] + movs r6, 0x2 + ldrsh r0, [r5, r6] + subs r1, r0 + subs r3, r2 + cmp r3, 0 + bge _080833AE + negs r3, r3 +_080833AE: + cmp r1, 0 + bge _080833B4 + negs r1, r1 +_080833B4: + cmp r1, r3 + bge _080833BA + adds r1, r3, 0 +_080833BA: + cmp r1, 0x2 + ble _080833CC +_080833BE: + movs r0, 0 + b _080833E0 + .align 2, 0 +_080833C4: .4byte gDungeonGlobalData +_080833C8: .4byte 0x000104c4 +_080833CC: + cmp r1, 0x2 + bne _080833DE + adds r0, r4, 0 + adds r1, r5, 0 + bl IsTargetTwoTilesAway + lsls r0, 24 + cmp r0, 0 + beq _080833BE +_080833DE: + movs r0, 0x1 +_080833E0: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end InSameRoom_3 + + thumb_func_start sub_80833E8 +sub_80833E8: + push {r4,r5,lr} + adds r5, r0, 0 + adds r4, r1, 0 + movs r1, 0 + ldrsh r0, [r5, r1] + movs r2, 0x2 + ldrsh r1, [r5, r2] + bl GetMapTileAtPosition + adds r1, r0, 0 + ldr r0, _08083438 + ldr r3, [r0] + ldr r2, _0808343C + adds r0, r3, r2 + ldrb r2, [r0] + cmp r2, 0 + bne _0808340C + movs r2, 0x2 +_0808340C: + ldrb r0, [r1, 0x9] + cmp r0, 0xFF + bne _08083440 + movs r1, 0 + ldrsh r0, [r5, r1] + subs r0, r2 + str r0, [r4] + movs r1, 0 + ldrsh r0, [r5, r1] + adds r0, r2 + adds r0, 0x1 + str r0, [r4, 0x8] + movs r1, 0x2 + ldrsh r0, [r5, r1] + subs r0, r2 + str r0, [r4, 0x4] + movs r1, 0x2 + ldrsh r0, [r5, r1] + adds r0, r2 + adds r0, 0x1 + b _0808346A + .align 2, 0 +_08083438: .4byte gDungeonGlobalData +_0808343C: .4byte 0x00018209 +_08083440: + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + ldr r2, _08083474 + adds r1, r2 + adds r1, r3, r1 + movs r2, 0x2 + ldrsh r0, [r1, r2] + subs r0, 0x1 + str r0, [r4] + movs r2, 0x6 + ldrsh r0, [r1, r2] + adds r0, 0x2 + str r0, [r4, 0x8] + movs r2, 0x4 + ldrsh r0, [r1, r2] + subs r0, 0x1 + str r0, [r4, 0x4] + movs r2, 0x8 + ldrsh r0, [r1, r2] + adds r0, 0x2 +_0808346A: + str r0, [r4, 0xC] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08083474: .4byte 0x000104c4 + thumb_func_end sub_80833E8 + + thumb_func_start IsTargetTwoTilesAway +IsTargetTwoTilesAway: + push {r4-r7,lr} + sub sp, 0x4 + adds r3, r0, 0 + adds r6, r1, 0 + movs r0, 0 + ldrsh r1, [r3, r0] + movs r2, 0 + ldrsh r0, [r6, r2] + subs r1, r0 + cmp r1, 0 + bge _08083490 + negs r1, r1 +_08083490: + cmp r1, 0x1 + bgt _080834A8 + movs r5, 0x2 + ldrsh r1, [r3, r5] + movs r2, 0x2 + ldrsh r0, [r6, r2] + subs r1, r0 + cmp r1, 0 + bge _080834A4 + negs r1, r1 +_080834A4: + cmp r1, 0x1 + ble _0808355A +_080834A8: + movs r5, 0 + ldrsh r4, [r3, r5] + movs r1, 0 + ldrsh r0, [r6, r1] + subs r2, r4, r0 + cmp r2, 0 + bge _080834B8 + negs r2, r2 +_080834B8: + movs r5, 0x2 + ldrsh r1, [r3, r5] + movs r5, 0x2 + ldrsh r0, [r6, r5] + subs r0, r1, r0 + cmp r0, 0 + bge _080834C8 + negs r0, r0 +_080834C8: + cmp r0, r2 + bge _080834CE + adds r0, r2, 0 +_080834CE: + cmp r0, 0x2 + bne _0808355E + adds r5, r4, 0 + adds r4, r1, 0 + movs r7, 0 +_080834D8: + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r5, r0 + bge _080834E2 + adds r5, 0x1 +_080834E2: + cmp r5, r0 + ble _080834E8 + subs r5, 0x1 +_080834E8: + movs r2, 0x2 + ldrsh r0, [r6, r2] + cmp r4, r0 + bge _080834F2 + adds r4, 0x1 +_080834F2: + cmp r4, r0 + ble _080834F8 + subs r4, 0x1 +_080834F8: + adds r0, r5, 0 + adds r1, r4, 0 + str r3, [sp] + bl GetMapTileAtPosition + ldrh r1, [r0] + movs r0, 0x3 + ands r0, r1 + ldr r3, [sp] + cmp r0, 0 + beq _0808355E + adds r7, 0x1 + cmp r7, 0x1 + ble _080834D8 + movs r0, 0 + ldrsh r5, [r6, r0] + movs r1, 0x2 + ldrsh r4, [r6, r1] + movs r7, 0 +_0808351E: + movs r2, 0 + ldrsh r0, [r3, r2] + cmp r5, r0 + bge _08083528 + adds r5, 0x1 +_08083528: + cmp r5, r0 + ble _0808352E + subs r5, 0x1 +_0808352E: + movs r1, 0x2 + ldrsh r0, [r3, r1] + cmp r4, r0 + bge _08083538 + adds r4, 0x1 +_08083538: + cmp r4, r0 + ble _0808353E + subs r4, 0x1 +_0808353E: + adds r0, r5, 0 + adds r1, r4, 0 + str r3, [sp] + bl GetMapTileAtPosition + ldrh r1, [r0] + movs r0, 0x3 + ands r0, r1 + ldr r3, [sp] + cmp r0, 0 + beq _0808355E + adds r7, 0x1 + cmp r7, 0x1 + ble _0808351E +_0808355A: + movs r0, 0x1 + b _08083560 +_0808355E: + movs r0, 0 +_08083560: + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end IsTargetTwoTilesAway + + thumb_func_start sub_8083568 +sub_8083568: + push {r4,r5,lr} + lsls r2, 24 + lsrs r5, r2, 24 + ldr r2, _080835E0 + ldr r2, [r2] + ldr r4, _080835E4 + adds r3, r2, r4 + movs r4, 0 + ldrsh r3, [r3, r4] + subs r3, r0, r3 + ldr r0, _080835E8 + adds r2, r0 + movs r4, 0 + ldrsh r0, [r2, r4] + subs r4, r1, r0 + movs r0, 0x10 + negs r0, r0 + cmp r3, r0 + blt _080835F8 + cmp r4, r0 + blt _080835F8 + cmp r3, 0xFF + bgt _080835F8 + cmp r4, 0xAF + bgt _080835F8 + ldr r1, _080835EC + lsls r0, r5, 1 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + movs r1, 0x8 + ldrsh r2, [r0, r1] + adds r2, r3, r2 + ldr r1, _080835F0 + ands r2, r1 + ldrh r3, [r0, 0x2] + movs r1, 0xFE + lsls r1, 8 + ands r1, r3 + orrs r1, r2 + strh r1, [r0, 0x2] + movs r1, 0xA + ldrsh r2, [r0, r1] + adds r2, r4, r2 + ldr r1, _080835F4 + ands r2, r1 + lsls r2, 4 + ldrh r3, [r0, 0x6] + movs r1, 0xF + ands r1, r3 + orrs r1, r2 + strh r1, [r0, 0x6] + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl AddSprite + movs r0, 0x1 + b _080835FA + .align 2, 0 +_080835E0: .4byte gDungeonGlobalData +_080835E4: .4byte 0x000181f0 +_080835E8: .4byte 0x000181f2 +_080835EC: .4byte gUnknown_202ED28 +_080835F0: .4byte 0x000001ff +_080835F4: .4byte 0x00000fff +_080835F8: + movs r0, 0 +_080835FA: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8083568 + + thumb_func_start GetLeaderEntity +GetLeaderEntity: + push {r4,r5,lr} + ldr r0, _08083638 + ldr r0, [r0] + cmp r0, 0 + bne _0808364A + movs r5, 0 +_0808360C: + ldr r0, _0808363C + ldr r0, [r0] + lsls r1, r5, 2 + ldr r2, _08083640 + adds r0, r2 + adds r0, r1 + ldr r4, [r0] + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _0808362E + ldr r0, [r4, 0x70] + ldrb r0, [r0, 0x7] + cmp r0, 0 + bne _08083644 +_0808362E: + adds r5, 0x1 + cmp r5, 0x3 + ble _0808360C + movs r0, 0 + b _0808364A + .align 2, 0 +_08083638: .4byte gLeaderPokemon +_0808363C: .4byte gDungeonGlobalData +_08083640: .4byte 0x0001357c +_08083644: + ldr r0, _08083650 + str r4, [r0] + adds r0, r4, 0 +_0808364A: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_08083650: .4byte gLeaderPokemon + thumb_func_end GetLeaderEntity + + thumb_func_start sub_8083654 +sub_8083654: + push {lr} + bl GetLeaderEntity + ldr r0, [r0, 0x70] + pop {r1} + bx r1 + thumb_func_end sub_8083654 + + thumb_func_start sub_8083660 +sub_8083660: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r4, _080836D4 + add sp, r4 + movs r1, 0xE0 + lsls r1, 5 + add r1, sp + str r0, [r1] + bl GetLeaderEntity + ldr r2, _080836D8 + add r2, sp + str r0, [r2] + movs r7, 0 + movs r0, 0 + ldr r1, _080836DC + add r1, sp + str r0, [r1] +_0808368A: + movs r0, 0x38 + bl DungeonRandomCapped + adds r4, r0, 0 + movs r0, 0x20 + bl DungeonRandomCapped + ldr r2, _080836E0 + add r2, sp + str r0, [r2] + ldr r0, _080836D8 + add r0, sp + ldr r0, [r0] + ldr r3, [r0, 0x4] + adds r5, r4, 0 + movs r1, 0 + ldr r4, [r2] + ldr r0, _080836E4 + cmp r7, r0 + ble _080836B4 + b _080837E6 +_080836B4: + movs r2, 0x3 + mov r10, r2 + lsls r0, r7, 2 + mov r2, sp + adds r6, r0, r2 +_080836BE: + movs r0, 0 + mov r8, r0 + adds r2, r5, 0x1 + ldr r0, _080836E8 + add r0, sp + str r2, [r0] + adds r1, 0x1 + ldr r2, _080836EC + add r2, sp + str r1, [r2] + b _0808379C + .align 2, 0 +_080836D4: .4byte 0xffffe3e4 +_080836D8: .4byte 0x00001c04 +_080836DC: .4byte 0x00001c0c +_080836E0: .4byte 0x00001c08 +_080836E4: .4byte 0x000006ff +_080836E8: .4byte 0x00001c14 +_080836EC: .4byte 0x00001c10 +_080836F0: + ldr r0, _08083738 + add r0, sp + ldr r0, [r0] + cmp r0, 0 + bne _0808373C + ldrh r1, [r2] + mov r0, r10 + ands r0, r1 + cmp r0, 0x1 + bne _08083782 + ldrb r0, [r2, 0x9] + cmp r0, 0xFF + beq _08083782 + ldr r0, [r2, 0x14] + cmp r0, 0 + bne _08083782 + ldr r0, [r2, 0x10] + cmp r0, 0 + bne _08083782 + lsls r0, r3, 16 + asrs r0, 16 + subs r0, r5 + cmp r0, 0 + bge _08083722 + negs r0, r0 +_08083722: + cmp r0, 0x5 + bgt _08083788 + asrs r0, r3, 16 + subs r0, r4 + cmp r0, 0 + bge _08083730 + negs r0, r0 +_08083730: + cmp r0, 0x5 + ble _08083782 + b _08083788 + .align 2, 0 +_08083738: .4byte 0x00001c0c +_0808373C: + ldr r1, _08083764 + add r1, sp + ldr r1, [r1] + cmp r1, 0x1 + bne _08083768 + ldrh r1, [r2] + mov r0, r10 + ands r0, r1 + cmp r0, 0x1 + bne _08083782 + ldrb r0, [r2, 0x9] + cmp r0, 0xFF + beq _08083782 + ldr r0, [r2, 0x14] + cmp r0, 0 + bne _08083782 + ldr r0, [r2, 0x10] + cmp r0, 0 + bne _08083782 + b _08083788 + .align 2, 0 +_08083764: .4byte 0x00001c0c +_08083768: + ldrh r1, [r2] + mov r0, r10 + ands r0, r1 + cmp r0, 0x1 + bne _08083782 + ldr r0, [r2, 0x14] + cmp r0, 0 + bne _08083782 + ldr r0, [r2, 0x10] + cmp r0, 0 + bne _08083782 + movs r2, 0x1 + mov r9, r2 +_08083782: + mov r0, r9 + cmp r0, 0 + beq _08083790 +_08083788: + strb r5, [r6] + strb r4, [r6, 0x1] + adds r6, 0x4 + adds r7, 0x1 +_08083790: + adds r4, 0x1 + cmp r4, 0x1F + ble _08083798 + movs r4, 0 +_08083798: + movs r1, 0x1 + add r8, r1 +_0808379C: + mov r2, r8 + cmp r2, 0x1F + bgt _080837C2 + movs r0, 0 + mov r9, r0 + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, _0808380C + add r2, sp + str r3, [r2] + bl GetMapTileAtPosition + adds r2, r0, 0 + ldr r0, _08083810 + ldr r1, _0808380C + add r1, sp + ldr r3, [r1] + cmp r7, r0 + ble _080836F0 +_080837C2: + ldr r2, _08083814 + add r2, sp + ldr r5, [r2] + cmp r5, 0x37 + ble _080837CE + movs r5, 0 +_080837CE: + ldr r0, _08083818 + add r0, sp + ldr r1, [r0] + cmp r1, 0x37 + bgt _080837E6 + ldr r2, _0808381C + add r2, sp + ldr r4, [r2] + ldr r0, _08083810 + cmp r7, r0 + bgt _080837E6 + b _080836BE +_080837E6: + cmp r7, 0 + beq _08083820 + adds r0, r7, 0 + bl DungeonRandomCapped + lsls r0, 2 + mov r2, sp + adds r1, r2, r0 + ldrb r0, [r1] + movs r2, 0xE0 + lsls r2, 5 + add r2, sp + ldr r2, [r2] + strh r0, [r2] + ldrb r0, [r1, 0x1] + strh r0, [r2, 0x2] + movs r0, 0x1 + b _08083832 + .align 2, 0 +_0808380C: .4byte 0x00001c18 +_08083810: .4byte 0x000006ff +_08083814: .4byte 0x00001c14 +_08083818: .4byte 0x00001c10 +_0808381C: .4byte 0x00001c08 +_08083820: + ldr r0, _08083844 + add r0, sp + ldr r2, [r0] + adds r2, 0x1 + str r2, [r0] + cmp r2, 0x2 + bgt _08083830 + b _0808368A +_08083830: + movs r0, 0 +_08083832: + ldr r3, _08083848 + add sp, r3 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08083844: .4byte 0x00001c0c +_08083848: .4byte 0x00001c1c + thumb_func_end sub_8083660 + + thumb_func_start sub_808384C +sub_808384C: + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + adds r3, r0, 0 + mov r9, r1 + movs r0, 0 + mov r8, r0 + ldr r0, _080838BC + movs r2, 0 + ldrsh r1, [r0, r2] + cmp r1, 0x63 + beq _080838D8 + movs r6, 0 +_0808386A: + adds r2, r6, r0 + movs r4, 0 + ldrsh r1, [r2, r4] + mov r5, r9 + movs r7, 0 + ldrsh r0, [r5, r7] + adds r5, r1, r0 + movs r0, 0x2 + ldrsh r1, [r2, r0] + mov r2, r9 + movs r4, 0x2 + ldrsh r0, [r2, r4] + adds r4, r1, r0 + adds r0, r5, 0 + adds r1, r4, 0 + str r3, [sp] + bl GetMapTileAtPosition + adds r1, r0, 0 + ldrh r2, [r1] + movs r7, 0x80 + lsls r7, 4 + adds r0, r7, 0 + ands r0, r2 + ldr r3, [sp] + cmp r0, 0 + bne _080838C0 + movs r0, 0x3 + ands r0, r2 + cmp r0, 0x1 + bne _080838C0 + ldr r0, [r1, 0x14] + cmp r0, 0 + bne _080838C0 + ldr r0, [r1, 0x10] + cmp r0, 0 + bne _080838C0 + strh r5, [r3] + strh r4, [r3, 0x2] + movs r0, 0x1 + b _080838DA + .align 2, 0 +_080838BC: .4byte gUnknown_80F4468 +_080838C0: + adds r6, 0x4 + movs r0, 0x1 + add r8, r0 + mov r2, r8 + cmp r2, 0x18 + bgt _080838D8 + ldr r0, _080838E8 + adds r1, r6, r0 + movs r4, 0 + ldrsh r1, [r1, r4] + cmp r1, 0x63 + bne _0808386A +_080838D8: + movs r0, 0 +_080838DA: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080838E8: .4byte gUnknown_80F4468 + thumb_func_end sub_808384C + + thumb_func_start sub_80838EC +sub_80838EC: + push {lr} + adds r2, r0, 0 + ldrb r0, [r2] + adds r1, r0, 0 + cmp r1, 0x7F + beq _08083900 + cmp r1, 0 + beq _08083900 + subs r0, 0x1 + strb r0, [r2] +_08083900: + pop {r0} + bx r0 + thumb_func_end sub_80838EC + + thumb_func_start sub_8083904 +sub_8083904: + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x20 + str r0, [sp] + mov r10, r1 + ldr r4, [r1, 0x70] + str r4, [sp, 0x4] + adds r5, r4, 0 + adds r5, 0x46 + ldrb r6, [r5] + mov r0, r10 + movs r1, 0x1 + bl CannotMove + lsls r0, 24 + cmp r0, 0 + beq _08083954 + ldr r0, _08083950 + lsls r2, r6, 2 + adds r2, r0 + movs r0, 0 + ldrsh r1, [r2, r0] + lsls r0, r1, 1 + adds r0, r1 + mov r1, r10 + ldrh r1, [r1, 0x4] + adds r0, r1 + ldr r3, [sp] + strh r0, [r3] + movs r4, 0x2 + ldrsh r1, [r2, r4] + lsls r0, r1, 1 + adds r0, r1 + b _08083A6E + .align 2, 0 +_08083950: .4byte gAdjacentTileOffsets +_08083954: + ldr r1, [r4, 0x58] + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _08083960 + b _08083A8C +_08083960: + ldrb r0, [r5] + ldr r1, _080839A0 + lsls r0, 3 + adds r0, r1 + ldr r7, [r0] + movs r3, 0x4 + ldrsh r2, [r0, r3] + str r2, [sp, 0x8] + movs r2, 0x6 + ldrsh r1, [r0, r2] + str r1, [sp, 0xC] + mov r3, r10 + movs r0, 0x4 + ldrsh r3, [r3, r0] + str r3, [sp, 0x10] + mov r1, r10 + movs r2, 0x6 + ldrsh r1, [r1, r2] + str r1, [sp, 0x14] + ldr r0, _080839A4 + ldr r1, [r0] + ldr r3, _080839A8 + adds r0, r1, r3 + ldrb r0, [r0] + cmp r0, 0 + beq _080839B0 + ldr r4, _080839AC + adds r4, r1, r4 + str r4, [sp, 0x18] + movs r0, 0x14 + b _080839D0 + .align 2, 0 +_080839A0: .4byte gUnknown_80F4CC4 +_080839A4: .4byte gDungeonGlobalData +_080839A8: .4byte 0x000037fc +_080839AC: .4byte 0x000135cc +_080839B0: + ldrb r0, [r4, 0x6] + cmp r0, 0 + bne _080839C8 + ldr r2, _080839C4 + adds r2, r1, r2 + str r2, [sp, 0x18] + movs r3, 0x10 + str r3, [sp, 0x1C] + b _080839D2 + .align 2, 0 +_080839C4: .4byte 0x0001358c +_080839C8: + ldr r4, _08083A78 + adds r4, r1, r4 + str r4, [sp, 0x18] + movs r0, 0x4 +_080839D0: + str r0, [sp, 0x1C] +_080839D2: + movs r1, 0 + ldrsh r0, [r7, r1] + cmp r0, 0x63 + beq _08083A46 +_080839DA: + movs r2, 0 + ldrsh r0, [r7, r2] + ldr r3, [sp, 0x8] + muls r0, r3 + ldr r4, [sp, 0x10] + adds r4, r0 + mov r9, r4 + movs r1, 0x2 + ldrsh r0, [r7, r1] + ldr r2, [sp, 0xC] + muls r0, r2 + ldr r3, [sp, 0x14] + adds r3, r0 + mov r8, r3 + movs r6, 0 + ldr r4, [sp, 0x1C] + cmp r6, r4 + bge _08083A3C + ldr r5, [sp, 0x18] +_08083A00: + ldr r4, [r5] + adds r0, r4, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _08083A32 + movs r1, 0x4 + ldrsh r0, [r4, r1] + cmp r0, r9 + bne _08083A32 + movs r2, 0x6 + ldrsh r0, [r4, r2] + cmp r0, r8 + bne _08083A32 + mov r0, r10 + adds r1, r4, 0 + movs r2, 0 + movs r3, 0 + bl CanTarget + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08083A80 +_08083A32: + adds r5, 0x4 + adds r6, 0x1 + ldr r3, [sp, 0x1C] + cmp r6, r3 + blt _08083A00 +_08083A3C: + adds r7, 0x4 + movs r4, 0 + ldrsh r0, [r7, r4] + cmp r0, 0x63 + bne _080839DA +_08083A46: + ldr r2, _08083A7C + ldr r1, [sp, 0x4] + adds r1, 0x46 + ldrb r0, [r1] + lsls r0, 2 + adds r0, r2 + movs r3, 0 + ldrsh r0, [r0, r3] + lsls r0, 1 + mov r4, r10 + ldrh r4, [r4, 0x4] + adds r0, r4 + ldr r3, [sp] + strh r0, [r3] + ldrb r0, [r1] + lsls r0, 2 + adds r0, r2 + movs r4, 0x2 + ldrsh r0, [r0, r4] + lsls r0, 1 +_08083A6E: + mov r1, r10 + ldrh r1, [r1, 0x6] + adds r0, r1 + strh r0, [r3, 0x2] + b _08083A9E + .align 2, 0 +_08083A78: .4byte 0x0001357c +_08083A7C: .4byte gAdjacentTileOffsets +_08083A80: + mov r3, r9 + ldr r2, [sp] + strh r3, [r2] + mov r4, r8 + strh r4, [r2, 0x2] + b _08083A9E +_08083A8C: + ldr r0, [sp, 0x4] + adds r0, 0x58 + ldrh r0, [r0] + ldr r1, [sp] + strh r0, [r1] + ldr r0, [sp, 0x4] + adds r0, 0x5A + ldrh r0, [r0] + strh r0, [r1, 0x2] +_08083A9E: + add sp, 0x20 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8083904 + + thumb_func_start sub_8083AB0 +sub_8083AB0: + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x14 + adds r5, r1, 0 + adds r7, r2, 0 + lsls r0, 16 + asrs r0, 16 + mov r8, r0 + ldr r0, _08083AFC + ldr r0, [r0] + ldr r1, _08083B00 + adds r4, r0, r1 + movs r6, 0 + adds r0, r5, 0 + bl EntityExists + lsls r0, 24 + cmp r0, 0 + beq _08083AE4 + adds r0, r5, 0 + bl GetEntityType + cmp r0, 0x1 + bne _08083AE4 + ldr r6, [r5, 0x70] +_08083AE4: + ldr r5, [r7, 0x70] + cmp r6, 0 + beq _08083B04 + mov r0, sp + adds r1, r6, 0 + bl sub_80709C8 + adds r0, r4, 0 + mov r1, sp + bl CopyStringtoBuffer + b _08083B0E + .align 2, 0 +_08083AFC: .4byte gDungeonGlobalData +_08083B00: .4byte 0x0001ce98 +_08083B04: + ldr r0, _08083C04 + ldr r1, [r0] + adds r0, r4, 0 + bl CopyStringtoBuffer +_08083B0E: + mov r0, sp + adds r1, r5, 0 + bl sub_80709C8 + adds r0, r4, 0 + adds r0, 0xA + mov r1, sp + bl CopyStringtoBuffer + movs r2, 0 + mov r3, r8 + strh r3, [r4, 0x14] + ldr r0, [r5, 0x60] + str r0, [r4, 0x1C] + ldr r0, [r5, 0x18] + str r0, [r4, 0x20] + ldrb r0, [r5, 0x9] + adds r1, r4, 0 + adds r1, 0x2A + strb r0, [r1] + ldrh r0, [r5, 0x10] + strh r0, [r4, 0x24] + ldrb r0, [r5, 0x14] + subs r1, 0x4 + strb r0, [r1] + ldrb r0, [r5, 0x15] + adds r1, 0x1 + strb r0, [r1] + ldrb r1, [r5, 0x16] + adds r0, r4, 0 + adds r0, 0x28 + strb r1, [r0] + ldrb r0, [r5, 0x17] + adds r1, r4, 0 + adds r1, 0x29 + strb r0, [r1] + ldr r0, _08083C08 + ldr r0, [r0] + ldr r1, _08083C0C + adds r0, r1 + ldr r0, [r0] + str r0, [r4, 0x18] + adds r3, r4, 0 + adds r3, 0x2B + strb r2, [r3] + adds r6, r4, 0 + adds r6, 0x2C + strb r2, [r6] + movs r0, 0x2D + adds r0, r4 + mov r12, r0 + strb r2, [r0] + adds r4, 0x2E + strb r2, [r4] + adds r0, r5, 0 + adds r0, 0x60 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08083BF8 + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _08083BF8 + adds r1, r5, 0 + adds r1, 0x62 + ldrb r0, [r1] + cmp r0, 0x13 + bne _08083BA4 + ldr r0, _08083C10 + ldrb r0, [r0] + ldrb r2, [r3] + adds r0, r2 + strb r0, [r3] +_08083BA4: + ldrb r0, [r1] + cmp r0, 0x2B + bne _08083BB4 + ldr r0, _08083C14 + ldrb r0, [r0] + ldrb r2, [r3] + adds r0, r2 + strb r0, [r3] +_08083BB4: + ldrb r0, [r1] + cmp r0, 0x21 + bne _08083BC4 + ldr r0, _08083C18 + ldrb r0, [r0] + ldrb r3, [r6] + adds r0, r3 + strb r0, [r6] +_08083BC4: + ldrb r0, [r1] + cmp r0, 0x2B + bne _08083BD4 + ldr r0, _08083C14 + ldrb r0, [r0] + ldrb r2, [r6] + adds r0, r2 + strb r0, [r6] +_08083BD4: + ldrb r0, [r1] + cmp r0, 0x1E + bne _08083BE8 + ldr r0, _08083C1C + ldrb r0, [r0] + mov r3, r12 + ldrb r3, [r3] + adds r0, r3 + mov r2, r12 + strb r0, [r2] +_08083BE8: + ldrb r0, [r1] + cmp r0, 0x22 + bne _08083BF8 + ldr r0, _08083C20 + ldrb r0, [r0] + ldrb r3, [r4] + adds r0, r3 + strb r0, [r4] +_08083BF8: + add sp, 0x14 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08083C04: .4byte gUnknown_80FE6F4 +_08083C08: .4byte gDungeonGlobalData +_08083C0C: .4byte 0x00000644 +_08083C10: .4byte gUnknown_810AC60 +_08083C14: .4byte gUnknown_810AC68 +_08083C18: .4byte gUnknown_810AC62 +_08083C1C: .4byte gUnknown_810AC64 +_08083C20: .4byte gUnknown_810AC66 + thumb_func_end sub_8083AB0 + + thumb_func_start sub_8083C24 +sub_8083C24: + push {lr} + ldr r0, _08083C3C + ldr r0, [r0] + ldr r1, _08083C40 + adds r0, r1 + movs r2, 0x14 + ldrsh r1, [r0, r2] + ldr r0, _08083C44 + cmp r1, r0 + ble _08083C48 + movs r0, 0 + b _08083C4A + .align 2, 0 +_08083C3C: .4byte gDungeonGlobalData +_08083C40: .4byte 0x0001ce98 +_08083C44: .4byte 0x00000225 +_08083C48: + movs r0, 0x1 +_08083C4A: + pop {r1} + bx r1 + thumb_func_end sub_8083C24 + + thumb_func_start sub_8083C50 +sub_8083C50: + push {lr} + ldr r0, _08083C74 + ldr r0, [r0] + ldr r1, _08083C78 + adds r0, r1 + movs r2, 0x14 + ldrsh r1, [r0, r2] + ldr r0, _08083C7C + cmp r1, r0 + beq _08083C70 + adds r0, 0x3 + cmp r1, r0 + beq _08083C70 + subs r0, 0x2 + cmp r1, r0 + bne _08083C80 +_08083C70: + movs r0, 0x1 + b _08083C82 + .align 2, 0 +_08083C74: .4byte gDungeonGlobalData +_08083C78: .4byte 0x0001ce98 +_08083C7C: .4byte 0x00000227 +_08083C80: + movs r0, 0 +_08083C82: + pop {r1} + bx r1 + thumb_func_end sub_8083C50 + + thumb_func_start sub_8083C88 +sub_8083C88: + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r4, _08083CC4 + ldr r0, [r4] + ldr r1, _08083CC8 + adds r5, r0, r1 + ldr r1, _08083CCC + adds r0, r1 + ldrb r0, [r0] + bl GetUnk9 + lsls r0, 24 + cmp r0, 0 + bne _08083CB6 + ldr r0, [r4] + ldr r1, _08083CD0 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _08083CC0 + cmp r6, 0 + bne _08083CC0 +_08083CB6: + movs r0, 0x14 + ldrsh r1, [r5, r0] + ldr r0, _08083CD4 + cmp r1, r0 + beq _08083CD8 +_08083CC0: + movs r0, 0x1 + b _08083CDA + .align 2, 0 +_08083CC4: .4byte gDungeonGlobalData +_08083CC8: .4byte 0x0001ce98 +_08083CCC: .4byte 0x00000644 +_08083CD0: .4byte 0x0000065c +_08083CD4: .4byte 0x00000227 +_08083CD8: + movs r0, 0 +_08083CDA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8083C88 + + thumb_func_start sub_8083CE0 +sub_8083CE0: + push {lr} + lsls r0, 24 + cmp r0, 0 + beq _08083CF2 + ldr r0, _08083D00 + movs r1, 0x1A + ldrsh r0, [r0, r1] + cmp r0, 0x1 + ble _08083CFC +_08083CF2: + ldr r0, _08083D04 + movs r1, 0x80 + lsls r1, 1 + bl sub_800C074 +_08083CFC: + pop {r0} + bx r0 + .align 2, 0 +_08083D00: .4byte gUnknown_202EE10 +_08083D04: .4byte 0x0000012d + thumb_func_end sub_8083CE0 + + thumb_func_start sub_8083D08 +sub_8083D08: + push {lr} + movs r0, 0x97 + lsls r0, 1 + movs r1, 0x80 + lsls r1, 1 + bl sub_800C074 + pop {r0} + bx r0 + thumb_func_end sub_8083D08 + + thumb_func_start sub_8083D1C +sub_8083D1C: + push {lr} + ldr r0, _08083D2C + movs r1, 0x80 + lsls r1, 1 + bl sub_800C074 + pop {r0} + bx r0 + .align 2, 0 +_08083D2C: .4byte 0x00000133 + thumb_func_end sub_8083D1C + + thumb_func_start sub_8083D30 +sub_8083D30: + push {lr} + ldr r0, _08083D40 + movs r1, 0x80 + lsls r1, 1 + bl sub_800C074 + pop {r0} + bx r0 + .align 2, 0 +_08083D40: .4byte 0x0000012f + thumb_func_end sub_8083D30 + + thumb_func_start sub_8083D44 +sub_8083D44: + push {lr} + movs r0, 0x98 + lsls r0, 1 + movs r1, 0x80 + lsls r1, 1 + bl sub_800C074 + pop {r0} + bx r0 + thumb_func_end sub_8083D44 + + thumb_func_start sub_8083D58 +sub_8083D58: + push {lr} + movs r1, 0x80 + lsls r1, 1 + movs r0, 0xC8 + bl sub_800C074 + pop {r0} + bx r0 + thumb_func_end sub_8083D58 + + thumb_func_start sub_8083D68 +sub_8083D68: + push {lr} + movs r1, 0x80 + lsls r1, 1 + movs r0, 0xCF + bl sub_800C074 + pop {r0} + bx r0 + thumb_func_end sub_8083D68 + + thumb_func_start sub_8083D78 +sub_8083D78: + push {lr} + movs r1, 0x80 + lsls r1, 1 + movs r0, 0xD3 + bl sub_800C074 + pop {r0} + bx r0 + thumb_func_end sub_8083D78 + + thumb_func_start sub_8083D88 +sub_8083D88: + push {lr} + movs r1, 0x80 + lsls r1, 1 + movs r0, 0xCC + bl sub_800C074 + pop {r0} + bx r0 + thumb_func_end sub_8083D88 + + thumb_func_start sub_8083D98 +sub_8083D98: + push {lr} + movs r0, 0x33 + bl sub_8083E88 + ldr r2, _08083DCC + ldr r0, [r2] + ldr r1, _08083DD0 + adds r0, r1 + movs r1, 0 + strb r1, [r0] + ldr r0, [r2] + ldr r3, _08083DD4 + adds r0, r3 + strb r1, [r0] + ldr r0, [r2] + adds r3, 0x27 + adds r0, r3 + strb r1, [r0] + ldr r0, [r2] + ldr r1, _08083DD8 + adds r0, r1 + ldr r1, _08083DDC + strh r1, [r0] + pop {r0} + bx r0 + .align 2, 0 +_08083DCC: .4byte gDungeonGlobalData +_08083DD0: .4byte 0x0000066f +_08083DD4: .4byte 0x00000672 +_08083DD8: .4byte 0x0000066a +_08083DDC: .4byte 0x000003e7 + thumb_func_end sub_8083D98 + + thumb_func_start sub_8083DE0 +sub_8083DE0: + push {lr} + movs r0, 0x34 + bl sub_8083E88 + ldr r2, _08083E14 + ldr r0, [r2] + ldr r1, _08083E18 + adds r0, r1 + movs r1, 0 + strb r1, [r0] + ldr r0, [r2] + ldr r3, _08083E1C + adds r0, r3 + strb r1, [r0] + ldr r0, [r2] + adds r3, 0x27 + adds r0, r3 + strb r1, [r0] + ldr r0, [r2] + ldr r1, _08083E20 + adds r0, r1 + ldr r1, _08083E24 + strh r1, [r0] + pop {r0} + bx r0 + .align 2, 0 +_08083E14: .4byte gDungeonGlobalData +_08083E18: .4byte 0x0000066f +_08083E1C: .4byte 0x00000672 +_08083E20: .4byte 0x0000066a +_08083E24: .4byte 0x000003e7 + thumb_func_end sub_8083DE0 + + thumb_func_start sub_8083E28 +sub_8083E28: + push {lr} + movs r1, 0x80 + lsls r1, 1 + movs r0, 0xCF + bl sub_800C074 + pop {r0} + bx r0 + thumb_func_end sub_8083E28 + + thumb_func_start PlaySoundEffect +PlaySoundEffect: + push {lr} + lsls r0, 16 + lsrs r2, r0, 16 + ldr r0, _08083E54 + cmp r2, r0 + beq _08083E4E + movs r1, 0x80 + lsls r1, 1 + adds r0, r2, 0 + bl sub_800C074 +_08083E4E: + pop {r0} + bx r0 + .align 2, 0 +_08083E54: .4byte 0x000003e5 + thumb_func_end PlaySoundEffect + + thumb_func_start sub_8083E58 +sub_8083E58: + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + ldr r0, _08083E70 + cmp r1, r0 + beq _08083E6A + adds r0, r1, 0 + bl sub_800C298 +_08083E6A: + pop {r0} + bx r0 + .align 2, 0 +_08083E70: .4byte 0x000003e5 + thumb_func_end sub_8083E58 + + thumb_func_start sub_8083E74 +sub_8083E74: + push {lr} + lsls r0, 16 + lsrs r0, 16 + bl sub_800C5D0 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_8083E74 + + thumb_func_start sub_8083E88 +sub_8083E88: + ldr r1, _08083E9C + ldr r1, [r1] + ldr r3, _08083EA0 + adds r2, r1, r3 + movs r3, 0 + strh r0, [r2] + ldr r0, _08083EA4 + adds r1, r0 + strh r3, [r1] + bx lr + .align 2, 0 +_08083E9C: .4byte gDungeonGlobalData +_08083EA0: .4byte 0x0001ceda +_08083EA4: .4byte 0x0001ced4 + thumb_func_end sub_8083E88 + + thumb_func_start sub_8083EA8 +sub_8083EA8: + push {r4,r5,lr} + lsls r0, 16 + lsrs r0, 16 + ldr r2, _08083ECC + ldr r2, [r2] + movs r4, 0x80 + lsls r4, 8 + adds r3, r4, 0 + ldr r5, _08083ED0 + adds r4, r2, r5 + orrs r0, r3 + strh r0, [r4] + ldr r0, _08083ED4 + adds r2, r0 + strh r1, [r2] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08083ECC: .4byte gDungeonGlobalData +_08083ED0: .4byte 0x0001ceda +_08083ED4: .4byte 0x0001ced4 + thumb_func_end sub_8083EA8 + + thumb_func_start sub_8083ED8 +sub_8083ED8: + push {lr} + lsls r0, 16 + lsrs r0, 16 + bl sub_80118C4 + ldr r0, _08083F00 + ldr r1, [r0] + ldr r2, _08083F04 + adds r0, r1, r2 + ldr r2, _08083F08 + strh r2, [r0] + ldr r3, _08083F0C + adds r0, r1, r3 + strh r2, [r0] + ldr r0, _08083F10 + adds r1, r0 + strh r2, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08083F00: .4byte gDungeonGlobalData +_08083F04: .4byte 0x0001ced6 +_08083F08: .4byte 0x000003e7 +_08083F0C: .4byte 0x0001ced8 +_08083F10: .4byte 0x0001ceda + thumb_func_end sub_8083ED8 + + thumb_func_start sub_8083F14 +sub_8083F14: + push {lr} + bl sub_8083F34 + bl sub_8011924 + pop {r0} + bx r0 + thumb_func_end sub_8083F14 + + thumb_func_start xxx_call_GetCurrentBGSong +xxx_call_GetCurrentBGSong: + push {lr} + bl GetCurrentBGSong + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end xxx_call_GetCurrentBGSong + + thumb_func_start sub_8083F34 +sub_8083F34: + ldr r0, _08083F4C + ldr r0, [r0] + ldr r1, _08083F50 + adds r0, r1 + movs r1, 0 + str r1, [r0] + str r1, [r0, 0x4] + ldr r1, _08083F54 + strh r1, [r0, 0xA] + strh r1, [r0, 0xC] + strh r1, [r0, 0xE] + bx lr + .align 2, 0 +_08083F4C: .4byte gDungeonGlobalData +_08083F50: .4byte 0x0001cecc +_08083F54: .4byte 0x000003e7 + thumb_func_end sub_8083F34 + + thumb_func_start sub_8083F58 +sub_8083F58: + push {r4,lr} + ldr r0, _08083F7C + ldr r2, [r0] + ldr r0, _08083F80 + adds r4, r2, r0 + ldr r1, _08083F84 + adds r3, r2, r1 + ldrh r1, [r3] + ldr r0, _08083F88 + cmp r1, r0 + bne _08083FB2 + ldr r1, _08083F8C + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _08083F90 + movs r1, 0x12 + b _08083FB2 + .align 2, 0 +_08083F7C: .4byte gDungeonGlobalData +_08083F80: .4byte 0x0001cecc +_08083F84: .4byte 0x0000066a +_08083F88: .4byte 0x000003e7 +_08083F8C: .4byte 0x0000066f +_08083F90: + ldr r1, _08083FA0 + adds r0, r2, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _08083FA4 + movs r1, 0x80 + b _08083FB2 + .align 2, 0 +_08083FA0: .4byte 0x00000672 +_08083FA4: + ldr r1, _08083FC4 + adds r0, r2, r1 + ldrb r0, [r0] + movs r1, 0x11 + cmp r0, 0 + bne _08083FB2 + ldrh r1, [r4, 0xE] +_08083FB2: + ldr r0, [r4] + cmp r0, 0x4 + bne _08083FC8 + ldrh r0, [r4, 0xC] + cmp r1, r0 + beq _08083FDA + movs r0, 0x2 + b _08083FD6 + .align 2, 0 +_08083FC4: .4byte 0x00000699 +_08083FC8: + ldr r2, _08083FEC + cmp r1, r2 + beq _08083FDA + ldrh r0, [r4, 0xA] + cmp r0, r2 + bne _08083FDA + movs r0, 0x1 +_08083FD6: + str r0, [r4] + strh r1, [r4, 0xA] +_08083FDA: + ldr r0, [r4] + cmp r0, 0x4 + bhi _08084084 + lsls r0, 2 + ldr r1, _08083FF0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08083FEC: .4byte 0x000003e7 +_08083FF0: .4byte _08083FF4 + .align 2, 0 +_08083FF4: + .4byte _08084084 + .4byte _08084008 + .4byte _08084050 + .4byte _0808405E + .4byte _08084084 +_08084008: + ldrh r1, [r4, 0xA] + ldr r0, _08084014 + cmp r1, r0 + bne _08084018 + movs r0, 0 + b _08084040 + .align 2, 0 +_08084014: .4byte 0x000003e7 +_08084018: + movs r0, 0x80 + lsls r0, 8 + ands r0, r1 + cmp r0, 0 + beq _08084030 + ldr r0, _0808402C + ands r0, r1 + bl StartNewBGM + b _0808403A + .align 2, 0 +_0808402C: .4byte 0x00007fff +_08084030: + ldr r0, _08084048 + ands r0, r1 + ldrh r1, [r4, 0x8] + bl FadeInNewBGM +_0808403A: + ldrh r0, [r4, 0xA] + strh r0, [r4, 0xC] + movs r0, 0x4 +_08084040: + str r0, [r4] + ldr r0, _0808404C + strh r0, [r4, 0xA] + b _08084084 + .align 2, 0 +_08084048: .4byte 0x00007fff +_0808404C: .4byte 0x000003e7 +_08084050: + movs r0, 0x1E + bl FadeOutBGM + movs r0, 0x1E + str r0, [r4, 0x4] + movs r0, 0x3 + b _08084082 +_0808405E: + ldr r0, [r4, 0x4] + cmp r0, 0 + beq _0808406C + subs r0, 0x1 + str r0, [r4, 0x4] + cmp r0, 0 + bne _08084084 +_0808406C: + ldrh r1, [r4, 0xA] + ldr r0, _0808407C + cmp r1, r0 + bne _08084080 + bl sub_800BF80 + movs r0, 0 + b _08084082 + .align 2, 0 +_0808407C: .4byte 0x000003e7 +_08084080: + movs r0, 0x1 +_08084082: + str r0, [r4] +_08084084: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8083F58 + + thumb_func_start sub_808408C +sub_808408C: + ldr r2, _0808409C + movs r1, 0x1 + orrs r1, r0 + ldr r0, _080840A0 + ands r0, r1 + str r0, [r2] + bx lr + .align 2, 0 +_0808409C: .4byte gUnknown_203B458 +_080840A0: .4byte 0x00ffffff + thumb_func_end sub_808408C + + thumb_func_start sub_80840A4 +sub_80840A4: + ldr r3, _080840C8 + ldr r0, [r3] + ldr r2, _080840CC + adds r1, r0, 0 + muls r1, r2 + adds r1, 0x1 + lsrs r0, r1, 16 + muls r1, r2 + adds r1, 0x1 + str r1, [r3] + ldr r2, _080840D0 + ands r1, r2 + orrs r0, r1 + ldr r1, _080840D4 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + bx lr + .align 2, 0 +_080840C8: .4byte gUnknown_203B458 +_080840CC: .4byte 0x5d588b65 +_080840D0: .4byte 0xffff0000 +_080840D4: .4byte 0x00ffffff + thumb_func_end sub_80840A4 + + thumb_func_start sub_80840D8 +sub_80840D8: + ldr r2, _080840E4 + movs r1, 0x1 + orrs r1, r0 + str r1, [r2] + bx lr + .align 2, 0 +_080840E4: .4byte gDungeonRngState + thumb_func_end sub_80840D8 + + .align 2, 0
\ No newline at end of file |