// File: Linkerist[P]xs/src/ui.cc
// Function: helpscreen()
void
helpscreen(void)
{
#define PAGERENV "PAGER"
 const char * __pager = getenv(PAGERENV);
 string pager = __pager == NULL ? "" : string(__pager);
#undef PAGERENV
 if (pager.empty()) {
  // FIXME:  how to detect debian and the /usr/bin/pager rule?
  struct stat buf;
  if (stat("/usr/bin/pager", &buf) == 0)
   pager = "/usr/bin/pager";
  else {
   if (stat("/usr/bin/less", &buf) == 0)
	pager = "/usr/bin/less";
   else
	pager = "more";
  }
 }

 endwin();
 FILE * help = popen(pager.c_str(), "w");
 // FIXME: error checking this doesn't work, er?
 if (help == NULL) {
  init_curses();
  message("could not open pager");
  return;
 }

 int l = 0;
 string help_lines[] = {
  "xs - Linkerist <Linkerist@163.com>",
  "<UP>/<DOWN>  move selection up/down and scroll",
  "             please see manpage for alternative bindings!",
  "<ENTER>      select current entry",
  "<TAB>        toggle modes: LIST or BROWSE",
  "<HOME>/<END> goto first/last entry in list if available in terminal",
  "c            add current directory to list",
  "C            same as 'c' but ask for a description",
  "<PgUP/Dn>    scroll the list 10 lines up or down",
  "e,v          edit the list in $EDITOR",
  "H,?          show this help",
  "~,/          browse home/root directory",
  "q            quit - saving the list",
  "C-c,C-g,C-[  abort - don't save the list",
  "             ",
  "Commands in BROWSE-mode:",
  "<LEFT>       descent into current directory",
  "<RIGHT>      up one directory",
  "[num]        make [num] the highlighted entry",
  "a            add current entry to list",
  "A            same as 'a' but ask for a description",
  ".            toggle display of hidden files",
  "             ",
  "Commands in LIST-mode:",
  "[num]        select and resolve entry [num] if displayed",
  "<LEFT>       descent into the current entry",
  "<RIGHT>      up one directory from current dir",
  "d            delete current entry from list",
  "a            add current directory to list",
  "s,t          swap(transpose) two lines in the list",
  "M/m          move an entry up down in the list",
  ""
 };

 int help_lines_size = 31;
 while (l < help_lines_size) {
  fprintf(help, "%s\n", help_lines[l].c_str());
  ++l;
 }
 fprintf(help, "\n");

 pclose(help);

 if (strstr(pager.c_str(), "more"))
  sleep(1);

 refresh();
 init_curses();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x780, %rsp            # imm = 0x780
leaq 0x3906(%rip), %rdi      # 0x10dc8
callq 0x44e0
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
movb $0x0, -0x2a(%rbp)
movb $0x0, -0x3e(%rbp)
cmpq $0x0, %rax
jne 0xd50c
leaq -0x29(%rbp), %rdi
movq %rdi, -0x518(%rbp)
callq 0x4740
movq -0x518(%rbp), %rdx
movb $0x1, -0x2a(%rbp)
leaq 0x2e7b(%rip), %rsi      # 0x1037a
leaq -0x28(%rbp), %rdi
callq 0x5e40
jmp 0xd50a
jmp 0xd546
movq -0x8(%rbp), %rax
movq %rax, -0x528(%rbp)
leaq -0x3d(%rbp), %rdi
movq %rdi, -0x520(%rbp)
callq 0x4740
movq -0x528(%rbp), %rsi
movq -0x520(%rbp), %rdx
movb $0x1, -0x3e(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x5e40
jmp 0xd544
jmp 0xd546
testb $0x1, -0x3e(%rbp)
jne 0xd54e
jmp 0xd557
leaq -0x3d(%rbp), %rdi
callq 0x4450
testb $0x1, -0x2a(%rbp)
jne 0xd55f
jmp 0xd568
leaq -0x29(%rbp), %rdi
callq 0x4450
leaq -0x28(%rbp), %rdi
callq 0x46f0
testb $0x1, %al
jne 0xd57a
jmp 0xd641
leaq 0x384d(%rip), %rdi      # 0x10dce
leaq -0xd0(%rbp), %rsi
callq 0x43a0
cmpl $0x0, %eax
jne 0xd5fd
leaq 0x3835(%rip), %rsi      # 0x10dce
leaq -0x28(%rbp), %rdi
callq 0x4580
jmp 0xd5a4
jmp 0xd63f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xd5d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
testb $0x1, -0x3e(%rbp)
jne 0xd5cb
jmp 0xd5d4
leaq -0x3d(%rbp), %rdi
callq 0x4450
jmp 0xd5d6
testb $0x1, -0x2a(%rbp)
jne 0xd5de
jmp 0xd5e7
leaq -0x29(%rbp), %rdi
callq 0x4450
jmp 0xe640
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe637
leaq 0x37d9(%rip), %rdi      # 0x10ddd
leaq -0xd0(%rbp), %rsi
callq 0x43a0
cmpl $0x0, %eax
jne 0xd629
leaq 0x37c1(%rip), %rsi      # 0x10ddd
leaq -0x28(%rbp), %rdi
callq 0x4580
jmp 0xd627
jmp 0xd63d
leaq 0x37bb(%rip), %rsi      # 0x10deb
leaq -0x28(%rbp), %rdi
callq 0x4580
jmp 0xd63b
jmp 0xd63d
jmp 0xd63f
jmp 0xd641
callq 0x44a0
jmp 0xd648
leaq -0x28(%rbp), %rdi
callq 0x41a0
movq %rax, %rdi
leaq 0x3795(%rip), %rsi      # 0x10df0
callq 0x4120
movq %rax, -0x530(%rbp)
jmp 0xd669
movq -0x530(%rbp), %rax
movq %rax, -0xd8(%rbp)
cmpq $0x0, -0xd8(%rbp)
jne 0xd6a5
callq 0xc950
jmp 0xd688
leaq 0x3763(%rip), %rdi      # 0x10df2
callq 0xe7a0
jmp 0xd696
movl $0x1, -0xdc(%rbp)
jmp 0xe5f2
movl $0x0, -0xe0(%rbp)
movb $0x1, -0x509(%rbp)
leaq -0x4e0(%rbp), %rax
movq %rax, -0x540(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4e9(%rbp), %rdi
movq %rdi, -0x538(%rbp)
callq 0x4740
movq -0x540(%rbp), %rdi
movq -0x538(%rbp), %rdx
leaq 0x3714(%rip), %rsi      # 0x10e07
callq 0x5e40
jmp 0xd6fa
leaq -0x4c0(%rbp), %rax
movq %rax, -0x550(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4ea(%rbp), %rdi
movq %rdi, -0x548(%rbp)
callq 0x4740
movq -0x550(%rbp), %rdi
movq -0x548(%rbp), %rdx
leaq 0x36f3(%rip), %rsi      # 0x10e2a
callq 0x5e40
jmp 0xd73e
leaq -0x4a0(%rbp), %rax
movq %rax, -0x560(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4eb(%rbp), %rdi
movq %rdi, -0x558(%rbp)
callq 0x4740
movq -0x560(%rbp), %rdi
movq -0x558(%rbp), %rdx
leaq 0x36de(%rip), %rsi      # 0x10e59
callq 0x5e40
jmp 0xd782
leaq -0x480(%rbp), %rax
movq %rax, -0x570(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4ec(%rbp), %rdi
movq %rdi, -0x568(%rbp)
callq 0x4740
movq -0x570(%rbp), %rdi
movq -0x568(%rbp), %rdx
leaq 0x36d4(%rip), %rsi      # 0x10e93
callq 0x5e40
jmp 0xd7c6
leaq -0x460(%rbp), %rax
movq %rax, -0x580(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4ed(%rbp), %rdi
movq %rdi, -0x578(%rbp)
callq 0x4740
movq -0x580(%rbp), %rdi
movq -0x578(%rbp), %rdx
leaq 0x36b2(%rip), %rsi      # 0x10eb5
callq 0x5e40
jmp 0xd80a
leaq -0x440(%rbp), %rax
movq %rax, -0x590(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4ee(%rbp), %rdi
movq %rdi, -0x588(%rbp)
callq 0x4740
movq -0x590(%rbp), %rdi
movq -0x588(%rbp), %rdx
leaq 0x3698(%rip), %rsi      # 0x10edf
callq 0x5e40
jmp 0xd84e
leaq -0x420(%rbp), %rax
movq %rax, -0x5a0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4ef(%rbp), %rdi
movq %rdi, -0x598(%rbp)
callq 0x4740
movq -0x5a0(%rbp), %rdi
movq -0x598(%rbp), %rdx
leaq 0x3698(%rip), %rsi      # 0x10f23
callq 0x5e40
jmp 0xd892
leaq -0x400(%rbp), %rax
movq %rax, -0x5b0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f0(%rbp), %rdi
movq %rdi, -0x5a8(%rbp)
callq 0x4740
movq -0x5b0(%rbp), %rdi
movq -0x5a8(%rbp), %rdx
leaq 0x367f(%rip), %rsi      # 0x10f4e
callq 0x5e40
jmp 0xd8d6
leaq -0x3e0(%rbp), %rax
movq %rax, -0x5c0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f1(%rbp), %rdi
movq %rdi, -0x5b8(%rbp)
callq 0x4740
movq -0x5c0(%rbp), %rdi
movq -0x5b8(%rbp), %rdx
leaq 0x366e(%rip), %rsi      # 0x10f81
callq 0x5e40
jmp 0xd91a
leaq -0x3c0(%rbp), %rax
movq %rax, -0x5d0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f2(%rbp), %rdi
movq %rdi, -0x5c8(%rbp)
callq 0x4740
movq -0x5d0(%rbp), %rdi
movq -0x5c8(%rbp), %rdx
leaq 0x365b(%rip), %rsi      # 0x10fb2
callq 0x5e40
jmp 0xd95e
leaq -0x3a0(%rbp), %rax
movq %rax, -0x5e0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f3(%rbp), %rdi
movq %rdi, -0x5d8(%rbp)
callq 0x4740
movq -0x5e0(%rbp), %rdi
movq -0x5d8(%rbp), %rdx
leaq 0x363d(%rip), %rsi      # 0x10fd8
callq 0x5e40
jmp 0xd9a2
leaq -0x380(%rbp), %rax
movq %rax, -0x5f0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f4(%rbp), %rdi
movq %rdi, -0x5e8(%rbp)
callq 0x4740
movq -0x5f0(%rbp), %rdi
movq -0x5e8(%rbp), %rdx
leaq 0x3615(%rip), %rsi      # 0x10ff4
callq 0x5e40
jmp 0xd9e6
leaq -0x360(%rbp), %rax
movq %rax, -0x600(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f5(%rbp), %rdi
movq %rdi, -0x5f8(%rbp)
callq 0x4740
movq -0x600(%rbp), %rdi
movq -0x5f8(%rbp), %rdx
leaq 0x35f9(%rip), %rsi      # 0x1101c
callq 0x5e40
jmp 0xda2a
leaq -0x340(%rbp), %rax
movq %rax, -0x610(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f6(%rbp), %rdi
movq %rdi, -0x608(%rbp)
callq 0x4740
movq -0x610(%rbp), %rdi
movq -0x608(%rbp), %rdx
leaq 0x35d9(%rip), %rsi      # 0x11040
callq 0x5e40
jmp 0xda6e
leaq -0x320(%rbp), %rax
movq %rax, -0x620(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f7(%rbp), %rdi
movq %rdi, -0x618(%rbp)
callq 0x4740
movq -0x620(%rbp), %rdi
movq -0x618(%rbp), %rdx
leaq 0x35be(%rip), %rsi      # 0x11069
callq 0x5e40
jmp 0xdab2
leaq -0x300(%rbp), %rax
movq %rax, -0x630(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f8(%rbp), %rdi
movq %rdi, -0x628(%rbp)
callq 0x4740
movq -0x630(%rbp), %rdi
movq -0x628(%rbp), %rdx
leaq 0x3588(%rip), %rsi      # 0x11077
callq 0x5e40
jmp 0xdaf6
leaq -0x2e0(%rbp), %rax
movq %rax, -0x640(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4f9(%rbp), %rdi
movq %rdi, -0x638(%rbp)
callq 0x4740
movq -0x640(%rbp), %rdi
movq -0x638(%rbp), %rdx
leaq 0x355d(%rip), %rsi      # 0x11090
callq 0x5e40
jmp 0xdb3a
leaq -0x2c0(%rbp), %rax
movq %rax, -0x650(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4fa(%rbp), %rdi
movq %rdi, -0x648(%rbp)
callq 0x4740
movq -0x650(%rbp), %rdi
movq -0x648(%rbp), %rdx
leaq 0x3545(%rip), %rsi      # 0x110bc
callq 0x5e40
jmp 0xdb7e
leaq -0x2a0(%rbp), %rax
movq %rax, -0x660(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4fb(%rbp), %rdi
movq %rdi, -0x658(%rbp)
callq 0x4740
movq -0x660(%rbp), %rdi
movq -0x658(%rbp), %rdx
leaq 0x351f(%rip), %rsi      # 0x110da
callq 0x5e40
jmp 0xdbc2
leaq -0x280(%rbp), %rax
movq %rax, -0x670(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4fc(%rbp), %rdi
movq %rdi, -0x668(%rbp)
callq 0x4740
movq -0x670(%rbp), %rdi
movq -0x668(%rbp), %rdx
leaq 0x3509(%rip), %rsi      # 0x11108
callq 0x5e40
jmp 0xdc06
leaq -0x260(%rbp), %rax
movq %rax, -0x680(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4fd(%rbp), %rdi
movq %rdi, -0x678(%rbp)
callq 0x4740
movq -0x680(%rbp), %rdi
movq -0x678(%rbp), %rdx
leaq 0x34ec(%rip), %rsi      # 0x1112f
callq 0x5e40
jmp 0xdc4a
leaq -0x240(%rbp), %rax
movq %rax, -0x690(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4fe(%rbp), %rdi
movq %rdi, -0x688(%rbp)
callq 0x4740
movq -0x690(%rbp), %rdi
movq -0x688(%rbp), %rdx
leaq 0x34db(%rip), %rsi      # 0x11162
callq 0x5e40
jmp 0xdc8e
leaq -0x220(%rbp), %rax
movq %rax, -0x6a0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x4ff(%rbp), %rdi
movq %rdi, -0x698(%rbp)
callq 0x4740
movq -0x6a0(%rbp), %rdi
movq -0x698(%rbp), %rdx
leaq 0x339e(%rip), %rsi      # 0x11069
callq 0x5e40
jmp 0xdcd2
leaq -0x200(%rbp), %rax
movq %rax, -0x6b0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x500(%rbp), %rdi
movq %rdi, -0x6a8(%rbp)
callq 0x4740
movq -0x6b0(%rbp), %rdi
movq -0x6a8(%rbp), %rdx
leaq 0x347f(%rip), %rsi      # 0x1118e
callq 0x5e40
jmp 0xdd16
leaq -0x1e0(%rbp), %rax
movq %rax, -0x6c0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x501(%rbp), %rdi
movq %rdi, -0x6b8(%rbp)
callq 0x4740
movq -0x6c0(%rbp), %rdi
movq -0x6b8(%rbp), %rdx
leaq 0x3452(%rip), %rsi      # 0x111a5
callq 0x5e40
jmp 0xdd5a
leaq -0x1c0(%rbp), %rax
movq %rax, -0x6d0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x502(%rbp), %rdi
movq %rdi, -0x6c8(%rbp)
callq 0x4740
movq -0x6d0(%rbp), %rdi
movq -0x6c8(%rbp), %rdx
leaq 0x3447(%rip), %rsi      # 0x111de
callq 0x5e40
jmp 0xdd9e
leaq -0x1a0(%rbp), %rax
movq %rax, -0x6e0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x503(%rbp), %rdi
movq %rdi, -0x6d8(%rbp)
callq 0x4740
movq -0x6e0(%rbp), %rdi
movq -0x6d8(%rbp), %rdx
leaq 0x342f(%rip), %rsi      # 0x1120a
callq 0x5e40
jmp 0xdde2
leaq -0x180(%rbp), %rax
movq %rax, -0x6f0(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x504(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x4740
movq -0x6f0(%rbp), %rdi
movq -0x6e8(%rbp), %rdx
leaq 0x341a(%rip), %rsi      # 0x11239
callq 0x5e40
jmp 0xde26
leaq -0x160(%rbp), %rax
movq %rax, -0x700(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x505(%rbp), %rdi
movq %rdi, -0x6f8(%rbp)
callq 0x4740
movq -0x700(%rbp), %rdi
movq -0x6f8(%rbp), %rdx
leaq 0x3402(%rip), %rsi      # 0x11265
callq 0x5e40
jmp 0xde6a
leaq -0x140(%rbp), %rax
movq %rax, -0x710(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x506(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x4740
movq -0x710(%rbp), %rdi
movq -0x708(%rbp), %rdx
leaq 0x33e9(%rip), %rsi      # 0x11290
callq 0x5e40
jmp 0xdeae
leaq -0x120(%rbp), %rax
movq %rax, -0x720(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x507(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x4740
movq -0x720(%rbp), %rdi
movq -0x718(%rbp), %rdx
leaq 0x33d8(%rip), %rsi      # 0x112c3
callq 0x5e40
jmp 0xdef2
leaq -0x100(%rbp), %rax
movq %rax, -0x730(%rbp)
movq %rax, -0x4e8(%rbp)
leaq -0x508(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x4740
movq -0x730(%rbp), %rdi
movq -0x728(%rbp), %rdx
leaq 0x244b(%rip), %rsi      # 0x1037a
callq 0x5e40
jmp 0xdf36
movb $0x0, -0x509(%rbp)
leaq -0x508(%rbp), %rdi
callq 0x4450
leaq -0x507(%rbp), %rdi
callq 0x4450
leaq -0x506(%rbp), %rdi
callq 0x4450
leaq -0x505(%rbp), %rdi
callq 0x4450
leaq -0x504(%rbp), %rdi
callq 0x4450
leaq -0x503(%rbp), %rdi
callq 0x4450
leaq -0x502(%rbp), %rdi
callq 0x4450
leaq -0x501(%rbp), %rdi
callq 0x4450
leaq -0x500(%rbp), %rdi
callq 0x4450
leaq -0x4ff(%rbp), %rdi
callq 0x4450
leaq -0x4fe(%rbp), %rdi
callq 0x4450
leaq -0x4fd(%rbp), %rdi
callq 0x4450
leaq -0x4fc(%rbp), %rdi
callq 0x4450
leaq -0x4fb(%rbp), %rdi
callq 0x4450
leaq -0x4fa(%rbp), %rdi
callq 0x4450
leaq -0x4f9(%rbp), %rdi
callq 0x4450
leaq -0x4f8(%rbp), %rdi
callq 0x4450
leaq -0x4f7(%rbp), %rdi
callq 0x4450
leaq -0x4f6(%rbp), %rdi
callq 0x4450
leaq -0x4f5(%rbp), %rdi
callq 0x4450
leaq -0x4f4(%rbp), %rdi
callq 0x4450
leaq -0x4f3(%rbp), %rdi
callq 0x4450
leaq -0x4f2(%rbp), %rdi
callq 0x4450
leaq -0x4f1(%rbp), %rdi
callq 0x4450
leaq -0x4f0(%rbp), %rdi
callq 0x4450
leaq -0x4ef(%rbp), %rdi
callq 0x4450
leaq -0x4ee(%rbp), %rdi
callq 0x4450
leaq -0x4ed(%rbp), %rdi
callq 0x4450
leaq -0x4ec(%rbp), %rdi
callq 0x4450
leaq -0x4eb(%rbp), %rdi
callq 0x4450
leaq -0x4ea(%rbp), %rdi
callq 0x4450
leaq -0x4e9(%rbp), %rdi
callq 0x4450
movl $0x1f, -0x510(%rbp)
movl -0xe0(%rbp), %eax
cmpl -0x510(%rbp), %eax
jge 0xe516
movq -0xd8(%rbp), %rax
movq %rax, -0x738(%rbp)
movslq -0xe0(%rbp), %rax
leaq -0x4e0(%rbp), %rdi
shlq $0x5, %rax
addq %rax, %rdi
callq 0x41a0
movq -0x738(%rbp), %rdi
movq %rax, %rdx
leaq 0x1f7b(%rip), %rsi      # 0x1008d
movb $0x0, %al
callq 0x45d0
movl -0xe0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0xe0c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe4ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe4a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe495
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe489
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe47d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe471
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe465
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe459
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe44d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe441
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe435
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe429
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe41d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe411
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe405
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3e1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3c9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3b1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe3a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe399
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe38d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe381
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe375
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe369
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe35d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe351
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0xe345
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x508(%rbp), %rdi
callq 0x4450
leaq -0x507(%rbp), %rdi
callq 0x4450
leaq -0x506(%rbp), %rdi
callq 0x4450
leaq -0x505(%rbp), %rdi
callq 0x4450
leaq -0x504(%rbp), %rdi
callq 0x4450
leaq -0x503(%rbp), %rdi
callq 0x4450
leaq -0x502(%rbp), %rdi
callq 0x4450
leaq -0x501(%rbp), %rdi
callq 0x4450
leaq -0x500(%rbp), %rdi
callq 0x4450
leaq -0x4ff(%rbp), %rdi
callq 0x4450
leaq -0x4fe(%rbp), %rdi
callq 0x4450
leaq -0x4fd(%rbp), %rdi
callq 0x4450
leaq -0x4fc(%rbp), %rdi
callq 0x4450
leaq -0x4fb(%rbp), %rdi
callq 0x4450
leaq -0x4fa(%rbp), %rdi
callq 0x4450
leaq -0x4f9(%rbp), %rdi
callq 0x4450
leaq -0x4f8(%rbp), %rdi
callq 0x4450
leaq -0x4f7(%rbp), %rdi
callq 0x4450
leaq -0x4f6(%rbp), %rdi
callq 0x4450
leaq -0x4f5(%rbp), %rdi
callq 0x4450
leaq -0x4f4(%rbp), %rdi
callq 0x4450
leaq -0x4f3(%rbp), %rdi
callq 0x4450
leaq -0x4f2(%rbp), %rdi
callq 0x4450
leaq -0x4f1(%rbp), %rdi
callq 0x4450
leaq -0x4f0(%rbp), %rdi
callq 0x4450
leaq -0x4ef(%rbp), %rdi
callq 0x4450
leaq -0x4ee(%rbp), %rdi
callq 0x4450
leaq -0x4ed(%rbp), %rdi
callq 0x4450
leaq -0x4ec(%rbp), %rdi
callq 0x4450
leaq -0x4eb(%rbp), %rdi
callq 0x4450
leaq -0x4ea(%rbp), %rdi
callq 0x4450
leaq -0x4e9(%rbp), %rdi
callq 0x4450
testb $0x1, -0x509(%rbp)
jne 0xe4c4
jmp 0xe511
movq -0x4e8(%rbp), %rax
leaq -0x4e0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x740(%rbp)
je 0xe50f
movq -0x740(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x748(%rbp)
callq 0x4828
movq -0x748(%rbp), %rax
leaq -0x4e0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x740(%rbp)
jne 0xe4de
jmp 0xe511
jmp 0xe637
movq -0xd8(%rbp), %rdi
leaq 0x1e55(%rip), %rsi      # 0x10379
xorl %eax, %eax
callq 0x45d0
movq -0xd8(%rbp), %rdi
callq 0x45b0
jmp 0xe539
leaq -0x28(%rbp), %rdi
callq 0x41a0
movq %rax, %rdi
leaq 0x289f(%rip), %rsi      # 0x10deb
callq 0x40e0
cmpq $0x0, %rax
je 0xe58e
movl $0x1, %edi
callq 0x4300
jmp 0xe563
jmp 0xe58e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4e0(%rbp), %rax
movq %rax, -0x758(%rbp)
addq $0x400, %rax            # imm = 0x400
movq %rax, -0x750(%rbp)
jmp 0xe604
callq 0x4700
jmp 0xe595
callq 0xc950
jmp 0xe59c
leaq -0x4e0(%rbp), %rax
movq %rax, -0x768(%rbp)
addq $0x400, %rax            # imm = 0x400
movq %rax, -0x760(%rbp)
movq -0x760(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x770(%rbp)
callq 0x4828
movq -0x768(%rbp), %rcx
movq -0x770(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x760(%rbp)
jne 0xe5b7
movl $0x0, -0xdc(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x4828
addq $0x780, %rsp            # imm = 0x780
popq %rbp
retq
movq -0x750(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x778(%rbp)
callq 0x4828
movq -0x758(%rbp), %rcx
movq -0x778(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x750(%rbp)
jne 0xe604
jmp 0xe637
leaq -0x28(%rbp), %rdi
callq 0x4828
movq -0x38(%rbp), %rdi
callq 0x4730
nopl (%rax)