// File: /workspace/github_c_makefile_star2_O0/jsummers[P]deark/src/fmtutil-iff.c
// Function: de_fmtutil_default_iff_chunk_handler
static int de_fmtutil_default_iff_chunk_handler(struct de_iffctx *ictx)
{
	deark *c = ictx->c;
	i64 dpos = ictx->chunkctx->dpos;
	i64 dlen = ictx->chunkctx->dlen;
	u32 chunktype = ictx->chunkctx->chunk4cc.id;

	if(ictx->handled) goto done;
	if(ictx->is_std_container || ictx->is_raw_container) goto done;

	if(ictx->has_standard_iff_chunks) {
		switch(chunktype) {
		case CODE__c_:
			do_iff_text_chunk(c, ictx, dpos, dlen, "copyright");
			ictx->handled = 1;
			break;
		case CODE_ANNO:
			do_iff_anno(c, ictx, dpos, dlen);
			ictx->handled = 1;
			break;
		case CODE_AUTH:
			do_iff_text_chunk(c, ictx, dpos, dlen, "author");
			ictx->handled = 1;
			break;
		case CODE_NAME:
			do_iff_text_chunk(c, ictx, dpos, dlen, "name");
			ictx->handled = 1;
			break;
		case CODE_TEXT:
			do_iff_text_chunk(c, ictx, dpos, dlen, "text");
			ictx->handled = 1;
			break;
		}
	}

	if(!ictx->handled) {
		if(c->debug_level>=3) {
			de_dbg_hexdump(c, ictx->f, ictx->chunkctx->dpos, ictx->chunkctx->dlen,
				256, NULL, 0x1);
		}
		ictx->handled = 1;
	}
done:
	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movq 0x40(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movq 0x48(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movl 0x4(%rax), %eax
movl %eax, -0x24(%rbp)
movq -0x8(%rbp), %rax
cmpl $0x0, 0x130(%rax)
je 0x18d320
jmp 0x18d4d9
movq -0x8(%rbp), %rax
cmpl $0x0, 0x134(%rax)
jne 0x18d33a
movq -0x8(%rbp), %rax
cmpl $0x0, 0x138(%rax)
je 0x18d33f
jmp 0x18d4d9
movq -0x8(%rbp), %rax
cmpb $0x0, 0x5d(%rax)
je 0x18d472
movl -0x24(%rbp), %eax
movl %eax, -0x28(%rbp)
subl $0x28632920, %eax       # imm = 0x28632920
je 0x18d397
jmp 0x18d35c
movl -0x28(%rbp), %eax
subl $0x414e4e4f, %eax       # imm = 0x414E4E4F
je 0x18d3c6
jmp 0x18d368
movl -0x28(%rbp), %eax
subl $0x41555448, %eax       # imm = 0x41555448
je 0x18d3ee
jmp 0x18d374
movl -0x28(%rbp), %eax
subl $0x4e414d45, %eax       # imm = 0x4E414D45
je 0x18d41a
jmp 0x18d384
movl -0x28(%rbp), %eax
subl $0x54455854, %eax       # imm = 0x54455854
je 0x18d446
jmp 0x18d470
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x11401(%rip), %r8      # 0x19e7af
callq 0x18d4f0
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0x18d470
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x18d5a0
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0x18d470
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x21b11(%rip), %r8      # 0x1aef16
callq 0x18d4f0
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0x18d470
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x26bbd(%rip), %r8      # 0x1b3fee
callq 0x18d4f0
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0x18d470
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x2b37a(%rip), %r8      # 0x1b87d7
callq 0x18d4f0
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0x18d472
movq -0x8(%rbp), %rax
cmpl $0x0, 0x130(%rax)
jne 0x18d4d7
movq -0x10(%rbp), %rax
cmpl $0x3, (%rax)
jl 0x18d4c9
movq -0x10(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movq 0x40(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movq 0x48(%rax), %rcx
movl $0x100, %r8d            # imm = 0x100
xorl %eax, %eax
movl %eax, %r9d
movl $0x1, (%rsp)
callq 0x15b840
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0x18d4d9
movl $0x1, %eax
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)