// File: /workspace/github_c_makefile_star2_O0/deplinenoise[P]tundra/src/InspectMain.cpp
// Function: DumpDag(t2::DagData const*)
static void DumpDag(const DagData* data)
{
  int node_count = data->m_NodeCount;
  printf("magic number: 0x%08x\n", data->m_MagicNumber);
  printf("node count: %d\n", node_count);
  for (int i = 0; i < node_count; ++i)
  {
    printf("node %d:\n", i);
    char digest_str[kDigestStringSize];
    DigestToString(digest_str, data->m_NodeGuids[i]);

    const NodeData& node = data->m_NodeData[i];

    printf("  guid: %s\n", digest_str);
    printf("  flags:");
    if (node.m_Flags & NodeData::kFlagPreciousOutputs) printf(" precious");
    if (node.m_Flags & NodeData::kFlagOverwriteOutputs) printf(" overwrite");
    if (node.m_Flags & NodeData::kFlagExpensive) printf(" expensive");
    printf("\n  action: %s\n", node.m_Action.Get());
    printf("  preaction: %s\n", node.m_PreAction.Get() ? node.m_PreAction.Get() : "(null)");
    printf("  annotation: %s\n", node.m_Annotation.Get());
    printf("  pass index: %d\n", node.m_PassIndex);

    printf("  dependencies:");
    for (int32_t dep : node.m_Dependencies)
      printf(" %d", dep);
    printf("\n");

    printf("  backlinks:");
    for (int32_t link : node.m_BackLinks)
      printf(" %d", link);
    printf("\n");

    printf("  inputs:\n");
    for (const FrozenFileAndHash& f : node.m_InputFiles)
      printf("    %s (0x%08x)\n", f.m_Filename.Get(), f.m_FilenameHash);

    printf("  outputs:\n");
    for (const FrozenFileAndHash& f : node.m_OutputFiles)
      printf("    %s (0x%08x)\n", f.m_Filename.Get(), f.m_FilenameHash);

    printf("  aux_outputs:\n");
    for (const FrozenFileAndHash& f : node.m_AuxOutputFiles)
      printf("    %s (0x%08x)\n", f.m_Filename.Get(), f.m_FilenameHash);

    printf("  environment:\n");
    for (const EnvVarData& env : node.m_EnvVars)
    {
      printf("    %s = %s\n", env.m_Name.Get(), env.m_Value.Get());
    }

    if (const ScannerData* s = node.m_Scanner)
    {
      printf("  scanner:\n");
      switch (s->m_ScannerType)
      {
        case ScannerType::kCpp:
          printf("    type: cpp\n");
          break;
        case ScannerType::kGeneric:
          printf("    type: generic\n");
          break;
        default:
          printf("    type: garbage!\n");
          break;
      }

      printf("    include paths:\n");
      for (const char* path : s->m_IncludePaths)
      {
        printf("      %s\n", path);
      }
      DigestToString(digest_str, s->m_ScannerGuid);
      printf("    scanner guid: %s\n", digest_str);


      if (ScannerType::kGeneric == s->m_ScannerType)
      {
        const GenericScannerData* gs = static_cast<const GenericScannerData*>(s);
        printf("    flags:");
        if (GenericScannerData::kFlagRequireWhitespace & gs->m_Flags)
          printf(" RequireWhitespace");
        if (GenericScannerData::kFlagUseSeparators & gs->m_Flags)
          printf(" UseSeparators");
        if (GenericScannerData::kFlagBareMeansSystem & gs->m_Flags)
          printf(" BareMeansSystem");
        printf("\n");

        printf("    keywords:\n");
        for (const KeywordData& kw : gs->m_Keywords)
        {
          printf("      \"%s\" (%d bytes) follow: %s\n",
              kw.m_String.Get(), kw.m_StringLength, kw.m_ShouldFollow ? "yes" : "no");
        }
      }
    }

    printf("\n");
  }

  printf("\npass count: %u\n", data->m_Passes.GetCount());
  for (const PassData& pass : data->m_Passes)
  {
    printf("  pass: %s\n", pass.m_PassName.Get());
  }

  printf("\nconfig count: %d\n", data->m_ConfigCount);
  for (int i = 0; i < data->m_ConfigCount; ++i)
  {
    printf("  %d: name=\"%s\" hash=0x%08x\n", i, data->m_ConfigNames[i].Get(), data->m_ConfigNameHashes[i]);
  }

  printf("\nvariant count: %d\n", data->m_VariantCount);
  for (int i = 0; i < data->m_VariantCount; ++i)
  {
    printf("  %d: name=\"%s\" hash=0x%08x\n", i, data->m_VariantNames[i].Get(), data->m_VariantNameHashes[i]);
  }

  printf("\nsubvariant count: %d\n", data->m_SubVariantCount);
  for (int i = 0; i < data->m_SubVariantCount; ++i)
  {
    printf("  %d: name=\"%s\" hash=0x%08x\n", i, data->m_SubVariantNames[i].Get(), data->m_SubVariantNameHashes[i]);
  }

  printf("\ndefault config index: %d\n", data->m_DefaultConfigIndex);
  printf("default variant index: %d\n", data->m_DefaultVariantIndex);
  printf("default subvariant index: %d\n", data->m_DefaultSubVariantIndex);

  printf("\nbuild tuples:\n");
  for (const BuildTupleData& tuple : data->m_BuildTuples)
  {
    printf("config index    : %d\n", tuple.m_ConfigIndex);
    printf("variant index   : %d\n", tuple.m_VariantIndex);
    printf("subvariant index: %d\n", tuple.m_SubVariantIndex);
    printf("always nodes    :");
    for (int node : tuple.m_AlwaysNodes)
      printf(" %d", node);
    printf("\n");
    printf("default nodes   :");
    for (int node : tuple.m_DefaultNodes)
      printf(" %d", node);
    printf("\n");
    printf("named nodes:\n");
    for (const NamedNodeData& nn : tuple.m_NamedNodes)
      printf("  %s - node %d\n", nn.m_Name.Get(), nn.m_NodeIndex);
    printf("\n");
  }

  printf("\nfile signatures:\n");
  for (const DagFileSignature& sig : data->m_FileSignatures)
  {
    printf("file            : %s\n", sig.m_Path.Get());
    printf("timestamp       : %u\n", (unsigned int) sig.m_Timestamp);
  }
  printf("\nglob signatures:\n");
  for (const DagGlobSignature& sig : data->m_GlobSignatures)
  {
    char digest_str[kDigestStringSize];
    DigestToString(digest_str, sig.m_Digest);
    printf("path            : %s\n", sig.m_Path.Get());
    printf("digest          : %s\n", digest_str);
  }

  printf("\nSHA-1 signatures enabled for extension hashes:\n");
  for (const uint32_t ext : data->m_ShaExtensionHashes)
  {
    printf("hash            : 0x%08x\n", ext);
  }

  printf("\nMax expensive jobs: %d\n", data->m_MaxExpensiveCount);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x2e0, %rsp            # imm = 0x2E0
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
movl (%rax), %esi
leaq 0x206a0(%rip), %rdi     # 0x23056
movb $0x0, %al
callq 0x2060
movl -0xc(%rbp), %esi
leaq 0x206a5(%rip), %rdi     # 0x2306c
movb $0x0, %al
callq 0x2060
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x3179
movl -0x10(%rbp), %esi
leaq 0x20691(%rip), %rdi     # 0x2307c
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rdi
addq $0x8, %rdi
callq 0x3e10
movq %rax, %rsi
movslq -0x10(%rbp), %rax
shlq $0x4, %rax
addq %rax, %rsi
leaq -0x40(%rbp), %rdi
callq 0x4e40
movq -0x8(%rbp), %rdi
addq $0xc, %rdi
callq 0x3e30
movslq -0x10(%rbp), %rcx
imulq $0x48, %rcx, %rcx
addq %rcx, %rax
movq %rax, -0x48(%rbp)
leaq -0x40(%rbp), %rsi
leaq 0x20649(%rip), %rdi     # 0x23086
movb $0x0, %al
callq 0x2060
leaq 0x2079c(%rip), %rdi     # 0x231e7
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
movl 0x44(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x2a6f
leaq 0x2062a(%rip), %rdi     # 0x23092
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
movl 0x44(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x2a8c
leaq 0x20617(%rip), %rdi     # 0x2309c
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
movl 0x44(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x2aa9
leaq 0x20605(%rip), %rdi     # 0x230a7
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
leaq 0x205f6(%rip), %rdi     # 0x230b2
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rdi
addq $0x4, %rdi
callq 0x3e50
cmpq $0x0, %rax
je 0x2aec
movq -0x48(%rbp), %rdi
addq $0x4, %rdi
callq 0x3e50
movq %rax, -0x298(%rbp)
jmp 0x2afc
leaq 0x205df(%rip), %rax     # 0x230d2
movq %rax, -0x298(%rbp)
jmp 0x2afc
movq -0x298(%rbp), %rsi
leaq 0x205b7(%rip), %rdi     # 0x230c1
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rdi
addq $0x8, %rdi
callq 0x3e50
movq %rax, %rsi
leaq 0x205b1(%rip), %rdi     # 0x230d9
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
movl 0xc(%rax), %esi
leaq 0x205ae(%rip), %rdi     # 0x230eb
movb $0x0, %al
callq 0x2060
leaq 0x205b2(%rip), %rdi     # 0x230fd
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
callq 0x3e90
movq %rax, -0x58(%rbp)
movq -0x50(%rbp), %rdi
callq 0x3eb0
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rax
cmpq -0x60(%rbp), %rax
je 0x2baa
movq -0x58(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x64(%rbp)
movl -0x64(%rbp), %esi
leaq 0x20ac2(%rip), %rdi     # 0x23657
movb $0x0, %al
callq 0x2060
movq -0x58(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x58(%rbp)
jmp 0x2b78
leaq 0x205fe(%rip), %rdi     # 0x231af
movb $0x0, %al
callq 0x2060
leaq 0x2054e(%rip), %rdi     # 0x2310d
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0x3e90
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
callq 0x3eb0
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rax
cmpq -0x80(%rbp), %rax
je 0x2c24
movq -0x78(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x84(%rbp)
movl -0x84(%rbp), %esi
leaq 0x20a48(%rip), %rdi     # 0x23657
movb $0x0, %al
callq 0x2060
movq -0x78(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x78(%rbp)
jmp 0x2bec
leaq 0x20584(%rip), %rdi     # 0x231af
movb $0x0, %al
callq 0x2060
leaq 0x204e1(%rip), %rdi     # 0x2311a
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x90(%rbp)
movq -0x90(%rbp), %rdi
callq 0x3ef0
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rdi
callq 0x3f10
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rax
cmpq -0xa0(%rbp), %rax
je 0x2cce
movq -0x98(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
movq -0xa8(%rbp), %rax
movl 0x4(%rax), %edx
leaq 0x20472(%rip), %rdi     # 0x23125
movb $0x0, %al
callq 0x2060
movq -0x98(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x98(%rbp)
jmp 0x2c75
leaq 0x20461(%rip), %rdi     # 0x23136
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
addq $0x28, %rax
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x3ef0
movq %rax, -0xb8(%rbp)
movq -0xb0(%rbp), %rdi
callq 0x3f10
movq %rax, -0xc0(%rbp)
movq -0xb8(%rbp), %rax
cmpq -0xc0(%rbp), %rax
je 0x2d6a
movq -0xb8(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
movq -0xc8(%rbp), %rax
movl 0x4(%rax), %edx
leaq 0x203d6(%rip), %rdi     # 0x23125
movb $0x0, %al
callq 0x2060
movq -0xb8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0xb8(%rbp)
jmp 0x2d11
leaq 0x203d1(%rip), %rdi     # 0x23142
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
addq $0x30, %rax
movq %rax, -0xd0(%rbp)
movq -0xd0(%rbp), %rdi
callq 0x3ef0
movq %rax, -0xd8(%rbp)
movq -0xd0(%rbp), %rdi
callq 0x3f10
movq %rax, -0xe0(%rbp)
movq -0xd8(%rbp), %rax
cmpq -0xe0(%rbp), %rax
je 0x2e06
movq -0xd8(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
movq -0xe8(%rbp), %rax
movl 0x4(%rax), %edx
leaq 0x2033a(%rip), %rdi     # 0x23125
movb $0x0, %al
callq 0x2060
movq -0xd8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0xd8(%rbp)
jmp 0x2dad
leaq 0x20345(%rip), %rdi     # 0x23152
movb $0x0, %al
callq 0x2060
movq -0x48(%rbp), %rax
addq $0x38, %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x3f50
movq %rax, -0xf8(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x3f70
movq %rax, -0x100(%rbp)
movq -0xf8(%rbp), %rax
cmpq -0x100(%rbp), %rax
je 0x2eb6
movq -0xf8(%rbp), %rax
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rdi
callq 0x3e50
movq %rax, -0x2a0(%rbp)
movq -0x108(%rbp), %rdi
addq $0x4, %rdi
callq 0x3e50
movq -0x2a0(%rbp), %rsi
movq %rax, %rdx
leaq 0x202c7(%rip), %rdi     # 0x23162
movb $0x0, %al
callq 0x2060
movq -0xf8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0xf8(%rbp)
jmp 0x2e49
movq -0x48(%rbp), %rdi
addq $0x40, %rdi
callq 0x3fb0
movq %rax, -0x110(%rbp)
cmpq $0x0, -0x110(%rbp)
je 0x315d
leaq 0x20290(%rip), %rdi     # 0x2316f
xorl %eax, %eax
callq 0x2060
movq -0x110(%rbp), %rdi
callq 0x3fd0
movl %eax, %ecx
movl %ecx, -0x2a4(%rbp)
testl %eax, %eax
je 0x2f0d
jmp 0x2f00
movl -0x2a4(%rbp), %eax
subl $0x1, %eax
je 0x2f1d
jmp 0x2f2d
leaq 0x20267(%rip), %rdi     # 0x2317b
movb $0x0, %al
callq 0x2060
jmp 0x2f3b
leaq 0x20266(%rip), %rdi     # 0x2318a
movb $0x0, %al
callq 0x2060
jmp 0x2f3b
leaq 0x20269(%rip), %rdi     # 0x2319d
movb $0x0, %al
callq 0x2060
leaq 0x2026f(%rip), %rdi     # 0x231b1
movb $0x0, %al
callq 0x2060
movq -0x110(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x118(%rbp)
movq -0x118(%rbp), %rdi
callq 0x3fe0
movq %rax, -0x120(%rbp)
movq -0x118(%rbp), %rdi
callq 0x4000
movq %rax, -0x128(%rbp)
movq -0x120(%rbp), %rax
cmpq -0x128(%rbp), %rax
je 0x2fcd
movq -0x120(%rbp), %rdi
callq 0x4040
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rsi
leaq 0x20213(%rip), %rdi     # 0x231c5
movb $0x0, %al
callq 0x2060
movq -0x120(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x120(%rbp)
jmp 0x2f81
movq -0x110(%rbp), %rsi
addq $0xc, %rsi
leaq -0x40(%rbp), %rdi
callq 0x4e40
leaq -0x40(%rbp), %rsi
leaq 0x201e3(%rip), %rdi     # 0x231cf
movb $0x0, %al
callq 0x2060
movq -0x110(%rbp), %rdi
callq 0x3fd0
movl %eax, %ecx
movl $0x1, %eax
cmpl %ecx, %eax
jne 0x315b
movq -0x110(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq 0x201c2(%rip), %rdi     # 0x231e5
movb $0x0, %al
callq 0x2060
movq -0x138(%rbp), %rax
movl 0x1c(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x304a
leaq 0x201ad(%rip), %rdi     # 0x231f0
movb $0x0, %al
callq 0x2060
movq -0x138(%rbp), %rax
movl 0x1c(%rax), %eax
andl $0x2, %eax
cmpl $0x0, %eax
je 0x306a
leaq 0x201a0(%rip), %rdi     # 0x23203
movb $0x0, %al
callq 0x2060
movq -0x138(%rbp), %rax
movl 0x1c(%rax), %eax
andl $0x4, %eax
cmpl $0x0, %eax
je 0x308a
leaq 0x2018f(%rip), %rdi     # 0x23212
movb $0x0, %al
callq 0x2060
leaq 0x2011e(%rip), %rdi     # 0x231af
movb $0x0, %al
callq 0x2060
leaq 0x20184(%rip), %rdi     # 0x23223
movb $0x0, %al
callq 0x2060
movq -0x138(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rdi
callq 0x4060
movq %rax, -0x148(%rbp)
movq -0x140(%rbp), %rdi
callq 0x4080
movq %rax, -0x150(%rbp)
movq -0x148(%rbp), %rax
cmpq -0x150(%rbp), %rax
je 0x3159
movq -0x148(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x158(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
movq -0x158(%rbp), %rax
movswl 0x4(%rax), %edx
movq -0x158(%rbp), %rax
movb 0x6(%rax), %dil
leaq 0x20130(%rip), %rcx     # 0x23258
leaq 0x20125(%rip), %rax     # 0x23254
cmpb $0x0, %dil
cmovneq %rax, %rcx
leaq 0x200f4(%rip), %rdi     # 0x23232
movb $0x0, %al
callq 0x2060
movq -0x148(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x148(%rbp)
jmp 0x30de
jmp 0x315b
jmp 0x315d
leaq 0x2004b(%rip), %rdi     # 0x231af
movb $0x0, %al
callq 0x2060
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x29d5
movq -0x8(%rbp), %rdi
addq $0x10, %rdi
callq 0x40c0
movl %eax, %esi
leaq 0x200cc(%rip), %rdi     # 0x2325b
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdi
callq 0x40d0
movq %rax, -0x168(%rbp)
movq -0x160(%rbp), %rdi
callq 0x40f0
movq %rax, -0x170(%rbp)
movq -0x168(%rbp), %rax
cmpq -0x170(%rbp), %rax
je 0x321a
movq -0x168(%rbp), %rax
movq %rax, -0x178(%rbp)
movq -0x178(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
leaq 0x2006d(%rip), %rdi     # 0x2326c
movb $0x0, %al
callq 0x2060
movq -0x168(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x168(%rbp)
jmp 0x31cb
movq -0x8(%rbp), %rax
movl 0x18(%rax), %esi
leaq 0x20050(%rip), %rdi     # 0x23278
movb $0x0, %al
callq 0x2060
movl $0x0, -0x17c(%rbp)
movl -0x17c(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x18(%rcx), %eax
jge 0x32c4
movl -0x17c(%rbp), %eax
movl %eax, -0x2b4(%rbp)
movq -0x8(%rbp), %rdi
addq $0x1c, %rdi
callq 0x4130
movq %rax, %rdi
movslq -0x17c(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rdi
callq 0x3e50
movq %rax, -0x2b0(%rbp)
movq -0x8(%rbp), %rdi
addq $0x20, %rdi
callq 0x4150
movl -0x2b4(%rbp), %esi
movq -0x2b0(%rbp), %rdx
movslq -0x17c(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
leaq 0x1ffe2(%rip), %rdi     # 0x2328b
movb $0x0, %al
callq 0x2060
movl -0x17c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x17c(%rbp)
jmp 0x3239
movq -0x8(%rbp), %rax
movl 0x24(%rax), %esi
leaq 0x1ffd6(%rip), %rdi     # 0x232a8
movb $0x0, %al
callq 0x2060
movl $0x0, -0x180(%rbp)
movl -0x180(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x24(%rcx), %eax
jge 0x336e
movl -0x180(%rbp), %eax
movl %eax, -0x2c4(%rbp)
movq -0x8(%rbp), %rdi
addq $0x28, %rdi
callq 0x4130
movq %rax, %rdi
movslq -0x180(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rdi
callq 0x3e50
movq %rax, -0x2c0(%rbp)
movq -0x8(%rbp), %rdi
addq $0x2c, %rdi
callq 0x4150
movl -0x2c4(%rbp), %esi
movq -0x2c0(%rbp), %rdx
movslq -0x180(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
leaq 0x1ff38(%rip), %rdi     # 0x2328b
movb $0x0, %al
callq 0x2060
movl -0x180(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x180(%rbp)
jmp 0x32e3
movq -0x8(%rbp), %rax
movl 0x30(%rax), %esi
leaq 0x1ff40(%rip), %rdi     # 0x232bc
movb $0x0, %al
callq 0x2060
movl $0x0, -0x184(%rbp)
movl -0x184(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x30(%rcx), %eax
jge 0x3418
movl -0x184(%rbp), %eax
movl %eax, -0x2d4(%rbp)
movq -0x8(%rbp), %rdi
addq $0x34, %rdi
callq 0x4130
movq %rax, %rdi
movslq -0x184(%rbp), %rax
shlq $0x2, %rax
addq %rax, %rdi
callq 0x3e50
movq %rax, -0x2d0(%rbp)
movq -0x8(%rbp), %rdi
addq $0x38, %rdi
callq 0x4150
movl -0x2d4(%rbp), %esi
movq -0x2d0(%rbp), %rdx
movslq -0x184(%rbp), %rcx
movl (%rax,%rcx,4), %ecx
leaq 0x1fe8e(%rip), %rdi     # 0x2328b
movb $0x0, %al
callq 0x2060
movl -0x184(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x184(%rbp)
jmp 0x338d
movq -0x8(%rbp), %rax
movl 0x44(%rax), %esi
leaq 0x1fead(%rip), %rdi     # 0x232d3
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x48(%rax), %esi
leaq 0x1feb3(%rip), %rdi     # 0x232ee
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
movl 0x4c(%rax), %esi
leaq 0x1feb9(%rip), %rdi     # 0x23309
movb $0x0, %al
callq 0x2060
leaq 0x1fec9(%rip), %rdi     # 0x23327
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
addq $0x3c, %rax
movq %rax, -0x190(%rbp)
movq -0x190(%rbp), %rdi
callq 0x4170
movq %rax, -0x198(%rbp)
movq -0x190(%rbp), %rdi
callq 0x4190
movq %rax, -0x1a0(%rbp)
movq -0x198(%rbp), %rax
cmpq -0x1a0(%rbp), %rax
je 0x36fd
movq -0x198(%rbp), %rax
movq %rax, -0x1a8(%rbp)
movq -0x1a8(%rbp), %rax
movl (%rax), %esi
leaq 0x1fe6b(%rip), %rdi     # 0x23337
movb $0x0, %al
callq 0x2060
movq -0x1a8(%rbp), %rax
movl 0x4(%rax), %esi
leaq 0x1fe69(%rip), %rdi     # 0x2334d
movb $0x0, %al
callq 0x2060
movq -0x1a8(%rbp), %rax
movl 0x8(%rax), %esi
leaq 0x1fe15(%rip), %rdi     # 0x23311
movb $0x0, %al
callq 0x2060
leaq 0x1fe59(%rip), %rdi     # 0x23363
movb $0x0, %al
callq 0x2060
movq -0x1a8(%rbp), %rax
addq $0x14, %rax
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rdi
callq 0x3e90
movq %rax, -0x1b8(%rbp)
movq -0x1b0(%rbp), %rdi
callq 0x3eb0
movq %rax, -0x1c0(%rbp)
movq -0x1b8(%rbp), %rax
cmpq -0x1c0(%rbp), %rax
je 0x3590
movq -0x1b8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x1c4(%rbp)
movl -0x1c4(%rbp), %esi
leaq 0x200e2(%rip), %rdi     # 0x23657
movb $0x0, %al
callq 0x2060
movq -0x1b8(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x1b8(%rbp)
jmp 0x3549
leaq 0x1fc18(%rip), %rdi     # 0x231af
movb $0x0, %al
callq 0x2060
leaq 0x1fdd0(%rip), %rdi     # 0x23375
movb $0x0, %al
callq 0x2060
movq -0x1a8(%rbp), %rax
addq $0xc, %rax
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rdi
callq 0x3e90
movq %rax, -0x1d8(%rbp)
movq -0x1d0(%rbp), %rdi
callq 0x3eb0
movq %rax, -0x1e0(%rbp)
movq -0x1d8(%rbp), %rax
cmpq -0x1e0(%rbp), %rax
je 0x362b
movq -0x1d8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x1e4(%rbp)
movl -0x1e4(%rbp), %esi
leaq 0x20047(%rip), %rdi     # 0x23657
movb $0x0, %al
callq 0x2060
movq -0x1d8(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x1d8(%rbp)
jmp 0x35e4
leaq 0x1fb7d(%rip), %rdi     # 0x231af
movb $0x0, %al
callq 0x2060
leaq 0x1fd47(%rip), %rdi     # 0x23387
movb $0x0, %al
callq 0x2060
movq -0x1a8(%rbp), %rax
addq $0x1c, %rax
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0x41d0
movq %rax, -0x1f8(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0x41f0
movq %rax, -0x200(%rbp)
movq -0x1f8(%rbp), %rax
cmpq -0x200(%rbp), %rax
je 0x36d8
movq -0x1f8(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
movq -0x208(%rbp), %rax
movl 0x4(%rax), %edx
leaq 0x1fcd8(%rip), %rdi     # 0x23395
movb $0x0, %al
callq 0x2060
movq -0x1f8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x1f8(%rbp)
jmp 0x367f
leaq 0x1fad0(%rip), %rdi     # 0x231af
movb $0x0, %al
callq 0x2060
movq -0x198(%rbp), %rax
addq $0x24, %rax
movq %rax, -0x198(%rbp)
jmp 0x349a
leaq 0x1fca1(%rip), %rdi     # 0x233a5
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
addq $0x50, %rax
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rdi
callq 0x4230
movq %rax, -0x218(%rbp)
movq -0x210(%rbp), %rdi
callq 0x4250
movq %rax, -0x220(%rbp)
movq -0x218(%rbp), %rax
cmpq -0x220(%rbp), %rax
je 0x37aa
movq -0x218(%rbp), %rax
movq %rax, -0x228(%rbp)
movq -0x228(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
leaq 0x1fc44(%rip), %rdi     # 0x233b8
movb $0x0, %al
callq 0x2060
movq -0x228(%rbp), %rax
movq 0x8(%rax), %rax
movl %eax, %esi
leaq 0x1fc3f(%rip), %rdi     # 0x233ce
movb $0x0, %al
callq 0x2060
movq -0x218(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x218(%rbp)
jmp 0x3740
leaq 0x1fc33(%rip), %rdi     # 0x233e4
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
addq $0x58, %rax
movq %rax, -0x230(%rbp)
movq -0x230(%rbp), %rdi
callq 0x4290
movq %rax, -0x238(%rbp)
movq -0x230(%rbp), %rdi
callq 0x42b0
movq %rax, -0x240(%rbp)
movq -0x238(%rbp), %rax
cmpq -0x240(%rbp), %rax
je 0x3868
movq -0x238(%rbp), %rax
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rsi
addq $0x4, %rsi
leaq -0x270(%rbp), %rdi
callq 0x4e40
movq -0x248(%rbp), %rdi
callq 0x3e50
movq %rax, %rsi
leaq 0x1fbbf(%rip), %rdi     # 0x233f7
movb $0x0, %al
callq 0x2060
leaq -0x270(%rbp), %rsi
leaq 0x1fbc0(%rip), %rdi     # 0x2340d
movb $0x0, %al
callq 0x2060
movq -0x238(%rbp), %rax
addq $0x14, %rax
movq %rax, -0x238(%rbp)
jmp 0x37ed
leaq 0x1fbb4(%rip), %rdi     # 0x23423
movb $0x0, %al
callq 0x2060
movq -0x8(%rbp), %rax
addq $0x60, %rax
movq %rax, -0x278(%rbp)
movq -0x278(%rbp), %rdi
callq 0x42f0
movq %rax, -0x280(%rbp)
movq -0x278(%rbp), %rdi
callq 0x4310
movq %rax, -0x288(%rbp)
movq -0x280(%rbp), %rax
cmpq -0x288(%rbp), %rax
je 0x38f2
movq -0x280(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x28c(%rbp)
movl -0x28c(%rbp), %esi
leaq 0x1fb7d(%rip), %rdi     # 0x23454
movb $0x0, %al
callq 0x2060
movq -0x280(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x280(%rbp)
jmp 0x38ab
movq -0x8(%rbp), %rax
movl 0x68(%rax), %esi
leaq 0x1fb6e(%rip), %rdi     # 0x2346e
movb $0x0, %al
callq 0x2060
addq $0x2e0, %rsp            # imm = 0x2E0
popq %rbp
retq