// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/xmlparser.c
// Function: xml_print_element
void xml_print_element(FILE* handle, Xmlelementptr element, int level)
{
 int i;
 Listitemptr listnode;
 Xmlattributeptr attribute;
 for (i = 0; i < level; i++)
   fprintf(handle, "\t");
 fprintf(handle, "<");
 fprintf(handle, "%s", element->name);
 if (element->attributes != NULL)
  {
   listnode = element->attributes->head;
   while (listnode)
    {
     attribute = (Xmlattributeptr) listnode->item;
     fprintf(handle, " %s=\"%s\"", attribute->name, attribute->value);
     listnode = listnode->next;
    }
  }
 if (element->child == NULL)
   if (element->pcdata == NULL)
     fprintf(handle, "/>\n");
   else
     fprintf(handle, ">%s</%s>\n", element->pcdata, element->name);
 else
  { 
   fprintf(handle, ">\n");
   xml_print_element(handle, element->child, level + 1);
   for (i = 0; i < level; i++)
     fprintf(handle, "\t");
   fprintf(handle, "</%s>\n", element->name);
  }
 if (element->sibling)
   xml_print_element(handle, element->sibling, level);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xe125f
movq -0x8(%rbp), %rdi
leaq 0xcd8c(%rip), %rsi      # 0xedfd9
movb $0x0, %al
callq 0x4280
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xe123a
movq -0x8(%rbp), %rdi
leaq 0x4856(%rip), %rsi      # 0xe5ac0
movb $0x0, %al
callq 0x4280
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
leaq 0x3815(%rip), %rsi      # 0xe4a98
movb $0x0, %al
callq 0x4280
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0xe12e7
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0xe12e5
movq -0x20(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rax
movq (%rax), %rdx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %rcx
leaq 0xdb86(%rip), %rsi      # 0xeee56
movb $0x0, %al
callq 0x4280
movq -0x20(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0xe12a4
jmp 0xe12e7
movq -0x10(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jne 0xe1334
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xe1311
movq -0x8(%rbp), %rdi
leaq 0xc26e(%rip), %rsi      # 0xed576
movb $0x0, %al
callq 0x4280
jmp 0xe1332
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x10(%rbp), %rax
movq (%rax), %rcx
leaq 0xdb34(%rip), %rsi      # 0xeee5f
movb $0x0, %al
callq 0x4280
jmp 0xe13a2
movq -0x8(%rbp), %rdi
leaq 0xc2d2(%rip), %rsi      # 0xed611
movb $0x0, %al
callq 0x4280
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rsi
movl -0x14(%rbp), %edx
addl $0x1, %edx
callq 0xe1220
movl $0x0, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl -0x14(%rbp), %eax
jge 0xe1389
movq -0x8(%rbp), %rdi
leaq 0xcc62(%rip), %rsi      # 0xedfd9
movb $0x0, %al
callq 0x4280
movl -0x18(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0xe1364
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rdx
leaq 0xdac7(%rip), %rsi      # 0xeee62
movb $0x0, %al
callq 0x4280
movq -0x10(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0xe13c1
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x28(%rax), %rsi
movl -0x14(%rbp), %edx
callq 0xe1220
addq $0x30, %rsp
popq %rbp
retq
nopw (%rax,%rax)