// File: lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: testPaletteToPaletteDecode2()
void testPaletteToPaletteDecode2() {
  std::cout << "testPaletteToPaletteDecode2" << std::endl;
  std::string base64 = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAgMAAAAOFJJnAAAADFBMVEX/AAAA/wAAAP/////7AGD2AAAAE0lEQVR4AWMQhAKG3VCALDIqAgDl2WYBCQHY9gAAAABJRU5ErkJggg==";
  std::vector<unsigned char> png;
  fromBase64(png, base64);

  std::vector<unsigned char> image;
  unsigned width, height;
  unsigned error = lodepng::decode(image, width, height, png, LCT_PALETTE, 8);
  ASSERT_EQUALS(0, error);
  ASSERT_EQUALS(32, width);
  ASSERT_EQUALS(32, height);
  ASSERT_EQUALS(0, image[0]);
  ASSERT_EQUALS(1, image[1]);

  //Now add a user-specified output palette, that differs from the input palette. That should give error 82.
  LodePNGState state;
  lodepng_state_init(&state);
  state.info_raw.colortype = LCT_PALETTE;
  state.info_raw.bitdepth = 8;
  lodepng_palette_add(&state.info_raw, 0, 0, 0, 255);
  lodepng_palette_add(&state.info_raw, 1, 1, 1, 255);
  lodepng_palette_add(&state.info_raw, 2, 2, 2, 255);
  lodepng_palette_add(&state.info_raw, 3, 3, 3, 255);
  unsigned char* image2 = 0;
  unsigned error2 = lodepng_decode(&image2, &width, &height, &state, &png[0], png.size());
  lodepng_state_cleanup(&state);
  ASSERT_EQUALS(82, error2);
  free(image2);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa10, %rsp            # imm = 0xA10
movq 0x99476(%rip), %rdi     # 0xf7fd8
leaq 0x565f5(%rip), %rsi     # 0xb515e
callq 0x3230
movq %rax, %rdi
movq 0x99448(%rip), %rsi     # 0xf7fc0
callq 0x3280
leaq -0x21(%rbp), %rdi
movq %rdi, -0x8b0(%rbp)
callq 0x3440
movq -0x8b0(%rbp), %rdx
leaq 0x565df(%rip), %rsi     # 0xb517a
leaq -0x20(%rbp), %rdi
callq 0x3340
jmp 0x5eba6
leaq -0x21(%rbp), %rdi
callq 0x3290
leaq -0x50(%rbp), %rdi
callq 0x1a4a0
jmp 0x5ebba
leaq -0x50(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0xaa8b0
jmp 0x5ebc9
leaq -0x68(%rbp), %rdi
callq 0x1a4a0
jmp 0x5ebd4
leaq -0x68(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
leaq -0x70(%rbp), %rdx
leaq -0x50(%rbp), %rcx
movl $0x3, %r8d
movl $0x8, %r9d
callq 0x11cd0
movl %eax, -0x8b4(%rbp)
jmp 0x5ebfd
movl -0x8b4(%rbp), %eax
movl %eax, -0x74(%rbp)
xorl %eax, %eax
cmpl -0x74(%rbp), %eax
je 0x5ef51
leaq -0x119(%rbp), %rdi
movq %rdi, -0x8c0(%rbp)
callq 0x3440
movq -0x8c0(%rbp), %rdx
leaq 0x544e3(%rip), %rsi     # 0xb3115
leaq -0x118(%rbp), %rdi
callq 0x3340
jmp 0x5ec40
leaq 0x565bc(%rip), %rdx     # 0xb5203
leaq -0xf8(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0xaa1b0
jmp 0x5ec5c
leaq 0x57a80(%rip), %rdx     # 0xb66e3
leaq -0xd8(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5ec78
leaq 0x543f6(%rip), %rdx     # 0xb3075
leaq -0xb8(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5ec94
leaq 0x544c2(%rip), %rdx     # 0xb315d
leaq -0x98(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5ecb0
movq 0x99321(%rip), %rdi     # 0xf7fd8
leaq -0x98(%rbp), %rsi
callq 0x3200
jmp 0x5ecc5
leaq -0x98(%rbp), %rdi
callq 0x34a8
jmp 0x5ecd3
leaq -0xb8(%rbp), %rdi
callq 0x34a8
jmp 0x5ece1
leaq -0xd8(%rbp), %rdi
callq 0x34a8
jmp 0x5ecef
leaq -0xf8(%rbp), %rdi
callq 0x34a8
jmp 0x5ecfd
leaq -0x118(%rbp), %rdi
callq 0x34a8
jmp 0x5ed0b
leaq -0x119(%rbp), %rdi
callq 0x3290
movq 0x992ba(%rip), %rdi     # 0xf7fd8
leaq 0x7d126(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x8c8(%rbp)
jmp 0x5ed33
movl $0x0, -0x144(%rbp)
leaq -0x140(%rbp), %rdi
leaq -0x144(%rbp), %rsi
callq 0xaaa20
jmp 0x5ed52
movq -0x8c8(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x3200
movq %rax, -0x8d0(%rbp)
jmp 0x5ed6e
movq -0x8d0(%rbp), %rdi
leaq 0x543f9(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x8d8(%rbp)
jmp 0x5ed8a
leaq -0x168(%rbp), %rdi
leaq -0x74(%rbp), %rsi
callq 0xaa7f0
jmp 0x5ed9c
movq -0x8d8(%rbp), %rdi
leaq -0x168(%rbp), %rsi
callq 0x3200
movq %rax, -0x8e0(%rbp)
jmp 0x5edb8
movq -0x8e0(%rbp), %rdi
leaq 0x54296(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x8e8(%rbp)
jmp 0x5edd4
movq -0x8e8(%rbp), %rdi
movq 0x991de(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x5ede9
leaq -0x168(%rbp), %rdi
callq 0x34a8
jmp 0x5edf7
leaq -0x140(%rbp), %rdi
callq 0x34a8
jmp 0x5ee05
callq 0x28bd0
jmp 0x5ee0c
jmp 0x5ef51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x21(%rbp), %rdi
callq 0x3290
jmp 0x60031
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x60024
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x60017
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x6000a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ef03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5eef3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5eee3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5eed3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5eec3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x98(%rbp), %rdi
callq 0x34a8
jmp 0x5eec1
jmp 0x5eec3
leaq -0xb8(%rbp), %rdi
callq 0x34a8
jmp 0x5eed1
jmp 0x5eed3
leaq -0xd8(%rbp), %rdi
callq 0x34a8
jmp 0x5eee1
jmp 0x5eee3
leaq -0xf8(%rbp), %rdi
callq 0x34a8
jmp 0x5eef1
jmp 0x5eef3
leaq -0x118(%rbp), %rdi
callq 0x34a8
jmp 0x5ef01
jmp 0x5ef03
leaq -0x119(%rbp), %rdi
callq 0x3290
jmp 0x6000a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ef3e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x168(%rbp), %rdi
callq 0x34a8
jmp 0x5ef3c
jmp 0x5ef3e
leaq -0x140(%rbp), %rdi
callq 0x34a8
jmp 0x5ef4c
jmp 0x6000a
movl $0x20, %eax
cmpl -0x6c(%rbp), %eax
je 0x5f252
leaq -0x209(%rbp), %rdi
movq %rdi, -0x8f0(%rbp)
callq 0x3440
movq -0x8f0(%rbp), %rdx
leaq 0x54195(%rip), %rsi     # 0xb3115
leaq -0x208(%rbp), %rdi
callq 0x3340
jmp 0x5ef8e
leaq 0x56273(%rip), %rdx     # 0xb5208
leaq -0x1e8(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0xaa1b0
jmp 0x5efaa
leaq 0x57732(%rip), %rdx     # 0xb66e3
leaq -0x1c8(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5efc6
leaq 0x56159(%rip), %rdx     # 0xb5126
leaq -0x1a8(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5efe2
leaq 0x54174(%rip), %rdx     # 0xb315d
leaq -0x188(%rbp), %rdi
leaq -0x1a8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5effe
movq 0x98fd3(%rip), %rdi     # 0xf7fd8
leaq -0x188(%rbp), %rsi
callq 0x3200
jmp 0x5f013
leaq -0x188(%rbp), %rdi
callq 0x34a8
jmp 0x5f021
leaq -0x1a8(%rbp), %rdi
callq 0x34a8
jmp 0x5f02f
leaq -0x1c8(%rbp), %rdi
callq 0x34a8
jmp 0x5f03d
leaq -0x1e8(%rbp), %rdi
callq 0x34a8
jmp 0x5f04b
leaq -0x208(%rbp), %rdi
callq 0x34a8
jmp 0x5f059
leaq -0x209(%rbp), %rdi
callq 0x3290
movq 0x98f6c(%rip), %rdi     # 0xf7fd8
leaq 0x7cdd8(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x8f8(%rbp)
jmp 0x5f081
movl $0x20, -0x234(%rbp)
leaq -0x230(%rbp), %rdi
leaq -0x234(%rbp), %rsi
callq 0xaaa20
jmp 0x5f0a0
movq -0x8f8(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x3200
movq %rax, -0x900(%rbp)
jmp 0x5f0bc
movq -0x900(%rbp), %rdi
leaq 0x540ab(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x908(%rbp)
jmp 0x5f0d8
leaq -0x258(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
callq 0xaa7f0
jmp 0x5f0ea
movq -0x908(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0x3200
movq %rax, -0x910(%rbp)
jmp 0x5f106
movq -0x910(%rbp), %rdi
leaq 0x53f48(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x918(%rbp)
jmp 0x5f122
movq -0x918(%rbp), %rdi
movq 0x98e90(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x5f137
leaq -0x258(%rbp), %rdi
callq 0x34a8
jmp 0x5f145
leaq -0x230(%rbp), %rdi
callq 0x34a8
jmp 0x5f153
callq 0x28bd0
jmp 0x5f15a
jmp 0x5f252
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f204
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f1f4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f1e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f1d4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f1c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x188(%rbp), %rdi
callq 0x34a8
jmp 0x5f1c2
jmp 0x5f1c4
leaq -0x1a8(%rbp), %rdi
callq 0x34a8
jmp 0x5f1d2
jmp 0x5f1d4
leaq -0x1c8(%rbp), %rdi
callq 0x34a8
jmp 0x5f1e2
jmp 0x5f1e4
leaq -0x1e8(%rbp), %rdi
callq 0x34a8
jmp 0x5f1f2
jmp 0x5f1f4
leaq -0x208(%rbp), %rdi
callq 0x34a8
jmp 0x5f202
jmp 0x5f204
leaq -0x209(%rbp), %rdi
callq 0x3290
jmp 0x6000a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f23f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x258(%rbp), %rdi
callq 0x34a8
jmp 0x5f23d
jmp 0x5f23f
leaq -0x230(%rbp), %rdi
callq 0x34a8
jmp 0x5f24d
jmp 0x6000a
movl $0x20, %eax
cmpl -0x70(%rbp), %eax
je 0x5f553
leaq -0x2f9(%rbp), %rdi
movq %rdi, -0x920(%rbp)
callq 0x3440
movq -0x920(%rbp), %rdx
leaq 0x53e94(%rip), %rsi     # 0xb3115
leaq -0x2f8(%rbp), %rdi
callq 0x3340
jmp 0x5f28f
leaq 0x55f77(%rip), %rdx     # 0xb520d
leaq -0x2d8(%rbp), %rdi
leaq -0x2f8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f2ab
leaq 0x57431(%rip), %rdx     # 0xb66e3
leaq -0x2b8(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f2c7
leaq 0x55e63(%rip), %rdx     # 0xb5131
leaq -0x298(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f2e3
leaq 0x53e73(%rip), %rdx     # 0xb315d
leaq -0x278(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f2ff
movq 0x98cd2(%rip), %rdi     # 0xf7fd8
leaq -0x278(%rbp), %rsi
callq 0x3200
jmp 0x5f314
leaq -0x278(%rbp), %rdi
callq 0x34a8
jmp 0x5f322
leaq -0x298(%rbp), %rdi
callq 0x34a8
jmp 0x5f330
leaq -0x2b8(%rbp), %rdi
callq 0x34a8
jmp 0x5f33e
leaq -0x2d8(%rbp), %rdi
callq 0x34a8
jmp 0x5f34c
leaq -0x2f8(%rbp), %rdi
callq 0x34a8
jmp 0x5f35a
leaq -0x2f9(%rbp), %rdi
callq 0x3290
movq 0x98c6b(%rip), %rdi     # 0xf7fd8
leaq 0x7cad7(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x928(%rbp)
jmp 0x5f382
movl $0x20, -0x324(%rbp)
leaq -0x320(%rbp), %rdi
leaq -0x324(%rbp), %rsi
callq 0xaaa20
jmp 0x5f3a1
movq -0x928(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0x3200
movq %rax, -0x930(%rbp)
jmp 0x5f3bd
movq -0x930(%rbp), %rdi
leaq 0x53daa(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x938(%rbp)
jmp 0x5f3d9
leaq -0x348(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xaa7f0
jmp 0x5f3eb
movq -0x938(%rbp), %rdi
leaq -0x348(%rbp), %rsi
callq 0x3200
movq %rax, -0x940(%rbp)
jmp 0x5f407
movq -0x940(%rbp), %rdi
leaq 0x53c47(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x948(%rbp)
jmp 0x5f423
movq -0x948(%rbp), %rdi
movq 0x98b8f(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x5f438
leaq -0x348(%rbp), %rdi
callq 0x34a8
jmp 0x5f446
leaq -0x320(%rbp), %rdi
callq 0x34a8
jmp 0x5f454
callq 0x28bd0
jmp 0x5f45b
jmp 0x5f553
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f505
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f4f5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f4e5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f4d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f4c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x34a8
jmp 0x5f4c3
jmp 0x5f4c5
leaq -0x298(%rbp), %rdi
callq 0x34a8
jmp 0x5f4d3
jmp 0x5f4d5
leaq -0x2b8(%rbp), %rdi
callq 0x34a8
jmp 0x5f4e3
jmp 0x5f4e5
leaq -0x2d8(%rbp), %rdi
callq 0x34a8
jmp 0x5f4f3
jmp 0x5f4f5
leaq -0x2f8(%rbp), %rdi
callq 0x34a8
jmp 0x5f503
jmp 0x5f505
leaq -0x2f9(%rbp), %rdi
callq 0x3290
jmp 0x6000a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f540
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x348(%rbp), %rdi
callq 0x34a8
jmp 0x5f53e
jmp 0x5f540
leaq -0x320(%rbp), %rdi
callq 0x34a8
jmp 0x5f54e
jmp 0x6000a
xorl %eax, %eax
movl %eax, %esi
leaq -0x68(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x950(%rbp)
jmp 0x5f569
movq -0x950(%rbp), %rax
movzbl (%rax), %ecx
xorl %eax, %eax
cmpl %ecx, %eax
je 0x5f889
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0x958(%rbp)
callq 0x3440
movq -0x958(%rbp), %rdx
leaq 0x53b77(%rip), %rsi     # 0xb3115
leaq -0x3e8(%rbp), %rdi
callq 0x3340
jmp 0x5f5ac
leaq 0x55c5f(%rip), %rdx     # 0xb5212
leaq -0x3c8(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f5c8
leaq 0x57114(%rip), %rdx     # 0xb66e3
leaq -0x3a8(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f5e4
leaq 0x55b52(%rip), %rdx     # 0xb513d
leaq -0x388(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f600
leaq 0x53b56(%rip), %rdx     # 0xb315d
leaq -0x368(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f61c
movq 0x989b5(%rip), %rdi     # 0xf7fd8
leaq -0x368(%rbp), %rsi
callq 0x3200
jmp 0x5f631
leaq -0x368(%rbp), %rdi
callq 0x34a8
jmp 0x5f63f
leaq -0x388(%rbp), %rdi
callq 0x34a8
jmp 0x5f64d
leaq -0x3a8(%rbp), %rdi
callq 0x34a8
jmp 0x5f65b
leaq -0x3c8(%rbp), %rdi
callq 0x34a8
jmp 0x5f669
leaq -0x3e8(%rbp), %rdi
callq 0x34a8
jmp 0x5f677
leaq -0x3e9(%rbp), %rdi
callq 0x3290
movq 0x9894e(%rip), %rdi     # 0xf7fd8
leaq 0x7c7ba(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x960(%rbp)
jmp 0x5f69f
movl $0x0, -0x414(%rbp)
leaq -0x410(%rbp), %rdi
leaq -0x414(%rbp), %rsi
callq 0xaaa20
jmp 0x5f6be
movq -0x960(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x3200
movq %rax, -0x968(%rbp)
jmp 0x5f6da
movq -0x968(%rbp), %rdi
leaq 0x53a8d(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x970(%rbp)
jmp 0x5f6f6
xorl %eax, %eax
movl %eax, %esi
leaq -0x68(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x978(%rbp)
jmp 0x5f70c
movq -0x978(%rbp), %rsi
leaq -0x438(%rbp), %rdi
callq 0x28c00
jmp 0x5f721
movq -0x970(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x3200
movq %rax, -0x980(%rbp)
jmp 0x5f73d
movq -0x980(%rbp), %rdi
leaq 0x53911(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x988(%rbp)
jmp 0x5f759
movq -0x988(%rbp), %rdi
movq 0x98859(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x5f76e
leaq -0x438(%rbp), %rdi
callq 0x34a8
jmp 0x5f77c
leaq -0x410(%rbp), %rdi
callq 0x34a8
jmp 0x5f78a
callq 0x28bd0
jmp 0x5f791
jmp 0x5f889
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f83b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f82b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f81b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f80b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f7fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x368(%rbp), %rdi
callq 0x34a8
jmp 0x5f7f9
jmp 0x5f7fb
leaq -0x388(%rbp), %rdi
callq 0x34a8
jmp 0x5f809
jmp 0x5f80b
leaq -0x3a8(%rbp), %rdi
callq 0x34a8
jmp 0x5f819
jmp 0x5f81b
leaq -0x3c8(%rbp), %rdi
callq 0x34a8
jmp 0x5f829
jmp 0x5f82b
leaq -0x3e8(%rbp), %rdi
callq 0x34a8
jmp 0x5f839
jmp 0x5f83b
leaq -0x3e9(%rbp), %rdi
callq 0x3290
jmp 0x6000a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5f876
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x438(%rbp), %rdi
callq 0x34a8
jmp 0x5f874
jmp 0x5f876
leaq -0x410(%rbp), %rdi
callq 0x34a8
jmp 0x5f884
jmp 0x6000a
leaq -0x68(%rbp), %rdi
movl $0x1, %esi
callq 0x1a5f0
movq %rax, -0x990(%rbp)
jmp 0x5f8a0
movq -0x990(%rbp), %rax
movzbl (%rax), %ecx
movl $0x1, %eax
cmpl %ecx, %eax
je 0x5fbc4
leaq -0x4d9(%rbp), %rdi
movq %rdi, -0x998(%rbp)
callq 0x3440
movq -0x998(%rbp), %rdx
leaq 0x5383d(%rip), %rsi     # 0xb3115
leaq -0x4d8(%rbp), %rdi
callq 0x3340
jmp 0x5f8e6
leaq 0x5592a(%rip), %rdx     # 0xb5217
leaq -0x4b8(%rbp), %rdi
leaq -0x4d8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f902
leaq 0x56dda(%rip), %rdx     # 0xb66e3
leaq -0x498(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f91e
leaq 0x55826(%rip), %rdx     # 0xb514b
leaq -0x478(%rbp), %rdi
leaq -0x498(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f93a
leaq 0x5381c(%rip), %rdx     # 0xb315d
leaq -0x458(%rbp), %rdi
leaq -0x478(%rbp), %rsi
callq 0xaa1b0
jmp 0x5f956
movq 0x9867b(%rip), %rdi     # 0xf7fd8
leaq -0x458(%rbp), %rsi
callq 0x3200
jmp 0x5f96b
leaq -0x458(%rbp), %rdi
callq 0x34a8
jmp 0x5f979
leaq -0x478(%rbp), %rdi
callq 0x34a8
jmp 0x5f987
leaq -0x498(%rbp), %rdi
callq 0x34a8
jmp 0x5f995
leaq -0x4b8(%rbp), %rdi
callq 0x34a8
jmp 0x5f9a3
leaq -0x4d8(%rbp), %rdi
callq 0x34a8
jmp 0x5f9b1
leaq -0x4d9(%rbp), %rdi
callq 0x3290
movq 0x98614(%rip), %rdi     # 0xf7fd8
leaq 0x7c480(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x9a0(%rbp)
jmp 0x5f9d9
movl $0x1, -0x504(%rbp)
leaq -0x500(%rbp), %rdi
leaq -0x504(%rbp), %rsi
callq 0xaaa20
jmp 0x5f9f8
movq -0x9a0(%rbp), %rdi
leaq -0x500(%rbp), %rsi
callq 0x3200
movq %rax, -0x9a8(%rbp)
jmp 0x5fa14
movq -0x9a8(%rbp), %rdi
leaq 0x53753(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x9b0(%rbp)
jmp 0x5fa30
leaq -0x68(%rbp), %rdi
movl $0x1, %esi
callq 0x1a5f0
movq %rax, -0x9b8(%rbp)
jmp 0x5fa47
movq -0x9b8(%rbp), %rsi
leaq -0x528(%rbp), %rdi
callq 0x28c00
jmp 0x5fa5c
movq -0x9b0(%rbp), %rdi
leaq -0x528(%rbp), %rsi
callq 0x3200
movq %rax, -0x9c0(%rbp)
jmp 0x5fa78
movq -0x9c0(%rbp), %rdi
leaq 0x535d6(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x9c8(%rbp)
jmp 0x5fa94
movq -0x9c8(%rbp), %rdi
movq 0x9851e(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x5faa9
leaq -0x528(%rbp), %rdi
callq 0x34a8
jmp 0x5fab7
leaq -0x500(%rbp), %rdi
callq 0x34a8
jmp 0x5fac5
callq 0x28bd0
jmp 0x5facc
jmp 0x5fbc4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5fb76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5fb66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5fb56
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5fb46
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5fb36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x458(%rbp), %rdi
callq 0x34a8
jmp 0x5fb34
jmp 0x5fb36
leaq -0x478(%rbp), %rdi
callq 0x34a8
jmp 0x5fb44
jmp 0x5fb46
leaq -0x498(%rbp), %rdi
callq 0x34a8
jmp 0x5fb54
jmp 0x5fb56
leaq -0x4b8(%rbp), %rdi
callq 0x34a8
jmp 0x5fb64
jmp 0x5fb66
leaq -0x4d8(%rbp), %rdi
callq 0x34a8
jmp 0x5fb74
jmp 0x5fb76
leaq -0x4d9(%rbp), %rdi
callq 0x3290
jmp 0x6000a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5fbb1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x528(%rbp), %rdi
callq 0x34a8
jmp 0x5fbaf
jmp 0x5fbb1
leaq -0x500(%rbp), %rdi
callq 0x34a8
jmp 0x5fbbf
jmp 0x6000a
leaq -0x7a8(%rbp), %rdi
callq 0xd2a0
jmp 0x5fbd2
leaq -0x700(%rbp), %rdi
movl $0x3, -0x700(%rbp)
movl $0x8, -0x6fc(%rbp)
xorl %ecx, %ecx
movl $0xff, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x58b0
jmp 0x5fc00
leaq -0x700(%rbp), %rdi
movl $0x1, %ecx
movl $0xff, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x58b0
jmp 0x5fc1d
leaq -0x700(%rbp), %rdi
movl $0x2, %ecx
movl $0xff, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x58b0
jmp 0x5fc3a
leaq -0x700(%rbp), %rdi
movl $0x3, %ecx
movl $0xff, %r8d
movl %ecx, %esi
movl %ecx, %edx
callq 0x58b0
jmp 0x5fc57
movq $0x0, -0x7b0(%rbp)
xorl %eax, %eax
movl %eax, %esi
leaq -0x50(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x9d0(%rbp)
jmp 0x5fc78
leaq -0x50(%rbp), %rdi
callq 0x1a400
movq %rax, -0x9d8(%rbp)
jmp 0x5fc8a
movq -0x9d8(%rbp), %r9
movq -0x9d0(%rbp), %r8
leaq -0x7b0(%rbp), %rdi
leaq -0x6c(%rbp), %rsi
leaq -0x70(%rbp), %rdx
leaq -0x7a8(%rbp), %rcx
callq 0xc310
movl %eax, -0x9dc(%rbp)
jmp 0x5fcbb
movl -0x9dc(%rbp), %eax
movl %eax, -0x7b4(%rbp)
leaq -0x7a8(%rbp), %rdi
callq 0xd300
jmp 0x5fcd5
movl $0x52, %eax
cmpl -0x7b4(%rbp), %eax
je 0x5ffd6
leaq -0x859(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
callq 0x3440
movq -0x9e8(%rbp), %rdx
leaq 0x5340e(%rip), %rsi     # 0xb3115
leaq -0x858(%rbp), %rdi
callq 0x3340
jmp 0x5fd15
leaq 0x55500(%rip), %rdx     # 0xb521c
leaq -0x838(%rbp), %rdi
leaq -0x858(%rbp), %rsi
callq 0xaa1b0
jmp 0x5fd31
leaq 0x569ab(%rip), %rdx     # 0xb66e3
leaq -0x818(%rbp), %rdi
leaq -0x838(%rbp), %rsi
callq 0xaa1b0
jmp 0x5fd4d
leaq 0x554cd(%rip), %rdx     # 0xb5221
leaq -0x7f8(%rbp), %rdi
leaq -0x818(%rbp), %rsi
callq 0xaa1b0
jmp 0x5fd69
leaq 0x533ed(%rip), %rdx     # 0xb315d
leaq -0x7d8(%rbp), %rdi
leaq -0x7f8(%rbp), %rsi
callq 0xaa1b0
jmp 0x5fd85
movq 0x9824c(%rip), %rdi     # 0xf7fd8
leaq -0x7d8(%rbp), %rsi
callq 0x3200
jmp 0x5fd9a
leaq -0x7d8(%rbp), %rdi
callq 0x34a8
jmp 0x5fda8
leaq -0x7f8(%rbp), %rdi
callq 0x34a8
jmp 0x5fdb6
leaq -0x818(%rbp), %rdi
callq 0x34a8
jmp 0x5fdc4
leaq -0x838(%rbp), %rdi
callq 0x34a8
jmp 0x5fdd2
leaq -0x858(%rbp), %rdi
callq 0x34a8
jmp 0x5fde0
leaq -0x859(%rbp), %rdi
callq 0x3290
movq 0x981e5(%rip), %rdi     # 0xf7fd8
leaq 0x7c051(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x9f0(%rbp)
jmp 0x5fe08
movl $0x52, -0x884(%rbp)
leaq -0x880(%rbp), %rdi
leaq -0x884(%rbp), %rsi
callq 0xaaa20
jmp 0x5fe27
movq -0x9f0(%rbp), %rdi
leaq -0x880(%rbp), %rsi
callq 0x3200
movq %rax, -0x9f8(%rbp)
jmp 0x5fe43
movq -0x9f8(%rbp), %rdi
leaq 0x53324(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0xa00(%rbp)
jmp 0x5fe5f
leaq -0x8a8(%rbp), %rdi
leaq -0x7b4(%rbp), %rsi
callq 0xaa7f0
jmp 0x5fe74
movq -0xa00(%rbp), %rdi
leaq -0x8a8(%rbp), %rsi
callq 0x3200
movq %rax, -0xa08(%rbp)
jmp 0x5fe90
movq -0xa08(%rbp), %rdi
leaq 0x531be(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0xa10(%rbp)
jmp 0x5feac
movq -0xa10(%rbp), %rdi
movq 0x98106(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x5fec1
leaq -0x8a8(%rbp), %rdi
callq 0x34a8
jmp 0x5fecf
leaq -0x880(%rbp), %rdi
callq 0x34a8
jmp 0x5fedd
callq 0x28bd0
jmp 0x5fee4
jmp 0x5ffd6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ff8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ff7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ff6e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ff5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ff4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x7d8(%rbp), %rdi
callq 0x34a8
jmp 0x5ff4c
jmp 0x5ff4e
leaq -0x7f8(%rbp), %rdi
callq 0x34a8
jmp 0x5ff5c
jmp 0x5ff5e
leaq -0x818(%rbp), %rdi
callq 0x34a8
jmp 0x5ff6c
jmp 0x5ff6e
leaq -0x838(%rbp), %rdi
callq 0x34a8
jmp 0x5ff7c
jmp 0x5ff7e
leaq -0x858(%rbp), %rdi
callq 0x34a8
jmp 0x5ff8c
jmp 0x5ff8e
leaq -0x859(%rbp), %rdi
callq 0x3290
jmp 0x6000a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x5ffc6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x8a8(%rbp), %rdi
callq 0x34a8
jmp 0x5ffc4
jmp 0x5ffc6
leaq -0x880(%rbp), %rdi
callq 0x34a8
jmp 0x5ffd4
jmp 0x6000a
movq -0x7b0(%rbp), %rdi
callq 0x32d0
leaq -0x68(%rbp), %rdi
callq 0x1a4c0
jmp 0x5ffed
leaq -0x50(%rbp), %rdi
callq 0x1a4c0
jmp 0x5fff8
leaq -0x20(%rbp), %rdi
callq 0x34a8
addq $0xa10, %rsp            # imm = 0xA10
popq %rbp
retq
leaq -0x68(%rbp), %rdi
callq 0x1a4c0
jmp 0x60015
jmp 0x60017
leaq -0x50(%rbp), %rdi
callq 0x1a4c0
jmp 0x60022
jmp 0x60024
leaq -0x20(%rbp), %rdi
callq 0x34a8
jmp 0x6002f
jmp 0x60031
movq -0x30(%rbp), %rdi
callq 0x3430
movq %rax, %rdi
callq 0x1a490
nopw %cs:(%rax,%rax)