// File: /workspace/github_c_makefile_star2_O1/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 $0x4f48, %rsp           # imm = 0x4F48
movq %rsi, -0x30(%rbp)
movl %edi, %r14d
leaq 0x17b0a(%rip), %rdi     # 0x1a038
leaq 0x18941(%rip), %rsi     # 0x1ae76
callq 0x12442
leaq 0x1dd67(%rip), %rcx     # 0x202a8
movq %rax, (%rcx)
leaq -0x4f70(%rbp), %rdi
movl $0x200, %edx            # imm = 0x200
xorl %esi, %esi
callq 0x1150
movl $0xffffffff, 0x1dc47(%rip) # imm = 0xFFFFFFFF
cmpl $0x2, %r14d
jl 0x2665
movl %r14d, %r15d
movl $0x1, %r14d
leaq 0x17ac5(%rip), %rax     # 0x1a040
movq %rax, -0x78(%rbp)
movl $0x1, %ebx
leaq 0x17ab9(%rip), %r12     # 0x1a044
movq -0x30(%rbp), %rsi
movq (%rsi,%rbx,8), %r13
cmpb $0x2d, (%r13)
jne 0x25b6
movzbl 0x1(%r13), %eax
cmpl $0x63, %eax
je 0x25c5
cmpl $0x6e, %eax
jne 0x260e
addq $0x2, %r13
movq %r13, -0x78(%rbp)
jmp 0x2657
movslq %r14d, %rax
incl %r14d
movq %r13, (%rsi,%rax,8)
jmp 0x2657
addq $0x2, %r13
movq %r13, %rdi
leaq -0x98(%rbp), %rsi
movl $0xa, %edx
callq 0x11e0
movq -0x30(%rbp), %rsi
movl %eax, 0x1dbc1(%rip)     # 0x201a8
movq -0x98(%rbp), %rcx
cmpb $0x0, (%rcx)
jne 0x38d4
movq (%rsi,%rbx,8), %rcx
cmpb $0x0, 0x2(%rcx)
je 0x38d4
testl %eax, %eax
jg 0x2657
jmp 0x3905
movb 0x1(%r13), %al
testb %al, %al
je 0x2657
movl %r14d, -0x40(%rbp)
addq $0x2, %r13
movsbl %al, %r14d
movq %r12, %rdi
movl %r14d, %esi
callq 0x1160
testq %rax, %rax
je 0x2716
movslq %r14d, %rax
movl $0x1, -0x4f70(%rbp,%rax,4)
movb (%r13), %al
incq %r13
testb %al, %al
jne 0x261e
movq -0x30(%rbp), %rsi
movl -0x40(%rbp), %r14d
incq %rbx
cmpq %r15, %rbx
jne 0x258f
jmp 0x267a
leaq 0x179d4(%rip), %rax     # 0x1a040
movq %rax, -0x78(%rbp)
movl $0x1, %r14d
movq -0x30(%rbp), %rsi
movl -0x4d98(%rbp), %eax
movl %eax, 0x1db26(%rip)     # 0x201ac
cmpl $0x2, %r14d
jg 0x2740
movq 0x1d961(%rip), %rbx     # 0x1fff8
movq (%rbx), %rdi
leaq 0x1dc07(%rip), %rax     # 0x202a8
movq (%rax), %rdx
leaq 0x17a1a(%rip), %rsi     # 0x1a0c5
leaq 0x17c1a(%rip), %rcx     # 0x1a2cc
xorl %eax, %eax
callq 0x11c0
movq (%rbx), %rsi
movl $0xa, %edi
callq 0x1190
movq (%rbx), %rcx
leaq 0x17a03(%rip), %rdi     # 0x1a0d3
movl $0x36, %esi
movl $0x1, %edx
callq 0x12a0
movq (%rbx), %rcx
leaq 0x17a21(%rip), %rdi     # 0x1a10a
movl $0x3d, %esi
movl $0x1, %edx
callq 0x12a0
movq (%rbx), %rcx
leaq 0x17a46(%rip), %rdi     # 0x1a148
movl $0x35, %esi
movl $0x1, %edx
callq 0x12a0
jmp 0x3931
movq 0x1d8db(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1db81(%rip), %rax     # 0x202a8
movq (%rax), %rdx
leaq 0x17915(%rip), %rsi     # 0x1a046
movl %r14d, %ecx
xorl %eax, %eax
callq 0x11c0
jmp 0x3931
cmpl $0x0, 0x1da61(%rip)     # 0x201a8
jg 0x2770
movq 0x1d8a8(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1db4e(%rip), %rax     # 0x202a8
movq (%rax), %rdx
leaq 0x17a1a(%rip), %rsi     # 0x1a17e
xorl %eax, %eax
callq 0x11c0
jmp 0x3931
movq 0x8(%rsi), %rdi
leaq 0x1da8d(%rip), %rsi     # 0x20208
callq 0x13340
testl %eax, %eax
js 0x3931
cmpl $0x0, 0x1dab1(%rip)     # 0x20240
jne 0x38a8
movl %eax, %r12d
leaq 0x1da69(%rip), %rdi     # 0x20208
callq 0x13b05
movq 0x1dabd(%rip), %rax     # 0x20268
movq %rax, 0x1d9fe(%rip)     # 0x201b0
cmpl $0x0, 0x1d9f3(%rip)     # 0x201ac
je 0x2832
xorl %eax, %eax
movq %rax, 0x1d9f4(%rip)     # 0x201b8
movq %rax, 0x1d9f5(%rip)     # 0x201c0
movq %rax, 0x1d9f6(%rip)     # 0x201c8
movq %rax, 0x1d9f7(%rip)     # 0x201d0
movl 0x1d9c9(%rip), %esi     # 0x201a8
movq -0x30(%rbp), %r13
movq 0x8(%r13), %rcx
leaq 0x179e8(%rip), %rdi     # 0x1a1d6
movq -0x78(%rbp), %rdx
xorl %eax, %eax
callq 0x1120
movl %r14d, -0x40(%rbp)
movl %r14d, %ebx
movl $0x2, %r15d
leaq 0x179db(%rip), %r14     # 0x1a1e8
movq (%r13,%r15,8), %rsi
movq %r14, %rdi
xorl %eax, %eax
callq 0x1120
incq %r15
cmpq %r15, %rbx
jne 0x280d
movl $0xa, %edi
callq 0x1040
movl -0x40(%rbp), %r14d
movq -0x30(%rbp), %rbx
movq 0x8(%rbx), %rdi
callq 0x124fe
movq %rax, -0x70(%rbp)
testl %r12d, %r12d
movq 0x8(%rbx), %rdi
leaq 0x179a0(%rip), %rax     # 0x1a1f1
leaq 0x17994(%rip), %rsi     # 0x1a1ec
cmoveq %rax, %rsi
movq %rsi, -0xb0(%rbp)
callq 0x12558
movq %rax, -0x68(%rbp)
cmpl $0x4, %r14d
movl $0x3, %eax
cmovgel %r14d, %eax
movq %rax, -0xa0(%rbp)
movl $0x2, %ecx
movq -0x30(%rbp), %rax
movq %rcx, -0xa8(%rbp)
movq (%rax,%rcx,8), %rdi
callq 0x16d87
movq %rax, %rbx
movq %rax, %rdi
callq 0x16bba
movq %rax, -0x38(%rbp)
testq %rax, %rax
je 0x3754
movq %rbx, -0x50(%rbp)
xorl %eax, %eax
movl %eax, 0x1d91b(%rip)     # 0x201d8
movl %eax, 0x1d919(%rip)     # 0x201dc
movl 0x1d96f(%rip), %eax     # 0x20238
movl %eax, 0x1d911(%rip)     # 0x201e0
movq %rbx, %rdi
callq 0x16c6e
movq %rax, %rdi
movl $0x2e, %esi
callq 0x1270
testq %rax, %rax
je 0x2a58
movq %rax, %r14
incq %r14
movq %r14, %rdi
leaq -0x80(%rbp), %rsi
movl $0xa, %edx
callq 0x11e0
movq %rax, %r15
movq -0x80(%rbp), %rax
cmpq %r14, %rax
je 0x2a58
cmpb $0x0, (%rax)
jne 0x2a58
movq -0x70(%rbp), %rdi
leaq 0x178cd(%rip), %rsi     # 0x1a1f5
movq -0x68(%rbp), %rdx
movq -0xb0(%rbp), %rcx
callq 0x1261d
movq %rax, %rdi
leaq 0x1892b(%rip), %rsi     # 0x1b26d
callq 0x124a1
testq %rax, %rax
je 0x3931
movq %rax, %r13
movq %rax, %rdi
leaq 0x1789a(%rip), %rsi     # 0x1a1f7
leaq -0x60(%rbp), %rdx
xorl %eax, %eax
callq 0x10a0
cmpl $0x1, %eax
jne 0x393b
cmpl $0x0, -0x60(%rbp)
jle 0x299d
xorl %ebx, %ebx
leaq -0x4f70(%rbp), %rdi
movl $0x4e84, %esi           # imm = 0x4E84
movq %r13, %rdx
callq 0x11a0
testq %rax, %rax
je 0x393b
incl %ebx
cmpl -0x60(%rbp), %ebx
jl 0x2979
movq %r13, %rdi
leaq 0x1787d(%rip), %rsi     # 0x1a224
leaq -0xdc(%rbp), %rdx
xorl %eax, %eax
callq 0x10a0
cmpl $0x1, %eax
jne 0x393b
movq %r13, %rdi
leaq 0x1786a(%rip), %rsi     # 0x1a232
leaq -0xe8(%rbp), %rdx
leaq -0xd8(%rbp), %rcx
leaq -0xd4(%rbp), %r8
xorl %eax, %eax
callq 0x10a0
cmpl $0x3, %eax
jne 0x393b
movl %r15d, %ebx
testl %r15d, %r15d
jle 0x2a21
movq %r13, %rdi
leaq 0x17859(%rip), %rsi     # 0x1a258
leaq -0x88(%rbp), %rdx
leaq 0x1d7cf(%rip), %rcx     # 0x201dc
xorl %eax, %eax
callq 0x10a0
cmpl $0x2, %eax
jne 0x393b
decl %ebx
jne 0x29f5
movq %r13, %rdi
leaq 0x1782d(%rip), %rsi     # 0x1a258
leaq -0x88(%rbp), %rdx
leaq 0x1d7a7(%rip), %rcx     # 0x201e0
xorl %eax, %eax
callq 0x10a0
cmpl $0x2, %eax
jne 0x393b
movq %r13, %rdi
callq 0x10e0
movl %r15d, 0x1d780(%rip)    # 0x201d8
movq -0x78(%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 0x1786d(%rip), %r14     # 0x1a306
movq %r14, %rdi
movq %rbx, %rsi
movq %r14, %rdx
leaq 0x182d7(%rip), %rcx     # 0x1ad80
callq 0x1261d
movq %r13, %rdi
movq %rax, %rsi
callq 0x1080
movq %r14, %rdi
movq %rbx, %rsi
movq %r14, %rdx
leaq 0x1832f(%rip), %rcx     # 0x1adf8
callq 0x1261d
movq %r15, %rdi
movq %rax, %rsi
callq 0x1080
movl 0x1d6f9(%rip), %esi     # 0x201d8
testl %esi, %esi
jle 0x2b47
movq %r14, %rdi
movq %r13, %rdx
callq 0x1270d
movq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x17766(%rip), %rsi     # 0x1a262
movq -0x68(%rbp), %r12
movq %r12, %rdx
movq %rax, %rcx
callq 0x1261d
movq %rax, %rdi
leaq 0x18172(%rip), %r13     # 0x1ac87
movq %r13, %rsi
callq 0x124a1
movq %rax, 0x1d6c4(%rip)     # 0x201e8
movl 0x1d6ae(%rip), %esi     # 0x201d8
movq %r14, %rdi
movq %r15, %rdx
callq 0x1270d
movq %rbx, %rdi
leaq 0x17723(%rip), %rsi     # 0x1a262
movq %r12, %rdx
movq %rax, %rcx
jmp 0x2b8c
movq -0x70(%rbp), %rbx
movq %rbx, %rdi
leaq 0x1770d(%rip), %r14     # 0x1a262
movq %r14, %rsi
movq -0x68(%rbp), %r12
movq %r12, %rdx
movq %r13, %rcx
callq 0x1261d
movq %rax, %rdi
leaq 0x18116(%rip), %r13     # 0x1ac87
movq %r13, %rsi
callq 0x124a1
movq %rax, 0x1d668(%rip)     # 0x201e8
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %r15, %rcx
callq 0x1261d
movq %rax, %rdi
movq %r13, %rsi
callq 0x124a1
movq %rax, 0x1d64d(%rip)     # 0x201f0
movq 0x1d63e(%rip), %rcx     # 0x201e8
testq %rcx, %rcx
movq -0x50(%rbp), %rbx
je 0x3931
testq %rax, %rax
je 0x3931
movl 0x1d61a(%rip), %eax     # 0x201e0
subl 0x1d610(%rip), %eax     # 0x201dc
movl %eax, -0x4f70(%rbp)
movl $0x0, -0x80(%rbp)
movl $0x4, %esi
movl $0x1, %edx
leaq -0x4f70(%rbp), %rdi
callq 0x12a0
movq 0x1d5f2(%rip), %rcx     # 0x201e8
movl $0x4, %esi
movl $0x1, %edx
leaq -0x80(%rbp), %rdi
callq 0x12a0
movq $0x0, 0x1d5e4(%rip) # 0x201f8
movq 0x1d5cd(%rip), %rcx     # 0x201e8
movl $0x8, %esi
movl $0x1, %edx
leaq 0x1d5cc(%rip), %rdi     # 0x201f8
callq 0x12a0
movq -0x40(%rbp), %rsp
movl $0x8, %esi
movl $0x1, %edx
leaq -0x98(%rbp), %rdi
movq -0x38(%rbp), %r14
movq %r14, %rcx
callq 0x10d0
movl $0x4, %esi
movl $0x1, %edx
leaq 0x1d59d(%rip), %rdi     # 0x20200
movq %r14, %rcx
callq 0x10d0
cmpq $0x0, 0x1d605(%rip)     # 0x20278
jne 0x2ca0
movslq 0x1d4fc(%rip), %rax     # 0x20178
shlq $0x4, %rax
leaq (%rax,%rax,2), %rdi
leaq 0x1767d(%rip), %rsi     # 0x1a308
callq 0x12385
movq %rax, 0x1d5e1(%rip)     # 0x20278
testq %rax, %rax
je 0x3931
cmpq $0x0, 0x1d5d8(%rip)     # 0x20280
jne 0x2cd0
movslq 0x1d4cb(%rip), %rdi     # 0x2017c
addq %rdi, %rdi
leaq 0x17667(%rip), %rsi     # 0x1a322
callq 0x12385
movq %rax, 0x1d5b9(%rip)     # 0x20280
testq %rax, %rax
je 0x3931
movq -0x38(%rbp), %r14
movq %r14, %rdi
callq 0x1130
movl $0x8, %esi
movl $0x1, %edx
leaq -0x4f70(%rbp), %rdi
movq %r14, %rcx
callq 0x10d0
movl $0x4, %esi
movl $0x1, %edx
leaq 0x1d4fa(%rip), %rdi     # 0x20200
movq %r14, %rcx
callq 0x10d0
xorl %eax, %eax
cmpl $0x7e, 0x1d4e9(%rip)    # 0x20200
setge %al
incl %eax
movl %eax, 0x1d566(%rip)     # 0x20288
movq 0x1d54f(%rip), %rsi     # 0x20278
movq %r14, %rdi
callq 0x97e8
movq 0x1d540(%rip), %rcx     # 0x20278
testl %eax, %eax
je 0x2d48
movl $0x7fffffff, 0x24(%rcx) # imm = 0x7FFFFFFF
jmp 0x2dda
movl 0x8(%rcx), %eax
cmpl 0x1d42b(%rip), %eax     # 0x2017c
jle 0x2d9a
cvtsi2sd %eax, %xmm0
mulsd 0x172a9(%rip), %xmm0    # 0x1a008
addsd 0x172a9(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %eax
movl %eax, 0x1d40b(%rip)     # 0x2017c
movq 0x1d508(%rip), %rdi     # 0x20280
movslq %eax, %rsi
addq %rsi, %rsi
leaq 0x175b4(%rip), %rdx     # 0x1a339
callq 0x123dd
movq %rax, 0x1d4ef(%rip)     # 0x20280
testq %rax, %rax
je 0x3931
movq 0x1d4df(%rip), %rdi     # 0x20280
movl 0x1d4e1(%rip), %esi     # 0x20288
movq 0x1d4ca(%rip), %rax     # 0x20278
movslq 0x8(%rax), %rdx
movq -0x38(%rbp), %rcx
callq 0x10d0
cmpl $0x1, 0x1d4c6(%rip)     # 0x20288
jne 0x2dda
movq 0x1d4b5(%rip), %rax     # 0x20280
movq 0x1d4a6(%rip), %rdi     # 0x20278
movq %rax, (%rdi)
callq 0x98f3
movq 0x1d497(%rip), %rax     # 0x20278
movslq 0x1d3f4(%rip), %rcx     # 0x201dc
cmpl %ecx, 0x24(%rax)
jl 0x3967
cmpl 0x1d3e9(%rip), %ecx     # 0x201e0
jge 0x36fb
leal -0x1(%rcx), %eax
movl %eax, -0x54(%rbp)
xorl %r8d, %r8d
xorl %eax, %eax
movq %rcx, -0x90(%rbp)
movq 0x1d462(%rip), %r15     # 0x20278
cltq
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
movupd (%r15,%rax), %xmm0
movupd 0x10(%r15,%rax), %xmm1
movups 0x20(%r15,%rax), %xmm2
movups %xmm2, 0x20(%r15)
movupd %xmm1, 0x10(%r15)
movupd %xmm0, (%r15)
movslq 0x24(%r15), %r13
cmpq %r13, %rcx
jne 0x2e8e
movq 0x1d42d(%rip), %rdi     # 0x20280
movslq %r8d, %rax
leaq (%rdi,%rax,2), %rsi
movslq 0x8(%r15), %rdx
addq %rdx, %rdx
callq 0x1240
movl 0x8(%r15), %ebx
addq $0x30, %r15
movq -0x38(%rbp), %rdi
movq %r15, %rsi
callq 0x97e8
movl $0x1, %r14d
testl %eax, %eax
je 0x2e99
movl $0x1, %esi
jmp 0x2fda
xorl %esi, %esi
movq -0x50(%rbp), %rbx
jmp 0x3021
movl $0x30, %r15d
movq 0x1d3d2(%rip), %rax     # 0x20278
movl 0x8(%rax,%r15), %eax
addl %ebx, %eax
cmpl 0x1d2c9(%rip), %eax     # 0x2017c
jle 0x2eff
xorps %xmm0, %xmm0
cvtsi2sd %eax, %xmm0
mulsd 0x17144(%rip), %xmm0    # 0x1a008
addsd 0x17144(%rip), %xmm0    # 0x1a010
cvttsd2si %xmm0, %eax
movl %eax, 0x1d2a6(%rip)     # 0x2017c
movq 0x1d3a3(%rip), %rdi     # 0x20280
movslq %eax, %rsi
addq %rsi, %rsi
leaq 0x1744f(%rip), %rdx     # 0x1a339
callq 0x123dd
movq %rax, 0x1d38a(%rip)     # 0x20280
testq %rax, %rax
je 0x3931
movslq %ebx, %r12
addq %r12, %r12
movq 0x1d374(%rip), %rdi     # 0x20280
addq %r12, %rdi
movl 0x1d373(%rip), %esi     # 0x20288
movq 0x1d35c(%rip), %rax     # 0x20278
movslq 0x8(%rax,%r15), %rdx
movq -0x38(%rbp), %rcx
callq 0x10d0
cmpl $0x1, 0x1d357(%rip)     # 0x20288
jne 0x2f4d
addq 0x1d346(%rip), %r12     # 0x20280
movq 0x1d337(%rip), %rdi     # 0x20278
movq %r12, (%rdi,%r15)
addq %r15, %rdi
callq 0x98f3
movq 0x1d324(%rip), %rdi     # 0x20278
cmpl %r13d, 0x24(%rdi,%r15)
jne 0x36f3
addl 0x8(%rdi,%r15), %ebx
incq %r14
cmpl %r14d, 0x1d20a(%rip)    # 0x20178
jg 0x2fb8
xorps %xmm0, %xmm0
cvtsi2sd %r14d, %xmm0
mulsd 0x17088(%rip), %xmm0    # 0x1a008
addsd 0x17090(%rip), %xmm0    # 0x1a018
cvttsd2si %xmm0, %eax
movl %eax, 0x1d1e6(%rip)     # 0x20178
cltq
shlq $0x4, %rax
leaq (%rax,%rax,2), %rsi
leaq 0x173f0(%rip), %rdx     # 0x1a393
callq 0x123dd
movq %rax, 0x1d2c9(%rip)     # 0x20278
testq %rax, %rax
je 0x3931
addq $0x30, %r15
movq 0x1d2b5(%rip), %rsi     # 0x20278
addq %r15, %rsi
movq -0x38(%rbp), %rdi
callq 0x97e8
testl %eax, %eax
je 0x2e9f
movl %r14d, %esi
movq 0x1d297(%rip), %rax     # 0x20278
leaq (%r14,%r14,2), %rcx
shlq $0x4, %rcx
movl $0x7fffffff, 0x24(%rax,%rcx) # imm = 0x7FFFFFFF
movq -0x50(%rbp), %rbx
movq 0x1d284(%rip), %rax     # 0x20280
movq 0x1d275(%rip), %rcx     # 0x20278
addq $0x8, %rcx
xorl %r8d, %r8d
movslq %r8d, %r8
leaq (%rax,%r8,2), %rdx
movq %rdx, -0x8(%rcx)
addl (%rcx), %r8d
addq $0x30, %rcx
decq %r14
jne 0x300a
movq %r8, -0xc0(%rbp)
movl %esi, -0x44(%rbp)
testl %esi, %esi
jle 0x36ad
movq 0x1d23e(%rip), %r15     # 0x20278
xorl %r13d, %r13d
cmpl $0x1, -0x44(%rbp)
movsd 0x16fd7(%rip), %xmm3    # 0x1a020
movsd 0x16fd7(%rip), %xmm4    # 0x1a028
jne 0x30e6
movq -0x90(%rbp), %rdi
movslq %edi, %rax
leaq (,%rax,8), %rcx
leaq (%rcx,%rcx,4), %rsi
incq %rax
movslq 0x1d1c1(%rip), %rcx     # 0x20238
movslq %edi, %r8
movq %r8, -0xb8(%rbp)
leal 0x1(%r8), %edx
cmpl %edx, %ecx
cmovgl %ecx, %edx
movq 0x1d11f(%rip), %r9      # 0x201b0
decl %edx
addq %r9, %rsi
addq $0x48, %rsi
movl -0x54(%rbp), %r10d
cmpq %rcx, %rax
jge 0x30b5
incl %r10d
incq %rax
testb $0x4, 0x1(%rsi)
leaq 0x28(%rsi), %rsi
jne 0x309e
jmp 0x30b8
movl %edx, %r10d
testq %rdi, %rdi
js 0x31e9
movl %edi, %eax
leaq (%rax,%rax,4), %rax
testb $0x4, 0x21(%r9,%rax,8)
je 0x31e9
leal -0x1(%rdi), %eax
testl %edi, %edi
movl %eax, %edi
jg 0x30c1
movl $0xffffffff, %edi       # imm = 0xFFFFFFFF
jmp 0x31e9
movl -0x44(%rbp), %eax
xorl %r13d, %r13d
movl $0x1, %ecx
leaq (%rcx,%rcx,2), %rsi
shlq $0x4, %rsi
leaq (%r15,%rsi), %rdx
testl %r13d, %r13d
js 0x318e
movl 0x28(%r15,%rsi), %edi
movl %r13d, %r8d
movl %r8d, %esi
leaq (%rsi,%rsi,2), %rsi
shlq $0x4, %rsi
cmpl 0x28(%r15,%rsi), %edi
jne 0x318e
addq %r15, %rsi
movl 0x20(%rsi), %r9d
xorl 0x20(%rdx), %r9d
testb $0x1, %r9b
jne 0x318e
movl 0x18(%rsi), %r10d
movl 0x10(%rdx), %r9d
leal 0x12c(%r9), %r11d
cmpl %r11d, %r10d
jge 0x3182
subl %r10d, %r9d
movl 0x14(%rdx), %ebx
movl 0x1c(%rsi), %r11d
subl %r11d, %ebx
movl %r9d, %r14d
subl %ebx, %r14d
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
addl %r9d, %ebx
xorps %xmm1, %xmm1
cvtsi2sd %ebx, %xmm1
mulsd %xmm3, %xmm1
addsd %xmm4, %xmm1
ucomisd %xmm0, %xmm1
ja 0x31cd
leal -0x1(%r8), %esi
testl %r8d, %r8d
movl %esi, %r8d
jg 0x310e
incl %r13d
movslq %r13d, %rsi
leaq (%rsi,%rsi,2), %rsi
shlq $0x4, %rsi
movupd (%rdx), %xmm0
movupd 0x10(%rdx), %xmm1
movups 0x20(%rdx), %xmm2
movups %xmm2, 0x20(%r15,%rsi)
movupd %xmm1, 0x10(%r15,%rsi)
movupd %xmm0, (%r15,%rsi)
incq %rcx
cmpq %rax, %rcx
jne 0x30f1
jmp 0x3057
movl 0x18(%rdx), %edi
cmpl %r10d, %edi
jle 0x31d8
movl %edi, 0x18(%rsi)
movl 0x1c(%rdx), %edx
cmpl %r11d, %edx
jle 0x31e3
movl %edx, 0x1c(%rsi)
addl %r9d, 0x8(%rsi)
jmp 0x31bc
testl %r13d, %r13d
js 0x336e
movl %r13d, %r8d
addq $0x48, %r9
movq %r9, -0xc8(%rbp)
xorl %r12d, %r12d
movq %rdi, -0xd0(%rbp)
movl %edi, %eax
xorl %esi, %esi
movl %r13d, -0x5c(%rbp)
movl %r10d, -0x58(%rbp)
movslq %esi, %r14
leaq (%r14,%r14,2), %r11
shlq $0x4, %r11
movl 0x28(%r15,%r11), %edx
cmpl %edx, -0xd0(%rbp)
jg 0x323d
cmpl %r10d, %edx
jg 0x323d
incl %eax
movl %eax, %r14d
jmp 0x335d
movl %r12d, -0x84(%rbp)
movslq %edx, %rdi
leal 0x1(%rdx), %r12d
cmpl %r12d, %ecx
cmovgl %ecx, %r12d
decl %r12d
leal -0x1(%rdx), %eax
leaq (%rdi,%rdi,4), %r13
movq %rcx, %r10
movq -0xc8(%rbp), %rcx
leaq (%rcx,%r13,8), %r13
movq %r10, %rcx
incq %rdi
cmpq %rcx, %rdi
jge 0x3287
incl %eax
incq %rdi
testb $0x4, 0x1(%r13)
leaq 0x28(%r13), %r13
jne 0x3270
jmp 0x328a
movl %r12d, %eax
xorl %edi, %edi
cmpl %eax, %edx
jle 0x329d
movl %esi, %r14d
movl -0x5c(%rbp), %r13d
movl -0x58(%rbp), %r10d
jmp 0x32f7
addq %r15, %r11
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
xorl %esi, %esi
movl -0x5c(%rbp), %r13d
movl -0x58(%rbp), %r10d
cmpq %r8, %r14
jg 0x32bc
movl 0x28(%r11), %edx
movq %r11, %rbx
cmpq %r8, %r14
jg 0x32c6
cmpl %r12d, %edx
je 0x32d6
cmpl %esi, %edi
cmovgl %edi, %esi
cmovgl -0x40(%rbp), %r9d
xorl %edi, %edi
movl %r14d, -0x40(%rbp)
cmpq %r8, %r14
jg 0x32f1
cmpl %eax, %edx
jg 0x32f1
addl 0x18(%rbx), %edi
subl 0x10(%rbx), %edi
incq %r14
addq $0x30, %r11
movl %edx, %r12d
jmp 0x32b0
testl %esi, %esi
setg %dil
testb %dil, %dil
movl -0x84(%rbp), %r12d
je 0x335d
cmpl %r14d, %r9d
jge 0x335d
movslq %r9d, %rdi
leaq (%rdi,%rdi,2), %rax
shlq $0x4, %rax
movl 0x28(%r15,%rax), %edx
movslq %r14d, %rsi
subq %rdi, %rsi
addq %r15, %rax
cmpl %edx, 0x28(%rax)
jne 0x3354
movslq %r12d, %rdi
incl %r12d
leaq (%rdi,%rdi,2), %rdi
shlq $0x4, %rdi
movupd (%rax), %xmm0
movupd 0x10(%rax), %xmm1
movups 0x20(%rax), %xmm2
movups %xmm2, 0x20(%r15,%rdi)
movupd %xmm1, 0x10(%r15,%rdi)
movupd %xmm0, (%r15,%rdi)
addq $0x30, %rax
decq %rsi
jne 0x3321
movl %r14d, %eax
movl %r14d, %esi
cmpl %r13d, %r14d
jle 0x3216
jmp 0x3371
xorl %r12d, %r12d
cmpl %r12d, 0x1cf14(%rip)    # 0x2028c
jge 0x33f4
xorps %xmm0, %xmm0
cvtsi2sd %r12d, %xmm0
mulsd 0x16c7e(%rip), %xmm0    # 0x1a008
addsd 0x16c9e(%rip), %xmm0    # 0x1a030
cvttsd2si %xmm0, %eax
movl %eax, 0x1cef0(%rip)     # 0x2028c
movq 0x1ceed(%rip), %rdi     # 0x20290
movslq %eax, %rsi
shlq $0x4, %rsi
leaq 0x16ffb(%rip), %rdx     # 0x1a3ac
callq 0x123dd
movq %rax, 0x1ced3(%rip)     # 0x20290
movq 0x1ced4(%rip), %rdi     # 0x20298
movslq 0x1cec1(%rip), %rsi     # 0x2028c
shlq $0x4, %rsi
leaq 0x16ff0(%rip), %rdx     # 0x1a3c6
callq 0x123dd
movq %rax, 0x1ceb6(%rip)     # 0x20298
movslq 0x1cea3(%rip), %rcx     # 0x2028c
leaq (%rax,%rcx,8), %rax
movq %rax, 0x1ceac(%rip)     # 0x202a0
xorl %r14d, %r14d
movl $0x0, %ebx
testl %r12d, %r12d
jle 0x3460
movq 0x1ce88(%rip), %rax     # 0x20290
movl %r12d, %ecx
addq %rcx, %rcx
addq $0x18, %r15
xorl %ebx, %ebx
movl -0x8(%r15), %edi
movl (%r15), %esi
leal 0x12c(%rdi), %edx
leal -0x12c(%rsi), %r8d
cmpl %edx, %r8d
jge 0x343b
addl %edi, %esi
movl %esi, %edx
shrl $0x1f, %edx
addl %esi, %edx
sarl %edx
movl %edx, %r8d
movl $0x1, (%rax,%rbx,8)
movl %edx, 0x4(%rax,%rbx,8)
movl $0x0, 0x8(%rax,%rbx,8)
movl %r8d, 0xc(%rax,%rbx,8)
addq $0x2, %rbx
addq $0x30, %r15
cmpq %rbx, %rcx
jne 0x3414
movq 0x1ce29(%rip), %rdi     # 0x20290
movl %ebx, %r15d
movl $0x8, %edx
movq %r15, %rsi
leaq 0x514(%rip), %rcx       # 0x398d
callq 0x10c0
testl %ebx, %ebx
je 0x3521
movq 0x1ce03(%rip), %rax     # 0x20290
movl 0x1cd15(%rip), %ecx     # 0x201a8
movq 0x1cdfe(%rip), %rdx     # 0x20298
xorl %esi, %esi
movq 0x1cdfd(%rip), %rdi     # 0x202a0
xorl %r9d, %r9d
xorl %r8d, %r8d
xorl %r11d, %r11d
xorl %r14d, %r14d
cmpl $0x0, (%rax,%rsi,8)
je 0x34e7
leal 0x1(%r11), %r10d
cmpl %r9d, %r11d
cmovgel %r10d, %r9d
cmpl %ecx, %r10d
jne 0x3516
movl 0x4(%rax,%rsi,8), %r9d
movl $0xfffffed4, %r11d      # imm = 0xFFFFFED4
addl %r11d, %r9d
movslq %r14d, %r11
movl %r9d, (%rdx,%r11,4)
leal 0x1(%r11), %r14d
movl %r8d, (%rdi,%r11,4)
movl %ecx, %r9d
jmp 0x3516
cmpl %ecx, %r11d
jne 0x350b
movl 0x4(%rax,%rsi,8), %r8d
movl $0x12c, %r10d           # imm = 0x12C
addl %r10d, %r8d
movslq %r14d, %r10
movl %r8d, (%rdx,%r10,4)
incl %r14d
movl %r9d, (%rdi,%r10,4)
movl %ecx, %r8d
leal -0x1(%r11), %r10d
cmpl %r8d, %r11d
cmovlel %r10d, %r8d
incq %rsi
movl %r10d, %r11d
cmpq %rsi, %r15
jne 0x34af
movl $0x2, %r13d
cmpl $0x3, %r14d
jl 0x35d5
movq 0x1cd68(%rip), %rax     # 0x202a0
movq 0x1cd59(%rip), %rcx     # 0x20298
movl %r14d, %edx
movl $0x2, %r13d
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
cmpl $0x4, %r8d
jl 0x357f
movl -0x4(%rcx,%rsi,4), %edi
cmpl $0x9, %r8d
jg 0x359f
movl -0x8(%rcx,%rsi,4), %r8d
subl %edi, %r8d
cmpl $0x15, %r8d
jl 0x359f
movl (%rcx,%rsi,4), %r8d
movslq %r13d, %rdi
movl %r8d, -0x4(%rcx,%rdi,4)
movl (%rax,%rsi,4), %r8d
cmpl -0x4(%rax,%rdi,4), %r8d
jle 0x35c2
decq %rdi
movl %r8d, (%rax,%rdi,4)
jmp 0x35c2
movslq %r13d, %r13
movl %edi, (%rcx,%r13,4)
movl (%rcx,%rsi,4), %edi
movl %edi, 0x4(%rcx,%r13,4)
movl -0x4(%rax,%rsi,4), %edi
movl %edi, (%rax,%r13,4)
movl (%rax,%rsi,4), %edi
movl %edi, 0x4(%rax,%r13,4)
addl $0x2, %r13d
leaq 0x2(%rsi), %rdi
incq %rsi
cmpq %rdx, %rsi
movq %rdi, %rsi
jb 0x354d
testl %r14d, %r14d
cmovlel %r14d, %r13d
movq 0x1ccb5(%rip), %r15     # 0x20298
cmpl $0x0, 0x1cbc2(%rip)     # 0x201ac
je 0x3655
testl %r13d, %r13d
jle 0x361c
movq 0x1cbd0(%rip), %rax     # 0x201c8
movl %r13d, %ecx
xorl %edx, %edx
movslq 0x4(%r15,%rdx,4), %rsi
movslq (%r15,%rdx,4), %rdi
subq %rdi, %rsi
addq %rsi, %rax
addq $0x2, %rdx
cmpq %rcx, %rdx
jb 0x35fd
movq %rax, 0x1cbac(%rip)     # 0x201c8
movl %r13d, %eax
shrl $0x1f, %eax
addl %r13d, %eax
sarl %eax
cltq
addq %rax, 0x1cba0(%rip)     # 0x201d0
incq 0x1cb81(%rip)           # 0x201b8
movq 0x1cc2a(%rip), %rax     # 0x20268
movq -0xb8(%rbp), %rcx
leaq (%rcx,%rcx,4), %rcx
movslq 0x4(%rax,%rcx,8), %rax
addq %rax, 0x1cb6b(%rip)     # 0x201c0
testl %r13d, %r13d
jle 0x369b
xorl %ebx, %ebx
movq 0x1cb8d(%rip), %rcx     # 0x201f0
movl $0x4, %esi
movl $0x1, %edx
movq %r15, %rdi
callq 0x12a0
leaq 0x4(%r15), %rdi
movq 0x1cb70(%rip), %rcx     # 0x201f0
movl $0x4, %esi
movl $0x1, %edx
callq 0x12a0
addl $0x2, %ebx
addq $0x8, %r15
cmpl %ebx, %r13d
jg 0x365c
movslq %r13d, %rax
shlq $0x2, %rax
addq %rax, 0x1cb4f(%rip)     # 0x201f8
movq -0x50(%rbp), %rbx
movq 0x1cb34(%rip), %rcx     # 0x201e8
movl $0x8, %esi
movl $0x1, %edx
leaq 0x1cb33(%rip), %rdi     # 0x201f8
callq 0x12a0
movq -0x90(%rbp), %rcx
incq %rcx
movslq 0x1cb05(%rip), %rax     # 0x201e0
incl -0x54(%rbp)
cmpq %rax, %rcx
movl -0x44(%rbp), %eax
movq -0xc0(%rbp), %r8
jl 0x2e08
jmp 0x36ff
movl %r14d, %esi
jmp 0x2ff1
xorl %eax, %eax
jmp 0x3701
cltq
movq 0x1cb70(%rip), %rcx     # 0x20278
leaq (%rax,%rax,2), %rax
shlq $0x4, %rax
cmpl $0x7fffffff, 0x24(%rcx,%rax) # imm = 0x7FFFFFFF
jne 0x3967
movq 0x1cac3(%rip), %rdi     # 0x201e8
callq 0x10e0
movq 0x1cabf(%rip), %rdi     # 0x201f0
callq 0x10e0
movq -0x38(%rbp), %rdi
callq 0x10e0
movq %rbx, %rdi
callq 0x16bba
movq %rax, -0x38(%rbp)
testq %rax, %rax
jne 0x28b5
movq %rbx, %rdi
callq 0x16c99
movq -0xa8(%rbp), %rcx
incq %rcx
cmpq -0xa0(%rbp), %rcx
jne 0x2885
cmpl $0x0, 0x1ca32(%rip)     # 0x201ac
je 0x3874
leaq 0x16ade(%rip), %rdi     # 0x1a265
xorl %eax, %eax
callq 0x1120
movq 0x1ca23(%rip), %rdi     # 0x201b8
movq 0x1c83c(%rip), %rbx     # 0x1ffd8
movq (%rbx), %rdx
movl $0x7, %esi
callq 0x127c0
leaq 0x16ac1(%rip), %rdi     # 0x1a271
xorl %eax, %eax
callq 0x1120
movq 0x1ca02(%rip), %rdi     # 0x201c0
movq (%rbx), %rdx
movl $0xc, %esi
callq 0x127c0
leaq 0x16ab5(%rip), %rdi     # 0x1a287
xorl %eax, %eax
callq 0x1120
leaq 0x16ab9(%rip), %rdi     # 0x1a299
xorl %eax, %eax
callq 0x1120
movq 0x1c9e2(%rip), %rdi     # 0x201d0
movq (%rbx), %rdx
movl $0x7, %esi
callq 0x127c0
cvtsi2sdq 0x1c9cc(%rip), %xmm0 # 0x201d0
movsd 0x1680c(%rip), %xmm1    # 0x1a018
mulsd %xmm1, %xmm0
xorps %xmm1, %xmm1
cvtsi2sdq 0x1c99c(%rip), %xmm1 # 0x201b8
divsd %xmm1, %xmm0
leaq 0x16a7d(%rip), %rdi     # 0x1a2a4
movb $0x1, %al
callq 0x1120
movq 0x1c993(%rip), %rdi     # 0x201c8
movq (%rbx), %rdx
movl $0xc, %esi
callq 0x127c0
xorps %xmm0, %xmm0
cvtsi2sdq 0x1c97a(%rip), %xmm0 # 0x201c8
mulsd 0x167c2(%rip), %xmm0    # 0x1a018
xorps %xmm1, %xmm1
cvtsi2sdq 0x1c95e(%rip), %xmm1 # 0x201c0
divsd %xmm1, %xmm0
leaq 0x16a4d(%rip), %rdi     # 0x1a2ba
movb $0x1, %al
callq 0x1120
movq -0x70(%rbp), %rdi
callq 0x1030
movq -0x68(%rbp), %rdi
callq 0x1030
leaq 0x1c97b(%rip), %rdi     # 0x20208
callq 0x14318
leaq 0x1ca0f(%rip), %rax     # 0x202a8
movq (%rax), %rdi
callq 0x1030
xorl %edi, %edi
callq 0x1290
movq 0x1c749(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c9ef(%rip), %rax     # 0x202a8
movq (%rax), %rdx
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0x168e6(%rip), %rsi     # 0x1a1b1
xorl %eax, %eax
callq 0x11c0
jmp 0x3931
movq 0x1c71d(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c9c3(%rip), %rax     # 0x202a8
movq (%rax), %rdx
movq (%rsi,%rbx,8), %r8
movsbl 0x1(%r8), %ecx
addq $0x2, %r8
leaq 0x16768(%rip), %rsi     # 0x1a064
xorl %eax, %eax
callq 0x11c0
jmp 0x3931
movq 0x1c6ec(%rip), %rcx     # 0x1fff8
movq (%rcx), %rdi
leaq 0x1c992(%rip), %rcx     # 0x202a8
movq (%rcx), %rdx
leaq 0x1676d(%rip), %rsi     # 0x1a08d
leaq 0x16784(%rip), %rcx     # 0x1a0ab
movl %eax, %r8d
xorl %eax, %eax
callq 0x11c0
movl $0x1, %edi
callq 0x1290
movq 0x1c6b6(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c95c(%rip), %rax     # 0x202a8
movq (%rax), %rdx
leaq 0x168ae(%rip), %rsi     # 0x1a204
xorl %eax, %eax
callq 0x11c0
movl $0x2, %edi
callq 0x1290
movq 0x1c68a(%rip), %rax     # 0x1fff8
movq (%rax), %rdi
leaq 0x1c930(%rip), %rax     # 0x202a8
movq (%rax), %rdx
movl 0x1c857(%rip), %ecx     # 0x201d8
leaq 0x169c7(%rip), %rsi     # 0x1a34f
jmp 0x2734