// File: /workspace/github_c_makefile_star2_O0/liuhaotian[P]xmppsh/libstrophe/src/snprintf.c
// Function: dopr
static int dopr (char *buffer, size_t maxlen, const char *format, va_list args)
{
  char ch;
  long value;
  LDOUBLE fvalue;
  char *strvalue;
  int min;
  int max;
  int state;
  int flags;
  int cflags;
  int total;
  size_t currlen;
  
  state = DP_S_DEFAULT;
  currlen = flags = cflags = min = 0;
  max = -1;
  ch = *format++;
  total = 0;

  while (state != DP_S_DONE)
  {
    if (ch == '\0')
      state = DP_S_DONE;

    switch(state) 
    {
    case DP_S_DEFAULT:
      if (ch == '%') 
	state = DP_S_FLAGS;
      else 
	total += dopr_outch (buffer, &currlen, maxlen, ch);
      ch = *format++;
      break;
    case DP_S_FLAGS:
      switch (ch) 
      {
      case '-':
	flags |= DP_F_MINUS;
        ch = *format++;
	break;
      case '+':
	flags |= DP_F_PLUS;
        ch = *format++;
	break;
      case ' ':
	flags |= DP_F_SPACE;
        ch = *format++;
	break;
      case '#':
	flags |= DP_F_NUM;
        ch = *format++;
	break;
      case '0':
	flags |= DP_F_ZERO;
        ch = *format++;
	break;
      default:
	state = DP_S_MIN;
	break;
      }
      break;
    case DP_S_MIN:
      if (isdigit(ch)) 
      {
	min = 10*min + char_to_int (ch);
	ch = *format++;
      } 
      else if (ch == '*') 
      {
	min = va_arg (args, int);
	ch = *format++;
	state = DP_S_DOT;
      } 
      else 
	state = DP_S_DOT;
      break;
    case DP_S_DOT:
      if (ch == '.') 
      {
	state = DP_S_MAX;
	ch = *format++;
      } 
      else 
	state = DP_S_MOD;
      break;
    case DP_S_MAX:
      if (isdigit(ch)) 
      {
	if (max < 0)
	  max = 0;
	max = 10*max + char_to_int (ch);
	ch = *format++;
      } 
      else if (ch == '*') 
      {
	max = va_arg (args, int);
	ch = *format++;
	state = DP_S_MOD;
      } 
      else 
	state = DP_S_MOD;
      break;
    case DP_S_MOD:
      /* Currently, we don't support Long Long, bummer */
      switch (ch) 
      {
      case 'h':
	cflags = DP_C_SHORT;
	ch = *format++;
	break;
      case 'l':
	cflags = DP_C_LONG;
	ch = *format++;
	break;
      case 'L':
	cflags = DP_C_LDOUBLE;
	ch = *format++;
	break;
      default:
	break;
      }
      state = DP_S_CONV;
      break;
    case DP_S_CONV:
      switch (ch) 
      {
      case 'd':
      case 'i':
	if (cflags == DP_C_SHORT) 
	  value = va_arg (args, int);
	else if (cflags == DP_C_LONG)
	  value = va_arg (args, long int);
	else
	  value = va_arg (args, int);
	total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
	break;
      case 'o':
	flags |= DP_F_UNSIGNED;
	if (cflags == DP_C_SHORT)
	  value = va_arg (args, int);
	else if (cflags == DP_C_LONG)
	  value = va_arg (args, unsigned long int);
	else
	  value = va_arg (args, unsigned int);
	total += fmtint (buffer, &currlen, maxlen, value, 8, min, max, flags);
	break;
      case 'u':
	flags |= DP_F_UNSIGNED;
	if (cflags == DP_C_SHORT)
	  value = va_arg (args, int);
	else if (cflags == DP_C_LONG)
	  value = va_arg (args, unsigned long int);
	else
	  value = va_arg (args, unsigned int);
	total += fmtint (buffer, &currlen, maxlen, value, 10, min, max, flags);
	break;
      case 'X':
	flags |= DP_F_UP;
      case 'x':
	flags |= DP_F_UNSIGNED;
	if (cflags == DP_C_SHORT)
	  value = va_arg (args, int);
	else if (cflags == DP_C_LONG)
	  value = va_arg (args, unsigned long int);
	else
	  value = va_arg (args, unsigned int);
	total += fmtint (buffer, &currlen, maxlen, value, 16, min, max, flags);
	break;
      case 'f':
	if (cflags == DP_C_LDOUBLE)
	  fvalue = va_arg (args, LDOUBLE);
	else
	  fvalue = va_arg (args, double);
	/* um, floating point? */
	total += fmtfp (buffer, &currlen, maxlen, fvalue, min, max, flags);
	break;
      case 'E':
	flags |= DP_F_UP;
      case 'e':
	if (cflags == DP_C_LDOUBLE)
	  fvalue = va_arg (args, LDOUBLE);
	else
	  fvalue = va_arg (args, double);
	break;
      case 'G':
	flags |= DP_F_UP;
      case 'g':
	if (cflags == DP_C_LDOUBLE)
	  fvalue = va_arg (args, LDOUBLE);
	else
	  fvalue = va_arg (args, double);
	break;
      case 'c':
	total += dopr_outch (buffer, &currlen, maxlen, va_arg (args, int));
	break;
      case 's':
	strvalue = va_arg (args, char *);
	total += fmtstr (buffer, &currlen, maxlen, strvalue, flags, min, max);
	break;
      case 'p':
	strvalue = va_arg (args, void *);
	total += fmtint (buffer, &currlen, maxlen, (long) strvalue, 16, min,
                         max, flags);
	break;
      case 'n':
	if (cflags == DP_C_SHORT) 
	{
	  short int *num;
	  num = va_arg (args, short int *);
	  *num = currlen;
        } 
	else if (cflags == DP_C_LONG) 
	{
	  long int *num;
	  num = va_arg (args, long int *);
	  *num = currlen;
        } 
	else 
	{
	  int *num;
	  num = va_arg (args, int *);
	  *num = currlen;
        }
	break;
      case '%':
	total += dopr_outch (buffer, &currlen, maxlen, ch);
	break;
      case 'w':
	/* not supported yet, treat as next char */
	ch = *format++;
	break;
      default:
	/* Unknown, skip */
	break;
      }
      ch = *format++;
      state = DP_S_DEFAULT;
      flags = cflags = min = 0;
      max = -1;
      break;
    case DP_S_DONE:
      break;
    default:
      /* hmm? */
      break; /* some picky compilers need this */
    }
  }
  if (buffer != NULL)
  {
    if (currlen < maxlen - 1) 
      buffer[currlen] = '\0';
    else 
      buffer[maxlen - 1] = '\0';
  }
  return total;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x360, %rsp            # imm = 0x360
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl $0x0, -0x4c(%rbp)
movl $0x0, -0x44(%rbp)
movl $0x0, -0x54(%rbp)
movl $0x0, -0x50(%rbp)
movq $0x0, -0x60(%rbp)
movl $0xffffffff, -0x48(%rbp) # imm = 0xFFFFFFFF
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
movl $0x0, -0x58(%rbp)
cmpl $0x7, -0x4c(%rbp)
je 0xffea
movsbl -0x21(%rbp), %eax
cmpl $0x0, %eax
jne 0xeebb
movl $0x7, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
movq %rax, -0x80(%rbp)
subq $0x7, %rax
ja 0xffe3
movq -0x80(%rbp), %rax
leaq 0x6111(%rip), %rcx      # 0x14fe8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movsbl -0x21(%rbp), %eax
cmpl $0x25, %eax
jne 0xeef2
movl $0x1, -0x4c(%rbp)
jmp 0xef0d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq -0x60(%rbp), %rsi
movsbl -0x21(%rbp), %ecx
callq 0x100e0
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xffe5
movsbl -0x21(%rbp), %eax
addl $-0x20, %eax
movl %eax, %ecx
movq %rcx, -0x88(%rbp)
subl $0x10, %eax
ja 0xeff4
movq -0x88(%rbp), %rax
leaq 0x620b(%rip), %rcx      # 0x15158
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl -0x50(%rbp), %eax
orl $0x1, %eax
movl %eax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xeffb
movl -0x50(%rbp), %eax
orl $0x2, %eax
movl %eax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xeffb
movl -0x50(%rbp), %eax
orl $0x4, %eax
movl %eax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xeffb
movl -0x50(%rbp), %eax
orl $0x8, %eax
movl %eax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xeffb
movl -0x50(%rbp), %eax
orl $0x10, %eax
movl %eax, -0x50(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xeffb
movl $0x2, -0x4c(%rbp)
jmp 0xffe5
callq 0x20a0
movq (%rax), %rax
movsbl -0x21(%rbp), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xf046
imull $0xa, -0x44(%rbp), %eax
movsbl -0x21(%rbp), %ecx
subl $0x30, %ecx
addl %ecx, %eax
movl %eax, -0x44(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xf0dc
movsbl -0x21(%rbp), %eax
cmpl $0x2a, %eax
jne 0xf0d3
movq -0x20(%rbp), %rax
movq %rax, -0x98(%rbp)
movl (%rax), %eax
movl %eax, -0x8c(%rbp)
cmpl $0x28, %eax
ja 0xf08d
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 0xf0aa
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
movl (%rax), %eax
movl %eax, -0x44(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
movl $0x3, -0x4c(%rbp)
jmp 0xf0da
movl $0x3, -0x4c(%rbp)
jmp 0xf0dc
jmp 0xffe5
movsbl -0x21(%rbp), %eax
cmpl $0x2e, %eax
jne 0xf107
movl $0x4, -0x4c(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xf10e
movl $0x5, -0x4c(%rbp)
jmp 0xffe5
callq 0x20a0
movq (%rax), %rax
movsbl -0x21(%rbp), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x800, %eax            # imm = 0x800
cmpl $0x0, %eax
je 0xf166
cmpl $0x0, -0x48(%rbp)
jge 0xf13d
movl $0x0, -0x48(%rbp)
imull $0xa, -0x48(%rbp), %eax
movsbl -0x21(%rbp), %ecx
subl $0x30, %ecx
addl %ecx, %eax
movl %eax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xf1fc
movsbl -0x21(%rbp), %eax
cmpl $0x2a, %eax
jne 0xf1f3
movq -0x20(%rbp), %rax
movq %rax, -0xb0(%rbp)
movl (%rax), %eax
movl %eax, -0xa4(%rbp)
cmpl $0x28, %eax
ja 0xf1ad
movq -0xb0(%rbp), %rcx
movl -0xa4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xb8(%rbp)
jmp 0xf1ca
movq -0xb0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
movl $0x5, -0x4c(%rbp)
jmp 0xf1fa
movl $0x5, -0x4c(%rbp)
jmp 0xf1fc
jmp 0xffe5
movsbl -0x21(%rbp), %eax
movl %eax, -0xbc(%rbp)
subl $0x4c, %eax
je 0xf266
jmp 0xf212
movl -0xbc(%rbp), %eax
subl $0x68, %eax
je 0xf22c
jmp 0xf21f
movl -0xbc(%rbp), %eax
subl $0x6c, %eax
je 0xf249
jmp 0xf283
movl $0x1, -0x54(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xf285
movl $0x2, -0x54(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xf285
movl $0x3, -0x54(%rbp)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xf285
jmp 0xf285
movl $0x6, -0x4c(%rbp)
jmp 0xffe5
movsbl -0x21(%rbp), %eax
addl $-0x25, %eax
movl %eax, %ecx
movq %rcx, -0xc8(%rbp)
subl $0x53, %eax
ja 0xffa6
movq -0xc8(%rbp), %rax
leaq 0x5d50(%rip), %rcx      # 0x15008
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x1, -0x54(%rbp)
jne 0xf331
movq -0x20(%rbp), %rax
movq %rax, -0xd8(%rbp)
movl (%rax), %eax
movl %eax, -0xcc(%rbp)
cmpl $0x28, %eax
ja 0xf301
movq -0xd8(%rbp), %rcx
movl -0xcc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xe0(%rbp)
jmp 0xf31e
movq -0xd8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xe0(%rbp)
movq -0xe0(%rbp), %rax
movslq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf405
cmpl $0x2, -0x54(%rbp)
jne 0xf39e
movq -0x20(%rbp), %rax
movq %rax, -0xf0(%rbp)
movl (%rax), %eax
movl %eax, -0xe4(%rbp)
cmpl $0x28, %eax
ja 0xf371
movq -0xf0(%rbp), %rcx
movl -0xe4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0xf8(%rbp)
jmp 0xf38e
movq -0xf0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf403
movq -0x20(%rbp), %rax
movq %rax, -0x108(%rbp)
movl (%rax), %eax
movl %eax, -0xfc(%rbp)
cmpl $0x28, %eax
ja 0xf3d8
movq -0x108(%rbp), %rcx
movl -0xfc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x110(%rbp)
jmp 0xf3f5
movq -0x108(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rax
movslq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf405
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x30(%rbp), %rcx
movl -0x44(%rbp), %r9d
movl -0x48(%rbp), %r10d
movl -0x50(%rbp), %eax
leaq -0x60(%rbp), %rsi
movl $0xa, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x10130
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
movl -0x50(%rbp), %eax
orl $0x40, %eax
movl %eax, -0x50(%rbp)
cmpl $0x1, -0x54(%rbp)
jne 0xf4b7
movq -0x20(%rbp), %rax
movq %rax, -0x120(%rbp)
movl (%rax), %eax
movl %eax, -0x114(%rbp)
cmpl $0x28, %eax
ja 0xf487
movq -0x120(%rbp), %rcx
movl -0x114(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x128(%rbp)
jmp 0xf4a4
movq -0x120(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x128(%rbp)
movq -0x128(%rbp), %rax
movslq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf58a
cmpl $0x2, -0x54(%rbp)
jne 0xf524
movq -0x20(%rbp), %rax
movq %rax, -0x138(%rbp)
movl (%rax), %eax
movl %eax, -0x12c(%rbp)
cmpl $0x28, %eax
ja 0xf4f7
movq -0x138(%rbp), %rcx
movl -0x12c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x140(%rbp)
jmp 0xf514
movq -0x138(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x140(%rbp)
movq -0x140(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf588
movq -0x20(%rbp), %rax
movq %rax, -0x150(%rbp)
movl (%rax), %eax
movl %eax, -0x144(%rbp)
cmpl $0x28, %eax
ja 0xf55e
movq -0x150(%rbp), %rcx
movl -0x144(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x158(%rbp)
jmp 0xf57b
movq -0x150(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x158(%rbp)
movq -0x158(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x30(%rbp)
jmp 0xf58a
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x30(%rbp), %rcx
movl -0x44(%rbp), %r9d
movl -0x48(%rbp), %r10d
movl -0x50(%rbp), %eax
leaq -0x60(%rbp), %rsi
movl $0x8, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x10130
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
movl -0x50(%rbp), %eax
orl $0x40, %eax
movl %eax, -0x50(%rbp)
cmpl $0x1, -0x54(%rbp)
jne 0xf63c
movq -0x20(%rbp), %rax
movq %rax, -0x168(%rbp)
movl (%rax), %eax
movl %eax, -0x15c(%rbp)
cmpl $0x28, %eax
ja 0xf60c
movq -0x168(%rbp), %rcx
movl -0x15c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x170(%rbp)
jmp 0xf629
movq -0x168(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x170(%rbp)
movq -0x170(%rbp), %rax
movslq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf70f
cmpl $0x2, -0x54(%rbp)
jne 0xf6a9
movq -0x20(%rbp), %rax
movq %rax, -0x180(%rbp)
movl (%rax), %eax
movl %eax, -0x174(%rbp)
cmpl $0x28, %eax
ja 0xf67c
movq -0x180(%rbp), %rcx
movl -0x174(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x188(%rbp)
jmp 0xf699
movq -0x180(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf70d
movq -0x20(%rbp), %rax
movq %rax, -0x198(%rbp)
movl (%rax), %eax
movl %eax, -0x18c(%rbp)
cmpl $0x28, %eax
ja 0xf6e3
movq -0x198(%rbp), %rcx
movl -0x18c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1a0(%rbp)
jmp 0xf700
movq -0x198(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x30(%rbp)
jmp 0xf70f
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x30(%rbp), %rcx
movl -0x44(%rbp), %r9d
movl -0x48(%rbp), %r10d
movl -0x50(%rbp), %eax
leaq -0x60(%rbp), %rsi
movl $0xa, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x10130
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
movl -0x50(%rbp), %eax
orl $0x20, %eax
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %eax
orl $0x40, %eax
movl %eax, -0x50(%rbp)
cmpl $0x1, -0x54(%rbp)
jne 0xf7ca
movq -0x20(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movl (%rax), %eax
movl %eax, -0x1a4(%rbp)
cmpl $0x28, %eax
ja 0xf79a
movq -0x1b0(%rbp), %rcx
movl -0x1a4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1b8(%rbp)
jmp 0xf7b7
movq -0x1b0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rax
movslq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf89d
cmpl $0x2, -0x54(%rbp)
jne 0xf837
movq -0x20(%rbp), %rax
movq %rax, -0x1c8(%rbp)
movl (%rax), %eax
movl %eax, -0x1bc(%rbp)
cmpl $0x28, %eax
ja 0xf80a
movq -0x1c8(%rbp), %rcx
movl -0x1bc(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1d0(%rbp)
jmp 0xf827
movq -0x1c8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0xf89b
movq -0x20(%rbp), %rax
movq %rax, -0x1e0(%rbp)
movl (%rax), %eax
movl %eax, -0x1d4(%rbp)
cmpl $0x28, %eax
ja 0xf871
movq -0x1e0(%rbp), %rcx
movl -0x1d4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x1e8(%rbp)
jmp 0xf88e
movq -0x1e0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rax
movl (%rax), %eax
movq %rax, -0x30(%rbp)
jmp 0xf89d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x30(%rbp), %rcx
movl -0x44(%rbp), %r9d
movl -0x48(%rbp), %r10d
movl -0x50(%rbp), %eax
leaq -0x60(%rbp), %rsi
movl $0x10, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x10130
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
cmpl $0x3, -0x54(%rbp)
jne 0xf961
movq -0x20(%rbp), %rax
movq %rax, -0x200(%rbp)
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x1f8(%rbp)
movl 0x4(%rax), %eax
movl %eax, -0x1ec(%rbp)
cmpl $0xa0, %eax
ja 0xf932
movq -0x1f8(%rbp), %rcx
movl -0x1ec(%rbp), %edx
movq -0x200(%rbp), %rsi
movslq %edx, %rax
addq 0x10(%rsi), %rax
addl $0x10, %edx
movl %edx, (%rcx)
movq %rax, -0x208(%rbp)
jmp 0xf94f
movq -0x200(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0xf9e0
movq -0x20(%rbp), %rax
movq %rax, -0x220(%rbp)
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x218(%rbp)
movl 0x4(%rax), %eax
movl %eax, -0x20c(%rbp)
cmpl $0xa0, %eax
ja 0xf9b3
movq -0x218(%rbp), %rcx
movl -0x20c(%rbp), %edx
movq -0x220(%rbp), %rsi
movslq %edx, %rax
addq 0x10(%rsi), %rax
addl $0x10, %edx
movl %edx, (%rcx)
movq %rax, -0x228(%rbp)
jmp 0xf9d0
movq -0x220(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x228(%rbp)
movq -0x228(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movsd -0x38(%rbp), %xmm0
movl -0x44(%rbp), %ecx
movl -0x48(%rbp), %r8d
movl -0x50(%rbp), %r9d
leaq -0x60(%rbp), %rsi
callq 0x10420
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
movl -0x50(%rbp), %eax
orl $0x20, %eax
movl %eax, -0x50(%rbp)
cmpl $0x3, -0x54(%rbp)
jne 0xfaa0
movq -0x20(%rbp), %rax
movq %rax, -0x240(%rbp)
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x238(%rbp)
movl 0x4(%rax), %eax
movl %eax, -0x22c(%rbp)
cmpl $0xa0, %eax
ja 0xfa71
movq -0x238(%rbp), %rcx
movl -0x22c(%rbp), %edx
movq -0x240(%rbp), %rsi
movslq %edx, %rax
addq 0x10(%rsi), %rax
addl $0x10, %edx
movl %edx, (%rcx)
movq %rax, -0x248(%rbp)
jmp 0xfa8e
movq -0x240(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0xfb1f
movq -0x20(%rbp), %rax
movq %rax, -0x260(%rbp)
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x258(%rbp)
movl 0x4(%rax), %eax
movl %eax, -0x24c(%rbp)
cmpl $0xa0, %eax
ja 0xfaf2
movq -0x258(%rbp), %rcx
movl -0x24c(%rbp), %edx
movq -0x260(%rbp), %rsi
movslq %edx, %rax
addq 0x10(%rsi), %rax
addl $0x10, %edx
movl %edx, (%rcx)
movq %rax, -0x268(%rbp)
jmp 0xfb0f
movq -0x260(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x268(%rbp)
movq -0x268(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0xffa8
movl -0x50(%rbp), %eax
orl $0x20, %eax
movl %eax, -0x50(%rbp)
cmpl $0x3, -0x54(%rbp)
jne 0xfbb8
movq -0x20(%rbp), %rax
movq %rax, -0x280(%rbp)
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x278(%rbp)
movl 0x4(%rax), %eax
movl %eax, -0x26c(%rbp)
cmpl $0xa0, %eax
ja 0xfb89
movq -0x278(%rbp), %rcx
movl -0x26c(%rbp), %edx
movq -0x280(%rbp), %rsi
movslq %edx, %rax
addq 0x10(%rsi), %rax
addl $0x10, %edx
movl %edx, (%rcx)
movq %rax, -0x288(%rbp)
jmp 0xfba6
movq -0x280(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x288(%rbp)
movq -0x288(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0xfc37
movq -0x20(%rbp), %rax
movq %rax, -0x2a0(%rbp)
movq %rax, %rcx
addq $0x4, %rcx
movq %rcx, -0x298(%rbp)
movl 0x4(%rax), %eax
movl %eax, -0x28c(%rbp)
cmpl $0xa0, %eax
ja 0xfc0a
movq -0x298(%rbp), %rcx
movl -0x28c(%rbp), %edx
movq -0x2a0(%rbp), %rsi
movslq %edx, %rax
addq 0x10(%rsi), %rax
addl $0x10, %edx
movl %edx, (%rcx)
movq %rax, -0x2a8(%rbp)
jmp 0xfc27
movq -0x2a0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x2a8(%rbp)
movq -0x2a8(%rbp), %rax
movsd (%rax), %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0xffa8
movq -0x8(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x2b8(%rbp)
movl (%rax), %eax
movl %eax, -0x2ac(%rbp)
cmpl $0x28, %eax
ja 0xfc8c
movq -0x2b8(%rbp), %rcx
movl -0x2ac(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x2d0(%rbp)
jmp 0xfca9
movq -0x2b8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x2d0(%rbp)
movq -0x2c0(%rbp), %rdx
movq -0x2c8(%rbp), %rdi
movq -0x2d0(%rbp), %rax
movl (%rax), %eax
leaq -0x60(%rbp), %rsi
movsbl %al, %ecx
callq 0x100e0
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
movq -0x20(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movl (%rax), %eax
movl %eax, -0x2d4(%rbp)
cmpl $0x28, %eax
ja 0xfd11
movq -0x2e0(%rbp), %rcx
movl -0x2d4(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x2e8(%rbp)
jmp 0xfd2e
movq -0x2e0(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x2e8(%rbp)
movq -0x2e8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x40(%rbp), %rcx
movl -0x50(%rbp), %r8d
movl -0x44(%rbp), %r9d
movl -0x48(%rbp), %eax
leaq -0x60(%rbp), %rsi
movl %eax, (%rsp)
callq 0x10920
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
movq -0x20(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movl (%rax), %eax
movl %eax, -0x2ec(%rbp)
cmpl $0x28, %eax
ja 0xfda4
movq -0x2f8(%rbp), %rcx
movl -0x2ec(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x300(%rbp)
jmp 0xfdc1
movq -0x2f8(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x300(%rbp)
movq -0x300(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
movq -0x40(%rbp), %rcx
movl -0x44(%rbp), %r9d
movl -0x48(%rbp), %r10d
movl -0x50(%rbp), %eax
leaq -0x60(%rbp), %rsi
movl $0x10, %r8d
movl %r10d, (%rsp)
movl %eax, 0x8(%rsp)
callq 0x10130
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
cmpl $0x1, -0x54(%rbp)
jne 0xfe86
movq -0x20(%rbp), %rax
movq %rax, -0x310(%rbp)
movl (%rax), %eax
movl %eax, -0x304(%rbp)
cmpl $0x28, %eax
ja 0xfe48
movq -0x310(%rbp), %rcx
movl -0x304(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x318(%rbp)
jmp 0xfe65
movq -0x310(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x318(%rbp)
movq -0x318(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rax
movw %ax, %cx
movq -0x68(%rbp), %rax
movw %cx, (%rax)
jmp 0xff71
cmpl $0x2, -0x54(%rbp)
jne 0xfefe
movq -0x20(%rbp), %rax
movq %rax, -0x328(%rbp)
movl (%rax), %eax
movl %eax, -0x31c(%rbp)
cmpl $0x28, %eax
ja 0xfec6
movq -0x328(%rbp), %rcx
movl -0x31c(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x330(%rbp)
jmp 0xfee3
movq -0x328(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x330(%rbp)
movq -0x330(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x70(%rbp)
movq -0x60(%rbp), %rcx
movq -0x70(%rbp), %rax
movq %rcx, (%rax)
jmp 0xff6f
movq -0x20(%rbp), %rax
movq %rax, -0x340(%rbp)
movl (%rax), %eax
movl %eax, -0x334(%rbp)
cmpl $0x28, %eax
ja 0xff38
movq -0x340(%rbp), %rcx
movl -0x334(%rbp), %edx
movslq %edx, %rax
addq 0x10(%rcx), %rax
addl $0x8, %edx
movl %edx, (%rcx)
movq %rax, -0x348(%rbp)
jmp 0xff55
movq -0x340(%rbp), %rcx
movq 0x8(%rcx), %rax
movq %rax, %rdx
addq $0x8, %rdx
movq %rdx, 0x8(%rcx)
movq %rax, -0x348(%rbp)
movq -0x348(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x78(%rbp)
movq -0x60(%rbp), %rax
movl %eax, %ecx
movq -0x78(%rbp), %rax
movl %ecx, (%rax)
jmp 0xff71
jmp 0xffa8
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rdx
leaq -0x60(%rbp), %rsi
movsbl -0x21(%rbp), %ecx
callq 0x100e0
addl -0x58(%rbp), %eax
movl %eax, -0x58(%rbp)
jmp 0xffa8
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
jmp 0xffa8
jmp 0xffa8
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb (%rax), %al
movb %al, -0x21(%rbp)
movl $0x0, -0x4c(%rbp)
movl $0x0, -0x44(%rbp)
movl $0x0, -0x54(%rbp)
movl $0x0, -0x50(%rbp)
movl $0xffffffff, -0x48(%rbp) # imm = 0xFFFFFFFF
jmp 0xffe5
jmp 0xffe5
jmp 0xffe5
jmp 0xeea1
cmpq $0x0, -0x8(%rbp)
je 0x10022
movq -0x60(%rbp), %rax
movq -0x10(%rbp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jae 0x10010
movq -0x8(%rbp), %rax
movq -0x60(%rbp), %rcx
movb $0x0, (%rax,%rcx)
jmp 0x10020
movq -0x8(%rbp), %rax
movq -0x10(%rbp), %rcx
subq $0x1, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x10022
movl -0x58(%rbp), %eax
addq $0x360, %rsp            # imm = 0x360
popq %rbp
retq
nop