// File: /workspace/github_c_makefile_star2_O0/jsummers[P]deark/modules/ilbm.c
// Function: my_deep_chunk_handler
static int my_deep_chunk_handler(struct de_iffctx *ictx)
{
	deark *c = ictx->c;
	struct deep_ctx *d = (struct deep_ctx*)ictx->userdata;

	switch(ictx->chunkctx->chunk4cc.id) {
	case CODE_FORM:
		ictx->is_std_container = 1;
		goto done;
	}

	if(ictx->level != 1) goto done;

	switch(ictx->chunkctx->chunk4cc.id) {
	case CODE_DGBL:
		do_deep_DGBL(c, d, ictx);
		ictx->handled = 1;
		break;
	case CODE_DLOC:
		do_deep_DLOC(c, d, ictx);
		ictx->handled = 1;
		break;
	case CODE_DPEL:
		do_deep_DPEL(c, d, ictx);
		ictx->handled = 1;
		break;
	case CODE_DBOD:
		do_deep_DBOD(c, d, ictx);
		d->DBOD_count++;
		ictx->handled = 1;
		break;
	case CODE_TVDC:
		d->found_TVDC = 1;
		dbuf_read(ictx->f, d->tvdc_data, ictx->chunkctx->dpos, sizeof(d->tvdc_data));
		// Don't set ictx->handled, since we don't emit dbg info.
		break;
	case CODE_MPIC:
		do_deep_mpic(c, d, ictx->f, ictx->chunkctx->dpos, ictx->chunkctx->dlen);
		ictx->handled = 1;
		break;
	case CODE_XS24:
		do_xs24(c, ictx->f, ictx->chunkctx->dpos, ictx->chunkctx->dlen);
		ictx->handled = 1;
		break;
	}

done:
	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movl 0x4(%rax), %eax
subl $0x464f524d, %eax       # imm = 0x464F524D
jne 0xb636d
jmp 0xb635a
movq -0x8(%rbp), %rax
movl $0x1, 0x134(%rax)
jmp 0xb6549
movq -0x8(%rbp), %rax
cmpl $0x1, 0x64(%rax)
je 0xb637c
jmp 0xb6549
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movl 0x4(%rax), %eax
movl %eax, -0x1c(%rbp)
subl $0x44424f44, %eax       # imm = 0x44424F44
je 0xb645d
jmp 0xb639a
movl -0x1c(%rbp), %eax
subl $0x4447424c, %eax       # imm = 0x4447424C
je 0xb63f1
jmp 0xb63a6
movl -0x1c(%rbp), %eax
subl $0x444c4f43, %eax       # imm = 0x444C4F43
je 0xb6415
jmp 0xb63b2
movl -0x1c(%rbp), %eax
subl $0x4450454c, %eax       # imm = 0x4450454C
je 0xb6439
jmp 0xb63be
movl -0x1c(%rbp), %eax
subl $0x4d504943, %eax       # imm = 0x4D504943
je 0xb64c7
jmp 0xb63ce
movl -0x1c(%rbp), %eax
subl $0x54564443, %eax       # imm = 0x54564443
je 0xb648e
jmp 0xb63de
movl -0x1c(%rbp), %eax
subl $0x58533234, %eax       # imm = 0x58533234
je 0xb650a
jmp 0xb6547
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rdx
callq 0xb6560
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0xb6547
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rdx
callq 0xb66b0
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0xb6547
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rdx
callq 0xb6780
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0xb6547
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rdx
callq 0xb6900
movq -0x18(%rbp), %rax
movl 0x4(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0xb6547
movq -0x18(%rbp), %rax
movb $0x1, 0xa(%rax)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rsi
addq $0xb4, %rsi
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movq 0x40(%rax), %rdx
movl $0x20, %ecx
callq 0x164d10
jmp 0xb6547
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movq 0x40(%rax), %rcx
movq -0x8(%rbp), %rax
movq 0x128(%rax), %rax
movq 0x48(%rax), %r8
callq 0xb6a30
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0xb6547
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
callq 0xb1270
movq -0x8(%rbp), %rax
movl $0x1, 0x130(%rax)
jmp 0xb6549
movl $0x1, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)