// File: /workspace/github_c_makefile_star2_O0/hkshenSmart[P]ONVIF-discovery_cs/stdsoap2.c
// Function: soap_free_temp
SOAP_FMAC2
soap_free_temp(struct soap *soap)
{ register struct soap_attribute *tp, *tq;
  register struct Namespace *ns;
  soap_free_ns(soap);
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free any remaining temp blocks\n"));
  while (soap->blist)
    soap_end_block(soap, NULL);
  DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Free attribute storage\n"));
  for (tp = soap->attributes; tp; tp = tq)
  { tq = tp->next;
    if (tp->value)
      SOAP_FREE(soap, tp->value);
    SOAP_FREE(soap, tp);
  }
  soap->attributes = NULL;
#ifdef WITH_FAST
  if (soap->labbuf)
    SOAP_FREE(soap, soap->labbuf);
  soap->labbuf = NULL;
  soap->lablen = 0;
  soap->labidx = 0;
#endif
  ns = soap->local_namespaces;
  if (ns)
  { for (; ns->id; ns++)
    { if (ns->out)
      { if (soap->encodingStyle == ns->out)
          soap->encodingStyle = SOAP_STR_EOS;
        SOAP_FREE(soap, ns->out);
        ns->out = NULL;
      }
      if (soap->encodingStyle == ns->ns)
        soap->encodingStyle = SOAP_STR_EOS;
    }
    SOAP_FREE(soap, soap->local_namespaces);
    soap->local_namespaces = NULL;
  }
#ifndef WITH_LEANER
  while (soap->xlist)
  { struct soap_xlist *xp = soap->xlist->next;
    SOAP_FREE(soap, soap->xlist);
    soap->xlist = xp;
  }
#endif
#ifndef WITH_NOIDREF
  soap_free_pht(soap);
  soap_free_iht(soap);
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x239b0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x90(%rax)
je 0x1f1a2
movq -0x8(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x1c100
jmp 0x1f185
movq -0x8(%rbp), %rax
movq 0x1e5e0(%rax), %rax
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x1f1ee
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x1f1db
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0x3030
movq -0x10(%rbp), %rdi
callq 0x3030
movq -0x18(%rbp), %rax
movq %rax, -0x10(%rbp)
jmp 0x1f1b1
movq -0x8(%rbp), %rax
movq $0x0, 0x1e5e0(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0xc180(%rax)
je 0x1f21b
movq -0x8(%rbp), %rax
movq 0xc180(%rax), %rdi
callq 0x3030
movq -0x8(%rbp), %rax
movq $0x0, 0xc180(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0xc188(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0xc190(%rax)
movq -0x8(%rbp), %rax
movq 0x80(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x1f303
jmp 0x1f264
movq -0x20(%rbp), %rax
cmpq $0x0, (%rax)
je 0x1f2e4
movq -0x20(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x1f2b3
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movq -0x20(%rbp), %rcx
cmpq 0x18(%rcx), %rax
jne 0x1f29a
movq -0x8(%rbp), %rax
leaq 0x1a0eb(%rip), %rcx     # 0x39381
movq %rcx, 0x38(%rax)
movq -0x20(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x3030
movq -0x20(%rbp), %rax
movq $0x0, 0x18(%rax)
movq -0x8(%rbp), %rax
movq 0x38(%rax), %rax
movq -0x20(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x1f2d4
movq -0x8(%rbp), %rax
leaq 0x1a0b1(%rip), %rcx     # 0x39381
movq %rcx, 0x38(%rax)
jmp 0x1f2d6
movq -0x20(%rbp), %rax
addq $0x20, %rax
movq %rax, -0x20(%rbp)
jmp 0x1f264
movq -0x8(%rbp), %rax
movq 0x80(%rax), %rdi
callq 0x3030
movq -0x8(%rbp), %rax
movq $0x0, 0x80(%rax)
jmp 0x1f305
movq -0x8(%rbp), %rax
cmpq $0x0, 0x1f310(%rax)
je 0x1f346
movq -0x8(%rbp), %rax
movq 0x1f310(%rax), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rax
movq 0x1f310(%rax), %rdi
callq 0x3030
movq -0x28(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x1f310(%rax)
jmp 0x1f305
movq -0x8(%rbp), %rdi
callq 0x26d20
movq -0x8(%rbp), %rdi
callq 0x26dc0
addq $0x30, %rsp
popq %rbp
retq
nop