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

  if (scr->window_changed || ! file->data) {
    reset_color();
    clear_screen();
    scr->window_changed = false;
  }

  draw_header(editor);
  draw_footer(editor);

  if (file->data) {
    draw_file_dump(editor);
    draw_pos_data_dump(editor);
  }
  
  hed_scr_flush();
  scr->redraw_needed = false;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdi, %r13
movq 0x628(%rdi), %r15
cmpb $0x0, 0x114(%rdi)
jne 0x4dc6
cmpq $0x0, 0x10(%r15)
movq %r15, %rbx
jne 0x4ddf
callq 0x318e
callq 0x31fe
movb $0x0, 0x114(%r13)
movq 0x628(%r13), %rbx
callq 0x318e
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3124
movl $0x1, %edi
movl $0x1, %esi
callq 0x31aa
movq 0x20(%rbx), %rax
testq %rax, %rax
leaq 0x28e3(%rip), %rsi      # 0x76f3
cmovneq %rax, %rsi
leaq 0x2b33(%rip), %rdi      # 0x794e
xorl %eax, %eax
callq 0x2e58
cmpb $0x1, 0x28(%rbx)
jne 0x4e36
leaq 0x28cf(%rip), %rdi      # 0x76fe
xorl %eax, %eax
callq 0x2e58
cmpb $0x1, 0x2(%r13)
jne 0x4e4b
leaq 0x28c6(%rip), %rdi      # 0x770a
xorl %eax, %eax
callq 0x2e58
callq 0x319c
movl 0x10c(%r13), %edi
addl $-0x9, %edi
movl $0x1, %esi
callq 0x31aa
leaq 0x2ae4(%rip), %rdi      # 0x794f
leaq 0x2702(%rip), %rsi      # 0x7574
xorl %eax, %eax
callq 0x2e58
callq 0x318e
callq 0x318e
movl 0x110(%r13), %esi
addl $-0x2, %esi
movl $0x1, %edi
callq 0x31aa
cmpb $0x0, 0x119(%r13)
je 0x4ec8
leaq 0x119(%r13), %r14
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3124
leaq 0x2a90(%rip), %rdi      # 0x794e
movq %r14, %rsi
xorl %eax, %eax
callq 0x2e58
callq 0x319c
movl 0x104(%r13), %eax
cmpq $0x3, %rax
ja 0x5189
leaq 0x2773(%rip), %rcx      # 0x7658
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x110(%r13), %esi
decl %esi
leaq 0x282f(%rip), %rdx      # 0x772d
leaq 0x282b(%rip), %rcx      # 0x7730
movl $0x1, %edi
callq 0x42cb
movl 0x110(%r13), %esi
movq 0x628(%r13), %rax
cmpq %rax, (%rax)
leaq 0x2815(%rip), %rax      # 0x773c
leaq 0x2813(%rip), %rcx      # 0x7741
cmoveq %rax, %rcx
leaq 0x2800(%rip), %rdx      # 0x7739
movl $0x1, %edi
callq 0x42cb
movl 0x110(%r13), %esi
decl %esi
leaq 0x27f4(%rip), %rdx      # 0x7747
leaq 0x27f0(%rip), %rcx      # 0x774a
movl $0x11, %edi
callq 0x42cb
movl 0x110(%r13), %esi
leaq 0x27e3(%rip), %rdx      # 0x7755
leaq 0x27df(%rip), %rcx      # 0x7758
movl $0x11, %edi
callq 0x42cb
movl 0x110(%r13), %esi
decl %esi
leaq 0x27cf(%rip), %rdx      # 0x7762
leaq 0x27cb(%rip), %rcx      # 0x7765
movl $0x21, %edi
callq 0x42cb
movl 0x110(%r13), %esi
leaq 0x25cb(%rip), %rdx      # 0x757d
leaq 0x27b5(%rip), %rcx      # 0x776e
movl $0x21, %edi
callq 0x42cb
movl 0x110(%r13), %esi
decl %esi
leaq 0x27a3(%rip), %rdx      # 0x7776
leaq 0x27a0(%rip), %rcx      # 0x777a
movl $0x31, %edi
callq 0x42cb
movl 0x110(%r13), %esi
leaq 0x2794(%rip), %rdx      # 0x7786
leaq 0x2791(%rip), %rcx      # 0x778a
movl $0x31, %edi
callq 0x42cb
movl 0x110(%r13), %esi
decl %esi
leaq 0x277d(%rip), %rdx      # 0x7790
leaq 0x277a(%rip), %rcx      # 0x7794
movl $0x41, %edi
callq 0x42cb
movl 0x110(%r13), %esi
leaq 0x276e(%rip), %rdx      # 0x77a0
leaq 0x276b(%rip), %rcx      # 0x77a4
movl $0x41, %edi
callq 0x42cb
jmp 0x5189
movl 0x110(%r13), %esi
decl %esi
movl $0x1, %edi
callq 0x31aa
callq 0x318e
callq 0x319c
jmp 0x5132
movl 0x110(%r13), %esi
decl %esi
leaq 0x26a6(%rip), %rdx      # 0x7720
leaq 0x26a2(%rip), %rcx      # 0x7723
movl $0x1, %edi
callq 0x42cb
movl 0x110(%r13), %esi
leaq 0x268e(%rip), %rdx      # 0x7727
leaq 0x268a(%rip), %rcx      # 0x772a
movl $0x1, %edi
callq 0x42cb
movl 0x110(%r13), %esi
decl %esi
movl $0x11, %edi
callq 0x31aa
callq 0x318e
callq 0x319c
movl 0x110(%r13), %esi
leaq 0x24a8(%rip), %rdx      # 0x757d
leaq 0x24a4(%rip), %rcx      # 0x7580
movl $0x11, %edi
callq 0x42cb
movl 0x110(%r13), %esi
decl %esi
movl $0x21, %edi
callq 0x31aa
callq 0x318e
callq 0x319c
movl 0x110(%r13), %esi
movl $0x21, %edi
jmp 0x517a
movl 0x110(%r13), %esi
decl %esi
leaq 0x2680(%rip), %rdx      # 0x77a1
leaq 0x25ef(%rip), %rcx      # 0x7717
movl $0x1, %edi
callq 0x42cb
movl 0x110(%r13), %esi
leaq 0x243d(%rip), %rdx      # 0x757d
leaq 0x2439(%rip), %rcx      # 0x7580
movl $0x1, %edi
callq 0x42cb
movl 0x110(%r13), %esi
decl %esi
movl $0x11, %edi
callq 0x31aa
callq 0x318e
callq 0x319c
movl 0x110(%r13), %esi
movl $0x11, %edi
callq 0x31aa
callq 0x318e
callq 0x319c
callq 0x319c
cmpq $0x0, 0x10(%r15)
je 0x5905
movq 0x628(%r13), %rbx
movl $0x1, %edi
movl $0x3, %esi
callq 0x31aa
movq 0x628(%r13), %rax
movzbl 0x29(%rax), %eax
movl 0x110(%r13), %ecx
xorl $0x1, %eax
leal (%rax,%rax,4), %eax
addl %ecx, %eax
addl $-0xa, %eax
movl %eax, 0x10(%rsp)
testl %eax, %eax
jle 0x5532
movl 0x10(%rsp), %eax
movq %rax, 0x58(%rsp)
leaq 0x25ce(%rip), %r12      # 0x77b6
movq $0x0, 0x50(%rsp)
xorl %r15d, %r15d
movq %r13, 0x18(%rsp)
movq 0x40(%rbx), %rax
movq %rax, 0x40(%rsp)
leaq (%rax,%r15), %r14
shlq $0x4, %r14
cmpq 0x18(%rbx), %r14
jae 0x550b
movq %r15, 0x68(%rsp)
xorl %ebp, %ebp
xorl %edi, %edi
callq 0x3152
leaq 0x2587(%rip), %rdi      # 0x77b0
movl %r14d, %esi
xorl %eax, %eax
callq 0x2e58
movq %r12, %rdi
callq 0x2f57
cmpl $0x0, 0x34(%rbx)
jne 0x5249
movb 0x2(%r13), %bpl
xorb $0x1, %bpl
movq 0x18(%rbx), %r12
movzbl %bpl, %edi
callq 0x3152
movq %r12, 0x60(%rsp)
movq %r14, 0x38(%rsp)
subq %r14, %r12
je 0x5386
cmpq $0x10, %r12
movl $0x10, %eax
cmovaeq %rax, %r12
cmpq $0x1, %r12
adcq $0x0, %r12
movq 0x40(%rsp), %r13
shlq $0x4, %r13
addq 0x50(%rsp), %r13
movq %r13, 0x40(%rsp)
xorl %r13d, %r13d
xorl %ebp, %ebp
movq 0x10(%rbx), %rax
movq 0x40(%rsp), %rcx
leaq (%rcx,%rbp), %r14
movzbl (%rax,%r14), %r15d
cmpq $0x8, %rbp
jne 0x52bc
leaq 0x254c(%rip), %rdi      # 0x7801
xorl %eax, %eax
callq 0x2e58
cmpq 0x38(%rbx), %r14
jne 0x532a
movq %r14, %rsi
shrq $0x4, %rsi
subl 0x40(%rbx), %esi
cmpq $0x8, %rbp
movl %r13d, %edi
sbbl $-0x1, %edi
addl $0xb, %edi
addl $0x3, %esi
callq 0x31aa
movl $0x2b, %esi
movq 0x18(%rsp), %rax
cmpb $0x0, 0x1(%rax)
jne 0x530b
movl $0x2f, %esi
cmpl $0x0, 0x34(%rbx)
jne 0x530b
movq 0x18(%rsp), %rax
movzbl 0x2(%rax), %eax
leal (%rax,%rax,4), %esi
addl $0x2a, %esi
movl $0x1e, %edi
callq 0x3124
xorl %edi, %edi
callq 0x3152
leaq 0x24de(%rip), %rdi      # 0x7801
xorl %eax, %eax
callq 0x2e58
leaq 0x2488(%rip), %rdi      # 0x77b9
movl %r15d, %esi
xorl %eax, %eax
callq 0x2e58
cmpq 0x38(%rbx), %r14
jne 0x5362
callq 0x318e
cmpl $0x0, 0x34(%rbx)
je 0x5350
xorl %eax, %eax
jmp 0x535a
movq 0x18(%rsp), %rax
movb 0x2(%rax), %al
xorb $0x1, %al
movzbl %al, %edi
callq 0x3152
leal -0x7f(%r15), %eax
cmpb $-0x5f, %al
movl $0x2e, %eax
cmovbl %eax, %r15d
movb %r15b, 0x20(%rsp,%rbp)
incq %rbp
addl $0x3, %r13d
cmpq %rbp, %r12
jne 0x5296
movq 0x60(%rsp), %rcx
movq %rcx, %rax
subq 0x38(%rsp), %rax
cmpq $0xf, %rax
movq 0x18(%rsp), %r13
leaq 0x2413(%rip), %r12      # 0x77b6
leaq 0x2455(%rip), %r15      # 0x77ff
ja 0x53e4
movq 0x38(%rsp), %r14
notq %r14
addq %rcx, %r14
movq %r15, %rdi
xorl %eax, %eax
callq 0x2e58
cmpq $0x7, %r14
jne 0x53d5
leaq 0x2433(%rip), %rdi      # 0x7801
xorl %eax, %eax
callq 0x2e58
movb $0x20, 0x21(%rsp,%r14)
incq %r14
cmpq $0xf, %r14
jb 0x53b7
movb $0x0, 0x30(%rsp)
xorl %ebp, %ebp
xorl %edi, %edi
callq 0x3152
movq %r12, %rdi
callq 0x2f57
cmpl $0x1, 0x34(%rbx)
jne 0x5408
movb 0x2(%r13), %bpl
xorb $0x1, %bpl
movzbl %bpl, %edi
callq 0x3152
movq 0x38(%rbx), %rax
movq %rax, %r15
movq 0x38(%rsp), %rdx
subq %rdx, %r15
setb %cl
addq $0x10, %rdx
cmpq %rdx, %rax
seta %al
orb %cl, %al
je 0x5449
leaq 0x2387(%rip), %rdi      # 0x77bf
leaq 0x20(%rsp), %rsi
xorl %eax, %eax
callq 0x2e58
jmp 0x54f0
leaq 0x211f(%rip), %rdi      # 0x756f
movl %r15d, %esi
leaq 0x20(%rsp), %rdx
xorl %eax, %eax
callq 0x2e58
movl $0x2f, %esi
cmpl $0x1, 0x34(%rbx)
jne 0x5475
movzbl 0x2(%r13), %eax
leal (%rax,%rax,4), %esi
addl $0x2a, %esi
movl $0x1e, %edi
callq 0x3124
xorl %r14d, %r14d
xorl %edi, %edi
callq 0x3152
movslq %r15d, %rbp
movsbl 0x20(%rsp,%rbp), %esi
leaq 0x1ee0(%rip), %rdi      # 0x7378
xorl %eax, %eax
callq 0x2e58
callq 0x318e
cmpl $0x1, 0x34(%rbx)
jne 0x54b2
movb 0x2(%r13), %r14b
xorb $0x1, %r14b
movzbl %r14b, %edi
callq 0x3152
cmpl $0xf, %r15d
jg 0x54e2
movl $0xf, %esi
subl %r15d, %esi
leaq 0x21(%rsp), %rax
addq %rax, %rbp
leaq 0x2097(%rip), %rdi      # 0x756f
movq %rbp, %rdx
xorl %eax, %eax
callq 0x2e58
leaq 0x22d8(%rip), %rdi      # 0x77c1
xorl %eax, %eax
callq 0x2e58
movq 0x68(%rsp), %r15
incq %r15
addq $0x10, 0x50(%rsp)
cmpq 0x58(%rsp), %r15
jne 0x51f9
jmp 0x5532
cmpl %r15d, 0x10(%rsp)
jle 0x5532
leaq 0x22a8(%rip), %r14      # 0x77c1
callq 0x319c
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e58
incl %r15d
cmpl 0x10(%rsp), %r15d
jl 0x5519
movq 0x628(%r13), %r14
cmpb $0x1, 0x29(%r14)
jne 0x5905
movl 0x110(%r13), %esi
addl $-0x7, %esi
movl $0x1, %edi
callq 0x31aa
callq 0x319c
movl 0x110(%r13), %esi
addl $-0x6, %esi
movl $0x1, %edi
callq 0x31aa
leaq 0x224c(%rip), %rdi      # 0x77c4
xorl %eax, %eax
callq 0x2e58
movq 0x38(%r14), %rsi
leaq 0xf(%rsp), %rdx
movq %r14, %rdi
callq 0x3537
testb %al, %al
je 0x55a9
cmpl $0x1, 0x30(%r14)
movsbl 0xf(%rsp), %esi
jne 0x55c0
leaq 0x2225(%rip), %rdi      # 0x77cc
jmp 0x55cb
leaq 0x2232(%rip), %rdi      # 0x77e2
leaq 0x2230(%rip), %rsi      # 0x77e7
xorl %eax, %eax
callq 0x2e58
jmp 0x55d2
movzbl %sil, %esi
leaq 0x220c(%rip), %rdi      # 0x77d7
xorl %eax, %eax
callq 0x2e58
movl 0x110(%r13), %esi
addl $-0x6, %esi
movl $0x11, %edi
callq 0x31aa
leaq 0x21fc(%rip), %rdi      # 0x77e9
xorl %eax, %eax
callq 0x2e58
movq 0x38(%r14), %rsi
leaq 0x4c(%rsp), %rdx
movq %r14, %rdi
callq 0x3585
testb %al, %al
je 0x561d
cmpl $0x1, 0x30(%r14)
movl 0x4c(%rsp), %esi
jne 0x5634
leaq 0x21d6(%rip), %rdi      # 0x77f1
jmp 0x563b
leaq 0x21f1(%rip), %rdi      # 0x7815
leaq 0x21bc(%rip), %rsi      # 0x77e7
xorl %eax, %eax
callq 0x2e58
jmp 0x5642
leaq 0x21c8(%rip), %rdi      # 0x7803
xorl %eax, %eax
callq 0x2e58
movl 0x110(%r13), %esi
addl $-0x6, %esi
movl $0x2f, %edi
callq 0x31aa
leaq 0x21be(%rip), %rdi      # 0x781b
xorl %eax, %eax
callq 0x2e58
movq 0x38(%r14), %rsi
leaq 0x48(%rsp), %rdx
movq %r14, %rdi
callq 0x35df
testb %al, %al
je 0x568f
cvtss2sd 0x48(%rsp), %xmm0
leaq 0x219f(%rip), %rdi      # 0x7825
movb $0x1, %al
callq 0x2e58
jmp 0x569d
leaq 0x2151(%rip), %rdi      # 0x77e7
xorl %eax, %eax
callq 0x2e58
callq 0x319c
movl 0x110(%r13), %esi
addl $-0x5, %esi
movl $0x1, %edi
callq 0x31aa
leaq 0x216b(%rip), %rdi      # 0x7828
xorl %eax, %eax
callq 0x2e58
movq 0x38(%r14), %rsi
leaq 0x16(%rsp), %rdx
movq %r14, %rdi
callq 0x3555
testb %al, %al
je 0x56ee
cmpl $0x1, 0x30(%r14)
movswl 0x16(%rsp), %esi
jne 0x5705
leaq 0x2144(%rip), %rdi      # 0x7830
jmp 0x570f
leaq 0x214b(%rip), %rdi      # 0x7840
leaq 0x20eb(%rip), %rsi      # 0x77e7
xorl %eax, %eax
callq 0x2e58
jmp 0x5716
movzwl %si, %esi
leaq 0x2129(%rip), %rdi      # 0x7838
xorl %eax, %eax
callq 0x2e58
movl 0x110(%r13), %esi
addl $-0x5, %esi
movl $0x11, %edi
callq 0x31aa
leaq 0x2114(%rip), %rdi      # 0x7845
xorl %eax, %eax
callq 0x2e58
movq 0x38(%r14), %rsi
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
callq 0x35b0
testb %al, %al
je 0x5762
cmpl $0x1, 0x30(%r14)
movq 0x20(%rsp), %rsi
jne 0x5772
leaq 0x20ed(%rip), %rdi      # 0x784d
jmp 0x5779
leaq 0x20f8(%rip), %rdi      # 0x7861
leaq 0x2077(%rip), %rsi      # 0x77e7
jmp 0x5779
leaq 0x20de(%rip), %rdi      # 0x7857
xorl %eax, %eax
callq 0x2e58
movl 0x110(%r13), %esi
addl $-0x5, %esi
movl $0x2f, %edi
callq 0x31aa
leaq 0x20cc(%rip), %rdi      # 0x7867
xorl %eax, %eax
callq 0x2e58
movq 0x38(%r14), %rsi
leaq 0x70(%rsp), %rdx
movq %r14, %rdi
callq 0x3633
testb %al, %al
je 0x57cd
movsd 0x70(%rsp), %xmm0
leaq 0x2061(%rip), %rdi      # 0x7825
movb $0x1, %al
callq 0x2e58
jmp 0x57db
leaq 0x2013(%rip), %rdi      # 0x77e7
xorl %eax, %eax
callq 0x2e58
callq 0x319c
movl 0x110(%r13), %esi
addl $-0x4, %esi
movl $0x1, %edi
callq 0x31aa
cmpl $0x0, 0x2c(%r14)
leaq 0x2071(%rip), %rax      # 0x7871
leaq 0x207a(%rip), %r15      # 0x7881
cmoveq %rax, %r15
leaq 0x1fef(%rip), %r12      # 0x7801
leaq 0x1fe5(%rip), %rbx      # 0x77fe
cmovneq %rbx, %r12
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3124
movq %r15, %rdi
xorl %eax, %eax
callq 0x2e58
callq 0x318e
movq %r12, %rdi
xorl %eax, %eax
callq 0x2e58
movl 0x110(%r13), %esi
addl $-0x4, %esi
movl $0x11, %edi
callq 0x31aa
cmpl $0x0, 0x30(%r14)
leaq 0x2029(%rip), %rax      # 0x788e
leaq 0x202d(%rip), %r14      # 0x7899
cmoveq %rax, %r14
leaq 0x1f89(%rip), %r15      # 0x7800
cmovneq %rbx, %r15
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3124
movq %r14, %rdi
xorl %eax, %eax
callq 0x2e58
callq 0x318e
movq %r15, %rdi
xorl %eax, %eax
callq 0x2e58
callq 0x319c
movl 0x110(%r13), %esi
addl $-0x4, %esi
leaq 0x1fe9(%rip), %rdx      # 0x78a2
leaq 0x1fe6(%rip), %rcx      # 0x78a6
movl $0x31, %edi
callq 0x42cb
movl 0x110(%r13), %esi
addl $-0x4, %esi
leaq 0x1fd6(%rip), %rdx      # 0x78b1
leaq 0x1fd3(%rip), %rcx      # 0x78b5
movl $0x41, %edi
callq 0x42cb
movl 0x110(%r13), %esi
addl $-0x3, %esi
movl $0x1, %edi
callq 0x31aa
callq 0x319c
callq 0x2de3
movb $0x0, 0x115(%r13)
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq