.include "asm/macros.inc" .include "constants/constants.inc" .syntax unified .text thumb_func_start sub_0807059C sub_0807059C: @ 0x0807059C push {lr} ldr r0, _080705A8 @ =gUnk_02034490 movs r1, #0x18 bl MemClear pop {pc} .align 2, 0 _080705A8: .4byte gUnk_02034490 thumb_func_start sub_080705AC sub_080705AC: @ 0x080705AC push {lr} ldr r0, _08070614 @ =gInput ldrh r1, [r0, #2] movs r0, #8 ands r0, r1 cmp r0, #0 beq _08070674 ldr r0, _08070618 @ =gFadeControl ldrb r0, [r0] cmp r0, #0 bne _08070674 ldr r0, _0807061C @ =gUnk_02034490 ldrb r0, [r0] cmp r0, #0 bne _08070674 ldr r0, _08070620 @ =gMessage ldrb r1, [r0] movs r0, #0x7f ands r0, r1 cmp r0, #0 bne _08070674 ldr r1, _08070624 @ =gSave adds r0, r1, #0 adds r0, #0xaa ldrb r0, [r0] cmp r0, #0 beq _08070674 adds r0, r1, #0 adds r0, #0xf2 ldrb r0, [r0] cmp r0, #0 beq _08070674 ldr r1, _08070628 @ =gPlayerState adds r0, r1, #0 adds r0, #0x8b ldrb r0, [r0] cmp r0, #0 bne _08070674 ldr r0, _0807062C @ =gUnk_03003DC0 ldrh r0, [r0, #8] cmp r0, #0 bne _08070674 adds r2, r1, #0 adds r2, #0xa8 ldrb r0, [r2] cmp r0, #0 bne _08070630 adds r0, r1, #0 adds r0, #0xa9 ldrb r0, [r0] b _08070632 .align 2, 0 _08070614: .4byte gInput _08070618: .4byte gFadeControl _0807061C: .4byte gUnk_02034490 _08070620: .4byte gMessage _08070624: .4byte gSave _08070628: .4byte gPlayerState _0807062C: .4byte gUnk_03003DC0 _08070630: ldrb r0, [r2] _08070632: subs r0, #0x12 cmp r0, #0xa bhi _08070678 lsls r0, r0, #2 ldr r1, _08070644 @ =_08070648 adds r0, r0, r1 ldr r0, [r0] mov pc, r0 .align 2, 0 _08070644: .4byte _08070648 _08070648: @ jump table .4byte _08070674 @ case 0 .4byte _08070674 @ case 1 .4byte _08070678 @ case 2 .4byte _08070674 @ case 3 .4byte _08070674 @ case 4 .4byte _08070678 @ case 5 .4byte _08070678 @ case 6 .4byte _08070678 @ case 7 .4byte _08070678 @ case 8 .4byte _08070678 @ case 9 .4byte _08070674 @ case 10 _08070674: movs r0, #0 b _0807067E _08070678: bl sub_080A4D88 movs r0, #1 _0807067E: pop {pc}