// File: /workspace/github_c_makefile_star2_O2/jsummers[P]deark/modules/amiga-dsk.c
// Function: do_header_block
static int do_header_block(deark *c, lctx *d, i64 blknum)
{
	i64 pos1;
	int blocktype;
	int retval = 0;
	int saved_indent_level;
	struct member_data *md = NULL;

	de_dbg_indent_save(c, &saved_indent_level);

	d->nesting_level++;
	if(d->nesting_level>MAX_NESTING_LEVEL) goto done;

	pos1 = blocknum_to_offset(d, blknum);

	if(!claim_block(c, d, blknum)) {
		goto done;
	}

	blocktype = (int)de_geti32be(pos1);
	if(blocktype==ADF_T_HEADER) {
		retval = 1;
	}

	md = de_malloc(c, sizeof(struct member_data));
	md->header_blknum = blknum;
	md->header_pos = blocknum_to_offset(d, md->header_blknum);
	md->fi = de_finfo_create(c);

	de_dbg(c, "header block: #%"I64_FMT" (%"I64_FMT")", blknum, pos1);
	de_dbg_indent(c, 1);

	de_dbg(c, "block type: %d", blocktype);
	if(blocktype!=ADF_T_HEADER) {
		de_err(c, "Expected header block #%"I64_FMT" (at %"I64_FMT") not found", blknum, pos1);
		goto done;
	}
	md->sec_type = (UI)de_getu32be(pos1+d->bsize-4);
	de_dbg(c, "block secondary type: %d", md->sec_type);

	if(md->sec_type==ADF_ST_ROOT || md->sec_type==ADF_ST_USERDIR) {
		do_directory(c, d, md);
	}
	else if(md->sec_type==ADF_ST_FILE) {
		do_file(c, d, md);
	}
	else {
		de_warn(c, "Unsupported file type: %d", md->sec_type);
		goto done;
	}

done:
	if(md) {
		if(md->outf) {
			dbuf_close(md->outf);
		}
		de_finfo_destroy(c, md->fi);
		ucstring_destroy(md->fn);
		de_free(c, md->tmpbpt.blocks_tbl);
		de_free(c, md);
	}
	de_dbg_indent_restore(c, saved_indent_level);
	d->nesting_level--;
	return retval;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdx, %r15
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x48(%rsp), %rsi
callq 0xdebae
movl 0x20(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x20(%rbx)
cmpl $0xf, %eax
jg 0x2832c
movq 0x8(%rbx), %r12
imulq %r15, %r12
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x28f6d
testl %eax, %eax
je 0x2832c
movq 0x18(%r14), %rdi
movq %r12, %rsi
callq 0xe40e8
movq %rax, %r13
movl $0x88, %esi
movq %r14, %rdi
callq 0xdecaf
movq %rax, %rbp
movq %r15, (%rax)
movq 0x8(%rbx), %rax
imulq %r15, %rax
movq %rax, 0x8(%rbp)
movq %r14, %rdi
callq 0xdfd1a
movq %rax, 0x68(%rbp)
leaq 0xdfc1b(%rip), %rsi     # 0x107e15
movq %r14, %rdi
movq %r15, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0xdeba7
leaq 0xdfb4d(%rip), %rsi     # 0x107d69
movq %r14, %rdi
movl %r13d, %edx
xorl %eax, %eax
callq 0xde896
cmpl $0x2, %r13d
sete %al
movl %eax, 0x34(%rsp)
jne 0x28333
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%r12,%rax), %rsi
addq $-0x4, %rsi
callq 0xe404f
movl %eax, 0x30(%rbp)
leaq 0xdfb4d(%rip), %rsi     # 0x107da6
movq %r14, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
movl 0x30(%rbp), %edx
leal -0x1(%rdx), %eax
pushq $0x4
popq %r13
pushq $0x1e
popq %r12
cmpl $0x2, %eax
jae 0x2834f
leaq 0x4c(%rsp), %rsi
movq %r14, %rdi
callq 0xdebae
movb $0x1, 0x10(%rbp)
movq (%rbp), %rdx
movq %rbp, %r15
movq 0x8(%rbp), %rbp
leaq 0xdfb6c(%rip), %rsi     # 0x107e0b
movq %r14, %rdi
movq %rbp, %rcx
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0xdeba7
movq %r15, 0x8(%rsp)
movl 0x30(%r15), %eax
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x28661
cmpl $0x1, %eax
jne 0x28684
movq 0x18(%r14), %rdi
leaq 0xc(%rbp), %rsi
callq 0xe404f
movq %rax, %r15
leaq 0xdfb42(%rip), %rsi     # 0x107e2e
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq %r15, 0x28(%rsp)
cmpq $0x80, %r15
jle 0x286a3
leaq 0xdfb7a(%rip), %rsi     # 0x107e8c
xorl %r15d, %r15d
pushq $0x14
popq %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0xdf2a5
movq 0x8(%rsp), %rbp
jmp 0x28a14
xorl %eax, %eax
jmp 0x28eef
leaq 0xdfa3e(%rip), %rsi     # 0x107d78
movq %r14, %rdi
movq %r15, %rdx
movq %r12, %rcx
xorl %eax, %eax
callq 0xdf2a5
jmp 0x28eae
cmpl $-0x3, %edx
jne 0x2866e
leaq 0x1c(%rsp), %rsi
movq %r14, %rdi
callq 0xdebae
cmpl $-0x3, 0x30(%rbp)
jne 0x2869b
movq (%rbp), %rdx
movq 0x8(%rbp), %r15
leaq 0xdfbb6(%rip), %rsi     # 0x107f34
movq %r14, %rdi
movq %r15, %rcx
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0xdeba7
movq %r15, 0x10(%rsp)
leaq 0x4(%r15), %rax
leaq 0x38(%rsp), %r13
movq %rax, (%r13)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xe4071
movq %rax, %r15
leaq 0xdfb94(%rip), %rsi     # 0x107f52
movq %r14, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xe4071
movq %rax, 0x70(%rbp)
leaq 0xdfb7f(%rip), %rsi     # 0x107f61
movq %r14, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
addq $0x4, (%r13)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xe4071
movq %rax, 0x20(%rbp)
leaq 0xdfb64(%rip), %rsi     # 0x107f6e
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq (%rbp), %rcx
cmpq %rcx, %r15
jne 0x28a25
leaq 0x70(%rbp), %r13
movq 0x8(%rbp), %r15
addq $0x18, %r15
movq 0x8(%rbx), %rax
cqto
pushq $0x4
popq %rcx
idivq %rcx
leaq -0x38(%rax), %rsi
movq %rsi, 0x78(%rbp)
pushq $0x8
popq %rdx
movq %r14, %rdi
callq 0xdf66f
movq %rax, 0x80(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %r13, 0x28(%rsp)
movq %r13, %rdx
callq 0x2913e
movq 0x8(%rbx), %rax
movq 0x10(%rsp), %r15
leaq (%r15,%rax), %rdx
addq $-0xc0, %rdx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x28fdb
movq 0x8(%rbx), %rax
addq %r15, %rax
addq $-0xbc, %rax
leaq 0x38(%rsp), %rsi
movq %rax, (%rsi)
movq 0x18(%r14), %rdi
movq %rsi, %r13
callq 0xe4071
movq %rax, 0x18(%rbp)
leaq 0xe11ba(%rip), %rsi     # 0x10966e
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x8(%rbx), %rax
leaq (%r15,%rax), %rsi
addq $-0x5c, %rsi
movq %rsi, (%r13)
leaq 0x40(%rbp), %rdx
leaq 0xf8908(%rip), %rcx     # 0x120de4
movq %r14, %rdi
movq %rdx, 0x20(%rsp)
callq 0x29036
movq 0x8(%rbx), %rax
addq %r15, %rax
addq $-0x50, %rax
movq %r13, %rsi
movq %rax, (%r13)
movq 0x18(%r14), %rdi
callq 0xe3f2a
movzbl %al, %eax
cmpb $0x1e, %al
cmovbl %eax, %r12d
movzbl %r12b, %r13d
movq %r14, %rdi
callq 0xeac74
movq %rax, 0x38(%rbp)
movq 0x18(%r14), %rdi
leaq 0x38(%rsp), %r12
movq (%r12), %rsi
pushq $0x5
popq %r9
movq %r13, %rdx
movq %rax, %rcx
xorl %r8d, %r8d
callq 0xe4c9a
movq 0x38(%rbp), %rdi
callq 0xeb877
leaq 0x106512(%rip), %rsi    # 0x12ea5e
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x30(%rbx), %rdi
movq 0x38(%rbp), %rsi
callq 0xeb9f5
movq 0x8(%rbx), %rax
addq %r15, %rax
addq $-0xc, %rax
movq %rax, (%r12)
movq 0x18(%r14), %rdi
movq %r12, %rsi
callq 0xe4071
leaq 0xdfa21(%rip), %rsi     # 0x107fa9
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x18(%r14), %rdi
movq %r12, %rsi
callq 0xe4071
movq %rax, 0x28(%rbp)
leaq 0xdfa0d(%rip), %rsi     # 0x107fb9
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
cmpl $-0x3, 0x30(%rbp)
jne 0x28a41
movq 0x68(%rbp), %rax
movb $0x1, 0x8(%rax)
movq %r14, %rdi
callq 0xeac74
movq %rax, %r12
movq 0x30(%rbx), %rdi
movq %rbp, 0x8(%rsp)
pushq $0x1
popq %rbp
movq %rax, %rsi
movl %ebp, %edx
callq 0xeba55
movq 0x8(%rsp), %rax
movq 0x68(%rax), %rsi
movq %r14, %rdi
movq %r12, %rdx
movl %ebp, %ecx
movq 0x8(%rsp), %rbp
callq 0xdfd55
cmpb $0x0, 0x40(%rbp)
je 0x2861d
movq 0x68(%rbp), %rax
movq 0x20(%rsp), %rcx
movups (%rcx), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x68(%rbp), %rdx
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
callq 0xe4e62
movq %rax, 0x50(%rbp)
cmpb $0x0, (%rbx)
je 0x28a5a
movq 0x70(%rbp), %rax
cmpq 0x78(%rbp), %rax
jle 0x28c44
leaq 0xdf83d(%rip), %rsi     # 0x107e8c
pushq $0x1e
popq %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0xdf2a5
jmp 0x28e8c
movq 0x8(%rsp), %rbp
xorl %r15d, %r15d
jmp 0x28a14
leaq 0xdf74a(%rip), %rsi     # 0x107dbf
movq %r14, %rdi
xorl %eax, %eax
callq 0xdf05a
jmp 0x28eae
movq 0x8(%rbx), %rcx
movq %rcx, %rax
cqto
idivq %r13
addq $-0x38, %rax
movq %rax, 0x28(%rsp)
jmp 0x286a7
xorl %r12d, %r12d
jmp 0x28e95
movq 0x8(%rbx), %rcx
leaq (%rcx,%rbp), %rdx
addq $-0xc0, %rdx
movq %r14, %rdi
movq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x28fdb
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x5c, %rsi
leaq 0x40(%r15), %r13
leaq 0xdf773(%rip), %rcx     # 0x107e4c
movq %r14, %rdi
movq %r13, %rdx
callq 0x29036
movl 0x30(%r15), %ecx
movl %ecx, %eax
movl %ecx, 0x44(%rsp)
cmpl $0x2, %ecx
jne 0x2877b
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x50, %rsi
callq 0xe3eb4
movzbl %al, %eax
cmpb $0x1e, %al
cmovbl %eax, %r12d
movzbl %r12b, %r15d
movq %r14, %rdi
callq 0xeac74
movq 0x8(%rsp), %r12
movq %rax, 0x38(%r12)
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rcx
leaq -0x4f(%rbp,%rcx), %rsi
pushq $0x5
popq %r9
movq %r15, %rdx
movq %rax, %rcx
xorl %r8d, %r8d
callq 0xe4c9a
movq 0x38(%r12), %rdi
callq 0xeb877
leaq 0xdf6fe(%rip), %rsi     # 0x107e59
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq 0x30(%rbx), %rdi
movq 0x38(%r12), %rsi
callq 0xeb9f5
movl 0x30(%r12), %eax
cmpl $0x1, %eax
jne 0x287c9
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x28, %rsi
leaq 0xdf6d4(%rip), %rcx     # 0x107e67
leaq 0x58(%rsp), %r15
movq %r14, %rdi
movq %r15, %rdx
callq 0x29036
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x1c, %rsi
leaq 0xdf6bf(%rip), %rcx     # 0x107e75
movq %r14, %rdi
movq %r15, %rdx
callq 0x29036
movq 0x8(%rsp), %rax
movl 0x30(%rax), %eax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rdx
movb $0x1, 0x9(%rdx)
cmpl $0x2, %eax
je 0x287e6
cmpl $0x1, %eax
jne 0x2882b
movb $0x1, 0xb(%rdx)
jmp 0x2882b
movq 0x8(%rsp), %r12
cmpq $0x0, 0x38(%r12)
je 0x2882b
movb $0x1, 0x8(%rdx)
movq %r14, %rdi
callq 0xeac74
movq %rax, %r15
movq 0x30(%rbx), %rdi
pushq $0x1
popq %rdx
movq %rax, %rsi
callq 0xeba55
movq 0x68(%r12), %rsi
movq %r14, %rdi
movq %r15, %rdx
pushq $0x1
popq %rcx
callq 0xdfd55
movq 0x68(%r12), %rdx
jmp 0x2882e
xorl %r15d, %r15d
cmpb $0x0, (%r13)
movq %r15, 0x50(%rsp)
je 0x2884e
movups (%r13), %xmm0
movups %xmm0, 0x18(%rdx)
movq 0x8(%rsp), %r15
movq 0x68(%r15), %rdx
jmp 0x28853
movq 0x8(%rsp), %r15
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
callq 0xe4e62
movq %rax, 0x50(%r15)
movq %rax, %rdi
callq 0xe5591
andq $0x0, 0x50(%r15)
addq $0x18, %rbp
leaq 0x38(%rsp), %rax
movq %rbp, (%rax)
leaq 0x1c(%rsp), %rsi
movq %r14, %rdi
callq 0xdebae
leaq 0xdf642(%rip), %rsi     # 0x107ed2
movq %r14, %rdi
movq %rbp, %rdx
xorl %eax, %eax
callq 0xde896
pushq $0x1
popq %rsi
movq %r14, %rdi
callq 0xdeba7
movq 0x28(%rsp), %rax
testq %rax, %rax
movl $0x0, %ecx
cmovgq %rax, %rcx
movq %rcx, 0x20(%rsp)
leaq 0xdf665(%rip), %r12     # 0x107f2a
xorl %ebp, %ebp
xorl %r15d, %r15d
cmpq 0x20(%rsp), %r15
je 0x289d6
movq 0x18(%r14), %rdi
leaq 0x38(%rsp), %rsi
callq 0xe4071
movq %rax, %r13
testq %rax, %rax
jle 0x289b1
movq %r14, %rdi
leaq 0xdf5ea(%rip), %rsi     # 0x107ee3
movl %r15d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xde896
incl %ebp
movl %ebp, 0x10(%rsp)
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq %r14, %rdi
leaq 0x18(%rsp), %rsi
callq 0xdebae
movq 0x8(%rbx), %rbp
imulq %r13, %rbp
movq %r14, %rdi
leaq 0xdf5d6(%rip), %rsi     # 0x107f0c
movq %r13, %rdx
xorl %eax, %eax
callq 0xde896
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
testq %r13, %r13
jle 0x28994
movq %r14, %rdi
movq %rbx, %rsi
movq %r13, %rdx
callq 0x28168
testl %eax, %eax
je 0x28994
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x10, %rsi
callq 0xe404f
movq %rax, %r13
movq %r14, %rdi
movq %r12, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
movq %r13, %rbp
imulq 0x8(%rbx), %rbp
jmp 0x2894b
movl 0x18(%rsp), %esi
movq %r14, %rdi
callq 0xdebb7
movq %r14, %rdi
pushq $-0x1
popq %rsi
callq 0xdeba7
movl 0x10(%rsp), %ebp
jmp 0x289ce
cmpl $0x2, (%r14)
jl 0x289ce
movq %r14, %rdi
leaq 0xdf522(%rip), %rsi     # 0x107ee3
movl %r15d, %edx
movl %r13d, %ecx
xorl %eax, %eax
callq 0xde896
incq %r15
jmp 0x288ca
leaq 0xdf511(%rip), %rsi     # 0x107eee
movq %r14, %rdi
movl %ebp, %edx
movq 0x28(%rsp), %rcx
xorl %eax, %eax
callq 0xde896
movl 0x1c(%rsp), %esi
movq %r14, %rdi
callq 0xdebb7
cmpl $0x2, 0x44(%rsp)
movq 0x8(%rsp), %rbp
jne 0x28a0f
movq 0x30(%rbx), %rdi
callq 0xeb9bd
movq 0x50(%rsp), %r15
movq %r15, %rdi
callq 0xeaf3c
movl 0x4c(%rsp), %esi
jmp 0x28ea1
leaq 0xdf558(%rip), %rsi     # 0x107f84
xorl %r12d, %r12d
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0xdf2a5
jmp 0x28e95
leaq 0xdf587(%rip), %rsi     # 0x107fcf
xorl %r12d, %r12d
movq %r14, %rdi
xorl %eax, %eax
callq 0xde896
jmp 0x28e8c
movq %r12, 0x20(%rsp)
movq 0x20(%rbp), %r15
movq %r15, 0x60(%rbp)
pushq $0x1
popq %r13
testq %r15, %r15
je 0x28e87
movl (%r14), %r12d
movq %r14, %rdi
leaq 0x18(%rsp), %rsi
callq 0xdebae
movq 0x8(%rbx), %rbp
imulq %r15, %rbp
movl %r12d, 0x10(%rsp)
cmpl $0x2, %r12d
movq %r13, %r12
jl 0x28ab4
movq %r14, %rdi
leaq 0xdf5b2(%rip), %rsi     # 0x108056
movq %r15, %rdx
movq %rbp, %rcx
movl %r12d, %r8d
xorl %eax, %eax
callq 0xde896
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x28f6d
testl %eax, %eax
leaq 0x58(%rsp), %r13
je 0x28e76
movq %rbp, 0x58(%rsp)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xe40fc
movq %rax, %r15
cmpl $0x2, 0x10(%rsp)
jl 0x28b09
movq %r14, %rdi
leaq 0xdf26a(%rip), %rsi     # 0x107d69
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
cmpl $0x8, %r15d
jne 0x28de9
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xe4071
movq %rax, %r15
cmpl $0x2, 0x10(%rsp)
jl 0x28b3d
movq %r14, %rdi
leaq 0xdf41f(%rip), %rsi     # 0x107f52
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
movq 0x8(%rsp), %rax
cmpq (%rax), %r15
jne 0x28e17
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xe4071
movq %rax, %r15
cmpl $0x2, 0x10(%rsp)
jl 0x28b75
movq %r14, %rdi
leaq 0xdf543(%rip), %rsi     # 0x1080ae
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
cmpq %r15, %r12
jne 0x28e22
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xe4071
movq %rax, %rdx
cmpl $0x2, 0x10(%rsp)
jl 0x28bab
movq %r14, %rdi
leaq 0xfbec0(%rip), %rsi     # 0x124a5e
xorl %eax, %eax
movq %rdx, %r15
callq 0xde896
movq %r15, %rdx
movq 0x8(%rbx), %rax
addq $-0x18, %rax
cmpq %rax, %rdx
jg 0x28e2d
movq %r12, %r15
movq 0x8(%rsp), %r12
movq 0x58(%r12), %rax
addq %rdx, %rax
cmpq 0x18(%r12), %rax
jg 0x28e62
movq %r13, %rsi
movq %rdx, %r13
movq 0x18(%r14), %rdi
callq 0xe4071
movq %rax, 0x60(%r12)
cmpl $0x2, 0x10(%rsp)
jl 0x28c06
movq %r14, %rdi
leaq 0xdf4f0(%rip), %rsi     # 0x1080ec
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
addq $0x18, %rbp
movq 0x18(%r14), %rdi
movq 0x8(%rsp), %rax
movq 0x50(%rax), %rcx
movq %rbp, %rsi
movq %rax, %rbp
movq %r13, %rdx
callq 0xe45f4
addq %r13, 0x58(%rbp)
movl 0x18(%rsp), %esi
movq %r14, %rdi
callq 0xdebb7
movq %r15, %r13
incq %r13
movq 0x60(%rbp), %r15
jmp 0x28a6b
movq %r14, %rdi
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x291aa
testl %eax, %eax
je 0x28e8c
movq 0x28(%rbp), %r15
testq %r15, %r15
je 0x28dc9
testq %r15, %r15
je 0x28dc9
movq 0x50(%rbp), %rax
movq 0x18(%rax), %rax
cmpq 0x18(%rbp), %rax
jge 0x28dc9
movq %r14, %rdi
leaq 0x58(%rsp), %rsi
callq 0xdebae
movq 0x8(%rbx), %rbp
imulq %r15, %rbp
movq %r14, %rdi
leaq 0xdf359(%rip), %rsi     # 0x107ffa
movq %r15, %rdx
xorl %eax, %eax
callq 0xde896
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0xdeba7
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x28f6d
movb $0x1, %r13b
testl %eax, %eax
je 0x28d79
movq 0x18(%r14), %rdi
movq %rbp, %rsi
callq 0xe40e8
movq %rax, %r15
movq %r14, %rdi
leaq 0xdf081(%rip), %rsi     # 0x107d69
movl %r15d, %edx
xorl %eax, %eax
callq 0xde896
cmpl $0x10, %r15d
jne 0x28d83
movq 0x18(%r14), %rdi
leaq 0x8(%rbp), %rsi
callq 0xe404f
movq 0x8(%rsp), %r15
movq %rax, 0x70(%r15)
movq %r14, %rdi
leaq 0xdf245(%rip), %rsi     # 0x107f61
movl %eax, %edx
xorl %eax, %eax
callq 0xde896
leaq 0x18(%rbp), %rsi
movq %r14, %rdi
movq 0x28(%rsp), %rdx
callq 0x2913e
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x291aa
testl %eax, %eax
je 0x28d79
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x8, %rsi
callq 0xe404f
movq %rax, %r15
xorl %r13d, %r13d
movq %r14, %rdi
leaq 0xdf2d4(%rip), %rsi     # 0x108041
movq %rax, %rdx
xorl %eax, %eax
callq 0xde896
jmp 0x28d7c
xorl %r15d, %r15d
movq 0x8(%rsp), %rbp
jmp 0x28daf
movq 0x8(%rsp), %rbp
movq 0x38(%rbp), %rdi
callq 0xeb877
movq %r14, %rdi
leaq 0xdf274(%rip), %rsi     # 0x10800f
movq %rax, %rdx
movl %r15d, %ecx
pushq $0x10
popq %r8
xorl %eax, %eax
callq 0xdf2a5
xorl %r15d, %r15d
movl 0x58(%rsp), %esi
movq %r14, %rdi
callq 0xdebb7
testb %r13b, %r13b
je 0x28c67
jmp 0x28e8c
movq 0x50(%rbp), %rax
movq 0x18(%rax), %rax
cmpq 0x18(%rbp), %rax
jge 0x28e8c
leaq 0xdf0aa(%rip), %rsi     # 0x107e8c
pushq $0x1a
jmp 0x28651
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0xeb877
leaq 0xdf27a(%rip), %rsi     # 0x108078
pushq $0x8
popq %r9
movq %r14, %rdi
movq %rax, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
xorl %eax, %eax
callq 0xdf2a5
jmp 0x28e76
leaq 0xdf06e(%rip), %rsi     # 0x107e8c
pushq $0xc
jmp 0x28e6b
leaq 0xdf063(%rip), %rsi     # 0x107e8c
pushq $0xd
jmp 0x28e6b
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
movq %rdx, %r15
callq 0xeb877
movq 0x8(%rbx), %r9
addq $-0x18, %r9
leaq 0xdf26d(%rip), %rsi     # 0x1080ba
movq %r14, %rdi
movq %rax, %rdx
movl %r12d, %ecx
movq %r15, %r8
xorl %eax, %eax
callq 0xdf2a5
jmp 0x28e76
leaq 0xdf023(%rip), %rsi     # 0x107e8c
pushq $0xf
popq %rdx
movq %r14, %rdi
xorl %eax, %eax
callq 0xdf2a5
movl 0x18(%rsp), %esi
movq %r14, %rdi
callq 0xdebb7
movq 0x8(%rsp), %rbp
movq 0x20(%rsp), %r12
movq 0x30(%rbx), %rdi
callq 0xeb9bd
movq %r12, %rdi
callq 0xeaf3c
movl 0x1c(%rsp), %esi
movq %r14, %rdi
callq 0xdebb7
testq %rbp, %rbp
je 0x28eeb
movq 0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x28ebc
callq 0xe5591
movq 0x68(%rbp), %rsi
movq %r14, %rdi
callq 0xdfd24
movq 0x38(%rbp), %rdi
callq 0xeaf3c
movq 0x80(%rbp), %rsi
movq %r14, %rdi
callq 0xded32
movq %r14, %rdi
movq %rbp, %rsi
callq 0xded32
movl 0x34(%rsp), %eax
movzbl %al, %ebp
movl 0x48(%rsp), %esi
movq %r14, %rdi
callq 0xdebb7
decl 0x20(%rbx)
movl %ebp, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq