// File: /workspace/github_c_makefile_star2_O3/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, %r12
movq %rsi, %rbx
movq %rdi, %r14
leaq 0x58(%rsp), %rsi
callq 0xe8a1c
movl 0x20(%rbx), %eax
leal 0x1(%rax), %ecx
movl %ecx, 0x20(%rbx)
cmpl $0xf, %eax
jg 0x28d52
movq 0x8(%rbx), %r15
imulq %r12, %r15
movq %r14, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0x299f6
testl %eax, %eax
je 0x28d52
movq 0x18(%r14), %rdi
movq %r15, %rsi
callq 0xeedae
movq %rax, %r13
movl $0x88, %esi
movq %r14, %rdi
callq 0xe8b2b
movq %rax, %rbp
movq %r12, (%rax)
movq 0x8(%rbx), %rax
imulq %r12, %rax
movq %rax, 0x8(%rbp)
movq %r14, %rdi
callq 0xea504
movq %rax, 0x68(%rbp)
leaq 0xec252(%rip), %rsi     # 0x114e75
movq %r14, %rdi
movq %r12, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
leaq 0xec182(%rip), %rsi     # 0x114dc9
movq %r14, %rdi
movl %r13d, %edx
xorl %eax, %eax
callq 0xe8617
cmpl $0x2, %r13d
sete %al
movl %eax, 0x44(%rsp)
jne 0x28d59
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%r15,%rax), %rsi
addq $-0x4, %rsi
callq 0xeed0d
movl %eax, 0x30(%rbp)
leaq 0xec182(%rip), %rsi     # 0x114e06
movq %r14, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
movl 0x30(%rbp), %edx
leal -0x1(%rdx), %eax
cmpl $0x2, %eax
jae 0x28d75
leaq 0x5c(%rsp), %rsi
movq %r14, %rdi
callq 0xe8a1c
movb $0x1, 0x10(%rbp)
movq (%rbp), %rdx
movq %rbp, %r15
movq 0x8(%rbp), %rbp
leaq 0xec1a9(%rip), %rsi     # 0x114e6b
xorl %r12d, %r12d
movq %r14, %rdi
movq %rbp, %rcx
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
movq %r15, 0x8(%rsp)
movl 0x30(%r15), %eax
leal -0x1(%rax), %ecx
cmpl $0x1, %ecx
ja 0x28d48
cmpl $0x1, %eax
jne 0x2909a
movq 0x18(%r14), %rdi
leaq 0xc(%rbp), %rsi
callq 0xeed0d
movq %rax, %r15
leaq 0xec17e(%rip), %rsi     # 0x114e8e
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq %r15, 0x10(%rsp)
cmpq $0x80, %r15
jle 0x290c0
leaq 0xec1b6(%rip), %rsi     # 0x114eec
xorl %r12d, %r12d
movq %r14, %rdi
movl $0x14, %edx
xorl %eax, %eax
callq 0xe9295
movq 0x8(%rsp), %rbp
jmp 0x2943a
xorl %eax, %eax
jmp 0x294e3
leaq 0xec078(%rip), %rsi     # 0x114dd8
movq %r14, %rdi
movq %r12, %rdx
movq %r15, %rcx
xorl %eax, %eax
callq 0xe9295
jmp 0x294a2
cmpl $-0x3, %edx
jne 0x29084
leaq 0x2c(%rsp), %rsi
movq %r14, %rdi
callq 0xe8a1c
cmpl $-0x3, 0x30(%rbp)
jne 0x290b8
movq (%rbp), %rdx
movq 0x8(%rbp), %r12
leaq 0xec1f0(%rip), %rsi     # 0x114f94
movq %r14, %rdi
movq %r12, %rcx
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
leaq 0x4(%r12), %rax
leaq 0x50(%rsp), %r13
movq %rax, (%r13)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeed31
movq %rax, %r15
leaq 0xec1d0(%rip), %rsi     # 0x114fb2
movq %r14, %rdi
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeed31
movq %rax, 0x70(%rbp)
leaq 0xec1bb(%rip), %rsi     # 0x114fc1
movq %r14, %rdi
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
addq $0x4, (%r13)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeed31
movq %rax, 0x20(%rbp)
leaq 0xec1a0(%rip), %rsi     # 0x114fce
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq (%rbp), %rcx
cmpq %rcx, %r15
jne 0x29458
movq 0x8(%rbp), %r15
addq $0x18, %r15
movq 0x8(%rbx), %rax
leaq 0x3(%rax), %rsi
testq %rax, %rax
cmovnsq %rax, %rsi
leaq 0x70(%rbp), %r13
sarq $0x2, %rsi
addq $-0x38, %rsi
movq %rsi, 0x78(%rbp)
movl $0x8, %edx
movq %r14, %rdi
callq 0xe96f7
movq %rax, 0x80(%rbp)
movq %r14, %rdi
movq %r15, %rsi
movq %r13, 0x20(%rsp)
movq %r13, %rdx
callq 0x29bec
movq 0x8(%rbx), %rax
leaq (%r12,%rax), %rdx
addq $-0xc0, %rdx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x29a66
movq 0x8(%rbx), %rax
addq %r12, %rax
addq $-0xbc, %rax
leaq 0x50(%rsp), %r13
movq %rax, (%r13)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeed31
movq %rax, 0x18(%rbp)
leaq 0xed821(%rip), %rsi     # 0x1166fe
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x8(%rbx), %rax
leaq (%r12,%rax), %rsi
addq $-0x5c, %rsi
movq %rsi, (%r13)
movq %rbp, %rdx
addq $0x40, %rdx
leaq 0x10514c(%rip), %rcx    # 0x12e054
movq %r14, %rdi
movq %rdx, 0x10(%rsp)
callq 0x29ac2
movq 0x8(%rbx), %rax
addq %r12, %rax
addq $-0x50, %rax
movq %rax, (%r13)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeeb4b
movzbl %al, %eax
cmpb $0x1e, %al
movl $0x1e, %ecx
cmovbl %eax, %ecx
movzbl %cl, %r15d
movq %r14, %rdi
callq 0xf6410
movq %rax, 0x38(%rbp)
movq 0x18(%r14), %rdi
movq (%r13), %rsi
movq %r15, %rdx
movq %rax, %rcx
xorl %r8d, %r8d
movl $0x5, %r9d
callq 0xefbd7
movq 0x38(%rbp), %rdi
callq 0xf70f6
leaq 0x112dd5(%rip), %rsi    # 0x13bd4e
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x30(%rbx), %rdi
movq 0x38(%rbp), %rsi
callq 0xf72a4
movq 0x8(%rbx), %rax
addq %r12, %rax
addq $-0xc, %rax
movq %rax, (%r13)
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeed31
leaq 0xec054(%rip), %rsi     # 0x115009
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeed31
movq %rax, 0x28(%rbp)
leaq 0xec040(%rip), %rsi     # 0x115019
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
cmpl $-0x3, 0x30(%rbp)
jne 0x29471
movq 0x68(%rbp), %rax
movb $0x1, 0x8(%rax)
movq %r14, %rdi
callq 0xf6410
movq %rax, %r12
movq 0x30(%rbx), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0xf730d
movq 0x68(%rbp), %rsi
movq %r14, %rdi
movq %r12, %rdx
movl $0x1, %ecx
callq 0xea53f
cmpb $0x0, 0x40(%rbp)
je 0x2903e
movq 0x68(%rbp), %rax
movq 0x10(%rsp), %rcx
movups (%rcx), %xmm0
movups %xmm0, 0x18(%rax)
movq 0x68(%rbp), %rdx
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
callq 0xefda1
movq %rax, 0x50(%rbp)
cmpb $0x0, (%rbx)
je 0x29506
movq 0x70(%rbp), %rax
cmpq 0x78(%rbp), %rax
jle 0x2972a
leaq 0xebe7c(%rip), %rsi     # 0x114eec
movq %r14, %rdi
movl $0x1e, %edx
xorl %eax, %eax
callq 0xe9295
jmp 0x29485
leaq 0xebd94(%rip), %rsi     # 0x114e1f
movq %r14, %rdi
xorl %eax, %eax
callq 0xe8faa
jmp 0x294a2
movq 0x8(%rbx), %rax
leaq 0x3(%rax), %rcx
testq %rax, %rax
cmovnsq %rax, %rcx
sarq $0x2, %rcx
addq $-0x38, %rcx
movq %rcx, 0x10(%rsp)
jmp 0x290c4
xorl %r12d, %r12d
jmp 0x2948e
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rdx
addq $-0xc0, %rdx
movq %r14, %rdi
movq 0x8(%rsp), %r15
movq %r15, %rsi
callq 0x29a66
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x5c, %rsi
leaq 0x40(%r15), %r13
leaq 0xebdb6(%rip), %rcx     # 0x114eac
movq %r14, %rdi
movq %r13, %rdx
callq 0x29ac2
movl 0x30(%r15), %ecx
movl %ecx, %eax
movl %ecx, 0x48(%rsp)
cmpl $0x2, %ecx
jne 0x291a1
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x50, %rsi
callq 0xeead3
movzbl %al, %eax
cmpb $0x1e, %al
movl $0x1e, %ecx
cmovbl %eax, %ecx
movzbl %cl, %r15d
movq %r14, %rdi
callq 0xf6410
movq 0x8(%rsp), %r12
movq %rax, 0x38(%r12)
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rcx
leaq (%rcx,%rbp), %rsi
addq $-0x4f, %rsi
movq %r15, %rdx
movq %rax, %rcx
xorl %r8d, %r8d
movl $0x5, %r9d
callq 0xefbd7
movq 0x38(%r12), %rdi
callq 0xf70f6
leaq 0xebd38(%rip), %rsi     # 0x114eb9
movq %r14, %rdi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x30(%rbx), %rdi
movq 0x38(%r12), %rsi
callq 0xf72a4
movl 0x30(%r12), %eax
cmpl $0x1, %eax
jne 0x291ef
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x28, %rsi
leaq 0xebd0e(%rip), %rcx     # 0x114ec7
leaq 0x30(%rsp), %r15
movq %r14, %rdi
movq %r15, %rdx
callq 0x29ac2
movq 0x8(%rbx), %rax
leaq (%rax,%rbp), %rsi
addq $-0x1c, %rsi
leaq 0xebcf9(%rip), %rcx     # 0x114ed5
movq %r14, %rdi
movq %r15, %rdx
callq 0x29ac2
movq 0x8(%rsp), %rax
movl 0x30(%rax), %eax
movq 0x8(%rsp), %rcx
movq 0x68(%rcx), %rdx
movb $0x1, 0x9(%rdx)
cmpl $0x2, %eax
je 0x2920c
cmpl $0x1, %eax
jne 0x29252
movb $0x1, 0xb(%rdx)
jmp 0x29252
movq 0x8(%rsp), %r15
cmpq $0x0, 0x38(%r15)
je 0x29252
movb $0x1, 0x8(%rdx)
movq %r14, %rdi
callq 0xf6410
movq %rax, %r12
movq 0x30(%rbx), %rdi
movq %rax, %rsi
movl $0x1, %edx
callq 0xf730d
movq 0x68(%r15), %rsi
movq %r14, %rdi
movq %r12, %rdx
movl $0x1, %ecx
callq 0xea53f
movq 0x68(%r15), %rdx
jmp 0x29255
xorl %r12d, %r12d
cmpb $0x0, (%r13)
movq %r12, 0x60(%rsp)
je 0x29275
movups (%r13), %xmm0
movups %xmm0, 0x18(%rdx)
movq 0x8(%rsp), %r15
movq 0x68(%r15), %rdx
jmp 0x2927a
movq 0x8(%rsp), %r15
xorl %r13d, %r13d
movq %r14, %rdi
xorl %esi, %esi
xorl %ecx, %ecx
callq 0xefda1
movq %rax, 0x50(%r15)
movq %rax, %rdi
callq 0xf052b
movq $0x0, 0x50(%r15)
addq $0x18, %rbp
movq %rbp, 0x50(%rsp)
leaq 0x2c(%rsp), %rsi
movq %r14, %rdi
callq 0xe8a1c
leaq 0xebc78(%rip), %rsi     # 0x114f32
movq %r14, %rdi
movq %rbp, %rdx
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
cmpq $0x0, 0x10(%rsp)
jle 0x293fb
leaq 0xebca3(%rip), %rbp     # 0x114f8a
xorl %r12d, %r12d
xorl %r13d, %r13d
movq 0x18(%r14), %rdi
leaq 0x50(%rsp), %rsi
callq 0xeed31
movq %rax, %r15
testq %rax, %rax
jle 0x293d0
movq %r14, %rdi
leaq 0xebc32(%rip), %rsi     # 0x114f43
movl %r12d, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0xe8617
incl %r13d
movq %r13, 0x20(%rsp)
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
movq %r14, %rdi
leaq 0x1c(%rsp), %rsi
callq 0xe8a1c
movq 0x8(%rbx), %r13
imulq %r15, %r13
movq %r14, %rdi
leaq 0xebc1a(%rip), %rsi     # 0x114f6c
movq %r15, %rdx
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x28b91
testl %eax, %eax
je 0x293b0
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%rax,%r13), %rsi
addq $-0x10, %rsi
callq 0xeed0d
movq %rax, %r15
movq %r14, %rdi
movq %rbp, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movq 0x8(%rbx), %r13
imulq %r15, %r13
testq %r15, %r15
jg 0x29369
movl 0x1c(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
movq %r14, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0xe8a15
movq 0x20(%rsp), %r13
jmp 0x293ed
cmpl $0x2, (%r14)
jl 0x293ed
movq %r14, %rdi
leaq 0xebb63(%rip), %rsi     # 0x114f43
movl %r12d, %edx
movl %r15d, %ecx
xorl %eax, %eax
callq 0xe8617
incq %r12
cmpq 0x10(%rsp), %r12
jne 0x292ed
leaq 0xebb4c(%rip), %rsi     # 0x114f4e
movq %r14, %rdi
movl %r13d, %edx
movq 0x10(%rsp), %rcx
xorl %eax, %eax
callq 0xe8617
movl 0x2c(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
cmpl $0x2, 0x48(%rsp)
jne 0x29430
movq 0x30(%rbx), %rdi
callq 0xf7267
movq 0x8(%rsp), %rbp
movq 0x60(%rsp), %r12
movq %r12, %rdi
callq 0xf6753
movl 0x5c(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
testq %rbp, %rbp
jne 0x294a2
jmp 0x294df
leaq 0xebb85(%rip), %rsi     # 0x114fe4
xorl %r12d, %r12d
movq %r14, %rdi
movq %r15, %rdx
xorl %eax, %eax
callq 0xe9295
jmp 0x2948e
leaq 0xebbb7(%rip), %rsi     # 0x11502f
xorl %r12d, %r12d
movq %r14, %rdi
xorl %eax, %eax
callq 0xe8617
movq 0x30(%rbx), %rdi
callq 0xf7267
movq %r12, %rdi
callq 0xf6753
movl 0x2c(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
movq 0x50(%rbp), %rdi
testq %rdi, %rdi
je 0x294b0
callq 0xf052b
movq 0x68(%rbp), %rsi
movq %r14, %rdi
callq 0xea50e
movq 0x38(%rbp), %rdi
callq 0xf6753
movq 0x80(%rbp), %rsi
movq %r14, %rdi
callq 0xe8be2
movq %r14, %rdi
movq %rbp, %rsi
callq 0xe8be2
movl 0x44(%rsp), %eax
movzbl %al, %ebp
movl 0x58(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
decl 0x20(%rbx)
movl %ebp, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x20(%rbp), %r15
movq %r15, 0x60(%rbp)
testq %r15, %r15
je 0x29485
movq %r12, 0x48(%rsp)
movl $0x1, %r13d
movq %rbp, 0x8(%rsp)
movl (%r14), %r12d
movq %r14, %rdi
leaq 0x1c(%rsp), %rsi
callq 0xe8a1c
movq 0x8(%rbx), %rbp
imulq %r15, %rbp
movl %r12d, 0x20(%rsp)
cmpl $0x2, %r12d
jl 0x29564
movq %r14, %rdi
leaq 0xebb62(%rip), %rsi     # 0x1150b6
movq %r15, %rdx
movq %rbp, %rcx
movl %r13d, %r8d
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x299f6
testl %eax, %eax
je 0x2993d
movq %rbp, 0x30(%rsp)
movq 0x18(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0xeee1d
movq %rax, %r15
cmpl $0x2, 0x20(%rsp)
jl 0x295e9
movq %r14, %rdi
leaq 0xeb81b(%rip), %rsi     # 0x114dc9
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
cmpl $0x8, %r15d
jne 0x298a1
movq 0x18(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0xeed31
movq %rax, %r15
movq %r14, %rdi
leaq 0xeb9d5(%rip), %rsi     # 0x114fb2
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
jmp 0x29604
cmpl $0x8, %r15d
jne 0x298a1
movq 0x18(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0xeed31
movq %rax, %r15
movq 0x8(%rsp), %rax
cmpq (%rax), %r15
jne 0x298d1
movq 0x18(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0xeed31
movq %rax, %r15
cmpl $0x2, 0x20(%rsp)
movq %r13, 0x10(%rsp)
jl 0x29673
movq %r14, %rdi
leaq 0xebad5(%rip), %rsi     # 0x11510e
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
cmpq %r15, %r13
jne 0x298e2
movq 0x18(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0xeed31
movq %rax, %r13
movq %r14, %rdi
leaq 0x1086e3(%rip), %rsi    # 0x131d4a
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
jmp 0x2968d
cmpq %r15, %r13
jne 0x298e2
movq 0x18(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0xeed31
movq %rax, %r13
movq 0x8(%rbx), %rax
addq $-0x18, %rax
cmpq %rax, %r13
jg 0x298f3
movq 0x8(%rsp), %r15
movq 0x58(%r15), %rax
addq %r13, %rax
cmpq 0x18(%r15), %rax
jg 0x29927
movq 0x18(%r14), %rdi
leaq 0x30(%rsp), %rsi
callq 0xeed31
movq %rax, 0x60(%r15)
cmpl $0x2, 0x20(%rsp)
jl 0x296e1
movq %r14, %rdi
leaq 0xeba75(%rip), %rsi     # 0x11514c
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
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 0xef481
addq %r13, 0x58(%rbp)
movl 0x1c(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
movq 0x10(%rsp), %r13
incq %r13
movq 0x60(%rbp), %r15
testq %r15, %r15
jne 0x29527
jmp 0x2994e
movq %r14, %rdi
movq %rbx, %rsi
movq %rbp, %rdx
callq 0x29c5d
testl %eax, %eax
je 0x29485
movq %rbp, 0x8(%rsp)
movq 0x28(%rbp), %r15
testq %r15, %r15
je 0x29876
leaq 0xeb901(%rip), %rbp     # 0x11505a
movq 0x8(%rsp), %rcx
movq 0x50(%rcx), %rax
movq 0x18(%rax), %rax
cmpq 0x18(%rcx), %rax
jge 0x29876
movq %r14, %rdi
leaq 0x30(%rsp), %rsi
callq 0xe8a1c
movq 0x8(%rbx), %r13
imulq %r15, %r13
movq %r14, %rdi
movq %rbp, %rsi
movq %r15, %rdx
xorl %eax, %eax
callq 0xe8617
movq %r14, %rdi
movl $0x1, %esi
callq 0xe8a15
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x299f6
testl %eax, %eax
je 0x29983
movq 0x18(%r14), %rdi
movq %r13, %rsi
callq 0xeedae
movq %rax, %r15
movq %r14, %rdi
leaq 0xeb5f8(%rip), %rsi     # 0x114dc9
movl %r15d, %edx
xorl %eax, %eax
callq 0xe8617
cmpl $0x10, %r15d
jne 0x29958
movq 0x18(%r14), %rdi
leaq 0x8(%r13), %rsi
callq 0xeed0d
movq 0x8(%rsp), %r15
movq %rax, 0x70(%r15)
movq %r14, %rdi
leaq 0xeb7bc(%rip), %rsi     # 0x114fc1
movl %eax, %edx
xorl %eax, %eax
callq 0xe8617
leaq 0x18(%r13), %rsi
movq %r14, %rdi
movq 0x20(%rsp), %rdx
callq 0x29bec
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x29c5d
testl %eax, %eax
je 0x29983
movq 0x18(%r14), %rdi
movq 0x8(%rbx), %rax
leaq (%rax,%r13), %rsi
addq $-0x8, %rsi
callq 0xeed0d
movq %rax, %r15
movq %r14, %rdi
leaq 0xeb84a(%rip), %rsi     # 0x1150a1
movq %rax, %rdx
xorl %eax, %eax
callq 0xe8617
movl 0x30(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
testq %r15, %r15
jne 0x29759
movq 0x8(%rsp), %rbp
movq 0x50(%rbp), %rax
movq 0x18(%rax), %rax
cmpq 0x18(%rbp), %rax
jge 0x29485
leaq 0xeb658(%rip), %rsi     # 0x114eec
movq %r14, %rdi
movl $0x1a, %edx
jmp 0x29078
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0xf70f6
leaq 0xeb822(%rip), %rsi     # 0x1150d8
movq %r14, %rdi
movq %rax, %rdx
movl %r13d, %ecx
movl %r15d, %r8d
movl $0x8, %r9d
xorl %eax, %eax
callq 0xe9295
jmp 0x2993d
leaq 0xeb614(%rip), %rsi     # 0x114eec
movq %r14, %rdi
movl $0xc, %edx
jmp 0x29936
leaq 0xeb603(%rip), %rsi     # 0x114eec
movq %r14, %rdi
movl $0xd, %edx
jmp 0x29936
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0xf70f6
movq 0x8(%rbx), %r9
addq $-0x18, %r9
leaq 0xeb80a(%rip), %rsi     # 0x11511a
movq %r14, %rdi
movq %rax, %rdx
movq 0x10(%rsp), %rcx
movq %r13, %r8
xorl %eax, %eax
callq 0xe9295
jmp 0x2993d
leaq 0xeb5be(%rip), %rsi     # 0x114eec
movq %r14, %rdi
movl $0xf, %edx
xorl %eax, %eax
callq 0xe9295
movl 0x1c(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
movq 0x8(%rsp), %rbp
movq 0x48(%rsp), %r12
jmp 0x29485
movq 0x8(%rsp), %rax
movq 0x38(%rax), %rdi
callq 0xf70f6
leaq 0xeb702(%rip), %rsi     # 0x11506f
movq %r14, %rdi
movq %rax, %rdx
movl %r15d, %ecx
movl $0x10, %r8d
xorl %eax, %eax
callq 0xe9295
movl 0x30(%rsp), %esi
movq %r14, %rdi
callq 0xe8a25
movq 0x8(%rsp), %rbp
jmp 0x29485