// File: sisong[P]ApkDiffPatch/lzma/C/LzmaDec.c
// Function: LzmaDec_TryDummy
static ELzmaDummy LzmaDec_TryDummy(const CLzmaDec *p, const Byte *buf, const Byte **bufOut)
{
  UInt32 range = p->range;
  UInt32 code = p->code;
  const Byte *bufLimit = *bufOut;
  const CLzmaProb *probs = GET_PROBS;
  unsigned state = (unsigned)p->state;
  ELzmaDummy res;

  for (;;)
  {
    const CLzmaProb *prob;
    UInt32 bound;
    unsigned ttt;
    unsigned posState = CALC_POS_STATE(p->processedPos, ((unsigned)1 << p->prop.pb) - 1);

    prob = probs + IsMatch + COMBINED_PS_STATE;
    IF_BIT_0_CHECK(prob)
    {
      UPDATE_0_CHECK

      prob = probs + Literal;
      if (p->checkDicSize != 0 || p->processedPos != 0)
        prob += ((UInt32)LZMA_LIT_SIZE *
            ((((p->processedPos) & (((unsigned)1 << (p->prop.lp)) - 1)) << p->prop.lc) +
            ((unsigned)p->dic[(p->dicPos == 0 ? p->dicBufSize : p->dicPos) - 1] >> (8 - p->prop.lc))));

      if (state < kNumLitStates)
      {
        unsigned symbol = 1;
        do { GET_BIT_CHECK(prob + symbol, symbol) } while (symbol < 0x100);
      }
      else
      {
        unsigned matchByte = p->dic[p->dicPos - p->reps[0] +
            (p->dicPos < p->reps[0] ? p->dicBufSize : 0)];
        unsigned offs = 0x100;
        unsigned symbol = 1;
        do
        {
          unsigned bit;
          const CLzmaProb *probLit;
          matchByte += matchByte;
          bit = offs;
          offs &= matchByte;
          probLit = prob + (offs + bit + symbol);
          GET_BIT2_CHECK(probLit, symbol, offs ^= bit; , ; )
        }
        while (symbol < 0x100);
      }
      res = DUMMY_LIT;
    }
    else
    {
      unsigned len;
      UPDATE_1_CHECK

      prob = probs + IsRep + state;
      IF_BIT_0_CHECK(prob)
      {
        UPDATE_0_CHECK
        state = 0;
        prob = probs + LenCoder;
        res = DUMMY_MATCH;
      }
      else
      {
        UPDATE_1_CHECK
        res = DUMMY_REP;
        prob = probs + IsRepG0 + state;
        IF_BIT_0_CHECK(prob)
        {
          UPDATE_0_CHECK
          prob = probs + IsRep0Long + COMBINED_PS_STATE;
          IF_BIT_0_CHECK(prob)
          {
            UPDATE_0_CHECK
            break;
          }
          else
          {
            UPDATE_1_CHECK
          }
        }
        else
        {
          UPDATE_1_CHECK
          prob = probs + IsRepG1 + state;
          IF_BIT_0_CHECK(prob)
          {
            UPDATE_0_CHECK
          }
          else
          {
            UPDATE_1_CHECK
            prob = probs + IsRepG2 + state;
            IF_BIT_0_CHECK(prob)
            {
              UPDATE_0_CHECK
            }
            else
            {
              UPDATE_1_CHECK
            }
          }
        }
        state = kNumStates;
        prob = probs + RepLenCoder;
      }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x58, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl 0x38(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x10(%rbp), %rax
movl 0x3c(%rax), %eax
movl %eax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x58(%rax), %eax
movl %eax, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movl 0x40(%rax), %eax
movq -0x10(%rbp), %rcx
movzbl 0x2(%rcx), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
andl %ecx, %eax
shll $0x4, %eax
movl %eax, -0x54(%rbp)
movq -0x38(%rbp), %rax
addq $-0x200, %rax           # imm = 0xFE00
movl -0x54(%rbp), %ecx
addl -0x3c(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6737
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6711
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6a5b
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x38(%rbp), %rax
addq $0x280, %rax            # imm = 0x280
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x44(%rax)
jne 0xa677c
movq -0x10(%rbp), %rax
cmpl $0x0, 0x40(%rax)
je 0xa6828
movq -0x10(%rbp), %rax
movl 0x40(%rax), %eax
movq -0x10(%rbp), %rcx
movzbl 0x1(%rcx), %ecx
movl $0x1, %edx
shll %cl, %edx
movl %edx, %ecx
subl $0x1, %ecx
andl %ecx, %eax
movq -0x10(%rbp), %rcx
movzbl (%rcx), %ecx
shll %cl, %eax
movl %eax, -0xa4(%rbp)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0xa0(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0xa67d3
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xb0(%rbp)
jmp 0xa67e2
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0xb0(%rbp)
movl -0xa4(%rbp), %eax
movq -0xa0(%rbp), %rcx
movq -0xb0(%rbp), %rdx
subq $0x1, %rdx
movzbl (%rcx,%rdx), %edx
movq -0x10(%rbp), %rcx
movzbl (%rcx), %esi
movl $0x8, %ecx
subl %esi, %ecx
shrl %cl, %edx
movl %edx, %ecx
addl %ecx, %eax
imull $0x300, %eax, %ecx      # imm = 0x300
movq -0x48(%rbp), %rax
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
cmpl $0x7, -0x3c(%rbp)
jae 0xa68e8
movl $0x1, -0x58(%rbp)
movq -0x48(%rbp), %rax
movl -0x58(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa688c
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6866
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa68b2
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x58(%rbp), %eax
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xa68d4
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x58(%rbp), %eax
addl -0x58(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x58(%rbp)
jmp 0xa68d6
cmpl $0x100, -0x58(%rbp)     # imm = 0x100
jb 0xa6839
jmp 0xa6a4f
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0xc0(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rcx
movl 0x48(%rcx), %ecx
subq %rcx, %rax
movq %rax, -0xb8(%rbp)
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rax
movq -0x10(%rbp), %rcx
movl 0x48(%rcx), %ecx
cmpq %rcx, %rax
jae 0xa6935
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0xc8(%rbp)
jmp 0xa6940
xorl %eax, %eax
movq %rax, -0xc8(%rbp)
jmp 0xa6940
movq -0xc0(%rbp), %rax
movq -0xb8(%rbp), %rcx
movq -0xc8(%rbp), %rdx
addq %rdx, %rcx
movzbl (%rax,%rcx), %eax
movl %eax, -0x5c(%rbp)
movl $0x100, -0x60(%rbp)     # imm = 0x100
movl $0x1, -0x64(%rbp)
movl -0x5c(%rbp), %eax
addl -0x5c(%rbp), %eax
movl %eax, -0x5c(%rbp)
movl -0x60(%rbp), %eax
movl %eax, -0x68(%rbp)
movl -0x5c(%rbp), %eax
andl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
movq -0x48(%rbp), %rax
movl -0x60(%rbp), %ecx
addl -0x68(%rbp), %ecx
addl -0x64(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa69ed
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa69c7
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6a1c
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x64(%rbp), %eax
addl -0x64(%rbp), %eax
movl %eax, -0x64(%rbp)
movl -0x68(%rbp), %eax
xorl -0x60(%rbp), %eax
movl %eax, -0x60(%rbp)
jmp 0xa6a3e
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x64(%rbp), %eax
addl -0x64(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x64(%rbp)
jmp 0xa6a40
cmpl $0x100, -0x64(%rbp)     # imm = 0x100
jb 0xa696d
jmp 0xa6a4f
movl $0x1, -0x40(%rbp)
jmp 0xa7333
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movq -0x38(%rbp), %rax
addq $0x20, %rax
movl -0x3c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6ad5
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6aaf
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6b11
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movl $0x0, -0x3c(%rbp)
movq -0x38(%rbp), %rax
addq $-0x600, %rax           # imm = 0xFA00
movq %rax, -0x48(%rbp)
movl $0x2, -0x40(%rbp)
jmp 0xa6db7
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl $0x3, -0x40(%rbp)
movq -0x38(%rbp), %rax
addq $0x38, %rax
movl -0x3c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6b92
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6b6c
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6c57
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x38(%rbp), %rax
addq $-0xc00, %rax           # imm = 0xF400
movl -0x54(%rbp), %ecx
addl -0x3c(%rbp), %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6c1c
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6bf6
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6c3c
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
jmp 0xa7335
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
jmp 0xa6da2
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movq -0x38(%rbp), %rax
addq $0x50, %rax
movl -0x3c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6cd1
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6cab
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6cf1
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
jmp 0xa6da0
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movq -0x38(%rbp), %rax
addq $0x68, %rax
movl -0x3c(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6d6b
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6d45
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6d88
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
jmp 0xa6d9e
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
jmp 0xa6da0
jmp 0xa6da2
movl $0xc, -0x3c(%rbp)
movq -0x38(%rbp), %rax
addq $-0xa00, %rax           # imm = 0xF600
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6e14
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6dee
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6e56
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x48(%rbp), %rax
movl -0x54(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x88(%rbp)
movl $0x0, -0x7c(%rbp)
movl $0x8, -0x78(%rbp)
jmp 0xa6f47
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movq -0x48(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rax
movzwl (%rax), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6ecd
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6ea7
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6f10
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movq -0x48(%rbp), %rax
movl -0x54(%rbp), %ecx
shlq %rcx
addq %rcx, %rax
addq $0x10, %rax
movq %rax, -0x88(%rbp)
movl $0x8, -0x7c(%rbp)
movl $0x8, -0x78(%rbp)
jmp 0xa6f45
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movq -0x48(%rbp), %rax
addq $0x200, %rax            # imm = 0x200
movq %rax, -0x88(%rbp)
movl $0x10, -0x7c(%rbp)
movl $0x100, -0x78(%rbp)     # imm = 0x100
jmp 0xa6f47
movl $0x1, -0x74(%rbp)
movq -0x88(%rbp), %rax
movl -0x74(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa6fa4
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa6f7e
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa6fca
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x74(%rbp), %eax
addl -0x74(%rbp), %eax
movl %eax, -0x74(%rbp)
jmp 0xa6fec
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x74(%rbp), %eax
addl -0x74(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x74(%rbp)
jmp 0xa6fee
movl -0x74(%rbp), %eax
cmpl -0x78(%rbp), %eax
jb 0xa6f4e
movl -0x78(%rbp), %ecx
movl -0x74(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x74(%rbp)
movl -0x7c(%rbp), %eax
addl -0x74(%rbp), %eax
movl %eax, -0x74(%rbp)
cmpl $0x4, -0x3c(%rbp)
jae 0xa7331
movq -0x38(%rbp), %rax
addq $0x80, %rax
movq %rax, -0xd0(%rbp)
cmpl $0x3, -0x74(%rbp)
jae 0xa703a
movl -0x74(%rbp), %eax
movl %eax, -0xd4(%rbp)
jmp 0xa7047
movl $0x3, %eax
movl %eax, -0xd4(%rbp)
jmp 0xa7047
movq -0xd0(%rbp), %rax
movl -0xd4(%rbp), %ecx
shll $0x6, %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
movl $0x1, -0x8c(%rbp)
movq -0x48(%rbp), %rax
movl -0x8c(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa70c3
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa709d
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa70f2
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x8c(%rbp), %eax
addl -0x8c(%rbp), %eax
movl %eax, -0x8c(%rbp)
jmp 0xa711d
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x8c(%rbp), %eax
addl -0x8c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x8c(%rbp)
jmp 0xa711f
cmpl $0x40, -0x8c(%rbp)
jb 0xa706d
movl -0x8c(%rbp), %eax
subl $0x40, %eax
movl %eax, -0x8c(%rbp)
cmpl $0x4, -0x8c(%rbp)
jb 0xa732f
movl -0x8c(%rbp), %eax
shrl %eax
subl $0x1, %eax
movl %eax, -0x90(%rbp)
cmpl $0xe, -0x8c(%rbp)
jae 0xa7193
movq -0x38(%rbp), %rax
addq $-0xd00, %rax           # imm = 0xF300
movl -0x8c(%rbp), %edx
andl $0x1, %edx
orl $0x2, %edx
movl -0x90(%rbp), %ecx
shll %cl, %edx
movl %edx, %ecx
movl %ecx, %ecx
shlq %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
jmp 0xa722e
movl -0x90(%rbp), %eax
subl $0x4, %eax
movl %eax, -0x90(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa71e7
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa71c1
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %ecx
movl -0x28(%rbp), %eax
subl -0x24(%rbp), %eax
shrl $0x1f, %eax
subl $0x1, %eax
andl %eax, %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x90(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x90(%rbp)
cmpl $0x0, %eax
jne 0xa71a2
movq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movl $0x4, -0x90(%rbp)
movl $0x1, -0x94(%rbp)
movl $0x1, -0x98(%rbp)
movq -0x48(%rbp), %rax
movl -0x94(%rbp), %ecx
movzwl (%rax,%rcx,2), %eax
movl %eax, -0x50(%rbp)
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa7298
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa7272
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x24(%rbp), %eax
shrl $0xb, %eax
imull -0x50(%rbp), %eax
movl %eax, -0x4c(%rbp)
movl -0x28(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jae 0xa72d9
movl -0x4c(%rbp), %eax
movl %eax, -0x24(%rbp)
movl -0x98(%rbp), %eax
addl -0x94(%rbp), %eax
movl %eax, -0x94(%rbp)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
jmp 0xa7313
movl -0x4c(%rbp), %ecx
movl -0x24(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x24(%rbp)
movl -0x4c(%rbp), %ecx
movl -0x28(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x28(%rbp)
movl -0x98(%rbp), %eax
addl -0x98(%rbp), %eax
movl %eax, -0x98(%rbp)
movl -0x98(%rbp), %eax
addl -0x94(%rbp), %eax
movl %eax, -0x94(%rbp)
jmp 0xa7315
movl -0x90(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x90(%rbp)
cmpl $0x0, %eax
jne 0xa7242
jmp 0xa732f
jmp 0xa7331
jmp 0xa7333
jmp 0xa7335
cmpl $0x1000000, -0x24(%rbp) # imm = 0x1000000
jae 0xa7377
movq -0x18(%rbp), %rax
cmpq -0x30(%rbp), %rax
jb 0xa7351
movl $0x0, -0x4(%rbp)
jmp 0xa7388
movl -0x24(%rbp), %eax
shll $0x8, %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
shll $0x8, %eax
movq -0x18(%rbp), %rcx
movq %rcx, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movzbl (%rcx), %ecx
orl %ecx, %eax
movl %eax, -0x28(%rbp)
movq -0x18(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movl -0x40(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x58, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)