// File: /workspace/github_c_makefile_star2_O1/ataradov[P]edbg/edbg.c
// Function: main
int main(int argc, char **argv)
{
  debugger_t debuggers[MAX_DEBUGGERS] = {0};
  int n_debuggers = 0;
  int debugger = -1;
  target_ops_t *target_ops;
  bool active_actions;

  parse_command_line(argc, argv);

  active_actions = g_target_options.unlock || g_target_options.erase ||
      g_target_options.program || g_target_options.verify || g_target_options.lock ||
      g_target_options.read || g_target_options.fuse_cmd;

  if (!(active_actions || g_list || g_target || (g_target_options.reset == 0)))
    error_exit("no actions specified");

  if (g_target_options.read && (g_target_options.erase || g_target_options.program ||
      g_target_options.verify || g_target_options.lock))
    error_exit("mutually exclusive actions specified");

  n_debuggers = dbg_enumerate(debuggers, MAX_DEBUGGERS);

  if (g_list)
  {
    message("Attached debuggers:\n");

    for (int i = 0; i < n_debuggers; i++)
    {
      char ver[8] = "";

      if (debuggers[i].versions & DBG_CMSIS_DAP_V1)
        strcat(ver, "1");

      if (debuggers[i].versions & DBG_CMSIS_DAP_V2)
        strcat(ver, "2");

      message("  %d: %s - %s %s (%s)\n", i, debuggers[i].serial, debuggers[i].manufacturer, debuggers[i].product, ver);
    }

    return 0;
  }

  if (NULL == g_target)
    error_exit("no target type specified (use '-t' option)");

  if (0 == strcmp(g_target, "list"))
  {
    target_list();
    return 0;
  }

  target_ops = target_get_ops(g_target);

  if (g_serial)
  {
    char *end = NULL;
    int index = strtoul(g_serial, &end, 10);

    if (index < n_debuggers && end[0] == 0)
    {
      debugger = index;
    }
    else
    {
      for (int i = 0; i < n_debuggers; i++)
      {
        if (0 == strcmp(debuggers[i].serial, g_serial))
        {
          debugger = i;
          break;
        }
      }
    }

    if (-1 == debugger)
      error_exit("unable to find a debugger with a specified serial number");
  }

  if (0 == n_debuggers)
    error_exit("no debuggers found");
  else if (1 == n_debuggers)
    debugger = 0;
  else if (n_debuggers > 1 && -1 == debugger)
    error_exit("more than one debugger found, please specify a serial number");

  if (-1 == g_version)
    g_version = (debuggers[debugger].versions & DBG_CMSIS_DAP_V2) ? DBG_CMSIS_DAP_V2 : DBG_CMSIS_DAP_V1;
  else if (1 == g_version)
    g_version = DBG_CMSIS_DAP_V1;
  else if (2 == g_version)
    g_version = DBG_CMSIS_DAP_V2;
  else
    error_exit("unsupported CMSIS-DAP version: %d", g_version);

  if (0 == (g_version & debuggers[debugger].versions))
    error_exit("selected debugger does not support this CMSIS-DAP version");

  dbg_open(&debuggers[debugger], g_version);

  g_debugger_open = true;

  print_debugger_info(&debuggers[debugger]);
  verbose("Using CMSIS-DAP v%d\n", (DBG_CMSIS_DAP_V1 == g_version) ? 1 : 2);
  print_clock_freq(g_clock);

  reconnect_debugger();

  if (g_target_options.reset > 0)
  {
    verbose("Resetting...");
    dap_reset_pin(0);
    sleep_ms(g_target_options.reset);
    dap_reset_pin(1);
    sleep_ms(10);
    verbose(" done.\n");
  }

  if (!active_actions)
  {
    disconnect_debugger();
    return 0;
  }

  target_ops->select(&g_target_options);

  if (g_target_options.unlock)
  {
    verbose("Unlocking...");
    target_ops->unlock();
    verbose(" done.\n");
  }

  if (g_target_options.erase)
  {
    verbose("Erasing...");
    target_ops->erase();
    verbose(" done.\n");
  }

  if (g_target_options.program)
  {
    verbose("Programming...");
    target_ops->program();
    verbose(" done.\n");
  }

  if (g_target_options.verify)
  {
    verbose("Verification...");
    target_ops->verify();
    verbose(" done.\n");
  }

  if (g_target_options.lock)
  {
    verbose("Locking...");
    target_ops->lock();
    verbose(" done.\n");
  }

  if (g_target_options.read)
  {
    verbose("Reading...");
    target_ops->read();
    verbose(" done.\n");
  }

  if (g_target_options.fuse_cmd)
  {
    verbose("Fuses:\n");
    target_fuse_commands(target_ops, g_target_options.fuse_cmd);
    verbose("done.\n");
  }

  target_ops->deselect();

  dap_reset_target_hw(1);

  disconnect_debugger();

  return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xb38, %rsp            # imm = 0xB38
movq %rsi, %r14
movl %edi, %ebx
leaq 0x310(%rsp), %rdi
xorl %r12d, %r12d
movl $0x820, %edx            # imm = 0x820
xorl %esi, %esi
callq 0x60e0
leaq 0x10(%rsp), %rax
movl $0x0, (%rax)
leaq 0x10491(%rip), %r13     # 0x18440
leaq 0x836a(%rip), %rbp      # 0x10320
movl %r12d, %r15d
movl %ebx, %edi
movq %r14, %rsi
leaq 0x889f(%rip), %rdx      # 0x10864
movq %r13, %rcx
leaq 0x10(%rsp), %r8
callq 0x60b0
leal -0x62(%rax), %ecx
cmpl $0x18, %ecx
ja 0x7ff3
movb $0x1, %r12b
movslq (%rbp,%rcx,4), %rax
addq %rbp, %rax
jmpq *%rax
movb $0x1, 0x76a42(%rip)     # 0x7ea30
movl %r15d, %r12d
jmp 0x7fb6
cmpl $0x46, %eax
jne 0x8170
movq 0x12fcd(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x1319b(%rip)     # 0x1b1a8
movl %r15d, %r12d
jmp 0x7fb6
movb $0x1, 0x76a18(%rip)     # 0x7ea31
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12fab(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x13169(%rip)     # 0x1b1a0
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12f8a(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
imulq $0x3e8, %rax, %rax      # imm = 0x3E8
movq %rax, 0x13168(%rip)     # 0x1b1c8
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12f61(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x1311f(%rip)     # 0x1b198
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12f48(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x769a6(%rip)     # 0x7ea38
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12f2f(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x1310d(%rip)     # 0x1b1c0
movl %r15d, %r12d
jmp 0x7fb6
movb $0x1, 0x130cf(%rip)     # 0x1b191
movl %r15d, %r12d
jmp 0x7fb6
movb $0x1, 0x130bf(%rip)     # 0x1b190
movl %r15d, %r12d
jmp 0x7fb6
movb $0x1, 0x130ac(%rip)     # 0x1b18c
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12ee1(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x76947(%rip)     # 0x7ea40
movl %r15d, %r12d
jmp 0x7fb6
movb $0x1, 0x13085(%rip)     # 0x1b18d
movl %r15d, %r12d
jmp 0x7fb6
movb $0x1, 0x13078(%rip)     # 0x1b18f
movl %r15d, %r12d
jmp 0x7fb6
movb $0x1, 0x13068(%rip)     # 0x1b18e
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12e9b(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x13041(%rip)     # 0x1b188
movl %r15d, %r12d
jmp 0x7fb6
movq 0x12e7a(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x1303c(%rip)     # 0x1b1a4
movl %r15d, %r12d
jmp 0x7fb6
cmpl $-0x1, %eax
jne 0x891f
testb $0x1, %r15b
jne 0x8935
movq 0x1301e(%rip), %rdi     # 0x1b1a8
testq %rdi, %rdi
je 0x81a3
leaq 0x8693(%rip), %rsi      # 0x10829
callq 0x6170
testl %eax, %eax
je 0x896c
movq 0x12e1e(%rip), %rax     # 0x1afc8
xorl %edi, %edi
cmpl %ebx, (%rax)
setge %dil
leaq 0x8675(%rip), %rsi      # 0x1082e
xorl %eax, %eax
callq 0x7bb4
movb $0x1, %r14b
cmpb $0x0, 0x12fc6(%rip)     # 0x1b190
jne 0x8205
cmpb $0x0, 0x12fb9(%rip)     # 0x1b18c
jne 0x8205
cmpb $0x0, 0x12fb1(%rip)     # 0x1b18d
jne 0x8205
cmpb $0x0, 0x12fa9(%rip)     # 0x1b18e
jne 0x8205
cmpb $0x0, 0x12fa1(%rip)     # 0x1b18f
jne 0x8205
cmpb $0x0, 0x12f9a(%rip)     # 0x1b191
jne 0x8205
cmpq $0x0, 0x12fa7(%rip)     # 0x1b1a8
setne %r14b
testb %r14b, %r14b
jne 0x822a
cmpb $0x0, 0x76820(%rip)     # 0x7ea31
jne 0x822a
cmpq $0x0, 0x7681d(%rip)     # 0x7ea38
jne 0x822a
cmpl $0x0, 0x12f64(%rip)     # 0x1b188
jne 0x899a
cmpb $0x1, 0x12f60(%rip)     # 0x1b191
jne 0x8267
cmpb $0x0, 0x12f52(%rip)     # 0x1b18c
jne 0x8929
cmpb $0x0, 0x12f46(%rip)     # 0x1b18d
jne 0x8929
cmpb $0x0, 0x12f3a(%rip)     # 0x1b18e
jne 0x8929
cmpb $0x1, 0x12f2e(%rip)     # 0x1b18f
je 0x8929
leaq 0x310(%rsp), %rdi
movl $0x14, %esi
callq 0xeed8
movl %eax, %ebp
cmpb $0x1, 0x767af(%rip)     # 0x7ea31
jne 0x831c
leaq 0x83da(%rip), %rdi      # 0x10669
xorl %eax, %eax
callq 0x7b1d
testl %ebp, %ebp
jle 0x890b
movl %ebp, %r12d
leaq 0x340(%rsp), %r13
leaq 0x83ce(%rip), %rbx      # 0x1067e
leaq 0x10(%rsp), %r14
xorl %r15d, %r15d
movq $0x0, 0x10(%rsp)
movl (%r13), %ebp
testb $0x2, %bpl
je 0x82da
movq %r14, %rdi
callq 0x6090
movw $0x31, 0x10(%rsp,%rax)
testb $0x4, %bpl
je 0x82ef
movq %r14, %rdi
callq 0x6090
movw $0x32, 0x10(%rsp,%rax)
movq -0x20(%r13), %rdx
movq -0x18(%r13), %rcx
movq -0x10(%r13), %r8
movq %rbx, %rdi
movl %r15d, %esi
movq %r14, %r9
xorl %eax, %eax
callq 0x7b1d
incq %r15
addq $0x68, %r13
cmpq %r15, %r12
jne 0x82b8
jmp 0x890b
cmpq $0x0, 0x76714(%rip)     # 0x7ea38
je 0x89a3
movq 0x76707(%rip), %rbx     # 0x7ea38
leaq 0x8388(%rip), %rsi      # 0x106c0
movq %rbx, %rdi
callq 0x6170
testl %eax, %eax
je 0x83cc
movb %r14b, 0x7(%rsp)
movq %rbx, %rdi
callq 0x8de0
movq %rax, %r13
movq 0x766e1(%rip), %rdi     # 0x7ea40
testq %rdi, %rdi
je 0x83d6
leaq 0x10(%rsp), %rsi
movq $0x0, (%rsi)
movl $0xa, %edx
callq 0x6240
movq %rax, %rbx
cmpl %ebx, %ebp
jle 0x838b
movq 0x10(%rsp), %rax
cmpb $0x0, (%rax)
je 0x83e5
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %ebp, %ebp
jle 0x83e5
movq %r13, 0x8(%rsp)
movq 0x766a0(%rip), %r15     # 0x7ea40
movl %ebp, %r12d
leaq 0x320(%rsp), %r13
xorl %r14d, %r14d
movq (%r13), %rdi
movq %r15, %rsi
callq 0x6170
testl %eax, %eax
je 0x83dd
incq %r14
addq $0x68, %r13
cmpq %r14, %r12
jne 0x83ae
jmp 0x83e0
callq 0x8ccc
jmp 0x890b
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
jmp 0x83ee
movl %r14d, %ebx
movq 0x8(%rsp), %r13
cmpl $-0x1, %ebx
je 0x89b5
xorl %eax, %eax
cmpl $0x1, %ebp
je 0x8417
testl %ebp, %ebp
je 0x89be
cmpl $0x2, %ebp
jl 0x8415
movl %ebx, %eax
cmpl $-0x1, %ebx
jne 0x8417
leaq 0x8301(%rip), %rdi      # 0x10711
jmp 0x89c5
movl %ebx, %eax
movl 0x12da3(%rip), %esi     # 0x1b1c0
cltq
cmpl $0x2, %esi
je 0x8454
movl $0x2, %ecx
cmpl $0x1, %esi
je 0x8459
cmpl $-0x1, %esi
jne 0x89cc
imulq $0x68, %rax, %rcx
movb 0x340(%rsp,%rcx), %cl
andb $0x4, %cl
shrb $0x2, %cl
movzbl %cl, %ecx
leal 0x2(,%rcx,2), %ecx
jmp 0x8459
movl $0x4, %ecx
movl %ecx, 0x12d61(%rip)     # 0x1b1c0
imulq $0x68, %rax, %rax
testl %ecx, 0x340(%rsp,%rax)
je 0x89ac
leaq (%rsp,%rax), %r14
addq $0x310, %r14            # imm = 0x310
movl 0x12d3f(%rip), %esi     # 0x1b1c0
movq %r14, %rdi
callq 0xf334
leaq 0x7f00(%rip), %rsi      # 0x10390
leaq 0x10(%rsp), %rdi
movl $0x200, %edx            # imm = 0x200
callq 0x6180
leaq 0x210(%rsp), %r15
movl $0x1, %edi
movq %r15, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x6711
movq %r15, %rsi
testl %eax, %eax
jne 0x84c4
movq 0x18(%r14), %rsi
leaq 0x10(%rsp), %r12
movq %r12, %rdi
callq 0x6250
movq %r12, %rdi
callq 0x6090
movw $0x20, 0x10(%rsp,%rax)
movl $0x2, %edi
movq %r15, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x6711
movq %r15, %rsi
testl %eax, %eax
jne 0x84fd
movq 0x20(%r14), %rsi
leaq 0x10(%rsp), %r12
movq %r12, %rdi
callq 0x6250
movq %r12, %rdi
callq 0x6090
movw $0x20, 0x10(%rsp,%rax)
movl $0x3, %edi
movq %r15, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x6711
testl %eax, %eax
jne 0x8533
movq 0x10(%r14), %r15
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x6250
movq %r12, %rdi
callq 0x6090
movw $0x20, %bx
movw %bx, 0x10(%rsp,%rax)
leaq 0x210(%rsp), %r15
movl $0x4, %edi
movq %r15, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x6711
movq %r12, %rdi
movq %r15, %rsi
callq 0x6250
movq %r12, %rdi
callq 0x6090
movw %bx, 0x10(%rsp,%rax)
movl $0xf0, %edi
movq %r15, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x6711
decl %eax
xorl %edi, %edi
cmpl $0x2, %eax
setb %dil
leaq 0x8d76(%rip), %rsi      # 0x11320
xorl %eax, %eax
callq 0x7bb4
movq %r12, %rdi
callq 0x6090
movw $0x28, 0x10(%rsp,%rax)
movb (%r15), %bl
testb $0x1, %bl
je 0x85d9
leaq 0x10(%rsp), %rdi
callq 0x6090
movw $0x53, 0x10(%rsp,%rax)
testb $0x2, %bl
je 0x85ef
leaq 0x10(%rsp), %rdi
callq 0x6090
movw $0x4a, 0x10(%rsp,%rax)
leaq 0x10(%rsp), %rdi
callq 0x6090
movw $0x202c, 0x10(%rsp,%rax) # imm = 0x202C
movb $0x0, 0x12(%rsp,%rax)
movl 0x30(%r14), %ebx
testb $0x2, %bl
je 0x861f
leaq 0x10(%rsp), %rdi
callq 0x6090
movw $0x31, 0x10(%rsp,%rax)
testb $0x4, %bl
je 0x8635
leaq 0x10(%rsp), %rdi
callq 0x6090
movw $0x32, 0x10(%rsp,%rax)
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x6090
movw $0xa29, 0x10(%rsp,%rax) # imm = 0xA29
movb $0x0, 0x12(%rsp,%rax)
movq %r14, %rdi
xorl %eax, %eax
callq 0x7a78
movzbl 0x210(%rsp), %edi
andl $0x1, %edi
leaq 0x8cde(%rip), %rsi      # 0x11348
xorl %eax, %eax
callq 0x7bb4
xorl %esi, %esi
cmpl $0x2, 0x12b46(%rip)     # 0x1b1c0
setne %sil
incl %esi
leaq 0x8123(%rip), %rdi      # 0x107aa
xorl %eax, %eax
callq 0x7a78
movl 0x12b34(%rip), %eax     # 0x1b1c8
cvtsi2ss %eax, %xmm0
xorl %ecx, %ecx
cmpl $0xf4240, %eax          # imm = 0xF4240
setl %cl
leaq 0x7c63(%rip), %rax      # 0x1030c
divss (%rax,%rcx,4), %xmm0
leaq 0x8ca8(%rip), %rax      # 0x1135d
leaq 0x8ca5(%rip), %rsi      # 0x11361
cmovlq %rax, %rsi
cvtss2sd %xmm0, %xmm0
leaq 0x8c9a(%rip), %rdi      # 0x11365
movb $0x1, %al
callq 0x7a78
callq 0x65ab
movl $0x1, %edi
callq 0x654e
xorl %edi, %edi
movl $0x8000, %esi           # imm = 0x8000
movl $0x80, %edx
callq 0x6622
xorl %edi, %edi
callq 0x6672
movl 0x12ac9(%rip), %edi     # 0x1b1c8
callq 0x65cf
xorl %edi, %edi
movl $0x1, %esi
callq 0x650a
cmpl $0x0, 0x12a71(%rip)     # 0x1b188
jle 0x87a9
leaq 0x809b(%rip), %rdi      # 0x107bf
xorl %eax, %eax
callq 0x7a78
xorl %edi, %edi
callq 0x7074
movslq 0x12a4f(%rip), %rax     # 0x1b188
imulq $0x10624dd3, %rax, %rcx # imm = 0x10624DD3
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x26, %rcx
addl %edx, %ecx
movslq %ecx, %rcx
leaq 0x10(%rsp), %r14
movq %rcx, (%r14)
imull $0x3e8, %ecx, %ecx      # imm = 0x3E8
subl %ecx, %eax
imull $0xf4240, %eax, %eax    # imm = 0xF4240
cltq
movq %rax, 0x8(%r14)
movq %r14, %rdi
xorl %esi, %esi
callq 0x60c0
movl $0x1, %edi
callq 0x7074
movq $0x0, (%r14)
movq $0x989680, 0x8(%r14)    # imm = 0x989680
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
callq 0x60c0
leaq 0x802a(%rip), %rdi      # 0x107cc
xorl %eax, %eax
callq 0x7a78
cmpb $0x0, 0x7(%rsp)
je 0x88f8
leaq 0x129cd(%rip), %rdi     # 0x1b188
callq *(%r13)
cmpb $0x1, 0x129ca(%rip)     # 0x1b190
jne 0x87e8
leaq 0x8005(%rip), %rdi      # 0x107d4
xorl %eax, %eax
callq 0x7a78
callq *0x20(%r13)
leaq 0x7feb(%rip), %rdi      # 0x107cc
xorl %eax, %eax
callq 0x7a78
cmpb $0x1, 0x1299d(%rip)     # 0x1b18c
jne 0x8811
leaq 0x7fe9(%rip), %rdi      # 0x107e1
xorl %eax, %eax
callq 0x7a78
callq *0x10(%r13)
leaq 0x7fc2(%rip), %rdi      # 0x107cc
xorl %eax, %eax
callq 0x7a78
cmpb $0x1, 0x12975(%rip)     # 0x1b18d
jne 0x883a
leaq 0x7fcb(%rip), %rdi      # 0x107ec
xorl %eax, %eax
callq 0x7a78
callq *0x28(%r13)
leaq 0x7f99(%rip), %rdi      # 0x107cc
xorl %eax, %eax
callq 0x7a78
cmpb $0x1, 0x1294d(%rip)     # 0x1b18e
jne 0x8863
leaq 0x7fb1(%rip), %rdi      # 0x107fb
xorl %eax, %eax
callq 0x7a78
callq *0x30(%r13)
leaq 0x7f70(%rip), %rdi      # 0x107cc
xorl %eax, %eax
callq 0x7a78
cmpb $0x1, 0x12925(%rip)     # 0x1b18f
jne 0x888c
leaq 0x7f98(%rip), %rdi      # 0x1080b
xorl %eax, %eax
callq 0x7a78
callq *0x18(%r13)
leaq 0x7f47(%rip), %rdi      # 0x107cc
xorl %eax, %eax
callq 0x7a78
cmpb $0x1, 0x128fe(%rip)     # 0x1b191
jne 0x88b5
leaq 0x7f7a(%rip), %rdi      # 0x10816
xorl %eax, %eax
callq 0x7a78
callq *0x38(%r13)
leaq 0x7f1e(%rip), %rdi      # 0x107cc
xorl %eax, %eax
callq 0x7a78
cmpq $0x0, 0x128eb(%rip)     # 0x1b1a8
je 0x88ea
leaq 0x7f5b(%rip), %rdi      # 0x10821
xorl %eax, %eax
callq 0x7a78
movq 0x128d4(%rip), %rsi     # 0x1b1a8
movq %r13, %rdi
callq 0x9005
leaq 0x7eea(%rip), %rdi      # 0x107cd
xorl %eax, %eax
callq 0x7a78
callq *0x8(%r13)
movl $0x1, %edi
callq 0x6fe8
xorl %edi, %edi
xorl %esi, %esi
callq 0x650a
callq 0x65ab
callq 0xf42f
xorl %eax, %eax
addq $0xb38, %rsp            # imm = 0xB38
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x1, %edi
callq 0x6270
leaq 0x7d14(%rip), %rdi      # 0x10644
jmp 0x89c5
movq (%r14), %rbx
leaq 0x7f77(%rip), %rdi      # 0x108b6
xorl %eax, %eax
callq 0x7b1d
movq 0x760eb(%rip), %rdi     # 0x7ea38
testq %rdi, %rdi
jne 0x8975
leaq 0x7fc2(%rip), %rdi      # 0x1091b
movq %rbx, %rsi
xorl %eax, %eax
callq 0x7b1d
leaq 0x7fc6(%rip), %rdi      # 0x10930
jmp 0x898c
leaq 0x84d0(%rip), %rdi      # 0x10e43
jmp 0x898c
callq 0x8de0
movq 0x58(%rax), %rax
testq %rax, %rax
leaq 0x7f66(%rip), %rdi      # 0x108ee
cmovneq %rax, %rdi
xorl %eax, %eax
callq 0x7b1d
xorl %edi, %edi
callq 0x6270
leaq 0x7c8e(%rip), %rdi      # 0x1062f
jmp 0x89c5
leaq 0x7ceb(%rip), %rdi      # 0x10695
jmp 0x89c5
leaq 0x7dbd(%rip), %rdi      # 0x10770
jmp 0x89c5
leaq 0x7d09(%rip), %rdi      # 0x106c5
jmp 0x89c5
leaq 0x7d39(%rip), %rdi      # 0x106fe
xorl %eax, %eax
callq 0x7c8d
leaq 0x7d7b(%rip), %rdi      # 0x1074e
xorl %eax, %eax
callq 0x7c8d
nop