// File: /workspace/github_c_makefile_star2_O3/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 0x10483(%rip), %r13     # 0x18440
leaq 0x834c(%rip), %rbp      # 0x10310
movl %r12d, %r15d
movl %ebx, %edi
movq %r14, %rsi
leaq 0x8881(%rip), %rdx      # 0x10854
movq %r13, %rcx
leaq 0x10(%rsp), %r8
callq 0x60b0
leal -0x62(%rax), %ecx
cmpl $0x18, %ecx
ja 0x8001
movb $0x1, %r12b
movslq (%rbp,%rcx,4), %rax
addq %rbp, %rax
jmpq *%rax
movb $0x1, 0x76a34(%rip)     # 0x7ea30
movl %r15d, %r12d
jmp 0x7fc4
cmpl $0x46, %eax
jne 0x817e
movq 0x12fbf(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x1318d(%rip)     # 0x1b1a8
movl %r15d, %r12d
jmp 0x7fc4
movb $0x1, 0x76a0a(%rip)     # 0x7ea31
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12f9d(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x1315b(%rip)     # 0x1b1a0
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12f7c(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
imulq $0x3e8, %rax, %rax      # imm = 0x3E8
movq %rax, 0x1315a(%rip)     # 0x1b1c8
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12f53(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x13111(%rip)     # 0x1b198
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12f3a(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x76998(%rip)     # 0x7ea38
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12f21(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x130ff(%rip)     # 0x1b1c0
movl %r15d, %r12d
jmp 0x7fc4
movb $0x1, 0x130c1(%rip)     # 0x1b191
movl %r15d, %r12d
jmp 0x7fc4
movb $0x1, 0x130b1(%rip)     # 0x1b190
movl %r15d, %r12d
jmp 0x7fc4
movb $0x1, 0x1309e(%rip)     # 0x1b18c
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12ed3(%rip), %rax     # 0x1afd0
movq (%rax), %rax
movq %rax, 0x76939(%rip)     # 0x7ea40
movl %r15d, %r12d
jmp 0x7fc4
movb $0x1, 0x13077(%rip)     # 0x1b18d
movl %r15d, %r12d
jmp 0x7fc4
movb $0x1, 0x1306a(%rip)     # 0x1b18f
movl %r15d, %r12d
jmp 0x7fc4
movb $0x1, 0x1305a(%rip)     # 0x1b18e
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12e8d(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x13033(%rip)     # 0x1b188
movl %r15d, %r12d
jmp 0x7fc4
movq 0x12e6c(%rip), %rax     # 0x1afd0
movq (%rax), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x6240
movl %eax, 0x1302e(%rip)     # 0x1b1a4
movl %r15d, %r12d
jmp 0x7fc4
cmpl $-0x1, %eax
jne 0x892d
testb $0x1, %r15b
jne 0x8945
movq 0x13010(%rip), %rdi     # 0x1b1a8
testq %rdi, %rdi
je 0x81b1
leaq 0x8675(%rip), %rsi      # 0x10819
callq 0x6180
testl %eax, %eax
je 0x897c
movq 0x12e10(%rip), %rax     # 0x1afc8
xorl %edi, %edi
cmpl %ebx, (%rax)
setge %dil
leaq 0x8657(%rip), %rsi      # 0x1081e
xorl %eax, %eax
callq 0x7bcc
movb $0x1, %r13b
cmpb $0x0, 0x12fb8(%rip)     # 0x1b190
jne 0x8202
cmpb $0x0, 0x12fab(%rip)     # 0x1b18c
jne 0x8202
cmpb $0x0, 0x12fa3(%rip)     # 0x1b18d
jne 0x8202
cmpb $0x0, 0x12f9b(%rip)     # 0x1b18e
jne 0x8202
cmpb $0x0, 0x12f93(%rip)     # 0x1b18f
je 0x88de
cmpb $0x1, 0x12f88(%rip)     # 0x1b191
jne 0x823f
cmpb $0x0, 0x12f7a(%rip)     # 0x1b18c
jne 0x8937
cmpb $0x0, 0x12f6e(%rip)     # 0x1b18d
jne 0x8937
cmpb $0x0, 0x12f62(%rip)     # 0x1b18e
jne 0x8937
cmpb $0x1, 0x12f56(%rip)     # 0x1b18f
je 0x8937
leaq 0x310(%rsp), %rdi
movl $0x14, %esi
callq 0xeecc
movl %eax, %ebp
cmpb $0x1, 0x767d7(%rip)     # 0x7ea31
jne 0x82f4
leaq 0x83f2(%rip), %rdi      # 0x10659
xorl %eax, %eax
callq 0x7b35
testl %ebp, %ebp
jle 0x88ca
movl %ebp, %r12d
leaq 0x340(%rsp), %r13
leaq 0x83e6(%rip), %rbx      # 0x1066e
leaq 0x10(%rsp), %r14
xorl %r15d, %r15d
movq $0x0, 0x10(%rsp)
movl (%r13), %ebp
testb $0x2, %bpl
je 0x82b2
movq %r14, %rdi
callq 0x6090
movw $0x31, 0x10(%rsp,%rax)
testb $0x4, %bpl
je 0x82c7
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 0x7b35
incq %r15
addq $0x68, %r13
cmpq %r15, %r12
jne 0x8290
jmp 0x88ca
movq 0x7673d(%rip), %rbx     # 0x7ea38
testq %rbx, %rbx
je 0x89aa
leaq 0x83a5(%rip), %rsi      # 0x106b0
movq %rbx, %rdi
callq 0x6180
testl %eax, %eax
je 0x839c
movq %rbx, %rdi
callq 0x8e15
movq %rax, 0x8(%rsp)
movq 0x76711(%rip), %rdi     # 0x7ea40
testq %rdi, %rdi
je 0x83a6
leaq 0x10(%rsp), %rsi
movq $0x0, (%rsi)
movl $0xa, %edx
callq 0x6240
movq %rax, %r14
cmpl %r14d, %ebp
jle 0x835c
movq 0x10(%rsp), %rax
cmpb $0x0, (%rax)
je 0x83ae
testl %ebp, %ebp
jle 0x8390
movq 0x766d9(%rip), %r15     # 0x7ea40
movl %ebp, %r12d
leaq 0x320(%rsp), %rbx
xorl %r14d, %r14d
movq (%rbx), %rdi
movq %r15, %rsi
callq 0x6180
testl %eax, %eax
je 0x83b4
incq %r14
addq $0x68, %rbx
cmpq %r14, %r12
jne 0x8375
leaq 0x831e(%rip), %rdi      # 0x106b5
jmp 0x893e
callq 0x8ce4
jmp 0x88ca
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
jmp 0x83b4
cmpl $-0x1, %r14d
je 0x8390
xorl %eax, %eax
cmpl $0x1, %ebp
je 0x83e0
testl %ebp, %ebp
je 0x89bc
cmpl $0x2, %ebp
jl 0x83dd
movl %r14d, %eax
cmpl $-0x1, %r14d
jne 0x83e0
leaq 0x8329(%rip), %rdi      # 0x10701
jmp 0x893e
movl %r14d, %eax
movl 0x12dda(%rip), %esi     # 0x1b1c0
movslq %eax, %rcx
cmpl $0x2, %esi
je 0x841d
movl $0x2, %eax
cmpl $0x1, %esi
je 0x8422
cmpl $-0x1, %esi
jne 0x89c8
imulq $0x68, %rcx, %rax
movb 0x340(%rsp,%rax), %al
andb $0x4, %al
shrb $0x2, %al
movzbl %al, %eax
leal 0x2(,%rax,2), %eax
jmp 0x8422
movl $0x4, %eax
movl %eax, 0x12d98(%rip)     # 0x1b1c0
imulq $0x68, %rcx, %rcx
testl %eax, 0x340(%rsp,%rcx)
je 0x89b3
leaq (%rsp,%rcx), %r14
addq $0x310, %r14            # imm = 0x310
movq %r14, %rdi
movl %eax, %esi
callq 0xf304
leaq 0x7f2b(%rip), %rsi      # 0x10380
leaq 0x10(%rsp), %rdi
movl $0x200, %edx            # imm = 0x200
callq 0x6190
leaq 0x210(%rsp), %r15
movl $0x1, %edi
movq %r15, %rsi
movl $0x100, %edx            # imm = 0x100
callq 0x6711
movq %r15, %rsi
testl %eax, %eax
jne 0x8489
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 0x84c2
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 0x84f8
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 0x8da1(%rip), %rsi      # 0x11310
xorl %eax, %eax
callq 0x7bcc
movq %r12, %rdi
callq 0x6090
movw $0x28, 0x10(%rsp,%rax)
movb (%r15), %bl
testb $0x1, %bl
je 0x859e
leaq 0x10(%rsp), %rdi
callq 0x6090
movw $0x53, 0x10(%rsp,%rax)
testb $0x2, %bl
je 0x85b4
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 0x85e4
leaq 0x10(%rsp), %rdi
callq 0x6090
movw $0x31, 0x10(%rsp,%rax)
testb $0x4, %bl
je 0x85fa
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 0x7a90
movzbl 0x210(%rsp), %edi
andl $0x1, %edi
leaq 0x8d09(%rip), %rsi      # 0x11338
xorl %eax, %eax
callq 0x7bcc
xorl %esi, %esi
cmpl $0x2, 0x12b81(%rip)     # 0x1b1c0
setne %sil
incl %esi
leaq 0x814e(%rip), %rdi      # 0x1079a
xorl %eax, %eax
callq 0x7a90
movl 0x12b6f(%rip), %eax     # 0x1b1c8
cvtsi2ss %eax, %xmm0
xorl %ecx, %ecx
cmpl $0xf4240, %eax          # imm = 0xF4240
setl %cl
leaq 0x7c92(%rip), %rax      # 0x10300
divss (%rax,%rcx,4), %xmm0
leaq 0x8cd3(%rip), %rax      # 0x1134d
leaq 0x8cd0(%rip), %rsi      # 0x11351
cmovlq %rax, %rsi
cvtss2sd %xmm0, %xmm0
leaq 0x8cc5(%rip), %rdi      # 0x11355
movb $0x1, %al
callq 0x7a90
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 0x12b04(%rip), %edi     # 0x1b1c8
callq 0x65cf
xorl %edi, %edi
movl $0x1, %esi
callq 0x650a
cmpl $0x0, 0x12aac(%rip)     # 0x1b188
jle 0x876e
leaq 0x80c6(%rip), %rdi      # 0x107af
xorl %eax, %eax
callq 0x7a90
xorl %edi, %edi
callq 0x709f
movslq 0x12a8a(%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 0x709f
movq $0x0, (%r14)
movq $0x989680, 0x8(%r14)    # imm = 0x989680
leaq 0x10(%rsp), %rdi
xorl %esi, %esi
callq 0x60c0
leaq 0x8055(%rip), %rdi      # 0x107bc
xorl %eax, %eax
callq 0x7a90
testb %r13b, %r13b
je 0x88b7
leaq 0x12a0a(%rip), %rdi     # 0x1b188
movq 0x8(%rsp), %rbx
callq *(%rbx)
cmpb $0x1, 0x12a04(%rip)     # 0x1b190
jne 0x87ad
leaq 0x802f(%rip), %rdi      # 0x107c4
xorl %eax, %eax
callq 0x7a90
callq *0x20(%rbx)
leaq 0x8016(%rip), %rdi      # 0x107bc
xorl %eax, %eax
callq 0x7a90
cmpb $0x1, 0x129d8(%rip)     # 0x1b18c
jne 0x87d5
leaq 0x8014(%rip), %rdi      # 0x107d1
xorl %eax, %eax
callq 0x7a90
callq *0x10(%rbx)
leaq 0x7fee(%rip), %rdi      # 0x107bc
xorl %eax, %eax
callq 0x7a90
cmpb $0x1, 0x129b1(%rip)     # 0x1b18d
jne 0x87fd
leaq 0x7ff7(%rip), %rdi      # 0x107dc
xorl %eax, %eax
callq 0x7a90
callq *0x28(%rbx)
leaq 0x7fc6(%rip), %rdi      # 0x107bc
xorl %eax, %eax
callq 0x7a90
cmpb $0x1, 0x1298a(%rip)     # 0x1b18e
jne 0x8825
leaq 0x7fde(%rip), %rdi      # 0x107eb
xorl %eax, %eax
callq 0x7a90
callq *0x30(%rbx)
leaq 0x7f9e(%rip), %rdi      # 0x107bc
xorl %eax, %eax
callq 0x7a90
cmpb $0x1, 0x12963(%rip)     # 0x1b18f
jne 0x884d
leaq 0x7fc6(%rip), %rdi      # 0x107fb
xorl %eax, %eax
callq 0x7a90
callq *0x18(%rbx)
leaq 0x7f76(%rip), %rdi      # 0x107bc
xorl %eax, %eax
callq 0x7a90
cmpb $0x1, 0x1293d(%rip)     # 0x1b191
jne 0x8875
leaq 0x7fa9(%rip), %rdi      # 0x10806
xorl %eax, %eax
callq 0x7a90
callq *0x38(%rbx)
leaq 0x7f4e(%rip), %rdi      # 0x107bc
xorl %eax, %eax
callq 0x7a90
cmpq $0x0, 0x1292b(%rip)     # 0x1b1a8
je 0x88aa
leaq 0x7f8b(%rip), %rdi      # 0x10811
xorl %eax, %eax
callq 0x7a90
movq 0x12914(%rip), %rsi     # 0x1b1a8
movq %rbx, %rdi
callq 0x8ff4
leaq 0x7f1a(%rip), %rdi      # 0x107bd
xorl %eax, %eax
callq 0x7a90
callq *0x8(%rbx)
movl $0x1, %edi
callq 0x7013
xorl %edi, %edi
xorl %esi, %esi
callq 0x650a
callq 0x65ab
callq 0xf401
xorl %eax, %eax
addq $0xb38, %rsp            # imm = 0xB38
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpb $0x0, 0x128ac(%rip)     # 0x1b191
jne 0x8202
cmpq $0x0, 0x128b5(%rip)     # 0x1b1a8
jne 0x8202
xorl %r13d, %r13d
cmpb $0x0, 0x7612e(%rip)     # 0x7ea31
jne 0x8202
cmpq $0x0, 0x76127(%rip)     # 0x7ea38
jne 0x8202
cmpl $0x0, 0x1286a(%rip)     # 0x1b188
je 0x8202
leaq 0x7cf4(%rip), %rdi      # 0x1061f
jmp 0x893e
movl $0x1, %edi
callq 0x6270
leaq 0x7cf6(%rip), %rdi      # 0x10634
xorl %eax, %eax
callq 0x7ca5
movq (%r14), %rbx
leaq 0x7f57(%rip), %rdi      # 0x108a6
xorl %eax, %eax
callq 0x7b35
movq 0x760db(%rip), %rdi     # 0x7ea38
testq %rdi, %rdi
jne 0x8985
leaq 0x7fa2(%rip), %rdi      # 0x1090b
movq %rbx, %rsi
xorl %eax, %eax
callq 0x7b35
leaq 0x7fa6(%rip), %rdi      # 0x10920
jmp 0x899c
leaq 0x84b0(%rip), %rdi      # 0x10e33
jmp 0x899c
callq 0x8e15
movq 0x58(%rax), %rax
testq %rax, %rax
leaq 0x7f46(%rip), %rdi      # 0x108de
cmovneq %rax, %rdi
xorl %eax, %eax
callq 0x7b35
xorl %edi, %edi
callq 0x6270
leaq 0x7cd4(%rip), %rdi      # 0x10685
jmp 0x893e
leaq 0x7da6(%rip), %rdi      # 0x10760
jmp 0x893e
leaq 0x7d2b(%rip), %rdi      # 0x106ee
jmp 0x893e
leaq 0x7d6f(%rip), %rdi      # 0x1073e
xorl %eax, %eax
callq 0x7ca5
nop