// File: /workspace/github_cpp_makefile_star2_O3/blackle[P]LZMA-Vizualizer/LzmaSpec.cpp
// Function: main
int main(int argc, char** argv)
{
  int r = parse_args(argc, argv);
  if (r >= 0) return r;

  CInputStream inStream;
  inStream.File = fopen(options.infile.c_str(), "rb");
  if (inStream.File == 0)
    throw "Can't open input file";
  inStream.Init();

  CLzmaDecoder lzmaDecoder;

  Byte header[13];
  int i;
  for (i = 0; i < 13; i++)
    header[i] = inStream.ReadByte();

  lzmaDecoder.DecodeProperties(header);

  UInt64 unpackSize = 0;
  bool unpackSizeDefined = false;
  for (i = 0; i < 8; i++)
  {
    Byte b = header[5 + i];
    if (b != 0xFF)
      unpackSizeDefined = true;
    unpackSize |= (UInt64)b << (8 * i);
  }

  lzmaDecoder.markerIsMandatory = !unpackSizeDefined;

  lzmaDecoder.RangeDec.InStream = &inStream;

  lzmaDecoder.Create();

  int res = lzmaDecoder.Decode(unpackSizeDefined, unpackSize);

  if (res == LZMA_RES_ERROR)
    throw "LZMA decoding error";

  if (lzmaDecoder.RangeDec.Corrupted)
  {
    std::cerr << "Warning: LZMA stream is corrupted" << std::endl;
  }

  double maxPerplexity = *std::max_element(lzmaDecoder.Perplexities.begin(), lzmaDecoder.Perplexities.end());

  if (!options.kkpout.empty()) {
    return output_kkp(lzmaDecoder, maxPerplexity);
  } else if (options.pretty) {
    return output_console(lzmaDecoder, maxPerplexity);
  } else {
    return output_raw(lzmaDecoder, maxPerplexity);
  }

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xfd8, %rsp            # imm = 0xFD8
movq %rsi, %rbx
movl %edi, %r14d
movl $0x1, %r13d
movl $0x1, %edi
callq 0x2260
testl %eax, %eax
setne 0x6604(%rip)            # 0x91b8
leaq 0x65bd(%rip), %r15      # 0x9178
movw $0x0, 0x65f5(%rip)      # 0x91b9
movq 0x65d5(%rip), %rdx      # 0x91a0
leaq 0x65c6(%rip), %rdi      # 0x9198
leaq 0x3605(%rip), %r12      # 0x61de
xorl %esi, %esi
movq %r12, %rcx
xorl %r8d, %r8d
callq 0x21f0
movq 0x6593(%rip), %rdx      # 0x9180
movq %r15, %rdi
xorl %esi, %esi
movq %r12, %rcx
xorl %r8d, %r8d
callq 0x21f0
cmpl $0x2, %r14d
jge 0x2c10
movq %rbx, %rdi
callq 0x3852
jmp 0x316e
leal -0x1(%r14), %eax
movl %eax, -0x2c(%rbp)
movslq %r13d, %r12
movq (%rbx,%r12,8), %r15
movq %r15, %rdi
leaq 0x34f8(%rip), %rsi      # 0x6120
callq 0x21d0
testl %eax, %eax
je 0x2cbf
movq %r15, %rdi
leaq 0x34e7(%rip), %rsi      # 0x6126
callq 0x21d0
testl %eax, %eax
je 0x2cd1
movq %r15, %rdi
leaq 0x34d6(%rip), %rsi      # 0x612c
callq 0x21d0
testl %eax, %eax
je 0x2cc8
movq %r15, %rdi
leaq 0x34ca(%rip), %rsi      # 0x6133
callq 0x21d0
testl %eax, %eax
je 0x2cc8
movq %r15, %rdi
leaq 0x34c2(%rip), %rsi      # 0x613e
callq 0x21d0
testl %eax, %eax
je 0x30f5
movq %r15, %rdi
leaq 0x34b2(%rip), %rsi      # 0x6145
callq 0x21d0
testl %eax, %eax
je 0x2cda
cmpq $0x0, 0x64dc(%rip)      # 0x9180
jne 0x3228
movq %r15, %rdi
callq 0x20a0
leaq 0x64bf(%rip), %rdi      # 0x9178
xorl %esi, %esi
xorl %edx, %edx
jmp 0x2d07
movb $0x0, 0x64f2(%rip)      # 0x91b8
jmp 0x2d12
movb $0x1, 0x64eb(%rip)      # 0x91ba
jmp 0x2d12
movb $0x1, 0x64e1(%rip)      # 0x91b9
jmp 0x2d12
cmpl -0x2c(%rbp), %r13d
je 0x363b
incl %r13d
movq 0x8(%rbx,%r12,8), %r15
movq 0x64ad(%rip), %r12      # 0x91a0
movq %r15, %rdi
callq 0x20a0
leaq 0x6496(%rip), %rdi      # 0x9198
xorl %esi, %esi
movq %r12, %rdx
movq %r15, %rcx
movq %rax, %r8
callq 0x21f0
incl %r13d
cmpl %r14d, %r13d
jl 0x2c17
cmpq $0x0, 0x645a(%rip)      # 0x9180
je 0x308b
movq 0x6445(%rip), %rdi      # 0x9178
leaq 0x3366(%rip), %rsi      # 0x60a0
callq 0x2190
movq %rax, -0xe0(%rbp)
testq %rax, %rax
je 0x3749
xorl %r14d, %r14d
leaq -0xe0(%rbp), %rbx
movq %r14, 0x8(%rbx)
movq %r14, -0xfe0(%rbp)
movq %r14, -0xf88(%rbp)
movl $0x0, -0xf80(%rbp)
movq %r14, -0xf78(%rbp)
movq %r14, -0xf58(%rbp)
xorps %xmm0, %xmm0
movups %xmm0, -0xfc8(%rbp)
movups %xmm0, -0xfb8(%rbp)
movups %xmm0, -0xfa8(%rbp)
movups %xmm0, -0xf9c(%rbp)
movq %rbx, %rdi
callq 0x38f2
movb %al, -0xcd(%rbp,%r14)
incq %r14
cmpq $0xd, %r14
jne 0x2da2
leaq -0xff8(%rbp), %rdi
leaq -0xcd(%rbp), %rsi
callq 0x3f00
leaq -0xc8(%rbp), %rax
xorl %ecx, %ecx
movl $0x1, %edx
xorl %r15d, %r15d
xorl %r14d, %r14d
movzbl (%rax), %esi
cmpq $0xff, %rsi
movzbl %r15b, %r15d
cmovnel %edx, %r15d
shlq %cl, %rsi
orq %rsi, %r14
incq %rax
addq $0x8, %rcx
cmpq $0x40, %rcx
jne 0x2de2
movl %r15d, %eax
notb %al
andb $0x1, %al
movb %al, -0xf70(%rbp)
movq %rbx, -0xff0(%rbp)
movl -0xf60(%rbp), %ebx
movq %rbx, %rdi
callq 0x2030
movq %rax, -0xfe0(%rbp)
xorl %eax, %eax
movl %eax, -0xfd8(%rbp)
movl %ebx, -0xfd4(%rbp)
movb $0x0, -0xfd0(%rbp)
movl %eax, -0xfcc(%rbp)
movl -0xf64(%rbp), %ecx
addl -0xf6c(%rbp), %ecx
movl $0x300, %edi            # imm = 0x300
shll %cl, %edi
addq %rdi, %rdi
callq 0x2030
leaq -0xff8(%rbp), %rdi
movq %rax, 0xa0(%rdi)
movzbl %r15b, %esi
andl $0x1, %esi
movq %r14, %rdx
callq 0x26e8
testl %eax, %eax
je 0x376e
cmpb $0x1, -0xfe8(%rbp)
jne 0x2eda
movq 0x6155(%rip), %rbx      # 0x8ff0
leaq 0x322b(%rip), %rsi      # 0x60cd
movl $0x21, %edx
movq %rbx, %rdi
callq 0x2180
movq (%rbx), %rax
addq -0x18(%rax), %rbx
movq %rbx, %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq 0x6123(%rip), %rdi      # 0x8ff0
callq 0x2040
movq %rax, %rdi
callq 0x20e0
movq -0xfb0(%rbp), %rax
movq -0xfa8(%rbp), %rcx
cmpq %rcx, %rax
sete %sil
movq %rax, %rdx
addq $0x4, %rdx
cmpq %rcx, %rdx
sete %dil
orb %sil, %dil
jne 0x2f21
movss (%rax), %xmm0
movss (%rdx), %xmm1
ucomiss %xmm0, %xmm1
cmovaq %rdx, %rax
maxss %xmm0, %xmm1
addq $0x4, %rdx
movaps %xmm1, %xmm0
cmpq %rcx, %rdx
jne 0x2f06
cmpq $0x0, 0x6277(%rip)      # 0x91a0
je 0x30af
movq 0x6262(%rip), %rdi      # 0x9198
leaq 0x32f4(%rip), %rsi      # 0x6231
callq 0x2190
testq %rax, %rax
je 0x3104
movq %rax, %rbx
movl -0xfc0(%rbp), %eax
subl -0xfc8(%rbp), %eax
leaq -0x80(%rbp), %r14
movl $0x0, (%r14)
leaq -0xc0(%rbp), %r15
movl %eax, (%r15)
leaq 0x32be(%rip), %rdi      # 0x6234
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rcx
callq 0x2290
movl $0x4, %esi
movl $0x1, %edx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x2290
movl $0x4, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2290
movl $0x4, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2290
movq -0xfc8(%rbp), %rax
cmpq %rax, -0xfc0(%rbp)
je 0x307e
xorl %r12d, %r12d
leaq -0x58(%rbp), %r15
movsbl (%rax,%r12), %edi
movq %rbx, %rsi
callq 0x21a0
movl $0x2, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2290
movq -0xfb0(%rbp), %rax
movss (%rax,%r12,4), %xmm0
mulss 0x2ff3(%rip), %xmm0     # 0x600c
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x58(%rbp)
movl $0x8, %esi
movl $0x1, %edx
movq %r15, %rdi
movq %rbx, %rcx
callq 0x2290
movl $0x2, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2290
movl $0x2, %esi
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rcx
callq 0x2290
incq %r12
movq -0xfc8(%rbp), %rax
movq -0xfc0(%rbp), %rcx
subq %rax, %rcx
cmpq %rcx, %r12
jb 0x2fe2
movq %rbx, %rdi
callq 0x2150
jmp 0x3619
movq (%rbx), %rbx
testq %rbx, %rbx
je 0x310e
movq %rbx, %rdi
callq 0x20a0
movq 0x5f4e(%rip), %rdi      # 0x8ff0
movq %rbx, %rsi
movq %rax, %rdx
callq 0x2180
jmp 0x312c
xorps %xmm0, %xmm0
cvtss2sd (%rax), %xmm0
movsd %xmm0, -0x88(%rbp)
cmpb $0x1, 0x60f3(%rip)      # 0x91b8
jne 0x3178
leaq -0xa0(%rbp), %rdi
callq 0x42ee
cmpb $0x1, 0x60db(%rip)      # 0x91b9
jne 0x3253
leaq -0xa0(%rbp), %rdi
callq 0x4330
jmp 0x325f
movq %rbx, %rdi
callq 0x3852
xorl %ebx, %ebx
jmp 0x3627
movl $0x1, %ebx
jmp 0x361b
movq 0x5edb(%rip), %rax      # 0x8ff0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x2230
movq 0x5ebd(%rip), %rbx      # 0x8ff0
leaq 0x3082(%rip), %rsi      # 0x61bc
movl $0x1a, %edx
movq %rbx, %rdi
callq 0x2180
movq (%rbx), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20e0
movl $0x1, %ebx
jmp 0x3627
movq -0xfc0(%rbp), %rax
cmpq -0xfc8(%rbp), %rax
je 0x31f2
xorl %r15d, %r15d
movq 0x5e3e(%rip), %rbx      # 0x8fd0
movq -0xfb0(%rbp), %rax
xorps %xmm0, %xmm0
cvtss2sd (%rax,%r15,4), %xmm0
divsd -0x88(%rbp), %xmm0
movq %rbx, %rdi
callq 0x2210
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20e0
incq %r15
movq -0xfc0(%rbp), %rax
subq -0xfc8(%rbp), %rax
cmpq %r15, %rax
ja 0x3192
movq 0x5dd7(%rip), %rdi      # 0x8fd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq 0x5dbc(%rip), %rdi      # 0x8fd0
callq 0x2040
xorl %ebx, %ebx
movq %rax, %rdi
callq 0x20e0
jmp 0x361b
movq (%rbx), %rbx
testq %rbx, %rbx
je 0x3666
movq %rbx, %rdi
callq 0x20a0
movq 0x5dad(%rip), %rdi      # 0x8ff0
movq %rbx, %rsi
movq %rax, %rdx
callq 0x2180
jmp 0x3684
leaq -0xa0(%rbp), %rdi
callq 0x4452
movq -0xfc0(%rbp), %rax
cmpq -0xfc8(%rbp), %rax
je 0x35cf
movss 0x2d8d(%rip), %xmm0     # 0x6008
xorps %xmm1, %xmm1
movss %xmm1, -0x34(%rbp)
xorl %ebx, %ebx
leaq -0xa0(%rbp), %r15
movq 0x5d3d(%rip), %r12      # 0x8fd0
leaq 0x2f43(%rip), %r13      # 0x61dd
movss %xmm0, -0x5c(%rbp)
xorps %xmm0, %xmm0
movss %xmm0, -0x30(%rbp)
testl $0x3ff, %ebx            # imm = 0x3FF
jne 0x3313
leaq -0x58(%rbp), %rdi
movq %r15, %rsi
movl $0x40, %edx
callq 0x4546
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq %r12, %rdi
callq 0x2180
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20e0
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x3313
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x2170
movq -0xfb0(%rbp), %rax
movq -0xf98(%rbp), %rdx
movl %ebx, %esi
movl $0x1, %r14d
movl %ebx, %ecx
shlq %cl, %r14
shrl $0x6, %esi
xorps %xmm0, %xmm0
cvtss2sd (%rax,%rbx,4), %xmm0
divsd -0x88(%rbp), %xmm0
andq (%rdx,%rsi,8), %r14
ucomisd 0x2ccb(%rip), %xmm0     # 0x6018
jb 0x3355
sqrtsd %xmm0, %xmm0
jmp 0x335a
callq 0x2120
xorps %xmm1, %xmm1
testq %r14, %r14
je 0x336a
movss 0x2c9e(%rip), %xmm1     # 0x6008
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x2c(%rbp)
cmpb $0x0, 0x5e40(%rip)      # 0x91ba
jne 0x3381
movss -0x2c(%rbp), %xmm1
movss %xmm1, -0x60(%rbp)
movq -0xfc8(%rbp), %rax
movsbl (%rax,%rbx), %r14d
movl %r14d, %edi
callq 0x2280
testl %eax, %eax
movl $0x2e, %eax
cmovel %eax, %r14d
leaq -0x58(%rbp), %rdi
movq %r15, %rsi
movss -0x60(%rbp), %xmm0
callq 0x46de
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq %r12, %rdi
callq 0x2180
movb %r14b, -0x80(%rbp)
movl $0x1, %edx
movq %rax, %rdi
leaq -0x80(%rbp), %rsi
callq 0x2180
movl $0x4, %edx
movq %rax, %rdi
leaq 0x2e63(%rip), %rsi      # 0x624d
callq 0x2180
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x3408
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x2170
movl %ebx, %eax
andl $0x3f, %eax
movss -0x34(%rbp), %xmm0
movss -0x2c(%rbp), %xmm1
addss %xmm1, %xmm0
movss %xmm0, -0x34(%rbp)
movaps %xmm1, %xmm0
maxss -0x30(%rbp), %xmm0
movss %xmm0, -0x30(%rbp)
minss -0x5c(%rbp), %xmm1
movss %xmm1, -0x2c(%rbp)
cmpl $0x3f, %eax
jne 0x35a1
movl $0x1, %edx
movq %r12, %rdi
movq %r13, %rsi
callq 0x2180
leaq -0x58(%rbp), %rdi
movq %r15, %rsi
movss -0x2c(%rbp), %xmm0
callq 0x46de
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq %r12, %rdi
callq 0x2180
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2180
movss -0x34(%rbp), %xmm0
mulss 0x2b7f(%rip), %xmm0     # 0x6010
leaq -0x80(%rbp), %rdi
movq %r15, %rsi
callq 0x46de
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
movq %r14, %rdi
callq 0x2180
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2180
leaq -0xc0(%rbp), %rdi
movq %r15, %rsi
movss -0x30(%rbp), %xmm0
callq 0x46de
movq -0xc0(%rbp), %rsi
movq -0xb8(%rbp), %rdx
movq %r14, %rdi
callq 0x2180
movq %rax, %r14
movl $0x1, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2180
movl $0x4, %edx
movq %r14, %rdi
leaq 0x2d41(%rip), %rsi      # 0x624d
callq 0x2180
movq (%r14), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x20e0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x355a
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x2170
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x3573
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x2170
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x358c
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x2170
xorps %xmm2, %xmm2
movss 0x2a71(%rip), %xmm1     # 0x6008
xorps %xmm0, %xmm0
movss %xmm0, -0x34(%rbp)
jmp 0x35ab
movss -0x2c(%rbp), %xmm1
movss -0x30(%rbp), %xmm2
movq -0xfc0(%rbp), %rax
subq -0xfc8(%rbp), %rax
incq %rbx
movss %xmm1, -0x5c(%rbp)
movss %xmm2, -0x30(%rbp)
cmpq %rbx, %rax
ja 0x32a7
movq 0x59fa(%rip), %rdi      # 0x8fd0
movq (%rdi), %rax
addq -0x18(%rax), %rdi
movl $0xa, %esi
callq 0x2140
movsbl %al, %esi
movq 0x59df(%rip), %rdi      # 0x8fd0
callq 0x2040
movq %rax, %rdi
callq 0x20e0
movq -0xa0(%rbp), %rdi
testq %rdi, %rdi
je 0x3619
movq -0x90(%rbp), %rsi
subq %rdi, %rsi
callq 0x2170
xorl %ebx, %ebx
leaq -0xff8(%rbp), %rdi
callq 0x3fbe
movl %ebx, %eax
addq $0xfd8, %rsp            # imm = 0xFD8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq (%rbx), %rbx
testq %rbx, %rbx
je 0x3713
movq %rbx, %rdi
callq 0x20a0
movq 0x599a(%rip), %rdi      # 0x8ff0
movq %rbx, %rsi
movq %rax, %rdx
callq 0x2180
jmp 0x3731
movq 0x5983(%rip), %rax      # 0x8ff0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x2230
movq 0x5965(%rip), %rbx      # 0x8ff0
leaq 0x2ae5(%rip), %rsi      # 0x6177
movl $0x2f, %edx
movq %rbx, %rdi
callq 0x2180
movq 0x5ad2(%rip), %rsi      # 0x9178
movq 0x5ad3(%rip), %rdx      # 0x9180
movq %rbx, %rdi
callq 0x2180
movq %rax, %rbx
leaq 0x2ae8(%rip), %rsi      # 0x61a7
movl $0x11, %edx
movq %rax, %rdi
callq 0x2180
testq %r15, %r15
je 0x36e9
movq %r15, %rdi
callq 0x20a0
movq %rbx, %rdi
movq %r15, %rsi
movq %rax, %rdx
callq 0x2180
jmp 0x3702
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq %rbx, %rdi
addq %rax, %rdi
movl 0x20(%rbx,%rax), %esi
orl $0x1, %esi
callq 0x2230
leaq 0x2ab0(%rip), %rsi      # 0x61b9
movl $0x2, %edx
jmp 0x313f
movq 0x58d6(%rip), %rax      # 0x8ff0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
leaq (%rax,%rcx), %rdi
movl 0x20(%rax,%rcx), %esi
orl $0x1, %esi
callq 0x2230
movq 0x58b8(%rip), %rbx      # 0x8ff0
leaq 0x2a0c(%rip), %rsi      # 0x614b
movl $0x2b, %edx
jmp 0x313f
movl $0x8, %edi
callq 0x20b0
leaq 0x2949(%rip), %rcx      # 0x60a3
movq %rcx, (%rax)
movq 0x585c(%rip), %rsi      # 0x8fc0
movq %rax, %rdi
xorl %edx, %edx
callq 0x2240
movl $0x8, %edi
callq 0x20b0
leaq 0x293a(%rip), %rcx      # 0x60b9
movq %rcx, (%rax)
movq 0x5837(%rip), %rsi      # 0x8fc0
movq %rax, %rdi
xorl %edx, %edx
callq 0x2240
jmp 0x37b0
jmp 0x37b0
jmp 0x383b
jmp 0x383b
jmp 0x37b0
jmp 0x37b0
jmp 0x3800
jmp 0x37b0
jmp 0x37b7
jmp 0x383b
movq %rax, %rbx
jmp 0x381c
jmp 0x3800
movq %rax, %rbx
jmp 0x37e5
jmp 0x383b
jmp 0x3800
movq %rax, %rbx
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x37e5
movq -0xb0(%rbp), %rsi
incq %rsi
callq 0x2170
movq -0x80(%rbp), %rdi
leaq -0x70(%rbp), %rax
cmpq %rax, %rdi
je 0x3803
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x2170
jmp 0x3803
movq %rax, %rbx
movq -0x58(%rbp), %rdi
leaq -0x48(%rbp), %rax
cmpq %rax, %rdi
je 0x381c
movq -0x48(%rbp), %rsi
incq %rsi
callq 0x2170
movq -0xa0(%rbp), %rdi
testq %rdi, %rdi
je 0x383e
movq -0x90(%rbp), %rsi
subq %rdi, %rsi
callq 0x2170
jmp 0x383e
jmp 0x383b
movq %rax, %rbx
leaq -0xff8(%rbp), %rdi
callq 0x3fbe
movq %rbx, %rdi
callq 0x2270