// File: /workspace/github_cpp_makefile_star2_O1/lvandeve[P]lodepng/pngdetail.cpp
// Function: showHeaderInfo(Data&, Options const&)
void showHeaderInfo(Data& data, const Options& options) {
  data.loadInspect();
  if(data.error) return;
  std::cout << (options.use_hex ? std::hex: std::dec);

  const LodePNGInfo& info = data.state.info_png;
  const LodePNGColorMode& color = info.color;
  if(options.show_header) {
    std::cout << "Filesize: " << data.buffer.size() << " (" << data.buffer.size() / 1024 << "K)" << std::endl;
    if(data.is_icc) {
      std::cout << "Not a PNG but an ICC profile, use -i or -I for more info." << std::endl;
    } else if(data.is_exif) {
      std::cout << "Not a PNG but an EXIF file, use -e for more info." << std::endl;
    } else {
      std::cout << "Width: " << data.w << std::endl;
      std::cout << "Height: " << data.h << std::endl;
      if(options.verbose) {
        double bpp = data.buffer.size() / (double)(data.w * data.h);
        std::cout << "Compressed bpp: " << bpp << std::endl;
      }
      std::cout << "Interlace method: " << info.interlace_method << std::endl;
      if(options.verbose) {
        std::cout << "Compression method: " << info.compression_method << std::endl;
        std::cout << "Filter method: " << info.filter_method << std::endl;
      }
      std::cout << "Color type: " << colorTypeString(color.colortype) << std::endl;
      std::cout << "Bit depth: " << color.bitdepth << std::endl;
      if(options.verbose) {
        std::cout << "Bits per pixel: " << lodepng_get_bpp(&color) << std::endl;
        std::cout << "Channels per pixel: " << lodepng_get_channels(&color) << std::endl;
        std::cout << "Is greyscale type: " << lodepng_is_greyscale_type(&color) << std::endl;
        std::cout << "Can have alpha: " << lodepng_can_have_alpha(&color) << std::endl;
        std::cout << "Has color key: " << color.key_defined << std::endl;
      }
    }
  }
  if(options.show_png_info && data.is_png) {
    if (color.colortype == LCT_PALETTE) {
      std::cout << "Palette size: " << color.palettesize << std::endl;
    }
    if(color.key_defined) {
      std::cout << "Color key rgb: " << color.key_r
                << ", " << color.key_g
                << ", " << color.key_b << std::endl;
    }
    if(info.background_defined) {
      if(color.colortype == LCT_PALETTE) {
        std::cout << "Background index: " << info.background_r << std::endl;
      } else {
        std::cout << "Background rgb: " << info.background_r
                  << ", " << info.background_g
                  << ", " << info.background_b << std::endl;
      }
    }
    if(info.gama_defined) {
      std::cout << "gAMA defined: " << info.gama_gamma << " (" << (info.gama_gamma / 100000.0)
                << ", " << (100000.0 / info.gama_gamma) << ")" << std::endl;
    }
    if(info.chrm_defined) {
      std::cout << "cHRM defined: w: " << (info.chrm_white_x / 100000.0) << " " << (info.chrm_white_y / 100000.0)
                << ", r: " << (info.chrm_red_x / 100000.0) << " " << (info.chrm_red_y / 100000.0)
                << ", g: " << (info.chrm_green_x / 100000.0) << " " << (info.chrm_green_y / 100000.0)
                << ", b: " << (info.chrm_blue_x / 100000.0) << " " << (info.chrm_blue_y / 100000.0)
                << std::endl;
    }
    if(info.srgb_defined) {
      std::cout << "sRGB defined: rendering intent: " << info.srgb_intent << std::endl;
    }
    if(info.iccp_defined) {
      std::cout << "ICC profile defined (" << info.iccp_profile_size << " bytes): name: " << info.iccp_name << std::endl;
      if(options.verbose && !options.show_icc_details && !options.show_icc_hex) {
        std::cout << "Use -i or -I to show ICC profile details or hex" << std::endl;
      }
    }
    if(info.exif_defined) {
      std::cout << "EXIF metadata defined (" << info.exif_size << " bytes)" << std::endl;
      if(options.verbose && !options.show_exif && !options.show_exif_hex) {
        std::cout << "Use -e or -E to show EXIF details or hex" << std::endl;
      }
    }
  }
  if(info.iccp_defined && options.show_icc_details) {
    if(!options.show_header) {
      std::cout << "ICC profile details (" << info.iccp_profile_size << " bytes), PNG name: " << info.iccp_name << std::endl;
    }
    printICCDetails(info.iccp_profile, info.iccp_profile_size, "  ");
    std::cout << "end of ICC profile" << std::endl;
  }
  if(info.iccp_defined && options.show_icc_hex) {
    showHex(info.iccp_profile, info.iccp_profile_size, options);
  }
  if(info.exif_defined && options.show_exif_hex) {
    showHex(info.exif, info.exif_size, options);
  }

  if(options.show_png_info && data.is_png) {
    if(options.verbose) std::cout << "Physics defined: " << info.phys_defined << std::endl;
    if(info.phys_defined) {
      std::cout << "Physics: X: " << info.phys_x << ", Y: " << info.phys_y << ", unit: " << info.phys_unit << std::endl;
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rsi, %r14
movq %rdi, %rbx
callq 0x1e094
cmpl $0x0, 0x2d8(%rbx)
jne 0x1b98a
leaq 0x3876(%rip), %rax      # 0x1e2ff
leaq 0x387f(%rip), %rcx      # 0x1e30f
cmpb $0x0, 0x24(%r14)
cmovneq %rax, %rcx
movq 0x10530(%rip), %r15     # 0x2afd0
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
callq *%rcx
leaq 0x138(%rbx), %r12
cmpb $0x1, 0x3(%r14)
jne 0x1abba
movq 0x1050b(%rip), %r13     # 0x2afd0
leaq 0x90b7(%rip), %rsi      # 0x23b83
movl $0xa, %edx
movq %r13, %rdi
callq 0x2280
movq 0x28(%rbx), %rsi
subq 0x20(%rbx), %rsi
movq %r13, %rdi
callq 0x2150
movq %rax, %rbp
leaq 0x95d0(%rip), %rsi      # 0x240c3
movl $0x2, %edx
movq %rax, %rdi
callq 0x2280
movq 0x28(%rbx), %rsi
subq 0x20(%rbx), %rsi
shrq $0xa, %rsi
movq %rbp, %rdi
callq 0x2150
movq %rax, %rbp
leaq 0x9070(%rip), %rsi      # 0x23b8e
movl $0x2, %edx
movq %rax, %rdi
callq 0x2280
movq (%rbp), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpb $0x1, 0x2de(%rbx)
jne 0x1ab71
movq 0x1046d(%rip), %r13     # 0x2afd0
leaq 0x932c(%rip), %rsi      # 0x23e96
movl $0x39, %edx
jmp 0x1ab8a
cmpb $0x1, 0x2df(%rbx)
jne 0x1ad13
leaq 0x934b(%rip), %rsi      # 0x23ed0
movl $0x31, %edx
movq %r13, %rdi
callq 0x2280
movq (%r13), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpb $0x1, 0xa(%r14)
jne 0x1b6d7
cmpb $0x1, 0x2dd(%rbx)
jne 0x1b6d7
cmpl $0x3, (%r12)
jne 0x1ac2d
movq 0x103f0(%rip), %r12     # 0x2afd0
leaq 0x8ce0(%rip), %rsi      # 0x238c7
movl $0xe, %edx
movq %r12, %rdi
callq 0x2280
movq 0x148(%rbx), %rsi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x150(%rbx)
je 0x1acd6
movq 0x1038f(%rip), %r12     # 0x2afd0
leaq 0x9388(%rip), %rsi      # 0x23fd0
movl $0xf, %edx
movq %r12, %rdi
callq 0x2280
movl 0x154(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
leaq 0x9049(%rip), %r13      # 0x23cb6
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2280
movl 0x158(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2280
movl 0x15c(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x160(%rbx)
je 0x1b22d
cmpl $0x3, 0x138(%rbx)
jne 0x1b18c
leaq 0x164(%rbx), %r13
leaq 0x92e2(%rip), %rsi      # 0x23fe0
movl $0x12, %edx
movq %r15, %rdi
callq 0x2280
movq %r15, %r12
jmp 0x1b1f7
movq 0x102b6(%rip), %r13     # 0x2afd0
leaq 0x91e1(%rip), %rsi      # 0x23f02
movl $0x7, %edx
movq %r13, %rdi
callq 0x2280
movl 0x50(%rbx), %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
leaq 0x91a0(%rip), %rsi      # 0x23f0a
movl $0x8, %edx
movq %r13, %rdi
callq 0x2280
movl 0x54(%rbx), %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpb $0x1, (%r14)
jne 0x1ae4b
movq 0x28(%rbx), %rax
subq 0x20(%rbx), %rax
movq %rax, %xmm0
punpckldq 0x81e5(%rip), %xmm0 # xmm0 = xmm0[0],mem[0],xmm0[1],mem[1]
subpd 0x81ed(%rip), %xmm0     # 0x22fc0
movapd %xmm0, %xmm1
unpckhpd %xmm0, %xmm1            # xmm1 = xmm1[1],xmm0[1]
movl 0x54(%rbx), %eax
imull 0x50(%rbx), %eax
addsd %xmm0, %xmm1
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd %xmm0, %xmm1
movapd %xmm1, 0x20(%rsp)
movq 0x101d1(%rip), %r13     # 0x2afd0
leaq 0x910d(%rip), %rsi      # 0x23f13
movl $0x10, %edx
movq %r13, %rdi
callq 0x2280
movq %r13, %rdi
movapd 0x20(%rsp), %xmm0
callq 0x2320
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x1017e(%rip), %r13     # 0x2afd0
leaq 0x90cb(%rip), %rsi      # 0x23f24
movl $0x12, %edx
movq %r13, %rdi
callq 0x2280
movl 0x130(%rbx), %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpb $0x1, (%r14)
jne 0x1af47
movq 0x10121(%rip), %r13     # 0x2afd0
leaq 0x9081(%rip), %rsi      # 0x23f37
movl $0x14, %edx
movq %r13, %rdi
callq 0x2280
movl 0x128(%rbx), %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
leaq 0x904a(%rip), %rsi      # 0x23f4c
movl $0xf, %edx
movq %r13, %rdi
callq 0x2280
movl 0x12c(%rbx), %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x10082(%rip), %r13     # 0x2afd0
leaq 0x9007(%rip), %rsi      # 0x23f5c
movl $0xc, %edx
movq %r13, %rdi
callq 0x2280
movl (%r12), %esi
movq %rsp, %rbp
movq %rbp, %rdi
callq 0x164d4
movq (%rbp), %rsi
movq 0x8(%rbp), %rdx
movq %r13, %rdi
callq 0x2280
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1afbe
callq 0x2200
movq 0x1000b(%rip), %r13     # 0x2afd0
leaq 0x8f9d(%rip), %rsi      # 0x23f69
movl $0xb, %edx
movq %r13, %rdi
callq 0x2280
movl 0x13c(%rbx), %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r13, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r13, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpb $0x1, (%r14)
jne 0x1abba
movq 0xffae(%rip), %r13      # 0x2afd0
leaq 0x8f4c(%rip), %rsi      # 0x23f75
movl $0x10, %edx
movq %r13, %rdi
callq 0x2280
movq %r12, %rdi
callq 0x53b2
movl %eax, %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
leaq 0x8f0d(%rip), %rsi      # 0x23f86
movl $0x14, %edx
movq %r13, %rdi
callq 0x2280
movq %r12, %rdi
callq 0x53c4
movl %eax, %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
leaq 0x8ed2(%rip), %rsi      # 0x23f9b
movl $0x13, %edx
movq %r13, %rdi
callq 0x2280
movq %r12, %rdi
callq 0x5400
movl %eax, %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
leaq 0x8e96(%rip), %rsi      # 0x23faf
movl $0x10, %edx
movq %r13, %rdi
callq 0x2280
movq %r12, %rdi
callq 0x5445
movl %eax, %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbp, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
leaq 0x8e57(%rip), %rsi      # 0x23fc0
movl $0xf, %edx
movq %r13, %rdi
callq 0x2280
movl 0x150(%rbx), %esi
movq %r13, %rdi
callq 0x2150
movq %rax, %r13
jmp 0x1ab92
movq 0xfe3d(%rip), %r12      # 0x2afd0
leaq 0x8e59(%rip), %rsi      # 0x23ff3
movl $0x10, %edx
movq %r12, %rdi
callq 0x2280
movl 0x164(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
leaq 0x8af7(%rip), %r13      # 0x23cb6
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2280
movl 0x168(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
movl $0x2, %edx
movq %rax, %rdi
movq %r13, %rsi
callq 0x2280
leaq 0x16c(%rbx), %r13
movl (%r13), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x1f0(%rbx)
je 0x1b30a
movq 0xfd8f(%rip), %r12      # 0x2afd0
leaq 0x8dbc(%rip), %rsi      # 0x24004
movl $0xe, %edx
movq %r12, %rdi
callq 0x2280
movl 0x1f4(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
leaq 0x8e56(%rip), %rsi      # 0x240c3
movl $0x2, %edx
movq %rax, %rdi
callq 0x2280
movl 0x1f4(%rbx), %eax
cvtsi2sd %rax, %xmm0
divsd 0x7d03(%rip), %xmm0     # 0x22f90
movq %r12, %rdi
callq 0x2320
movq %rax, %r12
leaq 0x8a17(%rip), %rsi      # 0x23cb6
movl $0x2, %edx
movq %rax, %rdi
callq 0x2280
movl 0x1f4(%rbx), %eax
cvtsi2sd %rax, %xmm1
movsd 0x7cd1(%rip), %xmm0     # 0x22f90
divsd %xmm1, %xmm0
movq %r12, %rdi
callq 0x2320
movq %rax, %r12
leaq 0x7c19(%rip), %rsi      # 0x22eee
movl $0x1, %edx
movq %rax, %rdi
callq 0x2280
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x1f8(%rbx)
je 0x1b4e4
movq 0xfcb2(%rip), %r12      # 0x2afd0
leaq 0x8cee(%rip), %rsi      # 0x24013
movl $0x11, %edx
movq %r12, %rdi
callq 0x2280
movl 0x1fc(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7c48(%rip), %xmm0     # 0x22f90
movq %r12, %rdi
callq 0x2320
movq %rax, %r13
leaq 0x8dc8(%rip), %r12      # 0x24122
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2280
movl 0x200(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7c10(%rip), %xmm0     # 0x22f90
movq %r13, %rdi
callq 0x2320
movq %rax, %r13
leaq 0x8c93(%rip), %rsi      # 0x24025
movl $0x5, %edx
movq %rax, %rdi
callq 0x2280
movl 0x204(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7bdb(%rip), %xmm0     # 0x22f90
movq %r13, %rdi
callq 0x2320
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2280
movl 0x208(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7baa(%rip), %xmm0     # 0x22f90
movq %r13, %rdi
callq 0x2320
movq %rax, %r13
leaq 0x8c33(%rip), %rsi      # 0x2402b
movl $0x5, %edx
movq %rax, %rdi
callq 0x2280
movl 0x20c(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7b75(%rip), %xmm0     # 0x22f90
movq %r13, %rdi
callq 0x2320
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2280
movl 0x210(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7b44(%rip), %xmm0     # 0x22f90
movq %r13, %rdi
callq 0x2320
movq %rax, %r13
leaq 0x8bd3(%rip), %rsi      # 0x24031
movl $0x5, %edx
movq %rax, %rdi
callq 0x2280
movl 0x214(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7b0f(%rip), %xmm0     # 0x22f90
movq %r13, %rdi
callq 0x2320
movq %rax, %r13
movl $0x1, %edx
movq %rax, %rdi
movq %r12, %rsi
callq 0x2280
movl 0x218(%rbx), %eax
xorps %xmm0, %xmm0
cvtsi2sd %rax, %xmm0
divsd 0x7ade(%rip), %xmm0     # 0x22f90
movq %r13, %rdi
callq 0x2320
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x21c(%rbx)
je 0x1b540
movq 0xfadc(%rip), %r12      # 0x2afd0
leaq 0x8b3c(%rip), %rsi      # 0x24037
movl $0x20, %edx
movq %r12, %rdi
callq 0x2280
movl 0x220(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x224(%rbx)
je 0x1b62b
movq 0xfa7c(%rip), %r12      # 0x2afd0
leaq 0x8afd(%rip), %rsi      # 0x24058
movl $0x15, %edx
movq %r12, %rdi
callq 0x2280
movl 0x238(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
leaq 0x8aee(%rip), %rsi      # 0x2406e
movl $0xf, %edx
movq %rax, %rdi
callq 0x2280
movq 0x228(%rbx), %r13
testq %r13, %r13
je 0x1b5b1
movq %r13, %rdi
callq 0x20e0
movq %r12, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x2280
jmp 0x1b5cc
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r12, %rdi
addq %rax, %rdi
movl 0x20(%r12,%rax), %esi
orl $0x1, %esi
callq 0x2370
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpb $0x1, (%r14)
jne 0x1b62b
cmpb $0x0, 0x5(%r14)
jne 0x1b62b
cmpb $0x0, 0x6(%r14)
jne 0x1b62b
movq 0xf9c1(%rip), %r12      # 0x2afd0
leaq 0x8a68(%rip), %rsi      # 0x2407e
movl $0x2f, %edx
movq %r12, %rdi
callq 0x2280
movq %r12, %rdi
callq 0x2100
cmpl $0x0, 0x1b0(%rbx)
je 0x1b6d7
movq 0xf991(%rip), %r12      # 0x2afd0
leaq 0x8a68(%rip), %rsi      # 0x240ae
movl $0x17, %edx
movq %r12, %rdi
callq 0x2280
movl 0x1c0(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
leaq 0x8a5b(%rip), %rsi      # 0x240c6
movl $0x7, %edx
movq %rax, %rdi
callq 0x2280
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpb $0x1, (%r14)
jne 0x1b6d7
cmpb $0x0, 0x7(%r14)
jne 0x1b6d7
cmpb $0x0, 0x8(%r14)
jne 0x1b6d7
movq 0xf915(%rip), %r12      # 0x2afd0
leaq 0x8a0c(%rip), %rsi      # 0x240ce
movl $0x28, %edx
movq %r12, %rdi
callq 0x2280
movq %r12, %rdi
callq 0x2100
cmpl $0x0, 0x224(%rbx)
je 0x1b825
cmpb $0x1, 0x5(%r14)
jne 0x1b825
cmpb $0x0, 0x3(%r14)
jne 0x1b7a1
movq 0xf8cf(%rip), %r12      # 0x2afd0
leaq 0x89ef(%rip), %rsi      # 0x240f7
movl $0x15, %edx
movq %r12, %rdi
callq 0x2280
movl 0x238(%rbx), %esi
movq %r12, %rdi
callq 0x2150
movq %rax, %r12
leaq 0x89e0(%rip), %rsi      # 0x2410d
movl $0x13, %edx
movq %rax, %rdi
callq 0x2280
movq 0x228(%rbx), %r13
testq %r13, %r13
je 0x1b75e
movq %r13, %rdi
callq 0x20e0
movq %r12, %rdi
movq %r13, %rsi
movq %rax, %rdx
callq 0x2280
jmp 0x1b779
movq (%r12), %rax
movq -0x18(%rax), %rax
movq %r12, %rdi
addq %rax, %rdi
movl 0x20(%r12,%rax), %esi
orl $0x1, %esi
callq 0x2370
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x230(%rbx), %r12
movl 0x238(%rbx), %r13d
leaq 0x10(%rsp), %rbp
movq %rbp, -0x10(%rbp)
leaq 0x8962(%rip), %rsi      # 0x24121
leaq 0x895d(%rip), %rdx      # 0x24123
movq %rsp, %rdi
callq 0x150da
movq %rsp, %rdx
movq %r12, %rdi
movq %r13, %rsi
callq 0x193c3
movq (%rsp), %rdi
cmpq %rbp, %rdi
je 0x1b7ea
callq 0x2200
leaq 0x8933(%rip), %rsi      # 0x24124
movl $0x12, %edx
movq %r15, %rdi
callq 0x2280
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x224(%rbx)
je 0x1b84a
cmpb $0x1, 0x6(%r14)
jne 0x1b84a
movq 0x230(%rbx), %rdi
movl 0x238(%rbx), %esi
movq %r14, %rdx
callq 0x1a937
cmpl $0x0, 0x1b0(%rbx)
je 0x1b86f
cmpb $0x1, 0x8(%r14)
jne 0x1b86f
movq 0x1b8(%rbx), %rdi
movl 0x1c0(%rbx), %esi
movq %r14, %rdx
callq 0x1a937
cmpb $0x1, 0xa(%r14)
jne 0x1b98a
cmpb $0x1, 0x2dd(%rbx)
jne 0x1b98a
cmpb $0x1, (%r14)
jne 0x1b8e0
movq 0xf73c(%rip), %r14      # 0x2afd0
leaq 0x889c(%rip), %rsi      # 0x24137
movl $0x11, %edx
movq %r14, %rdi
callq 0x2280
movl 0x1e0(%rbx), %esi
movq %r14, %rdi
callq 0x2150
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %r14, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r14, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
cmpl $0x0, 0x1e0(%rbx)
je 0x1b98a
movq 0xf6dc(%rip), %r14      # 0x2afd0
leaq 0x884e(%rip), %rsi      # 0x24149
movl $0xc, %edx
movq %r14, %rdi
callq 0x2280
movl 0x1e4(%rbx), %esi
movq %r14, %rdi
callq 0x2150
movq %rax, %r14
leaq 0x8836(%rip), %rsi      # 0x24156
movl $0x5, %edx
movq %rax, %rdi
callq 0x2280
movl 0x1e8(%rbx), %esi
movq %r14, %rdi
callq 0x2150
movq %rax, %r14
leaq 0x8817(%rip), %rsi      # 0x2415c
movl $0x8, %edx
movq %rax, %rdi
callq 0x2280
movl 0x1ec(%rbx), %esi
movq %r14, %rdi
callq 0x2150
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbx, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %rbx, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %rbp, %rdi
jne 0x1b9bd
jmp 0x1b9c2
movq %rax, %rbx
jmp 0x1b9c2
movq %rax, %rbx
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1b9c2
callq 0x2200
movq %rbx, %rdi
callq 0x2390