// File: lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: testHuffmanCodeLengths()
void testHuffmanCodeLengths() {
  bool atleasttwo = true; //LodePNG generates at least two, instead of at least one, symbol
  if(atleasttwo) {
    doTestHuffmanCodeLengths("1 1", "0 0", 16);
    doTestHuffmanCodeLengths("1 1 0", "0 0 0", 16);
    doTestHuffmanCodeLengths("1 1", "1 0", 16);
    doTestHuffmanCodeLengths("1 1 0 0 0 0 0 0 0", "0 0 0 0 0 0 0 0 0", 16);
    doTestHuffmanCodeLengths("1 1 0 0 0 0 0 0 0", "1 0 0 0 0 0 0 0 0", 16);
    doTestHuffmanCodeLengths("1 1 0 0 0 0 0 0 0", "0 1 0 0 0 0 0 0 0", 16);
    doTestHuffmanCodeLengths("1 0 0 0 0 0 0 0 1", "0 0 0 0 0 0 0 0 1", 16);
    doTestHuffmanCodeLengths("0 0 0 0 0 0 0 1 1", "0 0 0 0 0 0 0 1 1", 16);
  } else {
    doTestHuffmanCodeLengths("1 0", "0 0", 16);
    doTestHuffmanCodeLengths("1 0 0", "0 0 0", 16);
    doTestHuffmanCodeLengths("1 0", "1 0", 16);
    doTestHuffmanCodeLengths("1", "1", 16);
    doTestHuffmanCodeLengths("1", "0", 16);
  }
  doTestHuffmanCodeLengths("1 1", "1 1", 16);
  doTestHuffmanCodeLengths("1 1", "1 100", 16);
  doTestHuffmanCodeLengths("2 2 1", "1 2 3", 16);
  doTestHuffmanCodeLengths("2 1 2", "2 3 1", 16);
  doTestHuffmanCodeLengths("1 2 2", "3 1 2", 16);
  doTestHuffmanCodeLengths("3 3 2 1", "1 30 31 32", 16);
  doTestHuffmanCodeLengths("2 2 2 2", "1 30 31 32", 2);
  doTestHuffmanCodeLengths("5 5 4 4 4 3 3 1", "1 2 3 4 5 6 7 500", 16);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x800, %rsp            # imm = 0x800
movb $0x1, -0x1(%rbp)
testb $0x1, -0x1(%rbp)
je 0x3960c
leaq -0x29(%rbp), %rdi
movq %rdi, -0x6b0(%rbp)
callq 0x3440
movq -0x6b0(%rbp), %rdx
leaq 0x7aefe(%rip), %rsi     # 0xb3cc5
leaq -0x28(%rbp), %rdi
callq 0x3340
jmp 0x38dd2
leaq -0x61(%rbp), %rdi
movq %rdi, -0x6b8(%rbp)
callq 0x3440
movq -0x6b8(%rbp), %rdx
leaq 0x7ae7b(%rip), %rsi     # 0xb3c6b
leaq -0x60(%rbp), %rdi
callq 0x3340
jmp 0x38dfb
leaq -0x28(%rbp), %rdi
leaq -0x60(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x38e0f
leaq -0x60(%rbp), %rdi
callq 0x34a8
jmp 0x38e1a
leaq -0x61(%rbp), %rdi
callq 0x3290
leaq -0x28(%rbp), %rdi
callq 0x34a8
jmp 0x38e2e
leaq -0x29(%rbp), %rdi
callq 0x3290
leaq -0x89(%rbp), %rdi
movq %rdi, -0x6c0(%rbp)
callq 0x3440
movq -0x6c0(%rbp), %rdx
leaq 0x7aded(%rip), %rsi     # 0xb3c45
leaq -0x88(%rbp), %rdi
callq 0x3340
jmp 0x38e66
leaq -0xb1(%rbp), %rdi
movq %rdi, -0x6c8(%rbp)
callq 0x3440
movq -0x6c8(%rbp), %rdx
leaq 0x7ade2(%rip), %rsi     # 0xb3c69
leaq -0xb0(%rbp), %rdi
callq 0x3340
jmp 0x38e95
leaq -0x88(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x38eaf
leaq -0xb0(%rbp), %rdi
callq 0x34a8
jmp 0x38ebd
leaq -0xb1(%rbp), %rdi
callq 0x3290
leaq -0x88(%rbp), %rdi
callq 0x34a8
jmp 0x38ed7
leaq -0x89(%rbp), %rdi
callq 0x3290
leaq -0xd9(%rbp), %rdi
movq %rdi, -0x6d0(%rbp)
callq 0x3440
movq -0x6d0(%rbp), %rdx
leaq 0x7adc1(%rip), %rsi     # 0xb3cc5
leaq -0xd8(%rbp), %rdi
callq 0x3340
jmp 0x38f12
leaq -0x101(%rbp), %rdi
movq %rdi, -0x6d8(%rbp)
callq 0x3440
movq -0x6d8(%rbp), %rdx
leaq 0x7ad14(%rip), %rsi     # 0xb3c47
leaq -0x100(%rbp), %rdi
callq 0x3340
jmp 0x38f41
leaq -0xd8(%rbp), %rdi
leaq -0x100(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x38f5b
leaq -0x100(%rbp), %rdi
callq 0x34a8
jmp 0x38f69
leaq -0x101(%rbp), %rdi
callq 0x3290
leaq -0xd8(%rbp), %rdi
callq 0x34a8
jmp 0x38f83
leaq -0xd9(%rbp), %rdi
callq 0x3290
leaq -0x129(%rbp), %rdi
movq %rdi, -0x6e0(%rbp)
callq 0x3440
movq -0x6e0(%rbp), %rdx
leaq 0x7ac9b(%rip), %rsi     # 0xb3c4b
leaq -0x128(%rbp), %rdi
callq 0x3340
jmp 0x38fbe
leaq -0x151(%rbp), %rdi
movq %rdi, -0x6e8(%rbp)
callq 0x3440
movq -0x6e8(%rbp), %rdx
leaq 0x7ac7e(%rip), %rsi     # 0xb3c5d
leaq -0x150(%rbp), %rdi
callq 0x3340
jmp 0x38fed
leaq -0x128(%rbp), %rdi
leaq -0x150(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39007
leaq -0x150(%rbp), %rdi
callq 0x34a8
jmp 0x39015
leaq -0x151(%rbp), %rdi
callq 0x3290
leaq -0x128(%rbp), %rdi
callq 0x34a8
jmp 0x3902f
leaq -0x129(%rbp), %rdi
callq 0x3290
leaq -0x179(%rbp), %rdi
movq %rdi, -0x6f0(%rbp)
callq 0x3440
movq -0x6f0(%rbp), %rdx
leaq 0x7abef(%rip), %rsi     # 0xb3c4b
leaq -0x178(%rbp), %rdi
callq 0x3340
jmp 0x3906a
leaq -0x1a1(%rbp), %rdi
movq %rdi, -0x6f8(%rbp)
callq 0x3440
movq -0x6f8(%rbp), %rdx
leaq 0x7abe4(%rip), %rsi     # 0xb3c6f
leaq -0x1a0(%rbp), %rdi
callq 0x3340
jmp 0x39099
leaq -0x178(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x390b3
leaq -0x1a0(%rbp), %rdi
callq 0x34a8
jmp 0x390c1
leaq -0x1a1(%rbp), %rdi
callq 0x3290
leaq -0x178(%rbp), %rdi
callq 0x34a8
jmp 0x390db
leaq -0x179(%rbp), %rdi
callq 0x3290
leaq -0x1c9(%rbp), %rdi
movq %rdi, -0x700(%rbp)
callq 0x3440
movq -0x700(%rbp), %rdx
leaq 0x7ab43(%rip), %rsi     # 0xb3c4b
leaq -0x1c8(%rbp), %rdi
callq 0x3340
jmp 0x39116
leaq -0x1f1(%rbp), %rdi
movq %rdi, -0x708(%rbp)
callq 0x3440
movq -0x708(%rbp), %rdx
leaq 0x7ab4a(%rip), %rsi     # 0xb3c81
leaq -0x1f0(%rbp), %rdi
callq 0x3340
jmp 0x39145
leaq -0x1c8(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x3915f
leaq -0x1f0(%rbp), %rdi
callq 0x34a8
jmp 0x3916d
leaq -0x1f1(%rbp), %rdi
callq 0x3290
leaq -0x1c8(%rbp), %rdi
callq 0x34a8
jmp 0x39187
leaq -0x1c9(%rbp), %rdi
callq 0x3290
leaq -0x219(%rbp), %rdi
movq %rdi, -0x710(%rbp)
callq 0x3440
movq -0x710(%rbp), %rdx
leaq 0x7aadf(%rip), %rsi     # 0xb3c93
leaq -0x218(%rbp), %rdi
callq 0x3340
jmp 0x391c2
leaq -0x241(%rbp), %rdi
movq %rdi, -0x718(%rbp)
callq 0x3440
movq -0x718(%rbp), %rdx
leaq 0x7aac2(%rip), %rsi     # 0xb3ca5
leaq -0x240(%rbp), %rdi
callq 0x3340
jmp 0x391f1
leaq -0x218(%rbp), %rdi
leaq -0x240(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x3920b
leaq -0x240(%rbp), %rdi
callq 0x34a8
jmp 0x39219
leaq -0x241(%rbp), %rdi
callq 0x3290
leaq -0x218(%rbp), %rdi
callq 0x34a8
jmp 0x39233
leaq -0x219(%rbp), %rdi
callq 0x3290
leaq -0x269(%rbp), %rdi
movq %rdi, -0x720(%rbp)
callq 0x3440
movq -0x720(%rbp), %rdx
leaq 0x7aa57(%rip), %rsi     # 0xb3cb7
leaq -0x268(%rbp), %rdi
callq 0x3340
jmp 0x3926e
leaq -0x291(%rbp), %rdi
movq %rdi, -0x728(%rbp)
callq 0x3440
movq -0x728(%rbp), %rdx
leaq 0x7aa28(%rip), %rsi     # 0xb3cb7
leaq -0x290(%rbp), %rdi
callq 0x3340
jmp 0x3929d
leaq -0x268(%rbp), %rdi
leaq -0x290(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x392b7
leaq -0x290(%rbp), %rdi
callq 0x34a8
jmp 0x392c5
leaq -0x291(%rbp), %rdi
callq 0x3290
leaq -0x268(%rbp), %rdi
callq 0x34a8
jmp 0x392df
leaq -0x269(%rbp), %rdi
callq 0x3290
jmp 0x39b66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3933b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39325
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x60(%rbp), %rdi
callq 0x34a8
jmp 0x39323
jmp 0x39325
leaq -0x61(%rbp), %rdi
callq 0x3290
leaq -0x28(%rbp), %rdi
callq 0x34a8
jmp 0x39339
jmp 0x3933b
leaq -0x29(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3939d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39381
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x34a8
jmp 0x3937f
jmp 0x39381
leaq -0xb1(%rbp), %rdi
callq 0x3290
leaq -0x88(%rbp), %rdi
callq 0x34a8
jmp 0x3939b
jmp 0x3939d
leaq -0x89(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39402
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x393e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x100(%rbp), %rdi
callq 0x34a8
jmp 0x393e4
jmp 0x393e6
leaq -0x101(%rbp), %rdi
callq 0x3290
leaq -0xd8(%rbp), %rdi
callq 0x34a8
jmp 0x39400
jmp 0x39402
leaq -0xd9(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39467
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3944b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x150(%rbp), %rdi
callq 0x34a8
jmp 0x39449
jmp 0x3944b
leaq -0x151(%rbp), %rdi
callq 0x3290
leaq -0x128(%rbp), %rdi
callq 0x34a8
jmp 0x39465
jmp 0x39467
leaq -0x129(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x394cc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x394b0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x34a8
jmp 0x394ae
jmp 0x394b0
leaq -0x1a1(%rbp), %rdi
callq 0x3290
leaq -0x178(%rbp), %rdi
callq 0x34a8
jmp 0x394ca
jmp 0x394cc
leaq -0x179(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39531
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39515
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1f0(%rbp), %rdi
callq 0x34a8
jmp 0x39513
jmp 0x39515
leaq -0x1f1(%rbp), %rdi
callq 0x3290
leaq -0x1c8(%rbp), %rdi
callq 0x34a8
jmp 0x3952f
jmp 0x39531
leaq -0x1c9(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39596
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3957a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x240(%rbp), %rdi
callq 0x34a8
jmp 0x39578
jmp 0x3957a
leaq -0x241(%rbp), %rdi
callq 0x3290
leaq -0x218(%rbp), %rdi
callq 0x34a8
jmp 0x39594
jmp 0x39596
leaq -0x219(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x395fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x395df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x290(%rbp), %rdi
callq 0x34a8
jmp 0x395dd
jmp 0x395df
leaq -0x291(%rbp), %rdi
callq 0x3290
leaq -0x268(%rbp), %rdi
callq 0x34a8
jmp 0x395f9
jmp 0x395fb
leaq -0x269(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
leaq -0x2b9(%rbp), %rdi
movq %rdi, -0x730(%rbp)
callq 0x3440
movq -0x730(%rbp), %rdx
leaq 0x7a61a(%rip), %rsi     # 0xb3c47
leaq -0x2b8(%rbp), %rdi
callq 0x3340
jmp 0x3963b
leaq -0x2e1(%rbp), %rdi
movq %rdi, -0x738(%rbp)
callq 0x3440
movq -0x738(%rbp), %rdx
leaq 0x7a60f(%rip), %rsi     # 0xb3c6b
leaq -0x2e0(%rbp), %rdi
callq 0x3340
jmp 0x3966a
leaq -0x2b8(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39684
leaq -0x2e0(%rbp), %rdi
callq 0x34a8
jmp 0x39692
leaq -0x2e1(%rbp), %rdi
callq 0x3290
leaq -0x2b8(%rbp), %rdi
callq 0x34a8
jmp 0x396ac
leaq -0x2b9(%rbp), %rdi
callq 0x3290
leaq -0x309(%rbp), %rdi
movq %rdi, -0x740(%rbp)
callq 0x3440
movq -0x740(%rbp), %rdx
leaq 0x7a5f0(%rip), %rsi     # 0xb3cc9
leaq -0x308(%rbp), %rdi
callq 0x3340
jmp 0x396e7
leaq -0x331(%rbp), %rdi
movq %rdi, -0x748(%rbp)
callq 0x3440
movq -0x748(%rbp), %rdx
leaq 0x7a561(%rip), %rsi     # 0xb3c69
leaq -0x330(%rbp), %rdi
callq 0x3340
jmp 0x39716
leaq -0x308(%rbp), %rdi
leaq -0x330(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39730
leaq -0x330(%rbp), %rdi
callq 0x34a8
jmp 0x3973e
leaq -0x331(%rbp), %rdi
callq 0x3290
leaq -0x308(%rbp), %rdi
callq 0x34a8
jmp 0x39758
leaq -0x309(%rbp), %rdi
callq 0x3290
leaq -0x359(%rbp), %rdi
movq %rdi, -0x750(%rbp)
callq 0x3440
movq -0x750(%rbp), %rdx
leaq 0x7a4c2(%rip), %rsi     # 0xb3c47
leaq -0x358(%rbp), %rdi
callq 0x3340
jmp 0x39793
leaq -0x381(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0x3440
movq -0x758(%rbp), %rdx
leaq 0x7a493(%rip), %rsi     # 0xb3c47
leaq -0x380(%rbp), %rdi
callq 0x3340
jmp 0x397c2
leaq -0x358(%rbp), %rdi
leaq -0x380(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x397dc
leaq -0x380(%rbp), %rdi
callq 0x34a8
jmp 0x397ea
leaq -0x381(%rbp), %rdi
callq 0x3290
leaq -0x358(%rbp), %rdi
callq 0x34a8
jmp 0x39804
leaq -0x359(%rbp), %rdi
callq 0x3290
leaq -0x3a9(%rbp), %rdi
movq %rdi, -0x760(%rbp)
callq 0x3440
movq -0x760(%rbp), %rdx
leaq 0x7a484(%rip), %rsi     # 0xb3cb5
leaq -0x3a8(%rbp), %rdi
callq 0x3340
jmp 0x3983f
leaq -0x3d1(%rbp), %rdi
movq %rdi, -0x768(%rbp)
callq 0x3440
movq -0x768(%rbp), %rdx
leaq 0x7a455(%rip), %rsi     # 0xb3cb5
leaq -0x3d0(%rbp), %rdi
callq 0x3340
jmp 0x3986e
leaq -0x3a8(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39888
leaq -0x3d0(%rbp), %rdi
callq 0x34a8
jmp 0x39896
leaq -0x3d1(%rbp), %rdi
callq 0x3290
leaq -0x3a8(%rbp), %rdi
callq 0x34a8
jmp 0x398b0
leaq -0x3a9(%rbp), %rdi
callq 0x3290
leaq -0x3f9(%rbp), %rdi
movq %rdi, -0x770(%rbp)
callq 0x3440
movq -0x770(%rbp), %rdx
leaq 0x7a3d8(%rip), %rsi     # 0xb3cb5
leaq -0x3f8(%rbp), %rdi
callq 0x3340
jmp 0x398eb
leaq -0x421(%rbp), %rdi
movq %rdi, -0x778(%rbp)
callq 0x3440
movq -0x778(%rbp), %rdx
leaq 0x7a361(%rip), %rsi     # 0xb3c6d
leaq -0x420(%rbp), %rdi
callq 0x3340
jmp 0x3991a
leaq -0x3f8(%rbp), %rdi
leaq -0x420(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39934
leaq -0x420(%rbp), %rdi
callq 0x34a8
jmp 0x39942
leaq -0x421(%rbp), %rdi
callq 0x3290
leaq -0x3f8(%rbp), %rdi
callq 0x34a8
jmp 0x3995c
leaq -0x3f9(%rbp), %rdi
callq 0x3290
jmp 0x39b66
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x399c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x399a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x34a8
jmp 0x399a3
jmp 0x399a5
leaq -0x2e1(%rbp), %rdi
callq 0x3290
leaq -0x2b8(%rbp), %rdi
callq 0x34a8
jmp 0x399bf
jmp 0x399c1
leaq -0x2b9(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39a26
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39a0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x330(%rbp), %rdi
callq 0x34a8
jmp 0x39a08
jmp 0x39a0a
leaq -0x331(%rbp), %rdi
callq 0x3290
leaq -0x308(%rbp), %rdi
callq 0x34a8
jmp 0x39a24
jmp 0x39a26
leaq -0x309(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39a8b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39a6f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x380(%rbp), %rdi
callq 0x34a8
jmp 0x39a6d
jmp 0x39a6f
leaq -0x381(%rbp), %rdi
callq 0x3290
leaq -0x358(%rbp), %rdi
callq 0x34a8
jmp 0x39a89
jmp 0x39a8b
leaq -0x359(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39af0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39ad4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x34a8
jmp 0x39ad2
jmp 0x39ad4
leaq -0x3d1(%rbp), %rdi
callq 0x3290
leaq -0x3a8(%rbp), %rdi
callq 0x34a8
jmp 0x39aee
jmp 0x39af0
leaq -0x3a9(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39b55
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x39b39
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x420(%rbp), %rdi
callq 0x34a8
jmp 0x39b37
jmp 0x39b39
leaq -0x421(%rbp), %rdi
callq 0x3290
leaq -0x3f8(%rbp), %rdi
callq 0x34a8
jmp 0x39b53
jmp 0x39b55
leaq -0x3f9(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
leaq -0x449(%rbp), %rdi
movq %rdi, -0x780(%rbp)
callq 0x3440
movq -0x780(%rbp), %rdx
leaq 0x7a13e(%rip), %rsi     # 0xb3cc5
leaq -0x448(%rbp), %rdi
callq 0x3340
jmp 0x39b95
leaq -0x471(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x3440
movq -0x788(%rbp), %rdx
leaq 0x7a10f(%rip), %rsi     # 0xb3cc5
leaq -0x470(%rbp), %rdi
callq 0x3340
jmp 0x39bc4
leaq -0x448(%rbp), %rdi
leaq -0x470(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39bde
leaq -0x470(%rbp), %rdi
callq 0x34a8
jmp 0x39bec
leaq -0x471(%rbp), %rdi
callq 0x3290
leaq -0x448(%rbp), %rdi
callq 0x34a8
jmp 0x39c06
leaq -0x449(%rbp), %rdi
callq 0x3290
leaq -0x499(%rbp), %rdi
movq %rdi, -0x790(%rbp)
callq 0x3440
movq -0x790(%rbp), %rdx
leaq 0x7a092(%rip), %rsi     # 0xb3cc5
leaq -0x498(%rbp), %rdi
callq 0x3340
jmp 0x39c41
leaq -0x4c1(%rbp), %rdi
movq %rdi, -0x798(%rbp)
callq 0x3440
movq -0x798(%rbp), %rdx
leaq 0x7a06d(%rip), %rsi     # 0xb3ccf
leaq -0x4c0(%rbp), %rdi
callq 0x3340
jmp 0x39c70
leaq -0x498(%rbp), %rdi
leaq -0x4c0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39c8a
leaq -0x4c0(%rbp), %rdi
callq 0x34a8
jmp 0x39c98
leaq -0x4c1(%rbp), %rdi
callq 0x3290
leaq -0x498(%rbp), %rdi
callq 0x34a8
jmp 0x39cb2
leaq -0x499(%rbp), %rdi
callq 0x3290
leaq -0x4e9(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
callq 0x3440
movq -0x7a0(%rbp), %rdx
leaq 0x79ff6(%rip), %rsi     # 0xb3cd5
leaq -0x4e8(%rbp), %rdi
callq 0x3340
jmp 0x39ced
leaq -0x511(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0x3440
movq -0x7a8(%rbp), %rdx
leaq 0x79fcd(%rip), %rsi     # 0xb3cdb
leaq -0x510(%rbp), %rdi
callq 0x3340
jmp 0x39d1c
leaq -0x4e8(%rbp), %rdi
leaq -0x510(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39d36
leaq -0x510(%rbp), %rdi
callq 0x34a8
jmp 0x39d44
leaq -0x511(%rbp), %rdi
callq 0x3290
leaq -0x4e8(%rbp), %rdi
callq 0x34a8
jmp 0x39d5e
leaq -0x4e9(%rbp), %rdi
callq 0x3290
leaq -0x539(%rbp), %rdi
movq %rdi, -0x7b0(%rbp)
callq 0x3440
movq -0x7b0(%rbp), %rdx
leaq 0x79f56(%rip), %rsi     # 0xb3ce1
leaq -0x538(%rbp), %rdi
callq 0x3340
jmp 0x39d99
leaq -0x561(%rbp), %rdi
movq %rdi, -0x7b8(%rbp)
callq 0x3440
movq -0x7b8(%rbp), %rdx
leaq 0x79f2d(%rip), %rsi     # 0xb3ce7
leaq -0x560(%rbp), %rdi
callq 0x3340
jmp 0x39dc8
leaq -0x538(%rbp), %rdi
leaq -0x560(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39de2
leaq -0x560(%rbp), %rdi
callq 0x34a8
jmp 0x39df0
leaq -0x561(%rbp), %rdi
callq 0x3290
leaq -0x538(%rbp), %rdi
callq 0x34a8
jmp 0x39e0a
leaq -0x539(%rbp), %rdi
callq 0x3290
leaq -0x589(%rbp), %rdi
movq %rdi, -0x7c0(%rbp)
callq 0x3440
movq -0x7c0(%rbp), %rdx
leaq 0x79eb6(%rip), %rsi     # 0xb3ced
leaq -0x588(%rbp), %rdi
callq 0x3340
jmp 0x39e45
leaq -0x5b1(%rbp), %rdi
movq %rdi, -0x7c8(%rbp)
callq 0x3440
movq -0x7c8(%rbp), %rdx
leaq 0x79e8d(%rip), %rsi     # 0xb3cf3
leaq -0x5b0(%rbp), %rdi
callq 0x3340
jmp 0x39e74
leaq -0x588(%rbp), %rdi
leaq -0x5b0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39e8e
leaq -0x5b0(%rbp), %rdi
callq 0x34a8
jmp 0x39e9c
leaq -0x5b1(%rbp), %rdi
callq 0x3290
leaq -0x588(%rbp), %rdi
callq 0x34a8
jmp 0x39eb6
leaq -0x589(%rbp), %rdi
callq 0x3290
leaq -0x5d9(%rbp), %rdi
movq %rdi, -0x7d0(%rbp)
callq 0x3440
movq -0x7d0(%rbp), %rdx
leaq 0x79e16(%rip), %rsi     # 0xb3cf9
leaq -0x5d8(%rbp), %rdi
callq 0x3340
jmp 0x39ef1
leaq -0x601(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
callq 0x3440
movq -0x7d8(%rbp), %rdx
leaq 0x79def(%rip), %rsi     # 0xb3d01
leaq -0x600(%rbp), %rdi
callq 0x3340
jmp 0x39f20
leaq -0x5d8(%rbp), %rdi
leaq -0x600(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x39f3a
leaq -0x600(%rbp), %rdi
callq 0x34a8
jmp 0x39f48
leaq -0x601(%rbp), %rdi
callq 0x3290
leaq -0x5d8(%rbp), %rdi
callq 0x34a8
jmp 0x39f62
leaq -0x5d9(%rbp), %rdi
callq 0x3290
leaq -0x629(%rbp), %rdi
movq %rdi, -0x7e0(%rbp)
callq 0x3440
movq -0x7e0(%rbp), %rdx
leaq 0x79d7d(%rip), %rsi     # 0xb3d0c
leaq -0x628(%rbp), %rdi
callq 0x3340
jmp 0x39f9d
leaq -0x651(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x3440
movq -0x7e8(%rbp), %rdx
leaq 0x79d43(%rip), %rsi     # 0xb3d01
leaq -0x650(%rbp), %rdi
callq 0x3340
jmp 0x39fcc
leaq -0x628(%rbp), %rdi
leaq -0x650(%rbp), %rsi
movl $0x2, %edx
callq 0x385a0
jmp 0x39fe6
leaq -0x650(%rbp), %rdi
callq 0x34a8
jmp 0x39ff4
leaq -0x651(%rbp), %rdi
callq 0x3290
leaq -0x628(%rbp), %rdi
callq 0x34a8
jmp 0x3a00e
leaq -0x629(%rbp), %rdi
callq 0x3290
leaq -0x679(%rbp), %rdi
movq %rdi, -0x7f0(%rbp)
callq 0x3440
movq -0x7f0(%rbp), %rdx
leaq 0x79cd9(%rip), %rsi     # 0xb3d14
leaq -0x678(%rbp), %rdi
callq 0x3340
jmp 0x3a049
leaq -0x6a1(%rbp), %rdi
movq %rdi, -0x7f8(%rbp)
callq 0x3440
movq -0x7f8(%rbp), %rdx
leaq 0x79cba(%rip), %rsi     # 0xb3d24
leaq -0x6a0(%rbp), %rdi
callq 0x3340
jmp 0x3a078
leaq -0x678(%rbp), %rdi
leaq -0x6a0(%rbp), %rsi
movl $0x10, %edx
callq 0x385a0
jmp 0x3a092
leaq -0x6a0(%rbp), %rdi
callq 0x34a8
jmp 0x3a0a0
leaq -0x6a1(%rbp), %rdi
callq 0x3290
leaq -0x678(%rbp), %rdi
callq 0x34a8
jmp 0x3a0ba
leaq -0x679(%rbp), %rdi
callq 0x3290
addq $0x800, %rsp            # imm = 0x800
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a123
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a107
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x34a8
jmp 0x3a105
jmp 0x3a107
leaq -0x471(%rbp), %rdi
callq 0x3290
leaq -0x448(%rbp), %rdi
callq 0x34a8
jmp 0x3a121
jmp 0x3a123
leaq -0x449(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a188
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a16c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4c0(%rbp), %rdi
callq 0x34a8
jmp 0x3a16a
jmp 0x3a16c
leaq -0x4c1(%rbp), %rdi
callq 0x3290
leaq -0x498(%rbp), %rdi
callq 0x34a8
jmp 0x3a186
jmp 0x3a188
leaq -0x499(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a1ed
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a1d1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x510(%rbp), %rdi
callq 0x34a8
jmp 0x3a1cf
jmp 0x3a1d1
leaq -0x511(%rbp), %rdi
callq 0x3290
leaq -0x4e8(%rbp), %rdi
callq 0x34a8
jmp 0x3a1eb
jmp 0x3a1ed
leaq -0x4e9(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a252
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a236
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x560(%rbp), %rdi
callq 0x34a8
jmp 0x3a234
jmp 0x3a236
leaq -0x561(%rbp), %rdi
callq 0x3290
leaq -0x538(%rbp), %rdi
callq 0x34a8
jmp 0x3a250
jmp 0x3a252
leaq -0x539(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a2b7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a29b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x5b0(%rbp), %rdi
callq 0x34a8
jmp 0x3a299
jmp 0x3a29b
leaq -0x5b1(%rbp), %rdi
callq 0x3290
leaq -0x588(%rbp), %rdi
callq 0x34a8
jmp 0x3a2b5
jmp 0x3a2b7
leaq -0x589(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a31c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a300
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x600(%rbp), %rdi
callq 0x34a8
jmp 0x3a2fe
jmp 0x3a300
leaq -0x601(%rbp), %rdi
callq 0x3290
leaq -0x5d8(%rbp), %rdi
callq 0x34a8
jmp 0x3a31a
jmp 0x3a31c
leaq -0x5d9(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a381
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a365
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x650(%rbp), %rdi
callq 0x34a8
jmp 0x3a363
jmp 0x3a365
leaq -0x651(%rbp), %rdi
callq 0x3290
leaq -0x628(%rbp), %rdi
callq 0x34a8
jmp 0x3a37f
jmp 0x3a381
leaq -0x629(%rbp), %rdi
callq 0x3290
jmp 0x3a3ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a3e3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x3a3c7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x6a0(%rbp), %rdi
callq 0x34a8
jmp 0x3a3c5
jmp 0x3a3c7
leaq -0x6a1(%rbp), %rdi
callq 0x3290
leaq -0x678(%rbp), %rdi
callq 0x34a8
jmp 0x3a3e1
jmp 0x3a3e3
leaq -0x679(%rbp), %rdi
callq 0x3290
movq -0x38(%rbp), %rdi
callq 0x3430
movq %rax, %rdi
callq 0x1a490