// File: /workspace/github_cpp_makefile_star2_O1/lvandeve[P]lodepng/lodepng_unittest.cpp
// Function: testChrmToSrgb(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, unsigned char, int)
void testChrmToSrgb(unsigned gamma, unsigned wx, unsigned wy, unsigned rx, unsigned ry, unsigned gx, unsigned gy, unsigned bx, unsigned by,
                    unsigned char r, unsigned char g, unsigned char b, unsigned char er, unsigned char eg, unsigned char eb,
                    int max_dist = 0) {
  std::vector<unsigned char> image(4);
  image[0] = r;
  image[1] = g;
  image[2] = b;
  image[3] = 255;
  lodepng::State state;
  if(gamma) {
    state.info_png.gama_defined = 1;
    state.info_png.gama_gamma = gamma;
  }
  state.info_png.chrm_defined = 1;
  state.info_png.chrm_white_x = wx;
  state.info_png.chrm_white_y = wy;
  state.info_png.chrm_red_x = rx;
  state.info_png.chrm_red_y = ry;
  state.info_png.chrm_green_x = gx;
  state.info_png.chrm_green_y = gy;
  state.info_png.chrm_blue_x = bx;
  state.info_png.chrm_blue_y = by;

  std::vector<unsigned char> image2(4);
  convertToSrgb(image2.data(), image.data(), 1, 1, &state);

  if(max_dist == 0) {
    ASSERT_EQUALS(er, image2[0]);
    ASSERT_EQUALS(eg, image2[1]);
    ASSERT_EQUALS(eb, image2[2]);
  } else {
    ASSERT_NEAR(er, image2[0], max_dist);
    ASSERT_NEAR(eg, image2[1], max_dist);
    ASSERT_NEAR(eb, image2[2], max_dist);
  }

  // Also test the opposite direction

  std::vector<unsigned char> image3(4);
  convertFromSrgb(image3.data(), image2.data(), 1, 1, &state);

  if(max_dist == 0) {
    ASSERT_EQUALS(r, image3[0]);
    ASSERT_EQUALS(g, image3[1]);
    ASSERT_EQUALS(b, image3[2]);
  } else {
    ASSERT_NEAR(r, image3[0], max_dist);
    ASSERT_NEAR(g, image3[1], max_dist);
    ASSERT_NEAR(b, image3[2], max_dist);
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x348, %rsp            # imm = 0x348
movl %r9d, 0xc4(%rsp)
movl %r8d, 0xc0(%rsp)
movl %ecx, 0xbc(%rsp)
movl %edx, %r12d
movl %esi, %r13d
movl %edi, %ebx
movb 0x3c0(%rsp), %al
movb %al, 0x8d(%rsp)
movb 0x3b8(%rsp), %al
movb %al, 0x8e(%rsp)
movb 0x3b0(%rsp), %al
movb %al, 0x8f(%rsp)
movb 0x3a8(%rsp), %bpl
movb 0x3a0(%rsp), %r14b
movb 0x398(%rsp), %r15b
movl $0x4, %edi
callq 0x2230
movl $0x0, (%rax)
movb %r15b, 0x8c(%rsp)
movb %r15b, (%rax)
movb %r14b, 0x8b(%rsp)
movb %r14b, 0x1(%rax)
movb %bpl, 0x8a(%rsp)
movb %bpl, 0x2(%rax)
movq %rax, 0xb0(%rsp)
movb $-0x1, 0x3(%rax)
leaq 0xc8(%rsp), %rdi
callq 0xd1a0
movl 0x390(%rsp), %eax
movl 0x388(%rsp), %ecx
movl 0x380(%rsp), %edx
testl %ebx, %ebx
je 0x5704f
movl $0x1, 0x260(%rsp)
movl %ebx, 0x264(%rsp)
movl $0x1, 0x268(%rsp)
movl %r13d, 0x26c(%rsp)
movl %r12d, 0x270(%rsp)
movl 0xbc(%rsp), %esi
movl %esi, 0x274(%rsp)
movl 0xc0(%rsp), %esi
movl %esi, 0x278(%rsp)
movl 0xc4(%rsp), %esi
movl %esi, 0x27c(%rsp)
movl %edx, 0x280(%rsp)
movl %ecx, 0x284(%rsp)
movl %eax, 0x288(%rsp)
movl $0x4, %edi
callq 0x2230
movq %rax, %r14
movl $0x0, (%rax)
leaq 0xc8(%rsp), %r8
movq %rax, %rdi
movq 0xb0(%rsp), %rsi
movl $0x1, %edx
movl $0x1, %ecx
callq 0x13b9a
movl 0x3c8(%rsp), %eax
movb (%r14), %cl
testl %eax, %eax
je 0x5741d
movl %ecx, %edx
movb 0x8f(%rsp), %sil
subb %sil, %dl
negb %dl
subb %sil, %cl
movzbl %cl, %ecx
movzbl %dl, %edx
cmovael %ecx, %edx
movl $0xff, %ecx
andl %ecx, %edx
andl %ecx, %eax
cmpl %edx, %eax
jb 0x5782b
movb 0x1(%r14), %cl
movl %ecx, %edx
movb 0x8e(%rsp), %sil
subb %sil, %dl
negb %dl
subb %sil, %cl
movzbl %cl, %ecx
movzbl %dl, %edx
cmovael %ecx, %edx
movzbl %dl, %ecx
cmpl %ecx, %eax
jb 0x57ad2
movb 0x2(%r14), %cl
movl %ecx, %edx
movb 0x8d(%rsp), %sil
subb %sil, %dl
negb %dl
subb %sil, %cl
movzbl %cl, %ecx
movzbl %dl, %edx
cmovael %ecx, %edx
movzbl %dl, %ecx
cmpl %ecx, %eax
jae 0x5744c
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1efda(%rip), %rsi     # 0x7615d
leaq 0x1efd8(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x225a8(%rip), %rsi     # 0x7976c
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x22530(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x224dd(%rip), %rsi     # 0x79703
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x224bb(%rip), %rsi     # 0x79712
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5cd66(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5728b
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x5729a
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x572a9
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x572b8
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x572ca
callq 0x2200
movq 0x5cd07(%rip), %rdi     # 0xb3fd8
leaq 0x22450(%rip), %rsi     # 0x79728
movl $0x1e, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3c0(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5ccd3(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %r12
leaq 0x1eea9(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r14, %rbx
addq $0x2, %rbx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x223f6(%rip), %rsi     # 0x79747
movl $0x10, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x70594
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x223cc(%rip), %rsi     # 0x79758
movl $0xe, %edx
movq %rax, %rdi
callq 0x2270
movb 0x3c0(%rsp), %al
movb (%rbx), %cl
movl %eax, %edx
subb %cl, %dl
negb %dl
subb %cl, %al
movzbl %al, %eax
movzbl %dl, %ecx
cmovael %eax, %ecx
leaq 0x90(%rsp), %rsi
movb %cl, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x16452
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1ecc1(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x57d79
cmpb %cl, 0x8f(%rsp)
jne 0x58346
movb 0x8e(%rsp), %al
cmpb %al, 0x1(%r14)
jne 0x58559
movb 0x8d(%rsp), %al
cmpb %al, 0x2(%r14)
jne 0x5876f
movl $0x4, %edi
callq 0x2230
movq %rax, %r15
movl $0x0, (%rax)
leaq 0xc8(%rsp), %r8
movq %rax, %rdi
movq %r14, %rsi
movl $0x1, %edx
movl $0x1, %ecx
callq 0x13c06
movl 0x3c8(%rsp), %eax
movb (%r15), %cl
testl %eax, %eax
je 0x577c0
movl %ecx, %edx
movb 0x8c(%rsp), %sil
subb %sil, %dl
negb %dl
subb %sil, %cl
movzbl %cl, %ecx
movzbl %dl, %edx
cmovael %ecx, %edx
movl $0xff, %ecx
andl %ecx, %edx
andl %ecx, %eax
cmpl %edx, %eax
jb 0x57daa
movb 0x1(%r15), %cl
movl %ecx, %edx
movb 0x8b(%rsp), %sil
subb %sil, %dl
negb %dl
subb %sil, %cl
movzbl %cl, %ecx
movzbl %dl, %edx
cmovael %ecx, %edx
movzbl %dl, %ecx
cmpl %ecx, %eax
jb 0x58073
movb 0x2(%r15), %cl
movl %ecx, %edx
movb 0x8a(%rsp), %sil
subb %sil, %dl
negb %dl
subb %sil, %cl
movzbl %cl, %ecx
movzbl %dl, %edx
cmovael %ecx, %edx
movzbl %dl, %ecx
cmpl %ecx, %eax
jae 0x577ef
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1ec3c(%rip), %rsi     # 0x7615d
leaq 0x1ec3a(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x22246(%rip), %rsi     # 0x797a8
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x22192(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x221d0(%rip), %rsi     # 0x79794
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x2211d(%rip), %rsi     # 0x79712
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c9c8(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x57629
callq 0x2200
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5763d
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x5764c
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5765b
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x5766d
callq 0x2200
movq 0x5c964(%rip), %rdi     # 0xb3fd8
leaq 0x220ad(%rip), %rsi     # 0x79728
movl $0x1e, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c930(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %r12
leaq 0x1eb06(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r15, %rbx
addq $0x2, %rbx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x22053(%rip), %rsi     # 0x79747
movl $0x10, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x70594
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x22029(%rip), %rsi     # 0x79758
movl $0xe, %edx
movq %rax, %rdi
callq 0x2270
movb 0x3a8(%rsp), %al
movb (%rbx), %cl
movl %eax, %edx
subb %cl, %dl
negb %dl
subb %cl, %al
movzbl %al, %eax
movzbl %dl, %ecx
cmovael %eax, %ecx
leaq 0x90(%rsp), %rsi
movb %cl, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x16452
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1e91e(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x5831f
cmpb %cl, 0x8c(%rsp)
jne 0x589c5
movb 0x8b(%rsp), %al
cmpb %al, 0x1(%r15)
jne 0x58bde
movb 0x8a(%rsp), %al
cmpb %al, 0x2(%r15)
jne 0x58dfa
movq %r15, %rdi
callq 0x2200
movq %r14, %rdi
callq 0x2200
leaq 0xc8(%rsp), %rdi
callq 0xd1c8
movq 0xb0(%rsp), %rdi
callq 0x2200
addq $0x348, %rsp            # imm = 0x348
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1e91f(%rip), %rsi     # 0x7615d
leaq 0x1e91d(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x21e8e(%rip), %rsi     # 0x7970d
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x21e75(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x21e04(%rip), %rsi     # 0x796e5
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x21e00(%rip), %rsi     # 0x79712
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c6ab(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x57946
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x57955
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x57964
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x57973
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x57985
callq 0x2200
movq 0x5c64c(%rip), %rdi     # 0xb3fd8
leaq 0x21d95(%rip), %rsi     # 0x79728
movl $0x1e, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3b0(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c618(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %r12
leaq 0x1e7ee(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x21d42(%rip), %rsi     # 0x79747
movl $0x10, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x70594
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x21d18(%rip), %rsi     # 0x79758
movl $0xe, %edx
movq %rax, %rdi
callq 0x2270
movb 0x3b0(%rsp), %al
movb (%r14), %cl
movl %eax, %edx
subb %cl, %dl
negb %dl
subb %cl, %al
movzbl %al, %eax
movzbl %dl, %ecx
cmovael %eax, %ecx
leaq 0x90(%rsp), %rsi
movb %cl, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x16452
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1e60c(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x57d79
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1e678(%rip), %rsi     # 0x7615d
leaq 0x1e676(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x21c41(%rip), %rsi     # 0x79767
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x21bce(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x21b6c(%rip), %rsi     # 0x796f4
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x21b59(%rip), %rsi     # 0x79712
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c404(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x57bed
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x57bfc
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x57c0b
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x57c1a
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x57c2c
callq 0x2200
movq 0x5c3a5(%rip), %rdi     # 0xb3fd8
leaq 0x21aee(%rip), %rsi     # 0x79728
movl $0x1e, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c371(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %r12
leaq 0x1e547(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r14, %rbx
incq %rbx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x21a95(%rip), %rsi     # 0x79747
movl $0x10, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x70594
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x21a6b(%rip), %rsi     # 0x79758
movl $0xe, %edx
movq %rax, %rdi
callq 0x2270
movb 0x3b8(%rsp), %al
movb (%rbx), %cl
movl %eax, %edx
subb %cl, %dl
negb %dl
subb %cl, %al
movzbl %al, %eax
movzbl %dl, %ecx
cmovael %eax, %ecx
leaq 0x90(%rsp), %rsi
movb %cl, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x16452
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1e360(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x57d88
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x57d97
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
jne 0x5898b
jmp 0x58990
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1e3a0(%rip), %rsi     # 0x7615d
leaq 0x1e39e(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x219a0(%rip), %rsi     # 0x7979e
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x218f6(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x21916(%rip), %rsi     # 0x79776
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x21881(%rip), %rsi     # 0x79712
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c12c(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x57ec5
callq 0x2200
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x57ed9
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x57ee8
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x57ef7
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x57f09
callq 0x2200
movq 0x5c0c8(%rip), %rdi     # 0xb3fd8
leaq 0x21811(%rip), %rsi     # 0x79728
movl $0x1e, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x398(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5c094(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %r12
leaq 0x1e26a(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x217be(%rip), %rsi     # 0x79747
movl $0x10, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x70594
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x21794(%rip), %rsi     # 0x79758
movl $0xe, %edx
movq %rax, %rdi
callq 0x2270
movb 0x398(%rsp), %al
movb (%r15), %cl
movl %eax, %edx
subb %cl, %dl
negb %dl
subb %cl, %al
movzbl %al, %eax
movzbl %dl, %ecx
cmovael %eax, %ecx
leaq 0x90(%rsp), %rsi
movb %cl, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x16452
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1e088(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x58060
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x5833c
jmp 0x59012
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1e0d7(%rip), %rsi     # 0x7615d
leaq 0x1e0d5(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x216dc(%rip), %rsi     # 0x797a3
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x2162d(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x2165c(%rip), %rsi     # 0x79785
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x215b8(%rip), %rsi     # 0x79712
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5be63(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5818e
callq 0x2200
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x581a2
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x581b1
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x581c0
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x581d2
callq 0x2200
movq 0x5bdff(%rip), %rdi     # 0xb3fd8
leaq 0x21548(%rip), %rsi     # 0x79728
movl $0x1e, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3a0(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5bdcb(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %r12
leaq 0x1dfa1(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r15, %rbx
incq %rbx
leaq 0x28(%rsp), %rdi
movq %rbx, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x214ef(%rip), %rsi     # 0x79747
movl $0x10, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x68(%rsp), %rdi
leaq 0x3c8(%rsp), %rsi
callq 0x70594
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x214c5(%rip), %rsi     # 0x79758
movl $0xe, %edx
movq %rax, %rdi
callq 0x2270
movb 0x3a0(%rsp), %al
movb (%rbx), %cl
movl %eax, %edx
subb %cl, %dl
negb %dl
subb %cl, %al
movzbl %al, %eax
movzbl %dl, %ecx
cmovael %eax, %ecx
leaq 0x90(%rsp), %rsi
movb %cl, (%rsi)
leaq 0x48(%rsp), %rdi
callq 0x16452
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
movq %r12, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1ddba(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5832e
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x59012
callq 0x2200
jmp 0x59012
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1de04(%rip), %rsi     # 0x7615d
leaq 0x1de02(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x21346(%rip), %rsi     # 0x796e0
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x2135a(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x212e9(%rip), %rsi     # 0x796e5
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x1dd78(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5bb90(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58461
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x58470
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5847f
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x5848e
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x584a0
callq 0x2200
movq 0x5bb31(%rip), %rdi     # 0xb3fd8
leaq 0x469df(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3b0(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5bafd(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %rbx
leaq 0x1dcd3(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x2270
movq %rax, %r15
leaq 0x1db84(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x58981
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1dbf1(%rip), %rsi     # 0x7615d
leaq 0x1dbef(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x21142(%rip), %rsi     # 0x796ef
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x21147(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x210e5(%rip), %rsi     # 0x796f4
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x1db65(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b97d(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58674
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x58683
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x58692
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x586a1
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x586b3
callq 0x2200
movq 0x5b91e(%rip), %rdi     # 0xb3fd8
leaq 0x467cc(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3b8(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b8ea(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %rbx
leaq 0x1dac0(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r14, %rsi
incq %rsi
leaq 0x28(%rsp), %rdi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x2270
movq %rax, %r15
leaq 0x1d96e(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x58981
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1d9db(%rip), %rsi     # 0x7615d
leaq 0x1d9d9(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x20f3b(%rip), %rsi     # 0x796fe
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x20f31(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x20ede(%rip), %rsi     # 0x79703
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x1d94f(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b767(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5888a
callq 0x2200
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x58899
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x588a8
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
je 0x588b7
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x588c9
callq 0x2200
movq 0x5b708(%rip), %rdi     # 0xb3fd8
leaq 0x465b6(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3c0(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b6d4(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %rbx
leaq 0x1d8aa(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r14, %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x2270
movq %rax, %r15
leaq 0x1d757(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r15), %rax
movq -0x18(%rax), %rdi
addq %r15, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r15, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x58990
callq 0x2200
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x589a4
callq 0x2200
movl $0x4, %edi
callq 0x2120
movl $0x1, (%rax)
movq 0x5b5fd(%rip), %rsi     # 0xb3fb8
movq %rax, %rdi
xorl %edx, %edx
callq 0x2380
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1d785(%rip), %rsi     # 0x7615d
leaq 0x1d783(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x20d58(%rip), %rsi     # 0x79771
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x20cdb(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x20cfb(%rip), %rsi     # 0x79776
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x1d6f9(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b511(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58ae0
callq 0x2200
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x58af4
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x58b03
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x58b12
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x58b24
callq 0x2200
movq 0x5b4ad(%rip), %rdi     # 0xb3fd8
leaq 0x4635b(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x398(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b479(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %rbx
leaq 0x1d64f(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
leaq 0x28(%rsp), %rdi
movq %r15, %rsi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1d500(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x59012
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1d56c(%rip), %rsi     # 0x7615d
leaq 0x1d56a(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x20b4e(%rip), %rsi     # 0x79780
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x20ac2(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x20af1(%rip), %rsi     # 0x79785
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x1d4e0(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b2f8(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58cf9
callq 0x2200
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x58d0d
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x58d1c
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x58d2b
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x58d3d
callq 0x2200
movq 0x5b294(%rip), %rdi     # 0xb3fd8
leaq 0x46142(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3a0(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b260(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %rbx
leaq 0x1d436(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r15, %rsi
incq %rsi
leaq 0x28(%rsp), %rdi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1d2e4(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
jmp 0x59012
leaq 0xa0(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x1d350(%rip), %rsi     # 0x7615d
leaq 0x1d34e(%rip), %rdx     # 0x76162
leaq 0x90(%rsp), %rdi
callq 0x1517a
leaq 0x58(%rsp), %rbp
movq %rbp, -0x10(%rbp)
movq 0x90(%rsp), %rsi
movq 0x98(%rsp), %rdx
addq %rsi, %rdx
leaq 0x48(%rsp), %rdi
callq 0x15390
leaq 0x20941(%rip), %rsi     # 0x7978f
leaq 0x48(%rsp), %rdi
callq 0x23d0
leaq 0x78(%rsp), %r13
movq %r13, -0x10(%r13)
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rdx
addq %rsi, %rdx
leaq 0x68(%rsp), %rdi
callq 0x15390
leaq 0x208a6(%rip), %rsi     # 0x79725
leaq 0x68(%rsp), %rdi
callq 0x23d0
leaq 0x38(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x68(%rsp), %rsi
movq 0x70(%rsp), %rdx
addq %rsi, %rdx
leaq 0x28(%rsp), %rdi
callq 0x15390
leaq 0x208e4(%rip), %rsi     # 0x79794
leaq 0x28(%rsp), %rdi
callq 0x23d0
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %rdi
callq 0x15390
leaq 0x1d2c4(%rip), %rsi     # 0x761a5
leaq 0x8(%rsp), %rdi
callq 0x23d0
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b0dc(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58f15
callq 0x2200
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x58f29
callq 0x2200
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x58f38
callq 0x2200
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x58f47
callq 0x2200
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x58f59
callq 0x2200
movq 0x5b078(%rip), %rdi     # 0xb3fd8
leaq 0x45f26(%rip), %rsi     # 0x9ee8d
movl $0x9, %edx
callq 0x2270
leaq 0x8(%rsp), %rdi
leaq 0x3a8(%rsp), %rsi
callq 0x16452
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
movq 0x5b044(%rip), %rdi     # 0xb3fd8
callq 0x2270
movq %rax, %rbx
leaq 0x1d21a(%rip), %rsi     # 0x761bd
movl $0x9, %edx
movq %rax, %rdi
callq 0x2270
movq %r15, %rsi
addq $0x2, %rsi
leaq 0x28(%rsp), %rdi
callq 0x16452
movq 0x28(%rsp), %rsi
movq 0x30(%rsp), %rdx
movq %rbx, %rdi
callq 0x2270
movq %rax, %r12
leaq 0x1d0c7(%rip), %rsi     # 0x760a4
movl $0x2, %edx
movq %rax, %rdi
callq 0x2270
movq (%r12), %rax
movq -0x18(%rax), %rdi
addq %r12, %rdi
movl $0xa, %esi
callq 0x2210
movsbl %al, %esi
movq %r12, %rdi
callq 0x2040
movq %rax, %rdi
callq 0x2160
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x59026
callq 0x2200
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5903a
callq 0x2200
movl $0x4, %edi
callq 0x2120
movl $0x1, (%rax)
movq 0x5af67(%rip), %rsi     # 0xb3fb8
movq %rax, %rdi
xorl %edx, %edx
callq 0x2380
jmp 0x59075
movq %rax, %r12
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x590ae
callq 0x2200
jmp 0x590ae
jmp 0x59089
jmp 0x59089
movq %rax, %r12
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
je 0x590c1
callq 0x2200
jmp 0x590c1
movq %rax, %r12
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x590d5
callq 0x2200
jmp 0x590d5
jmp 0x590be
jmp 0x590ab
jmp 0x590d2
jmp 0x590d2
jmp 0x590be
jmp 0x590d2
jmp 0x590be
movq %rax, %r12
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x590cb
jmp 0x59130
jmp 0x590d2
jmp 0x590d2
movq %rax, %r12
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x59130
callq 0x2200
jmp 0x59130
movq %rax, %r12
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5914d
callq 0x2200
jmp 0x5914d
jmp 0x5912d
jmp 0x5912d
jmp 0x5914a
jmp 0x5914a
jmp 0x5912d
jmp 0x5914a
jmp 0x5912d
jmp 0x5912d
jmp 0x5912d
jmp 0x590fc
jmp 0x590fc
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
jne 0x59157
jmp 0x591ba
jmp 0x59198
jmp 0x59198
jmp 0x59198
jmp 0x591b7
jmp 0x591b7
jmp 0x591b7
jmp 0x5912d
jmp 0x5912d
movq %rax, %r12
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5919b
callq 0x2200
jmp 0x5919b
jmp 0x5914a
jmp 0x5914a
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x591ba
callq 0x2200
jmp 0x591ba
jmp 0x59198
jmp 0x59198
jmp 0x59198
jmp 0x591b7
jmp 0x591b7
jmp 0x591b7
jmp 0x59198
jmp 0x59198
jmp 0x59198
jmp 0x591b7
jmp 0x591b7
jmp 0x591b7
jmp 0x59440
jmp 0x59440
jmp 0x59440
jmp 0x5944d
jmp 0x5944d
jmp 0x5944d
jmp 0x59198
jmp 0x59198
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
jne 0x59404
jmp 0x59443
jmp 0x591b7
jmp 0x591b7
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
jne 0x59446
jmp 0x59450
jmp 0x59440
jmp 0x59440
jmp 0x59440
jmp 0x5944d
jmp 0x5944d
jmp 0x5944d
jmp 0x5922d
jmp 0x5922d
jmp 0x5922d
jmp 0x59212
jmp 0x59212
jmp 0x59212
jmp 0x5922d
jmp 0x5922d
jmp 0x59246
jmp 0x59263
jmp 0x59263
jmp 0x59263
jmp 0x5922d
jmp 0x5922d
jmp 0x5922d
jmp 0x59212
jmp 0x59212
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x592a1
callq 0x2200
jmp 0x592a1
jmp 0x5922d
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x592b7
callq 0x2200
jmp 0x592b7
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x592d0
callq 0x2200
jmp 0x592d0
jmp 0x59263
jmp 0x59263
movq %rax, %r12
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x592ed
callq 0x2200
jmp 0x592ed
jmp 0x592b4
jmp 0x592b4
jmp 0x592b4
jmp 0x5929e
jmp 0x5929e
jmp 0x5929e
jmp 0x592b4
jmp 0x592b4
jmp 0x592cd
jmp 0x592ea
jmp 0x592ea
jmp 0x592ea
jmp 0x592b4
jmp 0x592b4
jmp 0x592b4
jmp 0x5929e
jmp 0x5929e
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r13, %rdi
je 0x59323
callq 0x2200
jmp 0x59323
jmp 0x592b4
movq %rax, %r12
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x59339
callq 0x2200
jmp 0x59339
movq %rax, %r12
movq 0x28(%rsp), %rdi
leaq 0x38(%rsp), %rax
cmpq %rax, %rdi
je 0x5934d
callq 0x2200
jmp 0x5934d
jmp 0x592ea
jmp 0x592ea
movq %rax, %r12
movq 0x28(%rsp), %rdi
cmpq %r15, %rdi
je 0x59365
callq 0x2200
jmp 0x59365
jmp 0x59336
jmp 0x59336
jmp 0x59336
jmp 0x59320
jmp 0x59320
jmp 0x59320
jmp 0x59336
jmp 0x59336
jmp 0x5934a
jmp 0x59362
jmp 0x59362
jmp 0x59362
jmp 0x59336
jmp 0x59336
jmp 0x59336
jmp 0x59320
jmp 0x59320
movq %rax, %r12
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x5939b
callq 0x2200
jmp 0x5939b
jmp 0x59336
movq %rax, %r12
movq 0x68(%rsp), %rdi
cmpq %r13, %rdi
je 0x593ac
callq 0x2200
jmp 0x593ac
movq %rax, %r12
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x593bb
callq 0x2200
jmp 0x593bb
jmp 0x59362
jmp 0x59362
movq %rax, %r12
movq 0x68(%rsp), %rdi
cmpq %rbp, %rdi
je 0x593d3
callq 0x2200
jmp 0x593d3
jmp 0x593a9
jmp 0x593a9
jmp 0x593a9
jmp 0x59398
jmp 0x59398
jmp 0x59398
jmp 0x593a9
jmp 0x593a9
jmp 0x593b8
jmp 0x593d0
jmp 0x593d0
jmp 0x593d0
jmp 0x593a9
jmp 0x593a9
jmp 0x593a9
jmp 0x59398
jmp 0x59398
movq %rax, %r12
movq 0x48(%rsp), %rdi
cmpq %r15, %rdi
jne 0x593dd
jmp 0x59412
jmp 0x593a9
movq %rax, %r12
movq 0x48(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x593c5
jmp 0x593f7
movq %rax, %r12
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x593f7
callq 0x2200
jmp 0x593f7
jmp 0x593d0
jmp 0x593d0
movq %rax, %r12
movq 0x48(%rsp), %rdi
cmpq %r13, %rdi
je 0x59412
callq 0x2200
jmp 0x59412
jmp 0x593f4
jmp 0x593f4
jmp 0x593f4
jmp 0x5940f
jmp 0x5940f
jmp 0x5940f
jmp 0x593f4
jmp 0x593f4
movq %rax, %r12
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
je 0x59443
callq 0x2200
jmp 0x59443
jmp 0x5940f
jmp 0x5940f
movq %rax, %r12
movq 0x90(%rsp), %rdi
cmpq %rbx, %rdi
jne 0x59446
jmp 0x59450
jmp 0x59440
jmp 0x59440
jmp 0x59440
jmp 0x5944d
jmp 0x5944d
jmp 0x5944d
jmp 0x59440
jmp 0x59440
jmp 0x59440
jmp 0x5944d
jmp 0x5944d
jmp 0x5944d
jmp 0x5944d
movq %rax, %r12
jmp 0x59458
movq %rax, %r12
movq %r15, %rdi
callq 0x2200
jmp 0x59450
movq %rax, %r12
movq %r14, %rdi
callq 0x2200
leaq 0xc8(%rsp), %rdi
callq 0xd1c8
jmp 0x5946a
movq %rax, %r12
movq 0xb0(%rsp), %rdi
callq 0x2200
movq %r12, %rdi
callq 0x23b0
movq %rax, %rdi
callq 0x14f59