// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]vlink/t_amigahunk.c
// Function: readconv
static void readconv(struct GlobalVars *gv,struct LinkFile *lf)
/* Read AmigaDOS/EHF hunks and symbols */
{
  struct HunkInfo hi;
  uint32_t w;
  struct ObjectUnit *u=NULL;
  struct Section *s=NULL;
  char *secname=NULL;
  uint8_t *headerattr=NULL;
  uint32_t index=0;

  init_hunkinfo(&hi,lf->filename,lf->data,lf->length);
  if (testword32(&hi) == HUNK_LIB) {
    ierror("readconv(): HUNK_LIB not yet supported");
  }

  /* HUNK_UNIT or HUNK_HEADER */
  else {
    while (w = testword32(&hi)) {
      switch (w & 0x3fffffff) {

        case HUNK_HEADER:
          /* header must be at the beginning of the file */
          if (hi.hunkptr == hi.hunkbase) {
            if (!s) {
              uint32_t n;
              add_objunit(gv,u,TRUE); /* add last one to glob. ObjUnit list */
              index = 0;
              u = create_objunit(gv,lf,lf->filename);
              nextword32(&hi);
              n = nextword32(&hi);
              movehunkptr32(&hi,n?n+2:1);
              w = nextword32(&hi);
              n = nextword32(&hi) - w + 1;  /* number of size specifiers */
              headerattr = hi.hunkptr;  /* remember section attributes */
              while (n--) {
                if ((nextword32(&hi) & 0xc0000000) == 0xc0000000)
                  nextword32(&hi);
              }
            }
            else
              /* Unexpected end of section */
              error(15,lf->pathname,s->name,u->objname);
          }
          else
            /* header appeared twice */
            error(16,lf->pathname,"HUNK_HEADER",lf->filename);
          break;

        case HUNK_UNIT:  /* a new ObjectUnit */
          if (!s) {
            char *uname;
            nextword32(&hi);
            add_objunit(gv,u,TRUE); /* add last one to glob. ObjUnit list */
            index = 0;
            uname = gethunkname(&hi);
            u = create_objunit(gv,lf,uname);
          }
          else
            /* Unexpected end of section */
            error(15,lf->pathname,s->name,u->objname);
          break;

        case HUNK_NAME:  /* name of a section */
          if (u && !s) {
            nextword32(&hi);
            secname = gethunkname(&hi);
          }
          else
            /* misplaced hunk */
            error(17,lf->pathname,"HUNK_NAME",u?u->objname:lf->filename);
          break;

        case HUNK_CODE:
        case HUNK_PPC_CODE:
        case HUNK_DATA:
        case HUNK_BSS:
          if (u && !s) {  /* a new Section */
            uint8_t s_attr;
            unsigned long s_size;
            nextword32(&hi);

            /* determine section attributes */
            if (headerattr) {
              if ((s_attr = (read32be(headerattr)>>24) & 0xc0) == 0xc0) {
                s_attr = 0;  /* ext. mem. type identifier is not supported */
                headerattr += 8;
              }
              else
                headerattr += 4;
            }
            else
              s_attr = (w>>24) & 0xc0;  /* SF_FAST | SF_CHIP */

            if (gv->fix_unnamed==TRUE && !secname) {
              /* assign a name according to the section's type */
              switch (w & 0xffff) {
                case HUNK_PPC_CODE:
                case HUNK_CODE:
                  secname = ".text";
                  break;
                case HUNK_DATA:
                  secname = ".data";
                  break;
                case HUNK_BSS:
                  secname = ".bss";
                  break;
              }
            }
            /* Sections of an executable should never be joined, or */
            /* dangerous things will happen. */
            if (!secname && hi.exec) {
              secname = alloc(10);
              sprintf(secname,"S%08lx",(unsigned long)hi.hunkptr);
            }

            /* create new section node */
            s_size = (unsigned long)nextword32(&hi) & 0x3fffffff;
            s = create_section(u,secname,hi.hunkptr,s_size<<2);
            s->flags = s_attr | SF_ALLOC;
            s->alignment = gv->min_alignment>2 ? gv->min_alignment : 2;
            s->id = index++;
            switch (w & 0xffff) {
              case HUNK_PPC_CODE:
                s->flags |= SF_EHFPPC;  /* section contains PowerPC code */
              case HUNK_CODE:
                s->type = ST_CODE;
                /* @@@@ amigahunk/ehf code is always writeable ??? */
                s->protection = SP_READ | /*SP_WRITE |*/ SP_EXEC;
                break;
              case HUNK_DATA:
                s->type = ST_DATA;
                s->protection = SP_READ | SP_WRITE;
                break;
              case HUNK_BSS:
                s->flags |= SF_UNINITIALIZED;
                s->data = NULL;
                s->type = ST_UDATA;
                s->protection = SP_READ | SP_WRITE;
                break;
            }
            if (!(s->flags & SF_UNINITIALIZED))
              movehunkptr32(&hi,s_size);  /* skip section's contents */
          }
          else
            /* Section appeared twice */
            error(16,lf->pathname,"Section",u?u->objname:lf->filename);
          break;

        case HUNK_ABSRELOC32:
          if (!addlongrelocs(gv,&hi,s,R_ABS,32))
            error(17,lf->pathname,"HUNK_ABSRELOC32",u?u->objname:lf->filename);
          break;

        case HUNK_RELOC32SHORT:
          if (!addshortrelocs32(gv,&hi,s))
            error(17,lf->pathname,"HUNK_RELOC32SHORT",u?u->objname:lf->filename);
          break;

        case HUNK_RELRELOC16:
          if (!addlongrelocs(gv,&hi,s,R_PC,16))
            error(17,lf->pathname,"HUNK_RELRELOC16",u?u->objname:lf->filename);
          break;

        case HUNK_RELRELOC8:
          if (!addlongrelocs(gv,&hi,s,R_PC,8))
            error(17,lf->pathname,"HUNK_RELRELOC8",u?u->objname:lf->filename);
          break;

        case HUNK_RELRELOC32:
          if (!addlongrelocs(gv,&hi,s,R_PC,32))
            error(17,lf->pathname,"HUNK_RELRELOC32",u?u->objname:lf->filename);
          break;

        case HUNK_ABSRELOC16:
          if (!addlongrelocs(gv,&hi,s,R_ABS,16))
            error(17,lf->pathname,"HUNK_ABSRELOC16",u?u->objname:lf->filename);
          break;

        case HUNK_DREL32:
          /* This hunk block has a double meaning. Before Amiga OS 3.0 */
          /* it was often used as RELOC32SHORT, but will appear in */
          /* executables only. */
          if (hi.exec) {
            if (!addshortrelocs32(gv,&hi,s))
              error(17,lf->pathname,"HUNK_RELOC32SHORT",
                    u?u->objname:lf->filename);
          }
          else {
            if (!addlongrelocs(gv,&hi,s,R_SD,32))
              error(17,lf->pathname,"HUNK_DREL32",u?u->objname:lf->filename);
          }
          break;

        case HUNK_DREL16:
          if (!addlongrelocs(gv,&hi,s,R_SD,16))
            error(17,lf->pathname,"HUNK_DREL16",u?u->objname:lf->filename);
          break;

        case HUNK_DREL8:
          if (!addlongrelocs(gv,&hi,s,R_SD,8))
            error(17,lf->pathname,"HUNK_DREL8",u?u->objname:lf->filename);
          break;

        case HUNK_RELRELOC26: /* EHF */
          if (!addlongrelocs(gv,&hi,s,R_PC,24))
            error(17,lf->pathname,"HUNK_RELRELOC26",u?u->objname:lf->filename);
          break;

        case HUNK_EXT:  /* external definitions and references */
        case HUNK_SYMBOL:
          if (s) {
            uint32_t xtype;
            char *xname;

            nextword32(&hi);
            while (xtype = testword32(&hi)) {
              xname = gethunkname(&hi);
              switch (xtype >>= 24) {

                /* Symbol Definitions */
                case EXT_SYMB:  /* local symbol definition (for debugging) */
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_RELOC,SYMB_LOCAL);
                  break;
                case EXT_DEF:  /* global addr. symbol def. (requires reloc) */
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_RELOC,SYMB_GLOBAL);
                  break;
                case EXT_ABS:  /* global def. of absolute symbol */
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_ABS,SYMB_GLOBAL);
                  break;
                case EXT_RES:  /* unsupported type, invalid since OS2.0 */
                  error(18,lf->pathname,xname,u->objname,EXT_RES);
                  break;

                /* Unresolved Symbol References */
                case EXT_ABSREF32:
                  create_xrefs(gv,&hi,s,xname,R_ABS,32);
                  break;
                case EXT_ABSREF16:
                  create_xrefs(gv,&hi,s,xname,R_ABS,16);
                  break;
                case EXT_ABSREF8:
                  create_xrefs(gv,&hi,s,xname,R_ABS,8);
                  break;
                case EXT_RELREF32:
                  create_xrefs(gv,&hi,s,xname,R_PC,32);
                  break;
                case EXT_RELREF26: /* EHF */
                  create_xrefs(gv,&hi,s,xname,R_PC,24);
                  break;
                case EXT_RELREF16:
                  create_xrefs(gv,&hi,s,xname,R_PC,16);
                  break;
                case EXT_RELREF8:
                  create_xrefs(gv,&hi,s,xname,R_PC,8);
                  break;
                case EXT_DEXT32:
                  create_xrefs(gv,&hi,s,xname,R_SD,32);
                  break;
                case EXT_DEXT16:
                  create_xrefs(gv,&hi,s,xname,R_SD,16);
                  break;
                case EXT_DEXT8:
                  create_xrefs(gv,&hi,s,xname,R_SD,8);
                  break;

                case EXT_ABSCOMMON:
                  /* ABSCOMMON was never used and only supported */
                  /* by the VERY old ALink linker on AmigaOS (now */
                  /* it's used by pasm). But I like it... :) */
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_COMMON,SYMB_GLOBAL);
                  create_xrefs(gv,&hi,s,xname,R_ABS,32);
                  break;
                case EXT_RELCOMMON:
                  /* RELCOMMON was introduced in OS3.1 and might */
                  /* only be used by the pasm assembler. */
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_COMMON,SYMB_GLOBAL);
                  create_xrefs(gv,&hi,s,xname,R_PC,32);
                  break;

                /* The following are INOFFICIAL base-relative */
                /* common symbol references, created for vbcc */
                case EXT_DEXT32COMMON:
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_COMMON,SYMB_GLOBAL);
                  create_xrefs(gv,&hi,s,xname,R_SD,32);
                  break;
                case EXT_DEXT16COMMON:
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_COMMON,SYMB_GLOBAL);
                  create_xrefs(gv,&hi,s,xname,R_SD,16);
                  break;
                case EXT_DEXT8COMMON:
                  create_xdef(gv,s,xname,(int32_t)nextword32(&hi),
                              SYM_COMMON,SYMB_GLOBAL);
                  create_xrefs(gv,&hi,s,xname,R_SD,8);
                  break;

                default:  /* unsupported HUNK_EXT sub type */
                  if (xtype & 0x80000000)
                    error(20,lf->pathname,xname,u->objname,xtype>>24);
                  else
                    error(18,lf->pathname,xname,u->objname,xtype>>24);
              }
            }
            nextword32(&hi);
          }
          else
            error(17,lf->pathname,(w==HUNK_EXT) ? "HUNK_EXT" : "HUNK_SYMBOL",
                  u ? u->objname : lf->filename);
          break;

        case HUNK_DEBUG:
          if (!create_debuginfo(gv,&hi,s))
            error(17,lf->pathname,"HUNK_DEBUG",u?u->objname:lf->filename);
          break;

        case HUNK_OVERLAY:
        case HUNK_BREAK:
          ierror("readconv(): HUNK_OVERLAY/BREAK not yet supported");
          break;

        case HUNK_END:
          nextword32(&hi);
          if (s) {
            addtail(&u->sections,&s->n);  /* add Section to ObjectUnit */
            s = NULL;
            secname = NULL;
          }
          else
            error(17,lf->pathname,"HUNK_END",u ? u->objname : lf->filename);
          break;

        default:
          error(13,lf->pathname);  /* File format corrupted */
          break;
      }
    }
    add_objunit(gv,u,TRUE);  /* add last one to glob. ObjUnit list */
    u = NULL;
  }
}

// Assembly:
subq $0x278, %rsp            # imm = 0x278
movq %rdi, 0x270(%rsp)
movq %rsi, 0x268(%rsp)
movq $0x0, 0x230(%rsp)
movq $0x0, 0x228(%rsp)
movq $0x0, 0x220(%rsp)
movq $0x0, 0x218(%rsp)
movl $0x0, 0x214(%rsp)
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rsi
movq 0x268(%rsp), %rax
movq 0x28(%rax), %rdx
movq 0x268(%rsp), %rax
movq 0x30(%rax), %rcx
leaq 0x240(%rsp), %rdi
callq 0x1cb30
leaq 0x240(%rsp), %rdi
callq 0x1d120
cmpl $0x3fa, %eax            # imm = 0x3FA
jne 0x19f5a
leaq 0x1bed3(%rip), %rdi     # 0x35e21
movb $0x0, %al
callq 0x8ae0
jmp 0x1b98e
jmp 0x19f5c
leaq 0x240(%rsp), %rdi
callq 0x1d120
movl %eax, 0x23c(%rsp)
cmpl $0x0, %eax
je 0x1b968
movl 0x23c(%rsp), %eax
andl $0x3fffffff, %eax       # imm = 0x3FFFFFFF
movl %eax, 0x1e4(%rsp)
subl $0x3e7, %eax            # imm = 0x3E7
je 0x1a2c6
jmp 0x19f99
movl 0x1e4(%rsp), %eax
subl $0x3e8, %eax            # imm = 0x3E8
je 0x1a374
jmp 0x19fad
movl 0x1e4(%rsp), %eax
addl $0xfffffc17, %eax       # imm = 0xFFFFFC17
subl $0x3, %eax
jb 0x1a41f
jmp 0x19fc4
movl 0x1e4(%rsp), %eax
subl $0x3ec, %eax            # imm = 0x3EC
je 0x1a7e0
jmp 0x19fd8
movl 0x1e4(%rsp), %eax
subl $0x3ed, %eax            # imm = 0x3ED
je 0x1a911
jmp 0x19fec
movl 0x1e4(%rsp), %eax
subl $0x3ee, %eax            # imm = 0x3EE
je 0x1a9af
jmp 0x1a000
movl 0x1e4(%rsp), %eax
addl $0xfffffc11, %eax       # imm = 0xFFFFFC11
subl $0x2, %eax
jb 0x1aea4
jmp 0x1a017
movl 0x1e4(%rsp), %eax
subl $0x3f1, %eax            # imm = 0x3F1
je 0x1b80d
jmp 0x1a02b
movl 0x1e4(%rsp), %eax
subl $0x3f2, %eax            # imm = 0x3F2
je 0x1b8a4
jmp 0x1a03f
movl 0x1e4(%rsp), %eax
subl $0x3f3, %eax            # imm = 0x3F3
je 0x1a10d
jmp 0x1a053
movl 0x1e4(%rsp), %eax
addl $0xfffffc0b, %eax       # imm = 0xFFFFFC0B
subl $0x2, %eax
jb 0x1b891
jmp 0x1a06a
movl 0x1e4(%rsp), %eax
subl $0x3f7, %eax            # imm = 0x3F7
je 0x1ab89
jmp 0x1a07e
movl 0x1e4(%rsp), %eax
subl $0x3f8, %eax            # imm = 0x3F8
je 0x1acca
jmp 0x1a092
movl 0x1e4(%rsp), %eax
subl $0x3f9, %eax            # imm = 0x3F9
je 0x1ad68
jmp 0x1a0a6
movl 0x1e4(%rsp), %eax
subl $0x3fc, %eax            # imm = 0x3FC
je 0x1a87e
jmp 0x1a0ba
movl 0x1e4(%rsp), %eax
subl $0x3fd, %eax            # imm = 0x3FD
je 0x1aa4d
jmp 0x1a0ce
movl 0x1e4(%rsp), %eax
subl $0x3fe, %eax            # imm = 0x3FE
je 0x1aaeb
jmp 0x1a0e2
movl 0x1e4(%rsp), %eax
subl $0x4e9, %eax            # imm = 0x4E9
je 0x1a41f
jmp 0x1a0f6
movl 0x1e4(%rsp), %eax
subl $0x4ec, %eax            # imm = 0x4EC
je 0x1ae06
jmp 0x1b94b
movq 0x248(%rsp), %rax
cmpq 0x240(%rsp), %rax
jne 0x1a296
cmpq $0x0, 0x228(%rsp)
jne 0x1a264
movq 0x270(%rsp), %rdi
movq 0x230(%rsp), %rsi
movl $0x1, %edx
callq 0x123e0
movl $0x0, 0x214(%rsp)
movq 0x270(%rsp), %rdi
movq 0x268(%rsp), %rsi
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rdx
callq 0x12270
movq %rax, 0x230(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movl %eax, 0x210(%rsp)
cmpl $0x0, 0x210(%rsp)
je 0x1a1be
movl 0x210(%rsp), %eax
addl $0x2, %eax
movl %eax, 0x1e0(%rsp)
jmp 0x1a1cc
movl $0x1, %eax
movl %eax, 0x1e0(%rsp)
jmp 0x1a1cc
movl 0x1e0(%rsp), %esi
leaq 0x240(%rsp), %rdi
callq 0x1cf40
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movl %eax, 0x23c(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
subl 0x23c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x210(%rsp)
movq 0x248(%rsp), %rax
movq %rax, 0x218(%rsp)
movl 0x210(%rsp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, 0x210(%rsp)
cmpl $0x0, %eax
je 0x1a262
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
andl $0xc0000000, %eax       # imm = 0xC0000000
cmpl $0xc0000000, %eax       # imm = 0xC0000000
jne 0x1a260
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
jmp 0x1a222
jmp 0x1a294
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x228(%rsp), %rax
movq 0x20(%rax), %rdx
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rcx
movl $0xf, %edi
movb $0x0, %al
callq 0x8c00
jmp 0x1a2c1
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rcx
movl $0x10, %edi
leaq 0x1bb8e(%rip), %rdx     # 0x35e48
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
cmpq $0x0, 0x228(%rsp)
jne 0x1a33f
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0x270(%rsp), %rdi
movq 0x230(%rsp), %rsi
movl $0x1, %edx
callq 0x123e0
movl $0x0, 0x214(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1d160
movq %rax, 0x208(%rsp)
movq 0x270(%rsp), %rdi
movq 0x268(%rsp), %rsi
movq 0x208(%rsp), %rdx
callq 0x12270
movq %rax, 0x230(%rsp)
jmp 0x1a36f
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x228(%rsp), %rax
movq 0x20(%rax), %rdx
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rcx
movl $0xf, %edi
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
cmpq $0x0, 0x230(%rsp)
je 0x1a3ae
cmpq $0x0, 0x228(%rsp)
jne 0x1a3ae
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
leaq 0x240(%rsp), %rdi
callq 0x1d160
movq %rax, 0x220(%rsp)
jmp 0x1a41a
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x1d8(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1a3e3
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x1d0(%rsp)
jmp 0x1a3f7
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x1d0(%rsp)
movq 0x1d8(%rsp), %rsi
movq 0x1d0(%rsp), %rcx
movl $0x11, %edi
leaq 0x1ba41(%rip), %rdx     # 0x35e54
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
cmpq $0x0, 0x230(%rsp)
je 0x1a76f
cmpq $0x0, 0x228(%rsp)
jne 0x1a76f
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
cmpq $0x0, 0x218(%rsp)
je 0x1a4af
movq 0x218(%rsp), %rdi
callq 0x7a00
shrl $0x18, %eax
andl $0xc0, %eax
movb %al, 0x207(%rsp)
movzbl %al, %eax
cmpl $0xc0, %eax
jne 0x1a499
movb $0x0, 0x207(%rsp)
movq 0x218(%rsp), %rax
addq $0x8, %rax
movq %rax, 0x218(%rsp)
jmp 0x1a4ad
movq 0x218(%rsp), %rax
addq $0x4, %rax
movq %rax, 0x218(%rsp)
jmp 0x1a4c5
movl 0x23c(%rsp), %eax
shrl $0x18, %eax
andl $0xc0, %eax
movb %al, 0x207(%rsp)
movq 0x270(%rsp), %rax
cmpl $0x1, 0x80(%rax)
jne 0x1a560
cmpq $0x0, 0x220(%rsp)
jne 0x1a560
movzwl 0x23c(%rsp), %eax
movl %eax, 0x1cc(%rsp)
subl $0x3e9, %eax            # imm = 0x3E9
je 0x1a52d
jmp 0x1a4fd
movl 0x1cc(%rsp), %eax
subl $0x3ea, %eax            # imm = 0x3EA
je 0x1a53e
jmp 0x1a50d
movl 0x1cc(%rsp), %eax
subl $0x3eb, %eax            # imm = 0x3EB
je 0x1a54f
jmp 0x1a51d
movl 0x1cc(%rsp), %eax
subl $0x4e9, %eax            # imm = 0x4E9
jne 0x1a55e
jmp 0x1a52d
leaq 0x1b92a(%rip), %rax     # 0x35e5e
movq %rax, 0x220(%rsp)
jmp 0x1a55e
leaq 0x1b91f(%rip), %rax     # 0x35e64
movq %rax, 0x220(%rsp)
jmp 0x1a55e
leaq 0x1b914(%rip), %rax     # 0x35e6a
movq %rax, 0x220(%rsp)
jmp 0x1a560
cmpq $0x0, 0x220(%rsp)
jne 0x1a5a5
cmpl $0x0, 0x260(%rsp)
je 0x1a5a5
movl $0xa, %edi
callq 0x71f0
movq %rax, 0x220(%rsp)
movq 0x220(%rsp), %rdi
movq 0x248(%rsp), %rdx
leaq 0x1b8d1(%rip), %rsi     # 0x35e6f
movb $0x0, %al
callq 0x5230
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movl %eax, %eax
andq $0x3fffffff, %rax       # imm = 0x3FFFFFFF
movq %rax, 0x1f8(%rsp)
movq 0x230(%rsp), %rdi
movq 0x220(%rsp), %rsi
movq 0x248(%rsp), %rdx
movq 0x1f8(%rsp), %rcx
shlq $0x2, %rcx
callq 0x125b0
movq %rax, 0x228(%rsp)
movzbl 0x207(%rsp), %eax
orl $0x1, %eax
movb %al, %cl
movq 0x228(%rsp), %rax
movb %cl, 0x2d(%rax)
movq 0x270(%rsp), %rax
movzbl 0x88(%rax), %eax
cmpl $0x2, %eax
jle 0x1a637
movq 0x270(%rsp), %rax
movzbl 0x88(%rax), %eax
movl %eax, 0x1c8(%rsp)
jmp 0x1a645
movl $0x2, %eax
movl %eax, 0x1c8(%rsp)
jmp 0x1a645
movl 0x1c8(%rsp), %eax
movb %al, %cl
movq 0x228(%rsp), %rax
movb %cl, 0x2f(%rax)
movl 0x214(%rsp), %ecx
movl %ecx, %eax
incl %eax
movl %eax, 0x214(%rsp)
movq 0x228(%rsp), %rax
movl %ecx, 0x28(%rax)
movzwl 0x23c(%rsp), %eax
movl %eax, 0x1c4(%rsp)
subl $0x3e9, %eax            # imm = 0x3E9
je 0x1a6d4
jmp 0x1a68e
movl 0x1c4(%rsp), %eax
subl $0x3ea, %eax            # imm = 0x3EA
je 0x1a6ee
jmp 0x1a69e
movl 0x1c4(%rsp), %eax
subl $0x3eb, %eax            # imm = 0x3EB
je 0x1a708
jmp 0x1a6ae
movl 0x1c4(%rsp), %eax
subl $0x4e9, %eax            # imm = 0x4E9
jne 0x1a742
jmp 0x1a6c2
movq 0x228(%rsp), %rax
movzbl 0x2d(%rax), %ecx
orl $0x20, %ecx
movb %cl, 0x2d(%rax)
movq 0x228(%rsp), %rax
movb $0x1, 0x2c(%rax)
movq 0x228(%rsp), %rax
movb $0x5, 0x2e(%rax)
jmp 0x1a742
movq 0x228(%rsp), %rax
movb $0x2, 0x2c(%rax)
movq 0x228(%rsp), %rax
movb $0x3, 0x2e(%rax)
jmp 0x1a742
movq 0x228(%rsp), %rax
movzbl 0x2d(%rax), %ecx
orl $0x2, %ecx
movb %cl, 0x2d(%rax)
movq 0x228(%rsp), %rax
movq $0x0, 0x40(%rax)
movq 0x228(%rsp), %rax
movb $0x3, 0x2c(%rax)
movq 0x228(%rsp), %rax
movb $0x3, 0x2e(%rax)
movq 0x228(%rsp), %rax
movzbl 0x2d(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
jne 0x1a76d
movq 0x1f8(%rsp), %rax
movl %eax, %esi
leaq 0x240(%rsp), %rdi
callq 0x1cf40
jmp 0x1a7db
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x1b8(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1a7a4
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x1b0(%rsp)
jmp 0x1a7b8
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x1b0(%rsp)
movq 0x1b8(%rsp), %rsi
movq 0x1b0(%rsp), %rcx
movl $0x10, %edi
leaq 0x1b6a2(%rip), %rdx     # 0x35e76
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0x1, %ecx
movl $0x20, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1a879
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x1a8(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1a842
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x1a0(%rsp)
jmp 0x1a856
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x1a0(%rsp)
movq 0x1a8(%rsp), %rsi
movq 0x1a0(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b60c(%rip), %rdx     # 0x35e7e
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
callq 0x1d380
cmpl $0x0, %eax
jne 0x1a90c
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x198(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1a8d5
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x190(%rsp)
jmp 0x1a8e9
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x190(%rsp)
movq 0x198(%rsp), %rsi
movq 0x190(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b589(%rip), %rdx     # 0x35e8e
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0x2, %ecx
movl $0x10, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1a9aa
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x188(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1a973
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x180(%rsp)
jmp 0x1a987
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x180(%rsp)
movq 0x188(%rsp), %rsi
movq 0x180(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b4fd(%rip), %rdx     # 0x35ea0
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0x2, %ecx
movl $0x8, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1aa48
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x178(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1aa11
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x170(%rsp)
jmp 0x1aa25
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x170(%rsp)
movq 0x178(%rsp), %rsi
movq 0x170(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b46f(%rip), %rdx     # 0x35eb0
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0x2, %ecx
movl $0x20, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1aae6
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x168(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1aaaf
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x160(%rsp)
jmp 0x1aac3
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x160(%rsp)
movq 0x168(%rsp), %rsi
movq 0x160(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b3e0(%rip), %rdx     # 0x35ebf
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0x1, %ecx
movl $0x10, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1ab84
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x158(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1ab4d
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x150(%rsp)
jmp 0x1ab61
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x150(%rsp)
movq 0x158(%rsp), %rsi
movq 0x150(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b352(%rip), %rdx     # 0x35ecf
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
cmpl $0x0, 0x260(%rsp)
je 0x1ac2a
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
callq 0x1d380
cmpl $0x0, %eax
jne 0x1ac25
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x148(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1abee
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x140(%rsp)
jmp 0x1ac02
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x140(%rsp)
movq 0x148(%rsp), %rsi
movq 0x140(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b270(%rip), %rdx     # 0x35e8e
movb $0x0, %al
callq 0x8c00
jmp 0x1acc5
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0xa, %ecx
movl $0x20, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1acc3
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x138(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1ac8c
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x130(%rsp)
jmp 0x1aca0
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x130(%rsp)
movq 0x138(%rsp), %rsi
movq 0x130(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b223(%rip), %rdx     # 0x35edf
movb $0x0, %al
callq 0x8c00
jmp 0x1acc5
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0xa, %ecx
movl $0x10, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1ad63
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x128(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1ad2c
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x120(%rsp)
jmp 0x1ad40
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x120(%rsp)
movq 0x128(%rsp), %rsi
movq 0x120(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b18f(%rip), %rdx     # 0x35eeb
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0xa, %ecx
movl $0x8, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1ae01
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x118(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1adca
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x110(%rsp)
jmp 0x1adde
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x110(%rsp)
movq 0x118(%rsp), %rsi
movq 0x110(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b0fd(%rip), %rdx     # 0x35ef7
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
movl $0x2, %ecx
movl $0x18, %r8d
callq 0x1d1e0
cmpl $0x0, %eax
jne 0x1ae9f
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x108(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1ae68
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x100(%rsp)
jmp 0x1ae7c
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x100(%rsp)
movq 0x108(%rsp), %rsi
movq 0x100(%rsp), %rcx
movl $0x11, %edi
leaq 0x1b06a(%rip), %rdx     # 0x35f02
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
cmpq $0x0, 0x228(%rsp)
je 0x1b789
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
leaq 0x240(%rsp), %rdi
callq 0x1d120
movl %eax, 0x1f4(%rsp)
cmpl $0x0, %eax
je 0x1b77a
leaq 0x240(%rsp), %rdi
callq 0x1d160
movq %rax, 0x1e8(%rsp)
movl 0x1f4(%rsp), %eax
shrl $0x18, %eax
movl %eax, 0xfc(%rsp)
movl %eax, 0x1f4(%rsp)
testl %eax, %eax
je 0x1b079
jmp 0x1af14
movl 0xfc(%rsp), %eax
subl $0x1, %eax
je 0x1b0e6
jmp 0x1af26
movl 0xfc(%rsp), %eax
subl $0x2, %eax
je 0x1b150
jmp 0x1af38
movl 0xfc(%rsp), %eax
subl $0x3, %eax
je 0x1b1bd
jmp 0x1af4a
movl 0xfc(%rsp), %eax
subl $0x81, %eax
je 0x1b1f4
jmp 0x1af5e
movl 0xfc(%rsp), %eax
subl $0x82, %eax
je 0x1b410
jmp 0x1af72
movl 0xfc(%rsp), %eax
subl $0x83, %eax
je 0x1b302
jmp 0x1af86
movl 0xfc(%rsp), %eax
subl $0x84, %eax
je 0x1b338
jmp 0x1af9a
movl 0xfc(%rsp), %eax
subl $0x85, %eax
je 0x1b36e
jmp 0x1afae
movl 0xfc(%rsp), %eax
subl $0x86, %eax
je 0x1b3a4
jmp 0x1afc2
movl 0xfc(%rsp), %eax
subl $0x87, %eax
je 0x1b3da
jmp 0x1afd6
movl 0xfc(%rsp), %eax
subl $0x88, %eax
je 0x1b296
jmp 0x1afea
movl 0xfc(%rsp), %eax
subl $0x89, %eax
je 0x1b4ae
jmp 0x1affe
movl 0xfc(%rsp), %eax
subl $0x8a, %eax
je 0x1b22a
jmp 0x1b012
movl 0xfc(%rsp), %eax
subl $0x8b, %eax
je 0x1b260
jmp 0x1b026
movl 0xfc(%rsp), %eax
subl $0xd0, %eax
je 0x1b54c
jmp 0x1b03a
movl 0xfc(%rsp), %eax
subl $0xd1, %eax
je 0x1b5d8
jmp 0x1b04e
movl 0xfc(%rsp), %eax
subl $0xd2, %eax
je 0x1b664
jmp 0x1b062
movl 0xfc(%rsp), %eax
subl $0xe5, %eax
je 0x1b2cc
jmp 0x1b6f0
movq 0x270(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0xf0(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0xe0(%rsp), %rdi
movq 0xe8(%rsp), %rsi
movq 0xf0(%rsp), %rdx
movl %eax, %ecx
movl $0x2, %r8d
movl $0x1, %r9d
callq 0x1d4d0
jmp 0x1b775
movq 0x270(%rsp), %rax
movq %rax, 0xc8(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0xd0(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0xd8(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0xc8(%rsp), %rdi
movq 0xd0(%rsp), %rsi
movq 0xd8(%rsp), %rdx
movl %eax, %ecx
movl $0x2, %r9d
movl %r9d, %r8d
callq 0x1d4d0
jmp 0x1b775
movq 0x270(%rsp), %rax
movq %rax, 0xb0(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0xc0(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0xb0(%rsp), %rdi
movq 0xb8(%rsp), %rsi
movq 0xc0(%rsp), %rdx
movl %eax, %ecx
movl $0x1, %r8d
movl $0x2, %r9d
callq 0x1d4d0
jmp 0x1b775
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x1e8(%rsp), %rdx
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rcx
movl $0x12, %edi
movl $0x3, %r8d
movb $0x0, %al
callq 0x8c00
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x1, %r8d
movl $0x20, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x1, %r8d
movl $0x10, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x1, %r8d
movl $0x8, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x2, %r8d
movl $0x20, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x2, %r8d
movl $0x18, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x2, %r8d
movl $0x10, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x2, %r8d
movl $0x8, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0xa, %r8d
movl $0x20, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0xa, %r8d
movl $0x10, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0xa, %r8d
movl $0x8, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0xa8(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0x98(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movq 0xa8(%rsp), %rdx
movl %eax, %ecx
movl $0x3, %r8d
movl $0x2, %r9d
callq 0x1d4d0
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x1, %r8d
movl $0x20, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x88(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0x90(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0x80(%rsp), %rdi
movq 0x88(%rsp), %rsi
movq 0x90(%rsp), %rdx
movl %eax, %ecx
movl $0x3, %r8d
movl $0x2, %r9d
callq 0x1d4d0
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0x2, %r8d
movl $0x20, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rax
movq %rax, 0x68(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x70(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0x78(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0x68(%rsp), %rdi
movq 0x70(%rsp), %rsi
movq 0x78(%rsp), %rdx
movl %eax, %ecx
movl $0x3, %r8d
movl $0x2, %r9d
callq 0x1d4d0
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0xa, %r8d
movl $0x20, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0x60(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0x50(%rsp), %rdi
movq 0x58(%rsp), %rsi
movq 0x60(%rsp), %rdx
movl %eax, %ecx
movl $0x3, %r8d
movl $0x2, %r9d
callq 0x1d4d0
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0xa, %r8d
movl $0x10, %r9d
callq 0x1d640
jmp 0x1b775
movq 0x270(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x228(%rsp), %rax
movq %rax, 0x40(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0x48(%rsp)
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
movq 0x38(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq 0x48(%rsp), %rdx
movl %eax, %ecx
movl $0x3, %r8d
movl $0x2, %r9d
callq 0x1d4d0
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
movq 0x1e8(%rsp), %rcx
leaq 0x240(%rsp), %rsi
movl $0xa, %r8d
movl $0x8, %r9d
callq 0x1d640
jmp 0x1b775
movl 0x1f4(%rsp), %eax
andl $0x80000000, %eax       # imm = 0x80000000
cmpl $0x0, %eax
je 0x1b73b
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x1e8(%rsp), %rdx
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rcx
movl 0x1f4(%rsp), %r8d
shrl $0x18, %r8d
movl $0x14, %edi
movb $0x0, %al
callq 0x8c00
jmp 0x1b773
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rsi
movq 0x1e8(%rsp), %rdx
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rcx
movl 0x1f4(%rsp), %r8d
shrl $0x18, %r8d
movl $0x12, %edi
movb $0x0, %al
callq 0x8c00
jmp 0x1b775
jmp 0x1aec0
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
jmp 0x1b808
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
movl 0x23c(%rsp), %edx
leaq 0x1a773(%rip), %rax     # 0x35f1b
leaq 0x1a763(%rip), %rcx     # 0x35f12
cmpl $0x3ef, %edx            # imm = 0x3EF
cmoveq %rcx, %rax
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1b7dc
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x20(%rsp)
jmp 0x1b7ed
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x20(%rsp)
movq 0x30(%rsp), %rdx
movq 0x28(%rsp), %rsi
movq 0x20(%rsp), %rcx
movl $0x11, %edi
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x270(%rsp), %rdi
movq 0x228(%rsp), %rdx
leaq 0x240(%rsp), %rsi
callq 0x1d7f0
cmpl $0x0, %eax
jne 0x1b88c
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1b85e
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
jmp 0x1b86f
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rcx
movl $0x11, %edi
leaq 0x1a6a2(%rip), %rdx     # 0x35f27
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
leaq 0x1a69a(%rip), %rdi     # 0x35f32
movb $0x0, %al
callq 0x8ae0
jmp 0x1b963
leaq 0x240(%rsp), %rdi
callq 0x1cfa0
cmpq $0x0, 0x228(%rsp)
je 0x1b8ef
movq 0x230(%rsp), %rdi
addq $0x20, %rdi
movq 0x228(%rsp), %rsi
callq 0x7470
movq $0x0, 0x228(%rsp)
movq $0x0, 0x220(%rsp)
jmp 0x1b949
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x8(%rsp)
cmpq $0x0, 0x230(%rsp)
je 0x1b91d
movq 0x230(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, (%rsp)
jmp 0x1b92d
movq 0x268(%rsp), %rax
movq 0x18(%rax), %rax
movq %rax, (%rsp)
movq 0x8(%rsp), %rsi
movq (%rsp), %rcx
movl $0x11, %edi
leaq 0x1a621(%rip), %rdx     # 0x35f63
movb $0x0, %al
callq 0x8c00
jmp 0x1b963
movq 0x268(%rsp), %rax
movq 0x10(%rax), %rsi
movl $0xd, %edi
movb $0x0, %al
callq 0x8c00
jmp 0x19f5c
movq 0x270(%rsp), %rdi
movq 0x230(%rsp), %rsi
movl $0x1, %edx
callq 0x123e0
movq $0x0, 0x230(%rsp)
addq $0x278, %rsp            # imm = 0x278
retq
nopw %cs:(%rax,%rax)