// File: /workspace/github_cpp_makefile_star2_O2/lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: testSbitChunk()
void testSbitChunk() {
  std::cout << "testSbitChunk" << std::endl;
  testSbitChunk(8, 8, 8, 0, LCT_RGB, 8, false);
  testSbitChunk(1, 2, 3, 0, LCT_RGB, 8, false);
  testSbitChunk(0, 2, 3, 0, LCT_RGB, 8, true);
  testSbitChunk(9, 2, 3, 0, LCT_RGB, 8, true);

  testSbitChunk(8, 8, 8, 8, LCT_RGBA, 8, false);
  testSbitChunk(1, 2, 3, 4, LCT_RGBA, 8, false);
  testSbitChunk(0, 2, 3, 4, LCT_RGBA, 8, true);
  testSbitChunk(9, 2, 3, 4, LCT_RGBA, 8, true);

  testSbitChunk(1, 2, 3, 0, LCT_RGB, 16, false);
  testSbitChunk(0, 2, 3, 0, LCT_RGB, 16, true);
  testSbitChunk(9, 2, 3, 0, LCT_RGB, 16, false);
  testSbitChunk(17, 2, 3, 0, LCT_RGB, 16, true);

  testSbitChunk(1, 2, 3, 4, LCT_RGBA, 16, false);
  testSbitChunk(0, 2, 3, 4, LCT_RGBA, 16, true);
  testSbitChunk(9, 2, 3, 4, LCT_RGBA, 16, false);
  testSbitChunk(17, 2, 3, 4, LCT_RGBA, 16, true);

  testSbitChunk(8, 2, 3, 0, LCT_PALETTE, 8, false);
  testSbitChunk(8, 2, 3, 0, LCT_PALETTE, 4, false); // 4-bit palette still treats the RGB as 8-bit
  testSbitChunk(9, 2, 3, 0, LCT_PALETTE, 8, true);

  testSbitChunk(8, 0, 0, 0, LCT_GREY, 8, false);
  testSbitChunk(8, 0, 0, 0, LCT_GREY, 4, true);
  testSbitChunk(5, 0, 0, 0, LCT_GREY, 8, false);
  testSbitChunk(1, 0, 0, 0, LCT_GREY, 1, false);
  testSbitChunk(3, 0, 0, 0, LCT_GREY, 1, true);
  testSbitChunk(0, 0, 0, 0, LCT_GREY, 1, true);

  testSbitChunk(16, 0, 0, 0, LCT_GREY, 16, false);
  testSbitChunk(17, 0, 0, 0, LCT_GREY, 16, true);
  testSbitChunk(8, 0, 0, 0, LCT_GREY, 16, false);
  testSbitChunk(5, 0, 0, 0, LCT_GREY, 16, false);

  testSbitChunk(8, 0, 0, 8, LCT_GREY_ALPHA, 8, false);
  testSbitChunk(8, 0, 0, 0, LCT_GREY_ALPHA, 8, true);
  testSbitChunk(8, 0, 0, 9, LCT_GREY_ALPHA, 8, true);
  testSbitChunk(5, 0, 0, 5, LCT_GREY_ALPHA, 8, false);
  testSbitChunk(5, 0, 0, 8, LCT_GREY_ALPHA, 8, false);

  testSbitChunk(16, 0, 0, 16, LCT_GREY_ALPHA, 16, false);
  testSbitChunk(16, 0, 0, 8, LCT_GREY_ALPHA, 16, false);
  testSbitChunk(8, 0, 0, 8, LCT_GREY_ALPHA, 16, false);
  testSbitChunk(16, 0, 0, 0, LCT_GREY_ALPHA, 16, true);
  testSbitChunk(16, 0, 0, 17, LCT_GREY_ALPHA, 16, true);
  testSbitChunk(5, 0, 0, 5, LCT_GREY_ALPHA, 16, false);
  testSbitChunk(5, 0, 0, 8, LCT_GREY_ALPHA, 16, false);

  testSbitChunk2(8, 8, 8, 0, LCT_RGB, 8, LCT_RGB, 8, LCT_RGB, 8, 2, false);
  testSbitChunk2(8, 8, 8, 0, LCT_GREY, 8, LCT_RGB, 8, LCT_RGB, 8, 2, false);
  testSbitChunk2(12, 12, 12, 0, LCT_GREY, 8, LCT_RGB, 16, LCT_RGB, 16, 2, false);
  testSbitChunk2(12, 12, 12, 8, LCT_GREY, 8, LCT_RGBA, 16, LCT_RGBA, 16, 2, false);
  testSbitChunk2(8, 8, 8, 0, LCT_GREY, 8, LCT_RGB, 16, LCT_RGB, 16, 2, false);
  testSbitChunk2(8, 7, 8, 0, LCT_GREY, 8, LCT_RGB, 16, LCT_RGB, 16, 2, false);
  testSbitChunk2(8, 8, 7, 0, LCT_GREY, 8, LCT_RGB, 16, LCT_RGB, 16, 2, false);
  testSbitChunk2(8, 7, 8, 0, LCT_GREY, 8, LCT_RGB, 8, LCT_RGB, 8, 2, false);
  testSbitChunk2(8, 8, 7, 0, LCT_GREY, 8, LCT_RGB, 8, LCT_RGB, 8, 2, false);
  testSbitChunk2(8, 8, 8, 0, LCT_GREY, 8, LCT_RGB, 8, LCT_GREY_ALPHA, 8, 1, false);
  testSbitChunk2(8, 8, 8, 8, LCT_GREY, 8, LCT_RGB, 8, LCT_GREY_ALPHA, 8, 0, false);


  // test png-suite image cs3n3p08.png, which has an sBIT chunk with RGB values set to 3 bits
  {
    std::vector<unsigned char> png, decoded;
    fromBase64(png, std::string("iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAAYagMeiWXwAAAANzQklUAwMDo5KgQgAAAFRQTFRFkv8AAP+SAP//AP8AANv/AP9t/7YAAG3/tv8A/5IA2/8AAEn//yQA/wAAJP8ASf8AAP/bAP9JAP+2//8AAP8kALb//9sAAJL//20AACT//0kAbf8A33ArFwAAAEtJREFUeJyFyscBggAAALGzYldUsO2/pyMk73SGGE7QF3pDe2gLzdADHA7QDqIfdIUu0AocntAIbaAFdIdu0BIc1tAEvaABOkIf+AMiQDPhd/SuJgAAAABJRU5ErkJggg=="));
    lodepng::State state;
    unsigned w, h;

    unsigned error = lodepng::decode(decoded, w, h, state, png);
    assertNoError(error);
    ASSERT_EQUALS(1, state.info_png.sbit_defined);
    ASSERT_EQUALS(3, state.info_png.sbit_r);
    ASSERT_EQUALS(3, state.info_png.sbit_g);
    ASSERT_EQUALS(3, state.info_png.sbit_b);
  }

  // test png-suite image basn0g02.png, which is known to not have an sBIT chunk
  {
    std::vector<unsigned char> png, decoded;
    fromBase64(png, std::string("iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgAAAAAcoT2JAAAABGdBTUEAAYagMeiWXwAAAB9JREFUeJxjYAhd9R+M8TCIUMIAU4aPATMJH2OQuQcAvUl/gYsJiakAAAAASUVORK5CYII="));
    lodepng::State state;
    unsigned w, h;

    unsigned error = lodepng::decode(decoded, w, h, state, png);
    assertNoError(error);
    ASSERT_EQUALS(0, state.info_png.sbit_defined);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x368, %rsp            # imm = 0x368
movq 0x5e8ab(%rip), %rdi     # 0xa2fd8
leaq 0x1edbd(%rip), %rsi     # 0x634f1
callq 0x21f0
movq %rax, %rdi
callq 0x2100
subq $0x10, %rsp
andl $0x0, (%rsp)
pushq $0x2
popq %rbx
pushq $0x8
popq %r14
movl %r14d, %edi
movl %r14d, %esi
movl %r14d, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r14d, %r9d
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x1
popq %r15
pushq $0x3
popq %rbp
movl %r15d, %edi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
xorl %edi, %edi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r14d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x9
popq %rdi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r14d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x6
popq %r13
movl %r14d, %edi
movl %r14d, %esi
movl %r14d, %edx
movl %r14d, %ecx
movl %r13d, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x4
popq %r12
movl %r15d, %edi
movl %ebx, %esi
movl %ebp, %edx
movl %r12d, %ecx
movl %r13d, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
xorl %edi, %edi
movl %ebx, %esi
movl %ebp, %edx
movl %r12d, %ecx
movl %r13d, %r8d
movl %r14d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x9
popq %rdi
movl %ebx, %esi
movl %ebp, %edx
movl %r12d, %ecx
movl %r13d, %r8d
movl %r14d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x10
popq %r13
movl %r15d, %edi
movq %r15, %r12
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
xorl %edi, %edi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r13d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x9
popq %rdi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x11
popq %rdi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r13d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r12d, %edi
movl %ebx, %esi
movl %ebp, %edx
pushq $0x4
popq %r12
movl %r12d, %ecx
pushq $0x6
popq %r15
movl %r15d, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
xorl %edi, %edi
movl %ebx, %esi
movl %ebp, %edx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r13d, %r9d
pushq $0x1
popq %rax
pushq %rax
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x9
popq %rdi
movl %ebx, %esi
movl %ebp, %edx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x11
popq %rdi
movl %ebx, %esi
movl %ebp, %edx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r13d, %r9d
pushq $0x1
popq %r15
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r12d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x9
popq %rdi
movl %ebx, %esi
movl %ebp, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r14d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r12d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x5
popq %r12
movl %r12d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r15d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r15d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %ebp, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r15d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
xorl %edi, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r15d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r13d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
pushq $0x11
popq %rdi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r13d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r12d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r14d, %ecx
pushq $0x4
popq %rbp
movl %ebp, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r14d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
pushq $0x9
popq %rcx
movl %ebp, %r8d
movl %r14d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r12d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r12d, %ecx
movl %ebp, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r12d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
movl %r14d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r13d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r13d, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r13d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r14d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r13d, %edi
xorl %esi, %esi
xorl %edx, %edx
xorl %ecx, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r13d, %edi
xorl %esi, %esi
xorl %edx, %edx
pushq $0x11
popq %rcx
movl %ebp, %r8d
movl %r13d, %r9d
pushq %r15
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r12d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r12d, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
subq $0x8, %rsp
movl %r12d, %edi
xorl %esi, %esi
xorl %edx, %edx
movl %r14d, %ecx
movl %ebp, %r8d
movq %rbp, %r12
movl %r13d, %r9d
pushq $0x0
callq 0x44260
popq %rax
popq %rcx
movl %r14d, %edi
movl %r14d, %esi
movl %r14d, %edx
xorl %ecx, %ecx
movl %ebx, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r14
pushq %rbx
pushq %r14
pushq %rbx
callq 0x44372
addq $0x30, %rsp
movl %r14d, %edi
movl %r14d, %esi
movl %r14d, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r14
pushq %rbx
pushq %r14
pushq %rbx
callq 0x44372
addq $0x30, %rsp
pushq $0xc
popq %rbp
movl %ebp, %edi
movl %ebp, %esi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r13
pushq %rbx
pushq %r13
pushq %rbx
callq 0x44372
addq $0x30, %rsp
movl %ebp, %edi
movl %ebp, %esi
movl %ebp, %edx
movl %r14d, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r13
pushq $0x6
popq %rax
pushq %rax
pushq %r13
pushq %rax
callq 0x44372
addq $0x30, %rsp
movl %r14d, %edi
movl %r14d, %esi
movl %r14d, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r13
pushq %rbx
pushq %r13
pushq %rbx
callq 0x44372
addq $0x30, %rsp
pushq $0x7
popq %rbp
movl %r14d, %edi
movl %ebp, %esi
movl %r14d, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r13
pushq %rbx
pushq %r13
pushq %rbx
callq 0x44372
addq $0x30, %rsp
movl %r14d, %edi
movl %r14d, %esi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r13
pushq %rbx
pushq %r13
pushq %rbx
callq 0x44372
addq $0x30, %rsp
movl %r14d, %edi
movl %ebp, %esi
movl %r14d, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r14
pushq %rbx
pushq %r14
pushq %rbx
callq 0x44372
addq $0x30, %rsp
movl %r14d, %edi
movl %r14d, %esi
movl %ebp, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %rbx
pushq %r14
pushq %rbx
pushq %r14
pushq %rbx
callq 0x44372
addq $0x30, %rsp
movl %r14d, %edi
movl %r14d, %esi
movl %r14d, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq %r15
pushq %r14
pushq %r12
pushq %r14
pushq %rbx
callq 0x44372
addq $0x30, %rsp
movl %r14d, %edi
movl %r14d, %esi
movl %r14d, %edx
movl %r14d, %ecx
xorl %r8d, %r8d
movl %r14d, %r9d
pushq $0x0
pushq $0x0
pushq %r14
pushq %r12
pushq %r14
pushq %rbx
callq 0x44372
addq $0x30, %rsp
xorps %xmm0, %xmm0
movaps %xmm0, 0xd0(%rsp)
andq $0x0, 0xe0(%rsp)
movaps %xmm0, 0xb0(%rsp)
andq $0x0, 0xc0(%rsp)
leaq 0x1e749(%rip), %rsi     # 0x634ff
leaq 0xe8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x20c0
leaq 0xd0(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5a9c5
leaq 0xe8(%rsp), %rdi
callq 0x2270
leaq 0xe8(%rsp), %rdi
callq 0xb84c
leaq 0xb0(%rsp), %rdi
leaq 0xac(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
leaq 0xe8(%rsp), %rcx
leaq 0xd0(%rsp), %r8
callq 0xb9ef
movl %eax, %edi
callq 0x13456
cmpl $0x1, 0x318(%rsp)
jne 0x44f6c
cmpl $0x3, 0x31c(%rsp)
jne 0x450bf
cmpl $0x3, 0x320(%rsp)
jne 0x45212
cmpl $0x3, 0x324(%rsp)
jne 0x45365
leaq 0xe8(%rsp), %rdi
callq 0xb874
leaq 0xb0(%rsp), %rdi
callq 0xea7c
leaq 0xd0(%rsp), %rbx
movq %rbx, %rdi
callq 0xea7c
xorps %xmm0, %xmm0
movaps %xmm0, (%rbx)
andq $0x0, 0x10(%rbx)
movaps %xmm0, 0xb0(%rsp)
andq $0x0, 0xc0(%rsp)
leaq 0x1e81e(%rip), %rsi     # 0x636ce
leaq 0xe8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x20c0
leaq 0xd0(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x5a9c5
leaq 0xe8(%rsp), %rdi
callq 0x2270
leaq 0xe8(%rsp), %rdi
callq 0xb84c
leaq 0xb0(%rsp), %rdi
leaq 0xac(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
leaq 0xe8(%rsp), %rcx
leaq 0xd0(%rsp), %r8
callq 0xb9ef
movl %eax, %edi
callq 0x13456
cmpl $0x0, 0x318(%rsp)
jne 0x454b8
leaq 0xe8(%rsp), %rdi
callq 0xb874
leaq 0xb0(%rsp), %rdi
callq 0xea7c
leaq 0xd0(%rsp), %rdi
callq 0xea7c
addq $0x368, %rsp            # imm = 0x368
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x1b26a(%rip), %rsi     # 0x601dd
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x1e6d3(%rip), %rdx     # 0x6365c
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x5a5df
leaq 0x1e803(%rip), %rdx     # 0x637a5
leaq 0x48(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x5a5df
leaq 0x1e6a6(%rip), %rdx     # 0x63661
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x5a5df
leaq 0x1b254(%rip), %rdx     # 0x60225
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
movq 0x5dff1(%rip), %rdi     # 0xa2fd8
leaq 0x8(%rsp), %rsi
callq 0x21d0
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x88(%rsp), %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
callq 0x2270
movq 0x5dfab(%rip), %rdi     # 0xa2fd8
leaq 0x43ed9(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rsi
movl $0x1, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aaac
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1b1d8(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x318(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x5a957
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1b08e(%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
jmp 0x454b3
leaq 0x1b117(%rip), %rsi     # 0x601dd
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x1e5a1(%rip), %rdx     # 0x6367d
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x5a5df
leaq 0x1e6b0(%rip), %rdx     # 0x637a5
leaq 0x48(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x5a5df
leaq 0x1e574(%rip), %rdx     # 0x63682
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x5a5df
leaq 0x1b101(%rip), %rdx     # 0x60225
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
movq 0x5de9e(%rip), %rdi     # 0xa2fd8
leaq 0x8(%rsp), %rsi
callq 0x21d0
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x88(%rsp), %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
callq 0x2270
movq 0x5de58(%rip), %rdi     # 0xa2fd8
leaq 0x43d86(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aaac
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1b085(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x31c(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x5a957
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1af3b(%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
jmp 0x454b3
leaq 0x1afc4(%rip), %rsi     # 0x601dd
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x1e469(%rip), %rdx     # 0x63698
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x5a5df
leaq 0x1e55d(%rip), %rdx     # 0x637a5
leaq 0x48(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x5a5df
leaq 0x1e43c(%rip), %rdx     # 0x6369d
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x5a5df
leaq 0x1afae(%rip), %rdx     # 0x60225
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
movq 0x5dd4b(%rip), %rdi     # 0xa2fd8
leaq 0x8(%rsp), %rsi
callq 0x21d0
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x88(%rsp), %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
callq 0x2270
movq 0x5dd05(%rip), %rdi     # 0xa2fd8
leaq 0x43c33(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aaac
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1af32(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x320(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x5a957
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1ade8(%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
jmp 0x454b3
leaq 0x1ae71(%rip), %rsi     # 0x601dd
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x1e331(%rip), %rdx     # 0x636b3
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x5a5df
leaq 0x1e40a(%rip), %rdx     # 0x637a5
leaq 0x48(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x5a5df
leaq 0x1e304(%rip), %rdx     # 0x636b8
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x5a5df
leaq 0x1ae5b(%rip), %rdx     # 0x60225
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
movq 0x5dbf8(%rip), %rdi     # 0xa2fd8
leaq 0x8(%rsp), %rsi
callq 0x21d0
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x88(%rsp), %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
callq 0x2270
movq 0x5dbb2(%rip), %rdi     # 0xa2fd8
leaq 0x43ae0(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rsi
movl $0x3, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aaac
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1addf(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x324(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x5a957
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1ac95(%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 0x1ad1e(%rip), %rsi     # 0x601dd
leaq 0x68(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x20c0
leaq 0x1e286(%rip), %rdx     # 0x6375b
leaq 0x88(%rsp), %rdi
leaq 0x68(%rsp), %rsi
callq 0x5a5df
leaq 0x1e2b7(%rip), %rdx     # 0x637a5
leaq 0x48(%rsp), %rdi
leaq 0x88(%rsp), %rsi
callq 0x5a5df
leaq 0x1e15a(%rip), %rdx     # 0x63661
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
callq 0x5a5df
leaq 0x1ad08(%rip), %rdx     # 0x60225
leaq 0x8(%rsp), %rdi
leaq 0x28(%rsp), %rsi
callq 0x5a5df
movq 0x5daa5(%rip), %rdi     # 0xa2fd8
leaq 0x8(%rsp), %rsi
callq 0x21d0
leaq 0x8(%rsp), %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
callq 0x2270
leaq 0x48(%rsp), %rdi
callq 0x2270
leaq 0x88(%rsp), %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
callq 0x2270
movq 0x5da5f(%rip), %rdi     # 0xa2fd8
leaq 0x4398d(%rip), %rsi     # 0x88f0d
callq 0x21f0
movq %rax, %rbx
leaq 0x48(%rsp), %rsi
andl $0x0, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x5aaac
leaq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1ac8f(%rip), %rsi     # 0x6023d
movq %rax, %rdi
callq 0x21f0
movq %rax, %rbx
leaq 0x318(%rsp), %rsi
leaq 0x28(%rsp), %rdi
callq 0x5a957
leaq 0x28(%rsp), %rsi
movq %rbx, %rdi
callq 0x21d0
leaq 0x1ab45(%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 0x45660
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x45672
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x45684
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x45696
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x456a8
jmp 0x4565d
jmp 0x4566f
jmp 0x45681
jmp 0x45693
jmp 0x456a5
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x458ab
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x458d7
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x458d7
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x458d7
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x458d7
jmp 0x458a8
jmp 0x458d4
jmp 0x458d4
jmp 0x458d4
jmp 0x458d4
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4571e
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4572d
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4573c
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4574b
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x2270
jmp 0x4575a
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x45769
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x45778
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x45787
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x45796
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x2270
jmp 0x457a5
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x457b4
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x457c6
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x457d8
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x457ea
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x2270
jmp 0x457fc
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x2270
jmp 0x4580e
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x2270
jmp 0x45820
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x2270
jmp 0x45832
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x2270
jmp 0x45844
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x2270
jmp 0x45856
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x2270
jmp 0x458ab
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x2270
jmp 0x458d7
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x2270
jmp 0x458d7
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x2270
jmp 0x458d7
movq %rax, %rbx
leaq 0x68(%rsp), %rdi
callq 0x2270
jmp 0x458d7
jmp 0x458a8
jmp 0x458d4
jmp 0x458d4
jmp 0x458d4
jmp 0x458d4
movq %rax, %rbx
jmp 0x458c5
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0x2270
jmp 0x458b8
movq %rax, %rbx
jmp 0x458f1
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0x2270
jmp 0x458e4
jmp 0x4589c
movq %rax, %rbx
jmp 0x458b8
jmp 0x458a3
movq %rax, %rbx
jmp 0x458e4
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xb874
leaq 0xb0(%rsp), %rdi
callq 0xea7c
leaq 0xd0(%rsp), %rdi
callq 0xea7c
jmp 0x458fe
movq %rax, %rbx
leaq 0xe8(%rsp), %rdi
callq 0xb874
leaq 0xb0(%rsp), %rdi
callq 0xea7c
leaq 0xd0(%rsp), %rdi
callq 0xea7c
movq %rbx, %rdi
callq 0x2380
movq %rax, %rdi
callq 0xe6cc