// File: /workspace/github_c_makefile_star2_O0/barabo[P]advanced-shell-history/src/database.cpp
// Function: ash_sleep()
void ash_sleep() {
  Config & config = Config::instance();

  int retries = config.get_int("DB_MAX_RETRIES", -1);
  if (retries < 0) retries = 5;

  int fail_ms = config.get_int("DB_FAIL_TIMEOUT", -1);
  if (fail_ms < 0) fail_ms = 0;

  int random_ms = config.get_int("DB_FAIL_RANDOM_TIMEOUT", -1);
  if (random_ms < 0) random_ms = 0;

  // Sleep a number amount of ms within the parameters.
  unsigned long int ms = fail_ms;
  if (random_ms > 0) {
    // Randomize with both the time and the PID.  Since the database being
    // locked is likely a collission with another _ash_log - time along will
    // randomize both processes to generate the same random numbers.
    srand(time(0) ^ getpid());
    ms += rand() % random_ms;
  }
  LOG(INFO) << "Sleeping " << ms << " milliseconds.";
  if (ms == 0) return;

  // Measure a timestamp to count how long we actually slept.
  struct timespec before_ts, after_ts;
  if (clock_gettime(CLOCK_MONOTONIC, &before_ts)) {
    perror("clock_gettime failed");
  }

  unsigned int sleep_attempts = retries * 2;
  struct timespec to_sleep, remaining;
  to_sleep.tv_sec = ms / 1000L;
  to_sleep.tv_nsec = (ms % 1000L) * 1000000L;

  while (to_sleep.tv_sec || to_sleep.tv_nsec) {
    // Sanity check to make sure we aren't looping infinitely.
    if (sleep_attempts == 0) {
      LOG(WARNING) << "Sleep break triggered.  CLOCK_MONOTONIC may not work as "
                   << "expected on your system.  Or the database may be "
                   << "extremely busy with concurrent requests.";
      break;  // safety
    }
    --sleep_attempts;

    // Sleep and verify the return code.
    int rval = clock_nanosleep(CLOCK_MONOTONIC, 0, &to_sleep, &remaining);
    switch (rval) {
      case -1: 
        LOG(ERROR) << "Failed to clock_nanosleep: " << strerror(errno);
        continue;
      case 0: break;
      case EFAULT:
        LOG(ERROR) << "clock_nanosleep: EFAULT sleeping " << ms << " ms.";
        break;
      case EINTR:
        LOG(ERROR) << "clock_nanosleep: EINTR sleeping " << ms << " ms.";
        break;
      case EINVAL:
        LOG(ERROR) << "clock_nanosleep: EINVAL sleeping (tv_sec="
                   << to_sleep.tv_sec << ", tv_nsec="
                   << to_sleep.tv_nsec << ")";
        break;
      default:
        LOG(ERROR) << "Unexpected rval from clock_nanosleep: " << rval;
    }

    // If there is any time remaining, prepare to sleep again.
    if (remaining.tv_sec == 0
        && remaining.tv_nsec > 0
        && remaining.tv_nsec <= 999999999
        && remaining.tv_nsec < to_sleep.tv_nsec)
    {
      LOG(DEBUG) << "slept (to_sleep.tv_nsec - remaining.tv_nsec = "
                 << to_sleep.tv_nsec << " - " << remaining.tv_nsec << " = "
                 << (to_sleep.tv_nsec - remaining.tv_nsec) << ")";
      to_sleep.tv_sec = remaining.tv_sec;
      to_sleep.tv_nsec = remaining.tv_nsec;
    }
  }

  // Check to see how long has passed since ash_sleep began.
  if (clock_gettime(CLOCK_MONOTONIC, &after_ts)) {
    perror("clock_gettime failed");
  }
  
  unsigned long int slept =
    (after_ts.tv_sec - before_ts.tv_sec) * 1000 +
    (after_ts.tv_nsec - before_ts.tv_nsec) / 1000000L;

  LOG(INFO) << "Slept " << slept << " milliseconds.";

  if (ms > slept) {
    // This should never happen because of the while loop above.
    LOG(ERROR) << "Failed to sleep " << ms << " ms between failures.";
  }
  
  if (slept > (ms + 1) * 100) {
    LOG(ERROR) << "Major clock problem detected.  Requested sleep of: " << ms
               << " ms took " << slept << " ms to complete.";
  }
}

// Assembly:
subq $0x24a8, %rsp           # imm = 0x24A8
callq 0x90ab0
movq %rax, 0x24a0(%rsp)
movq 0x24a0(%rsp), %rax
movq %rax, 0x198(%rsp)
leaq 0x2477(%rsp), %rdi
movq %rdi, 0x1a0(%rsp)
callq 0x87f0
movq 0x1a0(%rsp), %rdx
leaq 0x1f925(%rip), %rsi     # 0xb256d
leaq 0x2478(%rsp), %rdi
callq 0x85b0
jmp 0x92c57
movq 0x198(%rsp), %rdi
leaq 0x2478(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x90840
movl %eax, 0x194(%rsp)
jmp 0x92c7a
leaq 0x2478(%rsp), %rdi
callq 0x88f8
jmp 0x92c89
leaq 0x2477(%rsp), %rdi
callq 0x84a0
movl 0x194(%rsp), %eax
movl %eax, 0x249c(%rsp)
cmpl $0x0, 0x249c(%rsp)
jge 0x92d08
movl $0x5, 0x249c(%rsp)
jmp 0x92d08
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
jmp 0x92cf6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x2478(%rsp), %rdi
callq 0x88f8
jmp 0x92cf4
jmp 0x92cf6
leaq 0x2477(%rsp), %rdi
callq 0x84a0
jmp 0x93936
movq 0x24a0(%rsp), %rax
movq %rax, 0x180(%rsp)
leaq 0x243f(%rsp), %rdi
movq %rdi, 0x188(%rsp)
callq 0x87f0
movq 0x188(%rsp), %rdx
leaq 0x1f840(%rip), %rsi     # 0xb257c
leaq 0x2440(%rsp), %rdi
callq 0x85b0
jmp 0x92d4b
movq 0x180(%rsp), %rdi
leaq 0x2440(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x90840
movl %eax, 0x17c(%rsp)
jmp 0x92d6e
leaq 0x2440(%rsp), %rdi
callq 0x88f8
jmp 0x92d7d
leaq 0x243f(%rsp), %rdi
callq 0x84a0
movl 0x17c(%rsp), %eax
movl %eax, 0x2460(%rsp)
cmpl $0x0, 0x2460(%rsp)
jge 0x92dfc
movl $0x0, 0x2460(%rsp)
jmp 0x92dfc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
jmp 0x92dea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x2440(%rsp), %rdi
callq 0x88f8
jmp 0x92de8
jmp 0x92dea
leaq 0x243f(%rsp), %rdi
callq 0x84a0
jmp 0x93936
movq 0x24a0(%rsp), %rax
movq %rax, 0x168(%rsp)
leaq 0x2417(%rsp), %rdi
movq %rdi, 0x170(%rsp)
callq 0x87f0
movq 0x170(%rsp), %rdx
leaq 0x1f75c(%rip), %rsi     # 0xb258c
leaq 0x2418(%rsp), %rdi
callq 0x85b0
jmp 0x92e3f
movq 0x168(%rsp), %rdi
leaq 0x2418(%rsp), %rsi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
callq 0x90840
movl %eax, 0x164(%rsp)
jmp 0x92e62
leaq 0x2418(%rsp), %rdi
callq 0x88f8
jmp 0x92e71
leaq 0x2417(%rsp), %rdi
callq 0x84a0
movl 0x164(%rsp), %eax
movl %eax, 0x2438(%rsp)
cmpl $0x0, 0x2438(%rsp)
jge 0x92ef0
movl $0x0, 0x2438(%rsp)
jmp 0x92ef0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
jmp 0x92ede
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x2418(%rsp), %rdi
callq 0x88f8
jmp 0x92edc
jmp 0x92ede
leaq 0x2417(%rsp), %rdi
callq 0x84a0
jmp 0x93936
movslq 0x2460(%rsp), %rax
movq %rax, 0x2408(%rsp)
cmpl $0x0, 0x2438(%rsp)
jle 0x92f57
xorl %eax, %eax
movl %eax, %edi
callq 0x8380
movq %rax, 0x158(%rsp)
callq 0x8640
movl %eax, %ecx
movq 0x158(%rsp), %rax
movslq %ecx, %rcx
xorq %rcx, %rax
movl %eax, %edi
callq 0x83d0
callq 0x80e0
cltd
idivl 0x2438(%rsp)
movslq %edx, %rax
addq 0x2408(%rsp), %rax
movq %rax, 0x2408(%rsp)
leaq 0x20f0(%rsp), %rdi
movq %rdi, 0x148(%rsp)
movl $0x1, %esi
callq 0xa1800
movq 0x148(%rsp), %rdi
leaq 0x1f623(%rip), %rsi     # 0xb25a3
callq 0x945b0
movq %rax, 0x150(%rsp)
jmp 0x92f8f
movq 0x150(%rsp), %rdi
movq 0x2408(%rsp), %rsi
callq 0x80c0
movq %rax, 0x140(%rsp)
jmp 0x92fae
movq 0x140(%rsp), %rdi
leaq 0x1f5f0(%rip), %rsi     # 0xb25ad
callq 0x8400
jmp 0x92fc4
leaq 0x20f0(%rsp), %rdi
callq 0xa1f50
cmpq $0x0, 0x2408(%rsp)
jne 0x93009
jmp 0x9392e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x20f0(%rsp), %rdi
callq 0xa1f50
jmp 0x93004
jmp 0x93936
movl $0x1, %edi
leaq 0x20e0(%rsp), %rsi
callq 0x8370
cmpl $0x0, %eax
je 0x9302c
leaq 0x1f595(%rip), %rdi     # 0xb25bc
callq 0x8300
movl 0x249c(%rsp), %eax
shll %eax
movl %eax, 0x20cc(%rsp)
movq 0x2408(%rsp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
xorl %edx, %edx
divq %rcx
movq %rax, 0x20b8(%rsp)
movq 0x2408(%rsp), %rax
movl $0x3e8, %ecx            # imm = 0x3E8
xorl %edx, %edx
divq %rcx
imulq $0xf4240, %rdx, %rax    # imm = 0xF4240
movq %rax, 0x20c0(%rsp)
movb $0x1, %al
cmpq $0x0, 0x20b8(%rsp)
movb %al, 0x13f(%rsp)
jne 0x9309e
cmpq $0x0, 0x20c0(%rsp)
setne %al
movb %al, 0x13f(%rsp)
movb 0x13f(%rsp), %al
testb $0x1, %al
jne 0x930ae
jmp 0x93692
cmpl $0x0, 0x20cc(%rsp)
jne 0x93162
leaq 0x1d90(%rsp), %rdi
movq %rdi, 0x128(%rsp)
movl $0x2, %esi
callq 0xa1800
movq 0x128(%rsp), %rdi
leaq 0x1f4ec(%rip), %rsi     # 0xb25d1
callq 0x945b0
movq %rax, 0x130(%rsp)
jmp 0x930f4
movq 0x130(%rsp), %rdi
leaq 0x1f507(%rip), %rsi     # 0xb260a
callq 0x8400
movq %rax, 0x120(%rsp)
jmp 0x93112
movq 0x120(%rsp), %rdi
leaq 0x1f51b(%rip), %rsi     # 0xb263c
callq 0x8400
jmp 0x93128
leaq 0x1d90(%rsp), %rdi
callq 0xa1f50
jmp 0x93692
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x1d90(%rsp), %rdi
callq 0xa1f50
jmp 0x9315d
jmp 0x93936
movl 0x20cc(%rsp), %eax
decl %eax
movl %eax, 0x20cc(%rsp)
movl $0x1, %edi
xorl %esi, %esi
leaq 0x20b8(%rsp), %rdx
leaq 0x20a8(%rsp), %rcx
callq 0x8890
movl %eax, 0x1d8c(%rsp)
movl 0x1d8c(%rsp), %eax
incl %eax
movl %eax, %ecx
movq %rcx, 0x118(%rsp)
subl $0x17, %eax
ja 0x93490
movq 0x118(%rsp), %rax
leaq 0x1f254(%rip), %rcx     # 0xb2414
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x1a70(%rsp), %rdi
movq %rdi, 0x108(%rsp)
movl $0x3, %esi
callq 0xa1800
movq 0x108(%rsp), %rdi
leaq 0x1f473(%rip), %rsi     # 0xb2665
callq 0x945b0
movq %rax, 0x110(%rsp)
jmp 0x93201
callq 0x8060
movl (%rax), %edi
callq 0x8130
movq 0x110(%rsp), %rdi
movq %rax, %rsi
callq 0x8400
jmp 0x9321f
leaq 0x1a70(%rsp), %rdi
callq 0xa1f50
jmp 0x93077
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x1a70(%rsp), %rdi
callq 0xa1f50
jmp 0x93254
jmp 0x93936
jmp 0x934eb
leaq 0x1758(%rsp), %rdi
movq %rdi, 0xf8(%rsp)
movl $0x3, %esi
callq 0xa1800
movq 0xf8(%rsp), %rdi
leaq 0x1f3fa(%rip), %rsi     # 0xb2681
callq 0x945b0
movq %rax, 0x100(%rsp)
jmp 0x93296
movq 0x100(%rsp), %rdi
movq 0x2408(%rsp), %rsi
callq 0x80c0
movq %rax, 0xf0(%rsp)
jmp 0x932b5
movq 0xf0(%rsp), %rdi
leaq 0x1f3df(%rip), %rsi     # 0xb26a3
callq 0x8400
jmp 0x932cb
leaq 0x1758(%rsp), %rdi
callq 0xa1f50
jmp 0x934eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x1758(%rsp), %rdi
callq 0xa1f50
jmp 0x93300
jmp 0x93936
leaq 0x1440(%rsp), %rdi
movq %rdi, 0xe0(%rsp)
movl $0x3, %esi
callq 0xa1800
movq 0xe0(%rsp), %rdi
leaq 0x1f37a(%rip), %rsi     # 0xb26a8
callq 0x945b0
movq %rax, 0xe8(%rsp)
jmp 0x9333d
movq 0xe8(%rsp), %rdi
movq 0x2408(%rsp), %rsi
callq 0x80c0
movq %rax, 0xd8(%rsp)
jmp 0x9335c
movq 0xd8(%rsp), %rdi
leaq 0x1f338(%rip), %rsi     # 0xb26a3
callq 0x8400
jmp 0x93372
leaq 0x1440(%rsp), %rdi
callq 0xa1f50
jmp 0x934eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x1440(%rsp), %rdi
callq 0xa1f50
jmp 0x933a7
jmp 0x93936
leaq 0x1128(%rsp), %rdi
movq %rdi, 0xc8(%rsp)
movl $0x3, %esi
callq 0xa1800
movq 0xc8(%rsp), %rdi
leaq 0x1f2f4(%rip), %rsi     # 0xb26c9
callq 0x945b0
movq %rax, 0xd0(%rsp)
jmp 0x933e4
movq 0xd0(%rsp), %rdi
movq 0x20b8(%rsp), %rsi
callq 0x8820
movq %rax, 0xc0(%rsp)
jmp 0x93403
movq 0xc0(%rsp), %rdi
leaq 0x1f2e1(%rip), %rsi     # 0xb26f3
callq 0x8400
movq %rax, 0xb8(%rsp)
jmp 0x93421
movq 0xb8(%rsp), %rdi
movq 0x20c0(%rsp), %rsi
callq 0x8820
movq %rax, 0xb0(%rsp)
jmp 0x93440
movq 0xb0(%rsp), %rdi
leaq 0x1ca02(%rip), %rsi     # 0xafe51
callq 0x8400
jmp 0x93456
leaq 0x1128(%rsp), %rdi
callq 0xa1f50
jmp 0x934eb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x1128(%rsp), %rdi
callq 0xa1f50
jmp 0x9348b
jmp 0x93936
leaq 0xe10(%rsp), %rdi
movq %rdi, 0xa0(%rsp)
movl $0x3, %esi
callq 0xa1800
movq 0xa0(%rsp), %rdi
leaq 0x1f245(%rip), %rsi     # 0xb26fe
callq 0x945b0
movq %rax, 0xa8(%rsp)
jmp 0x934c8
movq 0xa8(%rsp), %rdi
movl 0x1d8c(%rsp), %esi
callq 0x8780
jmp 0x934de
leaq 0xe10(%rsp), %rdi
callq 0xa1f50
cmpq $0x0, 0x20a8(%rsp)
jne 0x9368d
cmpq $0x0, 0x20b0(%rsp)
jle 0x9368d
cmpq $0x3b9ac9ff, 0x20b0(%rsp) # imm = 0x3B9AC9FF
jg 0x9368d
movq 0x20b0(%rsp), %rax
cmpq 0x20c0(%rsp), %rax
jge 0x9368d
leaq 0xaf8(%rsp), %rdi
movq %rdi, 0x90(%rsp)
xorl %esi, %esi
callq 0xa1800
movq 0x90(%rsp), %rdi
leaq 0x1f1ce(%rip), %rsi     # 0xb2725
callq 0x945b0
movq %rax, 0x98(%rsp)
jmp 0x93566
movq 0x98(%rsp), %rdi
movq 0x20c0(%rsp), %rsi
callq 0x8820
movq %rax, 0x88(%rsp)
jmp 0x93585
movq 0x88(%rsp), %rdi
leaq 0x1f1c0(%rip), %rsi     # 0xb2754
callq 0x8400
movq %rax, 0x80(%rsp)
jmp 0x935a3
movq 0x80(%rsp), %rdi
movq 0x20b0(%rsp), %rsi
callq 0x8820
movq %rax, 0x78(%rsp)
jmp 0x935bf
movq 0x78(%rsp), %rdi
leaq 0x1f185(%rip), %rsi     # 0xb2750
callq 0x8400
movq %rax, 0x70(%rsp)
jmp 0x935d7
movq 0x70(%rsp), %rdi
movq 0x20c0(%rsp), %rsi
movq 0x20b0(%rsp), %rax
subq %rax, %rsi
callq 0x8820
movq %rax, 0x68(%rsp)
jmp 0x935fb
movq 0x68(%rsp), %rdi
leaq 0x1c84a(%rip), %rsi     # 0xafe51
callq 0x8400
jmp 0x9360e
leaq 0xaf8(%rsp), %rdi
callq 0xa1f50
movq 0x20a8(%rsp), %rax
movq %rax, 0x20b8(%rsp)
movq 0x20b0(%rsp), %rax
movq %rax, 0x20c0(%rsp)
jmp 0x9368d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0xe10(%rsp), %rdi
callq 0xa1f50
jmp 0x93660
jmp 0x93936
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0xaf8(%rsp), %rdi
callq 0xa1f50
jmp 0x93688
jmp 0x93936
jmp 0x93077
movl $0x1, %edi
leaq 0x20d0(%rsp), %rsi
callq 0x8370
cmpl $0x0, %eax
je 0x936b5
leaq 0x1ef0c(%rip), %rdi     # 0xb25bc
callq 0x8300
movq 0x20d0(%rsp), %rdx
movq 0x20d8(%rsp), %rax
movq 0x20e0(%rsp), %rsi
movq 0x20e8(%rsp), %rcx
subq %rsi, %rdx
imulq $0x3e8, %rdx, %rdx      # imm = 0x3E8
movq %rdx, 0x50(%rsp)
subq %rcx, %rax
movabsq $0x431bde82d7b634db, %rcx # imm = 0x431BDE82D7B634DB
imulq %rcx
movq 0x50(%rsp), %rax
movq %rdx, %rcx
movq %rcx, %rdx
shrq $0x3f, %rdx
sarq $0x12, %rcx
addq %rdx, %rcx
addq %rcx, %rax
movq %rax, 0xaf0(%rsp)
leaq 0x7d8(%rsp), %rdi
movq %rdi, 0x58(%rsp)
movl $0x1, %esi
callq 0xa1800
movq 0x58(%rsp), %rdi
leaq 0x1f020(%rip), %rsi     # 0xb2758
callq 0x945b0
movq %rax, 0x60(%rsp)
jmp 0x93744
movq 0x60(%rsp), %rdi
movq 0xaf0(%rsp), %rsi
callq 0x80c0
movq %rax, 0x48(%rsp)
jmp 0x9375d
movq 0x48(%rsp), %rdi
leaq 0x1ee44(%rip), %rsi     # 0xb25ad
callq 0x8400
jmp 0x93770
leaq 0x7d8(%rsp), %rdi
callq 0xa1f50
movq 0x2408(%rsp), %rax
cmpq 0xaf0(%rsp), %rax
jbe 0x9384d
leaq 0x4c0(%rsp), %rdi
movq %rdi, 0x38(%rsp)
movl $0x3, %esi
callq 0xa1800
movq 0x38(%rsp), %rdi
leaq 0x1efa9(%rip), %rsi     # 0xb275f
callq 0x945b0
movq %rax, 0x40(%rsp)
jmp 0x937c2
movq 0x40(%rsp), %rdi
movq 0x2408(%rsp), %rsi
callq 0x80c0
movq %rax, 0x30(%rsp)
jmp 0x937db
movq 0x30(%rsp), %rdi
leaq 0x1ef89(%rip), %rsi     # 0xb2770
callq 0x8400
jmp 0x937ee
leaq 0x4c0(%rsp), %rdi
callq 0xa1f50
jmp 0x9384d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x7d8(%rsp), %rdi
callq 0xa1f50
jmp 0x93820
jmp 0x93936
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x4c0(%rsp), %rdi
callq 0xa1f50
jmp 0x93848
jmp 0x93936
movq 0xaf0(%rsp), %rax
movq 0x2408(%rsp), %rcx
addq $0x1, %rcx
imulq $0x64, %rcx, %rcx
cmpq %rcx, %rax
jbe 0x9392e
leaq 0x1a8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
movl $0x3, %esi
callq 0xa1800
movq 0x20(%rsp), %rdi
leaq 0x1eef5(%rip), %rsi     # 0xb2786
callq 0x945b0
movq %rax, 0x28(%rsp)
jmp 0x9389d
movq 0x28(%rsp), %rdi
movq 0x2408(%rsp), %rsi
callq 0x80c0
movq %rax, 0x18(%rsp)
jmp 0x938b6
movq 0x18(%rsp), %rdi
leaq 0x1eef8(%rip), %rsi     # 0xb27ba
callq 0x8400
movq %rax, 0x10(%rsp)
jmp 0x938ce
movq 0x10(%rsp), %rdi
movq 0xaf0(%rsp), %rsi
callq 0x80c0
movq %rax, 0x8(%rsp)
jmp 0x938e7
movq 0x8(%rsp), %rdi
leaq 0x1eed1(%rip), %rsi     # 0xb27c4
callq 0x8400
jmp 0x938fa
leaq 0x1a8(%rsp), %rdi
callq 0xa1f50
jmp 0x9392e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x2468(%rsp)
movl %eax, 0x2464(%rsp)
leaq 0x1a8(%rsp), %rdi
callq 0xa1f50
jmp 0x9392c
jmp 0x93936
addq $0x24a8, %rsp           # imm = 0x24A8
retq
movq 0x2468(%rsp), %rdi
callq 0x87d0
movq %rax, %rdi
callq 0x8cf60
nopl (%rax,%rax)