// File: /workspace/github_cpp_makefile_star2_O2/lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: testBkgdChunk(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, std::vector<unsigned char, std::allocator<unsigned char>> const&, unsigned int, unsigned int, LodePNGColorMode const&, LodePNGColorMode const&, bool, bool)
void testBkgdChunk(unsigned r, unsigned g, unsigned b,
                   unsigned r2, unsigned g2, unsigned b2,
                   const std::vector<unsigned char>& pixels,
                   unsigned w, unsigned h,
                   const LodePNGColorMode& mode_raw,
                   const LodePNGColorMode& mode_png,
                   bool auto_convert, bool expect_encoder_error = false) {
  unsigned error;

  lodepng::State state;
  LodePNGInfo& info = state.info_png;
  lodepng_color_mode_copy(&info.color, &mode_png);
  lodepng_color_mode_copy(&state.info_raw, &mode_raw);
  state.encoder.auto_convert = auto_convert;

  info.background_defined = 1;
  info.background_r = r;
  info.background_g = g;
  info.background_b = b;

  std::vector<unsigned char> png;
  error = lodepng::encode(png, pixels, w, h, state);
  if(expect_encoder_error) {
    ASSERT_NOT_EQUALS(0, error);
    return;
  }
  ASSERT_NO_PNG_ERROR(error);

  lodepng::State state2;
  LodePNGInfo& info2 = state2.info_png;
  state2.info_raw.colortype = LCT_RGBA;
  state2.info_raw.bitdepth = 16;
  unsigned w2, h2;
  std::vector<unsigned char> image2;
  error = lodepng::decode(image2, w2, h2, state2, &png[0], png.size());
  ASSERT_NO_PNG_ERROR(error);

  ASSERT_EQUALS(w, w2);
  ASSERT_EQUALS(h, h2);
  ASSERT_EQUALS(1, info2.background_defined);
  ASSERT_EQUALS(r2, info2.background_r);
  ASSERT_EQUALS(g2, info2.background_g);
  ASSERT_EQUALS(b2, info2.background_b);

  // compare pixels in the "raw" color model
  LodePNGColorMode mode_decoded; lodepng_color_mode_init(&mode_decoded); mode_decoded.bitdepth = 16; mode_decoded.colortype = LCT_RGBA;
  std::vector<unsigned char> image3((w * h * lodepng_get_bpp(&mode_raw) + 7) / 8);
  error = lodepng_convert(image3.data(), image2.data(), &mode_raw, &mode_decoded, w, h);
  ASSERT_NO_PNG_ERROR(error);
  ASSERT_EQUALS(pixels.size(), image3.size());
  for(size_t i = 0; i < image3.size(); i++) {
    ASSERT_EQUALS((int)image3[i], (int)pixels[i]);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x6a8, %rsp            # imm = 0x6A8
movl %edx, %r15d
movl %esi, %r12d
movl %edi, %r13d
movl 0x6f0(%rsp), %ebp
movl 0x6e8(%rsp), %r14d
movq 0x700(%rsp), %rbx
movl %ecx, 0xe8(%rsp)
movl %ecx, 0xf4(%rsp)
movl %r8d, 0xe4(%rsp)
movl %r8d, 0xf0(%rsp)
movl %r9d, 0xe0(%rsp)
movl %r9d, 0xec(%rsp)
leaq 0x428(%rsp), %rdi
callq 0xb84c
leaq 0x508(%rsp), %rdi
movq %rbx, %rsi
callq 0x49a4
movq 0x6f8(%rsp), %rsi
leaq 0x4d0(%rsp), %rdi
callq 0x49a4
movq 0x6e0(%rsp), %rcx
movzbl 0x708(%rsp), %eax
leaq 0x428(%rsp), %r8
movl %eax, 0x80(%r8)
movl $0x1, 0x108(%r8)
movl %r13d, 0x10c(%r8)
movq %rcx, %r13
movl %r12d, 0x110(%r8)
movl %r15d, 0x114(%r8)
xorps %xmm0, %xmm0
leaq 0x110(%rsp), %rdi
movaps %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
movq %rcx, %rsi
movl %r14d, %edx
movl %ebp, %ecx
callq 0xbbcf
movl %eax, %r15d
movb 0x710(%rsp), %al
movl %r15d, 0xb0(%rsp)
testb %al, %al
je 0x3f22b
testl %r15d, %r15d
jne 0x3f70c
leaq 0x21107(%rip), %rsi     # 0x601dd
leaq 0x70(%rsp), %rdi
leaq 0x170(%rsp), %rdx
callq 0x20c0
leaq 0x241e8(%rip), %rdx     # 0x632d7
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x246a0(%rip), %rdx     # 0x637a5
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x21022(%rip), %rdx     # 0x6013d
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
leaq 0x2219c(%rip), %rdx     # 0x612cd
leaq 0x1a8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x5a5df
movq 0x63e8e(%rip), %rdi     # 0xa2fd8
leaq 0x1a8(%rsp), %rsi
callq 0x21d0
leaq 0x1a8(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
movq 0x63e45(%rip), %rdi     # 0xa2fd8
leaq 0x2214f(%rip), %rsi     # 0x612e9
callq 0x21f0
movq %rax, %rbx
leaq 0x8(%rsp), %rsi
andl $0x0, (%rsi)
leaq 0x1a8(%rsp), %rdi
callq 0x5aaac
leaq 0x1a8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x2106f(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x5a957
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x20f25(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x1a8(%rsp), %rdi
callq 0x2270
callq 0x13280
leaq 0x20fab(%rip), %rsi     # 0x601dd
leaq 0x8(%rsp), %rdi
leaq 0x90(%rsp), %rdx
callq 0x20c0
leaq 0x24091(%rip), %rdx     # 0x632dc
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
leaq 0x22365(%rip), %rsi     # 0x615c6
leaq 0x70(%rsp), %rdi
leaq 0x150(%rsp), %rdx
callq 0x20c0
movq 0x78(%rsp), %r12
testq %r12, %r12
je 0x3f2b4
leaq 0x22342(%rip), %rsi     # 0x615c6
leaq 0x170(%rsp), %rdi
leaq 0xb7(%rsp), %rdx
callq 0x20c0
leaq 0x24505(%rip), %rsi     # 0x637a5
leaq 0x28(%rsp), %rdi
leaq 0x170(%rsp), %rdx
callq 0x5a8d9
jmp 0x3f2cd
leaq 0x2230b(%rip), %rsi     # 0x615c6
leaq 0x28(%rsp), %rdi
leaq 0x170(%rsp), %rdx
callq 0x20c0
leaq 0x1a8(%rsp), %rdi
leaq 0x48(%rsp), %rsi
leaq 0x28(%rsp), %rdx
callq 0x5a61f
leaq 0x1a8(%rsp), %rsi
movl %r15d, %edi
callq 0x13352
leaq 0x1a8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
testq %r12, %r12
je 0x3f31d
leaq 0x170(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x1a8(%rsp), %rdi
callq 0xb84c
movabsq $0x1000000006, %rbx     # imm = 0x1000000006
leaq 0x1a8(%rsp), %rcx
movq %rbx, 0xa8(%rcx)
xorps %xmm0, %xmm0
leaq 0x190(%rsp), %rdi
andq $0x0, 0x10(%rdi)
movaps %xmm0, (%rdi)
movq 0x110(%rsp), %r8
movq 0x118(%rsp), %r9
subq %r8, %r9
leaq 0xbc(%rsp), %rsi
leaq 0xb8(%rsp), %rdx
callq 0xb972
movl %eax, %r15d
movl %eax, 0xb0(%rsp)
leaq 0x20e30(%rip), %rsi     # 0x601dd
leaq 0x28(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x20c0
leaq 0x23f1b(%rip), %rdx     # 0x632e1
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x221ea(%rip), %rsi     # 0x615c6
leaq 0x90(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x20c0
movq 0x98(%rsp), %r12
testq %r12, %r12
je 0x3f435
leaq 0x221c1(%rip), %rsi     # 0x615c6
leaq 0x150(%rsp), %rdi
leaq 0xb6(%rsp), %rdx
callq 0x20c0
leaq 0x24384(%rip), %rsi     # 0x637a5
leaq 0x70(%rsp), %rdi
leaq 0x150(%rsp), %rdx
callq 0x5a8d9
jmp 0x3f44e
leaq 0x2218a(%rip), %rsi     # 0x615c6
leaq 0x70(%rsp), %rdi
leaq 0x150(%rsp), %rdx
callq 0x20c0
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x5a61f
leaq 0x48(%rsp), %rsi
movl %r15d, %edi
callq 0x13352
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
testq %r12, %r12
je 0x3f495
leaq 0x150(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
cmpl %r14d, 0xbc(%rsp)
jne 0x3f8a8
cmpl %ebp, 0xb8(%rsp)
jne 0x3f9fb
cmpl $0x1, 0x2b0(%rsp)
jne 0x3fb4e
movl 0xe8(%rsp), %eax
cmpl %eax, 0x2b4(%rsp)
jne 0x3fca4
movl 0xe4(%rsp), %eax
cmpl %eax, 0x2b8(%rsp)
jne 0x3fdf7
movl 0xe0(%rsp), %eax
cmpl %eax, 0x2bc(%rsp)
jne 0x3ff4a
leaq 0x48(%rsp), %rdi
callq 0x4970
movq %rbx, 0x48(%rsp)
movq 0x6f8(%rsp), %rbx
movq %rbx, %rdi
callq 0x4b00
movl %ebp, %esi
imull %r14d, %esi
imull %eax, %esi
addl $0x7, %esi
shrl $0x3, %esi
leaq 0x8(%rsp), %rdx
movb $0x0, (%rdx)
leaq 0xf8(%rsp), %rdi
leaq 0x28(%rsp), %rcx
callq 0x5ab3a
movq 0xf8(%rsp), %rdi
movq 0x190(%rsp), %rsi
leaq 0x48(%rsp), %rcx
movq %rbx, %rdx
movl %r14d, %r8d
movl %ebp, %r9d
callq 0x5390
movl %eax, %ebx
movl %eax, 0xb0(%rsp)
leaq 0x20c47(%rip), %rsi     # 0x601dd
leaq 0x70(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x23db0(%rip), %rdx     # 0x6335c
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x22004(%rip), %rsi     # 0x615c6
leaq 0xc0(%rsp), %rdi
leaq 0xb5(%rsp), %rdx
callq 0x20c0
movq 0xc8(%rsp), %r14
testq %r14, %r14
je 0x3f61e
leaq 0x21fdb(%rip), %rsi     # 0x615c6
leaq 0x130(%rsp), %rdi
leaq 0xb4(%rsp), %rdx
callq 0x20c0
leaq 0x2419e(%rip), %rsi     # 0x637a5
leaq 0x90(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x5a8d9
jmp 0x3f63a
leaq 0x21fa1(%rip), %rsi     # 0x615c6
leaq 0x90(%rsp), %rdi
leaq 0x130(%rsp), %rdx
callq 0x20c0
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x5a61f
leaq 0x8(%rsp), %rsi
movl %ebx, %edi
callq 0x13352
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
testq %r14, %r14
je 0x3f686
leaq 0x130(%rsp), %rdi
callq 0x2270
leaq 0xc0(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
movq (%r13), %rax
movq 0x8(%r13), %rcx
subq %rax, %rcx
movq 0xf8(%rsp), %rdx
movq 0x100(%rsp), %rsi
subq %rdx, %rsi
cmpq %rsi, %rcx
jne 0x4009d
xorl %r14d, %r14d
cmpq %r14, %rcx
je 0x3f6e5
movb (%rdx,%r14), %sil
cmpb (%rax,%r14), %sil
jne 0x3f738
incq %r14
jmp 0x3f6d1
leaq 0xf8(%rsp), %rdi
callq 0xea7c
leaq 0x190(%rsp), %rdi
callq 0xea7c
leaq 0x1a8(%rsp), %rdi
callq 0xb874
leaq 0x110(%rsp), %rdi
callq 0xea7c
leaq 0x428(%rsp), %rdi
callq 0xb874
addq $0x6a8, %rsp            # imm = 0x6A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x20a9e(%rip), %rsi     # 0x601dd
leaq 0xc0(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x23c1c(%rip), %rdx     # 0x63374
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x5a5df
leaq 0x24031(%rip), %rdx     # 0x637a5
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x23bec(%rip), %rdx     # 0x63379
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x20a82(%rip), %rdx     # 0x60225
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
movq 0x6381f(%rip), %rdi     # 0xa2fd8
leaq 0x8(%rsp), %rsi
callq 0x21d0
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
leaq 0xc0(%rsp), %rdi
callq 0x2270
movq 0x637d6(%rip), %rdi     # 0xa2fd8
leaq 0x49704(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
movq 0xf8(%rsp), %rax
movzbl (%rax,%r14), %eax
leaq 0x70(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aaac
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x209fa(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
movq (%r13), %rax
movzbl (%rax,%r14), %eax
leaq 0x90(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x5aaac
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x208a5(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
callq 0x13280
leaq 0x2092e(%rip), %rsi     # 0x601dd
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x20c0
leaq 0x23a1b(%rip), %rdx     # 0x632e6
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x23ec1(%rip), %rdx     # 0x637a5
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x239f1(%rip), %rdx     # 0x632eb
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x20915(%rip), %rdx     # 0x60225
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
movq 0x636b2(%rip), %rdi     # 0xa2fd8
leaq 0x48(%rsp), %rsi
callq 0x21d0
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
movq 0x6366c(%rip), %rdi     # 0xa2fd8
leaq 0x4959a(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
leaq 0x6e8(%rsp), %rsi
callq 0x5a957
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x2089c(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
leaq 0xbc(%rsp), %rsi
callq 0x5a957
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x20752(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40098
leaq 0x207db(%rip), %rsi     # 0x601dd
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x20c0
leaq 0x238d0(%rip), %rdx     # 0x632ee
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x23d6e(%rip), %rdx     # 0x637a5
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x238a6(%rip), %rdx     # 0x632f3
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x207c2(%rip), %rdx     # 0x60225
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
movq 0x6355f(%rip), %rdi     # 0xa2fd8
leaq 0x48(%rsp), %rsi
callq 0x21d0
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
movq 0x63519(%rip), %rdi     # 0xa2fd8
leaq 0x49447(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
leaq 0x6f0(%rsp), %rsi
callq 0x5a957
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x20749(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
leaq 0xb8(%rsp), %rsi
callq 0x5a957
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x205ff(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40098
leaq 0x20688(%rip), %rsi     # 0x601dd
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x20c0
leaq 0x23785(%rip), %rdx     # 0x632f6
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x23c1b(%rip), %rdx     # 0x637a5
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x2375b(%rip), %rdx     # 0x632fb
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x2066f(%rip), %rdx     # 0x60225
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
movq 0x6340c(%rip), %rdi     # 0xa2fd8
leaq 0x48(%rsp), %rsi
callq 0x21d0
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
movq 0x633c6(%rip), %rdi     # 0xa2fd8
leaq 0x492f4(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x28(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x5aaac
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x205f3(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x2b0(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x5a957
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x204a9(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40098
leaq 0x20532(%rip), %rsi     # 0x601dd
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x20c0
leaq 0x2364d(%rip), %rdx     # 0x63314
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x23ac5(%rip), %rdx     # 0x637a5
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x23623(%rip), %rdx     # 0x63319
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x20519(%rip), %rdx     # 0x60225
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
movq 0x632b6(%rip), %rdi     # 0xa2fd8
leaq 0x48(%rsp), %rsi
callq 0x21d0
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
movq 0x63270(%rip), %rdi     # 0xa2fd8
leaq 0x4919e(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
leaq 0xf4(%rsp), %rsi
callq 0x5a957
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x204a0(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x2b4(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x5a957
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x20356(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40098
leaq 0x203df(%rip), %rsi     # 0x601dd
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x20c0
leaq 0x23512(%rip), %rdx     # 0x6332c
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x23972(%rip), %rdx     # 0x637a5
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x234e8(%rip), %rdx     # 0x63331
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x203c6(%rip), %rdx     # 0x60225
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
movq 0x63163(%rip), %rdi     # 0xa2fd8
leaq 0x48(%rsp), %rsi
callq 0x21d0
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
movq 0x6311d(%rip), %rdi     # 0xa2fd8
leaq 0x4904b(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0x5a957
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x2034d(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x2b8(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x5a957
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x20203(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40098
leaq 0x2028c(%rip), %rsi     # 0x601dd
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rdx
callq 0x20c0
leaq 0x233d7(%rip), %rdx     # 0x63344
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x2381f(%rip), %rdx     # 0x637a5
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x233ad(%rip), %rdx     # 0x63349
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
leaq 0x20273(%rip), %rdx     # 0x60225
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x5a5df
movq 0x63010(%rip), %rdi     # 0xa2fd8
leaq 0x48(%rsp), %rsi
callq 0x21d0
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
movq 0x62fca(%rip), %rdi     # 0xa2fd8
leaq 0x48ef8(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
leaq 0xec(%rsp), %rsi
callq 0x5a957
leaq 0x48(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x201fa(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x2bc(%rsp), %rsi
leaq 0x8(%rsp), %rdi
callq 0x5a957
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x200b0(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
callq 0x13280
leaq 0x20139(%rip), %rsi     # 0x601dd
leaq 0xc0(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x232a4(%rip), %rdx     # 0x63361
leaq 0x90(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0x5a5df
leaq 0x236cc(%rip), %rdx     # 0x637a5
leaq 0x70(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x5a5df
leaq 0x23274(%rip), %rdx     # 0x63366
leaq 0x28(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x5a5df
leaq 0x2011d(%rip), %rdx     # 0x60225
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
movq 0x62eba(%rip), %rdi     # 0xa2fd8
leaq 0x8(%rsp), %rsi
callq 0x21d0
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
leaq 0xc0(%rsp), %rdi
callq 0x2270
movq 0x62e71(%rip), %rdi     # 0xa2fd8
leaq 0x48d9f(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
movq 0x8(%r13), %rax
subq (%r13), %rax
leaq 0x70(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5a86b
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x20099(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
movq 0x100(%rsp), %rax
subq 0xf8(%rsp), %rax
leaq 0x90(%rsp), %rsi
movq %rax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x5a86b
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1ff3c(%rip), %rsi     # 0x60124
movq %rax, %rdi
callq 0x21f0
movq %rax, %rdi
callq 0x2100
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
callq 0x13280
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x402b4
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x402c6
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x402d8
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x402ea
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x402fc
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4030e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x40320
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40332
jmp 0x402b1
jmp 0x402c3
jmp 0x402d5
jmp 0x402e7
jmp 0x402f9
jmp 0x4030b
jmp 0x4031d
jmp 0x4032f
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x408be
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x2270
jmp 0x408e5
jmp 0x408bb
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x4087e
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x40380
jmp 0x4037d
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x408be
jmp 0x408bb
jmp 0x408bb
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4042f
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40441
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40453
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40465
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40477
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x40489
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x4049b
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x2270
jmp 0x404ad
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x404bf
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x404d1
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x404e3
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x404f5
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x40507
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x40519
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4052b
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x4053d
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x4054f
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x40564
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x40576
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x40588
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x4059a
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x405ac
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x405be
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x405d0
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x405e2
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x405f7
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x4060c
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x40621
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x40636
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x4064b
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x40660
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x40675
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x2270
jmp 0x408be
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x408cb
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x408e5
jmp 0x40764
jmp 0x40769
jmp 0x40771
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x40755
jmp 0x408bb
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x407dc
jmp 0x4087e
movq %rax, %rbx
jmp 0x407a9
movq %rax, %rbx
jmp 0x40800
movq %rax, %rbx
jmp 0x40851
movq %rax, %rbx
jmp 0x408d8
movq %rax, %rbx
jmp 0x407a4
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x40797
jmp 0x407dc
jmp 0x407dc
movq %rax, %rbx
jmp 0x407fb
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x407f1
movq %rax, %rbx
jmp 0x4084c
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x2270
jmp 0x40842
jmp 0x408bb
jmp 0x407dc
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x40886
movq %rax, %rbx
jmp 0x407b6
movq %rax, %rbx
jmp 0x4080d
movq %rax, %rbx
jmp 0x4085e
jmp 0x407dc
jmp 0x4087e
jmp 0x408a4
jmp 0x408bb
movq %rax, %rbx
jmp 0x407cd
movq %rax, %rbx
jmp 0x407c3
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
testq %r14, %r14
je 0x407b6
leaq 0x130(%rsp), %rdi
callq 0x2270
leaq 0xc0(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x408be
movq %rax, %rbx
jmp 0x408cb
movq %rax, %rbx
jmp 0x40824
movq %rax, %rbx
jmp 0x4081a
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
testq %r12, %r12
je 0x4080d
leaq 0x150(%rsp), %rdi
callq 0x2270
leaq 0x90(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x408cb
jmp 0x4087e
movq %rax, %rbx
jmp 0x40872
movq %rax, %rbx
jmp 0x40868
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
testq %r12, %r12
je 0x4085e
leaq 0x170(%rsp), %rdi
callq 0x2270
leaq 0x70(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x408e5
movq %rax, %rbx
jmp 0x408e5
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0x2270
jmp 0x40895
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2270
jmp 0x408ac
movq %rax, %rbx
jmp 0x408f2
movq %rax, %rbx
leaq 0xc0(%rsp), %rdi
callq 0x2270
jmp 0x408be
movq %rax, %rbx
leaq 0xf8(%rsp), %rdi
callq 0xea7c
leaq 0x190(%rsp), %rdi
callq 0xea7c
leaq 0x1a8(%rsp), %rdi
callq 0xb874
leaq 0x110(%rsp), %rdi
callq 0xea7c
leaq 0x428(%rsp), %rdi
callq 0xb874
movq %rbx, %rdi
callq 0x2380
movq %rax, %rdi
callq 0xe6cc