// File: /workspace/github_c_makefile_star2_O3/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 0x16922(%rip), %rdi     # 0x247f1
callq 0xd0c0
cmpb $0x1, 0x80821(%rip)     # 0x8e6fc
jne 0xdee9
leaq 0x16934(%rip), %rdi     # 0x24818
callq 0xd0c0
leaq 0x169dc(%rip), %rdi     # 0x248cc
callq 0xd0c0
movb 0x80801(%rip), %al      # 0x8e6fc
testb %al, %al
jne 0xdf11
leaq 0x16c8b(%rip), %rdi     # 0x24b91
callq 0xd0c0
movb 0x807eb(%rip), %al      # 0x8e6fc
leaq 0x16d4a(%rip), %rcx     # 0x24c62
leaq 0x16ca8(%rip), %rdi     # 0x24bc7
testb $0x1, %al
cmovneq %rcx, %rdi
callq 0xd0c0
leaq 0x16e08(%rip), %rax     # 0x24d39
leaq 0x16dac(%rip), %rdi     # 0x24ce4
cmpb $0x0, 0x807bd(%rip)     # 0x8e6fc
cmovneq %rax, %rdi
callq 0xd0c0
leaq 0x16eb6(%rip), %rdi     # 0x24e05
callq 0xd0c0
cmpb $0x0, 0x807a1(%rip)     # 0x8e6fc
jne 0xdf69
leaq 0x16f23(%rip), %rdi     # 0x24e87
callq 0xd0c0
testb %r14b, %r14b
movl %r14d, 0x10(%rsp)
je 0xe4ea
cmpb $0x0, 0x8077e(%rip)     # 0x8e6fc
jne 0xe4ea
leaq 0x173e0(%rip), %rdi     # 0x2536b
callq 0xd0c0
leaq 0x2ad49(%rip), %r12     # 0x38ce0
movq (%r12), %r13
testq %r13, %r13
je 0xe056
addq $0x8, %r12
leaq 0x15861(%rip), %rbx     # 0x23810
leaq 0x173e4(%rip), %r14     # 0x2539a
leaq 0x1589a(%rip), %rbp     # 0x23857
leaq 0x1586e(%rip), %r15     # 0x23832
movq (%r13), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x8(%r13), %rsi
testq %rsi, %rsi
je 0xdfe5
movq %r15, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x10(%r13), %rsi
testq %rsi, %rsi
je 0xdff8
movq %rbp, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x28(%r13), %rsi
testq %rsi, %rsi
je 0xe00f
leaq 0x1586c(%rip), %rdi     # 0x23874
xorl %eax, %eax
callq 0xd110
movq 0x20(%r13), %rsi
testq %rsi, %rsi
je 0xe026
leaq 0x1586a(%rip), %rdi     # 0x23889
xorl %eax, %eax
callq 0xd110
movq 0x18(%r13), %rsi
testq %rsi, %rsi
je 0xe03d
leaq 0x15880(%rip), %rdi     # 0x238b6
xorl %eax, %eax
callq 0xd110
movq %r14, %rdi
callq 0xd0c0
movq (%r12), %r13
addq $0x8, %r12
testq %r13, %r13
jne 0xdfc4
leaq 0x17325(%rip), %rdi     # 0x25382
callq 0xd0c0
leaq 0x17349(%rip), %rdi     # 0x253b2
callq 0xd0c0
leaq 0x2475b(%rip), %rax     # 0x327d0
movq (%rax), %r14
testq %r14, %r14
je 0xe258
leaq 0x7a588(%rip), %rbp     # 0x88610
addq $0x70, %rbp
leaq 0x1583a(%rip), %rbx     # 0x238cd
leaq 0x1735f(%rip), %r15     # 0x253f9
leaq 0x16010(%rip), %r12     # 0x240b1
leaq 0x15fbf(%rip), %r13     # 0x24067
cmpq $0x0, -0x40(%rbp)
jne 0xe248
movq -0x70(%rbp), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq -0x68(%rbp), %rsi
testq %rsi, %rsi
je 0xe0d8
leaq 0x15761(%rip), %rdi     # 0x23832
xorl %eax, %eax
callq 0xd110
movq -0x60(%rbp), %rsi
testq %rsi, %rsi
je 0xe0ef
leaq 0x15800(%rip), %rdi     # 0x238e8
xorl %eax, %eax
callq 0xd110
movq -0x58(%rbp), %rsi
testq %rsi, %rsi
je 0xe106
leaq 0x15758(%rip), %rdi     # 0x23857
xorl %eax, %eax
callq 0xd110
movq -0x50(%rbp), %rsi
testq %rsi, %rsi
je 0xe11d
leaq 0x1575e(%rip), %rdi     # 0x23874
xorl %eax, %eax
callq 0xd110
movq -0x40(%rbp), %rsi
testq %rsi, %rsi
je 0xe134
leaq 0x157f0(%rip), %rdi     # 0x2391d
xorl %eax, %eax
callq 0xd110
movl -0x48(%rbp), %esi
testl %esi, %esi
je 0xe149
leaq 0x15804(%rip), %rdi     # 0x23946
xorl %eax, %eax
callq 0xd110
movl -0x20(%rbp), %esi
testl %esi, %esi
je 0xe198
movsd -0x18(%rbp), %xmm0
ucomisd 0x1223b(%rip), %xmm0    # 0x20398
jne 0xe161
jnp 0xe18a
ucomisd 0x12237(%rip), %xmm0    # 0x203a0
jne 0xe16d
jnp 0xe18a
cvtsi2sd %esi, %xmm1
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
leaq 0x15ec6(%rip), %rdi     # 0x24047
xorl %eax, %eax
callq 0xd110
jmp 0xe198
leaq 0x15e97(%rip), %rdi     # 0x24028
xorl %eax, %eax
callq 0xd110
cmpl $0x0, -0x44(%rbp)
je 0xe1aa
leaq 0x1722c(%rip), %rdi     # 0x253d1
callq 0xd0c0
movq -0x28(%rbp), %rsi
testq %rsi, %rsi
je 0xe1c1
leaq 0x156fc(%rip), %rdi     # 0x238b6
xorl %eax, %eax
callq 0xd110
movl -0x10(%rbp), %eax
testl %eax, %eax
je 0xe1eb
cmpl $0x2, %eax
leaq 0x152ce(%rip), %rsi     # 0x234a0
leaq 0x1718d(%rip), %rax     # 0x25366
cmoveq %rax, %rsi
leaq 0x15e25(%rip), %rdi     # 0x24009
xorl %eax, %eax
callq 0xd110
movsd -0x18(%rbp), %xmm0
ucomisd 0x121a0(%rip), %xmm0    # 0x20398
jne 0xe1fc
jnp 0xe216
ucomisd 0x1219c(%rip), %xmm0    # 0x203a0
jne 0xe208
jnp 0xe216
leaq 0x1574e(%rip), %rdi     # 0x2395d
movb $0x1, %al
callq 0xd110
movsd -0x8(%rbp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xe22b
movq %r13, %rdi
movb $0x1, %al
callq 0xd110
movsd (%rbp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xe240
movq %r12, %rdi
movb $0x1, %al
callq 0xd110
movq %r15, %rdi
callq 0xd0c0
addq $0x90, %rbp
decq %r14
jne 0xe0a8
leaq 0x17162(%rip), %rdi     # 0x253c1
callq 0xd0c0
leaq 0x1719f(%rip), %rdi     # 0x2540a
callq 0xd0c0
leaq 0x1570c(%rip), %rbx     # 0x23983
leaq 0x1db44(%rip), %rsi     # 0x2bdc2
leaq 0x15735(%rip), %rdx     # 0x239ba
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x15788(%rip), %rsi     # 0x23a1e
leaq 0x1578e(%rip), %rdx     # 0x23a2b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x157b2(%rip), %rsi     # 0x23a60
leaq 0x157b6(%rip), %rdx     # 0x23a6b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x157de(%rip), %rsi     # 0x23aa4
leaq 0x157df(%rip), %rdx     # 0x23aac
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x15813(%rip), %rsi     # 0x23af1
leaq 0x15817(%rip), %rdx     # 0x23afc
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x15c25(%rip), %rsi     # 0x23f1b
leaq 0x1582d(%rip), %rdx     # 0x23b2a
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1584b(%rip), %rsi     # 0x23b59
leaq 0x15859(%rip), %rdx     # 0x23b6e
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x170fc(%rip), %rdi     # 0x25422
callq 0xd0c0
leaq 0x16e2b(%rip), %rdi     # 0x2515d
callq 0xd0c0
movl $0x20, %r12d
leaq 0x77e1c(%rip), %r13     # 0x86160
leaq 0x153e9(%rip), %rbx     # 0x23734
leaq 0x11db(%rip), %r14      # 0xf52d
leaq 0x16f47(%rip), %r15     # 0x252a0
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 0xe359
leaq 0x16dd7(%rip), %rdi     # 0x25174
callq 0xd0c0
leaq 0x16de3(%rip), %rdi     # 0x2518c
callq 0xd0c0
movb 0x7a1ec(%rip), %cl      # 0x885a0
movq $-0x1, %rdx
shlq %cl, %rdx
notq %rdx
movq 0x7a1b8(%rip), %rsi     # 0x88580
leaq 0x15397(%rip), %rdi     # 0x23766
xorl %eax, %eax
callq 0xd110
leaq 0x117e(%rip), %rdi      # 0xf55b
callq *0x7a1ad(%rip)          # 0x88590
leaq 0x16e95(%rip), %rdi     # 0x2527f
callq 0xd0c0
leaq 0x16db5(%rip), %rdi     # 0x251ab
callq 0xd0c0
leaq 0x16dc9(%rip), %rdi     # 0x251cb
callq 0xd0c0
movl $0x20, %r12d
leaq 0x79eec(%rip), %r13     # 0x88300
leaq 0x15385(%rip), %rbx     # 0x237a0
leaq 0x116a(%rip), %r14      # 0xf58c
leaq 0x16e3a(%rip), %r15     # 0x25263
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 0xe429
leaq 0x16d82(%rip), %rdi     # 0x251e5
callq 0xd0c0
leaq 0x16d91(%rip), %rdi     # 0x25200
callq 0xd0c0
movb $0x1, %bpl
xorl %eax, %eax
leaq 0x7a130(%rip), %r12     # 0x885b0
leaq 0x1534e(%rip), %rbx     # 0x237d5
leaq 0x112c(%rip), %r14      # 0xf5ba
leaq 0x16dac(%rip), %r15     # 0x25241
leaq (%rax,%rax,4), %r13
movb 0x20(%r12,%r13,8), %cl
movq $-0x1, %rdx
shlq %cl, %rdx
notq %rdx
movq (%r12,%r13,8), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq %r14, %rdi
callq *0x10(%r12,%r13,8)
movq %r15, %rdi
callq 0xd0c0
movl $0x1, %eax
testb $0x1, %bpl
movl $0x0, %ebp
jne 0xe495
leaq 0x16d40(%rip), %rdi     # 0x25220
callq 0xd0c0
movl 0x10(%rsp), %r14d
leaq 0x16dc8(%rip), %rdi     # 0x252b9
callq 0xd0c0
leaq 0xf8(%rsp), %r15
leaq 0x2adfb(%rip), %r12     # 0x39300
xorl %edx, %edx
imulq $0x15f8, %rdx, %rsi     # imm = 0x15F8
movl 0x8(%rsi,%r12), %eax
testb %r14b, %r14b
je 0xe51f
cmpl $0x40000, %eax          # imm = 0x40000
jl 0xe54a
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 0xeec8
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 0xe57f
cmpb $0x0, 0x80183(%rip)     # 0x8e6fc
jne 0xeec3
movl 0xe8(%rsp), %esi
leaq 0x15852(%rip), %rdi     # 0x23ddf
movl %esi, 0x2c(%rsp)
xorl %eax, %eax
callq 0xd110
movq 0x16a8(%rsp), %rdx
movl $0x6, %edi
leaq 0x15856(%rip), %rsi     # 0x23e02
callq 0xf6f8
movq 0xe0(%rsp), %rdx
movl $0x6, %edi
leaq 0x15840(%rip), %rsi     # 0x23e05
callq 0xf6f8
cmpb $0x0, 0x8012b(%rip)     # 0x8e6fc
jne 0xe61f
movzbl 0x16ca(%rsp), %esi
testl %esi, %esi
je 0xe5ed
leaq 0x1582b(%rip), %rdi     # 0x23e11
xorl %eax, %eax
callq 0xd110
movq 0x16b8(%rsp), %rdx
movl $0x6, %edi
leaq 0x1582d(%rip), %rsi     # 0x23e2e
callq 0xf6f8
movq 0x16c0(%rsp), %rdx
movl $0x6, %edi
leaq 0x15820(%rip), %rsi     # 0x23e3a
callq 0xf6f8
movl 0xf0(%rsp), %eax
leaq 0x2abb3(%rip), %rcx     # 0x391e0
movq (%rcx,%rax,8), %rdx
movl $0x6, %edi
leaq 0x1ac50(%rip), %rsi     # 0x2928d
callq 0xf6f8
movzwl 0xec(%rsp), %ebx
testw %bx, %bx
leaq 0x14e4c(%rip), %rdx     # 0x234a0
leaq 0x16d0b(%rip), %rax     # 0x25366
cmoveq %rax, %rdx
movl $0x6, %edi
leaq 0x1b420(%rip), %rsi     # 0x29a8b
callq 0xf6f8
testb %bpl, %bpl
je 0xe68d
movl $0x6, %edi
leaq 0x157bd(%rip), %rsi     # 0x23e3e
leaq 0x16cde(%rip), %rdx     # 0x25366
callq 0xf6f8
testw %bx, %bx
je 0xe779
leaq 0x16db5(%rip), %rdi     # 0x25452
callq 0xd0c0
testb $0x1, %bl
je 0xe6bf
movl $0x8, %edi
leaq 0x15794(%rip), %rsi     # 0x23e47
leaq 0x1d708(%rip), %rdx     # 0x2bdc2
callq 0xf6f8
testb $0x2, %bl
je 0xe6dc
movl $0x8, %edi
leaq 0x15777(%rip), %rsi     # 0x23e47
leaq 0x15347(%rip), %rdx     # 0x23a1e
callq 0xf6f8
testb $0x4, %bl
je 0xe6f9
movl $0x8, %edi
leaq 0x1575a(%rip), %rsi     # 0x23e47
leaq 0x1536c(%rip), %rdx     # 0x23a60
callq 0xf6f8
testb $0x8, %bl
je 0xe716
movl $0x8, %edi
leaq 0x1573d(%rip), %rsi     # 0x23e47
leaq 0x15393(%rip), %rdx     # 0x23aa4
callq 0xf6f8
testb $0x10, %bl
je 0xe733
movl $0x8, %edi
leaq 0x15720(%rip), %rsi     # 0x23e47
leaq 0x153c3(%rip), %rdx     # 0x23af1
callq 0xf6f8
testb $0x20, %bl
je 0xe750
movl $0x8, %edi
leaq 0x15703(%rip), %rsi     # 0x23e47
leaq 0x157d0(%rip), %rdx     # 0x23f1b
callq 0xf6f8
testb $0x40, %bl
je 0xe76d
movl $0x8, %edi
leaq 0x156e6(%rip), %rsi     # 0x23e47
leaq 0x153f1(%rip), %rdx     # 0x23b59
callq 0xf6f8
leaq 0x16cee(%rip), %rdi     # 0x25462
callq 0xd0c0
leaq 0xe0(%rsp), %rdi
leaq 0x7(%rsp), %rsi
callq 0xf3cf
movl %eax, %ebx
cmpb $0x0, 0x7ff68(%rip)     # 0x8e6fc
leaq 0x1e32b(%rip), %rsi     # 0x2cac6
jne 0xe7cc
movl 0x16a0(%rsp), %edx
movl $0x6, %edi
leaq 0x156a8(%rip), %rsi     # 0x23e58
callq 0xf949
cmpb $0x0, 0x7(%rsp)
leaq 0x1e305(%rip), %rsi     # 0x2cac6
leaq 0x1569b(%rip), %rax     # 0x23e63
cmovneq %rax, %rsi
movl $0x6, %edi
movl %ebx, %edx
callq 0xf949
movzbl 0x16cb(%rsp), %edx
testl %edx, %edx
je 0xe82f
movl $0x6, %edi
leaq 0x1567d(%rip), %rsi     # 0x23e6d
callq 0xf949
movzbl 0x16cd(%rsp), %edx
movl $0x6, %edi
leaq 0x1567b(%rip), %rsi     # 0x23e84
callq 0xf949
movzbl 0x16cf(%rsp), %edx
cmpl $0xff, %edx
je 0xe82f
movl $0x6, %edi
leaq 0x15677(%rip), %rsi     # 0x23ea1
callq 0xf949
movzbl 0x16cc(%rsp), %edx
testl %edx, %edx
je 0xe886
movl $0x6, %edi
leaq 0x15677(%rip), %rsi     # 0x23ebe
callq 0xf949
movzbl 0x16ce(%rsp), %edx
movl $0x6, %edi
leaq 0x15675(%rip), %rsi     # 0x23ed5
callq 0xf949
movzbl 0x16d0(%rsp), %edx
cmpl $0xff, %edx
je 0xe886
movl $0x6, %edi
leaq 0x15671(%rip), %rsi     # 0x23ef2
callq 0xf949
cmpb $0x0, 0x7fe6f(%rip)     # 0x8e6fc
jne 0xe8d3
movzwl 0x16c8(%rsp), %edx
leal -0x1(%rdx), %eax
cmpw $-0x3, %ax
ja 0xe8b3
movl $0x6, %edi
leaq 0x15663(%rip), %rsi     # 0x23f0f
callq 0xf949
jmp 0xe8d3
cmpl $0xffff, %edx           # imm = 0xFFFF
jne 0xe8d3
movl $0x6, %edi
leaq 0x1565d(%rip), %rsi     # 0x23f24
leaq 0x16a98(%rip), %rdx     # 0x25366
callq 0xf6f8
cmpq $0x0, 0xf8(%rsp)
je 0xeeb7
leaq 0x16b8a(%rip), %rdi     # 0x25473
callq 0xd0c0
movb $0x1, %al
movl %eax, 0x14(%rsp)
xorl %r14d, %r14d
xorl %ebx, %ebx
imulq $0xa8, %r14, %rsi
cmpq $0x0, (%r15,%rsi)
je 0xee9f
addq %r15, %rsi
movl $0xa8, %edx
leaq 0x38(%rsp), %rdi
callq 0xd1e0
movq 0xc0(%rsp), %r15
movzbl 0x83(%rsp), %r12d
leaq 0x15605(%rip), %rdi     # 0x23f3a
movl %r12d, %esi
xorl %eax, %eax
callq 0xd110
movq 0x90(%rsp), %rdx
movl $0xa, %edi
leaq 0x154af(%rip), %rsi     # 0x23e02
callq 0xf6f8
movq 0x38(%rsp), %rdx
movl $0xa, %edi
leaq 0x1cfa2(%rip), %rsi     # 0x2b90b
movq %rdx, 0x18(%rsp)
callq 0xf6f8
movq 0x58(%rsp), %rdx
testq %rdx, %rdx
je 0xe989
movzbl (%rdx), %eax
testl %eax, %eax
je 0xe989
cmpl $0x2c, %eax
jne 0xe9d8
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0xe9e9
cmpb $0x3d, (%rdi)
jne 0xe9e9
incq %rdi
xorl %esi, %esi
movl $0xa, %edx
callq 0xd1d0
movq %rax, 0x7fd82(%rip)     # 0x8e730
leaq 0x155b2(%rip), %rdi     # 0x23f67
xorl %eax, %eax
callq 0xd110
leaq 0x1116(%rip), %rdi      # 0xfad9
callq *0xa8(%rsp)
leaq 0x16ad0(%rip), %rdi     # 0x254a1
callq 0xd0c0
jmp 0xe9e9
movl $0xa, %edi
leaq 0x15421(%rip), %rsi     # 0x23e05
callq 0xf6f8
movl 0x48(%rsp), %ebp
testq %rbp, %rbp
je 0xea07
movl $0xa, %edi
leaq 0x15590(%rip), %rsi     # 0x23f8e
movl %ebp, %edx
callq 0xf949
jmp 0xea2c
leaq 0x16aa2(%rip), %rdi     # 0x254b0
callq 0xd0c0
movq 0x40(%rsp), %rdi
leaq 0x11a19(%rip), %rsi     # 0x20438
callq 0xd1a0
testl %eax, %eax
je 0xedcd
testb $0x1, 0x14(%rsp)
je 0xea5c
movl $0xa, %edi
leaq 0x15559(%rip), %rsi     # 0x23f98
movl %ebx, %edx
callq 0xf949
movl %ebx, %edx
andl $0x7, %edx
movl $0xa, %edi
leaq 0x1554b(%rip), %rsi     # 0x23fa2
callq 0xf949
movb 0x80(%rsp), %al
movb %al, 0x6(%rsp)
cmpb $0x1, %al
jne 0xea83
movl $0xa, %edi
leaq 0x15534(%rip), %rsi     # 0x23fab
leaq 0x15537(%rip), %rdx     # 0x23fb5
callq 0xf6f8
movq 0x50(%rsp), %r12
testq %r12, %r12
je 0xeaa7
cmpb $0x3d, (%r12)
jne 0xeaa7
leaq 0x1(%r12), %rdx
movl $0xa, %edi
leaq 0x15521(%rip), %rsi     # 0x23fc6
jmp 0xeacd
cmpb $0x1, 0x7fc4e(%rip)     # 0x8e6fc
jne 0xeabe
movl $0xa, %edi
leaq 0x15510(%rip), %rsi     # 0x23fcc
jmp 0xeaca
movl $0xa, %edi
leaq 0x15508(%rip), %rsi     # 0x23fd2
movq %r12, %rdx
callq 0xf6f8
testq %r15, %r15
setne %al
andb 0x7fc1e(%rip), %al      # 0x8e6fc
cmpb $0x1, %al
jne 0xeb4f
movq %r15, %rax
movq 0x38(%rax), %r13
testq %r13, %r13
jne 0xeafc
movq 0x88(%rax), %rax
testq %rax, %rax
jne 0xeae5
jmp 0xeb4f
movq %r13, %rdi
leaq 0x152d1(%rip), %rsi     # 0x23dd7
callq 0xd1a0
testl %eax, %eax
jne 0xeb3b
cmpq $0x0, 0x18(%rsp)
je 0xeb34
movq 0x18(%rsp), %rdi
leaq 0x1dec5(%rip), %rsi     # 0x2c9e8
callq 0xd330
leaq 0x1deb8(%rip), %r13     # 0x2c9e7
testq %rax, %rax
jne 0xeb3b
leaq 0x1de91(%rip), %r13     # 0x2c9cc
movl $0xa, %edi
leaq 0x1a746(%rip), %rsi     # 0x2928d
movq %r13, %rdx
callq 0xf6f8
movsd 0x68(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
ucomisd 0x1183d(%rip), %xmm0    # 0x203a0
jne 0xeb67
jnp 0xeb7b
leaq 0x15469(%rip), %rdi     # 0x23fd7
movsd 0x8(%rsp), %xmm0
movb $0x1, %al
callq 0xd110
cmpb $0x1, 0x7fb7a(%rip)     # 0x8e6fc
jne 0xebb1
cmpb $0x0, 0x81(%rsp)
leaq 0x1490d(%rip), %rdx     # 0x234a0
leaq 0x167cc(%rip), %rax     # 0x25366
cmovneq %rax, %rdx
movl $0xa, %edi
leaq 0x15454(%rip), %rsi     # 0x23ffe
callq 0xf6f8
jmp 0xebdc
movl 0x60(%r15), %eax
testl %eax, %eax
je 0xebdc
cmpl $0x2, %eax
leaq 0x148dd(%rip), %rsi     # 0x234a0
leaq 0x1679c(%rip), %rax     # 0x25366
cmoveq %rax, %rsi
leaq 0x15430(%rip), %rdi     # 0x24005
xorl %eax, %eax
callq 0xd110
movl 0x60(%rsp), %r13d
testl %r13d, %r13d
je 0xec3a
movsd 0x8(%rsp), %xmm0
ucomisd 0x117a4(%rip), %xmm0    # 0x20398
jne 0xebf8
jnp 0xec29
ucomisd 0x117a0(%rip), %xmm0    # 0x203a0
jne 0xec04
jnp 0xec29
movapd %xmm0, %xmm1
xorps %xmm0, %xmm0
cvtsi2sd %r13d, %xmm0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
leaq 0x15423(%rip), %rdi     # 0x24043
xorl %eax, %eax
callq 0xd110
jmp 0xec3a
leaq 0x153f4(%rip), %rdi     # 0x24024
movl %r13d, %esi
xorl %eax, %eax
callq 0xd110
movsd 0xd0(%rsp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xede4
leaq 0x1540f(%rip), %rdi     # 0x24063
movb $0x1, %al
callq 0xd110
movsd 0xd8(%rsp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xee1d
cmpl $0x40, %ebp
jne 0xeca8
movsd 0x8(%rsp), %xmm1
ucomisd 0x11717(%rip), %xmm1    # 0x20398
jne 0xeca8
jp 0xeca8
testl %r13d, %r13d
jne 0xeca8
cmpl $0x1, 0x60(%r15)
jne 0xeca8
leaq 0x153f1(%rip), %rdi     # 0x24089
movq $-0x1, %rsi
xorl %eax, %eax
callq 0xd110
jmp 0xecb6
leaq 0x153fe(%rip), %rdi     # 0x240ad
movb $0x1, %al
callq 0xd110
cmpb $0x0, 0x7fa3f(%rip)     # 0x8e6fc
jne 0xed0e
movq %r15, %rcx
testq %rcx, %rcx
je 0xecdb
movq %rcx, %rax
movq 0x88(%rcx), %rcx
testq %rcx, %rcx
jne 0xecc2
movq (%rax), %rdx
jmp 0xecdd
xorl %edx, %edx
movl $0xa, %edi
leaq 0x15421(%rip), %rsi     # 0x2410a
callq 0xf6f8
movq 0x80(%r15), %rax
testq %rax, %rax
je 0xed0e
movq (%rax), %rdx
movl $0xa, %edi
leaq 0x1540b(%rip), %rsi     # 0x24114
callq 0xf6f8
cmpq $0x0, 0xa8(%rsp)
movb 0x7f9df(%rip), %al      # 0x8e6fc
je 0xed4a
movl %eax, %ecx
notb %cl
testq %r12, %r12
sete %dl
orb %cl, %dl
testb $0x1, %dl
jne 0xed37
cmpb $0x3d, (%r12)
je 0xed4a
leaq 0x98(%rsp), %rdi
callq 0xf7ec
movb 0x7f9b2(%rip), %al      # 0x8e6fc
testb $0x1, %al
jne 0xed70
cmpb $0x1, 0x82(%rsp)
jne 0xed70
movl $0xa, %edi
leaq 0x153c1(%rip), %rsi     # 0x24125
leaq 0x165fb(%rip), %rdx     # 0x25366
callq 0xf6f8
testq %r15, %r15
je 0xed8a
testq %rbp, %rbp
je 0xed9b
cmpl $0x0, 0x2c(%r15)
jne 0xed9b
cmpb $0x0, 0x6(%rsp)
je 0xeda3
jmp 0xed9b
movb 0x6(%rsp), %cl
xorb $0x1, %cl
testq %rbp, %rbp
setne %al
testb %cl, %al
jne 0xeda3
movl $0x0, 0x14(%rsp)
addl %ebx, %ebp
leaq 0x1673a(%rip), %rdi     # 0x254e6
callq 0xd0c0
incq %r14
movl %ebp, %ebx
cmpq $0x21, %r14
leaq 0xf8(%rsp), %r15
jne 0xe8f9
jmp 0xee9f
decl %r12d
movl $0xa, %edi
leaq 0x151a3(%rip), %rsi     # 0x23f7f
movl %r12d, %edx
jmp 0xea00
cmpb $0x0, 0x7f911(%rip)     # 0x8e6fc
jne 0xec5b
cmpq $0x0, 0xa8(%rsp)
je 0xec5b
xorpd %xmm0, %xmm0
testq %r12, %r12
je 0xec4d
cmpb $0x3d, (%r12)
jne 0xec4d
jmp 0xec5b
cmpb $0x0, 0x7f8d8(%rip)     # 0x8e6fc
jne 0xecb6
cmpq $0x0, 0xa8(%rsp)
je 0xecb6
leaq 0x152c5(%rip), %rax     # 0x24105
testq %r12, %r12
je 0xee53
cmpb $0x3d, (%r12)
movq %r12, %rax
je 0xecb6
movq $-0x1, %rdx
movl %ebp, %ecx
shlq %cl, %rdx
notq %rdx
xorps %xmm0, %xmm0
cvtsi2sd %rdx, %xmm0
movsd %xmm0, 0x8(%rsp)
leaq 0x1525c(%rip), %rdi     # 0x240d3
movl 0x2c(%rsp), %esi
movq 0x18(%rsp), %rdx
movq %rax, %rcx
movl %ebp, %r8d
movb $0x1, %al
callq 0x1cd55
leaq 0x15219(%rip), %rdi     # 0x240ad
movsd 0x8(%rsp), %xmm0
jmp 0xecaf
leaq 0x165dc(%rip), %rdi     # 0x25482
callq 0xd0c0
movl 0x10(%rsp), %r14d
leaq 0x2a449(%rip), %r12     # 0x39300
leaq 0x165d4(%rip), %rdi     # 0x25492
callq 0xd0c0
movq 0x30(%rsp), %rdx
incq %rdx
cmpq $0x38, %rdx
jne 0xe507
leaq 0x163e6(%rip), %rdi     # 0x252c2
addq $0x16d8, %rsp           # imm = 0x16D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd0c0