// File: /workspace/github_c_makefile_star2_O0/phluid61[P]hsf/main.c
// Function: do_sh_list
void do_sh_list() {
	SH_List* list;

	SH_Boolean* obj;
	SH_BareItem* bi;
	SH_Item* item;

	int err = 0;

	list = SH_List__init(&err);
	if ((SH_List*)0 == list || err) {
		printf("* unable to init SH_List: [%llX] 0x%08X\n", (long long)list, err);
	} else {
		printf("+ init SH_List: [%llX]\n", (long long)list);

		_print_list(list);

		obj = SH_Boolean__init(SH_FALSE, &err);
		if ((SH_Boolean*)0 == obj || err) {
			printf("  * unable to create SH_Boolean: [%llX] 0x%08X\n", (long long)obj, err);
		} else {
			bi = SH_BareItem__init_boolean(obj, &err);
			if ((SH_BareItem*)0 == bi || err) {
				printf("  * unable to create SH_BareItem: [%llX] 0x%08X\n", (long long)bi, err);
			} else {
				item = SH_Item__init(bi, (SH_dict*)0, &err);
				if ((SH_Item*)0 == item || err) {
					printf("  * unable to create SH_Item: [%llX] 0x%08X\n", (long long)item, err);
				} else {
					SH_List__add(list, item, &err);
					if (err) {
						printf("  * unable to add: 0x%08X\n", err);
					} else {
						_print_list(list);
					}

					SH_List__add(list, item, &err);
					if (err) {
						printf("  * unable to add: 0x%08X\n", err);
					} else {
						_print_list(list);
					}

					SH_List__add(list, item, &err);
					if (err) {
						printf("  * unable to add: 0x%08X\n", err);
					} else {
						_print_list(list);
					}

					SH_Item__destroy(item, SH_FALSE, 0);
				}
				SH_BareItem__destroy(bi, SH_FALSE, 0);
			}
			SH_Boolean__destroy(obj, 0);
		}
		SH_List__destroy(list, SH_FALSE, 0);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl $0x0, -0x24(%rbp)
leaq -0x24(%rbp), %rdi
callq 0x6ab0
movq %rax, -0x8(%rbp)
xorl %eax, %eax
cmpq -0x8(%rbp), %rax
je 0x25aa
cmpl $0x0, -0x24(%rbp)
je 0x25c4
movq -0x8(%rbp), %rsi
movl -0x24(%rbp), %edx
leaq 0x60a3(%rip), %rdi      # 0x865b
movb $0x0, %al
callq 0x1050
jmp 0x275f
movq -0x8(%rbp), %rsi
leaq 0x60b5(%rip), %rdi      # 0x8684
movb $0x0, %al
callq 0x1050
movq -0x8(%rbp), %rdi
callq 0x24f0
xorl %edi, %edi
leaq -0x24(%rbp), %rsi
callq 0x4110
movq %rax, -0x10(%rbp)
xorl %eax, %eax
cmpq -0x10(%rbp), %rax
je 0x25fc
cmpl $0x0, -0x24(%rbp)
je 0x2616
movq -0x10(%rbp), %rsi
movl -0x24(%rbp), %edx
leaq 0x6092(%rip), %rdi      # 0x869c
movb $0x0, %al
callq 0x1050
jmp 0x2750
movq -0x10(%rbp), %rdi
leaq -0x24(%rbp), %rsi
callq 0x4d70
movq %rax, -0x18(%rbp)
xorl %eax, %eax
cmpq -0x18(%rbp), %rax
je 0x2635
cmpl $0x0, -0x24(%rbp)
je 0x264f
movq -0x18(%rbp), %rsi
movl -0x24(%rbp), %edx
leaq 0x6089(%rip), %rdi      # 0x86cc
movb $0x0, %al
callq 0x1050
jmp 0x2743
movq -0x18(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq -0x24(%rbp), %rdx
callq 0x5610
movq %rax, -0x20(%rbp)
xorl %eax, %eax
cmpq -0x20(%rbp), %rax
je 0x2672
cmpl $0x0, -0x24(%rbp)
je 0x268c
movq -0x20(%rbp), %rsi
movl -0x24(%rbp), %edx
leaq 0x607d(%rip), %rdi      # 0x86fd
movb $0x0, %al
callq 0x1050
jmp 0x2734
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x24(%rbp), %rdx
callq 0x6c20
cmpl $0x0, -0x24(%rbp)
je 0x26b6
movl -0x24(%rbp), %esi
leaq 0x607d(%rip), %rdi      # 0x872a
movb $0x0, %al
callq 0x1050
jmp 0x26bf
movq -0x8(%rbp), %rdi
callq 0x24f0
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x24(%rbp), %rdx
callq 0x6c20
cmpl $0x0, -0x24(%rbp)
je 0x26e9
movl -0x24(%rbp), %esi
leaq 0x604a(%rip), %rdi      # 0x872a
movb $0x0, %al
callq 0x1050
jmp 0x26f2
movq -0x8(%rbp), %rdi
callq 0x24f0
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rsi
leaq -0x24(%rbp), %rdx
callq 0x6c20
cmpl $0x0, -0x24(%rbp)
je 0x271c
movl -0x24(%rbp), %esi
leaq 0x6017(%rip), %rdi      # 0x872a
movb $0x0, %al
callq 0x1050
jmp 0x2725
movq -0x8(%rbp), %rdi
callq 0x24f0
movq -0x20(%rbp), %rdi
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x56f0
movq -0x18(%rbp), %rdi
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x4eb0
movq -0x10(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x41b0
movq -0x8(%rbp), %rdi
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
callq 0x6b40
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)