// File: /workspace/github_c_makefile_star2_O2/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, 0x1c(%rsp)
movl %esi, 0x18(%rsp)
movl %edi, %r14d
leaq 0x15985(%rip), %rdi     # 0x237f1
callq 0xd0c0
cmpb $0x1, 0x81884(%rip)     # 0x8f6fc
jne 0xde86
leaq 0x15997(%rip), %rdi     # 0x23818
callq 0xd0c0
leaq 0x15a3f(%rip), %rdi     # 0x238cc
callq 0xd0c0
movb 0x81864(%rip), %al      # 0x8f6fc
testb %al, %al
jne 0xdeae
leaq 0x15cee(%rip), %rdi     # 0x23b91
callq 0xd0c0
movb 0x8184e(%rip), %al      # 0x8f6fc
leaq 0x15dad(%rip), %rcx     # 0x23c62
leaq 0x15d0b(%rip), %rdi     # 0x23bc7
testb $0x1, %al
cmovneq %rcx, %rdi
callq 0xd0c0
leaq 0x15e6b(%rip), %rax     # 0x23d39
leaq 0x15e0f(%rip), %rdi     # 0x23ce4
cmpb $0x0, 0x81820(%rip)     # 0x8f6fc
cmovneq %rax, %rdi
callq 0xd0c0
leaq 0x15f19(%rip), %rdi     # 0x23e05
callq 0xd0c0
cmpb $0x0, 0x81804(%rip)     # 0x8f6fc
jne 0xdf06
leaq 0x15f86(%rip), %rdi     # 0x23e87
callq 0xd0c0
testb %r14b, %r14b
movl %r14d, 0x10(%rsp)
je 0xe46a
cmpb $0x0, 0x817e1(%rip)     # 0x8f6fc
jne 0xe46a
leaq 0x16443(%rip), %rdi     # 0x2436b
callq 0xd0c0
leaq 0x2bdac(%rip), %r12     # 0x39ce0
leaq 0x148d5(%rip), %rbx     # 0x22810
leaq 0x16458(%rip), %r14     # 0x2439a
leaq 0x1490e(%rip), %rbp     # 0x22857
leaq 0x148e2(%rip), %r15     # 0x22832
movq (%r12), %r13
testq %r13, %r13
je 0xdfe7
movq (%r13), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x8(%r13), %rsi
testq %rsi, %rsi
je 0xdf7e
movq %r15, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x10(%r13), %rsi
testq %rsi, %rsi
je 0xdf91
movq %rbp, %rdi
xorl %eax, %eax
callq 0xd110
movq 0x28(%r13), %rsi
testq %rsi, %rsi
je 0xdfa8
leaq 0x148d3(%rip), %rdi     # 0x22874
xorl %eax, %eax
callq 0xd110
movq 0x20(%r13), %rsi
testq %rsi, %rsi
je 0xdfbf
leaq 0x148d1(%rip), %rdi     # 0x22889
xorl %eax, %eax
callq 0xd110
movq 0x18(%r13), %rsi
testq %rsi, %rsi
je 0xdfd6
leaq 0x148e7(%rip), %rdi     # 0x228b6
xorl %eax, %eax
callq 0xd110
movq %r14, %rdi
callq 0xd0c0
addq $0x8, %r12
jmp 0xdf50
leaq 0x16394(%rip), %rdi     # 0x24382
callq 0xd0c0
leaq 0x163b8(%rip), %rdi     # 0x243b2
callq 0xd0c0
leaq 0x7b60a(%rip), %r14     # 0x89610
addq $0x70, %r14
leaq 0x237bf(%rip), %rax     # 0x317d0
movq (%rax), %rbp
leaq 0x148b2(%rip), %rbx     # 0x228cd
leaq 0x163d7(%rip), %r15     # 0x243f9
leaq 0x15088(%rip), %r12     # 0x230b1
leaq 0x15037(%rip), %r13     # 0x23067
subq $0x1, %rbp
jb 0xe1ed
cmpq $0x0, -0x40(%r14)
jne 0xe1e1
movq -0x70(%r14), %rsi
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
movq -0x68(%r14), %rsi
testq %rsi, %rsi
je 0xe06a
leaq 0x147cf(%rip), %rdi     # 0x22832
xorl %eax, %eax
callq 0xd110
movq -0x60(%r14), %rsi
testq %rsi, %rsi
je 0xe081
leaq 0x1486e(%rip), %rdi     # 0x228e8
xorl %eax, %eax
callq 0xd110
movq -0x58(%r14), %rsi
testq %rsi, %rsi
je 0xe098
leaq 0x147c6(%rip), %rdi     # 0x22857
xorl %eax, %eax
callq 0xd110
movq -0x50(%r14), %rsi
testq %rsi, %rsi
je 0xe0af
leaq 0x147cc(%rip), %rdi     # 0x22874
xorl %eax, %eax
callq 0xd110
movq -0x40(%r14), %rsi
testq %rsi, %rsi
je 0xe0c6
leaq 0x1485e(%rip), %rdi     # 0x2291d
xorl %eax, %eax
callq 0xd110
movl -0x48(%r14), %esi
testl %esi, %esi
je 0xe0dc
leaq 0x14871(%rip), %rdi     # 0x22946
xorl %eax, %eax
callq 0xd110
movl -0x20(%r14), %esi
testl %esi, %esi
je 0xe12d
movsd -0x18(%r14), %xmm0
ucomisd 0x112a6(%rip), %xmm0    # 0x1f398
jne 0xe0f6
jnp 0xe11f
ucomisd 0x112a2(%rip), %xmm0    # 0x1f3a0
jne 0xe102
jnp 0xe11f
cvtsi2sd %esi, %xmm1
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
leaq 0x14f31(%rip), %rdi     # 0x23047
xorl %eax, %eax
callq 0xd110
jmp 0xe12d
leaq 0x14f02(%rip), %rdi     # 0x23028
xorl %eax, %eax
callq 0xd110
cmpl $0x0, -0x44(%r14)
je 0xe140
leaq 0x16296(%rip), %rdi     # 0x243d1
callq 0xd0c0
movq -0x28(%r14), %rsi
testq %rsi, %rsi
je 0xe157
leaq 0x14766(%rip), %rdi     # 0x228b6
xorl %eax, %eax
callq 0xd110
movl -0x10(%r14), %eax
testl %eax, %eax
je 0xe182
cmpl $0x2, %eax
leaq 0x14337(%rip), %rsi     # 0x224a0
leaq 0x161f6(%rip), %rax     # 0x24366
cmoveq %rax, %rsi
leaq 0x14e8e(%rip), %rdi     # 0x23009
xorl %eax, %eax
callq 0xd110
movsd -0x18(%r14), %xmm0
ucomisd 0x11208(%rip), %xmm0    # 0x1f398
jne 0xe194
jnp 0xe1ae
ucomisd 0x11204(%rip), %xmm0    # 0x1f3a0
jne 0xe1a0
jnp 0xe1ae
leaq 0x147b6(%rip), %rdi     # 0x2295d
movb $0x1, %al
callq 0xd110
movsd -0x8(%r14), %xmm0
ucomisd %xmm0, %xmm0
jp 0xe1c4
movq %r13, %rdi
movb $0x1, %al
callq 0xd110
movsd (%r14), %xmm0
ucomisd %xmm0, %xmm0
jp 0xe1d9
movq %r12, %rdi
movb $0x1, %al
callq 0xd110
movq %r15, %rdi
callq 0xd0c0
addq $0x90, %r14
jmp 0xe030
leaq 0x161cd(%rip), %rdi     # 0x243c1
callq 0xd0c0
leaq 0x1620a(%rip), %rdi     # 0x2440a
callq 0xd0c0
leaq 0x14777(%rip), %rbx     # 0x22983
leaq 0x1cbaf(%rip), %rsi     # 0x2adc2
leaq 0x147a0(%rip), %rdx     # 0x229ba
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x147f3(%rip), %rsi     # 0x22a1e
leaq 0x147f9(%rip), %rdx     # 0x22a2b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1481d(%rip), %rsi     # 0x22a60
leaq 0x14821(%rip), %rdx     # 0x22a6b
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x14849(%rip), %rsi     # 0x22aa4
leaq 0x1484a(%rip), %rdx     # 0x22aac
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x1487e(%rip), %rsi     # 0x22af1
leaq 0x14882(%rip), %rdx     # 0x22afc
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x14c90(%rip), %rsi     # 0x22f1b
leaq 0x14898(%rip), %rdx     # 0x22b2a
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x148b6(%rip), %rsi     # 0x22b59
leaq 0x148c4(%rip), %rdx     # 0x22b6e
movq %rbx, %rdi
xorl %eax, %eax
callq 0xd110
leaq 0x16167(%rip), %rdi     # 0x24422
callq 0xd0c0
leaq 0x15e96(%rip), %rdi     # 0x2415d
callq 0xd0c0
pushq $0x20
popq %r12
leaq 0x78e89(%rip), %r13     # 0x87160
leaq 0x14456(%rip), %rbx     # 0x22734
leaq 0x10fa(%rip), %r14      # 0xf3df
leaq 0x15fb4(%rip), %r15     # 0x242a0
cmpq $0x21b8, %r12           # imm = 0x21B8
je 0xe327
movb (%r12,%r13), %cl
pushq $-0x1
popq %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
jmp 0xe2ec
leaq 0x15e46(%rip), %rdi     # 0x24174
callq 0xd0c0
leaq 0x15e52(%rip), %rdi     # 0x2418c
callq 0xd0c0
movb 0x7b25b(%rip), %cl      # 0x895a0
pushq $-0x1
popq %rdx
shlq %cl, %rdx
notq %rdx
movq 0x7b22b(%rip), %rsi     # 0x89580
leaq 0x1440a(%rip), %rdi     # 0x22766
xorl %eax, %eax
callq 0xd110
leaq 0x10a3(%rip), %rdi      # 0xf40d
callq *0x7b220(%rip)          # 0x89590
leaq 0x15f08(%rip), %rdi     # 0x2427f
callq 0xd0c0
leaq 0x15e28(%rip), %rdi     # 0x241ab
callq 0xd0c0
leaq 0x15e3c(%rip), %rdi     # 0x241cb
callq 0xd0c0
pushq $0x20
popq %r12
leaq 0x7af61(%rip), %r13     # 0x89300
leaq 0x143fa(%rip), %rbx     # 0x227a0
leaq 0x1091(%rip), %r14      # 0xf43e
leaq 0x15eaf(%rip), %r15     # 0x24263
cmpq $0x2a0, %r12            # imm = 0x2A0
je 0xe3e9
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
jmp 0xe3b4
leaq 0x15df5(%rip), %rdi     # 0x241e5
callq 0xd0c0
leaq 0x15e04(%rip), %rdi     # 0x24200
callq 0xd0c0
pushq $0x20
popq %r12
leaq 0x7b1a4(%rip), %r13     # 0x895b0
leaq 0x143c2(%rip), %rbx     # 0x227d5
leaq 0x1052(%rip), %r14      # 0xf46c
leaq 0x15e20(%rip), %r15     # 0x24241
cmpq $0x70, %r12
je 0xe459
movb (%r12,%r13), %cl
pushq $-0x1
popq %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
jmp 0xe421
leaq 0x15dc0(%rip), %rdi     # 0x24220
callq 0xd0c0
movl 0x10(%rsp), %r14d
leaq 0x15e48(%rip), %rdi     # 0x242b9
callq 0xd0c0
leaq 0x2be83(%rip), %rdx     # 0x3a300
pushq $0xa
popq %r12
xorl %edi, %edi
cmpq $0x38, %rdi
je 0xeda5
imulq $0x15f8, %rdi, %rsi     # imm = 0x15F8
movl 0x8(%rsi,%rdx), %eax
testb %r14b, %r14b
je 0xe4a4
cmpl $0x40000, %eax          # imm = 0x40000
jl 0xe4cf
movl %eax, %ecx
andl $0xffffff00, %ecx       # imm = 0xFFFFFF00
cmpl $0x40000, %ecx          # imm = 0x40000
sete %cl
andb 0x18(%rsp), %cl
cmpl $0x40100, %eax          # imm = 0x40100
setge %al
andb 0x1c(%rsp), %al
orb %cl, %al
cmpb $0x1, %al
jne 0xed9d
movq %rdi, 0x30(%rsp)
addq %rdx, %rsi
movl $0x15f8, %edx           # imm = 0x15F8
leaq 0xe0(%rsp), %rdi
callq 0xd1e0
movb 0x16b0(%rsp), %bpl
cmpb $0x1, %bpl
jne 0xe504
cmpb $0x0, 0x811fe(%rip)     # 0x8f6fc
jne 0xed91
movl 0xe8(%rsp), %esi
leaq 0x148cd(%rip), %rdi     # 0x22ddf
movl %esi, 0x20(%rsp)
xorl %eax, %eax
callq 0xd110
movq 0x16a8(%rsp), %rdx
pushq $0x6
popq %r15
movl %r15d, %edi
leaq 0x148cf(%rip), %rsi     # 0x22e02
callq 0xf59e
movq 0xe0(%rsp), %rdx
movl %r15d, %edi
leaq 0x148bb(%rip), %rsi     # 0x22e05
callq 0xf59e
cmpb $0x0, 0x811a6(%rip)     # 0x8f6fc
jne 0xe5a4
movzbl 0x16ca(%rsp), %esi
testl %esi, %esi
je 0xe572
leaq 0x148a6(%rip), %rdi     # 0x22e11
xorl %eax, %eax
callq 0xd110
movq 0x16b8(%rsp), %rdx
pushq $0x6
popq %r15
movl %r15d, %edi
leaq 0x148a6(%rip), %rsi     # 0x22e2e
callq 0xf59e
movq 0x16c0(%rsp), %rdx
movl %r15d, %edi
leaq 0x1489b(%rip), %rsi     # 0x22e3a
callq 0xf59e
movl 0xf0(%rsp), %eax
leaq 0x2bc2e(%rip), %rcx     # 0x3a1e0
movq (%rcx,%rax,8), %rdx
movl %r15d, %edi
leaq 0x19ccd(%rip), %rsi     # 0x2828d
callq 0xf59e
movzwl 0xec(%rsp), %ebx
testw %bx, %bx
leaq 0x13ec9(%rip), %rdx     # 0x224a0
leaq 0x15d88(%rip), %rax     # 0x24366
cmoveq %rax, %rdx
movl %r15d, %edi
leaq 0x1a49f(%rip), %rsi     # 0x28a8b
callq 0xf59e
testb %bpl, %bpl
je 0xe60c
pushq $0x6
popq %rdi
leaq 0x1483e(%rip), %rsi     # 0x22e3e
leaq 0x15d5f(%rip), %rdx     # 0x24366
callq 0xf59e
testw %bx, %bx
je 0xe6ea
leaq 0x15e36(%rip), %rdi     # 0x24452
callq 0xd0c0
testb $0x1, %bl
je 0xe63c
pushq $0x8
popq %rdi
leaq 0x14817(%rip), %rsi     # 0x22e47
leaq 0x1c78b(%rip), %rdx     # 0x2adc2
callq 0xf59e
testb $0x2, %bl
je 0xe657
pushq $0x8
popq %rdi
leaq 0x147fc(%rip), %rsi     # 0x22e47
leaq 0x143cc(%rip), %rdx     # 0x22a1e
callq 0xf59e
testb $0x4, %bl
je 0xe672
pushq $0x8
popq %rdi
leaq 0x147e1(%rip), %rsi     # 0x22e47
leaq 0x143f3(%rip), %rdx     # 0x22a60
callq 0xf59e
testb $0x8, %bl
je 0xe68d
pushq $0x8
popq %rdi
leaq 0x147c6(%rip), %rsi     # 0x22e47
leaq 0x1441c(%rip), %rdx     # 0x22aa4
callq 0xf59e
testb $0x10, %bl
je 0xe6a8
pushq $0x8
popq %rdi
leaq 0x147ab(%rip), %rsi     # 0x22e47
leaq 0x1444e(%rip), %rdx     # 0x22af1
callq 0xf59e
testb $0x20, %bl
je 0xe6c3
pushq $0x8
popq %rdi
leaq 0x14790(%rip), %rsi     # 0x22e47
leaq 0x1485d(%rip), %rdx     # 0x22f1b
callq 0xf59e
testb $0x40, %bl
je 0xe6de
pushq $0x8
popq %rdi
leaq 0x14775(%rip), %rsi     # 0x22e47
leaq 0x14480(%rip), %rdx     # 0x22b59
callq 0xf59e
leaq 0x15d7d(%rip), %rdi     # 0x24462
callq 0xd0c0
leaq 0xe0(%rsp), %rdi
leaq 0x7(%rsp), %rsi
callq 0xf289
movl %eax, %ebx
cmpb $0x0, 0x80ff7(%rip)     # 0x8f6fc
leaq 0x1d3ba(%rip), %rsi     # 0x2bac6
jne 0xe73b
movl 0x16a0(%rsp), %edx
pushq $0x6
popq %rdi
leaq 0x14739(%rip), %rsi     # 0x22e58
callq 0xf81a
cmpb $0x0, 0x7(%rsp)
leaq 0x1d396(%rip), %rsi     # 0x2bac6
leaq 0x1472c(%rip), %rax     # 0x22e63
cmovneq %rax, %rsi
pushq $0x6
popq %rbp
movl %ebp, %edi
movl %ebx, %edx
callq 0xf81a
movzbl 0x16cb(%rsp), %edx
testl %edx, %edx
je 0xe795
movl %ebp, %edi
leaq 0x14711(%rip), %rsi     # 0x22e6d
callq 0xf81a
movzbl 0x16cd(%rsp), %edx
movl %ebp, %edi
leaq 0x14712(%rip), %rsi     # 0x22e84
callq 0xf81a
movzbl 0x16cf(%rsp), %edx
cmpl $0xff, %edx
je 0xe795
movl %ebp, %edi
leaq 0x14711(%rip), %rsi     # 0x22ea1
callq 0xf81a
movzbl 0x16cc(%rsp), %edx
testl %edx, %edx
je 0xe7e7
pushq $0x6
popq %rbx
movl %ebx, %edi
leaq 0x14711(%rip), %rsi     # 0x22ebe
callq 0xf81a
movzbl 0x16ce(%rsp), %edx
movl %ebx, %edi
leaq 0x14712(%rip), %rsi     # 0x22ed5
callq 0xf81a
movzbl 0x16d0(%rsp), %edx
cmpl $0xff, %edx
je 0xe7e7
pushq $0x6
popq %rdi
leaq 0x14710(%rip), %rsi     # 0x22ef2
callq 0xf81a
cmpb $0x0, 0x80f0e(%rip)     # 0x8f6fc
jne 0xe830
movzwl 0x16c8(%rsp), %edx
leal -0x1(%rdx), %eax
cmpw $-0x3, %ax
ja 0xe812
pushq $0x6
popq %rdi
leaq 0x14704(%rip), %rsi     # 0x22f0f
callq 0xf81a
jmp 0xe830
cmpl $0xffff, %edx           # imm = 0xFFFF
jne 0xe830
pushq $0x6
popq %rdi
leaq 0x14700(%rip), %rsi     # 0x22f24
leaq 0x15b3b(%rip), %rdx     # 0x24366
callq 0xf59e
cmpq $0x0, 0xf8(%rsp)
je 0xed85
leaq 0x15c2d(%rip), %rdi     # 0x24473
callq 0xd0c0
xorl %ebp, %ebp
movb $0x1, %al
movl %eax, 0x14(%rsp)
pushq $0x18
popq %r14
cmpq $0x15c0, %r14           # imm = 0x15C0
je 0xed74
cmpq $0x0, 0xe0(%rsp,%r14)
je 0xed74
leaq (%rsp,%r14), %rsi
addq $0xe0, %rsi
movl $0xa8, %edx
leaq 0x38(%rsp), %rdi
callq 0xd1e0
movq 0xc0(%rsp), %r15
movzbl 0x83(%rsp), %r13d
leaq 0x14695(%rip), %rdi     # 0x22f3a
movl %r13d, %esi
xorl %eax, %eax
callq 0xd110
movq 0x90(%rsp), %rdx
movl %r12d, %edi
leaq 0x14541(%rip), %rsi     # 0x22e02
callq 0xf59e
movq 0x38(%rsp), %rdx
movl %r12d, %edi
leaq 0x1c036(%rip), %rsi     # 0x2a90b
movq %rdx, 0x28(%rsp)
callq 0xf59e
movq 0x58(%rsp), %rdx
testq %rdx, %rdx
je 0xe8f5
movzbl (%rdx), %eax
testl %eax, %eax
je 0xe8f5
cmpl $0x2c, %eax
jne 0xe942
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0xe951
cmpb $0x3d, (%rdi)
jne 0xe951
incq %rdi
xorl %esi, %esi
movl %r12d, %edx
callq 0xd1d0
movq %rax, 0x80e18(%rip)     # 0x8f730
leaq 0x14648(%rip), %rdi     # 0x22f67
xorl %eax, %eax
callq 0xd110
leaq 0x10bf(%rip), %rdi      # 0xf9ec
callq *0xa8(%rsp)
leaq 0x15b66(%rip), %rdi     # 0x244a1
callq 0xd0c0
jmp 0xe951
movl %r12d, %edi
leaq 0x144b9(%rip), %rsi     # 0x22e05
callq 0xf59e
movl 0x48(%rsp), %ebx
testq %rbx, %rbx
je 0xe96d
movl %r12d, %edi
leaq 0x1462a(%rip), %rsi     # 0x22f8e
movl %ebx, %edx
callq 0xf81a
jmp 0xe992
leaq 0x15b3c(%rip), %rdi     # 0x244b0
callq 0xd0c0
movq 0x40(%rsp), %rdi
leaq 0x10ab3(%rip), %rsi     # 0x1f438
callq 0xd1a0
testl %eax, %eax
je 0xecab
testb $0x1, 0x14(%rsp)
je 0xe9be
movl %r12d, %edi
leaq 0x145f5(%rip), %rsi     # 0x22f98
movl %ebp, %edx
callq 0xf81a
movl %ebp, %edx
andl $0x7, %edx
movl %r12d, %edi
leaq 0x145e9(%rip), %rsi     # 0x22fa2
callq 0xf81a
movl %ebp, 0x24(%rsp)
movb 0x80(%rsp), %bpl
cmpb $0x1, %bpl
jne 0xe9e6
movl %r12d, %edi
leaq 0x145d1(%rip), %rsi     # 0x22fab
leaq 0x145d4(%rip), %rdx     # 0x22fb5
callq 0xf59e
movq 0x50(%rsp), %r13
testq %r13, %r13
je 0xea07
cmpb $0x3d, (%r13)
jne 0xea07
leaq 0x1(%r13), %rdx
movl %r12d, %edi
leaq 0x145c1(%rip), %rsi     # 0x22fc6
jmp 0xea29
cmpb $0x1, 0x80cee(%rip)     # 0x8f6fc
jne 0xea1c
movl %r12d, %edi
leaq 0x145b2(%rip), %rsi     # 0x22fcc
jmp 0xea26
movl %r12d, %edi
leaq 0x145ac(%rip), %rsi     # 0x22fd2
movq %r13, %rdx
callq 0xf59e
cmpb $0x1, 0x80cc7(%rip)     # 0x8f6fc
jne 0xea5b
movq %r15, %rdi
movq 0x28(%rsp), %rsi
callq 0xf982
testq %rax, %rax
je 0xea5b
movl %r12d, %edi
leaq 0x1983a(%rip), %rsi     # 0x2828d
movq %rax, %rdx
callq 0xf59e
movsd 0x68(%rsp), %xmm0
movsd %xmm0, 0x8(%rsp)
ucomisd 0x10931(%rip), %xmm0    # 0x1f3a0
jne 0xea73
jnp 0xea87
leaq 0x1455d(%rip), %rdi     # 0x22fd7
movsd 0x8(%rsp), %xmm0
movb $0x1, %al
callq 0xd110
cmpb $0x1, 0x80c6e(%rip)     # 0x8f6fc
jne 0xeabb
cmpb $0x0, 0x81(%rsp)
leaq 0x13a01(%rip), %rdx     # 0x224a0
leaq 0x158c0(%rip), %rax     # 0x24366
cmovneq %rax, %rdx
movl %r12d, %edi
leaq 0x1454a(%rip), %rsi     # 0x22ffe
callq 0xf59e
jmp 0xeae6
movl 0x60(%r15), %eax
testl %eax, %eax
je 0xeae6
cmpl $0x2, %eax
leaq 0x139d3(%rip), %rsi     # 0x224a0
leaq 0x15892(%rip), %rax     # 0x24366
cmoveq %rax, %rsi
leaq 0x14526(%rip), %rdi     # 0x23005
xorl %eax, %eax
callq 0xd110
movl 0x60(%rsp), %r12d
testl %r12d, %r12d
je 0xeb41
movsd 0x8(%rsp), %xmm0
ucomisd 0x1089a(%rip), %xmm0    # 0x1f398
jne 0xeb02
jnp 0xeb30
ucomisd 0x10896(%rip), %xmm0    # 0x1f3a0
jne 0xeb0e
jnp 0xeb30
movapd %xmm0, %xmm1
cvtsi2sd %r12d, %xmm0
mulsd %xmm1, %xmm0
cvttsd2si %xmm0, %rsi
leaq 0x1451c(%rip), %rdi     # 0x23043
xorl %eax, %eax
callq 0xd110
jmp 0xeb41
leaq 0x144ed(%rip), %rdi     # 0x23024
movl %r12d, %esi
xorl %eax, %eax
callq 0xd110
movsd 0xd0(%rsp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xecc0
leaq 0x14508(%rip), %rdi     # 0x23063
movb $0x1, %al
callq 0xd110
movsd 0xd8(%rsp), %xmm0
ucomisd %xmm0, %xmm0
jp 0xecf9
cmpl $0x40, %ebx
jne 0xebab
movsd 0x8(%rsp), %xmm1
ucomisd 0x10810(%rip), %xmm1    # 0x1f398
jne 0xebab
jp 0xebab
testl %r12d, %r12d
jne 0xebab
cmpl $0x1, 0x60(%r15)
jne 0xebab
leaq 0x144ea(%rip), %rdi     # 0x23089
pushq $-0x1
popq %rsi
xorl %eax, %eax
callq 0xd110
jmp 0xebb9
leaq 0x144fb(%rip), %rdi     # 0x230ad
movb $0x1, %al
callq 0xd110
cmpb $0x0, 0x80b3c(%rip)     # 0x8f6fc
pushq $0xa
popq %r12
jne 0xebfe
movq %r15, %rdi
callq 0xf692
movl %r12d, %edi
leaq 0x14532(%rip), %rsi     # 0x2310a
movq %rax, %rdx
callq 0xf59e
movq 0x80(%r15), %rax
testq %rax, %rax
je 0xebfe
movq (%rax), %rdx
movl %r12d, %edi
leaq 0x1451b(%rip), %rsi     # 0x23114
callq 0xf59e
cmpq $0x0, 0xa8(%rsp)
movb 0x80aef(%rip), %al      # 0x8f6fc
je 0xec3a
movl %eax, %ecx
notb %cl
testq %r13, %r13
sete %dl
orb %cl, %dl
testb $0x1, %dl
jne 0xec27
cmpb $0x3d, (%r13)
je 0xec3a
leaq 0x98(%rsp), %rdi
callq 0xf6ac
movb 0x80ac2(%rip), %al      # 0x8f6fc
testb $0x1, %al
jne 0xec5e
cmpb $0x1, 0x82(%rsp)
jne 0xec5e
movl %r12d, %edi
leaq 0x144d3(%rip), %rsi     # 0x23125
leaq 0x1570d(%rip), %rdx     # 0x24366
callq 0xf59e
testq %r15, %r15
je 0xec76
testq %rbx, %rbx
je 0xec85
cmpl $0x0, 0x2c(%r15)
jne 0xec85
testb %bpl, %bpl
je 0xec8d
jmp 0xec85
xorb $0x1, %bpl
testq %rbx, %rbx
setne %al
testb %bpl, %al
jne 0xec8d
movl $0x0, 0x14(%rsp)
addl 0x24(%rsp), %ebx
leaq 0x1584e(%rip), %rdi     # 0x244e6
callq 0xd0c0
addq $0xa8, %r14
movl %ebx, %ebp
jmp 0xe857
decl %r13d
movl %r12d, %edi
leaq 0x142c7(%rip), %rsi     # 0x22f7f
movl %r13d, %edx
jmp 0xe966
cmpb $0x0, 0x80a35(%rip)     # 0x8f6fc
jne 0xeb62
cmpq $0x0, 0xa8(%rsp)
je 0xeb62
xorpd %xmm0, %xmm0
testq %r13, %r13
je 0xeb54
cmpb $0x3d, (%r13)
jne 0xeb54
jmp 0xeb62
cmpb $0x0, 0x809fc(%rip)     # 0x8f6fc
jne 0xebb9
cmpq $0x0, 0xa8(%rsp)
je 0xebb9
leaq 0x143e9(%rip), %rax     # 0x23105
testq %r13, %r13
je 0xed2f
cmpb $0x3d, (%r13)
movq %r13, %rax
je 0xebb9
pushq $-0x1
popq %rdx
movl %ebx, %ecx
shlq %cl, %rdx
notq %rdx
cvtsi2sd %rdx, %xmm0
movsd %xmm0, 0x8(%rsp)
leaq 0x14387(%rip), %rdi     # 0x230d3
movl 0x20(%rsp), %esi
movq 0x28(%rsp), %rdx
movq %rax, %rcx
movl %ebx, %r8d
movb $0x1, %al
callq 0x1bd48
leaq 0x14344(%rip), %rdi     # 0x230ad
movsd 0x8(%rsp), %xmm0
jmp 0xebb2
leaq 0x15707(%rip), %rdi     # 0x24482
callq 0xd0c0
movl 0x10(%rsp), %r14d
leaq 0x15706(%rip), %rdi     # 0x24492
callq 0xd0c0
leaq 0x2b568(%rip), %rdx     # 0x3a300
movq 0x30(%rsp), %rdi
incq %rdi
jmp 0xe483
leaq 0x15516(%rip), %rdi     # 0x242c2
addq $0x16d8, %rsp           # imm = 0x16D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0xd0c0