// File: /workspace/github_c_makefile_star2_O0/sfeakes[P]unifi-motion/mongoose.c
// Function: c_vsnprintf
int c_vsnprintf(char *buf, size_t buf_size, const char *fmt, va_list ap) {
  int ch, i = 0, len_mod, flags, precision, field_width;

  while ((ch = *fmt++) != '\0') {
    if (ch != '%') {
      C_SNPRINTF_APPEND_CHAR(ch);
    } else {
      /*
       * Conversion specification:
       *   zero or more flags (one of: # 0 - <space> + ')
       *   an optional minimum  field  width (digits)
       *   an  optional precision (. followed by digits, or *)
       *   an optional length modifier (one of: hh h l ll L q j z t)
       *   conversion specifier (one of: d i o u x X e E f F g G a A c s p n)
       */
      flags = field_width = precision = len_mod = 0;

      /* Flags. only zero-pad flag is supported. */
      if (*fmt == '0') {
        flags |= C_SNPRINTF_FLAG_ZERO;
      }

      /* Field width */
      while (*fmt >= '0' && *fmt <= '9') {
        field_width *= 10;
        field_width += *fmt++ - '0';
      }
      /* Dynamic field width */
      if (*fmt == '*') {
        field_width = va_arg(ap, int);
        fmt++;
      }

      /* Precision */
      if (*fmt == '.') {
        fmt++;
        if (*fmt == '*') {
          precision = va_arg(ap, int);
          fmt++;
        } else {
          while (*fmt >= '0' && *fmt <= '9') {
            precision *= 10;
            precision += *fmt++ - '0';
          }
        }
      }

      /* Length modifier */
      switch (*fmt) {
        case 'h':
        case 'l':
        case 'L':
        case 'I':
        case 'q':
        case 'j':
        case 'z':
        case 't':
          len_mod = *fmt++;
          if (*fmt == 'h') {
            len_mod = 'H';
            fmt++;
          }
          if (*fmt == 'l') {
            len_mod = 'q';
            fmt++;
          }
          break;
      }

      ch = *fmt++;
      if (ch == 's') {
        const char *s = va_arg(ap, const char *); /* Always fetch parameter */
        int j;
        int pad = field_width - (precision >= 0 ? c_strnlen(s, precision) : 0);
        for (j = 0; j < pad; j++) {
          C_SNPRINTF_APPEND_CHAR(' ');
        }

        /* `s` may be NULL in case of %.*s */
        if (s != NULL) {
          /* Ignore negative and 0 precisions */
          for (j = 0; (precision <= 0 || j < precision) && s[j] != '\0'; j++) {
            C_SNPRINTF_APPEND_CHAR(s[j]);
          }
        }
      } else if (ch == 'c') {
        ch = va_arg(ap, int); /* Always fetch parameter */
        C_SNPRINTF_APPEND_CHAR(ch);
      } else if (ch == 'd' && len_mod == 0) {
        i += c_itoa(buf + i, buf_size - i, va_arg(ap, int), 10, flags,
                    field_width);
      } else if (ch == 'd' && len_mod == 'l') {
        i += c_itoa(buf + i, buf_size - i, va_arg(ap, long), 10, flags,
                    field_width);
#ifdef SSIZE_MAX
      } else if (ch == 'd' && len_mod == 'z') {
        i += c_itoa(buf + i, buf_size - i, va_arg(ap, ssize_t), 10, flags,
                    field_width);
#endif
      } else if (ch == 'd' && len_mod == 'q') {
        i += c_itoa(buf + i, buf_size - i, va_arg(ap, int64_t), 10, flags,
                    field_width);
      } else if ((ch == 'x' || ch == 'u') && len_mod == 0) {
        i += c_itoa(buf + i, buf_size - i, va_arg(ap, unsigned),
                    ch == 'x' ? 16 : 10, flags, field_width);
      } else if ((ch == 'x' || ch == 'u') && len_mod == 'l') {
        i += c_itoa(buf + i, buf_size - i, va_arg(ap, unsigned long),
                    ch == 'x' ? 16 : 10, flags, field_width);
      } else if ((ch == 'x' || ch == 'u') && len_mod == 'z') {
        i += c_itoa(buf + i, buf_size - i, va_arg(ap, size_t),
                    ch == 'x' ? 16 : 10, flags, field_width);
      } else if (ch == 'p') {
        unsigned long num = (unsigned long) (uintptr_t) va_arg(ap, void *);
        C_SNPRINTF_APPEND_CHAR('0');
        C_SNPRINTF_APPEND_CHAR('x');
        i += c_itoa(buf + i, buf_size - i, num, 16, flags, 0);
      } else {
#ifndef NO_LIBC
        /*
         * TODO(lsm): abort is not nice in a library, remove it
         * Also, ESP8266 SDK doesn't have it
         */
        abort();
#endif
      }
    }
  }

  /* Zero-terminate the result */
  if (buf_size > 0) {
    buf[i < (int) buf_size ? i : (int) buf_size - 1] = '\0';
  }

  return i;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x210, %rsp            # imm = 0x210
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movsbl (%rax), %eax
movl %eax, -0x24(%rbp)
cmpl $0x0, %eax
je 0x9c0e
cmpl $0x25, -0x24(%rbp)
je 0x90c1
jmp 0x9098
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl %ecx, %eax
jge 0x90b3
movl -0x24(%rbp), %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x9c09
movl $0x0, -0x2c(%rbp)
movl $0x0, -0x34(%rbp)
movl $0x0, -0x38(%rbp)
movl $0x0, -0x30(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x30, %eax
jne 0x90f2
movl -0x30(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x30(%rbp)
jmp 0x90f4
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x51(%rbp)
jl 0x9115
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x51(%rbp)
movb -0x51(%rbp), %al
testb $0x1, %al
jne 0x911e
jmp 0x9142
imull $0xa, -0x38(%rbp), %eax
movl %eax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movsbl (%rax), %eax
subl $0x30, %eax
addl -0x38(%rbp), %eax
movl %eax, -0x38(%rbp)
jmp 0x90f4
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0x91a5
movq -0x20(%rbp), %rax
movq %rax, -0x60(%rbp)
movl (%rax), %eax
movl %eax, -0x58(%rbp)
cmpl $0x28, %eax
ja 0x9179
movq -0x60(%rbp), %rcx
movl -0x58(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x68(%rbp)
jmp 0x9190
movq -0x60(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x68(%rbp)
movq -0x68(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x38(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2e, %eax
jne 0x9283
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0x9226
movq -0x20(%rbp), %rax
movq %rax, -0x78(%rbp)
movl (%rax), %eax
movl %eax, -0x6c(%rbp)
cmpl $0x28, %eax
ja 0x91f8
movq -0x78(%rbp), %rcx
movl -0x6c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x80(%rbp)
jmp 0x920f
movq -0x78(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x9281
jmp 0x9228
movq -0x18(%rbp), %rax
movsbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x81(%rbp)
jl 0x924f
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x81(%rbp)
movb -0x81(%rbp), %al
testb $0x1, %al
jne 0x925b
jmp 0x927f
imull $0xa, -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movsbl (%rax), %eax
subl $0x30, %eax
addl -0x34(%rbp), %eax
movl %eax, -0x34(%rbp)
jmp 0x9228
jmp 0x9281
jmp 0x9283
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
movl %eax, -0x88(%rbp)
subl $0x49, %eax
je 0x92f2
jmp 0x9297
movl -0x88(%rbp), %eax
subl $0x4c, %eax
je 0x92f2
jmp 0x92a4
movl -0x88(%rbp), %eax
subl $0x68, %eax
je 0x92f2
jmp 0x92b1
movl -0x88(%rbp), %eax
subl $0x6a, %eax
je 0x92f2
jmp 0x92be
movl -0x88(%rbp), %eax
subl $0x6c, %eax
je 0x92f2
jmp 0x92cb
movl -0x88(%rbp), %eax
subl $0x71, %eax
je 0x92f2
jmp 0x92d8
movl -0x88(%rbp), %eax
subl $0x74, %eax
je 0x92f2
jmp 0x92e5
movl -0x88(%rbp), %eax
subl $0x7a, %eax
jne 0x9347
jmp 0x92f2
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movsbl (%rax), %eax
movl %eax, -0x2c(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x68, %eax
jne 0x9326
movl $0x48, -0x2c(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x6c, %eax
jne 0x9345
movl $0x71, -0x2c(%rbp)
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x9347
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movsbl (%rax), %eax
movl %eax, -0x24(%rbp)
cmpl $0x73, -0x24(%rbp)
jne 0x94d7
movq -0x20(%rbp), %rax
movq %rax, -0x98(%rbp)
movl (%rax), %eax
movl %eax, -0x8c(%rbp)
cmpl $0x28, %eax
ja 0x93a0
movq -0x98(%rbp), %rcx
movl -0x8c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xa0(%rbp)
jmp 0x93bd
movq -0x98(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movslq -0x38(%rbp), %rax
movq %rax, -0xa8(%rbp)
cmpl $0x0, -0x34(%rbp)
jl 0x93f2
movq -0x40(%rbp), %rdi
movslq -0x34(%rbp), %rsi
callq 0x8ff0
movq %rax, -0xb0(%rbp)
jmp 0x93fd
xorl %eax, %eax
movq %rax, -0xb0(%rbp)
jmp 0x93fd
movq -0xa8(%rbp), %rax
movq -0xb0(%rbp), %rcx
subq %rcx, %rax
movl %eax, -0x48(%rbp)
movl $0x0, -0x44(%rbp)
movl -0x44(%rbp), %eax
cmpl -0x48(%rbp), %eax
jge 0x944f
jmp 0x9422
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl %ecx, %eax
jge 0x9439
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
movb $0x20, (%rax,%rcx)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x9444
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x9418
cmpq $0x0, -0x40(%rbp)
je 0x94d2
movl $0x0, -0x44(%rbp)
cmpl $0x0, -0x34(%rbp)
jle 0x9473
movl -0x44(%rbp), %ecx
xorl %eax, %eax
cmpl -0x34(%rbp), %ecx
movb %al, -0xb1(%rbp)
jge 0x948b
movq -0x40(%rbp), %rax
movslq -0x44(%rbp), %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x0, %eax
setne %al
movb %al, -0xb1(%rbp)
movb -0xb1(%rbp), %al
testb $0x1, %al
jne 0x9497
jmp 0x94d0
jmp 0x9499
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl %ecx, %eax
jge 0x94ba
movq -0x40(%rbp), %rax
movslq -0x44(%rbp), %rcx
movb (%rax,%rcx), %dl
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x94c5
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x945d
jmp 0x94d2
jmp 0x9c07
cmpl $0x63, -0x24(%rbp)
jne 0x956d
movq -0x20(%rbp), %rax
movq %rax, -0xc0(%rbp)
movl (%rax), %eax
movl %eax, -0xb8(%rbp)
cmpl $0x28, %eax
ja 0x951b
movq -0xc0(%rbp), %rcx
movl -0xb8(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xc8(%rbp)
jmp 0x9538
movq -0xc0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x24(%rbp)
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl %ecx, %eax
jge 0x955f
movl -0x24(%rbp), %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x9c05
cmpl $0x64, -0x24(%rbp)
jne 0x9631
cmpl $0x0, -0x2c(%rbp)
jne 0x9631
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0xe8(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0xe0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0xd8(%rbp)
movl (%rax), %eax
movl %eax, -0xcc(%rbp)
cmpl $0x28, %eax
ja 0x95df
movq -0xd8(%rbp), %rcx
movl -0xcc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xf0(%rbp)
jmp 0x95fc
movq -0xd8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xf0(%rbp)
movq -0xe0(%rbp), %rsi
movq -0xe8(%rbp), %rdi
movq -0xf0(%rbp), %rax
movslq (%rax), %rdx
movl -0x30(%rbp), %r8d
movl -0x38(%rbp), %r9d
movl $0xa, %ecx
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9c03
cmpl $0x64, -0x24(%rbp)
jne 0x96f5
cmpl $0x6c, -0x2c(%rbp)
jne 0x96f5
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x110(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x108(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x100(%rbp)
movl (%rax), %eax
movl %eax, -0xf4(%rbp)
cmpl $0x28, %eax
ja 0x96a3
movq -0x100(%rbp), %rcx
movl -0xf4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x118(%rbp)
jmp 0x96c0
movq -0x100(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x118(%rbp)
movq -0x108(%rbp), %rsi
movq -0x110(%rbp), %rdi
movq -0x118(%rbp), %rax
movq (%rax), %rdx
movl -0x30(%rbp), %r8d
movl -0x38(%rbp), %r9d
movl $0xa, %ecx
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9c01
cmpl $0x64, -0x24(%rbp)
jne 0x97b9
cmpl $0x7a, -0x2c(%rbp)
jne 0x97b9
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x138(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x130(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x128(%rbp)
movl (%rax), %eax
movl %eax, -0x11c(%rbp)
cmpl $0x28, %eax
ja 0x9767
movq -0x128(%rbp), %rcx
movl -0x11c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x140(%rbp)
jmp 0x9784
movq -0x128(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x140(%rbp)
movq -0x130(%rbp), %rsi
movq -0x138(%rbp), %rdi
movq -0x140(%rbp), %rax
movq (%rax), %rdx
movl -0x30(%rbp), %r8d
movl -0x38(%rbp), %r9d
movl $0xa, %ecx
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9bff
cmpl $0x64, -0x24(%rbp)
jne 0x987d
cmpl $0x71, -0x2c(%rbp)
jne 0x987d
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x158(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x150(%rbp)
movl (%rax), %eax
movl %eax, -0x144(%rbp)
cmpl $0x28, %eax
ja 0x982b
movq -0x150(%rbp), %rcx
movl -0x144(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x168(%rbp)
jmp 0x9848
movq -0x150(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x168(%rbp)
movq -0x158(%rbp), %rsi
movq -0x160(%rbp), %rdi
movq -0x168(%rbp), %rax
movq (%rax), %rdx
movl -0x30(%rbp), %r8d
movl -0x38(%rbp), %r9d
movl $0xa, %ecx
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9bfd
cmpl $0x78, -0x24(%rbp)
je 0x988d
cmpl $0x75, -0x24(%rbp)
jne 0x9958
cmpl $0x0, -0x2c(%rbp)
jne 0x9958
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x188(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x180(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x178(%rbp)
movl (%rax), %eax
movl %eax, -0x16c(%rbp)
cmpl $0x28, %eax
ja 0x98f5
movq -0x178(%rbp), %rcx
movl -0x16c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x190(%rbp)
jmp 0x9912
movq -0x178(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x190(%rbp)
movq -0x180(%rbp), %rsi
movq -0x188(%rbp), %rdi
movq -0x190(%rbp), %rax
movl (%rax), %eax
movl %eax, %edx
movl -0x24(%rbp), %r8d
movl $0xa, %ecx
movl $0x10, %eax
cmpl $0x78, %r8d
cmovel %eax, %ecx
movl -0x30(%rbp), %r8d
movl -0x38(%rbp), %r9d
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9bfb
cmpl $0x78, -0x24(%rbp)
je 0x9968
cmpl $0x75, -0x24(%rbp)
jne 0x9a32
cmpl $0x6c, -0x2c(%rbp)
jne 0x9a32
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x1b0(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x1a8(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x1a0(%rbp)
movl (%rax), %eax
movl %eax, -0x194(%rbp)
cmpl $0x28, %eax
ja 0x99d0
movq -0x1a0(%rbp), %rcx
movl -0x194(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1b8(%rbp)
jmp 0x99ed
movq -0x1a0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1b8(%rbp)
movq -0x1a8(%rbp), %rsi
movq -0x1b0(%rbp), %rdi
movq -0x1b8(%rbp), %rax
movq (%rax), %rdx
movl -0x24(%rbp), %r8d
movl $0xa, %ecx
movl $0x10, %eax
cmpl $0x78, %r8d
cmovel %eax, %ecx
movl -0x30(%rbp), %r8d
movl -0x38(%rbp), %r9d
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9bf9
cmpl $0x78, -0x24(%rbp)
je 0x9a42
cmpl $0x75, -0x24(%rbp)
jne 0x9b0c
cmpl $0x7a, -0x2c(%rbp)
jne 0x9b0c
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x1d8(%rbp)
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
subq %rcx, %rax
movq %rax, -0x1d0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movl (%rax), %eax
movl %eax, -0x1bc(%rbp)
cmpl $0x28, %eax
ja 0x9aaa
movq -0x1c8(%rbp), %rcx
movl -0x1bc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1e0(%rbp)
jmp 0x9ac7
movq -0x1c8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1e0(%rbp)
movq -0x1d0(%rbp), %rsi
movq -0x1d8(%rbp), %rdi
movq -0x1e0(%rbp), %rax
movq (%rax), %rdx
movl -0x24(%rbp), %r8d
movl $0xa, %ecx
movl $0x10, %eax
cmpl $0x78, %r8d
cmovel %eax, %ecx
movl -0x30(%rbp), %r8d
movl -0x38(%rbp), %r9d
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9bf7
cmpl $0x70, -0x24(%rbp)
jne 0x9bf0
movq -0x20(%rbp), %rax
movq %rax, -0x1f0(%rbp)
movl (%rax), %eax
movl %eax, -0x1e4(%rbp)
cmpl $0x28, %eax
ja 0x9b50
movq -0x1f0(%rbp), %rcx
movl -0x1e4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1f8(%rbp)
jmp 0x9b6d
movq -0x1f0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x50(%rbp)
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl %ecx, %eax
jge 0x9b92
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
movb $0x30, (%rax,%rcx)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x9b9d
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl %ecx, %eax
jge 0x9bb4
movq -0x8(%rbp), %rax
movslq -0x28(%rbp), %rcx
movb $0x78, (%rax,%rcx)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movslq -0x28(%rbp), %rax
addq %rax, %rdi
movq -0x10(%rbp), %rsi
movslq -0x28(%rbp), %rax
subq %rax, %rsi
movq -0x50(%rbp), %rdx
movl -0x30(%rbp), %r8d
movl $0x10, %ecx
xorl %r9d, %r9d
callq 0x9c70
addl -0x28(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x9bf5
callq 0x3080
jmp 0x9bf7
jmp 0x9bf9
jmp 0x9bfb
jmp 0x9bfd
jmp 0x9bff
jmp 0x9c01
jmp 0x9c03
jmp 0x9c05
jmp 0x9c07
jmp 0x9c09
jmp 0x9072
cmpq $0x0, -0x10(%rbp)
jbe 0x9c57
movq -0x8(%rbp), %rax
movq %rax, -0x200(%rbp)
movl -0x28(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl %ecx, %eax
jge 0x9c36
movl -0x28(%rbp), %eax
movl %eax, -0x204(%rbp)
jmp 0x9c43
movq -0x10(%rbp), %rax
subl $0x1, %eax
movl %eax, -0x204(%rbp)
movq -0x200(%rbp), %rax
movl -0x204(%rbp), %ecx
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
movl -0x28(%rbp), %eax
addq $0x210, %rsp            # imm = 0x210
popq %rbp
retq
nopw %cs:(%rax,%rax)