// File: 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
movq %rsp, %rbp
subq $0xc10, %rsp            # imm = 0xC10
movq 0x77c06(%rip), %rdi     # 0xf7fd8
leaq 0x36056(%rip), %rsi     # 0xb642f
callq 0x3230
movq %rax, %rdi
movq 0x77bd8(%rip), %rsi     # 0xf7fc0
callq 0x3280
movq %rsp, %rax
movl $0x0, (%rax)
xorl %ecx, %ecx
movl %ecx, -0xa98(%rbp)
movl $0x2, %r8d
movl %r8d, -0xaa4(%rbp)
movl $0x8, %r9d
movl %r9d, -0xa94(%rbp)
movl %r9d, %edi
movl %r9d, %esi
movl %r9d, %edx
callq 0x7fbc0
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl $0x1, %edi
movl %edi, -0xabc(%rbp)
movl $0x3, %edx
movl %edx, -0xac0(%rbp)
movl %r8d, %esi
callq 0x7fbc0
movl -0xac0(%rbp), %edx
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x1, (%rax)
movl %ecx, %edi
movl %r8d, %esi
callq 0x7fbc0
movl -0xac0(%rbp), %edx
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x1, (%rax)
movl $0x9, %edi
movl %edi, -0xab8(%rbp)
movl %r8d, %esi
callq 0x7fbc0
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl $0x6, %r8d
movl %r8d, -0xac4(%rbp)
movl %r9d, %edi
movl %r9d, %esi
movl %r9d, %edx
movl %r9d, %ecx
callq 0x7fbc0
movl -0xac4(%rbp), %r8d
movl -0xac0(%rbp), %edx
movl -0xabc(%rbp), %edi
movl -0xaa4(%rbp), %esi
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl $0x4, %ecx
movl %ecx, -0xaac(%rbp)
callq 0x7fbc0
movl -0xac4(%rbp), %r8d
movl -0xac0(%rbp), %edx
movl -0xaac(%rbp), %ecx
movl -0xaa4(%rbp), %esi
movl -0xa98(%rbp), %edi
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x1, (%rax)
callq 0x7fbc0
movl -0xac4(%rbp), %r8d
movl -0xac0(%rbp), %edx
movl -0xab8(%rbp), %edi
movl -0xaac(%rbp), %ecx
movl -0xaa4(%rbp), %esi
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x1, (%rax)
callq 0x7fbc0
movl -0xac0(%rbp), %edx
movl -0xabc(%rbp), %edi
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movq %rsp, %rax
movl $0x0, (%rax)
movl $0x10, %r9d
movl %r9d, -0xaa8(%rbp)
movl %r8d, %esi
callq 0x7fbc0
movl -0xac0(%rbp), %edx
movl -0xaa8(%rbp), %r9d
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movq %rsp, %rax
movl $0x1, (%rax)
movl %ecx, %edi
movl %r8d, %esi
callq 0x7fbc0
movl -0xac0(%rbp), %edx
movl -0xab8(%rbp), %edi
movl -0xaa8(%rbp), %r9d
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movq %rsp, %rax
movl $0x0, (%rax)
movl %r8d, %esi
callq 0x7fbc0
movl -0xac0(%rbp), %edx
movl -0xaa8(%rbp), %r9d
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movq %rsp, %rax
movl $0x1, (%rax)
movl $0x11, %edi
movl %edi, -0xab4(%rbp)
movl %r8d, %esi
callq 0x7fbc0
movl -0xac4(%rbp), %r8d
movl -0xac0(%rbp), %edx
movl -0xabc(%rbp), %edi
movl -0xaac(%rbp), %ecx
movl -0xaa8(%rbp), %r9d
movl -0xaa4(%rbp), %esi
movq %rsp, %rax
movl $0x0, (%rax)
callq 0x7fbc0
movl -0xac4(%rbp), %r8d
movl -0xac0(%rbp), %edx
movl -0xaac(%rbp), %ecx
movl -0xaa8(%rbp), %r9d
movl -0xaa4(%rbp), %esi
movl -0xa98(%rbp), %edi
movq %rsp, %rax
movl $0x1, (%rax)
callq 0x7fbc0
movl -0xac4(%rbp), %r8d
movl -0xac0(%rbp), %edx
movl -0xab8(%rbp), %edi
movl -0xaac(%rbp), %ecx
movl -0xaa8(%rbp), %r9d
movl -0xaa4(%rbp), %esi
movq %rsp, %rax
movl $0x0, (%rax)
callq 0x7fbc0
movl -0xac4(%rbp), %r8d
movl -0xac0(%rbp), %edx
movl -0xab4(%rbp), %edi
movl -0xaac(%rbp), %ecx
movl -0xaa8(%rbp), %r9d
movl -0xaa4(%rbp), %esi
movq %rsp, %rax
movl $0x1, (%rax)
callq 0x7fbc0
movl -0xac0(%rbp), %r8d
movl -0xaa4(%rbp), %esi
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl %r9d, %edi
movl %r8d, %edx
callq 0x7fbc0
movl -0xac0(%rbp), %r8d
movl -0xaac(%rbp), %r9d
movl -0xaa4(%rbp), %esi
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %edi
movq %rsp, %rax
movl $0x0, (%rax)
movl %r8d, %edx
callq 0x7fbc0
movl -0xac0(%rbp), %r8d
movl -0xab8(%rbp), %edi
movl -0xaa4(%rbp), %esi
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x1, (%rax)
movl %r8d, %edx
callq 0x7fbc0
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl %r9d, %edi
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xaac(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %edi
movq %rsp, %rax
movl $0x1, (%rax)
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl $0x5, %edi
movl %edi, -0xab0(%rbp)
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xabc(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movq %rsp, %rax
movl $0x0, (%rax)
movl %r9d, %edi
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xac0(%rbp), %edi
movl -0xabc(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movq %rsp, %rax
movl $0x1, (%rax)
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xabc(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movq %rsp, %rax
movl $0x1, (%rax)
movl %r8d, %edi
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movq %rsp, %rax
movl $0x0, (%rax)
movl %r9d, %edi
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xab4(%rbp), %edi
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movq %rsp, %rax
movl $0x1, (%rax)
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %edi
movq %rsp, %rax
movl $0x0, (%rax)
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xab0(%rbp), %edi
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %r8d
movq %rsp, %rax
movl $0x0, (%rax)
movl %r8d, %esi
movl %r8d, %edx
movl %r8d, %ecx
callq 0x7fbc0
movl -0xaac(%rbp), %r8d
movl -0xa98(%rbp), %edx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl %r9d, %edi
movl %edx, %esi
movl %r9d, %ecx
callq 0x7fbc0
movl -0xaac(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x1, (%rax)
movl %r9d, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x7fbc0
movl -0xab8(%rbp), %ecx
movl -0xaac(%rbp), %r8d
movl -0xa98(%rbp), %edx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x1, (%rax)
movl %r9d, %edi
movl %edx, %esi
callq 0x7fbc0
movl -0xab0(%rbp), %ecx
movl -0xaac(%rbp), %r8d
movl -0xa98(%rbp), %edx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl %ecx, %edi
movl %edx, %esi
callq 0x7fbc0
movl -0xab0(%rbp), %edi
movl -0xaac(%rbp), %r8d
movl -0xa98(%rbp), %edx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, (%rax)
movl %edx, %esi
movl %r9d, %ecx
callq 0x7fbc0
movl -0xaac(%rbp), %r8d
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %edx
movq %rsp, %rax
movl $0x0, (%rax)
movl %r9d, %edi
movl %edx, %esi
movl %r9d, %ecx
callq 0x7fbc0
movl -0xaac(%rbp), %r8d
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %edx
movl -0xa94(%rbp), %ecx
movq %rsp, %rax
movl $0x0, (%rax)
movl %r9d, %edi
movl %edx, %esi
callq 0x7fbc0
movl -0xaac(%rbp), %r8d
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %edx
movl -0xa94(%rbp), %ecx
movq %rsp, %rax
movl $0x0, (%rax)
movl %ecx, %edi
movl %edx, %esi
callq 0x7fbc0
movl -0xaac(%rbp), %r8d
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %ecx
movq %rsp, %rax
movl $0x1, (%rax)
movl %r9d, %edi
movl %ecx, %esi
movl %ecx, %edx
callq 0x7fbc0
movl -0xab4(%rbp), %ecx
movl -0xaac(%rbp), %r8d
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %edx
movq %rsp, %rax
movl $0x1, (%rax)
movl %r9d, %edi
movl %edx, %esi
callq 0x7fbc0
movl -0xab0(%rbp), %ecx
movl -0xaac(%rbp), %r8d
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %edx
movq %rsp, %rax
movl $0x0, (%rax)
movl %ecx, %edi
movl %edx, %esi
callq 0x7fbc0
movl -0xab0(%rbp), %edi
movl -0xaac(%rbp), %r8d
movl -0xaa8(%rbp), %r9d
movl -0xa98(%rbp), %edx
movl -0xa94(%rbp), %ecx
movq %rsp, %rax
movl $0x0, (%rax)
movl %edx, %esi
callq 0x7fbc0
movl -0xaa4(%rbp), %r8d
movl -0xa98(%rbp), %ecx
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x8, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x8, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %esi
movl %r9d, %edx
callq 0x7fd60
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x8, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x8, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %esi
movl %r9d, %edx
movl %r8d, %ecx
callq 0x7fd60
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x10, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x10, 0x8(%rax)
movl $0x2, (%rax)
movl $0xc, %edx
movl %edx, -0xaa0(%rbp)
movl %edx, %edi
movl %edx, %esi
movl %r8d, %ecx
callq 0x7fd60
movl -0xaa0(%rbp), %edx
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x10, 0x18(%rax)
movl $0x6, 0x10(%rax)
movl $0x10, 0x8(%rax)
movl $0x6, (%rax)
movl %edx, %edi
movl %edx, %esi
movl %r9d, %ecx
callq 0x7fd60
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x10, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x10, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %esi
movl %r9d, %edx
movl %r8d, %ecx
callq 0x7fd60
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x10, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x10, 0x8(%rax)
movl $0x2, (%rax)
movl $0x7, %esi
movl %esi, -0xa9c(%rbp)
movl %r9d, %edi
movl %r9d, %edx
movl %r8d, %ecx
callq 0x7fd60
movl -0xa9c(%rbp), %edx
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x10, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x10, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %esi
movl %r8d, %ecx
callq 0x7fd60
movl -0xa9c(%rbp), %esi
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x8, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x8, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %edx
movl %r8d, %ecx
callq 0x7fd60
movl -0xa9c(%rbp), %edx
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x2, 0x20(%rax)
movl $0x8, 0x18(%rax)
movl $0x2, 0x10(%rax)
movl $0x8, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %esi
movl %r8d, %ecx
callq 0x7fd60
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x1, 0x20(%rax)
movl $0x8, 0x18(%rax)
movl $0x4, 0x10(%rax)
movl $0x8, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %esi
movl %r9d, %edx
movl %r8d, %ecx
callq 0x7fd60
movl -0xa98(%rbp), %r8d
movl -0xa94(%rbp), %r9d
movq %rsp, %rax
movl $0x0, 0x28(%rax)
movl $0x0, 0x20(%rax)
movl $0x8, 0x18(%rax)
movl $0x4, 0x10(%rax)
movl $0x8, 0x8(%rax)
movl $0x2, (%rax)
movl %r9d, %edi
movl %r9d, %esi
movl %r9d, %edx
movl %r9d, %ecx
callq 0x7fd60
leaq -0x18(%rbp), %rdi
callq 0x1a4a0
leaq -0x30(%rbp), %rdi
callq 0x1a4a0
jmp 0x80edb
leaq -0x61(%rbp), %rdi
movq %rdi, -0xad0(%rbp)
callq 0x3440
movq -0xad0(%rbp), %rdx
leaq 0x35544(%rip), %rsi     # 0xb643d
leaq -0x60(%rbp), %rdi
callq 0x3340
jmp 0x80f04
leaq -0x18(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0xaa8b0
jmp 0x80f13
leaq -0x60(%rbp), %rdi
callq 0x34a8
jmp 0x80f1e
leaq -0x61(%rbp), %rdi
callq 0x3290
leaq -0x2e8(%rbp), %rdi
callq 0x11ad0
jmp 0x80f35
leaq -0x30(%rbp), %rdi
leaq -0x2ec(%rbp), %rsi
leaq -0x2f0(%rbp), %rdx
leaq -0x2e8(%rbp), %rcx
leaq -0x18(%rbp), %r8
callq 0x11e30
movl %eax, -0xad4(%rbp)
jmp 0x80f5f
movl -0xad4(%rbp), %eax
movl %eax, -0x2f4(%rbp)
movl -0x2f4(%rbp), %edi
callq 0x28fb0
jmp 0x80f78
movl $0x1, %eax
cmpl -0xb8(%rbp), %eax
je 0x812e7
leaq -0x399(%rbp), %rdi
movq %rdi, -0xae0(%rbp)
callq 0x3440
movq -0xae0(%rbp), %rdx
leaq 0x3216b(%rip), %rsi     # 0xb3115
leaq -0x398(%rbp), %rdi
callq 0x3340
jmp 0x80fb8
leaq 0x355db(%rip), %rdx     # 0xb659a
leaq -0x378(%rbp), %rdi
leaq -0x398(%rbp), %rsi
callq 0xaa1b0
jmp 0x80fd4
leaq 0x35708(%rip), %rdx     # 0xb66e3
leaq -0x358(%rbp), %rdi
leaq -0x378(%rbp), %rsi
callq 0xaa1b0
jmp 0x80ff0
leaq 0x355a8(%rip), %rdx     # 0xb659f
leaq -0x338(%rbp), %rdi
leaq -0x358(%rbp), %rsi
callq 0xaa1b0
jmp 0x8100c
leaq 0x3214a(%rip), %rdx     # 0xb315d
leaq -0x318(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0xaa1b0
jmp 0x81028
movq 0x76fa9(%rip), %rdi     # 0xf7fd8
leaq -0x318(%rbp), %rsi
callq 0x3200
jmp 0x8103d
leaq -0x318(%rbp), %rdi
callq 0x34a8
jmp 0x8104b
leaq -0x338(%rbp), %rdi
callq 0x34a8
jmp 0x81059
leaq -0x358(%rbp), %rdi
callq 0x34a8
jmp 0x81067
leaq -0x378(%rbp), %rdi
callq 0x34a8
jmp 0x81075
leaq -0x398(%rbp), %rdi
callq 0x34a8
jmp 0x81083
leaq -0x399(%rbp), %rdi
callq 0x3290
movq 0x76f42(%rip), %rdi     # 0xf7fd8
leaq 0x5adae(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0xae8(%rbp)
jmp 0x810ab
movl $0x1, -0x3c4(%rbp)
leaq -0x3c0(%rbp), %rdi
leaq -0x3c4(%rbp), %rsi
callq 0xaaa20
jmp 0x810ca
movq -0xae8(%rbp), %rdi
leaq -0x3c0(%rbp), %rsi
callq 0x3200
movq %rax, -0xaf0(%rbp)
jmp 0x810e6
movq -0xaf0(%rbp), %rdi
leaq 0x32081(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0xaf8(%rbp)
jmp 0x81102
leaq -0xb8(%rbp), %rsi
leaq -0x3e8(%rbp), %rdi
callq 0xaa7f0
jmp 0x81117
movq -0xaf8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0x3200
movq %rax, -0xb00(%rbp)
jmp 0x81133
movq -0xb00(%rbp), %rdi
leaq 0x31f1b(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0xb08(%rbp)
jmp 0x8114f
movq -0xb08(%rbp), %rdi
movq 0x76e63(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x81164
leaq -0x3e8(%rbp), %rdi
callq 0x34a8
jmp 0x81172
leaq -0x3c0(%rbp), %rdi
callq 0x34a8
jmp 0x81180
callq 0x28bd0
jmp 0x81187
jmp 0x812e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81f1b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x811c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x34a8
jmp 0x811c2
jmp 0x811c4
leaq -0x61(%rbp), %rdi
callq 0x3290
jmp 0x81f0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81f0e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81efe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81299
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81289
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81279
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81269
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81259
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x318(%rbp), %rdi
callq 0x34a8
jmp 0x81257
jmp 0x81259
leaq -0x338(%rbp), %rdi
callq 0x34a8
jmp 0x81267
jmp 0x81269
leaq -0x358(%rbp), %rdi
callq 0x34a8
jmp 0x81277
jmp 0x81279
leaq -0x378(%rbp), %rdi
callq 0x34a8
jmp 0x81287
jmp 0x81289
leaq -0x398(%rbp), %rdi
callq 0x34a8
jmp 0x81297
jmp 0x81299
leaq -0x399(%rbp), %rdi
callq 0x3290
jmp 0x81efe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x812d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3e8(%rbp), %rdi
callq 0x34a8
jmp 0x812d2
jmp 0x812d4
leaq -0x3c0(%rbp), %rdi
callq 0x34a8
jmp 0x812e2
jmp 0x81efe
movl $0x3, %eax
cmpl -0xb4(%rbp), %eax
je 0x815ee
leaq -0x489(%rbp), %rdi
movq %rdi, -0xb10(%rbp)
callq 0x3440
movq -0xb10(%rbp), %rdx
leaq 0x31dfc(%rip), %rsi     # 0xb3115
leaq -0x488(%rbp), %rdi
callq 0x3340
jmp 0x81327
leaq 0x3528d(%rip), %rdx     # 0xb65bb
leaq -0x468(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0xaa1b0
jmp 0x81343
leaq 0x35399(%rip), %rdx     # 0xb66e3
leaq -0x448(%rbp), %rdi
leaq -0x468(%rbp), %rsi
callq 0xaa1b0
jmp 0x8135f
leaq 0x3525a(%rip), %rdx     # 0xb65c0
leaq -0x428(%rbp), %rdi
leaq -0x448(%rbp), %rsi
callq 0xaa1b0
jmp 0x8137b
leaq 0x31ddb(%rip), %rdx     # 0xb315d
leaq -0x408(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0xaa1b0
jmp 0x81397
movq 0x76c3a(%rip), %rdi     # 0xf7fd8
leaq -0x408(%rbp), %rsi
callq 0x3200
jmp 0x813ac
leaq -0x408(%rbp), %rdi
callq 0x34a8
jmp 0x813ba
leaq -0x428(%rbp), %rdi
callq 0x34a8
jmp 0x813c8
leaq -0x448(%rbp), %rdi
callq 0x34a8
jmp 0x813d6
leaq -0x468(%rbp), %rdi
callq 0x34a8
jmp 0x813e4
leaq -0x488(%rbp), %rdi
callq 0x34a8
jmp 0x813f2
leaq -0x489(%rbp), %rdi
callq 0x3290
movq 0x76bd3(%rip), %rdi     # 0xf7fd8
leaq 0x5aa3f(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0xb18(%rbp)
jmp 0x8141a
movl $0x3, -0x4b4(%rbp)
leaq -0x4b0(%rbp), %rdi
leaq -0x4b4(%rbp), %rsi
callq 0xaaa20
jmp 0x81439
movq -0xb18(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
callq 0x3200
movq %rax, -0xb20(%rbp)
jmp 0x81455
movq -0xb20(%rbp), %rdi
leaq 0x31d12(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0xb28(%rbp)
jmp 0x81471
leaq -0xb4(%rbp), %rsi
leaq -0x4d8(%rbp), %rdi
callq 0xaa7f0
jmp 0x81486
movq -0xb28(%rbp), %rdi
leaq -0x4d8(%rbp), %rsi
callq 0x3200
movq %rax, -0xb30(%rbp)
jmp 0x814a2
movq -0xb30(%rbp), %rdi
leaq 0x31bac(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0xb38(%rbp)
jmp 0x814be
movq -0xb38(%rbp), %rdi
movq 0x76af4(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x814d3
leaq -0x4d8(%rbp), %rdi
callq 0x34a8
jmp 0x814e1
leaq -0x4b0(%rbp), %rdi
callq 0x34a8
jmp 0x814ef
callq 0x28bd0
jmp 0x814f6
jmp 0x815ee
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x815a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81590
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81580
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81570
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81560
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x408(%rbp), %rdi
callq 0x34a8
jmp 0x8155e
jmp 0x81560
leaq -0x428(%rbp), %rdi
callq 0x34a8
jmp 0x8156e
jmp 0x81570
leaq -0x448(%rbp), %rdi
callq 0x34a8
jmp 0x8157e
jmp 0x81580
leaq -0x468(%rbp), %rdi
callq 0x34a8
jmp 0x8158e
jmp 0x81590
leaq -0x488(%rbp), %rdi
callq 0x34a8
jmp 0x8159e
jmp 0x815a0
leaq -0x489(%rbp), %rdi
callq 0x3290
jmp 0x81efe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x815db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4d8(%rbp), %rdi
callq 0x34a8
jmp 0x815d9
jmp 0x815db
leaq -0x4b0(%rbp), %rdi
callq 0x34a8
jmp 0x815e9
jmp 0x81efe
movl $0x3, %eax
cmpl -0xb0(%rbp), %eax
je 0x818f5
leaq -0x579(%rbp), %rdi
movq %rdi, -0xb40(%rbp)
callq 0x3440
movq -0xb40(%rbp), %rdx
leaq 0x31af5(%rip), %rsi     # 0xb3115
leaq -0x578(%rbp), %rdi
callq 0x3340
jmp 0x8162e
leaq 0x34fa1(%rip), %rdx     # 0xb65d6
leaq -0x558(%rbp), %rdi
leaq -0x578(%rbp), %rsi
callq 0xaa1b0
jmp 0x8164a
leaq 0x35092(%rip), %rdx     # 0xb66e3
leaq -0x538(%rbp), %rdi
leaq -0x558(%rbp), %rsi
callq 0xaa1b0
jmp 0x81666
leaq 0x34f6e(%rip), %rdx     # 0xb65db
leaq -0x518(%rbp), %rdi
leaq -0x538(%rbp), %rsi
callq 0xaa1b0
jmp 0x81682
leaq 0x31ad4(%rip), %rdx     # 0xb315d
leaq -0x4f8(%rbp), %rdi
leaq -0x518(%rbp), %rsi
callq 0xaa1b0
jmp 0x8169e
movq 0x76933(%rip), %rdi     # 0xf7fd8
leaq -0x4f8(%rbp), %rsi
callq 0x3200
jmp 0x816b3
leaq -0x4f8(%rbp), %rdi
callq 0x34a8
jmp 0x816c1
leaq -0x518(%rbp), %rdi
callq 0x34a8
jmp 0x816cf
leaq -0x538(%rbp), %rdi
callq 0x34a8
jmp 0x816dd
leaq -0x558(%rbp), %rdi
callq 0x34a8
jmp 0x816eb
leaq -0x578(%rbp), %rdi
callq 0x34a8
jmp 0x816f9
leaq -0x579(%rbp), %rdi
callq 0x3290
movq 0x768cc(%rip), %rdi     # 0xf7fd8
leaq 0x5a738(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0xb48(%rbp)
jmp 0x81721
movl $0x3, -0x5a4(%rbp)
leaq -0x5a0(%rbp), %rdi
leaq -0x5a4(%rbp), %rsi
callq 0xaaa20
jmp 0x81740
movq -0xb48(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
callq 0x3200
movq %rax, -0xb50(%rbp)
jmp 0x8175c
movq -0xb50(%rbp), %rdi
leaq 0x31a0b(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0xb58(%rbp)
jmp 0x81778
leaq -0xb0(%rbp), %rsi
leaq -0x5c8(%rbp), %rdi
callq 0xaa7f0
jmp 0x8178d
movq -0xb58(%rbp), %rdi
leaq -0x5c8(%rbp), %rsi
callq 0x3200
movq %rax, -0xb60(%rbp)
jmp 0x817a9
movq -0xb60(%rbp), %rdi
leaq 0x318a5(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0xb68(%rbp)
jmp 0x817c5
movq -0xb68(%rbp), %rdi
movq 0x767ed(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x817da
leaq -0x5c8(%rbp), %rdi
callq 0x34a8
jmp 0x817e8
leaq -0x5a0(%rbp), %rdi
callq 0x34a8
jmp 0x817f6
callq 0x28bd0
jmp 0x817fd
jmp 0x818f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x818a7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81897
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81887
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81877
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81867
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4f8(%rbp), %rdi
callq 0x34a8
jmp 0x81865
jmp 0x81867
leaq -0x518(%rbp), %rdi
callq 0x34a8
jmp 0x81875
jmp 0x81877
leaq -0x538(%rbp), %rdi
callq 0x34a8
jmp 0x81885
jmp 0x81887
leaq -0x558(%rbp), %rdi
callq 0x34a8
jmp 0x81895
jmp 0x81897
leaq -0x578(%rbp), %rdi
callq 0x34a8
jmp 0x818a5
jmp 0x818a7
leaq -0x579(%rbp), %rdi
callq 0x3290
jmp 0x81efe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x818e2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x5c8(%rbp), %rdi
callq 0x34a8
jmp 0x818e0
jmp 0x818e2
leaq -0x5a0(%rbp), %rdi
callq 0x34a8
jmp 0x818f0
jmp 0x81efe
movl $0x3, %eax
cmpl -0xac(%rbp), %eax
je 0x81bfc
leaq -0x669(%rbp), %rdi
movq %rdi, -0xb70(%rbp)
callq 0x3440
movq -0xb70(%rbp), %rdx
leaq 0x317ee(%rip), %rsi     # 0xb3115
leaq -0x668(%rbp), %rdi
callq 0x3340
jmp 0x81935
leaq 0x34cb5(%rip), %rdx     # 0xb65f1
leaq -0x648(%rbp), %rdi
leaq -0x668(%rbp), %rsi
callq 0xaa1b0
jmp 0x81951
leaq 0x34d8b(%rip), %rdx     # 0xb66e3
leaq -0x628(%rbp), %rdi
leaq -0x648(%rbp), %rsi
callq 0xaa1b0
jmp 0x8196d
leaq 0x34c82(%rip), %rdx     # 0xb65f6
leaq -0x608(%rbp), %rdi
leaq -0x628(%rbp), %rsi
callq 0xaa1b0
jmp 0x81989
leaq 0x317cd(%rip), %rdx     # 0xb315d
leaq -0x5e8(%rbp), %rdi
leaq -0x608(%rbp), %rsi
callq 0xaa1b0
jmp 0x819a5
movq 0x7662c(%rip), %rdi     # 0xf7fd8
leaq -0x5e8(%rbp), %rsi
callq 0x3200
jmp 0x819ba
leaq -0x5e8(%rbp), %rdi
callq 0x34a8
jmp 0x819c8
leaq -0x608(%rbp), %rdi
callq 0x34a8
jmp 0x819d6
leaq -0x628(%rbp), %rdi
callq 0x34a8
jmp 0x819e4
leaq -0x648(%rbp), %rdi
callq 0x34a8
jmp 0x819f2
leaq -0x668(%rbp), %rdi
callq 0x34a8
jmp 0x81a00
leaq -0x669(%rbp), %rdi
callq 0x3290
movq 0x765c5(%rip), %rdi     # 0xf7fd8
leaq 0x5a431(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0xb78(%rbp)
jmp 0x81a28
movl $0x3, -0x694(%rbp)
leaq -0x690(%rbp), %rdi
leaq -0x694(%rbp), %rsi
callq 0xaaa20
jmp 0x81a47
movq -0xb78(%rbp), %rdi
leaq -0x690(%rbp), %rsi
callq 0x3200
movq %rax, -0xb80(%rbp)
jmp 0x81a63
movq -0xb80(%rbp), %rdi
leaq 0x31704(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0xb88(%rbp)
jmp 0x81a7f
leaq -0xac(%rbp), %rsi
leaq -0x6b8(%rbp), %rdi
callq 0xaa7f0
jmp 0x81a94
movq -0xb88(%rbp), %rdi
leaq -0x6b8(%rbp), %rsi
callq 0x3200
movq %rax, -0xb90(%rbp)
jmp 0x81ab0
movq -0xb90(%rbp), %rdi
leaq 0x3159e(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0xb98(%rbp)
jmp 0x81acc
movq -0xb98(%rbp), %rdi
movq 0x764e6(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x81ae1
leaq -0x6b8(%rbp), %rdi
callq 0x34a8
jmp 0x81aef
leaq -0x690(%rbp), %rdi
callq 0x34a8
jmp 0x81afd
callq 0x28bd0
jmp 0x81b04
jmp 0x81bfc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81bae
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81b8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81b7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81b6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x5e8(%rbp), %rdi
callq 0x34a8
jmp 0x81b6c
jmp 0x81b6e
leaq -0x608(%rbp), %rdi
callq 0x34a8
jmp 0x81b7c
jmp 0x81b7e
leaq -0x628(%rbp), %rdi
callq 0x34a8
jmp 0x81b8c
jmp 0x81b8e
leaq -0x648(%rbp), %rdi
callq 0x34a8
jmp 0x81b9c
jmp 0x81b9e
leaq -0x668(%rbp), %rdi
callq 0x34a8
jmp 0x81bac
jmp 0x81bae
leaq -0x669(%rbp), %rdi
callq 0x3290
jmp 0x81efe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81be9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x6b8(%rbp), %rdi
callq 0x34a8
jmp 0x81be7
jmp 0x81be9
leaq -0x690(%rbp), %rdi
callq 0x34a8
jmp 0x81bf7
jmp 0x81efe
leaq -0x2e8(%rbp), %rdi
callq 0x11b20
jmp 0x81c0a
leaq -0x30(%rbp), %rdi
callq 0x1a4c0
jmp 0x81c15
leaq -0x18(%rbp), %rdi
callq 0x1a4c0
leaq -0x6d0(%rbp), %rdi
callq 0x1a4a0
leaq -0x6e8(%rbp), %rdi
callq 0x1a4a0
jmp 0x81c38
leaq -0x709(%rbp), %rdi
movq %rdi, -0xba0(%rbp)
callq 0x3440
movq -0xba0(%rbp), %rdx
leaq 0x349b3(%rip), %rsi     # 0xb660c
leaq -0x708(%rbp), %rdi
callq 0x3340
jmp 0x81c67
leaq -0x6d0(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0xaa8b0
jmp 0x81c7c
leaq -0x708(%rbp), %rdi
callq 0x34a8
jmp 0x81c8a
leaq -0x709(%rbp), %rdi
callq 0x3290
leaq -0x990(%rbp), %rdi
callq 0x11ad0
jmp 0x81ca4
leaq -0x6e8(%rbp), %rdi
leaq -0x994(%rbp), %rsi
leaq -0x998(%rbp), %rdx
leaq -0x990(%rbp), %rcx
leaq -0x6d0(%rbp), %r8
callq 0x11e30
movl %eax, -0xba4(%rbp)
jmp 0x81cd4
movl -0xba4(%rbp), %eax
movl %eax, -0x99c(%rbp)
movl -0x99c(%rbp), %edi
callq 0x28fb0
jmp 0x81ced
xorl %eax, %eax
cmpl -0x760(%rbp), %eax
je 0x82086
leaq -0xa41(%rbp), %rdi
movq %rdi, -0xbb0(%rbp)
callq 0x3440
movq -0xbb0(%rbp), %rdx
leaq 0x313f9(%rip), %rsi     # 0xb3115
leaq -0xa40(%rbp), %rdi
callq 0x3340
jmp 0x81d2a
leaq 0x34968(%rip), %rdx     # 0xb6699
leaq -0xa20(%rbp), %rdi
leaq -0xa40(%rbp), %rsi
callq 0xaa1b0
jmp 0x81d46
leaq 0x34996(%rip), %rdx     # 0xb66e3
leaq -0xa00(%rbp), %rdi
leaq -0xa20(%rbp), %rsi
callq 0xaa1b0
jmp 0x81d62
leaq 0x34836(%rip), %rdx     # 0xb659f
leaq -0x9e0(%rbp), %rdi
leaq -0xa00(%rbp), %rsi
callq 0xaa1b0
jmp 0x81d7e
leaq 0x313d8(%rip), %rdx     # 0xb315d
leaq -0x9c0(%rbp), %rdi
leaq -0x9e0(%rbp), %rsi
callq 0xaa1b0
jmp 0x81d9a
movq 0x76237(%rip), %rdi     # 0xf7fd8
leaq -0x9c0(%rbp), %rsi
callq 0x3200
jmp 0x81daf
leaq -0x9c0(%rbp), %rdi
callq 0x34a8
jmp 0x81dbd
leaq -0x9e0(%rbp), %rdi
callq 0x34a8
jmp 0x81dcb
leaq -0xa00(%rbp), %rdi
callq 0x34a8
jmp 0x81dd9
leaq -0xa20(%rbp), %rdi
callq 0x34a8
jmp 0x81de7
leaq -0xa40(%rbp), %rdi
callq 0x34a8
jmp 0x81df5
leaq -0xa41(%rbp), %rdi
callq 0x3290
movq 0x761d0(%rip), %rdi     # 0xf7fd8
leaq 0x5a03c(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0xbb8(%rbp)
jmp 0x81e1d
movl $0x0, -0xa6c(%rbp)
leaq -0xa68(%rbp), %rdi
leaq -0xa6c(%rbp), %rsi
callq 0xaaa20
jmp 0x81e3c
movq -0xbb8(%rbp), %rdi
leaq -0xa68(%rbp), %rsi
callq 0x3200
movq %rax, -0xbc0(%rbp)
jmp 0x81e58
movq -0xbc0(%rbp), %rdi
leaq 0x3130f(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0xbc8(%rbp)
jmp 0x81e74
leaq -0x760(%rbp), %rsi
leaq -0xa90(%rbp), %rdi
callq 0xaa7f0
jmp 0x81e89
movq -0xbc8(%rbp), %rdi
leaq -0xa90(%rbp), %rsi
callq 0x3200
movq %rax, -0xbd0(%rbp)
jmp 0x81ea5
movq -0xbd0(%rbp), %rdi
leaq 0x311a9(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0xbd8(%rbp)
jmp 0x81ec1
movq -0xbd8(%rbp), %rdi
movq 0x760f1(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x81ed6
leaq -0xa90(%rbp), %rdi
callq 0x34a8
jmp 0x81ee4
leaq -0xa68(%rbp), %rdi
callq 0x34a8
jmp 0x81ef2
callq 0x28bd0
jmp 0x81ef9
jmp 0x82086
leaq -0x2e8(%rbp), %rdi
callq 0x11b20
jmp 0x81f0c
jmp 0x81f0e
leaq -0x30(%rbp), %rdi
callq 0x1a4c0
jmp 0x81f19
jmp 0x81f1b
leaq -0x18(%rbp), %rdi
callq 0x1a4c0
jmp 0x81f26
jmp 0x820e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x820d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81f66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x708(%rbp), %rdi
callq 0x34a8
jmp 0x81f64
jmp 0x81f66
leaq -0x709(%rbp), %rdi
callq 0x3290
jmp 0x820c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x820c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x820b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x8203e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x8202e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x8201e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x8200e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x81ffe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x9c0(%rbp), %rdi
callq 0x34a8
jmp 0x81ffc
jmp 0x81ffe
leaq -0x9e0(%rbp), %rdi
callq 0x34a8
jmp 0x8200c
jmp 0x8200e
leaq -0xa00(%rbp), %rdi
callq 0x34a8
jmp 0x8201c
jmp 0x8201e
leaq -0xa20(%rbp), %rdi
callq 0x34a8
jmp 0x8202c
jmp 0x8202e
leaq -0xa40(%rbp), %rdi
callq 0x34a8
jmp 0x8203c
jmp 0x8203e
leaq -0xa41(%rbp), %rdi
callq 0x3290
jmp 0x820b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x82076
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xa90(%rbp), %rdi
callq 0x34a8
jmp 0x82074
jmp 0x82076
leaq -0xa68(%rbp), %rdi
callq 0x34a8
jmp 0x82084
jmp 0x820b7
leaq -0x990(%rbp), %rdi
callq 0x11b20
jmp 0x82094
leaq -0x6e8(%rbp), %rdi
callq 0x1a4c0
jmp 0x820a2
leaq -0x6d0(%rbp), %rdi
callq 0x1a4c0
addq $0xc10, %rsp            # imm = 0xC10
popq %rbp
retq
leaq -0x990(%rbp), %rdi
callq 0x11b20
jmp 0x820c5
jmp 0x820c7
leaq -0x6e8(%rbp), %rdi
callq 0x1a4c0
jmp 0x820d5
jmp 0x820d7
leaq -0x6d0(%rbp), %rdi
callq 0x1a4c0
jmp 0x820e5
jmp 0x820e7
movq -0x38(%rbp), %rdi
callq 0x3430
movq %rax, %rdi
callq 0x1a490
nopl (%rax,%rax)