// File: sisong[P]ApkDiffPatch/lzma/C/LzmaDec.c
// Function: LzmaDec_DecodeReal_3
static
int Z7_FASTCALL LZMA_DECODE_REAL(CLzmaDec *p, SizeT limit, const Byte *bufLimit)
{
  CLzmaProb *probs = GET_PROBS;
  unsigned state = (unsigned)p->state;
  UInt32 rep0 = p->reps[0], rep1 = p->reps[1], rep2 = p->reps[2], rep3 = p->reps[3];
  unsigned pbMask = ((unsigned)1 << (p->prop.pb)) - 1;
  unsigned lc = p->prop.lc;
  unsigned lpMask = ((unsigned)0x100 << p->prop.lp) - ((unsigned)0x100 >> lc);

  Byte *dic = p->dic;
  SizeT dicBufSize = p->dicBufSize;
  SizeT dicPos = p->dicPos;
  
  UInt32 processedPos = p->processedPos;
  UInt32 checkDicSize = p->checkDicSize;
  unsigned len = 0;

  const Byte *buf = p->buf;
  UInt32 range = p->range;
  UInt32 code = p->code;

  do
  {
    CLzmaProb *prob;
    UInt32 bound;
    unsigned ttt;
    unsigned posState = CALC_POS_STATE(processedPos, pbMask);

    prob = probs + IsMatch + COMBINED_PS_STATE;
    IF_BIT_0(prob)
    {
      unsigned symbol;
      UPDATE_0(prob)
      prob = probs + Literal;
      if (processedPos != 0 || checkDicSize != 0)
        prob += (UInt32)3 * ((((processedPos << 8) + dic[(dicPos == 0 ? dicBufSize : dicPos) - 1]) & lpMask) << lc);
      processedPos++;

      if (state < kNumLitStates)
      {
        state -= (state < 4) ? state : 3;
        symbol = 1;
        #ifdef Z7_LZMA_SIZE_OPT
        do { NORMAL_LITER_DEC } while (symbol < 0x100);
        #else
        NORMAL_LITER_DEC
        NORMAL_LITER_DEC
        NORMAL_LITER_DEC
        NORMAL_LITER_DEC
        NORMAL_LITER_DEC
        NORMAL_LITER_DEC
        NORMAL_LITER_DEC
        NORMAL_LITER_DEC
        #endif
      }
      else
      {
        unsigned matchByte = dic[dicPos - rep0 + (dicPos < rep0 ? dicBufSize : 0)];
        unsigned offs = 0x100;
        state -= (state < 10) ? 3 : 6;
        symbol = 1;
        #ifdef Z7_LZMA_SIZE_OPT
        do
        {
          unsigned bit;
          CLzmaProb *probLit;
          MATCHED_LITER_DEC
        }
        while (symbol < 0x100);
        #else
        {
          unsigned bit;
          CLzmaProb *probLit;
          MATCHED_LITER_DEC
          MATCHED_LITER_DEC
          MATCHED_LITER_DEC
          MATCHED_LITER_DEC
          MATCHED_LITER_DEC
          MATCHED_LITER_DEC
          MATCHED_LITER_DEC
          MATCHED_LITER_DEC
        }
        #endif
      }

      dic[dicPos++] = (Byte)symbol;
      continue;
    }
    
    {
      UPDATE_1(prob)
      prob = probs + IsRep + state;
      IF_BIT_0(prob)
      {
        UPDATE_0(prob)
        state += kNumStates;
        prob = probs + LenCoder;
      }
      else
      {
        UPDATE_1(prob)
        prob = probs + IsRepG0 + state;
        IF_BIT_0(prob)
        {
          UPDATE_0(prob)
          prob = probs + IsRep0Long + COMBINED_PS_STATE;
          IF_BIT_0(prob)
          {
            UPDATE_0(prob)
  
            // that case was checked before with kBadRepCode
            // if (checkDicSize == 0 && processedPos == 0) { len = kMatchSpecLen_Error_Data + 1; break; }
            // The caller doesn't allow (dicPos == limit) case here
            // so we don't need the following check:
            // if (dicPos == limit) { state = state < kNumLitStates ? 9 : 11; len = 1; break; }
            
            dic[dicPos] = dic[dicPos - rep0 + (dicPos < rep0 ? dicBufSize : 0)];
            dicPos++;
            processedPos++;
            state = state < kNumLitStates ? 9 : 11;
            continue;
          }
          UPDATE_1(prob)
        }
        else
        {
          UInt32 distance;
          UPDATE_1(prob)
          prob = probs + IsRepG1 + state;
          IF_BIT_0(prob)
          {
            UPDATE_0(prob)
            distance = rep1;
          }
          else
          {
            UPDATE_1(prob)
            prob = probs + IsRepG2 + state;
            IF_BIT_0(prob)
            {
              UPDATE_0(prob)
              distance = rep2;
            }
            else
            {
              UPDATE_1(prob)
              distance = rep3;
              rep3 = rep2;
            }
            rep2 = rep1;
          }
          rep1 = rep0;
          rep0 = distance;
        }
        state = state < kNumLitStates ? 8 : 11;
        prob = probs + RepLenCoder;
      }
      
      #ifdef Z7_LZMA_SIZE_OPT
      {
        unsigned lim, offset;
        CLzmaProb *probLen = prob + LenChoice;
        IF_BIT_0(probLen)
        {
          UPDATE_0(probLen)
          probLen = prob + LenLow + GET_LEN_STATE;
          offset = 0;
          lim = (1 << kLenNumLowBits);
        }
        else
        {
          UPDATE_1(probLen)
          probLen = prob + LenChoice2;
          IF_BIT_0(probLen)
          {
            UPDATE_0(probLen)
            probLen = prob + LenLow + GET_LEN_STATE + (1 << kLenNumLowBits);
            offset = kLenNumLowSymbols;
            lim = (1 << kLenNumLowBits);
          }
          else
          {
            UPDATE_1(probLen)
            probLen = prob + LenHigh;
            offset = kLenNumLowSymbols * 2;
            lim = (1 << kLenNumHighBits);
          }
        }
        TREE_DECODE(probLen, lim, len)
        len += offset;
      }
      #else
      {
        CLzmaProb *probLen = prob + LenChoice;
        IF_BIT_0(probLen)
        {
          UPDATE_0(probLen)
          probLen = prob + LenLow + GET_LEN_STATE;
          len = 1;
          TREE_GET_BIT(probLen, len)
          TREE_GET_BIT(probLen, len)
          TREE_GET_BIT(probLen, len)
          len -= 8;
        }
        else
        {
          UPDATE_1(probLen)
          probLen = prob + LenChoice2;
          IF_BIT_0(probLen)
          {
            UPDATE_0(probLen)
            probLen = prob + LenLow + GET_LEN_STATE + (1 << kLenNumLowBits);
            len = 1;
            TREE_GET_BIT(probLen, len)
            TREE_GET_BIT(probLen, len)
            TREE_GET_BIT(probLen, len)
          }
          else
          {
            UPDATE_1(probLen)
            probLen = prob + LenHigh;
            TREE_DECODE(probLen, (1 << kLenNumHighBits), len)
            len += kLenNumLowSymbols * 2;
          }
        }
      }
      #endif

      if (state >= kNumStates)
      {
        UInt32 distance;
        prob = probs + PosSlot +
            ((len < kNumLenToPosStates ? len : kNumLenToPosStates - 1) << kNumPosSlotBits);
        TREE_6_DECODE(prob, distance)
        if (distance >= kStartPosModelIndex)
        {
          unsigned posSlot = (unsigned)distance;
          unsigned numDirectBits = (unsigned)(((distance >> 1) - 1));
          distance = (2 | (distance & 1));
          if (posSlot < kEndPosModelIndex)
          {
            distance <<= numDirectBits;
            prob = probs + SpecPos;
            {
              UInt32 m = 1;
              distance++;
              do
              {
                REV_BIT_VAR(prob, distance, m)
              }
              while (--numDirectBits);
              distance -= m;
            }
          }
          else
          {
            numDirectBits -= kNumAlignBits;
            do
            {
              NORMALIZE
              range >>= 1;
              
              {
                UInt32 t;
                code -= range;
                t = (0 - ((UInt32)code >> 31)); /* (UInt32)((Int32)code >> 31) */
                distance = (distance << 1) + (t + 1);
                code += range & t;
              }
              /*
              distance <<= 1;
              if (code >= range)
              {
                code -= range;
                distance |= 1;
              }
              */
            }
            while (--numDirectBits);
            prob = probs + Align;
            distance <<= kNumAlignBits;
            {
              unsigned i = 1;
              REV_BIT_CONST(prob, i, 1)
              REV_BIT_CONST(prob, i, 2)
              REV_BIT_CONST(prob, i, 4)
              REV_BIT_LAST (prob, i, 8)
              distance |= i;
            }
            if (distance == (UInt32)0xFFFFFFFF)
            {
              len = kMatchSpecLenStart;
              state -= kNumStates;
              break;
            }
          }
        }
        
        rep3 = rep2;
        rep2 = rep1;
        rep1 = rep0;
        rep0 = distance + 1;
        state = (state < kNumStates + kNumLitStates) ? kNumLitStates : kNumLitStates + 3;
        if (distance >= (checkDicSize == 0 ? processedPos: checkDicSize))
        {
          len += kMatchSpecLen_Error_Data + kMatchMinLen;
          // len = kMatchSpecLen_Error_Data;
          // len += kMatchMinLen;
          break;
        }
      }

      len += kMatchMinLen;

      {
        SizeT rem;
        unsigned curLen;
        SizeT pos;
        
        if ((rem = limit - dicPos) == 0)
        {
          /*
          We stop decoding and return SZ_OK, and we can resume decoding later.
          Any error conditions can be tested later in caller code.
          For more strict mode we can stop decoding with error
          // len += kMatchSpecLen_Error_Data;
          */
          break;
        }
        
        curLen = ((rem < len) ? (unsigned)rem : len);
        pos = dicPos - rep0 + (dicPos < rep0 ? dicBufSize : 0);

        processedPos += (UInt32)curLen;

        len -= curLen;
        if (curLen <= dicBufSize - pos)
        {
          Byte *dest = dic + dicPos;
          ptrdiff_t src = (ptrdiff_t)pos - (ptrdiff_t)dicPos;
          const Byte *lim = dest + curLen;
          dicPos += (SizeT)curLen;
          do
            *(dest) = (Byte)*(dest + src);
          while (++dest != lim);
        }
        else
        {
          do
          {
            dic[dicPos++] = dic[pos];
            if (++pos == dicBufSize)
              pos = 0;
          }
          while (--curLen != 0);
        }
      }
    }
  }
  while (dicPos < limit && buf < bufLimit);

  NORMALIZE
  
  p->buf = buf;
  p->range = range;
  p->code = code;
  p->remainLen = (UInt32)len; // & (kMatchSpecLen_Error_Data - 1); // we can write real length for error matches too.
  p->dicPos = dicPos;
  p->processedPos = processedPos;
  p->reps[0] = rep0;
  p->reps[1] = rep1;
  p->reps[2] = rep2;
  p->reps[3] = rep3;
  p->state = (UInt32)state;
  if (len >= kMatchSpecLen_Error_Data)
    return SZ_ERROR_DATA;
  return SZ_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x108, %rsp            # imm = 0x108
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movl 0x58(%rax), %eax
movl %eax, -0x2c(%rbp)
movq -0x10(%rbp), %rax
movl 0x48(%rax), %eax
movl %eax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movl 0x4c(%rax), %eax
movl %eax, -0x34(%rbp)
movq -0x10(%rbp), %rax
movl 0x50(%rax), %eax
movl %eax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x54(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movzbl 0x2(%rax), %ecx
movl $0x1, %eax
shll %cl, %eax
subl $0x1, %eax
movl %eax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x44(%rbp)
movq -0x10(%rbp), %rax
movzbl 0x1(%rax), %ecx
movl $0x100, %eax            # imm = 0x100
shll %cl, %eax
movl -0x44(%rbp), %ecx
movl $0x100, %edx            # imm = 0x100
shrl %cl, %edx
movl %edx, %ecx
subl %ecx, %eax
movl %eax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x58(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rax
movl 0x40(%rax), %eax
movl %eax, -0x64(%rbp)
movq -0x10(%rbp), %rax
movl 0x44(%rax), %eax
movl %eax, -0x68(%rbp)
movl $0x0, -0x6c(%rbp)
movq -0x10(%rbp), %rax
movq 0x30(%rax), %rax
movq %rax, -0x78(%rbp)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
movl %eax, -0x7c(%rbp)
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x80(%rbp)
movl -0x64(%rbp), %eax
andl -0x40(%rbp), %eax
shll $0x4, %eax
movl %eax, -0x94(%rbp)
movq -0x28(%rbp), %rax
addq $-0x200, %rax           # imm = 0xFE00
movl -0x94(%rbp), %ecx
addl -0x2c(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa7ce3
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa917f
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movq -0x28(%rbp), %rax
addq $0x280, %rax            # imm = 0x280
movq %rax, -0x88(%rbp)
cmpl $0x0, -0x64(%rbp)
jne 0xa7d4e
cmpl $0x0, -0x68(%rbp)
je 0xa7dc3
movl -0x64(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x114(%rbp)
movq -0x50(%rbp), %rax
movq %rax, -0x110(%rbp)
cmpq $0x0, -0x60(%rbp)
jne 0xa7d79
movq -0x58(%rbp), %rax
movq %rax, -0x120(%rbp)
jmp 0xa7d84
movq -0x60(%rbp), %rax
movq %rax, -0x120(%rbp)
movl -0x114(%rbp), %eax
movq -0x110(%rbp), %rcx
movq -0x120(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %ecx
addl %ecx, %eax
andl -0x48(%rbp), %eax
movl -0x44(%rbp), %ecx
shll %cl, %eax
imull $0x3, %eax, %ecx
movq -0x88(%rbp), %rax
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
cmpl $0x7, -0x2c(%rbp)
jae 0xa8619
cmpl $0x4, -0x2c(%rbp)
jae 0xa7de7
movl -0x2c(%rbp), %eax
movl %eax, -0x124(%rbp)
jmp 0xa7df4
movl $0x3, %eax
movl %eax, -0x124(%rbp)
jmp 0xa7df4
movl -0x124(%rbp), %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl $0x1, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa7e52
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa7eb7
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa7f0d
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa7f53
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa7fb8
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa800e
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8054
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa80b9
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa810f
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8155
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa81ba
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa8210
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8256
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa82bb
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa8311
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8357
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa83bc
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa8412
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8458
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa84bd
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa8513
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8559
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa85be
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa8614
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0x98(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
jmp 0xa915c
movq -0x50(%rbp), %rax
movq %rax, -0x138(%rbp)
movq -0x60(%rbp), %rax
movl -0x30(%rbp), %ecx
subq %rcx, %rax
movq %rax, -0x130(%rbp)
movq -0x60(%rbp), %rax
movl -0x30(%rbp), %ecx
cmpq %rcx, %rax
jae 0xa864e
movq -0x58(%rbp), %rax
movq %rax, -0x140(%rbp)
jmp 0xa8659
xorl %eax, %eax
movq %rax, -0x140(%rbp)
jmp 0xa8659
movq -0x138(%rbp), %rax
movq -0x130(%rbp), %rcx
movq -0x140(%rbp), %rdx
addq %rdx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x9c(%rbp)
movl $0x100, -0xa0(%rbp)     # imm = 0x100
movl -0x2c(%rbp), %edx
movl $0x6, %ecx
movl $0x3, %eax
cmpl $0xa, %edx
cmovbl %eax, %ecx
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl $0x1, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8741
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa87b1
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa8800
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8897
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa8907
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa8956
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa89ed
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa8a5d
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa8aac
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8b43
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa8bb3
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa8c02
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8c99
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa8d09
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa8d58
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8def
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa8e5f
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa8eae
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa8f45
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa8fb5
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa9004
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
movl -0x9c(%rbp), %eax
addl -0x9c(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0x9c(%rbp), %eax
andl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
movq -0x88(%rbp), %rax
movl -0xa0(%rbp), %ecx
addl -0xa4(%rbp), %ecx
addl -0x98(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa909b
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa910b
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0xa4(%rbp), %eax
xorl -0xa0(%rbp), %eax
movl %eax, -0xa0(%rbp)
jmp 0xa915a
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xb0(%rbp), %rax
movw %cx, (%rax)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x98(%rbp)
jmp 0xa915c
movl -0x98(%rbp), %eax
movb %al, %dl
movq -0x50(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, -0x60(%rbp)
movb %dl, (%rax,%rcx)
jmp 0xaaf0d
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movq -0x28(%rbp), %rax
addq $0x20, %rax
movl -0x2c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9210
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9279
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movl -0x2c(%rbp), %eax
addl $0xc, %eax
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rax
addq $-0x600, %rax           # imm = 0xFA00
movq %rax, -0x88(%rbp)
jmp 0xa9730
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movq -0x28(%rbp), %rax
addq $0x38, %rax
movl -0x2c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa930a
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa94dc
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movq -0x28(%rbp), %rax
addq $-0xc00, %rax           # imm = 0xF400
movl -0x94(%rbp), %ecx
addl -0x2c(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa93b9
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa949d
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movq -0x50(%rbp), %rax
movq %rax, -0x150(%rbp)
movq -0x60(%rbp), %rax
movl -0x30(%rbp), %ecx
subq %rcx, %rax
movq %rax, -0x148(%rbp)
movq -0x60(%rbp), %rax
movl -0x30(%rbp), %ecx
cmpq %rcx, %rax
jae 0xa943c
movq -0x58(%rbp), %rax
movq %rax, -0x158(%rbp)
jmp 0xa9447
xorl %eax, %eax
movq %rax, -0x158(%rbp)
jmp 0xa9447
movq -0x150(%rbp), %rax
movq -0x148(%rbp), %rcx
movq -0x158(%rbp), %rdx
addq %rdx, %rcx
movb (%rax,%rcx), %dl
movq -0x50(%rbp), %rax
movq -0x60(%rbp), %rcx
movb %dl, (%rax,%rcx)
movq -0x60(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x60(%rbp)
movl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
movl -0x2c(%rbp), %edx
movl $0xb, %eax
movl $0x9, %ecx
cmpl $0x7, %edx
cmovbl %ecx, %eax
movl %eax, -0x2c(%rbp)
jmp 0xaaf0d
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
jmp 0xa9709
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movq -0x28(%rbp), %rax
addq $0x50, %rax
movl -0x2c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa956d
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa95c5
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movl -0x34(%rbp), %eax
movl %eax, -0xb4(%rbp)
jmp 0xa96fa
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movq -0x28(%rbp), %rax
addq $0x68, %rax
movl -0x2c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9656
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa96ab
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movl -0x38(%rbp), %eax
movl %eax, -0xb4(%rbp)
jmp 0xa96f4
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0x88(%rbp), %rax
movw %cx, (%rax)
movl -0x3c(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0x38(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0xb4(%rbp), %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %edx
movl $0xb, %eax
movl $0x8, %ecx
cmpl $0x7, %edx
cmovbl %ecx, %eax
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rax
addq $-0xa00, %rax           # imm = 0xF600
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa977d
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9aac
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xc0(%rbp), %rax
movw %cx, (%rax)
movq -0x88(%rbp), %rax
movl -0x94(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0xc0(%rbp)
movl $0x1, -0x6c(%rbp)
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa982f
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9888
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0xa98d2
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9915
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa996e
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0xa99b8
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa99fb
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9a54
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9a9e
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
subl $0x8, %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9fc1
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xc0(%rbp), %rax
movw %cx, (%rax)
movq -0x88(%rbp), %rax
addq $0x10, %rax
movq %rax, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9b37
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9e61
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %cx
movq -0xc0(%rbp), %rax
movw %cx, (%rax)
movq -0x88(%rbp), %rax
movl -0x94(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
addq $0x10, %rax
movq %rax, -0xc0(%rbp)
movl $0x1, -0x6c(%rbp)
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9bed
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9c46
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9c90
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9cd3
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9d2c
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9d76
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9db9
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9e12
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9e5c
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9fbf
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %cx
movq -0xc0(%rbp), %rax
movw %cx, (%rax)
movq -0x88(%rbp), %rax
addq $0x200, %rax            # imm = 0x200
movq %rax, -0xc0(%rbp)
movl $0x1, -0x6c(%rbp)
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xa9ef9
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xa9f52
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9f9c
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0xc0(%rbp), %rax
movl -0x6c(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0x6c(%rbp), %eax
addl -0x6c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9f9e
cmpl $0x100, -0x6c(%rbp)     # imm = 0x100
jb 0xa9eb6
movl -0x6c(%rbp), %eax
subl $0x100, %eax            # imm = 0x100
movl %eax, -0x6c(%rbp)
movl -0x6c(%rbp), %eax
addl $0x10, %eax
movl %eax, -0x6c(%rbp)
jmp 0xa9fc1
cmpl $0xc, -0x2c(%rbp)
jb 0xaad5a
movq -0x28(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x160(%rbp)
cmpl $0x4, -0x6c(%rbp)
jae 0xa9fed
movl -0x6c(%rbp), %eax
movl %eax, -0x164(%rbp)
jmp 0xa9ffa
movl $0x3, %eax
movl %eax, -0x164(%rbp)
jmp 0xa9ffa
movq -0x160(%rbp), %rax
movl -0x164(%rbp), %ecx
shll $0x6, %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movl $0x1, -0xc4(%rbp)
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa069
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa0ce
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0xaa124
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa16a
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa1cf
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0xaa225
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa26b
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa2d0
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0xaa326
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa36c
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa3d1
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0xaa427
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa46d
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa4d2
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0xaa528
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa56e
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa5d3
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0xaa629
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xc4(%rbp), %eax
addl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %eax
subl $0x40, %eax
movl %eax, -0xc4(%rbp)
cmpl $0x4, -0xc4(%rbp)
jb 0xaacde
movl -0xc4(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
shrl %eax
subl $0x1, %eax
movl %eax, -0xcc(%rbp)
movl -0xc4(%rbp), %eax
andl $0x1, %eax
orl $0x2, %eax
movl %eax, -0xc4(%rbp)
cmpl $0xe, -0xc8(%rbp)
jae 0xaa814
movl -0xcc(%rbp), %ecx
movl -0xc4(%rbp), %eax
shll %cl, %eax
movl %eax, -0xc4(%rbp)
movq -0x28(%rbp), %rax
addq $-0xd00, %rax           # imm = 0xF300
movq %rax, -0x88(%rbp)
movl $0x1, -0xd0(%rbp)
movl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4(%rbp)
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa705
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa77c
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd0(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
movl -0xd0(%rbp), %eax
addl -0xd0(%rbp), %eax
movl %eax, -0xd0(%rbp)
jmp 0xaa7e1
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xc4(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd0(%rbp), %eax
addl -0xd0(%rbp), %eax
movl %eax, -0xd0(%rbp)
movl -0xd0(%rbp), %eax
addl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
jmp 0xaa7e3
movl -0xcc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xcc(%rbp)
cmpl $0x0, %eax
jne 0xaa6bf
movl -0xd0(%rbp), %ecx
movl -0xc4(%rbp), %eax
subl %ecx, %eax
movl %eax, -0xc4(%rbp)
jmp 0xaacdc
movl -0xcc(%rbp), %eax
subl $0x4, %eax
movl %eax, -0xcc(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa852
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl %eax
movl %eax, -0x7c(%rbp)
movl -0x7c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x80(%rbp), %ecx
shrl $0x1f, %ecx
xorl %eax, %eax
subl %ecx, %eax
movl %eax, -0xd4(%rbp)
movl -0xc4(%rbp), %eax
shll %eax
movl -0xd4(%rbp), %ecx
addl $0x1, %ecx
addl %ecx, %eax
movl %eax, -0xc4(%rbp)
movl -0x7c(%rbp), %eax
andl -0xd4(%rbp), %eax
addl -0x80(%rbp), %eax
movl %eax, -0x80(%rbp)
movl -0xcc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xcc(%rbp)
cmpl $0x0, %eax
jne 0xaa823
movq -0x28(%rbp), %rax
movq %rax, -0x88(%rbp)
movl -0xc4(%rbp), %eax
shll $0x4, %eax
movl %eax, -0xc4(%rbp)
movl $0x1, -0xd8(%rbp)
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaa91f
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaa981
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xd8(%rbp)
jmp 0xaa9d1
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
addl $0x2, %eax
movl %eax, -0xd8(%rbp)
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaaa17
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaaa79
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
addl $0x2, %eax
movl %eax, -0xd8(%rbp)
jmp 0xaaac9
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0xd8(%rbp)
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaab0f
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaab71
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
addl $0x4, %eax
movl %eax, -0xd8(%rbp)
jmp 0xaabc1
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
addl $0x8, %eax
movl %eax, -0xd8(%rbp)
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaac07
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x7c(%rbp), %eax
shrl $0xb, %eax
imull -0x90(%rbp), %eax
movl %eax, -0x8c(%rbp)
movl -0x80(%rbp), %eax
cmpl -0x8c(%rbp), %eax
jae 0xaac69
movl -0x8c(%rbp), %eax
movl %eax, -0x7c(%rbp)
movl -0x90(%rbp), %eax
movl $0x800, %ecx            # imm = 0x800
subl -0x90(%rbp), %ecx
shrl $0x5, %ecx
addl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
subl $0x8, %eax
movl %eax, -0xd8(%rbp)
jmp 0xaacaa
movl -0x8c(%rbp), %ecx
movl -0x7c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7c(%rbp)
movl -0x8c(%rbp), %ecx
movl -0x80(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x80(%rbp)
movl -0x90(%rbp), %eax
movl -0x90(%rbp), %ecx
shrl $0x5, %ecx
subl %ecx, %eax
movw %ax, %dx
movq -0x88(%rbp), %rax
movl -0xd8(%rbp), %ecx
movw %dx, (%rax,%rcx,2)
movl -0xd8(%rbp), %eax
orl -0xc4(%rbp), %eax
movl %eax, -0xc4(%rbp)
cmpl $-0x1, -0xc4(%rbp)
jne 0xaacda
movl $0x112, -0x6c(%rbp)     # imm = 0x112
movl -0x2c(%rbp), %eax
subl $0xc, %eax
movl %eax, -0x2c(%rbp)
jmp 0xaaf3e
jmp 0xaacdc
jmp 0xaacde
movl -0x38(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x34(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x34(%rbp)
movl -0xc4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x30(%rbp)
movl -0x2c(%rbp), %edx
movl $0xa, %eax
movl $0x7, %ecx
cmpl $0x13, %edx
cmovbl %ecx, %eax
movl %eax, -0x2c(%rbp)
movl -0xc4(%rbp), %eax
movl %eax, -0x168(%rbp)
cmpl $0x0, -0x68(%rbp)
jne 0xaad2f
movl -0x64(%rbp), %eax
movl %eax, -0x16c(%rbp)
jmp 0xaad38
movl -0x68(%rbp), %eax
movl %eax, -0x16c(%rbp)
movl -0x168(%rbp), %eax
movl -0x16c(%rbp), %ecx
cmpl %ecx, %eax
jb 0xaad58
movl -0x6c(%rbp), %eax
addl $0x202, %eax            # imm = 0x202
movl %eax, -0x6c(%rbp)
jmp 0xaaf3e
jmp 0xaad5a
movl -0x6c(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x6c(%rbp)
movq -0x18(%rbp), %rax
subq -0x60(%rbp), %rax
movq %rax, -0xe0(%rbp)
cmpq $0x0, %rax
jne 0xaad7d
jmp 0xaaf3e
movq -0xe0(%rbp), %rax
movl -0x6c(%rbp), %ecx
cmpq %rcx, %rax
jae 0xaad9b
movq -0xe0(%rbp), %rax
movl %eax, -0x170(%rbp)
jmp 0xaada4
movl -0x6c(%rbp), %eax
movl %eax, -0x170(%rbp)
movl -0x170(%rbp), %eax
movl %eax, -0xe4(%rbp)
movq -0x60(%rbp), %rax
movl -0x30(%rbp), %ecx
subq %rcx, %rax
movq %rax, -0x178(%rbp)
movq -0x60(%rbp), %rax
movl -0x30(%rbp), %ecx
cmpq %rcx, %rax
jae 0xaadda
movq -0x58(%rbp), %rax
movq %rax, -0x180(%rbp)
jmp 0xaade5
xorl %eax, %eax
movq %rax, -0x180(%rbp)
jmp 0xaade5
movq -0x178(%rbp), %rax
movq -0x180(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xf0(%rbp)
movl -0xe4(%rbp), %eax
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0xe4(%rbp), %ecx
movl -0x6c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x6c(%rbp)
movl -0xe4(%rbp), %eax
movq -0x58(%rbp), %rcx
subq -0xf0(%rbp), %rcx
cmpq %rcx, %rax
ja 0xaaeaa
movq -0x50(%rbp), %rax
addq -0x60(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0xf0(%rbp), %rax
subq -0x60(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0xf8(%rbp), %rax
movl -0xe4(%rbp), %ecx
addq %rcx, %rax
movq %rax, -0x108(%rbp)
movl -0xe4(%rbp), %eax
addq -0x60(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0xf8(%rbp), %rax
movq -0x100(%rbp), %rcx
movb (%rax,%rcx), %cl
movq -0xf8(%rbp), %rax
movb %cl, (%rax)
movq -0xf8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xf8(%rbp)
cmpq -0x108(%rbp), %rax
jne 0xaae73
jmp 0xaaf0b
jmp 0xaaeac
movq -0x50(%rbp), %rax
movq -0xf0(%rbp), %rcx
movb (%rax,%rcx), %dl
movq -0x50(%rbp), %rax
movq -0x60(%rbp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, -0x60(%rbp)
movb %dl, (%rax,%rcx)
movq -0xf0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xf0(%rbp)
cmpq -0x58(%rbp), %rax
jne 0xaaef3
movq $0x0, -0xf0(%rbp)
jmp 0xaaef5
movl -0xe4(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xe4(%rbp)
cmpl $0x0, %eax
jne 0xaaeac
jmp 0xaaf0b
jmp 0xaaf0d
movq -0x60(%rbp), %rcx
xorl %eax, %eax
cmpq -0x18(%rbp), %rcx
movb %al, -0x181(%rbp)
jae 0xaaf30
movq -0x78(%rbp), %rax
cmpq -0x20(%rbp), %rax
setb %al
movb %al, -0x181(%rbp)
movb -0x181(%rbp), %al
testb $0x1, %al
jne 0xa7c73
cmpl $0x1000000, -0x7c(%rbp) # imm = 0x1000000
jae 0xaaf6d
movl -0x7c(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x7c(%rbp)
movl -0x80(%rbp), %eax
shll $0x8, %eax
movq -0x78(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x78(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x80(%rbp)
movq -0x78(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x30(%rax)
movl -0x7c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x38(%rax)
movl -0x80(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x3c(%rax)
movl -0x6c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x5c(%rax)
movq -0x60(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x28(%rax)
movl -0x64(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x40(%rax)
movl -0x30(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x48(%rax)
movl -0x34(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4c(%rax)
movl -0x38(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x50(%rax)
movl -0x3c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x54(%rax)
movl -0x2c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x58(%rax)
cmpl $0x200, -0x6c(%rbp)     # imm = 0x200
jb 0xaaff1
movl $0x1, -0x4(%rbp)
jmp 0xaaff8
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x108, %rsp            # imm = 0x108
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop