// File: /workspace/github_c_makefile_star2_O1/canboat[P]canboat/analyzer/analyzer-explain.c
// Function: explainXML
static void explainXML(bool normal, bool actisense, bool ikonvert)
{
  int i;

  printf("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
  if (doV1)
  {
    printf("<!-- WARNING WARNING WARNING\n"
           "     THIS FILE IS OBSOLETE AND WILL BE REMOVED IN THE NEXT MAJOR RELEASE!!!\n"
           "     Please use docs/canboat.xml which is a much more complete format.\n"
           "-->\n");
  }
  printf("<!--\n" COPYRIGHT "\n-->\n");
  if (!doV1)
  {
    printf("<?xml-stylesheet type=\"text/xsl\" href=\"canboat.xsl\"?>\n");
  }
  if (!doV1)
  {
    printf(
        "<PGNDefinitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\n"
        "  <SchemaVersion>" SCHEMA_VERSION "</SchemaVersion>\n");
  }
  else
  {
    printf("<PGNDefinitions xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" "
           "Version=\"0.1\">\n");
  }
  if (doV1)
  {
    printf("  <Comment>WARNING: DO NOT USE THIS FILE. IT IS INCLUDED FOR HISTORICAL DOWNSTREAM PROJECTS. See "
           "https://github.com/canboat/canboat for the full source code and the recommended new file to use.</Comment>\n");
  }
  else
  {
    printf("  <Comment>See https://github.com/canboat/canboat for the full source code</Comment>\n");
  }
  printf("  <CreatorCode>Canboat NMEA2000 Analyzer</CreatorCode>\n"
         "  <License>Apache License Version 2.0</License>\n"
         "  <Version>" VERSION "</Version>\n");
  if (!doV1)
  {
    printf("  <Copyright>" COPYRIGHT "\n</Copyright>\n");
  }

  if (normal && !doV1)
  {
    explainPhysicalQuantityXML();
    explainFieldTypesXML();
    explainMissingXML();

    printf("  <LookupEnumerations>\n");
    for (i = 0; i < ARRAY_SIZE(lookupEnums); i++)
    {
      uint64_t maxValue = (UINT64_C(1) << lookupEnums[i].size) - 1;

      printf("    <LookupEnumeration Name='%s' MaxValue='%" PRIu64 "'>\n", lookupEnums[i].name, maxValue);
      (lookupEnums[i].function.pairEnumerator)(explainPairXMLv2);
      printf("    </LookupEnumeration>\n");
    }
    printf("  </LookupEnumerations>\n");

    printf("  <LookupIndirectEnumerations>\n");
    for (i = 0; i < ARRAY_SIZE(tripletEnums); i++)
    {
      uint64_t maxValue = (UINT64_C(1) << tripletEnums[i].size) - 1;

      printf("    <LookupIndirectEnumeration Name='%s' MaxValue='%" PRIu64 "'>\n", tripletEnums[i].name, maxValue);
      (tripletEnums[i].function.tripletEnumerator)(explainTripletXML2);
      printf("    </LookupIndirectEnumeration>\n");
    }
    printf("  </LookupIndirectEnumerations>\n");

    printf("  <LookupBitEnumerations>\n");
    for (i = 0; i < ARRAY_SIZE(bitfieldEnums); i++)
    {
      uint64_t maxValue = bitfieldEnums[i].size - 1;
      printf("    <LookupBitEnumeration Name='%s' MaxValue='%" PRIu64 "'>\n", bitfieldEnums[i].name, maxValue);
      (bitfieldEnums[i].function.bitEnumerator)(explainBitXMLv2);
      printf("    </LookupBitEnumeration>\n");
    }
    printf("  </LookupBitEnumerations>\n");

    printf("  <LookupFieldTypeEnumerations>\n");
    for (i = 0; i < ARRAY_SIZE(fieldtypeEnums); i++)
    {
      uint64_t maxValue = (UINT64_C(1) << fieldtypeEnums[i].size) - 1;

      printf("    <LookupFieldTypeEnumeration Name='%s' MaxValue='%" PRIu64 "'>\n", fieldtypeEnums[i].name, maxValue);
      (fieldtypeEnums[i].function.fieldtypeEnumerator)(explainFieldtypeXMLv2);
      printf("    </LookupFieldTypeEnumeration>\n");
    }
    printf("  </LookupFieldTypeEnumerations>\n");
  }

  printf("  <PGNs>\n");
  for (i = 0; i < ARRAY_SIZE(pgnList); i++)
  {
    int pgn = pgnList[i].pgn;
    if ((normal && pgn < ACTISENSE_BEM) || (actisense && pgn >= ACTISENSE_BEM && pgn < IKONVERT_BEM)
        || (ikonvert && pgn >= IKONVERT_BEM))
    {
      explainPGNXML(pgnList[i]);
    }
  }

  printf("  </PGNs>\n"
         "</PGNDefinitions>\n");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x16d8, %rsp           # imm = 0x16D8
movl %edx, 0x28(%rsp)
movl %esi, 0x24(%rsp)
movl %edi, %r14d
leaq 0x1e8b1(%rip), %rdi     # 0x2c7f1
callq 0xd0c0
cmpb $0x1, 0x8d7b0(%rip)     # 0x9b6fc
jne 0xdf5a
leaq 0x1e8c3(%rip), %rdi     # 0x2c818
callq 0xd0c0
leaq 0x1e96b(%rip), %rdi     # 0x2c8cc
callq 0xd0c0
cmpb $0x0, 0x8d78f(%rip)     # 0x9b6fc
jne 0xdf7b
leaq 0x1ec1b(%rip), %rdi     # 0x2cb91
callq 0xd0c0
leaq 0x1ece0(%rip), %rax     # 0x2cc62
leaq 0x1ec3e(%rip), %rdi     # 0x2cbc7
cmpb $0x0, 0x8d76c(%rip)     # 0x9b6fc
cmovneq %rax, %rdi
callq 0xd0c0
leaq 0x1ed99(%rip), %rax     # 0x2cd39
leaq 0x1ed3d(%rip), %rdi     # 0x2cce4
cmpb $0x0, 0x8d74e(%rip)     # 0x9b6fc
cmovneq %rax, %rdi
callq 0xd0c0
leaq 0x1ee47(%rip), %rdi     # 0x2ce05
callq 0xd0c0
cmpb $0x0, 0x8d732(%rip)     # 0x9b6fc
jne 0xdfd8
leaq 0x1eeb4(%rip), %rdi     # 0x2ce87
callq 0xd0c0
testb %r14b, %r14b
movl %r14d, 0x10(%rsp)
je 0xe54e
cmpb $0x0, 0x8d70f(%rip)     # 0x9b6fc
jne 0xe54e
leaq 0x1f371(%rip), %rdi     # 0x2d36b
callq 0xd0c0
leaq 0x37cda(%rip), %r12     # 0x45ce0
movq (%r12), %r13
testq %r13, %r13
je 0xe0c5
addq $0x8, %r12
leaq 0x1d7f2(%rip), %rbx     # 0x2b810
leaq 0x1f375(%rip), %r14     # 0x2d39a
leaq 0x1d82b(%rip), %rbp     # 0x2b857
leaq 0x1d7ff(%rip), %r15     # 0x2b832
movq (%r13), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x8(%r13), %rsi
testq %rsi, %rsi
je 0xe054
movq %r15, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x10(%r13), %rsi
testq %rsi, %rsi
je 0xe067
movq %rbp, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x28(%r13), %rsi
testq %rsi, %rsi
je 0xe07e
leaq 0x1d7fd(%rip), %rdi     # 0x2b874
xorl %eax, %eax
callq 0xd110
movq 0x20(%r13), %rsi
testq %rsi, %rsi
je 0xe095
leaq 0x1d7fb(%rip), %rdi     # 0x2b889
xorl %eax, %eax
callq 0xd110
movq 0x18(%r13), %rsi
testq %rsi, %rsi
je 0xe0ac
leaq 0x1d811(%rip), %rdi     # 0x2b8b6
xorl %eax, %eax
callq 0xd110
movq %r14, %rdi
callq 0xd0c0
movq (%r12), %r13
addq $0x8, %r12
testq %r13, %r13
jne 0xe033
leaq 0x1f2b6(%rip), %rdi     # 0x2d382
callq 0xd0c0
leaq 0x1f2da(%rip), %rdi     # 0x2d3b2
callq 0xd0c0
leaq 0x3193c(%rip), %rax     # 0x3fa20
movq (%rax), %r14
testq %r14, %r14
je 0xe2c7
leaq 0x87519(%rip), %rbp     # 0x95610
addq $0x70, %rbp
leaq 0x1d7cb(%rip), %rbx     # 0x2b8cd
leaq 0x1f2f0(%rip), %r15     # 0x2d3f9
leaq 0x1dfa1(%rip), %r12     # 0x2c0b1
leaq 0x1df50(%rip), %r13     # 0x2c067
cmpq $0x0, -0x40(%rbp)
jne 0xe2b7
movq -0x70(%rbp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq -0x68(%rbp), %rsi
testq %rsi, %rsi
je 0xe147
leaq 0x1d6f2(%rip), %rdi     # 0x2b832
xorl %eax, %eax
callq 0xd110
movq -0x60(%rbp), %rsi
testq %rsi, %rsi
je 0xe15e
leaq 0x1d791(%rip), %rdi     # 0x2b8e8
xorl %eax, %eax
callq 0xd110
movq -0x58(%rbp), %rsi
testq %rsi, %rsi
je 0xe175
leaq 0x1d6e9(%rip), %rdi     # 0x2b857
xorl %eax, %eax
callq 0xd110
movq -0x50(%rbp), %rsi
testq %rsi, %rsi
je 0xe18c
leaq 0x1d6ef(%rip), %rdi     # 0x2b874
xorl %eax, %eax
callq 0xd110
movq -0x40(%rbp), %rsi
testq %rsi, %rsi
je 0xe1a3
leaq 0x1d781(%rip), %rdi     # 0x2b91d
xorl %eax, %eax
callq 0xd110
movl -0x48(%rbp), %esi
testl %esi, %esi
je 0xe1b8
leaq 0x1d795(%rip), %rdi     # 0x2b946
xorl %eax, %eax
callq 0xd110
movl -0x20(%rbp), %esi
testl %esi, %esi
je 0xe207
movsd -0x18(%rbp), %xmm0
ucomisd 0x1a1cc(%rip), %xmm0    # 0x28398
jne 0xe1d0
jnp 0xe1f9
ucomisd 0x1a1c8(%rip), %xmm0    # 0x283a0
jne 0xe1dc
jnp 0xe1f9
cvtsi2sd %esi, %xmm1
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
leaq 0x1de57(%rip), %rdi     # 0x2c047
xorl %eax, %eax
callq 0xd110
jmp 0xe207
leaq 0x1de28(%rip), %rdi     # 0x2c028
xorl %eax, %eax
callq 0xd110
cmpl $0x0, -0x44(%rbp)
je 0xe219
leaq 0x1f1bd(%rip), %rdi     # 0x2d3d1
callq 0xd0c0
movq -0x28(%rbp), %rsi
testq %rsi, %rsi
je 0xe230
leaq 0x1d68d(%rip), %rdi     # 0x2b8b6
xorl %eax, %eax
callq 0xd110
movl -0x10(%rbp), %eax
testl %eax, %eax
je 0xe25a
cmpl $0x2, %eax
leaq 0x1d25f(%rip), %rsi     # 0x2b4a0
leaq 0x1f11e(%rip), %rax     # 0x2d366
cmoveq %rax, %rsi
leaq 0x1ddb6(%rip), %rdi     # 0x2c009
xorl %eax, %eax
callq 0xd110
movsd -0x18(%rbp), %xmm0
ucomisd 0x1a131(%rip), %xmm0    # 0x28398
jne 0xe26b
jnp 0xe285
ucomisd 0x1a12d(%rip), %xmm0    # 0x283a0
jne 0xe277
jnp 0xe285
leaq 0x1d6df(%rip), %rdi     # 0x2b95d
movb $0x1, %al
callq 0xd110
movsd -0x8(%rbp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xe29a
movq %r13, %rdi
movb $0x1, %al
callq 0xd110
movsd (%rbp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xe2af
movq %r12, %rdi
movb $0x1, %al
callq 0xd110
movq %r15, %rdi
callq 0xd0c0
addq $0x90, %rbp
decq %r14
jne 0xe117
leaq 0x1f0f3(%rip), %rdi     # 0x2d3c1
callq 0xd0c0
leaq 0x1f130(%rip), %rdi     # 0x2d40a
callq 0xd0c0
leaq 0x1d69d(%rip), %rbx     # 0x2b983
leaq 0x2ad61(%rip), %rsi     # 0x3904e
leaq 0x1d6c6(%rip), %rdx     # 0x2b9ba
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1d719(%rip), %rsi     # 0x2ba1e
leaq 0x1d71f(%rip), %rdx     # 0x2ba2b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1d743(%rip), %rsi     # 0x2ba60
leaq 0x1d747(%rip), %rdx     # 0x2ba6b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1d76f(%rip), %rsi     # 0x2baa4
leaq 0x1d770(%rip), %rdx     # 0x2baac
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1d7a4(%rip), %rsi     # 0x2baf1
leaq 0x1d7a8(%rip), %rdx     # 0x2bafc
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1dbb6(%rip), %rsi     # 0x2bf1b
leaq 0x1d7be(%rip), %rdx     # 0x2bb2a
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1d7dc(%rip), %rsi     # 0x2bb59
leaq 0x1d7ea(%rip), %rdx     # 0x2bb6e
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1f08d(%rip), %rdi     # 0x2d422
callq 0xd0c0
leaq 0x1edbc(%rip), %rdi     # 0x2d15d
callq 0xd0c0
movl $0x20, %r12d
leaq 0x84dad(%rip), %r13     # 0x93160
leaq 0x1d37a(%rip), %rbx     # 0x2b734
leaq 0x11bf(%rip), %r14      # 0xf580
leaq 0x1eed8(%rip), %r15     # 0x2d2a0
movb (%r12,%r13), %cl
movq $-0x1, %rdx
shlq %cl, %rdx
notq %rdx
movq -0x20(%r12,%r13), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq %r14, %rdi
callq *-0x10(%r12,%r13)
movq %r15, %rdi
callq 0xd0c0
addq $0x28, %r12
cmpq $0x21b8, %r12           # imm = 0x21B8
jne 0xe3c8
leaq 0x1ed68(%rip), %rdi     # 0x2d174
callq 0xd0c0
leaq 0x1ed74(%rip), %rdi     # 0x2d18c
callq 0xd0c0
movb 0x8717d(%rip), %cl      # 0x955a0
movq $-0x1, %rdx
shlq %cl, %rdx
notq %rdx
movq 0x87149(%rip), %rsi     # 0x95580
leaq 0x1d328(%rip), %rdi     # 0x2b766
xorl %eax, %eax
callq 0xd110
leaq 0x1162(%rip), %rdi      # 0xf5ae
callq *0x8713e(%rip)          # 0x95590
leaq 0x1ee26(%rip), %rdi     # 0x2d27f
callq 0xd0c0
leaq 0x1ed46(%rip), %rdi     # 0x2d1ab
callq 0xd0c0
leaq 0x1ed5a(%rip), %rdi     # 0x2d1cb
callq 0xd0c0
movl $0x20, %r12d
leaq 0x86e7d(%rip), %r13     # 0x95300
leaq 0x1d316(%rip), %rbx     # 0x2b7a0
leaq 0x114e(%rip), %r14      # 0xf5df
leaq 0x1edcb(%rip), %r15     # 0x2d263
movq -0x20(%r12,%r13), %rsi
movq (%r12,%r13), %rdx
decq %rdx
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq %r14, %rdi
callq *-0x10(%r12,%r13)
movq %r15, %rdi
callq 0xd0c0
addq $0x28, %r12
cmpq $0x2a0, %r12            # imm = 0x2A0
jne 0xe498
leaq 0x1ed13(%rip), %rdi     # 0x2d1e5
callq 0xd0c0
leaq 0x1ed22(%rip), %rdi     # 0x2d200
callq 0xd0c0
leaq 0x870c6(%rip), %r12     # 0x955b0
leaq 0x1d2e4(%rip), %rbx     # 0x2b7d5
leaq 0x1115(%rip), %r14      # 0xf60d
leaq 0x1ed42(%rip), %r15     # 0x2d241
xorl %r13d, %r13d
movb 0x20(%r13,%r12), %cl
movq $-0x1, %rdx
shlq %cl, %rdx
notq %rdx
movq (%r13,%r12), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq %r14, %rdi
callq *0x10(%r13,%r12)
movq %r15, %rdi
callq 0xd0c0
addq $0x28, %r13
cmpq $0x28, %r13
je 0xe502
leaq 0x1ecdc(%rip), %rdi     # 0x2d220
callq 0xd0c0
movl 0x10(%rsp), %r14d
leaq 0x1ed64(%rip), %rdi     # 0x2d2b9
callq 0xd0c0
leaq 0xf8(%rsp), %r15
leaq 0x37d97(%rip), %r12     # 0x46300
xorl %edx, %edx
imulq $0x15f8, %rdx, %rsi     # imm = 0x15F8
movl 0x8(%rsi,%r12), %eax
testb %r14b, %r14b
je 0xe583
cmpl $0x40000, %eax          # imm = 0x40000
jl 0xe5ae
movl %eax, %ecx
andl $0xffffff00, %ecx       # imm = 0xFFFFFF00
cmpl $0x40000, %ecx          # imm = 0x40000
sete %cl
andb 0x24(%rsp), %cl
cmpl $0x40100, %eax          # imm = 0x40100
setge %al
andb 0x28(%rsp), %al
orb %cl, %al
cmpb $0x1, %al
jne 0xef28
movq %rdx, 0x30(%rsp)
addq %r12, %rsi
movl $0x15f8, %edx           # imm = 0x15F8
leaq 0xe0(%rsp), %rdi
callq 0xd1e0
movb 0x16b0(%rsp), %bpl
cmpb $0x1, %bpl
jne 0xe5e3
cmpb $0x0, 0x8d11f(%rip)     # 0x9b6fc
jne 0xef23
movl 0xe8(%rsp), %esi
leaq 0x1d7ee(%rip), %rdi     # 0x2bddf
movl %esi, 0x2c(%rsp)
xorl %eax, %eax
callq 0xd110
movq 0x16a8(%rsp), %rdx
movl $0x6, %edi
leaq 0x1d7f2(%rip), %rsi     # 0x2be02
callq 0xf74b
movq 0xe0(%rsp), %rdx
movl $0x6, %edi
leaq 0x1d7dc(%rip), %rsi     # 0x2be05
callq 0xf74b
cmpb $0x0, 0x8d0c7(%rip)     # 0x9b6fc
jne 0xe683
movzbl 0x16ca(%rsp), %esi
testl %esi, %esi
je 0xe651
leaq 0x1d7c7(%rip), %rdi     # 0x2be11
xorl %eax, %eax
callq 0xd110
movq 0x16b8(%rsp), %rdx
movl $0x6, %edi
leaq 0x1d7c9(%rip), %rsi     # 0x2be2e
callq 0xf74b
movq 0x16c0(%rsp), %rdx
movl $0x6, %edi
leaq 0x1d7bc(%rip), %rsi     # 0x2be3a
callq 0xf74b
movl 0xf0(%rsp), %eax
leaq 0x37b4f(%rip), %rcx     # 0x461e0
movq (%rcx,%rax,8), %rdx
movl $0x6, %edi
leaq 0x27e78(%rip), %rsi     # 0x36519
callq 0xf74b
movzwl 0xec(%rsp), %ebx
testw %bx, %bx
leaq 0x1cde8(%rip), %rdx     # 0x2b4a0
leaq 0x1eca7(%rip), %rax     # 0x2d366
cmoveq %rax, %rdx
movl $0x6, %edi
leaq 0x28648(%rip), %rsi     # 0x36d17
callq 0xf74b
testb %bpl, %bpl
je 0xe6f1
movl $0x6, %edi
leaq 0x1d759(%rip), %rsi     # 0x2be3e
leaq 0x1ec7a(%rip), %rdx     # 0x2d366
callq 0xf74b
testw %bx, %bx
je 0xe7dd
leaq 0x1ed51(%rip), %rdi     # 0x2d452
callq 0xd0c0
testb $0x1, %bl
je 0xe723
movl $0x8, %edi
leaq 0x1d730(%rip), %rsi     # 0x2be47
leaq 0x2a930(%rip), %rdx     # 0x3904e
callq 0xf74b
testb $0x2, %bl
je 0xe740
movl $0x8, %edi
leaq 0x1d713(%rip), %rsi     # 0x2be47
leaq 0x1d2e3(%rip), %rdx     # 0x2ba1e
callq 0xf74b
testb $0x4, %bl
je 0xe75d
movl $0x8, %edi
leaq 0x1d6f6(%rip), %rsi     # 0x2be47
leaq 0x1d308(%rip), %rdx     # 0x2ba60
callq 0xf74b
testb $0x8, %bl
je 0xe77a
movl $0x8, %edi
leaq 0x1d6d9(%rip), %rsi     # 0x2be47
leaq 0x1d32f(%rip), %rdx     # 0x2baa4
callq 0xf74b
testb $0x10, %bl
je 0xe797
movl $0x8, %edi
leaq 0x1d6bc(%rip), %rsi     # 0x2be47
leaq 0x1d35f(%rip), %rdx     # 0x2baf1
callq 0xf74b
testb $0x20, %bl
je 0xe7b4
movl $0x8, %edi
leaq 0x1d69f(%rip), %rsi     # 0x2be47
leaq 0x1d76c(%rip), %rdx     # 0x2bf1b
callq 0xf74b
testb $0x40, %bl
je 0xe7d1
movl $0x8, %edi
leaq 0x1d682(%rip), %rsi     # 0x2be47
leaq 0x1d38d(%rip), %rdx     # 0x2bb59
callq 0xf74b
leaq 0x1ec8a(%rip), %rdi     # 0x2d462
callq 0xd0c0
leaq 0xe0(%rsp), %rdi
leaq 0x7(%rsp), %rsi
callq 0xf42d
movl %eax, %ebx
cmpb $0x0, 0x8cf04(%rip)     # 0x9b6fc
leaq 0x2b553(%rip), %rsi     # 0x39d52
jne 0xe830
movl 0x16a0(%rsp), %edx
movl $0x6, %edi
leaq 0x1d644(%rip), %rsi     # 0x2be58
callq 0xf99c
cmpb $0x0, 0x7(%rsp)
leaq 0x2b52d(%rip), %rsi     # 0x39d52
leaq 0x1d637(%rip), %rax     # 0x2be63
cmovneq %rax, %rsi
movl $0x6, %edi
movl %ebx, %edx
callq 0xf99c
movzbl 0x16cb(%rsp), %edx
testl %edx, %edx
je 0xe893
movl $0x6, %edi
leaq 0x1d619(%rip), %rsi     # 0x2be6d
callq 0xf99c
movzbl 0x16cd(%rsp), %edx
movl $0x6, %edi
leaq 0x1d617(%rip), %rsi     # 0x2be84
callq 0xf99c
movzbl 0x16cf(%rsp), %edx
cmpl $0xff, %edx
je 0xe893
movl $0x6, %edi
leaq 0x1d613(%rip), %rsi     # 0x2bea1
callq 0xf99c
movzbl 0x16cc(%rsp), %edx
testl %edx, %edx
je 0xe8ea
movl $0x6, %edi
leaq 0x1d613(%rip), %rsi     # 0x2bebe
callq 0xf99c
movzbl 0x16ce(%rsp), %edx
movl $0x6, %edi
leaq 0x1d611(%rip), %rsi     # 0x2bed5
callq 0xf99c
movzbl 0x16d0(%rsp), %edx
cmpl $0xff, %edx
je 0xe8ea
movl $0x6, %edi
leaq 0x1d60d(%rip), %rsi     # 0x2bef2
callq 0xf99c
cmpb $0x0, 0x8ce0b(%rip)     # 0x9b6fc
jne 0xe937
movzwl 0x16c8(%rsp), %ebx
leal -0x1(%rbx), %eax
cmpw $-0x3, %ax
ja 0xe917
movl $0x6, %edi
leaq 0x1d5ff(%rip), %rsi     # 0x2bf0f
movl %ebx, %edx
callq 0xf99c
cmpl $0xffff, %ebx           # imm = 0xFFFF
jne 0xe937
movl $0x6, %edi
leaq 0x1d5f9(%rip), %rsi     # 0x2bf24
leaq 0x1ea34(%rip), %rdx     # 0x2d366
callq 0xf74b
cmpq $0x0, 0xf8(%rsp)
je 0xef17
leaq 0x1eb26(%rip), %rdi     # 0x2d473
callq 0xd0c0
movb $0x1, %al
movl %eax, 0x14(%rsp)
xorl %r14d, %r14d
xorl %ebx, %ebx
imulq $0xa8, %r14, %rsi
cmpq $0x0, (%r15,%rsi)
je 0xeeff
addq %r15, %rsi
movl $0xa8, %edx
leaq 0x38(%rsp), %rdi
callq 0xd1e0
movq 0xc0(%rsp), %r15
movzbl 0x83(%rsp), %r12d
leaq 0x1d5a1(%rip), %rdi     # 0x2bf3a
movl %r12d, %esi
xorl %eax, %eax
callq 0xd110
movq 0x90(%rsp), %rdx
movl $0xa, %edi
leaq 0x1d44b(%rip), %rsi     # 0x2be02
callq 0xf74b
movq 0x38(%rsp), %rdx
movl $0xa, %edi
leaq 0x2a1ca(%rip), %rsi     # 0x38b97
movq %rdx, 0x18(%rsp)
callq 0xf74b
movq 0x58(%rsp), %rdx
testq %rdx, %rdx
je 0xe9ed
movzbl (%rdx), %eax
testl %eax, %eax
je 0xe9ed
cmpl $0x2c, %eax
jne 0xea3c
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0xea4d
cmpb $0x3d, (%rdi)
jne 0xea4d
incq %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0xd1d0
movq %rax, 0x8cd1e(%rip)     # 0x9b730
leaq 0x1d54e(%rip), %rdi     # 0x2bf67
xorl %eax, %eax
callq 0xd110
leaq 0x1105(%rip), %rdi      # 0xfb2c
callq *0xa8(%rsp)
leaq 0x1ea6c(%rip), %rdi     # 0x2d4a1
callq 0xd0c0
jmp 0xea4d
movl $0xa, %edi
leaq 0x1d3bd(%rip), %rsi     # 0x2be05
callq 0xf74b
movl 0x48(%rsp), %ebp
testq %rbp, %rbp
je 0xea6b
movl $0xa, %edi
leaq 0x1d52c(%rip), %rsi     # 0x2bf8e
movl %ebp, %edx
callq 0xf99c
jmp 0xea90
leaq 0x1ea3e(%rip), %rdi     # 0x2d4b0
callq 0xd0c0
movq 0x40(%rsp), %rdi
leaq 0x199b5(%rip), %rsi     # 0x28438
callq 0xd1a0
testl %eax, %eax
je 0xee2d
testb $0x1, 0x14(%rsp)
je 0xeac0
movl $0xa, %edi
leaq 0x1d4f5(%rip), %rsi     # 0x2bf98
movl %ebx, %edx
callq 0xf99c
movl %ebx, %edx
andl $0x7, %edx
movl $0xa, %edi
leaq 0x1d4e7(%rip), %rsi     # 0x2bfa2
callq 0xf99c
movb 0x80(%rsp), %al
movb %al, 0x6(%rsp)
cmpb $0x1, %al
jne 0xeae7
movl $0xa, %edi
leaq 0x1d4d0(%rip), %rsi     # 0x2bfab
leaq 0x1d4d3(%rip), %rdx     # 0x2bfb5
callq 0xf74b
movq 0x50(%rsp), %r12
testq %r12, %r12
je 0xeb0b
cmpb $0x3d, (%r12)
jne 0xeb0b
leaq 0x1(%r12), %rdx
movl $0xa, %edi
leaq 0x1d4bd(%rip), %rsi     # 0x2bfc6
jmp 0xeb31
cmpb $0x1, 0x8cbea(%rip)     # 0x9b6fc
jne 0xeb22
movl $0xa, %edi
leaq 0x1d4ac(%rip), %rsi     # 0x2bfcc
jmp 0xeb2e
movl $0xa, %edi
leaq 0x1d4a4(%rip), %rsi     # 0x2bfd2
movq %r12, %rdx
callq 0xf74b
cmpb $0x1, 0x8cbbf(%rip)     # 0x9b6fc
jne 0xebb9
testq %r15, %r15
je 0xeb5c
movq %r15, %rax
movq 0x38(%rax), %r13
testq %r13, %r13
jne 0xeb61
movq 0x88(%rax), %rax
testq %rax, %rax
jne 0xeb47
xorl %r13d, %r13d
jmp 0xeba0
movq %r13, %rdi
leaq 0x1d26c(%rip), %rsi     # 0x2bdd7
callq 0xd1a0
testl %eax, %eax
jne 0xeba0
cmpq $0x0, 0x18(%rsp)
je 0xeb99
movq 0x18(%rsp), %rdi
leaq 0x2b0ec(%rip), %rsi     # 0x39c74
callq 0xd330
leaq 0x2b0df(%rip), %r13     # 0x39c73
testq %rax, %rax
jne 0xeba0
leaq 0x2b0b8(%rip), %r13     # 0x39c58
testq %r13, %r13
je 0xebb9
movl $0xa, %edi
leaq 0x27968(%rip), %rsi     # 0x36519
movq %r13, %rdx
callq 0xf74b
movsd 0x68(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
ucomisd 0x197d3(%rip), %xmm0    # 0x283a0
jne 0xebd1
jnp 0xebe5
leaq 0x1d3ff(%rip), %rdi     # 0x2bfd7
movsd 0x8(%rsp), %xmm0
movb $0x1, %al
callq 0xd110
cmpb $0x1, 0x8cb10(%rip)     # 0x9b6fc
jne 0xec1b
cmpb $0x0, 0x81(%rsp)
leaq 0x1c8a3(%rip), %rdx     # 0x2b4a0
leaq 0x1e762(%rip), %rax     # 0x2d366
cmovneq %rax, %rdx
movl $0xa, %edi
leaq 0x1d3ea(%rip), %rsi     # 0x2bffe
callq 0xf74b
jmp 0xec46
movl 0x60(%r15), %eax
testl %eax, %eax
je 0xec46
cmpl $0x2, %eax
leaq 0x1c873(%rip), %rsi     # 0x2b4a0
leaq 0x1e732(%rip), %rax     # 0x2d366
cmoveq %rax, %rsi
leaq 0x1d3c6(%rip), %rdi     # 0x2c005
xorl %eax, %eax
callq 0xd110
movl 0x60(%rsp), %r13d
testl %r13d, %r13d
je 0xeca4
movsd 0x8(%rsp), %xmm0
ucomisd 0x1973a(%rip), %xmm0    # 0x28398
jne 0xec62
jnp 0xec93
ucomisd 0x19736(%rip), %xmm0    # 0x283a0
jne 0xec6e
jnp 0xec93
movapd %xmm0, %xmm1
xorps %xmm0, %xmm0
cvtsi2sd %r13d, %xmm0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
leaq 0x1d3b9(%rip), %rdi     # 0x2c043
xorl %eax, %eax
callq 0xd110
jmp 0xeca4
leaq 0x1d38a(%rip), %rdi     # 0x2c024
movl %r13d, %esi
xorl %eax, %eax
callq 0xd110
movsd 0xd0(%rsp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xee44
leaq 0x1d3a5(%rip), %rdi     # 0x2c063
movb $0x1, %al
callq 0xd110
movsd 0xd8(%rsp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xee7d
cmpl $0x40, %ebp
jne 0xed12
movsd 0x8(%rsp), %xmm1
ucomisd 0x196ad(%rip), %xmm1    # 0x28398
jne 0xed12
jp 0xed12
testl %r13d, %r13d
jne 0xed12
cmpl $0x1, 0x60(%r15)
jne 0xed12
leaq 0x1d387(%rip), %rdi     # 0x2c089
movq $-0x1, %rsi
xorl %eax, %eax
callq 0xd110
jmp 0xed20
leaq 0x1d394(%rip), %rdi     # 0x2c0ad
movb $0x1, %al
callq 0xd110
cmpb $0x0, 0x8c9d5(%rip)     # 0x9b6fc
jne 0xed78
movq %r15, %rcx
testq %rcx, %rcx
je 0xed45
movq %rcx, %rax
movq 0x88(%rcx), %rcx
testq %rcx, %rcx
jne 0xed2c
movq (%rax), %rdx
jmp 0xed47
xorl %edx, %edx
movl $0xa, %edi
leaq 0x1d3b7(%rip), %rsi     # 0x2c10a
callq 0xf74b
movq 0x80(%r15), %rax
testq %rax, %rax
je 0xed78
movq (%rax), %rdx
movl $0xa, %edi
leaq 0x1d3a1(%rip), %rsi     # 0x2c114
callq 0xf74b
cmpq $0x0, 0xa8(%rsp)
je 0xeda5
testq %r12, %r12
je 0xed98
cmpb $0x0, 0x8c96d(%rip)     # 0x9b6fc
je 0xed98
cmpb $0x3d, (%r12)
je 0xeda5
leaq 0x98(%rsp), %rdi
callq 0xf83f
cmpb $0x0, 0x8c950(%rip)     # 0x9b6fc
jne 0xedd0
cmpb $0x1, 0x82(%rsp)
jne 0xedd0
movl $0xa, %edi
leaq 0x1d361(%rip), %rsi     # 0x2c125
leaq 0x1e59b(%rip), %rdx     # 0x2d366
callq 0xf74b
testq %r15, %r15
je 0xedea
testq %rbp, %rbp
je 0xedfb
cmpl $0x0, 0x2c(%r15)
jne 0xedfb
cmpb $0x0, 0x6(%rsp)
je 0xee03
jmp 0xedfb
movb 0x6(%rsp), %cl
xorb $0x1, %cl
testq %rbp, %rbp
setne %al
testb %cl, %al
jne 0xee03
movl $0x0, 0x14(%rsp)
addl %ebx, %ebp
leaq 0x1e6da(%rip), %rdi     # 0x2d4e6
callq 0xd0c0
incq %r14
movl %ebp, %ebx
cmpq $0x21, %r14
leaq 0xf8(%rsp), %r15
jne 0xe95d
jmp 0xeeff
decl %r12d
movl $0xa, %edi
leaq 0x1d143(%rip), %rsi     # 0x2bf7f
movl %r12d, %edx
jmp 0xea64
cmpb $0x0, 0x8c8b1(%rip)     # 0x9b6fc
jne 0xecc5
cmpq $0x0, 0xa8(%rsp)
je 0xecc5
xorpd %xmm0, %xmm0
testq %r12, %r12
je 0xecb7
cmpb $0x3d, (%r12)
jne 0xecb7
jmp 0xecc5
cmpb $0x0, 0x8c878(%rip)     # 0x9b6fc
jne 0xed20
cmpq $0x0, 0xa8(%rsp)
je 0xed20
leaq 0x1d265(%rip), %rax     # 0x2c105
testq %r12, %r12
je 0xeeb3
cmpb $0x3d, (%r12)
movq %r12, %rax
je 0xed20
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
notq %rdx
xorps %xmm0, %xmm0
cvtsi2sd %rdx, %xmm0
movsd %xmm0, 0x8(%rsp)
leaq 0x1d1fc(%rip), %rdi     # 0x2c0d3
movl 0x2c(%rsp), %esi
movq 0x18(%rsp), %rdx
movq %rax, %rcx
movl %ebp, %r8d
movb $0x1, %al
callq 0x254dd
leaq 0x1d1b9(%rip), %rdi     # 0x2c0ad
movsd 0x8(%rsp), %xmm0
jmp 0xed19
leaq 0x1e57c(%rip), %rdi     # 0x2d482
callq 0xd0c0
movl 0x10(%rsp), %r14d
leaq 0x373e9(%rip), %r12     # 0x46300
leaq 0x1e574(%rip), %rdi     # 0x2d492
callq 0xd0c0
movq 0x30(%rsp), %rdx
incq %rdx
cmpq $0x38, %rdx
jne 0xe56b
leaq 0x1e386(%rip), %rdi     # 0x2d2c2
addq $0x16d8, %rsp           # imm = 0x16D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd0c0