// File: /workspace/github_cpp_makefile_star2_O1/nvanbenschoten[P]total-order-multicast/src/main.cc
// Function: main
int main(int argc, const char** argv) {
  args::ArgumentParser parser(program_desc);
  args::HelpFlag help(parser, "help", help_desc, {"help"});
  IntFlag port(parser, "port", port_desc, {'p', "port"});
  StringFlag hostfile(parser, "hostfile", hostfile_desc, {'h', "hostfile"});
  IntFlag id(parser, "id", id_desc, {'i', "id"});
  IntFlag count(parser, "count", count_desc, {'c', "count"});
  args::Flag delays(parser, "delays", delays_desc, {'d', "delays"});
  args::Flag verbose(parser, "verbose", verbose_desc, {'v', "verbose"});

  try {
    parser.ParseCLI(argc, argv);

    // Set up logging.
    logging::out.enable(verbose);

    // Check required fields.
    if (!hostfile) throw args::UsageError("--hostfile is a required flag");
    if (!count) throw args::UsageError("--count is a required flag");
    auto hostfile_val = args::get(hostfile);
    auto count_val = args::get(count);

    // Get the default process port, if one is supplied.
    std::experimental::optional<unsigned short> default_port;
    if (port) {
      default_port = args::get(port);
    }

    // Create the process list from the hostfile.
    auto processes = GetProcesses(hostfile_val, default_port);

    // Determine the current process's ID.
    int id_val;
    if (id) {
      id_val = args::get(id);
      CheckProcessId(processes, id_val);
    } else {
      id_val = GetProcessId(processes);
    }
    auto server_port = processes.at(id_val).port();

    // Create the process with the command line options.
    process::Process p(processes, id_val, server_port, delays);

    // Run the total order algorithm.
    p.TotalOrder(count_val, [id_val](msg::SeqMessage& seq_msg) {
      std::cout << id_val << ": Processed message " << seq_msg.msg_id
                << " from sender " << seq_msg.sender << " with seq ("
                << seq_msg.final_seq << ", " << seq_msg.final_seq_proposer
                << ")" << std::endl;
    });
  } catch (const args::Help) {
    std::cout << parser;
    return 0;
  } catch (const args::UsageError& e) {
    std::cerr << "\n  " << red_start << e.what() << red_end << "\n\n";
    std::cerr << parser;
    return 1;
  } catch (const std::exception& e) {
    std::cerr << red_start << e.what() << red_end << "\n";
    return 1;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x8f8, %rsp            # imm = 0x8F8
movq %rsi, %rbx
movl %edi, %ebp
leaq 0x288(%rsp), %r14
movq %r14, -0x10(%r14)
movq $0x0, -0x8(%r14)
movb $0x0, (%r14)
leaq 0x11cca(%rip), %rsi     # 0x1c3b0
leaq 0x6a0(%rsp), %rdi
leaq 0x278(%rsp), %rdx
callq 0xc834
movq 0x278(%rsp), %rdi
cmpq %r14, %rdi
je 0xa718
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x5e0(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa4cb(%rip), %rsi      # 0x14bf6
leaq 0xa4c8(%rip), %rdx      # 0x14bfa
leaq 0x5d0(%rsp), %rdi
callq 0x7a00
leaq 0x40(%rsp), %rdi
movw $0x0, -0x8(%rdi)
leaq 0x50(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xa49c(%rip), %rsi      # 0x14bf6
leaq 0xa499(%rip), %rdx      # 0x14bfa
callq 0x7a00
leaq 0x278(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movl $0x1, %edx
callq 0xcba8
leaq 0x11c4c(%rip), %rcx     # 0x1c3d0
leaq 0x830(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
leaq 0x5d0(%rsp), %rdx
leaq 0x278(%rsp), %r8
xorl %r9d, %r9d
callq 0xcd00
leaq 0x11115(%rip), %rax     # 0x1b8c8
movq %rax, 0x830(%rsp)
leaq 0x2b0(%rsp), %rdi
callq 0xec9e
leaq 0x278(%rsp), %rdi
callq 0xed12
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0xa7ec
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x5d0(%rsp), %rdi
cmpq %r14, %rdi
je 0xa809
movq 0x5e0(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x510(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa3df(%rip), %rsi      # 0x14bfb
leaq 0xa3dc(%rip), %rdx      # 0x14bff
leaq 0x500(%rsp), %rdi
callq 0x7a00
leaq 0x68(%rsp), %rdi
movw $0x7001, -0x30(%rdi)    # imm = 0x7001
movq %r15, -0x28(%rdi)
movq $0x0, -0x20(%rdi)
movb $0x0, -0x18(%rdi)
movw $0x0, -0x8(%rdi)
leaq 0x78(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xa399(%rip), %rsi      # 0x14bfb
leaq 0xa396(%rip), %rdx      # 0x14bff
callq 0x7a00
leaq 0x278(%rsp), %rdi
leaq 0x38(%rsp), %rsi
movl $0x2, %edx
callq 0xcba8
xorl %eax, %eax
leaq 0x368(%rsp), %r9
movl %eax, (%r9)
movl %eax, (%rsp)
leaq 0x11b54(%rip), %rcx     # 0x1c3f0
leaq 0x5d0(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
leaq 0x500(%rsp), %rdx
leaq 0x278(%rsp), %r8
callq 0xcbe4
leaq 0x2b0(%rsp), %rdi
callq 0xec9e
leaq 0x278(%rsp), %rdi
callq 0xed12
movq $-0x50, %r15
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0xa8f8
movq (%r12), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r12
addq $0x28, %r15
jne 0xa8e2
movq 0x500(%rsp), %rdi
cmpq %r14, %rdi
je 0xa91f
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x378(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xa203(%rip), %rsi      # 0x14b35
leaq 0xa204(%rip), %rdx      # 0x14b3d
leaq 0x368(%rsp), %rdi
callq 0x7a00
leaq 0x518(%rsp), %r14
movw $0x6801, -0x18(%r14)    # imm = 0x6801
movq %r14, -0x10(%r14)
movq $0x0, -0x8(%r14)
movb $0x0, (%r14)
movw $0x0, 0x10(%r14)
leaq 0x530(%rsp), %rdi
leaq 0x540(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xa1ad(%rip), %rsi      # 0x14b35
leaq 0xa1ae(%rip), %rdx      # 0x14b3d
callq 0x7a00
leaq 0x38(%rsp), %rdi
leaq 0x500(%rsp), %rsi
movl $0x2, %edx
callq 0xcba8
leaq 0x1c0(%rsp), %r14
movq %r14, -0x10(%r14)
movq $0x0, -0x8(%r14)
movb $0x0, (%r14)
movl $0x0, (%rsp)
leaq 0x11a3f(%rip), %rcx     # 0x1c410
leaq 0x278(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
leaq 0x368(%rsp), %rdx
leaq 0x38(%rsp), %r8
leaq 0x1b0(%rsp), %r9
callq 0xcc52
movq 0x1b0(%rsp), %rdi
cmpq %r14, %rdi
je 0xaa18
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
movq $-0x50, %r13
movq -0x10(%r12), %rdi
cmpq %rdi, %r12
je 0xaa49
movq (%r12), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r12
addq $0x28, %r13
jne 0xaa33
movq 0x368(%rsp), %rdi
cmpq %r15, %rdi
je 0xaa70
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x1b0(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x9882(%rip), %rsi      # 0x14304
leaq 0x987d(%rip), %rdx      # 0x14306
callq 0x7a00
leaq 0x380(%rsp), %r12
movw $0x6901, -0x18(%r12)    # imm = 0x6901
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movw $0x0, 0x10(%r12)
leaq 0x398(%rsp), %rdi
leaq 0x3a8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x9830(%rip), %rsi      # 0x14304
leaq 0x982b(%rip), %rdx      # 0x14306
callq 0x7a00
leaq 0x38(%rsp), %rdi
leaq 0x368(%rsp), %rsi
movl $0x2, %edx
callq 0xcba8
xorl %eax, %eax
leaq 0x438(%rsp), %r9
movl %eax, (%r9)
movl %eax, (%rsp)
leaq 0x11922(%rip), %rcx     # 0x1c430
leaq 0x500(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
leaq 0x1b0(%rsp), %rdx
leaq 0x38(%rsp), %r8
callq 0xcbe4
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
movq $-0x50, %r12
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0xab5f
movq (%r15), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r15
addq $0x28, %r12
jne 0xab4b
movq 0x1b0(%rsp), %rdi
cmpq %r14, %rdi
je 0xab86
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x448(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xa067(%rip), %rsi      # 0x14c00
leaq 0xa065(%rip), %rdx      # 0x14c05
leaq 0x438(%rsp), %rdi
callq 0x7a00
leaq 0x1c8(%rsp), %r12
movw $0x6301, -0x18(%r12)    # imm = 0x6301
movq %r12, -0x10(%r12)
movq $0x0, -0x8(%r12)
movb $0x0, (%r12)
movw $0x0, 0x10(%r12)
leaq 0x1e0(%rsp), %rdi
leaq 0x1f0(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xa00d(%rip), %rsi      # 0x14c00
leaq 0xa00b(%rip), %rdx      # 0x14c05
callq 0x7a00
leaq 0x38(%rsp), %rdi
leaq 0x1b0(%rsp), %rsi
movl $0x2, %edx
callq 0xcba8
xorl %eax, %eax
leaq 0x120(%rsp), %r9
movl %eax, (%r9)
movl %eax, (%rsp)
leaq 0x11823(%rip), %rcx     # 0x1c450
leaq 0x368(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
leaq 0x438(%rsp), %rdx
leaq 0x38(%rsp), %r8
callq 0xcbe4
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
movq $-0x50, %r12
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0xac7e
movq (%r15), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r15
addq $0x28, %r12
jne 0xac6a
movq 0x438(%rsp), %rdi
cmpq %r14, %rdi
je 0xaca5
movq 0x448(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x130(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9f4d(%rip), %rsi      # 0x14c06
leaq 0x9f4c(%rip), %rdx      # 0x14c0c
leaq 0x120(%rsp), %rdi
callq 0x7a00
leaq 0x450(%rsp), %r15
movw $0x6401, -0x18(%r15)    # imm = 0x6401
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
movw $0x0, 0x10(%r15)
leaq 0x468(%rsp), %rdi
leaq 0x478(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x9ef8(%rip), %rsi      # 0x14c06
leaq 0x9ef7(%rip), %rdx      # 0x14c0c
callq 0x7a00
leaq 0x38(%rsp), %rdi
leaq 0x438(%rsp), %rsi
movl $0x2, %edx
callq 0xcba8
leaq 0x11738(%rip), %rcx     # 0x1c470
leaq 0x1b0(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
leaq 0x120(%rsp), %rdx
leaq 0x38(%rsp), %r8
xorl %r9d, %r9d
callq 0xcd00
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
movq $-0x50, %r15
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0xad8c
movq (%r14), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r14
addq $0x28, %r15
jne 0xad78
movq 0x120(%rsp), %rdi
cmpq %r12, %rdi
je 0xadb3
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x28(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x9e4a(%rip), %rsi      # 0x14c0d
leaq 0x9e4a(%rip), %rdx      # 0x14c14
leaq 0x18(%rsp), %rdi
callq 0x7a00
leaq 0x138(%rsp), %r13
movw $0x7601, -0x18(%r13)    # imm = 0x7601
movq %r13, -0x10(%r13)
movq $0x0, -0x8(%r13)
movb $0x0, (%r13)
movw $0x0, 0x10(%r13)
leaq 0x150(%rsp), %rdi
leaq 0x160(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x9df7(%rip), %rsi      # 0x14c0d
leaq 0x9df7(%rip), %rdx      # 0x14c14
callq 0x7a00
leaq 0x38(%rsp), %rdi
leaq 0x120(%rsp), %rsi
movl $0x2, %edx
callq 0xcba8
leaq 0x11650(%rip), %rcx     # 0x1c490
leaq 0x438(%rsp), %rdi
leaq 0x6a0(%rsp), %rsi
leaq 0x18(%rsp), %rdx
leaq 0x38(%rsp), %r8
xorl %r9d, %r9d
callq 0xcd00
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
movq $-0x50, %r13
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0xae91
movq (%r15), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r15
addq $0x28, %r13
jne 0xae7d
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0xaeb2
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x6a0(%rsp), %rdi
movl %ebp, %esi
movq %rbx, %rdx
callq 0xcd52
leaq 0x438(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
leaq 0x11627(%rip), %rcx     # 0x1c500
xchgb %al, 0x8(%rcx)
leaq 0x278(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0xb195
leaq 0x368(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0xb1f8
leaq 0x120(%rsp), %rdi
movq %r12, (%rdi)
movq 0x340(%rsp), %rsi
movq 0x348(%rsp), %rdx
addq %rsi, %rdx
callq 0x7de6
movl 0x430(%rsp), %ebx
leaq 0x5d0(%rsp), %r14
movq (%r14), %rax
movq %r14, %rdi
callq *0x10(%rax)
movl %eax, %ebp
movzwl 0xc8(%r14), %r14d
leaq 0x180(%rsp), %r15
movq %r15, -0x10(%r15)
movq 0x120(%rsp), %rsi
movq 0x128(%rsp), %rdx
addq %rsi, %rdx
leaq 0x170(%rsp), %rdi
callq 0x7de6
movb $0x0, 0x16(%rsp)
testb %bpl, %bpl
je 0xaf8e
movw %r14w, 0x14(%rsp)
movb $0x1, 0x16(%rsp)
leaq 0x18(%rsp), %rdi
leaq 0x170(%rsp), %rsi
leaq 0x14(%rsp), %rdx
callq 0xa01c
movq 0x170(%rsp), %rdi
cmpq %r15, %rdi
je 0xafc2
movq 0x180(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x500(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
testb %al, %al
je 0xafe9
movl 0x5c8(%rsp), %ebp
leaq 0x18(%rsp), %rdi
movl %ebp, %esi
callq 0xa342
jmp 0xaff5
leaq 0x18(%rsp), %rdi
callq 0xa4d8
movl %eax, %ebp
movslq %ebp, %r14
movq 0x18(%rsp), %rax
movq 0x20(%rsp), %rcx
subq %rax, %rcx
sarq $0x3, %rcx
movabsq $-0x3333333333333333, %rdx # imm = 0xCCCCCCCCCCCCCCCD
imulq %rcx, %rdx
cmpq %r14, %rdx
jbe 0xb259
leaq (%r14,%r14,4), %rcx
movzwl 0x20(%rax,%rcx,8), %r15d
leaq 0x1b0(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movzbl %al, %r8d
leaq 0x38(%rsp), %rdi
leaq 0x18(%rsp), %rsi
movl %r14d, %edx
movl %r15d, %ecx
callq 0xcdfa
xorps %xmm0, %xmm0
leaq 0x190(%rsp), %rdx
movaps %xmm0, (%rdx)
movaps %xmm0, 0x10(%rdx)
movl %ebp, (%rdx)
leaq 0x924(%rip), %rax       # 0xb990
movq %rax, 0x18(%rdx)
leaq 0x9fb(%rip), %rax       # 0xba72
movq %rax, 0x10(%rdx)
leaq 0x38(%rsp), %rdi
movl %ebx, %esi
callq 0x667e
movq 0x1a0(%rsp), %rax
testq %rax, %rax
je 0xb0a6
leaq 0x190(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x108(%rsp), %rdi
callq 0x11132
leaq 0x98(%rsp), %rbx
leaq 0xd0(%rsp), %r14
movq %r14, %rdi
callq 0x111cc
movq %rbx, %rdi
callq 0x111e0
movl -0x44(%r14), %edi
callq 0x56c0
leaq 0x50(%rsp), %rdi
callq 0x7936
leaq 0x38(%rsp), %rdi
callq 0xc7d8
leaq 0x18(%rsp), %rdi
callq 0xc7d8
movq 0x120(%rsp), %rdi
cmpq %r12, %rdi
je 0xb117
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x5370
xorl %ebx, %ebx
leaq 0x438(%rsp), %rdi
callq 0xcf30
leaq 0x1b0(%rsp), %rdi
callq 0xcf30
leaq 0x368(%rsp), %rdi
callq 0xcf30
leaq 0x500(%rsp), %rdi
callq 0xcf30
leaq 0x278(%rsp), %rdi
callq 0xcf68
leaq 0x5d0(%rsp), %rdi
callq 0xcf30
leaq 0x830(%rsp), %rdi
callq 0xcf30
leaq 0x6a0(%rsp), %rdi
callq 0xcf9e
movl %ebx, %eax
addq $0x8f8, %rsp            # imm = 0x8F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x10, %edi
callq 0x51a0
movq %rax, %r15
leaq 0x48(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9a62(%rip), %rsi      # 0x14c15
leaq 0x9a78(%rip), %rdx      # 0x14c32
leaq 0x38(%rsp), %rdi
callq 0x7a00
movb $0x1, %bpl
leaq 0x38(%rsp), %rsi
movq %r15, %rdi
callq 0x5440
leaq 0x105ad(%rip), %rax     # 0x1b788
movq %rax, (%r15)
xorl %ebp, %ebp
leaq 0x104d9(%rip), %rsi     # 0x1b6c0
movq 0x10da2(%rip), %rdx     # 0x1bf90
movq %r15, %rdi
callq 0x5610
jmp 0xb259
movl $0x10, %edi
callq 0x51a0
movq %rax, %r15
leaq 0x48(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0x9a1d(%rip), %rsi      # 0x14c33
leaq 0x9a30(%rip), %rdx      # 0x14c4d
leaq 0x38(%rsp), %rdi
callq 0x7a00
movb $0x1, %bpl
leaq 0x38(%rsp), %rsi
movq %r15, %rdi
callq 0x5440
leaq 0x1054a(%rip), %rax     # 0x1b788
movq %rax, (%r15)
xorl %ebp, %ebp
leaq 0x10476(%rip), %rsi     # 0x1b6c0
movq 0x10d3f(%rip), %rdx     # 0x1bf90
movq %r15, %rdi
callq 0x5610
leaq 0x918c(%rip), %rdi      # 0x143ec
movq %r14, %rsi
xorl %eax, %eax
callq 0x5550
jmp 0xb26e
jmp 0xb28d
movq %rdx, %r14
movq %rax, %rbx
movq 0x38(%rsp), %rdi
cmpq %r12, %rdi
je 0xb296
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb296
movq %rdx, %r14
movq %rax, %rbx
movb $0x1, %bpl
testb %bpl, %bpl
je 0xb351
movq %r15, %rdi
callq 0x5280
jmp 0xb351
jmp 0xb2ae
movq %rax, %rdi
callq 0x792b
movq %rdx, %r14
movq %rax, %rbx
movq 0x1a0(%rsp), %rax
testq %rax, %rax
je 0xb2db
leaq 0x190(%rsp), %rdi
movq %rdi, %rsi
movl $0x3, %edx
callq *%rax
leaq 0x38(%rsp), %rdi
callq 0xcedc
jmp 0xb2f3
jmp 0xb2ae
jmp 0xb2ed
jmp 0xb2ed
movq %rdx, %r14
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0xc7d8
jmp 0xb32a
movq %rdx, %r14
movq %rax, %rbx
movq 0x170(%rsp), %rdi
cmpq %r15, %rdi
je 0xb32a
movq 0x180(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb32a
movq %rdx, %r14
movq %rax, %rbx
movq 0x120(%rsp), %rdi
cmpq %r12, %rdi
je 0xb351
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb351
jmp 0xb34b
movq %rdx, %r14
movq %rax, %rbx
cmpl $0x3, %r14d
jne 0xb3a9
movq %rbx, %rdi
callq 0x5430
leaq 0x38(%rsp), %r14
movq %r14, %rdi
movq %rax, %rsi
callq 0x5460
leaq 0x10732(%rip), %rax     # 0x1baa8
movq %rax, (%r14)
movq %rbx, %rdi
callq 0x5160
movq 0x10c18(%rip), %rsi     # 0x1bfa0
leaq 0x6a0(%rsp), %rdi
callq 0xbaf4
leaq 0x38(%rsp), %rdi
callq 0x56d8
callq 0x55b0
jmp 0xb117
cmpl $0x2, %r14d
jne 0xb454
movq %rbx, %rdi
callq 0x5160
movq %rax, %rbx
movq 0x10c1b(%rip), %rdi     # 0x1bfe0
leaq 0x9882(%rip), %rsi      # 0x14c4e
movl $0x3, %edx
callq 0x53f0
movq 0x110d3(%rip), %rsi     # 0x1c4b0
movq 0x110d4(%rip), %rdx     # 0x1c4b8
movq 0x10bf5(%rip), %rdi     # 0x1bfe0
callq 0x53f0
movq %rax, %r14
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
movq %r14, %rdi
movq %rax, %rsi
callq 0x5350
movq 0x110c2(%rip), %rsi     # 0x1c4d0
movq 0x110c3(%rip), %rdx     # 0x1c4d8
movq %rax, %rdi
callq 0x53f0
leaq 0x9844(%rip), %rsi      # 0x14c68
movl $0x2, %edx
movq %rax, %rdi
callq 0x53f0
movq 0x10ba8(%rip), %rsi     # 0x1bfe0
leaq 0x6a0(%rsp), %rdi
callq 0xbaf4
movl $0x1, %ebx
callq 0x55b0
jmp 0xb119
cmpl $0x1, %r14d
jne 0xb502
movq %rbx, %rdi
callq 0x5160
movq %rax, %rbx
movq 0x11040(%rip), %rsi     # 0x1c4b0
movq 0x11041(%rip), %rdx     # 0x1c4b8
movq 0x10b62(%rip), %rdi     # 0x1bfe0
callq 0x53f0
movq %rax, %r14
movq (%rbx), %rax
movq %rbx, %rdi
callq *0x10(%rax)
movq %r14, %rdi
movq %rax, %rsi
callq 0x5350
movq 0x1102f(%rip), %rsi     # 0x1c4d0
movq 0x11030(%rip), %rdx     # 0x1c4d8
movq %rax, %rdi
callq 0x53f0
leaq 0x97b2(%rip), %rsi      # 0x14c69
movl $0x1, %edx
movq %rax, %rdi
callq 0x53f0
movl $0x1, %ebx
callq 0x55b0
jmp 0xb119
jmp 0xb4d7
jmp 0xb4d7
movq %rax, %rbx
jmp 0xb502
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x56d8
callq 0x55b0
jmp 0xb502
movq %rax, %rbx
callq 0x55b0
jmp 0xb502
movq %rax, %rbx
callq 0x55b0
leaq 0x438(%rsp), %rdi
callq 0xcf30
jmp 0xb59c
jmp 0xb2ae
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
jmp 0xb535
movq %rax, %rbx
xorl %r12d, %r12d
movq 0x150(%rsp,%r12), %rdi
leaq (%r15,%r12), %rax
cmpq %rdi, %rax
je 0xb554
movq (%rax), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r12
cmpq $-0x50, %r12
jne 0xb538
jmp 0xb580
movq %rax, %rbx
movq 0x128(%rsp), %rdi
cmpq %r13, %rdi
je 0xb580
movq 0x138(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0xb59c
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb59c
movq %rax, %rbx
leaq 0x1b0(%rsp), %rdi
callq 0xcf30
jmp 0xb637
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
jmp 0xb5ca
movq %rax, %rbx
xorl %r15d, %r15d
movq 0x468(%rsp,%r15), %rdi
leaq (%r14,%r15), %rax
cmpq %rdi, %rax
je 0xb5e9
movq (%rax), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r15
cmpq $-0x50, %r15
jne 0xb5cd
jmp 0xb615
movq %rax, %rbx
movq 0x440(%rsp), %rdi
cmpq %r15, %rdi
je 0xb615
movq 0x450(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x120(%rsp), %rdi
cmpq %r12, %rdi
je 0xb637
movq 0x130(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb637
movq %rax, %rbx
leaq 0x368(%rsp), %rdi
callq 0xcf30
leaq 0x500(%rsp), %rdi
callq 0xcf30
leaq 0x278(%rsp), %rdi
callq 0xcf68
leaq 0x5d0(%rsp), %rdi
callq 0xcf30
leaq 0x830(%rsp), %rdi
callq 0xcf30
leaq 0x6a0(%rsp), %rdi
callq 0xcf9e
movq %rbx, %rdi
callq 0x5650
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
jmp 0xb6a9
movq %rax, %rbx
xorl %r12d, %r12d
movq 0x1e0(%rsp,%r12), %rdi
leaq (%r15,%r12), %rax
cmpq %rdi, %rax
je 0xb6c8
movq (%rax), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r12
cmpq $-0x50, %r12
jne 0xb6ac
jmp 0xb6f4
movq %rax, %rbx
movq 0x1b8(%rsp), %rdi
cmpq %r12, %rdi
je 0xb6f4
movq 0x1c8(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x438(%rsp), %rdi
cmpq %r14, %rdi
je 0xb644
movq 0x448(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb644
movq %rax, %rbx
jmp 0xb644
movq %rax, %rbx
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
jmp 0xb73e
movq %rax, %rbx
xorl %r12d, %r12d
movq 0x398(%rsp,%r12), %rdi
leaq (%r15,%r12), %rax
cmpq %rdi, %rax
je 0xb75d
movq (%rax), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r12
cmpq $-0x50, %r12
jne 0xb741
jmp 0xb789
movq %rax, %rbx
movq 0x370(%rsp), %rdi
cmpq %r12, %rdi
je 0xb789
movq 0x380(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x1b0(%rsp), %rdi
cmpq %r14, %rdi
je 0xb651
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb651
movq %rax, %rbx
jmp 0xb651
movq %rax, %rbx
movq 0x1b0(%rsp), %rdi
cmpq %r14, %rdi
je 0xb7d7
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x5370
leaq 0x70(%rsp), %rdi
callq 0xec9e
leaq 0x38(%rsp), %rdi
callq 0xed12
jmp 0xb7f0
movq %rax, %rbx
xorl %r14d, %r14d
movq 0x530(%rsp,%r14), %rdi
leaq (%r12,%r14), %rax
cmpq %rdi, %rax
je 0xb80f
movq (%rax), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r14
cmpq $-0x50, %r14
jne 0xb7f3
jmp 0xb83b
movq %rax, %rbx
movq 0x508(%rsp), %rdi
cmpq %r14, %rdi
je 0xb83b
movq 0x518(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x368(%rsp), %rdi
cmpq %r15, %rdi
je 0xb65e
movq 0x378(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb65e
movq %rax, %rbx
jmp 0xb65e
movq %rax, %rbx
leaq 0x2b0(%rsp), %rdi
callq 0xec9e
leaq 0x278(%rsp), %rdi
callq 0xed12
jmp 0xb88b
movq %rax, %rbx
xorl %r15d, %r15d
movq 0x68(%rsp,%r15), %rdi
leaq (%r12,%r15), %rax
cmpq %rdi, %rax
je 0xb8a7
movq (%rax), %rsi
incq %rsi
callq 0x5370
addq $-0x28, %r15
cmpq $-0x50, %r15
jne 0xb88e
jmp 0xb8cd
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0xb8cd
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x5370
movq 0x500(%rsp), %rdi
cmpq %r14, %rdi
je 0xb66b
movq 0x510(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb66b
movq %rax, %rbx
jmp 0xb66b
movq %rax, %rbx
leaq 0x2b0(%rsp), %rdi
callq 0xec9e
leaq 0x278(%rsp), %rdi
callq 0xed12
jmp 0xb91d
movq %rax, %rbx
movq 0x40(%rsp), %rdi
cmpq %r15, %rdi
je 0xb939
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb939
movq %rax, %rbx
movq 0x5d0(%rsp), %rdi
cmpq %r14, %rdi
je 0xb678
movq 0x5e0(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb678
movq %rax, %rbx
jmp 0xb678
movq %rax, %rbx
movq 0x278(%rsp), %rdi
cmpq %r14, %rdi
je 0xb685
movq 0x288(%rsp), %rsi
incq %rsi
callq 0x5370
jmp 0xb685