// File: /workspace/github_c_makefile_star2_O3/thegenemyers[P]DAMASKER/REPmask.c
// Function: main
int main(int argc, char *argv[])
{ char  *root, *dpwd;
  int    status;
  int64  novl;
  int    c;
  char  *MASK_NAME;

  //  Process arguments

  { int  i, j, k;
    int  flags[128];
    char *eptr;

    ARG_INIT("REPmask")

    MIN_COVER = -1;
    MASK_NAME = "rep";

    j = 1;
    for (i = 1; i < argc; i++)
      if (argv[i][0] == '-')
        switch (argv[i][1])
        { default:
            ARG_FLAGS("v")
            break;
          case 'c':
            ARG_POSITIVE(MIN_COVER,"Repeat coverage threshold")
            break;
          case 'n':
            MASK_NAME = argv[i]+2;
            break;
        }
      else
        argv[j++] = argv[i];
    argc = j;

    VERBOSE = flags['v'];

    if (argc < 3)
      { fprintf(stderr,"Usage: %s %s\n",Prog_Name,Usage);
        fprintf(stderr,"\n");
        fprintf(stderr,"      -v: Verbose mode, output statistics as proceed.\n");
        fprintf(stderr,"      -c: cutoff depth for declaring an interval repetitive.\n");
        fprintf(stderr,"      -n: use this name as for the repeat mask track\n");
        exit (1);
      }
    if (MIN_COVER <= 0)
      { fprintf(stderr,"%s: Must supply -c parameter for repeat threshold\n",Prog_Name);
        exit (1);
      }
  }

  //  Open trimmed DB

  { status = Open_DB(argv[1],DB);
    if (status < 0)
      exit (1);
    if (DB->part)
      { fprintf(stderr,"%s: Cannot be called on a block: %s\n",Prog_Name,argv[1]);
        exit (1);
      }
    Trim_DB(DB);
    Reads = DB->reads;
  }

  //  Initialize statistics gathering

  if (VERBOSE)
    { int i;

      nreads = 0;
      totlen = 0;
      masked = 0;
      nmasks = 0;

      printf("\nREPmask -c%d -n%s %s",MIN_COVER,MASK_NAME,argv[1]);
      for (i = 2; i < argc; i++)
        printf(" %s",argv[i]);
      printf("\n");
    }

  //  Determine if overlap block is being processed and if so get first and last read
  //    from .db file

  dpwd = PathTo(argv[1]);
  if (status)
    root = Root(argv[1],".dam");
  else
    root = Root(argv[1],".db");

  for (c = 2; c < argc; c++)
    { Block_Looper *parse;
      FILE         *input;

      parse = Parse_Block_LAS_Arg(argv[c]);

      while ((input = Next_Block_Arg(parse)) != NULL)
        { DB_PART  = 0;
          DB_FIRST = 0;
          DB_LAST  = DB->nreads;

          { FILE *dbfile;
            char  buffer[2*MAX_NAME+100];
            char *p, *eptr;
            int   i, part, nfiles, nblocks, cutoff, all, oindx;
            int64 size;

            p = rindex(Block_Arg_Root(parse),'.');
            if (p != NULL)
              { part = strtol(p+1,&eptr,10);
                if (*eptr == '\0' && eptr != p+1)
                  { if (status)
                      dbfile = Fopen(Catenate(dpwd,"/",root,".dam"),"r");
                    else
                      dbfile = Fopen(Catenate(dpwd,"/",root,".db"),"r");
                    if (dbfile == NULL)
			    exit (1);
                    if (fscanf(dbfile,DB_NFILE,&nfiles) != 1)
                      SYSTEM_READ_ERROR
                    for (i = 0; i < nfiles; i++)
                      if (fgets(buffer,2*MAX_NAME+100,dbfile) == NULL)
                        SYSTEM_READ_ERROR
                    if (fscanf(dbfile,DB_NBLOCK,&nblocks) != 1)
                      SYSTEM_READ_ERROR
                    if (fscanf(dbfile,DB_PARAMS,&size,&cutoff,&all) != 3)
                      SYSTEM_READ_ERROR
                    for (i = 1; i <= part; i++)
                      if (fscanf(dbfile,DB_BDATA,&oindx,&DB_FIRST) != 2)
                        SYSTEM_READ_ERROR
                    if (fscanf(dbfile,DB_BDATA,&oindx,&DB_LAST) != 2)
                      SYSTEM_READ_ERROR
                    fclose(dbfile);
                    DB_PART = part;
                  }
              }
          }

          //   Set up preliminary trimming track

          { int   len, size;
            char  ans[strlen(MASK_NAME)+7];
            char  dts[strlen(MASK_NAME)+7];

            strcpy(ans,Catenate(".",MASK_NAME,".","anno"));
            strcpy(dts,Catenate(".",MASK_NAME,".","data"));
            if (DB_PART > 0)
              { MSK_AFILE = Fopen(Catenate(dpwd,PATHSEP,root,
                                       Numbered_Suffix(".",DB_PART,ans)),"w");
                MSK_DFILE = Fopen(Catenate(dpwd,PATHSEP,root,
                                       Numbered_Suffix(".",DB_PART,dts)),"w");
              }
            else
              { MSK_AFILE = Fopen(Catenate(dpwd,PATHSEP,root,ans),"w");
                MSK_DFILE = Fopen(Catenate(dpwd,PATHSEP,root,dts),"w");
              }
            if (MSK_AFILE == NULL || MSK_DFILE == NULL)
              exit (1);

            len  = DB_LAST - DB_FIRST;
            size = 0;
            fwrite(&len,sizeof(int),1,MSK_AFILE);
            fwrite(&size,sizeof(int),1,MSK_AFILE);
            MSK_INDEX = 0;
            fwrite(&MSK_INDEX,sizeof(int64),1,MSK_AFILE);
          }

          //  Get trace point spacing information

          fread(&novl,sizeof(int64),1,input);
          fread(&TRACE_SPACING,sizeof(int),1,input);

          //  Process each read pile

          make_a_pass(input,PARTITION,1);

          fclose(MSK_AFILE);
          fclose(MSK_DFILE);
          fclose(input);
        }

      Free_Block_Arg(parse);
    }

  if (VERBOSE)
    { printf("\nInput:    ");
      Print_Number((int64) nreads,7,stdout);
      printf(" (100.0%%) reads     ");
      Print_Number(totlen,12,stdout);
      printf(" (100.0%%) bases\n");

      printf("Masks:    ");
      Print_Number(nmasks,7,stdout);
      printf(" (%5.1f%%) masks     ",(100.*nmasks)/nreads);
      Print_Number(masked,12,stdout);
      printf(" (%5.1f%%) bases\n",(100.*masked)/totlen);
    }

  free(dpwd);
  free(root);

  Close_DB(DB);
  free(Prog_Name);

  exit (0);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4f58, %rsp           # imm = 0x4F58
movq %rsi, -0x58(%rbp)
movl %edi, %r14d
leaq 0x17b7a(%rip), %rdi     # 0x1a038
leaq 0x18a11(%rip), %rsi     # 0x1aed6
callq 0x12452
leaq 0x1ddd7(%rip), %r15     # 0x202a8
movq %rax, (%r15)
leaq -0x4f80(%rbp), %rdi
movl $0x200, %edx            # imm = 0x200
xorl %esi, %esi
callq 0x1150
movl $0xffffffff, 0x1dcb7(%rip) # imm = 0xFFFFFFFF
cmpl $0x1, %r14d
jle 0x2604
movl %r14d, %r12d
movl $0x1, %ebx
leaq 0x17b36(%rip), %rax     # 0x1a040
movq %rax, -0xa0(%rbp)
movl $0x1, %r15d
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
leaq 0x17b20(%rip), %r13     # 0x1a044
movq -0x58(%rbp), %rcx
movq %r12, -0x38(%rbp)
movq (%rcx,%r15,8), %r14
cmpb $0x2d, (%r14)
jne 0x2556
movzbl 0x1(%r14), %eax
testl %eax, %eax
je 0x255f
cmpl $0x63, %eax
je 0x256c
cmpl $0x6e, %eax
jne 0x25bb
addq $0x2, %r14
movq %r14, -0xa0(%rbp)
jmp 0x255f
movslq %ebx, %rax
incl %ebx
movq %r14, (%rcx,%rax,8)
incq %r15
cmpq %r12, %r15
jne 0x252c
jmp 0x26b9
addq $0x2, %r14
movq %r14, %rdi
leaq -0xc8(%rbp), %rsi
movl $0xa, %edx
callq 0x11e0
movq -0x58(%rbp), %rcx
movq %rax, %r9
movl %r9d, 0x1dc16(%rip)     # 0x201a8
movq -0xc8(%rbp), %rax
cmpb $0x0, (%rax)
movq (%rcx,%r15,8), %r8
jne 0x26f7
cmpb $0x0, 0x2(%r8)
je 0x26f7
testl %r9d, %r9d
jg 0x255f
jmp 0x38b1
movq %r9, -0x40(%rbp)
addq $0x2, %r14
movsbl %al, %r12d
movq %r13, %rdi
movl %r12d, %esi
callq 0x1160
testq %rax, %rax
je 0x268a
movslq %r12d, %rax
movl $0x1, -0x4f80(%rbp,%rax,4)
movb (%r14), %al
incq %r14
testb %al, %al
jne 0x25c3
movq -0x58(%rbp), %rcx
movq -0x40(%rbp), %r9
movq -0x38(%rbp), %r12
jmp 0x255f
movl $0x0, 0x1db9e(%rip)     # 0x201ac
movq 0x1d9e3(%rip), %rbx     # 0x1fff8
movq (%rbx), %rdi
movq (%r15), %rdx
leaq 0x17aa3(%rip), %rsi     # 0x1a0c5
leaq 0x17ca3(%rip), %rcx     # 0x1a2cc
xorl %eax, %eax
callq 0x11c0
movq (%rbx), %rsi
movl $0xa, %edi
callq 0x1190
movq (%rbx), %rcx
leaq 0x17a8c(%rip), %rdi     # 0x1a0d3
movl $0x36, %esi
movl $0x1, %edx
callq 0x12a0
movq (%rbx), %rcx
leaq 0x17aaa(%rip), %rdi     # 0x1a10a
movl $0x3d, %esi
movl $0x1, %edx
callq 0x12a0
movq (%rbx), %rcx
leaq 0x17acf(%rip), %rdi     # 0x1a148
movl $0x35, %esi
movl $0x1, %edx
callq 0x12a0
jmp 0x26af
movq 0x1d967(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1dc0d(%rip), %rax     # 0x202a8
movq (%rax), %rdx
leaq 0x179a1(%rip), %rsi     # 0x1a046
movl %r12d, %ecx
xorl %eax, %eax
callq 0x11c0
movl $0x1, %edi
callq 0x1290
movl -0x4da8(%rbp), %eax
movl %eax, 0x1dae7(%rip)     # 0x201ac
cmpl $0x2, %ebx
leaq 0x1dbd9(%rip), %r15     # 0x202a8
jle 0x260e
testl %r9d, %r9d
jg 0x2724
movq 0x1d917(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
movq (%r15), %rdx
leaq 0x17a90(%rip), %rsi     # 0x1a17e
xorl %eax, %eax
callq 0x11c0
jmp 0x26af
movq 0x1d8fa(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1dba0(%rip), %rax     # 0x202a8
movq (%rax), %rdx
movsbl 0x1(%r8), %ecx
addq $0x2, %r8
leaq 0x17949(%rip), %rsi     # 0x1a064
xorl %eax, %eax
callq 0x11c0
jmp 0x26af
movq 0x8(%rcx), %rdi
leaq 0x1dad9(%rip), %rsi     # 0x20208
callq 0x1341b
testl %eax, %eax
js 0x26af
cmpl $0x0, 0x1dafd(%rip)     # 0x20240
jne 0x38e2
movl %eax, %r15d
leaq 0x1dab5(%rip), %rdi     # 0x20208
callq 0x13c24
movq 0x1db09(%rip), %rax     # 0x20268
movq %rax, 0x1da4a(%rip)     # 0x201b0
cmpl $0x0, 0x1da3f(%rip)     # 0x201ac
movl %ebx, %r13d
je 0x27e0
xorl %eax, %eax
movq %rax, 0x1da3d(%rip)     # 0x201b8
movq %rax, 0x1da3e(%rip)     # 0x201c0
movq %rax, 0x1da3f(%rip)     # 0x201c8
movq %rax, 0x1da40(%rip)     # 0x201d0
movl 0x1da12(%rip), %esi     # 0x201a8
movq -0x58(%rbp), %r12
movq 0x8(%r12), %rcx
leaq 0x17a30(%rip), %rdi     # 0x1a1d6
movq -0xa0(%rbp), %rdx
xorl %eax, %eax
callq 0x1120
movl $0x2, %ebx
leaq 0x17a28(%rip), %r14     # 0x1a1e8
movq (%r12,%rbx,8), %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0x1120
incq %rbx
cmpq %rbx, %r13
jne 0x27c0
movl $0xa, %edi
callq 0x1040
movq -0x58(%rbp), %rbx
movq 0x8(%rbx), %rdi
callq 0x12515
movq %rax, -0x78(%rbp)
testl %r15d, %r15d
movq 0x8(%rbx), %rdi
leaq 0x179f2(%rip), %rax     # 0x1a1f1
leaq 0x179e6(%rip), %rsi     # 0x1a1ec
cmoveq %rax, %rsi
movq %rsi, -0xd8(%rbp)
callq 0x1256f
movq %rax, -0x70(%rbp)
movl $0x2, %ecx
movq %r13, -0xb8(%rbp)
movq -0x58(%rbp), %rax
movq %rcx, -0xd0(%rbp)
movq (%rax,%rcx,8), %rdi
callq 0x1721a
movq %rax, %rbx
movq %rax, %rdi
callq 0x1704c
movq %rax, -0x50(%rbp)
testq %rax, %rax
je 0x3761
movq %rbx, -0x90(%rbp)
xorl %eax, %eax
movl %eax, 0x1d977(%rip)     # 0x201d8
movl %eax, 0x1d975(%rip)     # 0x201dc
movl 0x1d9cb(%rip), %eax     # 0x20238
movl %eax, 0x1d96d(%rip)     # 0x201e0
movq %rbx, %rdi
callq 0x17100
movq %rax, %rdi
movl $0x2e, %esi
callq 0x1270
testq %rax, %rax
je 0x2a02
movq %rax, %r14
incq %r14
movq %r14, %rdi
leaq -0xa8(%rbp), %rsi
movl $0xa, %edx
callq 0x11e0
movq %rax, %r15
movq -0xa8(%rbp), %rax
cmpq %r14, %rax
je 0x2a02
cmpb $0x0, (%rax)
jne 0x2a02
movq -0x78(%rbp), %rdi
leaq 0x17923(%rip), %rsi     # 0x1a1f5
movq -0x70(%rbp), %rdx
movq -0xd8(%rbp), %rcx
callq 0x12637
movq %rax, %rdi
leaq 0x189e1(%rip), %rsi     # 0x1b2cd
callq 0x124b5
testq %rax, %rax
je 0x26af
movq %rax, %r13
movq %rax, %rdi
leaq 0x178f0(%rip), %rsi     # 0x1a1f7
leaq -0x64(%rbp), %rdx
xorl %eax, %eax
callq 0x10a0
cmpl $0x1, %eax
jne 0x3911
cmpl $0x0, -0x64(%rbp)
jle 0x2947
xorl %ebx, %ebx
leaq -0x4f80(%rbp), %rdi
movl $0x4e84, %esi           # imm = 0x4E84
movq %r13, %rdx
callq 0x11a0
testq %rax, %rax
je 0x3911
incl %ebx
cmpl -0x64(%rbp), %ebx
jl 0x2923
movq %r13, %rdi
leaq 0x178d3(%rip), %rsi     # 0x1a224
leaq -0xec(%rbp), %rdx
xorl %eax, %eax
callq 0x10a0
cmpl $0x1, %eax
jne 0x3911
movq %r13, %rdi
leaq 0x178c0(%rip), %rsi     # 0x1a232
leaq -0xf8(%rbp), %rdx
leaq -0xe8(%rbp), %rcx
leaq -0xe4(%rbp), %r8
xorl %eax, %eax
callq 0x10a0
cmpl $0x3, %eax
jne 0x3911
movl %r15d, %ebx
testl %r15d, %r15d
jle 0x29cb
movq %r13, %rdi
leaq 0x178af(%rip), %rsi     # 0x1a258
leaq -0xac(%rbp), %rdx
leaq 0x1d825(%rip), %rcx     # 0x201dc
xorl %eax, %eax
callq 0x10a0
cmpl $0x2, %eax
jne 0x3911
decl %ebx
jne 0x299f
movq %r13, %rdi
leaq 0x17883(%rip), %rsi     # 0x1a258
leaq -0xac(%rbp), %rdx
leaq 0x1d7fd(%rip), %rcx     # 0x201e0
xorl %eax, %eax
callq 0x10a0
cmpl $0x2, %eax
jne 0x3911
movq %r13, %rdi
callq 0x10e0
movl %r15d, 0x1d7d6(%rip)    # 0x201d8
movq -0xa0(%rbp), %rbx
movq %rbx, %rdi
callq 0x1100
movq %rsp, -0x40(%rbp)
movq %rsp, %r13
addq $0x16, %rax
andq $-0x10, %rax
subq %rax, %r13
movq %r13, %rsp
movq %rbx, %rdi
callq 0x1100
movq %rsp, %r15
addq $0x16, %rax
andq $-0x10, %rax
subq %rax, %r15
movq %r15, %rsp
leaq 0x178c0(%rip), %r14     # 0x1a306
movq %r14, %rdi
movq %rbx, %rsi
movq %r14, %rdx
leaq 0x1838a(%rip), %rcx     # 0x1ade0
callq 0x12637
movq %r13, %rdi
movq %rax, %rsi
callq 0x1080
movq %r14, %rdi
movq %rbx, %rsi
movq %r14, %rdx
leaq 0x183e2(%rip), %rcx     # 0x1ae58
callq 0x12637
movq %r15, %rdi
movq %rax, %rsi
callq 0x1080
movl 0x1d74c(%rip), %esi     # 0x201d8
testl %esi, %esi
jle 0x2af4
movq %r14, %rdi
movq %r13, %rdx
callq 0x1273e
movq -0x78(%rbp), %rbx
movq %rbx, %rdi
leaq 0x177b9(%rip), %rsi     # 0x1a262
movq -0x70(%rbp), %r12
movq %r12, %rdx
movq %rax, %rcx
callq 0x12637
movq %rax, %rdi
leaq 0x18225(%rip), %r13     # 0x1ace7
movq %r13, %rsi
callq 0x124b5
movq %rax, 0x1d717(%rip)     # 0x201e8
movl 0x1d701(%rip), %esi     # 0x201d8
movq %r14, %rdi
movq %r15, %rdx
callq 0x1273e
movq %rbx, %rdi
leaq 0x17776(%rip), %rsi     # 0x1a262
movq %r12, %rdx
movq %rax, %rcx
jmp 0x2b39
movq -0x78(%rbp), %rbx
movq %rbx, %rdi
leaq 0x17760(%rip), %r14     # 0x1a262
movq %r14, %rsi
movq -0x70(%rbp), %r12
movq %r12, %rdx
movq %r13, %rcx
callq 0x12637
movq %rax, %rdi
leaq 0x181c9(%rip), %r13     # 0x1ace7
movq %r13, %rsi
callq 0x124b5
movq %rax, 0x1d6bb(%rip)     # 0x201e8
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %r15, %rcx
callq 0x12637
movq %rax, %rdi
movq %r13, %rsi
callq 0x124b5
movq %rax, 0x1d6a0(%rip)     # 0x201f0
movq 0x1d691(%rip), %rcx     # 0x201e8
testq %rcx, %rcx
movq -0xb8(%rbp), %r13
movq -0x90(%rbp), %rbx
je 0x26af
testq %rax, %rax
je 0x26af
movl 0x1d663(%rip), %eax     # 0x201e0
subl 0x1d659(%rip), %eax     # 0x201dc
movl %eax, -0x4f80(%rbp)
movl $0x0, -0xa8(%rbp)
movl $0x4, %esi
movl $0x1, %edx
leaq -0x4f80(%rbp), %rdi
callq 0x12a0
movq 0x1d638(%rip), %rcx     # 0x201e8
movl $0x4, %esi
movl $0x1, %edx
leaq -0xa8(%rbp), %rdi
callq 0x12a0
movq $0x0, 0x1d627(%rip) # 0x201f8
movq 0x1d610(%rip), %rcx     # 0x201e8
movl $0x8, %esi
movl $0x1, %edx
leaq 0x1d60f(%rip), %rdi     # 0x201f8
callq 0x12a0
movq -0x40(%rbp), %rsp
movl $0x8, %esi
movl $0x1, %edx
leaq -0xc8(%rbp), %rdi
movq -0x50(%rbp), %r14
movq %r14, %rcx
callq 0x10d0
movl $0x4, %esi
movl $0x1, %edx
leaq 0x1d5e0(%rip), %rdi     # 0x20200
movq %r14, %rcx
callq 0x10d0
cmpq $0x0, 0x1d648(%rip)     # 0x20278
jne 0x2c5d
movslq 0x1d53f(%rip), %rax     # 0x20178
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
leaq 0x176c0(%rip), %rsi     # 0x1a308
callq 0x12395
movq %rax, 0x1d624(%rip)     # 0x20278
testq %rax, %rax
je 0x26af
cmpq $0x0, 0x1d61b(%rip)     # 0x20280
jne 0x2c8d
movslq 0x1d50e(%rip), %rdi     # 0x2017c
addq %rdi, %rdi
leaq 0x176aa(%rip), %rsi     # 0x1a322
callq 0x12395
movq %rax, 0x1d5fc(%rip)     # 0x20280
testq %rax, %rax
je 0x26af
movq -0x50(%rbp), %r14
movq %r14, %rdi
callq 0x1130
movl $0x8, %esi
movl $0x1, %edx
leaq -0x4f80(%rbp), %rdi
movq %r14, %rcx
callq 0x10d0
movl $0x4, %esi
movl $0x1, %edx
leaq 0x1d53d(%rip), %rdi     # 0x20200
movq %r14, %rcx
callq 0x10d0
xorl %eax, %eax
cmpl $0x7e, 0x1d52c(%rip)    # 0x20200
setge %al
incl %eax
movl %eax, 0x1d5a9(%rip)     # 0x20288
movq 0x1d592(%rip), %rsi     # 0x20278
movq %r14, %rdi
callq 0x9767
movq 0x1d583(%rip), %rdi     # 0x20278
testl %eax, %eax
je 0x2d05
movl $0x7fffffff, 0x24(%rdi) # imm = 0x7FFFFFFF
jmp 0x2d9f
movl 0x8(%rdi), %ecx
movq 0x1d571(%rip), %rax     # 0x20280
cmpl 0x1d467(%rip), %ecx     # 0x2017c
jle 0x2d64
cvtsi2sd %ecx, %xmm0
mulsd 0x172e5(%rip), %xmm0    # 0x1a008
addsd 0x172e5(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %ecx
movl %ecx, 0x1d447(%rip)     # 0x2017c
movslq %ecx, %rsi
addq %rsi, %rsi
movq %rax, %rdi
leaq 0x175f4(%rip), %rdx     # 0x1a339
callq 0x123ed
movq %rax, 0x1d52f(%rip)     # 0x20280
testq %rax, %rax
je 0x26af
movq 0x1d517(%rip), %rcx     # 0x20278
movl 0x8(%rcx), %ecx
movl 0x1d51e(%rip), %esi     # 0x20288
movslq %ecx, %rdx
movq %rax, %rdi
movq -0x50(%rbp), %rcx
callq 0x10d0
cmpl $0x1, 0x1d508(%rip)     # 0x20288
movq 0x1d4f1(%rip), %rdi     # 0x20278
jne 0x2d9f
movq 0x1d4f0(%rip), %rax     # 0x20280
movq %rax, (%rdi)
callq 0x9872
movq 0x1d4d9(%rip), %rdi     # 0x20278
movslq 0x1d436(%rip), %rcx     # 0x201dc
cmpl %ecx, 0x24(%rdi)
jl 0x393d
cmpl 0x1d42b(%rip), %ecx     # 0x201e0
jge 0x3700
leal -0x1(%rcx), %eax
movl %eax, -0x5c(%rbp)
movq $0x0, -0xc0(%rbp)
xorl %r15d, %r15d
movq 0x1d4a2(%rip), %r14     # 0x20278
movslq %r15d, %rax
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
movupd (%r14,%rax), %xmm0
movupd 0x10(%r14,%rax), %xmm1
movups 0x20(%r14,%rax), %xmm2
movups %xmm2, 0x20(%r14)
movupd %xmm1, 0x10(%r14)
movupd %xmm0, (%r14)
movslq 0x24(%r14), %r12
movq %rcx, -0x80(%rbp)
cmpq %r12, %rcx
jne 0x2e59
movq 0x1d468(%rip), %rdi     # 0x20280
movslq -0xc0(%rbp), %rax
leaq (%rdi,%rax,2), %rsi
movslq 0x8(%r14), %rdx
addq %rdx, %rdx
callq 0x1240
movl 0x8(%r14), %ebx
addq $0x30, %r14
movq -0x50(%rbp), %rdi
movq %r14, %rsi
callq 0x9767
movl $0x1, %r14d
testl %eax, %eax
je 0x2e61
movl $0x1, -0x2c(%rbp)
jmp 0x2fa9
xorl %r15d, %r15d
jmp 0x36be
xorl %r13d, %r13d
movq 0x1d40d(%rip), %rax     # 0x20278
movl 0x38(%rax,%r13), %ecx
leal (%rcx,%rbx), %edx
movq 0x1d406(%rip), %rax     # 0x20280
cmpl 0x1d2fc(%rip), %edx     # 0x2017c
jle 0x2ed4
xorps %xmm0, %xmm0
cvtsi2sd %edx, %xmm0
mulsd 0x17177(%rip), %xmm0    # 0x1a008
addsd 0x17177(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %ecx
movl %ecx, 0x1d2d9(%rip)     # 0x2017c
movslq %ecx, %rsi
addq %rsi, %rsi
movq %rax, %rdi
leaq 0x17486(%rip), %rdx     # 0x1a339
callq 0x123ed
movq %rax, 0x1d3c1(%rip)     # 0x20280
testq %rax, %rax
je 0x26af
movq 0x1d3a9(%rip), %rcx     # 0x20278
movl 0x38(%rcx,%r13), %ecx
movslq %ebx, %r15
leaq (%rax,%r15,2), %rdi
movl 0x1d3a7(%rip), %esi     # 0x20288
movslq %ecx, %rdx
movq -0x50(%rbp), %rcx
callq 0x10d0
cmpl $0x1, 0x1d394(%rip)     # 0x20288
jne 0x2f17
addq %r15, %r15
addq 0x1d380(%rip), %r15     # 0x20280
movq 0x1d371(%rip), %rax     # 0x20278
leaq (%rax,%r13), %rdi
addq $0x30, %rdi
movq %r15, (%rdi)
callq 0x9872
movq 0x1d35a(%rip), %r15     # 0x20278
cmpl %r12d, 0x54(%r15,%r13)
jne 0x36f7
addl 0x38(%r15,%r13), %ebx
incq %r14
cmpl %r14d, 0x1d240(%rip)    # 0x20178
jg 0x2f88
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
mulsd 0x170be(%rip), %xmm0    # 0x1a008
addsd 0x170c6(%rip), %xmm0    # 0x1a018
cvttsd2si %xmm0, %eax
movl %eax, 0x1d21c(%rip)     # 0x20178
cltq
shlq $0x4, %rax
leaq (%rax,%rax,2), %rsi
movq %r15, %rdi
leaq 0x17423(%rip), %rdx     # 0x1a393
callq 0x123ed
movq %rax, %r15
movq %rax, 0x1d2f9(%rip)     # 0x20278
testq %rax, %rax
je 0x26af
leaq (%r15,%r13), %rsi
addq $0x60, %rsi
movq -0x50(%rbp), %rdi
callq 0x9767
addq $0x30, %r13
testl %eax, %eax
je 0x2e64
movl %r14d, -0x2c(%rbp)
movq 0x1d2c8(%rip), %r15     # 0x20278
leaq (%r14,%r14,2), %rax
shlq $0x4, %rax
movl $0x7fffffff, 0x24(%r15,%rax) # imm = 0x7FFFFFFF
movsd 0x17057(%rip), %xmm3    # 0x1a020
movsd 0x17057(%rip), %xmm4    # 0x1a028
movq -0x80(%rbp), %rax
movslq %eax, %rdi
leaq (,%rdi,8), %rax
leaq (%rax,%rax,4), %r13
incq %rdi
movq 0x1d292(%rip), %rax     # 0x20280
leaq 0x8(%r15), %rcx
xorl %esi, %esi
movslq %esi, %rsi
leaq (%rax,%rsi,2), %rdx
movq %rdx, -0x8(%rcx)
addl (%rcx), %esi
addq $0x30, %rcx
decq %r14
jne 0x2ff4
movq %rsi, -0xc0(%rbp)
movl -0x2c(%rbp), %eax
testl %eax, %eax
jle 0x306a
xorl %ebx, %ebx
cmpl $0x1, %eax
jne 0x3253
movslq 0x1d20e(%rip), %rcx     # 0x20238
movq -0x80(%rbp), %rdx
movslq %edx, %rsi
leal 0x1(%rsi), %eax
cmpl %eax, %ecx
movq %rcx, -0x40(%rbp)
cmovgl %ecx, %eax
movq 0x1d16c(%rip), %r9      # 0x201b0
decl %eax
leaq (%r9,%r13), %rcx
addq $0x48, %rcx
movl -0x5c(%rbp), %r12d
cmpq -0x40(%rbp), %rdi
jge 0x3079
incl %r12d
incq %rdi
testb $0x4, 0x1(%rcx)
leaq 0x28(%rcx), %rcx
jne 0x3052
jmp 0x307c
movq -0x90(%rbp), %rbx
movl %eax, %r15d
jmp 0x36be
movl %eax, %r12d
movl %edx, %edi
testq %rdx, %rdx
js 0x309f
movl %edi, %eax
leaq (%rax,%rax,4), %rax
testb $0x4, 0x21(%r9,%rax,8)
je 0x309f
leal -0x1(%rdi), %eax
testl %edi, %edi
movl %eax, %edi
jg 0x3083
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
movq %rsi, -0x88(%rbp)
testl %ebx, %ebx
js 0x3365
movl %ebx, %r8d
addq $0x48, %r9
movq %r9, -0xe0(%rbp)
xorl %r13d, %r13d
movl %edi, %eax
xorl %ecx, %ecx
movl %ebx, -0x38(%rbp)
movl %r12d, -0x44(%rbp)
movq %rdi, -0x98(%rbp)
movslq %ecx, %rdx
leaq (%rdx,%rdx,2), %rbx
shlq $0x4, %rbx
movl 0x28(%r15,%rbx), %r14d
cmpl %r14d, %edi
jg 0x30f7
cmpl %r12d, %r14d
jg 0x30f7
incl %eax
movl %eax, %edx
movl -0x38(%rbp), %ebx
jmp 0x3242
movl %r13d, -0x60(%rbp)
movslq %r14d, %rsi
leal 0x1(%r14), %edi
movq -0x40(%rbp), %rax
cmpl %edi, %eax
cmovgl %eax, %edi
decl %edi
leal -0x1(%r14), %eax
leaq (%rsi,%rsi,4), %r12
movq -0xe0(%rbp), %r13
leaq (,%r12,8), %r12
addq %r13, %r12
incq %rsi
cmpq -0x40(%rbp), %rsi
jge 0x3144
incl %eax
incq %rsi
testb $0x4, 0x1(%r12)
leaq 0x28(%r12), %r12
jne 0x312a
jmp 0x3146
movl %edi, %eax
cmpl %eax, %r14d
jle 0x315d
movl %ecx, %edx
movl -0x38(%rbp), %ebx
movl -0x44(%rbp), %r12d
movl -0x60(%rbp), %r13d
jmp 0x323b
movq %rdx, %r12
shlq $0x20, %r12
addq %r15, %rbx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %edi, %edi
xorl %esi, %esi
movl -0x60(%rbp), %r13d
cmpq %r8, %rdx
jg 0x318a
movl 0x28(%rbx), %r14d
movq %rbx, %r10
cmpl %ecx, %r14d
jne 0x318a
movq %rbx, %r10
jmp 0x319b
cmpl %esi, %edi
cmovgl %edi, %esi
cmovgl %r11d, %r9d
xorl %edi, %edi
movl %r14d, %ecx
movl %edx, %r11d
cmpq %r8, %rdx
jg 0x31c5
cmpl %eax, %ecx
jg 0x31c5
addl 0x18(%r10), %edi
subl 0x10(%r10), %edi
incq %rdx
movabsq $0x100000000, %r14      # imm = 0x100000000
addq %r14, %r12
addq $0x30, %rbx
movl %ecx, %r14d
jmp 0x3174
testl %esi, %esi
jle 0x3234
cmpl %edx, %r9d
movl -0x38(%rbp), %ebx
movq -0x98(%rbp), %rdi
jge 0x322e
movslq %r9d, %rsi
leaq (%rsi,%rsi,2), %rax
shlq $0x4, %rax
movl 0x28(%r15,%rax), %ecx
sarq $0x20, %r12
subq %rsi, %r12
addq %r15, %rax
cmpl %ecx, 0x28(%rax)
jne 0x3225
movslq %r13d, %rsi
incl %r13d
leaq (%rsi,%rsi,2), %rsi
shlq $0x4, %rsi
movupd (%rax), %xmm0
movupd 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups %xmm2, 0x20(%r15,%rsi)
movupd %xmm1, 0x10(%r15,%rsi)
movupd %xmm0, (%r15,%rsi)
addq $0x30, %rax
decq %r12
jne 0x31f2
movl -0x44(%rbp), %r12d
jmp 0x3242
movl -0x38(%rbp), %ebx
movl -0x44(%rbp), %r12d
movq -0x98(%rbp), %rdi
movl %edx, %eax
movl %edx, %ecx
cmpl %ebx, %edx
jle 0x30d1
jmp 0x3368
movl -0x2c(%rbp), %eax
movq %rax, -0x40(%rbp)
xorl %ebx, %ebx
movl $0x1, %ecx
leaq (%rcx,%rcx,2), %r8
shlq $0x4, %r8
leaq (%r15,%r8), %rdx
movl %ebx, -0x38(%rbp)
testl %ebx, %ebx
js 0x3301
movl 0x28(%r15,%r8), %r9d
movl -0x38(%rbp), %eax
movl %eax, %r10d
movl %r10d, %r8d
leaq (%r8,%r8,2), %r8
shlq $0x4, %r8
cmpl 0x28(%r15,%r8), %r9d
jne 0x3301
addq %r15, %r8
movl 0x20(%r8), %r11d
xorl 0x20(%rdx), %r11d
testb $0x1, %r11b
jne 0x3301
movl 0x18(%r8), %ebx
movl 0x10(%rdx), %r11d
leal 0x12c(%r11), %r14d
cmpl %r14d, %ebx
jge 0x32f5
subl %ebx, %r11d
movl 0x14(%rdx), %r12d
movl 0x1c(%r8), %r14d
subl %r14d, %r12d
movl %r11d, %eax
subl %r12d, %eax
movl %eax, %esi
negl %esi
cmovsl %eax, %esi
xorps %xmm0, %xmm0
cvtsi2sd %esi, %xmm0
addl %r11d, %r12d
xorps %xmm1, %xmm1
cvtsi2sd %r12d, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm4, %xmm1
ucomisd %xmm0, %xmm1
ja 0x3343
leal -0x1(%r10), %eax
testl %r10d, %r10d
movl %eax, %r10d
jg 0x3283
movl -0x38(%rbp), %ebx
incl %ebx
movslq %ebx, %rax
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
movupd (%rdx), %xmm0
movupd 0x10(%rdx), %xmm1
movups 0x20(%rdx), %xmm2
movups %xmm2, 0x20(%r15,%rax)
movupd %xmm1, 0x10(%r15,%rax)
movupd %xmm0, (%r15,%rax)
incq %rcx
cmpq -0x40(%rbp), %rcx
jne 0x3261
jmp 0x3023
movl 0x18(%rdx), %r9d
cmpl %ebx, %r9d
jle 0x3350
movl %r9d, 0x18(%r8)
movl 0x1c(%rdx), %edx
cmpl %r14d, %edx
movl -0x38(%rbp), %ebx
jle 0x335f
movl %edx, 0x1c(%r8)
addl %r11d, 0x8(%r8)
jmp 0x3331
xorl %r13d, %r13d
cmpl %r13d, 0x1cf1d(%rip)    # 0x2028c
jge 0x33eb
xorps %xmm0, %xmm0
cvtsi2sd %r13d, %xmm0
mulsd 0x16c87(%rip), %xmm0    # 0x1a008
addsd 0x16ca7(%rip), %xmm0    # 0x1a030
cvttsd2si %xmm0, %eax
movl %eax, 0x1cef9(%rip)     # 0x2028c
movq 0x1cef6(%rip), %rdi     # 0x20290
movslq %eax, %rsi
shlq $0x4, %rsi
leaq 0x17004(%rip), %rdx     # 0x1a3ac
callq 0x123ed
movq %rax, 0x1cedc(%rip)     # 0x20290
movq 0x1cedd(%rip), %rdi     # 0x20298
movslq 0x1ceca(%rip), %rsi     # 0x2028c
shlq $0x4, %rsi
leaq 0x16ff9(%rip), %rdx     # 0x1a3c6
callq 0x123ed
movq %rax, 0x1cebf(%rip)     # 0x20298
movslq 0x1ceac(%rip), %rcx     # 0x2028c
leaq (%rax,%rcx,8), %rax
movq %rax, 0x1ceb5(%rip)     # 0x202a0
movq 0x1ce9e(%rip), %rdi     # 0x20290
testl %r13d, %r13d
jle 0x35fc
movl %r13d, %eax
addq %rax, %rax
addq $0x18, %r15
xorl %esi, %esi
movq %rsi, %rbx
movl -0x8(%r15), %esi
movl (%r15), %edx
leal 0x12c(%rsi), %ecx
leal -0x12c(%rdx), %r8d
cmpl %ecx, %r8d
jge 0x3431
addl %esi, %edx
movl %edx, %ecx
shrl $0x1f, %ecx
addl %edx, %ecx
sarl %ecx
movl %ecx, %r8d
movl $0x1, (%rdi,%rbx,8)
movl %ecx, 0x4(%rdi,%rbx,8)
movl $0x0, 0x8(%rdi,%rbx,8)
movl %r8d, 0xc(%rdi,%rbx,8)
leaq 0x2(%rbx), %rsi
addq $0x30, %r15
cmpq %rsi, %rax
jne 0x3407
movl $0x8, %edx
leaq 0x501(%rip), %rcx       # 0x3963
callq 0x10c0
movq 0x1ce2a(%rip), %r15     # 0x20298
movq 0x1ce1b(%rip), %rdx     # 0x20290
movl 0x1cd2d(%rip), %esi     # 0x201a8
xorl %r8d, %r8d
movq $-0x2, %rdi
movq 0x1ce14(%rip), %rax     # 0x202a0
xorl %r9d, %r9d
xorl %r10d, %r10d
xorl %ecx, %ecx
cmpl $0x0, 0x10(%rdx,%rdi,8)
je 0x34d0
leal 0x1(%r10), %r11d
cmpl %r8d, %r10d
cmovgel %r11d, %r8d
cmpl %esi, %r11d
jne 0x34fe
movl 0x14(%rdx,%rdi,8), %r8d
movl $0xfffffed4, %r10d      # imm = 0xFFFFFED4
addl %r10d, %r8d
movslq %ecx, %r10
movl %r8d, (%r15,%r10,4)
leal 0x1(%r10), %ecx
movl %r9d, (%rax,%r10,4)
movl %esi, %r11d
movl %esi, %r8d
jmp 0x34fe
cmpl %esi, %r10d
jne 0x34f3
movl 0x14(%rdx,%rdi,8), %r9d
movl $0x12c, %r11d           # imm = 0x12C
addl %r11d, %r9d
movslq %ecx, %r11
movl %r9d, (%r15,%r11,4)
incl %ecx
movl %r8d, (%rax,%r11,4)
movl %esi, %r9d
leal -0x1(%r10), %r11d
cmpl %r9d, %r10d
cmovlel %r11d, %r9d
incq %rdi
movl %r11d, %r10d
cmpq %rdi, %rbx
jne 0x3494
movl $0x2, %r14d
cmpl $0x3, %ecx
jl 0x35b0
movl %ecx, %edx
movl $0x2, %r14d
movl $0x3, %esi
movl -0x8(%rax,%rsi,4), %edi
movl (%rax,%rsi,4), %r8d
cmpl %r8d, %edi
cmovll %edi, %r8d
subl -0x4(%rax,%rsi,4), %r8d
movslq %r14d, %rdi
cmpl $0x4, %r8d
jl 0x355b
movl -0x4(%r15,%rsi,4), %r9d
cmpl $0x9, %r8d
ja 0x3578
movl -0x8(%r15,%rsi,4), %r8d
subl %r9d, %r8d
cmpl $0x15, %r8d
jl 0x3578
movl (%r15,%rsi,4), %r8d
movl %r8d, -0x4(%r15,%rdi,4)
movl (%rax,%rsi,4), %r8d
cmpl -0x4(%rax,%rdi,4), %r8d
jle 0x359d
decq %rdi
movl %r8d, (%rax,%rdi,4)
jmp 0x359d
movl %r9d, (%r15,%rdi,4)
movl (%r15,%rsi,4), %r8d
movl %r8d, 0x4(%r15,%rdi,4)
movl -0x4(%rax,%rsi,4), %r8d
movl %r8d, (%rax,%rdi,4)
movl (%rax,%rsi,4), %r8d
movl %r8d, 0x4(%rax,%rdi,4)
addl $0x2, %edi
movl %edi, %r14d
leaq 0x2(%rsi), %rdi
incq %rsi
cmpq %rdx, %rsi
movq %rdi, %rsi
jb 0x3525
testl %ecx, %ecx
cmovlel %ecx, %r14d
cmpl $0x0, 0x1cbef(%rip)     # 0x201ac
je 0x365f
testl %r14d, %r14d
jle 0x3626
movq 0x1cbf9(%rip), %rax     # 0x201c8
movl %r14d, %ecx
xorl %edx, %edx
movq -0x88(%rbp), %r8
movslq 0x4(%r15,%rdx,4), %rsi
movslq (%r15,%rdx,4), %rdi
subq %rdi, %rsi
addq %rsi, %rax
addq $0x2, %rdx
cmpq %rcx, %rdx
jb 0x35db
movq %rax, 0x1cbce(%rip)     # 0x201c8
jmp 0x362d
xorl %r14d, %r14d
movl $0x8, %edx
xorl %esi, %esi
leaq 0x356(%rip), %rcx       # 0x3963
callq 0x10c0
cmpl $0x0, 0x1cb93(%rip)     # 0x201ac
je 0x36a5
movq 0x1cc72(%rip), %r15     # 0x20298
movq -0x88(%rbp), %r8
movl %r14d, %eax
shrl $0x1f, %eax
addl %r14d, %eax
sarl %eax
cltq
addq %rax, 0x1cb8f(%rip)     # 0x201d0
incq 0x1cb70(%rip)           # 0x201b8
movq 0x1cc19(%rip), %rax     # 0x20268
leaq (%r8,%r8,4), %rcx
movslq 0x4(%rax,%rcx,8), %rax
addq %rax, 0x1cb61(%rip)     # 0x201c0
testl %r14d, %r14d
jle 0x36a5
xorl %ebx, %ebx
movq 0x1cb83(%rip), %rcx     # 0x201f0
movl $0x4, %esi
movl $0x1, %edx
movq %r15, %rdi
callq 0x12a0
leaq 0x4(%r15), %rdi
movq 0x1cb66(%rip), %rcx     # 0x201f0
movl $0x4, %esi
movl $0x1, %edx
callq 0x12a0
addl $0x2, %ebx
addq $0x8, %r15
cmpl %ebx, %r14d
jg 0x3666
movslq %r14d, %rax
shlq $0x2, %rax
addq %rax, 0x1cb45(%rip)     # 0x201f8
movq -0x90(%rbp), %rbx
movl -0x2c(%rbp), %r15d
movq 0x1cb23(%rip), %rcx     # 0x201e8
movl $0x8, %esi
movl $0x1, %edx
leaq 0x1cb22(%rip), %rdi     # 0x201f8
callq 0x12a0
movq -0x80(%rbp), %rcx
incq %rcx
movslq 0x1caf7(%rip), %rax     # 0x201e0
incl -0x5c(%rbp)
cmpq %rax, %rcx
jl 0x2dcf
jmp 0x3704
movl %r14d, -0x2c(%rbp)
jmp 0x2fc1
xorl %eax, %eax
jmp 0x3715
movq 0x1cb6d(%rip), %rdi     # 0x20278
movslq %r15d, %rax
movq -0xb8(%rbp), %r13
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
cmpl $0x7fffffff, 0x24(%rdi,%rax) # imm = 0x7FFFFFFF
jne 0x393d
movq 0x1cab6(%rip), %rdi     # 0x201e8
callq 0x10e0
movq 0x1cab2(%rip), %rdi     # 0x201f0
callq 0x10e0
movq -0x50(%rbp), %rdi
callq 0x10e0
movq %rbx, %rdi
callq 0x1704c
movq %rax, -0x50(%rbp)
testq %rax, %rax
jne 0x2859
movq %rbx, %rdi
callq 0x1712b
movq -0xd0(%rbp), %rcx
incq %rcx
cmpq %r13, %rcx
jne 0x2826
cmpl $0x0, 0x1ca29(%rip)     # 0x201ac
je 0x387d
leaq 0x16ad5(%rip), %rdi     # 0x1a265
xorl %eax, %eax
callq 0x1120
movq 0x1ca1a(%rip), %rdi     # 0x201b8
movq 0x1c833(%rip), %rbx     # 0x1ffd8
movq (%rbx), %rdx
movl $0x7, %esi
callq 0x127ed
leaq 0x16ab8(%rip), %rdi     # 0x1a271
xorl %eax, %eax
callq 0x1120
movq 0x1c9f9(%rip), %rdi     # 0x201c0
movq (%rbx), %rdx
movl $0xc, %esi
callq 0x127ed
leaq 0x16aac(%rip), %rdi     # 0x1a287
xorl %eax, %eax
callq 0x1120
leaq 0x16ab0(%rip), %rdi     # 0x1a299
xorl %eax, %eax
callq 0x1120
movq 0x1c9d9(%rip), %rdi     # 0x201d0
movq (%rbx), %rdx
movl $0x7, %esi
callq 0x127ed
cvtsi2sdq 0x1c9c3(%rip), %xmm0 # 0x201d0
movsd 0x16803(%rip), %xmm1    # 0x1a018
mulsd %xmm1, %xmm0
xorps %xmm1, %xmm1
cvtsi2sdq 0x1c993(%rip), %xmm1 # 0x201b8
divsd %xmm1, %xmm0
leaq 0x16a74(%rip), %rdi     # 0x1a2a4
movb $0x1, %al
callq 0x1120
movq 0x1c98a(%rip), %rdi     # 0x201c8
movq (%rbx), %rdx
movl $0xc, %esi
callq 0x127ed
xorps %xmm0, %xmm0
cvtsi2sdq 0x1c971(%rip), %xmm0 # 0x201c8
mulsd 0x167b9(%rip), %xmm0    # 0x1a018
xorps %xmm1, %xmm1
cvtsi2sdq 0x1c955(%rip), %xmm1 # 0x201c0
divsd %xmm1, %xmm0
leaq 0x16a44(%rip), %rdi     # 0x1a2ba
movb $0x1, %al
callq 0x1120
movq -0x78(%rbp), %rdi
callq 0x1030
movq -0x70(%rbp), %rdi
callq 0x1030
leaq 0x1c972(%rip), %rdi     # 0x20208
callq 0x14402
leaq 0x1ca06(%rip), %rax     # 0x202a8
movq (%rax), %rdi
callq 0x1030
xorl %edi, %edi
callq 0x1290
movq 0x1c740(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c9e6(%rip), %rax     # 0x202a8
movq (%rax), %rdx
leaq 0x167c1(%rip), %rsi     # 0x1a08d
leaq 0x167d8(%rip), %rcx     # 0x1a0ab
movl %r9d, %r8d
xorl %eax, %eax
callq 0x11c0
jmp 0x26af
movq 0x1c70f(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c9b5(%rip), %rax     # 0x202a8
movq (%rax), %rdx
movq -0x58(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x168ac(%rip), %rsi     # 0x1a1b1
xorl %eax, %eax
callq 0x11c0
jmp 0x26af
movq 0x1c6e0(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c986(%rip), %rax     # 0x202a8
movq (%rax), %rdx
leaq 0x168d8(%rip), %rsi     # 0x1a204
xorl %eax, %eax
callq 0x11c0
movl $0x2, %edi
callq 0x1290
movq 0x1c6b4(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c95a(%rip), %rax     # 0x202a8
movq (%rax), %rdx
movl 0x1c881(%rip), %ecx     # 0x201d8
leaq 0x169f1(%rip), %rsi     # 0x1a34f
jmp 0x26a8