// File: /workspace/github_c_makefile_star2_O1/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, %rbp
movq 0x628(%rdi), %r14
cmpb $0x0, 0x114(%rdi)
jne 0x4ee0
cmpq $0x0, 0x10(%r14)
jne 0x4ef1
callq 0x31ee
callq 0x325e
movb $0x0, 0x114(%rbp)
movq 0x628(%rbp), %rbx
callq 0x31ee
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3184
movl $0x1, %edi
movl $0x1, %esi
callq 0x320a
movq 0x20(%rbx), %rax
testq %rax, %rax
leaq 0x27aa(%rip), %rsi      # 0x76d3
cmovneq %rax, %rsi
leaq 0x29f8(%rip), %rdi      # 0x792c
xorl %eax, %eax
callq 0x2ebb
cmpb $0x1, 0x28(%rbx)
jne 0x4f4f
leaq 0x2796(%rip), %rdi      # 0x76de
xorl %eax, %eax
callq 0x2ebb
cmpb $0x1, 0x2(%rbp)
jne 0x4f63
leaq 0x278e(%rip), %rdi      # 0x76ea
xorl %eax, %eax
callq 0x2ebb
callq 0x31fc
movl 0x10c(%rbp), %edi
addl $-0x9, %edi
movl $0x1, %esi
callq 0x320a
leaq 0x29ab(%rip), %rdi      # 0x792d
leaq 0x25c8(%rip), %rsi      # 0x7551
xorl %eax, %eax
callq 0x2ebb
callq 0x31ee
callq 0x31ee
movl 0x110(%rbp), %esi
addl $-0x2, %esi
movl $0x1, %edi
callq 0x320a
cmpb $0x0, 0x119(%rbp)
je 0x4fdd
leaq 0x119(%rbp), %rbx
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3184
leaq 0x2959(%rip), %rdi      # 0x792c
movq %rbx, %rsi
xorl %eax, %eax
callq 0x2ebb
callq 0x31fc
movl 0x104(%rbp), %eax
cmpq $0x3, %rax
ja 0x5288
leaq 0x263f(%rip), %rcx      # 0x7638
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl 0x110(%rbp), %esi
decl %esi
leaq 0x26fc(%rip), %rdx      # 0x770d
leaq 0x26f8(%rip), %rcx      # 0x7710
movl $0x1, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
movq 0x628(%rbp), %rax
cmpq %rax, (%rax)
leaq 0x26e3(%rip), %rax      # 0x771c
leaq 0x26e1(%rip), %rcx      # 0x7721
cmoveq %rax, %rcx
leaq 0x26ce(%rip), %rdx      # 0x7719
movl $0x1, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
decl %esi
leaq 0x26c3(%rip), %rdx      # 0x7727
leaq 0x26bf(%rip), %rcx      # 0x772a
movl $0x11, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
leaq 0x26b3(%rip), %rdx      # 0x7735
leaq 0x26af(%rip), %rcx      # 0x7738
movl $0x11, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
decl %esi
leaq 0x26a0(%rip), %rdx      # 0x7742
leaq 0x269c(%rip), %rcx      # 0x7745
movl $0x21, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
leaq 0x249a(%rip), %rdx      # 0x755a
leaq 0x2687(%rip), %rcx      # 0x774e
movl $0x21, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
decl %esi
leaq 0x2676(%rip), %rdx      # 0x7756
leaq 0x2673(%rip), %rcx      # 0x775a
movl $0x31, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
leaq 0x2668(%rip), %rdx      # 0x7766
leaq 0x2665(%rip), %rcx      # 0x776a
movl $0x31, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
decl %esi
leaq 0x2652(%rip), %rdx      # 0x7770
leaq 0x264f(%rip), %rcx      # 0x7774
movl $0x41, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
leaq 0x2644(%rip), %rdx      # 0x7780
leaq 0x2641(%rip), %rcx      # 0x7784
movl $0x41, %edi
callq 0x43c9
jmp 0x5288
movl 0x110(%rbp), %esi
decl %esi
movl $0x1, %edi
callq 0x320a
callq 0x31ee
callq 0x31fc
jmp 0x5234
movl 0x110(%rbp), %esi
decl %esi
leaq 0x257e(%rip), %rdx      # 0x7700
leaq 0x257a(%rip), %rcx      # 0x7703
movl $0x1, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
leaq 0x2567(%rip), %rdx      # 0x7707
leaq 0x2563(%rip), %rcx      # 0x770a
movl $0x1, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
decl %esi
movl $0x11, %edi
callq 0x320a
callq 0x31ee
callq 0x31fc
movl 0x110(%rbp), %esi
leaq 0x2380(%rip), %rdx      # 0x755a
leaq 0x237c(%rip), %rcx      # 0x755d
movl $0x11, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
decl %esi
movl $0x21, %edi
callq 0x320a
callq 0x31ee
callq 0x31fc
movl 0x110(%rbp), %esi
movl $0x21, %edi
jmp 0x5279
movl 0x110(%rbp), %esi
decl %esi
leaq 0x255e(%rip), %rdx      # 0x7781
leaq 0x24cd(%rip), %rcx      # 0x76f7
movl $0x1, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
leaq 0x2319(%rip), %rdx      # 0x755a
leaq 0x2315(%rip), %rcx      # 0x755d
movl $0x1, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
decl %esi
movl $0x11, %edi
callq 0x320a
callq 0x31ee
callq 0x31fc
movl 0x110(%rbp), %esi
movl $0x11, %edi
callq 0x320a
callq 0x31ee
callq 0x31fc
callq 0x31fc
cmpq $0x0, 0x10(%r14)
je 0x5a0e
movq 0x628(%rbp), %r14
movl $0x1, %edi
movl $0x3, %esi
callq 0x320a
movq 0x628(%rbp), %rax
movzbl 0x29(%rax), %eax
xorl $0x1, %eax
leal (%rax,%rax,4), %eax
addl $-0xa, %eax
addl 0x110(%rbp), %eax
movl %eax, 0x38(%rsp)
jle 0x5616
movl %eax, %ecx
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
leaq 0x24b6(%rip), %r12      # 0x7796
xorl %esi, %esi
xorl %edi, %edi
movq %rbp, 0x18(%rsp)
movq %rcx, 0x50(%rsp)
movq 0x18(%r14), %r8
movq 0x40(%r14), %r13
leaq (%rdi,%r13), %r15
shlq $0x4, %r15
movl %edi, %eax
cmpq %r8, %r15
jae 0x55fd
movq %r8, 0x60(%rsp)
movq %rdi, 0x68(%rsp)
movq %rsi, 0x48(%rsp)
movl %edx, 0x3c(%rsp)
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x31b2
leaq 0x2464(%rip), %rdi      # 0x7790
movl %r15d, %esi
xorl %eax, %eax
callq 0x2ebb
movq %r12, %rdi
callq 0x2fb7
cmpl $0x0, 0x34(%r14)
jne 0x534b
movb 0x2(%rbp), %bl
xorb $0x1, %bl
movq 0x18(%r14), %r12
movzbl %bl, %edi
callq 0x31b2
movq %r12, 0x58(%rsp)
movq %r15, 0x10(%rsp)
subq %r15, %r12
je 0x547b
cmpq $0x10, %r12
movl $0x10, %eax
cmovaeq %rax, %r12
cmpq $0x1, %r12
adcq $0x0, %r12
shlq $0x4, %r13
addq 0x48(%rsp), %r13
xorl %ebp, %ebp
movq 0x10(%r14), %rax
movq %r13, %rbx
addq %rbp, %rbx
movzbl (%rax,%rbx), %r15d
cmpq $0x8, %rbp
jne 0x53ad
leaq 0x2439(%rip), %rdi      # 0x77df
xorl %eax, %eax
callq 0x2ebb
movq 0x38(%r14), %rsi
cmpq %rsi, %rbx
jne 0x5422
movl %esi, %eax
andl $0xf, %eax
shrq $0x4, %rsi
subl 0x40(%r14), %esi
leal (%rax,%rax,2), %edi
cmpq $0x8, %rbp
sbbl $-0x1, %edi
addl $0xb, %edi
addl $0x3, %esi
callq 0x320a
movl $0x2b, %esi
movq 0x18(%rsp), %rax
cmpb $0x0, 0x1(%rax)
jne 0x5403
movl $0x2f, %esi
cmpl $0x0, 0x34(%r14)
jne 0x5403
movq 0x18(%rsp), %rax
movzbl 0x2(%rax), %eax
leal (%rax,%rax,4), %esi
addl $0x2a, %esi
movl $0x1e, %edi
callq 0x3184
xorl %edi, %edi
callq 0x31b2
leaq 0x23c4(%rip), %rdi      # 0x77df
xorl %eax, %eax
callq 0x2ebb
leaq 0x2370(%rip), %rdi      # 0x7799
movl %r15d, %esi
xorl %eax, %eax
callq 0x2ebb
cmpq 0x38(%r14), %rbx
jne 0x545b
callq 0x31ee
cmpl $0x0, 0x34(%r14)
je 0x5449
xorl %eax, %eax
jmp 0x5453
movq 0x18(%rsp), %rax
movb 0x2(%rax), %al
xorb $0x1, %al
movzbl %al, %edi
callq 0x31b2
leal -0x7f(%r15), %eax
cmpb $-0x5f, %al
movl $0x2e, %eax
cmovbl %eax, %r15d
movb %r15b, 0x20(%rsp,%rbp)
incq %rbp
cmpq %rbp, %r12
jne 0x538a
movq 0x58(%rsp), %rcx
movq %rcx, %rax
subq 0x10(%rsp), %rax
cmpq $0xf, %rax
movq 0x18(%rsp), %rbp
leaq 0x22fe(%rip), %r12      # 0x7796
leaq 0x233e(%rip), %r15      # 0x77dd
ja 0x54d8
movq 0x10(%rsp), %rbx
notq %rbx
addq %rcx, %rbx
movq %r15, %rdi
xorl %eax, %eax
callq 0x2ebb
cmpq $0x7, %rbx
jne 0x54ca
leaq 0x231c(%rip), %rdi      # 0x77df
xorl %eax, %eax
callq 0x2ebb
movb $0x20, 0x21(%rsp,%rbx)
incq %rbx
cmpq $0xf, %rbx
jb 0x54ac
movb $0x0, 0x30(%rsp)
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x31b2
movq %r12, %rdi
callq 0x2fb7
cmpl $0x1, 0x34(%r14)
jne 0x54fb
movb 0x2(%rbp), %bl
xorb $0x1, %bl
movzbl %bl, %edi
callq 0x31b2
movq 0x38(%r14), %rax
movq %rax, %r15
movq 0x10(%rsp), %rdx
subq %rdx, %r15
setb %cl
addq $0x10, %rdx
cmpq %rdx, %rax
seta %al
orb %cl, %al
je 0x553b
leaq 0x2275(%rip), %rdi      # 0x779f
leaq 0x20(%rsp), %rsi
xorl %eax, %eax
callq 0x2ebb
jmp 0x55e0
leaq 0x200a(%rip), %rdi      # 0x754c
movl %r15d, %esi
leaq 0x20(%rsp), %rdx
xorl %eax, %eax
callq 0x2ebb
movl $0x2f, %esi
cmpl $0x1, 0x34(%r14)
jne 0x5567
movzbl 0x2(%rbp), %eax
leal (%rax,%rax,4), %esi
addl $0x2a, %esi
movl $0x1e, %edi
callq 0x3184
xorl %ebx, %ebx
xorl %edi, %edi
callq 0x31b2
movslq %r15d, %r13
movsbl 0x20(%rsp,%r13), %esi
leaq 0x1dc6(%rip), %rdi      # 0x7350
xorl %eax, %eax
callq 0x2ebb
callq 0x31ee
cmpl $0x1, 0x34(%r14)
jne 0x55a3
movb 0x2(%rbp), %bl
xorb $0x1, %bl
movzbl %bl, %edi
callq 0x31b2
cmpl $0xf, %r15d
jg 0x55d2
movl $0xf, %esi
subl %r15d, %esi
leaq 0x21(%rsp), %rax
addq %rax, %r13
leaq 0x1f84(%rip), %rdi      # 0x754c
movq %r13, %rdx
xorl %eax, %eax
callq 0x2ebb
leaq 0x21c8(%rip), %rdi      # 0x77a1
xorl %eax, %eax
callq 0x2ebb
movl 0x3c(%rsp), %eax
movq 0x50(%rsp), %rcx
movq 0x48(%rsp), %rsi
movq 0x68(%rsp), %rdi
movq 0x60(%rsp), %r8
movq 0x10(%rsp), %r15
cmpq %r8, %r15
jae 0x561b
incq %rdi
addq $0x10, %rsi
movl %eax, %edx
cmpq %rcx, %rdi
jne 0x52ee
jmp 0x561b
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
testl %eax, %eax
movl 0x38(%rsp), %r14d
js 0x5647
cmpl %r14d, %eax
jge 0x5647
subl %eax, %r14d
leaq 0x216e(%rip), %rbx      # 0x77a1
callq 0x31fc
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2ebb
decl %r14d
jne 0x5633
movq 0x628(%rbp), %r14
cmpb $0x1, 0x29(%r14)
jne 0x5a0e
movl 0x110(%rbp), %esi
addl $-0x7, %esi
movl $0x1, %edi
callq 0x320a
callq 0x31fc
movl 0x110(%rbp), %esi
addl $-0x6, %esi
movl $0x1, %edi
callq 0x320a
leaq 0x2119(%rip), %rdi      # 0x77a4
xorl %eax, %eax
callq 0x2ebb
movq 0x38(%r14), %rsi
leaq 0xd(%rsp), %rdx
movq %r14, %rdi
callq 0x35a8
testb %al, %al
je 0x56bc
cmpl $0x1, 0x30(%r14)
movsbl 0xd(%rsp), %esi
jne 0x56d3
leaq 0x20f2(%rip), %rdi      # 0x77ac
jmp 0x56de
leaq 0x20ff(%rip), %rdi      # 0x77c2
leaq 0x1985(%rip), %rsi      # 0x704f
xorl %eax, %eax
callq 0x2ebb
jmp 0x56e5
movzbl %sil, %esi
leaq 0x20d9(%rip), %rdi      # 0x77b7
xorl %eax, %eax
callq 0x2ebb
movl 0x110(%rbp), %esi
addl $-0x6, %esi
movl $0x11, %edi
callq 0x320a
leaq 0x20c8(%rip), %rdi      # 0x77c7
xorl %eax, %eax
callq 0x2ebb
movq 0x38(%r14), %rsi
leaq 0x44(%rsp), %rdx
movq %r14, %rdi
callq 0x3605
testb %al, %al
je 0x572f
cmpl $0x1, 0x30(%r14)
movl 0x44(%rsp), %esi
jne 0x5746
leaq 0x20a2(%rip), %rdi      # 0x77cf
jmp 0x574d
leaq 0x20bd(%rip), %rdi      # 0x77f3
leaq 0x1912(%rip), %rsi      # 0x704f
xorl %eax, %eax
callq 0x2ebb
jmp 0x5754
leaq 0x2094(%rip), %rdi      # 0x77e1
xorl %eax, %eax
callq 0x2ebb
movl 0x110(%rbp), %esi
addl $-0x6, %esi
movl $0x2f, %edi
callq 0x320a
leaq 0x208b(%rip), %rdi      # 0x77f9
xorl %eax, %eax
callq 0x2ebb
movq 0x38(%r14), %rsi
leaq 0x40(%rsp), %rdx
movq %r14, %rdi
callq 0x3723
testb %al, %al
je 0x57a0
cvtss2sd 0x40(%rsp), %xmm0
leaq 0x206c(%rip), %rdi      # 0x7803
movb $0x1, %al
callq 0x2ebb
jmp 0x57ae
leaq 0x18a8(%rip), %rdi      # 0x704f
xorl %eax, %eax
callq 0x2ebb
callq 0x31fc
movl 0x110(%rbp), %esi
addl $-0x5, %esi
movl $0x1, %edi
callq 0x320a
leaq 0x2039(%rip), %rdi      # 0x7806
xorl %eax, %eax
callq 0x2ebb
movq 0x38(%r14), %rsi
leaq 0xe(%rsp), %rdx
movq %r14, %rdi
callq 0x35c6
testb %al, %al
je 0x57fe
cmpl $0x1, 0x30(%r14)
movswl 0xe(%rsp), %esi
jne 0x5815
leaq 0x2012(%rip), %rdi      # 0x780e
jmp 0x581f
leaq 0x2019(%rip), %rdi      # 0x781e
leaq 0x1843(%rip), %rsi      # 0x704f
xorl %eax, %eax
callq 0x2ebb
jmp 0x5826
movzwl %si, %esi
leaq 0x1ff7(%rip), %rdi      # 0x7816
xorl %eax, %eax
callq 0x2ebb
movl 0x110(%rbp), %esi
addl $-0x5, %esi
movl $0x11, %edi
callq 0x320a
leaq 0x1fe3(%rip), %rdi      # 0x7823
xorl %eax, %eax
callq 0x2ebb
movq 0x38(%r14), %rsi
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
callq 0x3665
testb %al, %al
je 0x5871
cmpl $0x1, 0x30(%r14)
movq 0x20(%rsp), %rsi
jne 0x5881
leaq 0x1fbc(%rip), %rdi      # 0x782b
jmp 0x5888
leaq 0x1fc7(%rip), %rdi      # 0x783f
leaq 0x17d0(%rip), %rsi      # 0x704f
jmp 0x5888
leaq 0x1fad(%rip), %rdi      # 0x7835
xorl %eax, %eax
callq 0x2ebb
movl 0x110(%rbp), %esi
addl $-0x5, %esi
movl $0x2f, %edi
callq 0x320a
leaq 0x1f9c(%rip), %rdi      # 0x7845
xorl %eax, %eax
callq 0x2ebb
movq 0x38(%r14), %rsi
leaq 0x70(%rsp), %rdx
movq %r14, %rdi
callq 0x3780
testb %al, %al
je 0x58db
movsd 0x70(%rsp), %xmm0
leaq 0x1f31(%rip), %rdi      # 0x7803
movb $0x1, %al
callq 0x2ebb
jmp 0x58e9
leaq 0x176d(%rip), %rdi      # 0x704f
xorl %eax, %eax
callq 0x2ebb
callq 0x31fc
movl 0x110(%rbp), %esi
addl $-0x4, %esi
movl $0x1, %edi
callq 0x320a
cmpl $0x0, 0x2c(%r14)
leaq 0x1f42(%rip), %rax      # 0x784f
leaq 0x1f4b(%rip), %rbx      # 0x785f
cmoveq %rax, %rbx
leaq 0x1ec0(%rip), %r15      # 0x77df
leaq 0x1eb6(%rip), %r12      # 0x77dc
cmovneq %r12, %r15
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3184
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2ebb
callq 0x31ee
movq %r15, %rdi
xorl %eax, %eax
callq 0x2ebb
movl 0x110(%rbp), %esi
addl $-0x4, %esi
movl $0x11, %edi
callq 0x320a
cmpl $0x0, 0x30(%r14)
leaq 0x1efb(%rip), %rax      # 0x786c
leaq 0x1eff(%rip), %rbx      # 0x7877
cmoveq %rax, %rbx
leaq 0x1e5b(%rip), %r14      # 0x77de
cmovneq %r12, %r14
movl $0x1e, %edi
movl $0x2f, %esi
callq 0x3184
movq %rbx, %rdi
xorl %eax, %eax
callq 0x2ebb
callq 0x31ee
movq %r14, %rdi
xorl %eax, %eax
callq 0x2ebb
callq 0x31fc
movl 0x110(%rbp), %esi
addl $-0x4, %esi
leaq 0x1ebc(%rip), %rdx      # 0x7880
leaq 0x1eb9(%rip), %rcx      # 0x7884
movl $0x31, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
addl $-0x4, %esi
leaq 0x1eaa(%rip), %rdx      # 0x788f
leaq 0x1ea7(%rip), %rcx      # 0x7893
movl $0x41, %edi
callq 0x43c9
movl 0x110(%rbp), %esi
addl $-0x3, %esi
movl $0x1, %edi
callq 0x320a
callq 0x31fc
callq 0x2e43
movb $0x0, 0x115(%rbp)
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq