// File: /workspace/github_c_makefile_star2_O0/moefh[P]hed/src/editor.c
// Function: draw_footer
static void draw_footer(struct hed_editor *editor)
{
  struct hed_screen *scr = &editor->screen;

  reset_color();
  move_cursor(1, scr->h - EDITOR_FOOTER_LINES + 1);
  if (scr->cur_msg[0] != '\0') {
    set_color(FG_BLACK, BG_GRAY);
    out(" %s", scr->cur_msg);
  }
  clear_eol();

  switch (editor->mode) {
  case HED_MODE_READ_FILENAME:
    hed_draw_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-1, "^T", "To Files");
    hed_draw_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-0, "^C", "Cancel");

    hed_void_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-1);
    hed_void_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-0);
    break;

  case HED_MODE_READ_STRING:
    hed_void_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-1);
    hed_draw_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-0, "^C", "Cancel");

    hed_void_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-1);
    hed_void_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-0);
    break;

  case HED_MODE_READ_YESNO:
    hed_draw_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-1, " Y", "Yes");
    hed_draw_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-0, " N", "No");
    
    hed_void_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-1);
    hed_draw_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-0, "^C", "Cancel");

    hed_void_key_help(1 + 2*EDITOR_KEY_HELP_SPACING, scr->h-1);
    hed_void_key_help(1 + 2*EDITOR_KEY_HELP_SPACING, scr->h-0);
    break;

  case HED_MODE_DEFAULT:
    hed_draw_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-1, "^G",  "Get Help");
    hed_draw_key_help(1 + 0*EDITOR_KEY_HELP_SPACING, scr->h-0, "^X",  (editor->file->next == editor->file) ? "Exit" : "Close");
    
    hed_draw_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-1, "^O",  "Write File");
    hed_draw_key_help(1 + 1*EDITOR_KEY_HELP_SPACING, scr->h-0, "^R",  "Read File");

    hed_draw_key_help(1 + 2*EDITOR_KEY_HELP_SPACING, scr->h-1, "^W",  "Where Is");
    hed_draw_key_help(1 + 2*EDITOR_KEY_HELP_SPACING, scr->h-0, "^C",  "Cur Pos");
    
    hed_draw_key_help(1 + 3*EDITOR_KEY_HELP_SPACING, scr->h-1, "M-W", "Last Search");
    hed_draw_key_help(1 + 3*EDITOR_KEY_HELP_SPACING, scr->h-0, "M-G", "Go To");

    hed_draw_key_help(1 + 4*EDITOR_KEY_HELP_SPACING, scr->h-1, "TAB", "Switch Pane");
    hed_draw_key_help(1 + 4*EDITOR_KEY_HELP_SPACING, scr->h-0, " ^T", "Toggle Data");
  }
  clear_eol();
}

// Assembly:
subq $0x18, %rsp
movq %rdi, 0x10(%rsp)
movq 0x10(%rsp), %rax
addq $0x108, %rax            # imm = 0x108
movq %rax, 0x8(%rsp)
callq 0x3d40
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x3, %esi
addl $0x1, %esi
movl $0x1, %edi
callq 0x3d80
movq 0x8(%rsp), %rax
movsbl 0x11(%rax), %eax
cmpl $0x0, %eax
je 0x75da
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3c80
movq 0x8(%rsp), %rsi
addq $0x11, %rsi
leaq 0x4191(%rip), %rdi      # 0xb764
movb $0x0, %al
callq 0x3850
callq 0x3d60
movq 0x10(%rsp), %rax
movl 0x104(%rax), %eax
movq %rax, (%rsp)
subq $0x3, %rax
ja 0x791c
movq (%rsp), %rax
leaq 0x3edd(%rip), %rcx      # 0xb4e0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x1, %edi
leaq 0x3f96(%rip), %rdx      # 0xb5b9
leaq 0x3f05(%rip), %rcx      # 0xb52f
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x1, %edi
leaq 0x3e8f(%rip), %rdx      # 0xb4d5
leaq 0x3e8b(%rip), %rcx      # 0xb4d8
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x11, %edi
callq 0x6400
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x11, %edi
callq 0x6400
jmp 0x791c
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x1, %edi
callq 0x6400
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x1, %edi
leaq 0x3e28(%rip), %rdx      # 0xb4d5
leaq 0x3e24(%rip), %rcx      # 0xb4d8
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x11, %edi
callq 0x6400
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x11, %edi
callq 0x6400
jmp 0x791c
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x1, %edi
leaq 0x3e39(%rip), %rdx      # 0xb538
leaq 0x3e35(%rip), %rcx      # 0xb53b
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x1, %edi
leaq 0x3e1d(%rip), %rdx      # 0xb53f
leaq 0x3e19(%rip), %rcx      # 0xb542
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x11, %edi
callq 0x6400
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x11, %edi
leaq 0x3d7b(%rip), %rdx      # 0xb4d5
leaq 0x3d77(%rip), %rcx      # 0xb4d8
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x21, %edi
callq 0x6400
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x21, %edi
callq 0x6400
jmp 0x791c
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x1, %edi
leaq 0x3d99(%rip), %rdx      # 0xb545
leaq 0x3d95(%rip), %rcx      # 0xb548
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movq 0x10(%rsp), %rax
movq 0x628(%rax), %rax
movq (%rax), %rdx
movq 0x10(%rsp), %rax
movq 0x628(%rax), %rdi
leaq 0x3d74(%rip), %rcx      # 0xb559
leaq 0x3d68(%rip), %rax      # 0xb554
cmpq %rdi, %rdx
cmoveq %rax, %rcx
movl $0x1, %edi
leaq 0x3d52(%rip), %rdx      # 0xb551
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x11, %edi
leaq 0x3d44(%rip), %rdx      # 0xb55f
leaq 0x3d40(%rip), %rcx      # 0xb562
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x11, %edi
leaq 0x3d2f(%rip), %rdx      # 0xb56d
leaq 0x3d2b(%rip), %rcx      # 0xb570
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x21, %edi
leaq 0x3d19(%rip), %rdx      # 0xb57a
leaq 0x3d15(%rip), %rcx      # 0xb57d
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x21, %edi
leaq 0x3c51(%rip), %rdx      # 0xb4d5
leaq 0x3cfb(%rip), %rcx      # 0xb586
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x31, %edi
leaq 0x3ce7(%rip), %rdx      # 0xb58e
leaq 0x3ce4(%rip), %rcx      # 0xb592
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x31, %edi
leaq 0x3cd4(%rip), %rdx      # 0xb59e
leaq 0x3cd1(%rip), %rcx      # 0xb5a2
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x1, %esi
movl $0x41, %edi
leaq 0x3cbb(%rip), %rdx      # 0xb5a8
leaq 0x3cb8(%rip), %rcx      # 0xb5ac
callq 0x6340
movq 0x8(%rsp), %rax
movl 0x8(%rax), %esi
subl $0x0, %esi
movl $0x41, %edi
leaq 0x3ca8(%rip), %rdx      # 0xb5b8
leaq 0x3ca5(%rip), %rcx      # 0xb5bc
callq 0x6340
callq 0x3d60
addq $0x18, %rsp
retq
nopw %cs:(%rax,%rax)