// File: lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: testExif()
void testExif() {
  std::cout << "testExif" << std::endl;

  {
    unsigned error;
    unsigned w = 32, h = 32;
    std::vector<unsigned char> image(w * h * 4);
    for(size_t i = 0; i + 4 <= image.size(); i += 4) {
      image[i] = image[i + 1] = image[i + 2] = image[i + 3] = i;
    }
    std::vector<unsigned char> png;
    lodepng::State state;
    std::string testexif = "MM  0123456789";
    lodepng_set_exif(&state.info_png, (const unsigned char*)testexif.c_str(), testexif.size());
    error = lodepng::encode(png, &image[0], w, h, state);
    ASSERT_NO_PNG_ERROR(error);

    lodepng::State state2;
    std::vector<unsigned char> image2;
    error = lodepng::decode(image2, w, h, state2, png);
    ASSERT_NO_PNG_ERROR(error);
    assertExifDataEqual(state, state2);
    ASSERT_EQUALS(32, w);
    ASSERT_EQUALS(32, h);
    ASSERT_EQUALS(image.size(), image2.size());
  }

  {
    // exif2c08.png PngSuite image
    std::string base64 = "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";
    std::vector<unsigned char> png;
    fromBase64(png, base64);
    lodepng::State state;
    std::vector<unsigned char> image;
    unsigned w, h;
    unsigned error = lodepng::decode(image, w, h, state, png);
    ASSERT_NO_PNG_ERROR(error);
    ASSERT_EQUALS(978, state.info_png.exif_size);
    ASSERT_EQUALS("072f0ad39affebf437689f935fab270c", md5sum(state.info_png.exif, state.info_png.exif_size));
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1240, %rsp           # imm = 0x1240
movq 0x83516(%rip), %rdi     # 0xf7fd8
leaq 0x40d4b(%rip), %rsi     # 0xb5814
callq 0x3230
movq %rax, %rdi
movq 0x834e8(%rip), %rsi     # 0xf7fc0
callq 0x3280
movl $0x20, -0x8(%rbp)
movl $0x20, -0xc(%rbp)
movl -0x8(%rbp), %eax
movl -0xc(%rbp), %ecx
imull %ecx, %eax
shll $0x2, %eax
movq %rax, -0x1010(%rbp)
movb $0x0, -0x29(%rbp)
leaq -0x2a(%rbp), %rdi
movq %rdi, -0x1008(%rbp)
callq 0x1bfa0
movq -0x1010(%rbp), %rsi
movq -0x1008(%rbp), %rcx
leaq -0x28(%rbp), %rdi
leaq -0x29(%rbp), %rdx
callq 0xaab60
jmp 0x74b2f
leaq -0x2a(%rbp), %rdi
callq 0x1bff0
movq $0x0, -0x48(%rbp)
movq -0x48(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x1020(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x1a400
movq %rax, -0x1018(%rbp)
jmp 0x74b61
movq -0x1020(%rbp), %rax
movq -0x1018(%rbp), %rcx
cmpq %rcx, %rax
ja 0x74c5c
movq -0x48(%rbp), %rsi
movb %sil, %al
movb %al, -0x1029(%rbp)
addq $0x3, %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x1028(%rbp)
jmp 0x74b9b
movq -0x1028(%rbp), %rax
movb -0x1029(%rbp), %cl
movb %cl, (%rax)
movq -0x48(%rbp), %rsi
addq $0x2, %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x1038(%rbp)
jmp 0x74bc4
movq -0x1038(%rbp), %rax
movb -0x1029(%rbp), %cl
movb %cl, (%rax)
movq -0x48(%rbp), %rsi
incq %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x1040(%rbp)
jmp 0x74bec
movq -0x1040(%rbp), %rax
movb -0x1029(%rbp), %cl
movb %cl, (%rax)
movq -0x48(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x1048(%rbp)
jmp 0x74c11
movq -0x1048(%rbp), %rax
movb -0x1029(%rbp), %cl
movb %cl, (%rax)
movq -0x48(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x48(%rbp)
jmp 0x74b40
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2a(%rbp), %rdi
callq 0x1bff0
jmp 0x76ab3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x763e3
leaq -0x60(%rbp), %rdi
callq 0x1a4a0
jmp 0x74c67
leaq -0x2e0(%rbp), %rdi
callq 0x11ad0
jmp 0x74c75
leaq -0x301(%rbp), %rdi
movq %rdi, -0x1050(%rbp)
callq 0x3440
movq -0x1050(%rbp), %rdx
leaq 0x40b87(%rip), %rsi     # 0xb581d
leaq -0x300(%rbp), %rdi
callq 0x3340
jmp 0x74ca4
leaq -0x301(%rbp), %rdi
callq 0x3290
leaq -0x210(%rbp), %rax
movq %rax, -0x1060(%rbp)
leaq -0x300(%rbp), %rdi
callq 0x3100
movq %rax, -0x1058(%rbp)
jmp 0x74cd3
leaq -0x300(%rbp), %rdi
callq 0x3190
movq %rax, -0x1068(%rbp)
jmp 0x74ce8
movq -0x1058(%rbp), %rsi
movq -0x1060(%rbp), %rdi
movq -0x1068(%rbp), %rax
movl %eax, %edx
callq 0x6440
jmp 0x74d06
xorl %eax, %eax
movl %eax, %esi
leaq -0x28(%rbp), %rdi
callq 0x1a5f0
movq %rax, -0x1070(%rbp)
jmp 0x74d1c
movq -0x1070(%rbp), %rsi
movl -0x8(%rbp), %edx
movl -0xc(%rbp), %ecx
leaq -0x60(%rbp), %rdi
leaq -0x2e0(%rbp), %r8
callq 0x120f0
movl %eax, -0x1074(%rbp)
jmp 0x74d41
movl -0x1074(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x1084(%rbp)
leaq -0x369(%rbp), %rdi
movq %rdi, -0x1080(%rbp)
callq 0x3440
movq -0x1080(%rbp), %rdx
leaq 0x3e3a1(%rip), %rsi     # 0xb3115
leaq -0x368(%rbp), %rdi
callq 0x3340
jmp 0x74d82
leaq 0x40aa3(%rip), %rdx     # 0xb582c
leaq -0x348(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0xaa1b0
jmp 0x74d9e
leaq -0x3b1(%rbp), %rdi
movq %rdi, -0x1090(%rbp)
callq 0x3440
movq -0x1090(%rbp), %rdx
movb $0x0, -0x3b3(%rbp)
movb $0x0, -0x3da(%rbp)
movb $0x0, -0x3db(%rbp)
leaq 0x3f730(%rip), %rsi     # 0xb4504
leaq -0x3b0(%rbp), %rdi
callq 0x3340
jmp 0x74de2
leaq -0x3b0(%rbp), %rdi
callq 0x33f0
movb %al, -0x1091(%rbp)
jmp 0x74df6
movb -0x1091(%rbp), %al
testb $0x1, %al
jne 0x74e02
jmp 0x74e3a
leaq -0x3b2(%rbp), %rdi
movq %rdi, -0x10a0(%rbp)
callq 0x3440
movq -0x10a0(%rbp), %rdx
movb $0x1, -0x3b3(%rbp)
leaq 0x3f6da(%rip), %rsi     # 0xb4504
leaq -0x390(%rbp), %rdi
callq 0x3340
jmp 0x74e38
jmp 0x74e95
leaq -0x3d9(%rbp), %rdi
movq %rdi, -0x10a8(%rbp)
callq 0x3440
movq -0x10a8(%rbp), %rdx
movb $0x1, -0x3da(%rbp)
leaq 0x3f6a2(%rip), %rsi     # 0xb4504
leaq -0x3d8(%rbp), %rdi
callq 0x3340
jmp 0x74e70
movb $0x1, -0x3db(%rbp)
leaq 0x41865(%rip), %rsi     # 0xb66e3
leaq -0x390(%rbp), %rdi
leaq -0x3d8(%rbp), %rdx
callq 0xaa6d0
jmp 0x74e93
jmp 0x74e95
leaq -0x328(%rbp), %rdi
leaq -0x348(%rbp), %rsi
leaq -0x390(%rbp), %rdx
callq 0xaa240
jmp 0x74eb1
movl -0x1084(%rbp), %edi
leaq -0x328(%rbp), %rsi
callq 0x28d30
jmp 0x74ec5
leaq -0x328(%rbp), %rdi
callq 0x34a8
jmp 0x74ed3
leaq -0x390(%rbp), %rdi
callq 0x34a8
jmp 0x74ee1
testb $0x1, -0x3db(%rbp)
jne 0x74eec
jmp 0x74efc
leaq -0x3d8(%rbp), %rdi
callq 0x34a8
jmp 0x74efa
jmp 0x74efc
testb $0x1, -0x3da(%rbp)
jne 0x74f07
jmp 0x74f13
leaq -0x3d9(%rbp), %rdi
callq 0x3290
testb $0x1, -0x3b3(%rbp)
jne 0x74f1e
jmp 0x74f2a
leaq -0x3b2(%rbp), %rdi
callq 0x3290
leaq -0x3b0(%rbp), %rdi
callq 0x34a8
jmp 0x74f38
leaq -0x3b1(%rbp), %rdi
callq 0x3290
leaq -0x348(%rbp), %rdi
callq 0x34a8
jmp 0x74f52
leaq -0x368(%rbp), %rdi
callq 0x34a8
jmp 0x74f60
leaq -0x369(%rbp), %rdi
callq 0x3290
leaq -0x660(%rbp), %rdi
callq 0x11ad0
jmp 0x74f7a
leaq -0x678(%rbp), %rdi
callq 0x1a4a0
jmp 0x74f88
leaq -0x678(%rbp), %rdi
leaq -0x8(%rbp), %rsi
leaq -0xc(%rbp), %rdx
leaq -0x660(%rbp), %rcx
leaq -0x60(%rbp), %r8
callq 0x11e30
movl %eax, -0x10ac(%rbp)
jmp 0x74faf
movl -0x10ac(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x10bc(%rbp)
leaq -0x6d9(%rbp), %rdi
movq %rdi, -0x10b8(%rbp)
callq 0x3440
movq -0x10b8(%rbp), %rdx
leaq 0x3e133(%rip), %rsi     # 0xb3115
leaq -0x6d8(%rbp), %rdi
callq 0x3340
jmp 0x74ff0
leaq 0x4083a(%rip), %rdx     # 0xb5831
leaq -0x6b8(%rbp), %rdi
leaq -0x6d8(%rbp), %rsi
callq 0xaa1b0
jmp 0x7500c
leaq -0x721(%rbp), %rdi
movq %rdi, -0x10c8(%rbp)
callq 0x3440
movq -0x10c8(%rbp), %rdx
movb $0x0, -0x723(%rbp)
movb $0x0, -0x74a(%rbp)
movb $0x0, -0x74b(%rbp)
leaq 0x3f4c2(%rip), %rsi     # 0xb4504
leaq -0x720(%rbp), %rdi
callq 0x3340
jmp 0x75050
leaq -0x720(%rbp), %rdi
callq 0x33f0
movb %al, -0x10c9(%rbp)
jmp 0x75064
movb -0x10c9(%rbp), %al
testb $0x1, %al
jne 0x75070
jmp 0x750a8
leaq -0x722(%rbp), %rdi
movq %rdi, -0x10d8(%rbp)
callq 0x3440
movq -0x10d8(%rbp), %rdx
movb $0x1, -0x723(%rbp)
leaq 0x3f46c(%rip), %rsi     # 0xb4504
leaq -0x700(%rbp), %rdi
callq 0x3340
jmp 0x750a6
jmp 0x75103
leaq -0x749(%rbp), %rdi
movq %rdi, -0x10e0(%rbp)
callq 0x3440
movq -0x10e0(%rbp), %rdx
movb $0x1, -0x74a(%rbp)
leaq 0x3f434(%rip), %rsi     # 0xb4504
leaq -0x748(%rbp), %rdi
callq 0x3340
jmp 0x750de
movb $0x1, -0x74b(%rbp)
leaq 0x415f7(%rip), %rsi     # 0xb66e3
leaq -0x700(%rbp), %rdi
leaq -0x748(%rbp), %rdx
callq 0xaa6d0
jmp 0x75101
jmp 0x75103
leaq -0x698(%rbp), %rdi
leaq -0x6b8(%rbp), %rsi
leaq -0x700(%rbp), %rdx
callq 0xaa240
jmp 0x7511f
movl -0x10bc(%rbp), %edi
leaq -0x698(%rbp), %rsi
callq 0x28d30
jmp 0x75133
leaq -0x698(%rbp), %rdi
callq 0x34a8
jmp 0x75141
leaq -0x700(%rbp), %rdi
callq 0x34a8
jmp 0x7514f
testb $0x1, -0x74b(%rbp)
jne 0x7515a
jmp 0x7516a
leaq -0x748(%rbp), %rdi
callq 0x34a8
jmp 0x75168
jmp 0x7516a
testb $0x1, -0x74a(%rbp)
jne 0x75175
jmp 0x75181
leaq -0x749(%rbp), %rdi
callq 0x3290
testb $0x1, -0x723(%rbp)
jne 0x7518c
jmp 0x75198
leaq -0x722(%rbp), %rdi
callq 0x3290
leaq -0x720(%rbp), %rdi
callq 0x34a8
jmp 0x751a6
leaq -0x721(%rbp), %rdi
callq 0x3290
leaq -0x6b8(%rbp), %rdi
callq 0x34a8
jmp 0x751c0
leaq -0x6d8(%rbp), %rdi
callq 0x34a8
jmp 0x751ce
leaq -0x6d9(%rbp), %rdi
callq 0x3290
leaq -0x2e0(%rbp), %rdi
leaq -0x660(%rbp), %rsi
callq 0x74060
jmp 0x751ef
movl $0x20, %eax
cmpl -0x8(%rbp), %eax
je 0x757df
leaq -0x7f1(%rbp), %rdi
movq %rdi, -0x10e8(%rbp)
callq 0x3440
movq -0x10e8(%rbp), %rdx
leaq 0x3def7(%rip), %rsi     # 0xb3115
leaq -0x7f0(%rbp), %rdi
callq 0x3340
jmp 0x7522c
leaq 0x40603(%rip), %rdx     # 0xb5836
leaq -0x7d0(%rbp), %rdi
leaq -0x7f0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75248
leaq 0x41494(%rip), %rdx     # 0xb66e3
leaq -0x7b0(%rbp), %rdi
leaq -0x7d0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75264
leaq 0x3def0(%rip), %rdx     # 0xb315b
leaq -0x790(%rbp), %rdi
leaq -0x7b0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75280
leaq 0x3ded6(%rip), %rdx     # 0xb315d
leaq -0x770(%rbp), %rdi
leaq -0x790(%rbp), %rsi
callq 0xaa1b0
jmp 0x7529c
movq 0x82d35(%rip), %rdi     # 0xf7fd8
leaq -0x770(%rbp), %rsi
callq 0x3200
jmp 0x752b1
leaq -0x770(%rbp), %rdi
callq 0x34a8
jmp 0x752bf
leaq -0x790(%rbp), %rdi
callq 0x34a8
jmp 0x752cd
leaq -0x7b0(%rbp), %rdi
callq 0x34a8
jmp 0x752db
leaq -0x7d0(%rbp), %rdi
callq 0x34a8
jmp 0x752e9
leaq -0x7f0(%rbp), %rdi
callq 0x34a8
jmp 0x752f7
leaq -0x7f1(%rbp), %rdi
callq 0x3290
movq 0x82cce(%rip), %rdi     # 0xf7fd8
leaq 0x66b3a(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x10f0(%rbp)
jmp 0x7531f
movl $0x20, -0x81c(%rbp)
leaq -0x818(%rbp), %rdi
leaq -0x81c(%rbp), %rsi
callq 0xaaa20
jmp 0x7533e
movq -0x10f0(%rbp), %rdi
leaq -0x818(%rbp), %rsi
callq 0x3200
movq %rax, -0x10f8(%rbp)
jmp 0x7535a
movq -0x10f8(%rbp), %rdi
leaq 0x3de0d(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x1100(%rbp)
jmp 0x75376
leaq -0x840(%rbp), %rdi
leaq -0x8(%rbp), %rsi
callq 0xaa7f0
jmp 0x75388
movq -0x1100(%rbp), %rdi
leaq -0x840(%rbp), %rsi
callq 0x3200
movq %rax, -0x1108(%rbp)
jmp 0x753a4
movq -0x1108(%rbp), %rdi
leaq 0x3dcaa(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x1110(%rbp)
jmp 0x753c0
movq -0x1110(%rbp), %rdi
movq 0x82bf2(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x753d5
leaq -0x840(%rbp), %rdi
callq 0x34a8
jmp 0x753e3
leaq -0x818(%rbp), %rdi
callq 0x34a8
jmp 0x753f1
callq 0x28bd0
jmp 0x753f8
jmp 0x757df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x763d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x301(%rbp), %rdi
callq 0x3290
jmp 0x763c6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x763b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75572
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75562
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75546
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75536
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7551d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75504
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x754e7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x754d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x328(%rbp), %rdi
callq 0x34a8
jmp 0x754d5
jmp 0x754d7
leaq -0x390(%rbp), %rdi
callq 0x34a8
jmp 0x754e5
jmp 0x754e7
testb $0x1, -0x3db(%rbp)
jne 0x754f2
jmp 0x75502
leaq -0x3d8(%rbp), %rdi
callq 0x34a8
jmp 0x75500
jmp 0x75502
jmp 0x75504
testb $0x1, -0x3da(%rbp)
jne 0x7550f
jmp 0x7551b
leaq -0x3d9(%rbp), %rdi
callq 0x3290
jmp 0x7551d
testb $0x1, -0x3b3(%rbp)
jne 0x75528
jmp 0x75534
leaq -0x3b2(%rbp), %rdi
callq 0x3290
jmp 0x75536
leaq -0x3b0(%rbp), %rdi
callq 0x34a8
jmp 0x75544
jmp 0x75546
leaq -0x3b1(%rbp), %rdi
callq 0x3290
leaq -0x348(%rbp), %rdi
callq 0x34a8
jmp 0x75560
jmp 0x75562
leaq -0x368(%rbp), %rdi
callq 0x34a8
jmp 0x75570
jmp 0x75572
leaq -0x369(%rbp), %rdi
callq 0x3290
jmp 0x763b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76398
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76388
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x756db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x756cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x756af
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7569f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75686
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7566d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75650
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75640
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x698(%rbp), %rdi
callq 0x34a8
jmp 0x7563e
jmp 0x75640
leaq -0x700(%rbp), %rdi
callq 0x34a8
jmp 0x7564e
jmp 0x75650
testb $0x1, -0x74b(%rbp)
jne 0x7565b
jmp 0x7566b
leaq -0x748(%rbp), %rdi
callq 0x34a8
jmp 0x75669
jmp 0x7566b
jmp 0x7566d
testb $0x1, -0x74a(%rbp)
jne 0x75678
jmp 0x75684
leaq -0x749(%rbp), %rdi
callq 0x3290
jmp 0x75686
testb $0x1, -0x723(%rbp)
jne 0x75691
jmp 0x7569d
leaq -0x722(%rbp), %rdi
callq 0x3290
jmp 0x7569f
leaq -0x720(%rbp), %rdi
callq 0x34a8
jmp 0x756ad
jmp 0x756af
leaq -0x721(%rbp), %rdi
callq 0x3290
leaq -0x6b8(%rbp), %rdi
callq 0x34a8
jmp 0x756c9
jmp 0x756cb
leaq -0x6d8(%rbp), %rdi
callq 0x34a8
jmp 0x756d9
jmp 0x756db
leaq -0x6d9(%rbp), %rdi
callq 0x3290
jmp 0x76388
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75791
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75781
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75771
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75761
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75751
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x770(%rbp), %rdi
callq 0x34a8
jmp 0x7574f
jmp 0x75751
leaq -0x790(%rbp), %rdi
callq 0x34a8
jmp 0x7575f
jmp 0x75761
leaq -0x7b0(%rbp), %rdi
callq 0x34a8
jmp 0x7576f
jmp 0x75771
leaq -0x7d0(%rbp), %rdi
callq 0x34a8
jmp 0x7577f
jmp 0x75781
leaq -0x7f0(%rbp), %rdi
callq 0x34a8
jmp 0x7578f
jmp 0x75791
leaq -0x7f1(%rbp), %rdi
callq 0x3290
jmp 0x76388
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x757cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x840(%rbp), %rdi
callq 0x34a8
jmp 0x757ca
jmp 0x757cc
leaq -0x818(%rbp), %rdi
callq 0x34a8
jmp 0x757da
jmp 0x76388
movl $0x20, %eax
cmpl -0xc(%rbp), %eax
je 0x75ae0
leaq -0x8e1(%rbp), %rdi
movq %rdi, -0x1118(%rbp)
callq 0x3440
movq -0x1118(%rbp), %rdx
leaq 0x3d907(%rip), %rsi     # 0xb3115
leaq -0x8e0(%rbp), %rdi
callq 0x3340
jmp 0x7581c
leaq 0x40018(%rip), %rdx     # 0xb583b
leaq -0x8c0(%rbp), %rdi
leaq -0x8e0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75838
leaq 0x40ea4(%rip), %rdx     # 0xb66e3
leaq -0x8a0(%rbp), %rdi
leaq -0x8c0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75854
leaq 0x3d930(%rip), %rdx     # 0xb318b
leaq -0x880(%rbp), %rdi
leaq -0x8a0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75870
leaq 0x3d8e6(%rip), %rdx     # 0xb315d
leaq -0x860(%rbp), %rdi
leaq -0x880(%rbp), %rsi
callq 0xaa1b0
jmp 0x7588c
movq 0x82745(%rip), %rdi     # 0xf7fd8
leaq -0x860(%rbp), %rsi
callq 0x3200
jmp 0x758a1
leaq -0x860(%rbp), %rdi
callq 0x34a8
jmp 0x758af
leaq -0x880(%rbp), %rdi
callq 0x34a8
jmp 0x758bd
leaq -0x8a0(%rbp), %rdi
callq 0x34a8
jmp 0x758cb
leaq -0x8c0(%rbp), %rdi
callq 0x34a8
jmp 0x758d9
leaq -0x8e0(%rbp), %rdi
callq 0x34a8
jmp 0x758e7
leaq -0x8e1(%rbp), %rdi
callq 0x3290
movq 0x826de(%rip), %rdi     # 0xf7fd8
leaq 0x6654a(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x1120(%rbp)
jmp 0x7590f
movl $0x20, -0x90c(%rbp)
leaq -0x908(%rbp), %rdi
leaq -0x90c(%rbp), %rsi
callq 0xaaa20
jmp 0x7592e
movq -0x1120(%rbp), %rdi
leaq -0x908(%rbp), %rsi
callq 0x3200
movq %rax, -0x1128(%rbp)
jmp 0x7594a
movq -0x1128(%rbp), %rdi
leaq 0x3d81d(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x1130(%rbp)
jmp 0x75966
leaq -0x930(%rbp), %rdi
leaq -0xc(%rbp), %rsi
callq 0xaa7f0
jmp 0x75978
movq -0x1130(%rbp), %rdi
leaq -0x930(%rbp), %rsi
callq 0x3200
movq %rax, -0x1138(%rbp)
jmp 0x75994
movq -0x1138(%rbp), %rdi
leaq 0x3d6ba(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x1140(%rbp)
jmp 0x759b0
movq -0x1140(%rbp), %rdi
movq 0x82602(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x759c5
leaq -0x930(%rbp), %rdi
callq 0x34a8
jmp 0x759d3
leaq -0x908(%rbp), %rdi
callq 0x34a8
jmp 0x759e1
callq 0x28bd0
jmp 0x759e8
jmp 0x75ae0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75a92
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75a82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75a72
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75a62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75a52
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x860(%rbp), %rdi
callq 0x34a8
jmp 0x75a50
jmp 0x75a52
leaq -0x880(%rbp), %rdi
callq 0x34a8
jmp 0x75a60
jmp 0x75a62
leaq -0x8a0(%rbp), %rdi
callq 0x34a8
jmp 0x75a70
jmp 0x75a72
leaq -0x8c0(%rbp), %rdi
callq 0x34a8
jmp 0x75a80
jmp 0x75a82
leaq -0x8e0(%rbp), %rdi
callq 0x34a8
jmp 0x75a90
jmp 0x75a92
leaq -0x8e1(%rbp), %rdi
callq 0x3290
jmp 0x76388
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75acd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x930(%rbp), %rdi
callq 0x34a8
jmp 0x75acb
jmp 0x75acd
leaq -0x908(%rbp), %rdi
callq 0x34a8
jmp 0x75adb
jmp 0x76388
leaq -0x28(%rbp), %rdi
callq 0x1a400
movq %rax, -0x1148(%rbp)
jmp 0x75af2
leaq -0x678(%rbp), %rdi
callq 0x1a400
movq %rax, -0x1150(%rbp)
jmp 0x75b07
movq -0x1148(%rbp), %rax
movq -0x1150(%rbp), %rcx
cmpq %rcx, %rax
je 0x75e4d
leaq -0x9d1(%rbp), %rdi
movq %rdi, -0x1158(%rbp)
callq 0x3440
movq -0x1158(%rbp), %rdx
leaq 0x3d5d6(%rip), %rsi     # 0xb3115
leaq -0x9d0(%rbp), %rdi
callq 0x3340
jmp 0x75b4d
leaq 0x3fcec(%rip), %rdx     # 0xb5840
leaq -0x9b0(%rbp), %rdi
leaq -0x9d0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75b69
leaq 0x40b73(%rip), %rdx     # 0xb66e3
leaq -0x990(%rbp), %rdi
leaq -0x9b0(%rbp), %rsi
callq 0xaa1b0
jmp 0x75b85
leaq 0x3e790(%rip), %rdx     # 0xb431c
leaq -0x970(%rbp), %rdi
leaq -0x990(%rbp), %rsi
callq 0xaa1b0
jmp 0x75ba1
leaq 0x3d5b5(%rip), %rdx     # 0xb315d
leaq -0x950(%rbp), %rdi
leaq -0x970(%rbp), %rsi
callq 0xaa1b0
jmp 0x75bbd
movq 0x82414(%rip), %rdi     # 0xf7fd8
leaq -0x950(%rbp), %rsi
callq 0x3200
jmp 0x75bd2
leaq -0x950(%rbp), %rdi
callq 0x34a8
jmp 0x75be0
leaq -0x970(%rbp), %rdi
callq 0x34a8
jmp 0x75bee
leaq -0x990(%rbp), %rdi
callq 0x34a8
jmp 0x75bfc
leaq -0x9b0(%rbp), %rdi
callq 0x34a8
jmp 0x75c0a
leaq -0x9d0(%rbp), %rdi
callq 0x34a8
jmp 0x75c18
leaq -0x9d1(%rbp), %rdi
callq 0x3290
movq 0x823ad(%rip), %rdi     # 0xf7fd8
leaq 0x66219(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x1160(%rbp)
jmp 0x75c40
leaq -0x28(%rbp), %rdi
callq 0x1a400
movq %rax, -0x1168(%rbp)
jmp 0x75c52
movq -0x1168(%rbp), %rax
movq %rax, -0xa00(%rbp)
leaq -0x9f8(%rbp), %rdi
leaq -0xa00(%rbp), %rsi
callq 0xaa610
jmp 0x75c75
movq -0x1160(%rbp), %rdi
leaq -0x9f8(%rbp), %rsi
callq 0x3200
movq %rax, -0x1170(%rbp)
jmp 0x75c91
movq -0x1170(%rbp), %rdi
leaq 0x3d4d6(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x1178(%rbp)
jmp 0x75cad
leaq -0x678(%rbp), %rdi
callq 0x1a400
movq %rax, -0x1180(%rbp)
jmp 0x75cc2
movq -0x1180(%rbp), %rax
movq %rax, -0xa28(%rbp)
leaq -0xa20(%rbp), %rdi
leaq -0xa28(%rbp), %rsi
callq 0xaa610
jmp 0x75ce5
movq -0x1178(%rbp), %rdi
leaq -0xa20(%rbp), %rsi
callq 0x3200
movq %rax, -0x1188(%rbp)
jmp 0x75d01
movq -0x1188(%rbp), %rdi
leaq 0x3d34d(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x1190(%rbp)
jmp 0x75d1d
movq -0x1190(%rbp), %rdi
movq 0x82295(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x75d32
leaq -0xa20(%rbp), %rdi
callq 0x34a8
jmp 0x75d40
leaq -0x9f8(%rbp), %rdi
callq 0x34a8
jmp 0x75d4e
callq 0x28bd0
jmp 0x75d55
jmp 0x75e4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75dff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75def
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75ddf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75dcf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75dbf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x950(%rbp), %rdi
callq 0x34a8
jmp 0x75dbd
jmp 0x75dbf
leaq -0x970(%rbp), %rdi
callq 0x34a8
jmp 0x75dcd
jmp 0x75dcf
leaq -0x990(%rbp), %rdi
callq 0x34a8
jmp 0x75ddd
jmp 0x75ddf
leaq -0x9b0(%rbp), %rdi
callq 0x34a8
jmp 0x75ded
jmp 0x75def
leaq -0x9d0(%rbp), %rdi
callq 0x34a8
jmp 0x75dfd
jmp 0x75dff
leaq -0x9d1(%rbp), %rdi
callq 0x3290
jmp 0x76388
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x75e3a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xa20(%rbp), %rdi
callq 0x34a8
jmp 0x75e38
jmp 0x75e3a
leaq -0x9f8(%rbp), %rdi
callq 0x34a8
jmp 0x75e48
jmp 0x76388
leaq -0x678(%rbp), %rdi
callq 0x1a4c0
jmp 0x75e5b
leaq -0x660(%rbp), %rdi
callq 0x11b20
jmp 0x75e69
leaq -0x300(%rbp), %rdi
callq 0x34a8
jmp 0x75e77
leaq -0x2e0(%rbp), %rdi
callq 0x11b20
jmp 0x75e85
leaq -0x60(%rbp), %rdi
callq 0x1a4c0
jmp 0x75e90
leaq -0x28(%rbp), %rdi
callq 0x1a4c0
leaq -0xa49(%rbp), %rdi
movq %rdi, -0x1198(%rbp)
callq 0x3440
movq -0x1198(%rbp), %rdx
leaq 0x3f98b(%rip), %rsi     # 0xb5845
leaq -0xa48(%rbp), %rdi
callq 0x3340
jmp 0x75ec8
leaq -0xa49(%rbp), %rdi
callq 0x3290
leaq -0xa68(%rbp), %rdi
callq 0x1a4a0
jmp 0x75ee2
leaq -0xa68(%rbp), %rdi
leaq -0xa48(%rbp), %rsi
callq 0xaa8b0
jmp 0x75ef7
leaq -0xce8(%rbp), %rdi
callq 0x11ad0
jmp 0x75f05
leaq -0xd00(%rbp), %rdi
callq 0x1a4a0
jmp 0x75f13
leaq -0xd00(%rbp), %rdi
leaq -0xd04(%rbp), %rsi
leaq -0xd08(%rbp), %rdx
leaq -0xce8(%rbp), %rcx
leaq -0xa68(%rbp), %r8
callq 0x11e30
movl %eax, -0x119c(%rbp)
jmp 0x75f43
movl -0x119c(%rbp), %eax
movl %eax, -0xd0c(%rbp)
movl -0xd0c(%rbp), %eax
movl %eax, -0x11ac(%rbp)
leaq -0xd71(%rbp), %rdi
movq %rdi, -0x11a8(%rbp)
callq 0x3440
movq -0x11a8(%rbp), %rdx
leaq 0x3d199(%rip), %rsi     # 0xb3115
leaq -0xd70(%rbp), %rdi
callq 0x3340
jmp 0x75f8a
leaq 0x40205(%rip), %rdx     # 0xb6196
leaq -0xd50(%rbp), %rdi
leaq -0xd70(%rbp), %rsi
callq 0xaa1b0
jmp 0x75fa6
leaq -0xdb9(%rbp), %rdi
movq %rdi, -0x11b8(%rbp)
callq 0x3440
movq -0x11b8(%rbp), %rdx
movb $0x0, -0xdbb(%rbp)
movb $0x0, -0xde2(%rbp)
movb $0x0, -0xde3(%rbp)
leaq 0x3e528(%rip), %rsi     # 0xb4504
leaq -0xdb8(%rbp), %rdi
callq 0x3340
jmp 0x75fea
leaq -0xdb8(%rbp), %rdi
callq 0x33f0
movb %al, -0x11b9(%rbp)
jmp 0x75ffe
movb -0x11b9(%rbp), %al
testb $0x1, %al
jne 0x7600a
jmp 0x76042
leaq -0xdba(%rbp), %rdi
movq %rdi, -0x11c8(%rbp)
callq 0x3440
movq -0x11c8(%rbp), %rdx
movb $0x1, -0xdbb(%rbp)
leaq 0x3e4d2(%rip), %rsi     # 0xb4504
leaq -0xd98(%rbp), %rdi
callq 0x3340
jmp 0x76040
jmp 0x7609d
leaq -0xde1(%rbp), %rdi
movq %rdi, -0x11d0(%rbp)
callq 0x3440
movq -0x11d0(%rbp), %rdx
movb $0x1, -0xde2(%rbp)
leaq 0x3e49a(%rip), %rsi     # 0xb4504
leaq -0xde0(%rbp), %rdi
callq 0x3340
jmp 0x76078
movb $0x1, -0xde3(%rbp)
leaq 0x4065d(%rip), %rsi     # 0xb66e3
leaq -0xd98(%rbp), %rdi
leaq -0xde0(%rbp), %rdx
callq 0xaa6d0
jmp 0x7609b
jmp 0x7609d
leaq -0xd30(%rbp), %rdi
leaq -0xd50(%rbp), %rsi
leaq -0xd98(%rbp), %rdx
callq 0xaa240
jmp 0x760b9
movl -0x11ac(%rbp), %edi
leaq -0xd30(%rbp), %rsi
callq 0x28d30
jmp 0x760cd
leaq -0xd30(%rbp), %rdi
callq 0x34a8
jmp 0x760db
leaq -0xd98(%rbp), %rdi
callq 0x34a8
jmp 0x760e9
testb $0x1, -0xde3(%rbp)
jne 0x760f4
jmp 0x76104
leaq -0xde0(%rbp), %rdi
callq 0x34a8
jmp 0x76102
jmp 0x76104
testb $0x1, -0xde2(%rbp)
jne 0x7610f
jmp 0x7611b
leaq -0xde1(%rbp), %rdi
callq 0x3290
testb $0x1, -0xdbb(%rbp)
jne 0x76126
jmp 0x76132
leaq -0xdba(%rbp), %rdi
callq 0x3290
leaq -0xdb8(%rbp), %rdi
callq 0x34a8
jmp 0x76140
leaq -0xdb9(%rbp), %rdi
callq 0x3290
leaq -0xd50(%rbp), %rdi
callq 0x34a8
jmp 0x7615a
leaq -0xd70(%rbp), %rdi
callq 0x34a8
jmp 0x76168
leaq -0xd71(%rbp), %rdi
callq 0x3290
movl $0x3d2, %eax            # imm = 0x3D2
cmpl -0xb80(%rbp), %eax
je 0x7668e
leaq -0xe89(%rbp), %rdi
movq %rdi, -0x11d8(%rbp)
callq 0x3440
movq -0x11d8(%rbp), %rdx
leaq 0x3cf6f(%rip), %rsi     # 0xb3115
leaq -0xe88(%rbp), %rdi
callq 0x3340
jmp 0x761b4
leaq 0x3ffe0(%rip), %rdx     # 0xb619b
leaq -0xe68(%rbp), %rdi
leaq -0xe88(%rbp), %rsi
callq 0xaa1b0
jmp 0x761d0
leaq 0x4050c(%rip), %rdx     # 0xb66e3
leaq -0xe48(%rbp), %rdi
leaq -0xe68(%rbp), %rsi
callq 0xaa1b0
jmp 0x761ec
leaq 0x3ffad(%rip), %rdx     # 0xb61a0
leaq -0xe28(%rbp), %rdi
leaq -0xe48(%rbp), %rsi
callq 0xaa1b0
jmp 0x76208
leaq 0x3cf4e(%rip), %rdx     # 0xb315d
leaq -0xe08(%rbp), %rdi
leaq -0xe28(%rbp), %rsi
callq 0xaa1b0
jmp 0x76224
movq 0x81dad(%rip), %rdi     # 0xf7fd8
leaq -0xe08(%rbp), %rsi
callq 0x3200
jmp 0x76239
leaq -0xe08(%rbp), %rdi
callq 0x34a8
jmp 0x76247
leaq -0xe28(%rbp), %rdi
callq 0x34a8
jmp 0x76255
leaq -0xe48(%rbp), %rdi
callq 0x34a8
jmp 0x76263
leaq -0xe68(%rbp), %rdi
callq 0x34a8
jmp 0x76271
leaq -0xe88(%rbp), %rdi
callq 0x34a8
jmp 0x7627f
leaq -0xe89(%rbp), %rdi
callq 0x3290
movq 0x81d46(%rip), %rdi     # 0xf7fd8
leaq 0x65bb2(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x11e0(%rbp)
jmp 0x762a7
movl $0x3d2, -0xeb4(%rbp)    # imm = 0x3D2
leaq -0xeb0(%rbp), %rdi
leaq -0xeb4(%rbp), %rsi
callq 0xaaa20
jmp 0x762c6
movq -0x11e0(%rbp), %rdi
leaq -0xeb0(%rbp), %rsi
callq 0x3200
movq %rax, -0x11e8(%rbp)
jmp 0x762e2
movq -0x11e8(%rbp), %rdi
leaq 0x3ce85(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x11f0(%rbp)
jmp 0x762fe
leaq -0xb80(%rbp), %rsi
leaq -0xed8(%rbp), %rdi
callq 0xaa7f0
jmp 0x76313
movq -0x11f0(%rbp), %rdi
leaq -0xed8(%rbp), %rsi
callq 0x3200
movq %rax, -0x11f8(%rbp)
jmp 0x7632f
movq -0x11f8(%rbp), %rdi
leaq 0x3cd1f(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x1200(%rbp)
jmp 0x7634b
movq -0x1200(%rbp), %rdi
movq 0x81c67(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x76360
leaq -0xed8(%rbp), %rdi
callq 0x34a8
jmp 0x7636e
leaq -0xeb0(%rbp), %rdi
callq 0x34a8
jmp 0x7637c
callq 0x28bd0
jmp 0x76383
jmp 0x7668e
leaq -0x678(%rbp), %rdi
callq 0x1a4c0
jmp 0x76396
jmp 0x76398
leaq -0x660(%rbp), %rdi
callq 0x11b20
jmp 0x763a6
jmp 0x763b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x763c6
leaq -0x300(%rbp), %rdi
callq 0x34a8
jmp 0x763c4
jmp 0x763c6
leaq -0x2e0(%rbp), %rdi
callq 0x11b20
jmp 0x763d4
jmp 0x763d6
leaq -0x60(%rbp), %rdi
callq 0x1a4c0
jmp 0x763e1
jmp 0x763e3
leaq -0x28(%rbp), %rdi
callq 0x1a4c0
jmp 0x763ee
jmp 0x76ab3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xa49(%rbp), %rdi
callq 0x3290
jmp 0x76ab3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76aa3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76a93
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76a83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7658a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7657a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7655e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7654e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76535
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7651c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x764ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x764ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xd30(%rbp), %rdi
callq 0x34a8
jmp 0x764ed
jmp 0x764ef
leaq -0xd98(%rbp), %rdi
callq 0x34a8
jmp 0x764fd
jmp 0x764ff
testb $0x1, -0xde3(%rbp)
jne 0x7650a
jmp 0x7651a
leaq -0xde0(%rbp), %rdi
callq 0x34a8
jmp 0x76518
jmp 0x7651a
jmp 0x7651c
testb $0x1, -0xde2(%rbp)
jne 0x76527
jmp 0x76533
leaq -0xde1(%rbp), %rdi
callq 0x3290
jmp 0x76535
testb $0x1, -0xdbb(%rbp)
jne 0x76540
jmp 0x7654c
leaq -0xdba(%rbp), %rdi
callq 0x3290
jmp 0x7654e
leaq -0xdb8(%rbp), %rdi
callq 0x34a8
jmp 0x7655c
jmp 0x7655e
leaq -0xdb9(%rbp), %rdi
callq 0x3290
leaq -0xd50(%rbp), %rdi
callq 0x34a8
jmp 0x76578
jmp 0x7657a
leaq -0xd70(%rbp), %rdi
callq 0x34a8
jmp 0x76588
jmp 0x7658a
leaq -0xd71(%rbp), %rdi
callq 0x3290
jmp 0x76a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76640
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76630
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76620
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76610
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76600
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xe08(%rbp), %rdi
callq 0x34a8
jmp 0x765fe
jmp 0x76600
leaq -0xe28(%rbp), %rdi
callq 0x34a8
jmp 0x7660e
jmp 0x76610
leaq -0xe48(%rbp), %rdi
callq 0x34a8
jmp 0x7661e
jmp 0x76620
leaq -0xe68(%rbp), %rdi
callq 0x34a8
jmp 0x7662e
jmp 0x76630
leaq -0xe88(%rbp), %rdi
callq 0x34a8
jmp 0x7663e
jmp 0x76640
leaq -0xe89(%rbp), %rdi
callq 0x3290
jmp 0x76a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7667b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xed8(%rbp), %rdi
callq 0x34a8
jmp 0x76679
jmp 0x7667b
leaq -0xeb0(%rbp), %rdi
callq 0x34a8
jmp 0x76689
jmp 0x76a73
movq -0xb88(%rbp), %rsi
movl -0xb80(%rbp), %eax
movl %eax, %edx
leaq -0xef8(%rbp), %rdi
callq 0x297d0
jmp 0x766ab
leaq 0x3fb07(%rip), %rdi     # 0xb61b9
leaq -0xef8(%rbp), %rsi
callq 0xab630
movb %al, -0x1201(%rbp)
jmp 0x766c6
leaq -0xef8(%rbp), %rdi
callq 0x34a8
jmp 0x766d4
movb -0x1201(%rbp), %al
testb $0x1, %al
jne 0x766e3
jmp 0x76a34
leaq -0xf99(%rbp), %rdi
movq %rdi, -0x1210(%rbp)
callq 0x3440
movq -0x1210(%rbp), %rdx
leaq 0x3ca11(%rip), %rsi     # 0xb3115
leaq -0xf98(%rbp), %rdi
callq 0x3340
jmp 0x76712
leaq 0x3fac1(%rip), %rdx     # 0xb61da
leaq -0xf78(%rbp), %rdi
leaq -0xf98(%rbp), %rsi
callq 0xaa1b0
jmp 0x7672e
leaq 0x3ffae(%rip), %rdx     # 0xb66e3
leaq -0xf58(%rbp), %rdi
leaq -0xf78(%rbp), %rsi
callq 0xaa1b0
jmp 0x7674a
leaq 0x3fa8e(%rip), %rdx     # 0xb61df
leaq -0xf38(%rbp), %rdi
leaq -0xf58(%rbp), %rsi
callq 0xaa1b0
jmp 0x76766
leaq 0x3c9f0(%rip), %rdx     # 0xb315d
leaq -0xf18(%rbp), %rdi
leaq -0xf38(%rbp), %rsi
callq 0xaa1b0
jmp 0x76782
movq 0x8184f(%rip), %rdi     # 0xf7fd8
leaq -0xf18(%rbp), %rsi
callq 0x3200
jmp 0x76797
leaq -0xf18(%rbp), %rdi
callq 0x34a8
jmp 0x767a5
leaq -0xf38(%rbp), %rdi
callq 0x34a8
jmp 0x767b3
leaq -0xf58(%rbp), %rdi
callq 0x34a8
jmp 0x767c1
leaq -0xf78(%rbp), %rdi
callq 0x34a8
jmp 0x767cf
leaq -0xf98(%rbp), %rdi
callq 0x34a8
jmp 0x767dd
leaq -0xf99(%rbp), %rdi
callq 0x3290
movq 0x817e8(%rip), %rdi     # 0xf7fd8
leaq 0x65654(%rip), %rsi     # 0xdbe4b
callq 0x3230
movq %rax, -0x1218(%rbp)
jmp 0x76805
leaq 0x3f9ad(%rip), %rsi     # 0xb61b9
leaq -0xfc0(%rbp), %rdi
callq 0xab660
jmp 0x7681a
movq -0x1218(%rbp), %rdi
leaq -0xfc0(%rbp), %rsi
callq 0x3200
movq %rax, -0x1220(%rbp)
jmp 0x76836
movq -0x1220(%rbp), %rdi
leaq 0x3c931(%rip), %rsi     # 0xb3175
callq 0x3230
movq %rax, -0x1228(%rbp)
jmp 0x76852
movq -0xb88(%rbp), %rsi
movl -0xb80(%rbp), %eax
movl %eax, %edx
leaq -0x1000(%rbp), %rdi
callq 0x297d0
jmp 0x7686f
leaq -0xfe0(%rbp), %rdi
leaq -0x1000(%rbp), %rsi
callq 0xab070
jmp 0x76884
movq -0x1228(%rbp), %rdi
leaq -0xfe0(%rbp), %rsi
callq 0x3200
movq %rax, -0x1230(%rbp)
jmp 0x768a0
movq -0x1230(%rbp), %rdi
leaq 0x3c7ae(%rip), %rsi     # 0xb305c
callq 0x3230
movq %rax, -0x1238(%rbp)
jmp 0x768bc
movq -0x1238(%rbp), %rdi
movq 0x816f6(%rip), %rsi     # 0xf7fc0
callq 0x3280
jmp 0x768d1
leaq -0xfe0(%rbp), %rdi
callq 0x34a8
jmp 0x768df
leaq -0x1000(%rbp), %rdi
callq 0x34a8
jmp 0x768ed
leaq -0xfc0(%rbp), %rdi
callq 0x34a8
jmp 0x768fb
callq 0x28bd0
jmp 0x76902
jmp 0x76a34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xef8(%rbp), %rdi
callq 0x34a8
jmp 0x76921
jmp 0x76a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x769cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x769bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x769ab
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7699b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x7698b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xf18(%rbp), %rdi
callq 0x34a8
jmp 0x76989
jmp 0x7698b
leaq -0xf38(%rbp), %rdi
callq 0x34a8
jmp 0x76999
jmp 0x7699b
leaq -0xf58(%rbp), %rdi
callq 0x34a8
jmp 0x769a9
jmp 0x769ab
leaq -0xf78(%rbp), %rdi
callq 0x34a8
jmp 0x769b9
jmp 0x769bb
leaq -0xf98(%rbp), %rdi
callq 0x34a8
jmp 0x769c9
jmp 0x769cb
leaq -0xf99(%rbp), %rdi
callq 0x3290
jmp 0x76a73
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76a24
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x76a14
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xfe0(%rbp), %rdi
callq 0x34a8
jmp 0x76a12
jmp 0x76a14
leaq -0x1000(%rbp), %rdi
callq 0x34a8
jmp 0x76a22
jmp 0x76a24
leaq -0xfc0(%rbp), %rdi
callq 0x34a8
jmp 0x76a32
jmp 0x76a73
leaq -0xd00(%rbp), %rdi
callq 0x1a4c0
jmp 0x76a42
leaq -0xce8(%rbp), %rdi
callq 0x11b20
jmp 0x76a50
leaq -0xa68(%rbp), %rdi
callq 0x1a4c0
jmp 0x76a5e
leaq -0xa48(%rbp), %rdi
callq 0x34a8
addq $0x1240, %rsp           # imm = 0x1240
popq %rbp
retq
leaq -0xd00(%rbp), %rdi
callq 0x1a4c0
jmp 0x76a81
jmp 0x76a83
leaq -0xce8(%rbp), %rdi
callq 0x11b20
jmp 0x76a91
jmp 0x76a93
leaq -0xa68(%rbp), %rdi
callq 0x1a4c0
jmp 0x76aa1
jmp 0x76aa3
leaq -0xa48(%rbp), %rdi
callq 0x34a8
jmp 0x76ab1
jmp 0x76ab3
movq -0x38(%rbp), %rdi
callq 0x3430
movq %rax, %rdi
callq 0x1a490
nopw %cs:(%rax,%rax)