// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_begin_recv
SOAP_FMAC2
soap_begin_recv(struct soap *soap)
{ soap_wchar c;
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Initializing for input\n"));
  soap->error = SOAP_OK;
  soap->filterstop = SOAP_OK;
  soap_free_temp(soap);
  soap_set_local_namespaces(soap);
  soap->version = 0;	/* don't assume we're parsing SOAP content by default */
#ifndef WITH_NOIDREF
  soap_free_iht(soap);
#endif
  if ((soap->imode & SOAP_IO) == SOAP_IO_CHUNK)
    soap->omode |= SOAP_IO_CHUNK;
  soap->imode &= ~(SOAP_IO | SOAP_ENC_MIME);
  soap->mode = soap->imode;
  if (!soap->keep_alive)
  { soap->buflen = 0;
    soap->bufidx = 0;
  }
  if (!(soap->mode & SOAP_IO_KEEPALIVE))
    soap->keep_alive = 0;
  soap->ahead = 0;
  soap->peeked = 0;
  soap->level = 0;
  soap->part = SOAP_BEGIN;
  soap->alloced = 0;
  soap->count = 0;
  soap->length = 0;
  soap->cdata = 0;
  *soap->endpoint = '\0';
  soap->action = NULL;
  soap->header = NULL;
  soap->fault = NULL;
  soap->status = 0;
#ifndef WITH_LEANER
  soap->dom = NULL;
  soap->dime.chunksize = 0;
  soap->dime.buflen = 0;
  soap->dime.list = NULL;
  soap->dime.first = NULL;
  soap->dime.last = NULL;
  soap->mime.list = NULL;
  soap->mime.first = NULL;
  soap->mime.last = NULL;
  soap->mime.boundary = NULL;
  soap->mime.start = NULL;
#endif
#ifdef WIN32
#ifndef UNDER_CE
#ifndef WITH_FASTCGI
  if (!soap_valid_socket(soap->socket))
#ifdef __BORLANDC__
    setmode(soap->recvfd, _O_BINARY);
#else
    _setmode(soap->recvfd, _O_BINARY);
#endif
#endif
#endif
#endif
#ifdef WITH_ZLIB
  soap->mode &= ~SOAP_ENC_ZLIB;
  soap->zlib_in = SOAP_ZLIB_NONE;
  soap->zlib_out = SOAP_ZLIB_NONE;
  soap->d_stream->next_in = Z_NULL;
  soap->d_stream->avail_in = 0;
  soap->d_stream->next_out = (Byte*)soap->buf;
  soap->d_stream->avail_out = SOAP_BUFLEN;
  soap->z_ratio_in = 1.0;
#endif
#ifdef WITH_OPENSSL
  if (soap->ssl)
    ERR_clear_error();
#endif
#ifndef WITH_LEANER
  if (soap->fprepareinitrecv && (soap->error = soap->fprepareinitrecv(soap)))
    return soap->error;
#endif
  c = soap_getchar(soap);
#ifdef WITH_GZIP
  if (c == 0x1F)
  { if (soap_getgziphdr(soap))
      return soap->error;
    if (inflateInit2(soap->d_stream, -MAX_WBITS) != Z_OK)
      return soap->error = SOAP_ZLIB_ERROR;
    if (soap->z_dict)
    { if (inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
        return soap->error = SOAP_ZLIB_ERROR;
    }
    soap->zlib_state = SOAP_ZLIB_INFLATE;
    soap->mode |= SOAP_ENC_ZLIB;
    soap->zlib_in = SOAP_ZLIB_GZIP;
    soap->z_crc = crc32(0L, NULL, 0);
    DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip initialized\n"));
    if (!soap->z_buf)
      soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
    memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
    /* should not chunk over plain transport, so why bother to check? */
    /* if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK) */
    /*   soap->z_buflen = soap->bufidx; */
    /* else */
    soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
    soap->d_stream->avail_in = (unsigned int)(soap->buflen - soap->bufidx);
    soap->z_buflen = soap->buflen;
    soap->buflen = soap->bufidx;
    c = ' ';
  }
#endif
  while (soap_blank(c))
    c = soap_getchar(soap);
#ifndef WITH_LEANER
  if (c == '-' && soap_get0(soap) == '-')
    soap->mode |= SOAP_ENC_MIME;
  else if ((c & 0xFFFC) == (SOAP_DIME_VERSION | SOAP_DIME_MB) && (soap_get0(soap) & 0xFFF0) == 0x20)
    soap->mode |= SOAP_ENC_DIME;
  else
#endif
  { /* skip BOM */
    if (c == 0xEF && (c = soap_get1(soap)) == 0xBB && (c = soap_get1(soap)) == 0xBF)
    { soap->mode &= ~SOAP_ENC_LATIN;
      c = soap_getchar(soap);
    }
    else
    { /* UTF-16 BOM? */
      if ((c == 0xFE && soap_get1(soap) == 0xFF)  /* UTF-16 BE */
       || (c == 0xFF && soap_get1(soap) == 0xFE)) /* UTF-16 LE */
        return soap->error = SOAP_UTF_ERROR;
    }
    /* skip space */
    while (soap_blank(c))
      c = soap_getchar(soap);
  }
  if ((int)c == EOF)
    return soap->error = SOAP_EOF;
  soap_unget(soap, c);
#ifndef WITH_NOHTTP
  /* if not XML or MIME/DIME/ZLIB, assume HTTP header */
  if (c != '<' && !(soap->mode & (SOAP_ENC_MIME | SOAP_ENC_DIME | SOAP_ENC_ZLIB)))
  { soap_mode m = soap->imode;
    soap->mode &= ~SOAP_IO;
    soap->error = soap->fparse(soap);
    if (soap->error && soap->error < SOAP_STOP)
    { soap->keep_alive = 0; /* force close later */
      return soap->error;
    }
    if (soap->error == SOAP_STOP)
      return soap->error;
    soap->mode = soap->imode; /* if imode is changed, effectuate */
    soap->imode = m; /* restore imode */
#ifdef WITH_ZLIB
    soap->mode &= ~SOAP_ENC_ZLIB;
#endif
    if ((soap->mode & SOAP_IO) == SOAP_IO_CHUNK)
    { soap->chunkbuflen = soap->buflen;
      soap->buflen = soap->bufidx;
      soap->chunksize = 0;
    }
    /* Note: fparse should not use soap_unget to push back last char */
    if (soap_get0(soap) == (int)EOF)
    { if (soap->status == 200)
        return soap->error = SOAP_NO_DATA; /* HTTP OK: always expect data */
      return soap->error = soap->status;
    }
#ifdef WITH_ZLIB
    if (soap->zlib_in != SOAP_ZLIB_NONE)
    {
#ifdef WITH_GZIP
      if (soap->zlib_in != SOAP_ZLIB_DEFLATE)
      { c = soap_get1(soap);
        if (c == 0x1F)
        { if (soap_getgziphdr(soap))
            return soap->error;
          if (inflateInit2(soap->d_stream, -MAX_WBITS) != Z_OK)
            return soap->error = SOAP_ZLIB_ERROR;
          soap->z_crc = crc32(0L, NULL, 0);
          DBGLOG(TEST, SOAP_MESSAGE(fdebug, "gzip initialized\n"));
        }
        else
        { soap_revget1(soap);
          if (inflateInit(soap->d_stream) != Z_OK)
            return soap->error = SOAP_ZLIB_ERROR;
          soap->zlib_in = SOAP_ZLIB_DEFLATE;
        }
      }
      else
#endif
      if (inflateInit(soap->d_stream) != Z_OK)
        return soap->error = SOAP_ZLIB_ERROR;
      if (soap->z_dict)
      { if (inflateSetDictionary(soap->d_stream, (const Bytef*)soap->z_dict, soap->z_dict_len) != Z_OK)
          return soap->error = SOAP_ZLIB_ERROR;
      }
      soap->zlib_state = SOAP_ZLIB_INFLATE;
      DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Inflate initialized\n"));
      soap->mode |= SOAP_ENC_ZLIB;
      if (!soap->z_buf)
        soap->z_buf = (char*)SOAP_MALLOC(soap, SOAP_BUFLEN);
      memcpy(soap->z_buf, soap->buf, SOAP_BUFLEN);
      soap->d_stream->next_in = (Byte*)(soap->z_buf + soap->bufidx);
      soap->d_stream->avail_in = (unsigned int)(soap->buflen - soap->bufidx);
      soap->z_buflen = soap->buflen;
      soap->buflen = soap->bufidx;
    }
#endif
#ifndef WITH_LEANER
    if (soap->fpreparerecv && (soap->mode & SOAP_IO) != SOAP_IO_CHUNK && soap->buflen > soap->bufidx)
    { int r;
      if ((r = soap->fpreparerecv(soap, soap->buf + soap->bufidx, soap->buflen - soap->bufidx)))
        return soap->error = r;
    }
#endif
    if (soap->error)
    { if (soap->error == SOAP_FORM && soap->fform)
      { soap->error = soap->fform(soap);
        if (soap->error == SOAP_OK)
          soap->error = SOAP_STOP; /* prevents further processing */
      }
      return soap->error;
    }
  }
#endif
#ifndef WITH_LEANER
  if (soap->mode & SOAP_ENC_MIME)
  { do /* skip preamble */
    { if ((int)(c = soap_getchar(soap)) == EOF)
        return soap->error = SOAP_EOF;
    } while (c != '-' || soap_get0(soap) != '-');
    soap_unget(soap, c);
    if (soap_getmimehdr(soap))
      return soap->error;
    if (soap->mime.start)
    { do
      { if (!soap->mime.last->id)
          break;
        if (!soap_match_cid(soap, soap->mime.start, soap->mime.last->id))
          break;
      } while (soap_get_mime_attachment(soap, NULL));
    }
    if (soap_get_header_attribute(soap, soap->mime.first->type, "application/dime"))
      soap->mode |= SOAP_ENC_DIME;
  }
  if (soap->mode & SOAP_ENC_DIME)
  { if (soap_getdimehdr(soap))
      return soap->error;
    if (soap->dime.flags & SOAP_DIME_CF)
    { DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Chunked DIME SOAP message\n"));
      soap->dime.chunksize = soap->dime.size;
      if (soap->buflen - soap->bufidx >= soap->dime.chunksize)
      { soap->dime.buflen = soap->buflen;
        soap->buflen = soap->bufidx + soap->dime.chunksize;
      }
      else
        soap->dime.chunksize -= soap->buflen - soap->bufidx;
    }
    soap->count = soap->buflen - soap->bufidx;
  }
#endif
  return SOAP_OK;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movl $0x0, 0x1f274(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xc0b8(%rax)
movq -0x10(%rbp), %rdi
callq 0x1f170
movq -0x10(%rbp), %rdi
callq 0x23c20
movq -0x10(%rbp), %rax
movw $0x0, 0x2(%rax)
movq -0x10(%rbp), %rdi
callq 0x26dc0
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
andl $0x3, %eax
cmpl $0x3, %eax
jne 0x333d9
movq -0x10(%rbp), %rax
movl 0xc(%rax), %ecx
orl $0x3, %ecx
movl %ecx, 0xc(%rax)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
andl $0xfffffefc, %ecx       # imm = 0xFFFFFEFC
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
cmpw $0x0, 0x1f22c(%rax)
jne 0x33423
movq -0x10(%rbp), %rax
movq $0x0, 0xc158(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xc150(%rax)
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x10, %eax
cmpl $0x0, %eax
jne 0x3343f
movq -0x10(%rbp), %rax
movw $0x0, 0x1f22c(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xc160(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0x1e5f6(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0xc168(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0x1e5f0(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0x1e5f4(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xc170(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xc178(%rax)
movq -0x10(%rbp), %rax
movw $0x0, 0xc164(%rax)
movq -0x10(%rbp), %rax
movb $0x0, 0x1e608(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f208(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xbf30(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0xbf38(%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x1f270(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f280(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f298(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f2a0(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f2d0(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f2d8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f2e0(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f2f8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f300(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f308(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f2e8(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1f2f0(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0xc090(%rax)
je 0x335d8
movq -0x10(%rbp), %rax
movq 0xc090(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
movq -0x10(%rbp), %rcx
movl %eax, 0x1f274(%rcx)
cmpl $0x0, %eax
je 0x335d8
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x33e85
movq -0x10(%rbp), %rdi
callq 0x17c50
movl %eax, -0x14(%rbp)
xorl %eax, %eax
cmpl $0x0, -0x14(%rbp)
movb %al, -0x1d(%rbp)
jl 0x335f9
cmpl $0x20, -0x14(%rbp)
setle %al
movb %al, -0x1d(%rbp)
movb -0x1d(%rbp), %al
testb $0x1, %al
jne 0x33602
jmp 0x33610
movq -0x10(%rbp), %rdi
callq 0x17c50
movl %eax, -0x14(%rbp)
jmp 0x335e4
cmpl $0x2d, -0x14(%rbp)
jne 0x3367d
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x33646
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x33646
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x24(%rbp)
jmp 0x33660
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0xc150(%rcx), %rcx
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl $0x2d, %eax
jne 0x3367d
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
orl $0x100, %ecx            # imm = 0x100
movl %ecx, 0x4(%rax)
jmp 0x33913
movl -0x14(%rbp), %eax
andl $0xfffc, %eax           # imm = 0xFFFC
cmpl $0xc, %eax
jne 0x336f6
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x336ba
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x336ba
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x28(%rbp)
jmp 0x336d4
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0xc150(%rcx), %rcx
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
andl $0xfff0, %eax           # imm = 0xFFF0
cmpl $0x20, %eax
jne 0x336f6
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
orl $0x80, %ecx
movl %ecx, 0x4(%rax)
jmp 0x33911
cmpl $0xef, -0x14(%rbp)
jne 0x337ef
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x33733
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x33733
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x2c(%rbp)
jmp 0x3375b
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0xc150(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0xc150(%rdx)
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0xbb, %eax
jne 0x337ef
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x3379c
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x3379c
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x30(%rbp)
jmp 0x337c4
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0xc150(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0xc150(%rdx)
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x30(%rbp)
movl -0x30(%rbp), %eax
movl %eax, -0x14(%rbp)
cmpl $0xbf, %eax
jne 0x337ef
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
andl $-0x21, %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rdi
callq 0x17c50
movl %eax, -0x14(%rbp)
jmp 0x338e1
cmpl $0xfe, -0x14(%rbp)
jne 0x3385a
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x33828
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x33828
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x34(%rbp)
jmp 0x33850
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0xc150(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0xc150(%rdx)
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x34(%rbp)
movl -0x34(%rbp), %eax
cmpl $0xff, %eax
je 0x338c5
cmpl $0xff, -0x14(%rbp)
jne 0x338df
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x33893
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x33893
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x38(%rbp)
jmp 0x338bb
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rdx
movq 0xc150(%rdx), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0xc150(%rdx)
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %eax
cmpl $0xfe, %eax
jne 0x338df
movq -0x10(%rbp), %rax
movl $0x2f, 0x1f274(%rax)
movl $0x2f, -0x4(%rbp)
jmp 0x33e85
jmp 0x338e1
jmp 0x338e3
xorl %eax, %eax
cmpl $0x0, -0x14(%rbp)
movb %al, -0x39(%rbp)
jl 0x338f8
cmpl $0x20, -0x14(%rbp)
setle %al
movb %al, -0x39(%rbp)
movb -0x39(%rbp), %al
testb $0x1, %al
jne 0x33901
jmp 0x3390f
movq -0x10(%rbp), %rdi
callq 0x17c50
movl %eax, -0x14(%rbp)
jmp 0x338e3
jmp 0x33911
jmp 0x33913
cmpl $-0x1, -0x14(%rbp)
jne 0x33933
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x1f274(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x33e85
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xc160(%rax)
cmpl $0x3c, -0x14(%rbp)
je 0x33bf9
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x580, %eax            # imm = 0x580
cmpl $0x0, %eax
jne 0x33bf9
movq -0x10(%rbp), %rax
movl 0x8(%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
andl $-0x4, %ecx
movl %ecx, 0x4(%rax)
movq -0x10(%rbp), %rax
movq 0xbfd0(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1f274(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x1f274(%rax)
je 0x339cf
movq -0x10(%rbp), %rax
cmpl $0x3e8, 0x1f274(%rax)   # imm = 0x3E8
jge 0x339cf
movq -0x10(%rbp), %rax
movw $0x0, 0x1f22c(%rax)
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x33e85
movq -0x10(%rbp), %rax
cmpl $0x3e8, 0x1f274(%rax)   # imm = 0x3E8
jne 0x339f1
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x33e85
movq -0x10(%rbp), %rax
movl 0x8(%rax), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x4(%rax)
movl -0x18(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x8(%rax)
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x3, %eax
cmpl $0x3, %eax
jne 0x33a53
movq -0x10(%rbp), %rax
movq 0xc158(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x1e600(%rax)
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xc158(%rax)
movq -0x10(%rbp), %rax
movq $0x0, 0x1e5f8(%rax)
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x33a83
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x33a83
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x40(%rbp)
jmp 0x33a9d
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0xc150(%rcx), %rcx
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x40(%rbp)
movl -0x40(%rbp), %eax
cmpl $-0x1, %eax
jne 0x33aeb
movq -0x10(%rbp), %rax
cmpl $0xc8, 0x1f270(%rax)
jne 0x33acf
movq -0x10(%rbp), %rax
movl $0xe, 0x1f274(%rax)
movl $0xe, -0x4(%rbp)
jmp 0x33e85
movq -0x10(%rbp), %rax
movl 0x1f270(%rax), %eax
movq -0x10(%rbp), %rcx
movl %eax, 0x1f274(%rcx)
movl %eax, -0x4(%rbp)
jmp 0x33e85
movq -0x10(%rbp), %rax
cmpq $0x0, 0xc0a0(%rax)
je 0x33b80
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x3, %eax
cmpl $0x3, %eax
je 0x33b80
movq -0x10(%rbp), %rax
movq 0xc158(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc150(%rcx), %rax
jbe 0x33b80
movq -0x10(%rbp), %rax
movq 0xc0a0(%rax), %rax
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rsi
addq $0xc198, %rsi           # imm = 0xC198
movq -0x10(%rbp), %rcx
addq 0xc150(%rcx), %rsi
movq -0x10(%rbp), %rcx
movq 0xc158(%rcx), %rdx
movq -0x10(%rbp), %rcx
subq 0xc150(%rcx), %rdx
callq *%rax
movl %eax, -0x1c(%rbp)
cmpl $0x0, %eax
je 0x33b7e
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
movl %eax, 0x1f274(%rcx)
movl %eax, -0x4(%rbp)
jmp 0x33e85
jmp 0x33b80
movq -0x10(%rbp), %rax
cmpl $0x0, 0x1f274(%rax)
je 0x33bf7
movq -0x10(%rbp), %rax
cmpl $0x3e9, 0x1f274(%rax)   # imm = 0x3E9
jne 0x33be5
movq -0x10(%rbp), %rax
cmpq $0x0, 0xbfb8(%rax)
je 0x33be5
movq -0x10(%rbp), %rax
movq 0xbfb8(%rax), %rax
movq -0x10(%rbp), %rdi
callq *%rax
movl %eax, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x1f274(%rax)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x1f274(%rax)
jne 0x33be3
movq -0x10(%rbp), %rax
movl $0x3e8, 0x1f274(%rax)   # imm = 0x3E8
jmp 0x33be5
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x33e85
jmp 0x33bf9
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x33d72
jmp 0x33c10
movq -0x10(%rbp), %rdi
callq 0x17c50
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
jne 0x33c3b
movq -0x10(%rbp), %rax
movl $0xffffffff, 0x1f274(%rax) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0x33e85
jmp 0x33c3d
movb $0x1, %al
cmpl $0x2d, -0x14(%rbp)
movb %al, -0x41(%rbp)
jne 0x33c9e
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0xc158(%rcx), %rax
jb 0x33c78
movq -0x10(%rbp), %rdi
callq 0x177b0
cmpl $0x0, %eax
je 0x33c78
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x48(%rbp)
jmp 0x33c92
movq -0x10(%rbp), %rax
movq -0x10(%rbp), %rcx
movq 0xc150(%rcx), %rcx
movzbl 0xc198(%rax,%rcx), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %eax
cmpl $0x2d, %eax
setne %al
movb %al, -0x41(%rbp)
movb -0x41(%rbp), %al
testb $0x1, %al
jne 0x33c10
movl -0x14(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0xc160(%rax)
movq -0x10(%rbp), %rdi
callq 0x32240
cmpl $0x0, %eax
je 0x33cd6
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x33e85
movq -0x10(%rbp), %rax
cmpq $0x0, 0x1f2f0(%rax)
je 0x33d3b
jmp 0x33ce6
movq -0x10(%rbp), %rax
movq 0x1f308(%rax), %rax
cmpq $0x0, 0x18(%rax)
jne 0x33cfa
jmp 0x33d39
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x1f2f0(%rax), %rsi
movq -0x10(%rbp), %rax
movq 0x1f308(%rax), %rax
movq 0x18(%rax), %rdx
callq 0x32dd0
cmpl $0x0, %eax
jne 0x33d24
jmp 0x33d39
jmp 0x33d26
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x32720
cmpq $0x0, %rax
jne 0x33ce6
jmp 0x33d3b
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x1f300(%rax), %rax
movq 0x20(%rax), %rsi
leaq 0x5edc(%rip), %rdx      # 0x39c31
callq 0x22540
cmpq $0x0, %rax
je 0x33d70
movq -0x10(%rbp), %rax
movl 0x4(%rax), %ecx
orl $0x80, %ecx
movl %ecx, 0x4(%rax)
jmp 0x33d72
movq -0x10(%rbp), %rax
movl 0x4(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
je 0x33e7e
movq -0x10(%rbp), %rdi
callq 0x31e20
cmpl $0x0, %eax
je 0x33da7
movq -0x10(%rbp), %rax
movl 0x1f274(%rax), %eax
movl %eax, -0x4(%rbp)
jmp 0x33e85
movq -0x10(%rbp), %rax
movsbl 0x1f2a8(%rax), %eax
andl $0x1, %eax
cmpl $0x0, %eax
je 0x33e5d
movq -0x10(%rbp), %rax
movq 0x1f290(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x1f298(%rax)
movq -0x10(%rbp), %rax
movq 0xc158(%rax), %rax
movq -0x10(%rbp), %rcx
subq 0xc150(%rcx), %rax
movq -0x10(%rbp), %rcx
cmpq 0x1f298(%rcx), %rax
jb 0x33e30
movq -0x10(%rbp), %rax
movq 0xc158(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x1f2a0(%rax)
movq -0x10(%rbp), %rax
movq 0xc150(%rax), %rcx
movq -0x10(%rbp), %rax
addq 0x1f298(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xc158(%rax)
jmp 0x33e5b
movq -0x10(%rbp), %rax
movq 0xc158(%rax), %rdx
movq -0x10(%rbp), %rax
subq 0xc150(%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x1f298(%rax), %rcx
subq %rdx, %rcx
movq %rcx, 0x1f298(%rax)
jmp 0x33e5d
movq -0x10(%rbp), %rax
movq 0xc158(%rax), %rcx
movq -0x10(%rbp), %rax
subq 0xc150(%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0xc170(%rax)
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nop